@vornrun/mcp 0.3.2 → 0.4.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.
- package/dist/index.js +33 -5
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -2410,7 +2410,19 @@ var launchAgentConfigSchema = z5.object({
|
|
|
2410
2410
|
prompt: V.prompt.optional(),
|
|
2411
2411
|
promptDelayMs: z5.number().optional(),
|
|
2412
2412
|
taskId: V.id.optional(),
|
|
2413
|
-
taskFromQueue: z5.boolean().optional()
|
|
2413
|
+
taskFromQueue: z5.boolean().optional(),
|
|
2414
|
+
// Runs the agent in the background and waits for it to finish (required for
|
|
2415
|
+
// typed output). Opens a terminal tab when false/omitted.
|
|
2416
|
+
headless: z5.boolean().optional(),
|
|
2417
|
+
// JSON Schema the agent's final answer must satisfy (headless only). When set,
|
|
2418
|
+
// the engine parses a matching object from the run and exposes its fields as
|
|
2419
|
+
// `{{steps.<slug>.<field>}}` for downstream condition nodes.
|
|
2420
|
+
outputSchema: z5.record(z5.string(), z5.unknown()).optional()
|
|
2421
|
+
}).refine((c) => !c.outputSchema || c.headless === true, {
|
|
2422
|
+
// The engine only parses typed output for headless runs; reject a config that
|
|
2423
|
+
// declares a schema it would silently ignore instead of accepting a lie.
|
|
2424
|
+
message: "outputSchema requires headless: true",
|
|
2425
|
+
path: ["outputSchema"]
|
|
2414
2426
|
});
|
|
2415
2427
|
var triggerConfigSchema = z5.union([
|
|
2416
2428
|
z5.object({
|
|
@@ -2433,15 +2445,31 @@ var triggerConfigSchema = z5.union([
|
|
|
2433
2445
|
]);
|
|
2434
2446
|
var nodeSchema = z5.object({
|
|
2435
2447
|
id: V.id,
|
|
2436
|
-
|
|
2448
|
+
// Full node palette — parity with the editor. `config` is a passthrough so
|
|
2449
|
+
// each type carries its own shape (ConditionConfig, ApprovalConfig, etc.).
|
|
2450
|
+
type: z5.enum([
|
|
2451
|
+
"trigger",
|
|
2452
|
+
"launchAgent",
|
|
2453
|
+
"script",
|
|
2454
|
+
"condition",
|
|
2455
|
+
"approval",
|
|
2456
|
+
"createTaskFromItem",
|
|
2457
|
+
"callConnectorAction"
|
|
2458
|
+
]),
|
|
2437
2459
|
label: V.shortText,
|
|
2460
|
+
// Referenced by typed step vars as `{{steps.<slug>.<field>}}`. Set one on any
|
|
2461
|
+
// node whose output a later node consumes.
|
|
2462
|
+
slug: V.shortText.optional(),
|
|
2438
2463
|
config: z5.record(z5.string(), z5.unknown()),
|
|
2439
2464
|
position: z5.object({ x: z5.number(), y: z5.number() })
|
|
2440
2465
|
});
|
|
2441
2466
|
var edgeSchema = z5.object({
|
|
2442
2467
|
id: V.id,
|
|
2443
2468
|
source: V.id,
|
|
2444
|
-
target: V.id
|
|
2469
|
+
target: V.id,
|
|
2470
|
+
// Which branch of a `condition` node this edge represents. Omit for normal
|
|
2471
|
+
// edges; required to wire both outcomes of a condition.
|
|
2472
|
+
conditionBranch: z5.enum(["true", "false"]).optional()
|
|
2445
2473
|
});
|
|
2446
2474
|
function buildGraphFromFlat(trigger, actions) {
|
|
2447
2475
|
const nodes = [];
|
|
@@ -2492,7 +2520,7 @@ function registerWorkflowTools(server) {
|
|
|
2492
2520
|
);
|
|
2493
2521
|
server.tool(
|
|
2494
2522
|
"create_workflow",
|
|
2495
|
-
|
|
2523
|
+
'Create a new workflow. Accepts either full nodes/edges (advanced mode \u2014 every node type is supported: trigger, launchAgent, script, condition, approval, createTaskFromItem, callConnectorAction; wire condition outcomes with edge conditionBranch "true"/"false") or a convenience flat format (trigger + actions array). Give a node a slug to reference its output downstream as {{steps.<slug>.<field>}}. A headless launchAgent with an outputSchema returns typed fields for condition nodes.',
|
|
2496
2524
|
{
|
|
2497
2525
|
name: V.title.describe("Workflow name"),
|
|
2498
2526
|
trigger: triggerConfigSchema.optional().describe("Trigger config (convenience mode). Defaults to manual."),
|
|
@@ -2775,7 +2803,7 @@ console.warn = (...args) => _origError("[mcp:warn]", ...args);
|
|
|
2775
2803
|
console.error = (...args) => _origError("[mcp:error]", ...args);
|
|
2776
2804
|
async function main() {
|
|
2777
2805
|
configManager.init();
|
|
2778
|
-
const version = true ? "0.
|
|
2806
|
+
const version = true ? "0.4.0" : createRequire(import.meta.url)("../package.json").version;
|
|
2779
2807
|
const server = createMcpServer(version);
|
|
2780
2808
|
const transport = new StdioServerTransport();
|
|
2781
2809
|
await server.connect(transport);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vornrun/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Vorn MCP server — task management, git, and workflow tools for AI coding agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,14 +34,14 @@
|
|
|
34
34
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
35
35
|
"libsql": "^0.5.29",
|
|
36
36
|
"pino": "^10.3.1",
|
|
37
|
-
"ws": "^8.21.
|
|
37
|
+
"ws": "^8.21.1",
|
|
38
38
|
"zod": "^4.4.3"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@vornrun/server": "0.2.0",
|
|
42
42
|
"@vornrun/shared": "0.2.0",
|
|
43
43
|
"tsup": "^8.5.1",
|
|
44
|
-
"tsx": "^4.
|
|
44
|
+
"tsx": "^4.23.1",
|
|
45
45
|
"typescript": "^6.0.3"
|
|
46
46
|
}
|
|
47
47
|
}
|