@keeveeg/godot-mcp 1.0.2 → 1.0.3

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 (223) hide show
  1. package/package.json +1 -1
  2. package/server/dist/config.js +1 -1
  3. package/server/dist/godot-bridge.d.ts.map +1 -1
  4. package/server/dist/godot-bridge.js +264 -261
  5. package/server/dist/godot-bridge.js.map +1 -1
  6. package/server/dist/index.js +46 -45
  7. package/server/dist/server.d.ts.map +1 -1
  8. package/server/dist/server.js +25 -23
  9. package/server/dist/server.js.map +1 -1
  10. package/server/dist/tools/addon_management.d.ts.map +1 -1
  11. package/server/dist/tools/addon_management.js +37 -57
  12. package/server/dist/tools/addon_management.js.map +1 -1
  13. package/server/dist/tools/analysis.d.ts.map +1 -1
  14. package/server/dist/tools/analysis.js +21 -37
  15. package/server/dist/tools/analysis.js.map +1 -1
  16. package/server/dist/tools/animation.d.ts.map +1 -1
  17. package/server/dist/tools/animation.js +95 -135
  18. package/server/dist/tools/animation.js.map +1 -1
  19. package/server/dist/tools/audio.d.ts.map +1 -1
  20. package/server/dist/tools/audio.js +81 -109
  21. package/server/dist/tools/audio.js.map +1 -1
  22. package/server/dist/tools/audio_config.d.ts.map +1 -1
  23. package/server/dist/tools/audio_config.js +50 -76
  24. package/server/dist/tools/audio_config.js.map +1 -1
  25. package/server/dist/tools/batch.d.ts.map +1 -1
  26. package/server/dist/tools/batch.js +57 -89
  27. package/server/dist/tools/batch.js.map +1 -1
  28. package/server/dist/tools/build_config.d.ts.map +1 -1
  29. package/server/dist/tools/build_config.js +59 -91
  30. package/server/dist/tools/build_config.js.map +1 -1
  31. package/server/dist/tools/debug_config.d.ts.map +1 -1
  32. package/server/dist/tools/debug_config.js +46 -70
  33. package/server/dist/tools/debug_config.js.map +1 -1
  34. package/server/dist/tools/debugging.d.ts.map +1 -1
  35. package/server/dist/tools/debugging.js +51 -83
  36. package/server/dist/tools/debugging.js.map +1 -1
  37. package/server/dist/tools/editor.d.ts.map +1 -1
  38. package/server/dist/tools/editor.js +54 -90
  39. package/server/dist/tools/editor.js.map +1 -1
  40. package/server/dist/tools/editor_config.d.ts.map +1 -1
  41. package/server/dist/tools/editor_config.js +53 -85
  42. package/server/dist/tools/editor_config.js.map +1 -1
  43. package/server/dist/tools/export.d.ts.map +1 -1
  44. package/server/dist/tools/export.js +46 -74
  45. package/server/dist/tools/export.js.map +1 -1
  46. package/server/dist/tools/gameplay_automation.d.ts.map +1 -1
  47. package/server/dist/tools/gameplay_automation.js +70 -102
  48. package/server/dist/tools/gameplay_automation.js.map +1 -1
  49. package/server/dist/tools/index.js +42 -42
  50. package/server/dist/tools/input.d.ts.map +1 -1
  51. package/server/dist/tools/input.js +68 -100
  52. package/server/dist/tools/input.js.map +1 -1
  53. package/server/dist/tools/memory_profiling.d.ts.map +1 -1
  54. package/server/dist/tools/memory_profiling.js +31 -51
  55. package/server/dist/tools/memory_profiling.js.map +1 -1
  56. package/server/dist/tools/navigation.d.ts.map +1 -1
  57. package/server/dist/tools/navigation.js +86 -126
  58. package/server/dist/tools/navigation.js.map +1 -1
  59. package/server/dist/tools/node.d.ts.map +1 -1
  60. package/server/dist/tools/node.js +134 -202
  61. package/server/dist/tools/node.js.map +1 -1
  62. package/server/dist/tools/node_config.d.ts.map +1 -1
  63. package/server/dist/tools/node_config.js +58 -90
  64. package/server/dist/tools/node_config.js.map +1 -1
  65. package/server/dist/tools/particles.d.ts.map +1 -1
  66. package/server/dist/tools/particles.js +75 -111
  67. package/server/dist/tools/particles.js.map +1 -1
  68. package/server/dist/tools/physics.d.ts.map +1 -1
  69. package/server/dist/tools/physics.js +67 -99
  70. package/server/dist/tools/physics.js.map +1 -1
  71. package/server/dist/tools/physics_config.d.ts.map +1 -1
  72. package/server/dist/tools/physics_config.js +56 -88
  73. package/server/dist/tools/physics_config.js.map +1 -1
  74. package/server/dist/tools/platform_export.d.ts.map +1 -1
  75. package/server/dist/tools/platform_export.js +45 -69
  76. package/server/dist/tools/platform_export.js.map +1 -1
  77. package/server/dist/tools/platform_specific.d.ts.map +1 -1
  78. package/server/dist/tools/platform_specific.js +61 -85
  79. package/server/dist/tools/platform_specific.js.map +1 -1
  80. package/server/dist/tools/profiling.d.ts.map +1 -1
  81. package/server/dist/tools/profiling.js +13 -21
  82. package/server/dist/tools/profiling.js.map +1 -1
  83. package/server/dist/tools/project.d.ts.map +1 -1
  84. package/server/dist/tools/project.js +51 -79
  85. package/server/dist/tools/project.js.map +1 -1
  86. package/server/dist/tools/project_config.d.ts.map +1 -1
  87. package/server/dist/tools/project_config.js +88 -136
  88. package/server/dist/tools/project_config.js.map +1 -1
  89. package/server/dist/tools/project_creation.d.ts.map +1 -1
  90. package/server/dist/tools/project_creation.js +96 -140
  91. package/server/dist/tools/project_creation.js.map +1 -1
  92. package/server/dist/tools/rendering_config.d.ts.map +1 -1
  93. package/server/dist/tools/rendering_config.js +67 -103
  94. package/server/dist/tools/rendering_config.js.map +1 -1
  95. package/server/dist/tools/resource.js +77 -117
  96. package/server/dist/tools/resource_config.d.ts.map +1 -1
  97. package/server/dist/tools/resource_config.js +45 -69
  98. package/server/dist/tools/resource_config.js.map +1 -1
  99. package/server/dist/tools/runtime.d.ts.map +1 -1
  100. package/server/dist/tools/runtime.js +148 -224
  101. package/server/dist/tools/runtime.js.map +1 -1
  102. package/server/dist/tools/save_load.d.ts.map +1 -1
  103. package/server/dist/tools/save_load.js +36 -56
  104. package/server/dist/tools/save_load.js.map +1 -1
  105. package/server/dist/tools/scene.d.ts.map +1 -1
  106. package/server/dist/tools/scene.js +78 -122
  107. package/server/dist/tools/scene.js.map +1 -1
  108. package/server/dist/tools/scene3d.d.ts.map +1 -1
  109. package/server/dist/tools/scene3d.js +51 -75
  110. package/server/dist/tools/scene3d.js.map +1 -1
  111. package/server/dist/tools/scene_config.d.ts.map +1 -1
  112. package/server/dist/tools/scene_config.js +48 -72
  113. package/server/dist/tools/scene_config.js.map +1 -1
  114. package/server/dist/tools/script.js +68 -104
  115. package/server/dist/tools/script.js.map +1 -1
  116. package/server/dist/tools/shader.d.ts.map +1 -1
  117. package/server/dist/tools/shader.js +75 -111
  118. package/server/dist/tools/shader.js.map +1 -1
  119. package/server/dist/tools/shared-types.d.ts +2 -2
  120. package/server/dist/tools/shared-types.d.ts.map +1 -1
  121. package/server/dist/tools/shared-types.js +38 -36
  122. package/server/dist/tools/shared-types.js.map +1 -1
  123. package/server/dist/tools/testing.d.ts.map +1 -1
  124. package/server/dist/tools/testing.js +47 -69
  125. package/server/dist/tools/testing.js.map +1 -1
  126. package/server/dist/tools/theme.js +62 -90
  127. package/server/dist/tools/tilemap.js +58 -82
  128. package/server/dist/tools/visual_testing.d.ts.map +1 -1
  129. package/server/dist/tools/visual_testing.js +50 -74
  130. package/server/dist/tools/visual_testing.js.map +1 -1
  131. package/server/dist/types.js +15 -15
  132. package/server/dist/tools/accessibility.d.ts +0 -7
  133. package/server/dist/tools/accessibility.d.ts.map +0 -1
  134. package/server/dist/tools/accessibility.js +0 -71
  135. package/server/dist/tools/accessibility.js.map +0 -1
  136. package/server/dist/tools/analytics.d.ts +0 -7
  137. package/server/dist/tools/analytics.d.ts.map +0 -1
  138. package/server/dist/tools/analytics.js +0 -76
  139. package/server/dist/tools/analytics.js.map +0 -1
  140. package/server/dist/tools/asset_pipeline.d.ts +0 -7
  141. package/server/dist/tools/asset_pipeline.d.ts.map +0 -1
  142. package/server/dist/tools/asset_pipeline.js +0 -102
  143. package/server/dist/tools/asset_pipeline.js.map +0 -1
  144. package/server/dist/tools/asset_scaffolding.d.ts +0 -7
  145. package/server/dist/tools/asset_scaffolding.d.ts.map +0 -1
  146. package/server/dist/tools/asset_scaffolding.js +0 -113
  147. package/server/dist/tools/asset_scaffolding.js.map +0 -1
  148. package/server/dist/tools/cicd_pipeline.d.ts +0 -7
  149. package/server/dist/tools/cicd_pipeline.d.ts.map +0 -1
  150. package/server/dist/tools/cicd_pipeline.js +0 -125
  151. package/server/dist/tools/cicd_pipeline.js.map +0 -1
  152. package/server/dist/tools/cloud_services.d.ts +0 -7
  153. package/server/dist/tools/cloud_services.d.ts.map +0 -1
  154. package/server/dist/tools/cloud_services.js +0 -97
  155. package/server/dist/tools/cloud_services.js.map +0 -1
  156. package/server/dist/tools/code_generation.d.ts +0 -7
  157. package/server/dist/tools/code_generation.d.ts.map +0 -1
  158. package/server/dist/tools/code_generation.js +0 -79
  159. package/server/dist/tools/code_generation.js.map +0 -1
  160. package/server/dist/tools/code_quality.d.ts +0 -7
  161. package/server/dist/tools/code_quality.d.ts.map +0 -1
  162. package/server/dist/tools/code_quality.js +0 -98
  163. package/server/dist/tools/code_quality.js.map +0 -1
  164. package/server/dist/tools/collaboration.d.ts +0 -7
  165. package/server/dist/tools/collaboration.d.ts.map +0 -1
  166. package/server/dist/tools/collaboration.js +0 -73
  167. package/server/dist/tools/collaboration.js.map +0 -1
  168. package/server/dist/tools/documentation_tools.d.ts +0 -7
  169. package/server/dist/tools/documentation_tools.d.ts.map +0 -1
  170. package/server/dist/tools/documentation_tools.js +0 -89
  171. package/server/dist/tools/documentation_tools.js.map +0 -1
  172. package/server/dist/tools/game_template.d.ts +0 -7
  173. package/server/dist/tools/game_template.d.ts.map +0 -1
  174. package/server/dist/tools/game_template.js +0 -112
  175. package/server/dist/tools/game_template.js.map +0 -1
  176. package/server/dist/tools/git_integration.d.ts +0 -7
  177. package/server/dist/tools/git_integration.d.ts.map +0 -1
  178. package/server/dist/tools/git_integration.js +0 -75
  179. package/server/dist/tools/git_integration.js.map +0 -1
  180. package/server/dist/tools/headless_testing.d.ts +0 -7
  181. package/server/dist/tools/headless_testing.d.ts.map +0 -1
  182. package/server/dist/tools/headless_testing.js +0 -65
  183. package/server/dist/tools/headless_testing.js.map +0 -1
  184. package/server/dist/tools/iap_monetization.d.ts +0 -7
  185. package/server/dist/tools/iap_monetization.d.ts.map +0 -1
  186. package/server/dist/tools/iap_monetization.js +0 -70
  187. package/server/dist/tools/iap_monetization.js.map +0 -1
  188. package/server/dist/tools/localization.d.ts +0 -7
  189. package/server/dist/tools/localization.d.ts.map +0 -1
  190. package/server/dist/tools/localization.js +0 -97
  191. package/server/dist/tools/localization.js.map +0 -1
  192. package/server/dist/tools/marketing.d.ts +0 -7
  193. package/server/dist/tools/marketing.d.ts.map +0 -1
  194. package/server/dist/tools/marketing.js +0 -87
  195. package/server/dist/tools/marketing.js.map +0 -1
  196. package/server/dist/tools/mod_support.d.ts +0 -7
  197. package/server/dist/tools/mod_support.d.ts.map +0 -1
  198. package/server/dist/tools/mod_support.js +0 -93
  199. package/server/dist/tools/mod_support.js.map +0 -1
  200. package/server/dist/tools/networking.d.ts +0 -7
  201. package/server/dist/tools/networking.d.ts.map +0 -1
  202. package/server/dist/tools/networking.js +0 -94
  203. package/server/dist/tools/networking.js.map +0 -1
  204. package/server/dist/tools/performance_optimization.d.ts +0 -7
  205. package/server/dist/tools/performance_optimization.d.ts.map +0 -1
  206. package/server/dist/tools/performance_optimization.js +0 -75
  207. package/server/dist/tools/performance_optimization.js.map +0 -1
  208. package/server/dist/tools/scene_scaffolding.d.ts +0 -7
  209. package/server/dist/tools/scene_scaffolding.d.ts.map +0 -1
  210. package/server/dist/tools/scene_scaffolding.js +0 -110
  211. package/server/dist/tools/scene_scaffolding.js.map +0 -1
  212. package/server/dist/tools/script_scaffolding.d.ts +0 -7
  213. package/server/dist/tools/script_scaffolding.d.ts.map +0 -1
  214. package/server/dist/tools/script_scaffolding.js +0 -115
  215. package/server/dist/tools/script_scaffolding.js.map +0 -1
  216. package/server/dist/tools/security.d.ts +0 -7
  217. package/server/dist/tools/security.d.ts.map +0 -1
  218. package/server/dist/tools/security.js +0 -73
  219. package/server/dist/tools/security.js.map +0 -1
  220. package/server/dist/tools/version_control_advanced.d.ts +0 -7
  221. package/server/dist/tools/version_control_advanced.d.ts.map +0 -1
  222. package/server/dist/tools/version_control_advanced.js +0 -100
  223. package/server/dist/tools/version_control_advanced.js.map +0 -1
@@ -1,94 +0,0 @@
1
- /**
2
- * Networking tools - 8 tools for multiplayer and network management
3
- */
4
- import { callGodot } from '../server.js';
5
- import { z, NodePath } from './shared-types.js';
6
- export function registerNetworkingTools(server, bridge) {
7
- // 1. get_network_settings
8
- server.registerTool(
9
- 'get_network_settings',
10
- {
11
- description: 'Get current networking configuration and multiplayer settings',
12
- inputSchema: {},
13
- },
14
- async () => callGodot(bridge, 'networking/get_settings'),
15
- );
16
- // 2. create_multiplayer_server
17
- server.registerTool(
18
- 'create_multiplayer_server',
19
- {
20
- description: 'Create and start a multiplayer server with the specified configuration',
21
- inputSchema: {
22
- port: z.number().int().min(1).max(65535).describe('Port number to listen on'),
23
- max_clients: z.number().int().min(1).max(4095).optional().describe('Maximum number of connected clients (default: 32)'),
24
- transport: z.enum(['enet', 'websocket', 'webrtc']).optional().describe('Network transport layer (default: enet)'),
25
- },
26
- },
27
- async (args) => callGodot(bridge, 'networking/create_server', args),
28
- );
29
- // 3. connect_to_server
30
- server.registerTool(
31
- 'connect_to_server',
32
- {
33
- description: 'Connect to a multiplayer server as a client',
34
- inputSchema: {
35
- address: z.string().describe('Server address (IP or hostname)'),
36
- port: z.number().int().min(1).max(65535).describe('Server port number'),
37
- },
38
- },
39
- async (args) => callGodot(bridge, 'networking/connect', args),
40
- );
41
- // 4. disconnect_from_server
42
- server.registerTool(
43
- 'disconnect_from_server',
44
- {
45
- description: 'Disconnect from the current multiplayer session',
46
- inputSchema: {},
47
- },
48
- async () => callGodot(bridge, 'networking/disconnect'),
49
- );
50
- // 5. get_connected_peers
51
- server.registerTool(
52
- 'get_connected_peers',
53
- {
54
- description: 'Get a list of all connected peers with their IDs and connection info',
55
- inputSchema: {},
56
- },
57
- async () => callGodot(bridge, 'networking/get_peers'),
58
- );
59
- // 6. send_rpc
60
- server.registerTool(
61
- 'send_rpc',
62
- {
63
- description: 'Send a remote procedure call to a specific peer or all peers',
64
- inputSchema: {
65
- peer_id: z.number().int().describe('Target peer ID (0 = all peers)'),
66
- method: z.string().describe('RPC method name to call'),
67
- args: z.array(z.unknown()).optional().describe('Arguments to pass to the RPC method'),
68
- },
69
- },
70
- async (args) => callGodot(bridge, 'networking/send_rpc', args),
71
- );
72
- // 7. set_network_authority
73
- server.registerTool(
74
- 'set_network_authority',
75
- {
76
- description: 'Set the network authority (owner) of a node to a specific peer',
77
- inputSchema: {
78
- node_path: NodePath.describe('Path to the node in the scene tree'),
79
- peer_id: z.number().int().describe('Peer ID to assign as network authority'),
80
- },
81
- },
82
- async (args) => callGodot(bridge, 'networking/set_authority', args),
83
- );
84
- // 8. get_network_info
85
- server.registerTool(
86
- 'get_network_info',
87
- {
88
- description: 'Get network performance metrics including latency, bandwidth, and packet loss',
89
- inputSchema: {},
90
- },
91
- async () => callGodot(bridge, 'networking/get_info'),
92
- );
93
- }
94
- //# sourceMappingURL=networking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"networking.js","sourceRoot":"","sources":["../../src/tools/networking.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Performance optimization tools - 6 tools for runtime performance analysis and optimization
3
- */
4
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
- import type { GodotBridge } from "../godot-bridge.js";
6
- export declare function registerPerformanceOptimizationTools(server: McpServer, bridge: GodotBridge): void;
7
- //# sourceMappingURL=performance_optimization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performance_optimization.d.ts","sourceRoot":"","sources":["../../src/tools/performance_optimization.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAyEjG"}
@@ -1,75 +0,0 @@
1
- /**
2
- * Performance optimization tools - 6 tools for runtime performance analysis and optimization
3
- */
4
- import { callGodot } from '../server.js';
5
- import { z, ScenePath } from './shared-types.js';
6
- export function registerPerformanceOptimizationTools(server, bridge) {
7
- // 1. analyze_performance
8
- server.registerTool(
9
- 'analyze_performance',
10
- {
11
- description: 'Analyze performance of the current or specified scene over a duration',
12
- inputSchema: {
13
- scene_path: ScenePath.optional().describe('Path to the scene to analyze (defaults to current scene)'),
14
- duration: z.number().int().min(1).max(60).optional().describe('Analysis duration in seconds (default: 5)'),
15
- },
16
- },
17
- async (args) => callGodot(bridge, 'analyze_performance', args),
18
- );
19
- // 2. suggest_optimizations
20
- server.registerTool(
21
- 'suggest_optimizations',
22
- {
23
- description: 'Analyze a scene and suggest performance optimizations',
24
- inputSchema: {
25
- scene_path: ScenePath.optional().describe('Path to the scene to analyze (defaults to current scene)'),
26
- },
27
- },
28
- async (args) => callGodot(bridge, 'suggest_optimizations', args),
29
- );
30
- // 3. auto_optimize
31
- server.registerTool(
32
- 'auto_optimize',
33
- {
34
- description: 'Automatically apply performance optimizations to achieve a target FPS or quality level',
35
- inputSchema: {
36
- target_fps: z.number().int().min(15).max(240).optional().describe('Target frame rate (default: 60)'),
37
- quality_level: z.enum(['low', 'medium', 'high']).optional().describe('Target quality level (default: medium)'),
38
- },
39
- },
40
- async (args) => callGodot(bridge, 'auto_optimize', args),
41
- );
42
- // 4. batch_draw_calls
43
- server.registerTool(
44
- 'batch_draw_calls',
45
- {
46
- description: 'Analyze and optimize draw calls in a scene to reduce rendering overhead',
47
- inputSchema: {
48
- scene_path: ScenePath,
49
- },
50
- },
51
- async (args) => callGodot(bridge, 'batch_draw_calls', args),
52
- );
53
- // 5. optimize_textures
54
- server.registerTool(
55
- 'optimize_textures',
56
- {
57
- description: 'Optimize textures in a directory by resizing and compressing them',
58
- inputSchema: {
59
- path: z.string().optional().describe('Directory path to scan for textures (default: res://assets/)'),
60
- max_size: z.number().int().min(64).max(4096).optional().describe('Maximum texture dimension in pixels (default: 2048)'),
61
- },
62
- },
63
- async (args) => callGodot(bridge, 'optimize_textures', args),
64
- );
65
- // 6. profile_loading_times
66
- server.registerTool(
67
- 'profile_loading_times',
68
- {
69
- description: 'Profile resource loading times and identify bottlenecks',
70
- inputSchema: {},
71
- },
72
- async () => callGodot(bridge, 'profile_loading_times'),
73
- );
74
- }
75
- //# sourceMappingURL=performance_optimization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performance_optimization.js","sourceRoot":"","sources":["../../src/tools/performance_optimization.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Scene scaffolding tools - 8 tools for scene template creation
3
- */
4
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
- import type { GodotBridge } from "../godot-bridge.js";
6
- export declare function registerSceneScaffoldingTools(server: McpServer, bridge: GodotBridge): void;
7
- //# sourceMappingURL=scene_scaffolding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scene_scaffolding.d.ts","sourceRoot":"","sources":["../../src/tools/scene_scaffolding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA8G1F"}
@@ -1,110 +0,0 @@
1
- /**
2
- * Scene scaffolding tools - 8 tools for scene template creation
3
- */
4
- import { callGodot } from '../server.js';
5
- import { z, FilePath, Name, Dimension } from './shared-types.js';
6
- export function registerSceneScaffoldingTools(server, bridge) {
7
- // 1. create_main_scene
8
- server.registerTool(
9
- 'create_main_scene',
10
- {
11
- description: 'Create a main scene for the game with appropriate root node and basic setup',
12
- inputSchema: {
13
- project_path: FilePath.describe('Path to the Godot project root'),
14
- type: z.enum(['2d', '3d', 'ui']).describe('Scene dimension type'),
15
- name: Name.optional().describe("Scene name (defaults to 'Main')"),
16
- },
17
- },
18
- async (args) => callGodot(bridge, 'scene_scaffolding/create_main_scene', args),
19
- );
20
- // 2. create_player_scene
21
- server.registerTool(
22
- 'create_player_scene',
23
- {
24
- description: 'Create a player character scene with physics body, collision, and controller script',
25
- inputSchema: {
26
- project_path: FilePath.describe('Path to the Godot project root'),
27
- type: Dimension,
28
- controller: z.enum(['platformer', 'top_down', 'fps', 'custom']).optional().describe('Movement controller style'),
29
- },
30
- },
31
- async (args) => callGodot(bridge, 'scene_scaffolding/create_player_scene', args),
32
- );
33
- // 3. create_enemy_scene
34
- server.registerTool(
35
- 'create_enemy_scene',
36
- {
37
- description: 'Create an enemy scene with physics body, collision, and basic AI behavior',
38
- inputSchema: {
39
- project_path: FilePath.describe('Path to the Godot project root'),
40
- type: Dimension,
41
- ai_type: z.enum(['patrol', 'chase', 'stationary']).optional().describe('Enemy AI behavior type'),
42
- },
43
- },
44
- async (args) => callGodot(bridge, 'scene_scaffolding/create_enemy_scene', args),
45
- );
46
- // 4. create_level_scene
47
- server.registerTool(
48
- 'create_level_scene',
49
- {
50
- description: 'Create a level/zone scene with optional template layout',
51
- inputSchema: {
52
- project_path: FilePath.describe('Path to the Godot project root'),
53
- type: Dimension,
54
- template: z.enum(['empty', 'platformer', 'dungeon', 'open_world']).optional().describe('Level layout template'),
55
- },
56
- },
57
- async (args) => callGodot(bridge, 'scene_scaffolding/create_level_scene', args),
58
- );
59
- // 5. create_ui_scene
60
- server.registerTool(
61
- 'create_ui_scene',
62
- {
63
- description: 'Create a UI scene from a predefined template (main menu, HUD, pause, inventory, dialog)',
64
- inputSchema: {
65
- project_path: FilePath.describe('Path to the Godot project root'),
66
- template: z.enum(['main_menu', 'hud', 'pause_menu', 'inventory', 'dialog']).optional().describe('UI template type'),
67
- },
68
- },
69
- async (args) => callGodot(bridge, 'scene_scaffolding/create_ui_scene', args),
70
- );
71
- // 6. create_camera_scene
72
- server.registerTool(
73
- 'create_camera_scene',
74
- {
75
- description: 'Create a reusable camera scene with configurable follow and zoom behavior',
76
- inputSchema: {
77
- project_path: FilePath.describe('Path to the Godot project root'),
78
- type: Dimension.describe('Camera dimension type'),
79
- follow: z.boolean().optional().describe('Enable smooth follow on a target'),
80
- zoom: z.boolean().optional().describe('Enable zoom controls'),
81
- },
82
- },
83
- async (args) => callGodot(bridge, 'scene_scaffolding/create_camera_scene', args),
84
- );
85
- // 7. create_hud_scene
86
- server.registerTool(
87
- 'create_hud_scene',
88
- {
89
- description: 'Create a HUD scene with specified UI elements (health bar, score, timer, minimap, inventory)',
90
- inputSchema: {
91
- project_path: FilePath.describe('Path to the Godot project root'),
92
- elements: z.array(z.enum(['health', 'score', 'timer', 'minimap', 'inventory'])).describe('HUD elements to include'),
93
- },
94
- },
95
- async (args) => callGodot(bridge, 'scene_scaffolding/create_hud_scene', args),
96
- );
97
- // 8. create_dialog_scene
98
- server.registerTool(
99
- 'create_dialog_scene',
100
- {
101
- description: 'Create a dialog/conversation scene with text display and choice buttons',
102
- inputSchema: {
103
- project_path: FilePath.describe('Path to the Godot project root'),
104
- style: z.enum(['visual_novel', 'rpg', 'modern']).optional().describe('Dialog visual style'),
105
- },
106
- },
107
- async (args) => callGodot(bridge, 'scene_scaffolding/create_dialog_scene', args),
108
- );
109
- }
110
- //# sourceMappingURL=scene_scaffolding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scene_scaffolding.js","sourceRoot":"","sources":["../../src/tools/scene_scaffolding.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Script scaffolding tools - 8 tools for common game script patterns
3
- */
4
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
- import type { GodotBridge } from "../godot-bridge.js";
6
- export declare function registerScriptScaffoldingTools(server: McpServer, bridge: GodotBridge): void;
7
- //# sourceMappingURL=script_scaffolding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"script_scaffolding.d.ts","sourceRoot":"","sources":["../../src/tools/script_scaffolding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA+G3F"}
@@ -1,115 +0,0 @@
1
- /**
2
- * Script scaffolding tools - 8 tools for common game script patterns
3
- */
4
- import { callGodot } from '../server.js';
5
- import { z, FilePath, Name, Dimension } from './shared-types.js';
6
- export function registerScriptScaffoldingTools(server, bridge) {
7
- // 1. create_character_controller
8
- server.registerTool(
9
- 'create_character_controller',
10
- {
11
- description: 'Create a character controller script with movement, jumping, and input handling',
12
- inputSchema: {
13
- project_path: FilePath.describe('Path to the Godot project root'),
14
- type: Dimension.describe('Controller dimension type'),
15
- controller: z.enum(['platformer', 'top_down', 'fps', 'vehicle']).describe('Movement controller style'),
16
- },
17
- },
18
- async (args) => callGodot(bridge, 'script_scaffolding/create_character_controller', args),
19
- );
20
- // 2. create_state_machine
21
- server.registerTool(
22
- 'create_state_machine',
23
- {
24
- description: 'Create a generic state machine script with enter/exit/update for each state',
25
- inputSchema: {
26
- project_path: FilePath.describe('Path to the Godot project root'),
27
- states: z.array(z.string()).describe('List of state names'),
28
- initial_state: Name.optional().describe('Initial state (defaults to first in list)'),
29
- },
30
- },
31
- async (args) => callGodot(bridge, 'script_scaffolding/create_state_machine', args),
32
- );
33
- // 3. create_singleton
34
- server.registerTool(
35
- 'create_singleton',
36
- {
37
- description: 'Create an autoload singleton script with optional methods',
38
- inputSchema: {
39
- project_path: FilePath.describe('Path to the Godot project root'),
40
- name: Name.describe('Singleton class name'),
41
- methods: z.array(z.string()).optional().describe('Method names to stub out'),
42
- },
43
- },
44
- async (args) => callGodot(bridge, 'script_scaffolding/create_singleton', args),
45
- );
46
- // 4. create_signal_bus
47
- server.registerTool(
48
- 'create_signal_bus',
49
- {
50
- description: 'Create a signal bus autoload for decoupled event communication',
51
- inputSchema: {
52
- project_path: FilePath.describe('Path to the Godot project root'),
53
- signals: z
54
- .array(
55
- z.object({
56
- name: z.string().describe('Signal name'),
57
- params: z.array(z.string()).optional().describe('Signal parameter names'),
58
- }),
59
- )
60
- .describe('Signals to define on the bus'),
61
- },
62
- },
63
- async (args) => callGodot(bridge, 'script_scaffolding/create_signal_bus', args),
64
- );
65
- // 5. create_save_system
66
- server.registerTool(
67
- 'create_save_system',
68
- {
69
- description: 'Create a save/load system script with encryption and versioning support',
70
- inputSchema: {
71
- project_path: FilePath.describe('Path to the Godot project root'),
72
- format: z.enum(['json', 'binary', 'resource']).optional().describe('Save file format'),
73
- },
74
- },
75
- async (args) => callGodot(bridge, 'script_scaffolding/create_save_system', args),
76
- );
77
- // 6. create_object_pool
78
- server.registerTool(
79
- 'create_object_pool',
80
- {
81
- description: 'Create an object pool script for efficient reuse of frequently spawned objects',
82
- inputSchema: {
83
- project_path: FilePath.describe('Path to the Godot project root'),
84
- object_type: z.string().describe("The node type to pool (e.g. 'Bullet', 'Particle')"),
85
- pool_size: z.number().optional().describe('Initial pool size (defaults to 20)'),
86
- },
87
- },
88
- async (args) => callGodot(bridge, 'script_scaffolding/create_object_pool', args),
89
- );
90
- // 7. create_command_pattern
91
- server.registerTool(
92
- 'create_command_pattern',
93
- {
94
- description: 'Create a command pattern implementation for undo/redo and input replay',
95
- inputSchema: {
96
- project_path: FilePath.describe('Path to the Godot project root'),
97
- commands: z.array(z.string()).describe('Command names to implement'),
98
- },
99
- },
100
- async (args) => callGodot(bridge, 'script_scaffolding/create_command_pattern', args),
101
- );
102
- // 8. create_observer_pattern
103
- server.registerTool(
104
- 'create_observer_pattern',
105
- {
106
- description: 'Create an observer/event emitter pattern script for decoupled notifications',
107
- inputSchema: {
108
- project_path: FilePath.describe('Path to the Godot project root'),
109
- events: z.array(z.string()).describe('Event names the observer will emit'),
110
- },
111
- },
112
- async (args) => callGodot(bridge, 'script_scaffolding/create_observer_pattern', args),
113
- );
114
- }
115
- //# sourceMappingURL=script_scaffolding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"script_scaffolding.js","sourceRoot":"","sources":["../../src/tools/script_scaffolding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,UAAU,8BAA8B,CAAC,MAAiB,EAAE,MAAmB;IACnF,iCAAiC;IACjC,MAAM,CAAC,YAAY,CACf,6BAA6B,EAC7B;QACE,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACrD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACvG;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,gDAAgD,EAAE,IAA+B,CAAC,CACrH,CAAC;IAEJ,0BAA0B;IAC1B,MAAM,CAAC,YAAY,CACf,sBAAsB,EACtB;QACE,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC3D,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SACrF;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,yCAAyC,EAAE,IAA+B,CAAC,CAC9G,CAAC;IAEJ,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACf,kBAAkB,EAClB;QACE,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC3C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SAC7E;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,qCAAqC,EAAE,IAA+B,CAAC,CAC1G,CAAC;IAEJ,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACf,mBAAmB,EACnB;QACE,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACxC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;aAC1E,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7C;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,sCAAsC,EAAE,IAA+B,CAAC,CAC3G,CAAC;IAEJ,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACE,WAAW,EAAE,yEAAyE;QACtF,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SACvF;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uCAAuC,EAAE,IAA+B,CAAC,CAC5G,CAAC;IAEJ,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACE,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACrF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAChF;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uCAAuC,EAAE,IAA+B,CAAC,CAC5G,CAAC;IAEJ,4BAA4B;IAC5B,MAAM,CAAC,YAAY,CACf,wBAAwB,EACxB;QACE,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SACrE;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,2CAA2C,EAAE,IAA+B,CAAC,CAChH,CAAC;IAEJ,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACf,yBAAyB,EACzB;QACE,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACf,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAC3E;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,4CAA4C,EAAE,IAA+B,CAAC,CACjH,CAAC;AACN,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Security tools - 6 tools for game security management
3
- */
4
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
- import type { GodotBridge } from "../godot-bridge.js";
6
- export declare function registerSecurityTools(server: McpServer, bridge: GodotBridge): void;
7
- //# sourceMappingURL=security.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/tools/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAuElF"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Security tools - 6 tools for game security management
3
- */
4
- import { callGodot } from '../server.js';
5
- import { z, ScriptPath, FilePath } from './shared-types.js';
6
- export function registerSecurityTools(server, bridge) {
7
- // 1. get_security_settings
8
- server.registerTool(
9
- 'get_security_settings',
10
- {
11
- description: 'Get the current security configuration for the game project',
12
- inputSchema: {},
13
- },
14
- async () => callGodot(bridge, 'get_security_settings'),
15
- );
16
- // 2. enable_anti_cheat
17
- server.registerTool(
18
- 'enable_anti_cheat',
19
- {
20
- description: 'Enable anti-cheat features for the game',
21
- inputSchema: {
22
- features: z.array(z.enum(['memory_check', 'speed_hack', 'packet_validation', 'integrity_check'])).describe('Anti-cheat features to enable'),
23
- },
24
- },
25
- async (args) => callGodot(bridge, 'enable_anti_cheat', args),
26
- );
27
- // 3. validate_file_integrity
28
- server.registerTool(
29
- 'validate_file_integrity',
30
- {
31
- description: 'Validate the integrity of a file by computing its hash and optionally comparing against an expected hash',
32
- inputSchema: {
33
- file_path: FilePath.describe('Path to the file to validate (res:// or absolute)'),
34
- expected_hash: z.string().optional().describe('Expected SHA-256 hash to compare against'),
35
- },
36
- },
37
- async (args) => callGodot(bridge, 'validate_file_integrity', args),
38
- );
39
- // 4. encrypt_save_data
40
- server.registerTool(
41
- 'encrypt_save_data',
42
- {
43
- description: 'Encrypt the save data in a specific slot using the provided encryption key',
44
- inputSchema: {
45
- slot: z.number().int().min(0).max(99).describe('Save slot number to encrypt (0-99)'),
46
- key: z.string().min(1).describe('Encryption key (will be hashed to AES-256)'),
47
- },
48
- },
49
- async (args) => callGodot(bridge, 'encrypt_save_data', args),
50
- );
51
- // 5. obfuscate_variable
52
- server.registerTool(
53
- 'obfuscate_variable',
54
- {
55
- description: 'Obfuscate a variable name in a GDScript file to prevent reverse engineering',
56
- inputSchema: {
57
- script_path: ScriptPath,
58
- variable_name: z.string().describe('Name of the variable to obfuscate'),
59
- },
60
- },
61
- async (args) => callGodot(bridge, 'obfuscate_variable', args),
62
- );
63
- // 6. get_security_audit
64
- server.registerTool(
65
- 'get_security_audit',
66
- {
67
- description: 'Run a security audit and return a report of potential vulnerabilities in the project',
68
- inputSchema: {},
69
- },
70
- async () => callGodot(bridge, 'get_security_audit'),
71
- );
72
- }
73
- //# sourceMappingURL=security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/tools/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAmB;IAC1E,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACf,uBAAuB,EACvB;QACE,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,uBAAuB,CAAC,CACvD,CAAC;IAEJ,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACf,mBAAmB,EACnB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SAC5I;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAA+B,CAAC,CACxF,CAAC;IAEJ,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACf,yBAAyB,EACzB;QACE,WAAW,EAAE,0GAA0G;QACvH,WAAW,EAAE;YACf,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACjF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SAC1F;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,yBAAyB,EAAE,IAA+B,CAAC,CAC9F,CAAC;IAEJ,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACf,mBAAmB,EACnB;QACE,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACpF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SAC9E;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAA+B,CAAC,CACxF,CAAC;IAEJ,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACE,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACf,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACxE;KACE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAA+B,CAAC,CACzF,CAAC;IAEJ,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACf,oBAAoB,EACpB;QACE,WAAW,EAAE,sFAAsF;QACnG,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,CACpD,CAAC;AACN,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Version control advanced tools - 8 tools for advanced git operations
3
- */
4
- import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
- import type { GodotBridge } from "../godot-bridge.js";
6
- export declare function registerVersionControlAdvancedTools(server: McpServer, bridge: GodotBridge): void;
7
- //# sourceMappingURL=version_control_advanced.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version_control_advanced.d.ts","sourceRoot":"","sources":["../../src/tools/version_control_advanced.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAoGhG"}