@loopingai/core 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -28
- package/dist/a2a/caller.d.ts +24 -0
- package/dist/a2a/caller.d.ts.map +1 -0
- package/dist/a2a/caller.js +34 -0
- package/dist/a2a/caller.js.map +1 -0
- package/dist/a2a/card.d.ts +7 -2
- package/dist/a2a/card.d.ts.map +1 -1
- package/dist/a2a/card.js +16 -7
- package/dist/a2a/card.js.map +1 -1
- package/dist/a2a/index.d.ts +15 -0
- package/dist/a2a/index.d.ts.map +1 -1
- package/dist/a2a/index.js +15 -0
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/notify.d.ts +27 -5
- package/dist/a2a/notify.d.ts.map +1 -1
- package/dist/a2a/notify.js +18 -8
- package/dist/a2a/notify.js.map +1 -1
- package/dist/a2a/push.d.ts +71 -0
- package/dist/a2a/push.d.ts.map +1 -0
- package/dist/a2a/push.js +54 -0
- package/dist/a2a/push.js.map +1 -0
- package/dist/a2a/verify.d.ts +28 -36
- package/dist/a2a/verify.d.ts.map +1 -1
- package/dist/a2a/verify.js +20 -25
- package/dist/a2a/verify.js.map +1 -1
- package/dist/agent/index.d.ts +16 -5
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +16 -5
- package/dist/agent/index.js.map +1 -1
- package/dist/config.d.ts +49 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +25 -3
- package/dist/config.js.map +1 -1
- package/dist/contract/recipe.d.ts +14 -2
- package/dist/contract/recipe.d.ts.map +1 -1
- package/dist/contract/validation.d.ts +22 -18
- package/dist/contract/validation.d.ts.map +1 -1
- package/dist/contract/validation.js +19 -10
- package/dist/contract/validation.js.map +1 -1
- package/dist/db/models/tasks.d.ts +19 -5
- package/dist/db/models/tasks.d.ts.map +1 -1
- package/dist/db/models/tasks.js +38 -8
- package/dist/db/models/tasks.js.map +1 -1
- package/dist/host/agent.d.ts +217 -0
- package/dist/host/agent.d.ts.map +1 -0
- package/dist/host/agent.js +304 -0
- package/dist/host/agent.js.map +1 -0
- package/dist/host/index.d.ts +21 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js +20 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/plugin-host.d.ts +43 -0
- package/dist/host/plugin-host.d.ts.map +1 -0
- package/dist/host/plugin-host.js +2 -0
- package/dist/host/plugin-host.js.map +1 -0
- package/dist/round/agent.d.ts +267 -0
- package/dist/round/agent.d.ts.map +1 -0
- package/dist/round/agent.js +691 -0
- package/dist/round/agent.js.map +1 -0
- package/dist/round/index.d.ts +25 -0
- package/dist/round/index.d.ts.map +1 -0
- package/dist/round/index.js +24 -0
- package/dist/round/index.js.map +1 -0
- package/dist/round/policy.d.ts +99 -0
- package/dist/round/policy.d.ts.map +1 -0
- package/dist/round/policy.js +2 -0
- package/dist/round/policy.js.map +1 -0
- package/dist/round/subagent.d.ts +67 -0
- package/dist/round/subagent.d.ts.map +1 -0
- package/dist/round/subagent.js +89 -0
- package/dist/round/subagent.js.map +1 -0
- package/dist/round/turn.d.ts +231 -0
- package/dist/round/turn.d.ts.map +1 -0
- package/dist/round/turn.js +497 -0
- package/dist/round/turn.js.map +1 -0
- package/dist/round/workflow.d.ts +109 -0
- package/dist/round/workflow.d.ts.map +1 -0
- package/dist/round/workflow.js +316 -0
- package/dist/round/workflow.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -6
- package/dist/runtime/index.js.map +1 -1
- package/dist/subagent/fingerprint.d.ts.map +1 -1
- package/dist/subagent/fingerprint.js +7 -2
- package/dist/subagent/fingerprint.js.map +1 -1
- package/dist/testing/auth.d.ts.map +1 -1
- package/dist/testing/auth.js +10 -7
- package/dist/testing/auth.js.map +1 -1
- package/dist/testing/fixtures.d.ts +17 -0
- package/dist/testing/fixtures.d.ts.map +1 -1
- package/dist/testing/fixtures.js +17 -0
- package/dist/testing/fixtures.js.map +1 -1
- package/dist/testing/harness.d.ts +98 -0
- package/dist/testing/harness.d.ts.map +1 -0
- package/dist/testing/harness.js +139 -0
- package/dist/testing/harness.js.map +1 -0
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/worker/define-agent.d.ts +124 -0
- package/dist/worker/define-agent.d.ts.map +1 -0
- package/dist/worker/define-agent.js +21 -0
- package/dist/worker/define-agent.js.map +1 -0
- package/dist/worker/index.d.ts +29 -4
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +70 -12
- package/dist/worker/index.js.map +1 -1
- package/package.json +12 -3
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { MAX_CHUNKS_PER_BRANCH } from "../platform.js";
|
|
2
|
+
import { buildCompletedTask, buildFailedTask } from "../a2a/notify.js";
|
|
3
|
+
import { createPushChannel } from "../a2a/push.js";
|
|
4
|
+
import { selectWave } from "../subtasks/scheduler.js";
|
|
5
|
+
/**
|
|
6
|
+
* The orchestration itself, split from the `WorkflowEntrypoint` wiring so it can
|
|
7
|
+
* be driven with a fake `step` in tests (workerd forbids constructing a
|
|
8
|
+
* `WorkflowEntrypoint` outside the runtime) — and so a second agent can reuse it
|
|
9
|
+
* with different deps.
|
|
10
|
+
*
|
|
11
|
+
* Every `step.do` return here is a small projection — a status, an id, a reply.
|
|
12
|
+
* Never a Subtask row: a step return is capped at 1 MiB and a Subtask carries
|
|
13
|
+
* verbatim history snapshots, so the rows stay in the DO and the Workflow carries
|
|
14
|
+
* references to them.
|
|
15
|
+
*
|
|
16
|
+
* **Step names are durable cache keys.** Everything inside the round loop carries
|
|
17
|
+
* its round for that reason: `turn:<round>`, `deadline:<round>`,
|
|
18
|
+
* `scan:<round>:<wave>`, `cancel:<round>:<wave>`. Renaming one silently re-runs
|
|
19
|
+
* its effect on replay.
|
|
20
|
+
*/
|
|
21
|
+
export async function runHandleTask(p, step, deps) {
|
|
22
|
+
const limits = deps.config.mainAgentLimits;
|
|
23
|
+
// Pre-work. Routing is pure, so it needs no step of its own.
|
|
24
|
+
const stub = deps.resolveAgent(p.identity);
|
|
25
|
+
const push = {
|
|
26
|
+
taskId: p.taskId,
|
|
27
|
+
contextId: p.contextId,
|
|
28
|
+
pushUrl: p.pushUrl,
|
|
29
|
+
pushToken: p.pushToken,
|
|
30
|
+
jku: p.jku
|
|
31
|
+
};
|
|
32
|
+
const started = await step.do("working", async () => (await stub.markWorking(p.taskId)) === "ok");
|
|
33
|
+
if (!started)
|
|
34
|
+
return;
|
|
35
|
+
// Main-agent turns spent so far, across every round. Summed from cached step
|
|
36
|
+
// returns, so a replay reconstructs the identical number and the `mode` input
|
|
37
|
+
// below stays deterministic.
|
|
38
|
+
let turnsUsed = 0;
|
|
39
|
+
// The Task's own start, in a step so replays read the original instant rather
|
|
40
|
+
// than restarting the clock — otherwise a Workflow that retried its way through
|
|
41
|
+
// the night would never observe the deadline it had long since passed.
|
|
42
|
+
//
|
|
43
|
+
// When escalation lands, this is the line that needs care: a Task suspended on
|
|
44
|
+
// `step.waitForEvent(...)` must **rebase** it on resume, or a human's thinking
|
|
45
|
+
// time is charged to the agent and a Task that asked a question is dead before
|
|
46
|
+
// the answer arrives. `turnsUsed` needs no such handling — waiting costs none.
|
|
47
|
+
const startedAtMs = await step.do("started", async () => Date.now());
|
|
48
|
+
// At most one round per turn of the budget, **plus one**: an `open` round always
|
|
49
|
+
// spends at least one turn, so `maxTurns` of them exhaust the budget — and the
|
|
50
|
+
// forced-answer round that follows needs an iteration of its own to happen in.
|
|
51
|
+
// Off by one here and a Task of cheap rounds would fall out of the loop with no
|
|
52
|
+
// reply instead of being made to give one.
|
|
53
|
+
for (let round = 0; round <= limits.maxTurns; round++) {
|
|
54
|
+
// The clock is read *inside a step* so its answer is cached with the round:
|
|
55
|
+
// `mode` is a step input, and a replay that re-read `Date.now()` would
|
|
56
|
+
// reconstruct a different one. Time is the budget a Task can spend without
|
|
57
|
+
// spending the other — a round waiting on slow subtasks moves it while
|
|
58
|
+
// `turnsUsed` does not.
|
|
59
|
+
const overdue = await step.do(`deadline:${round}`, async () => Date.now() - startedAtMs >= limits.maxWallMs);
|
|
60
|
+
// Out of turns or out of time ⇒ this round gets no tools at all and must
|
|
61
|
+
// answer. Not a failure mode: it is how a ceiling returns the work instead of
|
|
62
|
+
// dropping it.
|
|
63
|
+
const mode = turnsUsed >= limits.maxTurns || overdue ? "final" : "open";
|
|
64
|
+
if (mode === "final") {
|
|
65
|
+
// Worth its own line: from the outside, a round the budget ended is
|
|
66
|
+
// indistinguishable from a model that simply chose to answer.
|
|
67
|
+
console.warn("[handle-task] task budget spent, forcing an answer", {
|
|
68
|
+
taskId: p.taskId,
|
|
69
|
+
round,
|
|
70
|
+
turnsUsed,
|
|
71
|
+
overdue
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
// The main agent decides. `runTaskTurn` persists whatever the round produced
|
|
75
|
+
// — a final reply, or the Subtask rows plus the acknowledgment it already
|
|
76
|
+
// pushed — so this step returns only the verdict plus what it cost. A typed
|
|
77
|
+
// `failed` is a real outcome (both models produced unusable output, with no
|
|
78
|
+
// durable work to fall back on) and routes to failed delivery; a transient
|
|
79
|
+
// fault throws and the step retries, recovering from the durable rows with no
|
|
80
|
+
// second inference.
|
|
81
|
+
const turn = await step.do(`turn:${round}`, async () => {
|
|
82
|
+
// Projected to a plain object: an RPC return carries a `Disposable` brand a
|
|
83
|
+
// step result cannot serialize. Every branch must carry `turns` — a field
|
|
84
|
+
// this projection drops is a field the budget never sees.
|
|
85
|
+
const result = await stub.runTaskTurn({
|
|
86
|
+
taskId: p.taskId,
|
|
87
|
+
text: p.text,
|
|
88
|
+
identity: p.identity,
|
|
89
|
+
round,
|
|
90
|
+
mode,
|
|
91
|
+
turnsRemaining: limits.maxTurns - turnsUsed,
|
|
92
|
+
push
|
|
93
|
+
});
|
|
94
|
+
if (result.status === "replied")
|
|
95
|
+
return {
|
|
96
|
+
status: result.status,
|
|
97
|
+
reply: result.reply,
|
|
98
|
+
turns: result.turns
|
|
99
|
+
};
|
|
100
|
+
if (result.status === "failed")
|
|
101
|
+
return {
|
|
102
|
+
status: result.status,
|
|
103
|
+
error: result.error,
|
|
104
|
+
turns: result.turns
|
|
105
|
+
};
|
|
106
|
+
return { status: result.status, turns: result.turns };
|
|
107
|
+
});
|
|
108
|
+
turnsUsed += turn.turns;
|
|
109
|
+
if (turn.status === "canceled")
|
|
110
|
+
return;
|
|
111
|
+
if (turn.status === "failed") {
|
|
112
|
+
console.error("[handle-task] round failed", {
|
|
113
|
+
taskId: p.taskId,
|
|
114
|
+
round,
|
|
115
|
+
error: turn.error
|
|
116
|
+
});
|
|
117
|
+
await deliver(p, step, stub, null, deps);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (turn.status === "replied") {
|
|
121
|
+
await deliver(p, step, stub, turn.reply, deps);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Delegated: run this round's DAG, then loop and let the model decide again.
|
|
125
|
+
const executed = await executeDag(p, step, stub, round, push, deps);
|
|
126
|
+
if (executed === "canceled")
|
|
127
|
+
return;
|
|
128
|
+
if (executed === "stuck") {
|
|
129
|
+
await deliver(p, step, stub, null, deps);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Unreachable: a `final` round is handed only `final_reply`, so it either
|
|
134
|
+
// answers or fails, and both return above. Reaching here means a round
|
|
135
|
+
// delegated with no turns left to do it with.
|
|
136
|
+
console.error("[handle-task] round budget exhausted without a reply", {
|
|
137
|
+
taskId: p.taskId
|
|
138
|
+
});
|
|
139
|
+
await deliver(p, step, stub, null, deps);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Drive one round's Subtask DAG to termination, one wave at a time.
|
|
143
|
+
*
|
|
144
|
+
* Bounded by `maxSubtasks + 1` iterations rather than looping until `done`: a
|
|
145
|
+
* wave that reports `ready` always retires at least one active node, so N
|
|
146
|
+
* Subtasks need at most N waves of work plus one final scan to observe `done`.
|
|
147
|
+
* Exhausting the budget means the DAG stopped making progress, which is the same
|
|
148
|
+
* corruption `stuck` names.
|
|
149
|
+
*
|
|
150
|
+
* Every step name carries the round, because step names are durable cache keys:
|
|
151
|
+
* two rounds of the same Task reusing `scan:0` would replay the first round's
|
|
152
|
+
* cached answer into the second.
|
|
153
|
+
*/
|
|
154
|
+
async function executeDag(p, step, stub, round, push, deps) {
|
|
155
|
+
for (let wave = 0; wave <= deps.config.maxSubtasks; wave++) {
|
|
156
|
+
// One durable step per wave: `skipBlockedSubtasks` reports cancellation,
|
|
157
|
+
// propagates skips past any branch that just failed, and returns the
|
|
158
|
+
// refreshed DAG projection — one round trip, one consistent answer.
|
|
159
|
+
const scan = await step.do(`scan:${round}:${wave}`, async () => {
|
|
160
|
+
const result = await stub.skipBlockedSubtasks(p.taskId, round);
|
|
161
|
+
return result.canceled
|
|
162
|
+
? { canceled: true, nodes: [] }
|
|
163
|
+
: { canceled: false, nodes: result.nodes };
|
|
164
|
+
});
|
|
165
|
+
if (scan.canceled) {
|
|
166
|
+
await step.do(`cancel:${round}:${wave}`, async () => {
|
|
167
|
+
await stub.cancelPendingSubtasks(p.taskId);
|
|
168
|
+
});
|
|
169
|
+
return "canceled";
|
|
170
|
+
}
|
|
171
|
+
const decision = selectWave(scan.nodes);
|
|
172
|
+
if (decision.kind === "done")
|
|
173
|
+
return "done";
|
|
174
|
+
if (decision.kind === "stuck") {
|
|
175
|
+
console.error("[handle-task] subtask DAG made no progress", {
|
|
176
|
+
taskId: p.taskId,
|
|
177
|
+
round,
|
|
178
|
+
wave,
|
|
179
|
+
active: decision.active
|
|
180
|
+
});
|
|
181
|
+
return "stuck";
|
|
182
|
+
}
|
|
183
|
+
// Every dependency-ready node runs concurrently — the per-round Subtask
|
|
184
|
+
// maximum is the only fan-out bound. `runBranch` never rejects, so a single
|
|
185
|
+
// branch cannot fast-fail `Promise.all` and strand its siblings' durable
|
|
186
|
+
// results.
|
|
187
|
+
await Promise.all(decision.ids.map((id) => runBranch(p, step, stub, id, push)));
|
|
188
|
+
}
|
|
189
|
+
console.error("[handle-task] subtask DAG exceeded its wave budget", {
|
|
190
|
+
taskId: p.taskId,
|
|
191
|
+
round
|
|
192
|
+
});
|
|
193
|
+
return "stuck";
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Run one Subtask to termination as a sequence of durable **chunk** steps, and
|
|
197
|
+
* make sure the row ends terminal either way.
|
|
198
|
+
*
|
|
199
|
+
* `executeSubtaskChunk(id, chunk)` advances one chunk: a single-chunk recipe is
|
|
200
|
+
* `done` on chunk 0 (step `execute:<id>`); a long recipe yields `done: false` and
|
|
201
|
+
* the loop runs the next chunk (`execute:<id>:chunk:<n>`) until it terminates.
|
|
202
|
+
* Each chunk is its own retryable step, and the child resumes from its
|
|
203
|
+
* checkpoint — so no step approaches the platform timeout.
|
|
204
|
+
*
|
|
205
|
+
* It resolves a deterministic branch failure into a `failed` row itself and
|
|
206
|
+
* throws only on a transient fault (retry me) or a lifecycle bug. So a throw that
|
|
207
|
+
* survives every retry — or a run that never terminates within the chunk budget —
|
|
208
|
+
* means nobody is left to resolve this row: fail *the branch* and let the next
|
|
209
|
+
* round disclose the gap, rather than discarding the durable work its siblings
|
|
210
|
+
* finished.
|
|
211
|
+
*
|
|
212
|
+
* What bounds a branch is its Recipe's turns and wall clock, both enforced inside
|
|
213
|
+
* the child, both ending in a report rather than a kill. `MAX_CHUNKS_PER_BRANCH`
|
|
214
|
+
* is a platform backstop held unreachable by design, so the `failSubtask` below
|
|
215
|
+
* should never fire — if it does, a Recipe has been given more turns than the cap
|
|
216
|
+
* allows.
|
|
217
|
+
*
|
|
218
|
+
* Step ids are unique across rounds (SQLite assigns them), so these names need no
|
|
219
|
+
* round prefix.
|
|
220
|
+
*/
|
|
221
|
+
async function runBranch(p, step, stub, id, push) {
|
|
222
|
+
try {
|
|
223
|
+
for (let chunk = 0; chunk < MAX_CHUNKS_PER_BRANCH; chunk++) {
|
|
224
|
+
// Chunk 0 keeps the plain `execute:<id>` step name so single-chunk branches
|
|
225
|
+
// replay identically; later chunks append `:chunk:<n>`.
|
|
226
|
+
const stepName = chunk === 0 ? `execute:${id}` : `execute:${id}:chunk:${chunk}`;
|
|
227
|
+
const done = await step.do(stepName, async () => {
|
|
228
|
+
// The DO posts any progress itself; the step returns only the verdict.
|
|
229
|
+
const outcome = await stub.executeSubtaskChunk(id, chunk, push);
|
|
230
|
+
return outcome.done;
|
|
231
|
+
});
|
|
232
|
+
if (done)
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// Unreachable while every Recipe's `maxTurns` stays under the cap: a chunk
|
|
236
|
+
// that yields always advanced a turn, so the budget summary comes first.
|
|
237
|
+
console.error("[handle-task] subtask exceeded its chunk budget", {
|
|
238
|
+
taskId: p.taskId,
|
|
239
|
+
subtaskId: id
|
|
240
|
+
});
|
|
241
|
+
await step.do(`fail:${id}`, async () => {
|
|
242
|
+
await stub.failSubtask(id, `execution exceeded ${MAX_CHUNKS_PER_BRANCH} chunks`);
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
console.error("[handle-task] subtask execution exhausted retries", {
|
|
247
|
+
taskId: p.taskId,
|
|
248
|
+
subtaskId: id,
|
|
249
|
+
err: String(err)
|
|
250
|
+
});
|
|
251
|
+
await step.do(`fail:${id}`, async () => {
|
|
252
|
+
await stub.failSubtask(id, `execution exhausted retries: ${String(err)}`);
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Persist the terminal Task, then notify the gateway. A null `reply` delivers a
|
|
258
|
+
* `failed` Task with the policy's user-safe text; the diagnostic is already
|
|
259
|
+
* logged.
|
|
260
|
+
*
|
|
261
|
+
* The Task is built **inside** the step and returned, so `notify` posts exactly
|
|
262
|
+
* what was persisted: building it in the body would re-stamp `new Date()` on
|
|
263
|
+
* every replay and post a Task that differs from the stored one.
|
|
264
|
+
*
|
|
265
|
+
* **The guarded write is the cancellation check.** `saveTask` refuses to write a
|
|
266
|
+
* terminal state over a `canceled` row and says so, and it does that read and
|
|
267
|
+
* write in one synchronous pass inside the DO. Probing first and saving second
|
|
268
|
+
* would leave a window — between the two calls, and again between this step and
|
|
269
|
+
* `notify` — in which a `tasks/cancel` lands and the gateway still receives a
|
|
270
|
+
* `completed` callback. Keying the notify on "did the write apply" closes it.
|
|
271
|
+
*/
|
|
272
|
+
async function deliver(p, step, stub, reply, deps) {
|
|
273
|
+
const task = await step.do("complete", async () => {
|
|
274
|
+
const terminal = reply !== null
|
|
275
|
+
? buildCompletedTask(p.taskId, p.contextId, reply)
|
|
276
|
+
: buildFailedTask(p.taskId, p.contextId, deps.policy.copy.taskFailed);
|
|
277
|
+
return (await stub.saveTask(terminal)) ? terminal : null;
|
|
278
|
+
});
|
|
279
|
+
if (!task)
|
|
280
|
+
return;
|
|
281
|
+
// Sweep this Task's managed children now that it is terminal and every `execute`
|
|
282
|
+
// step has unwound. Deleting them here — rather than right after each successful
|
|
283
|
+
// chunk — keeps `deleteSubAgent`'s facet-abort from landing on a still-open
|
|
284
|
+
// `executeChunk` RPC, which telemetry mis-records as a failure. Best-effort and
|
|
285
|
+
// idempotent, so it is safe on replay.
|
|
286
|
+
//
|
|
287
|
+
// Caught, not left to propagate: the terminal Task is already durably saved, so
|
|
288
|
+
// a sweep that still fails once the step's own retries are exhausted must not
|
|
289
|
+
// block `notify` below — the gateway is owed its result regardless of whether
|
|
290
|
+
// this Task's children were reclaimed.
|
|
291
|
+
try {
|
|
292
|
+
await step.do("sweep", async () => {
|
|
293
|
+
await stub.sweepTaskChildren(p.taskId);
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
catch (err) {
|
|
297
|
+
console.error("[handle-task] sweep failed after retries", {
|
|
298
|
+
taskId: p.taskId,
|
|
299
|
+
err: String(err)
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
// Notify the gateway: a card-key-signed callback POST. Retried by the step on a
|
|
303
|
+
// non-2xx; the terminal messageId is deterministic and the gateway is
|
|
304
|
+
// idempotent/single-use, so retries are safe. If it ultimately fails, the
|
|
305
|
+
// gateway's own reaction backstop clears the pending marker.
|
|
306
|
+
await step.do("notify", async () => {
|
|
307
|
+
await createPushChannel(deps.signingKey, {
|
|
308
|
+
taskId: p.taskId,
|
|
309
|
+
contextId: p.contextId,
|
|
310
|
+
pushUrl: p.pushUrl,
|
|
311
|
+
pushToken: p.pushToken,
|
|
312
|
+
jku: p.jku
|
|
313
|
+
}).deliver(task);
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/round/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -96,7 +96,11 @@ export interface AgentRuntime {
|
|
|
96
96
|
}
|
|
97
97
|
export interface CreateAgentRuntimeOptions {
|
|
98
98
|
plugins: readonly AgentPlugin[];
|
|
99
|
-
|
|
99
|
+
/**
|
|
100
|
+
* Required, because {@link CoreConfigOverrides} requires a model pair and core
|
|
101
|
+
* ships no default for it. Everything else in it stays optional.
|
|
102
|
+
*/
|
|
103
|
+
config: CoreConfigOverrides;
|
|
100
104
|
/**
|
|
101
105
|
* Verify that every secret and binding the plugins declared is actually
|
|
102
106
|
* present, given the Worker `env`. Off by default because core cannot know
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,8DAA8D;IAC9D,KAAK,EAAE,mBAAmB,CAAC;IAC3B,mEAAmE;IACnE,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACrD,yDAAyD;IACzD,MAAM,EAAE,YAAY,CAAC;IACrB,0EAA0E;IAC1E,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,0EAA0E;IAC1E,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACxD;;;;;OAKG;IACH,gBAAgB,EAAE,CAChB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,KAC3B,gBAAgB,CAAC;IAEtB,wDAAwD;IACxD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAChD,kEAAkE;IAClE,cAAc,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D;;;OAGG;IACH,kBAAkB,IAAI,MAAM,CAAC;IAC7B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD;;;;;;;;OAQG;IACH,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,4EAA4E;IAC5E,YAAY,CACV,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,wEAAwE;IACxE,OAAO,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -79,12 +79,8 @@ export function createAgentRuntime(options) {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
const policy = {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
config.model.fallbackChatModelId
|
|
85
|
-
]),
|
|
86
|
-
defaultPrimaryModelId: config.model.chatModelId,
|
|
87
|
-
defaultFallbackModelId: config.model.fallbackChatModelId,
|
|
82
|
+
primaryModelId: config.model.chatModelId,
|
|
83
|
+
fallbackModelId: config.model.fallbackChatModelId,
|
|
88
84
|
knownToolFamilies: new Set(toolFamilies.keys()),
|
|
89
85
|
baselineLimits: config.subagentLimits
|
|
90
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EAOxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,gBAAgB,EAEjB,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/subagent/fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/subagent/fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CA4CxE;AAqBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|
|
@@ -36,8 +36,13 @@ export function canonicalRequest(request) {
|
|
|
36
36
|
recipe: {
|
|
37
37
|
key: request.recipe.key,
|
|
38
38
|
version: request.recipe.version,
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
// No model ids. They used to be hashed because a recipe declared them;
|
|
40
|
+
// it no longer can, and their absence here is the same trade this file
|
|
41
|
+
// already makes for `limits`: the host's own configuration stays out of
|
|
42
|
+
// the fingerprint, so changing it does not invalidate every checkpoint at
|
|
43
|
+
// once and restart every in-flight run from turn zero with its budget
|
|
44
|
+
// already spent. A run that resumes on a newly configured model resumes
|
|
45
|
+
// from conversation state, which is model-independent.
|
|
41
46
|
soul: request.recipe.soul,
|
|
42
47
|
toolFamilies: request.recipe.toolFamilies,
|
|
43
48
|
enabled: request.recipe.enabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/subagent/fingerprint.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA+B;IAC9D,MAAM,SAAS,GAAG;QAChB,CAAC,EAAE,mBAAmB;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE;YACN,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;YACvB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;YAC/B,
|
|
1
|
+
{"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/subagent/fingerprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/testing/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/testing/auth.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,6EAA6E;AAC7E,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,uEAAuE;AACvE,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
|
package/dist/testing/auth.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { importJWK, SignJWT } from "jose";
|
|
2
|
-
import { IDENTITY_CLAIM, TENANT_CLAIM } from "
|
|
3
|
-
import { A2A_RPC_PATH } from "../a2a/card.js";
|
|
2
|
+
import { A2A_JWS_ALG, A2A_RPC_PATH, IDENTITY_CLAIM, TENANT_CLAIM, endpointUrl, jwksUrl } from "@loopingai/a2a-protocol";
|
|
4
3
|
import { TEST_GATEWAY_PRIVATE_JWK, GATEWAY_ORIGIN, AGENT_ORIGIN } from "./fixtures.js";
|
|
5
4
|
/** The tenant `makeGatewayToken` authorizes unless a spec says otherwise. */
|
|
6
5
|
export const TEST_TENANT = "main";
|
|
@@ -8,7 +7,7 @@ export const TEST_TENANT = "main";
|
|
|
8
7
|
export async function makeGatewayToken(options = {}) {
|
|
9
8
|
const privateKey = await importJWK(TEST_GATEWAY_PRIVATE_JWK, "EdDSA");
|
|
10
9
|
const tenant = options.tenant ?? TEST_TENANT;
|
|
11
|
-
return new SignJWT({
|
|
10
|
+
return (new SignJWT({
|
|
12
11
|
[options.identityClaim ?? IDENTITY_CLAIM]: options.identity ?? {
|
|
13
12
|
key: "custom:1:test-agent",
|
|
14
13
|
name: "Test Agent",
|
|
@@ -20,14 +19,18 @@ export async function makeGatewayToken(options = {}) {
|
|
|
20
19
|
// rejected rather than treated as a wildcard.
|
|
21
20
|
...(tenant ? { [options.tenantClaim ?? TENANT_CLAIM]: tenant } : {})
|
|
22
21
|
})
|
|
22
|
+
// Composed from `@loopingai/a2a-protocol`, the same package the real
|
|
23
|
+
// gateway mints with. A fixture that agrees with the verifier but not with
|
|
24
|
+
// the issuer is worse than no fixture: the suite goes green on tokens
|
|
25
|
+
// nothing in production would ever send.
|
|
23
26
|
.setProtectedHeader({
|
|
24
|
-
alg:
|
|
27
|
+
alg: A2A_JWS_ALG,
|
|
25
28
|
kid: TEST_GATEWAY_PRIVATE_JWK.kid,
|
|
26
|
-
jku:
|
|
29
|
+
jku: jwksUrl(GATEWAY_ORIGIN)
|
|
27
30
|
})
|
|
28
31
|
.setIssuer(options.issuer ?? GATEWAY_ORIGIN)
|
|
29
|
-
.setAudience(options.audience ??
|
|
32
|
+
.setAudience(options.audience ?? endpointUrl(AGENT_ORIGIN, A2A_RPC_PATH))
|
|
30
33
|
.setExpirationTime(options.expiresIn ?? "5m")
|
|
31
|
-
.sign(privateKey);
|
|
34
|
+
.sign(privateKey));
|
|
32
35
|
}
|
|
33
36
|
//# sourceMappingURL=auth.js.map
|
package/dist/testing/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/testing/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/testing/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,OAAO,EACR,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,YAAY,EACb,MAAM,eAAe,CAAC;AAiCvB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAA+B,EAAE;IAEjC,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;IAC7C,OAAO,CACL,IAAI,OAAO,CAAC;QACV,CAAC,OAAO,CAAC,aAAa,IAAI,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI;YAC7D,GAAG,EAAE,qBAAqB;YAC1B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,CAAC;SACf;QACD,2EAA2E;QAC3E,oEAAoE;QACpE,8CAA8C;QAC9C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;QACA,qEAAqE;QACrE,2EAA2E;QAC3E,sEAAsE;QACtE,yCAAyC;SACxC,kBAAkB,CAAC;QAClB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,wBAAwB,CAAC,GAAG;QACjC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC;KAC7B,CAAC;SACD,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC;SAC3C,WAAW,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SACxE,iBAAiB,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;SAC5C,IAAI,CAAC,UAAU,CAAC,CACpB,CAAC;AACJ,CAAC"}
|
|
@@ -21,6 +21,23 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { type JWK } from "jose";
|
|
23
23
|
import { type Message, type Task, type TaskState } from "@a2a-js/sdk";
|
|
24
|
+
/**
|
|
25
|
+
* A model pair for specs, and the only place one should be spelled.
|
|
26
|
+
*
|
|
27
|
+
* Core ships no model default — {@link ModelConfig.chatModelId} explains why —
|
|
28
|
+
* so every `resolveConfig` call needs one, including in tests. Without a shared
|
|
29
|
+
* fixture each spec invents its own id, and a suite full of invented ids is a
|
|
30
|
+
* suite that cannot tell "the config requires a model" from "this spec forgot
|
|
31
|
+
* one".
|
|
32
|
+
*
|
|
33
|
+
* The ids are deliberately obvious placeholders rather than real Workers AI
|
|
34
|
+
* models: nothing here reaches a binding, and a real id in a fixture is an
|
|
35
|
+
* invitation to copy it into an agent without deciding anything.
|
|
36
|
+
*/
|
|
37
|
+
export declare const TEST_MODELS: {
|
|
38
|
+
readonly chatModelId: "test:primary";
|
|
39
|
+
readonly fallbackChatModelId: "test:fallback";
|
|
40
|
+
};
|
|
24
41
|
/** The gateway origin used in all tests. Must match vitest.config.ts and the MockAgent setup. */
|
|
25
42
|
export declare const GATEWAY_ORIGIN = "https://gateway.test";
|
|
26
43
|
/** Agent origin matching `url.origin` for requests to `http://localhost`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE5E,iGAAiG;AACjG,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,6EAA6E;AAC7E,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,EAAE,GAAG,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAMvD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,EAAE,GAAG,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAMzD,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAE7B;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,SAAK,EACd,MAAM,SAAK,GACV,OAAO,CAkBT;AAED,iDAAiD;AACjD,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,CASN"}
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAEX,iGAAiG;AACjG,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,6EAA6E;AAC7E,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,EAAE,GAAG,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAMvD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,EAAE,GAAG,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAMzD,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAE7B;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,SAAK,EACd,MAAM,SAAK,GACV,OAAO,CAkBT;AAED,iDAAiD;AACjD,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,CASN"}
|
package/dist/testing/fixtures.js
CHANGED
|
@@ -21,6 +21,23 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import {} from "jose";
|
|
23
23
|
import { Role } from "@a2a-js/sdk";
|
|
24
|
+
/**
|
|
25
|
+
* A model pair for specs, and the only place one should be spelled.
|
|
26
|
+
*
|
|
27
|
+
* Core ships no model default — {@link ModelConfig.chatModelId} explains why —
|
|
28
|
+
* so every `resolveConfig` call needs one, including in tests. Without a shared
|
|
29
|
+
* fixture each spec invents its own id, and a suite full of invented ids is a
|
|
30
|
+
* suite that cannot tell "the config requires a model" from "this spec forgot
|
|
31
|
+
* one".
|
|
32
|
+
*
|
|
33
|
+
* The ids are deliberately obvious placeholders rather than real Workers AI
|
|
34
|
+
* models: nothing here reaches a binding, and a real id in a fixture is an
|
|
35
|
+
* invitation to copy it into an agent without deciding anything.
|
|
36
|
+
*/
|
|
37
|
+
export const TEST_MODELS = {
|
|
38
|
+
chatModelId: "test:primary",
|
|
39
|
+
fallbackChatModelId: "test:fallback"
|
|
40
|
+
};
|
|
24
41
|
/** The gateway origin used in all tests. Must match vitest.config.ts and the MockAgent setup. */
|
|
25
42
|
export const GATEWAY_ORIGIN = "https://gateway.test";
|
|
26
43
|
/** Agent origin matching `url.origin` for requests to `http://localhost`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAY,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,IAAI,EAA2C,MAAM,aAAa,CAAC;AAE5E,iGAAiG;AACjG,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAErD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,kEAAkE;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC3D,GAAG,EAAE,SAAS;IACd,CAAC,EAAE,6CAA6C;IAChD,CAAC,EAAE,6CAA6C;IAChD,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,kBAAkB;CACxB,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,GAAG,EAAE,SAAS;IACd,CAAC,EAAE,6CAA6C;IAChD,CAAC,EAAE,6CAA6C;IAChD,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,eAAe;CACrB,CAAC;AAEF,oFAAoF;AACpF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,wBAAwB,CAAC;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,KAAgB,EAChB,OAAiB;IAEjB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,IAAY,EACZ,SAAS,GAAG,EAAE,EACd,MAAM,GAAG,EAAE;IAEX,OAAO;QACL,SAAS;QACT,SAAS;QACT,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,KAAK,EAAE;YACL;gBACE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;gBACvC,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,YAAY;aACxB;SACF;QACD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,EAAE;QACd,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,QAAQ,CACtB,EAAU,EACV,SAAiB,EACjB,KAAgB,EAChB,OAAiB;IAEjB,OAAO;QACL,EAAE;QACF,SAAS;QACT,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,SAAS;KACpB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/testing/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAY,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,IAAI,EAA2C,MAAM,aAAa,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW,EAAE,cAAc;IAC3B,mBAAmB,EAAE,eAAe;CAC5B,CAAC;AAEX,iGAAiG;AACjG,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAErD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,kEAAkE;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC3D,GAAG,EAAE,SAAS;IACd,CAAC,EAAE,6CAA6C;IAChD,CAAC,EAAE,6CAA6C;IAChD,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,kBAAkB;CACxB,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,GAAG,EAAE,SAAS;IACd,CAAC,EAAE,6CAA6C;IAChD,CAAC,EAAE,6CAA6C;IAChD,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,eAAe;CACrB,CAAC;AAEF,oFAAoF;AACpF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,wBAAwB,CAAC;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,KAAgB,EAChB,OAAiB;IAEjB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,IAAY,EACZ,SAAS,GAAG,EAAE,EACd,MAAM,GAAG,EAAE;IAEX,OAAO;QACL,SAAS;QACT,SAAS;QACT,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,KAAK,EAAE;YACL;gBACE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;gBACvC,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,YAAY;aACxB;SACF;QACD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,EAAE;QACd,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,QAAQ,CACtB,EAAU,EACV,SAAiB,EACjB,KAAgB,EAChB,OAAiB;IAEjB,OAAO;QACL,EAAE;QACF,SAAS;QACT,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,SAAS;KACpB,CAAC;AACJ,CAAC"}
|