@minicor/mcp-server 3.2.0 → 3.2.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.
- package/README.md +69 -24
- package/dist/bootstrap.d.ts +12 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +244 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/config.d.ts +6 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +14 -10
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -5
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +20 -1
- package/dist/lib.js.map +1 -1
- package/dist/prompts/workspace-session.d.ts +3 -0
- package/dist/prompts/workspace-session.d.ts.map +1 -0
- package/dist/prompts/workspace-session.js +58 -0
- package/dist/prompts/workspace-session.js.map +1 -0
- package/dist/state.d.ts +22 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +12 -0
- package/dist/state.js.map +1 -1
- package/dist/tools/session.d.ts +8 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +392 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/sync-tools.d.ts.map +1 -1
- package/dist/tools/sync-tools.js +37 -8
- package/dist/tools/sync-tools.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -34,10 +34,46 @@ npx @minicor/mcp-server-setup
|
|
|
34
34
|
|
|
35
35
|
Opens a browser to sign in. Tokens stored at `~/.minicor/tokens.json` with auto-refresh. For headless: `npx @minicor/mcp-server-setup --cli`.
|
|
36
36
|
|
|
37
|
-
### 3.
|
|
37
|
+
### 3. Bootstrap Workspace (optional)
|
|
38
|
+
|
|
39
|
+
After cloning a workspace, generate harness-specific config files:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# For Claude Code — creates CLAUDE.md + .claude/settings.local.json
|
|
43
|
+
npx @minicor/mcp-server minicor-bootstrap claude-code --dir ./my-workspace
|
|
44
|
+
|
|
45
|
+
# For Cursor — creates .cursor/rules/workspace.mdc
|
|
46
|
+
npx @minicor/mcp-server minicor-bootstrap cursor --dir ./my-workspace
|
|
47
|
+
|
|
48
|
+
# All harnesses at once
|
|
49
|
+
npx @minicor/mcp-server minicor-bootstrap all --dir ./my-workspace
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 4. Update
|
|
38
53
|
|
|
39
54
|
`npx` users: restart your editor (auto-fetches latest). Global: `npm update -g @minicor/mcp-server`.
|
|
40
55
|
|
|
56
|
+
## Session Lifecycle
|
|
57
|
+
|
|
58
|
+
The MCP server sends **instructions** to every client on connect, telling agents to call `session_start` first when in a workspace clone. This works across all harnesses — Claude Code, Cursor, Bedrock, etc.
|
|
59
|
+
|
|
60
|
+
### Session Tools
|
|
61
|
+
|
|
62
|
+
| Tool | What it does |
|
|
63
|
+
| --- | --- |
|
|
64
|
+
| `session_start` | Load workspace context (AGENTS.md, VMs, skills, issues, prior session). Call FIRST in a workspace clone. |
|
|
65
|
+
| `session_checkpoint` | Save progress mid-session. Writes `.minicor/session.json` + syncs `[Workspace:Session]` issue. |
|
|
66
|
+
| `session_end` | Persist final state, sync to platform, optionally update context.md. Call before ending work. |
|
|
67
|
+
| `set_workspaces_root` | Set default root directory for cloning workspaces (saved to `~/.minicor/config.json`). |
|
|
68
|
+
|
|
69
|
+
### Auto-Save on Disconnect
|
|
70
|
+
|
|
71
|
+
If the agent crashes or the user closes the IDE, the server auto-checkpoints with `status: "interrupted"` so no session state is lost. The next agent resumes from that checkpoint.
|
|
72
|
+
|
|
73
|
+
### Multi-Agent Handoff
|
|
74
|
+
|
|
75
|
+
Sessions are synced to `[Workspace:Session]` issues on the platform, so agents on other machines (or scheduled Bedrock agents) can resume where the last agent left off.
|
|
76
|
+
|
|
41
77
|
## The RPA Lifecycle
|
|
42
78
|
|
|
43
79
|
This is the complete flow from zero to production automation. The agent handles each phase using MCP tools and skills.
|
|
@@ -310,24 +346,36 @@ Agents are autonomous runners that execute tasks on VMs using MCP tools. After b
|
|
|
310
346
|
### Workspace Sync
|
|
311
347
|
|
|
312
348
|
|
|
313
|
-
| Tool | What it does
|
|
314
|
-
| --------------------------------- |
|
|
315
|
-
| `clone_workspace` | Full workspace clone: workflows + skills + issues + metadata
|
|
316
|
-
| `init_project` | Scaffold a git-ready project from a workspace (workflows only)
|
|
317
|
-
| `pull_workflow` / `push_workflow` | Sync individual workflows
|
|
318
|
-
| `pull_all` / `push_changed` | Bulk sync
|
|
319
|
-
| `sync_status` | Diff local vs deployed
|
|
349
|
+
| Tool | What it does |
|
|
350
|
+
| --------------------------------- | ------------------------------------------------------------------------------ |
|
|
351
|
+
| `clone_workspace` | Full workspace clone: workflows + skills + issues + metadata. Defaults to configured workspaces root if outputDir omitted. |
|
|
352
|
+
| `init_project` | Scaffold a git-ready project from a workspace (workflows only) |
|
|
353
|
+
| `pull_workflow` / `push_workflow` | Sync individual workflows |
|
|
354
|
+
| `pull_all` / `push_changed` | Bulk sync |
|
|
355
|
+
| `sync_status` | Diff local vs deployed |
|
|
356
|
+
| `set_workspaces_root` | Set default root directory for cloning workspaces (`~/.minicor/config.json`) |
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
### Session Lifecycle
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
| Tool | What it does |
|
|
363
|
+
| --------------------- | --------------------------------------------------------------------------------------------- |
|
|
364
|
+
| `session_start` | Load full workspace context + begin session tracking. Call FIRST in a workspace clone. |
|
|
365
|
+
| `session_checkpoint` | Save progress: writes `.minicor/session.json` + syncs `[Workspace:Session]` issue. |
|
|
366
|
+
| `session_end` | End session: persist final state, sync to platform, optionally update context.md. |
|
|
320
367
|
|
|
321
368
|
|
|
322
369
|
## Prompts
|
|
323
370
|
|
|
324
371
|
|
|
325
|
-
| Prompt
|
|
326
|
-
|
|
|
327
|
-
| `build-rpa-workflow`
|
|
328
|
-
| `debug-workflow-execution`
|
|
329
|
-
| `minicor-workflow-guide`
|
|
330
|
-
| `2fa-workflow-guide`
|
|
372
|
+
| Prompt | What it does |
|
|
373
|
+
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
374
|
+
| `build-rpa-workflow` | Guided automation building with POC/production mode. Loads skills, iterative build loop, per-step Minicor testing, optional hardening. |
|
|
375
|
+
| `debug-workflow-execution` | Analyze a failed execution with VM-aware debugging and replay |
|
|
376
|
+
| `minicor-workflow-guide` | Full workflow specification: step types, data access, keywords, libraries |
|
|
377
|
+
| `2fa-workflow-guide` | Handling 2FA in workflows: provisioning channels, TOTP secrets, auto-resolving OTP codes |
|
|
378
|
+
| `workspace-session-guide` | Returns AGENTS.md rules and session state for any workspace clone |
|
|
331
379
|
|
|
332
380
|
|
|
333
381
|
The `build-rpa-workflow` prompt accepts a `mode` parameter:
|
|
@@ -363,27 +411,24 @@ npm test
|
|
|
363
411
|
|
|
364
412
|
```
|
|
365
413
|
src/
|
|
366
|
-
index.ts — CLI MCP entry (stdio transport, token management)
|
|
414
|
+
index.ts — CLI MCP entry (stdio transport, token management, disconnect hooks)
|
|
367
415
|
lib.ts — Embeddable server factory (in-process, no side effects)
|
|
416
|
+
bootstrap.ts — CLI to generate harness configs (CLAUDE.md, .cursor/rules, etc.)
|
|
417
|
+
config.ts — User config (~/.minicor/config.json) — workspacesRoot, etc.
|
|
418
|
+
state.ts — Shared mutable state (VM connections, active session tracking)
|
|
368
419
|
skills.ts — Skill loader, parser, index builder
|
|
369
|
-
skills-service-client.ts — HTTP client for skills service
|
|
370
|
-
seed-skills.ts — CLI to seed skills service from bundled files
|
|
371
420
|
tools/
|
|
421
|
+
session.ts — session_start, session_checkpoint, session_end, auto-checkpoint
|
|
372
422
|
skills.ts — list_skills, get_skill, save_skill, generate_skill
|
|
423
|
+
sync-tools.ts — clone_workspace, init_project, pull/push, set_workspaces_root
|
|
373
424
|
vm.ts, vm-rpa.ts — VM and RPA tools
|
|
374
425
|
core.ts — Workflows, flows, executions
|
|
375
|
-
sync-tools.ts — clone_workspace, init_project, pull/push
|
|
376
426
|
...
|
|
377
427
|
prompts/
|
|
428
|
+
workspace-session.ts — Workspace session guide prompt
|
|
378
429
|
build-rpa.ts — Guided RPA building (POC/production modes)
|
|
379
430
|
...
|
|
380
431
|
skills/
|
|
381
432
|
general/ — Bundled skill files (shipped with npm package)
|
|
382
|
-
rpa-testing-workflow.md
|
|
383
|
-
cdp-browser-automation.md
|
|
384
|
-
desktop-uiautomation.md
|
|
385
|
-
data-extraction-strategies.md
|
|
386
|
-
data-passing-between-steps.md
|
|
387
|
-
state-verification.md
|
|
388
433
|
```
|
|
389
434
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Bootstrap CLI — generates harness-specific config files for a Minicor workspace clone.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* minicor-bootstrap claude-code [--dir <workspace-dir>]
|
|
7
|
+
* minicor-bootstrap cursor [--dir <workspace-dir>]
|
|
8
|
+
* minicor-bootstrap generic [--dir <workspace-dir>]
|
|
9
|
+
* minicor-bootstrap all [--dir <workspace-dir>]
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Bootstrap CLI — generates harness-specific config files for a Minicor workspace clone.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* minicor-bootstrap claude-code [--dir <workspace-dir>]
|
|
7
|
+
* minicor-bootstrap cursor [--dir <workspace-dir>]
|
|
8
|
+
* minicor-bootstrap generic [--dir <workspace-dir>]
|
|
9
|
+
* minicor-bootstrap all [--dir <workspace-dir>]
|
|
10
|
+
*/
|
|
11
|
+
import fs from "node:fs";
|
|
12
|
+
import path from "node:path";
|
|
13
|
+
function resolveDir(args) {
|
|
14
|
+
const idx = args.indexOf("--dir");
|
|
15
|
+
if (idx !== -1 && args[idx + 1]) {
|
|
16
|
+
return path.resolve(args[idx + 1]);
|
|
17
|
+
}
|
|
18
|
+
return process.cwd();
|
|
19
|
+
}
|
|
20
|
+
function loadWorkspaceInfo(dir) {
|
|
21
|
+
const manifestPath = path.join(dir, "minicor.json");
|
|
22
|
+
if (!fs.existsSync(manifestPath)) {
|
|
23
|
+
console.error(`Error: ${dir} is not a Minicor workspace clone (no minicor.json found).`);
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
|
|
27
|
+
let name = "Minicor Workspace";
|
|
28
|
+
let region;
|
|
29
|
+
const wsPath = path.join(dir, ".minicor", "workspace.json");
|
|
30
|
+
if (fs.existsSync(wsPath)) {
|
|
31
|
+
const ws = JSON.parse(fs.readFileSync(wsPath, "utf-8"));
|
|
32
|
+
name = ws.name || name;
|
|
33
|
+
region = ws.region;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
dir,
|
|
37
|
+
name,
|
|
38
|
+
workspaceId: manifest.workspace ?? 0,
|
|
39
|
+
region,
|
|
40
|
+
hasAgentsMd: fs.existsSync(path.join(dir, "AGENTS.md")),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function bootstrapClaudeCode(info) {
|
|
44
|
+
const claudeMd = `# ${info.name} — Minicor Workspace
|
|
45
|
+
|
|
46
|
+
This workspace is a Minicor workspace clone (workspace **${info.workspaceId}**).
|
|
47
|
+
|
|
48
|
+
## CRITICAL: First Action
|
|
49
|
+
|
|
50
|
+
Call \`session_start(directory: "${info.dir}")\` as your FIRST action in every session.
|
|
51
|
+
It returns the workspace rules (AGENTS.md), prior session state for resuming, and all
|
|
52
|
+
context you need. Follow the phase loop it describes.
|
|
53
|
+
|
|
54
|
+
## Session Management
|
|
55
|
+
|
|
56
|
+
- **Resume**: If session_start returns a prior session, resume from where the last agent left off.
|
|
57
|
+
Do NOT start over.
|
|
58
|
+
- **Checkpoint**: Call \`session_checkpoint\` between phases or after significant progress.
|
|
59
|
+
- **End**: Call \`session_end\` before ending your work. Other agents depend on this to resume.
|
|
60
|
+
|
|
61
|
+
## Key Rules
|
|
62
|
+
|
|
63
|
+
- Use \`create_rpa_flow\` for RPA steps, never \`create_flow\`
|
|
64
|
+
- Follow the \`rpa-testing-workflow\` skill for testing
|
|
65
|
+
- Fix failures through the executor, NOT \`vm_execute_script\`
|
|
66
|
+
- Update \`.minicor/context.md\` when you learn something new
|
|
67
|
+
- Create/update \`[Workspace:Session]\` and \`[Workspace:Context]\` issues
|
|
68
|
+
`;
|
|
69
|
+
const claudeMdPath = path.join(info.dir, "CLAUDE.md");
|
|
70
|
+
fs.writeFileSync(claudeMdPath, claudeMd, "utf-8");
|
|
71
|
+
console.log(` Created ${claudeMdPath}`);
|
|
72
|
+
const claudeDir = path.join(info.dir, ".claude");
|
|
73
|
+
if (!fs.existsSync(claudeDir))
|
|
74
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
75
|
+
const settingsPath = path.join(claudeDir, "settings.local.json");
|
|
76
|
+
let settings = {};
|
|
77
|
+
if (fs.existsSync(settingsPath)) {
|
|
78
|
+
try {
|
|
79
|
+
settings = JSON.parse(fs.readFileSync(settingsPath, "utf-8"));
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
settings = {};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (!settings.permissions)
|
|
86
|
+
settings.permissions = {};
|
|
87
|
+
if (!settings.permissions.allow)
|
|
88
|
+
settings.permissions.allow = [];
|
|
89
|
+
const requiredPerms = [
|
|
90
|
+
"mcp__minicor__session_start",
|
|
91
|
+
"mcp__minicor__session_checkpoint",
|
|
92
|
+
"mcp__minicor__session_end",
|
|
93
|
+
"mcp__minicor__get_workspace_context",
|
|
94
|
+
"mcp__minicor__list_workspaces",
|
|
95
|
+
"mcp__minicor__list_workflows",
|
|
96
|
+
"mcp__minicor__get_workflow",
|
|
97
|
+
"mcp__minicor__get_workflow_overview",
|
|
98
|
+
"mcp__minicor__list_executions",
|
|
99
|
+
"mcp__minicor__get_execution",
|
|
100
|
+
"mcp__minicor__get_execution_status",
|
|
101
|
+
"mcp__minicor__get_execution_result",
|
|
102
|
+
"mcp__minicor__execute_workflow",
|
|
103
|
+
"mcp__minicor__execute_workflow_async",
|
|
104
|
+
"mcp__minicor__create_rpa_flow",
|
|
105
|
+
"mcp__minicor__debug_rpa_step",
|
|
106
|
+
"mcp__minicor__vm_connect",
|
|
107
|
+
"mcp__minicor__vm_disconnect",
|
|
108
|
+
"mcp__minicor__vm_status",
|
|
109
|
+
"mcp__minicor__vm_screenshot",
|
|
110
|
+
"mcp__minicor__vm_execute_script",
|
|
111
|
+
"mcp__minicor__vm_inspect_ui",
|
|
112
|
+
"mcp__minicor__vm_list",
|
|
113
|
+
"mcp__minicor__list_issues",
|
|
114
|
+
"mcp__minicor__get_issue",
|
|
115
|
+
"mcp__minicor__create_issue",
|
|
116
|
+
"mcp__minicor__update_issue",
|
|
117
|
+
"mcp__minicor__list_skills",
|
|
118
|
+
"mcp__minicor__get_skill",
|
|
119
|
+
"mcp__minicor__save_skill",
|
|
120
|
+
"mcp__minicor__generate_skill",
|
|
121
|
+
"mcp__minicor__push_changed",
|
|
122
|
+
"mcp__minicor__pull_all",
|
|
123
|
+
"mcp__minicor__sync_status",
|
|
124
|
+
"mcp__minicor__create_agent",
|
|
125
|
+
"mcp__minicor__list_agents",
|
|
126
|
+
"mcp__minicor__test_workflow_step",
|
|
127
|
+
"mcp__minicor__diagnose_execution",
|
|
128
|
+
];
|
|
129
|
+
const existing = new Set(settings.permissions.allow);
|
|
130
|
+
for (const perm of requiredPerms) {
|
|
131
|
+
if (!existing.has(perm)) {
|
|
132
|
+
settings.permissions.allow.push(perm);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n", "utf-8");
|
|
136
|
+
console.log(` Updated ${settingsPath}`);
|
|
137
|
+
}
|
|
138
|
+
function bootstrapCursor(info) {
|
|
139
|
+
const cursorDir = path.join(info.dir, ".cursor", "rules");
|
|
140
|
+
if (!fs.existsSync(cursorDir))
|
|
141
|
+
fs.mkdirSync(cursorDir, { recursive: true });
|
|
142
|
+
const mdc = `---
|
|
143
|
+
description: Minicor workspace clone
|
|
144
|
+
alwaysApply: true
|
|
145
|
+
---
|
|
146
|
+
You are in a Minicor workspace clone (${info.name}). Call \`session_start(directory: "${info.dir}")\` as your FIRST action. It returns AGENTS.md, workspace metadata, VMs, skills, session state, and any prior context. If there is an active session, resume from where the last agent left off. Before ending your session, call \`session_end()\` to persist progress and sync it to a [Workspace:Session] issue.
|
|
147
|
+
`;
|
|
148
|
+
const mdcPath = path.join(cursorDir, "workspace.mdc");
|
|
149
|
+
fs.writeFileSync(mdcPath, mdc, "utf-8");
|
|
150
|
+
console.log(` Created ${mdcPath}`);
|
|
151
|
+
}
|
|
152
|
+
function bootstrapGeneric(info) {
|
|
153
|
+
const minicorDir = path.join(info.dir, ".minicor");
|
|
154
|
+
if (!fs.existsSync(minicorDir))
|
|
155
|
+
fs.mkdirSync(minicorDir, { recursive: true });
|
|
156
|
+
const prompt = `# ${info.name} — System Prompt
|
|
157
|
+
|
|
158
|
+
You are working in a Minicor workspace clone (workspace ${info.workspaceId}).
|
|
159
|
+
|
|
160
|
+
## Required First Action
|
|
161
|
+
|
|
162
|
+
Call \`session_start(directory: "${info.dir}")\` as your FIRST action.
|
|
163
|
+
It returns:
|
|
164
|
+
- AGENTS.md with the full agent phase loop
|
|
165
|
+
- Workspace metadata (VMs, agents, skills)
|
|
166
|
+
- Prior session state for resuming
|
|
167
|
+
- Context from previous agent runs
|
|
168
|
+
|
|
169
|
+
## Session Lifecycle
|
|
170
|
+
|
|
171
|
+
1. **Start**: \`session_start\` — loads context and begins tracking
|
|
172
|
+
2. **Checkpoint**: \`session_checkpoint\` — saves progress between phases
|
|
173
|
+
3. **End**: \`session_end\` — persists final state, syncs to platform
|
|
174
|
+
|
|
175
|
+
## Key Rules
|
|
176
|
+
|
|
177
|
+
- Follow the phase loop from AGENTS.md: gather-context → orient → scope → build → test → harden → learn
|
|
178
|
+
- If a prior session exists, resume from where it left off
|
|
179
|
+
- Use \`create_rpa_flow\` for RPA steps (never \`create_flow\`)
|
|
180
|
+
- Always call \`session_end\` before finishing
|
|
181
|
+
`;
|
|
182
|
+
const promptPath = path.join(minicorDir, "system-prompt.md");
|
|
183
|
+
fs.writeFileSync(promptPath, prompt, "utf-8");
|
|
184
|
+
console.log(` Created ${promptPath}`);
|
|
185
|
+
}
|
|
186
|
+
function showHelp() {
|
|
187
|
+
console.log(`
|
|
188
|
+
minicor-bootstrap — Generate harness-specific config for a Minicor workspace clone
|
|
189
|
+
|
|
190
|
+
Usage:
|
|
191
|
+
minicor-bootstrap <target> [--dir <workspace-dir>]
|
|
192
|
+
|
|
193
|
+
Targets:
|
|
194
|
+
claude-code Generate CLAUDE.md + .claude/settings.local.json
|
|
195
|
+
cursor Generate .cursor/rules/workspace.mdc
|
|
196
|
+
generic Generate .minicor/system-prompt.md
|
|
197
|
+
all Generate all of the above
|
|
198
|
+
|
|
199
|
+
Options:
|
|
200
|
+
--dir <path> Workspace directory (default: current directory)
|
|
201
|
+
|
|
202
|
+
Examples:
|
|
203
|
+
minicor-bootstrap all
|
|
204
|
+
minicor-bootstrap claude-code --dir /path/to/workspace
|
|
205
|
+
minicor-bootstrap cursor --dir ./my-workspace
|
|
206
|
+
`);
|
|
207
|
+
}
|
|
208
|
+
async function main() {
|
|
209
|
+
const args = process.argv.slice(2);
|
|
210
|
+
const target = args[0];
|
|
211
|
+
if (!target || target === "help" || target === "--help") {
|
|
212
|
+
showHelp();
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const dir = resolveDir(args);
|
|
216
|
+
const info = loadWorkspaceInfo(dir);
|
|
217
|
+
console.log(`Bootstrapping "${info.name}" (workspace ${info.workspaceId}) at ${dir}\n`);
|
|
218
|
+
switch (target) {
|
|
219
|
+
case "claude-code":
|
|
220
|
+
bootstrapClaudeCode(info);
|
|
221
|
+
break;
|
|
222
|
+
case "cursor":
|
|
223
|
+
bootstrapCursor(info);
|
|
224
|
+
break;
|
|
225
|
+
case "generic":
|
|
226
|
+
bootstrapGeneric(info);
|
|
227
|
+
break;
|
|
228
|
+
case "all":
|
|
229
|
+
bootstrapClaudeCode(info);
|
|
230
|
+
bootstrapCursor(info);
|
|
231
|
+
bootstrapGeneric(info);
|
|
232
|
+
break;
|
|
233
|
+
default:
|
|
234
|
+
console.error(`Unknown target: ${target}`);
|
|
235
|
+
showHelp();
|
|
236
|
+
process.exit(1);
|
|
237
|
+
}
|
|
238
|
+
console.log("\nDone. Re-run after updating AGENTS.md to regenerate configs.");
|
|
239
|
+
}
|
|
240
|
+
main().catch((err) => {
|
|
241
|
+
console.error(`Error: ${err.message}`);
|
|
242
|
+
process.exit(1);
|
|
243
|
+
});
|
|
244
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration helpers for Minicor MCP.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Stores user preferences in ~/.minicor/config.json:
|
|
5
|
+
* - workspacesRoot: default directory for cloning workspaces
|
|
6
6
|
*/
|
|
7
7
|
export interface ServiceConfig {
|
|
8
|
+
/** Default root directory for cloning workspaces (e.g. ~/laminar/customers) */
|
|
9
|
+
workspacesRoot?: string;
|
|
8
10
|
}
|
|
9
11
|
export declare function loadServiceConfig(): ServiceConfig;
|
|
10
|
-
export declare function saveServiceConfig(update: ServiceConfig): void;
|
|
12
|
+
export declare function saveServiceConfig(update: Partial<ServiceConfig>): void;
|
|
13
|
+
export declare function getWorkspacesRoot(): string | undefined;
|
|
11
14
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAQjD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,QAU/D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAGtD"}
|
package/dist/config.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration helpers for Minicor MCP.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Stores user preferences in ~/.minicor/config.json:
|
|
5
|
+
* - workspacesRoot: default directory for cloning workspaces
|
|
6
6
|
*/
|
|
7
7
|
import fs from "node:fs";
|
|
8
8
|
import path from "node:path";
|
|
9
9
|
import { getConfigPath, getWriteConfigPath } from "./paths.js";
|
|
10
10
|
export function loadServiceConfig() {
|
|
11
|
+
try {
|
|
12
|
+
const readPath = getConfigPath();
|
|
13
|
+
if (fs.existsSync(readPath)) {
|
|
14
|
+
return JSON.parse(fs.readFileSync(readPath, "utf-8"));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
catch { }
|
|
11
18
|
return {};
|
|
12
19
|
}
|
|
13
20
|
export function saveServiceConfig(update) {
|
|
@@ -15,17 +22,14 @@ export function saveServiceConfig(update) {
|
|
|
15
22
|
const dir = path.dirname(writePath);
|
|
16
23
|
if (!fs.existsSync(dir))
|
|
17
24
|
fs.mkdirSync(dir, { recursive: true });
|
|
18
|
-
|
|
19
|
-
try {
|
|
20
|
-
const readPath = getConfigPath();
|
|
21
|
-
if (fs.existsSync(readPath)) {
|
|
22
|
-
existing = JSON.parse(fs.readFileSync(readPath, "utf-8"));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
catch { }
|
|
25
|
+
const existing = loadServiceConfig();
|
|
26
26
|
const merged = { ...existing, ...update };
|
|
27
27
|
fs.writeFileSync(writePath, JSON.stringify(merged, null, 2) + "\n", {
|
|
28
28
|
mode: 0o600,
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
+
export function getWorkspacesRoot() {
|
|
32
|
+
const config = loadServiceConfig();
|
|
33
|
+
return config.workspacesRoot;
|
|
34
|
+
}
|
|
31
35
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAO/D,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA8B;IAC9D,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAClE,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC,cAAc,CAAC;AAC/B,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAOH,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAOH,OAAO,EAKL,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AA8EpB,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAOlD"}
|
package/dist/index.js
CHANGED
|
@@ -24,10 +24,12 @@ import { register as registerTfa } from "./tools/tfa.js";
|
|
|
24
24
|
import { register as registerIssues } from "./tools/issues.js";
|
|
25
25
|
import { register as registerAgents } from "./tools/agents.js";
|
|
26
26
|
import { register as registerSkills } from "./tools/skills.js";
|
|
27
|
+
import { register as registerSession, autoCheckpoint } from "./tools/session.js";
|
|
27
28
|
import { register as registerWorkflowGuide } from "./prompts/workflow-guide.js";
|
|
28
29
|
import { register as registerDebugExecution } from "./prompts/debug-execution.js";
|
|
29
30
|
import { register as registerBuildRpa } from "./prompts/build-rpa.js";
|
|
30
31
|
import { register as registerTfaGuide } from "./prompts/tfa-guide.js";
|
|
32
|
+
import { register as registerWorkspaceSession } from "./prompts/workspace-session.js";
|
|
31
33
|
// ─── Token management ────────────────────────────────────────
|
|
32
34
|
const REFRESH_BUFFER_MS = 5 * 60 * 1000;
|
|
33
35
|
/**
|
|
@@ -148,10 +150,18 @@ async function resolveAllAuth() {
|
|
|
148
150
|
// ─── Server state ────────────────────────────────────────────
|
|
149
151
|
const clients = new Map();
|
|
150
152
|
const currentTokens = new Map();
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
const MINICOR_INSTRUCTIONS = `You are connected to the Minicor MCP server for RPA workflow automation.
|
|
154
|
+
|
|
155
|
+
CRITICAL: If the current directory contains a minicor.json file, you are in a workspace clone.
|
|
156
|
+
You MUST call session_start(directory) as your FIRST action. It returns the workspace rules
|
|
157
|
+
(AGENTS.md), prior session state for resuming, and all context you need. Follow the phase loop
|
|
158
|
+
it describes.
|
|
159
|
+
|
|
160
|
+
Before ending your session, call session_end() to persist your progress. Other agents (on other
|
|
161
|
+
machines, scheduled, or human-triggered) depend on this to resume where you left off.
|
|
162
|
+
|
|
163
|
+
If you are NOT in a workspace clone, use the tools freely — list_workspaces, clone_workspace, etc.`;
|
|
164
|
+
const server = new McpServer({ name: "minicor", version: "3.0.0" }, { instructions: MINICOR_INSTRUCTIONS });
|
|
155
165
|
function scheduleTokenRefresh(region) {
|
|
156
166
|
const tokens = readRegionTokens(region);
|
|
157
167
|
if (!tokens?.refresh_token)
|
|
@@ -219,14 +229,18 @@ function registerAll() {
|
|
|
219
229
|
registerIssues(deps);
|
|
220
230
|
registerAgents(deps);
|
|
221
231
|
registerSkills(deps);
|
|
232
|
+
registerSession(deps);
|
|
222
233
|
registerWorkflowGuide(deps);
|
|
223
234
|
registerDebugExecution(deps);
|
|
224
235
|
registerBuildRpa(deps);
|
|
225
236
|
registerTfaGuide(deps);
|
|
237
|
+
registerWorkspaceSession(deps);
|
|
238
|
+
return deps;
|
|
226
239
|
}
|
|
227
240
|
// ─── Main ────────────────────────────────────────────────────
|
|
228
241
|
async function main() {
|
|
229
242
|
const authResults = await resolveAllAuth();
|
|
243
|
+
let toolDeps = null;
|
|
230
244
|
if (authResults.length === 0) {
|
|
231
245
|
console.error("No credentials found. Starting in limited mode.");
|
|
232
246
|
registerUnauthenticated();
|
|
@@ -239,10 +253,27 @@ async function main() {
|
|
|
239
253
|
}
|
|
240
254
|
const regions = authResults.map((a) => a.region.toUpperCase()).join(" + ");
|
|
241
255
|
console.error(`Authenticated regions: ${regions}`);
|
|
242
|
-
registerAll();
|
|
256
|
+
toolDeps = registerAll();
|
|
243
257
|
}
|
|
244
258
|
const transport = new StdioServerTransport();
|
|
245
259
|
await server.connect(transport);
|
|
260
|
+
// Auto-checkpoint active sessions on transport close or process signals
|
|
261
|
+
const handleShutdown = async () => {
|
|
262
|
+
if (toolDeps) {
|
|
263
|
+
await autoCheckpoint(toolDeps);
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
transport.onclose = async () => {
|
|
267
|
+
await handleShutdown();
|
|
268
|
+
};
|
|
269
|
+
process.on("SIGINT", async () => {
|
|
270
|
+
await handleShutdown();
|
|
271
|
+
process.exit(0);
|
|
272
|
+
});
|
|
273
|
+
process.on("SIGTERM", async () => {
|
|
274
|
+
await handleShutdown();
|
|
275
|
+
process.exit(0);
|
|
276
|
+
});
|
|
246
277
|
console.error(authResults.length > 0
|
|
247
278
|
? "Minicor MCP server running on stdio"
|
|
248
279
|
: "Minicor MCP server running (limited mode — run minicor-mcp-setup to authenticate)");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,eAAe,GAEhB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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;AAC/E,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAmB,KAAK,MAAM,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;AAC/E,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAuB1D,MAAM,WAAW,oBAAoB;IACnC,sFAAsF;IACtF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC9E,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAoCD;;;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,CAiF5D;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|