@dogpile/sdk 0.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/CHANGELOG.md +37 -0
- package/LICENSE +16 -0
- package/README.md +842 -0
- package/dist/browser/index.d.ts +8 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +4493 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/openai-compatible.d.ts +44 -0
- package/dist/providers/openai-compatible.d.ts.map +1 -0
- package/dist/providers/openai-compatible.js +305 -0
- package/dist/providers/openai-compatible.js.map +1 -0
- package/dist/runtime/broadcast.d.ts +18 -0
- package/dist/runtime/broadcast.d.ts.map +1 -0
- package/dist/runtime/broadcast.js +335 -0
- package/dist/runtime/broadcast.js.map +1 -0
- package/dist/runtime/cancellation.d.ts +6 -0
- package/dist/runtime/cancellation.d.ts.map +1 -0
- package/dist/runtime/cancellation.js +35 -0
- package/dist/runtime/cancellation.js.map +1 -0
- package/dist/runtime/coordinator.d.ts +18 -0
- package/dist/runtime/coordinator.d.ts.map +1 -0
- package/dist/runtime/coordinator.js +434 -0
- package/dist/runtime/coordinator.js.map +1 -0
- package/dist/runtime/decisions.d.ts +5 -0
- package/dist/runtime/decisions.d.ts.map +1 -0
- package/dist/runtime/decisions.js +31 -0
- package/dist/runtime/decisions.js.map +1 -0
- package/dist/runtime/defaults.d.ts +63 -0
- package/dist/runtime/defaults.d.ts.map +1 -0
- package/dist/runtime/defaults.js +426 -0
- package/dist/runtime/defaults.js.map +1 -0
- package/dist/runtime/engine.d.ts +79 -0
- package/dist/runtime/engine.d.ts.map +1 -0
- package/dist/runtime/engine.js +723 -0
- package/dist/runtime/engine.js.map +1 -0
- package/dist/runtime/model.d.ts +14 -0
- package/dist/runtime/model.d.ts.map +1 -0
- package/dist/runtime/model.js +82 -0
- package/dist/runtime/model.js.map +1 -0
- package/dist/runtime/sequential.d.ts +18 -0
- package/dist/runtime/sequential.d.ts.map +1 -0
- package/dist/runtime/sequential.js +277 -0
- package/dist/runtime/sequential.js.map +1 -0
- package/dist/runtime/shared.d.ts +18 -0
- package/dist/runtime/shared.d.ts.map +1 -0
- package/dist/runtime/shared.js +288 -0
- package/dist/runtime/shared.js.map +1 -0
- package/dist/runtime/termination.d.ts +77 -0
- package/dist/runtime/termination.d.ts.map +1 -0
- package/dist/runtime/termination.js +355 -0
- package/dist/runtime/termination.js.map +1 -0
- package/dist/runtime/tools.d.ts +314 -0
- package/dist/runtime/tools.d.ts.map +1 -0
- package/dist/runtime/tools.js +969 -0
- package/dist/runtime/tools.js.map +1 -0
- package/dist/runtime/validation.d.ts +23 -0
- package/dist/runtime/validation.d.ts.map +1 -0
- package/dist/runtime/validation.js +656 -0
- package/dist/runtime/validation.js.map +1 -0
- package/dist/types.d.ts +2434 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +81 -0
- package/dist/types.js.map +1 -0
- package/package.json +157 -0
- package/src/browser/index.ts +7 -0
- package/src/index.ts +195 -0
- package/src/providers/openai-compatible.ts +406 -0
- package/src/runtime/broadcast.test.ts +355 -0
- package/src/runtime/broadcast.ts +428 -0
- package/src/runtime/cancellation.ts +40 -0
- package/src/runtime/coordinator.test.ts +468 -0
- package/src/runtime/coordinator.ts +581 -0
- package/src/runtime/decisions.ts +38 -0
- package/src/runtime/defaults.ts +547 -0
- package/src/runtime/engine.ts +880 -0
- package/src/runtime/model.ts +117 -0
- package/src/runtime/sequential.test.ts +262 -0
- package/src/runtime/sequential.ts +357 -0
- package/src/runtime/shared.test.ts +265 -0
- package/src/runtime/shared.ts +367 -0
- package/src/runtime/termination.ts +463 -0
- package/src/runtime/tools.ts +1518 -0
- package/src/runtime/validation.ts +771 -0
- package/src/types.ts +2729 -0
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import { addCost, createReplayTraceBudget, createReplayTraceBudgetStateChanges, createReplayTraceFinalOutput, createReplayTraceProtocolDecision, createReplayTraceRunInputs, createReplayTraceSeed, createRunAccounting, createRunEventLog, createRunMetadata, createRunUsage, createTranscriptLink, emptyCost, nextProviderCallId } from "./defaults.js";
|
|
2
|
+
import { throwIfAborted } from "./cancellation.js";
|
|
3
|
+
import { parseAgentDecision } from "./decisions.js";
|
|
4
|
+
import { generateModelTurn } from "./model.js";
|
|
5
|
+
import { evaluateTerminationStop } from "./termination.js";
|
|
6
|
+
import { createRuntimeToolExecutor, executeModelResponseToolRequests, runtimeToolAvailability } from "./tools.js";
|
|
7
|
+
export async function runCoordinator(options) {
|
|
8
|
+
const runId = createRunId();
|
|
9
|
+
const events = [];
|
|
10
|
+
const transcript = [];
|
|
11
|
+
const protocolDecisions = [];
|
|
12
|
+
const providerCalls = [];
|
|
13
|
+
let totalCost = emptyCost();
|
|
14
|
+
const maxTurns = options.protocol.maxTurns ?? options.agents.length;
|
|
15
|
+
const activeAgents = options.agents.slice(0, maxTurns);
|
|
16
|
+
const coordinator = activeAgents[0];
|
|
17
|
+
const startedAtMs = nowMs();
|
|
18
|
+
let stopped = false;
|
|
19
|
+
let termination;
|
|
20
|
+
const emit = (event) => {
|
|
21
|
+
events.push(event);
|
|
22
|
+
options.emit?.(event);
|
|
23
|
+
};
|
|
24
|
+
const recordProtocolDecision = (event, decisionOptions) => {
|
|
25
|
+
protocolDecisions.push(createReplayTraceProtocolDecision("coordinator", event, events.length - 1, decisionOptions));
|
|
26
|
+
};
|
|
27
|
+
const toolExecutor = createRuntimeToolExecutor({
|
|
28
|
+
runId,
|
|
29
|
+
protocol: "coordinator",
|
|
30
|
+
tier: options.tier,
|
|
31
|
+
tools: options.tools,
|
|
32
|
+
emit(event) {
|
|
33
|
+
emit(event);
|
|
34
|
+
recordProtocolDecision(event);
|
|
35
|
+
},
|
|
36
|
+
getTrace: () => ({ events, transcript }),
|
|
37
|
+
...(options.signal !== undefined ? { abortSignal: options.signal } : {})
|
|
38
|
+
});
|
|
39
|
+
const toolAvailability = runtimeToolAvailability(toolExecutor.tools);
|
|
40
|
+
throwIfAborted(options.signal, options.model.id);
|
|
41
|
+
for (const agent of activeAgents) {
|
|
42
|
+
const event = {
|
|
43
|
+
type: "role-assignment",
|
|
44
|
+
runId,
|
|
45
|
+
at: new Date().toISOString(),
|
|
46
|
+
agentId: agent.id,
|
|
47
|
+
role: agent.role
|
|
48
|
+
};
|
|
49
|
+
emit(event);
|
|
50
|
+
recordProtocolDecision(event);
|
|
51
|
+
}
|
|
52
|
+
if (coordinator) {
|
|
53
|
+
if (!stopIfNeeded()) {
|
|
54
|
+
totalCost = await runCoordinatorTurn({
|
|
55
|
+
agent: coordinator,
|
|
56
|
+
coordinator,
|
|
57
|
+
input: buildCoordinatorPlanInput(options.intent, coordinator),
|
|
58
|
+
phase: "plan",
|
|
59
|
+
options,
|
|
60
|
+
runId,
|
|
61
|
+
transcript,
|
|
62
|
+
totalCost,
|
|
63
|
+
providerCalls,
|
|
64
|
+
toolExecutor,
|
|
65
|
+
toolAvailability,
|
|
66
|
+
emit,
|
|
67
|
+
recordProtocolDecision
|
|
68
|
+
});
|
|
69
|
+
stopIfNeeded();
|
|
70
|
+
}
|
|
71
|
+
if (!stopIfNeeded()) {
|
|
72
|
+
const workers = activeAgents.slice(1);
|
|
73
|
+
const providerCallSlots = [];
|
|
74
|
+
const planTranscript = [...transcript];
|
|
75
|
+
const workerResults = await Promise.all(workers.map((agent, index) => runCoordinatorWorkerTurn({
|
|
76
|
+
agent,
|
|
77
|
+
coordinator,
|
|
78
|
+
input: buildWorkerInput(options.intent, planTranscript, coordinator),
|
|
79
|
+
options,
|
|
80
|
+
runId,
|
|
81
|
+
turn: transcript.length + index + 1,
|
|
82
|
+
providerCallId: providerCallIdFor(runId, providerCalls.length + index + 1),
|
|
83
|
+
providerCallIndex: index,
|
|
84
|
+
providerCallSlots,
|
|
85
|
+
toolExecutor,
|
|
86
|
+
toolAvailability,
|
|
87
|
+
emit
|
|
88
|
+
})));
|
|
89
|
+
providerCalls.push(...providerCallSlots.filter((call) => call !== undefined));
|
|
90
|
+
for (const result of workerResults) {
|
|
91
|
+
totalCost = addCost(totalCost, result.turnCost);
|
|
92
|
+
transcript.push({
|
|
93
|
+
agentId: result.agent.id,
|
|
94
|
+
role: result.agent.role,
|
|
95
|
+
input: result.input,
|
|
96
|
+
output: result.response.text,
|
|
97
|
+
...(result.decision !== undefined ? { decision: result.decision } : {}),
|
|
98
|
+
...(result.toolCalls.length > 0 ? { toolCalls: result.toolCalls } : {})
|
|
99
|
+
});
|
|
100
|
+
const event = {
|
|
101
|
+
type: "agent-turn",
|
|
102
|
+
runId,
|
|
103
|
+
at: new Date().toISOString(),
|
|
104
|
+
agentId: result.agent.id,
|
|
105
|
+
role: result.agent.role,
|
|
106
|
+
input: result.input,
|
|
107
|
+
output: result.response.text,
|
|
108
|
+
...(result.decision !== undefined ? { decision: result.decision } : {}),
|
|
109
|
+
cost: totalCost
|
|
110
|
+
};
|
|
111
|
+
emit(event);
|
|
112
|
+
recordProtocolDecision(event, {
|
|
113
|
+
turn: transcript.length,
|
|
114
|
+
phase: "worker",
|
|
115
|
+
transcriptEntryCount: transcript.length
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
stopIfNeeded();
|
|
119
|
+
}
|
|
120
|
+
if (!stopIfNeeded()) {
|
|
121
|
+
totalCost = await runCoordinatorTurn({
|
|
122
|
+
agent: coordinator,
|
|
123
|
+
coordinator,
|
|
124
|
+
input: buildFinalSynthesisInput(options.intent, transcript, coordinator),
|
|
125
|
+
phase: "final-synthesis",
|
|
126
|
+
options,
|
|
127
|
+
runId,
|
|
128
|
+
transcript,
|
|
129
|
+
totalCost,
|
|
130
|
+
providerCalls,
|
|
131
|
+
toolExecutor,
|
|
132
|
+
toolAvailability,
|
|
133
|
+
emit,
|
|
134
|
+
recordProtocolDecision
|
|
135
|
+
});
|
|
136
|
+
stopIfNeeded();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
const output = transcript.at(-1)?.output ?? "";
|
|
140
|
+
throwIfAborted(options.signal, options.model.id);
|
|
141
|
+
const final = {
|
|
142
|
+
type: "final",
|
|
143
|
+
runId,
|
|
144
|
+
at: new Date().toISOString(),
|
|
145
|
+
output,
|
|
146
|
+
cost: totalCost,
|
|
147
|
+
transcript: createTranscriptLink(transcript),
|
|
148
|
+
...(termination !== undefined ? { termination } : {})
|
|
149
|
+
};
|
|
150
|
+
emit(final);
|
|
151
|
+
recordProtocolDecision(final, {
|
|
152
|
+
transcriptEntryCount: transcript.length
|
|
153
|
+
});
|
|
154
|
+
const finalEvent = events.at(-1);
|
|
155
|
+
return {
|
|
156
|
+
output,
|
|
157
|
+
eventLog: createRunEventLog(runId, "coordinator", events),
|
|
158
|
+
trace: {
|
|
159
|
+
schemaVersion: "1.0",
|
|
160
|
+
runId,
|
|
161
|
+
protocol: "coordinator",
|
|
162
|
+
tier: options.tier,
|
|
163
|
+
modelProviderId: options.model.id,
|
|
164
|
+
agentsUsed: activeAgents,
|
|
165
|
+
inputs: createReplayTraceRunInputs({
|
|
166
|
+
intent: options.intent,
|
|
167
|
+
protocol: options.protocol,
|
|
168
|
+
tier: options.tier,
|
|
169
|
+
modelProviderId: options.model.id,
|
|
170
|
+
agents: activeAgents,
|
|
171
|
+
temperature: options.temperature
|
|
172
|
+
}),
|
|
173
|
+
budget: createReplayTraceBudget({
|
|
174
|
+
tier: options.tier,
|
|
175
|
+
...(options.budget ? { caps: options.budget } : {}),
|
|
176
|
+
...(options.terminate ? { termination: options.terminate } : {})
|
|
177
|
+
}),
|
|
178
|
+
budgetStateChanges: createReplayTraceBudgetStateChanges(events),
|
|
179
|
+
seed: createReplayTraceSeed(options.seed),
|
|
180
|
+
protocolDecisions,
|
|
181
|
+
providerCalls,
|
|
182
|
+
finalOutput: createReplayTraceFinalOutput(output, finalEvent ?? {
|
|
183
|
+
type: "final",
|
|
184
|
+
runId,
|
|
185
|
+
at: "",
|
|
186
|
+
output,
|
|
187
|
+
cost: totalCost,
|
|
188
|
+
transcript: createTranscriptLink(transcript)
|
|
189
|
+
}),
|
|
190
|
+
events,
|
|
191
|
+
transcript
|
|
192
|
+
},
|
|
193
|
+
transcript,
|
|
194
|
+
usage: createRunUsage(totalCost),
|
|
195
|
+
metadata: createRunMetadata({
|
|
196
|
+
runId,
|
|
197
|
+
protocol: "coordinator",
|
|
198
|
+
tier: options.tier,
|
|
199
|
+
modelProviderId: options.model.id,
|
|
200
|
+
agentsUsed: activeAgents,
|
|
201
|
+
events
|
|
202
|
+
}),
|
|
203
|
+
accounting: createRunAccounting({
|
|
204
|
+
tier: options.tier,
|
|
205
|
+
...(options.budget ? { budget: options.budget } : {}),
|
|
206
|
+
...(options.terminate ? { termination: options.terminate } : {}),
|
|
207
|
+
cost: totalCost,
|
|
208
|
+
events
|
|
209
|
+
}),
|
|
210
|
+
cost: totalCost
|
|
211
|
+
};
|
|
212
|
+
function stopIfNeeded() {
|
|
213
|
+
throwIfAborted(options.signal, options.model.id);
|
|
214
|
+
if (stopped || !options.terminate) {
|
|
215
|
+
return stopped;
|
|
216
|
+
}
|
|
217
|
+
const stopRecord = evaluateTerminationStop(options.terminate, {
|
|
218
|
+
runId,
|
|
219
|
+
protocol: "coordinator",
|
|
220
|
+
tier: options.tier,
|
|
221
|
+
cost: totalCost,
|
|
222
|
+
events,
|
|
223
|
+
transcript,
|
|
224
|
+
iteration: transcript.length,
|
|
225
|
+
elapsedMs: elapsedMs(startedAtMs)
|
|
226
|
+
});
|
|
227
|
+
if (!stopRecord) {
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
stopped = true;
|
|
231
|
+
termination = stopRecord;
|
|
232
|
+
if (stopRecord.reason === "budget") {
|
|
233
|
+
emitBudgetStop(stopRecord);
|
|
234
|
+
}
|
|
235
|
+
return true;
|
|
236
|
+
}
|
|
237
|
+
function emitBudgetStop(record) {
|
|
238
|
+
const event = {
|
|
239
|
+
type: "budget-stop",
|
|
240
|
+
runId,
|
|
241
|
+
at: new Date().toISOString(),
|
|
242
|
+
reason: record.budgetReason ?? "cost",
|
|
243
|
+
cost: totalCost,
|
|
244
|
+
iteration: transcript.length,
|
|
245
|
+
elapsedMs: elapsedMs(startedAtMs),
|
|
246
|
+
detail: record.detail ?? {}
|
|
247
|
+
};
|
|
248
|
+
emit(event);
|
|
249
|
+
recordProtocolDecision(event, {
|
|
250
|
+
transcriptEntryCount: transcript.length
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
async function runCoordinatorTurn(turn) {
|
|
255
|
+
throwIfAborted(turn.options.signal, turn.options.model.id);
|
|
256
|
+
const request = {
|
|
257
|
+
temperature: turn.options.temperature,
|
|
258
|
+
...(turn.options.signal !== undefined ? { signal: turn.options.signal } : {}),
|
|
259
|
+
metadata: {
|
|
260
|
+
runId: turn.runId,
|
|
261
|
+
protocol: "coordinator",
|
|
262
|
+
agentId: turn.agent.id,
|
|
263
|
+
role: turn.agent.role,
|
|
264
|
+
coordinatorAgentId: turn.coordinator.id,
|
|
265
|
+
tier: turn.options.tier,
|
|
266
|
+
phase: turn.phase,
|
|
267
|
+
...turn.toolAvailability
|
|
268
|
+
},
|
|
269
|
+
messages: [
|
|
270
|
+
{
|
|
271
|
+
role: "system",
|
|
272
|
+
content: buildSystemPrompt(turn.agent, turn.coordinator)
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
role: "user",
|
|
276
|
+
content: turn.input
|
|
277
|
+
}
|
|
278
|
+
]
|
|
279
|
+
};
|
|
280
|
+
const response = await generateModelTurn({
|
|
281
|
+
model: turn.options.model,
|
|
282
|
+
request,
|
|
283
|
+
runId: turn.runId,
|
|
284
|
+
agent: turn.agent,
|
|
285
|
+
input: turn.input,
|
|
286
|
+
emit: turn.emit,
|
|
287
|
+
callId: nextProviderCallId(turn.runId, turn.providerCalls),
|
|
288
|
+
onProviderCall(call) {
|
|
289
|
+
turn.providerCalls.push(call);
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
const decision = parseAgentDecision(response.text);
|
|
293
|
+
const totalCost = addCost(turn.totalCost, responseCost(response));
|
|
294
|
+
const toolCalls = await executeModelResponseToolRequests({
|
|
295
|
+
response,
|
|
296
|
+
executor: turn.toolExecutor,
|
|
297
|
+
agentId: turn.agent.id,
|
|
298
|
+
role: turn.agent.role,
|
|
299
|
+
turn: turn.transcript.length + 1,
|
|
300
|
+
metadata: {
|
|
301
|
+
phase: turn.phase
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
throwIfAborted(turn.options.signal, turn.options.model.id);
|
|
305
|
+
turn.transcript.push({
|
|
306
|
+
agentId: turn.agent.id,
|
|
307
|
+
role: turn.agent.role,
|
|
308
|
+
input: turn.input,
|
|
309
|
+
output: response.text,
|
|
310
|
+
...(decision !== undefined ? { decision } : {}),
|
|
311
|
+
...(toolCalls.length > 0 ? { toolCalls } : {})
|
|
312
|
+
});
|
|
313
|
+
const event = {
|
|
314
|
+
type: "agent-turn",
|
|
315
|
+
runId: turn.runId,
|
|
316
|
+
at: new Date().toISOString(),
|
|
317
|
+
agentId: turn.agent.id,
|
|
318
|
+
role: turn.agent.role,
|
|
319
|
+
input: turn.input,
|
|
320
|
+
output: response.text,
|
|
321
|
+
...(decision !== undefined ? { decision } : {}),
|
|
322
|
+
cost: totalCost
|
|
323
|
+
};
|
|
324
|
+
turn.emit(event);
|
|
325
|
+
turn.recordProtocolDecision(event, {
|
|
326
|
+
turn: turn.transcript.length,
|
|
327
|
+
phase: turn.phase,
|
|
328
|
+
transcriptEntryCount: turn.transcript.length
|
|
329
|
+
});
|
|
330
|
+
return totalCost;
|
|
331
|
+
}
|
|
332
|
+
async function runCoordinatorWorkerTurn(turn) {
|
|
333
|
+
throwIfAborted(turn.options.signal, turn.options.model.id);
|
|
334
|
+
const request = {
|
|
335
|
+
temperature: turn.options.temperature,
|
|
336
|
+
...(turn.options.signal !== undefined ? { signal: turn.options.signal } : {}),
|
|
337
|
+
metadata: {
|
|
338
|
+
runId: turn.runId,
|
|
339
|
+
protocol: "coordinator",
|
|
340
|
+
agentId: turn.agent.id,
|
|
341
|
+
role: turn.agent.role,
|
|
342
|
+
coordinatorAgentId: turn.coordinator.id,
|
|
343
|
+
tier: turn.options.tier,
|
|
344
|
+
phase: "worker",
|
|
345
|
+
...turn.toolAvailability
|
|
346
|
+
},
|
|
347
|
+
messages: [
|
|
348
|
+
{
|
|
349
|
+
role: "system",
|
|
350
|
+
content: buildSystemPrompt(turn.agent, turn.coordinator)
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
role: "user",
|
|
354
|
+
content: turn.input
|
|
355
|
+
}
|
|
356
|
+
]
|
|
357
|
+
};
|
|
358
|
+
const response = await generateModelTurn({
|
|
359
|
+
model: turn.options.model,
|
|
360
|
+
request,
|
|
361
|
+
runId: turn.runId,
|
|
362
|
+
agent: turn.agent,
|
|
363
|
+
input: turn.input,
|
|
364
|
+
emit: turn.emit,
|
|
365
|
+
callId: turn.providerCallId,
|
|
366
|
+
onProviderCall(call) {
|
|
367
|
+
turn.providerCallSlots[turn.providerCallIndex] = call;
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
const decision = parseAgentDecision(response.text);
|
|
371
|
+
const toolCalls = await executeModelResponseToolRequests({
|
|
372
|
+
response,
|
|
373
|
+
executor: turn.toolExecutor,
|
|
374
|
+
agentId: turn.agent.id,
|
|
375
|
+
role: turn.agent.role,
|
|
376
|
+
turn: turn.turn,
|
|
377
|
+
metadata: {
|
|
378
|
+
phase: "worker"
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
throwIfAborted(turn.options.signal, turn.options.model.id);
|
|
382
|
+
return {
|
|
383
|
+
agent: turn.agent,
|
|
384
|
+
input: turn.input,
|
|
385
|
+
response,
|
|
386
|
+
decision,
|
|
387
|
+
toolCalls,
|
|
388
|
+
turnCost: responseCost(response)
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
function buildSystemPrompt(agent, coordinator) {
|
|
392
|
+
const instruction = agent.instructions ? `\nInstructions: ${agent.instructions}` : "";
|
|
393
|
+
const coordinatorText = coordinator && agent.id === coordinator.id
|
|
394
|
+
? "You are the coordinator: assign work, integrate worker contributions, and produce the final answer."
|
|
395
|
+
: `You are a worker managed by coordinator ${coordinator?.id ?? "unknown"}.`;
|
|
396
|
+
return `You are ${agent.id}, acting as ${agent.role} in a Coordinator multi-agent protocol. ${coordinatorText}${instruction}`;
|
|
397
|
+
}
|
|
398
|
+
function buildCoordinatorPlanInput(intent, coordinator) {
|
|
399
|
+
return `Mission: ${intent}\nCoordinator ${coordinator.id}: assign the work, name the plan, and provide the first contribution.`;
|
|
400
|
+
}
|
|
401
|
+
function buildWorkerInput(intent, transcript, coordinator) {
|
|
402
|
+
const prior = transcript
|
|
403
|
+
.map((entry) => `${entry.role} (${entry.agentId}): ${entry.output}`)
|
|
404
|
+
.join("\n\n");
|
|
405
|
+
return `Mission: ${intent}\n\nCoordinator: ${coordinator.id}\nPrior contributions:\n${prior}\n\nFollow the coordinator-managed plan and provide your assigned contribution.`;
|
|
406
|
+
}
|
|
407
|
+
function buildFinalSynthesisInput(intent, transcript, coordinator) {
|
|
408
|
+
const prior = transcript
|
|
409
|
+
.map((entry) => `${entry.role} (${entry.agentId}): ${entry.output}`)
|
|
410
|
+
.join("\n\n");
|
|
411
|
+
return `Mission: ${intent}\n\nCoordinator: ${coordinator.id}\nPrior contributions:\n${prior}\n\nSynthesize the final answer as the coordinator.`;
|
|
412
|
+
}
|
|
413
|
+
function responseCost(response) {
|
|
414
|
+
return {
|
|
415
|
+
usd: response.costUsd ?? 0,
|
|
416
|
+
inputTokens: response.usage?.inputTokens ?? 0,
|
|
417
|
+
outputTokens: response.usage?.outputTokens ?? 0,
|
|
418
|
+
totalTokens: response.usage?.totalTokens ?? 0
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
function createRunId() {
|
|
422
|
+
const random = globalThis.crypto?.randomUUID?.();
|
|
423
|
+
return random ?? `run-${Date.now().toString(36)}`;
|
|
424
|
+
}
|
|
425
|
+
function nowMs() {
|
|
426
|
+
return globalThis.performance?.now() ?? Date.now();
|
|
427
|
+
}
|
|
428
|
+
function elapsedMs(startedAtMs) {
|
|
429
|
+
return Math.max(0, nowMs() - startedAtMs);
|
|
430
|
+
}
|
|
431
|
+
function providerCallIdFor(runId, oneBasedIndex) {
|
|
432
|
+
return `${runId}:provider-call:${oneBasedIndex}`;
|
|
433
|
+
}
|
|
434
|
+
//# sourceMappingURL=coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../src/runtime/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentDecision, AgentParticipation } from "../types.js";
|
|
2
|
+
export declare function parseAgentDecision(output: string): AgentDecision | undefined;
|
|
3
|
+
export declare function isParticipatingDecision(decision: AgentDecision | undefined): boolean;
|
|
4
|
+
export declare function isAgentParticipation(value: string): value is AgentParticipation;
|
|
5
|
+
//# sourceMappingURL=decisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/runtime/decisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAgB5E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAEpF;AAaD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,kBAAkB,CAE/E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export function parseAgentDecision(output) {
|
|
2
|
+
const selectedRole = matchLine(output, /^role_selected:\s*(.+)$/imu);
|
|
3
|
+
const participation = matchLine(output, /^participation:\s*(contribute|abstain)$/imu);
|
|
4
|
+
const rationale = matchLine(output, /^rationale:\s*(.+)$/imu);
|
|
5
|
+
const contribution = matchContribution(output);
|
|
6
|
+
if (!selectedRole || !participation || !isAgentParticipation(participation) || !rationale || !contribution) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
selectedRole,
|
|
11
|
+
participation,
|
|
12
|
+
rationale,
|
|
13
|
+
contribution
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function isParticipatingDecision(decision) {
|
|
17
|
+
return decision?.participation !== "abstain";
|
|
18
|
+
}
|
|
19
|
+
function matchLine(output, pattern) {
|
|
20
|
+
const match = output.match(pattern);
|
|
21
|
+
return match?.[1]?.trim();
|
|
22
|
+
}
|
|
23
|
+
function matchContribution(output) {
|
|
24
|
+
const match = output.match(/^contribution:\s*\n([\s\S]*)$/imu);
|
|
25
|
+
const contribution = match?.[1]?.trim();
|
|
26
|
+
return contribution && contribution.length > 0 ? contribution : undefined;
|
|
27
|
+
}
|
|
28
|
+
export function isAgentParticipation(value) {
|
|
29
|
+
return value === "contribute" || value === "abstain";
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=decisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/runtime/decisions.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3G,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,YAAY;QACZ,aAAa;QACb,SAAS;QACT,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAmC;IACzE,OAAO,QAAQ,EAAE,aAAa,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,OAAe;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,OAAO,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { AgentSpec, Budget, CostSummary, Protocol, ProtocolConfig, ReplayTraceBudget, ReplayTraceFinalOutput, ReplayTraceProtocolDecision, ReplayTraceProtocolDecisionType, ReplayTraceProviderCall, ReplayTraceRunInputs, ReplayTraceBudgetStateChange, ReplayTraceSeed, RunResult, RunAccounting, RunEvent, RunEventLog, RunMetadata, RunUsage, Tier, TranscriptEntry, TranscriptLink } from "../types.js";
|
|
2
|
+
export declare function normalizeProtocol(protocol: Protocol | ProtocolConfig): ProtocolConfig;
|
|
3
|
+
export declare function defaultAgents(): readonly AgentSpec[];
|
|
4
|
+
export declare function orderAgentsForTemperature(agents: readonly AgentSpec[], temperature: number, seed?: string | number): readonly AgentSpec[];
|
|
5
|
+
export declare function tierTemperature(tier: Tier): number;
|
|
6
|
+
export declare function emptyCost(): CostSummary;
|
|
7
|
+
export declare function addCost(left: CostSummary, right: CostSummary): CostSummary;
|
|
8
|
+
export declare function createTranscriptLink(transcript: readonly TranscriptEntry[]): TranscriptLink;
|
|
9
|
+
export declare function createRunEventLog(runId: string, protocol: Protocol, events: readonly RunEvent[]): RunEventLog;
|
|
10
|
+
export declare function createRunUsage(cost: CostSummary): RunUsage;
|
|
11
|
+
export declare function createRunAccounting(options: {
|
|
12
|
+
readonly tier: Tier;
|
|
13
|
+
readonly budget?: Omit<Budget, "tier">;
|
|
14
|
+
readonly termination?: ReplayTraceBudget["termination"];
|
|
15
|
+
readonly cost: CostSummary;
|
|
16
|
+
readonly events: readonly RunEvent[];
|
|
17
|
+
}): RunAccounting;
|
|
18
|
+
export declare function createRunMetadata(options: {
|
|
19
|
+
readonly runId: string;
|
|
20
|
+
readonly protocol: Protocol;
|
|
21
|
+
readonly tier: Tier;
|
|
22
|
+
readonly modelProviderId: string;
|
|
23
|
+
readonly agentsUsed: readonly AgentSpec[];
|
|
24
|
+
readonly events: readonly RunEvent[];
|
|
25
|
+
}): RunMetadata;
|
|
26
|
+
export declare function createReplayTraceRunInputs(options: {
|
|
27
|
+
readonly intent: string;
|
|
28
|
+
readonly protocol: ProtocolConfig;
|
|
29
|
+
readonly tier: Tier;
|
|
30
|
+
readonly modelProviderId: string;
|
|
31
|
+
readonly agents: readonly AgentSpec[];
|
|
32
|
+
readonly temperature: number;
|
|
33
|
+
}): ReplayTraceRunInputs;
|
|
34
|
+
export declare function createReplayTraceBudget(options: {
|
|
35
|
+
readonly tier: Tier;
|
|
36
|
+
readonly caps?: Omit<Budget, "tier">;
|
|
37
|
+
readonly termination?: ReplayTraceBudget["termination"];
|
|
38
|
+
}): ReplayTraceBudget;
|
|
39
|
+
export declare function createReplayTraceBudgetStateChanges(events: readonly RunEvent[]): readonly ReplayTraceBudgetStateChange[];
|
|
40
|
+
export declare function createReplayTraceSeed(seed: string | number | undefined): ReplayTraceSeed;
|
|
41
|
+
export declare function createReplayTraceProtocolDecisions(protocol: Protocol, events: readonly RunEvent[]): readonly ReplayTraceProtocolDecision[];
|
|
42
|
+
export declare function createReplayTraceProtocolDecision(protocol: Protocol, event: RunEvent, eventIndex: number, options?: {
|
|
43
|
+
readonly decision?: ReplayTraceProtocolDecisionType;
|
|
44
|
+
readonly turn?: number;
|
|
45
|
+
readonly phase?: ReplayTraceProtocolDecision["phase"];
|
|
46
|
+
readonly round?: number;
|
|
47
|
+
readonly transcriptEntryCount?: number;
|
|
48
|
+
readonly contributionCount?: number;
|
|
49
|
+
}): ReplayTraceProtocolDecision;
|
|
50
|
+
export declare function createReplayTraceFinalOutput(output: string, event: RunEvent): ReplayTraceFinalOutput;
|
|
51
|
+
export declare function nextProviderCallId(runId: string, providerCalls: readonly ReplayTraceProviderCall[]): string;
|
|
52
|
+
/**
|
|
53
|
+
* Normalize completed run artifacts into deterministic JSON shapes.
|
|
54
|
+
*
|
|
55
|
+
* This keeps caller-owned persistence stable across runtimes: object keys are
|
|
56
|
+
* sorted recursively, undefined object fields are omitted, non-finite numbers
|
|
57
|
+
* become JSON `null`, and negative zero is normalized to zero before callers
|
|
58
|
+
* serialize the returned result, trace, event log, transcript, or metadata.
|
|
59
|
+
*/
|
|
60
|
+
export declare function canonicalizeRunResult(result: RunResult): RunResult;
|
|
61
|
+
export declare function stableJsonStringify(value: unknown): string;
|
|
62
|
+
export declare function canonicalizeSerializable<T>(value: T): T;
|
|
63
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/runtime/defaults.ts"],"names":[],"mappings":"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"}
|