vessels-mcp 0.3.0 → 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 +26 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -75,7 +75,7 @@ async function ask(vessel, prompt, build, expectedType) {
|
|
|
75
75
|
if (!r.hasMore) await sleep(2e3);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
var server = new McpServer({ name: "vessels", version: "0.
|
|
78
|
+
var server = new McpServer({ name: "vessels", version: "0.4.0" });
|
|
79
79
|
server.registerTool(
|
|
80
80
|
"list_vessels",
|
|
81
81
|
{
|
|
@@ -360,5 +360,30 @@ server.registerTool(
|
|
|
360
360
|
return ok(res.ok ? `deleted ${vessel}` : `error: ${data.error ?? res.status}`);
|
|
361
361
|
}
|
|
362
362
|
);
|
|
363
|
+
server.registerTool(
|
|
364
|
+
"clear_messages",
|
|
365
|
+
{
|
|
366
|
+
title: "Clear a range of messages (rewind)",
|
|
367
|
+
description: `Trim a vessel's feed back to a point \u2014 the durable op behind a "/rewind". Pass EXACTLY ONE anchor; the anchor row is kept. "afterMessageId"/"after" deletes everything strictly newer ("rewind to here"); "beforeMessageId"/"before" deletes everything strictly older. "source" scopes it: "agent" (default) = agent+system, "user" = the human's messages, "all" = everything. This trims the HUMAN-VISIBLE feed only \u2014 it does NOT clear your agent's own context. Hard delete, irreversible \u2014 use dryRun:true first to preview the count.`,
|
|
368
|
+
inputSchema: {
|
|
369
|
+
vessel: z.string().optional().describe(`Vessel external_id (default "${defaultVessel}").`),
|
|
370
|
+
afterMessageId: z.string().optional().describe('Delete everything after this message id ("rewind to here").'),
|
|
371
|
+
beforeMessageId: z.string().optional().describe("Delete everything before this message id."),
|
|
372
|
+
after: z.string().optional().describe("Delete messages strictly newer than this ISO timestamp."),
|
|
373
|
+
before: z.string().optional().describe("Delete messages strictly older than this ISO timestamp."),
|
|
374
|
+
source: z.enum(["agent", "user", "all"]).optional().describe('Whose messages may go (default "agent" = agent+system).'),
|
|
375
|
+
dryRun: z.boolean().optional().describe("Count what would be deleted without deleting.")
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
async ({ vessel, afterMessageId, beforeMessageId, after, before, source, dryRun }) => {
|
|
379
|
+
const tgt = vessel ?? defaultVessel;
|
|
380
|
+
try {
|
|
381
|
+
const r = await v.clearMessages(tgt, { afterMessageId, beforeMessageId, after, before, source, dryRun });
|
|
382
|
+
return ok(r.dryRun ? `would delete ${r.deleted} message(s)` : `deleted ${r.deleted} message(s)`);
|
|
383
|
+
} catch (e) {
|
|
384
|
+
return ok(`error: ${e instanceof Error ? e.message : String(e)}`);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
);
|
|
363
388
|
await server.connect(new StdioServerTransport());
|
|
364
389
|
console.error(`[vessels-mcp] ready \u2014 default vessel "${defaultVessel}" @ ${baseUrl}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vessels-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Vessels MCP server — give any MCP client (Claude Code, Cursor, …) a tool to message a human and BLOCK until they answer.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
22
22
|
"zod": "^3.22",
|
|
23
|
-
"vessels-sdk": "^0.
|
|
23
|
+
"vessels-sdk": "^0.19.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"tsup": "^8.5.1",
|