@memberjunction/ai
Advanced tools
@@ -45,6 +45,92 @@ import { FileCapabilities } from './baseLLM.js'; | ||
| ClearAdditionalSettings(): void; | ||
| /** | ||
| * Embeds a SINGLE text into one vector. | ||
| * | ||
| * ERROR CONVENTION — note the deliberate asymmetry with {@link EmbedTexts}: on failure a provider | ||
| * returns an empty `vector: []` here (a single-item soft failure the caller inspects directly). | ||
| * The batch {@link EmbedTexts} is stricter and ALL-OR-NOTHING — one failed item collapses the whole | ||
| * result to `vectors: []` rather than returning a partially-filled array — because its consumers pair | ||
| * `vectors[i] ↔ records[i]` by index and a stray empty slot is silent corruption. The one case that | ||
| * THROWS instead of degrading is a structural collapse (vector count ≠ text count); see {@link EmbedTexts}. | ||
| */ | ||
| abstract EmbedText(params: EmbedTextParams): Promise<EmbedTextResult>; | ||
| abstract EmbedTexts(params: EmbedTextsParams): Promise<EmbedTextsResult>; | ||
| abstract GetEmbeddingModels(): Promise<any>; | ||
| /** | ||
| * Whether this provider's embedding model has a NATIVE batch endpoint that returns one vector | ||
| * per input in a single request. Defaults to `false`. Providers that pass an array of texts | ||
| * straight to their API (e.g. OpenAI, Azure, Cohere, Mistral) override this to return `true` | ||
| * and implement {@link embedBatch}. Providers without one inherit the safe per-text default below. | ||
| */ | ||
| get SupportsBatchEmbeddings(): boolean; | ||
| /** | ||
| * Max in-flight `EmbedText` calls for the default (non-batch) path. Override to tune. | ||
| * | ||
| * Only the per-text fallback is throttled this way — the native {@link embedBatch} path sends all | ||
| * texts in ONE request, so there is nothing to bound. That asymmetry is intentional: N small calls | ||
| * need a concurrency ceiling; a single batched call does not. | ||
| */ | ||
| protected get maxEmbedTextsConcurrency(): number; | ||
| /** | ||
| * Extra retry attempts per text on the default (non-batch) path, on top of the initial attempt. | ||
| * `0` disables retry. Retrying each text a few times before giving up stops one transient 429/500 | ||
| * from failing the whole batch (whose failure rate otherwise scales with the text count N). | ||
| */ | ||
| protected get maxEmbedTextsRetries(): number; | ||
| /** Base delay (ms) for exponential backoff between per-text retries: delay = base * 2^(n-1). */ | ||
| protected get embedRetryBaseDelayMs(): number; | ||
| /** | ||
| * Embeds an array of texts, returning exactly ONE vector per input text, in input order. | ||
| * | ||
| * DISPATCHES on {@link SupportsBatchEmbeddings}: providers with a native batch endpoint set it to | ||
| * `true` and implement {@link embedBatch}; everyone else gets the safe per-text fallback in | ||
| * {@link embedPerText}. (A provider may still override this method directly for fully custom | ||
| * behavior.) | ||
| * | ||
| * Whichever path runs, the result is hard-asserted to be 1:1 with the inputs (an intentional | ||
| * empty result — the per-text graceful-degrade — is allowed): a native `embedBatch` that drops | ||
| * or reorders vectors, or any other collapse, throws here rather than letting a misaligned array | ||
| * reach index-based consumers (e.g. EntityVectorSyncer). | ||
| */ | ||
| EmbedTexts(params: EmbedTextsParams): Promise<EmbedTextsResult>; | ||
| /** | ||
| * Native batch path. A provider that returns `SupportsBatchEmbeddings = true` MUST override this | ||
| * with a single batched API call returning one vector per input. The default throws so the flag | ||
| * and the implementation can't drift apart (claim batch ⇒ must implement it). | ||
| */ | ||
| protected embedBatch(_params: EmbedTextsParams): Promise<EmbedTextsResult>; | ||
| /** | ||
| * Default (non-batch) path: fans out one {@link EmbedText} call per text with bounded concurrency, | ||
| * preserving order. The 1:1 vector/text count is enforced by the dispatcher ({@link EmbedTexts}). | ||
| * | ||
| * Each text is first retried with bounded exponential backoff ({@link retryEmbedText}) so a lone | ||
| * transient failure doesn't sink the batch; only a text that STILL fails after its retries counts | ||
| * as failed. | ||
| * | ||
| * ERROR CONTRACT (deliberate — change here if a different policy is wanted): mirrors the | ||
| * per-provider Gemini fix. On ANY per-text failure that survives retry (EmbedText throws OR yields | ||
| * an empty vector) we return an EMPTY result rather than throwing, so batch pipelines that don't | ||
| * wrap EmbedTexts (e.g. EntityVectorSyncer) degrade gracefully instead of aborting. To make it | ||
| * fully fail-loud instead, replace the two `emptyEmbedTextsResult(...)` returns below with `throw`. | ||
| */ | ||
| protected embedPerText(params: EmbedTextsParams): Promise<EmbedTextsResult>; | ||
| /** Empty `EmbedTextsResult` returned by the default `EmbedTexts` when an item fails (graceful degrade). */ | ||
| private emptyEmbedTextsResult; | ||
| /** | ||
| * Runs `fn` over `items` with at most `maxConcurrency` in flight at once, preserving order. | ||
| * The per-item `await` inside each worker is what bounds concurrency; parallelism comes from | ||
| * running up to `maxConcurrency` workers at the same time. | ||
| */ | ||
| protected runWithConcurrency<T>(items: string[], fn: (item: string, index: number) => Promise<T>, maxConcurrency: number): Promise<T[]>; | ||
| /** | ||
| * Runs a single-text embed `attempt` with bounded exponential-backoff retry. A transient failure — | ||
| * `attempt` throws, or returns an empty/missing vector — is retried up to {@link maxEmbedTextsRetries} | ||
| * times, sleeping {@link embedRetryBaseDelayMs} * 2^(n-1) between tries. Returns the first successful | ||
| * result; after the final attempt returns whatever it produced (or rethrows its error) so the caller's | ||
| * existing empty-vector / throw handling still applies. This is what keeps one transient 429/500 from | ||
| * failing the whole batch. | ||
| */ | ||
| protected retryEmbedText(attempt: () => Promise<EmbedTextResult>): Promise<EmbedTextResult>; | ||
| /** Sleep helper for retry backoff, isolated so tests can override `embedRetryBaseDelayMs` to avoid real delays. */ | ||
| protected sleep(ms: number): Promise<void>; | ||
| /** | ||
| * Embeds text and/or interleaved media content into a single fused vector. | ||
@@ -54,3 +140,3 @@ * | ||
| * if any non-text block is present, throws — because the base provider can't embed media. | ||
| * Multimodal providers (e.g. GeminiEmbedding2) should override this method. | ||
| * Multimodal providers (e.g. GeminiEmbedding) should override this method. | ||
| */ | ||
@@ -57,0 +143,0 @@ EmbedContent(params: EmbedContentParams): Promise<EmbedContentResult>; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"baseEmbeddings.d.ts","sourceRoot":"","sources":["../../src/generic/baseEmbeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE7I;;GAEG;AACH,8BAAsB,cAAe,SAAQ,SAAS;IAClD;;OAEG;IACH,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAExD;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAEnD;IAED;;;;OAIG;IACI,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAIrD;;;OAGG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAmBrE,+FAA+F;IAC/F,OAAO,CAAC,oBAAoB;IAW5B,8FAA8F;IAC9F,OAAO,CAAC,iBAAiB;IAUzB;;;;;OAKG;IACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIjE;;;;OAIG;IACI,uBAAuB,IAAI,IAAI;aAItB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;aAC5D,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;aAC/D,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC;IAElD;;;;;;OAMG;IACU,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQrF;AAED;;GAEG;AACH,8BAAsB,UAAW,SAAQ,cAAc;CAAG"} | ||
| {"version":3,"file":"baseEmbeddings.d.ts","sourceRoot":"","sources":["../../src/generic/baseEmbeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE7I;;GAEG;AACH,8BAAsB,cAAe,SAAQ,SAAS;IAClD;;OAEG;IACH,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAExD;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAEnD;IAED;;;;OAIG;IACI,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAIrD;;;OAGG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAmBrE,+FAA+F;IAC/F,OAAO,CAAC,oBAAoB;IAW5B,8FAA8F;IAC9F,OAAO,CAAC,iBAAiB;IAUzB;;;;;OAKG;IACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIjE;;;;OAIG;IACI,uBAAuB,IAAI,IAAI;IAItC;;;;;;;;;OASG;aACa,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;aAC5D,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC;IAElD;;;;;OAKG;IACH,IAAW,uBAAuB,IAAI,OAAO,CAE5C;IAED;;;;;;OAMG;IACH,SAAS,KAAK,wBAAwB,IAAI,MAAM,CAE/C;IAED;;;;OAIG;IACH,SAAS,KAAK,oBAAoB,IAAI,MAAM,CAE3C;IAED,gGAAgG;IAChG,SAAS,KAAK,qBAAqB,IAAI,MAAM,CAE5C;IAED;;;;;;;;;;;;OAYG;IACU,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAY5E;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAO1E;;;;;;;;;;;;;OAaG;cACa,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiCjF,2GAA2G;IAC3G,OAAO,CAAC,qBAAqB;IAI7B;;;;OAIG;cACa,kBAAkB,CAAC,CAAC,EAChC,KAAK,EAAE,MAAM,EAAE,EACf,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/C,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,CAAC,EAAE,CAAC;IAuBf;;;;;;;OAOG;cACa,cAAc,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBjG,mHAAmH;IACnH,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;;OAMG;IACU,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQrF;AAED;;GAEG;AACH,8BAAsB,UAAW,SAAQ,cAAc;CAAG"} |
@@ -1,2 +0,2 @@ | ||
| import { BaseModel } from './baseModel.js'; | ||
| import { BaseModel, ModelUsage } from './baseModel.js'; | ||
| /** | ||
@@ -86,2 +86,172 @@ * Base class for all embedding model implementations | ||
| /** | ||
| * Whether this provider's embedding model has a NATIVE batch endpoint that returns one vector | ||
| * per input in a single request. Defaults to `false`. Providers that pass an array of texts | ||
| * straight to their API (e.g. OpenAI, Azure, Cohere, Mistral) override this to return `true` | ||
| * and implement {@link embedBatch}. Providers without one inherit the safe per-text default below. | ||
| */ | ||
| get SupportsBatchEmbeddings() { | ||
| return false; | ||
| } | ||
| /** | ||
| * Max in-flight `EmbedText` calls for the default (non-batch) path. Override to tune. | ||
| * | ||
| * Only the per-text fallback is throttled this way — the native {@link embedBatch} path sends all | ||
| * texts in ONE request, so there is nothing to bound. That asymmetry is intentional: N small calls | ||
| * need a concurrency ceiling; a single batched call does not. | ||
| */ | ||
| get maxEmbedTextsConcurrency() { | ||
| return 4; | ||
| } | ||
| /** | ||
| * Extra retry attempts per text on the default (non-batch) path, on top of the initial attempt. | ||
| * `0` disables retry. Retrying each text a few times before giving up stops one transient 429/500 | ||
| * from failing the whole batch (whose failure rate otherwise scales with the text count N). | ||
| */ | ||
| get maxEmbedTextsRetries() { | ||
| return 2; | ||
| } | ||
| /** Base delay (ms) for exponential backoff between per-text retries: delay = base * 2^(n-1). */ | ||
| get embedRetryBaseDelayMs() { | ||
| return 250; | ||
| } | ||
| /** | ||
| * Embeds an array of texts, returning exactly ONE vector per input text, in input order. | ||
| * | ||
| * DISPATCHES on {@link SupportsBatchEmbeddings}: providers with a native batch endpoint set it to | ||
| * `true` and implement {@link embedBatch}; everyone else gets the safe per-text fallback in | ||
| * {@link embedPerText}. (A provider may still override this method directly for fully custom | ||
| * behavior.) | ||
| * | ||
| * Whichever path runs, the result is hard-asserted to be 1:1 with the inputs (an intentional | ||
| * empty result — the per-text graceful-degrade — is allowed): a native `embedBatch` that drops | ||
| * or reorders vectors, or any other collapse, throws here rather than letting a misaligned array | ||
| * reach index-based consumers (e.g. EntityVectorSyncer). | ||
| */ | ||
| async EmbedTexts(params) { | ||
| const result = this.SupportsBatchEmbeddings ? await this.embedBatch(params) : await this.embedPerText(params); | ||
| const expected = (params.texts ?? []).length; | ||
| if (expected > 0 && result.vectors.length !== 0 && result.vectors.length !== expected) { | ||
| throw new Error(`${this.constructor.name}.EmbedTexts produced ${result.vectors.length} vector(s) for ${expected} ` + | ||
| `input text(s); expected a 1:1 match. Refusing to return a misaligned embedding batch.`); | ||
| } | ||
| return result; | ||
| } | ||
| /** | ||
| * Native batch path. A provider that returns `SupportsBatchEmbeddings = true` MUST override this | ||
| * with a single batched API call returning one vector per input. The default throws so the flag | ||
| * and the implementation can't drift apart (claim batch ⇒ must implement it). | ||
| */ | ||
| embedBatch(_params) { | ||
| throw new Error(`${this.constructor.name} returns SupportsBatchEmbeddings = true but does not implement embedBatch(). ` + | ||
| `Override embedBatch() with the provider's native batch call, or return false to use the per-text default.`); | ||
| } | ||
| /** | ||
| * Default (non-batch) path: fans out one {@link EmbedText} call per text with bounded concurrency, | ||
| * preserving order. The 1:1 vector/text count is enforced by the dispatcher ({@link EmbedTexts}). | ||
| * | ||
| * Each text is first retried with bounded exponential backoff ({@link retryEmbedText}) so a lone | ||
| * transient failure doesn't sink the batch; only a text that STILL fails after its retries counts | ||
| * as failed. | ||
| * | ||
| * ERROR CONTRACT (deliberate — change here if a different policy is wanted): mirrors the | ||
| * per-provider Gemini fix. On ANY per-text failure that survives retry (EmbedText throws OR yields | ||
| * an empty vector) we return an EMPTY result rather than throwing, so batch pipelines that don't | ||
| * wrap EmbedTexts (e.g. EntityVectorSyncer) degrade gracefully instead of aborting. To make it | ||
| * fully fail-loud instead, replace the two `emptyEmbedTextsResult(...)` returns below with `throw`. | ||
| */ | ||
| async embedPerText(params) { | ||
| const { texts, ...rest } = params; | ||
| const items = texts ?? []; | ||
| let results; | ||
| try { | ||
| results = await this.runWithConcurrency(items, (text) => this.retryEmbedText(() => this.EmbedText({ ...rest, text })), this.maxEmbedTextsConcurrency); | ||
| } | ||
| catch (error) { | ||
| // Graceful degrade (see error contract above) — but never silently: log why it failed. | ||
| console.error(`${this.constructor.name}.EmbedTexts: per-text embedding failed:`, error); | ||
| return this.emptyEmbedTextsResult(params.model); | ||
| } | ||
| // An empty/missing vector means that text failed; refuse to return a partially-corrupt batch | ||
| // (downstream pairs vectors to records by index, so a stray empty vector is silent corruption). | ||
| if (items.length > 0 && results.some((r) => !r.vector || r.vector.length === 0)) { | ||
| return this.emptyEmbedTextsResult(params.model); | ||
| } | ||
| const promptTokens = results.reduce((sum, r) => sum + (r.ModelUsage?.promptTokens ?? 0), 0); | ||
| const completionTokens = results.reduce((sum, r) => sum + (r.ModelUsage?.completionTokens ?? 0), 0); | ||
| return { | ||
| object: 'list', | ||
| model: results[0]?.model ?? params.model ?? '', | ||
| ModelUsage: new ModelUsage(promptTokens, completionTokens), | ||
| vectors: results.map((r) => r.vector), | ||
| }; | ||
| } | ||
| /** Empty `EmbedTextsResult` returned by the default `EmbedTexts` when an item fails (graceful degrade). */ | ||
| emptyEmbedTextsResult(model) { | ||
| return { object: 'list', model: model ?? '', ModelUsage: new ModelUsage(0, 0), vectors: [] }; | ||
| } | ||
| /** | ||
| * Runs `fn` over `items` with at most `maxConcurrency` in flight at once, preserving order. | ||
| * The per-item `await` inside each worker is what bounds concurrency; parallelism comes from | ||
| * running up to `maxConcurrency` workers at the same time. | ||
| */ | ||
| async runWithConcurrency(items, fn, maxConcurrency) { | ||
| const out = new Array(items.length); | ||
| let nextIndex = 0; | ||
| let failed = false; | ||
| const worker = async () => { | ||
| // Stop claiming new items once any worker has thrown, so we don't keep issuing | ||
| // (paid) calls after the operation is already doomed to reject. | ||
| for (let index = nextIndex++; !failed && index < items.length; index = nextIndex++) { | ||
| try { | ||
| out[index] = await fn(items[index], index); | ||
| } | ||
| catch (error) { | ||
| failed = true; | ||
| throw error; | ||
| } | ||
| } | ||
| }; | ||
| // Always run at least one worker when there's work, so a non-positive cap can't leave | ||
| // items unprocessed (which would yield a sparse, guard-bypassing result array). | ||
| const workerCount = items.length === 0 ? 0 : Math.max(1, Math.min(maxConcurrency, items.length)); | ||
| await Promise.all(Array.from({ length: workerCount }, () => worker())); | ||
| return out; | ||
| } | ||
| /** | ||
| * Runs a single-text embed `attempt` with bounded exponential-backoff retry. A transient failure — | ||
| * `attempt` throws, or returns an empty/missing vector — is retried up to {@link maxEmbedTextsRetries} | ||
| * times, sleeping {@link embedRetryBaseDelayMs} * 2^(n-1) between tries. Returns the first successful | ||
| * result; after the final attempt returns whatever it produced (or rethrows its error) so the caller's | ||
| * existing empty-vector / throw handling still applies. This is what keeps one transient 429/500 from | ||
| * failing the whole batch. | ||
| */ | ||
| async retryEmbedText(attempt) { | ||
| let lastError; | ||
| for (let n = 0; n <= this.maxEmbedTextsRetries; n++) { | ||
| if (n > 0) { | ||
| await this.sleep(this.embedRetryBaseDelayMs * 2 ** (n - 1)); | ||
| } | ||
| try { | ||
| const result = await attempt(); | ||
| const failed = !result.vector || result.vector.length === 0; | ||
| if (failed && n < this.maxEmbedTextsRetries) { | ||
| continue; // transient empty vector — back off and retry | ||
| } | ||
| return result; // success, or the final empty result after exhausting retries | ||
| } | ||
| catch (error) { | ||
| lastError = error; | ||
| if (n >= this.maxEmbedTextsRetries) { | ||
| throw error; // out of retries — let the caller's catch degrade the batch | ||
| } | ||
| } | ||
| } | ||
| // Unreachable: the loop always returns or throws. Present to satisfy the type checker. | ||
| throw lastError instanceof Error ? lastError : new Error('retryEmbedText exhausted without a result'); | ||
| } | ||
| /** Sleep helper for retry backoff, isolated so tests can override `embedRetryBaseDelayMs` to avoid real delays. */ | ||
| sleep(ms) { | ||
| return new Promise((resolve) => setTimeout(resolve, ms)); | ||
| } | ||
| /** | ||
| * Embeds text and/or interleaved media content into a single fused vector. | ||
@@ -91,3 +261,3 @@ * | ||
| * if any non-text block is present, throws — because the base provider can't embed media. | ||
| * Multimodal providers (e.g. GeminiEmbedding2) should override this method. | ||
| * Multimodal providers (e.g. GeminiEmbedding) should override this method. | ||
| */ | ||
@@ -94,0 +264,0 @@ async EmbedContent(params) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"baseEmbeddings.js","sourceRoot":"","sources":["../../src/generic/baseEmbeddings.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"baseEmbeddings.js","sourceRoot":"","sources":["../../src/generic/baseEmbeddings.ts"],"names":[],"mappings":"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"} |
@@ -40,2 +40,15 @@ /** | ||
| /** | ||
| * **Optional raw per-session config blob** — the verbatim `AIAgentSession.Config_` string the | ||
| * session was created with (the host passes it through; it stays opaque to the contract). A | ||
| * data-aware channel parses out only the keys it owns — e.g. the Media channel reads a per-session | ||
| * `mediaCollectionID` override here. Kept as a plain string (not a typed bag) so the base contract | ||
| * stays free of `@memberjunction/core` and channel-agnostic; `null`/absent when the session carries | ||
| * no config. Channels MUST treat it as untrusted input (validate ids before use). | ||
| * | ||
| * NOTE: deliberately named `AgentSessionConfig` (not `SessionConfig`) to avoid confusion with the | ||
| * unrelated {@link import('./baseRealtime.js').ClientRealtimeSessionConfig.SessionConfig} — the | ||
| * provider-driver "private pact" config bag. This field is the persisted `AIAgentSession.Config_`. | ||
| */ | ||
| AgentSessionConfig?: string | null; | ||
| /** | ||
| * **Optional perception sink** — feeds a background context note into the live realtime model | ||
@@ -42,0 +55,0 @@ * (the server-side counterpart of the client channel's `RealtimeChannelContext.SendContextNote`). |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"baseRealtimeChannelServer.d.ts","sourceRoot":"","sources":["../../src/generic/baseRealtimeChannelServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IACzC,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC;IAEvB,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC;IAEhB,uGAAuG;IACvG,MAAM,EAAE,MAAM,CAAC;IAEf,4FAA4F;IAC5F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACpC,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,8BAAsB,yBAAyB;IAC3C;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CAAQ;IAE9D;;;;OAIG;IACH,aAAoB,WAAW,IAAI,MAAM,CAAC;IAE1C;;;;;;;;OAQG;IACH,IAAW,cAAc,IAAI,MAAM,CAElC;IAED;;;;;;;;;;;;OAYG;IACI,wBAAwB,IAAI,sBAAsB,EAAE;IAI3D;;;;;;;;;;;;;OAaG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIxH;;;OAGG;IACI,UAAU,CAAC,GAAG,EAAE,4BAA4B,GAAG,IAAI;IAK1D;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B;;;;OAIG;IACU,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;;;;;;;;;OAYG;IACU,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI1E;;;;;;;;OAQG;IACU,eAAe,CAAC,WAAW,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3F;;;;OAIG;IACI,OAAO,IAAI,IAAI;CAGzB"} | ||
| {"version":3,"file":"baseRealtimeChannelServer.d.ts","sourceRoot":"","sources":["../../src/generic/baseRealtimeChannelServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IACzC,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC;IAEvB,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC;IAEhB,uGAAuG;IACvG,MAAM,EAAE,MAAM,CAAC;IAEf,4FAA4F;IAC5F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB;IACpC,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,8BAAsB,yBAAyB;IAC3C;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CAAQ;IAE9D;;;;OAIG;IACH,aAAoB,WAAW,IAAI,MAAM,CAAC;IAE1C;;;;;;;;OAQG;IACH,IAAW,cAAc,IAAI,MAAM,CAElC;IAED;;;;;;;;;;;;OAYG;IACI,wBAAwB,IAAI,sBAAsB,EAAE;IAI3D;;;;;;;;;;;;;OAaG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIxH;;;OAGG;IACI,UAAU,CAAC,GAAG,EAAE,4BAA4B,GAAG,IAAI;IAK1D;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAI9B;;;;OAIG;IACU,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;;;;;;;;;OAYG;IACU,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI1E;;;;;;;;OAQG;IACU,eAAe,CAAC,WAAW,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3F;;;;OAIG;IACI,OAAO,IAAI,IAAI;CAGzB"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"baseRealtimeChannelServer.js","sourceRoot":"","sources":["../../src/generic/baseRealtimeChannelServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAoEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,OAAgB,yBAAyB;IAA/C;QACI;;;WAGG;QACO,YAAO,GAAwC,IAAI,CAAC;IAyHlE,CAAC;IAhHG;;;;;;;;OAQG;IACH,IAAW,cAAc;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,wBAAwB;QAC3B,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;QACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,QAAQ,6BAA6B,IAAI,CAAC,WAAW,wCAAwC,EAAE,CAAC;IACrJ,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,GAAiC;QAC/C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACO,YAAY;QAClB,iCAAiC;IACrC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB;QACzB,0CAA0C;IAC9C,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,CAAC,kDAAkD;IACnE,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,eAAe,CAAC,WAA8C;QACvE,0CAA0C;IAC9C,CAAC;IAED;;;;OAIG;IACI,OAAO;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;CACJ"} | ||
| {"version":3,"file":"baseRealtimeChannelServer.js","sourceRoot":"","sources":["../../src/generic/baseRealtimeChannelServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkFH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,OAAgB,yBAAyB;IAA/C;QACI;;;WAGG;QACO,YAAO,GAAwC,IAAI,CAAC;IAyHlE,CAAC;IAhHG;;;;;;;;OAQG;IACH,IAAW,cAAc;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,wBAAwB;QAC3B,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;QACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,QAAQ,6BAA6B,IAAI,CAAC,WAAW,wCAAwC,EAAE,CAAC;IACrJ,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,GAAiC;QAC/C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACO,YAAY;QAClB,iCAAiC;IACrC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB;QACzB,0CAA0C;IAC9C,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,CAAC,kDAAkD;IACnE,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,eAAe,CAAC,WAA8C;QACvE,0CAA0C;IAC9C,CAAC;IAED;;;;OAIG;IACI,OAAO;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;CACJ"} |
+2
-2
| { | ||
| "name": "@memberjunction/ai", | ||
| "type": "module", | ||
| "version": "5.43.0", | ||
| "version": "5.44.0", | ||
| "description": "MemberJunction: AI - core components for abstracting LLMs and other AI model types that are usable anywhere without ANY other MJ dependencies past @memberjunction/global which itself has zero additional dependencies.", | ||
@@ -20,3 +20,3 @@ "main": "dist/index.js", | ||
| "dependencies": { | ||
| "@memberjunction/global": "5.43.0", | ||
| "@memberjunction/global": "5.44.0", | ||
| "dotenv": "^17.2.4", | ||
@@ -23,0 +23,0 @@ "rxjs": "^7.8.2" |
308339
7.5%5084
5.59%+ Added
- Removed