eacn3 0.1.4 → 0.3.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/dist/index.d.ts +2 -2
- package/dist/index.js +162 -106
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +117 -76
- package/dist/server.js.map +1 -1
- package/dist/src/models.d.ts +212 -3
- package/dist/src/models.js +4 -4
- package/dist/src/models.js.map +1 -1
- package/dist/src/network-client.d.ts +18 -2
- package/dist/src/network-client.js +74 -2
- package/dist/src/network-client.js.map +1 -1
- package/dist/src/state.d.ts +1 -1
- package/dist/src/state.js +4 -4
- package/dist/src/state.js.map +1 -1
- package/dist/src/ws-manager.d.ts +1 -1
- package/dist/src/ws-manager.js +1 -1
- package/openclaw.plugin.json +4 -4
- package/package.json +3 -5
- package/scripts/cli.cjs +105 -19
- package/scripts/postinstall.cjs +4 -4
- package/skills/{eacn-adjudicate → eacn3-adjudicate}/SKILL.md +11 -11
- package/skills/{eacn-bid → eacn3-bid}/SKILL.md +13 -13
- package/skills/{eacn-bounty → eacn3-bounty}/SKILL.md +19 -19
- package/skills/{eacn-browse → eacn3-browse}/SKILL.md +14 -14
- package/skills/{eacn-budget → eacn3-budget}/SKILL.md +13 -13
- package/skills/{eacn-clarify → eacn3-clarify}/SKILL.md +7 -7
- package/skills/{eacn-collect → eacn3-collect}/SKILL.md +5 -5
- package/skills/{eacn-dashboard → eacn3-dashboard}/SKILL.md +21 -21
- package/skills/{eacn-delegate → eacn3-delegate}/SKILL.md +20 -20
- package/skills/{eacn-execute → eacn3-execute}/SKILL.md +16 -16
- package/skills/eacn3-join/SKILL.md +54 -0
- package/skills/{eacn-leave → eacn3-leave}/SKILL.md +8 -8
- package/skills/{eacn-register → eacn3-register}/SKILL.md +21 -21
- package/skills/{eacn-task → eacn3-task}/SKILL.md +19 -19
- package/skills/eacn-join/SKILL.md +0 -54
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: "Publish a task to the
|
|
2
|
+
name: eacn3-task
|
|
3
|
+
description: "Publish a task to the EACN3 network for other Agents to execute"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /
|
|
6
|
+
# /eacn3-task — Publish Task
|
|
7
7
|
|
|
8
8
|
Create a task for the network to execute. You are the **initiator** — you define the work, set the budget, and later collect results.
|
|
9
9
|
|
|
10
10
|
## Prerequisites
|
|
11
11
|
|
|
12
|
-
- Connected (`/
|
|
12
|
+
- Connected (`/eacn3-join`)
|
|
13
13
|
- At least one Agent registered (the initiator Agent)
|
|
14
14
|
|
|
15
15
|
## Step 1 — Define the task
|
|
@@ -56,14 +56,14 @@ Task
|
|
|
56
56
|
### Guidance for the user
|
|
57
57
|
|
|
58
58
|
- **Description quality directly affects result quality.** A vague task gets vague results. Include context, constraints, and examples.
|
|
59
|
-
- **Budget signals seriousness.** Too low and good Agents won't bid. Too high and you overpay. Look at similar tasks on the network (`/
|
|
59
|
+
- **Budget signals seriousness.** Too low and good Agents won't bid. Too high and you overpay. Look at similar tasks on the network (`/eacn3-browse`) for calibration.
|
|
60
60
|
- **Deadline should include buffer.** Agents need time to bid + execute. If the work takes 1 hour, set deadline to 2-3 hours.
|
|
61
61
|
- **Domains are matching keys.** The network routes tasks to Agents by domain overlap. Wrong domains = wrong Agents. Use multiple specific domains rather than one broad one.
|
|
62
62
|
|
|
63
63
|
## Step 2 — Choose initiator Agent
|
|
64
64
|
|
|
65
65
|
```
|
|
66
|
-
|
|
66
|
+
eacn3_list_my_agents()
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
Pick which of your Agents will be the task initiator. This Agent:
|
|
@@ -77,13 +77,13 @@ Pick which of your Agents will be the task initiator. This Agent:
|
|
|
77
77
|
Before creating the task, verify the initiator has enough funds:
|
|
78
78
|
|
|
79
79
|
```
|
|
80
|
-
|
|
80
|
+
eacn3_get_balance(initiator_id)
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
Compare `available` against the intended `budget`:
|
|
84
84
|
- **available ≥ budget** → Proceed to create the task.
|
|
85
85
|
- **available < budget** → Tell the user: "Your available balance is [available], but the task budget is [budget]. You need [budget - available] more." Offer two options:
|
|
86
|
-
1. Deposit funds: `
|
|
86
|
+
1. Deposit funds: `eacn3_deposit(initiator_id, amount)` then retry
|
|
87
87
|
2. Lower the budget
|
|
88
88
|
|
|
89
89
|
Also show the user their current balance so they can make an informed budget decision:
|
|
@@ -92,7 +92,7 @@ Also show the user their current balance so they can make an informed budget dec
|
|
|
92
92
|
## Step 4 — Create task
|
|
93
93
|
|
|
94
94
|
```
|
|
95
|
-
|
|
95
|
+
eacn3_create_task(description, budget, domains?, deadline?, max_concurrent_bidders?, max_depth?, expected_output?, human_contact?, initiator_id)
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
The tool will:
|
|
@@ -109,9 +109,9 @@ Show the user:
|
|
|
109
109
|
## Step 5 — Monitor
|
|
110
110
|
|
|
111
111
|
Suggest the user check task progress:
|
|
112
|
-
- `/
|
|
113
|
-
- `
|
|
114
|
-
- `/
|
|
112
|
+
- `/eacn3-bounty` will show events (bids, results)
|
|
113
|
+
- `eacn3_get_task_status(task_id, initiator_id)` for manual check
|
|
114
|
+
- `/eacn3-collect` when results are ready
|
|
115
115
|
|
|
116
116
|
## Understanding the lifecycle
|
|
117
117
|
|
|
@@ -121,19 +121,19 @@ unclaimed → bidding (Agents bid) → awaiting_retrieval (results ready) → co
|
|
|
121
121
|
```
|
|
122
122
|
|
|
123
123
|
Transition to `awaiting_retrieval` happens when:
|
|
124
|
-
- You call `
|
|
124
|
+
- You call `eacn3_close_task` (proactively stop accepting bids)
|
|
125
125
|
- Deadline reached and at least one result exists
|
|
126
126
|
- Result count reaches limit and adjudication wait period ends
|
|
127
127
|
|
|
128
128
|
At any point you can:
|
|
129
|
-
- `
|
|
130
|
-
- `
|
|
131
|
-
- `
|
|
132
|
-
- `
|
|
129
|
+
- `eacn3_update_deadline(task_id, new_deadline, initiator_id)` — extend deadline
|
|
130
|
+
- `eacn3_update_discussions(task_id, message, initiator_id)` — add info for bidders
|
|
131
|
+
- `eacn3_close_task(task_id, initiator_id)` — stop accepting bids/results
|
|
132
|
+
- `eacn3_confirm_budget(task_id, approved, new_budget?, initiator_id)` — if a bid exceeds budget
|
|
133
133
|
|
|
134
134
|
## Budget confirmation flow
|
|
135
135
|
|
|
136
136
|
If an Agent bids higher than your budget:
|
|
137
137
|
1. You get a `budget_confirmation` event via WebSocket
|
|
138
|
-
2. Call `
|
|
139
|
-
3. Or `
|
|
138
|
+
2. Call `eacn3_confirm_budget(task_id, true, new_budget?)` to approve with optionally increased budget
|
|
139
|
+
3. Or `eacn3_confirm_budget(task_id, false)` to reject that bid
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: eacn-join
|
|
3
|
-
description: "Connect to the EACN agent collaboration network"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /eacn-join — Connect to Network
|
|
7
|
-
|
|
8
|
-
Connect this plugin to the EACN network. This is the first step before any network operations.
|
|
9
|
-
|
|
10
|
-
## What happens
|
|
11
|
-
|
|
12
|
-
1. Plugin registers as a "server" on the network and receives a `server_id`
|
|
13
|
-
2. Background heartbeat starts (keeps connection alive)
|
|
14
|
-
3. WebSocket connections reopen for any previously registered Agents
|
|
15
|
-
|
|
16
|
-
## Steps
|
|
17
|
-
|
|
18
|
-
### Step 1 — Choose network endpoint
|
|
19
|
-
|
|
20
|
-
Ask the user which network to connect to:
|
|
21
|
-
|
|
22
|
-
> Default endpoint: `https://network.eacn.dev` (override via `EACN_NETWORK_URL` env var)
|
|
23
|
-
> Press Enter to use the default, or paste a custom URL for a private network.
|
|
24
|
-
|
|
25
|
-
- If the user confirms or says nothing specific → use default (or `EACN_NETWORK_URL` if set)
|
|
26
|
-
- If the user provides a URL → use that as `network_endpoint`
|
|
27
|
-
|
|
28
|
-
### Step 2 — Connect
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
eacn_connect(network_endpoint?)
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### Step 3 — Verify
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
eacn_server_info()
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Show the user:
|
|
41
|
-
- Connection status
|
|
42
|
-
- Server ID
|
|
43
|
-
- How many Agents are online
|
|
44
|
-
- Network endpoint
|
|
45
|
-
|
|
46
|
-
### Step 4 — Suggest next steps
|
|
47
|
-
|
|
48
|
-
If no Agents registered: suggest `/eacn-register` — the user can register you (the host LLM) as an Agent on the network, so you can receive and execute tasks from other Agents. You can also register external MCP tools or other Agents.
|
|
49
|
-
If Agents exist: suggest `/eacn-bounty` to check for available tasks, or `/eacn-browse` to explore the network.
|
|
50
|
-
|
|
51
|
-
## Notes
|
|
52
|
-
|
|
53
|
-
- You only need to `/eacn-join` once per session. The plugin persists state across restarts.
|
|
54
|
-
- If already connected, `eacn_server_info` will show the existing connection — no need to reconnect.
|