@chrrxs/robloxstudio-mcp 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/index.js +4614 -0
  2. package/package.json +48 -0
  3. package/studio-plugin/INSTALLATION.md +150 -0
  4. package/studio-plugin/MCPInspectorPlugin.rbxmx +9074 -0
  5. package/studio-plugin/MCPPlugin.rbxmx +9074 -0
  6. package/studio-plugin/default.project.json +19 -0
  7. package/studio-plugin/dev.project.json +23 -0
  8. package/studio-plugin/inspector-icon.png +0 -0
  9. package/studio-plugin/package-lock.json +706 -0
  10. package/studio-plugin/package.json +19 -0
  11. package/studio-plugin/plugin.json +10 -0
  12. package/studio-plugin/src/modules/ClientBroker.ts +221 -0
  13. package/studio-plugin/src/modules/Communication.ts +399 -0
  14. package/studio-plugin/src/modules/Recording.ts +28 -0
  15. package/studio-plugin/src/modules/State.ts +94 -0
  16. package/studio-plugin/src/modules/UI.ts +725 -0
  17. package/studio-plugin/src/modules/Utils.ts +318 -0
  18. package/studio-plugin/src/modules/handlers/AssetHandlers.ts +241 -0
  19. package/studio-plugin/src/modules/handlers/BuildHandlers.ts +481 -0
  20. package/studio-plugin/src/modules/handlers/CaptureHandlers.ts +128 -0
  21. package/studio-plugin/src/modules/handlers/InputHandlers.ts +102 -0
  22. package/studio-plugin/src/modules/handlers/InstanceHandlers.ts +380 -0
  23. package/studio-plugin/src/modules/handlers/MetadataHandlers.ts +391 -0
  24. package/studio-plugin/src/modules/handlers/PropertyHandlers.ts +191 -0
  25. package/studio-plugin/src/modules/handlers/QueryHandlers.ts +827 -0
  26. package/studio-plugin/src/modules/handlers/ScriptHandlers.ts +530 -0
  27. package/studio-plugin/src/modules/handlers/TestHandlers.ts +277 -0
  28. package/studio-plugin/src/server/index.server.ts +63 -0
  29. package/studio-plugin/src/types/index.d.ts +44 -0
  30. package/studio-plugin/tsconfig.json +20 -0
@@ -0,0 +1,706 @@
1
+ {
2
+ "name": "studio-plugin",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "studio-plugin",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "@rbxts/services": "^1.6.0"
12
+ },
13
+ "devDependencies": {
14
+ "@rbxts/compiler-types": "^3.0.0-types.0",
15
+ "@rbxts/types": "^1.0.906",
16
+ "roblox-ts": "^3.0.0",
17
+ "typescript": "^5.9.3"
18
+ }
19
+ },
20
+ "node_modules/@rbxts/compiler-types": {
21
+ "version": "3.0.0-types.0",
22
+ "resolved": "https://registry.npmjs.org/@rbxts/compiler-types/-/compiler-types-3.0.0-types.0.tgz",
23
+ "integrity": "sha512-VGOHJPoL7+56NTatMGqQj3K7xWuzEV+aP4QD5vZiHu+bcff3kiTmtoadaF6NkJrmwfFAvbsd4Dg764ZjWNceag==",
24
+ "dev": true,
25
+ "license": "MIT"
26
+ },
27
+ "node_modules/@rbxts/services": {
28
+ "version": "1.6.0",
29
+ "resolved": "https://registry.npmjs.org/@rbxts/services/-/services-1.6.0.tgz",
30
+ "integrity": "sha512-YH02E1/tGHeMXB0Mam8qPdAZa2fjQWdylEscSL4Zn0RIaQeByYImA2qUsXM3nBdhcyKHDwltzSznDKyCGfFEWA==",
31
+ "license": "ISC"
32
+ },
33
+ "node_modules/@rbxts/types": {
34
+ "version": "1.0.906",
35
+ "resolved": "https://registry.npmjs.org/@rbxts/types/-/types-1.0.906.tgz",
36
+ "integrity": "sha512-WmuBYq/EqFXi687DnaKMQOpXorypR2Kq2JEsiWxz1OBKTg9Vvcy7w8y9UV5JPaJK+GgVp5rw0MjnxYffKHsldA==",
37
+ "dev": true,
38
+ "license": "MIT"
39
+ },
40
+ "node_modules/@roblox-ts/luau-ast": {
41
+ "version": "2.0.0",
42
+ "resolved": "https://registry.npmjs.org/@roblox-ts/luau-ast/-/luau-ast-2.0.0.tgz",
43
+ "integrity": "sha512-cmMi093IdwBOLVxwuordhM8AmtbyTIyRpsTbB0D/JauidW4SXsQRQowSwWjHo4QP0DRJBXvOIlxtqEQi50uNzQ==",
44
+ "dev": true,
45
+ "license": "MIT"
46
+ },
47
+ "node_modules/@roblox-ts/path-translator": {
48
+ "version": "1.1.0",
49
+ "resolved": "https://registry.npmjs.org/@roblox-ts/path-translator/-/path-translator-1.1.0.tgz",
50
+ "integrity": "sha512-D0akTmnNYqBw+ZIek5JxocT3BjmbgGOuOy0x1nIIxHBPNLGCpzseToY8jyYs/0mlvnN2xnSP/k8Tv+jvGOQSwQ==",
51
+ "dev": true,
52
+ "license": "MIT",
53
+ "dependencies": {
54
+ "ajv": "^8.12.0",
55
+ "fs-extra": "^11.2.0"
56
+ }
57
+ },
58
+ "node_modules/@roblox-ts/rojo-resolver": {
59
+ "version": "1.1.0",
60
+ "resolved": "https://registry.npmjs.org/@roblox-ts/rojo-resolver/-/rojo-resolver-1.1.0.tgz",
61
+ "integrity": "sha512-QmvVryu1EeME+3QUoG5j/gHGJoJUaffCgZ92mhlG7cJSd1uyhgpY4CNWriZAwZJYkTlzd5Htkpn+18yDFbOFXA==",
62
+ "dev": true,
63
+ "license": "MIT",
64
+ "dependencies": {
65
+ "ajv": "^8.17.1",
66
+ "fs-extra": "^11.2.0"
67
+ }
68
+ },
69
+ "node_modules/ajv": {
70
+ "version": "8.17.1",
71
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
72
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
73
+ "dev": true,
74
+ "license": "MIT",
75
+ "dependencies": {
76
+ "fast-deep-equal": "^3.1.3",
77
+ "fast-uri": "^3.0.1",
78
+ "json-schema-traverse": "^1.0.0",
79
+ "require-from-string": "^2.0.2"
80
+ },
81
+ "funding": {
82
+ "type": "github",
83
+ "url": "https://github.com/sponsors/epoberezkin"
84
+ }
85
+ },
86
+ "node_modules/ansi-regex": {
87
+ "version": "5.0.1",
88
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
89
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
90
+ "dev": true,
91
+ "license": "MIT",
92
+ "engines": {
93
+ "node": ">=8"
94
+ }
95
+ },
96
+ "node_modules/ansi-styles": {
97
+ "version": "4.3.0",
98
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
99
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
100
+ "dev": true,
101
+ "license": "MIT",
102
+ "dependencies": {
103
+ "color-convert": "^2.0.1"
104
+ },
105
+ "engines": {
106
+ "node": ">=8"
107
+ },
108
+ "funding": {
109
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
110
+ }
111
+ },
112
+ "node_modules/anymatch": {
113
+ "version": "3.1.3",
114
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
115
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
116
+ "dev": true,
117
+ "license": "ISC",
118
+ "dependencies": {
119
+ "normalize-path": "^3.0.0",
120
+ "picomatch": "^2.0.4"
121
+ },
122
+ "engines": {
123
+ "node": ">= 8"
124
+ }
125
+ },
126
+ "node_modules/binary-extensions": {
127
+ "version": "2.3.0",
128
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
129
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
130
+ "dev": true,
131
+ "license": "MIT",
132
+ "engines": {
133
+ "node": ">=8"
134
+ },
135
+ "funding": {
136
+ "url": "https://github.com/sponsors/sindresorhus"
137
+ }
138
+ },
139
+ "node_modules/braces": {
140
+ "version": "3.0.3",
141
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
142
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
143
+ "dev": true,
144
+ "license": "MIT",
145
+ "dependencies": {
146
+ "fill-range": "^7.1.1"
147
+ },
148
+ "engines": {
149
+ "node": ">=8"
150
+ }
151
+ },
152
+ "node_modules/chokidar": {
153
+ "version": "3.6.0",
154
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
155
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
156
+ "dev": true,
157
+ "license": "MIT",
158
+ "dependencies": {
159
+ "anymatch": "~3.1.2",
160
+ "braces": "~3.0.2",
161
+ "glob-parent": "~5.1.2",
162
+ "is-binary-path": "~2.1.0",
163
+ "is-glob": "~4.0.1",
164
+ "normalize-path": "~3.0.0",
165
+ "readdirp": "~3.6.0"
166
+ },
167
+ "engines": {
168
+ "node": ">= 8.10.0"
169
+ },
170
+ "funding": {
171
+ "url": "https://paulmillr.com/funding/"
172
+ },
173
+ "optionalDependencies": {
174
+ "fsevents": "~2.3.2"
175
+ }
176
+ },
177
+ "node_modules/cliui": {
178
+ "version": "8.0.1",
179
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
180
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
181
+ "dev": true,
182
+ "license": "ISC",
183
+ "dependencies": {
184
+ "string-width": "^4.2.0",
185
+ "strip-ansi": "^6.0.1",
186
+ "wrap-ansi": "^7.0.0"
187
+ },
188
+ "engines": {
189
+ "node": ">=12"
190
+ }
191
+ },
192
+ "node_modules/color-convert": {
193
+ "version": "2.0.1",
194
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
195
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
196
+ "dev": true,
197
+ "license": "MIT",
198
+ "dependencies": {
199
+ "color-name": "~1.1.4"
200
+ },
201
+ "engines": {
202
+ "node": ">=7.0.0"
203
+ }
204
+ },
205
+ "node_modules/color-name": {
206
+ "version": "1.1.4",
207
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
208
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
209
+ "dev": true,
210
+ "license": "MIT"
211
+ },
212
+ "node_modules/emoji-regex": {
213
+ "version": "8.0.0",
214
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
215
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
216
+ "dev": true,
217
+ "license": "MIT"
218
+ },
219
+ "node_modules/escalade": {
220
+ "version": "3.2.0",
221
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
222
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
223
+ "dev": true,
224
+ "license": "MIT",
225
+ "engines": {
226
+ "node": ">=6"
227
+ }
228
+ },
229
+ "node_modules/fast-deep-equal": {
230
+ "version": "3.1.3",
231
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
232
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
233
+ "dev": true,
234
+ "license": "MIT"
235
+ },
236
+ "node_modules/fast-uri": {
237
+ "version": "3.1.0",
238
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
239
+ "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
240
+ "dev": true,
241
+ "funding": [
242
+ {
243
+ "type": "github",
244
+ "url": "https://github.com/sponsors/fastify"
245
+ },
246
+ {
247
+ "type": "opencollective",
248
+ "url": "https://opencollective.com/fastify"
249
+ }
250
+ ],
251
+ "license": "BSD-3-Clause"
252
+ },
253
+ "node_modules/fill-range": {
254
+ "version": "7.1.1",
255
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
256
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
257
+ "dev": true,
258
+ "license": "MIT",
259
+ "dependencies": {
260
+ "to-regex-range": "^5.0.1"
261
+ },
262
+ "engines": {
263
+ "node": ">=8"
264
+ }
265
+ },
266
+ "node_modules/fs-extra": {
267
+ "version": "11.3.3",
268
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz",
269
+ "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==",
270
+ "dev": true,
271
+ "license": "MIT",
272
+ "dependencies": {
273
+ "graceful-fs": "^4.2.0",
274
+ "jsonfile": "^6.0.1",
275
+ "universalify": "^2.0.0"
276
+ },
277
+ "engines": {
278
+ "node": ">=14.14"
279
+ }
280
+ },
281
+ "node_modules/fsevents": {
282
+ "version": "2.3.3",
283
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
284
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
285
+ "dev": true,
286
+ "hasInstallScript": true,
287
+ "license": "MIT",
288
+ "optional": true,
289
+ "os": [
290
+ "darwin"
291
+ ],
292
+ "engines": {
293
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
294
+ }
295
+ },
296
+ "node_modules/function-bind": {
297
+ "version": "1.1.2",
298
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
299
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
300
+ "dev": true,
301
+ "license": "MIT",
302
+ "funding": {
303
+ "url": "https://github.com/sponsors/ljharb"
304
+ }
305
+ },
306
+ "node_modules/get-caller-file": {
307
+ "version": "2.0.5",
308
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
309
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
310
+ "dev": true,
311
+ "license": "ISC",
312
+ "engines": {
313
+ "node": "6.* || 8.* || >= 10.*"
314
+ }
315
+ },
316
+ "node_modules/glob-parent": {
317
+ "version": "5.1.2",
318
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
319
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
320
+ "dev": true,
321
+ "license": "ISC",
322
+ "dependencies": {
323
+ "is-glob": "^4.0.1"
324
+ },
325
+ "engines": {
326
+ "node": ">= 6"
327
+ }
328
+ },
329
+ "node_modules/graceful-fs": {
330
+ "version": "4.2.11",
331
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
332
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
333
+ "dev": true,
334
+ "license": "ISC"
335
+ },
336
+ "node_modules/hasown": {
337
+ "version": "2.0.2",
338
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
339
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
340
+ "dev": true,
341
+ "license": "MIT",
342
+ "dependencies": {
343
+ "function-bind": "^1.1.2"
344
+ },
345
+ "engines": {
346
+ "node": ">= 0.4"
347
+ }
348
+ },
349
+ "node_modules/is-binary-path": {
350
+ "version": "2.1.0",
351
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
352
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
353
+ "dev": true,
354
+ "license": "MIT",
355
+ "dependencies": {
356
+ "binary-extensions": "^2.0.0"
357
+ },
358
+ "engines": {
359
+ "node": ">=8"
360
+ }
361
+ },
362
+ "node_modules/is-core-module": {
363
+ "version": "2.16.1",
364
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
365
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
366
+ "dev": true,
367
+ "license": "MIT",
368
+ "dependencies": {
369
+ "hasown": "^2.0.2"
370
+ },
371
+ "engines": {
372
+ "node": ">= 0.4"
373
+ },
374
+ "funding": {
375
+ "url": "https://github.com/sponsors/ljharb"
376
+ }
377
+ },
378
+ "node_modules/is-extglob": {
379
+ "version": "2.1.1",
380
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
381
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
382
+ "dev": true,
383
+ "license": "MIT",
384
+ "engines": {
385
+ "node": ">=0.10.0"
386
+ }
387
+ },
388
+ "node_modules/is-fullwidth-code-point": {
389
+ "version": "3.0.0",
390
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
391
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
392
+ "dev": true,
393
+ "license": "MIT",
394
+ "engines": {
395
+ "node": ">=8"
396
+ }
397
+ },
398
+ "node_modules/is-glob": {
399
+ "version": "4.0.3",
400
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
401
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
402
+ "dev": true,
403
+ "license": "MIT",
404
+ "dependencies": {
405
+ "is-extglob": "^2.1.1"
406
+ },
407
+ "engines": {
408
+ "node": ">=0.10.0"
409
+ }
410
+ },
411
+ "node_modules/is-number": {
412
+ "version": "7.0.0",
413
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
414
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
415
+ "dev": true,
416
+ "license": "MIT",
417
+ "engines": {
418
+ "node": ">=0.12.0"
419
+ }
420
+ },
421
+ "node_modules/json-schema-traverse": {
422
+ "version": "1.0.0",
423
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
424
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
425
+ "dev": true,
426
+ "license": "MIT"
427
+ },
428
+ "node_modules/jsonfile": {
429
+ "version": "6.2.0",
430
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
431
+ "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
432
+ "dev": true,
433
+ "license": "MIT",
434
+ "dependencies": {
435
+ "universalify": "^2.0.0"
436
+ },
437
+ "optionalDependencies": {
438
+ "graceful-fs": "^4.1.6"
439
+ }
440
+ },
441
+ "node_modules/kleur": {
442
+ "version": "4.1.5",
443
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
444
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
445
+ "dev": true,
446
+ "license": "MIT",
447
+ "engines": {
448
+ "node": ">=6"
449
+ }
450
+ },
451
+ "node_modules/normalize-path": {
452
+ "version": "3.0.0",
453
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
454
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
455
+ "dev": true,
456
+ "license": "MIT",
457
+ "engines": {
458
+ "node": ">=0.10.0"
459
+ }
460
+ },
461
+ "node_modules/path-parse": {
462
+ "version": "1.0.7",
463
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
464
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
465
+ "dev": true,
466
+ "license": "MIT"
467
+ },
468
+ "node_modules/picomatch": {
469
+ "version": "2.3.1",
470
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
471
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
472
+ "dev": true,
473
+ "license": "MIT",
474
+ "engines": {
475
+ "node": ">=8.6"
476
+ },
477
+ "funding": {
478
+ "url": "https://github.com/sponsors/jonschlinkert"
479
+ }
480
+ },
481
+ "node_modules/readdirp": {
482
+ "version": "3.6.0",
483
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
484
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
485
+ "dev": true,
486
+ "license": "MIT",
487
+ "dependencies": {
488
+ "picomatch": "^2.2.1"
489
+ },
490
+ "engines": {
491
+ "node": ">=8.10.0"
492
+ }
493
+ },
494
+ "node_modules/require-directory": {
495
+ "version": "2.1.1",
496
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
497
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
498
+ "dev": true,
499
+ "license": "MIT",
500
+ "engines": {
501
+ "node": ">=0.10.0"
502
+ }
503
+ },
504
+ "node_modules/require-from-string": {
505
+ "version": "2.0.2",
506
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
507
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
508
+ "dev": true,
509
+ "license": "MIT",
510
+ "engines": {
511
+ "node": ">=0.10.0"
512
+ }
513
+ },
514
+ "node_modules/resolve": {
515
+ "version": "1.22.11",
516
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
517
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
518
+ "dev": true,
519
+ "license": "MIT",
520
+ "dependencies": {
521
+ "is-core-module": "^2.16.1",
522
+ "path-parse": "^1.0.7",
523
+ "supports-preserve-symlinks-flag": "^1.0.0"
524
+ },
525
+ "bin": {
526
+ "resolve": "bin/resolve"
527
+ },
528
+ "engines": {
529
+ "node": ">= 0.4"
530
+ },
531
+ "funding": {
532
+ "url": "https://github.com/sponsors/ljharb"
533
+ }
534
+ },
535
+ "node_modules/roblox-ts": {
536
+ "version": "3.0.0",
537
+ "resolved": "https://registry.npmjs.org/roblox-ts/-/roblox-ts-3.0.0.tgz",
538
+ "integrity": "sha512-hwAC2frIFlLJOtHd6F+5opMEhBgfAMK9z5l1mP+bykLBbMO5cn1q5lIwhhXbeh9Pq07rlhF8uGHlmeRLPd/3AA==",
539
+ "dev": true,
540
+ "license": "MIT",
541
+ "dependencies": {
542
+ "@roblox-ts/luau-ast": "=2.0.0",
543
+ "@roblox-ts/path-translator": "=1.1.0",
544
+ "@roblox-ts/rojo-resolver": "=1.1.0",
545
+ "chokidar": "^3.6.0",
546
+ "fs-extra": "^11.2.0",
547
+ "kleur": "^4.1.5",
548
+ "resolve": "^1.22.6",
549
+ "typescript": "=5.5.3",
550
+ "yargs": "^17.7.2"
551
+ },
552
+ "bin": {
553
+ "rbxtsc": "out/CLI/cli.js"
554
+ }
555
+ },
556
+ "node_modules/roblox-ts/node_modules/typescript": {
557
+ "version": "5.5.3",
558
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz",
559
+ "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==",
560
+ "dev": true,
561
+ "license": "Apache-2.0",
562
+ "bin": {
563
+ "tsc": "bin/tsc",
564
+ "tsserver": "bin/tsserver"
565
+ },
566
+ "engines": {
567
+ "node": ">=14.17"
568
+ }
569
+ },
570
+ "node_modules/string-width": {
571
+ "version": "4.2.3",
572
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
573
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
574
+ "dev": true,
575
+ "license": "MIT",
576
+ "dependencies": {
577
+ "emoji-regex": "^8.0.0",
578
+ "is-fullwidth-code-point": "^3.0.0",
579
+ "strip-ansi": "^6.0.1"
580
+ },
581
+ "engines": {
582
+ "node": ">=8"
583
+ }
584
+ },
585
+ "node_modules/strip-ansi": {
586
+ "version": "6.0.1",
587
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
588
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
589
+ "dev": true,
590
+ "license": "MIT",
591
+ "dependencies": {
592
+ "ansi-regex": "^5.0.1"
593
+ },
594
+ "engines": {
595
+ "node": ">=8"
596
+ }
597
+ },
598
+ "node_modules/supports-preserve-symlinks-flag": {
599
+ "version": "1.0.0",
600
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
601
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
602
+ "dev": true,
603
+ "license": "MIT",
604
+ "engines": {
605
+ "node": ">= 0.4"
606
+ },
607
+ "funding": {
608
+ "url": "https://github.com/sponsors/ljharb"
609
+ }
610
+ },
611
+ "node_modules/to-regex-range": {
612
+ "version": "5.0.1",
613
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
614
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
615
+ "dev": true,
616
+ "license": "MIT",
617
+ "dependencies": {
618
+ "is-number": "^7.0.0"
619
+ },
620
+ "engines": {
621
+ "node": ">=8.0"
622
+ }
623
+ },
624
+ "node_modules/typescript": {
625
+ "version": "5.9.3",
626
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
627
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
628
+ "dev": true,
629
+ "license": "Apache-2.0",
630
+ "bin": {
631
+ "tsc": "bin/tsc",
632
+ "tsserver": "bin/tsserver"
633
+ },
634
+ "engines": {
635
+ "node": ">=14.17"
636
+ }
637
+ },
638
+ "node_modules/universalify": {
639
+ "version": "2.0.1",
640
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
641
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
642
+ "dev": true,
643
+ "license": "MIT",
644
+ "engines": {
645
+ "node": ">= 10.0.0"
646
+ }
647
+ },
648
+ "node_modules/wrap-ansi": {
649
+ "version": "7.0.0",
650
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
651
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
652
+ "dev": true,
653
+ "license": "MIT",
654
+ "dependencies": {
655
+ "ansi-styles": "^4.0.0",
656
+ "string-width": "^4.1.0",
657
+ "strip-ansi": "^6.0.0"
658
+ },
659
+ "engines": {
660
+ "node": ">=10"
661
+ },
662
+ "funding": {
663
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
664
+ }
665
+ },
666
+ "node_modules/y18n": {
667
+ "version": "5.0.8",
668
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
669
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
670
+ "dev": true,
671
+ "license": "ISC",
672
+ "engines": {
673
+ "node": ">=10"
674
+ }
675
+ },
676
+ "node_modules/yargs": {
677
+ "version": "17.7.2",
678
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
679
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
680
+ "dev": true,
681
+ "license": "MIT",
682
+ "dependencies": {
683
+ "cliui": "^8.0.1",
684
+ "escalade": "^3.1.1",
685
+ "get-caller-file": "^2.0.5",
686
+ "require-directory": "^2.1.1",
687
+ "string-width": "^4.2.3",
688
+ "y18n": "^5.0.5",
689
+ "yargs-parser": "^21.1.1"
690
+ },
691
+ "engines": {
692
+ "node": ">=12"
693
+ }
694
+ },
695
+ "node_modules/yargs-parser": {
696
+ "version": "21.1.1",
697
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
698
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
699
+ "dev": true,
700
+ "license": "ISC",
701
+ "engines": {
702
+ "node": ">=12"
703
+ }
704
+ }
705
+ }
706
+ }