@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
@@ -12,8 +12,12 @@ vi.mock('../../../process/studio-process-manager.js', () => ({
12
12
  killAsync: vi.fn(),
13
13
  }),
14
14
  }));
15
+ vi.mock('../../../process/studio-launch-registry.js', () => ({
16
+ recordStudioLaunchAsync: vi.fn().mockResolvedValue(undefined),
17
+ }));
15
18
  import { launchHandlerAsync } from './launch.js';
16
19
  import { launchStudioAsync } from '../../../process/studio-process-manager.js';
20
+ import { recordStudioLaunchAsync } from '../../../process/studio-launch-registry.js';
17
21
  let tempDir;
18
22
  beforeEach(async () => {
19
23
  tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'launch-test-'));
@@ -32,11 +36,26 @@ const place = (placeId, name) => ({
32
36
  project: 'default.project.json',
33
37
  });
34
38
  describe('launchHandlerAsync', () => {
35
- it('launches a bare Studio outside any deploy.nevermore.json', async () => {
39
+ it('opens a new Baseplate outside any deploy.nevermore.json', async () => {
36
40
  const result = await launchHandlerAsync({ cwd: tempDir });
37
- expect(launchStudioAsync).toHaveBeenCalledWith({});
41
+ expect(launchStudioAsync).toHaveBeenCalledWith({
42
+ placeId: 95206881,
43
+ universeId: 28220420,
44
+ });
38
45
  expect(result.launched).toBe(true);
39
- expect(result.summary).toBe('Studio launched');
46
+ expect(result.summary).toBe('Studio launched with a new Baseplate');
47
+ });
48
+ it('records where a Baseplate was launched from', async () => {
49
+ vi.mocked(launchStudioAsync).mockResolvedValueOnce({
50
+ process: { pid: 4242 },
51
+ killAsync: vi.fn(),
52
+ });
53
+ await launchHandlerAsync({ cwd: tempDir });
54
+ expect(recordStudioLaunchAsync).toHaveBeenCalledWith(expect.objectContaining({
55
+ pid: 4242,
56
+ cwd: tempDir,
57
+ opened: 'a new Baseplate',
58
+ }));
40
59
  });
41
60
  it('passes place path to launchStudioAsync', async () => {
42
61
  const result = await launchHandlerAsync({
@@ -115,8 +134,11 @@ describe('launchHandlerAsync with deploy.nevermore.json', () => {
115
134
  it('skips a config without targets, like a repo root universe id', async () => {
116
135
  await writeDeployConfigAsync(tempDir, { universeId: 900 });
117
136
  const result = await launchHandlerAsync({ cwd: tempDir });
118
- expect(launchStudioAsync).toHaveBeenCalledWith({});
119
- expect(result.summary).toBe('Studio launched');
137
+ expect(launchStudioAsync).toHaveBeenCalledWith({
138
+ placeId: 95206881,
139
+ universeId: 28220420,
140
+ });
141
+ expect(result.summary).toBe('Studio launched with a new Baseplate');
120
142
  });
121
143
  it('asks for a target when the config has no default', async () => {
122
144
  await writeDeployConfigAsync(tempDir, {
@@ -1 +1 @@
1
- {"version":3,"file":"launch.test.js","sourceRoot":"","sources":["../../../../../src/commands/process/launch/launch.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.test.js","sourceRoot":"","sources":["../../../../../src/commands/process/launch/launch.test.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,60 @@
1
1
  /**
2
- * `process list` — list connected Studio sessions.
2
+ * `process list` — list connected Studio sessions and the Studio processes
3
+ * behind them.
3
4
  */
4
5
  import { type SessionTargeting } from '../../framework/define-command.js';
5
6
  import type { BridgeConnection } from '../../../bridge/index.js';
6
7
  import type { SessionInfo } from '../../../bridge/index.js';
8
+ import { type StudioMcpSnapshot } from '../../../roblox-mcp/index.js';
9
+ import { type RunningStudioProcess } from '../../../process/studio-process-closer.js';
10
+ import { type StudioLaunchRecord } from '../../../process/studio-launch-registry.js';
11
+ export interface McpStudioState {
12
+ status: StudioMcpSnapshot['status'];
13
+ message?: string;
14
+ latencyMs: number;
15
+ checkedAt: string;
16
+ lastOkAt?: string;
17
+ settled?: boolean;
18
+ }
19
+ export interface StudioProcessRow {
20
+ pid?: number;
21
+ startedAt?: string;
22
+ windowTitle: string;
23
+ instanceId?: string;
24
+ mcpStudioId?: string;
25
+ launch?: {
26
+ cwd: string;
27
+ opened: string;
28
+ launchedAt: string;
29
+ };
30
+ }
31
+ export interface ListedSession extends SessionInfo {
32
+ pid?: number;
33
+ }
7
34
  export interface SessionsResult {
8
- sessions: SessionInfo[];
35
+ sessions: ListedSession[];
36
+ studios?: StudioProcessRow[];
37
+ mcp?: McpStudioState;
9
38
  summary: string;
10
39
  }
40
+ export interface ListSessionsOptions {
41
+ listProcessesAsync?: () => Promise<RunningStudioProcess[]>;
42
+ resolveSessionPidsAsync?: (processes: RunningStudioProcess[]) => Promise<Map<string, number>>;
43
+ readLaunchesAsync?: () => Promise<StudioLaunchRecord[]>;
44
+ mcpSnapshotAsync?: (sessions: SessionInfo[], sessionPids: Map<string, number>, processes: RunningStudioProcess[] | undefined) => Promise<StudioMcpSnapshot | undefined>;
45
+ elapsedSec?: () => number;
46
+ }
11
47
  /**
12
- * List all connected Studio sessions with a summary message.
48
+ * List the connected Studio sessions, and when the process list is available,
49
+ * every Studio process with its session, MCP id and where it was launched.
13
50
  */
14
- export declare function listSessionsHandlerAsync(connection: BridgeConnection, targeting?: SessionTargeting): Promise<SessionsResult>;
15
- export declare function formatSessionsTable(result: SessionsResult): string;
16
- export declare const listCommand: import("../../framework/define-command.js").CommandDefinition<unknown, SessionsResult>;
51
+ export declare function listSessionsHandlerAsync(connection: BridgeConnection, targeting?: SessionTargeting, options?: ListSessionsOptions): Promise<SessionsResult>;
52
+ export declare function toMcpStudioState(snapshot: StudioMcpSnapshot): McpStudioState;
53
+ export declare function formatMcpLine(mcp: McpStudioState, now?: number): string;
54
+ export declare function formatSessionsTable(result: SessionsResult, now?: number): string;
55
+ interface ListArgs {
56
+ mcp?: boolean;
57
+ }
58
+ export declare const listCommand: import("../../framework/define-command.js").CommandDefinition<ListArgs, SessionsResult>;
59
+ export {};
17
60
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/process/list/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAM3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,gBAAgB,EAC5B,SAAS,GAAE,gBAAqB,GAC/B,OAAO,CAAC,cAAc,CAAC,CAiBzB;AAiBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAGlE;AAED,eAAO,MAAM,WAAW,wFActB,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/process/list/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAQ3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,4CAA4C,CAAC;AAGpD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3D,uBAAuB,CAAC,EAAE,CACxB,SAAS,EAAE,oBAAoB,EAAE,KAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACxD,gBAAgB,CAAC,EAAE,CACjB,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,SAAS,EAAE,oBAAoB,EAAE,GAAG,SAAS,KAC1C,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,gBAAgB,EAC5B,SAAS,GAAE,gBAAqB,EAChC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,cAAc,CAAC,CAkCzB;AA0ED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,cAAc,CAW5E;AAqDD,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,MAAM,CAiB3E;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,GAAG,SAAa,GACf,MAAM,CAmBR;AAMD,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,WAAW,yFAyCtB,CAAC"}
@@ -1,26 +1,115 @@
1
1
  /**
2
- * `process list` — list connected Studio sessions.
2
+ * `process list` — list connected Studio sessions and the Studio processes
3
+ * behind them.
3
4
  */
4
5
  import { defineCommand, } from '../../framework/define-command.js';
6
+ import { arg } from '../../framework/arg-builder.js';
5
7
  import { OutputHelper } from '@quenty/cli-output-helpers';
8
+ import { formatDurationMs } from '@quenty/cli-output-helpers/cli-utils';
6
9
  import { formatTable, } from '@quenty/cli-output-helpers/reporting';
10
+ import { getStudioMcpSnapshotAsync, } from '../../../roblox-mcp/index.js';
11
+ import { listStudioProcessesAsync, } from '../../../process/studio-process-closer.js';
12
+ import { resolveSessionPidsAsync } from '../../../process/studio-process-identity.js';
13
+ import { findStudioLaunch, readStudioLaunchesAsync, } from '../../../process/studio-launch-registry.js';
7
14
  import { colorizeState } from '../format-state.js';
8
15
  /**
9
- * List all connected Studio sessions with a summary message.
16
+ * List the connected Studio sessions, and when the process list is available,
17
+ * every Studio process with its session, MCP id and where it was launched.
10
18
  */
11
- export async function listSessionsHandlerAsync(connection, targeting = {}) {
12
- const sessions = connection.findSessions(targeting.target, targeting.context);
13
- if (sessions.length === 0) {
19
+ export async function listSessionsHandlerAsync(connection, targeting = {}, options = {}) {
20
+ const allSessions = connection.listSessions();
21
+ const processes = await options.listProcessesAsync?.().catch(() => undefined);
22
+ const sessionPids = processes && options.resolveSessionPidsAsync
23
+ ? await options.resolveSessionPidsAsync(processes).catch(() => new Map())
24
+ : new Map();
25
+ const [launches, snapshot] = await Promise.all([
26
+ options.readLaunchesAsync?.().catch(() => []) ?? Promise.resolve([]),
27
+ options.mcpSnapshotAsync?.(allSessions, sessionPids, processes),
28
+ ]);
29
+ const sessions = connection
30
+ .findSessions(targeting.target, targeting.context)
31
+ .map((s) => {
32
+ const pid = sessionPids.get(s.instanceId);
33
+ return pid !== undefined ? { ...s, pid } : s;
34
+ });
35
+ const studios = processes
36
+ ? buildStudioRows(processes, sessionPids, launches, snapshot)
37
+ : undefined;
38
+ const mcp = snapshot ? toMcpStudioState(snapshot) : undefined;
39
+ return {
40
+ sessions,
41
+ ...(studios ? { studios } : {}),
42
+ ...(mcp ? { mcp } : {}),
43
+ summary: describeSummary(sessions.length, allSessions.length, processes, options.elapsedSec?.()),
44
+ };
45
+ }
46
+ function buildStudioRows(processes, sessionPids, launches, snapshot) {
47
+ const instanceByPid = new Map([...sessionPids].map(([id, pid]) => [pid, id]));
48
+ const mcpStudios = snapshot?.status === 'ok' ? snapshot.studios : [];
49
+ const shown = new Set();
50
+ const rows = processes.map((proc) => {
51
+ const instanceId = instanceByPid.get(proc.pid);
52
+ const mcpStudio = mcpStudios.find((s) => s.pid === proc.pid ||
53
+ (instanceId !== undefined && s.instanceId === instanceId));
54
+ if (mcpStudio)
55
+ shown.add(mcpStudio.studioId);
56
+ const launch = findStudioLaunch(launches, proc);
14
57
  return {
15
- sessions: [],
16
- summary: connection.listSessions().length > 0
17
- ? 'No sessions match --target/--context.'
18
- : 'No active sessions. Is Studio running with the studio-bridge plugin?',
58
+ pid: proc.pid,
59
+ ...(proc.startedAt !== undefined
60
+ ? { startedAt: new Date(proc.startedAt).toISOString() }
61
+ : {}),
62
+ windowTitle: proc.windowTitle.replace(/ - Roblox Studio$/, ''),
63
+ ...(instanceId ? { instanceId } : {}),
64
+ ...(mcpStudio ? { mcpStudioId: mcpStudio.studioId } : {}),
65
+ ...(launch
66
+ ? {
67
+ launch: {
68
+ cwd: launch.cwd,
69
+ opened: launch.opened,
70
+ launchedAt: new Date(launch.launchedAt).toISOString(),
71
+ },
72
+ }
73
+ : {}),
19
74
  };
75
+ });
76
+ for (const studio of mcpStudios) {
77
+ if (shown.has(studio.studioId))
78
+ continue;
79
+ rows.push({
80
+ windowTitle: studio.placeName || '(loading)',
81
+ ...(studio.instanceId ? { instanceId: studio.instanceId } : {}),
82
+ mcpStudioId: studio.studioId,
83
+ });
84
+ }
85
+ return rows;
86
+ }
87
+ function describeSummary(matching, connected, processes, elapsedSec) {
88
+ if (matching > 0) {
89
+ return `${matching} session(s) connected.`;
20
90
  }
91
+ if (connected > 0) {
92
+ return 'No sessions match --target/--context.';
93
+ }
94
+ const waited = elapsedSec !== undefined ? ` (${elapsedSec.toFixed(1)}s)` : '';
95
+ if (!processes) {
96
+ return `No active sessions${waited}. Is Studio running with the studio-bridge plugin?`;
97
+ }
98
+ if (processes.length === 0) {
99
+ return `No Roblox Studio processes are open${waited}.`;
100
+ }
101
+ return `${processes.length} Studio process(es) open, but none has the studio-bridge plugin connected${waited}. Run 'studio-bridge plugin install', and check the plugin is enabled in Studio.`;
102
+ }
103
+ export function toMcpStudioState(snapshot) {
21
104
  return {
22
- sessions,
23
- summary: `${sessions.length} session(s) connected.`,
105
+ status: snapshot.status,
106
+ ...(snapshot.message ? { message: snapshot.message } : {}),
107
+ latencyMs: snapshot.latencyMs,
108
+ checkedAt: new Date(snapshot.checkedAt).toISOString(),
109
+ ...(snapshot.lastOkAt
110
+ ? { lastOkAt: new Date(snapshot.lastOkAt).toISOString() }
111
+ : {}),
112
+ ...(snapshot.settled === false ? { settled: false } : {}),
24
113
  };
25
114
  }
26
115
  const sessionColumns = [
@@ -36,24 +125,102 @@ const sessionColumns = [
36
125
  value: (s) => s.state,
37
126
  format: (v) => colorizeState(v),
38
127
  },
128
+ { header: 'PID', value: (s) => (s.pid !== undefined ? String(s.pid) : '') },
39
129
  ];
40
- export function formatSessionsTable(result) {
41
- if (result.sessions.length === 0)
42
- return result.summary;
43
- return formatTable(result.sessions, sessionColumns);
130
+ function studioColumns(withMcp, now) {
131
+ const columns = [
132
+ {
133
+ header: 'PID',
134
+ value: (s) => (s.pid !== undefined ? String(s.pid) : '?'),
135
+ },
136
+ {
137
+ header: 'Up',
138
+ value: (s) => s.startedAt
139
+ ? formatDurationMs(Math.max(0, now - Date.parse(s.startedAt)))
140
+ : '',
141
+ },
142
+ { header: 'Window', value: (s) => s.windowTitle },
143
+ { header: 'Plugin', value: (s) => s.instanceId ?? 'none' },
144
+ ];
145
+ if (withMcp) {
146
+ columns.push({
147
+ header: 'MCP',
148
+ value: (s) => (s.mcpStudioId ? s.mcpStudioId.slice(0, 8) : 'none'),
149
+ });
150
+ }
151
+ columns.push({
152
+ header: 'Launched',
153
+ value: (s) => s.launch
154
+ ? `${s.launch.opened} from ${s.launch.cwd}`
155
+ : 'not by studio-bridge',
156
+ });
157
+ return columns;
158
+ }
159
+ export function formatMcpLine(mcp, now = Date.now()) {
160
+ const age = formatAgo(Date.parse(mcp.checkedAt), now);
161
+ if (mcp.status === 'ok') {
162
+ const pending = mcp.settled === false
163
+ ? ', may be incomplete (Studios take a few seconds to reach a new MCP server)'
164
+ : '';
165
+ return `MCP: ok, answered in ${mcp.latencyMs}ms, checked ${age}${pending}`;
166
+ }
167
+ const lastOk = mcp.lastOkAt
168
+ ? `, last ok ${formatAgo(Date.parse(mcp.lastOkAt), now)}`
169
+ : '';
170
+ return OutputHelper.formatWarning(`MCP: ${mcp.status}${mcp.message ? ` (${mcp.message})` : ''}, checked ${age}${lastOk}`);
171
+ }
172
+ export function formatSessionsTable(result, now = Date.now()) {
173
+ const mcp = result.mcp && result.mcp.status !== 'unsupported' ? result.mcp : undefined;
174
+ const lines = [];
175
+ if (result.sessions.length > 0) {
176
+ lines.push(formatTable(result.sessions, sessionColumns));
177
+ }
178
+ else {
179
+ lines.push(result.summary);
180
+ }
181
+ if (result.studios && result.studios.length > 0) {
182
+ lines.push('');
183
+ lines.push(formatTable(result.studios, studioColumns(mcp?.status === 'ok', now)));
184
+ }
185
+ if (mcp) {
186
+ lines.push(formatMcpLine(mcp, now));
187
+ }
188
+ return lines.join('\n');
189
+ }
190
+ function formatAgo(at, now) {
191
+ return `${formatDurationMs(Math.max(0, now - at))} ago`;
44
192
  }
45
193
  export const listCommand = defineCommand({
46
194
  group: 'process',
47
195
  name: 'list',
48
- description: 'List connected Studio sessions',
196
+ description: 'List connected Studio sessions and every Studio process, with where each was launched',
49
197
  category: 'infrastructure',
50
198
  safety: 'read',
51
199
  scope: 'connection',
52
200
  coversAllSessions: true,
53
- args: {},
201
+ args: {
202
+ mcp: arg.flag({
203
+ description: "Ask Studio's MCP server too, which also reaches Studios without the plugin (--no-mcp to skip)",
204
+ default: true,
205
+ }),
206
+ },
54
207
  cli: {
55
208
  format: formatSessionsTable,
56
209
  },
57
- handler: async (connection, _args, targeting) => listSessionsHandlerAsync(connection, targeting),
210
+ handler: async (connection, args, targeting) => listSessionsHandlerAsync(connection, targeting, connection.isRemote
211
+ ? { elapsedSec: () => process.uptime() }
212
+ : {
213
+ listProcessesAsync: listStudioProcessesAsync,
214
+ resolveSessionPidsAsync: (processes) => resolveSessionPidsAsync(connection, processes),
215
+ readLaunchesAsync: () => readStudioLaunchesAsync(),
216
+ mcpSnapshotAsync: args.mcp
217
+ ? (sessions, sessionPids, processes) => getStudioMcpSnapshotAsync({
218
+ sessions,
219
+ sessionPids,
220
+ windows: processes,
221
+ })
222
+ : undefined,
223
+ elapsedSec: () => process.uptime(),
224
+ }),
58
225
  });
59
226
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/process/list/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,GAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,WAAW,GAEZ,MAAM,sCAAsC,CAAC;AAI9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAA4B,EAC5B,YAA8B,EAAE;IAEhC,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAE9E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,OAAO,EACL,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC;gBAClC,CAAC,CAAC,uCAAuC;gBACzC,CAAC,CAAC,sEAAsE;SAC7E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,wBAAwB;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAA+B;IACjD;QACE,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;QACzB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1C;IACD,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;IAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE;IAC9C;QACE,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK;QACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAgB,CAAC;KAC/C;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IACxD,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,YAAY;IACnB,iBAAiB,EAAE,IAAI;IACvB,IAAI,EAAE,EAAE;IACR,GAAG,EAAE;QACH,MAAM,EAAE,mBAAmB;KAC5B;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAC9C,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC;CAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/process/list/list.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Unit tests for the list (sessions) command handler.
3
3
  */
4
4
  import { describe, it, expect } from 'vitest';
5
- import { listSessionsHandlerAsync } from './list.js';
5
+ import { formatSessionsTable, listSessionsHandlerAsync } from './list.js';
6
6
  function createSessionInfo(overrides = {}) {
7
7
  return {
8
8
  sessionId: 'session-1',
@@ -69,4 +69,95 @@ describe('listSessionsHandlerAsync', () => {
69
69
  expect(s.origin).toBe('managed');
70
70
  });
71
71
  });
72
+ describe('listSessionsHandlerAsync with Studio processes and MCP', () => {
73
+ const now = Date.parse('2026-11-05T00:30:00Z');
74
+ const snapshot = (overrides = {}) => ({
75
+ status: 'ok',
76
+ studios: [],
77
+ checkedAt: now,
78
+ latencyMs: 640,
79
+ ...overrides,
80
+ });
81
+ const processes = [
82
+ {
83
+ pid: 70,
84
+ windowTitle: 'Place1 - Roblox Studio',
85
+ startedAt: now - 300_000,
86
+ },
87
+ {
88
+ pid: 80,
89
+ windowTitle: 'Place1 - Roblox Studio',
90
+ startedAt: now - 290_000,
91
+ },
92
+ ];
93
+ it('says no Studio is open, and how long it waited', async () => {
94
+ const result = await listSessionsHandlerAsync(createMockConnection([]), {}, { listProcessesAsync: async () => [], elapsedSec: () => 12.34 });
95
+ expect(result.summary).toBe('No Roblox Studio processes are open (12.3s).');
96
+ });
97
+ it('says Studio is open without the plugin, rather than that nothing is', async () => {
98
+ const result = await listSessionsHandlerAsync(createMockConnection([]), {}, { listProcessesAsync: async () => processes, elapsedSec: () => 5 });
99
+ expect(result.summary).toContain('2 Studio process(es) open, but none has the studio-bridge plugin connected (5.0s)');
100
+ });
101
+ it('lists each Studio with its plugin session, MCP id and where it was launched', async () => {
102
+ const sessions = [
103
+ createSessionInfo({ sessionId: 'a-edit', instanceId: 'a' }),
104
+ ];
105
+ const result = await listSessionsHandlerAsync(createMockConnection(sessions), {}, {
106
+ listProcessesAsync: async () => processes,
107
+ resolveSessionPidsAsync: async () => new Map([['a', 70]]),
108
+ readLaunchesAsync: async () => [
109
+ {
110
+ pid: 70,
111
+ cwd: 'C:gameshub',
112
+ opened: 'a new Baseplate',
113
+ launchedAt: now - 301_000,
114
+ },
115
+ ],
116
+ mcpSnapshotAsync: async () => snapshot({
117
+ studios: [
118
+ {
119
+ studioId: 'aaaaaaaa-1',
120
+ placeName: 'Place1',
121
+ pid: 70,
122
+ instanceId: 'a',
123
+ },
124
+ { studioId: 'bbbbbbbb-2', placeName: 'Place1', pid: 80 },
125
+ ],
126
+ }),
127
+ });
128
+ expect(result.sessions[0].pid).toBe(70);
129
+ expect(result.studios).toEqual([
130
+ expect.objectContaining({
131
+ pid: 70,
132
+ instanceId: 'a',
133
+ mcpStudioId: 'aaaaaaaa-1',
134
+ launch: expect.objectContaining({ cwd: 'C:gameshub' }),
135
+ }),
136
+ expect.objectContaining({ pid: 80, mcpStudioId: 'bbbbbbbb-2' }),
137
+ ]);
138
+ const text = formatSessionsTable(result, now);
139
+ expect(text).toContain('a new Baseplate from C:gameshub');
140
+ expect(text).toContain('not by studio-bridge');
141
+ expect(text).toContain('5m');
142
+ });
143
+ it('still lists sessions and Studios when MCP is unavailable, and says why', async () => {
144
+ const result = await listSessionsHandlerAsync(createMockConnection([createSessionInfo({ sessionId: 's1' })]), {}, {
145
+ listProcessesAsync: async () => processes,
146
+ mcpSnapshotAsync: async () => snapshot({ status: 'timeout', message: 'tools/call timed out' }),
147
+ });
148
+ const text = formatSessionsTable(result, now);
149
+ expect(text).toContain('s1');
150
+ expect(text).toContain('MCP: timeout (tools/call timed out)');
151
+ expect(result.studios).toHaveLength(2);
152
+ });
153
+ it('leaves MCP out when the check gave up or the platform has none', async () => {
154
+ for (const mcpSnapshotAsync of [
155
+ async () => undefined,
156
+ async () => snapshot({ status: 'unsupported' }),
157
+ ]) {
158
+ const result = await listSessionsHandlerAsync(createMockConnection([createSessionInfo({ sessionId: 's1' })]), {}, { mcpSnapshotAsync });
159
+ expect(formatSessionsTable(result, now)).not.toContain('MCP');
160
+ }
161
+ });
162
+ });
72
163
  //# sourceMappingURL=list.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../../../../src/commands/process/list/list.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../../../../src/commands/process/list/list.test.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ interface ProcessRunArgs {
31
31
  code?: string;
32
32
  file?: string;
33
33
  place?: string;
34
- timeout?: number;
34
+ scriptTimeout?: number;
35
35
  scriptArgs?: string[];
36
36
  }
37
37
  export declare function processRunHandlerAsync(options: ProcessRunOptions): Promise<ProcessRunResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../../src/commands/process/run/run.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAY3B;AAED,eAAO,MAAM,iBAAiB,iGAuD5B,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../../src/commands/process/run/run.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAY3B;AAED,eAAO,MAAM,iBAAiB,iGAuD5B,CAAC"}
@@ -41,8 +41,8 @@ export const processRunCommand = defineCommand({
41
41
  description: 'Path to a .rbxl place file',
42
42
  alias: 'p',
43
43
  }),
44
- timeout: arg.option({
45
- description: 'Execution timeout in milliseconds',
44
+ scriptTimeout: arg.option({
45
+ description: 'Cancel the script after this many milliseconds',
46
46
  type: 'number',
47
47
  }),
48
48
  scriptArgs: arg.passthrough({
@@ -60,7 +60,7 @@ export const processRunCommand = defineCommand({
60
60
  scriptContent,
61
61
  packageName: 'studio-bridge',
62
62
  placePath: args.place,
63
- timeoutMs: args.timeout ?? 120_000,
63
+ timeoutMs: args.scriptTimeout ?? 120_000,
64
64
  verbose: OutputHelper.isVerbose(),
65
65
  showLogs: true,
66
66
  filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../src/commands/process/run/run.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAiChE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA0B;IAE1B,oEAAoE;IACpE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CACzC,iCAAiC,CAClC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAG5C;IACA,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,KAAK;IACX,WAAW,EACT,iEAAiE;IACnE,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE;QACJ,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC;YACnB,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,uCAAuC;YACpD,KAAK,EAAE,GAAG;SACX,CAAC;QACF,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,4BAA4B;YACzC,KAAK,EAAE,GAAG;SACX,CAAC;QACF,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,QAAQ;SACf,CAAC;QACF,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC;YAC1B,WAAW,EACT,+DAA+D;SAClE,CAAC;KACH;IACD,GAAG,EAAE;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;YACzC,CAAC,CAAC,EAAE;KACT;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAE1E,OAAO,sBAAsB,CAAC;YAC5B,aAAa;YACb,WAAW,EAAE,eAAe;YAC5B,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;YAClC,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE;YACjC,QAAQ,EAAE,IAAI;YACd,QAAQ;YACR,KAAK,EAAE,mBAAmB,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IACD,2CAA2C;CAC5C,CAAC,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../src/commands/process/run/run.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAiChE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA0B;IAE1B,oEAAoE;IACpE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CACzC,iCAAiC,CAClC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAG5C;IACA,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,KAAK;IACX,WAAW,EACT,iEAAiE;IACnE,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE;QACJ,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC;YACnB,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,uCAAuC;YACpD,KAAK,EAAE,GAAG;SACX,CAAC;QACF,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,4BAA4B;YACzC,KAAK,EAAE,GAAG;SACX,CAAC;QACF,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;YACxB,WAAW,EAAE,gDAAgD;YAC7D,IAAI,EAAE,QAAQ;SACf,CAAC;QACF,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC;YAC1B,WAAW,EACT,+DAA+D;SAClE,CAAC;KACH;IACD,GAAG,EAAE;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CACjB,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;YACzC,CAAC,CAAC,EAAE;KACT;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAE1E,OAAO,sBAAsB,CAAC;YAC5B,aAAa;YACb,WAAW,EAAE,eAAe;YAC5B,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO;YACxC,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE;YACjC,QAAQ,EAAE,IAAI;YACd,QAAQ;YACR,KAAK,EAAE,mBAAmB,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IACD,2CAA2C;CAC5C,CAAC,CAAC"}
@@ -164,7 +164,7 @@ export async function buildDockerRunArgsAsync(options, cwd, _cookie, image = `${
164
164
  'run',
165
165
  '--file',
166
166
  scriptFilePath,
167
- '--timeout',
167
+ '--script-timeout',
168
168
  String(timeoutMs),
169
169
  ];
170
170
  if (placePath) {