@bivelio/savings-layer 0.4.31 → 0.4.32

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
@@ -325,7 +325,7 @@ declare function precioDeLista(model: string, at?: Date | number): CostModel | u
325
325
  * on the customer's machine. `test/version-declarada.test.ts` ties this
326
326
  * constant to package.json so the two can never drift.
327
327
  */
328
- declare const BV_SALA_VERSION = "0.4.31";
328
+ declare const BV_SALA_VERSION = "0.4.32";
329
329
 
330
330
  /**
331
331
  * Environment-agnostic UUID generation.
@@ -1107,6 +1107,23 @@ interface SavingsRequest {
1107
1107
  /** Sampling controls that participate in the exact-cache key. */
1108
1108
  temperature?: number;
1109
1109
  seed?: number;
1110
+ /**
1111
+ * How hard a reasoning model should think, sent as OpenAI's `reasoning_effort`
1112
+ * by the OpenAI-compatible adapter (`"none"`, `"minimal"`, `"low"`,
1113
+ * `"medium"`, `"high"`, `"xhigh"`; the value travels as written). Nothing is
1114
+ * sent when absent: the layer never picks an effort for you.
1115
+ *
1116
+ * Required for the gpt-5.6 family with tools on Chat Completions: OpenAI
1117
+ * rejects function tools there unless it is `"none"` («Function tools with
1118
+ * reasoning_effort are not supported for gpt-5.6-sol in
1119
+ * /v1/chat/completions … set reasoning_effort to 'none'»). Gemini's
1120
+ * OpenAI-compatible endpoint maps it to its thinking level. A compatible
1121
+ * endpoint that rejects the field by name gets the request once more without
1122
+ * it (OpenAI's own API never: there its 400 is the answer). It is part of the
1123
+ * cache identity, like `temperature` and `seed`. The Anthropic adapter
1124
+ * ignores it.
1125
+ */
1126
+ reasoningEffort?: ReasoningEffort;
1110
1127
  /**
1111
1128
  * Hard ceiling on generated tokens for this request, with or without an
1112
1129
  * output contract. It travels to every adapter: Anthropic `max_tokens`,
@@ -1126,11 +1143,22 @@ interface SavingsRequest {
1126
1143
  structuredData?: unknown;
1127
1144
  }
1128
1145
  /** A tool invocation the model requested (the provider-neutral shape). */
1146
+ /** OpenAI's `reasoning_effort` values; any other string travels as written. */
1147
+ type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | (string & {});
1129
1148
  interface ToolCallRequest {
1130
1149
  id?: string;
1131
1150
  name: string;
1132
1151
  /** Argumentos tal cual los serializó el modelo (JSON en crudo). */
1133
1152
  arguments: string;
1153
+ /**
1154
+ * Provider data attached to this call that must travel back, untouched, when
1155
+ * the conversation returns it: Gemini 3's
1156
+ * `extra_content.google.thought_signature` through its OpenAI-compatible
1157
+ * endpoint, without which the next turn is rejected with a 400 («Function
1158
+ * call is missing a thought_signature»). Opaque: pass it back as received in
1159
+ * the assistant message's `toolCalls`. It is not part of any cache key.
1160
+ */
1161
+ extraContent?: Record<string, unknown>;
1134
1162
  }
1135
1163
  /** Result returned to the caller. */
1136
1164
  interface SavingsResult<T = unknown> {
@@ -1920,6 +1948,8 @@ interface CanonicalRequest {
1920
1948
  contractId: string | null;
1921
1949
  temperature: number | null;
1922
1950
  seed: number | null;
1951
+ /** `reasoning_effort` declared by the caller; absent when it declared none. */
1952
+ reasoningEffort?: string;
1923
1953
  tenantId: string;
1924
1954
  authorizationScope: string;
1925
1955
  /**
@@ -2198,6 +2228,8 @@ interface SemanticRecord {
2198
2228
  temperature: number | null;
2199
2229
  /** Sampling seed of the request, or null when it set none. */
2200
2230
  seed: number | null;
2231
+ /** `reasoning_effort` of the request; absent when it declared none. */
2232
+ reasoningEffort?: string;
2201
2233
  storedAtMs: number;
2202
2234
  /**
2203
2235
  * With calibration on: the highest score at which this stored answer was
@@ -3050,6 +3082,12 @@ interface ProviderRequest {
3050
3082
  maxOutputTokens?: number;
3051
3083
  temperature?: number;
3052
3084
  seed?: number;
3085
+ /**
3086
+ * `SavingsRequest.reasoningEffort`, as the caller declared it. The
3087
+ * OpenAI-compatible adapter sends it as `reasoning_effort`; absent means
3088
+ * nothing is sent.
3089
+ */
3090
+ reasoningEffort?: string;
3053
3091
  /** Backend id selected by the constraints layer, for observability. */
3054
3092
  constraintBackend?: string;
3055
3093
  /**
@@ -3061,6 +3099,9 @@ interface ProviderRequest {
3061
3099
  * boundary; adapters that cache automatically (OpenAI) may ignore it. The
3062
3100
  * count is a claim about byte-for-byte stability, so a caller that rewrites an
3063
3101
  * earlier turn must lower it.
3102
+ *
3103
+ * `0` claims only what renders BEFORE the messages: the tool catalogue. The
3104
+ * Anthropic adapter then marks the end of the `tools` block (its last tool).
3064
3105
  */
3065
3106
  stablePrefixMessages?: number;
3066
3107
  /**
@@ -3225,6 +3266,15 @@ interface ProviderResponse {
3225
3266
  * podía distinguirlo y hacía exactamente eso.
3226
3267
  */
3227
3268
  finishReason?: "stop" | "length" | "content_filter" | "tool_calls" | (string & {});
3269
+ /**
3270
+ * The provider's own reason behind `finishReason`, when it gave one: Gemini's
3271
+ * OpenAI-compatible endpoint stops a filtered answer with
3272
+ * `finish_reason: "content_filter: OTHER"` (or `PROHIBITED_CONTENT`,
3273
+ * `SAFETY`…), which the built-in adapter reports as `finishReason:
3274
+ * "content_filter"` and `finishReasonDetail: "OTHER"`. Informational: the
3275
+ * layer decides on `finishReason` alone.
3276
+ */
3277
+ finishReasonDetail?: string;
3228
3278
  /**
3229
3279
  * The refusal message the model returned INSTEAD of an answer, exactly as the
3230
3280
  * provider wrote it: OpenAI's `message.refusal` (Chat Completions with
@@ -4361,6 +4411,13 @@ interface Policy {
4361
4411
  * así que sin esto "hour" y "day" no significaban nada operativamente.
4362
4412
  */
4363
4413
  maxCacheAgeMs: number | null;
4414
+ /**
4415
+ * The user turns touch a sensitive topic (self-harm or suicide, a mental
4416
+ * health crisis, a medical emergency), or null. With a topic, neither the
4417
+ * exact nor the semantic cache is used and no reference record is left: the
4418
+ * answer is measured and served, never replayed or credited as a saving.
4419
+ */
4420
+ sensitiveTopic: "self-harm" | "mental-health-crisis" | "medical-emergency" | null;
4364
4421
  reasons: string[];
4365
4422
  }
4366
4423
  declare function evaluatePolicy(c: CanonicalRequest): Policy;
@@ -4610,6 +4667,21 @@ declare function createMockProvider(options?: MockProviderOptions): Provider;
4610
4667
  * `constraints.backend: "none"` rather than claiming a guarantee the provider
4611
4668
  * never gave.
4612
4669
  *
4670
+ * OpenAI-only request fields are sent only to OpenAI's own API
4671
+ * (`prompt_cache_key`, see {@link OpenAICompatibleOptions.sendPromptCacheKey}).
4672
+ * An optional field an endpoint still rejects by name with a 400/422
4673
+ * (`prompt_cache_key`, `service_tier`, `seed`) is dropped and the request
4674
+ * repeated once, and the model is remembered, as with `response_format`.
4675
+ *
4676
+ * Output is counted as the provider bills it: where `total_tokens` exceeds
4677
+ * `prompt_tokens + completion_tokens` (Gemini's OpenAI-compatible endpoint
4678
+ * leaves its thinking tokens out of `completion_tokens`), the difference is
4679
+ * added to the output and reported as reasoning. Against OpenAI's own API,
4680
+ * whose `completion_tokens` already include reasoning, nothing is added. A
4681
+ * content-filter stop with a reason (Gemini's `"content_filter: OTHER"`) is
4682
+ * reported as `finishReason: "content_filter"`, the reason in
4683
+ * `finishReasonDetail`.
4684
+ *
4613
4685
  * Network calls use global `fetch` (Node >= 18) so there is no SDK dependency.
4614
4686
  */
4615
4687
  interface OpenAICompatibleOptions {
@@ -4619,8 +4691,11 @@ interface OpenAICompatibleOptions {
4619
4691
  * Strip the `provider/` prefix from model ids before sending (`openai/gpt-4o-mini`
4620
4692
  * → `gpt-4o-mini`).
4621
4693
  *
4622
- * Default (undefined): strip when `baseUrl` is OpenAI's own API or an Azure
4623
- * OpenAI endpoint, keep otherwise. OpenAI rejects a prefixed id with a 404
4694
+ * Default (undefined): strip when `baseUrl` is OpenAI's own API, an Azure
4695
+ * OpenAI endpoint or Google's own Gemini API
4696
+ * (https://generativelanguage.googleapis.com, whose OpenAI-compatible
4697
+ * endpoint answers 404 «models/google/gemini-… is not found» to a prefixed
4698
+ * id), keep otherwise. OpenAI rejects a prefixed id with a 404
4624
4699
  * ("model does not exist"), so the qualified ids the layer uses everywhere
4625
4700
  * else — pricing, cache keys, the report — would break the very first call
4626
4701
  * that reaches the provider. A gateway or a self-hosted server with a
@@ -4660,6 +4735,20 @@ interface OpenAICompatibleOptions {
4660
4735
  * explicit value always wins and is never switched.
4661
4736
  */
4662
4737
  maxTokensParam?: "max_tokens" | "max_completion_tokens";
4738
+ /**
4739
+ * Whether to send `prompt_cache_key`, the routing hint OpenAI uses to land
4740
+ * requests that share a prefix on the same cache instance.
4741
+ *
4742
+ * Default (undefined): only when `baseUrl` is OpenAI's own API
4743
+ * (https://api.openai.com). The field is OpenAI's, and strict endpoints
4744
+ * reject what they do not know: Gemini's OpenAI-compatible endpoint answers
4745
+ * 400 «Unknown name "prompt_cache_key"», so from 0.4.1 to 0.4.31 every
4746
+ * request with a cached prefix failed there. Set `true` for a proxy or router
4747
+ * in front of OpenAI that forwards it (if the endpoint rejects it anyway,
4748
+ * the request is repeated once without it and the model is remembered), or
4749
+ * `false` to never send it.
4750
+ */
4751
+ sendPromptCacheKey?: boolean;
4663
4752
  }
4664
4753
  /**
4665
4754
  * ¿Cumple este esquema las reglas del modo `strict` de OpenAI?
@@ -4677,8 +4766,8 @@ interface OpenAICompatibleOptions {
4677
4766
  declare function isStrictCompatible(schema: unknown): boolean;
4678
4767
  /**
4679
4768
  * Decides the id that travels on the wire. Explicit option wins; otherwise the
4680
- * endpoint decides: OpenAI/Azure get the bare id, everything else keeps what
4681
- * the caller wrote. Exported for the pipeline-level test that pins the README
4769
+ * endpoint decides: OpenAI/Azure and Google's own Gemini API get the bare id,
4770
+ * everything else keeps what the caller wrote. Exported for the pipeline-level test that pins the README
4682
4771
  * snippet; not part of the public API.
4683
4772
  */
4684
4773
  declare function quitarPrefijoDeProveedor(model: string, explicito: boolean | undefined, baseUrl: string): string;
@@ -4690,6 +4779,7 @@ declare class OpenAICompatibleProvider implements Provider {
4690
4779
  private readonly sinResponseFormat;
4691
4780
  private streamOptionsRejected;
4692
4781
  private readonly campoDeTopeAprendido;
4782
+ private readonly camposRechazados;
4693
4783
  private readonly origen;
4694
4784
  constructor(opts: OpenAICompatibleOptions);
4695
4785
  generate(req: ProviderRequest, options?: ProviderStreamOptions): Promise<ProviderResponse>;
@@ -4705,6 +4795,8 @@ declare class OpenAICompatibleProvider implements Provider {
4705
4795
  generateStream(req: ProviderRequest, options?: ProviderStreamOptions): AsyncGenerator<ProviderStreamEvent, void, undefined>;
4706
4796
  private campoDeTope;
4707
4797
  private corregirCampoDeTope;
4798
+ private corregirCampoOpcional;
4799
+ private campoAdmitido;
4708
4800
  private enviar;
4709
4801
  private construirCuerpo;
4710
4802
  /** Translate a 2xx endpoint response into the provider-neutral shape. */
@@ -4808,6 +4900,8 @@ declare class AnthropicProvider implements Provider {
4808
4900
  private readonly opts;
4809
4901
  private readonly fetchImpl;
4810
4902
  private readonly busquedas;
4903
+ private readonly sinToolChoiceForzado;
4904
+ private readonly sinMuestreo;
4811
4905
  constructor(opts?: AnthropicOptions);
4812
4906
  /** The id Anthropic's API sees: bare at `api.anthropic.com`, as written elsewhere. */
4813
4907
  private modeloEnElCable;
@@ -4822,6 +4916,7 @@ declare class AnthropicProvider implements Provider {
4822
4916
  * as one text event.
4823
4917
  */
4824
4918
  generateStream(req: ProviderRequest, options?: ProviderStreamOptions): AsyncGenerator<ProviderStreamEvent, void, undefined>;
4919
+ private enviarConCorrecciones;
4825
4920
  private enviar;
4826
4921
  private construirCuerpo;
4827
4922
  private reenvioDeBusquedas;
@@ -5706,4 +5801,4 @@ declare function toCsv(rows: readonly Readonly<Record<string, CsvValue>>[], opti
5706
5801
  columns?: readonly string[];
5707
5802
  }): string;
5708
5803
 
5709
- export { type AnswerJudge, type AnswerSource, type AnthropicOptions, AnthropicProvider, BV_SALA_VERSION, type BatchCounts, type BatchItemResult, type BatchJob, type BatchJobStatus, type BatchRequest, type BatchResults, BatchSubmitError, type BatchSubmitOptions, type BatchSummary, type BivelioHandoff, CATALOGO, COMPACTION_TRANSFORMS, COMPACT_ROWS_INSTRUCTION, type CacheBreakpointStore, type CacheOutcome, type CachePlacement, type CacheTier, type CacheWriteReport, type CachedAnswer, type CalibrationObservation, CalibrationStateError, type CanonicalRequest, type ChatMessage, type CompactRowsDecodeOptions, type CompactRowsOptions, type CompactVerification, type CompactionTransform, type CompressionEconomics, type CompressionPolicyInput, type CompressionRequest, type CompressionResult, type Compressor, type ConstraintBackend, type ConstraintBackendId, type ConstraintPlan, type ConversationState, type CostBasis, type CostModel, type CsvValue, DEFAULT_COST_MODEL, DEFAULT_MAX_STALENESS_SECONDS, DEFAULT_MIN_SAVED_CHARS, type DeferredExecutionReport, type DeterministicResolver, EMBEDDED_PUBLIC_KEY, type EmbeddingFn, type EvidenceDoc, type ExactCache, ExactTokenizer, type ExecutionClass, ExecutionRouter, type FocusExportOptions, type FocusRow, type FormatChoice, FormatSelector, type FormatSelectorOptions, type HandoffFact, HeuristicEstimator, InMemoryCacheBreakpointStore, InMemoryExactCache, InMemorySemanticCache, InMemoryToolSetFreezer, type JsonSchema, type LangfuseGenerationUpdate, LicenseError, type LicenseGate, type LicenseKeyShape, type LicenseKeyset, type LicenseStatus, type LicenseTokenPayload, type LocalClassifier, MODELOS_POR_CODIFICACION, MODELS_BY_ENCODING, type MemoryDelta, type MessageRole, MockProvider, type MockProviderOptions, type ModelCascadeMode, type ModelCascadeReport, type ModelCascadeSettings, type OpenAICompatibleOptions, OpenAICompatibleProvider, type OutputContract, PRECIOS_AL_DIA, type Policy, type PriceLeverSaving, type PriceLeverSettings, type ProtectedSpan, type Provider, type ProviderRequest, type ProviderResponse, type ProviderStreamEvent, type ProviderStreamOptions, type ProviderToolSearch, type ProviderToolSearchUsage, type ProviderUsage, QUALITY_STATUSES, type QualityCacheMatch, type QualityCascadeCheck, type QualityLedger, type QualityRepairCheck, type QualitySchemaCheck, type QualityStatus, type QualityTruncationCheck, REFERENCE_MAX_AGE_MS, REFERENCE_MESSAGE_ALLOWANCE, REFERENCE_OUTPUT_SHARE, type ReferenceCredit, type ReferenceRejection, type RequestContext, type Reranker, type ResolvedDeps, type ResolvedGate, type ResolvedLicense, ResolverRegistry, type ResolverResult, type RetrievalOptions, type RetrievalOutcome, type RetrievalPlan, type Retriever, type RevocationListBody, type RevocationListVerification, type RevocationPollEvent, RevocationPoller, type RevocationPollerOptions, RevocationSnapshot, type RouteDecision, type SavingsAdapterLevers, type SavingsAdapterOptions, type SavingsAttributeOptions, type SavingsBatches, type SavingsCallOptions, type SavingsLayer, type SavingsLayerConfig, SavingsLedger, type SavingsRecord, type SavingsReport, type SavingsReportForExport, type SavingsRequest, type SavingsResult, type SavingsSeriesOptions, type SavingsSeriesRow, type SavingsSpanAttributes, type SavingsSpanOptions, type SavingsStream, type SavingsStreamEvent, type SavingsStreamOptions, type SavingsToggles, type SavingsTracingOptions, SchemaRegistry, type SemanticCacheOptions, type SemanticCalibrationBound, type SemanticCalibrationOptions, type SemanticCalibrationSegmentState, type SemanticCalibrationState, type SemanticCalibrationStatus, type SemanticHit, type SemanticLookup, type SemanticProbe, type SemanticRecord, type SemanticVerifier, type SerializationFormat, type Serializer, Singleflight, type SpanAttributeValue, type SpanLike, type SpanStartOptionsLike, StreamAbortedError, type StreamingReport, type TokenEstimator, TokenizerRegistry, type ToolCallRequest, type ToolDescriptor, type ToolOutputCompaction, type ToolOutputCompactionSettings, type ToolRisk, type ToolSearchMode, type ToolSearchOptions, type ToolSelection, ToolSelector, type ToolSelectorOptions, type ToolSetFreezer, TraceCollector, type TraceEvent, type TracerLike, type TracerProviderLike, UMBRAL_LOCAL, UsageEmitter, type UsageEmitterOptions, type ValidationError, type ValidationResult, type VerificationCheck, type VerificationExclusion, type VerificationOutcome, type VerificationReport, type VerificationSettings, type VerificationSide, type VerificationStratum, adaptiveK, arithmeticResolver, buildExactKey, buildInflightKey, calibrateSemanticFloor, canonicalize, compactRowsSerializer, compactToolOutput, compresionFiel, computeNextDelay, cosine, createCompactRowsSerializer, createDefaultResolvers, createHandoff, createMockProvider, createSavingsLayer, csvSerializer, decodeCompactRows, dedupe, defaultTokenizerRegistry, deriveSeatId, deriveStatus, detectCi, embebedorLocal, emptyState, encodeCompactRows, evalArithmetic, evaluatePolicy, executeRetrievalPlan, gateFromKey, heuristicEstimator, instrumentSavingsLayer, isKeyset, isStrictCompatible, jsonCompactSerializer, keyTokensMatch, licenseKeyShape, liveGateFromKey, mergeDelta, modelFamilyOf, multisetEqual, negationCount, noopCompressor, normalizeLicenseKey, normalizeText, numericTokens, precioDeLista, projectContext, providerNativeBackend, quitarPrefijoDeProveedor, randomId, recordSavingsOnSpan, registerExactTokenizer, registrarTokenizadorExacto, renderState, resolveConstraintBackend, resolveDependencies, resolveLicense, sameAnswer, savingsSpanAttributes, sha256, shouldCompress, stableStringify, toCsv, toFocusRows, toLangfuseGeneration, toSavingsSeries, uniformColumns, validateAgainstSchema, vectorLocal, verifyCompactSignature, verifyLicenseToken, verifyRevocationList, withProtectedSpans, words };
5804
+ export { type AnswerJudge, type AnswerSource, type AnthropicOptions, AnthropicProvider, BV_SALA_VERSION, type BatchCounts, type BatchItemResult, type BatchJob, type BatchJobStatus, type BatchRequest, type BatchResults, BatchSubmitError, type BatchSubmitOptions, type BatchSummary, type BivelioHandoff, CATALOGO, COMPACTION_TRANSFORMS, COMPACT_ROWS_INSTRUCTION, type CacheBreakpointStore, type CacheOutcome, type CachePlacement, type CacheTier, type CacheWriteReport, type CachedAnswer, type CalibrationObservation, CalibrationStateError, type CanonicalRequest, type ChatMessage, type CompactRowsDecodeOptions, type CompactRowsOptions, type CompactVerification, type CompactionTransform, type CompressionEconomics, type CompressionPolicyInput, type CompressionRequest, type CompressionResult, type Compressor, type ConstraintBackend, type ConstraintBackendId, type ConstraintPlan, type ConversationState, type CostBasis, type CostModel, type CsvValue, DEFAULT_COST_MODEL, DEFAULT_MAX_STALENESS_SECONDS, DEFAULT_MIN_SAVED_CHARS, type DeferredExecutionReport, type DeterministicResolver, EMBEDDED_PUBLIC_KEY, type EmbeddingFn, type EvidenceDoc, type ExactCache, ExactTokenizer, type ExecutionClass, ExecutionRouter, type FocusExportOptions, type FocusRow, type FormatChoice, FormatSelector, type FormatSelectorOptions, type HandoffFact, HeuristicEstimator, InMemoryCacheBreakpointStore, InMemoryExactCache, InMemorySemanticCache, InMemoryToolSetFreezer, type JsonSchema, type LangfuseGenerationUpdate, LicenseError, type LicenseGate, type LicenseKeyShape, type LicenseKeyset, type LicenseStatus, type LicenseTokenPayload, type LocalClassifier, MODELOS_POR_CODIFICACION, MODELS_BY_ENCODING, type MemoryDelta, type MessageRole, MockProvider, type MockProviderOptions, type ModelCascadeMode, type ModelCascadeReport, type ModelCascadeSettings, type OpenAICompatibleOptions, OpenAICompatibleProvider, type OutputContract, PRECIOS_AL_DIA, type Policy, type PriceLeverSaving, type PriceLeverSettings, type ProtectedSpan, type Provider, type ProviderRequest, type ProviderResponse, type ProviderStreamEvent, type ProviderStreamOptions, type ProviderToolSearch, type ProviderToolSearchUsage, type ProviderUsage, QUALITY_STATUSES, type QualityCacheMatch, type QualityCascadeCheck, type QualityLedger, type QualityRepairCheck, type QualitySchemaCheck, type QualityStatus, type QualityTruncationCheck, REFERENCE_MAX_AGE_MS, REFERENCE_MESSAGE_ALLOWANCE, REFERENCE_OUTPUT_SHARE, type ReasoningEffort, type ReferenceCredit, type ReferenceRejection, type RequestContext, type Reranker, type ResolvedDeps, type ResolvedGate, type ResolvedLicense, ResolverRegistry, type ResolverResult, type RetrievalOptions, type RetrievalOutcome, type RetrievalPlan, type Retriever, type RevocationListBody, type RevocationListVerification, type RevocationPollEvent, RevocationPoller, type RevocationPollerOptions, RevocationSnapshot, type RouteDecision, type SavingsAdapterLevers, type SavingsAdapterOptions, type SavingsAttributeOptions, type SavingsBatches, type SavingsCallOptions, type SavingsLayer, type SavingsLayerConfig, SavingsLedger, type SavingsRecord, type SavingsReport, type SavingsReportForExport, type SavingsRequest, type SavingsResult, type SavingsSeriesOptions, type SavingsSeriesRow, type SavingsSpanAttributes, type SavingsSpanOptions, type SavingsStream, type SavingsStreamEvent, type SavingsStreamOptions, type SavingsToggles, type SavingsTracingOptions, SchemaRegistry, type SemanticCacheOptions, type SemanticCalibrationBound, type SemanticCalibrationOptions, type SemanticCalibrationSegmentState, type SemanticCalibrationState, type SemanticCalibrationStatus, type SemanticHit, type SemanticLookup, type SemanticProbe, type SemanticRecord, type SemanticVerifier, type SerializationFormat, type Serializer, Singleflight, type SpanAttributeValue, type SpanLike, type SpanStartOptionsLike, StreamAbortedError, type StreamingReport, type TokenEstimator, TokenizerRegistry, type ToolCallRequest, type ToolDescriptor, type ToolOutputCompaction, type ToolOutputCompactionSettings, type ToolRisk, type ToolSearchMode, type ToolSearchOptions, type ToolSelection, ToolSelector, type ToolSelectorOptions, type ToolSetFreezer, TraceCollector, type TraceEvent, type TracerLike, type TracerProviderLike, UMBRAL_LOCAL, UsageEmitter, type UsageEmitterOptions, type ValidationError, type ValidationResult, type VerificationCheck, type VerificationExclusion, type VerificationOutcome, type VerificationReport, type VerificationSettings, type VerificationSide, type VerificationStratum, adaptiveK, arithmeticResolver, buildExactKey, buildInflightKey, calibrateSemanticFloor, canonicalize, compactRowsSerializer, compactToolOutput, compresionFiel, computeNextDelay, cosine, createCompactRowsSerializer, createDefaultResolvers, createHandoff, createMockProvider, createSavingsLayer, csvSerializer, decodeCompactRows, dedupe, defaultTokenizerRegistry, deriveSeatId, deriveStatus, detectCi, embebedorLocal, emptyState, encodeCompactRows, evalArithmetic, evaluatePolicy, executeRetrievalPlan, gateFromKey, heuristicEstimator, instrumentSavingsLayer, isKeyset, isStrictCompatible, jsonCompactSerializer, keyTokensMatch, licenseKeyShape, liveGateFromKey, mergeDelta, modelFamilyOf, multisetEqual, negationCount, noopCompressor, normalizeLicenseKey, normalizeText, numericTokens, precioDeLista, projectContext, providerNativeBackend, quitarPrefijoDeProveedor, randomId, recordSavingsOnSpan, registerExactTokenizer, registrarTokenizadorExacto, renderState, resolveConstraintBackend, resolveDependencies, resolveLicense, sameAnswer, savingsSpanAttributes, sha256, shouldCompress, stableStringify, toCsv, toFocusRows, toLangfuseGeneration, toSavingsSeries, uniformColumns, validateAgainstSchema, vectorLocal, verifyCompactSignature, verifyLicenseToken, verifyRevocationList, withProtectedSpans, words };