@elsium-ai/core 0.2.3 → 0.4.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/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
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';
1
+ export type { Role, TextContent, ImageContent, AudioContent, DocumentContent, ContentPart, ToolCall, ToolResult, Message, TokenUsage, CostBreakdown, StopReason, LLMResponse, StreamEvent, XRayData, StreamCheckpoint, ProviderConfig, CompletionRequest, ToolDefinition, TenantContext, MiddlewareContext, MiddlewareNext, Middleware, StreamMiddleware, StreamMiddlewareNext, } from './types';
2
2
  export { ElsiumError } from './errors';
3
3
  export type { ErrorCode, ErrorDetails } from './errors';
4
4
  export { ok, err, isOk, isErr, unwrap, unwrapOr, tryCatch, tryCatchSync } from './result';
@@ -8,6 +8,11 @@ export type { StreamTransformer, ResilientStreamOptions } from './stream';
8
8
  export { createLogger } from './logger';
9
9
  export type { Logger, LogLevel, LogEntry, LoggerOptions } from './logger';
10
10
  export { env, envNumber, envBool } from './config';
11
+ export { zodToJsonSchema } from './schema';
12
+ export { createRegistry } from './registry';
13
+ export type { Registry } from './registry';
14
+ export { countTokens, createContextManager } from './tokens';
15
+ export type { ContextStrategy, ContextManagerConfig, ContextManager } from './tokens';
11
16
  export { generateId, generateTraceId, extractText, sleep, retry } from './utils';
12
17
  export { createCircuitBreaker } from './circuit-breaker';
13
18
  export type { CircuitBreakerConfig, CircuitBreaker, CircuitState } from './circuit-breaker';
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,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,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GACpB,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,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAG1C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC5D,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAGrF,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"}
package/dist/index.js CHANGED
@@ -496,6 +496,243 @@ function envBool(name, fallback) {
496
496
  metadata: { variable: name }
497
497
  });
498
498
  }
499
+ // src/schema.ts
500
+ var log = createLogger();
501
+ function zodDefKind(def) {
502
+ return typeof def.type === "string" ? def.type : def.typeName;
503
+ }
504
+ function zodObjectToJsonSchema(schema, convert) {
505
+ const shape = typeof schema.shape === "function" ? schema.shape() : schema.shape;
506
+ const properties = {};
507
+ const required = [];
508
+ for (const [key, value] of Object.entries(shape)) {
509
+ const fieldSchema = value;
510
+ properties[key] = convert(fieldSchema);
511
+ const fieldDef = fieldSchema._def;
512
+ const fieldKind = zodDefKind(fieldDef);
513
+ if (fieldKind !== "optional" && fieldKind !== "ZodOptional" && fieldKind !== "default" && fieldKind !== "ZodDefault") {
514
+ required.push(key);
515
+ }
516
+ if (fieldDef.description) {
517
+ properties[key].description = fieldDef.description;
518
+ }
519
+ }
520
+ return { type: "object", properties, required };
521
+ }
522
+ function zodToJsonSchema(schema) {
523
+ if (!("_def" in schema))
524
+ return { type: "object" };
525
+ const def = schema._def;
526
+ const kind = zodDefKind(def);
527
+ switch (kind) {
528
+ case "object":
529
+ case "ZodObject":
530
+ return zodObjectToJsonSchema(def, zodToJsonSchema);
531
+ case "string":
532
+ case "ZodString":
533
+ return { type: "string" };
534
+ case "number":
535
+ case "ZodNumber":
536
+ return { type: "number" };
537
+ case "boolean":
538
+ case "ZodBoolean":
539
+ return { type: "boolean" };
540
+ case "array":
541
+ case "ZodArray":
542
+ return {
543
+ type: "array",
544
+ items: zodToJsonSchema(def.element ?? def.type)
545
+ };
546
+ case "enum":
547
+ case "ZodEnum": {
548
+ const values = def.values ?? (def.entries ? Object.values(def.entries) : []);
549
+ return { type: "string", enum: values };
550
+ }
551
+ case "optional":
552
+ case "ZodOptional":
553
+ return zodToJsonSchema(def.innerType);
554
+ case "default":
555
+ case "ZodDefault":
556
+ return zodToJsonSchema(def.innerType);
557
+ case "nullable":
558
+ case "ZodNullable": {
559
+ const inner = zodToJsonSchema(def.innerType);
560
+ return { ...inner, nullable: true };
561
+ }
562
+ case "ZodLiteral":
563
+ return { type: typeof def.value, const: def.value };
564
+ case "ZodUnion": {
565
+ const options = def.options.map(zodToJsonSchema);
566
+ return { anyOf: options };
567
+ }
568
+ case "ZodRecord":
569
+ return {
570
+ type: "object",
571
+ additionalProperties: def.valueType ? zodToJsonSchema(def.valueType) : { type: "string" }
572
+ };
573
+ case "ZodTuple": {
574
+ const items = (def.items ?? []).map(zodToJsonSchema);
575
+ return { type: "array", prefixItems: items, minItems: items.length, maxItems: items.length };
576
+ }
577
+ case "ZodDate":
578
+ return { type: "string", format: "date-time" };
579
+ default:
580
+ log.warn(`zodToJsonSchema: unsupported type ${kind}, defaulting to string`);
581
+ return { type: "string" };
582
+ }
583
+ }
584
+ // src/registry.ts
585
+ var log2 = createLogger();
586
+ var BLOCKED_KEYS = new Set(["__proto__", "constructor", "prototype"]);
587
+ function createRegistry(label) {
588
+ const entries = new Map;
589
+ return {
590
+ register(name, factory) {
591
+ if (BLOCKED_KEYS.has(name)) {
592
+ log2.warn(`Registry(${label}): rejected blocked key "${name}"`);
593
+ return;
594
+ }
595
+ entries.set(name, factory);
596
+ log2.debug(`Registry(${label}): registered "${name}"`);
597
+ },
598
+ get(name) {
599
+ if (BLOCKED_KEYS.has(name))
600
+ return;
601
+ return entries.get(name);
602
+ },
603
+ list() {
604
+ return Array.from(entries.keys());
605
+ },
606
+ has(name) {
607
+ if (BLOCKED_KEYS.has(name))
608
+ return false;
609
+ return entries.has(name);
610
+ },
611
+ unregister(name) {
612
+ if (BLOCKED_KEYS.has(name))
613
+ return false;
614
+ const deleted = entries.delete(name);
615
+ if (deleted) {
616
+ log2.debug(`Registry(${label}): unregistered "${name}"`);
617
+ }
618
+ return deleted;
619
+ }
620
+ };
621
+ }
622
+ // src/tokens.ts
623
+ var MODEL_RATIOS = {
624
+ cl100k_base: 4,
625
+ "gpt-4o": 4,
626
+ "gpt-4o-mini": 4,
627
+ o1: 4,
628
+ "o1-mini": 4,
629
+ "o3-mini": 4,
630
+ "claude-opus-4-6": 3.5,
631
+ "claude-sonnet-4-6": 3.5,
632
+ "claude-haiku-4-5-20251001": 3.5,
633
+ "gemini-2.0-flash": 4,
634
+ "gemini-2.0-flash-lite": 4,
635
+ "gemini-2.5-pro-preview-05-06": 4,
636
+ "gemini-2.5-flash-preview-04-17": 4
637
+ };
638
+ function getRatio(model) {
639
+ if (!model)
640
+ return 4;
641
+ if (MODEL_RATIOS[model])
642
+ return MODEL_RATIOS[model];
643
+ if (model.startsWith("claude"))
644
+ return 3.5;
645
+ if (model.startsWith("gemini"))
646
+ return 4;
647
+ if (model.startsWith("gpt") || model.startsWith("o1") || model.startsWith("o3"))
648
+ return 4;
649
+ return 4;
650
+ }
651
+ function extractMessageText(msg) {
652
+ if (typeof msg.content === "string")
653
+ return msg.content;
654
+ return msg.content.filter((p) => p.type === "text" && ("text" in p)).map((p) => p.text).join("");
655
+ }
656
+ function countTokens(text, model) {
657
+ const ratio = getRatio(model);
658
+ return Math.ceil(text.length / ratio) + 4;
659
+ }
660
+ function createContextManager(config) {
661
+ const { maxTokens, strategy, reserveTokens = 0 } = config;
662
+ const budget = maxTokens - reserveTokens;
663
+ function estimateMessageTokens(msg) {
664
+ return countTokens(extractMessageText(msg)) + 4;
665
+ }
666
+ function estimateTokens(messages) {
667
+ return messages.reduce((sum, msg) => sum + estimateMessageTokens(msg), 0);
668
+ }
669
+ async function fitTruncate(messages, system) {
670
+ let available = budget;
671
+ if (system)
672
+ available -= countTokens(system);
673
+ const result = [];
674
+ for (let i = messages.length - 1;i >= 0; i--) {
675
+ const tokens = estimateMessageTokens(messages[i]);
676
+ if (available - tokens < 0 && result.length > 0)
677
+ break;
678
+ available -= tokens;
679
+ result.unshift(messages[i]);
680
+ }
681
+ return result;
682
+ }
683
+ async function fitSummarize(messages, system) {
684
+ if (!config.summarizer)
685
+ return fitTruncate(messages, system);
686
+ let available = budget;
687
+ if (system)
688
+ available -= countTokens(system);
689
+ const total = estimateTokens(messages);
690
+ if (total <= available)
691
+ return messages;
692
+ const keepCount = Math.max(1, Math.floor(messages.length / 3));
693
+ const toSummarize = messages.slice(0, messages.length - keepCount);
694
+ const toKeep = messages.slice(messages.length - keepCount);
695
+ const summary = await config.summarizer(toSummarize);
696
+ const summaryMsg = {
697
+ role: "system",
698
+ content: `Previous conversation summary: ${summary}`
699
+ };
700
+ return [summaryMsg, ...toKeep];
701
+ }
702
+ async function fitSlidingWindow(messages, system) {
703
+ let available = budget;
704
+ if (system)
705
+ available -= countTokens(system);
706
+ const result = [];
707
+ for (let i = messages.length - 1;i >= 0; i--) {
708
+ const tokens = estimateMessageTokens(messages[i]);
709
+ if (available - tokens < 0 && result.length > 0)
710
+ break;
711
+ available -= tokens;
712
+ result.unshift(messages[i]);
713
+ }
714
+ return result;
715
+ }
716
+ return {
717
+ estimateTokens,
718
+ async fit(messages, system) {
719
+ const total = estimateTokens(messages);
720
+ let available = budget;
721
+ if (system)
722
+ available -= countTokens(system);
723
+ if (total <= available)
724
+ return messages;
725
+ switch (strategy) {
726
+ case "truncate":
727
+ return fitTruncate(messages, system);
728
+ case "summarize":
729
+ return fitSummarize(messages, system);
730
+ case "sliding-window":
731
+ return fitSlidingWindow(messages, system);
732
+ }
733
+ }
734
+ };
735
+ }
499
736
  // src/circuit-breaker.ts
500
737
  function defaultShouldCount(error) {
501
738
  if (error && typeof error === "object" && "retryable" in error) {
@@ -748,17 +985,19 @@ function createPolicySet(policies) {
748
985
  }
749
986
  };
750
987
  }
751
- function policyMiddleware(policySet) {
988
+ function policyMiddleware(policySet, options) {
752
989
  return async (ctx, next) => {
753
990
  const requestContent = ctx.request.messages.map((m) => extractText(m.content)).join(`
754
991
  `);
755
992
  const tokenCount = Math.ceil(requestContent.length / 4);
993
+ const costEstimate = options?.estimateCost ? options.estimateCost(ctx.model, tokenCount) : undefined;
756
994
  const policyCtx = {
757
995
  model: ctx.model,
758
996
  provider: ctx.provider,
759
997
  metadata: ctx.metadata,
760
998
  requestContent,
761
- tokenCount
999
+ tokenCount,
1000
+ costEstimate
762
1001
  };
763
1002
  const denials = policySet.evaluate(policyCtx);
764
1003
  if (denials.length > 0) {
@@ -962,6 +1201,7 @@ function createShutdownManager(config) {
962
1201
  return manager;
963
1202
  }
964
1203
  export {
1204
+ zodToJsonSchema,
965
1205
  unwrapOr,
966
1206
  unwrap,
967
1207
  tryCatchSync,
@@ -984,10 +1224,13 @@ export {
984
1224
  dedupMiddleware,
985
1225
  createStream,
986
1226
  createShutdownManager,
1227
+ createRegistry,
987
1228
  createPolicySet,
988
1229
  createLogger,
989
1230
  createDedup,
1231
+ createContextManager,
990
1232
  createCircuitBreaker,
1233
+ countTokens,
991
1234
  costLimitPolicy,
992
1235
  contentPolicy,
993
1236
  ElsiumStream,
package/dist/policy.d.ts CHANGED
@@ -29,7 +29,9 @@ export interface PolicySet {
29
29
  readonly policies: string[];
30
30
  }
31
31
  export declare function createPolicySet(policies: PolicyConfig[]): PolicySet;
32
- export declare function policyMiddleware(policySet: PolicySet): Middleware;
32
+ export declare function policyMiddleware(policySet: PolicySet, options?: {
33
+ estimateCost?: (model: string, tokenCount: number) => number;
34
+ }): Middleware;
33
35
  export declare function modelAccessPolicy(allowedModels: string[]): PolicyConfig;
34
36
  export declare function tokenLimitPolicy(maxTokens: number): PolicyConfig;
35
37
  export declare function costLimitPolicy(maxCost: number): PolicyConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAqC,MAAM,SAAS,CAAA;AAG5E,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAA;AAE7C,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,cAAc,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,YAAY,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,eAAe,GAAG,eAAe,CAAA;CACxC;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,EAAE,CAAA;IAC5C,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IACrC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,CAsCnE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAsBjE;AAID,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,YAAY,CAqBvE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CA2BhE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA2B7D;AAED,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,YAAY,CAuBrE"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAqC,MAAM,SAAS,CAAA;AAG5E,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAA;AAE7C,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,cAAc,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,YAAY,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,IAAI,CAAC,EAAE,eAAe,GAAG,eAAe,CAAA;CACxC;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,EAAE,CAAA;IAC5C,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IACrC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,CAsCnE;AAED,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GACxE,UAAU,CA2BZ;AAID,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,YAAY,CAqBvE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CA2BhE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA2B7D;AAED,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,YAAY,CAuBrE"}
@@ -0,0 +1,9 @@
1
+ export interface Registry<T> {
2
+ register(name: string, factory: T): void;
3
+ get(name: string): T | undefined;
4
+ list(): string[];
5
+ has(name: string): boolean;
6
+ unregister(name: string): boolean;
7
+ }
8
+ export declare function createRegistry<T>(label: string): Registry<T>;
9
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;IAChC,IAAI,IAAI,MAAM,EAAE,CAAA;IAChB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACjC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAoC5D"}
@@ -0,0 +1,8 @@
1
+ import type { z } from 'zod';
2
+ /**
3
+ * Converts a Zod schema to JSON Schema.
4
+ * Uses Zod's internal `_def` property — the standard community pattern
5
+ * since Zod does not expose a public schema introspection API.
6
+ */
7
+ export declare function zodToJsonSchema(schema: z.ZodType): Record<string, unknown>;
8
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAyC5B;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkE1E"}
@@ -0,0 +1,15 @@
1
+ import type { Message } from './types';
2
+ export declare function countTokens(text: string, model?: string): number;
3
+ export type ContextStrategy = 'truncate' | 'summarize' | 'sliding-window';
4
+ export interface ContextManagerConfig {
5
+ maxTokens: number;
6
+ strategy: ContextStrategy;
7
+ reserveTokens?: number;
8
+ summarizer?: (messages: Message[]) => Promise<string>;
9
+ }
10
+ export interface ContextManager {
11
+ fit(messages: Message[], system?: string): Promise<Message[]>;
12
+ estimateTokens(messages: Message[]): number;
13
+ }
14
+ export declare function createContextManager(config: ContextManagerConfig): ContextManager;
15
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAoCtC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,gBAAgB,CAAA;AAEzE,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,eAAe,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,cAAc;IAC9B,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7D,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;CAC3C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAkFjF"}
package/dist/types.d.ts CHANGED
@@ -15,7 +15,29 @@ export interface ImageContent {
15
15
  url: string;
16
16
  };
17
17
  }
18
- export type ContentPart = TextContent | ImageContent;
18
+ export interface AudioContent {
19
+ type: 'audio';
20
+ source: {
21
+ type: 'base64';
22
+ mediaType: string;
23
+ data: string;
24
+ } | {
25
+ type: 'url';
26
+ url: string;
27
+ };
28
+ }
29
+ export interface DocumentContent {
30
+ type: 'document';
31
+ source: {
32
+ type: 'base64';
33
+ mediaType: string;
34
+ data: string;
35
+ } | {
36
+ type: 'url';
37
+ url: string;
38
+ };
39
+ }
40
+ export type ContentPart = TextContent | ImageContent | AudioContent | DocumentContent;
19
41
  export interface ToolCall {
20
42
  id: string;
21
43
  name: string;
@@ -147,6 +169,19 @@ export interface StreamCheckpoint {
147
169
  tokensSoFar: number;
148
170
  eventIndex: number;
149
171
  }
172
+ export interface TenantContext {
173
+ tenantId: string;
174
+ tier?: string;
175
+ limits?: {
176
+ maxRequestsPerMinute?: number;
177
+ maxTokensPerMinute?: number;
178
+ maxTokensPerDay?: number;
179
+ maxCostPerDay?: number;
180
+ maxCostPerMonth?: number;
181
+ allowedModels?: string[];
182
+ };
183
+ metadata?: Record<string, unknown>;
184
+ }
150
185
  export interface MiddlewareContext {
151
186
  request: CompletionRequest;
152
187
  provider: string;
@@ -157,4 +192,6 @@ export interface MiddlewareContext {
157
192
  }
158
193
  export type MiddlewareNext = (ctx: MiddlewareContext) => Promise<LLMResponse>;
159
194
  export type Middleware = (ctx: MiddlewareContext, next: MiddlewareNext) => Promise<LLMResponse>;
195
+ export type StreamMiddlewareNext = (ctx: MiddlewareContext, source: AsyncIterable<StreamEvent>) => AsyncIterable<StreamEvent>;
196
+ export type StreamMiddleware = (ctx: MiddlewareContext, source: AsyncIterable<StreamEvent>, next: StreamMiddlewareNext) => AsyncIterable<StreamEvent>;
160
197
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAI5B,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAA;AAE3D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1F;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1F;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1F;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,CAAA;AAIrF,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,UAAU;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAID,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAID,MAAM,WAAW,UAAU;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAA;CACf;AAID,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,CAAA;AAEjF,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,UAAU,CAAA;IACjB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CACf;AAID,MAAM,MAAM,WAAW,GACpB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAI1D,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAID,MAAM,WAAW,QAAQ;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE;QACR,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC7B,CAAA;IACD,QAAQ,EAAE;QACT,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC7B,CAAA;IACD,KAAK,EAAE,UAAU,CAAA;IACjB,IAAI,EAAE,aAAa,CAAA;CACnB;AAID,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CAClB;AAID,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE;QACR,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KACxB,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAID,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAE7E,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAI/F,MAAM,MAAM,oBAAoB,GAAG,CAClC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,KAC9B,aAAa,CAAC,WAAW,CAAC,CAAA;AAE/B,MAAM,MAAM,gBAAgB,GAAG,CAC9B,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,EAClC,IAAI,EAAE,oBAAoB,KACtB,aAAa,CAAC,WAAW,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elsium-ai/core",
3
- "version": "0.2.3",
3
+ "version": "0.4.0",
4
4
  "description": "Core types, schemas, errors, and utilities for ElsiumAI",
5
5
  "license": "MIT",
6
6
  "author": "Eric Utrera <ebutrera9103@gmail.com>",