@oneie/mcp 0.2.0 → 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/LICENSE +18 -0
- package/README.md +64 -65
- package/dist/index.d.ts +4 -5
- package/dist/index.js +6 -7
- package/dist/index.js.map +1 -1
- package/dist/serve.d.ts +4 -0
- package/dist/serve.js +53 -0
- package/dist/serve.js.map +1 -1
- package/dist/tools/lifecycle.js +196 -12
- package/dist/tools/lifecycle.js.map +1 -1
- package/dist/tools/observability.js +12 -41
- package/dist/tools/observability.js.map +1 -1
- package/dist/tools/social.d.ts +2 -0
- package/dist/tools/social.js +83 -0
- package/dist/tools/social.js.map +1 -0
- package/dist/tools/substrate.js +294 -38
- package/dist/tools/substrate.js.map +1 -1
- package/package.json +10 -5
- package/dist/tools/commerce.d.ts +0 -2
- package/dist/tools/commerce.js +0 -303
- package/dist/tools/commerce.js.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Copyright (c) 2024-2026 Tony O'Connell. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This software and associated documentation files (the "Software") are the
|
|
4
|
+
private and confidential property of Tony O'Connell.
|
|
5
|
+
|
|
6
|
+
No part of the Software may be reproduced, distributed, transmitted,
|
|
7
|
+
displayed, published, or broadcast in any form or by any means, without
|
|
8
|
+
the prior written permission of Tony O'Connell.
|
|
9
|
+
|
|
10
|
+
You may not copy, modify, sublicense, or distribute the Software.
|
|
11
|
+
You may not use the Software for any commercial or non-commercial purpose
|
|
12
|
+
without explicit written authorization from Tony O'Connell.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
17
|
+
|
|
18
|
+
For licensing inquiries, contact Tony O'Connell.
|
package/README.md
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
# @oneie/mcp
|
|
2
2
|
|
|
3
|
-
MCP server for the ONE substrate —
|
|
3
|
+
MCP server for the ONE substrate — 13 substrate + 13 lifecycle + 8 observability + 3 discovery = 37 tools.
|
|
4
4
|
|
|
5
5
|
Connects Claude Code, Cursor, Windsurf, and any MCP client to a live ONE instance via stdio.
|
|
6
6
|
|
|
7
|
+
## The key insight
|
|
8
|
+
|
|
9
|
+
`signal` and `ask` reach ANY capability by receiver name. You do not need a
|
|
10
|
+
dedicated tool for every action — just use the right receiver:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
signal("agents:commend", { uid }) → commend an agent
|
|
14
|
+
signal("groups:join", { gid }) → join a group
|
|
15
|
+
ask("market:hire", { skill, budget }) → hire from marketplace
|
|
16
|
+
ask("stats:current") → substrate stats
|
|
17
|
+
ask("inbox:workspace", { limit: 50 }) → inbox signals
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
New nanoclaw handlers are automatically reachable without new MCP tools.
|
|
21
|
+
|
|
7
22
|
## Install
|
|
8
23
|
|
|
9
24
|
```bash
|
|
@@ -49,54 +64,56 @@ Or point at production:
|
|
|
49
64
|
|
|
50
65
|
## Tools
|
|
51
66
|
|
|
52
|
-
### Substrate
|
|
53
|
-
|
|
54
|
-
| Tool |
|
|
55
|
-
|
|
56
|
-
| `signal` |
|
|
57
|
-
| `ask` |
|
|
58
|
-
| `mark` |
|
|
59
|
-
| `warn` |
|
|
60
|
-
| `fade` |
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
| `
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
76
|
-
| `
|
|
77
|
-
| `
|
|
78
|
-
| `
|
|
79
|
-
| `
|
|
80
|
-
| `
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
67
|
+
### Substrate (universal — use these for anything not listed below)
|
|
68
|
+
|
|
69
|
+
| Tool | Endpoint | What |
|
|
70
|
+
|------|----------|------|
|
|
71
|
+
| `signal` | `POST /api/signal/:receiver` | Fire-and-forget to any receiver |
|
|
72
|
+
| `ask` | `POST /api/ask/:receiver` | Signal + wait for outcome |
|
|
73
|
+
| `mark` | `POST /api/mark/:edge` | Strengthen a path (`source>target`) |
|
|
74
|
+
| `warn` | `POST /api/warn/:edge` | Raise resistance on a path |
|
|
75
|
+
| `fade` | `POST /api/fade` | Asymmetric decay of all paths |
|
|
76
|
+
| `follow` | `GET /api/follow` | Deterministic path selection |
|
|
77
|
+
| `select` | `GET /api/select` | Probabilistic path selection |
|
|
78
|
+
| `recall` | `GET /api/learning` | Query hypotheses from the brain |
|
|
79
|
+
| `reveal` | `GET /api/pii/reveal/:uid` | Full memory card for a uid |
|
|
80
|
+
| `forget` | `POST /api/forget` | GDPR erasure of a uid |
|
|
81
|
+
| `frontier` | `GET /api/frontiers` | Unexplored tag clusters |
|
|
82
|
+
| `know` | via `signal("learning:know")` | Promote highways → hypotheses |
|
|
83
|
+
| `highways` | `GET /api/export/highways` | Top weighted paths |
|
|
84
|
+
|
|
85
|
+
### Lifecycle
|
|
86
|
+
|
|
87
|
+
| Tool | What |
|
|
88
|
+
|------|------|
|
|
89
|
+
| `auth_agent` | Register or re-authenticate an agent; returns uid, wallet, and one-time API key |
|
|
90
|
+
| `sync_agent` | Sync an agent markdown spec to TypeDB (unit + skills + capabilities) |
|
|
91
|
+
| `publish_agent` | Upload an agent.md to a workspace. Mirrors `oneie agent publish`. |
|
|
92
|
+
| `pull_agent` | Download a published agent.md from the workspace. Mirrors `oneie agent pull`. |
|
|
93
|
+
| `unpublish_agent` | Remove a published agent from the workspace. Idempotent. |
|
|
94
|
+
| `list_agents` | List all published agents for a workspace |
|
|
95
|
+
| `agent_history` | Version history for a published agent |
|
|
96
|
+
| `rollback_agent` | Restore a published agent to a previous version |
|
|
97
|
+
| `discover_skill` | Find agents offering a named skill, ranked by pheromone strength |
|
|
98
|
+
| `register` | Register a unit with capabilities; optionally link a Sui wallet |
|
|
99
|
+
| `pay` | Record a payment between units; deposits pheromone proportional to amount |
|
|
100
|
+
| `list_skills` | List all imported skills for a workspace |
|
|
101
|
+
| `unimport_skill` | Remove an imported skill from a workspace |
|
|
83
102
|
|
|
84
103
|
### Observability
|
|
85
104
|
|
|
86
|
-
| Tool |
|
|
87
|
-
|
|
88
|
-
| `stats` |
|
|
89
|
-
| `health` |
|
|
90
|
-
| `revenue` |
|
|
91
|
-
| `frontiers_global` |
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
### Discovery
|
|
105
|
+
| Tool | What |
|
|
106
|
+
|------|------|
|
|
107
|
+
| `stats` | Aggregate substrate stats: unit counts, highways, revenue totals |
|
|
108
|
+
| `health` | Substrate health: world state, unit count, revenue, top group |
|
|
109
|
+
| `revenue` | Revenue breakdown: GDP, total transactions, top earners by unit |
|
|
110
|
+
| `frontiers_global` | Unexplored frontier hypotheses with expected value >= 0.5 |
|
|
111
|
+
| `export_units` | Export all units as JSON snapshot |
|
|
112
|
+
| `export_highways` | Export top weighted paths (strength >= 20) |
|
|
113
|
+
| `ingest_event` | Ingest a pheromone event (email\|stripe\|rating\|analytics) |
|
|
114
|
+
| `chat_turn` | Send a chat turn to the substrate LLM; returns text and next-turn tags |
|
|
115
|
+
|
|
116
|
+
### Discovery (local — no HTTP)
|
|
100
117
|
|
|
101
118
|
| Tool | What |
|
|
102
119
|
|------|------|
|
|
@@ -104,24 +121,6 @@ Or point at production:
|
|
|
104
121
|
| `list_agents` | List all available agent presets |
|
|
105
122
|
| `get_agent` | Get a preset by name |
|
|
106
123
|
|
|
107
|
-
### Pay tools
|
|
108
|
-
|
|
109
|
-
- `pay_create_link` — create a shareable payment link for an agent skill. Args: `{ to, amount, rail: "card"|"crypto"|"auto", memo?, sku? }` → `{ linkUrl, qr?, intent? }`. Flows through `persist.signal()` so ADL PEP gates apply.
|
|
110
|
-
- `pay_check_status` — check status of a payment by ref. Args: `{ ref: "pi_... | 0x... | sl_..." }` → `{ status, ref, amount?, rail? }`.
|
|
111
|
-
- `pay_cancel` — cancel a pending payment. Args: `{ ref }` → null on success.
|
|
112
|
-
|
|
113
|
-
See [one/pay-todo.md](../../one/pay-todo.md) and [one/pay-plan.md](../../one/pay-plan.md).
|
|
114
|
-
|
|
115
|
-
### Lifecycle
|
|
116
|
-
|
|
117
|
-
| Tool | Loop | What |
|
|
118
|
-
|------|------|------|
|
|
119
|
-
| `auth_agent` | L1 | Register or re-authenticate an agent; returns uid, wallet, and one-time API key |
|
|
120
|
-
| `sync_agent` | L1 | Sync an agent markdown spec to TypeDB (unit + skills + capabilities) |
|
|
121
|
-
| `discover_skill` | L2 | Find agents offering a named skill, ranked by pheromone strength |
|
|
122
|
-
| `register` | L1 | Register a unit with capabilities; optionally link a Sui wallet |
|
|
123
|
-
| `pay` | L4 | Record a payment between units; deposits pheromone proportional to amount |
|
|
124
|
-
|
|
125
124
|
## Environment Variables
|
|
126
125
|
|
|
127
126
|
| Variable | Default | Purpose |
|
|
@@ -135,7 +134,7 @@ See [one/pay-todo.md](../../one/pay-todo.md) and [one/pay-plan.md](../../one/pay
|
|
|
135
134
|
import { createOneRouter, serve } from "@oneie/mcp";
|
|
136
135
|
|
|
137
136
|
const router = createOneRouter();
|
|
138
|
-
await serve(router, { name: "oneie", version: "0.
|
|
137
|
+
await serve(router, { name: "oneie", version: "0.3.0" });
|
|
139
138
|
```
|
|
140
139
|
|
|
141
140
|
Add custom tools:
|
package/dist/index.d.ts
CHANGED
|
@@ -5,14 +5,13 @@ export type { McpTool, McpRouter } from "./serve.js";
|
|
|
5
5
|
export { substrateTools } from "./tools/substrate.js";
|
|
6
6
|
export { discoveryTools } from "./tools/discovery.js";
|
|
7
7
|
export { lifecycleTools } from "./tools/lifecycle.js";
|
|
8
|
-
export { commerceTools } from "./tools/commerce.js";
|
|
9
8
|
export { observabilityTools } from "./tools/observability.js";
|
|
10
9
|
export declare const MCP_VERSION = "0.3.0";
|
|
11
10
|
export declare const MCP_TOOLS: {
|
|
12
|
-
substrate: readonly ["signal", "ask", "mark", "warn", "fade", "select", "recall", "reveal", "forget", "frontier", "know", "highways"];
|
|
13
|
-
lifecycle: readonly ["auth_agent", "sync_agent", "discover_skill", "register", "pay"];
|
|
14
|
-
|
|
15
|
-
observability: readonly ["stats", "health", "revenue", "frontiers_global", "hypotheses_global", "export_units", "export_highways", "intent_learn", "ingest_event", "chat_turn"];
|
|
11
|
+
substrate: readonly ["signal", "ask", "mark", "warn", "fade", "follow", "select", "recall", "reveal", "forget", "frontier", "know", "highways"];
|
|
12
|
+
lifecycle: readonly ["auth_agent", "sync_agent", "publish_agent", "pull_agent", "unpublish_agent", "list_agents", "agent_history", "rollback_agent", "discover_skill", "register", "pay", "list_skills", "unimport_skill"];
|
|
13
|
+
observability: readonly ["stats", "health", "revenue", "frontiers_global", "export_units", "export_highways", "ingest_event", "chat_turn"];
|
|
16
14
|
discovery: readonly ["scaffold_agent", "list_agents", "get_agent"];
|
|
15
|
+
social: readonly ["social_list_posts", "social_create_post", "social_accounts"];
|
|
17
16
|
};
|
|
18
17
|
export declare function createOneRouter(): import("./serve.js").McpRouter;
|
package/dist/index.js
CHANGED
|
@@ -3,26 +3,25 @@ import { createRouter, serve } from "./serve.js";
|
|
|
3
3
|
import { substrateTools } from "./tools/substrate.js";
|
|
4
4
|
import { discoveryTools } from "./tools/discovery.js";
|
|
5
5
|
import { lifecycleTools } from "./tools/lifecycle.js";
|
|
6
|
-
import { commerceTools } from "./tools/commerce.js";
|
|
7
6
|
import { observabilityTools } from "./tools/observability.js";
|
|
7
|
+
import { socialTools } from "./tools/social.js";
|
|
8
8
|
export { createRouter, serve } from "./serve.js";
|
|
9
9
|
export { readEnv } from "./env.js";
|
|
10
10
|
export { substrateTools } from "./tools/substrate.js";
|
|
11
11
|
export { discoveryTools } from "./tools/discovery.js";
|
|
12
12
|
export { lifecycleTools } from "./tools/lifecycle.js";
|
|
13
|
-
export { commerceTools } from "./tools/commerce.js";
|
|
14
13
|
export { observabilityTools } from "./tools/observability.js";
|
|
15
14
|
export const MCP_VERSION = "0.3.0";
|
|
16
15
|
export const MCP_TOOLS = {
|
|
17
|
-
substrate: ["signal", "ask", "mark", "warn", "fade", "select", "recall", "reveal", "forget", "frontier", "know", "highways"],
|
|
18
|
-
lifecycle: ["auth_agent", "sync_agent", "discover_skill", "register", "pay"],
|
|
19
|
-
|
|
20
|
-
observability: ["stats", "health", "revenue", "frontiers_global", "hypotheses_global", "export_units", "export_highways", "intent_learn", "ingest_event", "chat_turn"],
|
|
16
|
+
substrate: ["signal", "ask", "mark", "warn", "fade", "follow", "select", "recall", "reveal", "forget", "frontier", "know", "highways"],
|
|
17
|
+
lifecycle: ["auth_agent", "sync_agent", "publish_agent", "pull_agent", "unpublish_agent", "list_agents", "agent_history", "rollback_agent", "discover_skill", "register", "pay", "list_skills", "unimport_skill"],
|
|
18
|
+
observability: ["stats", "health", "revenue", "frontiers_global", "export_units", "export_highways", "ingest_event", "chat_turn"],
|
|
21
19
|
discovery: ["scaffold_agent", "list_agents", "get_agent"],
|
|
20
|
+
social: ["social_list_posts", "social_create_post", "social_accounts"],
|
|
22
21
|
};
|
|
23
22
|
export function createOneRouter() {
|
|
24
23
|
const router = createRouter();
|
|
25
|
-
for (const tool of [...substrateTools(), ...lifecycleTools(), ...
|
|
24
|
+
for (const tool of [...substrateTools(), ...lifecycleTools(), ...observabilityTools(), ...discoveryTools(), ...socialTools()]) {
|
|
26
25
|
router.register(tool);
|
|
27
26
|
}
|
|
28
27
|
return router;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAU;IAC/I,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,CAAU;IAC1N,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,CAAU;IAC1I,SAAS,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,WAAW,CAAU;IAClE,MAAM,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,CAAU;CAChF,CAAC;AAEF,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,kBAAkB,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9H,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/serve.d.ts
CHANGED
package/dist/serve.js
CHANGED
|
@@ -46,4 +46,57 @@ export async function serve(router, opts) {
|
|
|
46
46
|
const transport = new StdioServerTransport();
|
|
47
47
|
await server.connect(transport);
|
|
48
48
|
}
|
|
49
|
+
import { readFileSync } from 'node:fs';
|
|
50
|
+
function parseFrontmatter(md) {
|
|
51
|
+
const m = md.match(/^---\s*\n([\s\S]*?)\n---/);
|
|
52
|
+
if (!m)
|
|
53
|
+
return {};
|
|
54
|
+
const meta = {};
|
|
55
|
+
for (const line of m[1].split('\n')) {
|
|
56
|
+
const i = line.indexOf(':');
|
|
57
|
+
if (i < 0)
|
|
58
|
+
continue;
|
|
59
|
+
const k = line.slice(0, i).trim();
|
|
60
|
+
const v = line.slice(i + 1).trim().replace(/^["']|["']$/g, '');
|
|
61
|
+
if (k === 'skills') {
|
|
62
|
+
meta.skills = v.replace(/[\[\]]/g, '').split(',').map(s => s.trim()).filter(Boolean);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
meta[k] = v;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return meta;
|
|
69
|
+
}
|
|
70
|
+
export async function serveMd(agentPath, opts) {
|
|
71
|
+
const md = readFileSync(agentPath, 'utf8');
|
|
72
|
+
const meta = parseFrontmatter(md);
|
|
73
|
+
const router = createRouter();
|
|
74
|
+
router.register({
|
|
75
|
+
name: 'activate_skill',
|
|
76
|
+
description: 'Activate a skill by name with structured input',
|
|
77
|
+
inputSchema: {
|
|
78
|
+
type: 'object',
|
|
79
|
+
required: ['skill', 'input'],
|
|
80
|
+
properties: {
|
|
81
|
+
skill: { type: 'string', description: 'Skill name from the agent\'s skills list' },
|
|
82
|
+
input: { type: 'object', description: 'Skill input matching the skill\'s inputSchema' },
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
handler: async (args) => ({
|
|
86
|
+
skill: args.skill,
|
|
87
|
+
input: args.input,
|
|
88
|
+
result: `Skill '${String(args.skill)}' activated — connect to substrate for execution`,
|
|
89
|
+
resources: (meta.skills ?? []).map(s => ({ uri: `skill://${s}`, name: s })),
|
|
90
|
+
}),
|
|
91
|
+
});
|
|
92
|
+
for (const skillName of meta.skills ?? []) {
|
|
93
|
+
router.register({
|
|
94
|
+
name: skillName,
|
|
95
|
+
description: `Skill: ${skillName}`,
|
|
96
|
+
inputSchema: { type: 'object' },
|
|
97
|
+
handler: async (args) => ({ skill: skillName, args, status: 'dispatched' }),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
await serve(router, { name: opts?.name ?? meta.name ?? 'oneie-agent', version: opts?.version });
|
|
101
|
+
}
|
|
49
102
|
//# sourceMappingURL=serve.js.map
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAenC,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,OAAO;QACL,KAAK;QACL,QAAQ,CAAC,IAAI;YACX,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAiB,EAAE,IAA0C;IACvF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,EAAE,EAClE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAG,IAAgC,IAAI,EAAE,CAAC,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAenC,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,OAAO;QACL,KAAK;QACL,QAAQ,CAAC,IAAI;YACX,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAiB,EAAE,IAA0C;IACvF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,EAAE,EAClE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAG,IAAgC,IAAI,EAAE,CAAC,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAStC,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC9C,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,MAAM,IAAI,GAAqB,EAAE,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,GAAG,CAAC;YAAE,SAAQ;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAA4B,CAAA;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACtF,CAAC;aAAM,CAAC;YACL,IAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAiB,EACjB,IAA0C;IAE1C,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAE7B,MAAM,CAAC,QAAQ,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YAC5B,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBAClF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;aACxF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE,CAAC,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kDAAkD;YACtF,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5E,CAAC;KACH,CAAC,CAAA;IAEF,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC;YACd,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,UAAU,SAAS,EAAE;YAClC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;SACrG,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AACjG,CAAC"}
|
package/dist/tools/lifecycle.js
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
function extractEvals(fm) {
|
|
2
|
+
const lines = fm.split("\n");
|
|
3
|
+
const startIdx = lines.findIndex(l => /^evals:\s*$/.test(l));
|
|
4
|
+
if (startIdx < 0)
|
|
5
|
+
return [];
|
|
6
|
+
const cases = [];
|
|
7
|
+
let cur = null;
|
|
8
|
+
let inAssertions = false;
|
|
9
|
+
for (let i = startIdx + 1; i < lines.length; i++) {
|
|
10
|
+
const line = lines[i];
|
|
11
|
+
if (/^[A-Za-z_][\w-]*:/.test(line))
|
|
12
|
+
break;
|
|
13
|
+
const promptMatch = line.match(/^\s+-\s+prompt:\s*(.+?)\s*$/);
|
|
14
|
+
if (promptMatch) {
|
|
15
|
+
if (cur)
|
|
16
|
+
cases.push(cur);
|
|
17
|
+
cur = { prompt: promptMatch[1].replace(/^["']|["']$/g, ""), assertions: [] };
|
|
18
|
+
inAssertions = false;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (!cur)
|
|
22
|
+
continue;
|
|
23
|
+
if (/^\s+assertions:\s*$/.test(line)) {
|
|
24
|
+
inAssertions = true;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const itemMatch = line.match(/^\s+-\s+(.+?)\s*$/);
|
|
28
|
+
if (itemMatch && inAssertions)
|
|
29
|
+
cur.assertions.push(itemMatch[1].replace(/^["']|["']$/g, ""));
|
|
30
|
+
}
|
|
31
|
+
if (cur)
|
|
32
|
+
cases.push(cur);
|
|
33
|
+
return cases;
|
|
34
|
+
}
|
|
1
35
|
async function apiCall(baseUrl, apiKey, path, init = {}) {
|
|
2
36
|
const headers = new Headers(init.headers);
|
|
3
37
|
headers.set("Accept", "application/json");
|
|
@@ -26,9 +60,9 @@ export function lifecycleTools() {
|
|
|
26
60
|
kind: { type: "string" },
|
|
27
61
|
},
|
|
28
62
|
},
|
|
29
|
-
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey,
|
|
63
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/ask/${encodeURIComponent("auth:agent")}`, {
|
|
30
64
|
method: "POST",
|
|
31
|
-
body: JSON.stringify({ name: args.name, uid: args.uid, kind: args.kind }),
|
|
65
|
+
body: JSON.stringify({ data: { name: args.name, uid: args.uid, kind: args.kind } }),
|
|
32
66
|
}),
|
|
33
67
|
},
|
|
34
68
|
{
|
|
@@ -43,9 +77,103 @@ export function lifecycleTools() {
|
|
|
43
77
|
},
|
|
44
78
|
required: ["markdown"],
|
|
45
79
|
},
|
|
46
|
-
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey,
|
|
80
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/ask/${encodeURIComponent("agents:sync")}`, {
|
|
81
|
+
method: "POST",
|
|
82
|
+
body: JSON.stringify({ data: { markdown: args.markdown, world: args.world, description: args.description } }),
|
|
83
|
+
}),
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "publish_agent",
|
|
87
|
+
description: "Publish an agent.md to a workspace. Writes to R2 at {slug}/agents/{name}.md. Returns the live URL. Mirrors the CLI flow `oneie agent publish`.",
|
|
88
|
+
inputSchema: {
|
|
89
|
+
type: "object",
|
|
90
|
+
properties: {
|
|
91
|
+
slug: { type: "string", description: "Workspace slug to publish into" },
|
|
92
|
+
name: { type: "string", description: "Agent name — must match frontmatter `name:` and the filename stem" },
|
|
93
|
+
content: { type: "string", description: "Full agent.md content including frontmatter" },
|
|
94
|
+
},
|
|
95
|
+
required: ["slug", "name", "content"],
|
|
96
|
+
},
|
|
97
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, "/api/agents/publish", {
|
|
47
98
|
method: "POST",
|
|
48
|
-
body: JSON.stringify({
|
|
99
|
+
body: JSON.stringify({ slug: args.slug, name: args.name, content: args.content }),
|
|
100
|
+
}),
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "pull_agent",
|
|
104
|
+
description: "Pull a previously published agent.md back from the workspace. Returns the file content verbatim. Mirrors `oneie agent pull`.",
|
|
105
|
+
inputSchema: {
|
|
106
|
+
type: "object",
|
|
107
|
+
properties: {
|
|
108
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
109
|
+
name: { type: "string", description: "Agent name (kebab-case)" },
|
|
110
|
+
},
|
|
111
|
+
required: ["slug", "name"],
|
|
112
|
+
},
|
|
113
|
+
handler: async (args, env) => {
|
|
114
|
+
const p = new URLSearchParams({ slug: String(args.slug), name: String(args.name) });
|
|
115
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/agents/publish?${p}`);
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "unpublish_agent",
|
|
120
|
+
description: "Remove a previously published agent from the workspace. Idempotent — deleting a non-existent agent returns `removed: false`. Mirrors `oneie agent unpublish`.",
|
|
121
|
+
inputSchema: {
|
|
122
|
+
type: "object",
|
|
123
|
+
properties: {
|
|
124
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
125
|
+
name: { type: "string", description: "Agent name (kebab-case)" },
|
|
126
|
+
},
|
|
127
|
+
required: ["slug", "name"],
|
|
128
|
+
},
|
|
129
|
+
handler: async (args, env) => {
|
|
130
|
+
const p = new URLSearchParams({ slug: String(args.slug), name: String(args.name) });
|
|
131
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/agents/publish?${p}`, { method: "DELETE" });
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: "list_agents",
|
|
136
|
+
description: "List all published agents for a workspace. Returns name, size, and version count for each agent.",
|
|
137
|
+
inputSchema: {
|
|
138
|
+
type: "object",
|
|
139
|
+
properties: {
|
|
140
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
141
|
+
},
|
|
142
|
+
required: ["slug"],
|
|
143
|
+
},
|
|
144
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/agents/list?slug=${encodeURIComponent(String(args.slug))}`),
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: "agent_history",
|
|
148
|
+
description: "Get the version history for a published agent — newest version first. Each version includes its epoch-ms timestamp and size.",
|
|
149
|
+
inputSchema: {
|
|
150
|
+
type: "object",
|
|
151
|
+
properties: {
|
|
152
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
153
|
+
name: { type: "string", description: "Agent name (kebab-case)" },
|
|
154
|
+
},
|
|
155
|
+
required: ["slug", "name"],
|
|
156
|
+
},
|
|
157
|
+
handler: async (args, env) => {
|
|
158
|
+
const params = new URLSearchParams({ slug: String(args.slug), name: String(args.name) });
|
|
159
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/agents/history?${params}`);
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: "rollback_agent",
|
|
164
|
+
description: "Restore a published agent to a previous version. Provide the epoch-ms timestamp from agent_history.",
|
|
165
|
+
inputSchema: {
|
|
166
|
+
type: "object",
|
|
167
|
+
properties: {
|
|
168
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
169
|
+
name: { type: "string", description: "Agent name (kebab-case)" },
|
|
170
|
+
ts: { type: "number", description: "Epoch-ms timestamp of the version to restore" },
|
|
171
|
+
},
|
|
172
|
+
required: ["slug", "name", "ts"],
|
|
173
|
+
},
|
|
174
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, "/api/agents/rollback", {
|
|
175
|
+
method: "POST",
|
|
176
|
+
body: JSON.stringify({ slug: args.slug, name: args.name, ts: args.ts }),
|
|
49
177
|
}),
|
|
50
178
|
},
|
|
51
179
|
{
|
|
@@ -90,14 +218,10 @@ export function lifecycleTools() {
|
|
|
90
218
|
},
|
|
91
219
|
required: ["uid"],
|
|
92
220
|
},
|
|
93
|
-
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey,
|
|
221
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/ask/${encodeURIComponent("agents:register")}`, {
|
|
94
222
|
method: "POST",
|
|
95
223
|
body: JSON.stringify({
|
|
96
|
-
uid: args.uid,
|
|
97
|
-
kind: args.kind,
|
|
98
|
-
capabilities: args.capabilities,
|
|
99
|
-
wallet: args.wallet,
|
|
100
|
-
chain: args.chain,
|
|
224
|
+
data: { uid: args.uid, kind: args.kind, capabilities: args.capabilities, wallet: args.wallet, chain: args.chain },
|
|
101
225
|
}),
|
|
102
226
|
}),
|
|
103
227
|
},
|
|
@@ -114,9 +238,69 @@ export function lifecycleTools() {
|
|
|
114
238
|
},
|
|
115
239
|
required: ["from", "to", "task", "amount"],
|
|
116
240
|
},
|
|
117
|
-
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey,
|
|
241
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/ask/${encodeURIComponent("pay:weight")}`, {
|
|
118
242
|
method: "POST",
|
|
119
|
-
body: JSON.stringify({ from: args.from, to: args.to, task: args.task, amount: args.amount }),
|
|
243
|
+
body: JSON.stringify({ data: { from: args.from, to: args.to, task: args.task, amount: args.amount } }),
|
|
244
|
+
}),
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: "list_skills",
|
|
248
|
+
description: "List all imported skills for a workspace.",
|
|
249
|
+
inputSchema: {
|
|
250
|
+
type: "object",
|
|
251
|
+
properties: {
|
|
252
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
253
|
+
},
|
|
254
|
+
required: ["slug"],
|
|
255
|
+
},
|
|
256
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/skills/workspace?slug=${encodeURIComponent(String(args.slug))}`),
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
name: "skill_eval",
|
|
260
|
+
description: "Evaluate a SKILL.md against its frontmatter `evals:` block. POSTs to /api/eval and returns the benchmark + mastery report. Claude Code writes the file, then calls this to measure it.",
|
|
261
|
+
inputSchema: {
|
|
262
|
+
type: "object",
|
|
263
|
+
properties: {
|
|
264
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
265
|
+
content: { type: "string", description: "Full SKILL.md including frontmatter with evals:" },
|
|
266
|
+
name: { type: "string", description: "Skill name override; defaults to frontmatter `name:`" },
|
|
267
|
+
iteration: { type: "number", description: "Iteration number; defaults to 1" },
|
|
268
|
+
},
|
|
269
|
+
required: ["slug", "content"],
|
|
270
|
+
},
|
|
271
|
+
handler: async (args, env) => {
|
|
272
|
+
const content = String(args.content);
|
|
273
|
+
const fm = content.match(/^---\n([\s\S]*?)\n---/)?.[1] ?? "";
|
|
274
|
+
const nameMatch = fm.match(/^name:\s*(.+?)\s*$/m);
|
|
275
|
+
const skillPath = String(args.name ?? nameMatch?.[1] ?? "").trim();
|
|
276
|
+
if (!skillPath)
|
|
277
|
+
throw new Error("name required (frontmatter `name:` or args.name)");
|
|
278
|
+
const evals = extractEvals(fm);
|
|
279
|
+
return apiCall(env.baseUrl, env.apiKey, "/api/eval", {
|
|
280
|
+
method: "POST",
|
|
281
|
+
body: JSON.stringify({
|
|
282
|
+
slug: args.slug,
|
|
283
|
+
skillPath,
|
|
284
|
+
iteration: Number(args.iteration ?? 1),
|
|
285
|
+
draftContent: content,
|
|
286
|
+
draftEvals: evals,
|
|
287
|
+
}),
|
|
288
|
+
});
|
|
289
|
+
},
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
name: "unimport_skill",
|
|
293
|
+
description: "Remove an imported skill from a workspace.",
|
|
294
|
+
inputSchema: {
|
|
295
|
+
type: "object",
|
|
296
|
+
properties: {
|
|
297
|
+
slug: { type: "string", description: "Workspace slug" },
|
|
298
|
+
name: { type: "string", description: "Skill name (kebab-case)" },
|
|
299
|
+
},
|
|
300
|
+
required: ["slug", "name"],
|
|
301
|
+
},
|
|
302
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/skill/${encodeURIComponent(String(args.name))}?slug=${encodeURIComponent(String(args.slug))}`, {
|
|
303
|
+
method: "DELETE",
|
|
120
304
|
}),
|
|
121
305
|
},
|
|
122
306
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"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"}
|