@el4cteo/rbx-studio-mcp 0.7.8 → 0.8.2
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 +175 -175
- package/dist/bridge/harness.js +14 -5
- package/dist/bridge/harness.js.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/apidump.js +62 -25
- package/dist/lib/apidump.js.map +1 -1
- package/dist/lib/format.js +43 -4
- package/dist/lib/format.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/pluginbuild.js +10 -0
- package/dist/lib/pluginbuild.js.map +1 -1
- package/dist/lib/png.js +104 -0
- package/dist/lib/png.js.map +1 -1
- package/dist/resources.js +3 -2
- package/dist/resources.js.map +1 -1
- package/dist/tools/api.js +4 -3
- package/dist/tools/api.js.map +1 -1
- package/dist/tools/audio.js +1 -1
- package/dist/tools/audio.js.map +1 -1
- package/dist/tools/debug.js +2 -2
- package/dist/tools/debug.js.map +1 -1
- package/dist/tools/device.js +10 -9
- package/dist/tools/device.js.map +1 -1
- package/dist/tools/discover.js +15 -4
- package/dist/tools/discover.js.map +1 -1
- package/dist/tools/exec.js +4 -4
- package/dist/tools/exec.js.map +1 -1
- package/dist/tools/instances.js +32 -7
- 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/screenshot.js +55 -11
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/scripts.js +4 -4
- package/dist/tools/scripts.js.map +1 -1
- package/dist/tools/terrain.js +5 -5
- 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 +38 -15
- package/dist/tools/world.js.map +1 -1
- package/package.json +75 -75
- 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 +65 -3
- package/plugin/src/Paths.luau +15 -4
- package/plugin/src/Phrase.luau +3 -20
- package/plugin/src/ScriptEdit.luau +14 -0
- package/plugin/src/Serialize.luau +17 -0
- package/plugin/src/TextEdit.luau +6 -0
- package/plugin/src/handlers/Api.luau +8 -0
- package/plugin/src/handlers/Assets.luau +27 -18
- package/plugin/src/handlers/Audio.luau +36 -15
- package/plugin/src/handlers/Capture.luau +219 -3
- package/plugin/src/handlers/Character.luau +38 -23
- package/plugin/src/handlers/Data.luau +12 -1
- package/plugin/src/handlers/Device.luau +38 -27
- 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/Terrain.luau +9 -24
- package/plugin/src/handlers/Viewport.luau +4 -4
- package/plugin/src/handlers/World.luau +17 -1
- package/plugin/src/init.server.luau +0 -2
- package/scripts/test-tools.mjs +437 -216
- package/dist/tools/anim.js +0 -159
- package/dist/tools/anim.js.map +0 -1
- package/plugin/src/handlers/Anim.luau +0 -897
package/dist/tools/screenshot.js
CHANGED
|
@@ -2,7 +2,9 @@ import { zstdDecompressSync } from "node:zlib";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { ToolError } from "../lib/errors.js";
|
|
4
4
|
import { image } from "../lib/format.js";
|
|
5
|
-
import { encodePng } from "../lib/png.js";
|
|
5
|
+
import { boxResample, encodePng, upscaleNearest } from "../lib/png.js";
|
|
6
|
+
/** Long side a small zoomed crop is enlarged toward. */
|
|
7
|
+
const MIN_ZOOM_SIDE = 480;
|
|
6
8
|
import { defineTool } from "../lib/tool.js";
|
|
7
9
|
/**
|
|
8
10
|
* Turns whatever the plugin sent into base64 PNG.
|
|
@@ -17,7 +19,27 @@ function toPngBase64(response) {
|
|
|
17
19
|
if (response.encoding !== "zstd-rgb") {
|
|
18
20
|
return response.data;
|
|
19
21
|
}
|
|
20
|
-
|
|
22
|
+
let rgb = zstdDecompressSync(Buffer.from(response.data, "base64"));
|
|
23
|
+
// A plugin that sent full resolution leaves the scaling to this side, which
|
|
24
|
+
// averages every pixel instead of sampling a few. See boxResample.
|
|
25
|
+
if (response.scaleTo !== undefined && response.width > response.scaleTo) {
|
|
26
|
+
const scaled = boxResample(rgb, response.width, response.height, response.scaleTo);
|
|
27
|
+
rgb = scaled.rgb;
|
|
28
|
+
response.width = scaled.width;
|
|
29
|
+
response.height = scaled.height;
|
|
30
|
+
}
|
|
31
|
+
// A small zoomed crop is enlarged so a vision model sees more than a few
|
|
32
|
+
// patches of it. Whole factors only, and never past the requested width.
|
|
33
|
+
if (response.region !== undefined && response.scaleTo !== undefined) {
|
|
34
|
+
const factor = Math.min(4, Math.floor(response.scaleTo / response.width), Math.floor(MIN_ZOOM_SIDE / Math.max(response.width, response.height)));
|
|
35
|
+
if (factor > 1) {
|
|
36
|
+
const bigger = upscaleNearest(rgb, response.width, response.height, factor);
|
|
37
|
+
rgb = bigger.rgb;
|
|
38
|
+
response.width = bigger.width;
|
|
39
|
+
response.height = bigger.height;
|
|
40
|
+
response.enlarged = factor;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
21
43
|
return encodePng(rgb, response.width, response.height).toString("base64");
|
|
22
44
|
}
|
|
23
45
|
const isPlaytest = (session) => (session.context ?? "").startsWith("playtest");
|
|
@@ -39,7 +61,7 @@ function targetOf(sessions, activeId, wanted) {
|
|
|
39
61
|
* same process, plugin identity — opens it without complaint. This is the only
|
|
40
62
|
* place that can see both sessions at once, so the pairing lives here.
|
|
41
63
|
*/
|
|
42
|
-
async function playtestShot(bridge, playtest, sessions, width) {
|
|
64
|
+
async function playtestShot(bridge, playtest, sessions, width, rect) {
|
|
43
65
|
const editor = sessions.find((session) => session.placeId === playtest.placeId && !isPlaytest(session));
|
|
44
66
|
if (editor === undefined) {
|
|
45
67
|
throw new ToolError("NO_EDITOR_SESSION", "The playtest is connected but its editor session is not, and reading the " +
|
|
@@ -49,7 +71,7 @@ async function playtestShot(bridge, playtest, sessions, width) {
|
|
|
49
71
|
const { contentId } = await bridge.call("capture.playtestId", {}, { studioId: playtest.studioId, timeoutMs: 40_000 });
|
|
50
72
|
// Straight on, with no await in between: the texture is temporary and there
|
|
51
73
|
// is no promise about how long Studio keeps one nobody has opened yet.
|
|
52
|
-
return bridge.call("capture.decode", { contentId, width, context: "playtest client" }, { studioId: editor.studioId, timeoutMs: 60_000 });
|
|
74
|
+
return bridge.call("capture.decode", { contentId, width, rect, context: "playtest client" }, { studioId: editor.studioId, timeoutMs: 60_000 });
|
|
53
75
|
}
|
|
54
76
|
export function registerScreenshotTools(context) {
|
|
55
77
|
const { bridge } = context;
|
|
@@ -81,9 +103,19 @@ export function registerScreenshotTools(context) {
|
|
|
81
103
|
.min(160)
|
|
82
104
|
.max(1600)
|
|
83
105
|
.default(800)
|
|
84
|
-
.describe("
|
|
85
|
-
"
|
|
86
|
-
"
|
|
106
|
+
.describe("Largest width of the image, in pixels; height follows the aspect " +
|
|
107
|
+
"ratio. Never scales up. To read small text, zoom with `path` or " +
|
|
108
|
+
"`rect` rather than raising this."),
|
|
109
|
+
path: z
|
|
110
|
+
.string()
|
|
111
|
+
.optional()
|
|
112
|
+
.describe("Zoom to this instance at full resolution: a GUI element, a part, a " +
|
|
113
|
+
"model, or a folder of parts. Edit session only; it must be on screen."),
|
|
114
|
+
rect: z
|
|
115
|
+
.string()
|
|
116
|
+
.optional()
|
|
117
|
+
.describe('Zoom to "x, y, width, height" in viewport pixels. Read them off an ' +
|
|
118
|
+
"earlier screenshot using the scale its caption states."),
|
|
87
119
|
studioId: z.string().optional().describe("Target Studio; omit for the active one."),
|
|
88
120
|
},
|
|
89
121
|
readOnly: true,
|
|
@@ -91,8 +123,8 @@ export function registerScreenshotTools(context) {
|
|
|
91
123
|
const { list, activeId } = await bridge.sessions();
|
|
92
124
|
const target = targetOf(list, activeId, args.studioId);
|
|
93
125
|
const response = target !== undefined && isPlaytest(target)
|
|
94
|
-
? await playtestShot(bridge, target, list, args.width)
|
|
95
|
-
: await bridge.call("capture.screenshot", { width: args.width },
|
|
126
|
+
? await playtestShot(bridge, target, list, args.width, args.rect)
|
|
127
|
+
: await bridge.call("capture.screenshot", { width: args.width, path: args.path, rect: args.rect },
|
|
96
128
|
// Capturing, reading the pixels back and compressing them all happen
|
|
97
129
|
// before the reply, and none is instant on a big viewport.
|
|
98
130
|
{ studioId: args.studioId, timeoutMs: 60_000 });
|
|
@@ -122,8 +154,20 @@ export function registerScreenshotTools(context) {
|
|
|
122
154
|
" desktop that is not on screen. Ask the user to bring the 3D view to the front" +
|
|
123
155
|
" and take it again before drawing any conclusion from what is in this image."
|
|
124
156
|
: "";
|
|
125
|
-
|
|
126
|
-
`
|
|
157
|
+
const shown = response.region
|
|
158
|
+
? ` zoomed to ${args.path ?? "the rect"}: rect "${response.region.x}, ${response.region.y}, ${response.region.width}, ${response.region.height}"` +
|
|
159
|
+
` of the ${response.sourceWidth}x${response.sourceHeight} viewport`
|
|
160
|
+
: ` of the ${response.sourceWidth}x${response.sourceHeight} viewport`;
|
|
161
|
+
// Stated so a follow-up `rect` can be read off this image: its pixels
|
|
162
|
+
// times this factor are viewport pixels.
|
|
163
|
+
const factor = (response.region?.width ?? response.sourceWidth) / response.width;
|
|
164
|
+
const scale = response.enlarged !== undefined
|
|
165
|
+
? ` (enlarged ${response.enlarged}x for viewing: each ${response.enlarged}x${response.enlarged} block is one viewport px. ` +
|
|
166
|
+
'For real detail, move the camera closer with `viewport op="focus"` first)'
|
|
167
|
+
: factor > 1.001
|
|
168
|
+
? ` (1 image px = ${factor.toFixed(2)} viewport px)`
|
|
169
|
+
: " (full resolution)";
|
|
170
|
+
return image(png, `Studio viewport (${response.context}), ${response.width}x${response.height}${shown}${scale}.${emulating}${blank}`);
|
|
127
171
|
});
|
|
128
172
|
}
|
|
129
173
|
//# sourceMappingURL=screenshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAmB,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/scripts.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { body, CHARACTER_LIMIT, cursorSchema, decodeCursor, encodeCursor, json, limitSchema, table, text } from "../lib/format.js";
|
|
2
|
+
import { errorText, body, CHARACTER_LIMIT, cursorSchema, decodeCursor, encodeCursor, json, limitSchema, table, text } from "../lib/format.js";
|
|
3
3
|
import { ToolError } from "../lib/errors.js";
|
|
4
4
|
import { liveChildren, liveInstance, liveScriptWrite, resolveLivePath } from "../lib/liveops.js";
|
|
5
5
|
import { assertTargetsOpenPlace, requireCredentials, requirePlace, requireUniverse, } from "../lib/opencloud.js";
|
|
@@ -114,7 +114,7 @@ export function registerScriptTools(context) {
|
|
|
114
114
|
.boolean()
|
|
115
115
|
.optional()
|
|
116
116
|
.describe("live only: list what is under the first path instead of reading " +
|
|
117
|
-
"it. Pass
|
|
117
|
+
"it. Pass `paths: [\"\"]` to see the top level."),
|
|
118
118
|
universeId: z.string().optional().describe("live only: omit to use `cloud universe`."),
|
|
119
119
|
placeId: z.string().optional().describe("live only: omit to use `cloud place`."),
|
|
120
120
|
paths: z
|
|
@@ -193,7 +193,7 @@ export function registerScriptTools(context) {
|
|
|
193
193
|
return table(["name", "className", "hasChildren"], items);
|
|
194
194
|
}
|
|
195
195
|
if (wanted === undefined)
|
|
196
|
-
return
|
|
196
|
+
return errorText('live read needs a path in `paths`.');
|
|
197
197
|
const at = await resolveLivePath(credentials, { universeId, placeId, path: wanted });
|
|
198
198
|
const read = await liveInstance(credentials, {
|
|
199
199
|
universeId,
|
|
@@ -215,7 +215,7 @@ export function registerScriptTools(context) {
|
|
|
215
215
|
*/
|
|
216
216
|
const first = args.paths[0];
|
|
217
217
|
if (first === undefined)
|
|
218
|
-
return
|
|
218
|
+
return errorText("open needs a path.");
|
|
219
219
|
const path = typeof first === "string" ? first : first.path;
|
|
220
220
|
const opened = await bridge.call("script.open", { path, line: args.line }, { studioId: args.studioId });
|
|
221
221
|
return text(`Opened ${opened.path} in Studio` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/tools/scripts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/tools/scripts.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/terrain.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { errorText, json } from "../lib/format.js";
|
|
3
3
|
import { defineTool } from "../lib/tool.js";
|
|
4
4
|
export function registerTerrainTools(context) {
|
|
5
5
|
const { bridge } = context;
|
|
@@ -23,8 +23,8 @@ export function registerTerrainTools(context) {
|
|
|
23
23
|
"rebuilding it. `clear` empties a region, or everything with " +
|
|
24
24
|
"confirm=true. `stats` says whether the place uses terrain at all " +
|
|
25
25
|
"-- call it first in an unfamiliar place. It cannot say WHERE the " +
|
|
26
|
-
"terrain is: Roblox exposes no bounding box for it
|
|
27
|
-
"
|
|
26
|
+
"terrain is: Roblox exposes no bounding box for it. Take a " +
|
|
27
|
+
"`screenshot` to see the shape.\n\n" +
|
|
28
28
|
"Positions are the centre of the solid, in studs, as \"x, y, z\". " +
|
|
29
29
|
"Terrain snaps to a 4-stud voxel grid, so small features come out " +
|
|
30
30
|
"blockier than the numbers suggest; nothing thinner than about 4 studs " +
|
|
@@ -96,7 +96,7 @@ export function registerTerrainTools(context) {
|
|
|
96
96
|
}
|
|
97
97
|
if (args.op === "fill") {
|
|
98
98
|
if (args.shapes === undefined || args.shapes.length === 0) {
|
|
99
|
-
return
|
|
99
|
+
return errorText('fill needs `shapes`, e.g. [{ shape: "ball", position: "0, 10, 0", radius: 24, material: "Grass" }].');
|
|
100
100
|
}
|
|
101
101
|
const response = await bridge.call("terrain.fill", { shapes: args.shapes }, { studioId: args.studioId, timeoutMs });
|
|
102
102
|
return json(response, "Terrain snaps to 4-stud voxels, so take a `screenshot` before " +
|
|
@@ -104,7 +104,7 @@ export function registerTerrainTools(context) {
|
|
|
104
104
|
}
|
|
105
105
|
if (args.op === "replace") {
|
|
106
106
|
if (args.from === undefined || args.to === undefined) {
|
|
107
|
-
return
|
|
107
|
+
return errorText('replace needs `from` and `to`, e.g. from="Grass" to="Snow".');
|
|
108
108
|
}
|
|
109
109
|
const response = await bridge.call("terrain.replace", { position: args.position, size: args.size, from: args.from, to: args.to }, { studioId: args.studioId, timeoutMs });
|
|
110
110
|
return json(response);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terrain.js","sourceRoot":"","sources":["../../src/tools/terrain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"terrain.js","sourceRoot":"","sources":["../../src/tools/terrain.ts"],"names":[],"mappings":"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"}
|
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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"}
|