@captra-ai/core 0.7.0 → 0.8.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
@@ -29,3 +29,5 @@ Structured generation uses provider-native JSON Schema when supported, then norm
29
29
  [Core documentation](https://vaibhavbansal26.github.io/captra/reference/capabilities) · [GitHub](https://github.com/VaibhavBansal26/captra/tree/main/packages/core) · MIT
30
30
 
31
31
  Network tools are opt-in. Use `createFetchJsonTool({allowedOrigins:[...]})`; `builtinTools` contains only scoped memory operations.
32
+
33
+ Use `createModelFallback()` to compose named model adapters with bounded retries, timeouts, total deadlines, circuit breaking, sticky continuation state, and usage-aware fallback history.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAa,KAAK,cAAc,EAAC,KAAK,UAAU,EAAC,KAAK,eAAe,EAAqB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AACtI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAA8C,KAAK,YAAY,EAAC,KAAK,YAAY,EAAwC,MAAM,aAAa,CAAA;AACnJ,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAEvF,MAAM,MAAM,WAAW,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAC;IAAA,YAAY,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAC;IAAA,cAAc,CAAC,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,CAAC,EAAC,WAAW,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,cAAc,CAAC,EAAC,CAAC,QAAQ,EAAC,SAAS,YAAY,EAAE,KAAG,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,CAAC,WAAW,EAAC,MAAM,EAAC,YAAY,EAAC,MAAM,KAAG,MAAM,CAAA;CAAC,CAAA;AACtT,MAAM,MAAM,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,SAAS,MAAM,GAAC,MAAM,IAAE;IACnE,IAAI,EAAC,IAAI,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAAA,MAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAA,KAAK,EAAC,YAAY,CAAA;IAC/G,KAAK,CAAC,EAAC,SAAS,IAAI,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,CAAC;IAAA,MAAM,CAAC,EAAC,SAAS,WAAW,EAAE,CAAC;IAAA,WAAW,CAAC,EAAC,SAAS,MAAM,EAAE,CAAC;IAAA,QAAQ,CAAC,EAAC,cAAc,CAAA;IACtH,UAAU,CAAC,EAAC,OAAO,CAAC;IAAA,MAAM,CAAC,EAAC,eAAe,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,WAAW,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,aAAa,CAAC,MAAM,CAAC,GAAC,OAAO,CAAA;CACvH,CAAA;AAED,wBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAC,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,GAAE,UAAU,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,CAIzI"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAa,KAAK,cAAc,EAAC,KAAK,UAAU,EAAC,KAAK,eAAe,EAAqB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AACtI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAiE,KAAK,YAAY,EAAmB,KAAK,YAAY,EAAwC,MAAM,aAAa,CAAA;AACxL,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAEvF,MAAM,MAAM,WAAW,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAC;IAAA,YAAY,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAC;IAAA,cAAc,CAAC,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,CAAC,EAAC,WAAW,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,cAAc,CAAC,EAAC,CAAC,QAAQ,EAAC,SAAS,YAAY,EAAE,KAAG,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,CAAC,WAAW,EAAC,MAAM,EAAC,YAAY,EAAC,MAAM,KAAG,MAAM,CAAA;CAAC,CAAA;AACtT,MAAM,MAAM,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,SAAS,MAAM,GAAC,MAAM,IAAE;IACnE,IAAI,EAAC,IAAI,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAAA,MAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAA,KAAK,EAAC,YAAY,CAAA;IAC/G,KAAK,CAAC,EAAC,SAAS,IAAI,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,CAAC;IAAA,MAAM,CAAC,EAAC,SAAS,WAAW,EAAE,CAAC;IAAA,WAAW,CAAC,EAAC,SAAS,MAAM,EAAE,CAAC;IAAA,QAAQ,CAAC,EAAC,cAAc,CAAA;IACtH,UAAU,CAAC,EAAC,OAAO,CAAC;IAAA,MAAM,CAAC,EAAC,eAAe,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,WAAW,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,aAAa,CAAC,MAAM,CAAC,GAAC,OAAO,CAAA;CACvH,CAAA;AAED,wBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAC,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,GAAE,UAAU,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,CAIzI"}
package/dist/agent.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { toJSONSchema } from 'zod';
2
2
  import { capability } from './core.js';
3
- import { parseStructuredOutput, StructuredOutputError } from './models.js';
3
+ import { ModelFallbackError, parseStructuredOutput, StructuredOutputError } from './models.js';
4
4
  import { BudgetExceededError, estimateModelTokens } from './budgets.js';
5
5
  export function agent(definition) {
6
6
  const allowed = new Set((definition.tools ?? []).map(tool => tool.name)), tools = (definition.tools ?? []).map(tool => ({ name: tool.name, description: tool.description, inputSchema: toJSONSchema(tool.input), strict: true }));
@@ -60,14 +60,18 @@ 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
64
  modelSpan.setAttribute('model', response.model);
65
+ modelSpan.setAttribute('provider', response.provider);
64
66
  modelSpan.setAttribute('inputTokens', response.usage?.inputTokens);
65
67
  modelSpan.setAttribute('outputTokens', response.usage?.outputTokens);
66
68
  modelSpan.end();
67
- context.telemetry.histogram?.('captra.model.duration', Date.now() - modelStarted, { capability: definition.name, model: response.model });
68
- context.telemetry.counter?.('captra.model.tokens', (response.usage?.inputTokens ?? 0) + (response.usage?.outputTokens ?? 0), { capability: definition.name, model: response.model });
69
+ context.telemetry.histogram?.('captra.model.duration', Date.now() - modelStarted, { capability: definition.name, model: response.model, provider: response.provider });
70
+ context.telemetry.counter?.('captra.model.tokens', (response.usage?.inputTokens ?? 0) + (response.usage?.outputTokens ?? 0), { capability: definition.name, model: response.model, provider: response.provider });
69
71
  }
70
72
  catch (error) {
73
+ if (error instanceof ModelFallbackError)
74
+ await emitModelAttempts(context, definition.name, error.attempts);
71
75
  await context.budgets.release(reservation.id);
72
76
  await context.emit({ type: 'budget.released', capability: definition.name, detail: 'Released failed model-call reservation', data: { reservationId: reservation.id } });
73
77
  modelSpan.end(error);
@@ -119,4 +123,13 @@ function isAgentState(value) { const state = value; if (!state || state.version
119
123
  return false; state.inputTokens ??= state.tokens; state.outputTokens ??= 0; state.costUsd ??= 0; return true; }
120
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; }
121
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)
127
+ return; let previous; for (const attempt of attempts) {
128
+ await context.emit({ type: 'model.provider.attempt', capability, detail: `${attempt.provider} ${attempt.status}`, data: attempt });
129
+ context.telemetry.counter?.('captra.model.provider.attempts', 1, { capability, provider: attempt.provider, status: attempt.status, code: attempt.code });
130
+ if (previous && previous !== attempt.provider)
131
+ await context.emit({ type: 'model.provider.fallback', capability, detail: `Fallback from ${previous} to ${attempt.provider}`, data: { from: previous, to: attempt.provider } });
132
+ if (attempt.status !== 'skipped')
133
+ previous = attempt.provider;
134
+ } }
122
135
  //# sourceMappingURL=agent.js.map
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/models.d.ts CHANGED
@@ -42,11 +42,23 @@ export type ModelUsage = {
42
42
  reasoningTokens?: number;
43
43
  costUsd?: number;
44
44
  };
45
+ export type ModelAttempt = {
46
+ provider: string;
47
+ attempt: number;
48
+ status: 'succeeded' | 'failed' | 'skipped';
49
+ durationMs: number;
50
+ retryable?: boolean;
51
+ code?: string;
52
+ model?: string;
53
+ usage?: ModelUsage;
54
+ };
45
55
  export type ModelResponse = {
46
56
  text: string;
47
57
  toolCalls?: readonly ModelToolCall[];
48
58
  usage?: ModelUsage;
49
59
  model?: string;
60
+ provider?: string;
61
+ attempts?: readonly ModelAttempt[];
50
62
  providerState?: unknown;
51
63
  };
52
64
  export interface ModelAdapter {
@@ -72,6 +84,50 @@ export declare function recordModel(model: ModelAdapter, store: ModelRecordingSt
72
84
  export declare function replayModel(recordings: readonly ModelRecording[], options?: {
73
85
  strict?: boolean;
74
86
  }): ModelAdapter;
87
+ export declare class ModelProviderError extends Error {
88
+ readonly options: {
89
+ provider?: string;
90
+ status?: number;
91
+ retryable?: boolean;
92
+ code?: string;
93
+ usage?: ModelUsage;
94
+ cause?: unknown;
95
+ };
96
+ readonly code: string;
97
+ constructor(message: string, options?: {
98
+ provider?: string;
99
+ status?: number;
100
+ retryable?: boolean;
101
+ code?: string;
102
+ usage?: ModelUsage;
103
+ cause?: unknown;
104
+ });
105
+ }
106
+ export declare class ModelFallbackError extends Error {
107
+ readonly attempts: readonly ModelAttempt[];
108
+ readonly cause?: unknown | undefined;
109
+ readonly code = "model_fallback_exhausted";
110
+ constructor(attempts: readonly ModelAttempt[], cause?: unknown | undefined);
111
+ }
112
+ export type ModelFallbackProvider = {
113
+ name: string;
114
+ model: ModelAdapter;
115
+ retries?: number;
116
+ timeoutMs?: number;
117
+ retryDelayMs?: number;
118
+ };
119
+ export type ModelFallbackOptions = {
120
+ maxElapsedMs?: number;
121
+ circuitBreaker?: {
122
+ failureThreshold: number;
123
+ cooldownMs: number;
124
+ };
125
+ retry?: (error: unknown) => boolean;
126
+ now?: () => number;
127
+ sleep?: (milliseconds: number, signal?: AbortSignal) => Promise<void>;
128
+ };
129
+ export declare function createModelFallback(providers: readonly ModelFallbackProvider[], options?: ModelFallbackOptions): ModelAdapter;
130
+ export declare const fallback: typeof createModelFallback;
75
131
  export type StructuredOutputFailure = 'invalid_json' | 'schema_mismatch';
76
132
  export declare class StructuredOutputError extends Error {
77
133
  readonly failure: StructuredOutputFailure;
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
package/dist/models.js CHANGED
@@ -8,6 +8,121 @@ export function recordModel(model, store) { return { async generate(request) { c
8
8
  export function replayModel(recordings, options = {}) { let index = 0; return { async generate(request) { const recording = recordings[index++]; if (!recording)
9
9
  throw new Error('No recorded model response remains'); if (options.strict && stable(recording.request) !== stable(request))
10
10
  throw new Error(`Model replay request mismatch at call ${index}`); return structuredClone(recording.response); } }; }
11
+ export class ModelProviderError extends Error {
12
+ options;
13
+ code;
14
+ constructor(message, options = {}) {
15
+ super(message, { cause: options.cause });
16
+ this.options = options;
17
+ this.name = 'ModelProviderError';
18
+ this.code = options.code ?? 'model_provider_failed';
19
+ }
20
+ }
21
+ export class ModelFallbackError extends Error {
22
+ attempts;
23
+ cause;
24
+ code = 'model_fallback_exhausted';
25
+ constructor(attempts, cause) {
26
+ super('All model providers failed', { cause });
27
+ this.attempts = attempts;
28
+ this.cause = cause;
29
+ this.name = 'ModelFallbackError';
30
+ }
31
+ }
32
+ export function createModelFallback(providers, options = {}) {
33
+ if (!providers.length)
34
+ throw new Error('At least one model provider is required');
35
+ if (new Set(providers.map(item => item.name)).size !== providers.length)
36
+ throw new Error('Model provider names must be unique');
37
+ for (const provider of providers) {
38
+ if (provider.retries !== undefined && (!Number.isSafeInteger(provider.retries) || provider.retries < 0))
39
+ throw new Error(`Provider retries must be a non-negative integer: ${provider.name}`);
40
+ if (provider.timeoutMs !== undefined && (!Number.isFinite(provider.timeoutMs) || provider.timeoutMs <= 0))
41
+ throw new Error(`Provider timeout must be positive: ${provider.name}`);
42
+ }
43
+ if (options.maxElapsedMs !== undefined && (!Number.isFinite(options.maxElapsedMs) || options.maxElapsedMs <= 0))
44
+ throw new Error('maxElapsedMs must be positive');
45
+ if (options.circuitBreaker && (!Number.isSafeInteger(options.circuitBreaker.failureThreshold) || options.circuitBreaker.failureThreshold <= 0 || !Number.isFinite(options.circuitBreaker.cooldownMs) || options.circuitBreaker.cooldownMs <= 0))
46
+ throw new Error('Circuit breaker threshold and cooldown must be positive');
47
+ const now = options.now ?? Date.now, sleep = options.sleep ?? delay, circuits = new Map();
48
+ return { async generate(request) {
49
+ const started = now(), attempts = [], previousState = isFallbackState(request.providerState) ? request.providerState : undefined, sticky = previousState ? providers.findIndex(item => item.name === previousState.provider) : -1, order = sticky >= 0 ? [sticky, ...providers.map((_, index) => index).filter(index => index !== sticky)] : providers.map((_, index) => index);
50
+ let lastError;
51
+ for (const index of order) {
52
+ const provider = providers[index], circuit = circuits.get(provider.name);
53
+ if (circuit && circuit.openUntil > now()) {
54
+ attempts.push({ provider: provider.name, attempt: 0, status: 'skipped', durationMs: 0, code: 'circuit_open' });
55
+ continue;
56
+ }
57
+ for (let attempt = 0; attempt <= (provider.retries ?? 0); attempt++) {
58
+ if (request.signal?.aborted)
59
+ throw request.signal.reason ?? new DOMException('Aborted', 'AbortError');
60
+ if (options.maxElapsedMs !== undefined && now() - started >= options.maxElapsedMs)
61
+ throw new ModelFallbackError(attempts, new ModelProviderError('Model fallback deadline exceeded', { code: 'model_deadline_exceeded', retryable: false }));
62
+ const attemptStarted = now(), state = previousState?.provider === provider.name ? previousState.state : undefined;
63
+ try {
64
+ const response = await callProvider(provider.model, { ...request, providerState: state }, provider.timeoutMs);
65
+ const record = { provider: provider.name, attempt: attempt + 1, status: 'succeeded', durationMs: now() - attemptStarted, model: response.model, usage: response.usage };
66
+ attempts.push(record);
67
+ circuits.delete(provider.name);
68
+ return { ...response, provider: provider.name, attempts, usage: sumUsage(attempts), providerState: { __captraFallback: 1, provider: provider.name, state: response.providerState } };
69
+ }
70
+ catch (error) {
71
+ if (request.signal?.aborted || isAbort(error))
72
+ throw error;
73
+ lastError = error;
74
+ const retryable = options.retry?.(error) ?? isRetryableModelError(error), usage = error instanceof ModelProviderError ? error.options.usage : undefined, code = error instanceof ModelProviderError ? error.code : error instanceof ModelTimeoutError ? error.code : 'model_provider_failed';
75
+ attempts.push({ provider: provider.name, attempt: attempt + 1, status: 'failed', durationMs: now() - attemptStarted, retryable, code, usage });
76
+ const failures = (circuits.get(provider.name)?.failures ?? 0) + 1, threshold = options.circuitBreaker?.failureThreshold ?? Number.POSITIVE_INFINITY;
77
+ circuits.set(provider.name, { failures, openUntil: failures >= threshold ? now() + (options.circuitBreaker?.cooldownMs ?? 0) : 0 });
78
+ if (!retryable)
79
+ throw new ModelFallbackError(attempts, error);
80
+ if (attempt < (provider.retries ?? 0)) {
81
+ const wait = provider.retryDelayMs ?? 0;
82
+ if (wait)
83
+ try {
84
+ await sleepWithin(wait, started, options.maxElapsedMs, request.signal, sleep, now);
85
+ }
86
+ catch (delayError) {
87
+ if (request.signal?.aborted || isAbort(delayError))
88
+ throw delayError;
89
+ throw new ModelFallbackError(attempts, delayError);
90
+ }
91
+ continue;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ throw new ModelFallbackError(attempts, lastError);
97
+ } };
98
+ }
99
+ export const fallback = createModelFallback;
100
+ class ModelTimeoutError extends ModelProviderError {
101
+ constructor(milliseconds) { super(`Model provider timed out after ${milliseconds}ms`, { code: 'model_timeout', retryable: true }); this.name = 'ModelTimeoutError'; }
102
+ }
103
+ function isFallbackState(value) { return !!value && typeof value === 'object' && value.__captraFallback === 1 && typeof value.provider === 'string'; }
104
+ function isRetryableModelError(error) { return error instanceof ModelProviderError ? error.options.retryable ?? (error.options.status === 429 || error.options.status === 408 || (error.options.status ?? 0) >= 500) : true; }
105
+ function isAbort(error) { return error instanceof DOMException && error.name === 'AbortError' || error instanceof Error && error.name === 'AbortError'; }
106
+ async function callProvider(model, request, milliseconds) { if (milliseconds === undefined)
107
+ return model.generate(request); const controller = new AbortController(), parent = request.signal, abort = () => controller.abort(parent?.reason ?? new DOMException('Aborted', 'AbortError')), timer = setTimeout(() => controller.abort(new ModelTimeoutError(milliseconds)), milliseconds), aborted = new Promise((_, reject) => controller.signal.addEventListener('abort', () => reject(controller.signal.reason ?? new DOMException('Aborted', 'AbortError')), { once: true })); if (parent?.aborted)
108
+ abort();
109
+ else
110
+ parent?.addEventListener('abort', abort, { once: true }); try {
111
+ return await Promise.race([model.generate({ ...request, signal: controller.signal }), aborted]);
112
+ }
113
+ finally {
114
+ clearTimeout(timer);
115
+ parent?.removeEventListener('abort', abort);
116
+ } }
117
+ function sumUsage(attempts) { const usages = attempts.flatMap(item => item.usage ? [item.usage] : []); if (!usages.length)
118
+ return undefined; return { inputTokens: sum(usages, 'inputTokens'), outputTokens: sum(usages, 'outputTokens'), cachedInputTokens: sum(usages, 'cachedInputTokens'), reasoningTokens: sum(usages, 'reasoningTokens'), costUsd: sum(usages, 'costUsd') }; }
119
+ function sum(usages, key) { const values = usages.map(item => item[key]).filter((value) => value !== undefined); return values.length ? values.reduce((total, value) => total + value, 0) : undefined; }
120
+ async function sleepWithin(milliseconds, started, maxElapsed, signal, sleep, now) { const remaining = maxElapsed === undefined ? milliseconds : Math.min(milliseconds, Math.max(0, maxElapsed - (now() - started))); if (remaining <= 0)
121
+ throw new ModelProviderError('Model fallback deadline exceeded', { code: 'model_deadline_exceeded', retryable: false }); await sleep(remaining, signal); }
122
+ function delay(milliseconds, signal) { return new Promise((resolve, reject) => { const done = () => { signal?.removeEventListener('abort', abort); resolve(); }, timer = setTimeout(done, milliseconds), abort = () => { clearTimeout(timer); reject(signal?.reason ?? new DOMException('Aborted', 'AbortError')); }; if (signal?.aborted)
123
+ abort();
124
+ else
125
+ signal?.addEventListener('abort', abort, { once: true }); }); }
11
126
  export class StructuredOutputError extends Error {
12
127
  failure;
13
128
  attempts;
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { CapabilityState, ExecutionIdentity } from './core.js';
2
2
  export declare const CAPTRA_PROTOCOL_VERSION = "1.0";
3
3
  export type RunStatus = 'created' | 'queued' | 'running' | 'waiting_for_approval' | 'completed' | 'failed' | 'cancelled';
4
- export type EventType = 'run.queued' | 'run.started' | 'memory.recalled' | 'hook.completed' | 'capability.started' | 'capability.retrying' | 'agent.step' | 'agent.tool.selected' | 'agent.output.repairing' | 'agent.completed' | 'budget.checked' | 'budget.reserved' | 'budget.committed' | 'budget.released' | 'budget.exceeded' | 'checkpoint.saved' | 'checkpoint.restored' | 'tool.started' | 'tool.completed' | 'tool.failed' | 'approval.requested' | 'approval.approved' | 'approval.rejected' | 'run.completed' | 'run.failed' | 'run.cancelled';
4
+ export type EventType = 'run.queued' | 'run.started' | 'memory.recalled' | 'hook.completed' | 'capability.started' | 'capability.retrying' | 'agent.step' | 'agent.tool.selected' | 'agent.output.repairing' | 'agent.completed' | 'model.provider.attempt' | 'model.provider.fallback' | 'budget.checked' | 'budget.reserved' | 'budget.committed' | 'budget.released' | 'budget.exceeded' | 'checkpoint.saved' | 'checkpoint.restored' | 'tool.started' | 'tool.completed' | 'tool.failed' | 'approval.requested' | 'approval.approved' | 'approval.rejected' | 'run.completed' | 'run.failed' | 'run.cancelled';
5
5
  export type CaptraEvent = {
6
6
  id: string;
7
7
  protocol: typeof CAPTRA_PROTOCOL_VERSION;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnE,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAC5C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,sBAAsB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;AACxH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe,CAAA;AAC3hB,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,OAAO,uBAAuB,CAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAC,EAAE,EAAC,MAAM,CAAC;IAAC,IAAI,EAAC,SAAS,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAC;IAAC,IAAI,CAAC,EAAC,OAAO,CAAA;CAAE,CAAA;AAC3L,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,GAAG,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,SAAS,CAAC;IAAC,QAAQ,EAAC,iBAAiB,CAAC;IAAC,KAAK,EAAC,OAAO,CAAC;IAAC,cAAc,CAAC,EAAC,OAAO,CAAC;IAAC,MAAM,CAAC,EAAC,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAC,SAAS,GAAC,UAAU,GAAC,UAAU,CAAC;IAAA,gBAAgB,CAAC,EAAC,iBAAiB,CAAC;IAAC,KAAK,CAAC,EAAC,MAAM,CAAC;IAAC,cAAc,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAA;CAAE,CAAA;AACxV,MAAM,MAAM,oBAAoB,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,UAAU,GAAC,OAAO,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,eAAe,CAAA;CAAC,CAAA;AAC3H,MAAM,MAAM,sBAAsB,CAAC,MAAM,GAAC,OAAO,IAAE;IAAC,GAAG,EAAC,SAAS,CAAC;IAAA,UAAU,EAAC,oBAAoB,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,WAAW,EAAE,CAAA;CAAC,CAAA"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnE,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAC5C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,sBAAsB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;AACxH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAAG,wBAAwB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,yBAAyB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe,CAAA;AACllB,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,OAAO,uBAAuB,CAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAC,EAAE,EAAC,MAAM,CAAC;IAAC,IAAI,EAAC,SAAS,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAC;IAAC,IAAI,CAAC,EAAC,OAAO,CAAA;CAAE,CAAA;AAC3L,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,GAAG,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,SAAS,CAAC;IAAC,QAAQ,EAAC,iBAAiB,CAAC;IAAC,KAAK,EAAC,OAAO,CAAC;IAAC,cAAc,CAAC,EAAC,OAAO,CAAC;IAAC,MAAM,CAAC,EAAC,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAC,SAAS,GAAC,UAAU,GAAC,UAAU,CAAC;IAAA,gBAAgB,CAAC,EAAC,iBAAiB,CAAC;IAAC,KAAK,CAAC,EAAC,MAAM,CAAC;IAAC,cAAc,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAA;CAAE,CAAA;AACxV,MAAM,MAAM,oBAAoB,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,UAAU,GAAC,OAAO,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,eAAe,CAAA;CAAC,CAAA;AAC3H,MAAM,MAAM,sBAAsB,CAAC,MAAM,GAAC,OAAO,IAAE;IAAC,GAAG,EAAC,SAAS,CAAC;IAAA,UAAU,EAAC,oBAAoB,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,WAAW,EAAE,CAAA;CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@captra-ai/core",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Typed capability contracts and durable runtime for Captra.",
5
5
  "license": "MIT",
6
6
  "repository": {