@memberjunction/ai 6.2.0-edge.1 → 6.2.0-edge.2

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.
Files changed (35) hide show
  1. package/dist/generic/apiKeyDictionary.d.ts +33 -0
  2. package/dist/generic/apiKeyDictionary.d.ts.map +1 -1
  3. package/dist/generic/apiKeyDictionary.js +19 -0
  4. package/dist/generic/apiKeyDictionary.js.map +1 -1
  5. package/dist/generic/baseAudio.d.ts +31 -14
  6. package/dist/generic/baseAudio.d.ts.map +1 -1
  7. package/dist/generic/baseAudio.js +20 -49
  8. package/dist/generic/baseAudio.js.map +1 -1
  9. package/dist/generic/baseEmbeddings.d.ts +8 -0
  10. package/dist/generic/baseEmbeddings.d.ts.map +1 -1
  11. package/dist/generic/baseEmbeddings.js +10 -0
  12. package/dist/generic/baseEmbeddings.js.map +1 -1
  13. package/dist/generic/baseSpeechToText.d.ts +47 -0
  14. package/dist/generic/baseSpeechToText.d.ts.map +1 -0
  15. package/dist/generic/baseSpeechToText.js +84 -0
  16. package/dist/generic/baseSpeechToText.js.map +1 -0
  17. package/dist/generic/baseTextToSpeech.d.ts +26 -0
  18. package/dist/generic/baseTextToSpeech.d.ts.map +1 -0
  19. package/dist/generic/baseTextToSpeech.js +12 -0
  20. package/dist/generic/baseTextToSpeech.js.map +1 -0
  21. package/dist/generic/baseVideo.d.ts +15 -1
  22. package/dist/generic/baseVideo.d.ts.map +1 -1
  23. package/dist/generic/baseVideo.js.map +1 -1
  24. package/dist/generic/decision.types.d.ts +24 -0
  25. package/dist/generic/decision.types.d.ts.map +1 -1
  26. package/dist/generic/decision.types.js +14 -0
  27. package/dist/generic/decision.types.js.map +1 -1
  28. package/dist/generic/reranker.types.d.ts +6 -0
  29. package/dist/generic/reranker.types.d.ts.map +1 -1
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -0
  33. package/dist/index.js.map +1 -1
  34. package/package.json +2 -2
  35. package/readme.md +4 -2
@@ -36,4 +36,37 @@ export declare class AIAPIKeys {
36
36
  */
37
37
  export declare function GetAIAPIKey(AIDriverName: string, apiKeys?: AIAPIKey[], verbose?: boolean): string;
38
38
  export declare function GetAIAPIKeyGlobal(AIDriverName: string): string;
39
+ /**
40
+ * Resolves the API key to use for ONE AI driver class.
41
+ *
42
+ * A shape for handing a *scoped* key-resolution capability to code that spends an AI key without
43
+ * handing over the key list itself. A holder can ask for the one driver class it needs; it cannot
44
+ * enumerate the run's credentials, and whoever built the resolver decides whether to answer.
45
+ * Realtime uses it. `@memberjunction/actions-base` declares the same signature separately as
46
+ * `RuntimeAPIKeyResolver` (it does not depend on this package), and the prompt runner still takes
47
+ * the key list (`AIPromptParams.apiKeys`).
48
+ *
49
+ * `undefined` means "no key for that driver class" — which is also how a deliberate refusal reads,
50
+ * so a caller treats both the same way: fall back to the platform key, or skip that vendor.
51
+ *
52
+ * Build one with {@link MakeAIAPIKeyResolver}.
53
+ */
54
+ export type AIAPIKeyResolver = (driverClass: string) => string | undefined;
55
+ /**
56
+ * Builds an {@link AIAPIKeyResolver} over a runtime key list: the list's key for the driver class
57
+ * first, then the platform (environment) key — the same precedence as `GetAIAPIKey`. For prompts
58
+ * that is only the legacy tier: `AIPromptRunner` tries MJ Credentials first (a per-request
59
+ * `credentialId`, then `AICredentialBinding`s, then the vendor's default credential) and reaches
60
+ * this order only when none of them resolves. This resolver never consults credentials.
61
+ *
62
+ * Pass the run's `apiKeys` and the resolver honours a customer's own credentials; pass nothing and
63
+ * it is exactly the platform lookup, so a caller never has to special-case "this run has no keys".
64
+ *
65
+ * A caller with its own platform-key seam should layer run keys over that seam rather than use this
66
+ * resolver, whose environment fallback would answer first and bypass the seam.
67
+ *
68
+ * @param apiKeys The runtime keys for a run, if any (`ExecuteAgentParams.apiKeys`).
69
+ * @param verbose Log which source answered — never the key itself.
70
+ */
71
+ export declare function MakeAIAPIKeyResolver(apiKeys?: AIAPIKey[], verbose?: boolean): AIAPIKeyResolver;
39
72
  //# sourceMappingURL=apiKeyDictionary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiKeyDictionary.d.ts","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAG9D,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAChE,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAKvD,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKtD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IA0B9C,SAAS,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAK5E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAmBjG;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAM9D"}
1
+ {"version":3,"file":"apiKeyDictionary.d.ts","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAG9D,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAChE,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAKvD,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKtD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IA0B9C,SAAS,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAK5E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAmBjG;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAM9D;AACD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAE9F"}
@@ -82,4 +82,23 @@ export function GetAIAPIKeyGlobal(AIDriverName) {
82
82
  else
83
83
  throw new Error('Could not instantiate AIAPIKeys class');
84
84
  }
85
+ /**
86
+ * Builds an {@link AIAPIKeyResolver} over a runtime key list: the list's key for the driver class
87
+ * first, then the platform (environment) key — the same precedence as `GetAIAPIKey`. For prompts
88
+ * that is only the legacy tier: `AIPromptRunner` tries MJ Credentials first (a per-request
89
+ * `credentialId`, then `AICredentialBinding`s, then the vendor's default credential) and reaches
90
+ * this order only when none of them resolves. This resolver never consults credentials.
91
+ *
92
+ * Pass the run's `apiKeys` and the resolver honours a customer's own credentials; pass nothing and
93
+ * it is exactly the platform lookup, so a caller never has to special-case "this run has no keys".
94
+ *
95
+ * A caller with its own platform-key seam should layer run keys over that seam rather than use this
96
+ * resolver, whose environment fallback would answer first and bypass the seam.
97
+ *
98
+ * @param apiKeys The runtime keys for a run, if any (`ExecuteAgentParams.apiKeys`).
99
+ * @param verbose Log which source answered — never the key itself.
100
+ */
101
+ export function MakeAIAPIKeyResolver(apiKeys, verbose) {
102
+ return (driverClass) => GetAIAPIKey(driverClass, apiKeys, verbose) || undefined;
103
+ }
85
104
  //# sourceMappingURL=apiKeyDictionary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiKeyDictionary.js","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiKeyDictionary.js","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { BaseModel, BaseParams, ModelUsage } from "./baseModel.js";
2
+ import type { AIErrorInfo } from "./errorTypes.js";
3
+ import type { BaseSpeechToText } from "./baseSpeechToText.js";
4
+ import type { BaseTextToSpeech } from "./baseTextToSpeech.js";
2
5
  /**
3
6
  * One piece of a transcription: the text, plus the audio duration the provider reported for it.
4
7
  *
@@ -11,11 +14,24 @@ export type TranscriptionPiece = {
11
14
  durationSeconds?: number;
12
15
  };
13
16
  /**
14
- * Base class for all audio generation models. Each AI model will have a sub-class implementing the abstract methods in this base class. Not all
15
- * sub-classes will support all methods. If a method is not supported an exception will be thrown, use the GetSupportedMethods method to determine
16
- * what methods are supported by a specific sub-class.
17
+ * Base class for audio models that carries both text-to-speech and speech-to-text. Not all
18
+ * sub-classes support all methods: an unsupported method throws, and `GetSupportedMethods` names
19
+ * the ones a sub-class implements.
20
+ *
21
+ * It spans two model types (`TTS` and `Speech to Text`), so it has been split. It stays, and keeps
22
+ * working, for drivers and callers that already use it: it implements both halves, so any of its
23
+ * drivers can be used where either new base class is expected. The drivers MemberJunction ships
24
+ * still extend it and are also registered against the new class or classes they implement, under
25
+ * the same keys.
26
+ *
27
+ * @deprecated Use {@link BaseTextToSpeech} for text-to-speech and {@link BaseSpeechToText} for
28
+ * speech-to-text. An application that overrides a shipped audio driver must also register the
29
+ * override against the new class or classes that driver implements, under the same key, for example
30
+ * `@RegisterClass(BaseTextToSpeech, 'OpenAIAudioGenerator')`. The ClassFactory keeps registrations
31
+ * per base class, and the text-to-speech and speech-to-text runners resolve drivers through the new
32
+ * classes, so an override registered only against `BaseAudioGenerator` is not used by them.
17
33
  */
18
- export declare abstract class BaseAudioGenerator extends BaseModel {
34
+ export declare abstract class BaseAudioGenerator extends BaseModel implements BaseTextToSpeech, BaseSpeechToText {
19
35
  abstract CreateSpeech(params: TextToSpeechParams): Promise<SpeechResult>;
20
36
  abstract SpeechToText(params: SpeechToTextParams): Promise<SpeechResult>;
21
37
  abstract GetVoices(): Promise<VoiceInfo[]>;
@@ -23,16 +39,8 @@ export declare abstract class BaseAudioGenerator extends BaseModel {
23
39
  abstract GetPronounciationDictionaries(): Promise<PronounciationDictionary[]>;
24
40
  abstract GetSupportedMethods(): Promise<string[]>;
25
41
  /**
26
- * Transcribes audio that may exceed the provider's upload ceiling, splitting it first when
27
- * it does, and joins the pieces back into one transcript and one duration.
28
- *
29
- * Pieces are transcribed **sequentially**, not in parallel: transcription providers rate limit
30
- * by audio-seconds per minute, so firing an hour of audio at once buys nothing but 429s, and a
31
- * partial failure mid-way would leave a transcript with an unmarked hole in it.
32
- *
33
- * The returned `durationSeconds` is the sum across pieces — which is what the provider bills —
34
- * and is left undefined if ANY piece failed to report one, since a partial sum would understate
35
- * the bill while looking like a complete answer.
42
+ * Transcribes audio that may exceed the provider's upload ceiling, splitting it first when it
43
+ * does. See {@link TranscribeAudioWithSplitting}, which this calls, for the behavior.
36
44
  *
37
45
  * @param audio The full audio to transcribe
38
46
  * @param maxUploadBytes The provider's hard upload ceiling
@@ -70,6 +78,15 @@ export declare class SpeechResult {
70
78
  * cost calculation declines rather than billing the request as free.
71
79
  */
72
80
  usage?: ModelUsage;
81
+ /**
82
+ * How a failure is classified, when the request failed: `ErrorAnalyzer`'s reading of the error
83
+ * the provider's SDK threw, which keeps its HTTP status. A caller deciding whether to try another
84
+ * vendor reads this, as the failover loop reads `BaseResult.errorInfo`: a rate limit or an outage
85
+ * is worth another vendor, and a request the vendor rejected as invalid is not. The message alone
86
+ * cannot tell them apart. Undefined on success, and from a driver that reports only
87
+ * `errorMessage`.
88
+ */
89
+ errorInfo?: AIErrorInfo;
73
90
  }
74
91
  export declare class SpeechToTextParams extends BaseParams {
75
92
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"baseAudio.d.ts","sourceRoot":"","sources":["../../src/generic/baseAudio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseAudio.d.ts","sourceRoot":"","sources":["../../src/generic/baseAudio.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,27 @@
1
1
  import { BaseModel, BaseParams } from "./baseModel.js";
2
+ import { TranscribeAudioWithSplitting } from "./baseSpeechToText.js";
2
3
  /**
3
- * Base class for all audio generation models. Each AI model will have a sub-class implementing the abstract methods in this base class. Not all
4
- * sub-classes will support all methods. If a method is not supported an exception will be thrown, use the GetSupportedMethods method to determine
5
- * what methods are supported by a specific sub-class.
4
+ * Base class for audio models that carries both text-to-speech and speech-to-text. Not all
5
+ * sub-classes support all methods: an unsupported method throws, and `GetSupportedMethods` names
6
+ * the ones a sub-class implements.
7
+ *
8
+ * It spans two model types (`TTS` and `Speech to Text`), so it has been split. It stays, and keeps
9
+ * working, for drivers and callers that already use it: it implements both halves, so any of its
10
+ * drivers can be used where either new base class is expected. The drivers MemberJunction ships
11
+ * still extend it and are also registered against the new class or classes they implement, under
12
+ * the same keys.
13
+ *
14
+ * @deprecated Use {@link BaseTextToSpeech} for text-to-speech and {@link BaseSpeechToText} for
15
+ * speech-to-text. An application that overrides a shipped audio driver must also register the
16
+ * override against the new class or classes that driver implements, under the same key, for example
17
+ * `@RegisterClass(BaseTextToSpeech, 'OpenAIAudioGenerator')`. The ClassFactory keeps registrations
18
+ * per base class, and the text-to-speech and speech-to-text runners resolve drivers through the new
19
+ * classes, so an override registered only against `BaseAudioGenerator` is not used by them.
6
20
  */
7
21
  export class BaseAudioGenerator extends BaseModel {
8
22
  /**
9
- * Transcribes audio that may exceed the provider's upload ceiling, splitting it first when
10
- * it does, and joins the pieces back into one transcript and one duration.
11
- *
12
- * Pieces are transcribed **sequentially**, not in parallel: transcription providers rate limit
13
- * by audio-seconds per minute, so firing an hour of audio at once buys nothing but 429s, and a
14
- * partial failure mid-way would leave a transcript with an unmarked hole in it.
15
- *
16
- * The returned `durationSeconds` is the sum across pieces — which is what the provider bills —
17
- * and is left undefined if ANY piece failed to report one, since a partial sum would understate
18
- * the bill while looking like a complete answer.
23
+ * Transcribes audio that may exceed the provider's upload ceiling, splitting it first when it
24
+ * does. See {@link TranscribeAudioWithSplitting}, which this calls, for the behavior.
19
25
  *
20
26
  * @param audio The full audio to transcribe
21
27
  * @param maxUploadBytes The provider's hard upload ceiling
@@ -25,42 +31,7 @@ export class BaseAudioGenerator extends BaseModel {
25
31
  * @param transcribeOne Transcribes a single piece already known to be within the ceiling
26
32
  */
27
33
  async TranscribeWithSplitting(audio, maxUploadBytes, splitTargetBytes, splitter, providerLabel, transcribeOne) {
28
- const limitMB = (maxUploadBytes / (1024 * 1024)).toFixed(0);
29
- if (audio.byteLength <= maxUploadBytes) {
30
- return await transcribeOne(audio);
31
- }
32
- if (!splitter) {
33
- throw new Error(`Audio is ${(audio.byteLength / (1024 * 1024)).toFixed(1)}MB, above ${providerLabel}'s ${limitMB}MB ` +
34
- `transcription limit. Assign an AudioSplitter to the Splitter property to transcribe ` +
35
- `audio this size.`);
36
- }
37
- const pieces = await splitter.Split(audio, splitTargetBytes);
38
- if (pieces.length === 0) {
39
- throw new Error('The configured AudioSplitter returned no pieces');
40
- }
41
- const transcripts = [];
42
- let totalDurationSeconds = 0;
43
- let everyPieceReportedDuration = true;
44
- for (const piece of pieces) {
45
- // A piece the splitter left oversized would fail at the API with a size error naming
46
- // neither the splitter nor which piece; say so here instead.
47
- if (piece.byteLength > maxUploadBytes) {
48
- throw new Error(`The configured AudioSplitter produced a ${(piece.byteLength / (1024 * 1024)).toFixed(1)}MB ` +
49
- `piece, above ${providerLabel}'s ${limitMB}MB limit`);
50
- }
51
- const transcribed = await transcribeOne(piece);
52
- transcripts.push(transcribed.text);
53
- if (transcribed.durationSeconds == null) {
54
- everyPieceReportedDuration = false;
55
- }
56
- else {
57
- totalDurationSeconds += transcribed.durationSeconds;
58
- }
59
- }
60
- return {
61
- text: transcripts.filter((t) => t.length > 0).join(' '),
62
- durationSeconds: everyPieceReportedDuration ? totalDurationSeconds : undefined,
63
- };
34
+ return TranscribeAudioWithSplitting(audio, maxUploadBytes, splitTargetBytes, splitter, providerLabel, transcribeOne);
64
35
  }
65
36
  }
66
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"baseAudio.js","sourceRoot":"","sources":["../../src/generic/baseAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAehE;;;;GAIG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,SAAS;IAQtD;;;;;;;;;;;;;;;;;;OAkBG;IACO,KAAK,CAAC,uBAAuB,CACnC,KAAa,EACb,cAAsB,EACtB,gBAAwB,EACxB,QAA8B,EAC9B,aAAqB,EACrB,aAA6D;QAE7D,MAAM,OAAO,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,KAAK,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;YACrC,OAAO,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACX,YAAY,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,aAAa,MAAM,OAAO,KAAK;gBACjG,sFAAsF;gBACtF,kBAAkB,CACzB,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,0BAA0B,GAAG,IAAI,CAAC;QAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,qFAAqF;YACrF,6DAA6D;YAC7D,IAAI,KAAK,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACX,2CAA2C,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;oBACzF,gBAAgB,aAAa,MAAM,OAAO,UAAU,CAC3D,CAAC;YACN,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,WAAW,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBACtC,0BAA0B,GAAG,KAAK,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,oBAAoB,IAAI,WAAW,CAAC,eAAe,CAAC;YACxD,CAAC;QACL,CAAC;QAED,OAAO;YACH,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACvD,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;SACjF,CAAC;IACN,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;CAyBxB;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;CAmCjD;AAyED;;GAEG;AACH,MAAM,OAAO,SAAS;CAwCrB;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;CAMvB;AAED,MAAM,OAAO,UAAU;CAmCtB;AAED,MAAM,OAAO,aAAa;CASzB;AAED;;GAEG;AACH,MAAM,OAAO,wBAAwB;CAOpC"}
1
+ {"version":3,"file":"baseAudio.js","sourceRoot":"","sources":["../../src/generic/baseAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAgBlE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,SAAS;IAQtD;;;;;;;;;;OAUG;IACO,KAAK,CAAC,uBAAuB,CACnC,KAAa,EACb,cAAsB,EACtB,gBAAwB,EACxB,QAA8B,EAC9B,aAAqB,EACrB,aAA6D;QAE7D,OAAO,4BAA4B,CAAC,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IACzH,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;CAmCxB;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;CAmCjD;AAyED;;GAEG;AACH,MAAM,OAAO,SAAS;CAwCrB;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;CAMvB;AAED,MAAM,OAAO,UAAU;CAmCtB;AAED,MAAM,OAAO,aAAa;CASzB;AAED;;GAEG;AACH,MAAM,OAAO,wBAAwB;CAOpC"}
@@ -61,6 +61,14 @@ export declare abstract class BaseEmbeddings extends BaseModel {
61
61
  * and implement {@link embedBatch}. Providers without one inherit the safe per-text default below.
62
62
  */
63
63
  get SupportsBatchEmbeddings(): boolean;
64
+ /**
65
+ * Whether this provider needs an API key to run. Defaults to `true`, because most embedding
66
+ * providers call a hosted API. A provider that runs in-process or against a local server (e.g.
67
+ * `LocalEmbedding`, which runs ONNX models in-process) overrides this to return `false`, so a
68
+ * caller that checks credentials before a call (such as `AIEmbeddingRunner`) does not reject it
69
+ * for having no key. Mirrors `VectorDBBase.RequiresAPIKey`.
70
+ */
71
+ get RequiresAPIKey(): boolean;
64
72
  /**
65
73
  * Max in-flight `EmbedText` calls for the default (non-batch) path. Override to tune.
66
74
  *
@@ -1 +1 @@
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,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
+ {"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,IAAW,cAAc,IAAI,OAAO,CAEnC;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"}
@@ -91,6 +91,16 @@ export class BaseEmbeddings extends BaseModel {
91
91
  get SupportsBatchEmbeddings() {
92
92
  return false;
93
93
  }
94
+ /**
95
+ * Whether this provider needs an API key to run. Defaults to `true`, because most embedding
96
+ * providers call a hosted API. A provider that runs in-process or against a local server (e.g.
97
+ * `LocalEmbedding`, which runs ONNX models in-process) overrides this to return `false`, so a
98
+ * caller that checks credentials before a call (such as `AIEmbeddingRunner`) does not reject it
99
+ * for having no key. Mirrors `VectorDBBase.RequiresAPIKey`.
100
+ */
101
+ get RequiresAPIKey() {
102
+ return true;
103
+ }
94
104
  /**
95
105
  * Max in-flight `EmbedText` calls for the default (non-batch) path. Override to tune.
96
106
  *
@@ -1 +1 @@
1
- {"version":3,"file":"baseEmbeddings.js","sourceRoot":"","sources":["../../src/generic/baseEmbeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEmbeddings.js","sourceRoot":"","sources":["../../src/generic/baseEmbeddings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAgB,cAAe,SAAQ,SAAS;IAAtD;;QACI;;WAEG;QACO,wBAAmB,GAAwB,EAAE,CAAC;IA2T5D,CAAC;IAzTG;;OAEG;IACH,IAAW,kBAAkB;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,mBAAmB;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,wBAAwB,CAAC,OAA2B;QAC1D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,SAAS;YACb,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CACX,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,kCAAkC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK;oBAC7E,cAAc,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CAC1E,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,+FAA+F;IACvF,oBAAoB,CAAC,KAA8B;QACvD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,8FAA8F;IACtF,iBAAiB,CAAC,IAAwB,EAAE,IAAsB;QACtE,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,QAA6B;QACtD,IAAI,CAAC,mBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,uBAAuB;QAC1B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAClC,CAAC;IAeD;;;;;OAKG;IACH,IAAW,uBAAuB;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,IAAc,wBAAwB;QAClC,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,IAAc,oBAAoB;QAC9B,OAAO,CAAC,CAAC;IACb,CAAC;IAED,gGAAgG;IAChG,IAAc,qBAAqB;QAC/B,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,UAAU,CAAC,MAAwB;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9G,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC7C,IAAI,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CACX,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,wBAAwB,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,QAAQ,GAAG;gBAC9F,uFAAuF,CAC9F,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACO,UAAU,CAAC,OAAyB;QAC1C,MAAM,IAAI,KAAK,CACX,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+EAA+E;YACnG,2GAA2G,CAClH,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;OAaG;IACO,KAAK,CAAC,YAAY,CAAC,MAAwB;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;QAE1B,IAAI,OAA0B,CAAC;QAC/B,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACnC,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EACtE,IAAI,CAAC,wBAAwB,CAChC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,uFAAuF;YACvF,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,yCAAyC,EAAE,KAAK,CAAC,CAAC;YACxF,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,6FAA6F;QAC7F,gGAAgG;QAChG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,OAAO;YACH,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YAC9C,UAAU,EAAE,IAAI,UAAU,CAAC,YAAY,EAAE,gBAAgB,CAAC;YAC1D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACxC,CAAC;IACN,CAAC;IAED,2GAA2G;IACnG,qBAAqB,CAAC,KAAgC;QAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjG,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,kBAAkB,CAC9B,KAAe,EACf,EAA+C,EAC/C,cAAsB;QAEtB,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;YACrC,+EAA+E;YAC/E,gEAAgE;YAChE,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,CAAC;gBACjF,IAAI,CAAC;oBACD,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QACF,sFAAsF;QACtF,gFAAgF;QAChF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACjG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,cAAc,CAAC,OAAuC;QAClE,IAAI,SAAkB,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACR,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC5D,IAAI,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1C,SAAS,CAAC,8CAA8C;gBAC5D,CAAC;gBACD,OAAO,MAAM,CAAC,CAAC,8DAA8D;YACjF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBACjC,MAAM,KAAK,CAAC,CAAC,4DAA4D;gBAC7E,CAAC;YACL,CAAC;QACL,CAAC;QACD,uFAAuF;QACvF,MAAM,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC1G,CAAC;IAED,mHAAmH;IACzG,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,YAAY,CAAC,MAA0B;QAChD,8FAA8F;QAC9F,gGAAgG;QAChG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAgB,UAAW,SAAQ,cAAc;CAAG"}
@@ -0,0 +1,47 @@
1
+ import { BaseModel } from "./baseModel.js";
2
+ import type { AudioModel, AudioSplitter, SpeechResult, SpeechToTextParams, TranscriptionPiece } from "./baseAudio.js";
3
+ /**
4
+ * Base class for speech-to-text models: recorded audio in, a transcript out. Drivers are resolved
5
+ * through the ClassFactory for `MJ: AI Models` of type `Speech to Text`, keyed by the model
6
+ * vendor's `DriverClass`, and are run by `AISpeechToTextRunner` in `@memberjunction/ai-prompts`.
7
+ *
8
+ * Split from `BaseAudioGenerator`, which also carries text-to-speech. A driver that does both
9
+ * registers against this class and `BaseTextToSpeech` under the same key. Drivers that split
10
+ * oversized audio call {@link TranscribeAudioWithSplitting}.
11
+ */
12
+ export declare abstract class BaseSpeechToText extends BaseModel {
13
+ /**
14
+ * Transcribes the audio in `params.audioData` (or the base 64 `params.audioFile`). On success the
15
+ * transcript is in `SpeechResult.content`, and `SpeechResult.usage` carries the audio duration in
16
+ * `Seconds` when the provider reported one.
17
+ */
18
+ abstract SpeechToText(params: SpeechToTextParams): Promise<SpeechResult>;
19
+ /** The driver's transcription models. */
20
+ abstract GetModels(): Promise<AudioModel[]>;
21
+ /** The names of the methods this driver implements. */
22
+ abstract GetSupportedMethods(): Promise<string[]>;
23
+ }
24
+ /**
25
+ * Transcribes audio that may exceed a provider's upload ceiling, splitting it first when it does,
26
+ * and joins the pieces back into one transcript and one duration.
27
+ *
28
+ * Pieces are transcribed **sequentially**, not in parallel: transcription providers rate limit by
29
+ * audio-seconds per minute, so firing an hour of audio at once buys nothing but 429s, and a partial
30
+ * failure mid-way would leave a transcript with an unmarked hole in it.
31
+ *
32
+ * The returned `durationSeconds` is the sum across pieces, which is what the provider bills, and is
33
+ * left undefined if ANY piece failed to report one, since a partial sum would understate the bill
34
+ * while looking like a complete answer.
35
+ *
36
+ * A free function rather than a protected method so that `BaseAudioGenerator` (which keeps it as
37
+ * one, for its drivers) can still be assigned to {@link BaseSpeechToText}.
38
+ *
39
+ * @param audio The full audio to transcribe
40
+ * @param maxUploadBytes The provider's hard upload ceiling
41
+ * @param splitTargetBytes Target piece size, below the ceiling to leave room for multipart framing
42
+ * @param splitter Splitter to use for oversized audio; may be null, in which case oversized audio fails
43
+ * @param providerLabel Provider name, used in the size-limit error messages
44
+ * @param transcribeOne Transcribes a single piece already known to be within the ceiling
45
+ */
46
+ export declare function TranscribeAudioWithSplitting(audio: Buffer, maxUploadBytes: number, splitTargetBytes: number, splitter: AudioSplitter | null, providerLabel: string, transcribeOne: (piece: Buffer) => Promise<TranscriptionPiece>): Promise<TranscriptionPiece>;
47
+ //# sourceMappingURL=baseSpeechToText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseSpeechToText.d.ts","sourceRoot":"","sources":["../../src/generic/baseSpeechToText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEnH;;;;;;;;GAQG;AACH,8BAAsB,gBAAiB,SAAQ,SAAS;IACpD;;;;OAIG;aACa,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAE/E,yCAAyC;aACzB,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAElD,uDAAuD;aACvC,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,4BAA4B,CAC9C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAC9D,OAAO,CAAC,kBAAkB,CAAC,CAgB7B"}
@@ -0,0 +1,84 @@
1
+ import { BaseModel } from "./baseModel.js";
2
+ /**
3
+ * Base class for speech-to-text models: recorded audio in, a transcript out. Drivers are resolved
4
+ * through the ClassFactory for `MJ: AI Models` of type `Speech to Text`, keyed by the model
5
+ * vendor's `DriverClass`, and are run by `AISpeechToTextRunner` in `@memberjunction/ai-prompts`.
6
+ *
7
+ * Split from `BaseAudioGenerator`, which also carries text-to-speech. A driver that does both
8
+ * registers against this class and `BaseTextToSpeech` under the same key. Drivers that split
9
+ * oversized audio call {@link TranscribeAudioWithSplitting}.
10
+ */
11
+ export class BaseSpeechToText extends BaseModel {
12
+ }
13
+ /**
14
+ * Transcribes audio that may exceed a provider's upload ceiling, splitting it first when it does,
15
+ * and joins the pieces back into one transcript and one duration.
16
+ *
17
+ * Pieces are transcribed **sequentially**, not in parallel: transcription providers rate limit by
18
+ * audio-seconds per minute, so firing an hour of audio at once buys nothing but 429s, and a partial
19
+ * failure mid-way would leave a transcript with an unmarked hole in it.
20
+ *
21
+ * The returned `durationSeconds` is the sum across pieces, which is what the provider bills, and is
22
+ * left undefined if ANY piece failed to report one, since a partial sum would understate the bill
23
+ * while looking like a complete answer.
24
+ *
25
+ * A free function rather than a protected method so that `BaseAudioGenerator` (which keeps it as
26
+ * one, for its drivers) can still be assigned to {@link BaseSpeechToText}.
27
+ *
28
+ * @param audio The full audio to transcribe
29
+ * @param maxUploadBytes The provider's hard upload ceiling
30
+ * @param splitTargetBytes Target piece size, below the ceiling to leave room for multipart framing
31
+ * @param splitter Splitter to use for oversized audio; may be null, in which case oversized audio fails
32
+ * @param providerLabel Provider name, used in the size-limit error messages
33
+ * @param transcribeOne Transcribes a single piece already known to be within the ceiling
34
+ */
35
+ export async function TranscribeAudioWithSplitting(audio, maxUploadBytes, splitTargetBytes, splitter, providerLabel, transcribeOne) {
36
+ if (audio.byteLength <= maxUploadBytes) {
37
+ return await transcribeOne(audio);
38
+ }
39
+ if (!splitter) {
40
+ throw new Error(`Audio is ${toMB(audio.byteLength)}MB, above ${providerLabel}'s ${limitMB(maxUploadBytes)}MB ` +
41
+ `transcription limit. Assign an AudioSplitter to the Splitter property to transcribe ` +
42
+ `audio this size.`);
43
+ }
44
+ const pieces = await splitter.Split(audio, splitTargetBytes);
45
+ if (pieces.length === 0) {
46
+ throw new Error('The configured AudioSplitter returned no pieces');
47
+ }
48
+ return transcribePieces(pieces, maxUploadBytes, providerLabel, transcribeOne);
49
+ }
50
+ /** Transcribes split pieces in order and joins their text and durations. */
51
+ async function transcribePieces(pieces, maxUploadBytes, providerLabel, transcribeOne) {
52
+ const transcripts = [];
53
+ let totalDurationSeconds = 0;
54
+ let everyPieceReportedDuration = true;
55
+ for (const piece of pieces) {
56
+ // A piece the splitter left oversized would fail at the API with a size error naming
57
+ // neither the splitter nor which piece; say so here instead.
58
+ if (piece.byteLength > maxUploadBytes) {
59
+ throw new Error(`The configured AudioSplitter produced a ${toMB(piece.byteLength)}MB ` +
60
+ `piece, above ${providerLabel}'s ${limitMB(maxUploadBytes)}MB limit`);
61
+ }
62
+ const transcribed = await transcribeOne(piece);
63
+ transcripts.push(transcribed.text);
64
+ if (transcribed.durationSeconds == null) {
65
+ everyPieceReportedDuration = false;
66
+ }
67
+ else {
68
+ totalDurationSeconds += transcribed.durationSeconds;
69
+ }
70
+ }
71
+ return {
72
+ text: transcripts.filter((t) => t.length > 0).join(' '),
73
+ durationSeconds: everyPieceReportedDuration ? totalDurationSeconds : undefined,
74
+ };
75
+ }
76
+ /** A byte count in MB, to one decimal place, for error messages. */
77
+ function toMB(bytes) {
78
+ return (bytes / (1024 * 1024)).toFixed(1);
79
+ }
80
+ /** An upload ceiling in whole MB, for error messages. */
81
+ function limitMB(bytes) {
82
+ return (bytes / (1024 * 1024)).toFixed(0);
83
+ }
84
+ //# sourceMappingURL=baseSpeechToText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseSpeechToText.js","sourceRoot":"","sources":["../../src/generic/baseSpeechToText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;;GAQG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,SAAS;CAavD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,KAAa,EACb,cAAsB,EACtB,gBAAwB,EACxB,QAA8B,EAC9B,aAAqB,EACrB,aAA6D;IAE7D,IAAI,KAAK,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,aAAa,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK;YAC1F,sFAAsF;YACtF,kBAAkB,CACzB,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAClF,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,gBAAgB,CAC3B,MAAgB,EAChB,cAAsB,EACtB,aAAqB,EACrB,aAA6D;IAE7D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,0BAA0B,GAAG,IAAI,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,qFAAqF;QACrF,6DAA6D;QAC7D,IAAI,KAAK,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACX,2CAA2C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;gBAClE,gBAAgB,aAAa,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,CAC3E,CAAC;QACN,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,WAAW,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;YACtC,0BAA0B,GAAG,KAAK,CAAC;QACvC,CAAC;aAAM,CAAC;YACJ,oBAAoB,IAAI,WAAW,CAAC,eAAe,CAAC;QACxD,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACvD,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KACjF,CAAC;AACN,CAAC;AAED,oEAAoE;AACpE,SAAS,IAAI,CAAC,KAAa;IACvB,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,yDAAyD;AACzD,SAAS,OAAO,CAAC,KAAa;IAC1B,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { BaseModel } from "./baseModel.js";
2
+ import type { AudioModel, PronounciationDictionary, SpeechResult, TextToSpeechParams, VoiceInfo } from "./baseAudio.js";
3
+ /**
4
+ * Base class for text-to-speech models: text in, audio out. Drivers are resolved through the
5
+ * ClassFactory for `MJ: AI Models` of type `TTS`, keyed by the model vendor's `DriverClass`, and
6
+ * are run by `AITextToSpeechRunner` in `@memberjunction/ai-prompts`.
7
+ *
8
+ * Split from `BaseAudioGenerator`, which also carries speech-to-text. A driver that does both
9
+ * registers against this class and `BaseSpeechToText` under the same key.
10
+ */
11
+ export declare abstract class BaseTextToSpeech extends BaseModel {
12
+ /**
13
+ * Speaks `params.text` in `params.voice`. On success the audio is in `SpeechResult.data`, and
14
+ * base 64 encoded in `SpeechResult.content`.
15
+ */
16
+ abstract CreateSpeech(params: TextToSpeechParams): Promise<SpeechResult>;
17
+ /** The voices the driver can speak in. */
18
+ abstract GetVoices(): Promise<VoiceInfo[]>;
19
+ /** The driver's speech models. */
20
+ abstract GetModels(): Promise<AudioModel[]>;
21
+ /** The pronunciation dictionaries available to the driver; empty when it has none. */
22
+ abstract GetPronounciationDictionaries(): Promise<PronounciationDictionary[]>;
23
+ /** The names of the methods this driver implements. */
24
+ abstract GetSupportedMethods(): Promise<string[]>;
25
+ }
26
+ //# sourceMappingURL=baseTextToSpeech.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTextToSpeech.d.ts","sourceRoot":"","sources":["../../src/generic/baseTextToSpeech.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErH;;;;;;;GAOG;AACH,8BAAsB,gBAAiB,SAAQ,SAAS;IACpD;;;OAGG;aACa,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAE/E,0CAA0C;aAC1B,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAEjD,kCAAkC;aAClB,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAElD,sFAAsF;aACtE,6BAA6B,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAEpF,uDAAuD;aACvC,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAC3D"}
@@ -0,0 +1,12 @@
1
+ import { BaseModel } from "./baseModel.js";
2
+ /**
3
+ * Base class for text-to-speech models: text in, audio out. Drivers are resolved through the
4
+ * ClassFactory for `MJ: AI Models` of type `TTS`, keyed by the model vendor's `DriverClass`, and
5
+ * are run by `AITextToSpeechRunner` in `@memberjunction/ai-prompts`.
6
+ *
7
+ * Split from `BaseAudioGenerator`, which also carries speech-to-text. A driver that does both
8
+ * registers against this class and `BaseSpeechToText` under the same key.
9
+ */
10
+ export class BaseTextToSpeech extends BaseModel {
11
+ }
12
+ //# sourceMappingURL=baseTextToSpeech.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseTextToSpeech.js","sourceRoot":"","sources":["../../src/generic/baseTextToSpeech.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC;;;;;;;GAOG;AACH,MAAM,OAAgB,gBAAiB,SAAQ,SAAS;CAkBvD"}
@@ -1,4 +1,5 @@
1
- import { BaseModel } from "./baseModel.js";
1
+ import { BaseModel, ModelUsage } from "./baseModel.js";
2
+ import type { AIErrorInfo } from "./errorTypes.js";
2
3
  /**
3
4
  * Base class for all video generation models. Each AI model will have a sub-class implementing the abstract methods in this base class. Not all
4
5
  * sub-classes will support all methods. If a method is not supported an exception will be thrown, use the GetSupportedMethods method to determine
@@ -20,6 +21,19 @@ export declare class VideoResult {
20
21
  * Platform-specific video ID for the generated video when success == true
21
22
  */
22
23
  videoId: string;
24
+ /**
25
+ * Usage for the request, when the provider reported it: normally the video's length as
26
+ * `ModelUsage.ForMedia('Seconds', 0, seconds)`, which per-second video pricing prices. Left
27
+ * undefined when the length is not known, as it is not for a provider that only accepts a render
28
+ * job (HeyGen's `CreateAvatarVideo` returns the job's ID before the video exists).
29
+ */
30
+ usage?: ModelUsage;
31
+ /**
32
+ * How a failure is classified, when the request failed: `ErrorAnalyzer`'s reading of the error,
33
+ * with its HTTP status. See `SpeechResult.errorInfo`, which this mirrors. Undefined on success,
34
+ * and from a driver that reports only `errorMessage`.
35
+ */
36
+ errorInfo?: AIErrorInfo;
23
37
  }
24
38
  export declare class AvatarInfo {
25
39
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"baseVideo.d.ts","sourceRoot":"","sources":["../../src/generic/baseVideo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,8BAAsB,kBAAmB,SAAQ,SAAS;aACtC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;aAClE,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;aAC5E,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;aACnC,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAC3D;AAED,qBAAa,WAAW;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,UAAU;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,sBAAsB;CAElC;AAED,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"baseVideo.d.ts","sourceRoot":"","sources":["../../src/generic/baseVideo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;GAIG;AACH,8BAAsB,kBAAmB,SAAQ,SAAS;aACtC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;aAClE,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;aAC5E,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;aACnC,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAC3D;AAED,qBAAa,WAAW;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,UAAU;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,sBAAsB;CAElC;AAED,qBAAa,iBAAiB;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"baseVideo.js","sourceRoot":"","sources":["../../src/generic/baseVideo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,SAAS;CAKzD;AAED,MAAM,OAAO,WAAW;CAUvB;AAED,MAAM,OAAO,UAAU;CAOtB;AAED,MAAM,OAAO,sBAAsB;CAElC;AAED,MAAM,OAAO,iBAAiB;CA2B7B"}
1
+ {"version":3,"file":"baseVideo.js","sourceRoot":"","sources":["../../src/generic/baseVideo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAGpD;;;;GAIG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,SAAS;CAKzD;AAED,MAAM,OAAO,WAAW;CAyBvB;AAED,MAAM,OAAO,UAAU;CAOtB;AAED,MAAM,OAAO,sBAAsB;CAElC;AAED,MAAM,OAAO,iBAAiB;CA2B7B"}
@@ -198,4 +198,28 @@ export declare class DecisionResult extends BaseResult {
198
198
  */
199
199
  constructor(success: boolean, startTime: Date, endTime: Date);
200
200
  }
201
+ /**
202
+ * Platt scaling for one decision model's probabilities: `sigmoid(A · logit(p) + B)`.
203
+ *
204
+ * A decision model's raw probabilities are not calibrated. Among answers of 0.9, the share that is
205
+ * right is not 0.9, and the gap differs by model. So a consumer that acts on a threshold fits these
206
+ * two numbers per model and per question on labelled data, and applies them before comparing.
207
+ * `A > 1` sharpens and `A < 1` softens; `B` shifts the whole curve.
208
+ */
209
+ export interface PlattCalibration {
210
+ /** The slope on logit(p). */
211
+ A: number;
212
+ /** The intercept. */
213
+ B: number;
214
+ }
215
+ /**
216
+ * How far a probability is clamped from 0 and 1 before its logit is taken, so the logit is finite.
217
+ * It must match the value the calibration was fitted with.
218
+ */
219
+ export declare const PLATT_LOGIT_CLAMP = 0.000001;
220
+ /**
221
+ * Applies Platt scaling to a probability: `1 / (1 + exp(-(A · logit(p) + B)))`, with `p` clamped
222
+ * to `[PLATT_LOGIT_CLAMP, 1 - PLATT_LOGIT_CLAMP]`.
223
+ */
224
+ export declare function ApplyPlattCalibration(p: number, calibration: PlattCalibration): number;
201
225
  //# sourceMappingURL=decision.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../src/generic/decision.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;IAEnB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,cAAc,GAAG,aAAa,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;IAEnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3E;;GAEG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC1C;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAM;IAE7C;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;gBACS,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;CAG/D"}
1
+ {"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../src/generic/decision.types.ts"],"names":[],"mappings":"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"}
@@ -26,4 +26,18 @@ export class DecisionResult extends BaseResult {
26
26
  this.Answers = {};
27
27
  }
28
28
  }
29
+ /**
30
+ * How far a probability is clamped from 0 and 1 before its logit is taken, so the logit is finite.
31
+ * It must match the value the calibration was fitted with.
32
+ */
33
+ export const PLATT_LOGIT_CLAMP = 1e-6;
34
+ /**
35
+ * Applies Platt scaling to a probability: `1 / (1 + exp(-(A · logit(p) + B)))`, with `p` clamped
36
+ * to `[PLATT_LOGIT_CLAMP, 1 - PLATT_LOGIT_CLAMP]`.
37
+ */
38
+ export function ApplyPlattCalibration(p, calibration) {
39
+ const clamped = Math.min(1 - PLATT_LOGIT_CLAMP, Math.max(PLATT_LOGIT_CLAMP, p));
40
+ const logit = Math.log(clamped / (1 - clamped));
41
+ return 1 / (1 + Math.exp(-(calibration.A * logit + calibration.B)));
42
+ }
29
43
  //# sourceMappingURL=decision.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decision.types.js","sourceRoot":"","sources":["../../src/generic/decision.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAmMrD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAiB1C;;;;;OAKG;IACH,YAAY,OAAgB,EAAE,SAAe,EAAE,OAAa;QACxD,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAvBvC;;;WAGG;QACH,YAAO,GAAmC,EAAE,CAAC;IAoB7C,CAAC;CACJ"}
1
+ {"version":3,"file":"decision.types.js","sourceRoot":"","sources":["../../src/generic/decision.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAmMrD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAiB1C;;;;;OAKG;IACH,YAAY,OAAgB,EAAE,SAAe,EAAE,OAAa;QACxD,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAvBvC;;;WAGG;QACH,YAAO,GAAmC,EAAE,CAAC;IAoB7C,CAAC;CACJ;AAiBD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAS,EAAE,WAA6B;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
@@ -7,6 +7,7 @@
7
7
  * @module @memberjunction/ai
8
8
  * @since 3.0.0
9
9
  */
10
+ import type { ModelUsage } from './baseModel.js';
10
11
  /**
11
12
  * A document to be reranked.
12
13
  */
@@ -96,5 +97,10 @@ export interface RerankResponse {
96
97
  * Model name used for reranking (for logging/debugging)
97
98
  */
98
99
  modelName?: string;
100
+ /**
101
+ * Optional token usage and cost of the call, for cost tracking. Set by a driver that knows
102
+ * them, such as one that reranks through a chat prompt; absent when the driver reports none.
103
+ */
104
+ Usage?: ModelUsage;
99
105
  }
100
106
  //# sourceMappingURL=reranker.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reranker.types.d.ts","sourceRoot":"","sources":["../../src/generic/reranker.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"reranker.types.d.ts","sourceRoot":"","sources":["../../src/generic/reranker.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;CACtB"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,8 @@ export * from './generic/apiKeyDictionary.js';
14
14
  export * from './generic/embed.types.js';
15
15
  export * from './generic/baseEmbeddings.js';
16
16
  export * from './generic/baseAudio.js';
17
+ export * from './generic/baseTextToSpeech.js';
18
+ export * from './generic/baseSpeechToText.js';
17
19
  export * from './generic/baseVideo.js';
18
20
  export * from './generic/baseRealtime.js';
19
21
  export * from './generic/realtimeUsage.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -14,6 +14,8 @@ export * from './generic/apiKeyDictionary.js';
14
14
  export * from './generic/embed.types.js';
15
15
  export * from './generic/baseEmbeddings.js';
16
16
  export * from './generic/baseAudio.js';
17
+ export * from './generic/baseTextToSpeech.js';
18
+ export * from './generic/baseSpeechToText.js';
17
19
  export * from './generic/baseVideo.js';
18
20
  export * from './generic/baseRealtime.js';
19
21
  export * from './generic/realtimeUsage.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/ai",
3
3
  "type": "module",
4
- "version": "6.2.0-edge.1",
4
+ "version": "6.2.0-edge.2",
5
5
  "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.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  "author": "MemberJunction.com",
12
12
  "license": "BUSL-1.1",
13
13
  "dependencies": {
14
- "@memberjunction/global": "6.2.0-edge.1",
14
+ "@memberjunction/global": "6.2.0-edge.2",
15
15
  "dotenv": "^17.2.4",
16
16
  "rxjs": "^7.8.2"
17
17
  },
package/readme.md CHANGED
@@ -21,8 +21,10 @@ Every AI capability is represented by an abstract base class. Provider packages
21
21
  | `BaseLLM` | Chat completions (text generation) | `ChatCompletion()`, `ChatCompletions()` (parallel batch), `GetFileCapabilities()` |
22
22
  | `BaseEmbeddings` | Text & multimodal embeddings | `EmbedText()`, `EmbedTexts()`, `EmbedContent()`, `GetFileCapabilities()` |
23
23
  | `BaseImageGenerator` | Image generation, editing, variations | `GenerateImage()`, `EditImage()`, `CreateVariation()` |
24
- | `BaseAudio` | Text-to-speech and speech-to-text | `TextToSpeech()`, `SpeechToText()` |
25
- | `BaseVideo` | Video generation from text/images | `GenerateVideo()` |
24
+ | `BaseTextToSpeech` | Text-to-speech (`TTS` models) | `CreateSpeech()`, `GetVoices()`, `GetModels()`, `GetPronounciationDictionaries()` |
25
+ | `BaseSpeechToText` | Speech-to-text (`Speech to Text` models) | `SpeechToText()`, `GetModels()`; oversized audio via `TranscribeAudioWithSplitting()` |
26
+ | `BaseAudioGenerator` | **Deprecated.** Both of the above on one class. Kept, and still working, for existing drivers and callers; it implements both new classes | `CreateSpeech()`, `SpeechToText()`, `GetVoices()` |
27
+ | `BaseVideoGenerator` | Avatar video generation (`Video` models) | `CreateAvatarVideo()`, `GetAvatars()` |
26
28
  | `BaseReranker` | Document reranking for retrieval | `Rerank()` |
27
29
  | `BaseDecision` | Typed decisions (Likelihood, Choice, Score) with a probability per answer | `Decide()` |
28
30
  | `BaseRealtimeModel` | Live, full-duplex, tool-calling realtime sessions (voice) | `StartSession()`, `CreateClientSession()` |