@el4cteo/rbx-studio-mcp 0.8.0 → 0.8.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.
- package/README.md +5 -3
- package/dist/bridge/api.js +2 -2
- package/dist/bridge/api.js.map +1 -1
- package/dist/bridge/failover.js +12 -4
- package/dist/bridge/failover.js.map +1 -1
- package/dist/bridge/harness.js +48 -6
- package/dist/bridge/harness.js.map +1 -1
- package/dist/bridge/remote.js +4 -2
- package/dist/bridge/remote.js.map +1 -1
- package/dist/bridge/rpc.js +43 -5
- package/dist/bridge/rpc.js.map +1 -1
- package/dist/bridge/server.js +26 -1
- package/dist/bridge/server.js.map +1 -1
- package/dist/lib/apidump.js +82 -15
- package/dist/lib/apidump.js.map +1 -1
- package/dist/lib/cloudassets.js +2 -2
- package/dist/lib/cloudassets.js.map +1 -1
- package/dist/lib/livedata.js +24 -1
- package/dist/lib/livedata.js.map +1 -1
- package/dist/lib/liveops.js +79 -0
- package/dist/lib/liveops.js.map +1 -1
- package/dist/lib/monetization.js +119 -0
- package/dist/lib/monetization.js.map +1 -0
- package/dist/lib/opencloud.js +16 -6
- package/dist/lib/opencloud.js.map +1 -1
- package/dist/lib/png.js +19 -31
- package/dist/lib/png.js.map +1 -1
- package/dist/tools/audio.js +1 -1
- package/dist/tools/audio.js.map +1 -1
- package/dist/tools/device.js +8 -7
- package/dist/tools/device.js.map +1 -1
- package/dist/tools/discover.js +86 -5
- package/dist/tools/discover.js.map +1 -1
- package/dist/tools/instances.js +3 -1
- package/dist/tools/instances.js.map +1 -1
- package/dist/tools/perf.js +27 -5
- package/dist/tools/perf.js.map +1 -1
- package/dist/tools/playtest.js +35 -10
- package/dist/tools/playtest.js.map +1 -1
- package/dist/tools/session.js +11 -3
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/terrain.js +2 -2
- package/dist/tools/terrain.js.map +1 -1
- package/dist/tools/universe.js +136 -11
- package/dist/tools/universe.js.map +1 -1
- package/dist/tools/world.js +30 -7
- package/dist/tools/world.js.map +1 -1
- package/package.json +4 -4
- package/plugin/src/ClientRelay.luau +20 -2
- package/plugin/src/Config.luau +1 -1
- package/plugin/src/Emulation.luau +44 -16
- package/plugin/src/ExecRuntime.luau +168 -161
- package/plugin/src/LogBuffer.luau +58 -3
- package/plugin/src/Phrase.luau +2 -0
- package/plugin/src/handlers/Assets.luau +27 -18
- package/plugin/src/handlers/Audio.luau +36 -15
- package/plugin/src/handlers/Character.luau +38 -23
- package/plugin/src/handlers/Data.luau +12 -1
- package/plugin/src/handlers/Debug.luau +42 -0
- package/plugin/src/handlers/Device.luau +38 -27
- package/plugin/src/handlers/Exec.luau +5 -1
- package/plugin/src/handlers/Generate.luau +8 -5
- package/plugin/src/handlers/Geometry.luau +7 -5
- package/plugin/src/handlers/Perf.luau +1 -0
- package/plugin/src/handlers/Playtest.luau +40 -3
- package/plugin/src/handlers/Spatial.luau +34 -0
- package/plugin/src/handlers/Terrain.luau +19 -24
- package/plugin/src/handlers/Viewport.luau +37 -5
- package/plugin/src/handlers/World.luau +38 -2
- package/plugin/src/init.server.luau +11 -0
- package/scripts/check-plugin.mjs +54 -0
- package/scripts/test-apidump.mjs +170 -0
- package/scripts/test-bridge.mjs +111 -4
- package/scripts/test-live-tools.mjs +382 -0
- package/scripts/test-tools.mjs +222 -0
package/dist/tools/universe.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { ToolError } from "../lib/errors.js";
|
|
3
3
|
import { json, table, text, textOf } from "../lib/format.js";
|
|
4
|
-
import { getInventory, getUser, listRestrictions, publishMessage, restartServers, setRestriction, } from "../lib/liveops.js";
|
|
5
|
-
import {
|
|
4
|
+
import { getInventory, getUser, listGameServers, listRestrictions, listServerLogs, publishMessage, restartServers, setRestriction, } from "../lib/liveops.js";
|
|
5
|
+
import { listItems, saveItem } from "../lib/monetization.js";
|
|
6
|
+
import { assertTargetsOpenPlace, requireCredentials, requirePlace, requireUniverse, } from "../lib/opencloud.js";
|
|
6
7
|
import { defineTool } from "../lib/tool.js";
|
|
7
8
|
/**
|
|
8
9
|
* Operating the published game, as opposed to building it.
|
|
@@ -46,14 +47,25 @@ export function registerUniverseTools(context) {
|
|
|
46
47
|
"`bans` lists who is currently restricted.\n\n" +
|
|
47
48
|
"`user` looks up a user id — the name-to-id step most other calls need. " +
|
|
48
49
|
"`inventory` reports what someone owns: passes, badges, assets.\n\n" +
|
|
50
|
+
"`servers` lists the place's live servers — players, uptime, frame " +
|
|
51
|
+
"rate, memory, version — and `logs` reads one server's errors and " +
|
|
52
|
+
"warnings by its `jobId`, with stack traces and structured-log context. " +
|
|
53
|
+
"That is where a player's bug report actually happened; Studio only " +
|
|
54
|
+
"shows your own test. Roblox keeps warnings and errors only, and they " +
|
|
55
|
+
"arrive about three minutes after they are written.\n\n" +
|
|
56
|
+
"`products` lists the game's developer products and game passes with " +
|
|
57
|
+
"their ids and prices — the ids a purchase script needs. `sell` " +
|
|
58
|
+
"creates one, or changes one given `itemId`. Creating checks the name " +
|
|
59
|
+
"first, so a retried create cannot leave two \"100 Coins\" products.\n\n" +
|
|
49
60
|
"Everything here needs an Open Cloud key and a universe id. The user " +
|
|
50
61
|
"sets both once with `cloud` in the Studio panel.",
|
|
51
62
|
inputSchema: {
|
|
52
63
|
op: z
|
|
53
|
-
.enum(["restart", "message", "ban", "unban", "bans", "user", "inventory"])
|
|
64
|
+
.enum(["restart", "message", "ban", "unban", "bans", "user", "inventory", "servers", "logs", "products", "sell"])
|
|
54
65
|
.describe("'restart' rolls servers onto the new version, 'message' publishes " +
|
|
55
66
|
"to MessagingService, 'ban'/'unban'/'bans' manage player access, " +
|
|
56
|
-
"'user' and 'inventory' look someone up
|
|
67
|
+
"'user' and 'inventory' look someone up, 'servers' and 'logs' read " +
|
|
68
|
+
"live servers, 'products' and 'sell' manage products and passes."),
|
|
57
69
|
universeId: z
|
|
58
70
|
.string()
|
|
59
71
|
.optional()
|
|
@@ -62,7 +74,21 @@ export function registerUniverseTools(context) {
|
|
|
62
74
|
.string()
|
|
63
75
|
.optional()
|
|
64
76
|
.describe("ban/unban: restrict to this place only, instead of the whole " +
|
|
65
|
-
"experience. restart: only restart this place's servers."
|
|
77
|
+
"experience. restart: only restart this place's servers. " +
|
|
78
|
+
"servers/logs: which place, defaulting to `cloud place`."),
|
|
79
|
+
jobId: z
|
|
80
|
+
.string()
|
|
81
|
+
.optional()
|
|
82
|
+
.describe("logs only: the server, as listed by `servers`."),
|
|
83
|
+
severity: z
|
|
84
|
+
.enum(["error", "warning"])
|
|
85
|
+
.optional()
|
|
86
|
+
.describe("logs only: just this level. Omit for both."),
|
|
87
|
+
search: z
|
|
88
|
+
.string()
|
|
89
|
+
.optional()
|
|
90
|
+
.describe("logs only: case-insensitive text to find in the message, stack " +
|
|
91
|
+
"trace or context."),
|
|
66
92
|
topic: z.string().optional().describe("message only: the MessagingService topic."),
|
|
67
93
|
message: z.string().optional().describe("message only: the payload, as a string."),
|
|
68
94
|
userId: z.string().optional().describe("ban/unban/user/inventory: the player's user id."),
|
|
@@ -99,22 +125,44 @@ export function registerUniverseTools(context) {
|
|
|
99
125
|
filter: z
|
|
100
126
|
.string()
|
|
101
127
|
.optional()
|
|
102
|
-
.describe('inventory
|
|
128
|
+
.describe('inventory: an Open Cloud filter, e.g. `gamePassIds=123` or ' +
|
|
103
129
|
"`assetIds=456`, to ask about specific items rather than listing " +
|
|
104
|
-
"everything."
|
|
130
|
+
"everything. servers: a CEL filter over the server fields, e.g. " +
|
|
131
|
+
"`occupancy > 0`."),
|
|
105
132
|
limit: z
|
|
106
133
|
.number()
|
|
107
134
|
.int()
|
|
108
135
|
.min(1)
|
|
109
136
|
.max(200)
|
|
110
137
|
.default(50)
|
|
111
|
-
.describe("bans/inventory: how many rows to return."),
|
|
138
|
+
.describe("bans/inventory/servers/logs: how many rows to return."),
|
|
112
139
|
confirm: z
|
|
113
140
|
.boolean()
|
|
114
141
|
.optional()
|
|
115
|
-
.describe("Required for restart, message, ban and
|
|
116
|
-
"visible to players the moment it runs and none can be undone " +
|
|
142
|
+
.describe("Required for restart, message, ban, unban and sell. Each of these " +
|
|
143
|
+
"is visible to players the moment it runs and none can be undone " +
|
|
117
144
|
"from here."),
|
|
145
|
+
kind: z
|
|
146
|
+
.enum(["product", "pass"])
|
|
147
|
+
.optional()
|
|
148
|
+
.describe("products/sell: 'product' is a developer product (bought again and " +
|
|
149
|
+
"again: currency, boosts), 'pass' a game pass (bought once: VIP, " +
|
|
150
|
+
"perks). products lists both when omitted; sell needs it."),
|
|
151
|
+
itemId: z
|
|
152
|
+
.string()
|
|
153
|
+
.optional()
|
|
154
|
+
.describe("sell only: the product or pass to change. Omit to create a new one."),
|
|
155
|
+
name: z.string().optional().describe("sell only: the item's name. Required to create."),
|
|
156
|
+
description: z.string().optional().describe("sell only: the item's description."),
|
|
157
|
+
price: z.number().int().min(1).optional().describe("sell only: price in Robux."),
|
|
158
|
+
forSale: z
|
|
159
|
+
.boolean()
|
|
160
|
+
.optional()
|
|
161
|
+
.describe("sell only: whether players can buy it. Say it explicitly when creating."),
|
|
162
|
+
image: z
|
|
163
|
+
.string()
|
|
164
|
+
.optional()
|
|
165
|
+
.describe("sell only: path to a local .png/.jpg/.bmp/.tga icon."),
|
|
118
166
|
},
|
|
119
167
|
destructive: true,
|
|
120
168
|
}, async (args) => {
|
|
@@ -124,7 +172,7 @@ export function registerUniverseTools(context) {
|
|
|
124
172
|
universeId,
|
|
125
173
|
explicit: args.universeId !== undefined,
|
|
126
174
|
});
|
|
127
|
-
const needsConfirm = ["restart", "message", "ban", "unban"].includes(args.op);
|
|
175
|
+
const needsConfirm = ["restart", "message", "ban", "unban", "sell"].includes(args.op);
|
|
128
176
|
if (needsConfirm && args.confirm !== true) {
|
|
129
177
|
throw new ToolError("NEEDS_CONFIRM", `\`${args.op}\` affects the live game and the people currently in it.`, args.op === "ban" && args.durationSeconds === undefined
|
|
130
178
|
? "This ban would be PERMANENT — no duration was given. Tell the " +
|
|
@@ -155,6 +203,83 @@ export function registerUniverseTools(context) {
|
|
|
155
203
|
return text("Nobody is restricted in this experience.");
|
|
156
204
|
return text(textOf(table(["user", "active", "duration", "reason", "updated"], items)));
|
|
157
205
|
}
|
|
206
|
+
if (args.op === "products") {
|
|
207
|
+
const items = await listItems(credentials, { universeId, kind: args.kind });
|
|
208
|
+
if (items.length === 0)
|
|
209
|
+
return text("This game has no developer products or game passes yet.");
|
|
210
|
+
return table(["kind", "id", "name", "price", "forSale", "created"], items, {
|
|
211
|
+
more: `${items.length} item(s). A script sells a product with ` +
|
|
212
|
+
"MarketplaceService:PromptProductPurchase and a pass with PromptGamePassPurchase.",
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
if (args.op === "sell") {
|
|
216
|
+
if (!args.kind) {
|
|
217
|
+
throw new ToolError("BAD_PARAMS", 'sell needs a `kind`: "product" or "pass".');
|
|
218
|
+
}
|
|
219
|
+
return json(await saveItem(credentials, {
|
|
220
|
+
universeId,
|
|
221
|
+
kind: args.kind,
|
|
222
|
+
id: args.itemId,
|
|
223
|
+
name: args.name,
|
|
224
|
+
description: args.description,
|
|
225
|
+
price: args.price,
|
|
226
|
+
forSale: args.forSale,
|
|
227
|
+
image: args.image,
|
|
228
|
+
}), args.kind === "product"
|
|
229
|
+
? "A developer product needs a ProcessReceipt callback on the server to grant what was bought, or purchases are charged and then refunded."
|
|
230
|
+
: "Check ownership with MarketplaceService:UserOwnsGamePassAsync.");
|
|
231
|
+
}
|
|
232
|
+
if (args.op === "servers") {
|
|
233
|
+
const placeId = await requirePlace(args.placeId);
|
|
234
|
+
const found = await listGameServers(credentials, {
|
|
235
|
+
universeId,
|
|
236
|
+
placeId,
|
|
237
|
+
limit: args.limit,
|
|
238
|
+
filter: args.filter,
|
|
239
|
+
});
|
|
240
|
+
const items = found["items"];
|
|
241
|
+
const partial = found["partial"] === true ? " Roblox returned a partial list; try again shortly." : "";
|
|
242
|
+
if (items.length === 0) {
|
|
243
|
+
return text(`No servers are running for place ${placeId}.${partial}`);
|
|
244
|
+
}
|
|
245
|
+
return table(["jobId", "status", "players", "uptime", "fps", "memoryMb", "version"], items, {
|
|
246
|
+
more: `${items.length} server(s)${found["more"] === true ? ", more available — raise `limit`" : ""}. ` +
|
|
247
|
+
`Read one with \`op="logs" jobId=...\`.${partial}`,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
if (args.op === "logs") {
|
|
251
|
+
if (!args.jobId) {
|
|
252
|
+
throw new ToolError("BAD_PARAMS", 'logs needs a `jobId`. List them with `op="servers"`.');
|
|
253
|
+
}
|
|
254
|
+
const placeId = await requirePlace(args.placeId);
|
|
255
|
+
const found = await listServerLogs(credentials, {
|
|
256
|
+
universeId,
|
|
257
|
+
placeId,
|
|
258
|
+
jobId: args.jobId,
|
|
259
|
+
limit: args.limit,
|
|
260
|
+
severity: args.severity,
|
|
261
|
+
search: args.search,
|
|
262
|
+
});
|
|
263
|
+
const items = found["items"];
|
|
264
|
+
if (items.length === 0) {
|
|
265
|
+
return text(`No ${args.severity ?? "error or warning"} logs for ${args.jobId}` +
|
|
266
|
+
(args.search ? ` matching "${args.search}"` : "") +
|
|
267
|
+
". Logs arrive about three minutes after they are written, and a wrong " +
|
|
268
|
+
"`placeId` also reads as empty.");
|
|
269
|
+
}
|
|
270
|
+
// Newest first, one entry per block: the stack and context belong
|
|
271
|
+
// to the line above them, which a table would split apart.
|
|
272
|
+
const lines = items.map((entry) => [
|
|
273
|
+
`${String(entry["time"])} [${String(entry["level"])}] ${String(entry["message"])}` +
|
|
274
|
+
(entry["repeats"] ? ` (+${String(entry["repeats"])} similar)` : ""),
|
|
275
|
+
entry["stack"] ? ` ${String(entry["stack"]).trim().replace(/\n/g, "\n ")}` : undefined,
|
|
276
|
+
entry["context"] ? ` context: ${String(entry["context"])}` : undefined,
|
|
277
|
+
]
|
|
278
|
+
.filter((line) => line !== undefined)
|
|
279
|
+
.join("\n"));
|
|
280
|
+
return text(lines.join("\n") +
|
|
281
|
+
(found["more"] === true ? "\n\n[more available — raise `limit` or narrow with `search`]" : ""));
|
|
282
|
+
}
|
|
158
283
|
if (!args.userId) {
|
|
159
284
|
throw new ToolError("BAD_PARAMS", `${args.op} needs a \`userId\`.`);
|
|
160
285
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universe.js","sourceRoot":"","sources":["../../src/tools/universe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAoB,MAAM,gBAAgB,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAoB;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,UAAU,CACR,OAAO,EACP;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,qEAAqE;YACrE,2BAA2B;YAC3B,oEAAoE;YACpE,oEAAoE;YACpE,qEAAqE;YACrE,mEAAmE;YACnE,uEAAuE;YACvE,uEAAuE;YACvE,uBAAuB;YACvB,yEAAyE;YACzE,oEAAoE;YACpE,wEAAwE;YACxE,6CAA6C;YAC7C,wEAAwE;YACxE,kEAAkE;YAClE,qEAAqE;YACrE,mEAAmE;YACnE,+CAA+C;YAC/C,yEAAyE;YACzE,oEAAoE;YACpE,sEAAsE;YACtE,kDAAkD;QACpD,WAAW,EAAE;YACX,EAAE,EAAE,CAAC;iBACF,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"universe.js","sourceRoot":"","sources":["../../src/tools/universe.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/world.js
CHANGED
|
@@ -5,9 +5,9 @@ import { errorText, json, table, text, textOf } from "../lib/format.js";
|
|
|
5
5
|
import { assetQuotas, restartServers } from "../lib/liveops.js";
|
|
6
6
|
import { requireCredentials, requirePlace, requireUniverse } from "../lib/opencloud.js";
|
|
7
7
|
import { defineTool } from "../lib/tool.js";
|
|
8
|
-
/** Roblox's toolbox search. Public, unauthenticated, and the same index Studio's own asset browser uses. */
|
|
9
8
|
/** Segmentation runs the same slow generation backend `generate` does. */
|
|
10
9
|
const SEGMENT_TIMEOUT_MS = 240_000;
|
|
10
|
+
/** Roblox's toolbox search. Public, unauthenticated, and the same index Studio's own asset browser uses. */
|
|
11
11
|
const TOOLBOX_SEARCH = "https://apis.roblox.com/toolbox-service/v1/marketplace";
|
|
12
12
|
const TOOLBOX_DETAILS = "https://apis.roblox.com/toolbox-service/v1/items/details";
|
|
13
13
|
/** Toolbox category ids. Models is the only one that inserts as instances. */
|
|
@@ -269,10 +269,12 @@ export function registerWorldTools(context) {
|
|
|
269
269
|
.default(false)
|
|
270
270
|
.describe("Leave the input parts in place instead of consuming them."),
|
|
271
271
|
collisionFidelity: z
|
|
272
|
-
.enum(["Default", "Hull", "Box", "PreciseConvexDecomposition"])
|
|
272
|
+
.enum(["Default", "Hull", "Box", "PreciseConvexDecomposition", "Tunable"])
|
|
273
273
|
.default("Default")
|
|
274
274
|
.describe("How exactly the result collides. Precise is expensive - raise it " +
|
|
275
|
-
"only for a surface players walk on."
|
|
275
|
+
"only for a surface players walk on. Tunable picks a precision from " +
|
|
276
|
+
"the size and handles thin details better; adjust it afterwards " +
|
|
277
|
+
"with `modify` on CollisionPrecision."),
|
|
276
278
|
splitApart: z
|
|
277
279
|
.boolean()
|
|
278
280
|
.default(false)
|
|
@@ -604,7 +606,8 @@ export function registerWorldTools(context) {
|
|
|
604
606
|
.describe("bake only: MeshParts to convert, or models containing them."),
|
|
605
607
|
studioId: z.string().optional().describe("Target Studio; omit for the active one."),
|
|
606
608
|
},
|
|
607
|
-
|
|
609
|
+
// `publish` replaces the live place and `grant` cannot be revoked.
|
|
610
|
+
destructive: true,
|
|
608
611
|
}, async (args) => {
|
|
609
612
|
if (args.op === "peek") {
|
|
610
613
|
if (!args.assetId)
|
|
@@ -970,11 +973,13 @@ export function registerWorldTools(context) {
|
|
|
970
973
|
size: z
|
|
971
974
|
.string()
|
|
972
975
|
.optional()
|
|
973
|
-
.describe('cast shape="block" or overlap region="box": the volume size.'
|
|
976
|
+
.describe('cast shape="block" or overlap region="box": the volume size. Defaults ' +
|
|
977
|
+
'to "1, 1, 1" for a cast and "4, 4, 4" for an overlap.'),
|
|
974
978
|
radius: z
|
|
975
979
|
.number()
|
|
976
980
|
.optional()
|
|
977
|
-
.describe('cast shape="sphere" or overlap region="radius": the radius.'
|
|
981
|
+
.describe('cast shape="sphere" or overlap region="radius": the radius. Defaults ' +
|
|
982
|
+
"to 1 for a cast and 4 for an overlap."),
|
|
978
983
|
region: z
|
|
979
984
|
.enum(["box", "radius", "part"])
|
|
980
985
|
.optional()
|
|
@@ -1035,7 +1040,8 @@ export function registerWorldTools(context) {
|
|
|
1035
1040
|
"question live inside a ViewportFrame."),
|
|
1036
1041
|
studioId: z.string().optional().describe("Target Studio; omit for the active one."),
|
|
1037
1042
|
},
|
|
1038
|
-
|
|
1043
|
+
// `remove` unregisters a group, and group changes are not undoable.
|
|
1044
|
+
destructive: true,
|
|
1039
1045
|
}, async (args) => {
|
|
1040
1046
|
if (args.action === "cast" || args.action === "overlap") {
|
|
1041
1047
|
const query = await bridge.call(args.action === "cast" ? "spatial.cast" : "spatial.overlap", {
|
|
@@ -1057,6 +1063,23 @@ export function registerWorldTools(context) {
|
|
|
1057
1063
|
limit: args.limit,
|
|
1058
1064
|
worldModel: args.worldModel,
|
|
1059
1065
|
}, { studioId: args.studioId, timeoutMs: 30_000 });
|
|
1066
|
+
// A table, not JSON: an overlap is a list of same-shaped rows, and
|
|
1067
|
+
// repeating six keys per part cost more than the parts themselves.
|
|
1068
|
+
if (args.action === "overlap" && Array.isArray(query["items"])) {
|
|
1069
|
+
const items = query["items"];
|
|
1070
|
+
const where = query["region"] === "part"
|
|
1071
|
+
? `overlapping ${String(query["path"] ?? args.path)}`
|
|
1072
|
+
: query["region"] === "radius"
|
|
1073
|
+
? `within ${String(query["radius"])} of ${String(query["at"])}`
|
|
1074
|
+
: `in box ${String(query["size"])} at ${String(query["at"])}`;
|
|
1075
|
+
const summary = `${String(query["count"] ?? items.length)} part(s) ${where}, ${String(query["world"] ?? "Workspace")}` +
|
|
1076
|
+
(query["truncated"] === true ? "; truncated — raise `limit` or narrow the region" : "");
|
|
1077
|
+
if (items.length === 0)
|
|
1078
|
+
return text(`Nothing ${where}.`);
|
|
1079
|
+
return table(["path", "class", "position", "size", "canCollide", "collisionGroup"], items, {
|
|
1080
|
+
more: summary,
|
|
1081
|
+
});
|
|
1082
|
+
}
|
|
1060
1083
|
if (args.action === "cast" && query["hit"] === false) {
|
|
1061
1084
|
return json(query, "Nothing was hit. If that is a surprise: a `direction` pointing " +
|
|
1062
1085
|
"the wrong way, a `distance` shorter than the gap, or an " +
|
package/dist/tools/world.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/tools/world.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/tools/world.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@el4cteo/rbx-studio-mcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"description": "MCP server for Roblox Studio. 34 tools, push-based SSE bridge, editor-safe script edits, one-step undo.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"build:plugin": "node scripts/check-plugin.mjs && node scripts/build-plugin.mjs",
|
|
32
32
|
"sourcemap": "node scripts/sourcemap.mjs",
|
|
33
33
|
"test:live": "node scripts/test-live.mjs",
|
|
34
|
-
"test": "node scripts/test-plugin.mjs && node scripts/test-transport.mjs && node scripts/test-server.mjs && node scripts/test-bridge.mjs && node scripts/test-console.mjs && node scripts/test-failover.mjs && node scripts/test-tools.mjs",
|
|
34
|
+
"test": "node scripts/test-plugin.mjs && node scripts/test-transport.mjs && node scripts/test-server.mjs && node scripts/test-bridge.mjs && node scripts/test-console.mjs && node scripts/test-failover.mjs && node scripts/test-tools.mjs && node scripts/test-apidump.mjs",
|
|
35
35
|
"build:all": "npm run build && npm run build:plugin",
|
|
36
36
|
"install:plugin": "node scripts/install-plugin.mjs",
|
|
37
37
|
"check:plugin": "node scripts/check-plugin.mjs",
|
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
"ai-agent"
|
|
54
54
|
],
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
56
|
+
"@modelcontextprotocol/sdk": "^1.31.0",
|
|
57
57
|
"zod": "^4.6.5"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@types/node": "^26.6.
|
|
60
|
+
"@types/node": "^26.6.3",
|
|
61
61
|
"typescript": "^7.0.2"
|
|
62
62
|
},
|
|
63
63
|
"author": "EL4CTEO",
|
|
@@ -25,8 +25,26 @@ local levels = {
|
|
|
25
25
|
local function send(payload)
|
|
26
26
|
if open and report.Parent then report:FireServer(payload) end
|
|
27
27
|
end
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
local HttpService = game:GetService("HttpService")
|
|
29
|
+
table.insert(connections, LogService.MessageOut:Connect(function(message, kind, context)
|
|
30
|
+
-- A structured log's context table, as JSON; plain prints pass an empty one.
|
|
31
|
+
-- Values JSON has no shape for (Vector3, Instance) become text, not null.
|
|
32
|
+
local function plain(value, depth)
|
|
33
|
+
local kind = typeof(value)
|
|
34
|
+
if kind == "string" or kind == "number" or kind == "boolean" then return value end
|
|
35
|
+
if kind == "Instance" then return value:GetFullName() end
|
|
36
|
+
if kind ~= "table" then return tostring(value) end
|
|
37
|
+
if depth >= 4 then return "<table>" end
|
|
38
|
+
local copy = {}
|
|
39
|
+
for key, item in value do copy[if type(key) == "number" then key else tostring(key)] = plain(item, depth + 1) end
|
|
40
|
+
return copy
|
|
41
|
+
end
|
|
42
|
+
local encoded
|
|
43
|
+
if type(context) == "table" and next(context) ~= nil then
|
|
44
|
+
local ok, json = pcall(function() return HttpService:JSONEncode(plain(context, 0)) end)
|
|
45
|
+
encoded = if ok then string.sub(json, 1, 1000) else nil
|
|
46
|
+
end
|
|
47
|
+
send({level = levels[kind] or "print", message = string.sub(message, 1, 2000), timestamp = os.time(), context = encoded})
|
|
30
48
|
end))
|
|
31
49
|
pcall(function()
|
|
32
50
|
table.insert(connections, ScriptContext.Error:Connect(function(message, stack, source)
|
package/plugin/src/Config.luau
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
local Config = {}
|
|
11
11
|
|
|
12
|
-
Config.PLUGIN_VERSION = "0.8.
|
|
12
|
+
Config.PLUGIN_VERSION = "0.8.3"
|
|
13
13
|
|
|
14
14
|
-- Fingerprint of plugin/src, stamped in by scripts/build-plugin.mjs. The server
|
|
15
15
|
-- computes the same hash from its own copy of the sources and compares, so a
|