@minicor/mcp-server 4.7.0 → 4.8.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 (116) hide show
  1. package/README.md +18 -7
  2. package/dist/__tests__/config-stores.test.js +8 -7
  3. package/dist/__tests__/config-stores.test.js.map +1 -1
  4. package/dist/__tests__/dev-mode-draft.test.js +9 -10
  5. package/dist/__tests__/dev-mode-draft.test.js.map +1 -1
  6. package/dist/__tests__/discovery.test.js +6 -5
  7. package/dist/__tests__/discovery.test.js.map +1 -1
  8. package/dist/__tests__/helpers.test.js +20 -0
  9. package/dist/__tests__/helpers.test.js.map +1 -1
  10. package/dist/__tests__/http-server.test.js +118 -0
  11. package/dist/__tests__/http-server.test.js.map +1 -1
  12. package/dist/__tests__/mds-errors.test.d.ts +2 -0
  13. package/dist/__tests__/mds-errors.test.d.ts.map +1 -0
  14. package/dist/__tests__/mds-errors.test.js +91 -0
  15. package/dist/__tests__/mds-errors.test.js.map +1 -0
  16. package/dist/__tests__/state.test.js +104 -44
  17. package/dist/__tests__/state.test.js.map +1 -1
  18. package/dist/__tests__/vm-broker.test.d.ts +2 -0
  19. package/dist/__tests__/vm-broker.test.d.ts.map +1 -0
  20. package/dist/__tests__/vm-broker.test.js +812 -0
  21. package/dist/__tests__/vm-broker.test.js.map +1 -0
  22. package/dist/__tests__/vm-management.test.d.ts +2 -0
  23. package/dist/__tests__/vm-management.test.d.ts.map +1 -0
  24. package/dist/__tests__/vm-management.test.js +507 -0
  25. package/dist/__tests__/vm-management.test.js.map +1 -0
  26. package/dist/agent-service-client.d.ts +12 -0
  27. package/dist/agent-service-client.d.ts.map +1 -1
  28. package/dist/agent-service-client.js +74 -0
  29. package/dist/agent-service-client.js.map +1 -1
  30. package/dist/helpers.d.ts +14 -2
  31. package/dist/helpers.d.ts.map +1 -1
  32. package/dist/helpers.js +12 -3
  33. package/dist/helpers.js.map +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +4 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/lds-client.d.ts +59 -10
  38. package/dist/lds-client.d.ts.map +1 -1
  39. package/dist/lds-client.js +53 -9
  40. package/dist/lds-client.js.map +1 -1
  41. package/dist/lib.d.ts +6 -0
  42. package/dist/lib.d.ts.map +1 -1
  43. package/dist/lib.js +5 -1
  44. package/dist/lib.js.map +1 -1
  45. package/dist/mds-errors.d.ts +32 -0
  46. package/dist/mds-errors.d.ts.map +1 -0
  47. package/dist/mds-errors.js +61 -0
  48. package/dist/mds-errors.js.map +1 -0
  49. package/dist/server-surface.d.ts +2 -0
  50. package/dist/server-surface.d.ts.map +1 -1
  51. package/dist/server-surface.js +5 -2
  52. package/dist/server-surface.js.map +1 -1
  53. package/dist/state.d.ts +28 -14
  54. package/dist/state.d.ts.map +1 -1
  55. package/dist/state.js +58 -40
  56. package/dist/state.js.map +1 -1
  57. package/dist/tools/agents.d.ts.map +1 -1
  58. package/dist/tools/agents.js +2 -3
  59. package/dist/tools/agents.js.map +1 -1
  60. package/dist/tools/config-stores.d.ts.map +1 -1
  61. package/dist/tools/config-stores.js +11 -12
  62. package/dist/tools/config-stores.js.map +1 -1
  63. package/dist/tools/context.d.ts.map +1 -1
  64. package/dist/tools/context.js +1 -2
  65. package/dist/tools/context.js.map +1 -1
  66. package/dist/tools/core.d.ts.map +1 -1
  67. package/dist/tools/core.js +2 -3
  68. package/dist/tools/core.js.map +1 -1
  69. package/dist/tools/dev-mode-draft.d.ts.map +1 -1
  70. package/dist/tools/dev-mode-draft.js +16 -17
  71. package/dist/tools/dev-mode-draft.js.map +1 -1
  72. package/dist/tools/discovery.d.ts.map +1 -1
  73. package/dist/tools/discovery.js +7 -8
  74. package/dist/tools/discovery.js.map +1 -1
  75. package/dist/tools/issues.d.ts.map +1 -1
  76. package/dist/tools/issues.js +7 -8
  77. package/dist/tools/issues.js.map +1 -1
  78. package/dist/tools/jobs.d.ts.map +1 -1
  79. package/dist/tools/jobs.js +1 -2
  80. package/dist/tools/jobs.js.map +1 -1
  81. package/dist/tools/session.d.ts.map +1 -1
  82. package/dist/tools/session.js +9 -10
  83. package/dist/tools/session.js.map +1 -1
  84. package/dist/tools/skills.d.ts.map +1 -1
  85. package/dist/tools/skills.js +2 -3
  86. package/dist/tools/skills.js.map +1 -1
  87. package/dist/tools/sync-tools.d.ts.map +1 -1
  88. package/dist/tools/sync-tools.js +2 -3
  89. package/dist/tools/sync-tools.js.map +1 -1
  90. package/dist/tools/tasks.d.ts +3 -0
  91. package/dist/tools/tasks.d.ts.map +1 -0
  92. package/dist/tools/tasks.js +51 -0
  93. package/dist/tools/tasks.js.map +1 -0
  94. package/dist/tools/tfa.d.ts.map +1 -1
  95. package/dist/tools/tfa.js +14 -5
  96. package/dist/tools/tfa.js.map +1 -1
  97. package/dist/tools/vm-rpa.d.ts +2 -1
  98. package/dist/tools/vm-rpa.d.ts.map +1 -1
  99. package/dist/tools/vm-rpa.js +82 -38
  100. package/dist/tools/vm-rpa.js.map +1 -1
  101. package/dist/tools/vm.d.ts +2 -1
  102. package/dist/tools/vm.d.ts.map +1 -1
  103. package/dist/tools/vm.js +511 -114
  104. package/dist/tools/vm.js.map +1 -1
  105. package/dist/tools/workflow-ops.d.ts.map +1 -1
  106. package/dist/tools/workflow-ops.js.map +1 -1
  107. package/dist/types.d.ts +6 -0
  108. package/dist/types.d.ts.map +1 -1
  109. package/dist/vm-service-client.d.ts +8 -2
  110. package/dist/vm-service-client.d.ts.map +1 -1
  111. package/dist/vm-service-client.js.map +1 -1
  112. package/dist/vm-target.d.ts +55 -0
  113. package/dist/vm-target.d.ts.map +1 -0
  114. package/dist/vm-target.js +134 -0
  115. package/dist/vm-target.js.map +1 -0
  116. package/package.json +1 -1
@@ -60,5 +60,79 @@ export class AgentServiceClient {
60
60
  async createAgent(data) {
61
61
  return this.request("POST", "/agents", data);
62
62
  }
63
+ // ── Tasks (the minimal task engine) ──
64
+ async listTasks() {
65
+ return this.request("GET", "/tasks");
66
+ }
67
+ async runTask(slug, workspaceId, input, region) {
68
+ return this.request("POST", `/tasks/${encodeURIComponent(slug)}/runs`, {
69
+ workspaceId,
70
+ input,
71
+ region,
72
+ });
73
+ }
74
+ async listTaskRuns(slug, workspaceId) {
75
+ return this.request("GET", `/tasks/${encodeURIComponent(slug)}/runs`, undefined, workspaceId ? { workspace_id: workspaceId } : undefined);
76
+ }
77
+ async getTaskRun(runId) {
78
+ return this.request("GET", `/task-runs/${encodeURIComponent(runId)}`);
79
+ }
80
+ /**
81
+ * Post the next message into a task run (approval or revision) and wait for
82
+ * the turn to finish. The endpoint streams SSE; this assembles the agent's
83
+ * reply text so tool callers get a synchronous answer.
84
+ */
85
+ async sendTaskMessage(runId, text) {
86
+ const url = `${this.platformBase}/api/agents/task-runs/${encodeURIComponent(runId)}/messages`;
87
+ const res = await fetch(url, {
88
+ method: "POST",
89
+ headers: {
90
+ "Content-Type": "application/json",
91
+ Authorization: `Bearer ${this.token}`,
92
+ },
93
+ body: JSON.stringify({ text }),
94
+ });
95
+ if (!res.ok || !res.body) {
96
+ const detail = await res.text().catch(() => "");
97
+ throw new Error(`Task message failed (${res.status}): ${detail.slice(0, 300)}`);
98
+ }
99
+ const reader = res.body.getReader();
100
+ const decoder = new TextDecoder();
101
+ let buffer = "";
102
+ let reply = "";
103
+ let errorMessage = null;
104
+ const handle = (payload) => {
105
+ if (!payload || payload === "[DONE]")
106
+ return;
107
+ try {
108
+ const event = JSON.parse(payload);
109
+ if (event.type === "text-delta")
110
+ reply += event.delta ?? "";
111
+ else if (event.type === "error")
112
+ errorMessage = event.message ?? "Turn error";
113
+ }
114
+ catch {
115
+ /* skip malformed frames */
116
+ }
117
+ };
118
+ for (;;) {
119
+ const { done, value } = await reader.read();
120
+ if (done)
121
+ break;
122
+ buffer += decoder.decode(value, { stream: true });
123
+ let idx;
124
+ while ((idx = buffer.indexOf("\n\n")) !== -1) {
125
+ const raw = buffer.slice(0, idx);
126
+ buffer = buffer.slice(idx + 2);
127
+ for (const line of raw.split("\n")) {
128
+ if (line.startsWith("data: "))
129
+ handle(line.slice(6).trim());
130
+ }
131
+ }
132
+ }
133
+ if (errorMessage && !reply)
134
+ throw new Error(errorMessage);
135
+ return { text: reply };
136
+ }
63
137
  }
64
138
  //# sourceMappingURL=agent-service-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-service-client.js","sourceRoot":"","sources":["../src/agent-service-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,kDAAkD;AAClD,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,oDAAoD;IACpD,0DAA0D;IAC1D,sDAAsD;IACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,OAAO,kBAAkB;IACrB,YAAY,CAAS;IACrB,KAAK,CAAS;IAEtB,YAAY,OAAe,EAAE,KAAa;QACxC,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAc,EACd,WAAyD;QAEzD,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,cAAc,IAAI,EAAE,CAAC;QACnD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,EAAE;gBAAE,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;aACtC;YACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,iBAAiB,MAAM,IAAI,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,SAAc,CAAC;QAC9C,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,WAAoB;QACnC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAM,KAAK,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAcjB;QACC,OAAO,IAAI,CAAC,OAAO,CAAM,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"agent-service-client.js","sourceRoot":"","sources":["../src/agent-service-client.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -20,7 +20,8 @@ export declare function safe<T>(fn: () => Promise<T>): Promise<{
20
20
  text: string;
21
21
  }[];
22
22
  }>;
23
- export declare const NOT_CONNECTED_VM = "No VM connected. Use vm_list to discover available VMs, then vm_connect with the vmId. Or provide a Cloudflare Tunnel URL directly to vm_connect.";
23
+ export declare const NOT_CONNECTED_VM = "No VM target. Pass vmId + workspaceId on this call to target a VM directly: vm_list returns each VM's id, and workspaceId is the one you passed to vm_list. That is the only option on the hosted server, which holds no VM connection between calls; on a local install you can call vm_connect first instead.";
24
+ export declare const DIRECT_VM_TOOLS_DISABLED_HOSTED = "Direct VM tools are not available on the hosted Minicor MCP server: it is stateless (a fresh server handles every request), so a VM connection cannot be held between calls. Use a local MCP install instead (stdio \u2014 see minicor-mcp-setup) for vm_connect / vm_execute_script / vm_screenshot and the other direct VM tools. Server-side execution still works from here: dev_mode_run, execute_workflow, and run_job all target VMs by vmId without a direct connection.";
24
25
  /**
25
26
  * Classify a failed RPA workflow flow-run into a known failure pattern + a fix
26
27
  * suggestion. Shared by `diagnose_execution` (workflow-ops) and
@@ -31,5 +32,16 @@ export declare function analyzeRpaFailure(errorStr: string, programStr: string):
31
32
  pattern: string;
32
33
  suggestion: string;
33
34
  } | null;
34
- export declare function buildRpaProgram(pythonScript: string, pattern: "cloudflare_tunnel" | "channel" | "browser", flowId: string, stepName: string, stepDescription: string, expectedPreState?: string, expectedPostState?: string): string;
35
+ /**
36
+ * Config-store property naming the broker target user; broker-generated
37
+ * programs reference it as a {{config.*}} placeholder so Flows stay reusable.
38
+ */
39
+ export declare const TARGET_USER_CONFIG_PROPERTY = "minicor_desktop_service_target_user";
40
+ export declare function buildRpaProgram(pythonScript: string, pattern: "cloudflare_tunnel" | "channel" | "browser", flowId: string, stepName: string, stepDescription: string, expectedPreState?: string, expectedPostState?: string, opts?: {
41
+ /**
42
+ * Add the target-user config placeholder to the request body (tunnel and
43
+ * browser patterns; the channel pattern carries the target in channelId).
44
+ */
45
+ forBroker?: boolean;
46
+ }): string;
35
47
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAE1C;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO;;;;;EAE/B;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM;;;;;EAE/B;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;;;;;GAMjD;AAED,eAAO,MAAM,gBAAgB,sJAAsJ,CAAC;AAEpL;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqEhD;AA0BD,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,SAAS,EACpD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CA6CR"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAE1C;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO;;;;;EAE/B;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM;;;;;EAE/B;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;;;;;GAMjD;AAED,eAAO,MAAM,gBAAgB,oTAAoT,CAAC;AAElV,eAAO,MAAM,+BAA+B,qdAAgd,CAAC;AAE7f;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqEhD;AA0BD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,wCAAwC,CAAC;AAEjF,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAAG,SAAS,GAAG,SAAS,EACpD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,IAAI,CAAC,EAAE;IACL;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,MAAM,CAgDR"}
package/dist/helpers.js CHANGED
@@ -18,7 +18,8 @@ export async function safe(fn) {
18
18
  return text(`Error: ${e.message}`);
19
19
  }
20
20
  }
21
- export const NOT_CONNECTED_VM = `No VM connected. Use vm_list to discover available VMs, then vm_connect with the vmId. Or provide a Cloudflare Tunnel URL directly to vm_connect.`;
21
+ export const NOT_CONNECTED_VM = `No VM target. Pass vmId + workspaceId on this call to target a VM directly: vm_list returns each VM's id, and workspaceId is the one you passed to vm_list. That is the only option on the hosted server, which holds no VM connection between calls; on a local install you can call vm_connect first instead.`;
22
+ export const DIRECT_VM_TOOLS_DISABLED_HOSTED = `Direct VM tools are not available on the hosted Minicor MCP server: it is stateless (a fresh server handles every request), so a VM connection cannot be held between calls. Use a local MCP install instead (stdio — see minicor-mcp-setup) for vm_connect / vm_execute_script / vm_screenshot and the other direct VM tools. Server-side execution still works from here: dev_mode_run, execute_workflow, and run_job all target VMs by vmId without a direct connection.`;
22
23
  /**
23
24
  * Classify a failed RPA workflow flow-run into a known failure pattern + a fix
24
25
  * suggestion. Shared by `diagnose_execution` (workflow-ops) and
@@ -96,7 +97,12 @@ function buildStateLines(indent, expectedPreState, expectedPostState) {
96
97
  }
97
98
  return lines.length > 0 ? "\n" + lines.join("\n") : "";
98
99
  }
99
- export function buildRpaProgram(pythonScript, pattern, flowId, stepName, stepDescription, expectedPreState, expectedPostState) {
100
+ /**
101
+ * Config-store property naming the broker target user; broker-generated
102
+ * programs reference it as a {{config.*}} placeholder so Flows stay reusable.
103
+ */
104
+ export const TARGET_USER_CONFIG_PROPERTY = "minicor_desktop_service_target_user";
105
+ export function buildRpaProgram(pythonScript, pattern, flowId, stepName, stepDescription, expectedPreState, expectedPostState, opts) {
100
106
  const escaped = pythonScript.replace(/`/g, "\\`").replace(/\$/g, "\\$");
101
107
  const safeName = escapeJsonStringValue(stepName);
102
108
  const safeDesc = escapeJsonStringValue(stepDescription);
@@ -116,6 +122,9 @@ ${escaped}
116
122
  }`;
117
123
  }
118
124
  const endpoint = pattern === "browser" ? "/execute/browser" : "/execute";
125
+ const targetUserLine = opts?.forBroker
126
+ ? `\n "targetUser": "{{config.${TARGET_USER_CONFIG_PROPERTY}}}",`
127
+ : "";
119
128
  return `(data) => {
120
129
  const pythonScript = \`
121
130
  ${escaped}
@@ -132,7 +141,7 @@ ${escaped}
132
141
  "body": {
133
142
  "flowId": "${flowId}",
134
143
  "script": pythonScript,
135
- "executionId": "1",${stateBlock}
144
+ "executionId": "{{execution.id}}",${targetUserLine}${stateBlock}
136
145
  "step": { "id": "${flowId}", "name": "${safeName}", "description": "${safeDesc}", "versionId": "v1.0" }
137
146
  }
138
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAKH,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAyCpB,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAOlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAKH,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AA0CpB,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAOlD"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ import { DiskTokenStore, } from "./disk-token-store.js";
16
16
  import { TokenProvider } from "./token-provider.js";
17
17
  import { CodeModeToolRegistry, asMcpServer, buildCodeModeInstructions, shouldUseCodeMode, } from "./codemode.js";
18
18
  import { SERVER_NAME, buildInstructions, registerSurface, } from "./server-surface.js";
19
+ import { createSessionState } from "./state.js";
19
20
  import { autoCheckpoint } from "./tools/session.js";
20
21
  // ─── Token management ────────────────────────────────────────
21
22
  const REFRESH_BUFFER_MS = 5 * 60 * 1000;
@@ -213,6 +214,8 @@ function registerAll() {
213
214
  : server;
214
215
  const deps = {
215
216
  server: registrationServer,
217
+ // One state instance per process, matching createMinicorServer's isolation contract.
218
+ state: createSessionState(),
216
219
  client: (region) => {
217
220
  const r = region ?? getDefaultRegion();
218
221
  const c = clients.get(r);
@@ -240,7 +243,7 @@ function registerAll() {
240
243
  },
241
244
  availableRegions: () => [...clients.keys()],
242
245
  };
243
- registerSurface(deps, { localTools: true });
246
+ registerSurface(deps, { localTools: true, directVmTools: true });
244
247
  if (codeModeRegistry) {
245
248
  codeModeRegistry.registerCodeModeTool();
246
249
  console.error(`Experimental code mode enabled: ${codeModeRegistry.docs().length} Minicor methods exposed through codemode.`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,16 +3,26 @@
3
3
  *
4
4
  * Every method receives the base URL (Cloudflare Tunnel) and optional auth
5
5
  * credentials so the caller (tool handler) can pull them from session state.
6
+ *
7
+ * Typed MDS errors ({"success": false, "error": <code>, ...}) are raised as
8
+ * MdsError with a readable message (see mds-errors.ts); anything else stays
9
+ * a plain HTTP error.
6
10
  */
7
11
  export interface LdsAuth {
8
12
  apiKey: string;
9
13
  serviceId: string;
10
14
  }
15
+ /** MDS operating mode reported by /health. Older MDS builds omit it. */
16
+ export type LdsMode = "standalone" | "broker" | "agent";
11
17
  export interface LdsHealthResponse {
12
18
  status: string;
13
19
  version: string;
14
20
  uptime: number;
21
+ /** "standalone" | "broker" | "agent" — absent on pre-multi-session MDS. */
22
+ mode?: LdsMode | string;
15
23
  }
24
+ /** Normalize a /health response into a mode ("standalone" when unreported). */
25
+ export declare function modeFromHealth(health: LdsHealthResponse): string;
16
26
  export interface LdsScreenshotResponse {
17
27
  success: boolean;
18
28
  image: string;
@@ -32,6 +42,8 @@ export interface LdsExecuteOptions {
32
42
  messageId?: string;
33
43
  expectedPreState?: string;
34
44
  expectedPostState?: string;
45
+ /** Required by broker MDS; must be omitted for standalone (typed 501). */
46
+ targetUser?: string;
35
47
  }
36
48
  export interface LdsVerificationEntry {
37
49
  passed: boolean;
@@ -57,6 +69,8 @@ export interface LdsExecuteResponse {
57
69
  jobId?: string;
58
70
  resultData?: Record<string, unknown>;
59
71
  verification?: LdsVerificationResult;
72
+ /** Broker attribution: who actually ran it (OS-verified). */
73
+ targetUser?: string;
60
74
  }
61
75
  export interface LdsExecutionStatusResponse {
62
76
  success: boolean;
@@ -83,14 +97,39 @@ export interface LdsExecutionProgressResponse {
83
97
  current?: Record<string, unknown>;
84
98
  next?: Record<string, unknown>;
85
99
  }
86
- export interface LdsControlResponse {
87
- success: boolean;
88
- command: string;
100
+ export interface LdsBrokerAgent {
89
101
  state: string;
90
- progress?: Record<string, unknown>;
91
- pauseNext?: boolean;
92
- countdown?: boolean;
93
- error?: string;
102
+ executionId?: string | null;
103
+ version?: string;
104
+ lastBeatMs?: number;
105
+ pendingJobs?: number;
106
+ /** Phase 4 screen-capture probe: true/false, or null while unknown. */
107
+ renderable?: boolean | null;
108
+ }
109
+ export interface LdsBrokerUser {
110
+ user: string;
111
+ /** active | provisioned | starting | stopped */
112
+ state: string;
113
+ sessionId: number | null;
114
+ agent: LdsBrokerAgent | null;
115
+ lastError?: string;
116
+ }
117
+ export interface LdsStatusResponse {
118
+ broker?: {
119
+ version?: string;
120
+ uptimeS?: number;
121
+ };
122
+ users: LdsBrokerUser[];
123
+ /** Desktop jobs holding + waiting per user. */
124
+ queues?: Record<string, number>;
125
+ counters?: Record<string, unknown>;
126
+ }
127
+ export interface LdsSessionActionResponse {
128
+ success?: boolean;
129
+ user?: string;
130
+ state?: string;
131
+ sessionId?: number | null;
132
+ [key: string]: unknown;
94
133
  }
95
134
  export interface LdsRecentExecution {
96
135
  ts_ms: number;
@@ -107,11 +146,21 @@ export interface LdsRecentExecution {
107
146
  client?: string;
108
147
  }
109
148
  export declare function health(baseUrl: string): Promise<LdsHealthResponse>;
110
- export declare function screenshot(baseUrl: string, auth?: LdsAuth): Promise<LdsScreenshotResponse>;
149
+ /** Live mode discovery: reads /health.mode ("standalone" when unreported). */
150
+ export declare function discoverMode(baseUrl: string): Promise<string>;
151
+ export declare function screenshot(baseUrl: string, auth?: LdsAuth, targetUser?: string): Promise<LdsScreenshotResponse>;
111
152
  export declare function execute(baseUrl: string, script: string, opts?: LdsExecuteOptions, auth?: LdsAuth): Promise<LdsExecuteResponse>;
153
+ /** GET /status — broker-only; lists registered users + session/agent state. */
154
+ export declare function status(baseUrl: string, auth?: LdsAuth): Promise<LdsStatusResponse>;
155
+ /** POST /sessions/{user}/start — blocks until the session is up and its agent registered. */
156
+ export declare function sessionStart(baseUrl: string, user: string, auth?: LdsAuth): Promise<LdsSessionActionResponse>;
157
+ /** POST /sessions/{user}/stop — disconnects (session stays logged in, goes dark). */
158
+ export declare function sessionStop(baseUrl: string, user: string, auth?: LdsAuth): Promise<LdsSessionActionResponse>;
112
159
  export declare function executionStatus(baseUrl: string, auth?: LdsAuth): Promise<LdsExecutionStatusResponse>;
113
- export declare function executionProgress(baseUrl: string, auth?: LdsAuth): Promise<LdsExecutionProgressResponse>;
114
- export declare function executionControl(baseUrl: string, command: "pause" | "resume" | "stop" | "skip", auth?: LdsAuth): Promise<LdsControlResponse>;
160
+ export declare function executionProgress(baseUrl: string, auth?: LdsAuth, opts?: {
161
+ executionId?: string;
162
+ targetUser?: string;
163
+ }): Promise<LdsExecutionProgressResponse>;
115
164
  export declare function recentExecutions(baseUrl: string, opts?: {
116
165
  limit?: number;
117
166
  source?: "execute" | "pubsub";
@@ -1 +1 @@
1
- {"version":3,"file":"lds-client.d.ts","sourceRoot":"","sources":["../src/lds-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lds-client.d.ts","sourceRoot":"","sources":["../src/lds-client.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,16 @@
3
3
  *
4
4
  * Every method receives the base URL (Cloudflare Tunnel) and optional auth
5
5
  * credentials so the caller (tool handler) can pull them from session state.
6
+ *
7
+ * Typed MDS errors ({"success": false, "error": <code>, ...}) are raised as
8
+ * MdsError with a readable message (see mds-errors.ts); anything else stays
9
+ * a plain HTTP error.
6
10
  */
11
+ import { mdsErrorFromBody } from "./mds-errors.js";
12
+ /** Normalize a /health response into a mode ("standalone" when unreported). */
13
+ export function modeFromHealth(health) {
14
+ return health.mode ?? "standalone";
15
+ }
7
16
  function authHeaders(auth) {
8
17
  if (!auth)
9
18
  return {};
@@ -19,6 +28,9 @@ async function request(url, init) {
19
28
  const res = await fetch(url, init);
20
29
  if (!res.ok) {
21
30
  const body = await res.text().catch(() => "");
31
+ const typed = mdsErrorFromBody(res.status, body);
32
+ if (typed)
33
+ throw typed;
22
34
  throw new Error(`MDS ${init?.method ?? "GET"} ${url} returned ${res.status}: ${body}`);
23
35
  }
24
36
  return res.json();
@@ -27,8 +39,15 @@ export async function health(baseUrl) {
27
39
  const url = `${normalizeUrl(baseUrl)}/health`;
28
40
  return request(url);
29
41
  }
30
- export async function screenshot(baseUrl, auth) {
31
- const url = `${normalizeUrl(baseUrl)}/screenshot`;
42
+ /** Live mode discovery: reads /health.mode ("standalone" when unreported). */
43
+ export async function discoverMode(baseUrl) {
44
+ return modeFromHealth(await health(baseUrl));
45
+ }
46
+ export async function screenshot(baseUrl, auth, targetUser) {
47
+ const qs = targetUser
48
+ ? `?targetUser=${encodeURIComponent(targetUser)}`
49
+ : "";
50
+ const url = `${normalizeUrl(baseUrl)}/screenshot${qs}`;
32
51
  return request(url, {
33
52
  headers: { "Content-Type": "application/json", ...authHeaders(auth) },
34
53
  });
@@ -45,30 +64,55 @@ export async function execute(baseUrl, script, opts, auth) {
45
64
  payload.expectedPreState = opts.expectedPreState;
46
65
  if (opts?.expectedPostState)
47
66
  payload.expectedPostState = opts.expectedPostState;
67
+ if (opts?.targetUser)
68
+ payload.targetUser = opts.targetUser;
48
69
  return request(url, {
49
70
  method: "POST",
50
71
  headers: { "Content-Type": "application/json", ...authHeaders(auth) },
51
72
  body: JSON.stringify(payload),
52
73
  });
53
74
  }
54
- export async function executionStatus(baseUrl, auth) {
55
- const url = `${normalizeUrl(baseUrl)}/execute/status`;
75
+ // ── Broker status + session lifecycle ─────────────────────────
76
+ /** GET /status — broker-only; lists registered users + session/agent state. */
77
+ export async function status(baseUrl, auth) {
78
+ const url = `${normalizeUrl(baseUrl)}/status`;
56
79
  return request(url, {
57
80
  headers: { "Content-Type": "application/json", ...authHeaders(auth) },
58
81
  });
59
82
  }
60
- export async function executionProgress(baseUrl, auth) {
61
- const url = `${normalizeUrl(baseUrl)}/execute/progress`;
83
+ /** POST /sessions/{user}/start blocks until the session is up and its agent registered. */
84
+ export async function sessionStart(baseUrl, user, auth) {
85
+ const url = `${normalizeUrl(baseUrl)}/sessions/${encodeURIComponent(user)}/start`;
62
86
  return request(url, {
87
+ method: "POST",
63
88
  headers: { "Content-Type": "application/json", ...authHeaders(auth) },
64
89
  });
65
90
  }
66
- export async function executionControl(baseUrl, command, auth) {
67
- const url = `${normalizeUrl(baseUrl)}/execute/control`;
91
+ /** POST /sessions/{user}/stop — disconnects (session stays logged in, goes dark). */
92
+ export async function sessionStop(baseUrl, user, auth) {
93
+ const url = `${normalizeUrl(baseUrl)}/sessions/${encodeURIComponent(user)}/stop`;
68
94
  return request(url, {
69
95
  method: "POST",
70
96
  headers: { "Content-Type": "application/json", ...authHeaders(auth) },
71
- body: JSON.stringify({ command }),
97
+ });
98
+ }
99
+ export async function executionStatus(baseUrl, auth) {
100
+ const url = `${normalizeUrl(baseUrl)}/execute/status`;
101
+ return request(url, {
102
+ headers: { "Content-Type": "application/json", ...authHeaders(auth) },
103
+ });
104
+ }
105
+ export async function executionProgress(baseUrl, auth, opts) {
106
+ const params = new URLSearchParams();
107
+ if (opts?.executionId)
108
+ params.set("executionId", opts.executionId);
109
+ // Brokers route the progress lookup to that user's agent.
110
+ if (opts?.targetUser)
111
+ params.set("targetUser", opts.targetUser);
112
+ const qs = params.toString();
113
+ const url = `${normalizeUrl(baseUrl)}/execute/progress${qs ? `?${qs}` : ""}`;
114
+ return request(url, {
115
+ headers: { "Content-Type": "application/json", ...authHeaders(auth) },
72
116
  });
73
117
  }
74
118
  export async function recentExecutions(baseUrl, opts, auth) {
@@ -1 +1 @@
1
- {"version":3,"file":"lds-client.js","sourceRoot":"","sources":["../src/lds-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lds-client.js","sourceRoot":"","sources":["../src/lds-client.ts"],"names":[],"mappings":"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"}
package/dist/lib.d.ts CHANGED
@@ -39,6 +39,12 @@ export interface MinicorServerOptions {
39
39
  * because its disk is ephemeral and shared across users.
40
40
  */
41
41
  localTools?: boolean;
42
+ /**
43
+ * Let the stateful direct-VM tools hold a live VM connection. Default true.
44
+ * The hosted stateless HTTP server sets false (a per-request server cannot
45
+ * hold a connection); the tools stay registered but point to a local install.
46
+ */
47
+ directVmTools?: boolean;
42
48
  }
43
49
  /**
44
50
  * Create and connect a Minicor MCP server on the given transport.
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAkBpB,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrF,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wKAAwK;IACxK,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkDD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAiJ5D;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAmBpB,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrF,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wKAAwK;IACxK,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkDD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAoJ5D;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
package/dist/lib.js CHANGED
@@ -18,6 +18,7 @@ import { apiBaseToRegion, resolveApiBase, validateApiBaseUrl, } from "./paths.js
18
18
  import { TokenProvider } from "./token-provider.js";
19
19
  import { CodeModeToolRegistry, asMcpServer, buildCodeModeInstructions, shouldUseCodeMode, } from "./codemode.js";
20
20
  import { SERVER_NAME, buildInstructions, registerSurface, } from "./server-surface.js";
21
+ import { createSessionState } from "./state.js";
21
22
  import { autoCheckpoint } from "./tools/session.js";
22
23
  const DEFAULT_VM_SERVICE_URL = "https://lam-vm-service-ernfuwetfa-uc.a.run.app";
23
24
  async function refreshViaApi(apiBase, refreshToken) {
@@ -58,6 +59,7 @@ function buildProvider(creds, apiBase, onUpdate) {
58
59
  */
59
60
  export async function createMinicorServer(transport, opts = {}) {
60
61
  const localTools = opts.localTools ?? true;
62
+ const directVmTools = opts.directVmTools ?? true;
61
63
  const codeModeEnabled = opts.codeMode ?? shouldUseCodeMode();
62
64
  const instructions = buildInstructions(localTools);
63
65
  const server = new McpServer({ name: SERVER_NAME, version: "4.7.0" }, {
@@ -119,6 +121,8 @@ export async function createMinicorServer(transport, opts = {}) {
119
121
  : server;
120
122
  const deps = {
121
123
  server: registrationServer,
124
+ // Each instance owns its VM/session state; never shared across servers.
125
+ state: createSessionState(),
122
126
  client: (region) => {
123
127
  const r = region ?? getDefaultRegion();
124
128
  const c = clients.get(r);
@@ -158,7 +162,7 @@ export async function createMinicorServer(transport, opts = {}) {
158
162
  getAuthToken: (region) => tokens.get(region ?? getDefaultRegion()) ?? "",
159
163
  availableRegions: () => [...clients.keys()],
160
164
  };
161
- registerSurface(deps, { localTools });
165
+ registerSurface(deps, { localTools, directVmTools });
162
166
  if (codeModeRegistry) {
163
167
  codeModeRegistry.registerCodeModeTool();
164
168
  }