@minicor/mcp-server 3.0.0 → 3.1.1

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 (49) hide show
  1. package/dist/__tests__/state.test.js +27 -1
  2. package/dist/__tests__/state.test.js.map +1 -1
  3. package/dist/index.d.ts +5 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +102 -48
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib.d.ts +8 -2
  8. package/dist/lib.d.ts.map +1 -1
  9. package/dist/lib.js +48 -7
  10. package/dist/lib.js.map +1 -1
  11. package/dist/prompts/debug-execution.d.ts.map +1 -1
  12. package/dist/prompts/debug-execution.js +5 -3
  13. package/dist/prompts/debug-execution.js.map +1 -1
  14. package/dist/setup.js +86 -32
  15. package/dist/setup.js.map +1 -1
  16. package/dist/state.d.ts +4 -0
  17. package/dist/state.d.ts.map +1 -1
  18. package/dist/state.js +11 -0
  19. package/dist/state.js.map +1 -1
  20. package/dist/tools/agents.d.ts.map +1 -1
  21. package/dist/tools/agents.js +34 -20
  22. package/dist/tools/agents.js.map +1 -1
  23. package/dist/tools/config-stores.d.ts.map +1 -1
  24. package/dist/tools/config-stores.js +59 -11
  25. package/dist/tools/config-stores.js.map +1 -1
  26. package/dist/tools/core.d.ts.map +1 -1
  27. package/dist/tools/core.js +141 -33
  28. package/dist/tools/core.js.map +1 -1
  29. package/dist/tools/issues.d.ts.map +1 -1
  30. package/dist/tools/issues.js +41 -9
  31. package/dist/tools/issues.js.map +1 -1
  32. package/dist/tools/sync-tools.d.ts.map +1 -1
  33. package/dist/tools/sync-tools.js +29 -12
  34. package/dist/tools/sync-tools.js.map +1 -1
  35. package/dist/tools/tfa.d.ts.map +1 -1
  36. package/dist/tools/tfa.js +42 -22
  37. package/dist/tools/tfa.js.map +1 -1
  38. package/dist/tools/vm-rpa.d.ts.map +1 -1
  39. package/dist/tools/vm-rpa.js +15 -7
  40. package/dist/tools/vm-rpa.js.map +1 -1
  41. package/dist/tools/vm.d.ts.map +1 -1
  42. package/dist/tools/vm.js +349 -3
  43. package/dist/tools/vm.js.map +1 -1
  44. package/dist/tools/workflow-ops.d.ts.map +1 -1
  45. package/dist/tools/workflow-ops.js +46 -30
  46. package/dist/tools/workflow-ops.js.map +1 -1
  47. package/dist/types.d.ts +6 -3
  48. package/dist/types.d.ts.map +1 -1
  49. package/package.json +1 -1
package/dist/tools/vm.js CHANGED
@@ -1,10 +1,14 @@
1
1
  import { z } from "zod";
2
2
  import { ok, text, json, NOT_CONNECTED_VM } from "../helpers.js";
3
- import { ldsConnection, setLdsConnection, ldsAuth, setVmCache, getCachedVm } from "../state.js";
3
+ import { ldsConnection, setLdsConnection, ldsAuth, setVmCache, getCachedVm, getWorkspaceRegion } from "../state.js";
4
4
  import * as lds from "../lds-client.js";
5
5
  import * as vmService from "../vm-service-client.js";
6
6
  import { generateInspectScript } from "../inspect-scripts.js";
7
7
  import { apiBaseToRegion } from "../paths.js";
8
+ const regionParam = z
9
+ .enum(["us", "ca"])
10
+ .optional()
11
+ .describe("Region (us or ca). Auto-detected from workspace if omitted.");
8
12
  function requireVM() {
9
13
  if (!ldsConnection)
10
14
  return text(NOT_CONNECTED_VM);
@@ -19,13 +23,14 @@ export function register(deps) {
19
23
  channelId: z.string().optional().describe("Filter by channel ID"),
20
24
  }, async ({ workspaceId, region, channelId }) => {
21
25
  try {
22
- const keys = await deps.client().listApiKeys(workspaceId);
26
+ const wsRegion = (region === "us" || region === "ca" ? region : undefined) ?? getWorkspaceRegion(workspaceId);
27
+ const keys = await deps.client(wsRegion).listApiKeys(workspaceId);
23
28
  const apiKeyList = Array.isArray(keys) ? keys : keys?.api_keys ?? keys?.data ?? [];
24
29
  if (!apiKeyList.length) {
25
30
  return text(`No API keys found for workspace ${workspaceId}. Create one in the Laminar dashboard.`);
26
31
  }
27
32
  const workspaceApiKey = apiKeyList[0].apiKey ?? apiKeyList[0].api_key ?? apiKeyList[0].key ?? apiKeyList[0];
28
- const effectiveRegion = region ?? apiBaseToRegion(deps.getApiBase());
33
+ const effectiveRegion = region ?? apiBaseToRegion(deps.getApiBase(wsRegion));
29
34
  const vms = await vmService.listVms(deps.getVmServiceBase(), typeof workspaceApiKey === "string" ? workspaceApiKey : String(workspaceApiKey), { region: effectiveRegion, channelId });
30
35
  setVmCache({ vms, fetchedAt: Date.now() });
31
36
  return ok({
@@ -44,6 +49,60 @@ export function register(deps) {
44
49
  return text(`Failed to list VMs: ${e.message}`);
45
50
  }
46
51
  });
52
+ // ── VM deployment ──────────────────────────────────────────
53
+ server.tool("deploy_vm", "Provision a new Windows VM on Azure. Uses smart region selection — pass 'us' or 'canada' " +
54
+ "and the service finds a region with available quota. Deployment is async (~5-10 min). " +
55
+ "Poll vm_list to check when deployment_status becomes 'deployed'.", {
56
+ workspaceId: z.number().describe("Workspace ID"),
57
+ location: z.enum(["us", "canada", "europe"]).default("us").describe("Geography — auto-selects best region by quota"),
58
+ vmSize: z.string().default("Standard_D2s_v3").describe("Azure VM size"),
59
+ vmNamePrefix: z.string().optional().describe("Custom name prefix (max 15 chars, auto-generated if omitted)"),
60
+ enableRecording: z.boolean().default(true),
61
+ }, async ({ workspaceId, location, vmSize, vmNamePrefix, enableRecording }) => {
62
+ try {
63
+ const authToken = deps.getAuthToken?.();
64
+ if (!authToken)
65
+ return text("No auth token available. Please re-authenticate.");
66
+ const vmServiceUrl = deps.getVmServiceBase();
67
+ const res = await fetch(`${vmServiceUrl}/workspaces/${workspaceId}/vms`, {
68
+ method: "POST",
69
+ headers: {
70
+ "Content-Type": "application/json",
71
+ "Authorization": `Bearer ${authToken}`,
72
+ },
73
+ body: JSON.stringify({
74
+ workspace_id: String(workspaceId),
75
+ location,
76
+ vm_size: vmSize,
77
+ vm_name_prefix: vmNamePrefix || undefined,
78
+ exposed_ports: [1016, 3389],
79
+ enable_recording: enableRecording,
80
+ enable_queue_and_lock: false,
81
+ install_laminar_service: false,
82
+ windows_version: "2022-datacenter",
83
+ }),
84
+ });
85
+ if (!res.ok) {
86
+ const errBody = await res.text().catch(() => "");
87
+ return text(`VM deployment failed (HTTP ${res.status}): ${errBody}`);
88
+ }
89
+ const result = await res.json();
90
+ return ok({
91
+ message: "VM deployment started. It takes ~5-10 minutes.",
92
+ vm_name: result.vm_name,
93
+ username: result.username,
94
+ password: result.password,
95
+ next_steps: [
96
+ "Poll vm_list to check when deployment_status becomes 'deployed'",
97
+ "Once deployed, use install_mds_on_vm to install MDS",
98
+ "Then use vm_connect to connect",
99
+ ],
100
+ });
101
+ }
102
+ catch (e) {
103
+ return text(`VM deployment failed: ${e.message}`);
104
+ }
105
+ });
47
106
  // ── Connection management ─────────────────────────────────
48
107
  server.tool("vm_connect", "Connect to a VM. Provide vmId (from vm_list) to auto-fill credentials, or provide url directly. Must be called before any other vm_* tool.", {
49
108
  vmId: z.number().optional().describe("VM ID from vm_list — auto-fills url, apiKey, serviceId"),
@@ -356,5 +415,292 @@ print(json.dumps({"clipboard": clipboard_text}))
356
415
  return text(`Clipboard read failed: ${e.message}`);
357
416
  }
358
417
  });
418
+ // ── MDS Installation ───────────────────────────────────────
419
+ const INSTALL_SCRIPT_URL = "https://www.minicor.com/installs/desktop-service/ps1";
420
+ /** Escape for single-quoted PowerShell strings (only ' needs doubling). */
421
+ const psEscape = (s) => s.replace(/'/g, "''");
422
+ server.tool("get_mds_install_command", "Generate a pre-filled PowerShell one-liner to install Minicor Desktop Service on a VM. " +
423
+ "Returns a command the user can paste into an elevated PowerShell window on the target machine.", {
424
+ vmId: z.number().optional().describe("VM ID from vm_list — auto-fills serviceId and apiKey"),
425
+ serviceId: z.string().optional().describe("MDS service ID (manual override)"),
426
+ apiKey: z.string().optional().describe("MDS API key (manual override)"),
427
+ enableRecording: z.boolean().default(true),
428
+ resolution: z.string().default("1280x720"),
429
+ installerUrl: z.string().optional().describe("Override installer URL (e.g. ngrok URL for testing)"),
430
+ }, async ({ vmId, serviceId, apiKey, enableRecording, resolution, installerUrl }) => {
431
+ let sid = serviceId;
432
+ let key = apiKey;
433
+ if (vmId) {
434
+ const vm = getCachedVm(vmId);
435
+ if (vm) {
436
+ sid = sid || vm.service_id;
437
+ key = key || vm.api_key;
438
+ }
439
+ else {
440
+ return text("VM not found in cache. Run vm_list first to discover available VMs.");
441
+ }
442
+ }
443
+ const envVars = [];
444
+ if (sid)
445
+ envVars.push(`$env:MDS_SERVICE_ID='${psEscape(sid)}'`);
446
+ if (key)
447
+ envVars.push(`$env:MDS_VM_API_KEY='${psEscape(key)}'`);
448
+ envVars.push(`$env:MDS_RECORDING='${enableRecording}'`);
449
+ envVars.push(`$env:MDS_RESOLUTION='${psEscape(resolution)}'`);
450
+ const scriptUrl = installerUrl || INSTALL_SCRIPT_URL;
451
+ const command = `New-Item -ItemType Directory -Path C:\\temp -Force | Out-Null; ${envVars.join("; ")}; irm '${psEscape(scriptUrl)}' -OutFile C:\\temp\\install.ps1; powershell -ExecutionPolicy Bypass -File C:\\temp\\install.ps1`;
452
+ return ok({
453
+ command,
454
+ instructions: "Run this command in an elevated PowerShell window on the target Windows machine.",
455
+ params: {
456
+ serviceId: sid,
457
+ apiKey: key ? `${key.substring(0, 8)}...` : undefined,
458
+ enableRecording,
459
+ resolution,
460
+ installerUrl: scriptUrl,
461
+ },
462
+ });
463
+ });
464
+ server.tool("install_mds_on_vm", "Install Minicor Desktop Service on an Azure VM automatically via Azure Run Command. " +
465
+ "Falls back to generating a manual install command if automated install fails.", {
466
+ workspaceId: z.number().describe("Workspace ID"),
467
+ vmId: z.number().describe("VM ID from vm_list"),
468
+ enableRecording: z.boolean().default(true),
469
+ resolution: z.string().default("1280x720"),
470
+ installerUrl: z.string().optional().describe("Override installer URL (e.g. ngrok URL for testing)"),
471
+ }, async ({ workspaceId, vmId, enableRecording, resolution, installerUrl }) => {
472
+ const vm = getCachedVm(vmId);
473
+ if (!vm) {
474
+ return text("VM not found in cache. Run vm_list first to discover available VMs.");
475
+ }
476
+ const scriptUrl = installerUrl || INSTALL_SCRIPT_URL;
477
+ const key = vm.api_key;
478
+ // Fetch VM credentials for auto-logon (ensures active desktop session for RPA)
479
+ let autoLogonUser = "";
480
+ let autoLogonPass = "";
481
+ try {
482
+ const authToken = deps.getAuthToken?.();
483
+ if (authToken) {
484
+ const credRes = await fetch(`${deps.getVmServiceBase()}/workspaces/${workspaceId}/vms/${vmId}/credentials`, { headers: { "Authorization": `Bearer ${authToken}` } });
485
+ if (credRes.ok) {
486
+ const creds = await credRes.json();
487
+ autoLogonUser = creds.admin_username || "";
488
+ autoLogonPass = creds.admin_password || "";
489
+ }
490
+ }
491
+ }
492
+ catch { /* credentials fetch failed, skip auto-logon */ }
493
+ // Use single quotes for values that may contain special chars (&, !, }, etc.)
494
+ const psEscape = (s) => s.replace(/'/g, "''"); // only ' needs escaping in single-quoted PS strings
495
+ const envVars = [
496
+ `$env:MDS_VM_API_KEY='${psEscape(key || "")}'`,
497
+ `$env:MDS_RECORDING='${enableRecording}'`,
498
+ `$env:MDS_RESOLUTION='${psEscape(resolution)}'`,
499
+ ];
500
+ if (autoLogonUser && autoLogonPass) {
501
+ envVars.push(`$env:MDS_AUTOLOGON_USER='${psEscape(autoLogonUser)}'`);
502
+ envVars.push(`$env:MDS_AUTOLOGON_PASS='${psEscape(autoLogonPass)}'`);
503
+ }
504
+ const installScript = [
505
+ ...envVars,
506
+ `New-Item -ItemType Directory -Path "C:\\temp" -Force | Out-Null`,
507
+ `Invoke-WebRequest -Uri "${scriptUrl}" -OutFile "C:\\temp\\install-mds.ps1" -UseBasicParsing`,
508
+ `powershell -ExecutionPolicy Bypass -File "C:\\temp\\install-mds.ps1"`,
509
+ ].join("; ");
510
+ try {
511
+ const vmServiceUrl = deps.getVmServiceBase();
512
+ const authToken = deps.getAuthToken?.();
513
+ if (!authToken) {
514
+ return text("No auth token available. Please re-authenticate the MCP.");
515
+ }
516
+ const res = await fetch(`${vmServiceUrl}/workspaces/${workspaceId}/vms/${vmId}/run-script`, {
517
+ method: "POST",
518
+ headers: {
519
+ "Content-Type": "application/json",
520
+ "Authorization": `Bearer ${authToken}`,
521
+ },
522
+ body: JSON.stringify({ script: installScript, timeout: 900, description: "MDS CLI installer via MCP" }),
523
+ });
524
+ if (!res.ok) {
525
+ const errBody = await res.text().catch(() => "");
526
+ const envVars = [`$env:MDS_VM_API_KEY="${key}"`];
527
+ return ok({
528
+ automated: false,
529
+ reason: `Automated install failed (HTTP ${res.status}: ${errBody}). Use this manual command instead:`,
530
+ command: `${envVars.join("; ")}; irm ${scriptUrl} -OutFile C:\\temp\\install.ps1; powershell -ExecutionPolicy Bypass -File C:\\temp\\install.ps1`,
531
+ instructions: "Run this in an elevated PowerShell window on the VM.",
532
+ });
533
+ }
534
+ const result = await res.json();
535
+ const rebootScheduled = (result.stdout || "").includes("REBOOT_SCHEDULED=true");
536
+ if (rebootScheduled) {
537
+ return ok({
538
+ automated: true,
539
+ message: "MDS installed successfully. VM is rebooting to activate auto-logon (~30-60 seconds). After reboot, call start_mds_on_vm to launch MDS in the interactive desktop session.",
540
+ reboot_scheduled: true,
541
+ stdout: result.stdout,
542
+ stderr: result.stderr,
543
+ next_steps: [
544
+ "Wait 45-60 seconds for the VM to reboot and auto-logon to complete",
545
+ `Call start_mds_on_vm with workspaceId ${workspaceId} and vmId ${vmId}`,
546
+ `Then use vm_connect with vmId ${vmId} to connect`,
547
+ "Take vm_screenshot to verify the desktop",
548
+ ],
549
+ });
550
+ }
551
+ return ok({
552
+ automated: true,
553
+ message: "MDS installation completed via Azure Run Command.",
554
+ stdout: result.stdout,
555
+ stderr: result.stderr,
556
+ next_steps: [
557
+ "Use vm_list to check VM health status",
558
+ `Use vm_connect with vmId ${vmId} to connect`,
559
+ "Take vm_screenshot to verify the desktop",
560
+ ],
561
+ });
562
+ }
563
+ catch (e) {
564
+ return ok({
565
+ automated: false,
566
+ reason: `Automated install failed: ${e.message}`,
567
+ command: `New-Item -ItemType Directory -Path C:\\temp -Force | Out-Null; $env:MDS_VM_API_KEY='${psEscape(key || "")}'; irm '${psEscape(scriptUrl)}' -OutFile C:\\temp\\install.ps1; powershell -ExecutionPolicy Bypass -File C:\\temp\\install.ps1`,
568
+ instructions: "Run this in an elevated PowerShell window on the VM.",
569
+ });
570
+ }
571
+ });
572
+ // ── Start MDS after install ────────────────────────────────
573
+ server.tool("start_mds_on_vm", "Start Minicor Desktop Service on an Azure VM via Azure Run Command. " +
574
+ "Use after install_mds_on_vm when MDS installed but health check failed (Session 0 issue). " +
575
+ "Creates a one-shot scheduled task to launch MDS in the interactive desktop session.", {
576
+ workspaceId: z.number().describe("Workspace ID"),
577
+ vmId: z.number().describe("VM ID from vm_list"),
578
+ }, async ({ workspaceId, vmId }) => {
579
+ const vm = getCachedVm(vmId);
580
+ if (!vm) {
581
+ return text("VM not found in cache. Run vm_list first.");
582
+ }
583
+ // PowerShell script that starts MDS in the interactive session
584
+ // Uses WMI to find the logged-on user (more reliable than `query session`)
585
+ const startScript = `
586
+ $exePath = "C:\\Program Files\\MinicorDesktopService\\MinicorDesktopService.exe"
587
+ $installDir = "C:\\Program Files\\MinicorDesktopService"
588
+ if (-not (Test-Path $exePath)) { Write-Error "MDS not installed"; exit 1 }
589
+
590
+ # Ensure cloudflared service is running (tunnel must be up for vm_connect)
591
+ $cfService = Get-Service -Name "Cloudflared" -ErrorAction SilentlyContinue
592
+ if ($cfService) {
593
+ if ($cfService.Status -ne "Running") {
594
+ Start-Service -Name "Cloudflared" -ErrorAction SilentlyContinue
595
+ Start-Sleep -Seconds 3
596
+ Write-Output "cloudflared service started"
597
+ } else {
598
+ Write-Output "cloudflared service already running"
599
+ }
600
+ } else {
601
+ # Service not registered - try to register it now
602
+ $cfBat = Join-Path $installDir "cloudflared\\install-service.bat"
603
+ if (Test-Path $cfBat) {
604
+ $envContent = Get-Content (Join-Path $installDir ".env") -Raw -ErrorAction SilentlyContinue
605
+ if ($envContent -match "CLOUDFLARE_TUNNEL_TOKEN=.+") {
606
+ cmd.exe /c "\`"$cfBat\`" \`"$installDir\`""
607
+ Start-Service -Name "Cloudflared" -ErrorAction SilentlyContinue
608
+ Start-Sleep -Seconds 3
609
+ Write-Output "cloudflared service registered and started"
610
+ } else {
611
+ Write-Output "WARNING: No tunnel token in .env - cloudflared cannot start"
612
+ }
613
+ }
614
+ }
615
+
616
+ $proc = Get-Process -Name MinicorDesktopService -ErrorAction SilentlyContinue
617
+ if ($proc) {
618
+ try { $h = Invoke-WebRequest -Uri "http://localhost:1016/health" -UseBasicParsing -TimeoutSec 3; Write-Output "MDS running and healthy (PID $($proc.Id))"; exit 0 } catch {}
619
+ Write-Output "MDS running but unhealthy, restarting..."
620
+ Stop-Process -Id $proc.Id -Force -ErrorAction SilentlyContinue; Start-Sleep -Seconds 2
621
+ }
622
+
623
+ # Find logged-on interactive user via WMI (retry for up to 30s after reboot)
624
+ $user = $null
625
+ for ($retry = 0; $retry -lt 6; $retry++) {
626
+ $user = (Get-WmiObject -Class Win32_ComputerSystem).UserName
627
+ if (-not $user) {
628
+ $explorer = Get-WmiObject Win32_Process -Filter "name='explorer.exe'" | Select-Object -First 1
629
+ if ($explorer) {
630
+ $owner = $explorer.GetOwner()
631
+ $user = "$($owner.Domain)\\$($owner.User)"
632
+ }
633
+ }
634
+ if ($user) { break }
635
+ Write-Output "Waiting for interactive user login (attempt $($retry + 1)/6)..."
636
+ Start-Sleep -Seconds 5
637
+ }
638
+
639
+ $taskName = "MinicorDesktopService-Start"
640
+ Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue
641
+
642
+ $action = New-ScheduledTaskAction -Execute $exePath -WorkingDirectory $installDir
643
+ $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddSeconds(2)
644
+ $trigger.EndBoundary = (Get-Date).AddMinutes(5).ToString("yyyy-MM-ddTHH:mm:ss")
645
+ $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
646
+
647
+ if ($user) {
648
+ $shortUser = if ($user.Contains("\\")) { $user.Split("\\")[1] } else { $user }
649
+ $principal = New-ScheduledTaskPrincipal -UserId $shortUser -LogonType Interactive -RunLevel Highest
650
+ Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Settings $settings -Principal $principal -Force | Out-Null
651
+ } else {
652
+ Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Settings $settings -RunLevel Highest -Force | Out-Null
653
+ }
654
+
655
+ Start-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue
656
+ Start-Sleep -Seconds 8
657
+
658
+ $proc = Get-Process -Name MinicorDesktopService -ErrorAction SilentlyContinue
659
+ Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue
660
+
661
+ if ($proc) {
662
+ # Check health
663
+ try {
664
+ $health = Invoke-WebRequest -Uri "http://localhost:1016/health" -UseBasicParsing -TimeoutSec 5
665
+ Write-Output "MDS running (PID $($proc.Id)), health: $($health.StatusCode)"
666
+ } catch {
667
+ Write-Output "MDS running (PID $($proc.Id)), health endpoint not ready yet"
668
+ }
669
+ } else {
670
+ Write-Output "MDS process not detected after scheduled task launch"
671
+ }
672
+ `.trim();
673
+ try {
674
+ const vmServiceUrl = deps.getVmServiceBase();
675
+ const authToken = deps.getAuthToken?.();
676
+ if (!authToken)
677
+ return text("No auth token available. Please re-authenticate the MCP.");
678
+ const res = await fetch(`${vmServiceUrl}/workspaces/${workspaceId}/vms/${vmId}/run-script`, {
679
+ method: "POST",
680
+ headers: {
681
+ "Content-Type": "application/json",
682
+ "Authorization": `Bearer ${authToken}`,
683
+ },
684
+ body: JSON.stringify({ script: startScript, timeout: 120, description: "Start MDS in interactive session" }),
685
+ });
686
+ if (!res.ok) {
687
+ const errBody = await res.text().catch(() => "");
688
+ return text(`Failed to start MDS (HTTP ${res.status}): ${errBody}`);
689
+ }
690
+ const result = await res.json();
691
+ return ok({
692
+ message: "MDS start command executed.",
693
+ stdout: result.stdout,
694
+ stderr: result.stderr,
695
+ next_steps: [
696
+ `Use vm_connect with vmId ${vmId} to connect`,
697
+ "Take vm_screenshot to verify the desktop",
698
+ ],
699
+ });
700
+ }
701
+ catch (e) {
702
+ return text(`Failed to start MDS: ${e.message}`);
703
+ }
704
+ });
359
705
  }
360
706
  //# sourceMappingURL=vm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/tools/vm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,SAAS,SAAS;IAChB,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,gEAAgE;IAEhE,MAAM,CAAC,IAAI,CACT,SAAS,EACT,2IAA2I,EAC3I;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAClE,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACnF,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,mCAAmC,WAAW,wCAAwC,CAAC,CAAC;YACtG,CAAC;YACD,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAE5G,MAAM,eAAe,GAAG,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAErE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CACjC,IAAI,CAAC,gBAAgB,EAAE,EACvB,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,EAC/E,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,CACvC,CAAC;YAEF,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAE3C,OAAO,EAAE,CAAC;gBACR,KAAK,EAAE,GAAG,CAAC,MAAM;gBACjB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACpB,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,OAAO;oBAChB,MAAM,EAAE,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,MAAM;oBACzC,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,WAAW,EAAE,EAAE,CAAC,WAAW;iBAC5B,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAE7D,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,4IAA4I,EAC5I;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QAC9F,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QAC1F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KACnF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QACzC,IAAI,UAAU,GAAG,GAAG,CAAC;QACrB,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,IAAI,gBAAgB,GAAG,SAAS,CAAC;QACjC,IAAI,MAA0B,CAAC;QAE/B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,8CAA8C,CAAC,CAAC;YAC/E,CAAC;YACD,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;YAC3B,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;YAC3B,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC;YACjC,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,gBAAgB,CAAC;gBACf,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,gBAAgB;gBAC3B,IAAI;gBACJ,MAAM;aACP,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;gBACR,SAAS,EAAE,IAAI;gBACf,GAAG,EAAE,UAAU;gBACf,IAAI;gBACJ,MAAM;gBACN,aAAa,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,gBAAgB,CAAC;gBACpD,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE;oBACV,qDAAqD;oBACrD,0DAA0D;oBAC1D,kEAAkE;oBAClE,uFAAuF;iBACxF;gBACD,qBAAqB,EAAE;oBACrB,OAAO,EAAE,qEAAqE;oBAC9E,OAAO,EAAE,sDAAsD;oBAC/D,GAAG,EAAE,mEAAmE;iBACzE;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,8BAA8B,UAAU,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,gCAAgC,EAChC,EAAE,EACF,KAAK,IAAI,EAAE;QACT,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,WAAW,EACX,yCAAyC,EACzC,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,aAAc,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;gBACR,SAAS,EAAE,IAAI;gBACf,GAAG,EAAE,aAAc,CAAC,GAAG;gBACvB,IAAI,EAAE,aAAc,CAAC,IAAI;gBACzB,MAAM,EAAE,aAAc,CAAC,MAAM;gBAC7B,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAE7D,MAAM,CAAC,IAAI,CACT,eAAe,EACf,wLAAwL,EACxL,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,aAAc,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,GACjE,GAAG,CAAC,QAAQ,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAgB;wBACtB,IAAI,EAAE,GAAG,CAAC,KAAK;wBACf,QAAQ,EAAE,WAAoB;qBAC/B;oBACD;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC;4BACT,KAAK;4BACL,MAAM;4BACN,UAAU;4BACV,mBAAmB;4BACnB,SAAS;yBACV,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,gJAAgJ,EAChJ;QACE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC3C,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACvD,EACD,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;QACtB,MAAM,MAAM,GAAG;;;;6BAIQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE;;;;;CAKjD,CAAC,IAAI,EAAE,CAAC;QACH,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAC3B,aAAc,CAAC,GAAG,EAClB,MAAM,EACN,SAAS,EACT,OAAO,EAAE,CACV,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,6BAA6B,GAAG,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,OAAgB;wBACtB,IAAI,EAAE,MAAM,CAAC,KAAK;wBAClB,QAAQ,EAAE,WAAoB;qBAC/B;oBACD;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC;4BACT,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;yBAChC,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAE7D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,0OAA0O,EAC1O;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAC/D,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAC3B,aAAc,CAAC,GAAG,EAClB,MAAM,EACN,EAAE,WAAW,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,CACV,CAAC;YACF,OAAO,EAAE,CAAC;gBACR,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAE7D,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,yEAAyE,EACzE,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CACtC,aAAc,CAAC,GAAG,EAClB,OAAO,EAAE,CACV,CAAC;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,mCAAmC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,gEAAgE,EAChE;QACE,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aACzC,QAAQ,CAAC,iBAAiB,CAAC;KAC/B,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CACvC,aAAc,CAAC,GAAG,EAClB,OAAO,EACP,OAAO,EAAE,CACV,CAAC;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAE7D,MAAM,CAAC,IAAI,CACT,eAAe,EACf,yOAAyO,EACzO;QACE,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC;YACJ,aAAa;YACb,aAAa;YACb,kBAAkB;YAClB,cAAc;YACd,iBAAiB;SAClB,CAAC;aACD,QAAQ,CAAC,iBAAiB,CAAC;QAC9B,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACxE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACxE,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wCAAwC,CAAC;QACrD,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;aAClD,QAAQ,EAAE;aACV,QAAQ,CAAC,qDAAqD,CAAC;QAClE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;KAC5D,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,MAAM,GAAG,qBAAqB,CAAC;YACnC,IAAI;YACJ,CAAC;YACD,CAAC;YACD,WAAW;YACX,SAAS;YACT,KAAK;SACN,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAC3B,aAAc,CAAC,GAAG,EAClB,MAAM,EACN,SAAS,EACT,OAAO,EAAE,CACV,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,IAAI,CACT,8BAA8B,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAC3E,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CACF,CAAC;IAEF,6DAA6D;IAE7D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,iDAAiD,EACjD,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;CAmBpB,CAAC,IAAI,EAAE,CAAC;QACH,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAC3B,aAAc,CAAC,GAAG,EAClB,MAAM,EACN,SAAS,EACT,OAAO,EAAE,CACV,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,0BAA0B,GAAG,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"vm.js","sourceRoot":"","sources":["../../src/tools/vm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-ops.d.ts","sourceRoot":"","sources":["../../src/tools/workflow-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAmYtC"}
1
+ {"version":3,"file":"workflow-ops.d.ts","sourceRoot":"","sources":["../../src/tools/workflow-ops.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QA+YtC"}
@@ -1,6 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { ok, text } from "../helpers.js";
3
3
  import { computeDiff } from "../diff.js";
4
+ const regionParam = z
5
+ .enum(["us", "ca"])
6
+ .optional()
7
+ .describe("Region (us or ca). Auto-detected from workspace if omitted.");
4
8
  export function register(deps) {
5
9
  const { server } = deps;
6
10
  server.tool("preview_flow_changes", "Show a diff of the current flow code vs your proposed changes BEFORE updating. Use this to review changes before pushing them to Laminar.", {
@@ -13,10 +17,12 @@ export function register(deps) {
13
17
  .string()
14
18
  .optional()
15
19
  .describe("New description (if changing)"),
16
- }, async ({ flowId, proposedProgram, proposedName, proposedDescription }) => {
20
+ region: regionParam,
21
+ }, async ({ flowId, proposedProgram, proposedName, proposedDescription, region }) => {
22
+ const r = region;
17
23
  try {
18
- const flow = await deps.client().getFlow(flowId);
19
- const currentCode = await deps.client().readFlow(flowId);
24
+ const flow = await deps.client(r).getFlow(flowId);
25
+ const currentCode = await deps.client(r).readFlow(flowId);
20
26
  const current = typeof currentCode === "string"
21
27
  ? currentCode
22
28
  : JSON.stringify(currentCode, null, 2);
@@ -49,17 +55,19 @@ export function register(deps) {
49
55
  .number()
50
56
  .optional()
51
57
  .describe("Number of recent executions to include (default 3)"),
52
- }, async ({ workflowId, includeExecutions = 3 }) => {
58
+ region: regionParam,
59
+ }, async ({ workflowId, includeExecutions = 3, region }) => {
60
+ const r = region;
53
61
  try {
54
62
  const [workflow, flows, executions] = await Promise.all([
55
- deps.client().getWorkflow(workflowId),
56
- deps.client().getWorkflowFlows(workflowId),
57
- deps.client().listExecutions(workflowId, { size: includeExecutions }),
63
+ deps.client(r).getWorkflow(workflowId),
64
+ deps.client(r).getWorkflowFlows(workflowId),
65
+ deps.client(r).listExecutions(workflowId, { size: includeExecutions }),
58
66
  ]);
59
67
  const flowList = Array.isArray(flows) ? flows : [];
60
68
  const flowsWithCode = await Promise.all(flowList.map(async (f) => {
61
69
  try {
62
- const code = await deps.client().readFlow(f.id);
70
+ const code = await deps.client(r).readFlow(f.id);
63
71
  return {
64
72
  ...f,
65
73
  code: typeof code === "string" ? code : JSON.stringify(code),
@@ -90,9 +98,11 @@ export function register(deps) {
90
98
  server.tool("get_execution_input", "Get the input data from a specific execution, so you can reuse it to test the workflow again. Returns data.input from the first step.", {
91
99
  workflowId: z.number().describe("Workflow ID"),
92
100
  executionId: z.number().describe("Execution ID to get input from"),
93
- }, async ({ workflowId, executionId }) => {
101
+ region: regionParam,
102
+ }, async ({ workflowId, executionId, region }) => {
103
+ const r = region;
94
104
  try {
95
- const exec = await deps.client().getExecution(workflowId, executionId);
105
+ const exec = await deps.client(r).getExecution(workflowId, executionId);
96
106
  const flowRuns = exec?.flowRuns || [];
97
107
  if (flowRuns.length === 0)
98
108
  return text("No flow runs found in this execution.");
@@ -146,7 +156,9 @@ export function register(deps) {
146
156
  .union([z.number(), z.string()])
147
157
  .optional()
148
158
  .describe("Configuration store ID (number or string)"),
149
- }, async ({ workflowId, step, mode, body, configurationId }) => {
159
+ region: regionParam,
160
+ }, async ({ workflowId, step, mode, body, configurationId, region }) => {
161
+ const r = region;
150
162
  try {
151
163
  const params = { configuration_id: configurationId };
152
164
  if (mode === "up_to") {
@@ -160,7 +172,7 @@ export function register(deps) {
160
172
  params.start_from_step = step;
161
173
  }
162
174
  const result = await deps
163
- .client()
175
+ .client(r)
164
176
  .executeWorkflow(workflowId, body, params);
165
177
  return ok(result);
166
178
  }
@@ -175,13 +187,15 @@ export function register(deps) {
175
187
  .optional()
176
188
  .describe("First version ID (omit for current)"),
177
189
  versionB: z.number().describe("Second version ID to compare against"),
178
- }, async ({ flowId, versionA, versionB }) => {
190
+ region: regionParam,
191
+ }, async ({ flowId, versionA, versionB, region }) => {
192
+ const r = region;
179
193
  try {
180
194
  const [codeA, codeB] = await Promise.all([
181
195
  versionA
182
- ? deps.client().readFlowVersion(flowId, versionA)
183
- : deps.client().readFlow(flowId),
184
- deps.client().readFlowVersion(flowId, versionB),
196
+ ? deps.client(r).readFlowVersion(flowId, versionA)
197
+ : deps.client(r).readFlow(flowId),
198
+ deps.client(r).readFlowVersion(flowId, versionB),
185
199
  ]);
186
200
  const strA = typeof codeA === "string" ? codeA : JSON.stringify(codeA, null, 2);
187
201
  const strB = typeof codeB === "string" ? codeB : JSON.stringify(codeB, null, 2);
@@ -196,10 +210,12 @@ export function register(deps) {
196
210
  server.tool("diagnose_execution", "Analyze a workflow execution to find failures. Returns failed steps with errors, preceding step output, code, and for RPA flows: specific failure pattern analysis and fix suggestions.", {
197
211
  workflowId: z.number().describe("Workflow ID"),
198
212
  executionId: z.number().describe("Execution ID to diagnose"),
199
- }, async ({ workflowId, executionId }) => {
213
+ region: regionParam,
214
+ }, async ({ workflowId, executionId, region }) => {
215
+ const r = region;
200
216
  try {
201
217
  const exec = await deps
202
- .client()
218
+ .client(r)
203
219
  .getExecution(workflowId, executionId);
204
220
  const flowRuns = exec?.flowRuns || [];
205
221
  const failures = flowRuns.filter((r) => r.status === "FAILED");
@@ -217,11 +233,11 @@ export function register(deps) {
217
233
  stepSummary: summary,
218
234
  });
219
235
  }
220
- const details = failures.map((r) => {
221
- const prevStep = flowRuns.find((p) => p.executionOrder === r.executionOrder - 1 &&
236
+ const details = failures.map((run) => {
237
+ const prevStep = flowRuns.find((p) => p.executionOrder === run.executionOrder - 1 &&
222
238
  p.status === "SUCCESS");
223
- const errorStr = JSON.stringify(r.executionLog || r.response || "");
224
- const programStr = JSON.stringify(r.program || "");
239
+ const errorStr = JSON.stringify(run.executionLog || run.response || "");
240
+ const programStr = JSON.stringify(run.program || "");
225
241
  const isRpa = programStr.includes("lam.rpa") ||
226
242
  programStr.includes("lam.httpRequest") ||
227
243
  programStr.includes("pyautogui") ||
@@ -277,13 +293,13 @@ export function register(deps) {
277
293
  }
278
294
  }
279
295
  return {
280
- stepName: r.flowName,
281
- executionOrder: r.executionOrder,
282
- status: r.status,
283
- duration: r.durationMs,
284
- error: r.executionLog || r.response,
285
- transformation: r.transformation,
286
- program: r.program,
296
+ stepName: run.flowName,
297
+ executionOrder: run.executionOrder,
298
+ status: run.status,
299
+ duration: run.durationMs,
300
+ error: run.executionLog || run.response,
301
+ transformation: run.transformation,
302
+ program: run.program,
287
303
  precedingStepOutput: prevStep
288
304
  ? {
289
305
  name: prevStep.flowName,
@@ -293,7 +309,7 @@ export function register(deps) {
293
309
  ...(rpaAnalysis && { rpaFailureAnalysis: rpaAnalysis }),
294
310
  };
295
311
  });
296
- const baseUrl = deps.getApiBase();
312
+ const baseUrl = deps.getApiBase(r);
297
313
  return ok({
298
314
  executionId,
299
315
  overallStatus: exec.status,