@serverless-dna/sop-agents 0.1.1 → 0.1.2
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 +126 -0
- package/dist/agents/tool-generator.d.ts +9 -0
- package/dist/agents/tool-generator.d.ts.map +1 -1
- package/dist/agents/tool-generator.js +35 -1
- package/dist/agents/tool-generator.js.map +1 -1
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +26 -6
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/types/types.d.ts +1 -0
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +4 -2
- package/dist/agent-discovery.d.ts +0 -21
- package/dist/agent-discovery.d.ts.map +0 -1
- package/dist/agent-discovery.js +0 -97
- package/dist/agent-discovery.js.map +0 -1
- package/dist/default-orchestrator.d.ts +0 -7
- package/dist/default-orchestrator.d.ts.map +0 -1
- package/dist/default-orchestrator.js +0 -50
- package/dist/default-orchestrator.js.map +0 -1
- package/dist/errors.d.ts +0 -51
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -80
- package/dist/errors.js.map +0 -1
- package/dist/orchestrator.d.ts +0 -50
- package/dist/orchestrator.d.ts.map +0 -1
- package/dist/orchestrator.js +0 -281
- package/dist/orchestrator.js.map +0 -1
- package/dist/sop-loader.d.ts +0 -20
- package/dist/sop-loader.d.ts.map +0 -1
- package/dist/sop-loader.js +0 -150
- package/dist/sop-loader.js.map +0 -1
- package/dist/tool-generator.d.ts +0 -66
- package/dist/tool-generator.d.ts.map +0 -1
- package/dist/tool-generator.js +0 -171
- package/dist/tool-generator.js.map +0 -1
- package/dist/types.d.ts +0 -157
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
package/README.md
CHANGED
|
@@ -143,3 +143,129 @@ Never skip research. Never let the writer make up facts.
|
|
|
143
143
|
|
|
144
144
|
Plain English orchestration. Override the default when you need specific workflows.
|
|
145
145
|
|
|
146
|
+
## Using MCP Tools
|
|
147
|
+
|
|
148
|
+
Agents can access external tools and services through the [Model Context Protocol (MCP)](https://modelcontextprotocol.io). MCP provides a standardized way to connect agents to databases, APIs, file systems, and other capabilities.
|
|
149
|
+
|
|
150
|
+
### Registering Tools
|
|
151
|
+
|
|
152
|
+
Pass MCP clients as a named registry when creating the orchestrator. Each agent then declares which tools it needs in its frontmatter:
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
import { createOrchestrator } from "@serverless-dna/sop-agents";
|
|
156
|
+
import { McpClient } from "@strands-agents/sdk";
|
|
157
|
+
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
158
|
+
|
|
159
|
+
async function main() {
|
|
160
|
+
// Create MCP clients
|
|
161
|
+
const fileSystem = new McpClient({
|
|
162
|
+
transport: new StdioClientTransport({
|
|
163
|
+
command: "npx",
|
|
164
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem", "./workspace"],
|
|
165
|
+
}),
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
const gitTools = new McpClient({
|
|
169
|
+
transport: new StdioClientTransport({
|
|
170
|
+
command: "uvx",
|
|
171
|
+
args: ["mcp-server-git", "--repository", "."],
|
|
172
|
+
}),
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
// Register tools by name
|
|
176
|
+
const orchestrator = await createOrchestrator({
|
|
177
|
+
directory: "./sops",
|
|
178
|
+
tools: {
|
|
179
|
+
filesystem: fileSystem,
|
|
180
|
+
git: gitTools,
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
const result = await orchestrator.invoke(
|
|
185
|
+
"Review the code in src/index.ts and commit any improvements"
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
console.log(result);
|
|
189
|
+
|
|
190
|
+
// Clean up MCP connections when done
|
|
191
|
+
await fileSystem.disconnect();
|
|
192
|
+
await gitTools.disconnect();
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
main().catch(console.error);
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Declaring Tools in SOPs
|
|
199
|
+
|
|
200
|
+
Agents specify which tools they need in their frontmatter. Only those tools get injected—no context pollution:
|
|
201
|
+
|
|
202
|
+
```markdown
|
|
203
|
+
---
|
|
204
|
+
name: code-reviewer
|
|
205
|
+
description: Reviews code and suggests improvements
|
|
206
|
+
type: agent
|
|
207
|
+
tools:
|
|
208
|
+
- filesystem
|
|
209
|
+
- git
|
|
210
|
+
---
|
|
211
|
+
# Code Reviewer
|
|
212
|
+
|
|
213
|
+
## Overview
|
|
214
|
+
|
|
215
|
+
You review code files and provide actionable feedback.
|
|
216
|
+
|
|
217
|
+
## Steps
|
|
218
|
+
|
|
219
|
+
### 1. Read the Code
|
|
220
|
+
|
|
221
|
+
Use the filesystem tools to read the target file.
|
|
222
|
+
|
|
223
|
+
**Constraints:**
|
|
224
|
+
- You MUST use the `read_file` tool to access file contents
|
|
225
|
+
- You MUST NOT guess at file contents because you need accurate information
|
|
226
|
+
|
|
227
|
+
### 2. Commit Improvements
|
|
228
|
+
|
|
229
|
+
If changes are needed, use git to commit them.
|
|
230
|
+
|
|
231
|
+
**Constraints:**
|
|
232
|
+
- You MUST write clear commit messages
|
|
233
|
+
- You SHOULD make atomic commits for each logical change
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
The orchestrator can also declare tools in its frontmatter if it needs direct access to MCP capabilities.
|
|
237
|
+
|
|
238
|
+
### Available MCP Servers
|
|
239
|
+
|
|
240
|
+
| Server | Purpose | Install |
|
|
241
|
+
|--------|---------|---------|
|
|
242
|
+
| `@modelcontextprotocol/server-filesystem` | File system operations | `npx -y @modelcontextprotocol/server-filesystem <path>` |
|
|
243
|
+
| `mcp-server-git` | Git operations | `uvx mcp-server-git --repository <path>` |
|
|
244
|
+
| `@modelcontextprotocol/server-postgres` | PostgreSQL queries | `npx -y @modelcontextprotocol/server-postgres <connection-string>` |
|
|
245
|
+
| `@modelcontextprotocol/server-sqlite` | SQLite database | `npx -y @modelcontextprotocol/server-sqlite <db-path>` |
|
|
246
|
+
| `awslabs.aws-documentation-mcp-server` | AWS documentation | `uvx awslabs.aws-documentation-mcp-server@latest` |
|
|
247
|
+
|
|
248
|
+
Browse more at [MCP Servers](https://github.com/modelcontextprotocol/servers).
|
|
249
|
+
|
|
250
|
+
### HTTP-Based MCP Servers
|
|
251
|
+
|
|
252
|
+
For remote MCP servers using HTTP transport:
|
|
253
|
+
|
|
254
|
+
```typescript
|
|
255
|
+
import { McpClient } from "@strands-agents/sdk";
|
|
256
|
+
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
257
|
+
|
|
258
|
+
const remoteTools = new McpClient({
|
|
259
|
+
transport: new StreamableHTTPClientTransport(
|
|
260
|
+
new URL("https://mcp.example.com/sse")
|
|
261
|
+
),
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
const orchestrator = await createOrchestrator({
|
|
265
|
+
directory: "./sops",
|
|
266
|
+
tools: {
|
|
267
|
+
remote: remoteTools,
|
|
268
|
+
},
|
|
269
|
+
});
|
|
270
|
+
```
|
|
271
|
+
|
|
@@ -49,6 +49,15 @@ export declare function isPrinterEnabled(): boolean;
|
|
|
49
49
|
* Clears the agent cache
|
|
50
50
|
*/
|
|
51
51
|
export declare function clearCache(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Sets the tool registry for named tools
|
|
54
|
+
* @param registry - Map of tool names to tool instances (e.g., MCP clients)
|
|
55
|
+
*/
|
|
56
|
+
export declare function setToolRegistry(registry: Record<string, unknown>): void;
|
|
57
|
+
/**
|
|
58
|
+
* Gets the current tool registry
|
|
59
|
+
*/
|
|
60
|
+
export declare function getToolRegistry(): Record<string, unknown>;
|
|
52
61
|
/**
|
|
53
62
|
* Creates a Strands tool from an SOP definition
|
|
54
63
|
* Tool name follows pattern: agent_{sop.name}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-generator.d.ts","sourceRoot":"","sources":["../../src/agents/tool-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAQ,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEN,KAAK,aAAa,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-generator.d.ts","sourceRoot":"","sources":["../../src/agents/tool-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAQ,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAEN,KAAK,aAAa,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA2BvD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACtC,KAAK,CAkDP;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAExD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAElD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEvE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACzB,GAAG,EAAE,aAAa,GAChB,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CA6ChD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAClC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAQlD"}
|
|
@@ -16,6 +16,10 @@ let currentDefaultProvider = "bedrock";
|
|
|
16
16
|
* Whether to print agent output to console (default: true, set false for non-debug)
|
|
17
17
|
*/
|
|
18
18
|
let printerEnabled = true;
|
|
19
|
+
/**
|
|
20
|
+
* Tool registry for named tools (e.g., MCP clients)
|
|
21
|
+
*/
|
|
22
|
+
let toolRegistry = {};
|
|
19
23
|
/**
|
|
20
24
|
* Builds a structured prompt for the agent from task and input parameters
|
|
21
25
|
* @param task - The specific task to perform
|
|
@@ -45,10 +49,24 @@ export function getOrCreateAgent(sop, logger) {
|
|
|
45
49
|
}
|
|
46
50
|
// Use SOP-specific model, then default, then Strands default (undefined)
|
|
47
51
|
const modelSpec = sop.model ?? currentDefaultModelSpec;
|
|
52
|
+
// Resolve tools from the registry based on SOP's tools list
|
|
53
|
+
// biome-ignore lint/suspicious/noExplicitAny: SDK accepts flexible tool types
|
|
54
|
+
const agentTools = [];
|
|
55
|
+
if (sop.tools && sop.tools.length > 0) {
|
|
56
|
+
for (const toolName of sop.tools) {
|
|
57
|
+
const tool = toolRegistry[toolName];
|
|
58
|
+
if (tool) {
|
|
59
|
+
agentTools.push(tool);
|
|
60
|
+
}
|
|
61
|
+
else if (logger) {
|
|
62
|
+
logger.info(`Warning: Tool "${toolName}" not found in registry`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
48
66
|
let modelDisplay;
|
|
49
67
|
const agentConfig = {
|
|
50
68
|
systemPrompt: sop.body,
|
|
51
|
-
tools:
|
|
69
|
+
tools: agentTools,
|
|
52
70
|
printer: printerEnabled,
|
|
53
71
|
};
|
|
54
72
|
if (modelSpec) {
|
|
@@ -61,6 +79,9 @@ export function getOrCreateAgent(sop, logger) {
|
|
|
61
79
|
}
|
|
62
80
|
if (logger) {
|
|
63
81
|
logger.info(`Creating agent with model: ${modelDisplay}`);
|
|
82
|
+
if (agentTools.length > 0) {
|
|
83
|
+
logger.info(`Injecting ${agentTools.length} tool(s): ${sop.tools?.join(", ")}`);
|
|
84
|
+
}
|
|
64
85
|
}
|
|
65
86
|
const agent = new Agent(agentConfig);
|
|
66
87
|
agentCache.set(sop.name, agent);
|
|
@@ -111,6 +132,19 @@ export function isPrinterEnabled() {
|
|
|
111
132
|
export function clearCache() {
|
|
112
133
|
agentCache.clear();
|
|
113
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Sets the tool registry for named tools
|
|
137
|
+
* @param registry - Map of tool names to tool instances (e.g., MCP clients)
|
|
138
|
+
*/
|
|
139
|
+
export function setToolRegistry(registry) {
|
|
140
|
+
toolRegistry = registry;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Gets the current tool registry
|
|
144
|
+
*/
|
|
145
|
+
export function getToolRegistry() {
|
|
146
|
+
return { ...toolRegistry };
|
|
147
|
+
}
|
|
114
148
|
/**
|
|
115
149
|
* Creates a Strands tool from an SOP definition
|
|
116
150
|
* Tool name follows pattern: agent_{sop.name}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-generator.js","sourceRoot":"","sources":["../../src/agents/tool-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACN,mBAAmB,EAEnB,cAAc,GACd,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;AAE5C;;GAEG;AACH,IAAI,uBAA2C,CAAC;AAEhD;;GAEG;AACH,IAAI,sBAAsB,GAAkB,SAAS,CAAC;AAEtD;;GAEG;AACH,IAAI,cAAc,GAAG,IAAI,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC/B,IAAY,EACZ,MAA+B;IAE/B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;IAE9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,YAAY,GAAG,YAAY;SAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,YAAY,IAAI,4BAA4B,YAAY,EAAE,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC/B,GAAkB,EAClB,MAAwC;IAExC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IACf,CAAC;IAED,yEAAyE;IACzE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,IAAI,uBAAuB,CAAC;IAEvD,IAAI,YAAoB,CAAC;IACzB,MAAM,WAAW,GAA2C;QAC3D,YAAY,EAAE,GAAG,CAAC,IAAI;QACtB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-generator.js","sourceRoot":"","sources":["../../src/agents/tool-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAEX,aAAa,EACb,YAAY,EAGZ,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,MAAM,mBAAmB,CAAC;AAsB3B;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,oBAAoB,CAAC,CAAS;gBAE1B,MAAM,GAAE,kBAAuB;IAuB3C;;OAEG;IACH,IAAI,MAAM,IAAI,kBAAkB,CAE/B;IAED;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDjC;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA0GtE;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,uBAAuB,CAAC;IAiCvE;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAIzC;;OAEG;IACH,OAAO,CAAC,0BAA0B;CAwGlC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,GAAE,kBAAuB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAIvB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Agent as StrandsAgent } from "@strands-agents/sdk";
|
|
2
2
|
import { discoverAgents, findOrchestrator } from "../agents/discovery.js";
|
|
3
|
-
import { clearCache as clearToolCache, createAllTools, getOrCreateAgent, setDefaultModelSpec, setDefaultProvider, setPrinterEnabled, } from "../agents/tool-generator.js";
|
|
3
|
+
import { clearCache as clearToolCache, createAllTools, getOrCreateAgent, setDefaultModelSpec, setDefaultProvider, setPrinterEnabled, setToolRegistry, } from "../agents/tool-generator.js";
|
|
4
4
|
import { LoggerImpl } from "../logger.js";
|
|
5
5
|
import { createModelFromSpec } from "../model-factory.js";
|
|
6
6
|
import { AgentInvocationError } from "../types/errors.js";
|
|
@@ -28,11 +28,14 @@ export class OrchestratorImpl {
|
|
|
28
28
|
defaultModel: config.defaultModel,
|
|
29
29
|
defaultProvider: config.defaultProvider ?? "bedrock",
|
|
30
30
|
showThinking: config.showThinking ?? false,
|
|
31
|
+
tools: config.tools ?? {},
|
|
31
32
|
};
|
|
32
33
|
this.logger = new LoggerImpl(this._config.logLevel);
|
|
33
34
|
// Set the default model and provider for tool-generator
|
|
34
35
|
setDefaultModelSpec(this._config.defaultModel);
|
|
35
36
|
setDefaultProvider(this._config.defaultProvider);
|
|
37
|
+
// Set the tool registry for agents to use
|
|
38
|
+
setToolRegistry(this._config.tools);
|
|
36
39
|
// Only print agent output to console in debug mode
|
|
37
40
|
setPrinterEnabled(this._config.logLevel === "debug");
|
|
38
41
|
}
|
|
@@ -52,18 +55,35 @@ export class OrchestratorImpl {
|
|
|
52
55
|
// Find orchestrator SOP
|
|
53
56
|
this.orchestratorSOP = await findOrchestrator(directory);
|
|
54
57
|
// Create tools for all agents
|
|
55
|
-
const
|
|
58
|
+
const agentTools = createAllTools(this.registry);
|
|
56
59
|
// Wrap tools with error handling and logging
|
|
57
|
-
const wrappedTools = this.wrapToolsWithErrorHandling(
|
|
60
|
+
const wrappedTools = this.wrapToolsWithErrorHandling(agentTools);
|
|
61
|
+
// Resolve tools for the orchestrator from its frontmatter
|
|
62
|
+
// biome-ignore lint/suspicious/noExplicitAny: SDK accepts flexible tool types
|
|
63
|
+
const orchestratorMcpTools = [];
|
|
64
|
+
if (this.orchestratorSOP.tools && this.orchestratorSOP.tools.length > 0) {
|
|
65
|
+
for (const toolName of this.orchestratorSOP.tools) {
|
|
66
|
+
const tool = this._config.tools[toolName];
|
|
67
|
+
if (tool) {
|
|
68
|
+
orchestratorMcpTools.push(tool);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this.logger.info(`Warning: Tool "${toolName}" not found in registry for orchestrator`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Combine agent tools with orchestrator's MCP tools
|
|
76
|
+
// biome-ignore lint/suspicious/noExplicitAny: SDK accepts flexible tool types
|
|
77
|
+
const allTools = [...wrappedTools, ...orchestratorMcpTools];
|
|
58
78
|
// Determine model for orchestrator (SOP-specific, config default, or Strands default)
|
|
59
79
|
const orchestratorModelSpec = this.orchestratorSOP.model ?? this._config.defaultModel;
|
|
60
|
-
// Create orchestrator agent with
|
|
80
|
+
// Create orchestrator agent with agent tools + its own MCP tools
|
|
61
81
|
const agentConfig = {
|
|
62
82
|
systemPrompt: this.orchestratorSOP.body,
|
|
63
|
-
tools:
|
|
83
|
+
tools: allTools,
|
|
64
84
|
printer: this._config.logLevel === "debug",
|
|
65
85
|
};
|
|
66
|
-
if (orchestratorModelSpec) {
|
|
86
|
+
if (orchestratorModelSpec && agentConfig) {
|
|
67
87
|
agentConfig.model = createModelFromSpec(orchestratorModelSpec, this._config.defaultProvider);
|
|
68
88
|
}
|
|
69
89
|
this.orchestratorAgent = new StrandsAgent(agentConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACN,UAAU,IAAI,cAAc,EAC5B,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serverless-dna/sop-agents",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Multi-agent orchestration using markdown SOPs with YAML frontmatter",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Michael Walmsley",
|
|
@@ -39,6 +39,9 @@
|
|
|
39
39
|
"url": "https://github.com/serverless-dna/sop-agents/issues"
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://github.com/serverless-dna/sop-agents#readme",
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"provenance": true
|
|
44
|
+
},
|
|
42
45
|
"engines": {
|
|
43
46
|
"node": ">=18"
|
|
44
47
|
},
|
|
@@ -53,7 +56,6 @@
|
|
|
53
56
|
"test:watch": "vitest"
|
|
54
57
|
},
|
|
55
58
|
"dependencies": {
|
|
56
|
-
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
57
59
|
"@strands-agents/sdk": "^0.2.0",
|
|
58
60
|
"gray-matter": "^4.0.3",
|
|
59
61
|
"zod": "^4.3.6"
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { SOPDefinition } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Scans a directory for SOP files and builds an agent registry.
|
|
4
|
-
* Excludes orchestrator SOPs (type: orchestrator).
|
|
5
|
-
*
|
|
6
|
-
* @param directory - Path to scan (default: "./sops")
|
|
7
|
-
* @returns Map of agent name to SOPDefinition (excludes orchestrators)
|
|
8
|
-
* @throws DirectoryNotFoundError if directory doesn't exist
|
|
9
|
-
*/
|
|
10
|
-
export declare function discoverAgents(directory?: string): Promise<Map<string, SOPDefinition>>;
|
|
11
|
-
/**
|
|
12
|
-
* Finds the orchestrator SOP in a directory.
|
|
13
|
-
* Returns the built-in default orchestrator if none is found.
|
|
14
|
-
*
|
|
15
|
-
* @param directory - Path to scan (default: "./sops")
|
|
16
|
-
* @returns The orchestrator SOPDefinition (user-defined or default)
|
|
17
|
-
* @throws DirectoryNotFoundError if directory doesn't exist
|
|
18
|
-
* @throws MultipleOrchestratorsError if more than one orchestrator found
|
|
19
|
-
*/
|
|
20
|
-
export declare function findOrchestrator(directory?: string): Promise<SOPDefinition>;
|
|
21
|
-
//# sourceMappingURL=agent-discovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-discovery.d.ts","sourceRoot":"","sources":["../src/agent-discovery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CACnC,SAAS,SAAW,GAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CA0CrC;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACrC,SAAS,SAAW,GAClB,OAAO,CAAC,aAAa,CAAC,CA4CxB"}
|
package/dist/agent-discovery.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import * as fs from "node:fs";
|
|
2
|
-
import * as path from "node:path";
|
|
3
|
-
import { DEFAULT_ORCHESTRATOR } from "./default-orchestrator.js";
|
|
4
|
-
import { DirectoryNotFoundError, MultipleOrchestratorsError } from "./errors.js";
|
|
5
|
-
import { loadSOP } from "./sop-loader.js";
|
|
6
|
-
/**
|
|
7
|
-
* Scans a directory for SOP files and builds an agent registry.
|
|
8
|
-
* Excludes orchestrator SOPs (type: orchestrator).
|
|
9
|
-
*
|
|
10
|
-
* @param directory - Path to scan (default: "./sops")
|
|
11
|
-
* @returns Map of agent name to SOPDefinition (excludes orchestrators)
|
|
12
|
-
* @throws DirectoryNotFoundError if directory doesn't exist
|
|
13
|
-
*/
|
|
14
|
-
export async function discoverAgents(directory = "./sops") {
|
|
15
|
-
// Check if directory exists
|
|
16
|
-
if (!fs.existsSync(directory)) {
|
|
17
|
-
throw new DirectoryNotFoundError(directory);
|
|
18
|
-
}
|
|
19
|
-
const stats = fs.statSync(directory);
|
|
20
|
-
if (!stats.isDirectory()) {
|
|
21
|
-
throw new DirectoryNotFoundError(directory);
|
|
22
|
-
}
|
|
23
|
-
// Find all .md files in the directory
|
|
24
|
-
const files = fs.readdirSync(directory);
|
|
25
|
-
const mdFiles = files.filter((file) => file.endsWith(".md"));
|
|
26
|
-
// Log warning for empty directories
|
|
27
|
-
if (mdFiles.length === 0) {
|
|
28
|
-
console.warn(`Warning: No .md files found in directory: ${directory}`);
|
|
29
|
-
return new Map();
|
|
30
|
-
}
|
|
31
|
-
const registry = new Map();
|
|
32
|
-
// Load each file and filter out orchestrators
|
|
33
|
-
for (const file of mdFiles) {
|
|
34
|
-
const filepath = path.join(directory, file);
|
|
35
|
-
try {
|
|
36
|
-
const sop = await loadSOP(filepath);
|
|
37
|
-
// Filter out orchestrator SOPs
|
|
38
|
-
if (sop.type !== "orchestrator") {
|
|
39
|
-
registry.set(sop.name, sop);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
// Log error and continue processing other files
|
|
44
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
45
|
-
console.error(`Error loading SOP file ${filepath}: ${errorMessage}`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return registry;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Finds the orchestrator SOP in a directory.
|
|
52
|
-
* Returns the built-in default orchestrator if none is found.
|
|
53
|
-
*
|
|
54
|
-
* @param directory - Path to scan (default: "./sops")
|
|
55
|
-
* @returns The orchestrator SOPDefinition (user-defined or default)
|
|
56
|
-
* @throws DirectoryNotFoundError if directory doesn't exist
|
|
57
|
-
* @throws MultipleOrchestratorsError if more than one orchestrator found
|
|
58
|
-
*/
|
|
59
|
-
export async function findOrchestrator(directory = "./sops") {
|
|
60
|
-
// Check if directory exists
|
|
61
|
-
if (!fs.existsSync(directory)) {
|
|
62
|
-
throw new DirectoryNotFoundError(directory);
|
|
63
|
-
}
|
|
64
|
-
const stats = fs.statSync(directory);
|
|
65
|
-
if (!stats.isDirectory()) {
|
|
66
|
-
throw new DirectoryNotFoundError(directory);
|
|
67
|
-
}
|
|
68
|
-
// Find all .md files in the directory
|
|
69
|
-
const files = fs.readdirSync(directory);
|
|
70
|
-
const mdFiles = files.filter((file) => file.endsWith(".md"));
|
|
71
|
-
const orchestrators = [];
|
|
72
|
-
const orchestratorFiles = [];
|
|
73
|
-
// Load each file and find orchestrators
|
|
74
|
-
for (const file of mdFiles) {
|
|
75
|
-
const filepath = path.join(directory, file);
|
|
76
|
-
try {
|
|
77
|
-
const sop = await loadSOP(filepath);
|
|
78
|
-
if (sop.type === "orchestrator") {
|
|
79
|
-
orchestrators.push(sop);
|
|
80
|
-
orchestratorFiles.push(filepath);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
catch (_error) {
|
|
84
|
-
// Skip invalid files when searching for orchestrator
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
// Check for multiple orchestrators
|
|
88
|
-
if (orchestrators.length > 1) {
|
|
89
|
-
throw new MultipleOrchestratorsError(directory, orchestratorFiles);
|
|
90
|
-
}
|
|
91
|
-
// Return user-defined orchestrator or fall back to default
|
|
92
|
-
if (orchestrators.length === 1) {
|
|
93
|
-
return orchestrators[0];
|
|
94
|
-
}
|
|
95
|
-
return DEFAULT_ORCHESTRATOR;
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=agent-discovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-discovery.js","sourceRoot":"","sources":["../src/agent-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,SAAS,GAAG,QAAQ;IAEpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,sCAAsC;IACtC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7D,oCAAoC;IACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD,8CAA8C;IAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpC,+BAA+B;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,gDAAgD;YAChD,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,KAAK,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,SAAS,GAAG,QAAQ;IAEpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,sCAAsC;IACtC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7D,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,wCAAwC;IACxC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpC,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACjC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YACjB,qDAAqD;QACtD,CAAC;IACF,CAAC;IAED,mCAAmC;IACnC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,0BAA0B,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACpE,CAAC;IAED,2DAA2D;IAC3D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC7B,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { SOPDefinition } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Default orchestrator SOP that ships with the package.
|
|
4
|
-
* Used when no orchestrator.md is found in the user's SOP directory.
|
|
5
|
-
*/
|
|
6
|
-
export declare const DEFAULT_ORCHESTRATOR: SOPDefinition;
|
|
7
|
-
//# sourceMappingURL=default-orchestrator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-orchestrator.d.ts","sourceRoot":"","sources":["../src/default-orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,aA2ClC,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Default orchestrator SOP that ships with the package.
|
|
4
|
-
* Used when no orchestrator.md is found in the user's SOP directory.
|
|
5
|
-
*/
|
|
6
|
-
export const DEFAULT_ORCHESTRATOR = {
|
|
7
|
-
name: "orchestrator",
|
|
8
|
-
description: "Master orchestrator that delegates tasks to specialized agents",
|
|
9
|
-
version: "1.0.0",
|
|
10
|
-
type: "orchestrator",
|
|
11
|
-
tools: [],
|
|
12
|
-
inputs: {},
|
|
13
|
-
filepath: "<built-in>",
|
|
14
|
-
zodSchema: z.object({ task: z.string().describe("The task to perform") }),
|
|
15
|
-
body: `# Task Orchestrator
|
|
16
|
-
|
|
17
|
-
## Overview
|
|
18
|
-
|
|
19
|
-
You are a master orchestrator responsible for coordinating multiple specialized agents to complete complex tasks.
|
|
20
|
-
|
|
21
|
-
## Steps
|
|
22
|
-
|
|
23
|
-
### 1. Analyze Request
|
|
24
|
-
|
|
25
|
-
Parse the incoming request to understand what needs to be accomplished.
|
|
26
|
-
|
|
27
|
-
**Constraints:**
|
|
28
|
-
- You MUST identify all subtasks required to fulfill the request
|
|
29
|
-
- You SHOULD break complex requests into smaller, manageable tasks
|
|
30
|
-
|
|
31
|
-
### 2. Delegate to Agents
|
|
32
|
-
|
|
33
|
-
Invoke the appropriate specialized agents for each subtask.
|
|
34
|
-
|
|
35
|
-
**Constraints:**
|
|
36
|
-
- You MUST choose the most appropriate agent for each subtask
|
|
37
|
-
- You MUST pass relevant context between agent calls
|
|
38
|
-
- You SHOULD handle agent errors gracefully
|
|
39
|
-
- You MUST ask the user for more detail if you do not have sufficient inputs for agent execution
|
|
40
|
-
|
|
41
|
-
### 3. Synthesize Results
|
|
42
|
-
|
|
43
|
-
Combine outputs from all agents into a coherent response.
|
|
44
|
-
|
|
45
|
-
**Constraints:**
|
|
46
|
-
- You MUST include the actual content produced by agents (poems, jokes, stories, etc.) in your response because the user wants to see the content, not just a description of it
|
|
47
|
-
- You MUST provide a unified response that addresses the original request
|
|
48
|
-
- You MAY add brief context before or after the agent's output`,
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=default-orchestrator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-orchestrator.js","sourceRoot":"","sources":["../src/default-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IAClD,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,gEAAgE;IAC7E,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;IACzE,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAiCwD;CAC9D,CAAC"}
|