dominus-cli 2.2.0 → 2.3.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/CHANGELOG.md +48 -0
- package/README.md +34 -12
- package/dist/bridge-daemon.js +581 -0
- package/dist/bridge-daemon.js.map +1 -0
- package/dist/install-plugin.js +497 -27
- package/dist/install-plugin.js.map +1 -1
- package/dist/mcp.js +417 -479
- package/dist/mcp.js.map +1 -1
- package/package.json +5 -5
- package/plugin/Dominus.rbxmx +507 -15
- package/plugin/default.project.json +4 -1
- package/plugin/src/Building.lua +427 -0
- package/plugin/src/CommandRouter.lua +25 -0
- package/plugin/src/Mutation.lua +30 -0
- package/plugin/src/init.server.lua +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.3.0 (2026-07-15)
|
|
4
|
+
|
|
5
|
+
### Roblox building toolkit
|
|
6
|
+
|
|
7
|
+
- Added `studio_clone_instances` for safe deep cloning of Parts, Models, UI,
|
|
8
|
+
scripts, and arbitrary instance trees. Clones support renaming, reparenting,
|
|
9
|
+
root property overrides, repeated copies, and spatial offsets without arbitrary
|
|
10
|
+
Luau execution.
|
|
11
|
+
- Added `studio_create_parts` for building up to 200 Parts, Wedges, MeshParts,
|
|
12
|
+
Seats, SpawnLocations, and related BaseParts in one batch, with optional Model
|
|
13
|
+
or Folder grouping.
|
|
14
|
+
- Added `studio_transform_instances` using `PVInstance:PivotTo()`, so Models and
|
|
15
|
+
BaseParts support exact CFrames plus world/local position and rotation offsets.
|
|
16
|
+
- Added `studio_group_instances`, `studio_ungroup_instances`,
|
|
17
|
+
`studio_create_welds`, `studio_query_parts`, and `studio_set_selection` for
|
|
18
|
+
hierarchy organization, rigid assemblies, spatial inspection, and Studio UX.
|
|
19
|
+
- Extended atomic `studio_apply` and parallel worker proposals with a typed
|
|
20
|
+
`clone` operation. Coordinators validate clone source and destination scopes,
|
|
21
|
+
detect destination conflicts, and verify the resulting hierarchy.
|
|
22
|
+
|
|
23
|
+
### Safety and reliability
|
|
24
|
+
|
|
25
|
+
- All new writes run through dedicated allowlisted plugin commands and one
|
|
26
|
+
ChangeHistoryService recording, with stable-ref validation, item limits,
|
|
27
|
+
rollback, and read-back-ready refs. Arbitrary `run_code` remains unavailable.
|
|
28
|
+
- Added tests for the 25-tool MCP catalog, clone routing, batch part creation,
|
|
29
|
+
transform validation, and packaged building command hardening.
|
|
30
|
+
- Pinned Rojo `7.6.1` with Rokit so plugin builds use a current reflection database
|
|
31
|
+
and consistently preserve `RunContext.Plugin`.
|
|
32
|
+
|
|
33
|
+
## 2.2.1 (2026-07-13)
|
|
34
|
+
|
|
35
|
+
### Stable Studio bridge architecture
|
|
36
|
+
|
|
37
|
+
- Moved WebSocket ownership out of individual MCP stdio processes and into one
|
|
38
|
+
detached local bridge daemon. MCP hosts now act as controllers, so closing or
|
|
39
|
+
restarting one agent no longer disconnects Studio or other agents.
|
|
40
|
+
- Added race-safe bridge startup and reuse. Concurrent MCP launches converge on
|
|
41
|
+
the same loopback bridge instead of creating separate connection state.
|
|
42
|
+
- The plugin installer now starts the bridge automatically and provisions the
|
|
43
|
+
user-specific 256-bit credential into the local plugin. Manual connection IDs
|
|
44
|
+
and six-digit pairing codes are no longer part of setup or recovery.
|
|
45
|
+
- Built the plugin root with `RunContext.Plugin` and added an entry-point guard.
|
|
46
|
+
Starting a Play test can no longer launch duplicate Client and Server Dominus
|
|
47
|
+
sessions from one Studio window.
|
|
48
|
+
- Added regressions for plugin run context, seamless credential provisioning,
|
|
49
|
+
unauthorized plugin rejection, and bridge survival across MCP controller exits.
|
|
50
|
+
|
|
3
51
|
## 2.2.0 (2026-07-13)
|
|
4
52
|
|
|
5
53
|
### MCP-native multi-agent coordinator
|
package/README.md
CHANGED
|
@@ -8,14 +8,17 @@ Luau execution.
|
|
|
8
8
|
## What changed
|
|
9
9
|
|
|
10
10
|
- MCP-only product: the old Ink chat CLI is no longer published.
|
|
11
|
-
-
|
|
11
|
+
- 25 focused tools with input/output schemas, structured results, and risk hints.
|
|
12
12
|
- MCP-native parallel coordination uses the host's model through Sampling, with
|
|
13
13
|
proposal-only workers and coordinator-owned Studio writes.
|
|
14
14
|
- Stable instance refs survive dots in names, renames, reparenting, and duplicate
|
|
15
15
|
sibling names for the life of the Studio session.
|
|
16
16
|
- Script writes require a revision from `studio_read_script`.
|
|
17
17
|
- Mutation batches and UI replacement are undoable and roll back on failure.
|
|
18
|
-
- The installer provisions a
|
|
18
|
+
- The installer provisions a local bridge credential automatically; users never
|
|
19
|
+
copy connection IDs or pairing codes.
|
|
20
|
+
- A single background bridge keeps Studio connected while MCP hosts and agents
|
|
21
|
+
start, stop, or run in parallel.
|
|
19
22
|
- Multiple Studio windows are selected by unique connection ID, not place ID.
|
|
20
23
|
- Roblox Creator Docs API lookup is built in.
|
|
21
24
|
|
|
@@ -65,7 +68,7 @@ For a version-pinned configuration that does not require a global install:
|
|
|
65
68
|
"mcpServers": {
|
|
66
69
|
"dominus": {
|
|
67
70
|
"command": "npx",
|
|
68
|
-
"args": ["-y", "-p", "dominus-cli@2.
|
|
71
|
+
"args": ["-y", "-p", "dominus-cli@2.3.0", "dominus-mcp"]
|
|
69
72
|
}
|
|
70
73
|
}
|
|
71
74
|
}
|
|
@@ -75,9 +78,13 @@ Restart the MCP client after changing its configuration.
|
|
|
75
78
|
|
|
76
79
|
## First connection
|
|
77
80
|
|
|
78
|
-
1. Run `dominus-install-plugin`;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
1. Run `dominus-install-plugin`; it installs the personalized plugin and starts
|
|
82
|
+
the local Studio bridge in the background.
|
|
83
|
+
2. Open Roblox Studio and start the MCP client. Dominus authenticates
|
|
84
|
+
automatically with no connection ID or pairing code.
|
|
85
|
+
|
|
86
|
+
If the local credential is replaced or lost, run `dominus-install-plugin` again.
|
|
87
|
+
Studio normally reloads it without a restart.
|
|
81
88
|
|
|
82
89
|
If several Studio windows are open, call `dominus_select_studio` with the exact
|
|
83
90
|
connection ID before editing. Two windows on the same place ID remain distinct.
|
|
@@ -96,6 +103,12 @@ For UI fidelity work, use `studio_snapshot_ui` after `studio_build_ui` and compa
|
|
|
96
103
|
fonts, UDim2 values, colors, strokes, and hierarchy rather than relying on a
|
|
97
104
|
successful write response alone.
|
|
98
105
|
|
|
106
|
+
For 3D building, use `studio_create_parts` for batches and
|
|
107
|
+
`studio_clone_instances` when an existing object is the template. Models and
|
|
108
|
+
parts can be moved safely with `studio_transform_instances`, organized with the
|
|
109
|
+
grouping tools, connected with `studio_create_welds`, and discovered spatially
|
|
110
|
+
with `studio_query_parts`.
|
|
111
|
+
|
|
99
112
|
For broad tasks with independent branches, use `run_parallel_task`. Dominus
|
|
100
113
|
partitions immediate child scopes, supplies each worker with hierarchy and typed
|
|
101
114
|
property evidence, runs up to five Sampling workers concurrently, validates their
|
|
@@ -123,11 +136,19 @@ Studio inspection:
|
|
|
123
136
|
- `studio_snapshot_ui`
|
|
124
137
|
- `studio_get_output`
|
|
125
138
|
- `studio_get_reflection`
|
|
139
|
+
- `studio_query_parts`
|
|
126
140
|
|
|
127
141
|
Studio changes and verification:
|
|
128
142
|
|
|
129
143
|
- `studio_update_script`
|
|
130
144
|
- `studio_apply`
|
|
145
|
+
- `studio_create_parts`
|
|
146
|
+
- `studio_clone_instances`
|
|
147
|
+
- `studio_transform_instances`
|
|
148
|
+
- `studio_group_instances`
|
|
149
|
+
- `studio_ungroup_instances`
|
|
150
|
+
- `studio_create_welds`
|
|
151
|
+
- `studio_set_selection`
|
|
131
152
|
- `studio_delete_instances`
|
|
132
153
|
- `studio_build_ui`
|
|
133
154
|
- `studio_run_test`
|
|
@@ -139,12 +160,13 @@ Roblox documentation:
|
|
|
139
160
|
|
|
140
161
|
## Security model
|
|
141
162
|
|
|
142
|
-
The MCP transport is stdio.
|
|
143
|
-
`127.0.0.1`, limits messages to one MiB, rate-limits sockets, times out
|
|
144
|
-
handshakes, and authenticates both Studio plugins and
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
`loadstring`
|
|
163
|
+
The MCP transport is stdio. A single background Studio WebSocket bridge binds
|
|
164
|
+
only to `127.0.0.1`, limits messages to one MiB, rate-limits sockets, times out
|
|
165
|
+
incomplete handshakes, and authenticates both Studio plugins and MCP controllers.
|
|
166
|
+
The distributed plugin contains only a credential placeholder;
|
|
167
|
+
`dominus-install-plugin` writes the user-specific token into the local copy. The
|
|
168
|
+
plugin only accepts an explicit command allowlist and contains no `loadstring`
|
|
169
|
+
executor.
|
|
148
170
|
|
|
149
171
|
The bridge token protects against accidental or opportunistic access by unrelated
|
|
150
172
|
local processes. Like other user-level credentials, it cannot protect against a
|