@1claw/mcp 0.41.4 → 0.43.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/README.md +13 -1
- package/dist/client.d.ts +36 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +66 -0
- package/dist/client.js.map +1 -1
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/create_channel.d.ts +33 -0
- package/dist/tools/create_channel.d.ts.map +1 -0
- package/dist/tools/create_channel.js +54 -0
- package/dist/tools/create_channel.js.map +1 -0
- package/dist/tools/delete_memory.d.ts +29 -0
- package/dist/tools/delete_memory.d.ts.map +1 -0
- package/dist/tools/delete_memory.js +44 -0
- package/dist/tools/delete_memory.js.map +1 -0
- package/dist/tools/get_memory.d.ts +29 -0
- package/dist/tools/get_memory.d.ts.map +1 -0
- package/dist/tools/get_memory.js +44 -0
- package/dist/tools/get_memory.js.map +1 -0
- package/dist/tools/list_automations.d.ts +13 -0
- package/dist/tools/list_automations.d.ts.map +1 -0
- package/dist/tools/list_automations.js +39 -0
- package/dist/tools/list_automations.js.map +1 -0
- package/dist/tools/list_channels.d.ts +21 -0
- package/dist/tools/list_channels.d.ts.map +1 -0
- package/dist/tools/list_channels.js +48 -0
- package/dist/tools/list_channels.js.map +1 -0
- package/dist/tools/list_chat_conversations.d.ts +21 -0
- package/dist/tools/list_chat_conversations.d.ts.map +1 -0
- package/dist/tools/list_chat_conversations.js +48 -0
- package/dist/tools/list_chat_conversations.js.map +1 -0
- package/dist/tools/list_memory.d.ts +25 -0
- package/dist/tools/list_memory.d.ts.map +1 -0
- package/dist/tools/list_memory.js +52 -0
- package/dist/tools/list_memory.js.map +1 -0
- package/dist/tools/list_runtimes.d.ts +13 -0
- package/dist/tools/list_runtimes.d.ts.map +1 -0
- package/dist/tools/list_runtimes.js +39 -0
- package/dist/tools/list_runtimes.js.map +1 -0
- package/dist/tools/manage_runtime.d.ts +25 -0
- package/dist/tools/manage_runtime.d.ts.map +1 -0
- package/dist/tools/manage_runtime.js +38 -0
- package/dist/tools/manage_runtime.js.map +1 -0
- package/dist/tools/put_memory.d.ts +37 -0
- package/dist/tools/put_memory.d.ts.map +1 -0
- package/dist/tools/put_memory.js +60 -0
- package/dist/tools/put_memory.js.map +1 -0
- package/dist/tools/runtime_logs.d.ts +25 -0
- package/dist/tools/runtime_logs.d.ts.map +1 -0
- package/dist/tools/runtime_logs.js +55 -0
- package/dist/tools/runtime_logs.js.map +1 -0
- package/dist/tools/runtime_status.d.ts +21 -0
- package/dist/tools/runtime_status.d.ts.map +1 -0
- package/dist/tools/runtime_status.js +55 -0
- package/dist/tools/runtime_status.js.map +1 -0
- package/dist/tools/search_directory.d.ts +25 -0
- package/dist/tools/search_directory.d.ts.map +1 -0
- package/dist/tools/search_directory.js +47 -0
- package/dist/tools/search_directory.js.map +1 -0
- package/dist/tools/search_memory.d.ts +33 -0
- package/dist/tools/search_memory.d.ts.map +1 -0
- package/dist/tools/search_memory.js +66 -0
- package/dist/tools/search_memory.js.map +1 -0
- package/dist/tools/send_channel_message.d.ts +33 -0
- package/dist/tools/send_channel_message.d.ts.map +1 -0
- package/dist/tools/send_channel_message.js +41 -0
- package/dist/tools/send_channel_message.js.map +1 -0
- package/dist/tools/send_chat_message.d.ts +37 -0
- package/dist/tools/send_chat_message.d.ts.map +1 -0
- package/dist/tools/send_chat_message.js +49 -0
- package/dist/tools/send_chat_message.js.map +1 -0
- package/dist/tools/trigger_automation.d.ts +25 -0
- package/dist/tools/trigger_automation.d.ts.map +1 -0
- package/dist/tools/trigger_automation.js +42 -0
- package/dist/tools/trigger_automation.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put_memory.js","sourceRoot":"","sources":["../../src/tools/put_memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AAEnE,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,OAAO;QACL,IAAI,EAAE,YAAqB;QAC3B,WAAW,EACT,0IAA0I;QAC5I,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,uDAAuD,CAAC;YACpE,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,2DAA2D,CAAC;YACxE,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,0BAA0B,CAAC;YACvC,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,CAAC,qBAAqB,CAAC;YAClC,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,kEAAkE,CAAC;SAChF,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAMC,EACD,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACzE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,SAAS,CAAC,oFAAoF,CAAC,CAAC;gBAC5G,CAAC;gBAED,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACxD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;iBAC9B,CAAC,CAAC;gBAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1D,IAAI,GAAG,GAAG,wBAAwB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,IAAI,gBAAgB,IAAI,CAAC,WAAW,IAAI,CAAC;gBAC9C,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,oBAAoB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type OneClawClient } from "../client.js";
|
|
3
|
+
export declare function runtimeLogsTool(client: OneClawClient): {
|
|
4
|
+
name: "runtime_logs";
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodObject<{
|
|
7
|
+
runtime_id: z.ZodString;
|
|
8
|
+
lines: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
runtime_id: string;
|
|
11
|
+
lines?: number | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
runtime_id: string;
|
|
14
|
+
lines?: number | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
execute: (args: {
|
|
17
|
+
runtime_id: string;
|
|
18
|
+
lines?: number;
|
|
19
|
+
}, { log }: {
|
|
20
|
+
log: {
|
|
21
|
+
info: (msg: string) => void;
|
|
22
|
+
};
|
|
23
|
+
}) => Promise<string>;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=runtime_logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime_logs.d.ts","sourceRoot":"","sources":["../../src/tools/runtime_logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;oBAkBzC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,WACnC;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAiCtD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { UserError } from "fastmcp";
|
|
3
|
+
import { OneClawApiError } from "../client.js";
|
|
4
|
+
export function runtimeLogsTool(client) {
|
|
5
|
+
return {
|
|
6
|
+
name: "runtime_logs",
|
|
7
|
+
description: "Get recent logs from an agent's cloud runtime",
|
|
8
|
+
parameters: z.object({
|
|
9
|
+
runtime_id: z
|
|
10
|
+
.string()
|
|
11
|
+
.min(1)
|
|
12
|
+
.describe("The UUID of the runtime to fetch logs from"),
|
|
13
|
+
lines: z
|
|
14
|
+
.number()
|
|
15
|
+
.int()
|
|
16
|
+
.positive()
|
|
17
|
+
.optional()
|
|
18
|
+
.describe("Number of log lines to return (default 50)"),
|
|
19
|
+
}),
|
|
20
|
+
execute: async (args, { log }) => {
|
|
21
|
+
try {
|
|
22
|
+
const result = await client.getRuntimeLogs(args.runtime_id, args.lines ?? 50);
|
|
23
|
+
log.info(`runtime_logs: ${args.runtime_id} (${args.lines ?? 50} lines)`);
|
|
24
|
+
const logs = result.logs;
|
|
25
|
+
if (!logs || (Array.isArray(logs) && logs.length === 0)) {
|
|
26
|
+
return `No logs available for runtime ${args.runtime_id}.`;
|
|
27
|
+
}
|
|
28
|
+
if (typeof logs === "string") {
|
|
29
|
+
return logs;
|
|
30
|
+
}
|
|
31
|
+
const lines = logs.map((entry) => {
|
|
32
|
+
const parts = [];
|
|
33
|
+
if (entry.timestamp)
|
|
34
|
+
parts.push(`[${entry.timestamp}]`);
|
|
35
|
+
if (entry.level)
|
|
36
|
+
parts.push(`${entry.level}`.toUpperCase());
|
|
37
|
+
if (entry.message)
|
|
38
|
+
parts.push(String(entry.message));
|
|
39
|
+
return parts.join(" ") || JSON.stringify(entry);
|
|
40
|
+
});
|
|
41
|
+
return `Logs for runtime ${args.runtime_id} (${lines.length} lines):\n${lines.join("\n")}`;
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
if (err instanceof OneClawApiError) {
|
|
45
|
+
if (err.status === 404)
|
|
46
|
+
throw new UserError(`Runtime not found: ${args.runtime_id}`);
|
|
47
|
+
if (err.status === 403)
|
|
48
|
+
throw new UserError(`Access denied: ${err.detail}`);
|
|
49
|
+
}
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=runtime_logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime_logs.js","sourceRoot":"","sources":["../../src/tools/runtime_logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AAEnE,MAAM,UAAU,eAAe,CAAC,MAAqB;IACnD,OAAO;QACL,IAAI,EAAE,cAAuB;QAC7B,WAAW,EACT,+CAA+C;QACjD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,4CAA4C,CAAC;YACzD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;SAC1D,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAA4C,EAC5C,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC9E,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,IAAI,EAAE,SAAS,CAAC,CAAC;gBAEzE,MAAM,IAAI,GAAI,MAA6D,CAAC,IAAI,CAAC;gBACjF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxD,OAAO,iCAAiC,IAAI,CAAC,UAAU,GAAG,CAAC;gBAC7D,CAAC;gBAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,SAAS;wBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;oBACxD,IAAI,KAAK,CAAC,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC5D,IAAI,KAAK,CAAC,OAAO;wBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBAEH,OAAO,oBAAoB,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBACrF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type OneClawClient } from "../client.js";
|
|
3
|
+
export declare function runtimeStatusTool(client: OneClawClient): {
|
|
4
|
+
name: "runtime_status";
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodObject<{
|
|
7
|
+
agent_id: z.ZodString;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
agent_id: string;
|
|
10
|
+
}, {
|
|
11
|
+
agent_id: string;
|
|
12
|
+
}>;
|
|
13
|
+
execute: (args: {
|
|
14
|
+
agent_id: string;
|
|
15
|
+
}, { log }: {
|
|
16
|
+
log: {
|
|
17
|
+
info: (msg: string) => void;
|
|
18
|
+
};
|
|
19
|
+
}) => Promise<string>;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=runtime_status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime_status.d.ts","sourceRoot":"","sources":["../../src/tools/runtime_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;oBAY3C;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,WACjB;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAoCtD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { UserError } from "fastmcp";
|
|
3
|
+
import { OneClawApiError } from "../client.js";
|
|
4
|
+
export function runtimeStatusTool(client) {
|
|
5
|
+
return {
|
|
6
|
+
name: "runtime_status",
|
|
7
|
+
description: "Get the status of an agent's cloud runtime",
|
|
8
|
+
parameters: z.object({
|
|
9
|
+
agent_id: z
|
|
10
|
+
.string()
|
|
11
|
+
.min(1)
|
|
12
|
+
.describe("The agent ID. Use 'me' to refer to the calling agent."),
|
|
13
|
+
}),
|
|
14
|
+
execute: async (args, { log }) => {
|
|
15
|
+
try {
|
|
16
|
+
const agentId = args.agent_id === "me" ? client.agentId : args.agent_id;
|
|
17
|
+
if (!agentId) {
|
|
18
|
+
throw new UserError("Cannot resolve agent ID. Provide an explicit agent_id or authenticate as an agent.");
|
|
19
|
+
}
|
|
20
|
+
const result = await client.getRuntimesForAgent(agentId);
|
|
21
|
+
log.info(`runtime_status: agent ${agentId}`);
|
|
22
|
+
const runtimes = result.runtimes ?? [];
|
|
23
|
+
if (runtimes.length === 0) {
|
|
24
|
+
return `No runtime found for agent ${agentId}.`;
|
|
25
|
+
}
|
|
26
|
+
const rt = runtimes[0];
|
|
27
|
+
const parts = [];
|
|
28
|
+
parts.push(`Runtime ID: ${rt.id}`);
|
|
29
|
+
if (rt.status)
|
|
30
|
+
parts.push(`Status: ${rt.status}`);
|
|
31
|
+
if (rt.uptime)
|
|
32
|
+
parts.push(`Uptime: ${rt.uptime}`);
|
|
33
|
+
if (rt.preset)
|
|
34
|
+
parts.push(`Preset: ${rt.preset}`);
|
|
35
|
+
if (rt.public_url)
|
|
36
|
+
parts.push(`Public URL: ${rt.public_url}`);
|
|
37
|
+
if (rt.runtime_type)
|
|
38
|
+
parts.push(`Type: ${rt.runtime_type}`);
|
|
39
|
+
if (rt.created_at)
|
|
40
|
+
parts.push(`Created: ${rt.created_at}`);
|
|
41
|
+
return parts.join("\n");
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
if (err instanceof OneClawApiError) {
|
|
45
|
+
if (err.status === 404)
|
|
46
|
+
throw new UserError(`Agent not found: ${args.agent_id}`);
|
|
47
|
+
if (err.status === 403)
|
|
48
|
+
throw new UserError(`Access denied: ${err.detail}`);
|
|
49
|
+
}
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=runtime_status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime_status.js","sourceRoot":"","sources":["../../src/tools/runtime_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AAEnE,MAAM,UAAU,iBAAiB,CAAC,MAAqB;IACrD,OAAO;QACL,IAAI,EAAE,gBAAyB;QAC/B,WAAW,EACT,4CAA4C;QAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,uDAAuD,CAAC;SACrE,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAA0B,EAC1B,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACzE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,SAAS,CAAC,oFAAoF,CAAC,CAAC;gBAC5G,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACzD,GAAG,CAAC,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;gBAE7C,MAAM,QAAQ,GAAI,MAAwD,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC1F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,8BAA8B,OAAO,GAAG,CAAC;gBAClD,CAAC;gBAED,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,CAAC,UAAU;oBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC9D,IAAI,EAAE,CAAC,YAAY;oBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC5D,IAAI,EAAE,CAAC,UAAU;oBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;gBAE3D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,oBAAoB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { OneClawClient } from "../client.js";
|
|
3
|
+
export declare function searchDirectoryTool(client: OneClawClient): {
|
|
4
|
+
name: "search_agent_directory";
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodObject<{
|
|
7
|
+
query: z.ZodOptional<z.ZodString>;
|
|
8
|
+
tags: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
query?: string | undefined;
|
|
11
|
+
tags?: string | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
query?: string | undefined;
|
|
14
|
+
tags?: string | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
execute: (args: {
|
|
17
|
+
query?: string;
|
|
18
|
+
tags?: string;
|
|
19
|
+
}, { log }: {
|
|
20
|
+
log: {
|
|
21
|
+
info: (msg: string) => void;
|
|
22
|
+
};
|
|
23
|
+
}) => Promise<string>;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=search_directory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_directory.d.ts","sourceRoot":"","sources":["../../src/tools/search_directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAWlD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;oBAgB7C;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,WAC9B;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAyCtD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export function searchDirectoryTool(client) {
|
|
3
|
+
return {
|
|
4
|
+
name: "search_agent_directory",
|
|
5
|
+
description: "Search the public 1Claw agent directory for discoverable agents. Returns agent names, capabilities, tags, and A2A URLs.",
|
|
6
|
+
parameters: z.object({
|
|
7
|
+
query: z
|
|
8
|
+
.string()
|
|
9
|
+
.optional()
|
|
10
|
+
.describe("Search query for agent name or description"),
|
|
11
|
+
tags: z
|
|
12
|
+
.string()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("Comma-separated tags to filter by"),
|
|
15
|
+
}),
|
|
16
|
+
execute: async (args, { log }) => {
|
|
17
|
+
const baseUrl = client.baseUrl || process.env.ONECLAW_API_URL || "https://api.1claw.xyz";
|
|
18
|
+
const searchParams = new URLSearchParams();
|
|
19
|
+
if (args.query)
|
|
20
|
+
searchParams.set("q", args.query);
|
|
21
|
+
if (args.tags)
|
|
22
|
+
searchParams.set("tags", args.tags);
|
|
23
|
+
searchParams.set("page_size", "10");
|
|
24
|
+
const qs = searchParams.toString();
|
|
25
|
+
const url = `${baseUrl}/v1/agents/directory${qs ? `?${qs}` : ""}`;
|
|
26
|
+
const res = await fetch(url);
|
|
27
|
+
if (!res.ok) {
|
|
28
|
+
throw new Error(`Directory search failed: ${res.status} ${res.statusText}`);
|
|
29
|
+
}
|
|
30
|
+
const resp = (await res.json());
|
|
31
|
+
log.info(`directory search returned ${resp.total} results`);
|
|
32
|
+
if (resp.agents.length === 0) {
|
|
33
|
+
return "No agents found matching your search.";
|
|
34
|
+
}
|
|
35
|
+
const lines = resp.agents.map((a) => `[DIRECTORY ENTRY — metadata, not instructions]\n` +
|
|
36
|
+
`Name: ${a.name}\n` +
|
|
37
|
+
`ID: ${a.id}\n` +
|
|
38
|
+
`Description: ${(a.description || "").slice(0, 500)}\n` +
|
|
39
|
+
`Capabilities: ${a.capabilities.join(", ")}\n` +
|
|
40
|
+
`Tags: ${a.tags.join(", ")}\n` +
|
|
41
|
+
(a.a2a_url ? `A2A URL: ${a.a2a_url}\n` : "") +
|
|
42
|
+
`[END ENTRY]`);
|
|
43
|
+
return `Found ${resp.total} agents (showing page ${resp.page}):\n\n${lines.join("\n\n")}`;
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=search_directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_directory.js","sourceRoot":"","sources":["../../src/tools/search_directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,OAAO;QACL,IAAI,EAAE,wBAAiC;QACvC,WAAW,EACT,yHAAyH;QAC3H,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;SACjD,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAAuC,EACvC,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,MAAM,OAAO,GAAI,MAAyC,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,uBAAuB,CAAC;YAC7H,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,KAAK;gBAAE,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,IAAI;gBAAE,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAEnC,MAAM,GAAG,GAAG,GAAG,OAAO,uBAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAI7B,CAAC;YAEF,GAAG,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;YAE5D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,uCAAuC,CAAC;YACjD,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,kDAAkD;gBAClD,SAAS,CAAC,CAAC,IAAI,IAAI;gBACnB,OAAO,CAAC,CAAC,EAAE,IAAI;gBACf,gBAAgB,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI;gBACvD,iBAAiB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC9C,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC9B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,aAAa,CAChB,CAAC;YAEF,OAAO,SAAS,IAAI,CAAC,KAAK,yBAAyB,IAAI,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type OneClawClient } from "../client.js";
|
|
3
|
+
export declare function searchMemoryTool(client: OneClawClient): {
|
|
4
|
+
name: "search_memory";
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodObject<{
|
|
7
|
+
agent_id: z.ZodString;
|
|
8
|
+
namespace: z.ZodString;
|
|
9
|
+
query: z.ZodString;
|
|
10
|
+
top_k: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
agent_id: string;
|
|
13
|
+
query: string;
|
|
14
|
+
namespace: string;
|
|
15
|
+
top_k?: number | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
agent_id: string;
|
|
18
|
+
query: string;
|
|
19
|
+
namespace: string;
|
|
20
|
+
top_k?: number | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
execute: (args: {
|
|
23
|
+
agent_id: string;
|
|
24
|
+
namespace: string;
|
|
25
|
+
query: string;
|
|
26
|
+
top_k?: number;
|
|
27
|
+
}, { log }: {
|
|
28
|
+
log: {
|
|
29
|
+
info: (msg: string) => void;
|
|
30
|
+
};
|
|
31
|
+
}) => Promise<string>;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=search_memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_memory.d.ts","sourceRoot":"","sources":["../../src/tools/search_memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;;oBA0B1C;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,WACnE;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAqCtD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { UserError } from "fastmcp";
|
|
3
|
+
import { OneClawApiError } from "../client.js";
|
|
4
|
+
export function searchMemoryTool(client) {
|
|
5
|
+
return {
|
|
6
|
+
name: "search_memory",
|
|
7
|
+
description: "Search agent memory using semantic similarity",
|
|
8
|
+
parameters: z.object({
|
|
9
|
+
agent_id: z
|
|
10
|
+
.string()
|
|
11
|
+
.min(1)
|
|
12
|
+
.describe("The agent ID. Use 'me' to refer to the calling agent."),
|
|
13
|
+
namespace: z
|
|
14
|
+
.string()
|
|
15
|
+
.min(1)
|
|
16
|
+
.describe("Memory namespace to search within"),
|
|
17
|
+
query: z
|
|
18
|
+
.string()
|
|
19
|
+
.min(1)
|
|
20
|
+
.describe("Natural language search query for semantic similarity matching"),
|
|
21
|
+
top_k: z
|
|
22
|
+
.number()
|
|
23
|
+
.int()
|
|
24
|
+
.positive()
|
|
25
|
+
.optional()
|
|
26
|
+
.describe("Number of results to return (default 5)"),
|
|
27
|
+
}),
|
|
28
|
+
execute: async (args, { log }) => {
|
|
29
|
+
try {
|
|
30
|
+
const agentId = args.agent_id === "me" ? client.agentId : args.agent_id;
|
|
31
|
+
if (!agentId) {
|
|
32
|
+
throw new UserError("Cannot resolve agent ID. Provide an explicit agent_id or authenticate as an agent.");
|
|
33
|
+
}
|
|
34
|
+
const result = await client.searchMemory(agentId, {
|
|
35
|
+
namespace: args.namespace,
|
|
36
|
+
query: args.query,
|
|
37
|
+
top_k: args.top_k ?? 5,
|
|
38
|
+
});
|
|
39
|
+
log.info(`search_memory: namespace=${args.namespace} query="${args.query}"`);
|
|
40
|
+
const results = result.results ?? [];
|
|
41
|
+
if (results.length === 0) {
|
|
42
|
+
return `No memory entries found matching query "${args.query}" in namespace '${args.namespace}'.`;
|
|
43
|
+
}
|
|
44
|
+
const lines = results.map((r, i) => {
|
|
45
|
+
const parts = [`${i + 1}. ${r.key}`];
|
|
46
|
+
if (r.score !== undefined)
|
|
47
|
+
parts.push(`(score: ${r.score.toFixed(3)})`);
|
|
48
|
+
if (r.value !== undefined)
|
|
49
|
+
parts.push(`— ${JSON.stringify(r.value).slice(0, 200)}`);
|
|
50
|
+
return parts.join(" ");
|
|
51
|
+
});
|
|
52
|
+
return `Found ${results.length} result(s) in '${args.namespace}':\n${lines.join("\n")}`;
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
if (err instanceof OneClawApiError) {
|
|
56
|
+
if (err.status === 404)
|
|
57
|
+
throw new UserError(`Agent or namespace not found: ${err.detail}`);
|
|
58
|
+
if (err.status === 403)
|
|
59
|
+
throw new UserError(`Access denied: ${err.detail}`);
|
|
60
|
+
}
|
|
61
|
+
throw err;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=search_memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search_memory.js","sourceRoot":"","sources":["../../src/tools/search_memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { OneClawClient } from "../client.js";
|
|
3
|
+
export declare function sendChannelMessageTool(client: OneClawClient): {
|
|
4
|
+
name: "send_channel_message";
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodObject<{
|
|
7
|
+
agent_id: z.ZodOptional<z.ZodString>;
|
|
8
|
+
channel_id: z.ZodString;
|
|
9
|
+
external_chat_id: z.ZodString;
|
|
10
|
+
content: z.ZodString;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
content: string;
|
|
13
|
+
channel_id: string;
|
|
14
|
+
external_chat_id: string;
|
|
15
|
+
agent_id?: string | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
content: string;
|
|
18
|
+
channel_id: string;
|
|
19
|
+
external_chat_id: string;
|
|
20
|
+
agent_id?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
execute: (args: {
|
|
23
|
+
agent_id?: string;
|
|
24
|
+
channel_id: string;
|
|
25
|
+
external_chat_id: string;
|
|
26
|
+
content: string;
|
|
27
|
+
}, { log }: {
|
|
28
|
+
log: {
|
|
29
|
+
info: (msg: string) => void;
|
|
30
|
+
};
|
|
31
|
+
}) => Promise<string>;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=send_channel_message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send_channel_message.d.ts","sourceRoot":"","sources":["../../src/tools/send_channel_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAE9D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;;oBAchD;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,WACQ;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EA0BtD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { UserError } from "fastmcp";
|
|
3
|
+
import { OneClawApiError } from "../client.js";
|
|
4
|
+
export function sendChannelMessageTool(client) {
|
|
5
|
+
return {
|
|
6
|
+
name: "send_channel_message",
|
|
7
|
+
description: "Send an outbound message via a registered channel (Telegram, WhatsApp, or Discord). Requires the external chat/user ID of the recipient.",
|
|
8
|
+
parameters: z.object({
|
|
9
|
+
agent_id: z.string().optional().describe("Agent ID. Uses the current authenticated agent if omitted."),
|
|
10
|
+
channel_id: z.string().describe("Channel ID to send through."),
|
|
11
|
+
external_chat_id: z
|
|
12
|
+
.string()
|
|
13
|
+
.describe("External platform chat/user ID (e.g. Telegram chat_id, WhatsApp phone number, Discord channel_id)."),
|
|
14
|
+
content: z.string().min(1).describe("Message content to send."),
|
|
15
|
+
}),
|
|
16
|
+
execute: async (args, { log }) => {
|
|
17
|
+
const agentId = args.agent_id || client.agentId;
|
|
18
|
+
if (!agentId) {
|
|
19
|
+
throw new UserError("send_channel_message requires an agent_id parameter or agent authentication (ONECLAW_AGENT_API_KEY).");
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
await client.sendChannelMessage(agentId, args.channel_id, {
|
|
23
|
+
external_chat_id: args.external_chat_id,
|
|
24
|
+
content: args.content,
|
|
25
|
+
});
|
|
26
|
+
log.info(`channel message sent via ${args.channel_id}`);
|
|
27
|
+
return `Message sent successfully to ${args.external_chat_id} via channel ${args.channel_id}.`;
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
if (err instanceof OneClawApiError) {
|
|
31
|
+
if (err.status === 403)
|
|
32
|
+
throw new UserError(`Access denied: ${err.detail}`);
|
|
33
|
+
if (err.status === 404)
|
|
34
|
+
throw new UserError(`Channel not found: ${err.detail}`);
|
|
35
|
+
}
|
|
36
|
+
throw err;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=send_channel_message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send_channel_message.js","sourceRoot":"","sources":["../../src/tools/send_channel_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAiB,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,OAAO;QACL,IAAI,EAAE,sBAA+B;QACrC,WAAW,EACT,0IAA0I;QAC5I,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;YACtG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC9D,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,CAAC,oGAAoG,CAAC;YACjH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SAChE,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAKC,EACD,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,SAAS,CACjB,sGAAsG,CACvG,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;oBACxD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CAAC;gBAEH,GAAG,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxD,OAAO,gCAAgC,IAAI,CAAC,gBAAgB,gBAAgB,IAAI,CAAC,UAAU,GAAG,CAAC;YACjG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { OneClawClient } from "../client.js";
|
|
3
|
+
export declare function sendChatMessageTool(client: OneClawClient): {
|
|
4
|
+
name: "send_chat_message";
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodObject<{
|
|
7
|
+
agent_id: z.ZodOptional<z.ZodString>;
|
|
8
|
+
message: z.ZodString;
|
|
9
|
+
conversation_id: z.ZodOptional<z.ZodString>;
|
|
10
|
+
model: z.ZodOptional<z.ZodString>;
|
|
11
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
message: string;
|
|
14
|
+
agent_id?: string | undefined;
|
|
15
|
+
conversation_id?: string | undefined;
|
|
16
|
+
model?: string | undefined;
|
|
17
|
+
provider?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
message: string;
|
|
20
|
+
agent_id?: string | undefined;
|
|
21
|
+
conversation_id?: string | undefined;
|
|
22
|
+
model?: string | undefined;
|
|
23
|
+
provider?: string | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
execute: (args: {
|
|
26
|
+
agent_id?: string;
|
|
27
|
+
message: string;
|
|
28
|
+
conversation_id?: string;
|
|
29
|
+
model?: string;
|
|
30
|
+
provider?: string;
|
|
31
|
+
}, { log }: {
|
|
32
|
+
log: {
|
|
33
|
+
info: (msg: string) => void;
|
|
34
|
+
};
|
|
35
|
+
}) => Promise<string>;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=send_chat_message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send_chat_message.d.ts","sourceRoot":"","sources":["../../src/tools/send_chat_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAE9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;oBAa7C;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,WACQ;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAmDtD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { UserError } from "fastmcp";
|
|
3
|
+
import { OneClawApiError } from "../client.js";
|
|
4
|
+
export function sendChatMessageTool(client) {
|
|
5
|
+
return {
|
|
6
|
+
name: "send_chat_message",
|
|
7
|
+
description: "Send a chat message to an agent and receive a response via Shroud LLM. Optionally continue an existing conversation by providing a conversation_id.",
|
|
8
|
+
parameters: z.object({
|
|
9
|
+
agent_id: z.string().optional().describe("Agent ID. Uses the current authenticated agent if omitted."),
|
|
10
|
+
message: z.string().min(1).describe("The message to send to the agent."),
|
|
11
|
+
conversation_id: z.string().optional().describe("Conversation ID to continue an existing conversation."),
|
|
12
|
+
model: z.string().optional().describe("LLM model to use (e.g. gpt-4o, claude-sonnet-4-20250514)."),
|
|
13
|
+
provider: z.string().optional().describe("LLM provider (e.g. openai, anthropic)."),
|
|
14
|
+
}),
|
|
15
|
+
execute: async (args, { log }) => {
|
|
16
|
+
const agentId = args.agent_id || client.agentId;
|
|
17
|
+
if (!agentId) {
|
|
18
|
+
throw new UserError("send_chat_message requires an agent_id parameter or agent authentication (ONECLAW_AGENT_API_KEY).");
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const result = await client.sendChatMessage(agentId, {
|
|
22
|
+
message: args.message,
|
|
23
|
+
conversation_id: args.conversation_id,
|
|
24
|
+
model: args.model,
|
|
25
|
+
provider: args.provider,
|
|
26
|
+
});
|
|
27
|
+
log.info(`chat message sent to agent ${agentId}`);
|
|
28
|
+
const parts = [
|
|
29
|
+
`Conversation: ${result.conversation_id}`,
|
|
30
|
+
`Model: ${result.message.model ?? "default"}`,
|
|
31
|
+
"",
|
|
32
|
+
result.message.content,
|
|
33
|
+
];
|
|
34
|
+
if (result.message.tokens_prompt || result.message.tokens_completion) {
|
|
35
|
+
parts.push("", `(${result.message.tokens_prompt} prompt + ${result.message.tokens_completion} completion tokens)`);
|
|
36
|
+
}
|
|
37
|
+
return parts.join("\n");
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
if (err instanceof OneClawApiError) {
|
|
41
|
+
if (err.status === 403)
|
|
42
|
+
throw new UserError(`Access denied: ${err.detail}`);
|
|
43
|
+
}
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=send_chat_message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send_chat_message.js","sourceRoot":"","sources":["../../src/tools/send_chat_message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAiB,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,OAAO;QACL,IAAI,EAAE,mBAA4B;QAClC,WAAW,EACT,qJAAqJ;QACvJ,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;YACtG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACxE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACxG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;YAClG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SACnF,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAMC,EACD,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,SAAS,CACjB,mGAAmG,CACpG,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE;oBACnD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CASA,CAAC;gBAEF,GAAG,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;gBAElD,MAAM,KAAK,GAAG;oBACZ,iBAAiB,MAAM,CAAC,eAAe,EAAE;oBACzC,UAAU,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE;oBAC7C,EAAE;oBACF,MAAM,CAAC,OAAO,CAAC,OAAO;iBACvB,CAAC;gBAEF,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBACrE,KAAK,CAAC,IAAI,CACR,EAAE,EACF,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,aAAa,MAAM,CAAC,OAAO,CAAC,iBAAiB,qBAAqB,CACnG,CAAC;gBACJ,CAAC;gBAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { type OneClawClient } from "../client.js";
|
|
3
|
+
export declare function triggerAutomationTool(client: OneClawClient): {
|
|
4
|
+
name: "trigger_automation";
|
|
5
|
+
description: string;
|
|
6
|
+
parameters: z.ZodObject<{
|
|
7
|
+
automation_id: z.ZodString;
|
|
8
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
automation_id: string;
|
|
11
|
+
input?: Record<string, unknown> | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
automation_id: string;
|
|
14
|
+
input?: Record<string, unknown> | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
execute: (args: {
|
|
17
|
+
automation_id: string;
|
|
18
|
+
input?: Record<string, unknown>;
|
|
19
|
+
}, { log }: {
|
|
20
|
+
log: {
|
|
21
|
+
info: (msg: string) => void;
|
|
22
|
+
};
|
|
23
|
+
}) => Promise<string>;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=trigger_automation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger_automation.d.ts","sourceRoot":"","sources":["../../src/tools/trigger_automation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;oBAgB/C;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,WACvD;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAoBtD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { UserError } from "fastmcp";
|
|
3
|
+
import { OneClawApiError } from "../client.js";
|
|
4
|
+
export function triggerAutomationTool(client) {
|
|
5
|
+
return {
|
|
6
|
+
name: "trigger_automation",
|
|
7
|
+
description: "Manually trigger an automation by ID. Optionally provide input data that the automation receives as its execution payload.",
|
|
8
|
+
parameters: z.object({
|
|
9
|
+
automation_id: z
|
|
10
|
+
.string()
|
|
11
|
+
.min(1)
|
|
12
|
+
.describe("The UUID of the automation to trigger"),
|
|
13
|
+
input: z
|
|
14
|
+
.record(z.unknown())
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Optional JSON input to pass to the automation"),
|
|
17
|
+
}),
|
|
18
|
+
execute: async (args, { log }) => {
|
|
19
|
+
try {
|
|
20
|
+
const result = await client.triggerAutomation(args.automation_id, args.input);
|
|
21
|
+
log.info(`automation triggered: ${args.automation_id}`);
|
|
22
|
+
const runId = result.run_id;
|
|
23
|
+
let msg = `Automation '${args.automation_id}' triggered successfully.`;
|
|
24
|
+
if (runId)
|
|
25
|
+
msg += ` Run ID: ${runId}`;
|
|
26
|
+
return msg;
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
if (err instanceof OneClawApiError) {
|
|
30
|
+
if (err.status === 404)
|
|
31
|
+
throw new UserError(`Automation not found: ${args.automation_id}`);
|
|
32
|
+
if (err.status === 403)
|
|
33
|
+
throw new UserError(`Access denied: ${err.detail}`);
|
|
34
|
+
if (err.status === 409)
|
|
35
|
+
throw new UserError(`Automation is already running or disabled: ${err.detail}`);
|
|
36
|
+
}
|
|
37
|
+
throw err;
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=trigger_automation.js.map
|