patchwork-os 0.2.0-beta.10.canary.98 → 0.2.0-beta.11
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 +20 -1
- package/dist/adapters/grok.js +6 -1
- package/dist/adapters/grok.js.map +1 -1
- package/dist/approvalHttp.js +61 -66
- package/dist/approvalHttp.js.map +1 -1
- package/dist/bridge.js +3 -2
- package/dist/bridge.js.map +1 -1
- package/dist/claudeOrchestrator.js +15 -0
- package/dist/claudeOrchestrator.js.map +1 -1
- package/dist/commands/connect.d.ts +47 -0
- package/dist/commands/connect.js +419 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/patchworkInit.d.ts +7 -0
- package/dist/commands/patchworkInit.js +26 -0
- package/dist/commands/patchworkInit.js.map +1 -1
- package/dist/commands/recipe.d.ts +14 -0
- package/dist/commands/recipe.js +51 -0
- package/dist/commands/recipe.js.map +1 -1
- package/dist/commands/recipeInstall.js +15 -0
- package/dist/commands/recipeInstall.js.map +1 -1
- package/dist/connectors/postgres.d.ts +7 -0
- package/dist/connectors/postgres.js +16 -2
- package/dist/connectors/postgres.js.map +1 -1
- package/dist/connectors/snowflake.js +6 -0
- package/dist/connectors/snowflake.js.map +1 -1
- package/dist/connectors/tokenStorage.d.ts +8 -0
- package/dist/connectors/tokenStorage.js +42 -3
- package/dist/connectors/tokenStorage.js.map +1 -1
- package/dist/drivers/claude/api.js +15 -2
- package/dist/drivers/claude/api.js.map +1 -1
- package/dist/drivers/claude/subprocess.js +1 -29
- package/dist/drivers/claude/subprocess.js.map +1 -1
- package/dist/drivers/gemini/index.js +9 -5
- package/dist/drivers/gemini/index.js.map +1 -1
- package/dist/drivers/openai/index.js +29 -4
- package/dist/drivers/openai/index.js.map +1 -1
- package/dist/drivers/outputCap.d.ts +27 -0
- package/dist/drivers/outputCap.js +50 -0
- package/dist/drivers/outputCap.js.map +1 -0
- package/dist/featureFlags.d.ts +9 -0
- package/dist/featureFlags.js +16 -0
- package/dist/featureFlags.js.map +1 -1
- package/dist/fp/commandDescription.d.ts +6 -0
- package/dist/fp/commandDescription.js +4 -4
- package/dist/fp/commandDescription.js.map +1 -1
- package/dist/fp/policyParser.js +13 -7
- package/dist/fp/policyParser.js.map +1 -1
- package/dist/haltPushDispatch.js +7 -22
- package/dist/haltPushDispatch.js.map +1 -1
- package/dist/index.js +148 -0
- package/dist/index.js.map +1 -1
- package/dist/mcpRoutes.js +1 -1
- package/dist/mcpRoutes.js.map +1 -1
- package/dist/oauth.d.ts +13 -0
- package/dist/oauth.js +34 -1
- package/dist/oauth.js.map +1 -1
- package/dist/recipeOrchestration.js +10 -0
- package/dist/recipeOrchestration.js.map +1 -1
- package/dist/recipeRoutes.d.ts +39 -0
- package/dist/recipeRoutes.js +214 -12
- package/dist/recipeRoutes.js.map +1 -1
- package/dist/recipes/agentExecutor.d.ts +20 -0
- package/dist/recipes/agentExecutor.js +32 -10
- package/dist/recipes/agentExecutor.js.map +1 -1
- package/dist/recipes/chainedRunner.d.ts +41 -2
- package/dist/recipes/chainedRunner.js +134 -6
- package/dist/recipes/chainedRunner.js.map +1 -1
- package/dist/recipes/connectorPreflight.js +30 -0
- package/dist/recipes/connectorPreflight.js.map +1 -1
- package/dist/recipes/haltCategory.d.ts +5 -0
- package/dist/recipes/haltCategory.js +7 -1
- package/dist/recipes/haltCategory.js.map +1 -1
- package/dist/recipes/judgeVerdict.d.ts +10 -0
- package/dist/recipes/judgeVerdict.js +10 -0
- package/dist/recipes/judgeVerdict.js.map +1 -1
- package/dist/recipes/names.d.ts +5 -0
- package/dist/recipes/names.js +10 -5
- package/dist/recipes/names.js.map +1 -1
- package/dist/recipes/parser.js +32 -9
- package/dist/recipes/parser.js.map +1 -1
- package/dist/recipes/pricing/costRouter.d.ts +43 -0
- package/dist/recipes/pricing/costRouter.js +44 -0
- package/dist/recipes/pricing/costRouter.js.map +1 -0
- package/dist/recipes/pricing/priceTable.d.ts +76 -0
- package/dist/recipes/pricing/priceTable.js +144 -0
- package/dist/recipes/pricing/priceTable.js.map +1 -0
- package/dist/recipes/runBudget.d.ts +82 -32
- package/dist/recipes/runBudget.js +182 -49
- package/dist/recipes/runBudget.js.map +1 -1
- package/dist/recipes/schema.d.ts +25 -4
- package/dist/recipes/schemaGenerator.d.ts +9 -0
- package/dist/recipes/schemaGenerator.js +386 -75
- package/dist/recipes/schemaGenerator.js.map +1 -1
- package/dist/recipes/simulation/aggregateRunRisk.d.ts +43 -0
- package/dist/recipes/simulation/aggregateRunRisk.js +117 -0
- package/dist/recipes/simulation/aggregateRunRisk.js.map +1 -0
- package/dist/recipes/simulation/costProjector.d.ts +32 -0
- package/dist/recipes/simulation/costProjector.js +194 -0
- package/dist/recipes/simulation/costProjector.js.map +1 -0
- package/dist/recipes/simulation/sideEffects.d.ts +32 -0
- package/dist/recipes/simulation/sideEffects.js +62 -0
- package/dist/recipes/simulation/sideEffects.js.map +1 -0
- package/dist/recipes/simulation/simulate.d.ts +36 -0
- package/dist/recipes/simulation/simulate.js +264 -0
- package/dist/recipes/simulation/simulate.js.map +1 -0
- package/dist/recipes/simulation/simulateMockedRun.d.ts +52 -0
- package/dist/recipes/simulation/simulateMockedRun.js +72 -0
- package/dist/recipes/simulation/simulateMockedRun.js.map +1 -0
- package/dist/recipes/simulation/synthesizeMockedOutputs.d.ts +31 -0
- package/dist/recipes/simulation/synthesizeMockedOutputs.js +50 -0
- package/dist/recipes/simulation/synthesizeMockedOutputs.js.map +1 -0
- package/dist/recipes/simulation/types.d.ts +198 -0
- package/dist/recipes/simulation/types.js +30 -0
- package/dist/recipes/simulation/types.js.map +1 -0
- package/dist/recipes/stepObservation.d.ts +12 -0
- package/dist/recipes/stepObservation.js +21 -1
- package/dist/recipes/stepObservation.js.map +1 -1
- package/dist/recipes/tools/airtable.d.ts +15 -0
- package/dist/recipes/tools/airtable.js +240 -0
- package/dist/recipes/tools/airtable.js.map +1 -0
- package/dist/recipes/tools/caldiy.d.ts +13 -0
- package/dist/recipes/tools/caldiy.js +214 -0
- package/dist/recipes/tools/caldiy.js.map +1 -0
- package/dist/recipes/tools/circleci.d.ts +10 -0
- package/dist/recipes/tools/circleci.js +204 -0
- package/dist/recipes/tools/circleci.js.map +1 -0
- package/dist/recipes/tools/cloudflare.d.ts +13 -0
- package/dist/recipes/tools/cloudflare.js +211 -0
- package/dist/recipes/tools/cloudflare.js.map +1 -0
- package/dist/recipes/tools/docs.d.ts +18 -0
- package/dist/recipes/tools/docs.js +94 -0
- package/dist/recipes/tools/docs.js.map +1 -0
- package/dist/recipes/tools/elasticsearch.d.ts +11 -0
- package/dist/recipes/tools/elasticsearch.js +156 -0
- package/dist/recipes/tools/elasticsearch.js.map +1 -0
- package/dist/recipes/tools/figma.d.ts +12 -0
- package/dist/recipes/tools/figma.js +194 -0
- package/dist/recipes/tools/figma.js.map +1 -0
- package/dist/recipes/tools/grafana.d.ts +11 -0
- package/dist/recipes/tools/grafana.js +216 -0
- package/dist/recipes/tools/grafana.js.map +1 -0
- package/dist/recipes/tools/http.d.ts +1 -1
- package/dist/recipes/tools/http.js +10 -28
- package/dist/recipes/tools/http.js.map +1 -1
- package/dist/recipes/tools/index.d.ts +26 -0
- package/dist/recipes/tools/index.js +26 -0
- package/dist/recipes/tools/index.js.map +1 -1
- package/dist/recipes/tools/monday.d.ts +22 -0
- package/dist/recipes/tools/monday.js +242 -0
- package/dist/recipes/tools/monday.js.map +1 -0
- package/dist/recipes/tools/obsidian.d.ts +15 -0
- package/dist/recipes/tools/obsidian.js +172 -0
- package/dist/recipes/tools/obsidian.js.map +1 -0
- package/dist/recipes/tools/paystack.d.ts +11 -0
- package/dist/recipes/tools/paystack.js +211 -0
- package/dist/recipes/tools/paystack.js.map +1 -0
- package/dist/recipes/tools/pipedrive.d.ts +16 -0
- package/dist/recipes/tools/pipedrive.js +233 -0
- package/dist/recipes/tools/pipedrive.js.map +1 -0
- package/dist/recipes/tools/postgres.d.ts +15 -0
- package/dist/recipes/tools/postgres.js +185 -0
- package/dist/recipes/tools/postgres.js.map +1 -0
- package/dist/recipes/tools/posthog.d.ts +16 -0
- package/dist/recipes/tools/posthog.js +219 -0
- package/dist/recipes/tools/posthog.js.map +1 -0
- package/dist/recipes/tools/redis.d.ts +9 -0
- package/dist/recipes/tools/redis.js +140 -0
- package/dist/recipes/tools/redis.js.map +1 -0
- package/dist/recipes/tools/resend.d.ts +8 -0
- package/dist/recipes/tools/resend.js +153 -0
- package/dist/recipes/tools/resend.js.map +1 -0
- package/dist/recipes/tools/salesforce.d.ts +16 -0
- package/dist/recipes/tools/salesforce.js +184 -0
- package/dist/recipes/tools/salesforce.js.map +1 -0
- package/dist/recipes/tools/sendgrid.d.ts +9 -0
- package/dist/recipes/tools/sendgrid.js +174 -0
- package/dist/recipes/tools/sendgrid.js.map +1 -0
- package/dist/recipes/tools/shopify.d.ts +16 -0
- package/dist/recipes/tools/shopify.js +265 -0
- package/dist/recipes/tools/shopify.js.map +1 -0
- package/dist/recipes/tools/snowflake.d.ts +16 -0
- package/dist/recipes/tools/snowflake.js +173 -0
- package/dist/recipes/tools/snowflake.js.map +1 -0
- package/dist/recipes/tools/stripe.js +13 -12
- package/dist/recipes/tools/stripe.js.map +1 -1
- package/dist/recipes/tools/supabase.d.ts +9 -0
- package/dist/recipes/tools/supabase.js +132 -0
- package/dist/recipes/tools/supabase.js.map +1 -0
- package/dist/recipes/tools/todoist.d.ts +15 -0
- package/dist/recipes/tools/todoist.js +227 -0
- package/dist/recipes/tools/todoist.js.map +1 -0
- package/dist/recipes/tools/twilio.d.ts +11 -0
- package/dist/recipes/tools/twilio.js +180 -0
- package/dist/recipes/tools/twilio.js.map +1 -0
- package/dist/recipes/tools/vercel.d.ts +9 -0
- package/dist/recipes/tools/vercel.js +145 -0
- package/dist/recipes/tools/vercel.js.map +1 -0
- package/dist/recipes/tools/webflow.d.ts +11 -0
- package/dist/recipes/tools/webflow.js +243 -0
- package/dist/recipes/tools/webflow.js.map +1 -0
- package/dist/recipes/tools/woocommerce.d.ts +18 -0
- package/dist/recipes/tools/woocommerce.js +259 -0
- package/dist/recipes/tools/woocommerce.js.map +1 -0
- package/dist/recipes/tools/wrapConnectorExecute.d.ts +25 -0
- package/dist/recipes/tools/wrapConnectorExecute.js +37 -0
- package/dist/recipes/tools/wrapConnectorExecute.js.map +1 -0
- package/dist/recipes/validation.js +264 -0
- package/dist/recipes/validation.js.map +1 -1
- package/dist/recipes/yamlRunner.d.ts +112 -3
- package/dist/recipes/yamlRunner.js +482 -19
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/dist/runLog.d.ts +46 -0
- package/dist/runLog.js +4 -0
- package/dist/runLog.js.map +1 -1
- package/dist/schemas/recipe.v1.json +217 -11
- package/dist/server.d.ts +3 -0
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -1
- package/dist/streamableHttp.js +3 -2
- package/dist/streamableHttp.js.map +1 -1
- package/dist/tools/gitWrite.js +5 -1
- package/dist/tools/gitWrite.js.map +1 -1
- package/dist/tools/terminal.js +15 -49
- package/dist/tools/terminal.js.map +1 -1
- package/dist/transport.d.ts +1 -0
- package/dist/transport.js +7 -0
- package/dist/transport.js.map +1 -1
- package/package.json +3 -3
- package/scripts/mcp-stdio-shim.cjs +218 -84
- package/templates/recipes/incident-to-pr.yaml +187 -0
|
@@ -5,6 +5,17 @@ import { defaultDeprecationWarn, normalizeRecipeForRuntime, } from "./migrations
|
|
|
5
5
|
import { RECIPE_NAME_RE, RECIPE_VAR_NAME_RE, RESERVED_VAR_NAMES, } from "./names.js";
|
|
6
6
|
import { generateSchemaSet } from "./schemaGenerator.js";
|
|
7
7
|
import { listToolOutputContextKeys } from "./toolRegistry.js";
|
|
8
|
+
/** Driver ids a `downshift` candidate may name (mirrors the JSON-schema enum). */
|
|
9
|
+
const DOWNSHIFT_KNOWN_DRIVERS = new Set([
|
|
10
|
+
"claude",
|
|
11
|
+
"claude-code",
|
|
12
|
+
"api",
|
|
13
|
+
"openai",
|
|
14
|
+
"grok",
|
|
15
|
+
"gemini",
|
|
16
|
+
"anthropic",
|
|
17
|
+
"local",
|
|
18
|
+
]);
|
|
8
19
|
export function validateRecipeDefinition(recipe) {
|
|
9
20
|
const issues = [];
|
|
10
21
|
const normalizedRecipe = normalizeRecipeForValidation(recipe);
|
|
@@ -13,6 +24,17 @@ export function validateRecipeDefinition(recipe) {
|
|
|
13
24
|
}
|
|
14
25
|
else {
|
|
15
26
|
const r = normalizedRecipe;
|
|
27
|
+
// Root-level `vars:` is silently dropped at runtime — the runner reads
|
|
28
|
+
// only `trigger.vars` / `trigger.inputs` (PR#259 trap). Warn so the
|
|
29
|
+
// author moves it under `trigger:` instead of debugging empty {{vars}}.
|
|
30
|
+
if (r.vars !== undefined) {
|
|
31
|
+
issues.push({
|
|
32
|
+
level: "warning",
|
|
33
|
+
message: "Top-level 'vars' is ignored at runtime — only 'trigger.vars' / 'trigger.inputs' are read. Move declared variables under 'trigger:'.",
|
|
34
|
+
code: "root-vars-ignored",
|
|
35
|
+
path: "vars",
|
|
36
|
+
});
|
|
37
|
+
}
|
|
16
38
|
if (!r.name || typeof r.name !== "string") {
|
|
17
39
|
issues.push({
|
|
18
40
|
level: "error",
|
|
@@ -95,8 +117,25 @@ export function validateRecipeDefinition(recipe) {
|
|
|
95
117
|
});
|
|
96
118
|
}
|
|
97
119
|
else {
|
|
120
|
+
const seenStepIds = new Set();
|
|
98
121
|
for (let i = 0; i < r.steps.length; i++) {
|
|
99
122
|
const step = r.steps[i];
|
|
123
|
+
// Duplicate step ids break dependency wiring (`awaits:`, `into:`
|
|
124
|
+
// overwrite, output keying) — the runner keys outputs by id and a
|
|
125
|
+
// second step with the same id silently clobbers the first. Reject.
|
|
126
|
+
if (typeof step.id === "string") {
|
|
127
|
+
if (seenStepIds.has(step.id)) {
|
|
128
|
+
issues.push({
|
|
129
|
+
level: "error",
|
|
130
|
+
message: `Step ${i + 1}: duplicate step id '${step.id}' — step ids must be unique`,
|
|
131
|
+
code: "duplicate-step-id",
|
|
132
|
+
path: `steps.${i}.id`,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
seenStepIds.add(step.id);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
100
139
|
const hasTool = typeof step.tool === "string";
|
|
101
140
|
const hasAgent = !!step.agent;
|
|
102
141
|
const hasNestedRecipe = typeof step.recipe === "string" || typeof step.chain === "string";
|
|
@@ -114,6 +153,116 @@ export function validateRecipeDefinition(recipe) {
|
|
|
114
153
|
message: `Step ${i + 1}: Agent step missing 'prompt'`,
|
|
115
154
|
});
|
|
116
155
|
}
|
|
156
|
+
// `driver: claude|anthropic` routes to the Anthropic API (needs
|
|
157
|
+
// ANTHROPIC_API_KEY), NOT the Claude Code subscription — a common
|
|
158
|
+
// trap. Warn at lint time when the key is absent so the step
|
|
159
|
+
// doesn't silently no-op ("[agent step skipped: ANTHROPIC_API_KEY
|
|
160
|
+
// not set]") at run time. Use `driver: subprocess`/`claude-code`
|
|
161
|
+
// for the subscription path.
|
|
162
|
+
if ((agent.driver === "claude" || agent.driver === "anthropic") &&
|
|
163
|
+
!process.env.ANTHROPIC_API_KEY) {
|
|
164
|
+
issues.push({
|
|
165
|
+
level: "warning",
|
|
166
|
+
message: `Step ${i + 1}: driver '${String(agent.driver)}' uses the Anthropic API but ANTHROPIC_API_KEY is not set — the step will be skipped at run time. Set ANTHROPIC_API_KEY, or use 'driver: subprocess' for the Claude Code subscription.`,
|
|
167
|
+
code: "driver-api-key-required",
|
|
168
|
+
path: `steps.${i}.agent.driver`,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
// OPT-IN judge→refine loop fields. Both `max_revisions` and
|
|
172
|
+
// `on_exhausted` are meaningless without a `kind: "judge"` step
|
|
173
|
+
// that points at an upstream step via `reviews:` — a refine loop
|
|
174
|
+
// needs an agent output to re-run. Flag misuse as an error so
|
|
175
|
+
// `recipe lint` / `doctor` catch it before any run.
|
|
176
|
+
const hasRefineField = agent.max_revisions !== undefined ||
|
|
177
|
+
agent.on_exhausted !== undefined;
|
|
178
|
+
if (hasRefineField) {
|
|
179
|
+
if (agent.kind !== "judge") {
|
|
180
|
+
issues.push({
|
|
181
|
+
level: "error",
|
|
182
|
+
message: `Step ${i + 1}: 'max_revisions'/'on_exhausted' require 'kind: judge' (the judge→refine loop only applies to judge steps)`,
|
|
183
|
+
code: "refine-requires-judge",
|
|
184
|
+
path: `steps.${i}.agent`,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
else if (typeof agent.reviews !== "string" ||
|
|
188
|
+
agent.reviews.length === 0) {
|
|
189
|
+
issues.push({
|
|
190
|
+
level: "error",
|
|
191
|
+
message: `Step ${i + 1}: 'max_revisions'/'on_exhausted' require 'reviews' to be set (the loop re-runs the reviewed step)`,
|
|
192
|
+
code: "refine-requires-reviews",
|
|
193
|
+
path: `steps.${i}.agent`,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (agent.max_revisions !== undefined) {
|
|
198
|
+
const mr = agent.max_revisions;
|
|
199
|
+
if (typeof mr !== "number" || !Number.isInteger(mr) || mr < 0) {
|
|
200
|
+
issues.push({
|
|
201
|
+
level: "error",
|
|
202
|
+
message: `Step ${i + 1}: 'max_revisions' must be a non-negative integer (got ${JSON.stringify(mr)})`,
|
|
203
|
+
code: "refine-max-revisions-invalid",
|
|
204
|
+
path: `steps.${i}.agent.max_revisions`,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (agent.on_exhausted !== undefined &&
|
|
209
|
+
agent.on_exhausted !== "halt" &&
|
|
210
|
+
agent.on_exhausted !== "proceed") {
|
|
211
|
+
issues.push({
|
|
212
|
+
level: "error",
|
|
213
|
+
message: `Step ${i + 1}: invalid 'on_exhausted' '${String(agent.on_exhausted)}' — must be 'halt' or 'proceed'`,
|
|
214
|
+
code: "refine-on-exhausted-enum",
|
|
215
|
+
path: `steps.${i}.agent.on_exhausted`,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
// OPT-IN cost-aware routing (Phase 4). `downshift` is an ordered list
|
|
219
|
+
// of {driver?, model?} cheaper fallbacks; each entry must set at
|
|
220
|
+
// least one field and any driver must be dispatch-known.
|
|
221
|
+
if (agent.downshift !== undefined) {
|
|
222
|
+
if (!Array.isArray(agent.downshift)) {
|
|
223
|
+
issues.push({
|
|
224
|
+
level: "error",
|
|
225
|
+
message: `Step ${i + 1}: 'downshift' must be an array of {driver?, model?} candidates`,
|
|
226
|
+
code: "downshift-type",
|
|
227
|
+
path: `steps.${i}.agent.downshift`,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
agent.downshift.forEach((entry, di) => {
|
|
232
|
+
if (typeof entry !== "object" ||
|
|
233
|
+
entry === null ||
|
|
234
|
+
Array.isArray(entry)) {
|
|
235
|
+
issues.push({
|
|
236
|
+
level: "error",
|
|
237
|
+
message: `Step ${i + 1}: downshift[${di}] must be an object with 'driver' and/or 'model'`,
|
|
238
|
+
code: "downshift-entry-type",
|
|
239
|
+
path: `steps.${i}.agent.downshift.${di}`,
|
|
240
|
+
});
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
const e = entry;
|
|
244
|
+
const hasDriver = typeof e.driver === "string";
|
|
245
|
+
const hasModel = typeof e.model === "string";
|
|
246
|
+
if (!hasDriver && !hasModel) {
|
|
247
|
+
issues.push({
|
|
248
|
+
level: "error",
|
|
249
|
+
message: `Step ${i + 1}: downshift[${di}] must set at least one of 'driver' or 'model'`,
|
|
250
|
+
code: "downshift-entry-empty",
|
|
251
|
+
path: `steps.${i}.agent.downshift.${di}`,
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
if (hasDriver &&
|
|
255
|
+
!DOWNSHIFT_KNOWN_DRIVERS.has(e.driver)) {
|
|
256
|
+
issues.push({
|
|
257
|
+
level: "error",
|
|
258
|
+
message: `Step ${i + 1}: downshift[${di}].driver '${String(e.driver)}' is not a known driver`,
|
|
259
|
+
code: "downshift-driver-enum",
|
|
260
|
+
path: `steps.${i}.agent.downshift.${di}.driver`,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
117
266
|
}
|
|
118
267
|
// Unconditional risk-enum check. `risk` was previously never
|
|
119
268
|
// validated here (the parser casts it; the JSON-schema enum is
|
|
@@ -141,6 +290,8 @@ export function validateRecipeDefinition(recipe) {
|
|
|
141
290
|
validateAwaitsTargets(r, recipe, issues);
|
|
142
291
|
validateTemplateReferences(r, issues, collectParallelEachKeys(recipe));
|
|
143
292
|
}
|
|
293
|
+
validateRecipeBudget(r, issues);
|
|
294
|
+
validateRecipeErrorPolicy(r, issues);
|
|
144
295
|
}
|
|
145
296
|
if (isEnabled(FLAG_SCHEMA_LINT)) {
|
|
146
297
|
issues.push(...validateRecipeSchema(normalizedRecipe));
|
|
@@ -159,6 +310,119 @@ export function validateRecipeDefinition(recipe) {
|
|
|
159
310
|
errors,
|
|
160
311
|
};
|
|
161
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Validate the optional recipe `budget` block. Closes a real gap: before
|
|
315
|
+
* cost-routing Phase 3 there was NO budget validation, so `tokensMax: -5` or
|
|
316
|
+
* `tokensMax: "lots"` passed lint silently. A present cap must be a positive
|
|
317
|
+
* number; `onBreach` must be the halt|warn enum.
|
|
318
|
+
*/
|
|
319
|
+
function validateRecipeBudget(r, issues) {
|
|
320
|
+
const budget = r.budget;
|
|
321
|
+
if (budget === undefined)
|
|
322
|
+
return;
|
|
323
|
+
if (typeof budget !== "object" || budget === null || Array.isArray(budget)) {
|
|
324
|
+
issues.push({
|
|
325
|
+
level: "error",
|
|
326
|
+
message: "'budget' must be an object",
|
|
327
|
+
path: "budget",
|
|
328
|
+
code: "budget-type",
|
|
329
|
+
});
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const b = budget;
|
|
333
|
+
for (const key of ["tokensMax", "usdMax"]) {
|
|
334
|
+
const value = b[key];
|
|
335
|
+
if (value === undefined)
|
|
336
|
+
continue;
|
|
337
|
+
if (typeof value !== "number" || !(value > 0)) {
|
|
338
|
+
issues.push({
|
|
339
|
+
level: "error",
|
|
340
|
+
message: `budget.${key} must be a positive number`,
|
|
341
|
+
path: `budget.${key}`,
|
|
342
|
+
code: "budget-positive",
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (b.onBreach !== undefined &&
|
|
347
|
+
b.onBreach !== "halt" &&
|
|
348
|
+
b.onBreach !== "warn") {
|
|
349
|
+
issues.push({
|
|
350
|
+
level: "error",
|
|
351
|
+
message: "budget.onBreach must be 'halt' or 'warn'",
|
|
352
|
+
path: "budget.onBreach",
|
|
353
|
+
code: "budget-onbreach-enum",
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
if (b.estimateUnmeasured !== undefined &&
|
|
357
|
+
typeof b.estimateUnmeasured !== "boolean") {
|
|
358
|
+
issues.push({
|
|
359
|
+
level: "error",
|
|
360
|
+
message: "budget.estimateUnmeasured must be a boolean",
|
|
361
|
+
path: "budget.estimateUnmeasured",
|
|
362
|
+
code: "budget-estimate-type",
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Validate the optional recipe `on_error` policy block. Audit 2026-06-03
|
|
368
|
+
* (MEDIUM): the hand-rolled lint never checked it, so a typo'd `fallback`
|
|
369
|
+
* enum, a non-numeric `retry`, or a negative `retry` (which the runtime
|
|
370
|
+
* now clamps — see chainedRunner.withRetry, audit HIGH #8) passed lint
|
|
371
|
+
* silently. Mirrors validateRecipeBudget. `retry` is a non-negative integer;
|
|
372
|
+
* `retryDelay` a non-negative number (ms); `fallback` the documented enum.
|
|
373
|
+
*/
|
|
374
|
+
function validateRecipeErrorPolicy(r, issues) {
|
|
375
|
+
const onError = r.on_error;
|
|
376
|
+
if (onError === undefined)
|
|
377
|
+
return;
|
|
378
|
+
if (typeof onError !== "object" ||
|
|
379
|
+
onError === null ||
|
|
380
|
+
Array.isArray(onError)) {
|
|
381
|
+
issues.push({
|
|
382
|
+
level: "error",
|
|
383
|
+
message: "'on_error' must be an object",
|
|
384
|
+
path: "on_error",
|
|
385
|
+
code: "on-error-type",
|
|
386
|
+
});
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
const e = onError;
|
|
390
|
+
if (e.retry !== undefined) {
|
|
391
|
+
if (typeof e.retry !== "number" ||
|
|
392
|
+
!Number.isInteger(e.retry) ||
|
|
393
|
+
e.retry < 0) {
|
|
394
|
+
issues.push({
|
|
395
|
+
level: "error",
|
|
396
|
+
message: "on_error.retry must be a non-negative integer",
|
|
397
|
+
path: "on_error.retry",
|
|
398
|
+
code: "on-error-retry",
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
if (e.retryDelay !== undefined) {
|
|
403
|
+
if (typeof e.retryDelay !== "number" ||
|
|
404
|
+
!Number.isFinite(e.retryDelay) ||
|
|
405
|
+
e.retryDelay < 0) {
|
|
406
|
+
issues.push({
|
|
407
|
+
level: "error",
|
|
408
|
+
message: "on_error.retryDelay must be a non-negative number (ms)",
|
|
409
|
+
path: "on_error.retryDelay",
|
|
410
|
+
code: "on-error-retrydelay",
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
if (e.fallback !== undefined &&
|
|
415
|
+
e.fallback !== "log_only" &&
|
|
416
|
+
e.fallback !== "abort" &&
|
|
417
|
+
e.fallback !== "deliver_original") {
|
|
418
|
+
issues.push({
|
|
419
|
+
level: "error",
|
|
420
|
+
message: "on_error.fallback must be 'log_only', 'abort', or 'deliver_original'",
|
|
421
|
+
path: "on_error.fallback",
|
|
422
|
+
code: "on-error-fallback-enum",
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
}
|
|
162
426
|
/**
|
|
163
427
|
* Validate step `awaits:` targets against the set of declared step ids.
|
|
164
428
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/recipes/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/recipes/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,12 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import path from "node:path";
|
|
27
27
|
import type { RecipeRunLog } from "../runLog.js";
|
|
28
|
-
import { type AgentResult } from "./agentExecutor.js";
|
|
28
|
+
import { type AgentResult, type AgentUsage } from "./agentExecutor.js";
|
|
29
29
|
import { type HaltCategory } from "./haltCategory.js";
|
|
30
30
|
import { WriteEffectLedger } from "./idempotencyKey.js";
|
|
31
|
+
import { type RouteCandidate } from "./pricing/costRouter.js";
|
|
32
|
+
import { type PriceTable } from "./pricing/priceTable.js";
|
|
33
|
+
import { RunBudget } from "./runBudget.js";
|
|
31
34
|
import type { ErrorPolicy } from "./schema.js";
|
|
32
35
|
import "./tools/index.js";
|
|
33
36
|
export interface YamlStep {
|
|
@@ -54,7 +57,8 @@ export interface YamlStep {
|
|
|
54
57
|
* attached to the step result but **never gates the run** — judge
|
|
55
58
|
* steps always finish with `status: "ok"` regardless of the
|
|
56
59
|
* verdict. This is the augment-only invariant: judges add signal,
|
|
57
|
-
* they don't block.
|
|
60
|
+
* they don't block. (The sole sanctioned exception is the OPT-IN
|
|
61
|
+
* judge→refine loop below — see `max_revisions`.)
|
|
58
62
|
*
|
|
59
63
|
* Pair with `reviews: <stepId>` to point the judge at the output
|
|
60
64
|
* of a prior step; the runner injects that step's `output` into
|
|
@@ -63,6 +67,38 @@ export interface YamlStep {
|
|
|
63
67
|
kind?: "agent" | "judge";
|
|
64
68
|
/** Step id whose output the judge should review. Required when `kind: "judge"`. */
|
|
65
69
|
reviews?: string;
|
|
70
|
+
/**
|
|
71
|
+
* OPT-IN judge→refine loop (only meaningful for `kind: "judge"` + `reviews`).
|
|
72
|
+
*
|
|
73
|
+
* ⚠️ INVARIANT DEPARTURE — when set (`> 0`), the judge step *drives* a
|
|
74
|
+
* bounded revision loop and MAY gate the run on exhaustion. This
|
|
75
|
+
* deliberately departs the augment-only invariant documented in
|
|
76
|
+
* judgeVerdict.ts, but ONLY when these fields are present. When
|
|
77
|
+
* `max_revisions` is absent or 0 the behavior is byte-identical to the
|
|
78
|
+
* augment-only path (parse + stash verdict, `status: "ok"`, no re-run).
|
|
79
|
+
*
|
|
80
|
+
* On a `request_changes` verdict the runner re-runs the reviewed agent
|
|
81
|
+
* step with the prior draft + the verdict's `fixList` injected, then
|
|
82
|
+
* re-judges, up to `max_revisions` cycles or until `approve`.
|
|
83
|
+
*/
|
|
84
|
+
max_revisions?: number;
|
|
85
|
+
/**
|
|
86
|
+
* What to do if the judge still returns `request_changes` after the
|
|
87
|
+
* revision budget is exhausted. `"halt"` (default) fails the run
|
|
88
|
+
* (respecting fail-open like other agent failures); `"proceed"`
|
|
89
|
+
* continues with the last draft and records the unapproved verdict.
|
|
90
|
+
* Only meaningful alongside `max_revisions > 0`.
|
|
91
|
+
*/
|
|
92
|
+
on_exhausted?: "halt" | "proceed";
|
|
93
|
+
/**
|
|
94
|
+
* OPT-IN cost-aware routing (cost-routing Phase 4). Ordered cheaper
|
|
95
|
+
* fallbacks, each overriding `driver` and/or `model`, tried when
|
|
96
|
+
* `budget.usdMax` is set and the remaining budget is too tight for the
|
|
97
|
+
* preferred driver/model. The author asserts each is good enough for the
|
|
98
|
+
* step — the engine only checks affordability. Absent ⇒ the preferred
|
|
99
|
+
* model is always used (byte-identical to no routing).
|
|
100
|
+
*/
|
|
101
|
+
downshift?: import("./pricing/costRouter.js").RouteCandidate[];
|
|
66
102
|
};
|
|
67
103
|
into?: string;
|
|
68
104
|
optional?: boolean;
|
|
@@ -266,6 +302,23 @@ export interface RunResult {
|
|
|
266
302
|
stepResults: StepResult[];
|
|
267
303
|
errorMessage?: string;
|
|
268
304
|
assertionFailures?: AssertionFailure[];
|
|
305
|
+
/**
|
|
306
|
+
* Budget warnings collected by RunBudget over the run — warn-mode token
|
|
307
|
+
* breaches + unmeasured-driver notices. Previously discarded (no reader);
|
|
308
|
+
* now surfaced so callers and the run log can show them. Absent when none.
|
|
309
|
+
*/
|
|
310
|
+
budgetWarnings?: string[];
|
|
311
|
+
/**
|
|
312
|
+
* P1 cost/token corpus — run-level aggregate of per-step agent token usage.
|
|
313
|
+
* Present ONLY when at least one step reported usage. `costUsd` summed from
|
|
314
|
+
* priceable steps only (omitted when none priceable). Forwarded to the
|
|
315
|
+
* persisted RecipeRun. Additive + optional.
|
|
316
|
+
*/
|
|
317
|
+
tokenTotals?: {
|
|
318
|
+
inputTokens: number;
|
|
319
|
+
outputTokens: number;
|
|
320
|
+
costUsd?: number;
|
|
321
|
+
};
|
|
269
322
|
}
|
|
270
323
|
export type StepResult = {
|
|
271
324
|
id: string;
|
|
@@ -279,6 +332,14 @@ export type StepResult = {
|
|
|
279
332
|
* and `bridge_recipe_judgments` metrics (forthcoming PR3b/c).
|
|
280
333
|
*/
|
|
281
334
|
judgeVerdict?: import("./judgeVerdict.js").JudgeVerdict;
|
|
335
|
+
/**
|
|
336
|
+
* OPT-IN judge→refine loop — number of revise→re-judge cycles the judge
|
|
337
|
+
* step drove. Present only when `agent.max_revisions > 0` triggered at
|
|
338
|
+
* least the loop entry (i.e. the first verdict was `request_changes` and
|
|
339
|
+
* a reviewable agent step was found). The attached `judgeVerdict` reflects
|
|
340
|
+
* the FINAL verdict after the loop, not the first.
|
|
341
|
+
*/
|
|
342
|
+
revisions?: number;
|
|
282
343
|
/**
|
|
283
344
|
* Structured error code propagated from a thrown step error. Currently
|
|
284
345
|
* populated for `recipe_path_jail_escape` (G-security A-PR1) so tests
|
|
@@ -310,6 +371,20 @@ export type StepResult = {
|
|
|
310
371
|
* instead and this stays undefined.
|
|
311
372
|
*/
|
|
312
373
|
expectWarnings?: string[];
|
|
374
|
+
/**
|
|
375
|
+
* P1 cost/token corpus — agent token usage for this step, SUMMED across
|
|
376
|
+
* every agent call the step made (a judge→refine step makes several).
|
|
377
|
+
* Absent for tool steps and for unmeasured drivers (usage undefined).
|
|
378
|
+
* Mirrors RunStepResult so this stays assignable to it.
|
|
379
|
+
*/
|
|
380
|
+
inputTokens?: number;
|
|
381
|
+
/** P1 — see `inputTokens`. Summed across all agent calls for this step. */
|
|
382
|
+
outputTokens?: number;
|
|
383
|
+
/**
|
|
384
|
+
* P1 — measured USD cost for this step. Set ONLY for a priceable billable
|
|
385
|
+
* model; NEVER `0` as a placeholder; omitted otherwise.
|
|
386
|
+
*/
|
|
387
|
+
costUsd?: number;
|
|
313
388
|
durationMs: number;
|
|
314
389
|
};
|
|
315
390
|
export type StepDeps = Required<Omit<RunnerDeps, "now" | "logDir" | "recordFixturesDir" | "runLog" | "ledgerDir" | "manualRunId" | "activityLog">> & {
|
|
@@ -345,6 +420,21 @@ export declare function validateYamlRecipe(raw: unknown): YamlRecipe;
|
|
|
345
420
|
* the recipe tool registry. Errors per-spec are logged as warnings — never fatal.
|
|
346
421
|
*/
|
|
347
422
|
export declare function loadRecipeServers(specs: string[]): Promise<void>;
|
|
423
|
+
/**
|
|
424
|
+
* P1 — single-call usage → persisted-step usage fields. Exported for the
|
|
425
|
+
* chained runner, whose agent steps make exactly one agent call (no
|
|
426
|
+
* judge→refine loop), so a per-call computation suffices. Returns undefined
|
|
427
|
+
* when the driver reported no usage (fields stay ABSENT). `costUsd` set only
|
|
428
|
+
* for a billable driver + priced model; never a `0` placeholder.
|
|
429
|
+
*/
|
|
430
|
+
export declare function computeAgentCallUsage(usage: AgentUsage | undefined, servedBy: {
|
|
431
|
+
driver?: string;
|
|
432
|
+
model?: string;
|
|
433
|
+
} | undefined, priceTable?: PriceTable): {
|
|
434
|
+
inputTokens: number;
|
|
435
|
+
outputTokens: number;
|
|
436
|
+
costUsd?: number;
|
|
437
|
+
} | undefined;
|
|
348
438
|
export declare function runYamlRecipe(recipe: YamlRecipe, deps?: RunnerDeps, seedContext?: RunContext): Promise<RunResult>;
|
|
349
439
|
export declare function executeStep(step: YamlStep, ctx: RunContext, deps: StepDeps): Promise<string | null>;
|
|
350
440
|
/** Minimal `{{ expr }}` renderer — flat keys and dot-notation paths. */
|
|
@@ -365,8 +455,27 @@ export declare function resolveClaudeBinary(): string;
|
|
|
365
455
|
export declare function defaultClaudeCodeFn(prompt: string, opts?: {
|
|
366
456
|
mcpAccess?: boolean;
|
|
367
457
|
}): Promise<string>;
|
|
458
|
+
/**
|
|
459
|
+
* Map a driver's `providerMeta` to AgentUsage. Returns undefined unless BOTH
|
|
460
|
+
* token counts are present as numbers — a half-populated count would mislead
|
|
461
|
+
* RunBudget. Pure + exported for tests.
|
|
462
|
+
*/
|
|
463
|
+
export declare function providerMetaToUsage(meta: Record<string, unknown> | undefined): AgentUsage | undefined;
|
|
464
|
+
/**
|
|
465
|
+
* Apply opt-in cost-aware routing (Phase 4) to choose the driver/model for an
|
|
466
|
+
* agent dispatch. Returns `preferred` UNCHANGED when there is no downshift list
|
|
467
|
+
* or no USD cap is set (byte-identical to no routing). The output-token figure
|
|
468
|
+
* is a deliberately-rough 1:1-of-input pre-dispatch estimate — enough to pick a
|
|
469
|
+
* gear; the real cost is reconciled after the call (see the cost-routing ADR).
|
|
470
|
+
* Exported for unit testing.
|
|
471
|
+
*/
|
|
472
|
+
export declare function resolveRouting(preferred: RouteCandidate, downshift: RouteCandidate[] | undefined, promptText: string, budget: RunBudget): RouteCandidate;
|
|
368
473
|
/** Returns a providerDriverFn with a per-run driver cache (not shared across runs). */
|
|
369
|
-
export declare function makeProviderDriverFn(): (driverName: "openai" | "grok" | "gemini", prompt: string, model: string | undefined) => Promise<string>;
|
|
474
|
+
export declare function makeProviderDriverFn(): (driverName: "openai" | "grok" | "gemini", prompt: string, model: string | undefined) => Promise<string | AgentResult>;
|
|
475
|
+
export declare function defaultClaudeFn(prompt: string, model: string, opts?: {
|
|
476
|
+
timeoutMs?: number;
|
|
477
|
+
maxTokens?: number;
|
|
478
|
+
}): Promise<AgentResult>;
|
|
370
479
|
export declare function defaultLocalFn(prompt: string, model: string): Promise<AgentResult>;
|
|
371
480
|
/**
|
|
372
481
|
* Build ExecutionDeps for ChainedRecipeRunner backed by the yamlRunner step
|