rbxstudio-mcp 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/dist/index.js +120 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/index.d.ts +37 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +103 -0
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
- package/studio-plugin/plugin.luau +605 -10
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Roblox Studio MCP Server
|
|
2
2
|
|
|
3
|
-
MCP server for AI-powered Roblox Studio integration.
|
|
3
|
+
MCP server for AI-powered Roblox Studio integration. 28 specialized tools for exploring projects, analyzing scripts, and performing bulk operations. **Now with Claude Code-style script editing!**
|
|
4
4
|
|
|
5
5
|
https://devforum.roblox.com/t/v180-roblox-studio-mcp-speed-up-your-workflow-by-letting-ai-read-paths-and-properties/3707071
|
|
6
6
|
|
|
@@ -183,6 +183,34 @@ graph TB
|
|
|
183
183
|
- `undo` - Undo the last MCP operation in Studio's history
|
|
184
184
|
- `redo` - Redo a previously undone operation
|
|
185
185
|
|
|
186
|
+
### Claude Code-Style Script Editing (NEW in v1.12.0) ⭐
|
|
187
|
+
String-based script editing that works just like Claude Code's Edit tool - no more line number guessing!
|
|
188
|
+
|
|
189
|
+
- `edit_script` - **RECOMMENDED**: Find exact text and replace it, no line numbers needed. Auto-validates syntax and rejects broken code.
|
|
190
|
+
- `search_script` - Search for patterns within scripts (like grep), with optional context lines
|
|
191
|
+
- `get_script_function` - Extract a specific function by name with line numbers
|
|
192
|
+
- `find_and_replace_in_scripts` - Batch find & replace across multiple scripts
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
// Example: Safe string-based editing
|
|
196
|
+
edit_script({
|
|
197
|
+
instancePath: "game.ServerScriptService.Main",
|
|
198
|
+
old_string: "function onPlayerJoin()\n\tprint('hi')\nend",
|
|
199
|
+
new_string: "function onPlayerJoin(player)\n\tprint('Welcome', player.Name)\nend"
|
|
200
|
+
})
|
|
201
|
+
// If old_string doesn't match exactly → ERROR (safe failure)
|
|
202
|
+
// If syntax is broken → ERROR (edit rejected, original preserved)
|
|
203
|
+
// If it matches → clean replacement ✓
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**Why this is better:**
|
|
207
|
+
| Line-based (old) | String-based (v1.12.0) |
|
|
208
|
+
|---|---|
|
|
209
|
+
| "Edit lines 45-52" 🤞 | "Find this exact code" ✓ |
|
|
210
|
+
| Line numbers shift after edits | Matches the actual content |
|
|
211
|
+
| Can break `end` statements | Validates syntax before applying |
|
|
212
|
+
| Requires counting lines | Just copy the text to replace |
|
|
213
|
+
|
|
186
214
|
> **Note:** All mutation tools (set_property, create_object, delete_object, etc.) are now automatically wrapped in ChangeHistoryService recordings, making every AI change undoable via Ctrl+Z in Studio or the `undo` tool.
|
|
187
215
|
|
|
188
216
|
> Note: Previous tools removed: `get_file_content`, `get_file_properties`, `get_selection`, `get_dependencies`, `validate_references`. Use Rojo/Argon workflows instead.
|
package/dist/index.js
CHANGED
|
@@ -27,7 +27,7 @@ class RobloxStudioMCPServer {
|
|
|
27
27
|
constructor() {
|
|
28
28
|
this.server = new Server({
|
|
29
29
|
name: 'rbxstudio-mcp',
|
|
30
|
-
version: '1.
|
|
30
|
+
version: '1.12.0',
|
|
31
31
|
}, {
|
|
32
32
|
capabilities: {
|
|
33
33
|
tools: {},
|
|
@@ -701,6 +701,115 @@ class RobloxStudioMCPServer {
|
|
|
701
701
|
required: ['instancePath', 'startLine', 'endLine']
|
|
702
702
|
}
|
|
703
703
|
},
|
|
704
|
+
// ============================================
|
|
705
|
+
// CLAUDE CODE-STYLE SCRIPT EDITING TOOLS
|
|
706
|
+
// ============================================
|
|
707
|
+
{
|
|
708
|
+
name: 'edit_script',
|
|
709
|
+
description: 'RECOMMENDED: String-based script editing like Claude Code\'s Edit tool. Find exact text and replace it - no line numbers needed! This is the safest and most reliable way to edit scripts. The edit will FAIL safely if old_string is not found or appears multiple times (unless replace_all is true). Always validates syntax after editing.',
|
|
710
|
+
inputSchema: {
|
|
711
|
+
type: 'object',
|
|
712
|
+
properties: {
|
|
713
|
+
instancePath: {
|
|
714
|
+
type: 'string',
|
|
715
|
+
description: 'Roblox instance path to the script (e.g., "game.ServerScriptService.MainScript")'
|
|
716
|
+
},
|
|
717
|
+
old_string: {
|
|
718
|
+
type: 'string',
|
|
719
|
+
description: 'The exact text to find and replace (must match exactly, including whitespace/indentation)'
|
|
720
|
+
},
|
|
721
|
+
new_string: {
|
|
722
|
+
type: 'string',
|
|
723
|
+
description: 'The text to replace it with (must be different from old_string)'
|
|
724
|
+
},
|
|
725
|
+
replace_all: {
|
|
726
|
+
type: 'boolean',
|
|
727
|
+
description: 'If true, replace ALL occurrences of old_string. If false (default), fails if old_string appears more than once.',
|
|
728
|
+
default: false
|
|
729
|
+
},
|
|
730
|
+
validate_after: {
|
|
731
|
+
type: 'boolean',
|
|
732
|
+
description: 'If true (default), validates the script syntax after editing and reverts if invalid.',
|
|
733
|
+
default: true
|
|
734
|
+
}
|
|
735
|
+
},
|
|
736
|
+
required: ['instancePath', 'old_string', 'new_string']
|
|
737
|
+
}
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
name: 'search_script',
|
|
741
|
+
description: 'Search for patterns within a script source code (like grep). Returns matching lines with line numbers and optional context.',
|
|
742
|
+
inputSchema: {
|
|
743
|
+
type: 'object',
|
|
744
|
+
properties: {
|
|
745
|
+
instancePath: {
|
|
746
|
+
type: 'string',
|
|
747
|
+
description: 'Roblox instance path to the script (e.g., "game.ServerScriptService.MainScript")'
|
|
748
|
+
},
|
|
749
|
+
pattern: {
|
|
750
|
+
type: 'string',
|
|
751
|
+
description: 'Search pattern (literal string or regex if use_regex is true)'
|
|
752
|
+
},
|
|
753
|
+
use_regex: {
|
|
754
|
+
type: 'boolean',
|
|
755
|
+
description: 'If true, treat pattern as a Lua regex pattern. Default false (literal match).',
|
|
756
|
+
default: false
|
|
757
|
+
},
|
|
758
|
+
context_lines: {
|
|
759
|
+
type: 'number',
|
|
760
|
+
description: 'Number of lines to show before and after each match (like grep -C). Default 0.',
|
|
761
|
+
default: 0
|
|
762
|
+
}
|
|
763
|
+
},
|
|
764
|
+
required: ['instancePath', 'pattern']
|
|
765
|
+
}
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
name: 'get_script_function',
|
|
769
|
+
description: 'Extract a specific function from a script by name. Returns the function source code with start/end line numbers. Perfect for editing just one function without affecting the rest of the script.',
|
|
770
|
+
inputSchema: {
|
|
771
|
+
type: 'object',
|
|
772
|
+
properties: {
|
|
773
|
+
instancePath: {
|
|
774
|
+
type: 'string',
|
|
775
|
+
description: 'Roblox instance path to the script (e.g., "game.ServerScriptService.MainScript")'
|
|
776
|
+
},
|
|
777
|
+
function_name: {
|
|
778
|
+
type: 'string',
|
|
779
|
+
description: 'Name of the function to extract (e.g., "onPlayerJoin", "handleDamage")'
|
|
780
|
+
}
|
|
781
|
+
},
|
|
782
|
+
required: ['instancePath', 'function_name']
|
|
783
|
+
}
|
|
784
|
+
},
|
|
785
|
+
{
|
|
786
|
+
name: 'find_and_replace_in_scripts',
|
|
787
|
+
description: 'Find and replace text across multiple scripts at once. Like edit_script but for batch operations. Validates all scripts after editing.',
|
|
788
|
+
inputSchema: {
|
|
789
|
+
type: 'object',
|
|
790
|
+
properties: {
|
|
791
|
+
paths: {
|
|
792
|
+
type: 'array',
|
|
793
|
+
items: { type: 'string' },
|
|
794
|
+
description: 'Array of script paths to search and replace in'
|
|
795
|
+
},
|
|
796
|
+
old_string: {
|
|
797
|
+
type: 'string',
|
|
798
|
+
description: 'The exact text to find and replace'
|
|
799
|
+
},
|
|
800
|
+
new_string: {
|
|
801
|
+
type: 'string',
|
|
802
|
+
description: 'The text to replace it with'
|
|
803
|
+
},
|
|
804
|
+
validate_after: {
|
|
805
|
+
type: 'boolean',
|
|
806
|
+
description: 'If true (default), validates syntax after each edit.',
|
|
807
|
+
default: true
|
|
808
|
+
}
|
|
809
|
+
},
|
|
810
|
+
required: ['paths', 'old_string', 'new_string']
|
|
811
|
+
}
|
|
812
|
+
},
|
|
704
813
|
// Attribute Tools (for Roblox instance attributes)
|
|
705
814
|
{
|
|
706
815
|
name: 'get_attribute',
|
|
@@ -1056,13 +1165,22 @@ class RobloxStudioMCPServer {
|
|
|
1056
1165
|
return await this.tools.getScriptSource(args?.instancePath, args?.startLine, args?.endLine);
|
|
1057
1166
|
case 'set_script_source':
|
|
1058
1167
|
return await this.tools.setScriptSource(args?.instancePath, args?.source);
|
|
1059
|
-
// Partial Script Editing Tools
|
|
1168
|
+
// Partial Script Editing Tools (line-based - legacy)
|
|
1060
1169
|
case 'edit_script_lines':
|
|
1061
1170
|
return await this.tools.editScriptLines(args?.instancePath, args?.startLine, args?.endLine, args?.newContent);
|
|
1062
1171
|
case 'insert_script_lines':
|
|
1063
1172
|
return await this.tools.insertScriptLines(args?.instancePath, args?.afterLine, args?.newContent);
|
|
1064
1173
|
case 'delete_script_lines':
|
|
1065
1174
|
return await this.tools.deleteScriptLines(args?.instancePath, args?.startLine, args?.endLine);
|
|
1175
|
+
// Claude Code-Style Script Editing Tools (RECOMMENDED)
|
|
1176
|
+
case 'edit_script':
|
|
1177
|
+
return await this.tools.editScript(args?.instancePath, args?.old_string, args?.new_string, args?.replace_all ?? false, args?.validate_after ?? true);
|
|
1178
|
+
case 'search_script':
|
|
1179
|
+
return await this.tools.searchScript(args?.instancePath, args?.pattern, args?.use_regex ?? false, args?.context_lines ?? 0);
|
|
1180
|
+
case 'get_script_function':
|
|
1181
|
+
return await this.tools.getScriptFunction(args?.instancePath, args?.function_name);
|
|
1182
|
+
case 'find_and_replace_in_scripts':
|
|
1183
|
+
return await this.tools.findAndReplaceInScripts(args?.paths, args?.old_string, args?.new_string, args?.validate_after ?? true);
|
|
1066
1184
|
// Attribute Tools
|
|
1067
1185
|
case 'get_attribute':
|
|
1068
1186
|
return await this.tools.getAttribute(args?.instancePath, args?.attributeName);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -191,6 +191,43 @@ export declare class RobloxStudioTools {
|
|
|
191
191
|
text: string;
|
|
192
192
|
}[];
|
|
193
193
|
}>;
|
|
194
|
+
/**
|
|
195
|
+
* edit_script - String-based script editing like Claude Code's Edit tool
|
|
196
|
+
* Find exact text and replace it - no line numbers needed!
|
|
197
|
+
*/
|
|
198
|
+
editScript(instancePath: string, oldString: string, newString: string, replaceAll?: boolean, validateAfter?: boolean): Promise<{
|
|
199
|
+
content: {
|
|
200
|
+
type: string;
|
|
201
|
+
text: string;
|
|
202
|
+
}[];
|
|
203
|
+
}>;
|
|
204
|
+
/**
|
|
205
|
+
* search_script - Search for patterns within a script (like grep)
|
|
206
|
+
*/
|
|
207
|
+
searchScript(instancePath: string, pattern: string, useRegex?: boolean, contextLines?: number): Promise<{
|
|
208
|
+
content: {
|
|
209
|
+
type: string;
|
|
210
|
+
text: string;
|
|
211
|
+
}[];
|
|
212
|
+
}>;
|
|
213
|
+
/**
|
|
214
|
+
* get_script_function - Extract a specific function from a script by name
|
|
215
|
+
*/
|
|
216
|
+
getScriptFunction(instancePath: string, functionName: string): Promise<{
|
|
217
|
+
content: {
|
|
218
|
+
type: string;
|
|
219
|
+
text: string;
|
|
220
|
+
}[];
|
|
221
|
+
}>;
|
|
222
|
+
/**
|
|
223
|
+
* find_and_replace_in_scripts - Find and replace across multiple scripts
|
|
224
|
+
*/
|
|
225
|
+
findAndReplaceInScripts(paths: string[], oldString: string, newString: string, validateAfter?: boolean): Promise<{
|
|
226
|
+
content: {
|
|
227
|
+
type: string;
|
|
228
|
+
text: string;
|
|
229
|
+
}[];
|
|
230
|
+
}>;
|
|
194
231
|
getAttribute(instancePath: string, attributeName: string): Promise<{
|
|
195
232
|
content: {
|
|
196
233
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -422,6 +422,109 @@ export class RobloxStudioTools {
|
|
|
422
422
|
]
|
|
423
423
|
};
|
|
424
424
|
}
|
|
425
|
+
// ============================================
|
|
426
|
+
// CLAUDE CODE-STYLE SCRIPT EDITING TOOLS
|
|
427
|
+
// ============================================
|
|
428
|
+
/**
|
|
429
|
+
* edit_script - String-based script editing like Claude Code's Edit tool
|
|
430
|
+
* Find exact text and replace it - no line numbers needed!
|
|
431
|
+
*/
|
|
432
|
+
async editScript(instancePath, oldString, newString, replaceAll = false, validateAfter = true) {
|
|
433
|
+
if (!instancePath) {
|
|
434
|
+
throw new Error('Instance path is required for edit_script');
|
|
435
|
+
}
|
|
436
|
+
if (typeof oldString !== 'string') {
|
|
437
|
+
throw new Error('old_string is required for edit_script');
|
|
438
|
+
}
|
|
439
|
+
if (typeof newString !== 'string') {
|
|
440
|
+
throw new Error('new_string is required for edit_script');
|
|
441
|
+
}
|
|
442
|
+
if (oldString === newString) {
|
|
443
|
+
throw new Error('old_string and new_string must be different');
|
|
444
|
+
}
|
|
445
|
+
const response = await this.client.request('/api/edit-script', {
|
|
446
|
+
instancePath,
|
|
447
|
+
oldString,
|
|
448
|
+
newString,
|
|
449
|
+
replaceAll,
|
|
450
|
+
validateAfter
|
|
451
|
+
});
|
|
452
|
+
return {
|
|
453
|
+
content: [
|
|
454
|
+
{
|
|
455
|
+
type: 'text',
|
|
456
|
+
text: JSON.stringify(response, null, 2)
|
|
457
|
+
}
|
|
458
|
+
]
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* search_script - Search for patterns within a script (like grep)
|
|
463
|
+
*/
|
|
464
|
+
async searchScript(instancePath, pattern, useRegex = false, contextLines = 0) {
|
|
465
|
+
if (!instancePath || !pattern) {
|
|
466
|
+
throw new Error('Instance path and pattern are required for search_script');
|
|
467
|
+
}
|
|
468
|
+
const response = await this.client.request('/api/search-script', {
|
|
469
|
+
instancePath,
|
|
470
|
+
pattern,
|
|
471
|
+
useRegex,
|
|
472
|
+
contextLines
|
|
473
|
+
});
|
|
474
|
+
return {
|
|
475
|
+
content: [
|
|
476
|
+
{
|
|
477
|
+
type: 'text',
|
|
478
|
+
text: JSON.stringify(response, null, 2)
|
|
479
|
+
}
|
|
480
|
+
]
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* get_script_function - Extract a specific function from a script by name
|
|
485
|
+
*/
|
|
486
|
+
async getScriptFunction(instancePath, functionName) {
|
|
487
|
+
if (!instancePath || !functionName) {
|
|
488
|
+
throw new Error('Instance path and function name are required for get_script_function');
|
|
489
|
+
}
|
|
490
|
+
const response = await this.client.request('/api/get-script-function', {
|
|
491
|
+
instancePath,
|
|
492
|
+
functionName
|
|
493
|
+
});
|
|
494
|
+
return {
|
|
495
|
+
content: [
|
|
496
|
+
{
|
|
497
|
+
type: 'text',
|
|
498
|
+
text: JSON.stringify(response, null, 2)
|
|
499
|
+
}
|
|
500
|
+
]
|
|
501
|
+
};
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* find_and_replace_in_scripts - Find and replace across multiple scripts
|
|
505
|
+
*/
|
|
506
|
+
async findAndReplaceInScripts(paths, oldString, newString, validateAfter = true) {
|
|
507
|
+
if (!paths || paths.length === 0) {
|
|
508
|
+
throw new Error('Paths array is required for find_and_replace_in_scripts');
|
|
509
|
+
}
|
|
510
|
+
if (typeof oldString !== 'string' || typeof newString !== 'string') {
|
|
511
|
+
throw new Error('old_string and new_string are required');
|
|
512
|
+
}
|
|
513
|
+
const response = await this.client.request('/api/find-and-replace-in-scripts', {
|
|
514
|
+
paths,
|
|
515
|
+
oldString,
|
|
516
|
+
newString,
|
|
517
|
+
validateAfter
|
|
518
|
+
});
|
|
519
|
+
return {
|
|
520
|
+
content: [
|
|
521
|
+
{
|
|
522
|
+
type: 'text',
|
|
523
|
+
text: JSON.stringify(response, null, 2)
|
|
524
|
+
}
|
|
525
|
+
]
|
|
526
|
+
};
|
|
527
|
+
}
|
|
425
528
|
// Attribute Tools
|
|
426
529
|
async getAttribute(instancePath, attributeName) {
|
|
427
530
|
if (!instancePath || !attributeName) {
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -17,6 +17,30 @@ end)
|
|
|
17
17
|
local outputBuffer = {}
|
|
18
18
|
local MAX_OUTPUT_BUFFER = 1000
|
|
19
19
|
|
|
20
|
+
-- Track action history for enhanced undo/redo
|
|
21
|
+
local actionHistory = {} -- Stack of actions that can be undone
|
|
22
|
+
local redoHistory = {} -- Stack of actions that can be redone
|
|
23
|
+
local MAX_ACTION_HISTORY = 100
|
|
24
|
+
|
|
25
|
+
-- Helper to log an action for undo tracking
|
|
26
|
+
local function logAction(actionType, target, summary, details)
|
|
27
|
+
-- Clear redo history when a new action is performed
|
|
28
|
+
redoHistory = {}
|
|
29
|
+
|
|
30
|
+
table.insert(actionHistory, {
|
|
31
|
+
action = actionType,
|
|
32
|
+
target = target,
|
|
33
|
+
summary = summary,
|
|
34
|
+
details = details or {},
|
|
35
|
+
timestamp = os.time()
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
-- Keep history from growing too large
|
|
39
|
+
if #actionHistory > MAX_ACTION_HISTORY then
|
|
40
|
+
table.remove(actionHistory, 1)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
20
44
|
-- Connect to LogService to capture output
|
|
21
45
|
LogService.MessageOut:Connect(function(message, messageType)
|
|
22
46
|
table.insert(outputBuffer, {
|
|
@@ -55,7 +79,7 @@ local screenGui = plugin:CreateDockWidgetPluginGuiAsync(
|
|
|
55
79
|
"MCPServerInterface",
|
|
56
80
|
DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, false, false, 400, 500, 350, 450)
|
|
57
81
|
)
|
|
58
|
-
screenGui.Title = "MCP Server v1.
|
|
82
|
+
screenGui.Title = "MCP Server v1.12.0"
|
|
59
83
|
|
|
60
84
|
local mainFrame = Instance.new("Frame")
|
|
61
85
|
mainFrame.Size = UDim2.new(1, 0, 1, 0)
|
|
@@ -108,7 +132,7 @@ local versionLabel = Instance.new("TextLabel")
|
|
|
108
132
|
versionLabel.Size = UDim2.new(1, 0, 0, 16)
|
|
109
133
|
versionLabel.Position = UDim2.new(0, 0, 0, 32)
|
|
110
134
|
versionLabel.BackgroundTransparency = 1
|
|
111
|
-
versionLabel.Text = "AI Integration • v1.
|
|
135
|
+
versionLabel.Text = "AI Integration • v1.12.0"
|
|
112
136
|
versionLabel.TextColor3 = Color3.fromRGB(191, 219, 254)
|
|
113
137
|
versionLabel.TextScaled = false
|
|
114
138
|
versionLabel.TextSize = 12
|
|
@@ -1465,6 +1489,11 @@ handlers.setProperty = function(requestData)
|
|
|
1465
1489
|
end)
|
|
1466
1490
|
|
|
1467
1491
|
if success and result ~= false then
|
|
1492
|
+
-- Log for undo tracking
|
|
1493
|
+
logAction("set_property", instancePath, propertyName .. " = " .. tostring(propertyValue), {
|
|
1494
|
+
propertyName = propertyName,
|
|
1495
|
+
newValue = propertyValue
|
|
1496
|
+
})
|
|
1468
1497
|
return {
|
|
1469
1498
|
success = true,
|
|
1470
1499
|
instancePath = instancePath,
|
|
@@ -1515,11 +1544,17 @@ handlers.createObject = function(requestData)
|
|
|
1515
1544
|
end)
|
|
1516
1545
|
|
|
1517
1546
|
if success and newInstance then
|
|
1547
|
+
local newPath = getInstancePath(newInstance)
|
|
1548
|
+
-- Log for undo tracking
|
|
1549
|
+
logAction("create_object", newPath, "Created " .. className .. " '" .. newInstance.Name .. "'", {
|
|
1550
|
+
className = className,
|
|
1551
|
+
parent = parentPath
|
|
1552
|
+
})
|
|
1518
1553
|
return {
|
|
1519
1554
|
success = true,
|
|
1520
1555
|
className = className,
|
|
1521
1556
|
parent = parentPath,
|
|
1522
|
-
instancePath =
|
|
1557
|
+
instancePath = newPath,
|
|
1523
1558
|
name = newInstance.Name,
|
|
1524
1559
|
message = "Object created successfully",
|
|
1525
1560
|
}
|
|
@@ -1548,15 +1583,21 @@ handlers.deleteObject = function(requestData)
|
|
|
1548
1583
|
return { error = "Cannot delete the game instance" }
|
|
1549
1584
|
end
|
|
1550
1585
|
|
|
1586
|
+
local name = instance.Name
|
|
1587
|
+
local className = instance.ClassName
|
|
1588
|
+
|
|
1551
1589
|
local success, result = pcall(function()
|
|
1552
|
-
local name = instance.Name
|
|
1553
|
-
local className = instance.ClassName
|
|
1554
1590
|
instance:Destroy()
|
|
1555
1591
|
ChangeHistoryService:SetWaypoint("Delete " .. className .. " (" .. name .. ")")
|
|
1556
1592
|
return true
|
|
1557
1593
|
end)
|
|
1558
1594
|
|
|
1559
1595
|
if success then
|
|
1596
|
+
-- Log for undo tracking
|
|
1597
|
+
logAction("delete_object", instancePath, "Deleted " .. className .. " '" .. name .. "'", {
|
|
1598
|
+
className = className,
|
|
1599
|
+
name = name
|
|
1600
|
+
})
|
|
1560
1601
|
return {
|
|
1561
1602
|
success = true,
|
|
1562
1603
|
instancePath = instancePath,
|
|
@@ -2459,6 +2500,10 @@ handlers.setScriptSource = function(requestData)
|
|
|
2459
2500
|
end)
|
|
2460
2501
|
|
|
2461
2502
|
if directSuccess then
|
|
2503
|
+
-- Log for undo tracking
|
|
2504
|
+
logAction("set_script_source", instancePath, "Script source replaced (" .. directResult.newSourceLength .. " chars)", {
|
|
2505
|
+
method = "direct"
|
|
2506
|
+
})
|
|
2462
2507
|
return directResult
|
|
2463
2508
|
end
|
|
2464
2509
|
|
|
@@ -2494,6 +2539,10 @@ handlers.setScriptSource = function(requestData)
|
|
|
2494
2539
|
end)
|
|
2495
2540
|
|
|
2496
2541
|
if replaceSuccess then
|
|
2542
|
+
-- Log for undo tracking
|
|
2543
|
+
logAction("set_script_source", replaceResult.instancePath, "Script replaced entirely", {
|
|
2544
|
+
method = "replace"
|
|
2545
|
+
})
|
|
2497
2546
|
return replaceResult
|
|
2498
2547
|
else
|
|
2499
2548
|
return {
|
|
@@ -2736,6 +2785,509 @@ handlers.deleteScriptLines = function(requestData)
|
|
|
2736
2785
|
end
|
|
2737
2786
|
end
|
|
2738
2787
|
|
|
2788
|
+
-- ============================================
|
|
2789
|
+
-- CLAUDE CODE-STYLE SCRIPT EDITING TOOLS
|
|
2790
|
+
-- ============================================
|
|
2791
|
+
|
|
2792
|
+
-- Helper: Count occurrences of a substring
|
|
2793
|
+
local function countOccurrences(source, searchStr)
|
|
2794
|
+
local count = 0
|
|
2795
|
+
local start = 1
|
|
2796
|
+
while true do
|
|
2797
|
+
local pos = string.find(source, searchStr, start, true) -- plain search
|
|
2798
|
+
if pos then
|
|
2799
|
+
count = count + 1
|
|
2800
|
+
start = pos + 1
|
|
2801
|
+
else
|
|
2802
|
+
break
|
|
2803
|
+
end
|
|
2804
|
+
end
|
|
2805
|
+
return count
|
|
2806
|
+
end
|
|
2807
|
+
|
|
2808
|
+
-- Helper: Simple Lua syntax validation (checks for balanced blocks)
|
|
2809
|
+
local function validateLuaSyntax(source)
|
|
2810
|
+
local errors = {}
|
|
2811
|
+
|
|
2812
|
+
-- Check for balanced keywords
|
|
2813
|
+
local blockStarters = { "function", "if", "for", "while", "do", "repeat" }
|
|
2814
|
+
local openBlocks = 0
|
|
2815
|
+
local repeatBlocks = 0
|
|
2816
|
+
|
|
2817
|
+
-- Simple pattern-based checking for common errors
|
|
2818
|
+
for line in string.gmatch(source .. "\n", "([^\n]*)\n") do
|
|
2819
|
+
-- Count block starters
|
|
2820
|
+
if string.match(line, "^%s*function%s") or string.match(line, "=%s*function%s*%(") or string.match(line, "^%s*local%s+function%s") then
|
|
2821
|
+
openBlocks = openBlocks + 1
|
|
2822
|
+
end
|
|
2823
|
+
if string.match(line, "^%s*if%s") and not string.match(line, "%sthen%s+.+%send%s*$") then
|
|
2824
|
+
openBlocks = openBlocks + 1
|
|
2825
|
+
end
|
|
2826
|
+
if string.match(line, "^%s*for%s") and string.match(line, "%sdo%s*$") then
|
|
2827
|
+
openBlocks = openBlocks + 1
|
|
2828
|
+
end
|
|
2829
|
+
if string.match(line, "^%s*while%s") and string.match(line, "%sdo%s*$") then
|
|
2830
|
+
openBlocks = openBlocks + 1
|
|
2831
|
+
end
|
|
2832
|
+
if string.match(line, "^%s*repeat%s*$") then
|
|
2833
|
+
repeatBlocks = repeatBlocks + 1
|
|
2834
|
+
end
|
|
2835
|
+
|
|
2836
|
+
-- Count block enders
|
|
2837
|
+
if string.match(line, "^%s*end%s*$") or string.match(line, "^%s*end[%)%],;%s]") or string.match(line, "%send%s*$") then
|
|
2838
|
+
if not string.match(line, "^%s*%-%-") then -- Not a comment
|
|
2839
|
+
openBlocks = openBlocks - 1
|
|
2840
|
+
end
|
|
2841
|
+
end
|
|
2842
|
+
if string.match(line, "^%s*until%s") then
|
|
2843
|
+
repeatBlocks = repeatBlocks - 1
|
|
2844
|
+
end
|
|
2845
|
+
end
|
|
2846
|
+
|
|
2847
|
+
if openBlocks > 0 then
|
|
2848
|
+
table.insert(errors, "Missing " .. openBlocks .. " 'end' statement(s) - check your function/if/for/while blocks")
|
|
2849
|
+
elseif openBlocks < 0 then
|
|
2850
|
+
table.insert(errors, "Extra " .. math.abs(openBlocks) .. " 'end' statement(s) - you have more 'end' keywords than block openers")
|
|
2851
|
+
end
|
|
2852
|
+
|
|
2853
|
+
if repeatBlocks > 0 then
|
|
2854
|
+
table.insert(errors, "Missing " .. repeatBlocks .. " 'until' statement(s) for repeat blocks")
|
|
2855
|
+
elseif repeatBlocks < 0 then
|
|
2856
|
+
table.insert(errors, "Extra " .. math.abs(repeatBlocks) .. " 'until' statement(s)")
|
|
2857
|
+
end
|
|
2858
|
+
|
|
2859
|
+
-- Check for unclosed strings (simple check)
|
|
2860
|
+
local inString = false
|
|
2861
|
+
local stringChar = nil
|
|
2862
|
+
local lineNum = 0
|
|
2863
|
+
for line in string.gmatch(source .. "\n", "([^\n]*)\n") do
|
|
2864
|
+
lineNum = lineNum + 1
|
|
2865
|
+
-- Skip long strings and comments for now
|
|
2866
|
+
if not string.match(line, "%[%[") and not string.match(line, "%-%-") then
|
|
2867
|
+
for i = 1, #line do
|
|
2868
|
+
local char = string.sub(line, i, i)
|
|
2869
|
+
if not inString then
|
|
2870
|
+
if char == '"' or char == "'" then
|
|
2871
|
+
inString = true
|
|
2872
|
+
stringChar = char
|
|
2873
|
+
end
|
|
2874
|
+
else
|
|
2875
|
+
if char == stringChar and string.sub(line, i-1, i-1) ~= "\\" then
|
|
2876
|
+
inString = false
|
|
2877
|
+
stringChar = nil
|
|
2878
|
+
end
|
|
2879
|
+
end
|
|
2880
|
+
end
|
|
2881
|
+
end
|
|
2882
|
+
end
|
|
2883
|
+
|
|
2884
|
+
return #errors == 0, errors
|
|
2885
|
+
end
|
|
2886
|
+
|
|
2887
|
+
-- edit_script: String-based editing like Claude Code's Edit tool
|
|
2888
|
+
handlers.editScript = function(requestData)
|
|
2889
|
+
local instancePath = requestData.instancePath
|
|
2890
|
+
local oldString = requestData.oldString
|
|
2891
|
+
local newString = requestData.newString
|
|
2892
|
+
local replaceAll = requestData.replaceAll or false
|
|
2893
|
+
local validateAfter = requestData.validateAfter
|
|
2894
|
+
if validateAfter == nil then validateAfter = true end
|
|
2895
|
+
|
|
2896
|
+
if not instancePath then
|
|
2897
|
+
return { error = "Instance path is required" }
|
|
2898
|
+
end
|
|
2899
|
+
if not oldString or oldString == "" then
|
|
2900
|
+
return { error = "old_string is required and cannot be empty" }
|
|
2901
|
+
end
|
|
2902
|
+
if newString == nil then
|
|
2903
|
+
return { error = "new_string is required" }
|
|
2904
|
+
end
|
|
2905
|
+
if oldString == newString then
|
|
2906
|
+
return { error = "old_string and new_string must be different" }
|
|
2907
|
+
end
|
|
2908
|
+
|
|
2909
|
+
local instance = getInstanceByPath(instancePath)
|
|
2910
|
+
if not instance then
|
|
2911
|
+
return { error = "Instance not found: " .. instancePath }
|
|
2912
|
+
end
|
|
2913
|
+
|
|
2914
|
+
if not instance:IsA("LuaSourceContainer") then
|
|
2915
|
+
return { error = "Instance is not a script: " .. instance.ClassName }
|
|
2916
|
+
end
|
|
2917
|
+
|
|
2918
|
+
local success, result = pcall(function()
|
|
2919
|
+
local source = instance.Source
|
|
2920
|
+
|
|
2921
|
+
-- Normalize escape sequences that may have been double-escaped
|
|
2922
|
+
local searchStr = oldString:gsub("\\n", "\n"):gsub("\\t", "\t"):gsub("\\r", "\r"):gsub("\\\\", "\\")
|
|
2923
|
+
local replaceStr = newString:gsub("\\n", "\n"):gsub("\\t", "\t"):gsub("\\r", "\r"):gsub("\\\\", "\\")
|
|
2924
|
+
|
|
2925
|
+
-- Count occurrences
|
|
2926
|
+
local occurrences = countOccurrences(source, searchStr)
|
|
2927
|
+
|
|
2928
|
+
if occurrences == 0 then
|
|
2929
|
+
return {
|
|
2930
|
+
success = false,
|
|
2931
|
+
error = "old_string not found in script. Make sure the text matches exactly, including whitespace and indentation.",
|
|
2932
|
+
hint = "Tip: Use get_script_source first to see the exact content, then copy the text precisely."
|
|
2933
|
+
}
|
|
2934
|
+
end
|
|
2935
|
+
|
|
2936
|
+
if occurrences > 1 and not replaceAll then
|
|
2937
|
+
return {
|
|
2938
|
+
success = false,
|
|
2939
|
+
error = "old_string appears " .. occurrences .. " times in the script. Either provide more context to make it unique, or set replace_all=true to replace all occurrences.",
|
|
2940
|
+
occurrences = occurrences
|
|
2941
|
+
}
|
|
2942
|
+
end
|
|
2943
|
+
|
|
2944
|
+
-- Perform the replacement
|
|
2945
|
+
local newSource
|
|
2946
|
+
if replaceAll then
|
|
2947
|
+
newSource = string.gsub(source, searchStr:gsub("([^%w])", "%%%1"), replaceStr) -- Escape pattern chars
|
|
2948
|
+
else
|
|
2949
|
+
-- Replace just the first occurrence
|
|
2950
|
+
local pos = string.find(source, searchStr, 1, true)
|
|
2951
|
+
newSource = string.sub(source, 1, pos - 1) .. replaceStr .. string.sub(source, pos + #searchStr)
|
|
2952
|
+
end
|
|
2953
|
+
|
|
2954
|
+
-- Validate syntax if requested
|
|
2955
|
+
if validateAfter then
|
|
2956
|
+
local isValid, syntaxErrors = validateLuaSyntax(newSource)
|
|
2957
|
+
if not isValid then
|
|
2958
|
+
return {
|
|
2959
|
+
success = false,
|
|
2960
|
+
error = "Edit would create invalid Lua syntax",
|
|
2961
|
+
syntaxErrors = syntaxErrors,
|
|
2962
|
+
hint = "The edit was NOT applied. Fix the syntax issues in new_string and try again."
|
|
2963
|
+
}
|
|
2964
|
+
end
|
|
2965
|
+
end
|
|
2966
|
+
|
|
2967
|
+
-- Apply the change
|
|
2968
|
+
ScriptEditorService:UpdateSourceAsync(instance, function(oldContent)
|
|
2969
|
+
return newSource
|
|
2970
|
+
end)
|
|
2971
|
+
|
|
2972
|
+
ChangeHistoryService:SetWaypoint("Edit script: " .. instance.Name)
|
|
2973
|
+
|
|
2974
|
+
-- Prepare summary for logging
|
|
2975
|
+
local shortOld = #searchStr > 30 and (string.sub(searchStr, 1, 30) .. "...") or searchStr
|
|
2976
|
+
local shortNew = #replaceStr > 30 and (string.sub(replaceStr, 1, 30) .. "...") or replaceStr
|
|
2977
|
+
|
|
2978
|
+
return {
|
|
2979
|
+
success = true,
|
|
2980
|
+
instancePath = instancePath,
|
|
2981
|
+
replacements = replaceAll and occurrences or 1,
|
|
2982
|
+
oldLength = #source,
|
|
2983
|
+
newLength = #newSource,
|
|
2984
|
+
validated = validateAfter,
|
|
2985
|
+
message = replaceAll
|
|
2986
|
+
and ("Replaced " .. occurrences .. " occurrence(s) successfully")
|
|
2987
|
+
or "Edit applied successfully",
|
|
2988
|
+
_logSummary = shortOld:gsub("\n", "\\n") .. " → " .. shortNew:gsub("\n", "\\n")
|
|
2989
|
+
}
|
|
2990
|
+
end)
|
|
2991
|
+
|
|
2992
|
+
if success then
|
|
2993
|
+
if result.success then
|
|
2994
|
+
-- Log for undo tracking
|
|
2995
|
+
logAction("edit_script", instancePath, result._logSummary or "Script edited", {
|
|
2996
|
+
replacements = result.replacements
|
|
2997
|
+
})
|
|
2998
|
+
result._logSummary = nil -- Remove internal field
|
|
2999
|
+
end
|
|
3000
|
+
return result
|
|
3001
|
+
else
|
|
3002
|
+
return { error = "Failed to edit script: " .. tostring(result) }
|
|
3003
|
+
end
|
|
3004
|
+
end
|
|
3005
|
+
|
|
3006
|
+
-- search_script: Search for patterns within a script (like grep)
|
|
3007
|
+
handlers.searchScript = function(requestData)
|
|
3008
|
+
local instancePath = requestData.instancePath
|
|
3009
|
+
local pattern = requestData.pattern
|
|
3010
|
+
local useRegex = requestData.useRegex or false
|
|
3011
|
+
local contextLines = requestData.contextLines or 0
|
|
3012
|
+
|
|
3013
|
+
if not instancePath or not pattern then
|
|
3014
|
+
return { error = "Instance path and pattern are required" }
|
|
3015
|
+
end
|
|
3016
|
+
|
|
3017
|
+
local instance = getInstanceByPath(instancePath)
|
|
3018
|
+
if not instance then
|
|
3019
|
+
return { error = "Instance not found: " .. instancePath }
|
|
3020
|
+
end
|
|
3021
|
+
|
|
3022
|
+
if not instance:IsA("LuaSourceContainer") then
|
|
3023
|
+
return { error = "Instance is not a script: " .. instance.ClassName }
|
|
3024
|
+
end
|
|
3025
|
+
|
|
3026
|
+
local success, result = pcall(function()
|
|
3027
|
+
local source = instance.Source
|
|
3028
|
+
local lines, _ = splitLines(source)
|
|
3029
|
+
local matches = {}
|
|
3030
|
+
|
|
3031
|
+
for lineNum, line in ipairs(lines) do
|
|
3032
|
+
local found = false
|
|
3033
|
+
if useRegex then
|
|
3034
|
+
found = string.match(line, pattern) ~= nil
|
|
3035
|
+
else
|
|
3036
|
+
found = string.find(line, pattern, 1, true) ~= nil
|
|
3037
|
+
end
|
|
3038
|
+
|
|
3039
|
+
if found then
|
|
3040
|
+
local match = {
|
|
3041
|
+
lineNumber = lineNum,
|
|
3042
|
+
content = line,
|
|
3043
|
+
context = {}
|
|
3044
|
+
}
|
|
3045
|
+
|
|
3046
|
+
-- Add context lines
|
|
3047
|
+
if contextLines > 0 then
|
|
3048
|
+
for i = math.max(1, lineNum - contextLines), lineNum - 1 do
|
|
3049
|
+
table.insert(match.context, { lineNumber = i, content = lines[i], type = "before" })
|
|
3050
|
+
end
|
|
3051
|
+
for i = lineNum + 1, math.min(#lines, lineNum + contextLines) do
|
|
3052
|
+
table.insert(match.context, { lineNumber = i, content = lines[i], type = "after" })
|
|
3053
|
+
end
|
|
3054
|
+
end
|
|
3055
|
+
|
|
3056
|
+
table.insert(matches, match)
|
|
3057
|
+
end
|
|
3058
|
+
end
|
|
3059
|
+
|
|
3060
|
+
return {
|
|
3061
|
+
instancePath = instancePath,
|
|
3062
|
+
pattern = pattern,
|
|
3063
|
+
useRegex = useRegex,
|
|
3064
|
+
matches = matches,
|
|
3065
|
+
matchCount = #matches,
|
|
3066
|
+
totalLines = #lines
|
|
3067
|
+
}
|
|
3068
|
+
end)
|
|
3069
|
+
|
|
3070
|
+
if success then
|
|
3071
|
+
return result
|
|
3072
|
+
else
|
|
3073
|
+
return { error = "Failed to search script: " .. tostring(result) }
|
|
3074
|
+
end
|
|
3075
|
+
end
|
|
3076
|
+
|
|
3077
|
+
-- get_script_function: Extract a specific function by name
|
|
3078
|
+
handlers.getScriptFunction = function(requestData)
|
|
3079
|
+
local instancePath = requestData.instancePath
|
|
3080
|
+
local functionName = requestData.functionName
|
|
3081
|
+
|
|
3082
|
+
if not instancePath or not functionName then
|
|
3083
|
+
return { error = "Instance path and function name are required" }
|
|
3084
|
+
end
|
|
3085
|
+
|
|
3086
|
+
local instance = getInstanceByPath(instancePath)
|
|
3087
|
+
if not instance then
|
|
3088
|
+
return { error = "Instance not found: " .. instancePath }
|
|
3089
|
+
end
|
|
3090
|
+
|
|
3091
|
+
if not instance:IsA("LuaSourceContainer") then
|
|
3092
|
+
return { error = "Instance is not a script: " .. instance.ClassName }
|
|
3093
|
+
end
|
|
3094
|
+
|
|
3095
|
+
local success, result = pcall(function()
|
|
3096
|
+
local source = instance.Source
|
|
3097
|
+
local lines, _ = splitLines(source)
|
|
3098
|
+
|
|
3099
|
+
local functionStart = nil
|
|
3100
|
+
local functionEnd = nil
|
|
3101
|
+
local depth = 0
|
|
3102
|
+
local inFunction = false
|
|
3103
|
+
|
|
3104
|
+
-- Patterns to match function definitions
|
|
3105
|
+
local patterns = {
|
|
3106
|
+
"^%s*function%s+" .. functionName .. "%s*%(", -- function name(
|
|
3107
|
+
"^%s*local%s+function%s+" .. functionName .. "%s*%(", -- local function name(
|
|
3108
|
+
functionName .. "%s*=%s*function%s*%(", -- name = function(
|
|
3109
|
+
"local%s+" .. functionName .. "%s*=%s*function%s*%(" -- local name = function(
|
|
3110
|
+
}
|
|
3111
|
+
|
|
3112
|
+
for lineNum, line in ipairs(lines) do
|
|
3113
|
+
-- Check if this line starts the function we're looking for
|
|
3114
|
+
if not inFunction then
|
|
3115
|
+
for _, pat in ipairs(patterns) do
|
|
3116
|
+
if string.match(line, pat) then
|
|
3117
|
+
functionStart = lineNum
|
|
3118
|
+
inFunction = true
|
|
3119
|
+
depth = 1
|
|
3120
|
+
-- Check if function also ends on this line (one-liner)
|
|
3121
|
+
if string.match(line, "%send%s*$") or string.match(line, "%send%s*[%)%];,]") then
|
|
3122
|
+
functionEnd = lineNum
|
|
3123
|
+
inFunction = false
|
|
3124
|
+
end
|
|
3125
|
+
break
|
|
3126
|
+
end
|
|
3127
|
+
end
|
|
3128
|
+
else
|
|
3129
|
+
-- We're inside the function, track depth
|
|
3130
|
+
-- Count block openers
|
|
3131
|
+
if string.match(line, "^%s*function%s") or string.match(line, "=%s*function%s*%(") then
|
|
3132
|
+
depth = depth + 1
|
|
3133
|
+
end
|
|
3134
|
+
if string.match(line, "^%s*if%s") and string.match(line, "%sthen%s*$") then
|
|
3135
|
+
depth = depth + 1
|
|
3136
|
+
end
|
|
3137
|
+
if string.match(line, "^%s*for%s") and string.match(line, "%sdo%s*$") then
|
|
3138
|
+
depth = depth + 1
|
|
3139
|
+
end
|
|
3140
|
+
if string.match(line, "^%s*while%s") and string.match(line, "%sdo%s*$") then
|
|
3141
|
+
depth = depth + 1
|
|
3142
|
+
end
|
|
3143
|
+
if string.match(line, "^%s*do%s*$") then
|
|
3144
|
+
depth = depth + 1
|
|
3145
|
+
end
|
|
3146
|
+
|
|
3147
|
+
-- Count block closers
|
|
3148
|
+
if string.match(line, "^%s*end%s*$") or string.match(line, "^%s*end[%)%],;%s]") or string.match(line, "%send%s*$") then
|
|
3149
|
+
depth = depth - 1
|
|
3150
|
+
if depth == 0 then
|
|
3151
|
+
functionEnd = lineNum
|
|
3152
|
+
break
|
|
3153
|
+
end
|
|
3154
|
+
end
|
|
3155
|
+
end
|
|
3156
|
+
end
|
|
3157
|
+
|
|
3158
|
+
if not functionStart then
|
|
3159
|
+
return {
|
|
3160
|
+
success = false,
|
|
3161
|
+
error = "Function '" .. functionName .. "' not found in script",
|
|
3162
|
+
hint = "Check the function name spelling. Use search_script to find available functions."
|
|
3163
|
+
}
|
|
3164
|
+
end
|
|
3165
|
+
|
|
3166
|
+
if not functionEnd then
|
|
3167
|
+
return {
|
|
3168
|
+
success = false,
|
|
3169
|
+
error = "Could not find the end of function '" .. functionName .. "' - the function may be malformed",
|
|
3170
|
+
startLine = functionStart
|
|
3171
|
+
}
|
|
3172
|
+
end
|
|
3173
|
+
|
|
3174
|
+
-- Extract the function source
|
|
3175
|
+
local functionLines = {}
|
|
3176
|
+
for i = functionStart, functionEnd do
|
|
3177
|
+
table.insert(functionLines, lines[i])
|
|
3178
|
+
end
|
|
3179
|
+
|
|
3180
|
+
local functionSource = table.concat(functionLines, "\n")
|
|
3181
|
+
|
|
3182
|
+
-- Create numbered version
|
|
3183
|
+
local numberedLines = {}
|
|
3184
|
+
for i = functionStart, functionEnd do
|
|
3185
|
+
table.insert(numberedLines, string.format("%4d: %s", i, lines[i]))
|
|
3186
|
+
end
|
|
3187
|
+
local numberedSource = table.concat(numberedLines, "\n")
|
|
3188
|
+
|
|
3189
|
+
return {
|
|
3190
|
+
success = true,
|
|
3191
|
+
instancePath = instancePath,
|
|
3192
|
+
functionName = functionName,
|
|
3193
|
+
startLine = functionStart,
|
|
3194
|
+
endLine = functionEnd,
|
|
3195
|
+
lineCount = functionEnd - functionStart + 1,
|
|
3196
|
+
source = functionSource,
|
|
3197
|
+
numberedSource = numberedSource
|
|
3198
|
+
}
|
|
3199
|
+
end)
|
|
3200
|
+
|
|
3201
|
+
if success then
|
|
3202
|
+
return result
|
|
3203
|
+
else
|
|
3204
|
+
return { error = "Failed to get function: " .. tostring(result) }
|
|
3205
|
+
end
|
|
3206
|
+
end
|
|
3207
|
+
|
|
3208
|
+
-- find_and_replace_in_scripts: Batch replace across multiple scripts
|
|
3209
|
+
handlers.findAndReplaceInScripts = function(requestData)
|
|
3210
|
+
local paths = requestData.paths
|
|
3211
|
+
local oldString = requestData.oldString
|
|
3212
|
+
local newString = requestData.newString
|
|
3213
|
+
local validateAfter = requestData.validateAfter
|
|
3214
|
+
if validateAfter == nil then validateAfter = true end
|
|
3215
|
+
|
|
3216
|
+
if not paths or #paths == 0 then
|
|
3217
|
+
return { error = "Paths array is required" }
|
|
3218
|
+
end
|
|
3219
|
+
if not oldString or oldString == "" then
|
|
3220
|
+
return { error = "old_string is required" }
|
|
3221
|
+
end
|
|
3222
|
+
if newString == nil then
|
|
3223
|
+
return { error = "new_string is required" }
|
|
3224
|
+
end
|
|
3225
|
+
|
|
3226
|
+
local results = {}
|
|
3227
|
+
local successCount = 0
|
|
3228
|
+
local failCount = 0
|
|
3229
|
+
local skippedCount = 0
|
|
3230
|
+
|
|
3231
|
+
for _, path in ipairs(paths) do
|
|
3232
|
+
local instance = getInstanceByPath(path)
|
|
3233
|
+
if not instance then
|
|
3234
|
+
table.insert(results, { path = path, success = false, error = "Instance not found" })
|
|
3235
|
+
failCount = failCount + 1
|
|
3236
|
+
elseif not instance:IsA("LuaSourceContainer") then
|
|
3237
|
+
table.insert(results, { path = path, success = false, error = "Not a script" })
|
|
3238
|
+
failCount = failCount + 1
|
|
3239
|
+
else
|
|
3240
|
+
local source = instance.Source
|
|
3241
|
+
local searchStr = oldString:gsub("\\n", "\n"):gsub("\\t", "\t"):gsub("\\r", "\r"):gsub("\\\\", "\\")
|
|
3242
|
+
local replaceStr = newString:gsub("\\n", "\n"):gsub("\\t", "\t"):gsub("\\r", "\r"):gsub("\\\\", "\\")
|
|
3243
|
+
|
|
3244
|
+
local occurrences = countOccurrences(source, searchStr)
|
|
3245
|
+
|
|
3246
|
+
if occurrences == 0 then
|
|
3247
|
+
table.insert(results, { path = path, success = true, skipped = true, reason = "Pattern not found" })
|
|
3248
|
+
skippedCount = skippedCount + 1
|
|
3249
|
+
else
|
|
3250
|
+
local newSource = string.gsub(source, searchStr:gsub("([^%w])", "%%%1"), replaceStr)
|
|
3251
|
+
|
|
3252
|
+
if validateAfter then
|
|
3253
|
+
local isValid, syntaxErrors = validateLuaSyntax(newSource)
|
|
3254
|
+
if not isValid then
|
|
3255
|
+
table.insert(results, { path = path, success = false, error = "Would create invalid syntax", syntaxErrors = syntaxErrors })
|
|
3256
|
+
failCount = failCount + 1
|
|
3257
|
+
else
|
|
3258
|
+
pcall(function()
|
|
3259
|
+
ScriptEditorService:UpdateSourceAsync(instance, function() return newSource end)
|
|
3260
|
+
end)
|
|
3261
|
+
table.insert(results, { path = path, success = true, replacements = occurrences })
|
|
3262
|
+
successCount = successCount + 1
|
|
3263
|
+
end
|
|
3264
|
+
else
|
|
3265
|
+
pcall(function()
|
|
3266
|
+
ScriptEditorService:UpdateSourceAsync(instance, function() return newSource end)
|
|
3267
|
+
end)
|
|
3268
|
+
table.insert(results, { path = path, success = true, replacements = occurrences })
|
|
3269
|
+
successCount = successCount + 1
|
|
3270
|
+
end
|
|
3271
|
+
end
|
|
3272
|
+
end
|
|
3273
|
+
end
|
|
3274
|
+
|
|
3275
|
+
if successCount > 0 then
|
|
3276
|
+
ChangeHistoryService:SetWaypoint("Batch replace in " .. successCount .. " scripts")
|
|
3277
|
+
end
|
|
3278
|
+
|
|
3279
|
+
return {
|
|
3280
|
+
success = failCount == 0,
|
|
3281
|
+
results = results,
|
|
3282
|
+
summary = {
|
|
3283
|
+
total = #paths,
|
|
3284
|
+
successful = successCount,
|
|
3285
|
+
failed = failCount,
|
|
3286
|
+
skipped = skippedCount
|
|
3287
|
+
}
|
|
3288
|
+
}
|
|
3289
|
+
end
|
|
3290
|
+
|
|
2739
3291
|
-- Attribute Tools: Get a single attribute
|
|
2740
3292
|
handlers.getAttribute = function(requestData)
|
|
2741
3293
|
local instancePath = requestData.instancePath
|
|
@@ -3412,15 +3964,31 @@ handlers.validateScript = function(requestData)
|
|
|
3412
3964
|
end
|
|
3413
3965
|
|
|
3414
3966
|
-- ============================================
|
|
3415
|
-
-- UNDO/REDO HANDLERS
|
|
3967
|
+
-- UNDO/REDO HANDLERS (Enhanced with action tracking)
|
|
3416
3968
|
-- ============================================
|
|
3417
3969
|
|
|
3418
3970
|
handlers.undo = function(requestData)
|
|
3419
3971
|
local success, result = pcall(function()
|
|
3972
|
+
-- Pop the last action from history
|
|
3973
|
+
local lastAction = nil
|
|
3974
|
+
if #actionHistory > 0 then
|
|
3975
|
+
lastAction = table.remove(actionHistory)
|
|
3976
|
+
-- Move it to redo history
|
|
3977
|
+
table.insert(redoHistory, lastAction)
|
|
3978
|
+
end
|
|
3979
|
+
|
|
3420
3980
|
ChangeHistoryService:Undo()
|
|
3981
|
+
|
|
3421
3982
|
return {
|
|
3422
3983
|
success = true,
|
|
3423
|
-
|
|
3984
|
+
undone = lastAction and (lastAction.action .. " → " .. lastAction.target .. " (" .. lastAction.summary .. ")") or "Unknown action (possibly manual change)",
|
|
3985
|
+
action = lastAction and lastAction.action or nil,
|
|
3986
|
+
target = lastAction and lastAction.target or nil,
|
|
3987
|
+
summary = lastAction and lastAction.summary or nil,
|
|
3988
|
+
details = lastAction and lastAction.details or nil,
|
|
3989
|
+
remaining_undos = #actionHistory,
|
|
3990
|
+
available_redos = #redoHistory,
|
|
3991
|
+
message = lastAction and ("Undone: " .. lastAction.summary) or "Undo executed"
|
|
3424
3992
|
}
|
|
3425
3993
|
end)
|
|
3426
3994
|
|
|
@@ -3429,17 +3997,35 @@ handlers.undo = function(requestData)
|
|
|
3429
3997
|
else
|
|
3430
3998
|
return {
|
|
3431
3999
|
success = false,
|
|
3432
|
-
error = "Failed to undo: " .. tostring(result)
|
|
4000
|
+
error = "Failed to undo: " .. tostring(result),
|
|
4001
|
+
remaining_undos = #actionHistory,
|
|
4002
|
+
available_redos = #redoHistory
|
|
3433
4003
|
}
|
|
3434
4004
|
end
|
|
3435
4005
|
end
|
|
3436
4006
|
|
|
3437
4007
|
handlers.redo = function(requestData)
|
|
3438
4008
|
local success, result = pcall(function()
|
|
4009
|
+
-- Pop the last undone action from redo history
|
|
4010
|
+
local redoneAction = nil
|
|
4011
|
+
if #redoHistory > 0 then
|
|
4012
|
+
redoneAction = table.remove(redoHistory)
|
|
4013
|
+
-- Move it back to action history
|
|
4014
|
+
table.insert(actionHistory, redoneAction)
|
|
4015
|
+
end
|
|
4016
|
+
|
|
3439
4017
|
ChangeHistoryService:Redo()
|
|
4018
|
+
|
|
3440
4019
|
return {
|
|
3441
4020
|
success = true,
|
|
3442
|
-
|
|
4021
|
+
redone = redoneAction and (redoneAction.action .. " → " .. redoneAction.target .. " (" .. redoneAction.summary .. ")") or "Unknown action",
|
|
4022
|
+
action = redoneAction and redoneAction.action or nil,
|
|
4023
|
+
target = redoneAction and redoneAction.target or nil,
|
|
4024
|
+
summary = redoneAction and redoneAction.summary or nil,
|
|
4025
|
+
details = redoneAction and redoneAction.details or nil,
|
|
4026
|
+
remaining_undos = #actionHistory,
|
|
4027
|
+
available_redos = #redoHistory,
|
|
4028
|
+
message = redoneAction and ("Redone: " .. redoneAction.summary) or "Redo executed"
|
|
3443
4029
|
}
|
|
3444
4030
|
end)
|
|
3445
4031
|
|
|
@@ -3448,7 +4034,9 @@ handlers.redo = function(requestData)
|
|
|
3448
4034
|
else
|
|
3449
4035
|
return {
|
|
3450
4036
|
success = false,
|
|
3451
|
-
error = "Failed to redo: " .. tostring(result)
|
|
4037
|
+
error = "Failed to redo: " .. tostring(result),
|
|
4038
|
+
remaining_undos = #actionHistory,
|
|
4039
|
+
available_redos = #redoHistory
|
|
3452
4040
|
}
|
|
3453
4041
|
end
|
|
3454
4042
|
end
|
|
@@ -3559,6 +4147,11 @@ endpointHandlers = {
|
|
|
3559
4147
|
["/api/edit-script-lines"] = handlers.editScriptLines,
|
|
3560
4148
|
["/api/insert-script-lines"] = handlers.insertScriptLines,
|
|
3561
4149
|
["/api/delete-script-lines"] = handlers.deleteScriptLines,
|
|
4150
|
+
-- Claude Code-style script editing tools
|
|
4151
|
+
["/api/edit-script"] = handlers.editScript,
|
|
4152
|
+
["/api/search-script"] = handlers.searchScript,
|
|
4153
|
+
["/api/get-script-function"] = handlers.getScriptFunction,
|
|
4154
|
+
["/api/find-and-replace-in-scripts"] = handlers.findAndReplaceInScripts,
|
|
3562
4155
|
["/api/get-attribute"] = handlers.getAttribute,
|
|
3563
4156
|
["/api/set-attribute"] = handlers.setAttribute,
|
|
3564
4157
|
["/api/get-attributes"] = handlers.getAttributes,
|
|
@@ -3573,6 +4166,8 @@ endpointHandlers = {
|
|
|
3573
4166
|
["/api/move-instance"] = handlers.moveInstance,
|
|
3574
4167
|
["/api/validate-script"] = handlers.validateScript,
|
|
3575
4168
|
["/api/insert-asset"] = handlers.insertAsset,
|
|
4169
|
+
["/api/undo"] = handlers.undo,
|
|
4170
|
+
["/api/redo"] = handlers.redo,
|
|
3576
4171
|
}
|
|
3577
4172
|
|
|
3578
4173
|
local function updateUIState()
|