@1claw/cli 0.41.4 → 0.42.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 +64 -1
- package/dist/bundled-templates/registry.yaml +18 -18
- package/dist/bundled-templates/templates/agentkit/requirements.txt +1 -0
- package/dist/bundled-templates/templates/agno/requirements.txt +1 -0
- package/dist/bundled-templates/templates/coder/requirements.txt +1 -0
- package/dist/bundled-templates/templates/crewai/requirements.txt +1 -0
- package/dist/bundled-templates/templates/langchain/requirements.txt +1 -0
- package/dist/bundled-templates/templates/llamaindex/requirements.txt +1 -0
- package/dist/bundled-templates/templates/openai-agents/requirements.txt +1 -0
- package/dist/bundled-templates/templates/pydantic-ai/requirements.txt +1 -0
- package/dist/bundled-templates/templates/smolagents/requirements.txt +1 -0
- package/dist/src/commands/automation.d.ts +3 -0
- package/dist/src/commands/automation.d.ts.map +1 -0
- package/dist/src/commands/automation.js +253 -0
- package/dist/src/commands/automation.js.map +1 -0
- package/dist/src/commands/directory.d.ts +3 -0
- package/dist/src/commands/directory.d.ts.map +1 -0
- package/dist/src/commands/directory.js +77 -0
- package/dist/src/commands/directory.js.map +1 -0
- package/dist/src/commands/memory.d.ts +3 -0
- package/dist/src/commands/memory.d.ts.map +1 -0
- package/dist/src/commands/memory.js +152 -0
- package/dist/src/commands/memory.js.map +1 -0
- package/dist/src/commands/platform.js +73 -0
- package/dist/src/commands/platform.js.map +1 -1
- package/dist/src/commands/runtime.d.ts +3 -0
- package/dist/src/commands/runtime.d.ts.map +1 -0
- package/dist/src/commands/runtime.js +224 -0
- package/dist/src/commands/runtime.js.map +1 -0
- package/dist/src/commands/spawn.d.ts.map +1 -1
- package/dist/src/commands/spawn.js +38 -3
- package/dist/src/commands/spawn.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @1claw/cli (v0.
|
|
1
|
+
# @1claw/cli (v0.42.0)
|
|
2
2
|
|
|
3
3
|
Command-line interface for [1Claw](https://1claw.xyz) — HSM-backed secret management for AI agents and humans.
|
|
4
4
|
|
|
@@ -644,6 +644,69 @@ Manage registered mobile companion app devices.
|
|
|
644
644
|
1claw device revoke <device-id> # Revoke a device
|
|
645
645
|
```
|
|
646
646
|
|
|
647
|
+
### Automations
|
|
648
|
+
|
|
649
|
+
Create, manage, and trigger automation workflows for agents.
|
|
650
|
+
|
|
651
|
+
```bash
|
|
652
|
+
1claw automation list # List all automations
|
|
653
|
+
1claw automation create my-automation \
|
|
654
|
+
--agent-id <uuid> \
|
|
655
|
+
--trigger schedule \
|
|
656
|
+
--schedule "*/15 * * * *" \
|
|
657
|
+
--action-type http_request \
|
|
658
|
+
--action-config '{"url":"https://api.example.com/check"}'
|
|
659
|
+
1claw automation get <id> # Get automation details
|
|
660
|
+
1claw automation update <id> --name new-name # Update automation
|
|
661
|
+
1claw automation trigger <id> # Manually trigger
|
|
662
|
+
1claw automation runs <id> # List recent runs
|
|
663
|
+
1claw automation delete <id> # Delete automation
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
### Runtimes
|
|
667
|
+
|
|
668
|
+
Deploy and manage cloud runtime containers for agents.
|
|
669
|
+
|
|
670
|
+
```bash
|
|
671
|
+
1claw runtime list # List all runtimes
|
|
672
|
+
1claw runtime create my-runtime \
|
|
673
|
+
--agent-id <uuid> \
|
|
674
|
+
--template python-agent \
|
|
675
|
+
--preset small # 0.5 vCPU / 512 MB
|
|
676
|
+
1claw runtime get <id> # Get runtime details + status
|
|
677
|
+
1claw runtime update <id> --idle-timeout 600 # Update idle timeout
|
|
678
|
+
1claw runtime start <id> # Start a stopped runtime
|
|
679
|
+
1claw runtime stop <id> # Stop a running runtime
|
|
680
|
+
1claw runtime logs <id> # Get recent logs
|
|
681
|
+
1claw runtime logs <id> --tail 100 # Last 100 lines
|
|
682
|
+
1claw runtime delete <id> # Delete runtime
|
|
683
|
+
1claw runtime slug-check my-agent # Check slug availability
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
### Agent Memory
|
|
687
|
+
|
|
688
|
+
Store and retrieve agent memory (scratch, durable, semantic).
|
|
689
|
+
|
|
690
|
+
```bash
|
|
691
|
+
1claw memory put <agent-id> context/user-prefs '{"theme":"dark"}'
|
|
692
|
+
1claw memory get <agent-id> context/user-prefs
|
|
693
|
+
1claw memory list <agent-id> # List namespaces
|
|
694
|
+
1claw memory list <agent-id> context # List entries in namespace
|
|
695
|
+
1claw memory delete <agent-id> context/user-prefs
|
|
696
|
+
1claw memory search <agent-id> context "user preferences for dark mode"
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
### Discovery
|
|
700
|
+
|
|
701
|
+
Browse the public agent directory and manage agent discoverability.
|
|
702
|
+
|
|
703
|
+
```bash
|
|
704
|
+
1claw directory search # Browse all discoverable agents
|
|
705
|
+
1claw directory search --query "trading bot" # Search by keyword
|
|
706
|
+
1claw directory search --tags defi,solana # Filter by tags
|
|
707
|
+
1claw directory card <agent-id> # View an agent's public card
|
|
708
|
+
```
|
|
709
|
+
|
|
647
710
|
### Configuration
|
|
648
711
|
|
|
649
712
|
```bash
|
|
@@ -2,19 +2,19 @@ version: 1
|
|
|
2
2
|
templates:
|
|
3
3
|
- name: langchain
|
|
4
4
|
display_name: "LangChain / LangGraph"
|
|
5
|
-
version: 1.
|
|
5
|
+
version: 1.1.0
|
|
6
6
|
language: python
|
|
7
|
-
description: "Python agent using LangChain with 1Claw MCP for secrets and
|
|
7
|
+
description: "Python agent using LangChain with 1Claw MCP for secrets, signing, memory, and automations"
|
|
8
8
|
- name: crewai
|
|
9
9
|
display_name: "CrewAI"
|
|
10
|
-
version: 1.
|
|
10
|
+
version: 1.1.0
|
|
11
11
|
language: python
|
|
12
|
-
description: "Multi-agent crew with 1Claw-managed secrets"
|
|
12
|
+
description: "Multi-agent crew with 1Claw-managed secrets and memory"
|
|
13
13
|
- name: openai-agents
|
|
14
14
|
display_name: "OpenAI Agents SDK"
|
|
15
|
-
version: 1.
|
|
15
|
+
version: 1.1.0
|
|
16
16
|
language: python
|
|
17
|
-
description: "OpenAI Agents SDK with tool calling
|
|
17
|
+
description: "OpenAI Agents SDK with tool calling, 1Claw MCP integration, and memory"
|
|
18
18
|
- name: elizaos
|
|
19
19
|
display_name: "ElizaOS"
|
|
20
20
|
version: 1.0.0
|
|
@@ -22,29 +22,29 @@ templates:
|
|
|
22
22
|
description: "ElizaOS character runtime with vault-backed secrets"
|
|
23
23
|
- name: agentkit
|
|
24
24
|
display_name: "Coinbase AgentKit"
|
|
25
|
-
version: 1.
|
|
25
|
+
version: 1.1.0
|
|
26
26
|
language: python
|
|
27
|
-
description: "Coinbase AgentKit for onchain agents with 1Claw key management"
|
|
27
|
+
description: "Coinbase AgentKit for onchain agents with 1Claw key management and automations"
|
|
28
28
|
- name: smolagents
|
|
29
29
|
display_name: "HuggingFace smolagents"
|
|
30
|
-
version: 1.
|
|
30
|
+
version: 1.1.0
|
|
31
31
|
language: python
|
|
32
|
-
description: "HuggingFace lightweight agents with 1Claw secrets"
|
|
32
|
+
description: "HuggingFace lightweight agents with 1Claw secrets and memory"
|
|
33
33
|
- name: llamaindex
|
|
34
34
|
display_name: "LlamaIndex"
|
|
35
|
-
version: 1.
|
|
35
|
+
version: 1.1.0
|
|
36
36
|
language: python
|
|
37
|
-
description: "LlamaIndex agent with tool integration
|
|
37
|
+
description: "LlamaIndex agent with tool integration, 1Claw MCP, and memory"
|
|
38
38
|
- name: pydantic-ai
|
|
39
39
|
display_name: "Pydantic AI"
|
|
40
|
-
version: 1.
|
|
40
|
+
version: 1.1.0
|
|
41
41
|
language: python
|
|
42
|
-
description: "Type-safe Python agent with structured output"
|
|
42
|
+
description: "Type-safe Python agent with structured output and 1Claw memory"
|
|
43
43
|
- name: agno
|
|
44
44
|
display_name: "Agno"
|
|
45
|
-
version: 1.
|
|
45
|
+
version: 1.1.0
|
|
46
46
|
language: python
|
|
47
|
-
description: "Agno multi-modal agent with 1Claw secrets"
|
|
47
|
+
description: "Agno multi-modal agent with 1Claw secrets and memory"
|
|
48
48
|
- name: mastra
|
|
49
49
|
display_name: "Mastra"
|
|
50
50
|
version: 1.0.0
|
|
@@ -57,6 +57,6 @@ templates:
|
|
|
57
57
|
description: "Plain TypeScript agent using @1claw/sdk with Shroud LLM routing"
|
|
58
58
|
- name: coder
|
|
59
59
|
display_name: "Coder"
|
|
60
|
-
version: 1.
|
|
60
|
+
version: 1.1.0
|
|
61
61
|
language: python
|
|
62
|
-
description: "Coder workspace automation agent"
|
|
62
|
+
description: "Coder workspace automation agent with 1Claw secrets"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../../src/commands/automation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,eAAO,MAAM,iBAAiB,SAEQ,CAAC"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { api } from "../client.js";
|
|
5
|
+
import { requireToken, handleError } from "../middleware.js";
|
|
6
|
+
import { printTable, printKeyValue, printSuccess, printJson, formatDate, } from "../output.js";
|
|
7
|
+
export const automationCommand = new Command("automation")
|
|
8
|
+
.alias("auto")
|
|
9
|
+
.description("Manage automations");
|
|
10
|
+
automationCommand
|
|
11
|
+
.command("list")
|
|
12
|
+
.alias("ls")
|
|
13
|
+
.description("List all automations in your org")
|
|
14
|
+
.option("--json", "Output as JSON")
|
|
15
|
+
.action(async (opts) => {
|
|
16
|
+
try {
|
|
17
|
+
requireToken();
|
|
18
|
+
const res = await api("/automations");
|
|
19
|
+
const items = res.automations ?? [];
|
|
20
|
+
if (opts.json) {
|
|
21
|
+
printJson(items);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (items.length === 0) {
|
|
25
|
+
console.log(chalk.dim("No automations found."));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
printTable(items.map((a) => ({
|
|
29
|
+
id: a.id,
|
|
30
|
+
name: a.name,
|
|
31
|
+
trigger: a.trigger_type,
|
|
32
|
+
cron: a.cron_expr ?? chalk.dim("—"),
|
|
33
|
+
active: a.is_active ? chalk.green("✓") : chalk.red("✗"),
|
|
34
|
+
agent: a.agent_id.slice(0, 8) + "…",
|
|
35
|
+
last_run: a.last_run_at ? formatDate(a.last_run_at) : chalk.dim("never"),
|
|
36
|
+
next_run: a.next_run_at ? formatDate(a.next_run_at) : chalk.dim("—"),
|
|
37
|
+
})), [
|
|
38
|
+
{ key: "id", header: "ID", width: 36 },
|
|
39
|
+
{ key: "name", header: "Name", width: 24 },
|
|
40
|
+
{ key: "trigger", header: "Trigger", width: 10 },
|
|
41
|
+
{ key: "cron", header: "Cron", width: 16 },
|
|
42
|
+
{ key: "active", header: "Active", width: 8 },
|
|
43
|
+
{ key: "agent", header: "Agent", width: 12 },
|
|
44
|
+
{ key: "last_run", header: "Last Run" },
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
handleError(err);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
automationCommand
|
|
52
|
+
.command("get <automation-id>")
|
|
53
|
+
.description("Get automation details")
|
|
54
|
+
.option("--json", "Output as JSON")
|
|
55
|
+
.action(async (automationId, opts) => {
|
|
56
|
+
try {
|
|
57
|
+
requireToken();
|
|
58
|
+
const a = await api(`/automations/${automationId}`);
|
|
59
|
+
if (opts.json) {
|
|
60
|
+
printJson(a);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
printKeyValue([
|
|
64
|
+
["ID", a.id],
|
|
65
|
+
["Name", a.name],
|
|
66
|
+
["Trigger Type", a.trigger_type],
|
|
67
|
+
["Cron", a.cron_expr ?? "—"],
|
|
68
|
+
["Timezone", a.timezone],
|
|
69
|
+
["Active", a.is_active ? chalk.green("Yes") : chalk.red("No")],
|
|
70
|
+
["Agent ID", a.agent_id],
|
|
71
|
+
["Last Run", a.last_run_at ? formatDate(a.last_run_at) : "Never"],
|
|
72
|
+
["Next Run", a.next_run_at ? formatDate(a.next_run_at) : "—"],
|
|
73
|
+
["Created", formatDate(a.created_at)],
|
|
74
|
+
]);
|
|
75
|
+
if (a.workflow_spec) {
|
|
76
|
+
console.log(chalk.bold("\nWorkflow Spec:"));
|
|
77
|
+
console.log(JSON.stringify(a.workflow_spec, null, 2));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
handleError(err);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
automationCommand
|
|
85
|
+
.command("create <name>")
|
|
86
|
+
.description("Create a new automation")
|
|
87
|
+
.requiredOption("--agent-id <id>", "Agent ID to run the automation")
|
|
88
|
+
.requiredOption("--trigger <type>", "Trigger type: cron, event, or webhook")
|
|
89
|
+
.option("--cron <expr>", "Cron expression (required for cron trigger)")
|
|
90
|
+
.option("--timezone <tz>", "IANA timezone", "UTC")
|
|
91
|
+
.option("--event-filter <json>", "Event filter JSON (for event trigger)")
|
|
92
|
+
.option("--workflow <json-or-file>", "Workflow spec JSON or @file path", "[]")
|
|
93
|
+
.option("--json", "Output as JSON")
|
|
94
|
+
.action(async (name, opts) => {
|
|
95
|
+
try {
|
|
96
|
+
requireToken();
|
|
97
|
+
let workflowSpec;
|
|
98
|
+
if (opts.workflow.startsWith("@")) {
|
|
99
|
+
const content = readFileSync(opts.workflow.slice(1), "utf8");
|
|
100
|
+
workflowSpec = JSON.parse(content);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
workflowSpec = JSON.parse(opts.workflow);
|
|
104
|
+
}
|
|
105
|
+
let eventFilter = undefined;
|
|
106
|
+
if (opts.eventFilter) {
|
|
107
|
+
eventFilter = JSON.parse(opts.eventFilter);
|
|
108
|
+
}
|
|
109
|
+
const body = {
|
|
110
|
+
name,
|
|
111
|
+
agent_id: opts.agentId,
|
|
112
|
+
trigger_type: opts.trigger,
|
|
113
|
+
timezone: opts.timezone,
|
|
114
|
+
workflow_spec: workflowSpec,
|
|
115
|
+
};
|
|
116
|
+
if (opts.cron)
|
|
117
|
+
body.cron_expr = opts.cron;
|
|
118
|
+
if (eventFilter)
|
|
119
|
+
body.event_filter = eventFilter;
|
|
120
|
+
const a = await api("/automations", {
|
|
121
|
+
method: "POST",
|
|
122
|
+
body,
|
|
123
|
+
});
|
|
124
|
+
if (opts.json) {
|
|
125
|
+
printJson(a);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
printSuccess(`Automation created: ${chalk.bold(a.name)} (${a.id})`);
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
handleError(err);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
automationCommand
|
|
135
|
+
.command("update <automation-id>")
|
|
136
|
+
.description("Update an automation")
|
|
137
|
+
.option("--name <name>", "New name")
|
|
138
|
+
.option("--cron <expr>", "New cron expression")
|
|
139
|
+
.option("--timezone <tz>", "New timezone")
|
|
140
|
+
.option("--workflow <json-or-file>", "New workflow spec JSON or @file path")
|
|
141
|
+
.option("--active <bool>", "Enable or disable")
|
|
142
|
+
.option("--json", "Output as JSON")
|
|
143
|
+
.action(async (automationId, opts) => {
|
|
144
|
+
try {
|
|
145
|
+
requireToken();
|
|
146
|
+
const body = {};
|
|
147
|
+
if (opts.name)
|
|
148
|
+
body.name = opts.name;
|
|
149
|
+
if (opts.cron)
|
|
150
|
+
body.cron_expr = opts.cron;
|
|
151
|
+
if (opts.timezone)
|
|
152
|
+
body.timezone = opts.timezone;
|
|
153
|
+
if (opts.active !== undefined)
|
|
154
|
+
body.is_active = opts.active === "true";
|
|
155
|
+
if (opts.workflow) {
|
|
156
|
+
if (opts.workflow.startsWith("@")) {
|
|
157
|
+
body.workflow_spec = JSON.parse(readFileSync(opts.workflow.slice(1), "utf8"));
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
body.workflow_spec = JSON.parse(opts.workflow);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
const a = await api(`/automations/${automationId}`, {
|
|
164
|
+
method: "PATCH",
|
|
165
|
+
body,
|
|
166
|
+
});
|
|
167
|
+
if (opts.json) {
|
|
168
|
+
printJson(a);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
printSuccess(`Automation updated: ${chalk.bold(a.name)}`);
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
handleError(err);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
automationCommand
|
|
178
|
+
.command("delete <automation-id>")
|
|
179
|
+
.description("Delete an automation")
|
|
180
|
+
.action(async (automationId) => {
|
|
181
|
+
try {
|
|
182
|
+
requireToken();
|
|
183
|
+
await api(`/automations/${automationId}`, { method: "DELETE" });
|
|
184
|
+
printSuccess("Automation deleted.");
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
handleError(err);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
automationCommand
|
|
191
|
+
.command("trigger <automation-id>")
|
|
192
|
+
.description("Manually trigger an automation run")
|
|
193
|
+
.option("--json", "Output as JSON")
|
|
194
|
+
.action(async (automationId, opts) => {
|
|
195
|
+
try {
|
|
196
|
+
requireToken();
|
|
197
|
+
const run = await api(`/automations/${automationId}/trigger`, {
|
|
198
|
+
method: "POST",
|
|
199
|
+
});
|
|
200
|
+
if (opts.json) {
|
|
201
|
+
printJson(run);
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
printSuccess(`Run started: ${run.id} (status: ${run.status})`);
|
|
205
|
+
}
|
|
206
|
+
catch (err) {
|
|
207
|
+
handleError(err);
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
automationCommand
|
|
211
|
+
.command("runs <automation-id>")
|
|
212
|
+
.description("List runs for an automation")
|
|
213
|
+
.option("--limit <n>", "Max results", "20")
|
|
214
|
+
.option("--json", "Output as JSON")
|
|
215
|
+
.action(async (automationId, opts) => {
|
|
216
|
+
try {
|
|
217
|
+
requireToken();
|
|
218
|
+
const res = await api(`/automations/${automationId}/runs`, { query: { limit: parseInt(opts.limit, 10) } });
|
|
219
|
+
const runs = res.runs ?? [];
|
|
220
|
+
if (opts.json) {
|
|
221
|
+
printJson(runs);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (runs.length === 0) {
|
|
225
|
+
console.log(chalk.dim("No runs found."));
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
printTable(runs.map((r) => ({
|
|
229
|
+
id: r.id,
|
|
230
|
+
status: r.status === "success"
|
|
231
|
+
? chalk.green(r.status)
|
|
232
|
+
: r.status === "failed"
|
|
233
|
+
? chalk.red(r.status)
|
|
234
|
+
: chalk.yellow(r.status),
|
|
235
|
+
trigger: r.trigger_source,
|
|
236
|
+
tokens: r.tokens_used,
|
|
237
|
+
cost: `${(r.cost_cents / 100).toFixed(2)}`,
|
|
238
|
+
started: formatDate(r.started_at),
|
|
239
|
+
finished: r.finished_at ? formatDate(r.finished_at) : chalk.dim("—"),
|
|
240
|
+
})), [
|
|
241
|
+
{ key: "id", header: "Run ID", width: 36 },
|
|
242
|
+
{ key: "status", header: "Status", width: 10 },
|
|
243
|
+
{ key: "trigger", header: "Trigger", width: 12 },
|
|
244
|
+
{ key: "tokens", header: "Tokens", width: 8 },
|
|
245
|
+
{ key: "cost", header: "Cost ($)", width: 10 },
|
|
246
|
+
{ key: "started", header: "Started" },
|
|
247
|
+
]);
|
|
248
|
+
}
|
|
249
|
+
catch (err) {
|
|
250
|
+
handleError(err);
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
//# sourceMappingURL=automation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automation.js","sourceRoot":"","sources":["../../../src/commands/automation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../../src/commands/directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,gBAAgB,SAuGxB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { apiNoAuth } from "../client.js";
|
|
4
|
+
import { handleError } from "../middleware.js";
|
|
5
|
+
import { printTable, printKeyValue, printJson } from "../output.js";
|
|
6
|
+
export const directoryCommand = new Command("directory")
|
|
7
|
+
.description("Browse the public agent directory")
|
|
8
|
+
.addCommand(new Command("search")
|
|
9
|
+
.description("Search for agents in the directory")
|
|
10
|
+
.argument("[query]", "Search query")
|
|
11
|
+
.option("--tags <tags>", "Filter by comma-separated tags")
|
|
12
|
+
.option("--page <page>", "Page number", "1")
|
|
13
|
+
.option("--json", "Output as JSON")
|
|
14
|
+
.action(async (query, opts) => {
|
|
15
|
+
try {
|
|
16
|
+
const params = {
|
|
17
|
+
page: opts.page,
|
|
18
|
+
page_size: "20",
|
|
19
|
+
};
|
|
20
|
+
if (query)
|
|
21
|
+
params.q = query;
|
|
22
|
+
if (opts.tags)
|
|
23
|
+
params.tags = opts.tags;
|
|
24
|
+
const data = await apiNoAuth("/agents/directory", { query: params });
|
|
25
|
+
if (opts.json) {
|
|
26
|
+
printJson(data);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (data.agents.length === 0) {
|
|
30
|
+
console.log(chalk.yellow("No agents found."));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
console.log(chalk.bold(`Found ${data.total} agent(s) (page ${data.page}):\n`));
|
|
34
|
+
printTable(data.agents.map((a) => ({
|
|
35
|
+
name: a.name,
|
|
36
|
+
id: a.id.slice(0, 8) + "...",
|
|
37
|
+
capabilities: a.capabilities.join(", "),
|
|
38
|
+
tags: a.tags.join(", "),
|
|
39
|
+
a2a_url: a.a2a_url ?? "-",
|
|
40
|
+
})), [
|
|
41
|
+
{ key: "name", header: "Name", width: 24 },
|
|
42
|
+
{ key: "id", header: "ID", width: 12 },
|
|
43
|
+
{ key: "capabilities", header: "Capabilities", width: 30 },
|
|
44
|
+
{ key: "tags", header: "Tags", width: 20 },
|
|
45
|
+
{ key: "a2a_url", header: "A2A URL", width: 30 },
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
handleError(err);
|
|
50
|
+
}
|
|
51
|
+
}))
|
|
52
|
+
.addCommand(new Command("card")
|
|
53
|
+
.description("Get an agent's public card")
|
|
54
|
+
.argument("<agent-id>", "Agent ID")
|
|
55
|
+
.option("--json", "Output as JSON")
|
|
56
|
+
.action(async (agentId, opts) => {
|
|
57
|
+
try {
|
|
58
|
+
const card = await apiNoAuth(`/agents/${agentId}/card`);
|
|
59
|
+
if (opts.json) {
|
|
60
|
+
printJson(card);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
printKeyValue([
|
|
64
|
+
["Name", card.name],
|
|
65
|
+
["ID", card.id],
|
|
66
|
+
["Description", card.description],
|
|
67
|
+
["Capabilities", card.capabilities.join(", ")],
|
|
68
|
+
["Tags", card.tags.join(", ")],
|
|
69
|
+
["A2A URL", card.a2a_url ?? "-"],
|
|
70
|
+
["MCP URL", card.mcp_url ?? "-"],
|
|
71
|
+
]);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
handleError(err);
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
77
|
+
//# sourceMappingURL=directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../../src/commands/directory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/commands/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,eAAO,MAAM,aAAa,SAEa,CAAC"}
|