@atalk/mcp-server 0.1.0-alpha.10 → 0.1.0-alpha.12
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 +24 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +317 -11
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -15,6 +15,8 @@ After activation, remove `ATALK_AGENT_TOKEN`. Optional variables:
|
|
|
15
15
|
- `ATALK_ATTACHMENT_DIR` for decrypted local working copies
|
|
16
16
|
- `ATALK_ALLOWED_FILE_ROOTS`, separated by the OS path delimiter, for outbound local files
|
|
17
17
|
- `ATALK_MCP_INLINE_MAX_BYTES` (default 20 MB) for native inline MCP image/audio/resource content
|
|
18
|
+
- `ATALK_ENABLE_WORKROOM_AUDIT=true` only for an operator-facing MCP process; disabled by default
|
|
19
|
+
- `ATALK_ENABLE_UNSAFE_WORKROOM_IO=true` only for trusted/manual compatibility clients; disabled by default
|
|
18
20
|
|
|
19
21
|
The aTalk transport supports encrypted attachments up to 100 MB. Larger model inputs can be saved with `atalk_save_attachment` rather than inserted into model context.
|
|
20
22
|
`atalk_receive` returns structured `mentions` and `isMentioned` fields for explicit supervisor targets;
|
|
@@ -27,3 +29,25 @@ the visible `text` remains clean and does not need to be parsed for `@handles`.
|
|
|
27
29
|
- `atalk_send`, `atalk_send_attachment`
|
|
28
30
|
- `atalk_reply`, `atalk_reply_attachment`
|
|
29
31
|
- `atalk_send_in_conversation`, `atalk_mark_read`, `atalk_relay_supervision`
|
|
32
|
+
- `atalk_workrooms`, `atalk_workroom_open`, `atalk_workroom_receive`
|
|
33
|
+
- `atalk_workroom_audit` only with explicit operator opt-in
|
|
34
|
+
- `atalk_workroom_message`, `atalk_workroom_activity`, `atalk_workroom_plan`
|
|
35
|
+
- `atalk_workroom_deliverable`, `atalk_workroom_publish`
|
|
36
|
+
- `atalk_workroom_submit_file`, `atalk_workroom_read_attachment`
|
|
37
|
+
- `atalk_workroom_upload`, `atalk_workroom_save_attachment` only with explicit trusted/manual opt-in
|
|
38
|
+
- `atalk_workroom_mandate_guard` (technical preview API)
|
|
39
|
+
|
|
40
|
+
Task titles/objectives, events, mentions, and plan assignments are decrypted and signature-verified locally. `atalk_workroom_receive` is fail-closed: it returns only a canonical structured mention of this agent with `intent: direct`, or one of its assigned `executing` plan steps. FYI mentions, inactive steps and the runtime's own events never start work. Publish/decrypt reject duplicate, inactive or mismatched routing identities and direct self-mentions. An unmentioned message never starts work, even in a one-agent Task, and plain-text `@names` are ignored for routing. Returned events include `routing.directMentions` and only this runtime's `routing.assignedSteps`; for a directed plan, `content.steps` is reduced to that same list before MCP receives it. `atalk_workroom_audit` is absent by default and is registered only when `ATALK_ENABLE_WORKROOM_AUDIT=true` (or the equivalent library option) is set on a dedicated operator-facing process. It does not advance the autonomous cursor and must never be exposed to a model trigger. Replies should use structured `mentions` and `replyToEventId`.
|
|
41
|
+
|
|
42
|
+
The message, activity, plan, deliverable, file submit/read, and advanced publish tools enforce the agent's signed permission (`mandate` in API names). They return an `operationId` plus one of:
|
|
43
|
+
|
|
44
|
+
An MCP process whose Task membership is `observer` receives no autonomous Workroom events, while
|
|
45
|
+
its durable cursor still advances. New executable mentions and assignments to observers are rejected.
|
|
46
|
+
|
|
47
|
+
- `executed`: the encrypted change was published and a signed receipt was recorded;
|
|
48
|
+
- `requires_approval`: an encrypted informed-consent request was created and no effect ran;
|
|
49
|
+
- `denied`: the current permission, deadline, revocation, participant, data, tool, spend, or volume rule stopped it.
|
|
50
|
+
|
|
51
|
+
Pass a stable `operationId`, reuse it on retries, and never reuse it for a different payload/effect. Consent request ids bind the complete proposed operation. When omitted, the MCP server generates one and returns it, which is convenient for one-shot calls but cannot protect a caller that loses the response. Action mapping matches the app: `message.send`, `plan.update`, `file.read`, `file.create`, and `deliverable.submit`. `plan.update` needs an explicit grant. Approval requests are emitted only by the permission guard; cost records are derived from permitted work rather than independently authorized.
|
|
52
|
+
|
|
53
|
+
`atalk_workroom_upload` and `atalk_workroom_save_attachment` are retained for compatibility but are absent by default. Set `ATALK_ENABLE_UNSAFE_WORKROOM_IO=true` (or the equivalent library option) only on a trusted/manual MCP process that is not exposed to an autonomous model. `atalk_workroom_mandate_guard` remains a technical preview API; a guard preview followed by a separate low-level call is not race-free. Autonomous agents should use the permission-aware tools, which revalidate immediately before the effect. Run one MCP process per credential when aggregate limits matter; local counters cannot coordinate cloned credentials, and no local receipt can make an arbitrary third-party effect part of one distributed transaction.
|
package/dist/server.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ export interface AtalkMcpOptions {
|
|
|
7
7
|
credentialPath?: string;
|
|
8
8
|
attachmentDirectory?: string;
|
|
9
9
|
allowedFileRoots?: string[];
|
|
10
|
+
/** Explicit operator opt-in for the complete non-autonomous Task history. */
|
|
11
|
+
allowWorkroomAudit?: boolean;
|
|
12
|
+
/** Explicit trusted/manual opt-in for low-level Task attachment I/O. */
|
|
13
|
+
allowUnsafeWorkroomIo?: boolean;
|
|
10
14
|
agent?: Agent;
|
|
11
15
|
}
|
|
12
16
|
export interface AtalkMcpRuntime {
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAA0E,MAAM,YAAY,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAmF1D,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AA+BD,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,eAAoB,GAAG,eAAe,CAoZnF"}
|
package/dist/server.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { mkdir, realpath, stat } from "node:fs/promises";
|
|
2
3
|
import { homedir } from "node:os";
|
|
3
4
|
import { basename, delimiter, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
5
|
import { Agent } from "@atalk/sdk";
|
|
@@ -7,9 +8,78 @@ import { z } from "zod";
|
|
|
7
8
|
import { AgentInbox, serializeMessage } from "./inbox.js";
|
|
8
9
|
const MAX_ATTACHMENT_BYTES = 100 * 1024 * 1024;
|
|
9
10
|
const DEFAULT_INLINE_BYTES = 20 * 1024 * 1024;
|
|
11
|
+
const workroomMentionSchema = z.object({
|
|
12
|
+
peerId: z.string().uuid(),
|
|
13
|
+
handle: z.string().regex(/^@[a-z0-9][a-z0-9._-]{1,62}$/u),
|
|
14
|
+
peerType: z.enum(["HUMAN", "AGENT"]),
|
|
15
|
+
intent: z.enum(["direct", "fyi", "approval_requested"]).default("direct"),
|
|
16
|
+
}).strict();
|
|
17
|
+
const mandatedToolFields = {
|
|
18
|
+
operationId: z.string().uuid().optional().describe("Stable UUID for retries; generated when omitted"),
|
|
19
|
+
mandateId: z.string().uuid().optional(),
|
|
20
|
+
rationale: z.string().min(1).max(4_000).optional(),
|
|
21
|
+
};
|
|
22
|
+
function useOperationId(operationId) {
|
|
23
|
+
return operationId ?? randomUUID();
|
|
24
|
+
}
|
|
10
25
|
const textResult = (value) => ({
|
|
11
26
|
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
12
27
|
});
|
|
28
|
+
function taskView(detail) {
|
|
29
|
+
return {
|
|
30
|
+
id: detail.workroom.id,
|
|
31
|
+
status: detail.workroom.status,
|
|
32
|
+
deadline: detail.workroom.deadline ?? null,
|
|
33
|
+
descriptor: detail.descriptor,
|
|
34
|
+
membership: {
|
|
35
|
+
role: detail.membership.role,
|
|
36
|
+
joinedAt: detail.membership.joinedAt,
|
|
37
|
+
leftAt: detail.membership.leftAt ?? null,
|
|
38
|
+
},
|
|
39
|
+
members: detail.members.map(({ membership, peer }) => ({
|
|
40
|
+
id: membership.peerId,
|
|
41
|
+
role: membership.role,
|
|
42
|
+
leftAt: membership.leftAt ?? null,
|
|
43
|
+
handle: peer?.handle ?? null,
|
|
44
|
+
displayName: peer?.displayName ?? null,
|
|
45
|
+
type: peer?.type ?? null,
|
|
46
|
+
})),
|
|
47
|
+
threads: detail.threads.map(({ id, kind, createdAt }) => ({ id, kind, createdAt })),
|
|
48
|
+
permissions: detail.latestMandates.map(({ mandate, revocation }) => ({
|
|
49
|
+
mandateId: mandate.mandateId,
|
|
50
|
+
revision: mandate.revision,
|
|
51
|
+
actorPeerId: mandate.actorPeerId,
|
|
52
|
+
validFrom: mandate.validFrom,
|
|
53
|
+
validUntil: mandate.validUntil,
|
|
54
|
+
revoked: Boolean(revocation),
|
|
55
|
+
})),
|
|
56
|
+
approvals: detail.approvals.map(({ requestId, status, requiredApprovals, eligiblePeerIds, expiresAt }) => ({
|
|
57
|
+
requestId,
|
|
58
|
+
status,
|
|
59
|
+
requiredApprovals,
|
|
60
|
+
eligiblePeerIds,
|
|
61
|
+
expiresAt: expiresAt ?? null,
|
|
62
|
+
})),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function workroomEventView(item) {
|
|
66
|
+
return {
|
|
67
|
+
sequence: item.sequence,
|
|
68
|
+
event: {
|
|
69
|
+
eventId: item.event.eventId,
|
|
70
|
+
workroomId: item.event.workroomId,
|
|
71
|
+
threadId: item.event.threadId,
|
|
72
|
+
actorPeerId: item.event.actorPeerId,
|
|
73
|
+
kind: item.event.kind,
|
|
74
|
+
createdAt: item.event.createdAt,
|
|
75
|
+
},
|
|
76
|
+
...(item.projection ? { projection: item.projection } : {}),
|
|
77
|
+
actor: item.actor,
|
|
78
|
+
content: item.content,
|
|
79
|
+
routing: item.routing,
|
|
80
|
+
directedToMe: item.directedToMe,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
13
83
|
function getMessage(inbox, messageId) {
|
|
14
84
|
const message = inbox.get(messageId);
|
|
15
85
|
if (!message)
|
|
@@ -23,7 +93,10 @@ function isWithin(root, path) {
|
|
|
23
93
|
const value = relative(root, path);
|
|
24
94
|
return value === "" || (!value.startsWith(`..${sep}`) && value !== ".." && !isAbsolute(value));
|
|
25
95
|
}
|
|
26
|
-
|
|
96
|
+
function environmentFlag(value) {
|
|
97
|
+
return value === "1" || value?.toLowerCase() === "true";
|
|
98
|
+
}
|
|
99
|
+
async function resolveAllowedFile(filePath, roots) {
|
|
27
100
|
const path = await realpath(resolve(filePath));
|
|
28
101
|
const allowed = await Promise.all(roots.map(async (root) => realpath(root).catch(() => resolve(root))));
|
|
29
102
|
if (!allowed.some((root) => isWithin(root, path)))
|
|
@@ -33,7 +106,7 @@ async function readAllowedFile(filePath, roots) {
|
|
|
33
106
|
throw new Error("Attachment path must be a regular file");
|
|
34
107
|
if (metadata.size > MAX_ATTACHMENT_BYTES)
|
|
35
108
|
throw new Error("aTalk attachments cannot exceed 100 MB");
|
|
36
|
-
return {
|
|
109
|
+
return { path, name: basename(path) };
|
|
37
110
|
}
|
|
38
111
|
export function createAtalkMcpServer(options = {}) {
|
|
39
112
|
const token = options.token ?? process.env.ATALK_AGENT_TOKEN;
|
|
@@ -51,8 +124,12 @@ export function createAtalkMcpServer(options = {}) {
|
|
|
51
124
|
const allowedFileRoots = (options.allowedFileRoots ?? [process.cwd(), attachmentDirectory, ...configuredRoots])
|
|
52
125
|
.map((root) => resolve(root));
|
|
53
126
|
const inlineLimit = Math.min(MAX_ATTACHMENT_BYTES, Number.parseInt(process.env.ATALK_MCP_INLINE_MAX_BYTES ?? "", 10) || DEFAULT_INLINE_BYTES);
|
|
127
|
+
const allowWorkroomAudit = options.allowWorkroomAudit
|
|
128
|
+
?? environmentFlag(process.env.ATALK_ENABLE_WORKROOM_AUDIT);
|
|
129
|
+
const allowUnsafeWorkroomIo = options.allowUnsafeWorkroomIo
|
|
130
|
+
?? environmentFlag(process.env.ATALK_ENABLE_UNSAFE_WORKROOM_IO);
|
|
54
131
|
const inbox = new AgentInbox();
|
|
55
|
-
const server = new McpServer({ name: "atalk", version: "0.1.0-alpha.
|
|
132
|
+
const server = new McpServer({ name: "atalk", version: "0.1.0-alpha.12" });
|
|
56
133
|
agent.on("message", (message) => inbox.push(message));
|
|
57
134
|
agent.on("error", (error) => console.error(`[aTalk] ${error.message}`));
|
|
58
135
|
server.registerTool("atalk_status", {
|
|
@@ -71,6 +148,235 @@ export function createAtalkMcpServer(options = {}) {
|
|
|
71
148
|
await Promise.all(messages.map((message) => message.markRead()));
|
|
72
149
|
return textResult({ messages: messages.map(serializeMessage), pendingMessages: inbox.pending });
|
|
73
150
|
});
|
|
151
|
+
server.registerTool("atalk_workrooms", {
|
|
152
|
+
description: "List aTalk Tasks available to this agent. Task title/objective are verified and decrypted locally; members, threads and agent-permission metadata are included.",
|
|
153
|
+
inputSchema: z.object({ cursor: z.string().optional(), limit: z.number().int().min(1).max(200).default(50) }),
|
|
154
|
+
}, async ({ cursor, limit }) => {
|
|
155
|
+
const page = await agent.workrooms.list(cursor, limit);
|
|
156
|
+
return textResult({ tasks: page.workrooms.map(taskView), nextCursor: page.nextCursor });
|
|
157
|
+
});
|
|
158
|
+
server.registerTool("atalk_workroom_open", {
|
|
159
|
+
description: "Open one aTalk Task and verify/decrypt its objective locally, including members, threads, current permission metadata and approvals.",
|
|
160
|
+
inputSchema: z.object({ workroomId: z.string().uuid() }),
|
|
161
|
+
}, async ({ workroomId }) => textResult(taskView(await agent.workrooms.get(workroomId, 0, 1))));
|
|
162
|
+
server.registerTool("atalk_workroom_receive", {
|
|
163
|
+
description: "Durably receive only Task/Workroom events explicitly addressed to this agent. General room traffic and messages for other agents never trigger this automation surface.",
|
|
164
|
+
inputSchema: z.object({ workroomId: z.string().uuid(), limit: z.number().int().min(1).max(500).default(100) }),
|
|
165
|
+
}, async ({ workroomId, limit }) => {
|
|
166
|
+
const events = [];
|
|
167
|
+
const cursor = await agent.workrooms.poll(workroomId, (event) => {
|
|
168
|
+
// Keep the MCP boundary fail-closed even when a custom Agent instance is
|
|
169
|
+
// injected. The SDK already applies the same structured routing rule.
|
|
170
|
+
if (event.directedToMe && event.routing?.directedToMe === true) {
|
|
171
|
+
events.push(workroomEventView(event));
|
|
172
|
+
}
|
|
173
|
+
}, { limit });
|
|
174
|
+
return textResult({ workroomId, cursor, events });
|
|
175
|
+
});
|
|
176
|
+
if (allowWorkroomAudit) {
|
|
177
|
+
server.registerTool("atalk_workroom_audit", {
|
|
178
|
+
description: "Operator-only complete Task event view. Reads general and other-agent traffic without advancing the autonomous handler cursor; do not use it to trigger model work.",
|
|
179
|
+
inputSchema: z.object({
|
|
180
|
+
workroomId: z.string().uuid(),
|
|
181
|
+
afterSequence: z.number().int().nonnegative().default(0),
|
|
182
|
+
limit: z.number().int().min(1).max(500).default(100),
|
|
183
|
+
}),
|
|
184
|
+
}, async ({ workroomId, afterSequence, limit }) => {
|
|
185
|
+
const page = await agent.workrooms.readAuditEvents(workroomId, afterSequence, limit);
|
|
186
|
+
return textResult({
|
|
187
|
+
workroomId,
|
|
188
|
+
events: page.events.map(workroomEventView),
|
|
189
|
+
nextAfterSequence: page.nextAfterSequence,
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
server.registerTool("atalk_workroom_publish", {
|
|
194
|
+
description: "Agent-permission-aware advanced publication of a structured Task message, activity, plan, artifact or deliverable. It stops for approval or denial and records a signed receipt after success.",
|
|
195
|
+
inputSchema: z.object({
|
|
196
|
+
workroomId: z.string().uuid(),
|
|
197
|
+
threadId: z.string().uuid(),
|
|
198
|
+
payload: z.record(z.string(), z.unknown()),
|
|
199
|
+
...mandatedToolFields,
|
|
200
|
+
eventId: z.string().uuid().optional(),
|
|
201
|
+
idempotencyKey: z.string().min(8).max(160).optional(),
|
|
202
|
+
projection: z.record(z.string(), z.unknown()).optional(),
|
|
203
|
+
}),
|
|
204
|
+
}, async ({ workroomId, threadId, payload, operationId, mandateId, rationale, eventId, idempotencyKey, projection }) => {
|
|
205
|
+
const stableOperationId = useOperationId(operationId);
|
|
206
|
+
const result = await agent.workrooms.publishMandated({
|
|
207
|
+
workroomId, threadId, operationId: stableOperationId, payload: payload,
|
|
208
|
+
...(mandateId ? { mandateId } : {}),
|
|
209
|
+
...(rationale ? { rationale } : {}),
|
|
210
|
+
publish: {
|
|
211
|
+
...(eventId ? { eventId } : {}),
|
|
212
|
+
...(idempotencyKey ? { idempotencyKey } : {}),
|
|
213
|
+
...(projection ? { projection: projection } : {}),
|
|
214
|
+
},
|
|
215
|
+
});
|
|
216
|
+
return textResult({ operationId: stableOperationId, result });
|
|
217
|
+
});
|
|
218
|
+
server.registerTool("atalk_workroom_message", {
|
|
219
|
+
description: "Send a simple encrypted message to one Task/Workroom thread with structured agent or human mentions.",
|
|
220
|
+
inputSchema: z.object({
|
|
221
|
+
workroomId: z.string().uuid(),
|
|
222
|
+
threadId: z.string().uuid(),
|
|
223
|
+
...mandatedToolFields,
|
|
224
|
+
body: z.string().min(1).max(200_000),
|
|
225
|
+
mentions: z.array(workroomMentionSchema).max(100).default([]),
|
|
226
|
+
replyToEventId: z.string().uuid().optional(),
|
|
227
|
+
}),
|
|
228
|
+
}, async ({ workroomId, threadId, operationId, mandateId, rationale, body, mentions, replyToEventId }) => {
|
|
229
|
+
const stableOperationId = useOperationId(operationId);
|
|
230
|
+
const result = await agent.workrooms.publishMandated({
|
|
231
|
+
workroomId, threadId, operationId: stableOperationId,
|
|
232
|
+
...(mandateId ? { mandateId } : {}),
|
|
233
|
+
...(rationale ? { rationale } : {}),
|
|
234
|
+
payload: { version: 1, kind: "message", threadId, body, mentions, ...(replyToEventId ? { replyToEventId } : {}) },
|
|
235
|
+
});
|
|
236
|
+
return textResult({ operationId: stableOperationId, result });
|
|
237
|
+
});
|
|
238
|
+
server.registerTool("atalk_workroom_activity", {
|
|
239
|
+
description: "Publish a concise encrypted progress/activity update to a Task/Workroom thread.",
|
|
240
|
+
inputSchema: z.object({
|
|
241
|
+
workroomId: z.string().uuid(), threadId: z.string().uuid(),
|
|
242
|
+
...mandatedToolFields,
|
|
243
|
+
activityType: z.string().min(1).max(160), summary: z.string().min(1).max(4_000),
|
|
244
|
+
mentions: z.array(workroomMentionSchema).max(100).default([]),
|
|
245
|
+
sourceEventIds: z.array(z.string().uuid()).max(100).default([]),
|
|
246
|
+
attributes: z.record(z.string(), z.string().max(4_000)).default({}),
|
|
247
|
+
}),
|
|
248
|
+
}, async ({ workroomId, threadId, operationId, mandateId, rationale, activityType, summary, mentions, sourceEventIds, attributes }) => {
|
|
249
|
+
const stableOperationId = useOperationId(operationId);
|
|
250
|
+
const result = await agent.workrooms.publishMandated({
|
|
251
|
+
workroomId, threadId, operationId: stableOperationId,
|
|
252
|
+
...(mandateId ? { mandateId } : {}),
|
|
253
|
+
...(rationale ? { rationale } : {}),
|
|
254
|
+
payload: { version: 1, kind: "activity", threadId, activityType, summary, mentions, sourceEventIds, attributes },
|
|
255
|
+
});
|
|
256
|
+
return textResult({ operationId: stableOperationId, result });
|
|
257
|
+
});
|
|
258
|
+
server.registerTool("atalk_workroom_plan", {
|
|
259
|
+
description: "Publish a permission-aware versioned Task plan. Assigning a step to a peer directs the event to that human or agent.",
|
|
260
|
+
inputSchema: z.object({
|
|
261
|
+
workroomId: z.string().uuid(), threadId: z.string().uuid(), ...mandatedToolFields,
|
|
262
|
+
planId: z.string().uuid().optional(), planVersion: z.number().int().positive(),
|
|
263
|
+
summary: z.string().min(1).max(2_000),
|
|
264
|
+
steps: z.array(z.object({
|
|
265
|
+
id: z.string().min(1).max(160), title: z.string().min(1).max(500),
|
|
266
|
+
status: z.enum(["executing", "waiting_approval", "blocked", "completed", "cancelled", "expired"]),
|
|
267
|
+
assignedPeerIds: z.array(z.string().uuid()).max(100).default([]),
|
|
268
|
+
dependsOnStepIds: z.array(z.string().min(1).max(160)).max(100).default([]),
|
|
269
|
+
deadline: z.string().datetime({ offset: true }).optional(),
|
|
270
|
+
}).strict()).min(1).max(500),
|
|
271
|
+
}),
|
|
272
|
+
}, async ({ workroomId, threadId, operationId, mandateId, rationale, planId, planVersion, summary, steps }) => {
|
|
273
|
+
const stableOperationId = useOperationId(operationId);
|
|
274
|
+
const result = await agent.workrooms.publishMandated({
|
|
275
|
+
workroomId, threadId, operationId: stableOperationId,
|
|
276
|
+
...(mandateId ? { mandateId } : {}),
|
|
277
|
+
...(rationale ? { rationale } : {}),
|
|
278
|
+
payload: { version: 1, kind: "plan", planVersion, summary, steps, ...(planId ? { planId } : {}) },
|
|
279
|
+
});
|
|
280
|
+
return textResult({ operationId: stableOperationId, result });
|
|
281
|
+
});
|
|
282
|
+
server.registerTool("atalk_workroom_deliverable", {
|
|
283
|
+
description: "Submit an existing encrypted artifact version as a permission-aware deliverable for human review.",
|
|
284
|
+
inputSchema: z.object({
|
|
285
|
+
workroomId: z.string().uuid(), threadId: z.string().uuid(), ...mandatedToolFields,
|
|
286
|
+
artifactId: z.string().uuid(), artifactVersion: z.number().int().positive(),
|
|
287
|
+
artifactVersionId: z.string().uuid(), deliverableId: z.string().uuid().optional(),
|
|
288
|
+
acceptanceCriteria: z.array(z.string().min(1).max(1_000)).min(1).max(100),
|
|
289
|
+
note: z.string().max(4_000).optional(),
|
|
290
|
+
mentions: z.array(workroomMentionSchema).max(100).default([]),
|
|
291
|
+
}),
|
|
292
|
+
}, async ({ workroomId, threadId, operationId, mandateId, rationale, artifactId, artifactVersion, artifactVersionId, deliverableId, acceptanceCriteria, note, mentions }) => {
|
|
293
|
+
const stableOperationId = useOperationId(operationId);
|
|
294
|
+
const result = await agent.workrooms.publishMandated({
|
|
295
|
+
workroomId, threadId, operationId: stableOperationId,
|
|
296
|
+
...(mandateId ? { mandateId } : {}),
|
|
297
|
+
...(rationale ? { rationale } : {}),
|
|
298
|
+
payload: {
|
|
299
|
+
version: 1, kind: "deliverable", artifactId, artifactVersion, artifactVersionId, acceptanceCriteria, mentions,
|
|
300
|
+
...(deliverableId ? { deliverableId } : {}), ...(note ? { note } : {}),
|
|
301
|
+
},
|
|
302
|
+
});
|
|
303
|
+
return textResult({ operationId: stableOperationId, result });
|
|
304
|
+
});
|
|
305
|
+
if (allowUnsafeWorkroomIo) {
|
|
306
|
+
server.registerTool("atalk_workroom_upload", {
|
|
307
|
+
description: "Low-level encrypted upload for trusted/manual clients. Agent runtimes should use atalk_workroom_submit_file so the agent permission is enforced and the artifact is published.",
|
|
308
|
+
inputSchema: z.object({
|
|
309
|
+
workroomId: z.string().uuid(),
|
|
310
|
+
filePath: z.string().min(1),
|
|
311
|
+
mimeType: z.string().min(1).max(160).optional(),
|
|
312
|
+
}),
|
|
313
|
+
}, async ({ workroomId, filePath, mimeType }) => {
|
|
314
|
+
const file = await resolveAllowedFile(filePath, allowedFileRoots);
|
|
315
|
+
return textResult({ descriptor: await agent.workrooms.uploadAttachmentFile({
|
|
316
|
+
workroomId, path: file.path, name: file.name, mimeType: mimeType ?? "application/octet-stream",
|
|
317
|
+
}) });
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
server.registerTool("atalk_workroom_submit_file", {
|
|
321
|
+
description: "Check the agent permission, encrypt, upload and publish one Task file (maximum 100 MB), then record a signed execution receipt.",
|
|
322
|
+
inputSchema: z.object({
|
|
323
|
+
workroomId: z.string().uuid(), threadId: z.string().uuid(), ...mandatedToolFields,
|
|
324
|
+
filePath: z.string().min(1), mimeType: z.string().min(1).max(160).optional(),
|
|
325
|
+
title: z.string().min(1).max(500).optional(), description: z.string().max(4_000).optional(),
|
|
326
|
+
artifactType: z.string().min(1).max(160).optional(), artifactId: z.string().uuid().optional(),
|
|
327
|
+
artifactVersion: z.number().int().positive().optional(),
|
|
328
|
+
mentions: z.array(workroomMentionSchema).max(100).default([]),
|
|
329
|
+
}),
|
|
330
|
+
}, async ({ workroomId, threadId, operationId, mandateId, rationale, filePath, mimeType, title, description, artifactType, artifactId, artifactVersion, mentions }) => {
|
|
331
|
+
const file = await resolveAllowedFile(filePath, allowedFileRoots);
|
|
332
|
+
const stableOperationId = useOperationId(operationId);
|
|
333
|
+
const result = await agent.workrooms.submitFileMandated({
|
|
334
|
+
workroomId, threadId, operationId: stableOperationId, path: file.path, name: file.name, mentions,
|
|
335
|
+
...(mandateId ? { mandateId } : {}), ...(rationale ? { rationale } : {}),
|
|
336
|
+
...(mimeType ? { mimeType } : {}), ...(title ? { title } : {}),
|
|
337
|
+
...(description ? { description } : {}), ...(artifactType ? { artifactType } : {}),
|
|
338
|
+
...(artifactId ? { artifactId } : {}), ...(artifactVersion ? { artifactVersion } : {}),
|
|
339
|
+
});
|
|
340
|
+
return textResult({ operationId: stableOperationId, result });
|
|
341
|
+
});
|
|
342
|
+
if (allowUnsafeWorkroomIo) {
|
|
343
|
+
server.registerTool("atalk_workroom_save_attachment", {
|
|
344
|
+
description: "Low-level authenticated Task attachment download for trusted/manual clients. Agent runtimes should use atalk_workroom_read_attachment so file.read is permission-checked.",
|
|
345
|
+
inputSchema: z.object({
|
|
346
|
+
descriptor: z.record(z.string(), z.unknown()),
|
|
347
|
+
}),
|
|
348
|
+
}, async ({ descriptor }) => {
|
|
349
|
+
const value = descriptor;
|
|
350
|
+
const id = String(descriptor.id ?? "attachment");
|
|
351
|
+
const name = safeName(String(descriptor.name ?? "attachment"));
|
|
352
|
+
const path = join(attachmentDirectory, `${id}-${name}`);
|
|
353
|
+
await mkdir(attachmentDirectory, { recursive: true, mode: 0o700 });
|
|
354
|
+
await agent.workrooms.downloadAttachmentTo(value, path);
|
|
355
|
+
return textResult({ path, descriptor });
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
server.registerTool("atalk_workroom_read_attachment", {
|
|
359
|
+
description: "Check the agent permission, authenticate and decrypt a Task attachment into the connector's private directory.",
|
|
360
|
+
inputSchema: z.object({
|
|
361
|
+
workroomId: z.string().uuid(), threadId: z.string().uuid(), ...mandatedToolFields,
|
|
362
|
+
descriptor: z.record(z.string(), z.unknown()),
|
|
363
|
+
}),
|
|
364
|
+
}, async ({ workroomId, threadId, operationId, mandateId, rationale, descriptor }) => {
|
|
365
|
+
const id = String(descriptor.id ?? "attachment");
|
|
366
|
+
const name = safeName(String(descriptor.name ?? "attachment"));
|
|
367
|
+
const path = join(attachmentDirectory, `${id}-${name}`);
|
|
368
|
+
await mkdir(attachmentDirectory, { recursive: true, mode: 0o700 });
|
|
369
|
+
const stableOperationId = useOperationId(operationId);
|
|
370
|
+
const result = await agent.workrooms.downloadAttachmentToMandated({
|
|
371
|
+
workroomId, threadId, operationId: stableOperationId, descriptor: descriptor, path,
|
|
372
|
+
...(mandateId ? { mandateId } : {}), ...(rationale ? { rationale } : {}),
|
|
373
|
+
});
|
|
374
|
+
return textResult({ operationId: stableOperationId, result });
|
|
375
|
+
});
|
|
376
|
+
server.registerTool("atalk_workroom_mandate_guard", {
|
|
377
|
+
description: "Preview one technical permission decision. Prefer permission-aware Task tools for execution: a preview is not an execution boundary and does not record a receipt.",
|
|
378
|
+
inputSchema: z.object({ request: z.record(z.string(), z.unknown()) }),
|
|
379
|
+
}, async ({ request }) => textResult(await agent.workrooms.guardMandateUse(request)));
|
|
74
380
|
server.registerTool("atalk_download_attachment", {
|
|
75
381
|
description: "Decrypt an attachment from a received message and return it as native MCP image/audio/resource content.",
|
|
76
382
|
inputSchema: z.object({ messageId: z.string().uuid() }),
|
|
@@ -108,7 +414,7 @@ export function createAtalkMcpServer(options = {}) {
|
|
|
108
414
|
const descriptor = message.attachment.descriptor;
|
|
109
415
|
const path = join(attachmentDirectory, `${descriptor.id}-${safeName(descriptor.name)}`);
|
|
110
416
|
await mkdir(attachmentDirectory, { recursive: true, mode: 0o700 });
|
|
111
|
-
await
|
|
417
|
+
await message.attachment.downloadTo(path);
|
|
112
418
|
return textResult({ messageId, path, name: descriptor.name, mimeType: descriptor.mimeType, size: descriptor.size });
|
|
113
419
|
});
|
|
114
420
|
server.registerTool("atalk_send", {
|
|
@@ -124,9 +430,9 @@ export function createAtalkMcpServer(options = {}) {
|
|
|
124
430
|
caption: z.string().max(4_000).optional(),
|
|
125
431
|
}),
|
|
126
432
|
}, async ({ handle, filePath, mimeType, caption }) => {
|
|
127
|
-
const file = await
|
|
128
|
-
return textResult(await agent.
|
|
129
|
-
|
|
433
|
+
const file = await resolveAllowedFile(filePath, allowedFileRoots);
|
|
434
|
+
return textResult(await agent.sendAttachmentFileWithDetails(handle, {
|
|
435
|
+
path: file.path, name: file.name, mimeType: mimeType ?? "application/octet-stream", caption,
|
|
130
436
|
}));
|
|
131
437
|
});
|
|
132
438
|
server.registerTool("atalk_reply", {
|
|
@@ -146,10 +452,10 @@ export function createAtalkMcpServer(options = {}) {
|
|
|
146
452
|
}),
|
|
147
453
|
}, async ({ messageId, filePath, mimeType, caption }) => {
|
|
148
454
|
const message = getMessage(inbox, messageId);
|
|
149
|
-
const file = await
|
|
455
|
+
const file = await resolveAllowedFile(filePath, allowedFileRoots);
|
|
150
456
|
return textResult({
|
|
151
|
-
messageId: await message.
|
|
152
|
-
|
|
457
|
+
messageId: await message.replyAttachmentFile({
|
|
458
|
+
path: file.path, name: file.name, mimeType: mimeType ?? "application/octet-stream", caption,
|
|
153
459
|
}),
|
|
154
460
|
conversationId: message.conversationId,
|
|
155
461
|
});
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atalk/mcp-server",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.12",
|
|
4
4
|
"description": "MCP server for secure text and multimedia messaging over aTalk",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@modelcontextprotocol/server": "^2.0.0",
|
|
37
37
|
"zod": "^4.0.0",
|
|
38
|
-
"@atalk/sdk": "0.1.0-alpha.
|
|
38
|
+
"@atalk/sdk": "0.1.0-alpha.12"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@modelcontextprotocol/client": "^2.0.0",
|