@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.
Files changed (76) hide show
  1. package/README.md +13 -1
  2. package/dist/client.d.ts +36 -0
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +66 -0
  5. package/dist/client.js.map +1 -1
  6. package/dist/index.js +34 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/tools/create_channel.d.ts +33 -0
  9. package/dist/tools/create_channel.d.ts.map +1 -0
  10. package/dist/tools/create_channel.js +54 -0
  11. package/dist/tools/create_channel.js.map +1 -0
  12. package/dist/tools/delete_memory.d.ts +29 -0
  13. package/dist/tools/delete_memory.d.ts.map +1 -0
  14. package/dist/tools/delete_memory.js +44 -0
  15. package/dist/tools/delete_memory.js.map +1 -0
  16. package/dist/tools/get_memory.d.ts +29 -0
  17. package/dist/tools/get_memory.d.ts.map +1 -0
  18. package/dist/tools/get_memory.js +44 -0
  19. package/dist/tools/get_memory.js.map +1 -0
  20. package/dist/tools/list_automations.d.ts +13 -0
  21. package/dist/tools/list_automations.d.ts.map +1 -0
  22. package/dist/tools/list_automations.js +39 -0
  23. package/dist/tools/list_automations.js.map +1 -0
  24. package/dist/tools/list_channels.d.ts +21 -0
  25. package/dist/tools/list_channels.d.ts.map +1 -0
  26. package/dist/tools/list_channels.js +48 -0
  27. package/dist/tools/list_channels.js.map +1 -0
  28. package/dist/tools/list_chat_conversations.d.ts +21 -0
  29. package/dist/tools/list_chat_conversations.d.ts.map +1 -0
  30. package/dist/tools/list_chat_conversations.js +48 -0
  31. package/dist/tools/list_chat_conversations.js.map +1 -0
  32. package/dist/tools/list_memory.d.ts +25 -0
  33. package/dist/tools/list_memory.d.ts.map +1 -0
  34. package/dist/tools/list_memory.js +52 -0
  35. package/dist/tools/list_memory.js.map +1 -0
  36. package/dist/tools/list_runtimes.d.ts +13 -0
  37. package/dist/tools/list_runtimes.d.ts.map +1 -0
  38. package/dist/tools/list_runtimes.js +39 -0
  39. package/dist/tools/list_runtimes.js.map +1 -0
  40. package/dist/tools/manage_runtime.d.ts +25 -0
  41. package/dist/tools/manage_runtime.d.ts.map +1 -0
  42. package/dist/tools/manage_runtime.js +38 -0
  43. package/dist/tools/manage_runtime.js.map +1 -0
  44. package/dist/tools/put_memory.d.ts +37 -0
  45. package/dist/tools/put_memory.d.ts.map +1 -0
  46. package/dist/tools/put_memory.js +60 -0
  47. package/dist/tools/put_memory.js.map +1 -0
  48. package/dist/tools/runtime_logs.d.ts +25 -0
  49. package/dist/tools/runtime_logs.d.ts.map +1 -0
  50. package/dist/tools/runtime_logs.js +55 -0
  51. package/dist/tools/runtime_logs.js.map +1 -0
  52. package/dist/tools/runtime_status.d.ts +21 -0
  53. package/dist/tools/runtime_status.d.ts.map +1 -0
  54. package/dist/tools/runtime_status.js +55 -0
  55. package/dist/tools/runtime_status.js.map +1 -0
  56. package/dist/tools/search_directory.d.ts +25 -0
  57. package/dist/tools/search_directory.d.ts.map +1 -0
  58. package/dist/tools/search_directory.js +47 -0
  59. package/dist/tools/search_directory.js.map +1 -0
  60. package/dist/tools/search_memory.d.ts +33 -0
  61. package/dist/tools/search_memory.d.ts.map +1 -0
  62. package/dist/tools/search_memory.js +66 -0
  63. package/dist/tools/search_memory.js.map +1 -0
  64. package/dist/tools/send_channel_message.d.ts +33 -0
  65. package/dist/tools/send_channel_message.d.ts.map +1 -0
  66. package/dist/tools/send_channel_message.js +41 -0
  67. package/dist/tools/send_channel_message.js.map +1 -0
  68. package/dist/tools/send_chat_message.d.ts +37 -0
  69. package/dist/tools/send_chat_message.d.ts.map +1 -0
  70. package/dist/tools/send_chat_message.js +49 -0
  71. package/dist/tools/send_chat_message.js.map +1 -0
  72. package/dist/tools/trigger_automation.d.ts +25 -0
  73. package/dist/tools/trigger_automation.d.ts.map +1 -0
  74. package/dist/tools/trigger_automation.js +42 -0
  75. package/dist/tools/trigger_automation.js.map +1 -0
  76. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ import { z } from "zod";
2
+ import { type OneClawClient } from "../client.js";
3
+ export declare function getMemoryTool(client: OneClawClient): {
4
+ name: "get_memory";
5
+ description: string;
6
+ parameters: z.ZodObject<{
7
+ agent_id: z.ZodString;
8
+ namespace: z.ZodString;
9
+ key: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ agent_id: string;
12
+ key: string;
13
+ namespace: string;
14
+ }, {
15
+ agent_id: string;
16
+ key: string;
17
+ namespace: string;
18
+ }>;
19
+ execute: (args: {
20
+ agent_id: string;
21
+ namespace: string;
22
+ key: string;
23
+ }, { log }: {
24
+ log: {
25
+ info: (msg: string) => void;
26
+ };
27
+ }) => Promise<string>;
28
+ };
29
+ //# sourceMappingURL=get_memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_memory.d.ts","sourceRoot":"","sources":["../../src/tools/get_memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;oBAoBvC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,WACjD;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAoBtD"}
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function getMemoryTool(client) {
5
+ return {
6
+ name: "get_memory",
7
+ description: "Read a value from agent memory. Retrieves a previously stored JSON value by namespace and key.",
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 (e.g. 'context', 'preferences', 'state')"),
17
+ key: z
18
+ .string()
19
+ .min(1)
20
+ .describe("Key within the namespace"),
21
+ }),
22
+ execute: async (args, { log }) => {
23
+ try {
24
+ const agentId = args.agent_id === "me" ? client.agentId : args.agent_id;
25
+ if (!agentId) {
26
+ throw new UserError("Cannot resolve agent ID. Provide an explicit agent_id or authenticate as an agent.");
27
+ }
28
+ const result = await client.getMemory(agentId, args.namespace, args.key);
29
+ log.info(`memory read: ${args.namespace}/${args.key}`);
30
+ return JSON.stringify(result, null, 2);
31
+ }
32
+ catch (err) {
33
+ if (err instanceof OneClawApiError) {
34
+ if (err.status === 404)
35
+ throw new UserError(`Memory entry not found: ${args.namespace}/${args.key}`);
36
+ if (err.status === 403)
37
+ throw new UserError(`Access denied: ${err.detail}`);
38
+ }
39
+ throw err;
40
+ }
41
+ },
42
+ };
43
+ }
44
+ //# sourceMappingURL=get_memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_memory.js","sourceRoot":"","sources":["../../src/tools/get_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,gGAAgG;QAClG,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;SACxC,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAA0D,EAC1D,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,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzE,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,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,2BAA2B,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACrG,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,13 @@
1
+ import { z } from "zod";
2
+ import { type OneClawClient } from "../client.js";
3
+ export declare function listAutomationsTool(client: OneClawClient): {
4
+ name: "list_automations";
5
+ description: string;
6
+ parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
7
+ execute: (_args: Record<string, never>, { log }: {
8
+ log: {
9
+ info: (msg: string) => void;
10
+ };
11
+ }) => Promise<string>;
12
+ };
13
+ //# sourceMappingURL=list_automations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_automations.d.ts","sourceRoot":"","sources":["../../src/tools/list_automations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa;;;;qBAO5C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,WACnB;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EA4BtD"}
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function listAutomationsTool(client) {
5
+ return {
6
+ name: "list_automations",
7
+ description: "List all automations configured for the current organization. Returns automation names, schedules, and status.",
8
+ parameters: z.object({}),
9
+ execute: async (_args, { log }) => {
10
+ try {
11
+ const result = await client.listAutomations();
12
+ log.info("listed automations");
13
+ const automations = result.automations ?? [];
14
+ if (automations.length === 0) {
15
+ return "No automations found.";
16
+ }
17
+ const lines = automations.map((a) => {
18
+ const parts = [`- ${a.name ?? a.id}`];
19
+ if (a.status)
20
+ parts.push(`[${a.status}]`);
21
+ if (a.schedule)
22
+ parts.push(`(schedule: ${a.schedule})`);
23
+ if (a.description)
24
+ parts.push(`— ${a.description}`);
25
+ return parts.join(" ");
26
+ });
27
+ return `Found ${automations.length} automation(s):\n${lines.join("\n")}`;
28
+ }
29
+ catch (err) {
30
+ if (err instanceof OneClawApiError) {
31
+ if (err.status === 403)
32
+ throw new UserError(`Access denied: ${err.detail}`);
33
+ }
34
+ throw err;
35
+ }
36
+ },
37
+ };
38
+ }
39
+ //# sourceMappingURL=list_automations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_automations.js","sourceRoot":"","sources":["../../src/tools/list_automations.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,mBAAmB,CAAC,MAAqB;IACvD,OAAO;QACL,IAAI,EAAE,kBAA2B;QACjC,WAAW,EACT,gHAAgH;QAClH,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EACZ,KAA4B,EAC5B,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC9C,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAE/B,MAAM,WAAW,GAAI,MAA2D,CAAC,WAAW,IAAI,EAAE,CAAC;gBACnG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,uBAAuB,CAAC;gBACjC,CAAC;gBAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC1C,IAAI,CAAC,CAAC,QAAQ;wBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACxD,IAAI,CAAC,CAAC,WAAW;wBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBACpD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,OAAO,SAAS,WAAW,CAAC,MAAM,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,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,21 @@
1
+ import { z } from "zod";
2
+ import { OneClawClient } from "../client.js";
3
+ export declare function listChannelsTool(client: OneClawClient): {
4
+ name: "list_channels";
5
+ description: string;
6
+ parameters: z.ZodObject<{
7
+ agent_id: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ agent_id?: string | undefined;
10
+ }, {
11
+ agent_id?: string | undefined;
12
+ }>;
13
+ execute: (args: {
14
+ agent_id?: string;
15
+ }, { log }: {
16
+ log: {
17
+ info: (msg: string) => void;
18
+ };
19
+ }) => Promise<string>;
20
+ };
21
+ //# sourceMappingURL=list_channels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_channels.d.ts","sourceRoot":"","sources":["../../src/tools/list_channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAE9D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;oBAS1C;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,WAClB;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EA+CtD"}
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function listChannelsTool(client) {
5
+ return {
6
+ name: "list_channels",
7
+ description: "List all messaging channels registered for an agent. Returns channel IDs, types, names, webhook URLs, and active status.",
8
+ parameters: z.object({
9
+ agent_id: z.string().optional().describe("Agent ID. Uses the current authenticated agent if omitted."),
10
+ }),
11
+ execute: async (args, { log }) => {
12
+ const agentId = args.agent_id || client.agentId;
13
+ if (!agentId) {
14
+ throw new UserError("list_channels requires an agent_id parameter or agent authentication (ONECLAW_AGENT_API_KEY).");
15
+ }
16
+ try {
17
+ const result = await client.listChannels(agentId);
18
+ const channels = result.channels ?? [];
19
+ log.info(`listed ${channels.length} channel(s)`);
20
+ if (channels.length === 0)
21
+ return "No channels found for this agent.";
22
+ return channels
23
+ .map((ch) => {
24
+ const parts = [
25
+ `ID: ${ch.id}`,
26
+ `Type: ${ch.channel_type}`,
27
+ ];
28
+ if (ch.channel_name)
29
+ parts.push(`Name: ${ch.channel_name}`);
30
+ if (ch.webhook_url)
31
+ parts.push(`Webhook: ${ch.webhook_url}`);
32
+ parts.push(`Active: ${ch.is_active}`);
33
+ parts.push(`Created: ${ch.created_at}`);
34
+ return parts.join("\n");
35
+ })
36
+ .join("\n---\n");
37
+ }
38
+ catch (err) {
39
+ if (err instanceof OneClawApiError) {
40
+ if (err.status === 403)
41
+ throw new UserError(`Access denied: ${err.detail}`);
42
+ }
43
+ throw err;
44
+ }
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=list_channels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_channels.js","sourceRoot":"","sources":["../../src/tools/list_channels.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,gBAAgB,CAAC,MAAqB;IACpD,OAAO;QACL,IAAI,EAAE,eAAwB;QAC9B,WAAW,EACT,0HAA0H;QAC5H,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;SACvG,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAA2B,EAC3B,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,+FAA+F,CAChG,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAS/C,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;gBAEjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,mCAAmC,CAAC;gBAEtE,OAAO,QAAQ;qBACZ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBACV,MAAM,KAAK,GAAG;wBACZ,OAAO,EAAE,CAAC,EAAE,EAAE;wBACd,SAAS,EAAE,CAAC,YAAY,EAAE;qBAC3B,CAAC;oBACF,IAAI,EAAE,CAAC,YAAY;wBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC5D,IAAI,EAAE,CAAC,WAAW;wBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC7D,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;oBACtC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC,CAAC;qBACD,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,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,21 @@
1
+ import { z } from "zod";
2
+ import { OneClawClient } from "../client.js";
3
+ export declare function listChatConversationsTool(client: OneClawClient): {
4
+ name: "list_chat_conversations";
5
+ description: string;
6
+ parameters: z.ZodObject<{
7
+ agent_id: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ agent_id?: string | undefined;
10
+ }, {
11
+ agent_id?: string | undefined;
12
+ }>;
13
+ execute: (args: {
14
+ agent_id?: string;
15
+ }, { log }: {
16
+ log: {
17
+ info: (msg: string) => void;
18
+ };
19
+ }) => Promise<string>;
20
+ };
21
+ //# sourceMappingURL=list_chat_conversations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_chat_conversations.d.ts","sourceRoot":"","sources":["../../src/tools/list_chat_conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAE9D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;oBASnD;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,WAClB;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAgDtD"}
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function listChatConversationsTool(client) {
5
+ return {
6
+ name: "list_chat_conversations",
7
+ description: "List chat conversations for an agent. Returns conversation IDs, titles, modes, models, and timestamps.",
8
+ parameters: z.object({
9
+ agent_id: z.string().optional().describe("Agent ID. Uses the current authenticated agent if omitted."),
10
+ }),
11
+ execute: async (args, { log }) => {
12
+ const agentId = args.agent_id || client.agentId;
13
+ if (!agentId) {
14
+ throw new UserError("list_chat_conversations requires an agent_id parameter or agent authentication (ONECLAW_AGENT_API_KEY).");
15
+ }
16
+ try {
17
+ const result = await client.listChatConversations(agentId);
18
+ const convos = result.conversations ?? [];
19
+ log.info(`listed ${convos.length} conversation(s)`);
20
+ if (convos.length === 0)
21
+ return "No conversations found for this agent.";
22
+ return convos
23
+ .map((c) => {
24
+ const parts = [
25
+ `ID: ${c.id}`,
26
+ `Title: ${c.title ?? "(untitled)"}`,
27
+ `Mode: ${c.mode}`,
28
+ ];
29
+ if (c.model)
30
+ parts.push(`Model: ${c.model}`);
31
+ if (c.provider)
32
+ parts.push(`Provider: ${c.provider}`);
33
+ parts.push(`Updated: ${c.updated_at}`);
34
+ return parts.join("\n");
35
+ })
36
+ .join("\n---\n");
37
+ }
38
+ catch (err) {
39
+ if (err instanceof OneClawApiError) {
40
+ if (err.status === 403)
41
+ throw new UserError(`Access denied: ${err.detail}`);
42
+ }
43
+ throw err;
44
+ }
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=list_chat_conversations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_chat_conversations.js","sourceRoot":"","sources":["../../src/tools/list_chat_conversations.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,yBAAyB,CAAC,MAAqB;IAC7D,OAAO;QACL,IAAI,EAAE,yBAAkC;QACxC,WAAW,EACT,wGAAwG;QAC1G,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;SACvG,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAA2B,EAC3B,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,yGAAyG,CAC1G,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAUxD,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC1C,GAAG,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,wCAAwC,CAAC;gBAEzE,OAAO,MAAM;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,MAAM,KAAK,GAAG;wBACZ,OAAO,CAAC,CAAC,EAAE,EAAE;wBACb,UAAU,CAAC,CAAC,KAAK,IAAI,YAAY,EAAE;wBACnC,SAAS,CAAC,CAAC,IAAI,EAAE;qBAClB,CAAC;oBACF,IAAI,CAAC,CAAC,KAAK;wBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7C,IAAI,CAAC,CAAC,QAAQ;wBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;oBACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC,CAAC;qBACD,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,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 listMemoryTool(client: OneClawClient): {
4
+ name: "list_memory";
5
+ description: string;
6
+ parameters: z.ZodObject<{
7
+ agent_id: z.ZodString;
8
+ namespace: z.ZodString;
9
+ }, "strip", z.ZodTypeAny, {
10
+ agent_id: string;
11
+ namespace: string;
12
+ }, {
13
+ agent_id: string;
14
+ namespace: string;
15
+ }>;
16
+ execute: (args: {
17
+ agent_id: string;
18
+ namespace: string;
19
+ }, { log }: {
20
+ log: {
21
+ info: (msg: string) => void;
22
+ };
23
+ }) => Promise<string>;
24
+ };
25
+ //# sourceMappingURL=list_memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_memory.d.ts","sourceRoot":"","sources":["../../src/tools/list_memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;oBAgBxC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,WACpC;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAiCtD"}
@@ -0,0 +1,52 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function listMemoryTool(client) {
5
+ return {
6
+ name: "list_memory",
7
+ description: "List memory entries in a namespace. Returns all keys and their metadata for the given agent and namespace.",
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 list (e.g. 'context', 'preferences', 'state')"),
17
+ }),
18
+ execute: async (args, { log }) => {
19
+ try {
20
+ const agentId = args.agent_id === "me" ? client.agentId : args.agent_id;
21
+ if (!agentId) {
22
+ throw new UserError("Cannot resolve agent ID. Provide an explicit agent_id or authenticate as an agent.");
23
+ }
24
+ const result = await client.listMemory(agentId, args.namespace);
25
+ log.info(`memory listed: ${args.namespace}`);
26
+ const entries = result.entries ?? [];
27
+ if (entries.length === 0) {
28
+ return `No memory entries found in namespace '${args.namespace}'.`;
29
+ }
30
+ const lines = entries.map((e) => {
31
+ const parts = [`- ${e.key}`];
32
+ if (e.expires_at)
33
+ parts.push(`(expires: ${e.expires_at})`);
34
+ if (e.created_at)
35
+ parts.push(`(created: ${e.created_at})`);
36
+ return parts.join(" ");
37
+ });
38
+ return `Found ${entries.length} entry/entries in '${args.namespace}':\n${lines.join("\n")}`;
39
+ }
40
+ catch (err) {
41
+ if (err instanceof OneClawApiError) {
42
+ if (err.status === 404)
43
+ throw new UserError(`Agent or namespace not found: ${err.detail}`);
44
+ if (err.status === 403)
45
+ throw new UserError(`Access denied: ${err.detail}`);
46
+ }
47
+ throw err;
48
+ }
49
+ },
50
+ };
51
+ }
52
+ //# sourceMappingURL=list_memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_memory.js","sourceRoot":"","sources":["../../src/tools/list_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,cAAc,CAAC,MAAqB;IAClD,OAAO;QACL,IAAI,EAAE,aAAsB;QAC5B,WAAW,EACT,4GAA4G;QAC9G,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,mEAAmE,CAAC;SACjF,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAA6C,EAC7C,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,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBAE7C,MAAM,OAAO,GAAI,MAAuD,CAAC,OAAO,IAAI,EAAE,CAAC;gBACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,yCAAyC,IAAI,CAAC,SAAS,IAAI,CAAC;gBACrE,CAAC;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC9B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,CAAC,UAAU;wBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;oBAC3D,IAAI,CAAC,CAAC,UAAU;wBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;oBAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,OAAO,SAAS,OAAO,CAAC,MAAM,sBAAsB,IAAI,CAAC,SAAS,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9F,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,iCAAiC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3F,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,13 @@
1
+ import { z } from "zod";
2
+ import { type OneClawClient } from "../client.js";
3
+ export declare function listRuntimesTool(client: OneClawClient): {
4
+ name: "list_runtimes";
5
+ description: string;
6
+ parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
7
+ execute: (_args: Record<string, never>, { log }: {
8
+ log: {
9
+ info: (msg: string) => void;
10
+ };
11
+ }) => Promise<string>;
12
+ };
13
+ //# sourceMappingURL=list_runtimes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_runtimes.d.ts","sourceRoot":"","sources":["../../src/tools/list_runtimes.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;;;;qBAOzC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,WACnB;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EA4BtD"}
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function listRuntimesTool(client) {
5
+ return {
6
+ name: "list_runtimes",
7
+ description: "List all agent runtimes for the current organization. Returns runtime names, status, and configuration.",
8
+ parameters: z.object({}),
9
+ execute: async (_args, { log }) => {
10
+ try {
11
+ const result = await client.listRuntimes();
12
+ log.info("listed runtimes");
13
+ const runtimes = result.runtimes ?? [];
14
+ if (runtimes.length === 0) {
15
+ return "No runtimes found.";
16
+ }
17
+ const lines = runtimes.map((r) => {
18
+ const parts = [`- ${r.name ?? r.id}`];
19
+ if (r.status)
20
+ parts.push(`[${r.status}]`);
21
+ if (r.runtime_type)
22
+ parts.push(`(type: ${r.runtime_type})`);
23
+ if (r.agent_id)
24
+ parts.push(`(agent: ${r.agent_id})`);
25
+ return parts.join(" ");
26
+ });
27
+ return `Found ${runtimes.length} runtime(s):\n${lines.join("\n")}`;
28
+ }
29
+ catch (err) {
30
+ if (err instanceof OneClawApiError) {
31
+ if (err.status === 403)
32
+ throw new UserError(`Access denied: ${err.detail}`);
33
+ }
34
+ throw err;
35
+ }
36
+ },
37
+ };
38
+ }
39
+ //# sourceMappingURL=list_runtimes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_runtimes.js","sourceRoot":"","sources":["../../src/tools/list_runtimes.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,gBAAgB,CAAC,MAAqB;IACpD,OAAO;QACL,IAAI,EAAE,eAAwB;QAC9B,WAAW,EACT,yGAAyG;QAC3G,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EACZ,KAA4B,EAC5B,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC3C,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAE5B,MAAM,QAAQ,GAAI,MAAwD,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC1F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,oBAAoB,CAAC;gBAC9B,CAAC;gBAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC/B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC1C,IAAI,CAAC,CAAC,YAAY;wBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;oBAC5D,IAAI,CAAC,CAAC,QAAQ;wBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,OAAO,SAAS,QAAQ,CAAC,MAAM,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,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 manageRuntimeTool(client: OneClawClient): {
4
+ name: "manage_runtime";
5
+ description: string;
6
+ parameters: z.ZodObject<{
7
+ runtime_id: z.ZodString;
8
+ action: z.ZodEnum<["start", "stop"]>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ action: "start" | "stop";
11
+ runtime_id: string;
12
+ }, {
13
+ action: "start" | "stop";
14
+ runtime_id: string;
15
+ }>;
16
+ execute: (args: {
17
+ runtime_id: string;
18
+ action: "start" | "stop";
19
+ }, { log }: {
20
+ log: {
21
+ info: (msg: string) => void;
22
+ };
23
+ }) => Promise<string>;
24
+ };
25
+ //# sourceMappingURL=manage_runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage_runtime.d.ts","sourceRoot":"","sources":["../../src/tools/manage_runtime.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;;;;;;;;;;;;;oBAe3C;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,WAC7C;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EAkBtD"}
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function manageRuntimeTool(client) {
5
+ return {
6
+ name: "manage_runtime",
7
+ description: "Start or stop an agent runtime. Use this to control the lifecycle of a runtime instance.",
8
+ parameters: z.object({
9
+ runtime_id: z
10
+ .string()
11
+ .min(1)
12
+ .describe("The UUID of the runtime to manage"),
13
+ action: z
14
+ .enum(["start", "stop"])
15
+ .describe("Action to perform: 'start' to launch the runtime, 'stop' to shut it down"),
16
+ }),
17
+ execute: async (args, { log }) => {
18
+ try {
19
+ const result = await client.manageRuntime(args.runtime_id, args.action);
20
+ log.info(`runtime ${args.action}: ${args.runtime_id}`);
21
+ const status = result.status ?? (args.action === "start" ? "starting" : "stopping");
22
+ return `Runtime '${args.runtime_id}' ${args.action === "start" ? "started" : "stopped"} successfully. Status: ${status}`;
23
+ }
24
+ catch (err) {
25
+ if (err instanceof OneClawApiError) {
26
+ if (err.status === 404)
27
+ throw new UserError(`Runtime not found: ${args.runtime_id}`);
28
+ if (err.status === 403)
29
+ throw new UserError(`Access denied: ${err.detail}`);
30
+ if (err.status === 409)
31
+ throw new UserError(`Runtime cannot be ${args.action === "start" ? "started" : "stopped"}: ${err.detail}`);
32
+ }
33
+ throw err;
34
+ }
35
+ },
36
+ };
37
+ }
38
+ //# sourceMappingURL=manage_runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage_runtime.js","sourceRoot":"","sources":["../../src/tools/manage_runtime.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,0FAA0F;QAC5F,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,mCAAmC,CAAC;YAChD,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;iBACvB,QAAQ,CAAC,0EAA0E,CAAC;SACxF,CAAC;QACF,OAAO,EAAE,KAAK,EACZ,IAAsD,EACtD,EAAE,GAAG,EAA4C,EACjD,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAEvD,MAAM,MAAM,GAAI,MAA8B,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7G,OAAO,YAAY,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,0BAA0B,MAAM,EAAE,CAAC;YAC3H,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;oBAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;wBAAE,MAAM,IAAI,SAAS,CAAC,qBAAqB,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrI,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ import { type OneClawClient } from "../client.js";
3
+ export declare function putMemoryTool(client: OneClawClient): {
4
+ name: "put_memory";
5
+ description: string;
6
+ parameters: z.ZodObject<{
7
+ agent_id: z.ZodString;
8
+ namespace: z.ZodString;
9
+ key: z.ZodString;
10
+ value: z.ZodUnknown;
11
+ ttl_seconds: z.ZodOptional<z.ZodNumber>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ agent_id: string;
14
+ key: string;
15
+ namespace: string;
16
+ value?: unknown;
17
+ ttl_seconds?: number | undefined;
18
+ }, {
19
+ agent_id: string;
20
+ key: string;
21
+ namespace: string;
22
+ value?: unknown;
23
+ ttl_seconds?: number | undefined;
24
+ }>;
25
+ execute: (args: {
26
+ agent_id: string;
27
+ namespace: string;
28
+ key: string;
29
+ value: unknown;
30
+ ttl_seconds?: number;
31
+ }, { log }: {
32
+ log: {
33
+ info: (msg: string) => void;
34
+ };
35
+ }) => Promise<string>;
36
+ };
37
+ //# sourceMappingURL=put_memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"put_memory.d.ts","sourceRoot":"","sources":["../../src/tools/put_memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnE,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;oBA6BvC;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,WACQ;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;SAAE,CAAA;KAAE;EA4BtD"}
@@ -0,0 +1,60 @@
1
+ import { z } from "zod";
2
+ import { UserError } from "fastmcp";
3
+ import { OneClawApiError } from "../client.js";
4
+ export function putMemoryTool(client) {
5
+ return {
6
+ name: "put_memory",
7
+ description: "Write a value to agent memory. Stores a JSON value under a namespace and key for later retrieval. Supports optional TTL for auto-expiry.",
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 (e.g. 'context', 'preferences', 'state')"),
17
+ key: z
18
+ .string()
19
+ .min(1)
20
+ .describe("Key within the namespace"),
21
+ value: z
22
+ .unknown()
23
+ .describe("JSON value to store"),
24
+ ttl_seconds: z
25
+ .number()
26
+ .int()
27
+ .positive()
28
+ .optional()
29
+ .describe("Optional TTL in seconds. Entry auto-expires after this duration."),
30
+ }),
31
+ execute: async (args, { log }) => {
32
+ try {
33
+ const agentId = args.agent_id === "me" ? client.agentId : args.agent_id;
34
+ if (!agentId) {
35
+ throw new UserError("Cannot resolve agent ID. Provide an explicit agent_id or authenticate as an agent.");
36
+ }
37
+ await client.putMemory(agentId, args.namespace, args.key, {
38
+ value: args.value,
39
+ ttl_seconds: args.ttl_seconds,
40
+ });
41
+ log.info(`memory written: ${args.namespace}/${args.key}`);
42
+ let msg = `Memory entry stored: ${args.namespace}/${args.key}`;
43
+ if (args.ttl_seconds) {
44
+ msg += ` (expires in ${args.ttl_seconds}s)`;
45
+ }
46
+ return msg;
47
+ }
48
+ catch (err) {
49
+ if (err instanceof OneClawApiError) {
50
+ if (err.status === 403)
51
+ throw new UserError(`Access denied: ${err.detail}`);
52
+ if (err.status === 404)
53
+ throw new UserError(`Agent not found: ${err.detail}`);
54
+ }
55
+ throw err;
56
+ }
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=put_memory.js.map