ace-swarm 1.1.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 +113 -0
- package/assets/.agents/ACE/ACE-Init/AGENTS.md +275 -0
- package/assets/.agents/ACE/ACE-Init/instructions.md +177 -0
- package/assets/.agents/ACE/ACE_coders/AGENTS.md +97 -0
- package/assets/.agents/ACE/ACE_coders/INSTRUCTIONS.md +146 -0
- package/assets/.agents/ACE/UI/AGENTS.md +115 -0
- package/assets/.agents/ACE/UI/instructions.md +178 -0
- package/assets/.agents/ACE/VOS/AGENTS.md +72 -0
- package/assets/.agents/ACE/VOS/instructions.md +211 -0
- package/assets/.agents/skills/ace-orchestrator/SKILL.md +317 -0
- package/assets/.agents/skills/codemunch/SKILL.md +502 -0
- package/assets/.agents/skills/codesnipe/SKILL.md +629 -0
- package/assets/agent-state/DECISIONS.md +7 -0
- package/assets/agent-state/EVIDENCE_LOG.md +7 -0
- package/assets/agent-state/HANDOFF.json +24 -0
- package/assets/agent-state/MODULES/gates/gate-completeness.json +7 -0
- package/assets/agent-state/MODULES/gates/gate-correctness.json +7 -0
- package/assets/agent-state/MODULES/registry.json +15 -0
- package/assets/agent-state/MODULES/roles/capability-build.json +19 -0
- package/assets/agent-state/MODULES/roles/capability-docs.json +19 -0
- package/assets/agent-state/MODULES/roles/capability-ops.json +18 -0
- package/assets/agent-state/MODULES/roles/capability-qa.json +20 -0
- package/assets/agent-state/MODULES/roles/capability-research.json +19 -0
- package/assets/agent-state/MODULES/roles/capability-skeptic.json +20 -0
- package/assets/agent-state/MODULES/roles/capability-spec.json +18 -0
- package/assets/agent-state/RISKS.md +5 -0
- package/assets/agent-state/SCOPE.md +10 -0
- package/assets/agent-state/STATUS.md +6 -0
- package/assets/agent-state/TASK.md +16 -0
- package/assets/agent-state/TEAL_CONFIG.md +31 -0
- package/assets/instructions/ACE.instructions.md +177 -0
- package/assets/instructions/ACE_Coder.instructions.md +146 -0
- package/assets/instructions/ACE_UI.instructions.md +178 -0
- package/assets/instructions/ACE_VOS.instructions.md +211 -0
- package/assets/tasks/README.md +19 -0
- package/assets/tasks/SWARM_HANDOFF.example.json +53 -0
- package/assets/tasks/SWARM_HANDOFF.example_ui_to_coders.json +55 -0
- package/assets/tasks/SWARM_HANDOFF.example_vos_to_ui.json +55 -0
- package/assets/tasks/SWARM_HANDOFF.template.json +52 -0
- package/assets/tasks/cli_work_split.md +22 -0
- package/assets/tasks/lessons.md +17 -0
- package/assets/tasks/role_tasks.md +48 -0
- package/assets/tasks/todo.md +23 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +88 -0
- package/dist/cli.js.map +1 -0
- package/dist/helpers.d.ts +50 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +379 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts.d.ts +7 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +281 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +7 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +140 -0
- package/dist/resources.js.map +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +26 -0
- package/dist/server.js.map +1 -0
- package/dist/tools.d.ts +6 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +601 -0
- package/dist/tools.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Prompts – pre-built prompt templates for each ACE role,
|
|
3
|
+
* multi-agent workflows, and skill activation.
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
+
export declare function registerPrompts(server: McpServer): void;
|
|
7
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2VvD"}
|
package/dist/prompts.js
ADDED
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Prompts – pre-built prompt templates for each ACE role,
|
|
3
|
+
* multi-agent workflows, and skill activation.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { listAvailableSkills, readAgentInstructions, readSkillInstructions, readTaskArtifact, } from "./helpers.js";
|
|
7
|
+
export function registerPrompts(server) {
|
|
8
|
+
// ── 1. Per-agent activation prompts ─────────────────────────────────
|
|
9
|
+
server.prompt("ace-orchestrator", "Activate ACE Orchestrator – Swarm Hypervisor and TPM", { task: z.string().optional().describe("What should the orchestrator do?") }, ({ task }) => ({
|
|
10
|
+
messages: [
|
|
11
|
+
{
|
|
12
|
+
role: "user",
|
|
13
|
+
content: {
|
|
14
|
+
type: "text",
|
|
15
|
+
text: [
|
|
16
|
+
"# ACE Orchestrator Activation",
|
|
17
|
+
"",
|
|
18
|
+
"You are now operating as ACE-Orchestrator.",
|
|
19
|
+
"",
|
|
20
|
+
"## Orchestrator Instructions",
|
|
21
|
+
readAgentInstructions("orchestrator"),
|
|
22
|
+
"",
|
|
23
|
+
"## Role Task Packs",
|
|
24
|
+
readTaskArtifact("role_tasks"),
|
|
25
|
+
"",
|
|
26
|
+
"## Handoff Template",
|
|
27
|
+
readTaskArtifact("handoff_template"),
|
|
28
|
+
"",
|
|
29
|
+
task
|
|
30
|
+
? `## Current Task\n${task}`
|
|
31
|
+
: "## Awaiting Task\nScan state artifacts and propose next routed action.",
|
|
32
|
+
].join("\n"),
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
}));
|
|
37
|
+
server.prompt("ace-vos", "Activate ACE VOS – Venture Architect", { task: z.string().optional().describe("What venture question should VOS solve?") }, ({ task }) => ({
|
|
38
|
+
messages: [
|
|
39
|
+
{
|
|
40
|
+
role: "user",
|
|
41
|
+
content: {
|
|
42
|
+
type: "text",
|
|
43
|
+
text: [
|
|
44
|
+
"# ACE VOS Activation",
|
|
45
|
+
"",
|
|
46
|
+
"You are now operating as ACE-VOS.",
|
|
47
|
+
"",
|
|
48
|
+
"## VOS Instructions",
|
|
49
|
+
readAgentInstructions("vos"),
|
|
50
|
+
"",
|
|
51
|
+
"## CLI Work Split",
|
|
52
|
+
readTaskArtifact("cli_work_split"),
|
|
53
|
+
"",
|
|
54
|
+
task
|
|
55
|
+
? `## Current Task\n${task}`
|
|
56
|
+
: "## Awaiting Input\nBegin Socratic venture interrogation.",
|
|
57
|
+
].join("\n"),
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
}));
|
|
62
|
+
server.prompt("ace-ui", "Activate ACE UI – Mercer Protocol UX/CX Strategist", { task: z.string().optional().describe("What surface should UI audit or rewrite?") }, ({ task }) => ({
|
|
63
|
+
messages: [
|
|
64
|
+
{
|
|
65
|
+
role: "user",
|
|
66
|
+
content: {
|
|
67
|
+
type: "text",
|
|
68
|
+
text: [
|
|
69
|
+
"# ACE UI Activation",
|
|
70
|
+
"",
|
|
71
|
+
"You are now operating as ACE-UI.",
|
|
72
|
+
"",
|
|
73
|
+
"## UI Instructions",
|
|
74
|
+
readAgentInstructions("ui"),
|
|
75
|
+
"",
|
|
76
|
+
"## CLI Work Split",
|
|
77
|
+
readTaskArtifact("cli_work_split"),
|
|
78
|
+
"",
|
|
79
|
+
task
|
|
80
|
+
? `## Current Task\n${task}`
|
|
81
|
+
: "## Awaiting Input\nRun a Mercer audit on the current surface.",
|
|
82
|
+
].join("\n"),
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
}));
|
|
87
|
+
server.prompt("ace-coders", "Activate ACE Coders – Engineering TDD Swarm", { task: z.string().optional().describe("What should engineering build or fix?") }, ({ task }) => ({
|
|
88
|
+
messages: [
|
|
89
|
+
{
|
|
90
|
+
role: "user",
|
|
91
|
+
content: {
|
|
92
|
+
type: "text",
|
|
93
|
+
text: [
|
|
94
|
+
"# ACE Coders Activation",
|
|
95
|
+
"",
|
|
96
|
+
"You are now operating as ACE-Coders.",
|
|
97
|
+
"",
|
|
98
|
+
"## Coders Instructions",
|
|
99
|
+
readAgentInstructions("coders"),
|
|
100
|
+
"",
|
|
101
|
+
"## CLI Work Split",
|
|
102
|
+
readTaskArtifact("cli_work_split"),
|
|
103
|
+
"",
|
|
104
|
+
task
|
|
105
|
+
? `## Current Task\n${task}`
|
|
106
|
+
: "## Awaiting Spec\nLoad SPEC_CONTRACT.json or request a structured handoff.",
|
|
107
|
+
].join("\n"),
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
}));
|
|
112
|
+
// ── 2. Bootstrap and workflow prompts ───────────────────────────────
|
|
113
|
+
server.prompt("ace-initiate", "Initialize ACE state and route first task", {
|
|
114
|
+
goal: z.string().optional().describe("Primary objective for this ACE session"),
|
|
115
|
+
}, ({ goal }) => ({
|
|
116
|
+
messages: [
|
|
117
|
+
{
|
|
118
|
+
role: "user",
|
|
119
|
+
content: {
|
|
120
|
+
type: "text",
|
|
121
|
+
text: [
|
|
122
|
+
"# Initiate ACE",
|
|
123
|
+
"",
|
|
124
|
+
"1. Run `bootstrap_state` to materialize ACE artifacts.",
|
|
125
|
+
"2. Load `ace://tasks/role_tasks` and `ace://tasks/todo`.",
|
|
126
|
+
"3. Route to the correct primary agent using `route_task`.",
|
|
127
|
+
"4. Emit a structured handoff before execution.",
|
|
128
|
+
"",
|
|
129
|
+
goal ? `## Goal\n${goal}` : "## Goal\nDerive the next highest-value action from current state.",
|
|
130
|
+
].join("\n"),
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
}));
|
|
135
|
+
server.prompt("ace-genesis", "Run full Genesis pipeline: VOS → UI → Coders", { idea: z.string().describe("Describe the product idea or feature") }, ({ idea }) => ({
|
|
136
|
+
messages: [
|
|
137
|
+
{
|
|
138
|
+
role: "user",
|
|
139
|
+
content: {
|
|
140
|
+
type: "text",
|
|
141
|
+
text: [
|
|
142
|
+
"# ACE Genesis Pipeline",
|
|
143
|
+
"",
|
|
144
|
+
`> ${idea}`,
|
|
145
|
+
"",
|
|
146
|
+
"## Pipeline",
|
|
147
|
+
"1. VOS: harden thesis and distribution wedge.",
|
|
148
|
+
"2. UI: design UX flow and copy deck.",
|
|
149
|
+
"3. Coders: implement via TDD with verification evidence.",
|
|
150
|
+
"",
|
|
151
|
+
"## Handoff Contract",
|
|
152
|
+
readTaskArtifact("handoff_template"),
|
|
153
|
+
].join("\n"),
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
}));
|
|
158
|
+
server.prompt("ace-handoff", "Create a structured handoff between ACE agents", {
|
|
159
|
+
from: z.string().describe("Source agent (orchestrator, vos, ui, coders)"),
|
|
160
|
+
to: z.string().describe("Target agent (orchestrator, vos, ui, coders)"),
|
|
161
|
+
task: z.string().describe("What task is being handed off?"),
|
|
162
|
+
}, ({ from, to, task }) => ({
|
|
163
|
+
messages: [
|
|
164
|
+
{
|
|
165
|
+
role: "user",
|
|
166
|
+
content: {
|
|
167
|
+
type: "text",
|
|
168
|
+
text: [
|
|
169
|
+
"# ACE Handoff Request",
|
|
170
|
+
"",
|
|
171
|
+
`Route: ACE-${from.toUpperCase()} -> ACE-${to.toUpperCase()}`,
|
|
172
|
+
`Task: ${task}`,
|
|
173
|
+
"",
|
|
174
|
+
"## Handoff Template",
|
|
175
|
+
readTaskArtifact("handoff_template"),
|
|
176
|
+
"",
|
|
177
|
+
"## Example",
|
|
178
|
+
readTaskArtifact("handoff_example"),
|
|
179
|
+
"",
|
|
180
|
+
"## Rules",
|
|
181
|
+
"- Populate every required field",
|
|
182
|
+
"- Include artifact pointers, not narrative-only summaries",
|
|
183
|
+
"- Use measurable acceptance criteria",
|
|
184
|
+
].join("\n"),
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
}));
|
|
189
|
+
server.prompt("ace-lessons", "Review and apply lessons/guardrails", () => ({
|
|
190
|
+
messages: [
|
|
191
|
+
{
|
|
192
|
+
role: "user",
|
|
193
|
+
content: {
|
|
194
|
+
type: "text",
|
|
195
|
+
text: [
|
|
196
|
+
"# ACE Lessons and Guardrails",
|
|
197
|
+
"",
|
|
198
|
+
readTaskArtifact("lessons"),
|
|
199
|
+
"",
|
|
200
|
+
"Apply these guardrails to all subsequent actions.",
|
|
201
|
+
].join("\n"),
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
],
|
|
205
|
+
}));
|
|
206
|
+
// ── 3. Skill prompts ─────────────────────────────────────────────────
|
|
207
|
+
server.prompt("ace-skill", "Load an ACE skill into active prompt context", {
|
|
208
|
+
skill: z.string().describe("Skill name (e.g. codemunch, codesnipe, ace-orchestrator)"),
|
|
209
|
+
task: z.string().optional().describe("Optional task to apply against the skill"),
|
|
210
|
+
}, ({ skill, task }) => ({
|
|
211
|
+
messages: [
|
|
212
|
+
{
|
|
213
|
+
role: "user",
|
|
214
|
+
content: {
|
|
215
|
+
type: "text",
|
|
216
|
+
text: [
|
|
217
|
+
`# ACE Skill Activation: ${skill}`,
|
|
218
|
+
"",
|
|
219
|
+
readSkillInstructions(skill),
|
|
220
|
+
"",
|
|
221
|
+
task ? `## Task\n${task}` : "## Task\nApply this skill to the current workspace objective.",
|
|
222
|
+
].join("\n"),
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
}));
|
|
227
|
+
server.prompt("ace-codemunch", "Activate the codemunch skill for AST-first codebase mapping", { task: z.string().optional().describe("Optional analysis objective") }, ({ task }) => ({
|
|
228
|
+
messages: [
|
|
229
|
+
{
|
|
230
|
+
role: "user",
|
|
231
|
+
content: {
|
|
232
|
+
type: "text",
|
|
233
|
+
text: [
|
|
234
|
+
"# CodeMunch Activation",
|
|
235
|
+
"",
|
|
236
|
+
readSkillInstructions("codemunch"),
|
|
237
|
+
"",
|
|
238
|
+
task
|
|
239
|
+
? `## Objective\n${task}`
|
|
240
|
+
: "## Objective\nProduce CODEBASE_MAP.md and dependency insights using AST-first extraction.",
|
|
241
|
+
].join("\n"),
|
|
242
|
+
},
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
}));
|
|
246
|
+
server.prompt("ace-codesnipe", "Activate the codesnipe skill for dual-codebase comparison", { task: z.string().optional().describe("Optional comparison objective") }, ({ task }) => ({
|
|
247
|
+
messages: [
|
|
248
|
+
{
|
|
249
|
+
role: "user",
|
|
250
|
+
content: {
|
|
251
|
+
type: "text",
|
|
252
|
+
text: [
|
|
253
|
+
"# CodeSnipe Activation",
|
|
254
|
+
"",
|
|
255
|
+
readSkillInstructions("codesnipe"),
|
|
256
|
+
"",
|
|
257
|
+
task
|
|
258
|
+
? `## Objective\n${task}`
|
|
259
|
+
: "## Objective\nBuild HOME registry, score TARGET relevance, then extract only high-value symbols.",
|
|
260
|
+
].join("\n"),
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
],
|
|
264
|
+
}));
|
|
265
|
+
server.prompt("ace-skills-index", "List all discoverable ACE skills", () => ({
|
|
266
|
+
messages: [
|
|
267
|
+
{
|
|
268
|
+
role: "user",
|
|
269
|
+
content: {
|
|
270
|
+
type: "text",
|
|
271
|
+
text: [
|
|
272
|
+
"# ACE Skills Index",
|
|
273
|
+
"",
|
|
274
|
+
...listAvailableSkills().map((skill) => `- ${skill.name} (${skill.source})`),
|
|
275
|
+
].join("\n"),
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
}));
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Resources – expose ACE instruction files, task artifacts, skills,
|
|
3
|
+
* and handoff examples as readable resources.
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
+
export declare function registerResources(server: McpServer): void;
|
|
7
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAWtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyLzD"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Resources – expose ACE instruction files, task artifacts, skills,
|
|
3
|
+
* and handoff examples as readable resources.
|
|
4
|
+
*/
|
|
5
|
+
import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
+
import { ALL_AGENTS, listAvailableSkills, readAgentInstructions, readAgentManifest, readSkillInstructions, readTaskArtifact, safeRead, } from "./helpers.js";
|
|
7
|
+
export function registerResources(server) {
|
|
8
|
+
// ── 1. Agent instruction + manifest resources ────────────────────────
|
|
9
|
+
for (const role of ALL_AGENTS) {
|
|
10
|
+
server.resource(`ace-${role}-instructions`, `ace://agents/${role}/instructions`, {
|
|
11
|
+
description: `Full instruction file for ACE-${role.toUpperCase()} agent`,
|
|
12
|
+
mimeType: "text/markdown",
|
|
13
|
+
}, () => ({
|
|
14
|
+
contents: [
|
|
15
|
+
{
|
|
16
|
+
uri: `ace://agents/${role}/instructions`,
|
|
17
|
+
text: readAgentInstructions(role),
|
|
18
|
+
mimeType: "text/markdown",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
}));
|
|
22
|
+
server.resource(`ace-${role}-manifest`, `ace://agents/${role}/manifest`, {
|
|
23
|
+
description: `Agent manifest for ACE-${role.toUpperCase()}`,
|
|
24
|
+
mimeType: "text/markdown",
|
|
25
|
+
}, () => ({
|
|
26
|
+
contents: [
|
|
27
|
+
{
|
|
28
|
+
uri: `ace://agents/${role}/manifest`,
|
|
29
|
+
text: readAgentManifest(role),
|
|
30
|
+
mimeType: "text/markdown",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
// ── 2. Task artifacts ────────────────────────────────────────────────
|
|
36
|
+
const taskResourceMap = {
|
|
37
|
+
todo: { desc: "Live checkable execution board" },
|
|
38
|
+
role_tasks: {
|
|
39
|
+
desc: "Explicit task boundaries per agent role",
|
|
40
|
+
},
|
|
41
|
+
cli_work_split: {
|
|
42
|
+
desc: "Codex CLI vs Gemini CLI routing contract",
|
|
43
|
+
},
|
|
44
|
+
lessons: {
|
|
45
|
+
desc: "Persistent guardrails captured after corrections",
|
|
46
|
+
},
|
|
47
|
+
readme: {
|
|
48
|
+
desc: "Control-plane overview for task artifacts",
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
for (const [key, meta] of Object.entries(taskResourceMap)) {
|
|
52
|
+
server.resource(`ace-task-${key}`, `ace://tasks/${key}`, { description: meta.desc, mimeType: "text/markdown" }, () => ({
|
|
53
|
+
contents: [
|
|
54
|
+
{
|
|
55
|
+
uri: `ace://tasks/${key}`,
|
|
56
|
+
text: readTaskArtifact(key),
|
|
57
|
+
mimeType: "text/markdown",
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
// ── 3. Handoff templates & examples ─────────────────────────────────
|
|
63
|
+
const handoffResources = {
|
|
64
|
+
handoff_template: {
|
|
65
|
+
desc: "Canonical SWARM_HANDOFF.json shape",
|
|
66
|
+
},
|
|
67
|
+
handoff_example: {
|
|
68
|
+
desc: "Filled handoff payload example",
|
|
69
|
+
},
|
|
70
|
+
handoff_example_vos_ui: {
|
|
71
|
+
desc: "VOS to UI concrete handoff example",
|
|
72
|
+
},
|
|
73
|
+
handoff_example_ui_coders: {
|
|
74
|
+
desc: "UI to Coders concrete handoff example",
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
for (const [key, meta] of Object.entries(handoffResources)) {
|
|
78
|
+
server.resource(`ace-${key}`, `ace://handoffs/${key}`, { description: meta.desc, mimeType: "application/json" }, () => ({
|
|
79
|
+
contents: [
|
|
80
|
+
{
|
|
81
|
+
uri: `ace://handoffs/${key}`,
|
|
82
|
+
text: readTaskArtifact(key),
|
|
83
|
+
mimeType: "application/json",
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
// ── 4. Skills index + dynamic skill template ────────────────────────
|
|
89
|
+
server.resource("ace-skills-index", "ace://skills", {
|
|
90
|
+
description: "List all discoverable ACE skills",
|
|
91
|
+
mimeType: "text/markdown",
|
|
92
|
+
}, () => {
|
|
93
|
+
const skills = listAvailableSkills();
|
|
94
|
+
const lines = [
|
|
95
|
+
"# ACE Skills",
|
|
96
|
+
"",
|
|
97
|
+
...skills.map((skill) => `- ${skill.name} (${skill.source}) -> ace://skills/${skill.name}/instructions`),
|
|
98
|
+
];
|
|
99
|
+
return {
|
|
100
|
+
contents: [
|
|
101
|
+
{
|
|
102
|
+
uri: "ace://skills",
|
|
103
|
+
text: lines.join("\n"),
|
|
104
|
+
mimeType: "text/markdown",
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
server.resource("ace-skill-instructions", new ResourceTemplate("ace://skills/{name}/instructions", { list: undefined }), {
|
|
110
|
+
description: "Read a skill's SKILL.md by skill name",
|
|
111
|
+
mimeType: "text/markdown",
|
|
112
|
+
}, (uri, params) => {
|
|
113
|
+
const name = params.name || "";
|
|
114
|
+
return {
|
|
115
|
+
contents: [
|
|
116
|
+
{
|
|
117
|
+
uri: uri.href,
|
|
118
|
+
text: readSkillInstructions(name),
|
|
119
|
+
mimeType: "text/markdown",
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
// ── 5. Dynamic workspace file resource ──────────────────────────────
|
|
125
|
+
server.resource("ace-workspace-file", new ResourceTemplate("ace://workspace/{path+}", { list: undefined }), { description: "Read any file from the ACE workspace by relative path" }, (uri, params) => {
|
|
126
|
+
const relPath = params["path+"] ||
|
|
127
|
+
params.path ||
|
|
128
|
+
"";
|
|
129
|
+
return {
|
|
130
|
+
contents: [
|
|
131
|
+
{
|
|
132
|
+
uri: uri.href,
|
|
133
|
+
text: safeRead(relPath),
|
|
134
|
+
mimeType: "text/plain",
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
};
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
export declare const ACE_MCP_SERVER_NAME = "ace-swarm";
|
|
3
|
+
export declare const ACE_MCP_SERVER_VERSION = "1.1.0";
|
|
4
|
+
export declare function createAceServer(): McpServer;
|
|
5
|
+
export declare function startStdioServer(logStartup?: boolean): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,wBAAgB,eAAe,IAAI,SAAS,CAW3C;AAED,wBAAsB,gBAAgB,CAAC,UAAU,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvE"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
+
import { registerPrompts } from "./prompts.js";
|
|
4
|
+
import { registerResources } from "./resources.js";
|
|
5
|
+
import { registerTools } from "./tools.js";
|
|
6
|
+
export const ACE_MCP_SERVER_NAME = "ace-swarm";
|
|
7
|
+
export const ACE_MCP_SERVER_VERSION = "1.1.0";
|
|
8
|
+
export function createAceServer() {
|
|
9
|
+
const server = new McpServer({
|
|
10
|
+
name: ACE_MCP_SERVER_NAME,
|
|
11
|
+
version: ACE_MCP_SERVER_VERSION,
|
|
12
|
+
});
|
|
13
|
+
registerResources(server);
|
|
14
|
+
registerPrompts(server);
|
|
15
|
+
registerTools(server);
|
|
16
|
+
return server;
|
|
17
|
+
}
|
|
18
|
+
export async function startStdioServer(logStartup = true) {
|
|
19
|
+
const server = createAceServer();
|
|
20
|
+
const transport = new StdioServerTransport();
|
|
21
|
+
await server.connect(transport);
|
|
22
|
+
if (logStartup) {
|
|
23
|
+
console.error(`ACE MCP Server (${ACE_MCP_SERVER_NAME}) running on stdio`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAE9C,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,sBAAsB;KAChC,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAU,GAAG,IAAI;IACtD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,mBAAmB,oBAAoB,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC"}
|
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8BpE,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAowBrD"}
|