@minicor/mcp-server 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +3 -13
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -30
- package/dist/config.js.map +1 -1
- package/dist/helpers.d.ts +0 -3
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +0 -31
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -36
- package/dist/index.js.map +1 -1
- package/dist/prompts/build-nerve-rpa.d.ts +3 -0
- package/dist/prompts/build-nerve-rpa.d.ts.map +1 -0
- package/dist/prompts/build-nerve-rpa.js +148 -0
- package/dist/prompts/build-nerve-rpa.js.map +1 -0
- package/dist/prompts/build-rpa.d.ts.map +1 -1
- package/dist/prompts/build-rpa.js +123 -20
- package/dist/prompts/build-rpa.js.map +1 -1
- package/dist/prompts/debug-execution.d.ts.map +1 -1
- package/dist/prompts/debug-execution.js +22 -1
- package/dist/prompts/debug-execution.js.map +1 -1
- package/dist/prompts/workflow-guide.d.ts.map +1 -1
- package/dist/prompts/workflow-guide.js +3 -14
- package/dist/prompts/workflow-guide.js.map +1 -1
- package/dist/setup.js +19 -83
- package/dist/setup.js.map +1 -1
- package/dist/state.d.ts +0 -9
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +0 -9
- package/dist/state.js.map +1 -1
- package/dist/tools/core.d.ts.map +1 -1
- package/dist/tools/core.js +0 -7
- package/dist/tools/core.js.map +1 -1
- package/dist/tools/vm-rpa.d.ts.map +1 -1
- package/dist/tools/vm-rpa.js +60 -3
- package/dist/tools/vm-rpa.js.map +1 -1
- package/dist/tools/vm.d.ts.map +1 -1
- package/dist/tools/vm.js +16 -5
- package/dist/tools/vm.js.map +1 -1
- package/dist/types.d.ts +0 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export function register({ server }) {
|
|
3
|
-
server.prompt("build-rpa-workflow", "Iteratively build an RPA workflow on a VM using the Laminar Desktop Service. Guides you through connecting to the VM, researching the target app's UI framework, taking screenshots, inspecting UI elements, writing and testing RPA scripts, and saving each working step as a
|
|
3
|
+
server.prompt("build-rpa-workflow", "Iteratively build an RPA workflow on a VM using the Laminar Desktop Service. Guides you through connecting to the VM, researching the target app's UI framework, taking screenshots, inspecting UI elements, writing and testing RPA scripts, and saving each working step as a Minicor workflow flow.", {
|
|
4
4
|
workspaceId: z.string().describe("Laminar workspace ID"),
|
|
5
5
|
task: z
|
|
6
6
|
.string()
|
|
@@ -18,7 +18,7 @@ export function register({ server }) {
|
|
|
18
18
|
role: "user",
|
|
19
19
|
content: {
|
|
20
20
|
type: "text",
|
|
21
|
-
text: `You are building an RPA workflow on the
|
|
21
|
+
text: `You are building an RPA workflow on the Minicor platform. Your goal is to iteratively create automation steps that run on a VM via the Laminar Desktop Service (LDS).
|
|
22
22
|
|
|
23
23
|
## Task
|
|
24
24
|
${task}
|
|
@@ -38,26 +38,86 @@ ID: ${workspaceId}${workflowId ? `\nExisting workflow ID: ${workflowId} (add ste
|
|
|
38
38
|
3. Only then → save via \`create_rpa_flow\`
|
|
39
39
|
|
|
40
40
|
### Rule 2 — USE \`create_rpa_flow\` TO SAVE (NOT \`create_flow\`)
|
|
41
|
-
When saving an RPA step, call **\`create_rpa_flow\`** — it automatically wraps your Python script in the correct
|
|
41
|
+
When saving an RPA step, call **\`create_rpa_flow\`** — it automatically wraps your Python script in the correct Minicor JS format. You only pass the Python script; the tool handles the \`lam.httpRequest\` / \`lam.rpa\` wrapper.
|
|
42
42
|
|
|
43
43
|
**NEVER** call \`create_flow\` with raw Python for an RPA step. **NEVER** try to construct the JS wrapper yourself.
|
|
44
44
|
|
|
45
45
|
### Rule 3 — COMBINE ui_inspect + screenshots + clipboard
|
|
46
46
|
Screenshots alone are unreliable for reading data (resolution issues, misreads). ALWAYS combine multiple methods. See the Data Extraction Strategy section below.
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## Strategy Selection (BEFORE writing any automation)
|
|
49
49
|
|
|
50
|
-
###
|
|
51
|
-
|
|
50
|
+
### For Web/Browser Targets:
|
|
51
|
+
- Chrome runs on the VM with \`--remote-debugging-port=9222\`
|
|
52
|
+
- Use **CDP via Python websocket** for page manipulation (fastest, most reliable for anti-bot sites)
|
|
53
|
+
- Use \`pyautogui\` for screenshots, mouse clicks outside the browser, keyboard shortcuts
|
|
54
|
+
- Check if the site has usable internal APIs (inspect network traffic via CDP \`fetch\` interception)
|
|
55
|
+
- If clean APIs exist and are stable → consider direct \`requests\`/\`httpx\` instead of UI automation
|
|
56
|
+
- If anti-bot protection exists (Cloudflare, reCAPTCHA) → CDP through the VM browser avoids detection
|
|
52
57
|
|
|
53
|
-
###
|
|
54
|
-
Based on "${appName}", pick the UI automation framework:
|
|
58
|
+
### For Desktop Targets:
|
|
55
59
|
- **.NET / WPF / WinForms** → \`uiautomation\` (default) or \`pywinauto\`
|
|
56
60
|
- **Java / Swing** → \`jab\` (Java Access Bridge)
|
|
57
|
-
- **Electron / web-based desktop** → \`pywinauto\` or pyautogui
|
|
61
|
+
- **Electron / web-based desktop** → \`pywinauto\` or \`pyautogui\`
|
|
58
62
|
- **Legacy Win32** → \`uiautomation\`
|
|
63
|
+
- Start with \`uiautomation\` if unsure.
|
|
64
|
+
|
|
65
|
+
## Browser Automation via CDP (Python WebSocket)
|
|
66
|
+
|
|
67
|
+
Chrome on the VM runs with remote debugging enabled at port 9222. Your Python scripts connect directly via the Chrome DevTools Protocol.
|
|
68
|
+
|
|
69
|
+
### How CDP Works:
|
|
70
|
+
1. Discover tabs: \`GET http://127.0.0.1:9222/json\`
|
|
71
|
+
2. Connect via WebSocket to the target tab's \`webSocketDebuggerUrl\`
|
|
72
|
+
3. Use \`Runtime.evaluate\` to execute JavaScript in the page context
|
|
73
|
+
4. Use \`pyautogui\` for screenshots and non-DOM interactions (escape key, etc.)
|
|
74
|
+
|
|
75
|
+
### CDP Starter Template:
|
|
76
|
+
\`\`\`python
|
|
77
|
+
import json, websocket, time
|
|
78
|
+
from urllib.request import urlopen
|
|
79
|
+
|
|
80
|
+
tabs = json.loads(urlopen('http://127.0.0.1:9222/json').read())
|
|
81
|
+
page_tab = [t for t in tabs if t.get('type') == 'page'][0]
|
|
82
|
+
ws = websocket.create_connection(page_tab['webSocketDebuggerUrl'])
|
|
83
|
+
cmd_id = 0
|
|
59
84
|
|
|
60
|
-
|
|
85
|
+
def cdp_eval(ws, js):
|
|
86
|
+
global cmd_id; cmd_id += 1
|
|
87
|
+
ws.send(json.dumps({'id': cmd_id, 'method': 'Runtime.evaluate', 'params': {'expression': js}}))
|
|
88
|
+
while True:
|
|
89
|
+
msg = json.loads(ws.recv())
|
|
90
|
+
if msg.get('id') == cmd_id: return msg
|
|
91
|
+
|
|
92
|
+
# Navigate
|
|
93
|
+
cdp_eval(ws, 'window.location.href="https://example.com"')
|
|
94
|
+
time.sleep(8)
|
|
95
|
+
|
|
96
|
+
# Fill input using React-safe setter (ALWAYS use this for React/Angular/Vue apps)
|
|
97
|
+
cdp_eval(ws, 'var s=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;var inp=document.querySelector("input[type=email]");if(inp){s.call(inp,"user@example.com");inp.dispatchEvent(new Event("input",{bubbles:true}));inp.dispatchEvent(new Event("change",{bubbles:true}))}')
|
|
98
|
+
|
|
99
|
+
# Click button by text content (more resilient than CSS selectors)
|
|
100
|
+
cdp_eval(ws, 'document.querySelectorAll("button").forEach(function(b){if(b.textContent.trim()==="Submit"){b.click()}})')
|
|
101
|
+
|
|
102
|
+
ws.close()
|
|
103
|
+
\`\`\`
|
|
104
|
+
|
|
105
|
+
### Key CDP Patterns:
|
|
106
|
+
- **React-safe value setter**: Always use \`Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set\` — direct \`.value=\` assignment does NOT trigger React/Angular change detection
|
|
107
|
+
- **Button clicks by text**: Use \`querySelectorAll("button").forEach()\` + \`textContent.trim()\` matching — more resilient than IDs or classes that change
|
|
108
|
+
- **Credentials**: Use \`\\\${username}\` / \`\\\${password}\` interpolated from JS wrapper variables sourced from \`{{config.xxx}}\` — NEVER hardcode
|
|
109
|
+
- **Waits**: \`time.sleep()\` between navigations (8-15s for page loads, 1-3s for UI actions)
|
|
110
|
+
- **Verification**: Combine CDP with \`pyautogui.screenshot()\` for visual confirmation
|
|
111
|
+
- **Dropdown handling**: Click to open, then use \`querySelectorAll\` to find options by text and click
|
|
112
|
+
- **Tab management**: If multiple tabs open, filter \`/json\` response by URL or title
|
|
113
|
+
|
|
114
|
+
## Procedure
|
|
115
|
+
|
|
116
|
+
### 1. Connect to the VM
|
|
117
|
+
If no VM is connected, ask for the **Cloudflare Tunnel URL** and call \`vm_connect\`.
|
|
118
|
+
|
|
119
|
+
### 2. Research the Target Application
|
|
120
|
+
Based on "${appName}", determine if it's a **web/browser** target or a **desktop** target using the Strategy Selection above.
|
|
61
121
|
|
|
62
122
|
### 3. Initial Survey (ALWAYS do this first)
|
|
63
123
|
Before writing any automation:
|
|
@@ -92,15 +152,54 @@ Before writing any automation:
|
|
|
92
152
|
- The tool handles all JS wrapping automatically
|
|
93
153
|
- Default dispatch: \`cloudflare_tunnel\` (uses \`lam.httpRequest\`)
|
|
94
154
|
|
|
95
|
-
### 5.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
-
|
|
155
|
+
### 5. Data Passing Between Steps (CRITICAL)
|
|
156
|
+
|
|
157
|
+
Workflow input is available as \`data.input\` in the **JS wrapper**, NOT in Python directly. Dynamic values must be interpolated in the JS layer, then embedded into the Python template literal.
|
|
158
|
+
|
|
159
|
+
**CORRECT — JS-layer interpolation (how the existing SOAP workflow does it):**
|
|
160
|
+
\`\`\`javascript
|
|
161
|
+
(data) => {
|
|
162
|
+
const mrn = data?.input?.mrn || "DEFAULT";
|
|
163
|
+
const pythonScript = \\\`
|
|
164
|
+
mrn = "\${mrn}"
|
|
165
|
+
# ... rest of Python script uses mrn variable
|
|
166
|
+
\\\`;
|
|
167
|
+
return { "lam.httpRequest": { ... body: { script: pythonScript } } };
|
|
168
|
+
}
|
|
169
|
+
\`\`\`
|
|
170
|
+
|
|
171
|
+
**WRONG — Python template vars (will show literal text, not resolved):**
|
|
172
|
+
\`\`\`python
|
|
173
|
+
mrn = "{{input.mrn}}" # WRONG — this is not a config variable
|
|
174
|
+
mrn = data.input.mrn # WRONG — data object doesn't exist in Python
|
|
175
|
+
\`\`\`
|
|
176
|
+
|
|
177
|
+
\`create_rpa_flow\` generates the JS wrapper automatically, but if the script needs dynamic input from \`data.input\` or \`data.step_N\`, you must construct the JS wrapper yourself or update the flow after creation to add JS-layer const declarations that interpolate values into the Python template literal.
|
|
178
|
+
|
|
179
|
+
**Config variables** like \`{{config.username}}\` ARE resolved by the workflow engine and work in both JS and Python layers. Use these for credentials and environment URLs.
|
|
180
|
+
|
|
181
|
+
**Previous step outputs** are at \`data.step_N.response\` (for HTTP/RPA steps) or \`data.step_N.data\` (for GENERAL_FUNCTION steps).
|
|
182
|
+
|
|
183
|
+
### 6. Test Through Minicor (REQUIRED — vm_execute_script is NOT enough)
|
|
184
|
+
|
|
185
|
+
\`vm_execute_script\` is for **prototyping only**. Scripts that pass on the VM may FAIL when run through Minicor because:
|
|
186
|
+
- \`{{config.xxx}}\` variables only resolve in the workflow engine
|
|
187
|
+
- \`data.input\` interpolation only works through the JS wrapper
|
|
188
|
+
- Step-to-step data flow (\`data.step_N\`) only works in the real executor
|
|
189
|
+
|
|
190
|
+
**After saving ALL steps, you MUST test through Minicor:**
|
|
191
|
+
|
|
192
|
+
a. \`execute_workflow\` with **real input data** and a **configurationId** pointing to the correct config store
|
|
193
|
+
b. If a step fails → \`diagnose_execution\` to identify the issue
|
|
194
|
+
c. Use \`test_workflow_step\` to re-run individual failing steps through Minicor (NOT \`vm_execute_script\`)
|
|
195
|
+
d. Fix with \`update_flow\`, then re-test through \`execute_workflow\` again
|
|
196
|
+
e. Iterate until the **full workflow passes end-to-end** through \`execute_workflow\`
|
|
197
|
+
|
|
198
|
+
**Do NOT declare a workflow complete until it passes \`execute_workflow\` with real inputs.**
|
|
100
199
|
|
|
101
|
-
###
|
|
102
|
-
- Present completed workflow summary
|
|
103
|
-
- Make adjustments, re-validate changed steps
|
|
200
|
+
### 7. Iterate with the User
|
|
201
|
+
- Present completed workflow summary with execution results from Minicor
|
|
202
|
+
- Make adjustments, re-validate changed steps through \`execute_workflow\`
|
|
104
203
|
|
|
105
204
|
## Data Extraction Strategy
|
|
106
205
|
|
|
@@ -146,15 +245,19 @@ When you need to READ data from the screen (not just click/type), follow this pr
|
|
|
146
245
|
## Debugging Tools
|
|
147
246
|
|
|
148
247
|
- **\`debug_rpa_step\`** — runs a script with before/after screenshots and full diagnostics (stdout, stderr, exit code). Use during development.
|
|
149
|
-
- **\`vm_reset_state\`** —
|
|
248
|
+
- **\`vm_reset_state\`** — Manage windows: focus an app, minimize all, close dialogs, or close an app. Use before testing.
|
|
150
249
|
- **\`vm_read_clipboard\`** — read clipboard after a copy operation.
|
|
151
|
-
- **\`vm_screenshot_region\`** — crop/zoom a region for better text reading.
|
|
250
|
+
- **\`vm_screenshot_region\`** — crop/zoom a specific screen region for better text reading or verifying specific UI elements.
|
|
152
251
|
- **\`batch_test_rpa\`** — run the workflow with multiple test inputs.
|
|
252
|
+
- **Video Recordings** — Minicor records MP4 videos of each RPA step execution. Use \`get_full_execution\` to see recording references (\`recording.blobName\`). These can be viewed in the Minicor platform for visual debugging.
|
|
153
253
|
|
|
154
254
|
## Important Rules
|
|
155
255
|
- **VALIDATE BEFORE SAVING** — no exceptions unless user explicitly opts out
|
|
256
|
+
- **TEST THROUGH MINICOR** — \`vm_execute_script\` is for prototyping. Always run \`execute_workflow\` with real inputs before declaring done.
|
|
156
257
|
- **Use \`create_rpa_flow\`** — never construct JS wrappers manually
|
|
157
258
|
- **Use \`{{config.variables}}\` for secrets** — never hardcode credentials
|
|
259
|
+
- **Last step = workflow output** — The workflow returns whatever the FINAL step produces. If you need structured data returned (JSON, extracted records), the last step must output it. Don't put meaningful data in step N and cleanup in step N+1. Combine cleanup + data return in the last step, or add a GENERAL_FUNCTION step after RPA that formats the final result.
|
|
260
|
+
- **Study existing workflows first** — Before building, check if similar workflows exist in the workspace via \`get_workflow_overview\`. Reuse proven patterns for JS wrapper data passing, coordinate discovery, and framework selection. Existing workflows are battle-tested — copy their interpolation patterns.
|
|
158
261
|
- **Combine extraction methods** — accessibility tree + clipboard + screenshots
|
|
159
262
|
- **Start simple** — get basic automation working before adding sophistication
|
|
160
263
|
- **Add waits** — use \`time.sleep()\` or element-wait patterns between actions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-rpa.js","sourceRoot":"","sources":["../../src/prompts/build-rpa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAY;IAC3C,MAAM,CAAC,MAAM,CACX,oBAAoB,EACpB,wSAAwS,EACxS;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACxD,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,iHAAiH,CAClH;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,uFAAuF,CACxF;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sEAAsE,CACvE;KACJ,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;EAGhB,IAAI;;;EAGJ,OAAO;;;MAGH,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,2BAA2B,UAAU,+BAA+B,CAAC,CAAC,CAAC,8CAA8C
|
|
1
|
+
{"version":3,"file":"build-rpa.js","sourceRoot":"","sources":["../../src/prompts/build-rpa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAY;IAC3C,MAAM,CAAC,MAAM,CACX,oBAAoB,EACpB,wSAAwS,EACxS;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACxD,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,CACP,iHAAiH,CAClH;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,CACP,uFAAuF,CACxF;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sEAAsE,CACvE;KACJ,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;EAGhB,IAAI;;;EAGJ,OAAO;;;MAGH,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,2BAA2B,UAAU,+BAA+B,CAAC,CAAC,CAAC,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA0F1I,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAiJsC;iBAC9C;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-execution.d.ts","sourceRoot":"","sources":["../../src/prompts/debug-execution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"debug-execution.d.ts","sourceRoot":"","sources":["../../src/prompts/debug-execution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,QAyEpD"}
|
|
@@ -40,7 +40,28 @@ ${json(flowsData)}
|
|
|
40
40
|
## Execution Details:
|
|
41
41
|
${json(executionData)}
|
|
42
42
|
|
|
43
|
-
Analyze the execution, identify failures, explain root causes, and suggest specific code fixes for the failing steps. Use the
|
|
43
|
+
Analyze the execution, identify failures, explain root causes, and suggest specific code fixes for the failing steps. Use the Minicor workflow specification (available via the minicor-workflow-guide prompt) for correct syntax.
|
|
44
|
+
|
|
45
|
+
## Debugging Strategy
|
|
46
|
+
|
|
47
|
+
### 1. Analyze the execution data above
|
|
48
|
+
- Identify which steps failed and their error messages
|
|
49
|
+
- Check the transformation (input) data for each failed step
|
|
50
|
+
- Look at preceding successful steps for context
|
|
51
|
+
|
|
52
|
+
### 2. Check for video recordings
|
|
53
|
+
- RPA step executions include \`recording.blobName\` in their response data (e.g. \`rpa_1_step-name.mp4\`)
|
|
54
|
+
- These MP4 recordings can be viewed in the Minicor platform for visual debugging
|
|
55
|
+
|
|
56
|
+
### 3. If a VM is connected — reproduce on the live VM
|
|
57
|
+
- Use \`replay_execution_step\` with the failed flow run ID to re-run the exact script with before/after screenshots
|
|
58
|
+
- Use \`vm_screenshot\` + \`vm_inspect_ui\` to compare expected vs actual VM state
|
|
59
|
+
- Use \`debug_rpa_step\` with a modified script to test fixes
|
|
60
|
+
|
|
61
|
+
### 4. Fix and redeploy
|
|
62
|
+
- After identifying the fix, use \`debug_rpa_step\` to validate the corrected script
|
|
63
|
+
- Use \`update_flow\` to deploy the fixed step code
|
|
64
|
+
- Use \`execute_workflow\` to verify the full workflow works end-to-end`,
|
|
44
65
|
},
|
|
45
66
|
},
|
|
46
67
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-execution.js","sourceRoot":"","sources":["../../src/prompts/debug-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAY;IACnD,MAAM,CAAC,MAAM,CACX,0BAA0B,EAC1B,uDAAuD,EACvD;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACxD,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,aAAkB,CAAC;QACvB,IAAI,SAAc,CAAC;QAEnB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtD,SAAS,GAAG,MAAM,MAAM,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,mCAAmC,CAAC,CAAC,OAAO,EAAE;yBACrD;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;EAGlB,IAAI,CAAC,SAAS,CAAC;;;EAGf,IAAI,CAAC,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"debug-execution.js","sourceRoot":"","sources":["../../src/prompts/debug-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAY;IACnD,MAAM,CAAC,MAAM,CACX,0BAA0B,EAC1B,uDAAuD,EACvD;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACxD,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,aAAkB,CAAC;QACvB,IAAI,SAAc,CAAC;QAEnB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtD,SAAS,GAAG,MAAM,MAAM,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,mCAAmC,CAAC,CAAC,OAAO,EAAE;yBACrD;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;EAGlB,IAAI,CAAC,SAAS,CAAC;;;EAGf,IAAI,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;wEAuBmD;qBAC3D;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-guide.d.ts","sourceRoot":"","sources":["../../src/prompts/workflow-guide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"workflow-guide.d.ts","sourceRoot":"","sources":["../../src/prompts/workflow-guide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,QAuK5C"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export function register({ server }) {
|
|
2
|
-
server.prompt("
|
|
2
|
+
server.prompt("minicor-workflow-guide", "Comprehensive guide for creating and editing Minicor workflows — step types, data access patterns, available libraries, and best practices", {}, async () => ({
|
|
3
3
|
messages: [
|
|
4
4
|
{
|
|
5
5
|
role: "user",
|
|
6
6
|
content: {
|
|
7
7
|
type: "text",
|
|
8
|
-
text: `Please use this
|
|
8
|
+
text: `Please use this Minicor platform specification when creating or editing workflows:
|
|
9
9
|
|
|
10
|
-
#
|
|
10
|
+
# Minicor Workflow Specification
|
|
11
11
|
|
|
12
12
|
## Step Structure
|
|
13
13
|
Every step is a JSON object with these fields:
|
|
@@ -70,17 +70,6 @@ def transform(data):
|
|
|
70
70
|
|
|
71
71
|
Multiple requests: use \`"lam.httpRequests"\` (plural) with an array.
|
|
72
72
|
|
|
73
|
-
### SHELL_SCRIPT
|
|
74
|
-
\`\`\`json
|
|
75
|
-
{
|
|
76
|
-
"lam.shell": {
|
|
77
|
-
"script": "Bash script as string",
|
|
78
|
-
"environment": {},
|
|
79
|
-
"timeout": 300,
|
|
80
|
-
"binaryDataIds": []
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
\`\`\`
|
|
84
73
|
|
|
85
74
|
### RPA (Desktop Automation)
|
|
86
75
|
**IMPORTANT: Use the \`create_rpa_flow\` tool to save RPA steps.** It accepts your validated Python script and automatically wraps it in the correct JS format. You do NOT need to construct the wrapper yourself.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-guide.js","sourceRoot":"","sources":["../../src/prompts/workflow-guide.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAY;IAC3C,MAAM,CAAC,MAAM,CACX,wBAAwB,EACxB,4IAA4I,EAC5I,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"workflow-guide.js","sourceRoot":"","sources":["../../src/prompts/workflow-guide.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAY;IAC3C,MAAM,CAAC,MAAM,CACX,wBAAwB,EACxB,4IAA4I,EAC5I,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gGAsJ8E;iBACrF;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/setup.js
CHANGED
|
@@ -7,14 +7,22 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Tokens stored in ~/.minicor/tokens.json, MCP config written to ~/.cursor/mcp.json
|
|
9
9
|
*/
|
|
10
|
-
import http from "node:http";
|
|
11
10
|
import { exec } from "node:child_process";
|
|
12
|
-
import readline from "node:readline";
|
|
13
|
-
import path from "node:path";
|
|
14
11
|
import fs from "node:fs";
|
|
12
|
+
import http from "node:http";
|
|
15
13
|
import os from "node:os";
|
|
16
|
-
import
|
|
17
|
-
import
|
|
14
|
+
import path from "node:path";
|
|
15
|
+
import readline from "node:readline";
|
|
16
|
+
import { apiBaseToRegion, getTokenPath, getWriteConfigPath, getWriteTokenPath, regionToApiBase } from "./paths.js";
|
|
17
|
+
const VERSION = (() => {
|
|
18
|
+
try {
|
|
19
|
+
const pkg = JSON.parse(fs.readFileSync(path.resolve(path.dirname(new URL(import.meta.url).pathname), "..", "package.json"), "utf-8"));
|
|
20
|
+
return pkg.version || "unknown";
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return "unknown";
|
|
24
|
+
}
|
|
25
|
+
})();
|
|
18
26
|
const MCP_ENTRY = path.resolve(path.dirname(new URL(import.meta.url).pathname), "index.js");
|
|
19
27
|
async function signIn(apiBase, email, password) {
|
|
20
28
|
const res = await fetch(`${apiBase}/auth/signin`, {
|
|
@@ -237,7 +245,7 @@ const HTML = `<!DOCTYPE html>
|
|
|
237
245
|
<div class="logo-row">
|
|
238
246
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 118 98" width="36" height="30"><rect width="118" height="98" rx="10" ry="10" fill="#646ecb"/><g transform="translate(5.2,-4.6) scale(1.39)" fill="#fff"><path d="M27.4 59L10.6 38.5 27.4 17.7l4.6 3.7L18.2 38.4l13.8 16.9z"/><path d="M49.6 59l-4.6-3.7L58.9 38.3 45.1 21.4l4.6-3.7L66.5 38.3z"/></g></svg>
|
|
239
247
|
<span class="wordmark">Minicor</span>
|
|
240
|
-
<span class="badge">MCP</span>
|
|
248
|
+
<span class="badge">MCP v${VERSION}</span>
|
|
241
249
|
</div>
|
|
242
250
|
|
|
243
251
|
<div id="session-banner" class="session" style="display:none">
|
|
@@ -267,7 +275,7 @@ const HTML = `<!DOCTYPE html>
|
|
|
267
275
|
<div class="field">
|
|
268
276
|
<label for="login-password">Password</label>
|
|
269
277
|
<div class="input-wrap">
|
|
270
|
-
<input id="login-password" type="password" placeholder="
|
|
278
|
+
<input id="login-password" type="password" placeholder="••••••••" autocomplete="current-password" />
|
|
271
279
|
</div>
|
|
272
280
|
</div>
|
|
273
281
|
<div class="field">
|
|
@@ -338,33 +346,12 @@ const HTML = `<!DOCTYPE html>
|
|
|
338
346
|
</div>
|
|
339
347
|
<button class="btn-primary" id="btn-create-ws" onclick="doCreateWorkspace()">Create workspace</button>
|
|
340
348
|
</div>
|
|
341
|
-
<button class="btn-ghost mt-12" id="btn-skip-ws" onclick="
|
|
349
|
+
<button class="btn-ghost mt-12" id="btn-skip-ws" onclick="goToDone()" style="display:none">Continue</button>
|
|
342
350
|
<div class="alert alert-error" id="ws-error"></div>
|
|
343
351
|
</div>
|
|
344
352
|
</div>
|
|
345
353
|
|
|
346
|
-
<!-- Step 3:
|
|
347
|
-
<div class="step" id="step-advanced">
|
|
348
|
-
<div class="card">
|
|
349
|
-
<h2>Advanced Settings</h2>
|
|
350
|
-
<p class="desc">Optional services that unlock extra MCP tools. Skip any you don't need.</p>
|
|
351
|
-
<div class="section-label">Elasticsearch <span class="tag">Log Search</span></div>
|
|
352
|
-
<p class="hint mb-12">Enables search_logs, search_across_workflows, and keyword-based incident investigation.</p>
|
|
353
|
-
<div class="field"><label for="es-endpoint">Elasticsearch Endpoint</label><input id="es-endpoint" type="text" placeholder="https://your-cluster.es.cloud.io" /></div>
|
|
354
|
-
<div class="field"><label for="es-api-key">Elasticsearch API Key</label><input id="es-api-key" type="text" placeholder="Base64-encoded API key" /></div>
|
|
355
|
-
<div class="field"><label for="es-index">Index Name <span style="color:var(--text-muted)">(optional)</span></label><input id="es-index" type="text" placeholder="search-workflow-executions" /></div>
|
|
356
|
-
<hr class="divider" />
|
|
357
|
-
<div class="section-label">CRON Service <span class="tag">Scheduling</span></div>
|
|
358
|
-
<p class="hint mb-12">Enables cron job management, retry scheduling, and automated triggers.</p>
|
|
359
|
-
<div class="field"><label for="cron-api-key">CRON API Key</label><input id="cron-api-key" type="text" placeholder="Your CRON service API key" /></div>
|
|
360
|
-
<div class="field"><label for="cron-base">CRON API Base <span style="color:var(--text-muted)">(optional)</span></label><input id="cron-base" type="text" placeholder="https://cron.laminar.run" /></div>
|
|
361
|
-
<button class="btn-primary" id="btn-save-advanced" onclick="saveAdvanced()">Save & Continue</button>
|
|
362
|
-
<button class="btn-ghost mt-12" onclick="skipAdvanced()">Skip</button>
|
|
363
|
-
<div class="alert alert-error" id="advanced-error"></div>
|
|
364
|
-
</div>
|
|
365
|
-
</div>
|
|
366
|
-
|
|
367
|
-
<!-- Step 4: Done -->
|
|
354
|
+
<!-- Step 3: Done -->
|
|
368
355
|
<div class="step" id="step-done">
|
|
369
356
|
<div class="card done">
|
|
370
357
|
<div class="done-icon">
|
|
@@ -372,7 +359,6 @@ const HTML = `<!DOCTYPE html>
|
|
|
372
359
|
</div>
|
|
373
360
|
<h2>Connected</h2>
|
|
374
361
|
<p>Restart Cursor to activate the Minicor MCP server.</p>
|
|
375
|
-
<div id="svc-statuses" style="margin-bottom:14px"></div>
|
|
376
362
|
<div class="code-block" id="config-preview"></div>
|
|
377
363
|
<button class="btn-ghost mt-12" onclick="window.close()">Close</button>
|
|
378
364
|
</div>
|
|
@@ -408,17 +394,6 @@ function goTo(step){
|
|
|
408
394
|
document.querySelector('input[name="signup-region"][value="ca"]').checked=true;
|
|
409
395
|
}
|
|
410
396
|
}
|
|
411
|
-
if(d.serviceConfig){
|
|
412
|
-
if(d.serviceConfig.elasticsearch){
|
|
413
|
-
document.getElementById('es-endpoint').value=d.serviceConfig.elasticsearch.endpoint||'';
|
|
414
|
-
document.getElementById('es-api-key').value=d.serviceConfig.elasticsearch.apiKey||'';
|
|
415
|
-
document.getElementById('es-index').value=d.serviceConfig.elasticsearch.indexName||'';
|
|
416
|
-
}
|
|
417
|
-
if(d.serviceConfig.cron){
|
|
418
|
-
document.getElementById('cron-api-key').value=d.serviceConfig.cron.apiKey||'';
|
|
419
|
-
document.getElementById('cron-base').value=d.serviceConfig.cron.apiBase||'';
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
397
|
}catch{}})();
|
|
423
398
|
|
|
424
399
|
async function doLogout(){
|
|
@@ -500,35 +475,9 @@ async function doCreateWorkspace(){
|
|
|
500
475
|
}catch(err){showError('ws-error',err.message)}finally{btn.disabled=false;btn.textContent='Create workspace'}
|
|
501
476
|
}
|
|
502
477
|
|
|
503
|
-
function
|
|
504
|
-
|
|
505
|
-
async function saveAdvanced(){
|
|
506
|
-
clearAlerts(['advanced-error']);
|
|
507
|
-
const config={};
|
|
508
|
-
const esEndpoint=document.getElementById('es-endpoint').value.trim();
|
|
509
|
-
const esApiKey=document.getElementById('es-api-key').value.trim();
|
|
510
|
-
const esIndex=document.getElementById('es-index').value.trim();
|
|
511
|
-
const cronApiKey=document.getElementById('cron-api-key').value.trim();
|
|
512
|
-
const cronBase=document.getElementById('cron-base').value.trim();
|
|
513
|
-
if(esEndpoint&&esApiKey){config.elasticsearch={endpoint:esEndpoint,apiKey:esApiKey};if(esIndex)config.elasticsearch.indexName=esIndex}
|
|
514
|
-
if(cronApiKey){config.cron={apiKey:cronApiKey};if(cronBase)config.cron.apiBase=cronBase}
|
|
515
|
-
const btn=document.getElementById('btn-save-advanced');
|
|
516
|
-
btn.disabled=true;btn.innerHTML='<div class="spinner"></div>Saving\\u2026';
|
|
517
|
-
try{
|
|
518
|
-
const r=await fetch('/api/advanced',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(config)});
|
|
519
|
-
const d=await r.json();if(!r.ok)throw new Error(d.error||'Save failed');
|
|
520
|
-
goToDone(config);
|
|
521
|
-
}catch(err){showError('advanced-error',err.message)}finally{btn.disabled=false;btn.textContent='Save & Continue'}
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
function skipAdvanced(){goToDone({})}
|
|
525
|
-
|
|
526
|
-
function goToDone(svcConfig){
|
|
478
|
+
function goToDone(){
|
|
527
479
|
goTo('done');
|
|
528
480
|
document.getElementById('config-preview').textContent=configPreview;
|
|
529
|
-
const statuses=document.getElementById('svc-statuses');
|
|
530
|
-
const items=[{name:'Elasticsearch (Log Search)',on:!!svcConfig.elasticsearch},{name:'CRON (Scheduling)',on:!!svcConfig.cron}];
|
|
531
|
-
statuses.innerHTML=items.map(i=>'<div class="svc-status"><div class="'+(i.on?'dot-on':'dot-off')+'"></div>'+i.name+': '+(i.on?'Configured':'Not configured')+'</div>').join('');
|
|
532
481
|
}
|
|
533
482
|
</script>
|
|
534
483
|
</body>
|
|
@@ -649,8 +598,7 @@ async function startBrowserSetup() {
|
|
|
649
598
|
const workspaces = await listWorkspaces(apiBase, token);
|
|
650
599
|
return send(res, 200, { workspaces });
|
|
651
600
|
}
|
|
652
|
-
if (url.pathname === "/api/create-workspace" &&
|
|
653
|
-
req.method === "POST") {
|
|
601
|
+
if (url.pathname === "/api/create-workspace" && req.method === "POST") {
|
|
654
602
|
const { name } = await jsonBody(req);
|
|
655
603
|
const token = storedAccessToken;
|
|
656
604
|
if (!token)
|
|
@@ -667,18 +615,6 @@ async function startBrowserSetup() {
|
|
|
667
615
|
const ws = await createWorkspace(apiBase, token, name);
|
|
668
616
|
return send(res, 200, { workspace: ws });
|
|
669
617
|
}
|
|
670
|
-
if (url.pathname === "/api/advanced" && req.method === "POST") {
|
|
671
|
-
const body = await jsonBody(req);
|
|
672
|
-
saveServiceConfig(body);
|
|
673
|
-
const cfgPath = getWriteConfigPath();
|
|
674
|
-
console.log(`✓ Service config saved to ${cfgPath}`);
|
|
675
|
-
send(res, 200, { ok: true });
|
|
676
|
-
setTimeout(() => {
|
|
677
|
-
console.log("\nSetup complete. Restart Cursor to activate.\n");
|
|
678
|
-
process.exit(0);
|
|
679
|
-
}, 2000);
|
|
680
|
-
return;
|
|
681
|
-
}
|
|
682
618
|
send(res, 404, { error: "Not found" });
|
|
683
619
|
}
|
|
684
620
|
catch (e) {
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts
CHANGED
|
@@ -8,16 +8,7 @@ export interface LdsConnection {
|
|
|
8
8
|
apiKey?: string;
|
|
9
9
|
serviceId?: string;
|
|
10
10
|
}
|
|
11
|
-
export interface BrowserConnection {
|
|
12
|
-
baseUrl: string;
|
|
13
|
-
bearerToken: string;
|
|
14
|
-
slackChannelId?: string;
|
|
15
|
-
sessionId?: string;
|
|
16
|
-
}
|
|
17
11
|
export declare let ldsConnection: LdsConnection | null;
|
|
18
|
-
export declare let browserConnection: BrowserConnection | null;
|
|
19
12
|
export declare function setLdsConnection(conn: LdsConnection | null): void;
|
|
20
|
-
export declare function setBrowserConnection(conn: BrowserConnection | null): void;
|
|
21
|
-
export declare function updateBrowserSession(sessionId: string | undefined): void;
|
|
22
13
|
export declare function ldsAuth(): lds.LdsAuth | undefined;
|
|
23
14
|
//# sourceMappingURL=state.d.ts.map
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,IAAI,aAAa,EAAE,aAAa,GAAG,IAAW,CAAC;AAEtD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,QAE1D;AAED,wBAAgB,OAAO,IAAI,GAAG,CAAC,OAAO,GAAG,SAAS,CAKjD"}
|
package/dist/state.js
CHANGED
|
@@ -3,18 +3,9 @@
|
|
|
3
3
|
* Imported by tool modules that need to read/write connection state.
|
|
4
4
|
*/
|
|
5
5
|
export let ldsConnection = null;
|
|
6
|
-
export let browserConnection = null;
|
|
7
6
|
export function setLdsConnection(conn) {
|
|
8
7
|
ldsConnection = conn;
|
|
9
8
|
}
|
|
10
|
-
export function setBrowserConnection(conn) {
|
|
11
|
-
browserConnection = conn;
|
|
12
|
-
}
|
|
13
|
-
export function updateBrowserSession(sessionId) {
|
|
14
|
-
if (browserConnection) {
|
|
15
|
-
browserConnection.sessionId = sessionId;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
9
|
export function ldsAuth() {
|
|
19
10
|
if (ldsConnection?.apiKey && ldsConnection?.serviceId) {
|
|
20
11
|
return { apiKey: ldsConnection.apiKey, serviceId: ldsConnection.serviceId };
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,CAAC,IAAI,aAAa,GAAyB,IAAI,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAAC,IAA0B;IACzD,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,IAAI,aAAa,EAAE,MAAM,IAAI,aAAa,EAAE,SAAS,EAAE,CAAC;QACtD,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/tools/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,QAmbtC"}
|
package/dist/tools/core.js
CHANGED
|
@@ -7,7 +7,6 @@ export function register(deps) {
|
|
|
7
7
|
// ── Workspaces ───────────────────────────────────────────────
|
|
8
8
|
server.tool("list_workspaces", "List all workspaces the user has access to", {}, async () => safe(() => deps.client().listWorkspaces()));
|
|
9
9
|
server.tool("get_workspace", "Get workspace details by ID", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().getWorkspace(workspaceId)));
|
|
10
|
-
server.tool("get_workspace_users", "List all users in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().getWorkspaceUsers(workspaceId)));
|
|
11
10
|
// ── Workflows ────────────────────────────────────────────────
|
|
12
11
|
server.tool("list_workflows", "List all workflows in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().listWorkflows(workspaceId)));
|
|
13
12
|
server.tool("list_archived_workflows", "List archived workflows in a workspace", { workspaceId: z.number().describe("Workspace ID") }, async ({ workspaceId }) => safe(() => deps.client().listArchivedWorkflows(workspaceId)));
|
|
@@ -192,11 +191,5 @@ export function register(deps) {
|
|
|
192
191
|
start_from_step: startFromStep,
|
|
193
192
|
end_at_step: endAtStep,
|
|
194
193
|
})));
|
|
195
|
-
// ── Conversations ──────────────────────────────────────────
|
|
196
|
-
server.tool("list_conversations", "List all AI conversations for a workflow", { workflowId: z.number().describe("Workflow ID") }, async ({ workflowId }) => safe(() => deps.client().listConversations(workflowId)));
|
|
197
|
-
server.tool("get_conversation_messages", "Get all messages from a specific workflow conversation", {
|
|
198
|
-
workflowId: z.number().describe("Workflow ID"),
|
|
199
|
-
conversationId: z.number().describe("Conversation ID"),
|
|
200
|
-
}, async ({ workflowId, conversationId }) => safe(() => deps.client().getConversationMessages(workflowId, conversationId)));
|
|
201
194
|
}
|
|
202
195
|
//# sourceMappingURL=core.js.map
|