@simulacra-ai/orchestration 0.0.1 → 0.0.3
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 +61 -61
- package/dist/background-agent-pool.d.ts +4 -1
- package/dist/background-agent-pool.d.ts.map +1 -1
- package/dist/background-agent-pool.js +7 -2
- package/dist/background-agent-pool.js.map +1 -1
- package/dist/background-agent.d.ts +1 -1
- package/dist/background-agent.d.ts.map +1 -1
- package/dist/background-agent.js +8 -0
- package/dist/background-agent.js.map +1 -1
- package/dist/orchestrator.d.ts +12 -7
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +21 -11
- package/dist/orchestrator.js.map +1 -1
- package/dist/subagent.d.ts +3 -2
- package/dist/subagent.d.ts.map +1 -1
- package/dist/subagent.js +3 -2
- package/dist/subagent.js.map +1 -1
- package/dist/tools/{background-worker-pool.d.ts → background-task-pool.d.ts} +7 -2
- package/dist/tools/background-task-pool.d.ts.map +1 -0
- package/dist/tools/{background-worker-pool.js → background-task-pool.js} +11 -4
- package/dist/tools/background-task-pool.js.map +1 -0
- package/dist/tools/index.d.ts +3 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -6
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/parallel-agent-task.d.ts +5 -0
- package/dist/tools/parallel-agent-task.d.ts.map +1 -1
- package/dist/tools/parallel-agent-task.js +8 -1
- package/dist/tools/parallel-agent-task.js.map +1 -1
- package/dist/tools/subagent-task.d.ts +5 -0
- package/dist/tools/subagent-task.d.ts.map +1 -1
- package/dist/tools/subagent-task.js +8 -1
- package/dist/tools/subagent-task.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +15 -2
- package/dist/tools/background-worker-pool.d.ts.map +0 -1
- package/dist/tools/background-worker-pool.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Simulacra Agent Orchestration
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The orchestration package provides multi-agent patterns for Simulacra. Real workloads often call for delegation, parallelism, or long-running background tasks. Each worker agent gets its own conversation and tool access, and the orchestrator manages spawning, cancellation, and result collection.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -10,113 +10,113 @@ npm install @simulacra-ai/core @simulacra-ai/orchestration
|
|
|
10
10
|
|
|
11
11
|
## Setup
|
|
12
12
|
|
|
13
|
-
All orchestration patterns
|
|
13
|
+
All orchestration patterns build on top of a `WorkflowManager`. The orchestrator spawns child conversations from the parent, so each worker agent inherits the provider, tools, and system prompt.
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const workflowManager = new WorkflowManager(conversation);
|
|
16
|
+
// create a conversation and workflow manager
|
|
17
|
+
using conversation = new Conversation(provider);
|
|
18
|
+
conversation.toolkit = [/* tools */];
|
|
19
|
+
using workflowManager = new WorkflowManager(conversation);
|
|
21
20
|
```
|
|
22
21
|
|
|
23
|
-
##
|
|
22
|
+
## Patterns
|
|
23
|
+
|
|
24
|
+
Each pattern can be used in two ways. As a tool added to a conversation's toolkit, letting the model decide when and how to delegate. Or as a direct API call from application code for explicit control over orchestration.
|
|
24
25
|
|
|
25
26
|
### SubagentOrchestrator
|
|
26
27
|
|
|
27
|
-
Spawns a child agent
|
|
28
|
+
The simplest pattern. Spawns a child agent, blocks until it completes, and returns the result.
|
|
28
29
|
|
|
29
30
|
```typescript
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
// spawn a subagent and wait for it to finish
|
|
32
32
|
const agent = new SubagentOrchestrator(workflowManager);
|
|
33
33
|
const result = await agent.execute("Analyze this data and report findings");
|
|
34
34
|
|
|
35
|
-
console.log(result.end_reason);
|
|
35
|
+
console.log(result.end_reason);
|
|
36
36
|
console.log(result.messages);
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
###
|
|
39
|
+
### ParallelOrchestrator
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Fans out multiple prompts concurrently and waits for all of them to complete. Each prompt gets its own agent, and all results are returned together.
|
|
42
42
|
|
|
43
43
|
```typescript
|
|
44
|
-
|
|
44
|
+
// fan out three tasks in parallel
|
|
45
|
+
const agent = new ParallelOrchestrator(workflowManager);
|
|
46
|
+
const results = await agent.execute([
|
|
47
|
+
{ prompt: "Analyze dataset A" },
|
|
48
|
+
{ prompt: "Analyze dataset B" },
|
|
49
|
+
{ prompt: "Analyze dataset C", system: "Focus on outliers" },
|
|
50
|
+
]);
|
|
51
|
+
```
|
|
45
52
|
|
|
53
|
+
### BackgroundOrchestrator
|
|
54
|
+
|
|
55
|
+
A background worker that runs independently. Start it with `execute`, then check on it or collect results later.
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
// start a background worker
|
|
46
59
|
using worker = new BackgroundOrchestrator(workflowManager);
|
|
47
60
|
worker.execute("Monitor the feed for changes");
|
|
48
61
|
|
|
49
|
-
// later
|
|
50
|
-
|
|
51
|
-
worker.
|
|
52
|
-
|
|
53
|
-
worker.tool_call_count; // total tool calls made
|
|
54
|
-
worker.latest_message; // last assistant text
|
|
62
|
+
// check on it later
|
|
63
|
+
setTimeout(() => {
|
|
64
|
+
console.log(worker.status);
|
|
65
|
+
}, 5000);
|
|
55
66
|
|
|
56
|
-
|
|
57
|
-
worker.
|
|
58
|
-
// automatically disposed at end of scope
|
|
67
|
+
// wait for it to finish and get the full result
|
|
68
|
+
const result = await worker.collect();
|
|
59
69
|
```
|
|
60
70
|
|
|
61
71
|
### BackgroundAgentPool
|
|
62
72
|
|
|
63
|
-
Manages multiple background workers with batch operations.
|
|
73
|
+
Manages multiple background workers with batch operations. Useful for parallelizing independent research or processing tasks where each worker runs on its own.
|
|
64
74
|
|
|
65
75
|
```typescript
|
|
66
|
-
|
|
67
|
-
|
|
76
|
+
// create a pool and start some workers
|
|
68
77
|
using pool = new BackgroundAgentPool(workflowManager);
|
|
69
78
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
pool.list(); // [id1, id2, id3]
|
|
75
|
-
pool.state(id1, id2); // WorkerState[] with status, rounds, tool_call_count, latest_message
|
|
76
|
-
pool.cancel(id2); // cancel a specific worker
|
|
79
|
+
pool.start("Research topic A");
|
|
80
|
+
pool.start("Research topic B");
|
|
81
|
+
pool.start("Research topic C");
|
|
77
82
|
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
// wait, then collect completed workers
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
const done = pool.ack();
|
|
86
|
+
}, 30000);
|
|
80
87
|
```
|
|
81
88
|
|
|
82
|
-
###
|
|
89
|
+
### Recursive Depth
|
|
83
90
|
|
|
84
|
-
|
|
91
|
+
All three constructors (`SubagentOrchestrator`, `ParallelOrchestrator`, `BackgroundAgentPool`) accept a `{ recursive_depth }` option that controls how many levels of nested delegation the spawned agents are allowed to perform.
|
|
85
92
|
|
|
86
93
|
```typescript
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const agent = new ParallelOrchestrator(workflowManager);
|
|
90
|
-
const results = await agent.execute([
|
|
91
|
-
{ prompt: "Analyze dataset A" },
|
|
92
|
-
{ prompt: "Analyze dataset B" },
|
|
93
|
-
{ prompt: "Analyze dataset C", system: "Focus on outliers" },
|
|
94
|
-
]);
|
|
94
|
+
const agent = new SubagentOrchestrator(workflowManager, { recursive_depth: 2 });
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
-
##
|
|
97
|
+
## Agentic Orchestration
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
> **Note:** By default, orchestration tools are stripped from child agents to prevent recursive nesting. Pass `strip_tools: false` to the `Orchestrator` constructor to allow it.
|
|
99
|
+
Orchestration patterns are also available as task tools that can be added to a model's toolkit, allowing the model to decide when and how to delegate work.
|
|
102
100
|
|
|
103
101
|
```typescript
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
// give the model access to all orchestration tools
|
|
106
103
|
conversation.toolkit = [...conversation.toolkit, ...OrchestrationToolkit];
|
|
104
|
+
|
|
105
|
+
// give the model access to specific tools
|
|
106
|
+
conversation.toolkit = [...conversation.toolkit, SubagentTask, ParallelAgentTask, BackgroundTaskPool];
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
By default, spawned agents cannot delegate further. Nested delegation can be enabled by setting `ORCHESTRATION_DEPTH_KEY` in `context_data`.
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
import { ORCHESTRATION_DEPTH_KEY } from "@simulacra-ai/orchestration";
|
|
110
113
|
|
|
111
|
-
|
|
114
|
+
// allows one level of nested delegation (agent > subagent > sub-subagent)
|
|
115
|
+
using manager = new WorkflowManager(conversation, {
|
|
116
|
+
context_data: { [ORCHESTRATION_DEPTH_KEY]: 1 },
|
|
117
|
+
});
|
|
118
|
+
```
|
|
112
119
|
|
|
113
|
-
Action|Description
|
|
114
|
-
-|-
|
|
115
|
-
`start`|Launch one or more background workers (requires `prompts`)
|
|
116
|
-
`list`|List all worker IDs
|
|
117
|
-
`state`|Get status, rounds, tool calls, latest message (optional `ids`)
|
|
118
|
-
`cancel`|Stop workers (requires `ids`)
|
|
119
|
-
`ack`|Pop completed workers and return their states (optional `ids`)
|
|
120
120
|
|
|
121
121
|
## License
|
|
122
122
|
|
|
@@ -10,8 +10,11 @@ export declare class BackgroundAgentPool {
|
|
|
10
10
|
#private;
|
|
11
11
|
/**
|
|
12
12
|
* @param source - A `WorkflowManager` or `Workflow` to spawn workers from.
|
|
13
|
+
* @param options.recursive_depth - How many levels of recursive orchestration to allow in workers. Defaults to `0`.
|
|
13
14
|
*/
|
|
14
|
-
constructor(source: WorkflowManager | Workflow
|
|
15
|
+
constructor(source: WorkflowManager | Workflow, { recursive_depth }?: {
|
|
16
|
+
recursive_depth?: number | undefined;
|
|
17
|
+
});
|
|
15
18
|
/**
|
|
16
19
|
* Update the workflow/manager reference used to spawn new workers.
|
|
17
20
|
* This must be called when a persisted pool is reused by a new workflow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-agent-pool.d.ts","sourceRoot":"","sources":["../src/background-agent-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;GAKG;AACH,qBAAa,mBAAmB;;
|
|
1
|
+
{"version":3,"file":"background-agent-pool.d.ts","sourceRoot":"","sources":["../src/background-agent-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;GAKG;AACH,qBAAa,mBAAmB;;IAK9B;;;OAGG;gBACS,MAAM,EAAE,eAAe,GAAG,QAAQ,EAAE,EAAE,eAAmB,EAAE;;KAAK;IAK5E;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,GAAG,IAAI;IAIvD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM;IASxD;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;IAIhB;;;;OAIG;IACH,KAAK,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;IAWtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQxB;;;;OAIG;IACH,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;IAiBpC;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAMzB"}
|
|
@@ -7,12 +7,15 @@ import { BackgroundOrchestrator } from "./background-agent.js";
|
|
|
7
7
|
*/
|
|
8
8
|
export class BackgroundAgentPool {
|
|
9
9
|
#source;
|
|
10
|
+
#recursive_depth;
|
|
10
11
|
#agents = new Map();
|
|
11
12
|
/**
|
|
12
13
|
* @param source - A `WorkflowManager` or `Workflow` to spawn workers from.
|
|
14
|
+
* @param options.recursive_depth - How many levels of recursive orchestration to allow in workers. Defaults to `0`.
|
|
13
15
|
*/
|
|
14
|
-
constructor(source) {
|
|
16
|
+
constructor(source, { recursive_depth = 0 } = {}) {
|
|
15
17
|
this.#source = source;
|
|
18
|
+
this.#recursive_depth = recursive_depth;
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
18
21
|
* Update the workflow/manager reference used to spawn new workers.
|
|
@@ -30,7 +33,9 @@ export class BackgroundAgentPool {
|
|
|
30
33
|
* @param options - Configuration for the worker (system prompt, tools, session forking, custom ID).
|
|
31
34
|
*/
|
|
32
35
|
start(prompt, options) {
|
|
33
|
-
const agent = new BackgroundOrchestrator(this.#source
|
|
36
|
+
const agent = new BackgroundOrchestrator(this.#source, {
|
|
37
|
+
recursive_depth: this.#recursive_depth,
|
|
38
|
+
});
|
|
34
39
|
agent.execute(prompt, options);
|
|
35
40
|
this.#agents.set(agent.id, agent);
|
|
36
41
|
return agent.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-agent-pool.js","sourceRoot":"","sources":["../src/background-agent-pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAC9B,OAAO,CAA6B;IAC3B,OAAO,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE7D
|
|
1
|
+
{"version":3,"file":"background-agent-pool.js","sourceRoot":"","sources":["../src/background-agent-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export declare class BackgroundOrchestrator extends Orchestrator {
|
|
|
22
22
|
/**
|
|
23
23
|
* Current state: `idle`, `running`, `completed`, or `cancelled`.
|
|
24
24
|
*/
|
|
25
|
-
get status(): "
|
|
25
|
+
get status(): "idle" | "running" | "completed" | "cancelled";
|
|
26
26
|
/**
|
|
27
27
|
* `true` when the worker has completed or been cancelled.
|
|
28
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-agent.d.ts","sourceRoot":"","sources":["../src/background-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAoB,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjG;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;;IAItD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAaxD;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAKf;IAED;;OAEG;IACH,IAAI,MAAM,mDAET;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAKnB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAO5B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAevC;IAED;;OAEG;IACH,SAAS,IAAI,WAAW;
|
|
1
|
+
{"version":3,"file":"background-agent.d.ts","sourceRoot":"","sources":["../src/background-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAoB,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjG;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;;IAItD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAaxD;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAKf;IAED;;OAEG;IACH,IAAI,MAAM,mDAET;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAKnB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAO5B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAevC;IAED;;OAEG;IACH,SAAS,IAAI,WAAW;IAkBxB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAOxC;;OAEG;IACH,MAAM,IAAI,IAAI;IAUd;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CASzB"}
|
package/dist/background-agent.js
CHANGED
|
@@ -90,6 +90,14 @@ export class BackgroundOrchestrator extends Orchestrator {
|
|
|
90
90
|
* Snapshot of the worker's current state.
|
|
91
91
|
*/
|
|
92
92
|
get_state() {
|
|
93
|
+
if (this.#status === "idle") {
|
|
94
|
+
return {
|
|
95
|
+
id: "",
|
|
96
|
+
status: "idle",
|
|
97
|
+
rounds: 0,
|
|
98
|
+
tool_call_count: 0,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
93
101
|
return {
|
|
94
102
|
id: this.id,
|
|
95
103
|
status: this.#status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-agent.js","sourceRoot":"","sources":["../src/background-agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"background-agent.js","sourceRoot":"","sources":["../src/background-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/orchestrator.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Workflow, WorkflowManager } from "@simulacra-ai/core";
|
|
2
2
|
import type { Conversation } from "@simulacra-ai/core";
|
|
3
3
|
import type { BackgroundHandle, SubagentOptions } from "./types.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Context key used to propagate the remaining orchestration depth to child agents.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ORCHESTRATION_DEPTH_KEY = "__orchestration_depth";
|
|
4
8
|
/**
|
|
5
9
|
* Base class for orchestration patterns.
|
|
6
10
|
*
|
|
@@ -8,17 +12,18 @@ import type { BackgroundHandle, SubagentOptions } from "./types.ts";
|
|
|
8
12
|
* (for tool integration). Provides the shared child-spawning logic
|
|
9
13
|
* that all orchestration patterns build on.
|
|
10
14
|
*
|
|
11
|
-
* By default,
|
|
12
|
-
* prevent nesting.
|
|
15
|
+
* By default, `recursive_depth` is `0`, which strips orchestration tools
|
|
16
|
+
* from child agents to prevent nesting. Set to a positive number to allow
|
|
17
|
+
* that many levels of recursive orchestration, or `-1` for unlimited depth.
|
|
13
18
|
*/
|
|
14
19
|
export declare abstract class Orchestrator {
|
|
15
20
|
#private;
|
|
16
21
|
/**
|
|
17
22
|
* @param source - A `WorkflowManager` or `Workflow` to spawn children from.
|
|
18
|
-
* @param options.
|
|
23
|
+
* @param options.recursive_depth - How many levels of recursive orchestration to allow. `0` (default) strips orchestration tools from children, `-1` allows unlimited nesting.
|
|
19
24
|
*/
|
|
20
|
-
constructor(source: WorkflowManager | Workflow, {
|
|
21
|
-
|
|
25
|
+
constructor(source: WorkflowManager | Workflow, { recursive_depth }?: {
|
|
26
|
+
recursive_depth?: number | undefined;
|
|
22
27
|
});
|
|
23
28
|
/**
|
|
24
29
|
* The conversation associated with the orchestrator.
|
|
@@ -32,8 +37,8 @@ export declare abstract class Orchestrator {
|
|
|
32
37
|
* Spawn a child agent with its own conversation and workflow.
|
|
33
38
|
*
|
|
34
39
|
* Creates a child conversation, assigns tools (stripping orchestration
|
|
35
|
-
* tools
|
|
36
|
-
* for awaiting, inspecting, or cancelling the child.
|
|
40
|
+
* tools when depth is exhausted), and starts the workflow. Returns a
|
|
41
|
+
* handle for awaiting, inspecting, or cancelling the child.
|
|
37
42
|
*
|
|
38
43
|
* @param prompt - The instruction to send to the child agent.
|
|
39
44
|
* @param options - Configuration for the child agent (system prompt, tools, session forking, custom ID).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC;AAIpF;;GAEG;AACH,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAW/D;;;;;;;;;;GAUG;AACH,8BAAsB,YAAY;;IAKhC;;;OAGG;gBACS,MAAM,EAAE,eAAe,GAAG,QAAQ,EAAE,EAAE,eAAmB,EAAE;;KAAK;IAY5E;;OAEG;IACH,SAAS,KAAK,YAAY,IAAI,YAAY,CAQzC;IAED;;OAEG;IACH,SAAS,KAAK,eAAe,IAAI,QAAQ,GAAG,SAAS,CAKpD;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,gBAAgB;CAkE7E"}
|
package/dist/orchestrator.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Workflow, WorkflowManager } from "@simulacra-ai/core";
|
|
2
2
|
const ORCHESTRATION_TOOL_NAMES = new Set(["subagent", "background", "parallel"]);
|
|
3
|
+
/**
|
|
4
|
+
* Context key used to propagate the remaining orchestration depth to child agents.
|
|
5
|
+
*/
|
|
6
|
+
export const ORCHESTRATION_DEPTH_KEY = "__orchestration_depth";
|
|
3
7
|
/**
|
|
4
8
|
* Remove orchestration tools from a toolkit to prevent child agents from nesting.
|
|
5
9
|
*
|
|
@@ -15,25 +19,29 @@ function strip_orchestration_tools(toolkit) {
|
|
|
15
19
|
* (for tool integration). Provides the shared child-spawning logic
|
|
16
20
|
* that all orchestration patterns build on.
|
|
17
21
|
*
|
|
18
|
-
* By default,
|
|
19
|
-
* prevent nesting.
|
|
22
|
+
* By default, `recursive_depth` is `0`, which strips orchestration tools
|
|
23
|
+
* from child agents to prevent nesting. Set to a positive number to allow
|
|
24
|
+
* that many levels of recursive orchestration, or `-1` for unlimited depth.
|
|
20
25
|
*/
|
|
21
26
|
export class Orchestrator {
|
|
22
27
|
#manager;
|
|
23
28
|
#workflow;
|
|
24
|
-
#
|
|
29
|
+
#recursive_depth;
|
|
25
30
|
/**
|
|
26
31
|
* @param source - A `WorkflowManager` or `Workflow` to spawn children from.
|
|
27
|
-
* @param options.
|
|
32
|
+
* @param options.recursive_depth - How many levels of recursive orchestration to allow. `0` (default) strips orchestration tools from children, `-1` allows unlimited nesting.
|
|
28
33
|
*/
|
|
29
|
-
constructor(source, {
|
|
34
|
+
constructor(source, { recursive_depth = 0 } = {}) {
|
|
35
|
+
if (!Number.isInteger(recursive_depth) || recursive_depth < -1) {
|
|
36
|
+
throw new Error("invalid value for recursive_depth");
|
|
37
|
+
}
|
|
30
38
|
if (source instanceof WorkflowManager) {
|
|
31
39
|
this.#manager = source;
|
|
32
40
|
}
|
|
33
41
|
else {
|
|
34
42
|
this.#workflow = source;
|
|
35
43
|
}
|
|
36
|
-
this.#
|
|
44
|
+
this.#recursive_depth = recursive_depth;
|
|
37
45
|
}
|
|
38
46
|
/**
|
|
39
47
|
* The conversation associated with the orchestrator.
|
|
@@ -60,8 +68,8 @@ export class Orchestrator {
|
|
|
60
68
|
* Spawn a child agent with its own conversation and workflow.
|
|
61
69
|
*
|
|
62
70
|
* Creates a child conversation, assigns tools (stripping orchestration
|
|
63
|
-
* tools
|
|
64
|
-
* for awaiting, inspecting, or cancelling the child.
|
|
71
|
+
* tools when depth is exhausted), and starts the workflow. Returns a
|
|
72
|
+
* handle for awaiting, inspecting, or cancelling the child.
|
|
65
73
|
*
|
|
66
74
|
* @param prompt - The instruction to send to the child agent.
|
|
67
75
|
* @param options - Configuration for the child agent (system prompt, tools, session forking, custom ID).
|
|
@@ -70,11 +78,13 @@ export class Orchestrator {
|
|
|
70
78
|
const conversation = this.conversation;
|
|
71
79
|
const child = conversation.spawn_child(options?.fork_session, options?.id, options?.system ?? conversation.system);
|
|
72
80
|
const toolkit = options?.toolkit ?? [...conversation.toolkit];
|
|
73
|
-
child.toolkit = this.#
|
|
81
|
+
child.toolkit = this.#recursive_depth === 0 ? strip_orchestration_tools(toolkit) : toolkit;
|
|
82
|
+
const next_depth = this.#recursive_depth === -1 ? -1 : Math.max(0, this.#recursive_depth - 1);
|
|
83
|
+
const child_context = { [ORCHESTRATION_DEPTH_KEY]: next_depth };
|
|
74
84
|
const parent = this.parent_workflow;
|
|
75
85
|
const child_workflow = parent && parent.state !== "disposed"
|
|
76
|
-
? parent.spawn_child(child, options?.id)
|
|
77
|
-
: new Workflow(child);
|
|
86
|
+
? parent.spawn_child(child, options?.id, child_context)
|
|
87
|
+
: new Workflow(child, { context_data: child_context });
|
|
78
88
|
let settled = false;
|
|
79
89
|
const promise = new Promise((resolve) => {
|
|
80
90
|
child_workflow.once("workflow_end", (event) => {
|
package/dist/orchestrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI/D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjF;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,OAAoB;IACrD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent.d.ts
CHANGED
|
@@ -3,8 +3,9 @@ import type { SubagentOptions, SubagentResult } from "./types.ts";
|
|
|
3
3
|
/**
|
|
4
4
|
* Spawns a child agent and blocks until it completes.
|
|
5
5
|
*
|
|
6
|
-
* The child runs its own agentic loop with access to the parent's tools
|
|
7
|
-
* (
|
|
6
|
+
* The child runs its own agentic loop with access to the parent's tools.
|
|
7
|
+
* Orchestration tools are excluded when `recursive_depth` is 0 (the default)
|
|
8
|
+
* and included when a positive depth is configured.
|
|
8
9
|
*/
|
|
9
10
|
export declare class SubagentOrchestrator extends Orchestrator {
|
|
10
11
|
/**
|
package/dist/subagent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAGlF"}
|
package/dist/subagent.js
CHANGED
|
@@ -2,8 +2,9 @@ import { Orchestrator } from "./orchestrator.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Spawns a child agent and blocks until it completes.
|
|
4
4
|
*
|
|
5
|
-
* The child runs its own agentic loop with access to the parent's tools
|
|
6
|
-
* (
|
|
5
|
+
* The child runs its own agentic loop with access to the parent's tools.
|
|
6
|
+
* Orchestration tools are excluded when `recursive_depth` is 0 (the default)
|
|
7
|
+
* and included when a positive depth is configured.
|
|
7
8
|
*/
|
|
8
9
|
export class SubagentOrchestrator extends Orchestrator {
|
|
9
10
|
/**
|
package/dist/subagent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD
|
|
1
|
+
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpD;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAyB;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -11,6 +11,11 @@ type BackgroundToolSuccess = ToolSuccessResult & {
|
|
|
11
11
|
ids?: string[];
|
|
12
12
|
workers?: WorkerState[];
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Tool that lets a model manage a pool of background worker agents. Supports
|
|
16
|
+
* starting tasks, listing workers, checking state, cancelling, and collecting
|
|
17
|
+
* results without blocking the main conversation.
|
|
18
|
+
*/
|
|
19
|
+
export declare const BackgroundTaskPool: ToolClass<BackgroundParams, BackgroundToolSuccess>;
|
|
15
20
|
export {};
|
|
16
|
-
//# sourceMappingURL=background-
|
|
21
|
+
//# sourceMappingURL=background-task-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-task-pool.d.ts","sourceRoot":"","sources":["../../src/tools/background-task-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAIT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,KAAK,qBAAqB,GAAG,iBAAiB,GAAG;IAC/C,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAkIF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,gBAAgB,EAAE,qBAAqB,CAC1D,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { BackgroundAgentPool } from "../background-agent-pool.js";
|
|
2
|
-
|
|
2
|
+
import { ORCHESTRATION_DEPTH_KEY } from "../orchestrator.js";
|
|
3
|
+
class BackgroundTaskPoolImpl {
|
|
3
4
|
#pool;
|
|
4
5
|
constructor(context) {
|
|
5
6
|
const POOL_KEY = "__background_agent_pool";
|
|
6
7
|
if (!context[POOL_KEY]) {
|
|
7
|
-
context[
|
|
8
|
+
const depth = context[ORCHESTRATION_DEPTH_KEY] ?? 0;
|
|
9
|
+
context[POOL_KEY] = new BackgroundAgentPool(context.workflow, { recursive_depth: depth });
|
|
8
10
|
}
|
|
9
11
|
const pool = context[POOL_KEY];
|
|
10
12
|
pool.update_source(context.workflow);
|
|
@@ -122,5 +124,10 @@ class BackgroundWorkerPoolImpl {
|
|
|
122
124
|
};
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Tool that lets a model manage a pool of background worker agents. Supports
|
|
129
|
+
* starting tasks, listing workers, checking state, cancelling, and collecting
|
|
130
|
+
* results without blocking the main conversation.
|
|
131
|
+
*/
|
|
132
|
+
export const BackgroundTaskPool = BackgroundTaskPoolImpl;
|
|
133
|
+
//# sourceMappingURL=background-task-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-task-pool.js","sourceRoot":"","sources":["../../src/tools/background-task-pool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ToolClass } from "@simulacra-ai/core";
|
|
2
|
-
export {
|
|
3
|
-
export { BackgroundWorkerPool } from "./background-worker-pool.ts";
|
|
2
|
+
export { BackgroundTaskPool } from "./background-task-pool.ts";
|
|
4
3
|
export { ParallelAgentTask } from "./parallel-agent-task.ts";
|
|
4
|
+
export { SubagentTask } from "./subagent-task.ts";
|
|
5
5
|
/**
|
|
6
|
-
* All orchestration tools
|
|
6
|
+
* All orchestration tools as a ready-to-use toolkit.
|
|
7
7
|
*/
|
|
8
8
|
export declare const OrchestrationToolkit: ToolClass[];
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,EAI3C,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { BackgroundWorkerPool } from "./background-worker-pool.js";
|
|
1
|
+
export { BackgroundTaskPool } from "./background-task-pool.js";
|
|
3
2
|
export { ParallelAgentTask } from "./parallel-agent-task.js";
|
|
4
|
-
|
|
5
|
-
import {
|
|
3
|
+
export { SubagentTask } from "./subagent-task.js";
|
|
4
|
+
import { BackgroundTaskPool } from "./background-task-pool.js";
|
|
6
5
|
import { ParallelAgentTask } from "./parallel-agent-task.js";
|
|
6
|
+
import { SubagentTask } from "./subagent-task.js";
|
|
7
7
|
/**
|
|
8
|
-
* All orchestration tools
|
|
8
|
+
* All orchestration tools as a ready-to-use toolkit.
|
|
9
9
|
*/
|
|
10
10
|
export const OrchestrationToolkit = [
|
|
11
11
|
SubagentTask,
|
|
12
|
-
BackgroundWorkerPool,
|
|
13
12
|
ParallelAgentTask,
|
|
13
|
+
BackgroundTaskPool,
|
|
14
14
|
];
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;CACnB,CAAC"}
|
|
@@ -11,6 +11,11 @@ type ParallelToolSuccess = ToolSuccessResult & {
|
|
|
11
11
|
end_reason: string;
|
|
12
12
|
}>;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Tool that lets a model run multiple subtasks concurrently, each handled by its
|
|
16
|
+
* own subagent with a separate conversation. All subagents start immediately and
|
|
17
|
+
* the tool returns once every subagent has completed.
|
|
18
|
+
*/
|
|
14
19
|
export declare const ParallelAgentTask: ToolClass<ParallelParams, ParallelToolSuccess>;
|
|
15
20
|
export {};
|
|
16
21
|
//# sourceMappingURL=parallel-agent-task.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-agent-task.d.ts","sourceRoot":"","sources":["../../src/tools/parallel-agent-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAIT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"parallel-agent-task.d.ts","sourceRoot":"","sources":["../../src/tools/parallel-agent-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAIT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAK5B,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,SAAS,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ,CAAC;AAuEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,cAAc,EAAE,mBAAmB,CACtD,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { ORCHESTRATION_DEPTH_KEY } from "../orchestrator.js";
|
|
1
2
|
import { ParallelOrchestrator } from "../parallel-agent.js";
|
|
2
3
|
import { extract_response } from "./utils.js";
|
|
3
4
|
class ParallelAgentTaskImpl {
|
|
4
5
|
#agent;
|
|
5
6
|
constructor(context) {
|
|
6
|
-
|
|
7
|
+
const depth = context[ORCHESTRATION_DEPTH_KEY] ?? 0;
|
|
8
|
+
this.#agent = new ParallelOrchestrator(context.workflow, { recursive_depth: depth });
|
|
7
9
|
}
|
|
8
10
|
async execute({ prompts, system, fork_session }) {
|
|
9
11
|
try {
|
|
@@ -64,5 +66,10 @@ class ParallelAgentTaskImpl {
|
|
|
64
66
|
};
|
|
65
67
|
}
|
|
66
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Tool that lets a model run multiple subtasks concurrently, each handled by its
|
|
71
|
+
* own subagent with a separate conversation. All subagents start immediately and
|
|
72
|
+
* the tool returns once every subagent has completed.
|
|
73
|
+
*/
|
|
67
74
|
export const ParallelAgentTask = ParallelAgentTaskImpl;
|
|
68
75
|
//# sourceMappingURL=parallel-agent-task.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-agent-task.js","sourceRoot":"","sources":["../../src/tools/parallel-agent-task.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgB9C,MAAM,qBAAqB;IAChB,MAAM,CAAuB;IAEtC,YAAY,OAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parallel-agent-task.js","sourceRoot":"","sources":["../../src/tools/parallel-agent-task.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgB9C,MAAM,qBAAqB;IAChB,MAAM,CAAuB;IAEtC,YAAY,OAAoB;QAC9B,MAAM,KAAK,GAAI,OAAO,CAAC,uBAAuB,CAAY,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAkB;QAC7D,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBACrB,OAAO;oBACL,MAAM,EAAE,KAAc;oBACtB,OAAO,EAAE,2CAA2C;iBAClC,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjD,OAAO;gBACL,MAAM,EAAE,IAAa;gBACrB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBAC7B,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,KAAc;gBACtB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,KAAK;aACa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,8EAA8E;gBAC9E,8EAA8E;gBAC9E,gFAAgF;gBAChF,4CAA4C;YAC9C,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,0CAA0C;oBACvD,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC1C;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;oBAC5D,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,WAAW,EAAE,sEAAsE;oBACnF,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,qBAAqB,CAAC"}
|
|
@@ -9,6 +9,11 @@ type SubagentToolSuccess = ToolSuccessResult & {
|
|
|
9
9
|
response: string;
|
|
10
10
|
end_reason: string;
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Tool that lets a model spawn an autonomous subagent with its own conversation
|
|
14
|
+
* to handle a subtask independently. The subagent runs to completion and returns
|
|
15
|
+
* its final response.
|
|
16
|
+
*/
|
|
12
17
|
export declare const SubagentTask: ToolClass<SubagentParams, SubagentToolSuccess>;
|
|
13
18
|
export {};
|
|
14
19
|
//# sourceMappingURL=subagent-task.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-task.d.ts","sourceRoot":"","sources":["../../src/tools/subagent-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAIT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-task.d.ts","sourceRoot":"","sources":["../../src/tools/subagent-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAIT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAK5B,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,mBAAmB,GAAG,iBAAiB,GAAG;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA8DF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAoB,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { ORCHESTRATION_DEPTH_KEY } from "../orchestrator.js";
|
|
1
2
|
import { SubagentOrchestrator } from "../subagent.js";
|
|
2
3
|
import { extract_response } from "./utils.js";
|
|
3
4
|
class SubagentTaskImpl {
|
|
4
5
|
#agent;
|
|
5
6
|
constructor(context) {
|
|
6
|
-
|
|
7
|
+
const depth = context[ORCHESTRATION_DEPTH_KEY] ?? 0;
|
|
8
|
+
this.#agent = new SubagentOrchestrator(context.workflow, { recursive_depth: depth });
|
|
7
9
|
}
|
|
8
10
|
async execute({ prompt, system, fork_session }) {
|
|
9
11
|
try {
|
|
@@ -54,5 +56,10 @@ class SubagentTaskImpl {
|
|
|
54
56
|
};
|
|
55
57
|
}
|
|
56
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Tool that lets a model spawn an autonomous subagent with its own conversation
|
|
61
|
+
* to handle a subtask independently. The subagent runs to completion and returns
|
|
62
|
+
* its final response.
|
|
63
|
+
*/
|
|
57
64
|
export const SubagentTask = SubagentTaskImpl;
|
|
58
65
|
//# sourceMappingURL=subagent-task.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-task.js","sourceRoot":"","sources":["../../src/tools/subagent-task.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAc9C,MAAM,gBAAgB;IACX,MAAM,CAAuB;IAEtC,YAAY,OAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-task.js","sourceRoot":"","sources":["../../src/tools/subagent-task.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAc9C,MAAM,gBAAgB;IACX,MAAM,CAAuB;IAEtC,YAAY,OAAoB;QAC9B,MAAM,KAAK,GAAI,OAAO,CAAC,uBAAuB,CAAY,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAkB;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3E,OAAO;gBACL,MAAM,EAAE,IAAa;gBACrB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC;gBAClC,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,KAAc;gBACtB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,KAAK;aACa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,qEAAqE;gBACrE,qEAAqE;gBACrE,uEAAuE;gBACvE,mCAAmC;YACrC,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;oBAChD,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;oBAC5D,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK;iBAChB;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,WAAW,EACT,+EAA+E;oBACjF,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAmD,gBAAgB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -73,7 +73,7 @@ export interface WorkerState {
|
|
|
73
73
|
/**
|
|
74
74
|
* The worker's current execution state.
|
|
75
75
|
*/
|
|
76
|
-
status: "running" | "completed" | "cancelled";
|
|
76
|
+
status: "idle" | "running" | "completed" | "cancelled";
|
|
77
77
|
/**
|
|
78
78
|
* Number of agentic turns (assistant messages) completed.
|
|
79
79
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,EAAE,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC;;OAEG;IACH,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,EAAE,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC;;OAEG;IACH,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IACvD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simulacra-ai/orchestration",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Subagent, background, and parallel workflow orchestration for the Simulacra conversation engine",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -17,7 +17,20 @@
|
|
|
17
17
|
"clean": "rm -rf dist *.tsbuildinfo"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"@simulacra-ai/core": "0.0.
|
|
20
|
+
"@simulacra-ai/core": "0.0.3"
|
|
21
21
|
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "https://github.com/simulacra-ai/simulacra.git",
|
|
25
|
+
"directory": "packages/orchestration"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://github.com/simulacra-ai/simulacra",
|
|
28
|
+
"keywords": [
|
|
29
|
+
"ai",
|
|
30
|
+
"llm",
|
|
31
|
+
"agent",
|
|
32
|
+
"orchestration",
|
|
33
|
+
"subagent"
|
|
34
|
+
],
|
|
22
35
|
"license": "MIT"
|
|
23
36
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-worker-pool.d.ts","sourceRoot":"","sources":["../../src/tools/background-worker-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAIT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,KAAK,qBAAqB,GAAG,iBAAiB,GAAG;IAC/C,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAiIF,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAAC,gBAAgB,EAAE,qBAAqB,CAC1D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-worker-pool.js","sourceRoot":"","sources":["../../src/tools/background-worker-pool.ts"],"names":[],"mappings":"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"}
|