@elsium-ai/core 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.
@@ -0,0 +1,17 @@
1
+ export type CircuitState = 'closed' | 'open' | 'half-open';
2
+ export interface CircuitBreakerConfig {
3
+ failureThreshold?: number;
4
+ resetTimeoutMs?: number;
5
+ halfOpenMaxAttempts?: number;
6
+ windowMs?: number;
7
+ onStateChange?: (from: CircuitState, to: CircuitState) => void;
8
+ shouldCount?: (error: unknown) => boolean;
9
+ }
10
+ export interface CircuitBreaker {
11
+ execute<T>(fn: () => Promise<T>): Promise<T>;
12
+ readonly state: CircuitState;
13
+ readonly failureCount: number;
14
+ reset(): void;
15
+ }
16
+ export declare function createCircuitBreaker(config?: CircuitBreakerConfig): CircuitBreaker;
17
+ //# sourceMappingURL=circuit-breaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;AAE1D,MAAM,WAAW,oBAAoB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,CAAA;IAC9D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,KAAK,IAAI,IAAI,CAAA;CACb;AAUD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAwIlF"}
@@ -0,0 +1,4 @@
1
+ export declare function env(name: string, fallback?: string): string;
2
+ export declare function envNumber(name: string, fallback?: number): number;
3
+ export declare function envBool(name: string, fallback?: boolean): boolean;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAU3D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAqBjE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAajE"}
@@ -0,0 +1,14 @@
1
+ import type { Middleware } from './types';
2
+ export interface DedupConfig {
3
+ ttlMs?: number;
4
+ maxEntries?: number;
5
+ }
6
+ export interface Dedup<T> {
7
+ deduplicate(key: string, fn: () => Promise<T>): Promise<T>;
8
+ hashRequest(request: unknown): string;
9
+ readonly size: number;
10
+ clear(): void;
11
+ }
12
+ export declare function createDedup<T>(config?: DedupConfig): Dedup<T>;
13
+ export declare function dedupMiddleware(config?: DedupConfig): Middleware;
14
+ //# sourceMappingURL=dedup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup.d.ts","sourceRoot":"","sources":["../src/dedup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAqC,MAAM,SAAS,CAAA;AAE5E,MAAM,WAAW,WAAW;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,KAAK,CAAC,CAAC;IACvB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1D,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,KAAK,IAAI,IAAI,CAAA;CACb;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAwF7D;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAmBhE"}
@@ -0,0 +1,36 @@
1
+ export type ErrorCode = 'PROVIDER_ERROR' | 'RATE_LIMIT' | 'AUTH_ERROR' | 'INVALID_REQUEST' | 'TIMEOUT' | 'NETWORK_ERROR' | 'PARSE_ERROR' | 'VALIDATION_ERROR' | 'TOOL_ERROR' | 'BUDGET_EXCEEDED' | 'MAX_ITERATIONS' | 'STREAM_ERROR' | 'CONFIG_ERROR' | 'UNKNOWN';
2
+ export interface ErrorDetails {
3
+ code: ErrorCode;
4
+ message: string;
5
+ provider?: string;
6
+ model?: string;
7
+ statusCode?: number;
8
+ retryable: boolean;
9
+ retryAfterMs?: number;
10
+ cause?: Error;
11
+ metadata?: Record<string, unknown>;
12
+ }
13
+ export declare class ElsiumError extends Error {
14
+ readonly code: ErrorCode;
15
+ readonly provider?: string;
16
+ readonly model?: string;
17
+ readonly statusCode?: number;
18
+ readonly retryable: boolean;
19
+ readonly retryAfterMs?: number;
20
+ readonly cause?: Error;
21
+ readonly metadata?: Record<string, unknown>;
22
+ constructor(details: ErrorDetails);
23
+ toJSON(): Record<string, unknown>;
24
+ static providerError(message: string, opts: {
25
+ provider: string;
26
+ statusCode?: number;
27
+ retryable?: boolean;
28
+ cause?: Error;
29
+ }): ElsiumError;
30
+ static rateLimit(provider: string, retryAfterMs?: number): ElsiumError;
31
+ static authError(provider: string): ElsiumError;
32
+ static timeout(provider: string, timeoutMs: number): ElsiumError;
33
+ static validation(message: string, metadata?: Record<string, unknown>): ElsiumError;
34
+ static budgetExceeded(spent: number, budget: number): ElsiumError;
35
+ }
36
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAClB,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,SAAS,GACT,eAAe,GACf,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,SAAS,CAAA;AAEZ,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,qBAAa,WAAY,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAE/B,OAAO,EAAE,YAAY;IAajC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAcjC,MAAM,CAAC,aAAa,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GACjF,WAAW;IAWd,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW;IAWtE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAU/C,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAShE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IASnF,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW;CAQjE"}
@@ -0,0 +1,20 @@
1
+ export type { Role, TextContent, ImageContent, ContentPart, ToolCall, ToolResult, Message, TokenUsage, CostBreakdown, StopReason, LLMResponse, StreamEvent, XRayData, StreamCheckpoint, ProviderConfig, CompletionRequest, ToolDefinition, MiddlewareContext, MiddlewareNext, Middleware, } from './types';
2
+ export { ElsiumError } from './errors';
3
+ export type { ErrorCode, ErrorDetails } from './errors';
4
+ export { ok, err, isOk, isErr, unwrap, unwrapOr, tryCatch, tryCatchSync } from './result';
5
+ export type { Result, Ok, Err } from './result';
6
+ export { ElsiumStream, createStream } from './stream';
7
+ export type { StreamTransformer, ResilientStreamOptions } from './stream';
8
+ export { createLogger } from './logger';
9
+ export type { Logger, LogLevel, LogEntry, LoggerOptions } from './logger';
10
+ export { env, envNumber, envBool } from './config';
11
+ export { generateId, generateTraceId, extractText, sleep, retry } from './utils';
12
+ export { createCircuitBreaker } from './circuit-breaker';
13
+ export type { CircuitBreakerConfig, CircuitBreaker, CircuitState } from './circuit-breaker';
14
+ export { createDedup, dedupMiddleware } from './dedup';
15
+ export type { DedupConfig, Dedup } from './dedup';
16
+ export { createPolicySet, policyMiddleware, modelAccessPolicy, tokenLimitPolicy, costLimitPolicy, contentPolicy, } from './policy';
17
+ export type { PolicyDecision, PolicyResult, PolicyContext, PolicyRule, PolicyConfig, PolicySet, } from './policy';
18
+ export { createShutdownManager } from './shutdown';
19
+ export type { ShutdownConfig, ShutdownManager } from './shutdown';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,GACV,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGvD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACzF,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAG/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACrD,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGzE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAGlD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG3F,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACtD,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,aAAa,GACb,MAAM,UAAU,CAAA;AACjB,YAAY,EACX,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,SAAS,GACT,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}