@restormel/testing-runner 0.1.4 → 0.1.6

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.
Files changed (43) hide show
  1. package/dist/ac-agent-loop.d.ts +10 -0
  2. package/dist/ac-agent-loop.d.ts.map +1 -1
  3. package/dist/ac-agent-loop.js +69 -20
  4. package/dist/ac-agent-loop.js.map +1 -1
  5. package/dist/ac-judge.d.ts +4 -1
  6. package/dist/ac-judge.d.ts.map +1 -1
  7. package/dist/ac-judge.js +69 -74
  8. package/dist/ac-judge.js.map +1 -1
  9. package/dist/ac-llm.d.ts +13 -7
  10. package/dist/ac-llm.d.ts.map +1 -1
  11. package/dist/ac-llm.js +27 -12
  12. package/dist/ac-llm.js.map +1 -1
  13. package/dist/browser-goal.d.ts +5 -0
  14. package/dist/browser-goal.d.ts.map +1 -1
  15. package/dist/browser-goal.js +14 -3
  16. package/dist/browser-goal.js.map +1 -1
  17. package/dist/egress-browser-context.d.ts +23 -0
  18. package/dist/egress-browser-context.d.ts.map +1 -0
  19. package/dist/egress-browser-context.js +46 -0
  20. package/dist/egress-browser-context.js.map +1 -0
  21. package/dist/egress-navigation.d.ts +12 -0
  22. package/dist/egress-navigation.d.ts.map +1 -0
  23. package/dist/egress-navigation.js +70 -0
  24. package/dist/egress-navigation.js.map +1 -0
  25. package/dist/evaluate-criteria.d.ts +5 -0
  26. package/dist/evaluate-criteria.d.ts.map +1 -1
  27. package/dist/evaluate-criteria.js +64 -68
  28. package/dist/evaluate-criteria.js.map +1 -1
  29. package/dist/llm-usage.d.ts +10 -0
  30. package/dist/llm-usage.d.ts.map +1 -0
  31. package/dist/llm-usage.js +22 -0
  32. package/dist/llm-usage.js.map +1 -0
  33. package/dist/run-ac-sequence-goal.d.ts.map +1 -1
  34. package/dist/run-ac-sequence-goal.js +37 -8
  35. package/dist/run-ac-sequence-goal.js.map +1 -1
  36. package/dist/run-suite.d.ts.map +1 -1
  37. package/dist/run-suite.js +140 -65
  38. package/dist/run-suite.js.map +1 -1
  39. package/dist/suite-llm-budget.d.ts +50 -0
  40. package/dist/suite-llm-budget.d.ts.map +1 -0
  41. package/dist/suite-llm-budget.js +154 -0
  42. package/dist/suite-llm-budget.js.map +1 -0
  43. package/package.json +5 -5
@@ -9,6 +9,7 @@ import { runAcShapedJudgeRubric } from "./ac-judge.js";
9
9
  import { runAcPostCheck } from "./ac-post-checks.js";
10
10
  import { evaluateBrowserSuccessCriteria } from "./evaluate-criteria.js";
11
11
  import { judgeLogicalRefForCriteria } from "./judge-ref.js";
12
+ import { installBrowserEgressRouteBlockForSession } from "./egress-browser-context.js";
12
13
  import { goalEntryUrl } from "./browser-goal.js";
13
14
  import { runMissionExecutorCommand } from "./shell-hooks.js";
14
15
  import { runGoalAttempts } from "./retries.js";
@@ -27,14 +28,19 @@ function aggregateStepVerdicts(steps) {
27
28
  }
28
29
  return v;
29
30
  }
30
- function toKeysModelMeta(model, invocations) {
31
- return {
31
+ function toKeysModelMeta(model, invocations, tokens) {
32
+ const m = {
32
33
  logicalRef: model.meta.logicalRef,
33
34
  provider: model.meta.provider,
34
35
  model: model.meta.model,
35
36
  resolutionSource: model.meta.resolutionSource,
36
37
  invocationCount: invocations,
37
38
  };
39
+ if (tokens?.prompt !== undefined)
40
+ m.promptTokens = tokens.prompt;
41
+ if (tokens?.completion !== undefined)
42
+ m.completionTokens = tokens.completion;
43
+ return m;
38
44
  }
39
45
  function refForAgent(goal, resolvedKeys) {
40
46
  const mr = goal.acSequence?.builtInAgent.modelRef?.trim();
@@ -120,7 +126,7 @@ export async function runAcSequenceBrowserGoal(options) {
120
126
  const agentModel = agentResolve.model;
121
127
  warnings.push(...agentResolve.warnings);
122
128
  const sessionFactory = options.createBrowserSession ?? createPlaywrightTestingSession;
123
- const maxRounds = cfg.builtInAgent.maxRoundsPerCriterion ?? 12;
129
+ const maxRounds = goal.llmBudget?.maxRounds ?? cfg.builtInAgent.maxRoundsPerCriterion ?? 12;
124
130
  let lastSteps = [];
125
131
  const attemptResult = await runGoalAttempts({
126
132
  maxRetries: options.retryPolicy.maxRetries,
@@ -154,7 +160,10 @@ export async function runAcSequenceBrowserGoal(options) {
154
160
  }
155
161
  const steps = [];
156
162
  let chatInvocations = 0;
163
+ let agentPromptSum = 0;
164
+ let agentCompletionSum = 0;
157
165
  try {
166
+ await installBrowserEgressRouteBlockForSession(session, options.baseUrl, options.egressAllowHosts);
158
167
  const entryUrl = goalEntryUrl(options.baseUrl, goal.startPath);
159
168
  await withTimeout(session.navigate(entryUrl, { timeoutMs: options.timeoutMs, waitUntil: "load" }), options.timeoutMs + 2000, "navigation");
160
169
  pushTrace({
@@ -225,6 +234,8 @@ export async function runAcSequenceBrowserGoal(options) {
225
234
  agentOut = await withTimeout(runBuiltInAcAgentLoop(session.page, ac, agentModel, options.baseUrl, {
226
235
  maxRounds,
227
236
  instructions: cfg.builtInAgent.instructions,
237
+ egressAllowHosts: options.egressAllowHosts,
238
+ suiteLlmBudget: options.suiteLlmBudget,
228
239
  }), perAcBudget, "ac_agent_loop");
229
240
  }
230
241
  catch (e) {
@@ -242,6 +253,10 @@ export async function runAcSequenceBrowserGoal(options) {
242
253
  }
243
254
  chatInvocations += agentOut.roundsUsed;
244
255
  agentRounds = agentOut.roundsUsed;
256
+ if (agentOut.aggregatedTokenUsage) {
257
+ agentPromptSum += agentOut.aggregatedTokenUsage.promptTokens;
258
+ agentCompletionSum += agentOut.aggregatedTokenUsage.completionTokens;
259
+ }
245
260
  if (!agentOut.ok) {
246
261
  stepVerdict = worstVerdict(stepVerdict, "failed");
247
262
  notes.push(`agent: ${agentOut.summary}`);
@@ -257,10 +272,16 @@ export async function runAcSequenceBrowserGoal(options) {
257
272
  warnings.push(...jr.warnings);
258
273
  }
259
274
  }
260
- const det = await evaluateBrowserSuccessCriteria(session.page, scMap, { judgeModel: judgeM });
275
+ const det = await evaluateBrowserSuccessCriteria(session.page, scMap, {
276
+ judgeModel: judgeM,
277
+ suiteLlmBudget: options.suiteLlmBudget,
278
+ });
261
279
  if (det.judgeModelInvocations && det.judgeModelInvocations > 0) {
262
280
  if (judgeM) {
263
- keysModelMetaFragments.push(toKeysModelMeta(judgeM, det.judgeModelInvocations));
281
+ keysModelMetaFragments.push(toKeysModelMeta(judgeM, det.judgeModelInvocations, {
282
+ prompt: det.judgePromptTokens,
283
+ completion: det.judgeCompletionTokens,
284
+ }));
264
285
  }
265
286
  }
266
287
  stepVerdict = worstVerdict(stepVerdict, det.verdict);
@@ -285,9 +306,14 @@ export async function runAcSequenceBrowserGoal(options) {
285
306
  }
286
307
  else {
287
308
  warnings.push(...rr.warnings);
288
- const jr = await runAcShapedJudgeRubric(session.page, rub, rr.model, { id: ac.id, text: ac.text });
309
+ const jr = await runAcShapedJudgeRubric(session.page, rub, rr.model, { id: ac.id, text: ac.text }, {
310
+ suiteLlmBudget: options.suiteLlmBudget,
311
+ });
289
312
  if (jr.judgeModelInvocations && jr.judgeModelInvocations > 0) {
290
- keysModelMetaFragments.push(toKeysModelMeta(rr.model, jr.judgeModelInvocations));
313
+ keysModelMetaFragments.push(toKeysModelMeta(rr.model, jr.judgeModelInvocations, {
314
+ prompt: jr.judgePromptTokens,
315
+ completion: jr.judgeCompletionTokens,
316
+ }));
291
317
  }
292
318
  stepVerdict = worstVerdict(stepVerdict, jr.verdict);
293
319
  if (jr.verdict !== "passed")
@@ -340,7 +366,10 @@ export async function runAcSequenceBrowserGoal(options) {
340
366
  stepCursor += mapped.length;
341
367
  allTraces.push(...mapped);
342
368
  if (chatInvocations > 0) {
343
- keysModelMetaFragments.push(toKeysModelMeta(agentModel, chatInvocations));
369
+ keysModelMetaFragments.push(toKeysModelMeta(agentModel, chatInvocations, {
370
+ prompt: agentPromptSum > 0 ? agentPromptSum : undefined,
371
+ completion: agentCompletionSum > 0 ? agentCompletionSum : undefined,
372
+ }));
344
373
  }
345
374
  lastSteps = steps;
346
375
  const overall = aggregateStepVerdicts(steps);
@@ -1 +1 @@
1
- {"version":3,"file":"run-ac-sequence-goal.js","sourceRoot":"","sources":["../src/run-ac-sequence-goal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-ac-sequence-goal.js","sourceRoot":"","sources":["../src/run-ac-sequence-goal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-suite.d.ts","sourceRoot":"","sources":["../src/run-suite.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA0CjG;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAmYnG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2B1F"}
1
+ {"version":3,"file":"run-suite.d.ts","sourceRoot":"","sources":["../src/run-suite.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4CjG;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAycnG;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2B1F"}
package/dist/run-suite.js CHANGED
@@ -7,6 +7,7 @@ import { runAcSequenceBrowserGoal } from "./run-ac-sequence-goal.js";
7
7
  import { toPostMissionObserveGoal } from "./post-mission-goal.js";
8
8
  import { resolveStorageStatePath } from "./storage-state.js";
9
9
  import { runMissionExecutorCommand, runShellHookCommands } from "./shell-hooks.js";
10
+ import { SuiteLlmBudgetTracker } from "./suite-llm-budget.js";
10
11
  function hookWorkingDirectory(configFilePath) {
11
12
  return configFilePath !== undefined ? dirname(configFilePath) : process.cwd();
12
13
  }
@@ -41,6 +42,8 @@ function mergeKeysMeta(fragments) {
41
42
  }
42
43
  else {
43
44
  prev.invocationCount = (prev.invocationCount ?? 0) + (f.invocationCount ?? 0);
45
+ prev.promptTokens = (prev.promptTokens ?? 0) + (f.promptTokens ?? 0);
46
+ prev.completionTokens = (prev.completionTokens ?? 0) + (f.completionTokens ?? 0);
44
47
  }
45
48
  }
46
49
  return [...byRef.values()];
@@ -117,6 +120,7 @@ export async function runSuiteFromConfig(options) {
117
120
  let stepIndex = 0;
118
121
  const allKeysFragments = [];
119
122
  const hookCwd = hookWorkingDirectory(options.configFilePath);
123
+ const budgetTracker = new SuiteLlmBudgetTracker(suite.llmBudget);
120
124
  const beforeSuiteHooks = suiteAdapterCommandsBefore(options.config.adapterHooks);
121
125
  if (beforeSuiteHooks.length > 0) {
122
126
  const hookRes = await runShellHookCommands(beforeSuiteHooks, {
@@ -179,6 +183,7 @@ export async function runSuiteFromConfig(options) {
179
183
  continue;
180
184
  }
181
185
  try {
186
+ budgetTracker.beginGoal(goal.id, goal.llmBudget);
182
187
  const isAgentBrowser = goal.type === "browser" && goal.executionMode === "agent";
183
188
  const isAcSequenceBrowser = goal.type === "browser" && goal.executionMode === "ac_sequence";
184
189
  if (isAgentBrowser) {
@@ -240,26 +245,41 @@ export async function runSuiteFromConfig(options) {
240
245
  }
241
246
  else {
242
247
  const observeGoal = toPostMissionObserveGoal(goal);
243
- const bg = await runBrowserGoal({
244
- runId,
245
- goal: observeGoal,
246
- baseUrl: profile.baseUrl,
247
- timeoutMs,
248
- retryPolicy,
249
- artifactDir: options.artifactDir,
250
- captureScreenshotOnFailure,
251
- headless: options.headless,
252
- storageStatePath,
253
- createBrowserSession: options.createBrowserSession,
254
- resolvedKeys,
255
- keysAdapterOptions: options.keysAdapterOptions,
256
- startingStepIndex: stepIndex,
257
- });
258
- stepIndex = bg.nextStepIndex;
259
- traces.push(...bg.traces);
260
- warnings.push(...bg.warnings);
261
- goalRuns.push({ ...bg.goalRecord, ...acIdsOnRecord(goal) });
262
- allKeysFragments.push(...bg.keysModelMetaFragments);
248
+ const preObserve = budgetTracker.suiteNonAcWouldBlock();
249
+ if (preObserve) {
250
+ goalRuns.push({
251
+ goalId: goal.id,
252
+ verdict: "failed",
253
+ reasonCode: preObserve.code,
254
+ summary: preObserve.summary,
255
+ retriesUsed: 0,
256
+ evidenceRefs: [],
257
+ ...acIdsOnRecord(goal),
258
+ });
259
+ }
260
+ else {
261
+ const bg = await runBrowserGoal({
262
+ runId,
263
+ goal: observeGoal,
264
+ baseUrl: profile.baseUrl,
265
+ timeoutMs,
266
+ retryPolicy,
267
+ artifactDir: options.artifactDir,
268
+ captureScreenshotOnFailure,
269
+ headless: options.headless,
270
+ storageStatePath,
271
+ createBrowserSession: options.createBrowserSession,
272
+ resolvedKeys,
273
+ keysAdapterOptions: options.keysAdapterOptions,
274
+ startingStepIndex: stepIndex,
275
+ suiteLlmBudget: budgetTracker,
276
+ });
277
+ stepIndex = bg.nextStepIndex;
278
+ traces.push(...bg.traces);
279
+ warnings.push(...bg.warnings);
280
+ goalRuns.push({ ...bg.goalRecord, ...acIdsOnRecord(goal) });
281
+ allKeysFragments.push(...bg.keysModelMetaFragments);
282
+ }
263
283
  }
264
284
  }
265
285
  }
@@ -302,53 +322,97 @@ export async function runSuiteFromConfig(options) {
302
322
  });
303
323
  }
304
324
  else {
305
- const bg = await runAcSequenceBrowserGoal({
306
- runId,
307
- goal,
308
- baseUrl: profile.baseUrl,
309
- timeoutMs,
310
- retryPolicy,
311
- artifactDir: options.artifactDir,
312
- captureScreenshotOnFailure,
313
- headless: options.headless,
314
- storageStatePath,
315
- createBrowserSession: options.createBrowserSession,
316
- resolvedKeys,
317
- keysAdapterOptions: options.keysAdapterOptions,
318
- startingStepIndex: stepIndex,
319
- suiteUserStory: suite.userStory,
320
- acceptanceCriteria: criteriaRun,
321
- hookCwd,
322
- });
323
- stepIndex = bg.nextStepIndex;
324
- traces.push(...bg.traces);
325
- warnings.push(...bg.warnings);
326
- goalRuns.push({ ...bg.goalRecord, ...acIdsOnRecord(goal) });
327
- allKeysFragments.push(...bg.keysModelMetaFragments);
325
+ const acPre = budgetTracker.suiteAcBudgetWouldBlock();
326
+ const preAc = budgetTracker.suiteNonAcWouldBlock();
327
+ if (acPre) {
328
+ goalRuns.push({
329
+ goalId: goal.id,
330
+ verdict: "failed",
331
+ reasonCode: acPre.code,
332
+ summary: acPre.summary,
333
+ retriesUsed: 0,
334
+ evidenceRefs: [],
335
+ ...acIdsOnRecord(goal),
336
+ });
337
+ }
338
+ else if (preAc) {
339
+ goalRuns.push({
340
+ goalId: goal.id,
341
+ verdict: "failed",
342
+ reasonCode: preAc.code,
343
+ summary: preAc.summary,
344
+ retriesUsed: 0,
345
+ evidenceRefs: [],
346
+ ...acIdsOnRecord(goal),
347
+ });
348
+ }
349
+ else {
350
+ const bg = await runAcSequenceBrowserGoal({
351
+ runId,
352
+ goal,
353
+ baseUrl: profile.baseUrl,
354
+ timeoutMs,
355
+ retryPolicy,
356
+ artifactDir: options.artifactDir,
357
+ captureScreenshotOnFailure,
358
+ headless: options.headless,
359
+ storageStatePath,
360
+ createBrowserSession: options.createBrowserSession,
361
+ resolvedKeys,
362
+ keysAdapterOptions: options.keysAdapterOptions,
363
+ startingStepIndex: stepIndex,
364
+ suiteUserStory: suite.userStory,
365
+ acceptanceCriteria: criteriaRun,
366
+ hookCwd,
367
+ egressAllowHosts: profile.egressAllowHosts,
368
+ suiteLlmBudget: budgetTracker,
369
+ });
370
+ stepIndex = bg.nextStepIndex;
371
+ traces.push(...bg.traces);
372
+ warnings.push(...bg.warnings);
373
+ goalRuns.push({ ...bg.goalRecord, ...acIdsOnRecord(goal) });
374
+ allKeysFragments.push(...bg.keysModelMetaFragments);
375
+ }
328
376
  }
329
377
  }
330
378
  }
331
379
  else {
332
- const bg = await runBrowserGoal({
333
- runId,
334
- goal,
335
- baseUrl: profile.baseUrl,
336
- timeoutMs,
337
- retryPolicy,
338
- artifactDir: options.artifactDir,
339
- captureScreenshotOnFailure,
340
- headless: options.headless,
341
- storageStatePath,
342
- createBrowserSession: options.createBrowserSession,
343
- resolvedKeys,
344
- keysAdapterOptions: options.keysAdapterOptions,
345
- startingStepIndex: stepIndex,
346
- });
347
- stepIndex = bg.nextStepIndex;
348
- traces.push(...bg.traces);
349
- warnings.push(...bg.warnings);
350
- goalRuns.push({ ...bg.goalRecord, ...acIdsOnRecord(goal) });
351
- allKeysFragments.push(...bg.keysModelMetaFragments);
380
+ const preBg = budgetTracker.suiteNonAcWouldBlock();
381
+ if (preBg) {
382
+ goalRuns.push({
383
+ goalId: goal.id,
384
+ verdict: "failed",
385
+ reasonCode: preBg.code,
386
+ summary: preBg.summary,
387
+ retriesUsed: 0,
388
+ evidenceRefs: [],
389
+ ...acIdsOnRecord(goal),
390
+ });
391
+ }
392
+ else {
393
+ const bg = await runBrowserGoal({
394
+ runId,
395
+ goal,
396
+ baseUrl: profile.baseUrl,
397
+ timeoutMs,
398
+ retryPolicy,
399
+ artifactDir: options.artifactDir,
400
+ captureScreenshotOnFailure,
401
+ headless: options.headless,
402
+ storageStatePath,
403
+ createBrowserSession: options.createBrowserSession,
404
+ resolvedKeys,
405
+ keysAdapterOptions: options.keysAdapterOptions,
406
+ startingStepIndex: stepIndex,
407
+ egressAllowHosts: profile.egressAllowHosts,
408
+ suiteLlmBudget: budgetTracker,
409
+ });
410
+ stepIndex = bg.nextStepIndex;
411
+ traces.push(...bg.traces);
412
+ warnings.push(...bg.warnings);
413
+ goalRuns.push({ ...bg.goalRecord, ...acIdsOnRecord(goal) });
414
+ allKeysFragments.push(...bg.keysModelMetaFragments);
415
+ }
352
416
  }
353
417
  }
354
418
  finally {
@@ -379,11 +443,22 @@ export async function runSuiteFromConfig(options) {
379
443
  const verdict = aggregateVerdict(goalRuns.map((g) => g.verdict));
380
444
  const mergedMeta = mergeKeysMeta(allKeysFragments);
381
445
  const judgeInvocations = mergedMeta.reduce((n, m) => n + (m.invocationCount ?? 0), 0);
446
+ const execSummary = budgetTracker.summarizeExecution();
447
+ const usageBits = budgetTracker.usageForCostEstimate();
382
448
  let costEstimate;
383
- if (judgeInvocations > 0) {
449
+ if (execSummary.llmCompletions > 0 || judgeInvocations > 0 || usageBits.usageSource !== "estimate") {
384
450
  costEstimate = {
385
- tokenEstimate: { input: 0, output: judgeInvocations * 120 },
451
+ ...usageBits,
452
+ suiteExecution: {
453
+ wallClockMs: execSummary.wallClockMs,
454
+ llmCompletions: execSummary.llmCompletions,
455
+ acAgentRounds: execSummary.acAgentRounds,
456
+ },
386
457
  };
458
+ if ((usageBits.usageSource === "estimate" || usageBits.usageSource === "mixed") &&
459
+ execSummary.llmCompletions > 0) {
460
+ costEstimate.tokenEstimate = { input: 0, output: execSummary.llmCompletions * 120 };
461
+ }
387
462
  }
388
463
  const acFilter = options.acceptanceCriterionIds !== undefined && options.acceptanceCriterionIds.length > 0
389
464
  ? new Set(options.acceptanceCriterionIds.map((s) => s.trim()).filter((s) => s.length > 0))
@@ -1 +1 @@
1
- {"version":3,"file":"run-suite.js","sourceRoot":"","sources":["../src/run-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-suite.js","sourceRoot":"","sources":["../src/run-suite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { LlmBudget } from "@restormel/testing-core";
2
+ import type { LlmTokenUsage } from "./llm-usage.js";
3
+ export type BudgetBlock = {
4
+ code: string;
5
+ summary: string;
6
+ };
7
+ /**
8
+ * Enforces suite- and goal-level `llm_budget` and aggregates provider token usage for {@link RunRecord.costEstimate}.
9
+ */
10
+ export declare class SuiteLlmBudgetTracker {
11
+ private readonly suiteBudget;
12
+ private readonly suiteStart;
13
+ private suiteCompletions;
14
+ private suiteAcRounds;
15
+ private goalCompletions;
16
+ private goalAcRounds;
17
+ private currentGoalId;
18
+ private goalBudget;
19
+ private promptSum;
20
+ private completionSum;
21
+ private totalReportedSum;
22
+ /** True when at least one completion returned numeric `usage` fields (including zeros). */
23
+ private providerReportedUsage;
24
+ private estimateOnlyCalls;
25
+ constructor(suiteBudget: LlmBudget | undefined);
26
+ beginGoal(goalId: string, goalBudget: LlmBudget | undefined): void;
27
+ wallClockMs(): number;
28
+ /** Call before each chat completion (judge or AC agent). */
29
+ tryConsumeLlm(kind: "ac_round" | "chat"): BudgetBlock | null;
30
+ /** Suite wall clock or total completion cap — skip starting further goals without consuming a slot. */
31
+ suiteNonAcWouldBlock(): BudgetBlock | null;
32
+ /** Before an ac_sequence goal: suite AC round budget already exhausted. */
33
+ suiteAcBudgetWouldBlock(): BudgetBlock | null;
34
+ /** Call after an LLM request returns (count attempt even if model errored after HTTP 200). */
35
+ recordLlmCall(kind: "ac_round" | "chat", usage?: LlmTokenUsage): void;
36
+ summarizeExecution(): {
37
+ wallClockMs: number;
38
+ llmCompletions: number;
39
+ acAgentRounds: number;
40
+ };
41
+ usageForCostEstimate(): {
42
+ tokenUsage?: {
43
+ prompt?: number;
44
+ completion?: number;
45
+ total?: number;
46
+ };
47
+ usageSource: "provider" | "estimate" | "mixed";
48
+ };
49
+ }
50
+ //# sourceMappingURL=suite-llm-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suite-llm-budget.d.ts","sourceRoot":"","sources":["../src/suite-llm-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAUF;;GAEG;AACH,qBAAa,qBAAqB;IAepB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAdxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,2FAA2F;IAC3F,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,iBAAiB,CAAK;gBAED,WAAW,EAAE,SAAS,GAAG,SAAS;IAE/D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAOlE,WAAW,IAAI,MAAM;IAIrB,4DAA4D;IAC5D,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IA2C5D,uGAAuG;IACvG,oBAAoB,IAAI,WAAW,GAAG,IAAI;IAiB1C,2EAA2E;IAC3E,uBAAuB,IAAI,WAAW,GAAG,IAAI;IAU7C,8FAA8F;IAC9F,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI;IAkBrE,kBAAkB,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAQ5F,oBAAoB,IAAI;QACtB,UAAU,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;KAChD;CAwBF"}