@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 @@
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../src/tools/contexts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Discovery Tools for MCP Server
3
+ *
4
+ * Tools for discovering work opportunities and joining new spaces.
5
+ * Part of the "gig economy" feature set.
6
+ */
7
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
8
+ import { ActwithClient } from "../client.js";
9
+ export declare const discoveryTools: Tool[];
10
+ export declare function handleDiscoveryTool(client: ActwithClient, name: string, args: Record<string, unknown>): Promise<unknown>;
11
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/tools/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,cAAc,EAAE,IAAI,EA0FhC,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CA6JlB"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * Discovery Tools for MCP Server
3
+ *
4
+ * Tools for discovering work opportunities and joining new spaces.
5
+ * Part of the "gig economy" feature set.
6
+ */
7
+ export const discoveryTools = [
8
+ {
9
+ name: "find_work",
10
+ description: "Find tasks you can work on based on your skills and space memberships. " +
11
+ "Shows tasks from your spaces, with option to include joinable spaces.",
12
+ inputSchema: {
13
+ type: "object",
14
+ properties: {
15
+ category: {
16
+ type: "string",
17
+ description: "Filter by task category",
18
+ },
19
+ min_reward: {
20
+ type: "number",
21
+ description: "Minimum token reward",
22
+ },
23
+ include_joinable: {
24
+ type: "boolean",
25
+ description: "Include tasks from spaces you could join (default: false)",
26
+ },
27
+ limit: {
28
+ type: "number",
29
+ description: "Max results (default: 20)",
30
+ },
31
+ },
32
+ },
33
+ },
34
+ {
35
+ name: "find_spaces",
36
+ description: "Discover spaces you can join based on your reputation. " +
37
+ "Shows eligibility requirements and available work.",
38
+ inputSchema: {
39
+ type: "object",
40
+ properties: {
41
+ category: {
42
+ type: "string",
43
+ description: "Filter by space category",
44
+ },
45
+ sort: {
46
+ type: "string",
47
+ enum: ["tasks", "rewards", "recent"],
48
+ description: "Sort by: tasks (most work), rewards (highest bounties), recent",
49
+ },
50
+ limit: {
51
+ type: "number",
52
+ description: "Max results (default: 20)",
53
+ },
54
+ },
55
+ },
56
+ },
57
+ {
58
+ name: "join_space",
59
+ description: "Request to join a space. If you meet auto-join requirements, you'll be added immediately. " +
60
+ "Otherwise your request goes to the space owner for approval.",
61
+ inputSchema: {
62
+ type: "object",
63
+ properties: {
64
+ space_id: {
65
+ type: "string",
66
+ description: "ID of the space to join",
67
+ },
68
+ message: {
69
+ type: "string",
70
+ description: "Optional message to the space owner (for manual approval)",
71
+ },
72
+ },
73
+ required: ["space_id"],
74
+ },
75
+ },
76
+ {
77
+ name: "leave_space",
78
+ description: "Leave a space you're a member of. You can't leave your home space.",
79
+ inputSchema: {
80
+ type: "object",
81
+ properties: {
82
+ space_id: {
83
+ type: "string",
84
+ description: "ID of the space to leave",
85
+ },
86
+ },
87
+ required: ["space_id"],
88
+ },
89
+ },
90
+ ];
91
+ export async function handleDiscoveryTool(client, name, args) {
92
+ switch (name) {
93
+ case "find_work": {
94
+ const { category, min_reward, include_joinable, limit } = args;
95
+ const tasks = await client.discoverTasks({
96
+ category,
97
+ minReward: min_reward,
98
+ includeJoinable: include_joinable,
99
+ limit: limit || 20,
100
+ });
101
+ if (tasks.length === 0) {
102
+ return {
103
+ success: true,
104
+ message: include_joinable
105
+ ? "No matching tasks found. Try different filters or check back later."
106
+ : "No tasks in your spaces. Try include_joinable: true to see tasks from spaces you could join.",
107
+ tasks: [],
108
+ };
109
+ }
110
+ // Group by access type for clarity
111
+ const byAccess = {
112
+ home: tasks.filter((t) => t.accessType === "home"),
113
+ member: tasks.filter((t) => t.accessType === "member"),
114
+ joinable: tasks.filter((t) => t.accessType === "joinable"),
115
+ };
116
+ return {
117
+ success: true,
118
+ count: tasks.length,
119
+ summary: {
120
+ inHomeSpace: byAccess.home.length,
121
+ inMemberSpaces: byAccess.member.length,
122
+ inJoinableSpaces: byAccess.joinable.length,
123
+ totalRewards: tasks.reduce((sum, t) => sum + t.reward, 0),
124
+ },
125
+ tasks: tasks.map((t) => ({
126
+ id: t.id,
127
+ description: t.description.length > 100
128
+ ? t.description.substring(0, 100) + "..."
129
+ : t.description,
130
+ reward: t.reward,
131
+ category: t.category,
132
+ skills: t.requiredSkills.length > 0 ? t.requiredSkills : null,
133
+ minTrust: t.minTrustScore > 0 ? t.minTrustScore : null,
134
+ space: t.space.name,
135
+ access: formatAccessType(t.accessType),
136
+ })),
137
+ };
138
+ }
139
+ case "find_spaces": {
140
+ const { category, sort, limit } = args;
141
+ const result = await client.discoverSpaces({
142
+ category,
143
+ sort,
144
+ limit: limit || 20,
145
+ });
146
+ if (result.spaces.length === 0) {
147
+ return {
148
+ success: true,
149
+ message: "No joinable spaces found matching your criteria.",
150
+ yourReputation: result.agentReputation,
151
+ spaces: [],
152
+ };
153
+ }
154
+ // Separate by eligibility
155
+ const canJoin = result.spaces.filter((s) => s.eligibility.canAutoJoin);
156
+ const needsApproval = result.spaces.filter((s) => !s.eligibility.canAutoJoin);
157
+ return {
158
+ success: true,
159
+ count: result.spaces.length,
160
+ yourReputation: {
161
+ trustScore: Math.round(result.agentReputation.trustScore * 10) / 10,
162
+ tier: result.agentReputation.trustTier,
163
+ tasksCompleted: result.agentReputation.totalTasksCompleted,
164
+ },
165
+ summary: {
166
+ canAutoJoin: canJoin.length,
167
+ needsApproval: needsApproval.length,
168
+ },
169
+ spaces: result.spaces.map((s) => ({
170
+ id: s.id,
171
+ name: s.name,
172
+ description: s.description
173
+ ? s.description.length > 100
174
+ ? s.description.substring(0, 100) + "..."
175
+ : s.description
176
+ : null,
177
+ category: s.category,
178
+ openTasks: s.openTasks,
179
+ totalRewards: s.totalRewards,
180
+ eligibility: {
181
+ canJoin: s.eligibility.canAutoJoin,
182
+ reason: formatEligibility(s.eligibility, result.agentReputation),
183
+ probation: s.eligibility.canAutoJoin
184
+ ? `${s.eligibility.probation.durationHours}h, ${s.eligibility.probation.tasksRequired} tasks`
185
+ : null,
186
+ },
187
+ })),
188
+ };
189
+ }
190
+ case "join_space": {
191
+ const { space_id, message } = args;
192
+ const result = await client.joinSpace(space_id, message);
193
+ return {
194
+ success: true,
195
+ status: result.status,
196
+ message: result.message,
197
+ tier: result.tier || null,
198
+ nextSteps: result.status === "approved"
199
+ ? "You can now claim tasks in this space. Complete probation tasks to become a full member."
200
+ : result.status === "pending"
201
+ ? "Your request has been sent to the space owner. You'll be notified when approved."
202
+ : null,
203
+ };
204
+ }
205
+ case "leave_space": {
206
+ const { space_id } = args;
207
+ await client.leaveSpace(space_id);
208
+ return {
209
+ success: true,
210
+ message: "Successfully left the space.",
211
+ };
212
+ }
213
+ default:
214
+ throw new Error(`Unknown discovery tool: ${name}`);
215
+ }
216
+ }
217
+ function formatAccessType(access) {
218
+ switch (access) {
219
+ case "home":
220
+ return "Your home space";
221
+ case "member":
222
+ return "Member";
223
+ case "joinable":
224
+ return "Can join";
225
+ default:
226
+ return access;
227
+ }
228
+ }
229
+ function formatEligibility(eligibility, agentRep) {
230
+ if (eligibility.canAutoJoin) {
231
+ return "Meets all requirements - can join instantly";
232
+ }
233
+ if (!eligibility.autoJoinEnabled) {
234
+ return "Requires manual approval from owner";
235
+ }
236
+ const reasons = [];
237
+ const req = eligibility.requirements;
238
+ if (agentRep.trustScore < req.minTrustScore) {
239
+ reasons.push(`Need trust score ${req.minTrustScore} (you have ${Math.round(agentRep.trustScore)})`);
240
+ }
241
+ if (agentRep.totalTasksCompleted < req.minTasksCompleted) {
242
+ reasons.push(`Need ${req.minTasksCompleted} tasks completed (you have ${agentRep.totalTasksCompleted})`);
243
+ }
244
+ if (req.requiredSkills.length > 0) {
245
+ reasons.push(`Requires skills: ${req.requiredSkills.join(", ")}`);
246
+ }
247
+ return reasons.length > 0 ? reasons.join("; ") : "Requires manual approval";
248
+ }
249
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/tools/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,yEAAyE;YACzE,uEAAuE;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sBAAsB;iBACpC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,2DAA2D;iBAC9D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,yDAAyD;YACzD,oDAAoD;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;oBACpC,WAAW,EACT,gEAAgE;iBACnE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,4FAA4F;YAC5F,8DAA8D;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,2DAA2D;iBAC9D;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,oEAAoE;QACtE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAqB,EACrB,IAAY,EACZ,IAA6B;IAE7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,IAKzD,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;gBACvC,QAAQ;gBACR,SAAS,EAAE,UAAU;gBACrB,eAAe,EAAE,gBAAgB;gBACjC,KAAK,EAAE,KAAK,IAAI,EAAE;aACnB,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,gBAAgB;wBACvB,CAAC,CAAC,qEAAqE;wBACvE,CAAC,CAAC,8FAA8F;oBAClG,KAAK,EAAE,EAAE;iBACV,CAAC;YACJ,CAAC;YAED,mCAAmC;YACnC,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC;gBAClD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;gBACtD,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC;aAC3D,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,OAAO,EAAE;oBACP,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;oBACjC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;oBACtC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;oBAC1C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC1D;gBACD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,WAAW,EACT,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG;wBACxB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;wBACzC,CAAC,CAAC,CAAC,CAAC,WAAW;oBACnB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;oBAC7D,QAAQ,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;oBACtD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;oBACnB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC;iBACvC,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAIjC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC;gBACzC,QAAQ;gBACR,IAAI;gBACJ,KAAK,EAAE,KAAK,IAAI,EAAE;aACnB,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,kDAAkD;oBAC3D,cAAc,EAAE,MAAM,CAAC,eAAe;oBACtC,MAAM,EAAE,EAAE;iBACX,CAAC;YACJ,CAAC;YAED,0BAA0B;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAClC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;gBAC3B,cAAc,EAAE;oBACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE;oBACnE,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,SAAS;oBACtC,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,mBAAmB;iBAC3D;gBACD,OAAO,EAAE;oBACP,WAAW,EAAE,OAAO,CAAC,MAAM;oBAC3B,aAAa,EAAE,aAAa,CAAC,MAAM;iBACpC;gBACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;wBACxB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG;4BAC1B,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;4BACzC,CAAC,CAAC,CAAC,CAAC,WAAW;wBACjB,CAAC,CAAC,IAAI;oBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,WAAW,EAAE;wBACX,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW;wBAClC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC;wBAChE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW;4BAClC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,QAAQ;4BAC7F,CAAC,CAAC,IAAI;qBACT;iBACF,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAG7B,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEzD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;gBACzB,SAAS,EACP,MAAM,CAAC,MAAM,KAAK,UAAU;oBAC1B,CAAC,CAAC,0FAA0F;oBAC5F,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;wBAC3B,CAAC,CAAC,kFAAkF;wBACpF,CAAC,CAAC,IAAI;aACb,CAAC;QACJ,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAA4B,CAAC;YAElD,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAElC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,8BAA8B;aACxC,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,WAQC,EACD,QAA6D;IAE7D,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,6CAA6C,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACjC,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,YAAa,CAAC;IAEtC,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CACV,oBAAoB,GAAG,CAAC,aAAa,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,mBAAmB,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CACV,QAAQ,GAAG,CAAC,iBAAiB,8BAA8B,QAAQ,CAAC,mBAAmB,GAAG,CAC3F,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Identity Tools
3
+ *
4
+ * Tools for managing agent identity:
5
+ * - my_identity: Get current agent identity and configuration
6
+ * - update_identity: Update persona, capabilities, instructions
7
+ * - export_identity: Export identity bundle for backup/transfer
8
+ * - list_templates: List available agent templates
9
+ */
10
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
11
+ import { ActwithClient } from "../client.js";
12
+ export declare const identityTools: Tool[];
13
+ export declare function handleIdentityTool(client: ActwithClient, name: string, args: Record<string, unknown>): Promise<unknown>;
14
+ export declare const IDENTITY_TOOLS: Set<string>;
15
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,aAAa,EAAE,IAAI,EAyG/B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CA0FlB;AA0DD,eAAO,MAAM,cAAc,aAKzB,CAAC"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Identity Tools
3
+ *
4
+ * Tools for managing agent identity:
5
+ * - my_identity: Get current agent identity and configuration
6
+ * - update_identity: Update persona, capabilities, instructions
7
+ * - export_identity: Export identity bundle for backup/transfer
8
+ * - list_templates: List available agent templates
9
+ */
10
+ export const identityTools = [
11
+ {
12
+ name: "my_identity",
13
+ description: "Get your agent identity: name, persona, capabilities, reputation, and instructions.",
14
+ inputSchema: {
15
+ type: "object",
16
+ properties: {},
17
+ },
18
+ },
19
+ {
20
+ name: "update_identity",
21
+ description: "Update your agent persona, capabilities, or special instructions.",
22
+ inputSchema: {
23
+ type: "object",
24
+ properties: {
25
+ persona: {
26
+ type: "object",
27
+ description: "Persona configuration",
28
+ properties: {
29
+ systemPrompt: {
30
+ type: "string",
31
+ description: "Your core instructions/persona",
32
+ },
33
+ workStyle: {
34
+ type: "string",
35
+ enum: ["thorough", "fast", "collaborative", "autonomous"],
36
+ description: "How you prefer to work",
37
+ },
38
+ communicationStyle: {
39
+ type: "string",
40
+ enum: ["formal", "casual", "technical"],
41
+ description: "How you communicate",
42
+ },
43
+ },
44
+ },
45
+ capabilities: {
46
+ type: "object",
47
+ description: "Your capabilities",
48
+ properties: {
49
+ skills: {
50
+ type: "array",
51
+ items: { type: "string" },
52
+ description: "Skills you have (e.g., typescript, code-review)",
53
+ },
54
+ categories: {
55
+ type: "array",
56
+ items: { type: "string" },
57
+ description: "Work categories (e.g., development, research)",
58
+ },
59
+ preferredPatterns: {
60
+ type: "array",
61
+ items: { type: "string" },
62
+ description: "Preferred work patterns (e.g., pipeline, parallel)",
63
+ },
64
+ maxConcurrentTasks: {
65
+ type: "number",
66
+ description: "Max tasks to work on at once",
67
+ },
68
+ },
69
+ },
70
+ specialInstructions: {
71
+ type: "string",
72
+ description: "Special instructions (like CLAUDE.md content)",
73
+ },
74
+ memoryKeys: {
75
+ type: "array",
76
+ items: { type: "string" },
77
+ description: "Memory keys to include in identity exports",
78
+ },
79
+ },
80
+ },
81
+ },
82
+ {
83
+ name: "export_identity",
84
+ description: "Export your identity bundle for backup or transfer to another machine. Includes fresh credentials.",
85
+ inputSchema: {
86
+ type: "object",
87
+ properties: {
88
+ tokenName: {
89
+ type: "string",
90
+ description: "Name for the new token (e.g., 'laptop', 'server')",
91
+ },
92
+ expiresInDays: {
93
+ type: "number",
94
+ description: "Token expiration in days (default: never)",
95
+ },
96
+ },
97
+ },
98
+ },
99
+ {
100
+ name: "list_templates",
101
+ description: "List available agent templates for creating new agents.",
102
+ inputSchema: {
103
+ type: "object",
104
+ properties: {
105
+ category: {
106
+ type: "string",
107
+ description: "Filter by category (e.g., development, research)",
108
+ },
109
+ },
110
+ },
111
+ },
112
+ ];
113
+ export async function handleIdentityTool(client, name, args) {
114
+ // We need the agent ID to make these calls
115
+ // For now, we'll get it from the client's context or self-register
116
+ const agentId = await getOrCreateAgentId(client);
117
+ if (!agentId) {
118
+ return {
119
+ error: "No agent identity found. Use self-register first or set ACTWITH_AGENT_ID.",
120
+ };
121
+ }
122
+ switch (name) {
123
+ case "my_identity": {
124
+ const response = await client.fetch(`/v1/agents/${agentId}/bundle`);
125
+ if (!response.ok) {
126
+ const error = await response.json().catch(() => ({}));
127
+ return { error: error.error?.message || "Failed to get identity" };
128
+ }
129
+ const result = await response.json();
130
+ return result.data;
131
+ }
132
+ case "update_identity": {
133
+ const { persona, capabilities, specialInstructions, memoryKeys } = args;
134
+ const response = await client.fetch(`/v1/agents/${agentId}/bundle/import`, {
135
+ method: "POST",
136
+ body: JSON.stringify({
137
+ persona,
138
+ capabilities,
139
+ specialInstructions,
140
+ memoryKeys,
141
+ deviceId: getDeviceId(),
142
+ }),
143
+ });
144
+ if (!response.ok) {
145
+ const error = await response.json().catch(() => ({}));
146
+ return { error: error.error?.message || "Failed to update identity" };
147
+ }
148
+ return { success: true, message: "Identity updated" };
149
+ }
150
+ case "export_identity": {
151
+ const { tokenName, expiresInDays } = args;
152
+ const response = await client.fetch(`/v1/agents/${agentId}/bundle/export`, {
153
+ method: "POST",
154
+ body: JSON.stringify({ tokenName, expiresInDays }),
155
+ });
156
+ if (!response.ok) {
157
+ const error = await response.json().catch(() => ({}));
158
+ return { error: error.error?.message || "Failed to export identity" };
159
+ }
160
+ const result = await response.json();
161
+ return {
162
+ ...result.data,
163
+ _instructions: "Save this bundle to a file. The credentials.agentToken is shown only once!",
164
+ };
165
+ }
166
+ case "list_templates": {
167
+ const { category } = args;
168
+ const url = category ? `/v1/templates?category=${category}` : "/v1/templates";
169
+ const response = await client.fetch(url);
170
+ if (!response.ok) {
171
+ const error = await response.json().catch(() => ({}));
172
+ return { error: error.error?.message || "Failed to list templates" };
173
+ }
174
+ const result = await response.json();
175
+ return result.data;
176
+ }
177
+ default:
178
+ return { error: `Unknown identity tool: ${name}` };
179
+ }
180
+ }
181
+ // Helper to get or create agent ID
182
+ async function getOrCreateAgentId(client) {
183
+ // Check environment variable first
184
+ const envAgentId = process.env.ACTWITH_AGENT_ID;
185
+ if (envAgentId) {
186
+ return envAgentId;
187
+ }
188
+ // Try to get from client context
189
+ const agentId = client.getAgentId?.();
190
+ if (agentId) {
191
+ return agentId;
192
+ }
193
+ // Try self-registration
194
+ try {
195
+ const contextId = client.getContextId?.();
196
+ if (!contextId)
197
+ return null;
198
+ const stableKey = getStableKey();
199
+ const response = await client.fetch("/v1/agents/self-register", {
200
+ method: "POST",
201
+ body: JSON.stringify({
202
+ contextId,
203
+ stableKey,
204
+ name: `Agent-${stableKey.substring(0, 8)}`,
205
+ type: "ai",
206
+ }),
207
+ });
208
+ if (response.ok) {
209
+ const result = await response.json();
210
+ const data = result.data;
211
+ return data?.id || null;
212
+ }
213
+ }
214
+ catch {
215
+ // Self-registration failed
216
+ }
217
+ return null;
218
+ }
219
+ // Generate a stable key for this agent instance
220
+ function getStableKey() {
221
+ // Use hostname + user as stable key
222
+ const hostname = process.env.HOSTNAME || process.env.COMPUTERNAME || "unknown";
223
+ const user = process.env.USER || process.env.USERNAME || "agent";
224
+ return `${user}-${hostname}`.toLowerCase().replace(/[^a-z0-9]/g, "-");
225
+ }
226
+ // Get device identifier for sync tracking
227
+ function getDeviceId() {
228
+ const hostname = process.env.HOSTNAME || process.env.COMPUTERNAME || "unknown";
229
+ return hostname;
230
+ }
231
+ export const IDENTITY_TOOLS = new Set([
232
+ "my_identity",
233
+ "update_identity",
234
+ "export_identity",
235
+ "list_templates",
236
+ ]);
237
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/tools/identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Tool Registry
3
+ *
4
+ * Simple, plain English tool names for Claude.
5
+ *
6
+ * Memory: remember, recall, memories, forget
7
+ * Messages: tell, listen, ask (request-response pattern)
8
+ * Topics: discover_topics, subscribe_topic, unsubscribe_topic, my_subscriptions
9
+ * Tasks: post_task, tasks, task_details, take, done
10
+ * Routines: routines, routine_details, join_routine, report, reports
11
+ * Patterns: list_patterns, start_pattern, pattern_status, join_pattern, advance_pattern, handoff
12
+ * Projects: projects, project_details, start_project, finish_project
13
+ * Artifacts: artifacts, artifact_details, create_artifact, etc.
14
+ * Reputation: my_reputation, my_work_history, my_spaces
15
+ * Discovery: find_work, find_spaces, join_space, leave_space
16
+ * Workspace: current_space, switch_space, create_invite, list_invites, revoke_invite
17
+ * Status: whats_new, teammates, session_save, session_restore
18
+ */
19
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
20
+ import { ActwithClient } from "../client.js";
21
+ import { normalizeMemoryToolName } from "./memory.js";
22
+ import { normalizeTaskToolName } from "./tasks.js";
23
+ import { normalizeTopicToolName } from "./topics.js";
24
+ import { normalizeArtifactToolName } from "./artifacts.js";
25
+ import { normalizeContextToolName } from "./contexts.js";
26
+ export declare const allTools: Tool[];
27
+ export declare function handleTool(client: ActwithClient, name: string, args: Record<string, unknown>): Promise<unknown>;
28
+ export { normalizeMemoryToolName, normalizeTaskToolName, normalizeTopicToolName, normalizeArtifactToolName, normalizeContextToolName, };
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAGL,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAA6B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAGL,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAwBvB,eAAO,MAAM,QAAQ,EAAE,IAAI,EAY1B,CAAC;AA4HF,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAuElB;AAGD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,GACzB,CAAC"}