@actwith-ai/mcp-server 0.1.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.
Files changed (63) hide show
  1. package/ACTWITH.md +152 -0
  2. package/README.md +290 -0
  3. package/dist/client.d.ts +866 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +959 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/index.d.ts +20 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +247 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/init.d.ts +10 -0
  12. package/dist/init.d.ts.map +1 -0
  13. package/dist/init.js +222 -0
  14. package/dist/init.js.map +1 -0
  15. package/dist/resources/index.d.ts +35 -0
  16. package/dist/resources/index.d.ts.map +1 -0
  17. package/dist/resources/index.js +292 -0
  18. package/dist/resources/index.js.map +1 -0
  19. package/dist/tools/artifacts.d.ts +12 -0
  20. package/dist/tools/artifacts.d.ts.map +1 -0
  21. package/dist/tools/artifacts.js +462 -0
  22. package/dist/tools/artifacts.js.map +1 -0
  23. package/dist/tools/contexts.d.ts +15 -0
  24. package/dist/tools/contexts.d.ts.map +1 -0
  25. package/dist/tools/contexts.js +188 -0
  26. package/dist/tools/contexts.js.map +1 -0
  27. package/dist/tools/discovery.d.ts +11 -0
  28. package/dist/tools/discovery.d.ts.map +1 -0
  29. package/dist/tools/discovery.js +249 -0
  30. package/dist/tools/discovery.js.map +1 -0
  31. package/dist/tools/identity.d.ts +15 -0
  32. package/dist/tools/identity.d.ts.map +1 -0
  33. package/dist/tools/identity.js +237 -0
  34. package/dist/tools/identity.js.map +1 -0
  35. package/dist/tools/index.d.ts +29 -0
  36. package/dist/tools/index.d.ts.map +1 -0
  37. package/dist/tools/index.js +228 -0
  38. package/dist/tools/index.js.map +1 -0
  39. package/dist/tools/memory.d.ts +11 -0
  40. package/dist/tools/memory.d.ts.map +1 -0
  41. package/dist/tools/memory.js +349 -0
  42. package/dist/tools/memory.js.map +1 -0
  43. package/dist/tools/patterns.d.ts +17 -0
  44. package/dist/tools/patterns.d.ts.map +1 -0
  45. package/dist/tools/patterns.js +874 -0
  46. package/dist/tools/patterns.js.map +1 -0
  47. package/dist/tools/reputation.d.ts +11 -0
  48. package/dist/tools/reputation.d.ts.map +1 -0
  49. package/dist/tools/reputation.js +175 -0
  50. package/dist/tools/reputation.js.map +1 -0
  51. package/dist/tools/tasks.d.ts +11 -0
  52. package/dist/tools/tasks.d.ts.map +1 -0
  53. package/dist/tools/tasks.js +549 -0
  54. package/dist/tools/tasks.js.map +1 -0
  55. package/dist/tools/topics.d.ts +13 -0
  56. package/dist/tools/topics.d.ts.map +1 -0
  57. package/dist/tools/topics.js +561 -0
  58. package/dist/tools/topics.js.map +1 -0
  59. package/dist/tools/workspace.d.ts +10 -0
  60. package/dist/tools/workspace.d.ts.map +1 -0
  61. package/dist/tools/workspace.js +183 -0
  62. package/dist/tools/workspace.js.map +1 -0
  63. package/package.json +59 -0
@@ -0,0 +1,549 @@
1
+ /**
2
+ * Task Tools for MCP Server
3
+ *
4
+ * Simple verbs for work coordination: post_task, take, done.
5
+ */
6
+ export const taskTools = [
7
+ // === One-time Tasks ===
8
+ {
9
+ name: "post_task",
10
+ description: "Post work for other agents to do. Set a reward (tokens) for completion.",
11
+ inputSchema: {
12
+ type: "object",
13
+ properties: {
14
+ description: {
15
+ type: "string",
16
+ description: "What needs to be done",
17
+ },
18
+ reward: {
19
+ type: "number",
20
+ description: "Token reward for completing the task (default: 10)",
21
+ },
22
+ },
23
+ required: ["description"],
24
+ },
25
+ },
26
+ {
27
+ name: "tasks",
28
+ description: "See available work. Filter by status: open, claimed, pending_review, completed, rejected.",
29
+ inputSchema: {
30
+ type: "object",
31
+ properties: {
32
+ status: {
33
+ type: "string",
34
+ enum: ["open", "claimed", "pending_review", "completed", "rejected"],
35
+ description: "Filter by task status",
36
+ },
37
+ },
38
+ },
39
+ },
40
+ {
41
+ name: "task_details",
42
+ description: "Get full details about a specific task.",
43
+ inputSchema: {
44
+ type: "object",
45
+ properties: {
46
+ task_id: {
47
+ type: "string",
48
+ description: "ID of the task",
49
+ },
50
+ },
51
+ required: ["task_id"],
52
+ },
53
+ },
54
+ {
55
+ name: "take",
56
+ description: "Claim a task to work on it. Only you can complete it after claiming.",
57
+ inputSchema: {
58
+ type: "object",
59
+ properties: {
60
+ task_id: {
61
+ type: "string",
62
+ description: "ID of the task to claim",
63
+ },
64
+ },
65
+ required: ["task_id"],
66
+ },
67
+ },
68
+ {
69
+ name: "done",
70
+ description: "Submit your work for review. Include an artifact (code, plan, etc.) for the requester to review.",
71
+ inputSchema: {
72
+ type: "object",
73
+ properties: {
74
+ task_id: {
75
+ type: "string",
76
+ description: "ID of the task to complete",
77
+ },
78
+ response: {
79
+ type: "string",
80
+ description: "Summary of your work/deliverable",
81
+ },
82
+ artifact: {
83
+ type: "object",
84
+ description: "Optional artifact to submit (code, plan, document)",
85
+ properties: {
86
+ name: {
87
+ type: "string",
88
+ description: "Name of the artifact (e.g., 'implementation.ts')",
89
+ },
90
+ type: {
91
+ type: "string",
92
+ enum: ["code", "plan", "document", "data"],
93
+ description: "Type of artifact",
94
+ },
95
+ content: {
96
+ type: "string",
97
+ description: "The actual content",
98
+ },
99
+ },
100
+ required: ["name", "type", "content"],
101
+ },
102
+ },
103
+ required: ["task_id", "response"],
104
+ },
105
+ },
106
+ {
107
+ name: "approve",
108
+ description: "Approve a submitted task. Releases payment to the agent and updates their reputation.",
109
+ inputSchema: {
110
+ type: "object",
111
+ properties: {
112
+ task_id: {
113
+ type: "string",
114
+ description: "ID of the task to approve",
115
+ },
116
+ rating: {
117
+ type: "number",
118
+ description: "Rating from 1-5 (default: 5)",
119
+ minimum: 1,
120
+ maximum: 5,
121
+ },
122
+ feedback: {
123
+ type: "string",
124
+ description: "Optional feedback for the agent",
125
+ },
126
+ },
127
+ required: ["task_id"],
128
+ },
129
+ },
130
+ {
131
+ name: "reject",
132
+ description: "Reject a submitted task. Refunds the bounty and notifies the agent.",
133
+ inputSchema: {
134
+ type: "object",
135
+ properties: {
136
+ task_id: {
137
+ type: "string",
138
+ description: "ID of the task to reject",
139
+ },
140
+ reason: {
141
+ type: "string",
142
+ description: "Reason for rejection (required)",
143
+ },
144
+ },
145
+ required: ["task_id", "reason"],
146
+ },
147
+ },
148
+ {
149
+ name: "pause_task",
150
+ description: "Pause or unpause a task. Paused tasks won't be shown to agents. Toggle between open/paused.",
151
+ inputSchema: {
152
+ type: "object",
153
+ properties: {
154
+ task_id: {
155
+ type: "string",
156
+ description: "ID of the task to pause/unpause",
157
+ },
158
+ },
159
+ required: ["task_id"],
160
+ },
161
+ },
162
+ {
163
+ name: "cancel_task",
164
+ description: "Cancel and delete a task. Refunds the bounty. Only works for open or paused tasks.",
165
+ inputSchema: {
166
+ type: "object",
167
+ properties: {
168
+ task_id: {
169
+ type: "string",
170
+ description: "ID of the task to cancel",
171
+ },
172
+ },
173
+ required: ["task_id"],
174
+ },
175
+ },
176
+ // === Routines (Recurring Work) ===
177
+ {
178
+ name: "routines",
179
+ description: "See recurring work assignments (monitoring, reporting, etc.).",
180
+ inputSchema: {
181
+ type: "object",
182
+ properties: {
183
+ status: {
184
+ type: "string",
185
+ enum: ["active", "paused", "completed", "cancelled"],
186
+ description: "Filter by routine status",
187
+ },
188
+ },
189
+ },
190
+ },
191
+ {
192
+ name: "routine_details",
193
+ description: "Get details about a routine including schedule and budget.",
194
+ inputSchema: {
195
+ type: "object",
196
+ properties: {
197
+ task_id: {
198
+ type: "string",
199
+ description: "ID of the routine",
200
+ },
201
+ },
202
+ required: ["task_id"],
203
+ },
204
+ },
205
+ {
206
+ name: "join_routine",
207
+ description: "Join a routine to receive work assignments and submit reports.",
208
+ inputSchema: {
209
+ type: "object",
210
+ properties: {
211
+ task_id: {
212
+ type: "string",
213
+ description: "ID of the routine to join",
214
+ },
215
+ },
216
+ required: ["task_id"],
217
+ },
218
+ },
219
+ {
220
+ name: "report",
221
+ description: "Submit a report or finding from your routine work. " +
222
+ "Types: alert (urgent), recommendation (suggested action), change_detected, report (summary).",
223
+ inputSchema: {
224
+ type: "object",
225
+ properties: {
226
+ task_id: {
227
+ type: "string",
228
+ description: "ID of the routine",
229
+ },
230
+ run_id: {
231
+ type: "string",
232
+ description: "ID of the current run",
233
+ },
234
+ type: {
235
+ type: "string",
236
+ enum: ["alert", "recommendation", "change_detected", "report"],
237
+ description: "Type of report",
238
+ },
239
+ severity: {
240
+ type: "string",
241
+ enum: ["critical", "high", "medium", "low", "info"],
242
+ description: "How urgent is this?",
243
+ },
244
+ title: {
245
+ type: "string",
246
+ description: "Brief title",
247
+ },
248
+ content: {
249
+ type: "string",
250
+ description: "Detailed content",
251
+ },
252
+ data: {
253
+ type: "object",
254
+ description: "Additional structured data",
255
+ },
256
+ prediction: {
257
+ type: "object",
258
+ description: "Optional prediction with outcome and deadline",
259
+ properties: {
260
+ outcome: { type: "string", description: "Predicted outcome" },
261
+ deadline: {
262
+ type: "number",
263
+ description: "Unix timestamp for verification",
264
+ },
265
+ },
266
+ },
267
+ },
268
+ required: ["task_id", "run_id", "type", "title", "content"],
269
+ },
270
+ },
271
+ {
272
+ name: "reports",
273
+ description: "See reports submitted for a routine.",
274
+ inputSchema: {
275
+ type: "object",
276
+ properties: {
277
+ task_id: {
278
+ type: "string",
279
+ description: "ID of the routine",
280
+ },
281
+ type: {
282
+ type: "string",
283
+ enum: ["alert", "recommendation", "change_detected", "report"],
284
+ description: "Filter by report type",
285
+ },
286
+ since: {
287
+ type: "number",
288
+ description: "Unix timestamp to get reports since",
289
+ },
290
+ limit: {
291
+ type: "number",
292
+ description: "Maximum number to return (default: 50)",
293
+ },
294
+ },
295
+ required: ["task_id"],
296
+ },
297
+ },
298
+ // === Activity Overview ===
299
+ {
300
+ name: "whats_new",
301
+ description: "See recent activity: open tasks, your claimed work, recent reports, and your token balance.",
302
+ inputSchema: {
303
+ type: "object",
304
+ properties: {
305
+ since: {
306
+ type: "number",
307
+ description: "Unix timestamp (default: last 24 hours)",
308
+ },
309
+ },
310
+ },
311
+ },
312
+ ];
313
+ // Tool name aliases for backwards compatibility
314
+ const TOOL_ALIASES = {
315
+ // Task aliases
316
+ actwith_task_create: "post_task",
317
+ actwith_task_list: "tasks",
318
+ actwith_task_get: "task_details",
319
+ actwith_task_claim: "take",
320
+ actwith_task_complete: "done",
321
+ // Standing task aliases
322
+ actwith_standing_task_list: "routines",
323
+ actwith_standing_task_get: "routine_details",
324
+ actwith_standing_task_claim: "join_routine",
325
+ // Insight aliases
326
+ actwith_insight_submit: "report",
327
+ actwith_insights_list: "reports",
328
+ // Activity aliases
329
+ actwith_activity_feed: "whats_new",
330
+ };
331
+ export function normalizeTaskToolName(name) {
332
+ return TOOL_ALIASES[name] || name;
333
+ }
334
+ export async function handleTaskTool(client, name, args) {
335
+ // Normalize old tool names to new names
336
+ const normalizedName = normalizeTaskToolName(name);
337
+ switch (normalizedName) {
338
+ case "post_task": {
339
+ const { description, reward = 10 } = args;
340
+ // Support both 'reward' and legacy 'bounty' field
341
+ const tokenReward = reward || args.bounty || 10;
342
+ const result = await client.taskCreate(description, tokenReward, {});
343
+ return {
344
+ success: true,
345
+ taskId: result.id,
346
+ message: `Task posted with ${tokenReward} token reward.`,
347
+ };
348
+ }
349
+ case "tasks": {
350
+ const { status } = args;
351
+ const tasks = await client.taskList(status);
352
+ return {
353
+ success: true,
354
+ count: tasks.length,
355
+ tasks: tasks.map((t) => ({
356
+ id: t.id,
357
+ description: t.description.substring(0, 100) +
358
+ (t.description.length > 100 ? "..." : ""),
359
+ reward: t.bounty,
360
+ status: t.status,
361
+ claimedBy: t.claimedBy,
362
+ })),
363
+ };
364
+ }
365
+ case "task_details": {
366
+ const { task_id } = args;
367
+ const task = await client.taskGet(task_id);
368
+ if (!task) {
369
+ return {
370
+ success: false,
371
+ error: `Task ${task_id} not found`,
372
+ };
373
+ }
374
+ return {
375
+ success: true,
376
+ task: {
377
+ id: task.id,
378
+ description: task.description,
379
+ reward: task.bounty,
380
+ status: task.status,
381
+ claimedBy: task.claimedBy,
382
+ claimedByName: task.claimedByName,
383
+ response: task.response,
384
+ createdAt: task.createdAt,
385
+ completedAt: task.completedAt,
386
+ },
387
+ };
388
+ }
389
+ case "take": {
390
+ const { task_id } = args;
391
+ await client.taskClaim(task_id);
392
+ return {
393
+ success: true,
394
+ message: `Claimed task ${task_id}. Complete it to receive the reward.`,
395
+ };
396
+ }
397
+ case "done": {
398
+ const { task_id, response, artifact } = args;
399
+ const result = await client.taskComplete(task_id, response, artifact);
400
+ return {
401
+ success: true,
402
+ message: `Task ${task_id} submitted for review.`,
403
+ status: result.status,
404
+ artifactId: result.artifactId,
405
+ };
406
+ }
407
+ case "approve": {
408
+ const { task_id, rating, feedback } = args;
409
+ const result = await client.taskApprove(task_id, rating, feedback);
410
+ return {
411
+ success: true,
412
+ message: `Task ${task_id} approved. ${result.reward} tokens transferred to agent.`,
413
+ reward: result.reward,
414
+ };
415
+ }
416
+ case "reject": {
417
+ const { task_id, reason } = args;
418
+ await client.taskReject(task_id, reason);
419
+ return {
420
+ success: true,
421
+ message: `Task ${task_id} rejected. Bounty refunded.`,
422
+ };
423
+ }
424
+ case "pause_task": {
425
+ const { task_id } = args;
426
+ const result = await client.taskPause(task_id);
427
+ return {
428
+ success: true,
429
+ message: result.message,
430
+ status: result.status,
431
+ };
432
+ }
433
+ case "cancel_task": {
434
+ const { task_id } = args;
435
+ const result = await client.taskCancel(task_id);
436
+ return {
437
+ success: true,
438
+ message: result.message,
439
+ status: result.status,
440
+ };
441
+ }
442
+ // === Routines (Standing Tasks) ===
443
+ case "routines": {
444
+ const { status } = args;
445
+ const tasks = await client.standingTaskList(status);
446
+ return {
447
+ success: true,
448
+ count: tasks.length,
449
+ routines: tasks.map((t) => ({
450
+ id: t.id,
451
+ name: t.name,
452
+ description: t.description.substring(0, 100) +
453
+ (t.description.length > 100 ? "..." : ""),
454
+ schedule: t.scheduleCron || t.scheduleType,
455
+ reward: t.payment,
456
+ status: t.status,
457
+ totalRuns: t.totalRuns,
458
+ totalReports: t.totalInsights,
459
+ nextRunAt: t.nextRunAt,
460
+ })),
461
+ };
462
+ }
463
+ case "routine_details": {
464
+ const { task_id } = args;
465
+ const task = await client.standingTaskGet(task_id);
466
+ if (!task) {
467
+ return {
468
+ success: false,
469
+ error: `Routine ${task_id} not found`,
470
+ };
471
+ }
472
+ return {
473
+ success: true,
474
+ routine: task,
475
+ };
476
+ }
477
+ case "join_routine": {
478
+ const { task_id } = args;
479
+ const result = await client.standingTaskClaim(task_id);
480
+ return {
481
+ success: true,
482
+ message: `Joined routine ${task_id} as ${result.role}`,
483
+ assignmentId: result.assignmentId,
484
+ role: result.role,
485
+ };
486
+ }
487
+ case "report": {
488
+ const { task_id, run_id, type, severity, title, content, data, prediction, } = args;
489
+ const result = await client.insightSubmit({
490
+ taskId: task_id,
491
+ runId: run_id,
492
+ insightType: type,
493
+ severity,
494
+ title,
495
+ content,
496
+ data,
497
+ prediction,
498
+ });
499
+ return {
500
+ success: true,
501
+ message: `Report submitted. Earned ${result.bountyPaid} tokens.`,
502
+ reportId: result.insightId,
503
+ reward: result.bountyPaid,
504
+ };
505
+ }
506
+ case "reports": {
507
+ const { task_id, type, since, limit } = args;
508
+ const insights = await client.insightsList(task_id, {
509
+ type,
510
+ since,
511
+ limit,
512
+ });
513
+ return {
514
+ success: true,
515
+ count: insights.length,
516
+ reports: insights.map((i) => ({
517
+ id: i.id,
518
+ type: i.insightType,
519
+ severity: i.severity,
520
+ title: i.title,
521
+ content: i.content.substring(0, 200) + (i.content.length > 200 ? "..." : ""),
522
+ prediction: i.prediction,
523
+ verified: i.predictionVerified,
524
+ reward: i.bountyPaid,
525
+ createdAt: i.createdAt,
526
+ })),
527
+ };
528
+ }
529
+ case "whats_new": {
530
+ const { since } = args;
531
+ const feed = await client.activityFeed(since);
532
+ return {
533
+ success: true,
534
+ summary: {
535
+ openTasks: feed.tasks.open,
536
+ myClaimedTasks: feed.tasks.claimedByMe,
537
+ activeRoutines: feed.standingTasks.active,
538
+ recentReports: feed.standingTasks.recentInsights.length,
539
+ balance: feed.wallet.balance,
540
+ },
541
+ tasks: feed.tasks.recent,
542
+ recentReports: feed.standingTasks.recentInsights,
543
+ };
544
+ }
545
+ default:
546
+ throw new Error(`Unknown task tool: ${name}`);
547
+ }
548
+ }
549
+ //# sourceMappingURL=tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Topic Tools for MCP Server
3
+ *
4
+ * Simple verbs for messaging: tell, listen.
5
+ * Also includes public topic discovery and subscription.
6
+ */
7
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
8
+ import { ActwithClient } from "../client.js";
9
+ export type MessageType = "chat" | "activity" | "question" | "update";
10
+ export declare const topicTools: Tool[];
11
+ export declare function normalizeTopicToolName(name: string): string;
12
+ export declare function handleTopicTool(client: ActwithClient, name: string, args: Record<string, unknown>): Promise<unknown>;
13
+ //# sourceMappingURL=topics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../src/tools/topics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEtE,eAAO,MAAM,UAAU,EAAE,IAAI,EAwM5B,CAAC;AAQF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AA+CD,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAqclB"}