@captra-ai/core 0.8.0 → 0.10.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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  The typed contract and execution runtime behind Captra: capabilities, agents, tools, scoped memory, approvals, budgets, durable runs, cancellation, checkpoints, effect receipts, telemetry, replay, and evaluations.
4
4
 
5
+ `runtime.usage` records every model-provider attempt and can summarize cost, tokens, reliability, and latency by run, capability, user, tenant, provider, or model. Use `InMemoryUsageStore` locally and `PostgresUsageStore` for durable deployments.
6
+
5
7
  ```bash
6
8
  npm install @captra-ai/core zod
7
9
  ```
package/dist/agent.js CHANGED
@@ -60,7 +60,7 @@ async function runAgent(definition, input, context, allowed, tools) {
60
60
  let response;
61
61
  try {
62
62
  response = await definition.model.generate({ messages: state.messages, tools, output: { type: 'json_schema', name: outputName(definition.name), schema: toJSONSchema(definition.output), strict: true }, signal: context.signal, temperature: definition.temperature, maxOutputTokens: reservedOutput, providerState: state.providerState });
63
- await emitModelAttempts(context, definition.name, response.attempts);
63
+ await emitModelAttempts(context, definition.name, state.step, response.attempts ?? [{ provider: response.provider ?? 'unknown', model: response.model, attempt: 1, status: 'succeeded', durationMs: Date.now() - modelStarted, usage: response.usage }]);
64
64
  modelSpan.setAttribute('model', response.model);
65
65
  modelSpan.setAttribute('provider', response.provider);
66
66
  modelSpan.setAttribute('inputTokens', response.usage?.inputTokens);
@@ -71,7 +71,7 @@ async function runAgent(definition, input, context, allowed, tools) {
71
71
  }
72
72
  catch (error) {
73
73
  if (error instanceof ModelFallbackError)
74
- await emitModelAttempts(context, definition.name, error.attempts);
74
+ await emitModelAttempts(context, definition.name, state.step, error.attempts);
75
75
  await context.budgets.release(reservation.id);
76
76
  await context.emit({ type: 'budget.released', capability: definition.name, detail: 'Released failed model-call reservation', data: { reservationId: reservation.id } });
77
77
  modelSpan.end(error);
@@ -123,8 +123,10 @@ function isAgentState(value) { const state = value; if (!state || state.version
123
123
  return false; state.inputTokens ??= state.tokens; state.outputTokens ??= 0; state.costUsd ??= 0; return true; }
124
124
  async function exceed(context, capability, error) { await context.emit({ type: 'budget.exceeded', capability, detail: error.message, data: { code: error.code, scope: error.scope, resource: error.resource, limit: error.limit, used: error.used, requested: error.requested, retryAt: error.retryAt } }); throw error; }
125
125
  function outputName(name) { return `${name.replace(/[^a-zA-Z0-9_-]/g, '_')}_output`.slice(0, 64); }
126
- async function emitModelAttempts(context, capability, attempts) { if (!attempts)
126
+ async function emitModelAttempts(context, capability, step, attempts) { if (!attempts)
127
127
  return; let previous; for (const attempt of attempts) {
128
+ const usage = attempt.usage ?? {}, id = `${context.runId}:${capability}:${step}:${attempt.provider}:${attempt.attempt}`;
129
+ await context.usage.record({ id, runId: context.runId, tenantId: context.tenantId, userId: context.userId, projectId: context.projectId, capability, provider: attempt.provider, model: attempt.model, attempt: attempt.attempt, status: attempt.status, inputTokens: usage.inputTokens ?? 0, outputTokens: usage.outputTokens ?? 0, cachedInputTokens: usage.cachedInputTokens ?? 0, reasoningTokens: usage.reasoningTokens ?? 0, costUsd: usage.costUsd ?? 0, durationMs: attempt.durationMs });
128
130
  await context.emit({ type: 'model.provider.attempt', capability, detail: `${attempt.provider} ${attempt.status}`, data: attempt });
129
131
  context.telemetry.counter?.('captra.model.provider.attempts', 1, { capability, provider: attempt.provider, status: attempt.status, code: attempt.code });
130
132
  if (previous && previous !== attempt.provider)
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -8,6 +8,7 @@ import { type CheckpointStore, type RunCheckpoints } from './checkpoints.js';
8
8
  import { type TelemetryAdapter } from './telemetry.js';
9
9
  import { type BudgetAdapter } from './budgets.js';
10
10
  import { type EffectStore } from './effects.js';
11
+ import { type UsageStore } from './usage.js';
11
12
  export type ApprovalRequest = {
12
13
  capability: string;
13
14
  summary: string;
@@ -36,6 +37,7 @@ export type RuntimeContext = ExecutionIdentity & {
36
37
  checkpoints: RunCheckpoints;
37
38
  budgets: BudgetAdapter;
38
39
  effects: EffectStore;
40
+ usage: UsageStore;
39
41
  telemetry: TelemetryAdapter;
40
42
  signal: AbortSignal;
41
43
  emit: (event: Omit<CaptraEvent, 'id' | 'protocol' | 'runId' | 'sequence' | 'at'>) => Promise<void>;
@@ -182,6 +184,7 @@ export type RuntimeOptions = {
182
184
  checkpoints?: CheckpointStore;
183
185
  budgets?: BudgetAdapter;
184
186
  effects?: EffectStore;
187
+ usage?: UsageStore;
185
188
  telemetry?: TelemetryAdapter;
186
189
  authorize?: (identity: ExecutionIdentity, permissions: readonly string[]) => Promise<boolean> | boolean;
187
190
  authorizeApproval?: (approver: ExecutionIdentity, run: RunRecord) => Promise<boolean> | boolean;
@@ -194,6 +197,7 @@ export declare function createRuntime(app: AgentApp, options?: RuntimeOptions |
194
197
  checkpoints: CheckpointStore;
195
198
  budgets: BudgetAdapter;
196
199
  effects: EffectStore;
200
+ usage: UsageStore;
197
201
  telemetry: TelemetryAdapter;
198
202
  execute: (request: RunRequest) => Promise<CapabilityResult>;
199
203
  enqueue: (request: RunRequest, queue: WorkQueue, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/core.js CHANGED
@@ -5,6 +5,7 @@ import { InMemoryCheckpointStore } from './checkpoints.js';
5
5
  import { noopTelemetry } from './telemetry.js';
6
6
  import { InMemoryBudgetAdapter } from './budgets.js';
7
7
  import { InMemoryEffectStore } from './effects.js';
8
+ import { InMemoryUsageStore } from './usage.js';
8
9
  export class RunCancelledError extends Error {
9
10
  runId;
10
11
  code = 'run_cancelled';
@@ -54,7 +55,7 @@ export function defineApp(definition) {
54
55
  }
55
56
  export function createRuntime(app, options = {}) {
56
57
  const normalized = options instanceof MemoryStore ? { memory: options } : options;
57
- const memory = normalized.memory ?? new MemoryStore(), runs = normalized.runs ?? new InMemoryRunStore(), checkpoints = normalized.checkpoints ?? new InMemoryCheckpointStore(), budgets = normalized.budgets ?? new InMemoryBudgetAdapter(), effects = normalized.effects ?? new InMemoryEffectStore(), telemetry = normalized.telemetry ?? noopTelemetry, byName = new Map(app.capabilities.map(c => [c.name, c])), activeRuns = new Map();
58
+ const memory = normalized.memory ?? new MemoryStore(), runs = normalized.runs ?? new InMemoryRunStore(), checkpoints = normalized.checkpoints ?? new InMemoryCheckpointStore(), budgets = normalized.budgets ?? new InMemoryBudgetAdapter(), effects = normalized.effects ?? new InMemoryEffectStore(), usage = normalized.usage ?? new InMemoryUsageStore(), telemetry = normalized.telemetry ?? noopTelemetry, byName = new Map(app.capabilities.map(c => [c.name, c])), activeRuns = new Map();
58
59
  const resultFor = async (run, capability) => ({ run, capability, value: run.output, trace: await runs.events(run.id) });
59
60
  async function continueRun(run, capability) {
60
61
  const controller = new AbortController();
@@ -76,7 +77,7 @@ export function createRuntime(app, options = {}) {
76
77
  await observe(() => hook.onEvent(saved, context)); };
77
78
  const scopedCheckpoints = { save: async (key, state) => { const saved = await checkpoints.save(run.id, key, state); await emit({ type: 'checkpoint.saved', capability: capability.name, detail: key, data: { sequence: saved.sequence } }); return saved; }, load: async (key) => { const saved = await checkpoints.load(run.id, key); if (saved)
78
79
  await emit({ type: 'checkpoint.restored', capability: capability.name, detail: key, data: { sequence: saved.sequence } }); return saved; }, list: () => checkpoints.list(run.id) };
79
- Object.assign(context, { ...run.identity, runId: run.id, memory, memories: [], checkpoints: scopedCheckpoints, budgets, effects, telemetry, signal: controller.signal, emit });
80
+ Object.assign(context, { ...run.identity, runId: run.id, memory, memories: [], checkpoints: scopedCheckpoints, budgets, effects, usage, telemetry, signal: controller.signal, emit });
80
81
  Object.assign(context, { tools: createToolRunner(app.tools, context, async (permissions) => !normalized.authorize || await normalized.authorize(run.identity, permissions), {
81
82
  before: async (name, input) => { let value = input; for (const hook of app.hooks)
82
83
  if (hook.beforeTool)
@@ -205,7 +206,7 @@ export function createRuntime(app, options = {}) {
205
206
  throw new Error(`Run ${runId} cannot be cancelled`); activeRuns.get(runId)?.abort(new RunCancelledError(runId)); await runs.appendEvent(runId, { type: 'run.cancelled', capability: run.capability, detail: 'Cancelled' }); return cancelled; }
206
207
  async function replay(runId) { const run = await runs.get(runId); if (!run)
207
208
  throw new Error(`Unknown run: ${runId}`); return { run, events: await runs.events(runId), checkpoints: await checkpoints.list(runId) }; }
208
- return { app, memory, runs, checkpoints, budgets, effects, telemetry, execute, enqueue, resume, replay, approve, cancel, async run(name, input, legacy) { let result = await execute({ capability: name, input, identity: { tenantId: legacy.tenantId ?? 'default', userId: legacy.userId, projectId: legacy.projectId } }); if (result.run.status === 'waiting_for_approval') {
209
+ return { app, memory, runs, checkpoints, budgets, effects, usage, telemetry, execute, enqueue, resume, replay, approve, cancel, async run(name, input, legacy) { let result = await execute({ capability: name, input, identity: { tenantId: legacy.tenantId ?? 'default', userId: legacy.userId, projectId: legacy.projectId } }); if (result.run.status === 'waiting_for_approval') {
209
210
  if (!legacy.approver)
210
211
  throw new Error('Legacy approval requires an independent approver identity');
211
212
  const allowed = await legacy.approve({ capability: name, summary: result.capability.description, input });
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/evals.d.ts CHANGED
@@ -1,11 +1,34 @@
1
1
  import type { CapabilityResult, ExecutionIdentity, Runtime } from './core.js';
2
+ export type EvaluationScore = {
3
+ name: string;
4
+ value: number;
5
+ passed: boolean;
6
+ detail?: string;
7
+ };
8
+ export type EvaluationScorer = {
9
+ name: string;
10
+ score: (result: CapabilityResult, test: EvaluationCase) => number | EvaluationScore | Promise<number | EvaluationScore>;
11
+ threshold?: number;
12
+ };
2
13
  export type EvaluationCase = {
3
14
  name: string;
4
15
  capability: string;
5
16
  input: unknown;
6
17
  identity: ExecutionIdentity;
7
18
  assert?: (result: CapabilityResult) => boolean | Promise<boolean>;
19
+ scorers?: readonly EvaluationScorer[];
8
20
  tags?: readonly string[];
21
+ limits?: {
22
+ maxDurationMs?: number;
23
+ maxTokens?: number;
24
+ maxCostUsd?: number;
25
+ };
26
+ };
27
+ export type EvaluationSuite = {
28
+ version: 1;
29
+ name: string;
30
+ cases: readonly EvaluationCase[];
31
+ metadata?: Readonly<Record<string, string>>;
9
32
  };
10
33
  export type EvaluationResult = {
11
34
  name: string;
@@ -14,18 +37,58 @@ export type EvaluationResult = {
14
37
  runId?: string;
15
38
  error?: string;
16
39
  tags: readonly string[];
40
+ tokens: number;
41
+ costUsd: number;
42
+ scores: readonly EvaluationScore[];
17
43
  };
18
44
  export type EvaluationReport = {
45
+ suite?: string;
46
+ variant?: string;
19
47
  results: EvaluationResult[];
20
48
  passed: number;
21
49
  failed: number;
22
50
  passRate: number;
23
51
  durationMs: number;
52
+ tokens: number;
53
+ costUsd: number;
54
+ p95DurationMs: number;
55
+ scoreAverages: Record<string, number>;
24
56
  };
25
- export declare function runEvaluation(runtime: Runtime, cases: readonly EvaluationCase[]): Promise<EvaluationReport>;
26
- export declare function enforceEvaluation(report: EvaluationReport, thresholds: {
57
+ export type EvaluationThresholds = {
27
58
  minPassRate?: number;
28
59
  maxFailures?: number;
29
60
  maxDurationMs?: number;
30
- }): EvaluationReport;
61
+ maxP95DurationMs?: number;
62
+ maxTokens?: number;
63
+ maxCostUsd?: number;
64
+ minScores?: Readonly<Record<string, number>>;
65
+ };
66
+ export type EvaluationVariant = {
67
+ name: string;
68
+ runtime: Runtime;
69
+ };
70
+ export type EvaluationComparison = {
71
+ baseline: string;
72
+ reports: EvaluationReport[];
73
+ deltas: Array<{
74
+ variant: string;
75
+ passRate: number;
76
+ durationMs: number;
77
+ tokens: number;
78
+ costUsd: number;
79
+ scores: Record<string, number>;
80
+ }>;
81
+ };
82
+ export declare class EvaluationRegressionError extends Error {
83
+ readonly failures: readonly string[];
84
+ readonly report: EvaluationReport;
85
+ readonly code = "evaluation_regression";
86
+ constructor(failures: readonly string[], report: EvaluationReport);
87
+ }
88
+ export declare function runEvaluation(runtime: Runtime, casesOrSuite: readonly EvaluationCase[] | EvaluationSuite, options?: {
89
+ variant?: string;
90
+ }): Promise<EvaluationReport>;
91
+ export declare function compareEvaluations(variants: readonly EvaluationVariant[], casesOrSuite: readonly EvaluationCase[] | EvaluationSuite, baseline?: string): Promise<EvaluationComparison>;
92
+ export declare function enforceEvaluation(report: EvaluationReport, thresholds: EvaluationThresholds): EvaluationReport;
93
+ export declare function formatEvaluation(report: EvaluationReport, format?: 'json' | 'markdown' | 'junit'): string;
31
94
  //# sourceMappingURL=evals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evals.d.ts","sourceRoot":"","sources":["../src/evals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAC,iBAAiB,EAAC,OAAO,EAAE,MAAM,WAAW,CAAA;AAE3E,MAAM,MAAM,cAAc,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,OAAO,CAAC;IAAA,QAAQ,EAAC,iBAAiB,CAAC;IAAA,MAAM,CAAC,EAAC,CAAC,MAAM,EAAC,gBAAgB,KAAG,OAAO,GAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,IAAI,CAAC,EAAC,SAAS,MAAM,EAAE,CAAA;CAAC,CAAA;AACvL,MAAM,MAAM,gBAAgB,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,OAAO,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,SAAS,MAAM,EAAE,CAAA;CAAC,CAAA;AAC9H,MAAM,MAAM,gBAAgB,GAAC;IAAC,OAAO,EAAC,gBAAgB,EAAE,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAA;CAAC,CAAA;AACvH,wBAAsB,aAAa,CAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,cAAc,EAAE,GAAE,OAAO,CAAC,gBAAgB,CAAC,CAAqzB;AACn6B,wBAAgB,iBAAiB,CAAC,MAAM,EAAC,gBAAgB,EAAC,UAAU,EAAC;IAAC,WAAW,CAAC,EAAC,MAAM,CAAC;IAAA,WAAW,CAAC,EAAC,MAAM,CAAC;IAAA,aAAa,CAAC,EAAC,MAAM,CAAA;CAAC,oBAAokB"}
1
+ {"version":3,"file":"evals.d.ts","sourceRoot":"","sources":["../src/evals.ts"],"names":[],"mappings":"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"}
package/dist/evals.js CHANGED
@@ -1,18 +1,95 @@
1
- export async function runEvaluation(runtime, cases) { const started = Date.now(), results = []; for (const test of cases) {
2
- const caseStarted = Date.now();
3
- try {
4
- const result = await runtime.execute({ capability: test.capability, input: test.input, identity: test.identity });
5
- const passed = test.assert ? await test.assert(result) : result.run.status === 'completed';
6
- results.push({ name: test.name, passed, durationMs: Date.now() - caseStarted, runId: result.run.id, tags: test.tags ?? [], ...(!passed ? { error: 'Assertion returned false' } : {}) });
1
+ export class EvaluationRegressionError extends Error {
2
+ failures;
3
+ report;
4
+ code = 'evaluation_regression';
5
+ constructor(failures, report) {
6
+ super(`Evaluation regression: ${failures.join('; ')}`);
7
+ this.failures = failures;
8
+ this.report = report;
9
+ this.name = 'EvaluationRegressionError';
7
10
  }
8
- catch (error) {
9
- results.push({ name: test.name, passed: false, durationMs: Date.now() - caseStarted, error: error instanceof Error ? error.message : String(error), tags: test.tags ?? [] });
11
+ }
12
+ export async function runEvaluation(runtime, casesOrSuite, options = {}) {
13
+ const suite = Array.isArray(casesOrSuite) ? undefined : casesOrSuite, cases = Array.isArray(casesOrSuite) ? casesOrSuite : casesOrSuite.cases, started = Date.now(), results = [];
14
+ for (const test of cases) {
15
+ const caseStarted = Date.now();
16
+ try {
17
+ const result = await runtime.execute({ capability: test.capability, input: test.input, identity: test.identity }), durationMs = Date.now() - caseStarted, usage = usageFrom(result), scores = await scoreResult(result, test), failures = [];
18
+ if (test.assert && !(await test.assert(result)))
19
+ failures.push('Assertion returned false');
20
+ for (const score of scores)
21
+ if (!score.passed)
22
+ failures.push(`${score.name} score ${score.value} is below threshold`);
23
+ if (durationMs > (test.limits?.maxDurationMs ?? Number.POSITIVE_INFINITY))
24
+ failures.push(`duration ${durationMs}ms exceeds ${test.limits?.maxDurationMs}ms`);
25
+ if (usage.tokens > (test.limits?.maxTokens ?? Number.POSITIVE_INFINITY))
26
+ failures.push(`tokens ${usage.tokens} exceeds ${test.limits?.maxTokens}`);
27
+ if (usage.costUsd > (test.limits?.maxCostUsd ?? Number.POSITIVE_INFINITY))
28
+ failures.push(`cost $${usage.costUsd.toFixed(6)} exceeds $${test.limits?.maxCostUsd}`);
29
+ results.push({ name: test.name, passed: failures.length === 0 && result.run.status === 'completed', durationMs, runId: result.run.id, tags: test.tags ?? [], tokens: usage.tokens, costUsd: usage.costUsd, scores, ...(failures.length ? { error: failures.join('; ') } : {}) });
30
+ }
31
+ catch (error) {
32
+ results.push({ name: test.name, passed: false, durationMs: Date.now() - caseStarted, error: error instanceof Error ? error.message : String(error), tags: test.tags ?? [], tokens: 0, costUsd: 0, scores: [] });
33
+ }
10
34
  }
11
- } const passed = results.filter(result => result.passed).length; return { results, passed, failed: results.length - passed, passRate: results.length ? passed / results.length : 1, durationMs: Date.now() - started }; }
12
- export function enforceEvaluation(report, thresholds) { const failures = []; if (report.passRate < (thresholds.minPassRate ?? 0))
13
- failures.push(`pass rate ${percent(report.passRate)} is below ${percent(thresholds.minPassRate ?? 0)}`); if (report.failed > (thresholds.maxFailures ?? Number.MAX_SAFE_INTEGER))
14
- failures.push(`${report.failed} failures exceeds ${thresholds.maxFailures}`); if (report.durationMs > (thresholds.maxDurationMs ?? Number.MAX_SAFE_INTEGER))
15
- failures.push(`duration ${report.durationMs}ms exceeds ${thresholds.maxDurationMs}ms`); if (failures.length)
16
- throw new Error(`Evaluation regression: ${failures.join('; ')}`); return report; }
35
+ return reportFrom(results, { suite: suite?.name, variant: options.variant, durationMs: Date.now() - started });
36
+ }
37
+ export async function compareEvaluations(variants, casesOrSuite, baseline = variants[0]?.name) {
38
+ if (!variants.length)
39
+ throw new Error('At least one evaluation variant is required');
40
+ if (!variants.some(variant => variant.name === baseline))
41
+ throw new Error(`Unknown evaluation baseline: ${baseline}`);
42
+ const reports = [];
43
+ for (const variant of variants)
44
+ reports.push(await runEvaluation(variant.runtime, casesOrSuite, { variant: variant.name }));
45
+ const base = reports.find(report => report.variant === baseline);
46
+ return { baseline: baseline, reports, deltas: reports.filter(report => report !== base).map(report => ({ variant: report.variant, passRate: report.passRate - base.passRate, durationMs: report.durationMs - base.durationMs, tokens: report.tokens - base.tokens, costUsd: report.costUsd - base.costUsd, scores: scoreDeltas(report.scoreAverages, base.scoreAverages) })) };
47
+ }
48
+ export function enforceEvaluation(report, thresholds) {
49
+ const failures = [];
50
+ if (report.passRate < (thresholds.minPassRate ?? 0))
51
+ failures.push(`pass rate ${percent(report.passRate)} is below ${percent(thresholds.minPassRate ?? 0)}`);
52
+ if (report.failed > (thresholds.maxFailures ?? Number.MAX_SAFE_INTEGER))
53
+ failures.push(`${report.failed} failures exceeds ${thresholds.maxFailures}`);
54
+ if (report.durationMs > (thresholds.maxDurationMs ?? Number.MAX_SAFE_INTEGER))
55
+ failures.push(`duration ${report.durationMs}ms exceeds ${thresholds.maxDurationMs}ms`);
56
+ if (report.p95DurationMs > (thresholds.maxP95DurationMs ?? Number.MAX_SAFE_INTEGER))
57
+ failures.push(`p95 duration ${report.p95DurationMs}ms exceeds ${thresholds.maxP95DurationMs}ms`);
58
+ if (report.tokens > (thresholds.maxTokens ?? Number.MAX_SAFE_INTEGER))
59
+ failures.push(`${report.tokens} tokens exceeds ${thresholds.maxTokens}`);
60
+ if (report.costUsd > (thresholds.maxCostUsd ?? Number.POSITIVE_INFINITY))
61
+ failures.push(`cost $${report.costUsd.toFixed(6)} exceeds $${thresholds.maxCostUsd}`);
62
+ for (const [name, minimum] of Object.entries(thresholds.minScores ?? {}))
63
+ if ((report.scoreAverages[name] ?? 0) < minimum)
64
+ failures.push(`${name} score ${report.scoreAverages[name] ?? 0} is below ${minimum}`);
65
+ if (failures.length)
66
+ throw new EvaluationRegressionError(failures, report);
67
+ return report;
68
+ }
69
+ export function formatEvaluation(report, format = 'markdown') {
70
+ if (format === 'json')
71
+ return JSON.stringify(report, null, 2);
72
+ if (format === 'junit')
73
+ return junit(report);
74
+ const heading = `# ${report.suite ?? 'Captra evaluation'}${report.variant ? ` — ${report.variant}` : ''}`, summary = `${report.passed}/${report.results.length} passed · ${percent(report.passRate)} · ${report.tokens} tokens · $${report.costUsd.toFixed(4)} · p95 ${report.p95DurationMs}ms`, rows = report.results.map(result => `| ${result.passed ? '✓' : '✗'} | ${escapeCell(result.name)} | ${result.durationMs}ms | ${result.tokens} | $${result.costUsd.toFixed(4)} | ${escapeCell(result.error ?? '')} |`);
75
+ return [heading, '', summary, '', '| | Case | Duration | Tokens | Cost | Failure |', '|---|---|---:|---:|---:|---|', ...rows].join('\n');
76
+ }
77
+ async function scoreResult(result, test) { const scores = []; for (const scorer of test.scorers ?? []) {
78
+ const value = await scorer.score(result, test), score = typeof value === 'number' ? { name: scorer.name, value, passed: value >= (scorer.threshold ?? 0) } : { ...value, name: value.name || scorer.name };
79
+ scores.push(score);
80
+ } return scores; }
81
+ function usageFrom(result) { let tokens = 0, costUsd = 0; for (const event of result.trace)
82
+ if (event.type === 'budget.committed') {
83
+ tokens += numberFrom(event.data, 'tokens');
84
+ costUsd += numberFrom(event.data, 'costUsd');
85
+ } return { tokens, costUsd }; }
86
+ function reportFrom(results, extra) { const passed = results.filter(result => result.passed).length, durations = results.map(result => result.durationMs).sort((a, b) => a - b), scoreGroups = new Map(); for (const result of results)
87
+ for (const score of result.scores)
88
+ scoreGroups.set(score.name, [...(scoreGroups.get(score.name) ?? []), score.value]); return { ...extra, results, passed, failed: results.length - passed, passRate: results.length ? passed / results.length : 1, tokens: results.reduce((total, result) => total + result.tokens, 0), costUsd: results.reduce((total, result) => total + result.costUsd, 0), p95DurationMs: durations.length ? durations[Math.min(durations.length - 1, Math.ceil(durations.length * .95) - 1)] : 0, scoreAverages: Object.fromEntries([...scoreGroups].map(([name, values]) => [name, values.reduce((sum, value) => sum + value, 0) / values.length])) }; }
89
+ function scoreDeltas(current, baseline) { return Object.fromEntries([...new Set([...Object.keys(current), ...Object.keys(baseline)])].map(name => [name, (current[name] ?? 0) - (baseline[name] ?? 0)])); }
90
+ function junit(report) { const cases = report.results.map(result => ` <testcase name="${xml(result.name)}" time="${(result.durationMs / 1000).toFixed(3)}">${result.passed ? '' : `<failure message="${xml(result.error ?? 'Evaluation failed')}"/>`}</testcase>`).join('\n'); return `<?xml version="1.0" encoding="UTF-8"?>\n<testsuite name="${xml(report.suite ?? 'Captra evaluation')}" tests="${report.results.length}" failures="${report.failed}" time="${(report.durationMs / 1000).toFixed(3)}">\n${cases}\n</testsuite>`; }
91
+ function numberFrom(data, key) { const value = data && typeof data === 'object' ? data[key] : 0; return typeof value === 'number' ? value : 0; }
92
+ function escapeCell(value) { return value.replaceAll('|', '\\|').replaceAll('\n', ' '); }
93
+ function xml(value) { return value.replaceAll('&', '&amp;').replaceAll('<', '&lt;').replaceAll('>', '&gt;').replaceAll('"', '&quot;'); }
17
94
  const percent = (value) => `${(value * 100).toFixed(1)}%`;
18
95
  //# sourceMappingURL=evals.js.map
package/dist/evals.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"evals.js","sourceRoot":"","sources":["../src/evals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evals.js","sourceRoot":"","sources":["../src/evals.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,4 +14,5 @@ export * from './telemetry.js';
14
14
  export * from './evals.js';
15
15
  export * from './budgets.js';
16
16
  export * from './effects.js';
17
+ export * from './usage.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -14,4 +14,5 @@ export * from './telemetry.js';
14
14
  export * from './evals.js';
15
15
  export * from './budgets.js';
16
16
  export * from './effects.js';
17
+ export * from './usage.js';
17
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,65 @@
1
+ export type UsageStatus = 'succeeded' | 'failed' | 'skipped';
2
+ export type UsageGroupBy = 'run' | 'capability' | 'user' | 'tenant' | 'provider' | 'model';
3
+ export type UsageRecord = {
4
+ id: string;
5
+ runId: string;
6
+ tenantId: string;
7
+ userId: string;
8
+ projectId: string;
9
+ capability: string;
10
+ provider: string;
11
+ model?: string;
12
+ attempt: number;
13
+ status: UsageStatus;
14
+ inputTokens: number;
15
+ outputTokens: number;
16
+ cachedInputTokens: number;
17
+ reasoningTokens: number;
18
+ tokens: number;
19
+ costUsd: number;
20
+ durationMs: number;
21
+ createdAt: number;
22
+ };
23
+ export type UsageInput = Omit<UsageRecord, 'id' | 'tokens' | 'createdAt'> & {
24
+ id?: string;
25
+ createdAt?: number;
26
+ };
27
+ export type UsageQuery = {
28
+ tenantId: string;
29
+ userId?: string;
30
+ projectId?: string;
31
+ runId?: string;
32
+ capability?: string;
33
+ provider?: string;
34
+ model?: string;
35
+ from?: number;
36
+ to?: number;
37
+ limit?: number;
38
+ };
39
+ export type UsageSummary = {
40
+ key: string;
41
+ calls: number;
42
+ succeeded: number;
43
+ failed: number;
44
+ skipped: number;
45
+ inputTokens: number;
46
+ outputTokens: number;
47
+ cachedInputTokens: number;
48
+ reasoningTokens: number;
49
+ tokens: number;
50
+ costUsd: number;
51
+ durationMs: number;
52
+ };
53
+ export interface UsageStore {
54
+ record(input: UsageInput): Promise<UsageRecord>;
55
+ query(query: UsageQuery): Promise<UsageRecord[]>;
56
+ summarize(query: UsageQuery, groupBy: UsageGroupBy): Promise<UsageSummary[]>;
57
+ }
58
+ export declare class InMemoryUsageStore implements UsageStore {
59
+ readonly records: UsageRecord[];
60
+ record(input: UsageInput): Promise<UsageRecord>;
61
+ query(query: UsageQuery): Promise<UsageRecord[]>;
62
+ summarize(query: UsageQuery, groupBy: UsageGroupBy): Promise<UsageSummary[]>;
63
+ }
64
+ export declare function summarizeUsage(records: readonly UsageRecord[], groupBy: UsageGroupBy): UsageSummary[];
65
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAC,WAAW,GAAC,QAAQ,GAAC,SAAS,CAAA;AACtD,MAAM,MAAM,YAAY,GAAC,KAAK,GAAC,YAAY,GAAC,MAAM,GAAC,QAAQ,GAAC,UAAU,GAAC,OAAO,CAAA;AAC9E,MAAM,MAAM,WAAW,GAAC;IAAC,EAAE,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,WAAW,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,iBAAiB,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAA;CAAC,CAAA;AACxU,MAAM,MAAM,UAAU,GAAC,IAAI,CAAC,WAAW,EAAC,IAAI,GAAC,QAAQ,GAAC,WAAW,CAAC,GAAG;IAAC,EAAE,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAA;CAAC,CAAA;AACnG,MAAM,MAAM,UAAU,GAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAA,MAAM,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,QAAQ,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,CAAC,EAAC,MAAM,CAAC;IAAA,EAAE,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAA;CAAC,CAAA;AAC/K,MAAM,MAAM,YAAY,GAAC;IAAC,GAAG,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,iBAAiB,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAA;CAAC,CAAA;AACtO,MAAM,WAAW,UAAU;IAAC,MAAM,CAAC,KAAK,EAAC,UAAU,GAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAA,KAAK,CAAC,KAAK,EAAC,UAAU,GAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAAA,SAAS,CAAC,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,YAAY,GAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;CAAC;AAElM,qBAAa,kBAAmB,YAAW,UAAU;IACnD,QAAQ,CAAC,OAAO,EAAC,WAAW,EAAE,CAAG;IAC3B,MAAM,CAAC,KAAK,EAAC,UAAU;IACvB,KAAK,CAAC,KAAK,EAAC,UAAU;IACtB,SAAS,CAAC,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,YAAY;CACtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAC,SAAS,WAAW,EAAE,EAAC,OAAO,EAAC,YAAY,GAAE,YAAY,EAAE,CAIjG"}
package/dist/usage.js ADDED
@@ -0,0 +1,33 @@
1
+ export class InMemoryUsageStore {
2
+ records = [];
3
+ async record(input) { if (input.id) {
4
+ const existing = this.records.find(record => record.id === input.id);
5
+ if (existing)
6
+ return structuredClone(existing);
7
+ } const record = { ...input, id: input.id ?? crypto.randomUUID(), tokens: input.inputTokens + input.outputTokens, createdAt: input.createdAt ?? Date.now() }; this.records.push(structuredClone(record)); return structuredClone(record); }
8
+ async query(query) { return this.records.filter(record => matches(record, query)).slice(0, query.limit ?? 1000).map(record => structuredClone(record)); }
9
+ async summarize(query, groupBy) { return summarizeUsage(await this.query({ ...query, limit: query.limit ?? Number.MAX_SAFE_INTEGER }), groupBy); }
10
+ }
11
+ export function summarizeUsage(records, groupBy) {
12
+ const groups = new Map();
13
+ for (const record of records) {
14
+ const key = groupKey(record, groupBy), summary = groups.get(key) ?? { key, calls: 0, succeeded: 0, failed: 0, skipped: 0, inputTokens: 0, outputTokens: 0, cachedInputTokens: 0, reasoningTokens: 0, tokens: 0, costUsd: 0, durationMs: 0 };
15
+ summary.calls++;
16
+ summary[record.status]++;
17
+ summary.inputTokens += record.inputTokens;
18
+ summary.outputTokens += record.outputTokens;
19
+ summary.cachedInputTokens += record.cachedInputTokens;
20
+ summary.reasoningTokens += record.reasoningTokens;
21
+ summary.tokens += record.tokens;
22
+ summary.costUsd += record.costUsd;
23
+ summary.durationMs += record.durationMs;
24
+ groups.set(key, summary);
25
+ }
26
+ return [...groups.values()].sort((left, right) => right.costUsd - left.costUsd || right.tokens - left.tokens || left.key.localeCompare(right.key));
27
+ }
28
+ function matches(record, query) { return record.tenantId === query.tenantId && (!query.userId || record.userId === query.userId) && (!query.projectId || record.projectId === query.projectId) && (!query.runId || record.runId === query.runId) && (!query.capability || record.capability === query.capability) && (!query.provider || record.provider === query.provider) && (!query.model || record.model === query.model) && (query.from === undefined || record.createdAt >= query.from) && (query.to === undefined || record.createdAt <= query.to); }
29
+ function groupKey(record, groupBy) { if (groupBy === 'run')
30
+ return record.runId; if (groupBy === 'user')
31
+ return record.userId; if (groupBy === 'tenant')
32
+ return record.tenantId; return record[groupBy] ?? 'unknown'; }
33
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@captra-ai/core",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Typed capability contracts and durable runtime for Captra.",
5
5
  "license": "MIT",
6
6
  "repository": {