@memberjunction/ai 6.2.0-edge.1 → 6.2.0-edge.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generic/apiKeyDictionary.d.ts +71 -2
- package/dist/generic/apiKeyDictionary.d.ts.map +1 -1
- package/dist/generic/apiKeyDictionary.js +58 -18
- package/dist/generic/apiKeyDictionary.js.map +1 -1
- package/dist/generic/baseAudio.d.ts +31 -14
- package/dist/generic/baseAudio.d.ts.map +1 -1
- package/dist/generic/baseAudio.js +20 -49
- package/dist/generic/baseAudio.js.map +1 -1
- package/dist/generic/baseEmbeddings.d.ts +8 -0
- package/dist/generic/baseEmbeddings.d.ts.map +1 -1
- package/dist/generic/baseEmbeddings.js +10 -0
- package/dist/generic/baseEmbeddings.js.map +1 -1
- package/dist/generic/baseRealtime.d.ts +7 -0
- package/dist/generic/baseRealtime.d.ts.map +1 -1
- package/dist/generic/baseRealtime.js.map +1 -1
- package/dist/generic/baseSpeechToText.d.ts +47 -0
- package/dist/generic/baseSpeechToText.d.ts.map +1 -0
- package/dist/generic/baseSpeechToText.js +84 -0
- package/dist/generic/baseSpeechToText.js.map +1 -0
- package/dist/generic/baseTextToSpeech.d.ts +26 -0
- package/dist/generic/baseTextToSpeech.d.ts.map +1 -0
- package/dist/generic/baseTextToSpeech.js +12 -0
- package/dist/generic/baseTextToSpeech.js.map +1 -0
- package/dist/generic/baseVideo.d.ts +15 -1
- package/dist/generic/baseVideo.d.ts.map +1 -1
- package/dist/generic/baseVideo.js.map +1 -1
- package/dist/generic/decision.types.d.ts +24 -0
- package/dist/generic/decision.types.d.ts.map +1 -1
- package/dist/generic/decision.types.js +14 -0
- package/dist/generic/decision.types.js.map +1 -1
- package/dist/generic/errorAnalyzer.d.ts +4 -0
- package/dist/generic/errorAnalyzer.d.ts.map +1 -1
- package/dist/generic/errorAnalyzer.js +27 -1
- package/dist/generic/errorAnalyzer.js.map +1 -1
- package/dist/generic/modelConfiguration.d.ts +6 -0
- package/dist/generic/modelConfiguration.d.ts.map +1 -1
- package/dist/generic/modelConfiguration.js.map +1 -1
- package/dist/generic/reranker.types.d.ts +6 -0
- package/dist/generic/reranker.types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +8 -2
|
@@ -27,13 +27,82 @@ export declare class AIAPIKeys {
|
|
|
27
27
|
GetAPIKey(AIDriverName: string): string;
|
|
28
28
|
protected getEnvVariableCaseInsensitive(name: string): string | undefined;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Which credentials a run may spend.
|
|
32
|
+
*
|
|
33
|
+
* - `'Any'` (the default): the run's own credentials first, then the platform's — MJ Credentials
|
|
34
|
+
* bound to the prompt, model or vendor, then the `AI_VENDOR_API_KEY__<DRIVER>` environment keys.
|
|
35
|
+
* - `'RuntimeOnly'`: only what the caller supplied for this run — `apiKeys`, or a per-request
|
|
36
|
+
* `credentialId` on a prompt. A driver class the run carries no key for has NO key, so that vendor
|
|
37
|
+
* is not a candidate and failover cannot reach the platform account.
|
|
38
|
+
*
|
|
39
|
+
* A host that runs work for a customer on the customer's own key sets `'RuntimeOnly'`, so a key the
|
|
40
|
+
* customer did not supply is a visible failure rather than a silent charge to the platform.
|
|
41
|
+
*/
|
|
42
|
+
export type AICredentialScope = 'Any' | 'RuntimeOnly';
|
|
43
|
+
/**
|
|
44
|
+
* Where a credential comes from, from the point of view of the run spending it.
|
|
45
|
+
*
|
|
46
|
+
* - `'Runtime'`: supplied by the caller for this run — `apiKeys`, or a prompt's per-request `credentialId`.
|
|
47
|
+
* - `'PlatformCredential'`: MJ Credentials the platform configured — `AICredentialBinding`s on the
|
|
48
|
+
* prompt-model, model-vendor or vendor, and a vendor's default credential.
|
|
49
|
+
* - `'Environment'`: the platform's `AI_VENDOR_API_KEY__<DRIVER>` keys, and any host seam whose
|
|
50
|
+
* default is them (a registered `AIAPIKeys` subclass, `RealtimeClientSessionService.getAPIKeyForDriver`).
|
|
51
|
+
*/
|
|
52
|
+
export type AICredentialSource = 'Runtime' | 'PlatformCredential' | 'Environment';
|
|
53
|
+
/**
|
|
54
|
+
* Whether a run under `scope` may spend a credential from `source`. Every credential-scope decision
|
|
55
|
+
* goes through here, so adding an {@link AICredentialScope} value is a compile error in this switch
|
|
56
|
+
* until it is answered — never a value that silently behaves as `'Any'` at a call site that compared
|
|
57
|
+
* against `'RuntimeOnly'`. A value outside the type (an untyped caller) throws, failing closed.
|
|
58
|
+
*
|
|
59
|
+
* @param scope The run's scope; omitted means `'Any'`.
|
|
60
|
+
* @param source The source a caller is about to consult.
|
|
61
|
+
*/
|
|
62
|
+
export declare function CredentialScopeAllows(scope: AICredentialScope | undefined, source: AICredentialSource): boolean;
|
|
30
63
|
/**
|
|
31
64
|
* Helper function that gets the API Key for a given AI Driver Name using the AIAPIKeys class or any registered sub-class of AIAPIKeys
|
|
32
65
|
* @param AIDriverName
|
|
33
66
|
* @param apiKeys - optional array of AIAPIKey objects to check first before falling back to the global AIAPIKeys class
|
|
34
67
|
* @param verbose - optional flag to enable verbose logging
|
|
35
|
-
* @
|
|
68
|
+
* @param scope - `'RuntimeOnly'` answers from `apiKeys` alone and never falls back to the global key; see {@link AICredentialScope}
|
|
69
|
+
* @returns The key, or `undefined` when none applies
|
|
36
70
|
*/
|
|
37
|
-
export declare function GetAIAPIKey(AIDriverName: string, apiKeys?: AIAPIKey[], verbose?: boolean): string;
|
|
71
|
+
export declare function GetAIAPIKey(AIDriverName: string, apiKeys?: AIAPIKey[], verbose?: boolean, scope?: AICredentialScope): string;
|
|
38
72
|
export declare function GetAIAPIKeyGlobal(AIDriverName: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Resolves the API key to use for ONE AI driver class.
|
|
75
|
+
*
|
|
76
|
+
* A shape for handing a *scoped* key-resolution capability to code that spends an AI key without
|
|
77
|
+
* handing over the key list itself. A holder can ask for the one driver class it needs; it cannot
|
|
78
|
+
* enumerate the run's credentials, and whoever built the resolver decides whether to answer.
|
|
79
|
+
* Realtime uses it. `@memberjunction/actions-base` declares the same signature separately as
|
|
80
|
+
* `RuntimeAPIKeyResolver` (it does not depend on this package), and the prompt runner still takes
|
|
81
|
+
* the key list (`AIPromptParams.apiKeys`).
|
|
82
|
+
*
|
|
83
|
+
* `undefined` means "no key for that driver class" — which is also how a deliberate refusal reads,
|
|
84
|
+
* so a caller treats both the same way: fall back to the platform key, or skip that vendor. Under a
|
|
85
|
+
* `'RuntimeOnly'` {@link AICredentialScope} the caller must skip it — falling back is what the scope forbids.
|
|
86
|
+
*
|
|
87
|
+
* Build one with {@link MakeAIAPIKeyResolver}.
|
|
88
|
+
*/
|
|
89
|
+
export type AIAPIKeyResolver = (driverClass: string) => string | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Builds an {@link AIAPIKeyResolver} over a runtime key list: the list's key for the driver class
|
|
92
|
+
* first, then the platform (environment) key — the same precedence as `GetAIAPIKey`. For prompts
|
|
93
|
+
* that is only the legacy tier: `AIPromptRunner` tries MJ Credentials first (a per-request
|
|
94
|
+
* `credentialId`, then `AICredentialBinding`s, then the vendor's default credential) and reaches
|
|
95
|
+
* this order only when none of them resolves. This resolver never consults credentials.
|
|
96
|
+
*
|
|
97
|
+
* Pass the run's `apiKeys` and the resolver honours a customer's own credentials; pass nothing and
|
|
98
|
+
* it is exactly the platform lookup, so a caller never has to special-case "this run has no keys".
|
|
99
|
+
*
|
|
100
|
+
* A caller with its own platform-key seam should layer run keys over that seam rather than use this
|
|
101
|
+
* resolver, whose environment fallback would answer first and bypass the seam.
|
|
102
|
+
*
|
|
103
|
+
* @param apiKeys The runtime keys for a run, if any (`ExecuteAgentParams.apiKeys`).
|
|
104
|
+
* @param verbose Log which source answered — never the key itself.
|
|
105
|
+
* @param scope `'RuntimeOnly'` drops the environment fallback (`ExecuteAgentParams.CredentialScope`).
|
|
106
|
+
*/
|
|
107
|
+
export declare function MakeAIAPIKeyResolver(apiKeys?: AIAPIKey[], verbose?: boolean, scope?: AICredentialScope): AIAPIKeyResolver;
|
|
39
108
|
//# 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
|
|
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;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,aAAa,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,oBAAoB,GAAG,aAAa,CAAC;AAElF;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAY/G;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,GAAE,iBAAyB,GAAG,MAAM,CAkBnI;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAM9D;AACD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAE3E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,GAAE,iBAAyB,GAAG,gBAAgB,CAEhI"}
|
|
@@ -46,34 +46,54 @@ export class AIAPIKeys {
|
|
|
46
46
|
return envKey ? process.env[envKey] : undefined;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Whether a run under `scope` may spend a credential from `source`. Every credential-scope decision
|
|
51
|
+
* goes through here, so adding an {@link AICredentialScope} value is a compile error in this switch
|
|
52
|
+
* until it is answered — never a value that silently behaves as `'Any'` at a call site that compared
|
|
53
|
+
* against `'RuntimeOnly'`. A value outside the type (an untyped caller) throws, failing closed.
|
|
54
|
+
*
|
|
55
|
+
* @param scope The run's scope; omitted means `'Any'`.
|
|
56
|
+
* @param source The source a caller is about to consult.
|
|
57
|
+
*/
|
|
58
|
+
export function CredentialScopeAllows(scope, source) {
|
|
59
|
+
const effective = scope ?? 'Any';
|
|
60
|
+
switch (effective) {
|
|
61
|
+
case 'Any':
|
|
62
|
+
return true;
|
|
63
|
+
case 'RuntimeOnly':
|
|
64
|
+
return source === 'Runtime';
|
|
65
|
+
default: {
|
|
66
|
+
const unhandled = effective;
|
|
67
|
+
throw new Error(`Unknown AI credential scope '${String(unhandled)}'; expected 'Any' or 'RuntimeOnly'`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
49
71
|
/**
|
|
50
72
|
* Helper function that gets the API Key for a given AI Driver Name using the AIAPIKeys class or any registered sub-class of AIAPIKeys
|
|
51
73
|
* @param AIDriverName
|
|
52
74
|
* @param apiKeys - optional array of AIAPIKey objects to check first before falling back to the global AIAPIKeys class
|
|
53
75
|
* @param verbose - optional flag to enable verbose logging
|
|
54
|
-
* @
|
|
76
|
+
* @param scope - `'RuntimeOnly'` answers from `apiKeys` alone and never falls back to the global key; see {@link AICredentialScope}
|
|
77
|
+
* @returns The key, or `undefined` when none applies
|
|
55
78
|
*/
|
|
56
|
-
export function GetAIAPIKey(AIDriverName, apiKeys, verbose) {
|
|
57
|
-
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
apiKey = localKey.apiKey;
|
|
62
|
-
if (verbose) {
|
|
63
|
-
console.log(` Using local API key for driver class: ${AIDriverName}`);
|
|
64
|
-
}
|
|
79
|
+
export function GetAIAPIKey(AIDriverName, apiKeys, verbose, scope = 'Any') {
|
|
80
|
+
const localKey = apiKeys?.find(k => k.driverClass === AIDriverName);
|
|
81
|
+
if (localKey) {
|
|
82
|
+
if (verbose) {
|
|
83
|
+
console.log(` Using local API key for driver class: ${AIDriverName}`);
|
|
65
84
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
85
|
+
return localKey.apiKey;
|
|
86
|
+
}
|
|
87
|
+
if (!CredentialScopeAllows(scope, 'Environment')) {
|
|
88
|
+
if (verbose) {
|
|
89
|
+
console.log(` No local API key found for driver class ${AIDriverName}; credential scope ${scope} does not allow the global key`);
|
|
71
90
|
}
|
|
91
|
+
return undefined;
|
|
72
92
|
}
|
|
73
|
-
|
|
74
|
-
|
|
93
|
+
if (verbose && apiKeys && apiKeys.length > 0) {
|
|
94
|
+
console.log(` No local API key found for driver class ${AIDriverName}, using global key`);
|
|
75
95
|
}
|
|
76
|
-
return
|
|
96
|
+
return GetAIAPIKeyGlobal(AIDriverName);
|
|
77
97
|
}
|
|
78
98
|
export function GetAIAPIKeyGlobal(AIDriverName) {
|
|
79
99
|
const obj = MJGlobal.Instance.ClassFactory.CreateInstance(AIAPIKeys); // get an instance of the above or a sub-class, whatever is registered with highest priority
|
|
@@ -82,4 +102,24 @@ export function GetAIAPIKeyGlobal(AIDriverName) {
|
|
|
82
102
|
else
|
|
83
103
|
throw new Error('Could not instantiate AIAPIKeys class');
|
|
84
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Builds an {@link AIAPIKeyResolver} over a runtime key list: the list's key for the driver class
|
|
107
|
+
* first, then the platform (environment) key — the same precedence as `GetAIAPIKey`. For prompts
|
|
108
|
+
* that is only the legacy tier: `AIPromptRunner` tries MJ Credentials first (a per-request
|
|
109
|
+
* `credentialId`, then `AICredentialBinding`s, then the vendor's default credential) and reaches
|
|
110
|
+
* this order only when none of them resolves. This resolver never consults credentials.
|
|
111
|
+
*
|
|
112
|
+
* Pass the run's `apiKeys` and the resolver honours a customer's own credentials; pass nothing and
|
|
113
|
+
* it is exactly the platform lookup, so a caller never has to special-case "this run has no keys".
|
|
114
|
+
*
|
|
115
|
+
* A caller with its own platform-key seam should layer run keys over that seam rather than use this
|
|
116
|
+
* resolver, whose environment fallback would answer first and bypass the seam.
|
|
117
|
+
*
|
|
118
|
+
* @param apiKeys The runtime keys for a run, if any (`ExecuteAgentParams.apiKeys`).
|
|
119
|
+
* @param verbose Log which source answered — never the key itself.
|
|
120
|
+
* @param scope `'RuntimeOnly'` drops the environment fallback (`ExecuteAgentParams.CredentialScope`).
|
|
121
|
+
*/
|
|
122
|
+
export function MakeAIAPIKeyResolver(apiKeys, verbose, scope = 'Any') {
|
|
123
|
+
return (driverClass) => GetAIAPIKey(driverClass, apiKeys, verbose, scope) || undefined;
|
|
124
|
+
}
|
|
85
125
|
//# sourceMappingURL=apiKeyDictionary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiKeyDictionary.js","sourceRoot":"","sources":["../../src/generic/apiKeyDictionary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAmBlD;;;GAGG;AACH,MAAM,OAAO,SAAS;aACM,kBAAa,GAAG,qBAAqB,CAAC;IAE9D,6DAA6D;aAC5C,mBAAc,GAA8B,EAAE,CAAC;IACtD,eAAe,CAAC,YAAoB;QAC1C,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAES,eAAe,CAAC,YAAoB,EAAE,KAAa;QACzD,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACjD,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;IACpD,CAAC;IAEM,SAAS,CAAC,YAAoB;QACjC,6FAA6F;QAC7F,8FAA8F;QAC9F,6FAA6F;QAC7F,oEAAoE;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,CAAC;QAClB,CAAC;aACI,CAAC;YACF,gEAAgE;YAChE,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACjB,CAAC;;gBAEG,OAAO,SAAS,CAAC;QACzB,CAAC;IACL,CAAC;IAES,6BAA6B,CAAC,IAAY;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;;
|
|
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
|
|
15
|
-
* sub-classes
|
|
16
|
-
*
|
|
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
|
-
*
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
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
|
|
4
|
-
* sub-classes
|
|
5
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
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;
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"baseEmbeddings.js","sourceRoot":"","sources":["../../src/generic/baseEmbeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -275,6 +275,13 @@ export interface RealtimeSessionCapabilities {
|
|
|
275
275
|
* Whether delegation mode can be reconfigured mid-session.
|
|
276
276
|
*/
|
|
277
277
|
CanReconfigureDelegationMode?: boolean;
|
|
278
|
+
/**
|
|
279
|
+
* Whether the model is **full-duplex**: it keeps listening while it speaks, can emit short
|
|
280
|
+
* backchannel acknowledgements, and judges for itself whether speech was directed at it. A bridge uses
|
|
281
|
+
* this to prefer the model's own addressing judgement over a name-pattern match and to treat the room's
|
|
282
|
+
* floor coordinator as a safety net rather than the primary gate. Absent/`false` = turn-based.
|
|
283
|
+
*/
|
|
284
|
+
FullDuplex?: boolean;
|
|
278
285
|
/**
|
|
279
286
|
* Whether the provider emits a discrete user-interruption signal when user barge-in occurs.
|
|
280
287
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseRealtime.d.ts","sourceRoot":"","sources":["../../src/generic/baseRealtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseRealtime.d.ts","sourceRoot":"","sources":["../../src/generic/baseRealtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseRealtime.js","sourceRoot":"","sources":["../../src/generic/baseRealtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAsBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC3C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QAC3C,+EAA+E;QAC/E,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QACjE,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,MAAM,OAAgB,iBAAkB,SAAQ,SAAS;IACrD;;;;;;OAMG;aACoB,2BAAsB,GAAa,KAAK,CAAC;IAehE;;;;;;;;;;;OAWG;IACH,IAAW,oBAAoB;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,mBAAmB,CAAC,OAA8B;QAC3D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mDAAmD,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAW,aAAa;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,IAAW,eAAe;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;;AAeL;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC1D,aAAa;IACb,iBAAiB;IACjB,mBAAmB;IACnB,UAAU;IACV,yBAAyB;IACzB,OAAO;IACP,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,WAAW;IACX,UAAU;IACV,YAAY;IACZ,cAAc;IACd,SAAS;IACT,cAAc;CACR,CAAC;
|
|
1
|
+
{"version":3,"file":"baseRealtime.js","sourceRoot":"","sources":["../../src/generic/baseRealtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAsBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC3C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QAC3C,+EAA+E;QAC/E,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QACjE,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,MAAM,OAAgB,iBAAkB,SAAQ,SAAS;IACrD;;;;;;OAMG;aACoB,2BAAsB,GAAa,KAAK,CAAC;IAehE;;;;;;;;;;;OAWG;IACH,IAAW,oBAAoB;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,mBAAmB,CAAC,OAA8B;QAC3D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mDAAmD,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAW,aAAa;QACpB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,IAAW,eAAe;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;;AAeL;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC1D,aAAa;IACb,iBAAiB;IACjB,mBAAmB;IACnB,UAAU;IACV,yBAAyB;IACzB,OAAO;IACP,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,WAAW;IACX,UAAU;IACV,YAAY;IACZ,cAAc;IACd,SAAS;IACT,cAAc;CACR,CAAC;AA6tBX;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CACrC,MAA+B,EAC/B,QAAgB,EAChB,YAAoB,UAAU;IAE9B,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IACpB,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC;IACtB,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAChE,OAAO,WAAW,CAAC;IACvB,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,6CAA6C,GAAG,eAAe,QAAQ,IAAI,CAAC,CAAC;QACvG,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}
|
|
@@ -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;
|
|
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,
|
|
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"}
|
|
@@ -39,6 +39,10 @@ export declare class ErrorAnalyzer {
|
|
|
39
39
|
static AnalyzeError(error: any, providerName?: string): AIErrorInfo;
|
|
40
40
|
/** @deprecated Use {@link AnalyzeError}. */
|
|
41
41
|
static analyzeError(error: any, providerName?: string): AIErrorInfo;
|
|
42
|
+
/**
|
|
43
|
+
* The classification a failed result already carries on `errorInfo`, if it has a complete one.
|
|
44
|
+
*/
|
|
45
|
+
private static carriedErrorInfo;
|
|
42
46
|
/**
|
|
43
47
|
* Extracts HTTP status code from various error object structures.
|
|
44
48
|
* Different provider SDKs store status codes in different locations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorAnalyzer.d.ts","sourceRoot":"","sources":["../../src/generic/errorAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8B,MAAM,iBAAiB,CAAC;AAG1E;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAa;IACtB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"errorAnalyzer.d.ts","sourceRoot":"","sources":["../../src/generic/errorAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8B,MAAM,iBAAiB,CAAC;AAG1E;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAa;IACtB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW;IA8DnE,4CAA4C;IAC5C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW;IAInE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAO/B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAsJjC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0BhC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAyBlC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA4BhC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;CA8B1C"}
|
|
@@ -37,6 +37,14 @@ export class ErrorAnalyzer {
|
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
39
|
static AnalyzeError(error, providerName) {
|
|
40
|
+
// A failed result that already carries its driver's classification keeps it. A streaming call
|
|
41
|
+
// rejects with its failed ChatResult (BaseLLM), not an Error; analyzed afresh, that object has
|
|
42
|
+
// no message and no status, so an invalid key classified 'Authentication'/'Fatal' by the driver
|
|
43
|
+
// came out 'Unknown'/'Transient' — failover kept going and agents retried a fatal error.
|
|
44
|
+
const carried = this.carriedErrorInfo(error);
|
|
45
|
+
if (carried) {
|
|
46
|
+
return carried;
|
|
47
|
+
}
|
|
40
48
|
// Extract HTTP status code if available
|
|
41
49
|
const httpStatusCode = this.extractHttpStatusCode(error);
|
|
42
50
|
// Determine error type based on status code and error properties
|
|
@@ -85,6 +93,15 @@ export class ErrorAnalyzer {
|
|
|
85
93
|
static analyzeError(error, providerName) {
|
|
86
94
|
return this.AnalyzeError(error, providerName);
|
|
87
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* The classification a failed result already carries on `errorInfo`, if it has a complete one.
|
|
98
|
+
*/
|
|
99
|
+
static carriedErrorInfo(error) {
|
|
100
|
+
const info = error?.errorInfo;
|
|
101
|
+
return info && typeof info.errorType === 'string' && typeof info.severity === 'string' && typeof info.canFailover === 'boolean'
|
|
102
|
+
? info
|
|
103
|
+
: undefined;
|
|
104
|
+
}
|
|
88
105
|
/**
|
|
89
106
|
* Extracts HTTP status code from various error object structures.
|
|
90
107
|
* Different provider SDKs store status codes in different locations.
|
|
@@ -152,7 +169,16 @@ export class ErrorAnalyzer {
|
|
|
152
169
|
errorString.includes('authentication failed') ||
|
|
153
170
|
errorString.includes('invalid api key') ||
|
|
154
171
|
errorString.includes('invalid key') ||
|
|
155
|
-
errorString.includes('api key is invalid')
|
|
172
|
+
errorString.includes('api key is invalid') ||
|
|
173
|
+
// Google: HTTP 400 "API key not valid. Please pass a valid API key." with reason
|
|
174
|
+
// API_KEY_INVALID. None of the phrases above match it, so it fell through to the
|
|
175
|
+
// permissive VendorValidationError and failed over to another vendor instead of failing.
|
|
176
|
+
errorString.includes('api key not valid') ||
|
|
177
|
+
errorString.includes('api_key_invalid') ||
|
|
178
|
+
// Google's expired key: HTTP 400 "API key expired. Please renew the API key." with reason
|
|
179
|
+
// API_KEY_EXPIRED. It read as InvalidRequest, which stops failover with the wrong reason.
|
|
180
|
+
errorString.includes('api key expired') ||
|
|
181
|
+
errorString.includes('api_key_expired')) {
|
|
156
182
|
return 'Authentication';
|
|
157
183
|
}
|
|
158
184
|
// Check for service availability issues
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorAnalyzer.js","sourceRoot":"","sources":["../../src/generic/errorAnalyzer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errorAnalyzer.js","sourceRoot":"","sources":["../../src/generic/errorAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -247,6 +247,12 @@ export interface LLMConfigurationSettings {
|
|
|
247
247
|
* only when the gate resolves native.
|
|
248
248
|
*/
|
|
249
249
|
NativeToolResults?: boolean | null;
|
|
250
|
+
/**
|
|
251
|
+
* **Catalog layers only.** Whether this model accepts a forced tool choice — a named tool or
|
|
252
|
+
* `'required'`. Absent means it does. When `false`, the prompt runner sends `'auto'` in place of a
|
|
253
|
+
* forced choice, and the agent's prompt is what steers the model to the tool.
|
|
254
|
+
*/
|
|
255
|
+
SupportsForcedToolChoice?: boolean | null;
|
|
250
256
|
/**
|
|
251
257
|
* **Catalog layers only.** Whether this serving path's prompt cache is an exact BYTE-PREFIX match:
|
|
252
258
|
* it reuses a prior request only when that request's entire prompt is a prefix of the new one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelConfiguration.d.ts","sourceRoot":"","sources":["../../src/generic/modelConfiguration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modelConfiguration.d.ts","sourceRoot":"","sources":["../../src/generic/modelConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelConfiguration.js","sourceRoot":"","sources":["../../src/generic/modelConfiguration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"modelConfiguration.js","sourceRoot":"","sources":["../../src/generic/modelConfiguration.ts"],"names":[],"mappings":"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"}
|
|
@@ -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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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.
|
|
4
|
+
"version": "6.2.0-edge.3",
|
|
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.
|
|
14
|
+
"@memberjunction/global": "6.2.0-edge.3",
|
|
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
|
-
| `
|
|
25
|
-
| `
|
|
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()` |
|
|
@@ -73,6 +75,7 @@ One additional realtime primitive lives here that is *not* a `BaseModel` capabil
|
|
|
73
75
|
| Export | Description |
|
|
74
76
|
|--------|-------------|
|
|
75
77
|
| `AIAPIKeys` / `GetAIAPIKey()` | API key resolution from environment variables (`AI_VENDOR_API_KEY__<DRIVER>`) with optional runtime overrides |
|
|
78
|
+
| `AICredentialScope` / `CredentialScopeAllows()` | Which credential sources (`'Runtime'`, `'PlatformCredential'`, `'Environment'`) a run's scope (`'Any'` or `'RuntimeOnly'`) may use — the one place that decision is made |
|
|
76
79
|
| `ErrorAnalyzer` | Classifies provider errors into structured types with severity, retry hints, and failover recommendations |
|
|
77
80
|
| `AIErrorInfo` / `AIErrorType` | Structured error types: rate limit, authentication, context length, content filter, etc. |
|
|
78
81
|
| `serializeMessageContent()` / `deserializeMessageContent()` | Content block serialization for database storage |
|
|
@@ -171,6 +174,9 @@ const key = GetAIAPIKey("OpenAILLM");
|
|
|
171
174
|
const key2 = GetAIAPIKey("AnthropicLLM", [
|
|
172
175
|
{ driverClass: "AnthropicLLM", apiKey: "sk-ant-..." },
|
|
173
176
|
]);
|
|
177
|
+
|
|
178
|
+
// Restricted to the runtime keys: no environment fallback for a class the list lacks
|
|
179
|
+
const key3 = GetAIAPIKey("OpenAILLM", runKeys, false, 'RuntimeOnly'); // undefined unless runKeys has OpenAILLM
|
|
174
180
|
```
|
|
175
181
|
|
|
176
182
|
## Implementing a New Provider
|