@quenty/studio-bridge 0.22.1 → 0.24.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 (231) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +36 -8
  3. package/dist/src/bridge/bridge-connection.d.ts.map +1 -1
  4. package/dist/src/bridge/bridge-connection.js +1 -0
  5. package/dist/src/bridge/bridge-connection.js.map +1 -1
  6. package/dist/src/bridge/bridge-session.d.ts +11 -16
  7. package/dist/src/bridge/bridge-session.d.ts.map +1 -1
  8. package/dist/src/bridge/bridge-session.js +37 -29
  9. package/dist/src/bridge/bridge-session.js.map +1 -1
  10. package/dist/src/bridge/bridge-session.test.js +35 -0
  11. package/dist/src/bridge/bridge-session.test.js.map +1 -1
  12. package/dist/src/bridge/internal/bridge-host.d.ts +2 -0
  13. package/dist/src/bridge/internal/bridge-host.d.ts.map +1 -1
  14. package/dist/src/bridge/internal/bridge-host.js +1 -0
  15. package/dist/src/bridge/internal/bridge-host.js.map +1 -1
  16. package/dist/src/bridge/internal/host-protocol.d.ts.map +1 -1
  17. package/dist/src/bridge/internal/host-protocol.js +23 -10
  18. package/dist/src/bridge/internal/host-protocol.js.map +1 -1
  19. package/dist/src/bridge/types.d.ts +5 -2
  20. package/dist/src/bridge/types.d.ts.map +1 -1
  21. package/dist/src/bridge/types.js.map +1 -1
  22. package/dist/src/commands/console/exec/exec.d.ts +13 -3
  23. package/dist/src/commands/console/exec/exec.d.ts.map +1 -1
  24. package/dist/src/commands/console/exec/exec.js +82 -7
  25. package/dist/src/commands/console/exec/exec.js.map +1 -1
  26. package/dist/src/commands/console/exec/exec.test.js +63 -1
  27. package/dist/src/commands/console/exec/exec.test.js.map +1 -1
  28. package/dist/src/commands/framework/action-loader.test.js +1 -1
  29. package/dist/src/commands/framework/action-loader.test.js.map +1 -1
  30. package/dist/src/commands/playtest/player/playtest-players.d.ts.map +1 -1
  31. package/dist/src/commands/playtest/player/playtest-players.js +15 -93
  32. package/dist/src/commands/playtest/player/playtest-players.js.map +1 -1
  33. package/dist/src/commands/playtest/player/playtest-players.test.js +34 -21
  34. package/dist/src/commands/playtest/player/playtest-players.test.js.map +1 -1
  35. package/dist/src/commands/playtest/playtest-sessions.d.ts +19 -3
  36. package/dist/src/commands/playtest/playtest-sessions.d.ts.map +1 -1
  37. package/dist/src/commands/playtest/playtest-sessions.js +54 -74
  38. package/dist/src/commands/playtest/playtest-sessions.js.map +1 -1
  39. package/dist/src/commands/playtest/playtest-sessions.test.js +74 -8
  40. package/dist/src/commands/playtest/playtest-sessions.test.js.map +1 -1
  41. package/dist/src/commands/playtest/run/run.d.ts +9 -7
  42. package/dist/src/commands/playtest/run/run.d.ts.map +1 -1
  43. package/dist/src/commands/playtest/run/run.js +33 -38
  44. package/dist/src/commands/playtest/run/run.js.map +1 -1
  45. package/dist/src/commands/process/close/close.d.ts +4 -0
  46. package/dist/src/commands/process/close/close.d.ts.map +1 -1
  47. package/dist/src/commands/process/close/close.js +54 -4
  48. package/dist/src/commands/process/close/close.js.map +1 -1
  49. package/dist/src/commands/process/close/close.test.js +36 -3
  50. package/dist/src/commands/process/close/close.test.js.map +1 -1
  51. package/dist/src/commands/process/info/info.d.ts +15 -2
  52. package/dist/src/commands/process/info/info.d.ts.map +1 -1
  53. package/dist/src/commands/process/info/info.js +44 -4
  54. package/dist/src/commands/process/info/info.js.map +1 -1
  55. package/dist/src/commands/process/info/info.test.js +48 -0
  56. package/dist/src/commands/process/info/info.test.js.map +1 -1
  57. package/dist/src/commands/process/launch/launch.d.ts.map +1 -1
  58. package/dist/src/commands/process/launch/launch.js +22 -3
  59. package/dist/src/commands/process/launch/launch.js.map +1 -1
  60. package/dist/src/commands/process/launch/launch.test.js +27 -5
  61. package/dist/src/commands/process/launch/launch.test.js.map +1 -1
  62. package/dist/src/commands/process/list/list.d.ts +49 -6
  63. package/dist/src/commands/process/list/list.d.ts.map +1 -1
  64. package/dist/src/commands/process/list/list.js +185 -18
  65. package/dist/src/commands/process/list/list.js.map +1 -1
  66. package/dist/src/commands/process/list/list.test.js +92 -1
  67. package/dist/src/commands/process/list/list.test.js.map +1 -1
  68. package/dist/src/commands/process/run/run.d.ts +1 -1
  69. package/dist/src/commands/process/run/run.d.ts.map +1 -1
  70. package/dist/src/commands/process/run/run.js +3 -3
  71. package/dist/src/commands/process/run/run.js.map +1 -1
  72. package/dist/src/docker/docker-delegator.js +1 -1
  73. package/dist/src/docker/docker-delegator.js.map +1 -1
  74. package/dist/src/docker/docker-delegator.test.js +1 -1
  75. package/dist/src/docker/docker-delegator.test.js.map +1 -1
  76. package/dist/src/plugin/playtest-bridge.d.ts +36 -0
  77. package/dist/src/plugin/playtest-bridge.d.ts.map +1 -0
  78. package/dist/src/plugin/playtest-bridge.js +65 -0
  79. package/dist/src/plugin/playtest-bridge.js.map +1 -0
  80. package/dist/src/plugin/playtest-bridge.test.d.ts +2 -0
  81. package/dist/src/plugin/playtest-bridge.test.d.ts.map +1 -0
  82. package/dist/src/plugin/playtest-bridge.test.js +35 -0
  83. package/dist/src/plugin/playtest-bridge.test.js.map +1 -0
  84. package/dist/src/process/studio-launch-registry.d.ts +14 -0
  85. package/dist/src/process/studio-launch-registry.d.ts.map +1 -0
  86. package/dist/src/process/studio-launch-registry.js +37 -0
  87. package/dist/src/process/studio-launch-registry.js.map +1 -0
  88. package/dist/src/process/studio-launch-registry.test.d.ts +2 -0
  89. package/dist/src/process/studio-launch-registry.test.d.ts.map +1 -0
  90. package/dist/src/process/studio-launch-registry.test.js +38 -0
  91. package/dist/src/process/studio-launch-registry.test.js.map +1 -0
  92. package/dist/src/process/studio-process-closer.d.ts +3 -1
  93. package/dist/src/process/studio-process-closer.d.ts.map +1 -1
  94. package/dist/src/process/studio-process-closer.js +29 -11
  95. package/dist/src/process/studio-process-closer.js.map +1 -1
  96. package/dist/src/process/studio-process-identity.d.ts +10 -0
  97. package/dist/src/process/studio-process-identity.d.ts.map +1 -0
  98. package/dist/src/process/studio-process-identity.js +63 -0
  99. package/dist/src/process/studio-process-identity.js.map +1 -0
  100. package/dist/src/process/studio-process-identity.test.d.ts +2 -0
  101. package/dist/src/process/studio-process-identity.test.d.ts.map +1 -0
  102. package/dist/src/process/studio-process-identity.test.js +30 -0
  103. package/dist/src/process/studio-process-identity.test.js.map +1 -0
  104. package/dist/src/roblox-mcp/index.d.ts +3 -0
  105. package/dist/src/roblox-mcp/index.d.ts.map +1 -0
  106. package/dist/src/roblox-mcp/index.js +3 -0
  107. package/dist/src/roblox-mcp/index.js.map +1 -0
  108. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.d.ts +60 -0
  109. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.d.ts.map +1 -0
  110. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.js +171 -0
  111. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.js.map +1 -0
  112. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.test.d.ts +2 -0
  113. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.test.d.ts.map +1 -0
  114. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.test.js +104 -0
  115. package/dist/src/roblox-mcp/mcp/mcp-stdio-client.test.js.map +1 -0
  116. package/dist/src/roblox-mcp/mcp/repair-list-result.d.ts +2 -0
  117. package/dist/src/roblox-mcp/mcp/repair-list-result.d.ts.map +1 -0
  118. package/dist/src/roblox-mcp/mcp/repair-list-result.js +22 -0
  119. package/dist/src/roblox-mcp/mcp/repair-list-result.js.map +1 -0
  120. package/dist/src/roblox-mcp/mcp/repair-list-result.test.d.ts +2 -0
  121. package/dist/src/roblox-mcp/mcp/repair-list-result.test.d.ts.map +1 -0
  122. package/dist/src/roblox-mcp/mcp/repair-list-result.test.js +42 -0
  123. package/dist/src/roblox-mcp/mcp/repair-list-result.test.js.map +1 -0
  124. package/dist/src/roblox-mcp/roblox-studio-mcp.d.ts +34 -0
  125. package/dist/src/roblox-mcp/roblox-studio-mcp.d.ts.map +1 -0
  126. package/dist/src/roblox-mcp/roblox-studio-mcp.js +190 -0
  127. package/dist/src/roblox-mcp/roblox-studio-mcp.js.map +1 -0
  128. package/dist/src/roblox-mcp/roblox-studio-mcp.test.d.ts +2 -0
  129. package/dist/src/roblox-mcp/roblox-studio-mcp.test.d.ts.map +1 -0
  130. package/dist/src/roblox-mcp/roblox-studio-mcp.test.js +123 -0
  131. package/dist/src/roblox-mcp/roblox-studio-mcp.test.js.map +1 -0
  132. package/dist/src/roblox-mcp/studio/studio-session.d.ts +39 -0
  133. package/dist/src/roblox-mcp/studio/studio-session.d.ts.map +1 -0
  134. package/dist/src/roblox-mcp/studio/studio-session.js +175 -0
  135. package/dist/src/roblox-mcp/studio/studio-session.js.map +1 -0
  136. package/dist/src/roblox-mcp/studio/studio-session.test.d.ts +2 -0
  137. package/dist/src/roblox-mcp/studio/studio-session.test.d.ts.map +1 -0
  138. package/dist/src/roblox-mcp/studio/studio-session.test.js +213 -0
  139. package/dist/src/roblox-mcp/studio/studio-session.test.js.map +1 -0
  140. package/dist/src/roblox-mcp/studio-mcp-locator.d.ts +19 -0
  141. package/dist/src/roblox-mcp/studio-mcp-locator.d.ts.map +1 -0
  142. package/dist/src/roblox-mcp/studio-mcp-locator.js +121 -0
  143. package/dist/src/roblox-mcp/studio-mcp-locator.js.map +1 -0
  144. package/dist/src/roblox-mcp/studio-mcp-locator.test.d.ts +2 -0
  145. package/dist/src/roblox-mcp/studio-mcp-locator.test.d.ts.map +1 -0
  146. package/dist/src/roblox-mcp/studio-mcp-locator.test.js +107 -0
  147. package/dist/src/roblox-mcp/studio-mcp-locator.test.js.map +1 -0
  148. package/dist/src/roblox-mcp/studio-mcp-snapshot.d.ts +23 -0
  149. package/dist/src/roblox-mcp/studio-mcp-snapshot.d.ts.map +1 -0
  150. package/dist/src/roblox-mcp/studio-mcp-snapshot.js +65 -0
  151. package/dist/src/roblox-mcp/studio-mcp-snapshot.js.map +1 -0
  152. package/dist/src/roblox-mcp/studio-mcp-snapshot.test.d.ts +2 -0
  153. package/dist/src/roblox-mcp/studio-mcp-snapshot.test.d.ts.map +1 -0
  154. package/dist/src/roblox-mcp/studio-mcp-snapshot.test.js +81 -0
  155. package/dist/src/roblox-mcp/studio-mcp-snapshot.test.js.map +1 -0
  156. package/dist/src/roblox-mcp/test/fake-mcp-server.d.ts +27 -0
  157. package/dist/src/roblox-mcp/test/fake-mcp-server.d.ts.map +1 -0
  158. package/dist/src/roblox-mcp/test/fake-mcp-server.js +55 -0
  159. package/dist/src/roblox-mcp/test/fake-mcp-server.js.map +1 -0
  160. package/dist/src/server/web-socket-protocol.d.ts +50 -15
  161. package/dist/src/server/web-socket-protocol.d.ts.map +1 -1
  162. package/dist/src/server/web-socket-protocol.js +63 -13
  163. package/dist/src/server/web-socket-protocol.js.map +1 -1
  164. package/dist/tsconfig.tsbuildinfo +1 -1
  165. package/docs/playtest-bridge.md +21 -0
  166. package/package.json +5 -5
  167. package/src/bridge/bridge-connection.ts +1 -0
  168. package/src/bridge/bridge-session.test.ts +51 -0
  169. package/src/bridge/bridge-session.ts +66 -47
  170. package/src/bridge/internal/bridge-host.ts +3 -0
  171. package/src/bridge/internal/host-protocol.ts +22 -9
  172. package/src/bridge/types.ts +5 -0
  173. package/src/commands/console/exec/exec.test.ts +94 -0
  174. package/src/commands/console/exec/exec.ts +130 -16
  175. package/src/commands/console/exec/execute.lua +147 -5
  176. package/src/commands/console/exec/execute.spec.lua +22 -2
  177. package/src/commands/framework/action-loader.test.ts +1 -1
  178. package/src/commands/playtest/player/playtest-players.lua +127 -0
  179. package/src/commands/playtest/player/playtest-players.spec.lua +48 -0
  180. package/src/commands/playtest/player/playtest-players.test.ts +40 -21
  181. package/src/commands/playtest/player/playtest-players.ts +30 -110
  182. package/src/commands/playtest/playtest-sessions.test.ts +116 -14
  183. package/src/commands/playtest/playtest-sessions.ts +77 -88
  184. package/src/commands/playtest/run/run.ts +44 -58
  185. package/src/commands/playtest/start/start-playtest.lua +105 -6
  186. package/src/commands/process/close/close.test.ts +52 -3
  187. package/src/commands/process/close/close.ts +78 -4
  188. package/src/commands/process/info/info.test.ts +76 -0
  189. package/src/commands/process/info/info.ts +74 -6
  190. package/src/commands/process/launch/launch.test.ts +33 -5
  191. package/src/commands/process/launch/launch.ts +41 -3
  192. package/src/commands/process/list/list.test.ts +130 -1
  193. package/src/commands/process/list/list.ts +290 -22
  194. package/src/commands/process/run/run.ts +4 -4
  195. package/src/docker/docker-delegator.test.ts +1 -1
  196. package/src/docker/docker-delegator.ts +1 -1
  197. package/src/plugin/playtest-bridge.test.ts +53 -0
  198. package/src/plugin/playtest-bridge.ts +98 -0
  199. package/src/process/studio-launch-registry.test.ts +56 -0
  200. package/src/process/studio-launch-registry.ts +63 -0
  201. package/src/process/studio-process-closer.ts +36 -11
  202. package/src/process/studio-process-identity.test.ts +45 -0
  203. package/src/process/studio-process-identity.ts +90 -0
  204. package/src/roblox-mcp/index.ts +17 -0
  205. package/src/roblox-mcp/mcp/mcp-stdio-client.test.ts +148 -0
  206. package/src/roblox-mcp/mcp/mcp-stdio-client.ts +270 -0
  207. package/src/roblox-mcp/mcp/repair-list-result.test.ts +52 -0
  208. package/src/roblox-mcp/mcp/repair-list-result.ts +23 -0
  209. package/src/roblox-mcp/roblox-studio-mcp.test.ts +168 -0
  210. package/src/roblox-mcp/roblox-studio-mcp.ts +330 -0
  211. package/src/roblox-mcp/studio/studio-session.test.ts +284 -0
  212. package/src/roblox-mcp/studio/studio-session.ts +279 -0
  213. package/src/roblox-mcp/studio-mcp-locator.test.ts +186 -0
  214. package/src/roblox-mcp/studio-mcp-locator.ts +180 -0
  215. package/src/roblox-mcp/studio-mcp-snapshot.test.ts +113 -0
  216. package/src/roblox-mcp/studio-mcp-snapshot.ts +104 -0
  217. package/src/roblox-mcp/test/fake-mcp-server.ts +74 -0
  218. package/src/server/web-socket-protocol.ts +119 -29
  219. package/templates/studio-bridge-plugin/playtest/StudioBridgePlaytest.client.lua +32 -0
  220. package/templates/studio-bridge-plugin/playtest/StudioBridgePlaytest.server.lua +40 -0
  221. package/templates/studio-bridge-plugin/src/Shared/ActionRouter.lua +25 -3
  222. package/templates/studio-bridge-plugin/src/Shared/PrecompiledSources.lua +47 -0
  223. package/templates/studio-bridge-plugin/src/Shared/PrecompiledSources.spec.lua +57 -0
  224. package/templates/studio-bridge-plugin/src/Shared/StudioBridgeClient.lua +357 -0
  225. package/templates/studio-bridge-plugin/src/Shared/StudioBridgeSessionUtils.lua +29 -3
  226. package/templates/studio-bridge-plugin/src/Shared/StudioBridgeSessionUtils.spec.lua +35 -2
  227. package/templates/studio-bridge-plugin/src/StudioBridgePlugin.server.lua +16 -292
  228. package/src/commands/playtest/run/playtest-runner.luau +0 -264
  229. package/src/commands/playtest/run/playtest-runner.spec.lua +0 -71
  230. package/src/commands/playtest/run/run-playtest-script.lua +0 -139
  231. package/src/commands/playtest/run/run-playtest-script.spec.lua +0 -43
package/CHANGELOG.md CHANGED
@@ -3,6 +3,31 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.24.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/studio-bridge@0.23.0...@quenty/studio-bridge@0.24.0) (2026-11-06)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **studio-bridge:** drop the MCP Assistant's internal frames from execute_luau errors ([25a16ae](https://github.com/Quenty/NevermoreEngine/commit/25a16ae99d040df00f58d9e526dba0c7491ce0f4))
11
+ - **studio-bridge:** rename the script timeout to --script-timeout ([b501b00](https://github.com/Quenty/NevermoreEngine/commit/b501b00be6e6f0eada100a2f8032c283049e0db7))
12
+ - **studio-bridge:** review fixes for Studio identity, MCP and fork workflows ([e8a55a5](https://github.com/Quenty/NevermoreEngine/commit/e8a55a55526e1fc322807ad572bf7a6469a59124))
13
+
14
+ ### Features
15
+
16
+ - **studio-bridge:** close Studio without a save prompt, and close --all ([40c05d1](https://github.com/Quenty/NevermoreEngine/commit/40c05d1a4a5863021235641a5cc4bbdd3ff0d97b))
17
+ - **studio-bridge:** open a new Baseplate when process launch has no place ([bc843b5](https://github.com/Quenty/NevermoreEngine/commit/bc843b5f99c925fc9246e62cd2cfff8a69ccd84e))
18
+ - **studio-bridge:** plant a client bridge so play mode works with user plugins off ([39c7e2a](https://github.com/Quenty/NevermoreEngine/commit/39c7e2ac480204fd2e925f74801bec11d0dd6cc3))
19
+ - **studio-bridge:** plant the bridge client in playtests so they connect with user plugins off ([056d643](https://github.com/Quenty/NevermoreEngine/commit/056d643e5699fb7c7783b74e7485f5466f588be6))
20
+ - **studio-bridge:** reach Studio through its bundled MCP server ([3edf2f8](https://github.com/Quenty/NevermoreEngine/commit/3edf2f84b8b80f6aedc286628e691c924efe3e1e))
21
+ - **studio-bridge:** say where exec runs code with --run-as plugin|game|mcp ([edba8ce](https://github.com/Quenty/NevermoreEngine/commit/edba8ced827b7930c2315dbd7c7821716a45c1cc))
22
+ - **studio-bridge:** send files to a script with console exec --input ([63f5e8d](https://github.com/Quenty/NevermoreEngine/commit/63f5e8d78a771d90d370b60ab8e9d33395dc2d9c))
23
+ - **studio-bridge:** send files to playtest run with --input ([400638c](https://github.com/Quenty/NevermoreEngine/commit/400638c38d20fe4bcb5da85ee250675505bb375b))
24
+ - **studio-bridge:** show Studio's MCP view in process list and info ([a268aa0](https://github.com/Quenty/NevermoreEngine/commit/a268aa08a0e84727116fa751156c7a94ee5183b4))
25
+ - **studio-bridge:** tell Studios apart by uptime in process list and close ([2034e61](https://github.com/Quenty/NevermoreEngine/commit/2034e6105014f29deda561940ecd1f8b4b87435d))
26
+
27
+ # [0.23.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/studio-bridge@0.22.1...@quenty/studio-bridge@0.23.0) (2026-11-03)
28
+
29
+ **Note:** Version bump only for package @quenty/studio-bridge
30
+
6
31
  ## [0.22.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/studio-bridge@0.22.0...@quenty/studio-bridge@0.22.1) (2026-11-02)
7
32
 
8
33
  **Note:** Version bump only for package @quenty/studio-bridge
package/README.md CHANGED
@@ -80,6 +80,7 @@ studio-bridge console exec 'print(workspace:GetChildren())'
80
80
  studio-bridge console exec --file test.lua
81
81
  studio-bridge console exec 'return game.PlaceId' --format json
82
82
  studio-bridge console exec -f spawn-npc.lua -- Goblin 3
83
+ studio-bridge console exec -f load-map.lua --input europe-15m.json.zst -- europe
83
84
  ```
84
85
 
85
86
  | Option | Alias | Description |
@@ -87,11 +88,22 @@ studio-bridge console exec -f spawn-npc.lua -- Goblin 3
87
88
  | `--file` | `-f` | Path to a Luau script file |
88
89
  | `--target` | `-t` | Target session ID |
89
90
  | `--context` | — | Target context (`edit`, `client`, `server`) |
90
- | `--timeout` | — | Cancel the script after this many milliseconds (default: 120000) |
91
+ | `--script-timeout` | — | Cancel the script after this many milliseconds (default: 120000) |
91
92
  | `--allow-edit` | — | Change Edit even while a playtest of it runs |
93
+ | `--input <file>` | — | Send a file with the script, which receives it as a `buffer` in `...` before any args (`local data, region = ...`). Repeat for more files, up to 192 MiB in all |
92
94
  | `-- <args..>` | — | Passed to the script as `...`, as strings (`local name, count = ...`) |
93
95
 
94
- Output includes everything logged while the script runs, including prints from modules it requires and from threads it starts. A runtime error comes with a traceback. A script that runs past `--timeout` is cancelled, so the scripts queued behind it still run. While a playtest is running, `exec` on Edit is refused, since the playtest runs a copy and would not see the change; target the playtest with `--context server` or `--context client` instead.
96
+ Output includes everything logged while the script runs, including prints from modules it requires and from threads it starts. A runtime error comes with a traceback. A script that runs past `--script-timeout` is cancelled, so the scripts queued behind it still run. While a playtest is running, `exec` on Edit is refused, since the playtest runs a copy and would not see the change; target the playtest with `--context server` or `--context client` instead.
97
+
98
+ `--run-as` says where the code runs, and the result says where it ran (`ranAs`, and a `(ran as …)` line when it was not the plugin). Asking for one that is not available fails with the reason:
99
+
100
+ | `--run-as` | Runs as | `require(game.SomeModule)` | Available |
101
+ |---|---|---|---|
102
+ | `plugin` | the studio-bridge plugin | a separate copy from the running game's | wherever the plugin is connected |
103
+ | `game` | an ordinary `Script` (server) or `LocalScript` (client) the plugin plants for the run | the instance the running game uses | a running playtest's server or client |
104
+ | `mcp` | Studio's MCP Assistant sandbox | refused for the game's own modules | wherever Studio's MCP server reaches that Studio; takes no args or `--input` |
105
+
106
+ Without `--run-as` the code runs in the plugin, or, in a playtest Studio loads no plugins into, as game code in the bridge planted there, which only runs code compiled when the playtest started. A plugin that does load into the playtest replaces that bridge.
95
107
 
96
108
  ### `console logs`
97
109
 
@@ -169,6 +181,10 @@ studio-bridge process list
169
181
 
170
182
  Lists the connected sessions with their ID, context, place, and state. `--target` and `--context` narrow the list. While a playtest studio-bridge started is running, every session of that Studio shows `Play` (or `Run` without a client).
171
183
 
184
+ Below the sessions, a table lists every running Studio process, whether or not its plugin is connected: its pid, how long it has run, its window, the plugin session in it, its id in [Studio's MCP server](#studios-mcp-server), and the folder and place `process launch` opened it with. Studios showing the same place, such as two unsaved `Place1` windows, are told apart by how long each has run: `os.clock()` in Studio is the process's uptime, read through the plugin and through MCP and matched against the start time of each process. `process close` uses the same match when several windows show the session's place. With no session, the summary says whether no Studio is open at all or Studios are open without the plugin, and how long it waited.
185
+
186
+ The last line reports the MCP server's health. MCP never holds the list up: it waits at most 3 seconds, and under `--watch` each frame shows the latest check while the next one runs, so a stalled server shows up as a stale check rather than a frozen screen. `--no-mcp` skips it.
187
+
172
188
  ### `process info`
173
189
 
174
190
  ```bash
@@ -184,9 +200,10 @@ Viewport: 849x1003
184
200
  Window: pid 31876, open, not focused
185
201
  Studio: 0.744.0.7441077
186
202
  Plugin: 6c751ae59131 (up to date)
203
+ MCP: reachable (studio_id 1268b6c6-47aa-4df9-8f3a-0a9ddb0c5f42)
187
204
  ```
188
205
 
189
- Reports on one session: its ID, context and origin; the run mode of its own DataModel; the playtest running in its Studio (mode, player count, and the playtest's sessions, when they are connected); the place; the viewport size; the Studio window, when exactly one window shows it; the Studio version; and whether its plugin matches the one this CLI installs. The two clients of a multiplayer test share a window title, so they report no window.
206
+ Reports on one session: its ID, context and origin; the run mode of its own DataModel; the playtest running in its Studio (mode, player count, and the playtest's sessions, when they are connected); the place; the viewport size; the Studio window, when exactly one window shows it; the Studio version; whether its plugin matches the one this CLI installs; and whether Studio's MCP server can reach it (`--no-mcp` to skip). The two clients of a multiplayer test share a window title, so they report no window.
190
207
 
191
208
  ### `process launch`
192
209
 
@@ -197,7 +214,7 @@ studio-bridge process launch --place ./build/test.rbxl
197
214
  studio-bridge process launch --place-id 123 --universe-id 456
198
215
  ```
199
216
 
200
- Without `--place` or `--place-id`, opens the cloud place of a target from the nearest `deploy.nevermore.json` (in the current directory or a parent), so running it in a package or game folder opens that project's place. With no target it uses the config's default (`integration`, then `test`). Outside any `deploy.nevermore.json` it opens Studio with no place.
217
+ Without `--place` or `--place-id`, opens the cloud place of a target from the nearest `deploy.nevermore.json` (in the current directory or a parent), so running it in a package or game folder opens that project's place. With no target it uses the config's default (`integration`, then `test`). Outside any `deploy.nevermore.json`, or in one without targets like the repo root's, it opens a new Baseplate from Roblox's template, the same unsaved place the start page's Baseplate gives.
201
218
 
202
219
  ### `process run`
203
220
 
@@ -212,11 +229,11 @@ Launches Studio on a copy of the place, runs the script there and nowhere else,
212
229
 
213
230
  ```bash
214
231
  studio-bridge process close --target test-place
215
- studio-bridge process close --target test-place --force
216
232
  studio-bridge process close integration.places.hub # the Studio showing a deploy.nevermore.json target
233
+ studio-bridge process close --all # every running Studio, connected or not
217
234
  ```
218
235
 
219
- Closes the Studio process showing the session's place, found by its window title, or for a cloud place by the place id Studio was launched with. Given a `deploy.nevermore.json` target instead, closes the Studio showing that target's place, whether or not its plugin is connected. Studio usually asks to save a local place first, so without `--force` the command reports that Studio is still open; `--force` kills it without saving. When several windows show the same place, pick one with `--pid`.
236
+ Closes the Studio process showing the session's place, found by its window title, or for a cloud place by the place id Studio was launched with. Given a `deploy.nevermore.json` target instead, closes the Studio showing that target's place, whether or not its plugin is connected. Studio is closed without saving, so no dialog waits on someone to click it. Pass `--ask-to-save` to let Studio prompt instead; if it is still open after that, the command says so. When several windows show the same place, pick one with `--pid`.
220
237
 
221
238
  ### `playtest run` / `playtest start` / `playtest restart` / `playtest stop`
222
239
 
@@ -224,6 +241,7 @@ Closes the Studio process showing the session's place, found by its window title
224
241
  studio-bridge playtest run 'return #game:GetService("Players"):GetPlayers()'
225
242
  studio-bridge playtest run --context client 'return game:GetService("Players").LocalPlayer.Name'
226
243
  studio-bridge playtest run --file spawn-test.lua -- Goblin 3
244
+ studio-bridge playtest run --file load-map.lua --input europe-15m.json.zst -- europe
227
245
  studio-bridge playtest start --mode run
228
246
  studio-bridge console exec --context server 'print("in the playtest")'
229
247
  studio-bridge playtest restart
@@ -232,11 +250,13 @@ studio-bridge playtest stop
232
250
 
233
251
  Starts a playtest through `StudioTestService` in the open Studio. `--mode play` (the default) runs a server and a client with a player; `--mode run` runs only the server.
234
252
 
235
- `playtest run` executes the code in a fresh playtest's server, returns its output and values like `console exec`, then stops the playtest. It plants a temporary runner script in the playtest to do so, so it works whatever Studio's **Load user plugins on playtest** setting says. `--context client` runs the code in the playtest's client instead, which needs that setting on.
253
+ `playtest run` executes the code in a fresh playtest's server, returns its output and values like `console exec`, then stops the playtest. It takes `--input` like `console exec`. In play mode it waits for the player to join first. It works whatever Studio's **Load user plugins on playtest** setting says (see below). `--context client` runs the code in the playtest's client instead.
236
254
 
237
255
  `playtest start` leaves the playtest running, so other commands can target it with `--context server` or `--context client`. `playtest restart` stops it and starts a new one in the same mode, picking up code changed since it started; with none running, it starts one. `playtest stop` ends it.
238
256
 
239
- `start`, `restart`, and `stop` talk to the playtest's own server and client, which only connect when **Load user plugins on playtest** is on. With it off, `playtest start` still starts the playtest but reports that its sessions never connected, and the playtest has to be stopped in Studio.
257
+ A playtest's sessions are the studio-bridge plugin, which Studio only loads into a playtest with **Load user plugins on playtest** on. With it off, the edit session plants the same client into the playtest as ordinary scripts: a Script for the server and, in play mode, a LocalScript that every player's client runs, so the server and client sessions still connect and `start`, `restart`, `stop`, `playtest player`, `console logs` and the other actions all work. Without plugin permissions those sessions can't compile code, so they only run the code `playtest run` gave them when the playtest started, and `console exec` with new code asks for the setting. With the setting on, nothing is planted, and the plugin is the playtest's sessions.
258
+
259
+ Playtests whose sessions are the plugin need the current plugin (`studio-bridge plugin install`), since those sessions register with the playtest's id.
240
260
 
241
261
  ### Multiplayer tests: `playtest start --players` / `playtest player`
242
262
 
@@ -299,6 +319,10 @@ Session IDs are the place name plus a short suffix and the context, like `test-p
299
319
 
300
320
  When Studio is in Play mode, a single instance has multiple contexts (Edit + Client + Server). The default is `edit`.
301
321
 
322
+ ## Studio's MCP server
323
+
324
+ `src/roblox-mcp/` reaches Studio through `StudioMCP.exe`, the MCP server Roblox ships with Studio, for things the plugin can't do or when it isn't running. All MCP knowledge stays in that folder; commands call `tryExecuteLuauAsync`, `tryCallStudioToolAsync` or `tryListStudiosAsync` with the bridge's usual `--target` and context. They never throw, run under a strict deadline, and return a `reason` when MCP is unavailable, finds no Studio, fails or times out. Windows only.
325
+
302
326
  ## Testing
303
327
 
304
328
  ```bash
@@ -314,6 +338,10 @@ pnpm test:integration # End-to-end smoke test (requires Studio)
314
338
  | Plugin (`nevermore test --cloud`) | Plugin modules and action scripts, via the `*.spec.lua` beside them in `templates/studio-bridge-plugin/src/Shared` and `src/commands`, in a real engine built from `test/default.project.json` | No |
315
339
  | Integration (`pnpm test:integration`) | Full pipeline: rojo build, plugin injection, Studio launch, output capture | Yes |
316
340
 
341
+ ## Working on this package
342
+
343
+ - [docs/playtest-bridge.md](docs/playtest-bridge.md): how a playtest gets a server session without Studio loading plugins into it, and what an ordinary playtest Script can and can't do.
344
+
317
345
  ## Platform Support
318
346
 
319
347
  | Platform | Studio Location | Plugins Folder |
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-connection.d.ts","sourceRoot":"","sources":["../../../src/bridge/bridge-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-connection.d.ts","sourceRoot":"","sources":["../../../src/bridge/bridge-connection.ts"],"names":[],"mappings":"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"}
@@ -492,6 +492,7 @@ export class BridgeConnection extends EventEmitter {
492
492
  origin: info.launchId ? 'managed' : 'user',
493
493
  launchId: info.launchId,
494
494
  playerName: info.playerName,
495
+ playtestId: info.playtestId,
495
496
  context,
496
497
  instanceId: info.instanceId ?? info.sessionId,
497
498
  placeId: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-connection.js","sourceRoot":"","sources":["../../../src/bridge/bridge-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-connection.js","sourceRoot":"","sources":["../../../src/bridge/bridge-connection.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,10 @@ import { EventEmitter } from 'events';
11
11
  import type { TransportHandle } from './internal/session-tracker.js';
12
12
  import type { SessionInfo, SessionContext, ExecResult, StateResult, ScreenshotResult, LogsResult, DataModelResult, ExportInstancesResult, ImportInstancesResult, LogOptions, QueryDataModelOptions, PlaytestMode, PlaytestEndResult, EndPlaytestResult } from './types.js';
13
13
  import type { FindInstancesMessage, FindInstancesResultMessage, GrepScriptsMessage, GrepScriptsResultMessage } from '../server/web-socket-protocol.js';
14
- export interface RunPlaytestScriptOptions {
15
- mode: PlaytestMode;
16
- script: string;
17
- runnerSource: string;
18
- timeoutSec: number;
19
- /** Passed to the script as `...`. */
20
- args?: string[];
14
+ import { type PlaytestBridgePayload, type PlaytestPlayerPayload, type PlaytestPlayersRequest } from '../server/web-socket-protocol.js';
15
+ export interface PlaytestPlayersResult {
16
+ players: PlaytestPlayerPayload[];
17
+ remaining: string[];
21
18
  }
22
19
  export declare class BridgeSession extends EventEmitter {
23
20
  private _info;
@@ -31,14 +28,7 @@ export declare class BridgeSession extends EventEmitter {
31
28
  get context(): SessionContext;
32
29
  /** Whether the session's plugin is still connected. */
33
30
  get isConnected(): boolean;
34
- execAsync(code: string, timeout?: number, args?: string[]): Promise<ExecResult>;
35
- /**
36
- * Run a script in a fresh playtest's server, started from this edit
37
- * session, and resolve with its result once the playtest has ended. Works
38
- * without the playtest's own sessions connecting: the plugin plants
39
- * `runnerSource` in the playtest to run the script and end the playtest.
40
- */
41
- runPlaytestScriptAsync(options: RunPlaytestScriptOptions): Promise<ExecResult>;
31
+ execAsync(code: string, timeout?: number, args?: string[], inputs?: Buffer[], runAs?: 'plugin' | 'game'): Promise<ExecResult>;
42
32
  queryStateAsync(): Promise<StateResult>;
43
33
  captureScreenshotAsync(): Promise<ScreenshotResult>;
44
34
  queryLogsAsync(options?: LogOptions): Promise<LogsResult>;
@@ -57,9 +47,14 @@ export declare class BridgeSession extends EventEmitter {
57
47
  * start (a playtest already running) by failing the call that would have
58
48
  * waited for the end.
59
49
  */
60
- runPlaytestAsync(mode: PlaytestMode, playtestId: string, bridgePort: number, timeoutMs: number, players?: number): Promise<PlaytestEndResult>;
50
+ runPlaytestAsync(mode: PlaytestMode, playtestId: string, bridgePort: number, timeoutMs: number, players?: number, bridge?: PlaytestBridgePayload): Promise<PlaytestEndResult>;
61
51
  /** End the playtest this server session belongs to. */
62
52
  endPlaytestAsync(): Promise<EndPlaytestResult>;
53
+ /**
54
+ * Read or change the players of the playtest this session belongs to.
55
+ * `timeoutMs` bounds the whole request, including any wait in the plugin.
56
+ */
57
+ playtestPlayersAsync(request: PlaytestPlayersRequest, timeoutMs: number): Promise<PlaytestPlayersResult>;
63
58
  private _assertConnected;
64
59
  /**
65
60
  * Ensure action modules are synced to the plugin before first use.
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-session.d.ts","sourceRoot":"","sources":["../../../src/bridge/bridge-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAGV,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAyB1C,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAgDD,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAA6B;gBAEvC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;IAiBtD,6CAA6C;IAC7C,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED,yEAAyE;IACzE,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,uDAAuD;IACvD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,UAAU,CAAC;IAwBtB;;;;;OAKG;IACG,sBAAsB,CAC1B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,UAAU,CAAC;IAyBhB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;IA6BvC,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA2BnD,cAAc,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAiCzD,mBAAmB,CACvB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC;IA+B3B,iEAAiE;IAC3D,kBAAkB,CACtB,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,GACvC,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAqBjD,uDAAuD;IACjD,gBAAgB,CACpB,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,GACrC,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAqB/C,wEAAwE;IAClE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqB3E,yEAAyE;IACnE,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAqBjC;;;;;OAKG;IACG,gBAAgB,CACpB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC;IA+B7B,uDAAuD;IACjD,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAyBpD,OAAO,CAAC,gBAAgB;IAMxB;;;;OAIG;YACW,mBAAmB;CAiGlC"}
1
+ {"version":3,"file":"bridge-session.d.ts","sourceRoot":"","sources":["../../../src/bridge/bridge-session.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { EventEmitter } from 'events';
12
12
  import { SessionDisconnectedError } from './types.js';
13
13
  import { loadActionSourcesAsync, } from '../commands/framework/action-loader.js';
14
14
  import { OutputHelper } from '@quenty/cli-output-helpers';
15
+ import { MAX_EXECUTE_INPUT_BYTES, } from '../server/web-socket-protocol.js';
15
16
  const EXECUTE_REPLY_GRACE_MS = 5_000;
16
17
  const DEFAULT_TIMEOUTS = {
17
18
  execute: 120_000,
@@ -25,8 +26,6 @@ const DEFAULT_TIMEOUTS = {
25
26
  queryLogs: 10_000,
26
27
  endPlaytest: 5_000,
27
28
  };
28
- /** Time a playtest gets to start and stop on top of its script's own timeout. */
29
- const PLAYTEST_STARTUP_ALLOWANCE_MS = 60_000;
30
29
  /** Map an `execute`-style reply onto an ExecResult. */
31
30
  function toExecResult(result) {
32
31
  if (result.type === 'scriptComplete') {
@@ -40,6 +39,7 @@ function toExecResult(result) {
40
39
  error: result.payload.error,
41
40
  traceback: result.payload.traceback,
42
41
  returnValues: result.payload.returnValues,
42
+ ...(result.payload.ranAs ? { ranAs: result.payload.ranAs } : {}),
43
43
  };
44
44
  }
45
45
  if (result.type === 'error') {
@@ -98,7 +98,11 @@ export class BridgeSession extends EventEmitter {
98
98
  get isConnected() {
99
99
  return this._handle.isConnected;
100
100
  }
101
- async execAsync(code, timeout, args) {
101
+ async execAsync(code, timeout, args, inputs, runAs) {
102
+ const inputBytes = (inputs ?? []).reduce((sum, b) => sum + b.length, 0);
103
+ if (inputBytes > MAX_EXECUTE_INPUT_BYTES) {
104
+ throw new Error(`The inputs are ${_formatMiB(inputBytes)}, over the ${_formatMiB(MAX_EXECUTE_INPUT_BYTES)} that can be sent to Studio with a script`);
105
+ }
102
106
  this._assertConnected();
103
107
  await this._ensureActionsAsync();
104
108
  // The plugin cancels the script at the timeout and replies, so wait a
@@ -112,33 +116,12 @@ export class BridgeSession extends EventEmitter {
112
116
  script: code,
113
117
  timeoutMs,
114
118
  ...(args && args.length > 0 ? { args } : {}),
115
- },
116
- }, timeoutMs + EXECUTE_REPLY_GRACE_MS);
117
- return toExecResult(result);
118
- }
119
- /**
120
- * Run a script in a fresh playtest's server, started from this edit
121
- * session, and resolve with its result once the playtest has ended. Works
122
- * without the playtest's own sessions connecting: the plugin plants
123
- * `runnerSource` in the playtest to run the script and end the playtest.
124
- */
125
- async runPlaytestScriptAsync(options) {
126
- this._assertConnected();
127
- await this._ensureActionsAsync();
128
- const result = await this._handle.sendActionAsync({
129
- type: 'runPlaytestScript',
130
- sessionId: this._info.sessionId,
131
- requestId: randomUUID(),
132
- payload: {
133
- mode: options.mode,
134
- script: options.script,
135
- runnerSource: options.runnerSource,
136
- timeoutSec: options.timeoutSec,
137
- ...(options.args && options.args.length > 0
138
- ? { args: options.args }
119
+ ...(inputs && inputs.length > 0
120
+ ? { inputs: inputs.map((input) => input.toString('base64')) }
139
121
  : {}),
122
+ ...(runAs ? { runAs } : {}),
140
123
  },
141
- }, options.timeoutSec * 1000 + PLAYTEST_STARTUP_ALLOWANCE_MS);
124
+ }, timeoutMs + EXECUTE_REPLY_GRACE_MS);
142
125
  return toExecResult(result);
143
126
  }
144
127
  async queryStateAsync() {
@@ -299,7 +282,7 @@ export class BridgeSession extends EventEmitter {
299
282
  * start (a playtest already running) by failing the call that would have
300
283
  * waited for the end.
301
284
  */
302
- async runPlaytestAsync(mode, playtestId, bridgePort, timeoutMs, players) {
285
+ async runPlaytestAsync(mode, playtestId, bridgePort, timeoutMs, players, bridge) {
303
286
  this._assertConnected();
304
287
  await this._ensureActionsAsync();
305
288
  const result = await this._handle.sendActionAsync({
@@ -312,6 +295,7 @@ export class BridgeSession extends EventEmitter {
312
295
  bridgePort,
313
296
  instanceId: this._info.instanceId,
314
297
  ...(players !== undefined ? { players } : {}),
298
+ ...(bridge ? { bridge } : {}),
315
299
  },
316
300
  }, timeoutMs);
317
301
  if (result.type === 'playtestEnded') {
@@ -342,6 +326,27 @@ export class BridgeSession extends EventEmitter {
342
326
  }
343
327
  throw pluginError('endPlaytestResult', result);
344
328
  }
329
+ /**
330
+ * Read or change the players of the playtest this session belongs to.
331
+ * `timeoutMs` bounds the whole request, including any wait in the plugin.
332
+ */
333
+ async playtestPlayersAsync(request, timeoutMs) {
334
+ this._assertConnected();
335
+ await this._ensureActionsAsync();
336
+ const result = await this._handle.sendActionAsync({
337
+ type: 'playtestPlayers',
338
+ sessionId: this._info.sessionId,
339
+ requestId: randomUUID(),
340
+ payload: request,
341
+ }, timeoutMs);
342
+ if (result.type === 'playtestPlayersResult') {
343
+ return {
344
+ players: result.payload.players ?? [],
345
+ remaining: result.payload.remaining ?? [],
346
+ };
347
+ }
348
+ throw pluginError('playtestPlayersResult', result);
349
+ }
345
350
  _assertConnected() {
346
351
  if (!this._handle.isConnected) {
347
352
  throw new SessionDisconnectedError(this._info.sessionId);
@@ -414,4 +419,7 @@ export class BridgeSession extends EventEmitter {
414
419
  OutputHelper.verbose('[actions] Action sync complete');
415
420
  }
416
421
  }
422
+ function _formatMiB(bytes) {
423
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MiB`;
424
+ }
417
425
  //# sourceMappingURL=bridge-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-session.js","sourceRoot":"","sources":["../../../src/bridge/bridge-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-session.js","sourceRoot":"","sources":["../../../src/bridge/bridge-session.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,41 @@ describe('BridgeSession', () => {
116
116
  expect(msg.payload.timeoutMs).toBe(5_000);
117
117
  expect(timeout).toBe(10_000);
118
118
  });
119
+ it('sends inputs base64-encoded', async () => {
120
+ const handle = new MockTransportHandle();
121
+ handle.sendActionAsync.mockResolvedValueOnce({
122
+ type: 'scriptComplete',
123
+ sessionId: 'session-1',
124
+ payload: { success: true },
125
+ });
126
+ const session = new BridgeSession(createSessionInfo(), handle);
127
+ await session.execAsync('return ...', undefined, undefined, [
128
+ Buffer.from('hello'),
129
+ ]);
130
+ const [msg] = handle.sendActionAsync.mock.calls[0];
131
+ expect(msg.payload.inputs).toEqual(['aGVsbG8=']);
132
+ });
133
+ it('sends --run-as and carries back where the code ran', async () => {
134
+ const handle = new MockTransportHandle();
135
+ handle.sendActionAsync.mockResolvedValueOnce({
136
+ type: 'scriptComplete',
137
+ sessionId: 'session-1',
138
+ payload: { success: true, ranAs: 'game' },
139
+ });
140
+ const session = new BridgeSession(createSessionInfo(), handle);
141
+ const result = await session.execAsync('return 1', undefined, undefined, undefined, 'game');
142
+ const [msg] = handle.sendActionAsync.mock.calls[0];
143
+ expect(msg.payload.runAs).toBe('game');
144
+ expect(result.ranAs).toBe('game');
145
+ });
146
+ it('refuses inputs over the size limit without sending them', async () => {
147
+ const handle = new MockTransportHandle();
148
+ const session = new BridgeSession(createSessionInfo(), handle);
149
+ await expect(session.execAsync('return ...', undefined, undefined, [
150
+ Buffer.alloc(192 * 1024 * 1024 + 1),
151
+ ])).rejects.toThrow('that can be sent to Studio with a script');
152
+ expect(handle.sendActionAsync).not.toHaveBeenCalled();
153
+ });
119
154
  it('returns error info from error response', async () => {
120
155
  const handle = new MockTransportHandle();
121
156
  handle.sendActionAsync.mockResolvedValueOnce({