adonis-ai-kit 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -0
- package/README.md +77 -5
- package/dist/src/acp/acp_agents.d.ts +25 -11
- package/dist/src/acp/acp_agents.d.ts.map +1 -1
- package/dist/src/acp/acp_agents.js +62 -38
- package/dist/src/acp/acp_agents.js.map +1 -1
- package/dist/src/acp/provider.d.ts +14 -4
- package/dist/src/acp/provider.d.ts.map +1 -1
- package/dist/src/acp/provider.js +23 -2
- package/dist/src/acp/provider.js.map +1 -1
- package/dist/src/acp/types.d.ts +21 -0
- package/dist/src/acp/types.d.ts.map +1 -1
- package/dist/src/agents/loader.d.ts +3 -3
- package/dist/src/agents/loader.d.ts.map +1 -1
- package/dist/src/agents/loader.js.map +1 -1
- package/dist/src/ai_manager.d.ts +12 -8
- package/dist/src/ai_manager.d.ts.map +1 -1
- package/dist/src/ai_manager.js +128 -15
- package/dist/src/ai_manager.js.map +1 -1
- package/dist/src/budget/types.d.ts +1 -6
- package/dist/src/budget/types.d.ts.map +1 -1
- package/dist/src/catalog/source.d.ts +18 -3
- package/dist/src/catalog/source.d.ts.map +1 -1
- package/dist/src/catalog/source.js +15 -5
- package/dist/src/catalog/source.js.map +1 -1
- package/dist/src/circuit_breaker.d.ts +21 -0
- package/dist/src/circuit_breaker.d.ts.map +1 -1
- package/dist/src/circuit_breaker.js +64 -19
- package/dist/src/circuit_breaker.js.map +1 -1
- package/dist/src/error_classifier.d.ts +34 -1
- package/dist/src/error_classifier.d.ts.map +1 -1
- package/dist/src/error_classifier.js +159 -33
- package/dist/src/error_classifier.js.map +1 -1
- package/dist/src/guard/registry.d.ts +6 -0
- package/dist/src/guard/registry.d.ts.map +1 -1
- package/dist/src/guard/registry.js +12 -2
- package/dist/src/guard/registry.js.map +1 -1
- package/dist/src/guard/types.d.ts +6 -7
- package/dist/src/guard/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/logger.d.ts +7 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +2 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/models/catalog_resolver.d.ts +24 -0
- package/dist/src/models/catalog_resolver.d.ts.map +1 -0
- package/dist/src/models/catalog_resolver.js +66 -0
- package/dist/src/models/catalog_resolver.js.map +1 -0
- package/dist/src/models/index.d.ts +14 -0
- package/dist/src/models/index.d.ts.map +1 -0
- package/dist/src/models/index.js +8 -0
- package/dist/src/models/index.js.map +1 -0
- package/dist/src/models/keys.d.ts +9 -0
- package/dist/src/models/keys.d.ts.map +1 -0
- package/dist/src/models/keys.js +12 -0
- package/dist/src/models/keys.js.map +1 -0
- package/dist/src/models/language_model_factory.d.ts +44 -0
- package/dist/src/models/language_model_factory.d.ts.map +1 -0
- package/dist/src/models/language_model_factory.js +193 -0
- package/dist/src/models/language_model_factory.js.map +1 -0
- package/dist/src/models/model_chain.d.ts +58 -0
- package/dist/src/models/model_chain.d.ts.map +1 -0
- package/dist/src/models/model_chain.js +144 -0
- package/dist/src/models/model_chain.js.map +1 -0
- package/dist/src/models/model_ref.d.ts +12 -0
- package/dist/src/models/model_ref.d.ts.map +1 -0
- package/dist/src/models/model_ref.js +33 -0
- package/dist/src/models/model_ref.js.map +1 -0
- package/dist/src/models/protocols.d.ts +6 -0
- package/dist/src/models/protocols.d.ts.map +1 -0
- package/dist/src/models/protocols.js +33 -0
- package/dist/src/models/protocols.js.map +1 -0
- package/dist/src/models/provider_factories.d.ts +19 -0
- package/dist/src/models/provider_factories.d.ts.map +1 -0
- package/dist/src/models/provider_factories.js +70 -0
- package/dist/src/models/provider_factories.js.map +1 -0
- package/dist/src/models/types.d.ts +17 -0
- package/dist/src/models/types.d.ts.map +1 -0
- package/dist/src/models/types.js +2 -0
- package/dist/src/models/types.js.map +1 -0
- package/dist/src/types.d.ts +46 -3
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +70 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/acp/provider.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAI5B,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAQ/D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AAExB,mGAAmG;AACnG,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B;IACE,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,MAAM;IACN,WAAW;IACX,IAAI;IACJ,QAAQ;IACR,KAAK;IACL,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,aAAa;IACb,SAAS;IACT,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,aAAa;IACb,WAAW;IACX,UAAU;IACV,sBAAsB;IACtB,wBAAwB;IACxB,IAAI;CACL,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC9B,CAAA;AACD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAuBzC;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA0C,EAC1C,KAA6B,EAC7B,UAAU,GAAG,KAAK;IAElB,IAAI,UAAU;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;IAEnC,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/acp/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/src/acp/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BaseProviderConfig } from '../types.js';
|
|
2
|
+
import type { Logger } from '../logger.js';
|
|
2
3
|
/** `{ name, value }` pair as required by the ACP schema for `env` and `headers`. */
|
|
3
4
|
export interface AcpNameValue {
|
|
4
5
|
name: string;
|
|
@@ -36,6 +37,17 @@ export interface AcpAgentConfig {
|
|
|
36
37
|
envVarPrefix: string;
|
|
37
38
|
supportsMcpServers: boolean;
|
|
38
39
|
authMethodId?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Environment variables the agent needs: for each `target`, the first of `sources`
|
|
42
|
+
* that is set is passed to the agent process as `target`.
|
|
43
|
+
*
|
|
44
|
+
* When omitted (`undefined`), the `credentialEnv` of the built-in default agent with the
|
|
45
|
+
* same id is used, if any. An explicit value, including `[]`, is used as-is, so `[]` opts out.
|
|
46
|
+
*/
|
|
47
|
+
credentialEnv?: Array<{
|
|
48
|
+
target: string;
|
|
49
|
+
sources: string[];
|
|
50
|
+
}>;
|
|
39
51
|
}
|
|
40
52
|
export interface AcpAgentRuntimeConfig {
|
|
41
53
|
command: string;
|
|
@@ -45,6 +57,15 @@ export interface AcpAgentRuntimeConfig {
|
|
|
45
57
|
mcpServers: AcpMcpServerConfig[];
|
|
46
58
|
authMethodId?: string;
|
|
47
59
|
}
|
|
60
|
+
export interface AcpRuntimeOptions {
|
|
61
|
+
/** Environment lookup. Default: `process.env` */
|
|
62
|
+
getEnv?: (key: string) => string | undefined;
|
|
63
|
+
/** Source scanned for `ACP_<AGENT>_ENV_*` entries. Default: `process.env` */
|
|
64
|
+
envSource?: Record<string, string | undefined>;
|
|
65
|
+
logger?: Logger;
|
|
66
|
+
/** Project MCP server file, used when `<prefix>_PROJECT_MCP_PATH` is not set. */
|
|
67
|
+
projectMcpPath?: string;
|
|
68
|
+
}
|
|
48
69
|
export interface AcpProjectMcpConfig {
|
|
49
70
|
/** Absolute or cwd-relative path to the MCP server entry file. */
|
|
50
71
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/acp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/acp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Logger } from '../logger.js';
|
|
3
3
|
import { type ToolPermission } from './manifest.js';
|
|
4
4
|
export interface AgentPromptConfig {
|
|
5
5
|
id: string;
|
|
@@ -23,7 +23,7 @@ export interface AgentPromptConfig {
|
|
|
23
23
|
export interface AgentLoaderOptions {
|
|
24
24
|
configsDir?: string;
|
|
25
25
|
skillsDir?: string;
|
|
26
|
-
logger?:
|
|
26
|
+
logger?: Logger;
|
|
27
27
|
schemaResolver?: (name: string) => z.ZodTypeAny | undefined;
|
|
28
28
|
}
|
|
29
29
|
export declare class AgentLoader {
|
|
@@ -34,7 +34,7 @@ export declare class AgentLoader {
|
|
|
34
34
|
private schemaResolver?;
|
|
35
35
|
constructor(options?: AgentLoaderOptions);
|
|
36
36
|
setSchemaResolver(resolver: (name: string) => z.ZodTypeAny | undefined): void;
|
|
37
|
-
setLogger(logger:
|
|
37
|
+
setLogger(logger: Logger): void;
|
|
38
38
|
resolveDirs(customConfigsDir?: string, customSkillsDir?: string): Promise<{
|
|
39
39
|
configsDir: string;
|
|
40
40
|
skillsDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/agents/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/agents/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/agents/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAA;AAGzC,OAAO,EAAE,mBAAmB,EAAuB,MAAM,eAAe,CAAA;AAExE,MAAM,SAAS,GAAG,8BAA8B,CAAA;AA6BhD,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAA;IAC5C,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,MAAM,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/agents/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ai_manager.d.ts
CHANGED
|
@@ -7,12 +7,9 @@ import { ModelsDevSource } from './catalog/source.js';
|
|
|
7
7
|
import { AgentLoader, type AgentPromptConfig } from './agents/loader.js';
|
|
8
8
|
import { AgentRunner, type AgentRunnerOptions } from './agents/agent_runner.js';
|
|
9
9
|
import type { AiConfig, AiDriver, GenerateObjectOptions, GenerateObjectResult, GenerateTextOptions, GenerateTextResult, StreamTextOptions, StreamTextResult } from './types.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
error(message: string, ...args: unknown[]): void;
|
|
14
|
-
debug?(message: string, ...args: unknown[]): void;
|
|
15
|
-
}
|
|
10
|
+
import type { Logger } from './logger.js';
|
|
11
|
+
/** @deprecated Use Logger */
|
|
12
|
+
export type LoggerContract = Logger;
|
|
16
13
|
/**
|
|
17
14
|
* Central AI Manager for AdonisJS 7 (analog of Laravel AI / Prism).
|
|
18
15
|
* Orchestrates multi-provider drivers, models.dev catalog discovery, ACP agents,
|
|
@@ -30,7 +27,8 @@ export declare class AiManager {
|
|
|
30
27
|
private agentLoader;
|
|
31
28
|
private drivers;
|
|
32
29
|
private pricingWarmups;
|
|
33
|
-
|
|
30
|
+
private lazyLanguageModels?;
|
|
31
|
+
constructor(config: AiConfig, logger?: Logger, costTracker?: CostTracker, toolRegistry?: ToolRegistry, catalog?: ModelsDevSource, agentLoader?: AgentLoader, confirmation?: ConfirmationService);
|
|
34
32
|
getConfig(): AiConfig;
|
|
35
33
|
getCircuitBreaker(): CircuitBreaker;
|
|
36
34
|
getCostTracker(): CostTracker;
|
|
@@ -57,7 +55,7 @@ export declare class AiManager {
|
|
|
57
55
|
resolveModel(modelRef: string, defaultProvider?: string): Promise<{
|
|
58
56
|
providerId: string;
|
|
59
57
|
modelId: string;
|
|
60
|
-
entry?: import("./index.
|
|
58
|
+
entry?: import("./index.ts").ModelCatalogEntry;
|
|
61
59
|
}>;
|
|
62
60
|
/**
|
|
63
61
|
* Returns a specific driver by name, or the default driver.
|
|
@@ -73,6 +71,7 @@ export declare class AiManager {
|
|
|
73
71
|
* Call on application shutdown.
|
|
74
72
|
*/
|
|
75
73
|
shutdown(): Promise<void>;
|
|
74
|
+
private get languageModels();
|
|
76
75
|
/**
|
|
77
76
|
* Starts loading catalog pricing for a model in the background (deduplicated).
|
|
78
77
|
*/
|
|
@@ -88,6 +87,11 @@ export declare class AiManager {
|
|
|
88
87
|
* - The circuit breaker is keyed by `provider:model`.
|
|
89
88
|
*/
|
|
90
89
|
private executeWithFallback;
|
|
90
|
+
/**
|
|
91
|
+
* Executes an operation over an explicit chain of models. The provider cascade is not used; the
|
|
92
|
+
* chain is authoritative and every entry has its own per-credential circuit breaker.
|
|
93
|
+
*/
|
|
94
|
+
private executeOverChain;
|
|
91
95
|
/**
|
|
92
96
|
* Applies tool permissions and the tool guard, and tracks whether any tool actually ran.
|
|
93
97
|
* `deny` tools are dropped, `ask` tools need a human confirmation (fail-closed without one),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai_manager.d.ts","sourceRoot":"","sources":["../../src/ai_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ai_manager.d.ts","sourceRoot":"","sources":["../../src/ai_manager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ai_manager.js
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
1
9
|
import { generateText, streamText, stepCountIs, Output } from 'ai';
|
|
2
10
|
import { CostTracker } from './budget/cost_tracker.js';
|
|
3
11
|
import { ConfirmationService } from './guard/confirmation.js';
|
|
@@ -9,6 +17,32 @@ import { EMPTY_USAGE, normalizeUsage, sumUsage } from './usage.js';
|
|
|
9
17
|
import { ModelsDevSource, resolveCatalogProviderId } from './catalog/source.js';
|
|
10
18
|
import { AgentLoader } from './agents/loader.js';
|
|
11
19
|
import { AgentRunner } from './agents/agent_runner.js';
|
|
20
|
+
import { LanguageModelFactory, buildChainCandidates, runModelChain, } from './models/index.js';
|
|
21
|
+
/** `ResolvedModel` entries keep their order; strings become `ref` candidates. Same dedupe rules as `buildChainCandidates`. */
|
|
22
|
+
function toChainCandidates(models) {
|
|
23
|
+
if (models.every((m) => typeof m !== 'string')) {
|
|
24
|
+
return buildChainCandidates({ chain: models });
|
|
25
|
+
}
|
|
26
|
+
const candidates = [];
|
|
27
|
+
const seenRefs = new Set();
|
|
28
|
+
const seenEntries = new Set();
|
|
29
|
+
for (const entry of models) {
|
|
30
|
+
if (typeof entry === 'string') {
|
|
31
|
+
if (!entry || seenRefs.has(entry))
|
|
32
|
+
continue;
|
|
33
|
+
seenRefs.add(entry);
|
|
34
|
+
candidates.push({ kind: 'ref', ref: entry, key: entry });
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
const [candidate] = buildChainCandidates({ chain: [entry] });
|
|
38
|
+
const entryId = `${candidate.key}|${entry.providerID}/${entry.modelID}`;
|
|
39
|
+
if (seenEntries.has(entryId))
|
|
40
|
+
continue;
|
|
41
|
+
seenEntries.add(entryId);
|
|
42
|
+
candidates.push(candidate);
|
|
43
|
+
}
|
|
44
|
+
return candidates;
|
|
45
|
+
}
|
|
12
46
|
const PRICING_WAIT_MS = 2_000;
|
|
13
47
|
function sleep(ms) {
|
|
14
48
|
return new Promise((resolve) => {
|
|
@@ -33,6 +67,7 @@ export class AiManager {
|
|
|
33
67
|
agentLoader;
|
|
34
68
|
drivers = new Map();
|
|
35
69
|
pricingWarmups = new Map();
|
|
70
|
+
lazyLanguageModels;
|
|
36
71
|
constructor(config, logger, costTracker, toolRegistry, catalog, agentLoader, confirmation) {
|
|
37
72
|
this.config = config;
|
|
38
73
|
this.logger = logger;
|
|
@@ -52,6 +87,7 @@ export class AiManager {
|
|
|
52
87
|
cachePath: config.catalog?.cachePath,
|
|
53
88
|
overridePath: config.catalog?.overridePath,
|
|
54
89
|
ttlMs: config.catalog?.ttlMs,
|
|
90
|
+
systemProviders: config.catalog?.systemProviders,
|
|
55
91
|
});
|
|
56
92
|
this.agentLoader =
|
|
57
93
|
agentLoader ??
|
|
@@ -153,6 +189,8 @@ export class AiManager {
|
|
|
153
189
|
* Call on application shutdown.
|
|
154
190
|
*/
|
|
155
191
|
async shutdown() {
|
|
192
|
+
const languageModels = this.config.languageModels ?? this.lazyLanguageModels;
|
|
193
|
+
this.lazyLanguageModels = undefined;
|
|
156
194
|
const drivers = [...this.drivers.values()];
|
|
157
195
|
this.drivers.clear();
|
|
158
196
|
const settled = await Promise.allSettled(drivers);
|
|
@@ -160,23 +198,33 @@ export class AiManager {
|
|
|
160
198
|
if (entry.status === 'fulfilled')
|
|
161
199
|
await entry.value.shutdown?.();
|
|
162
200
|
}));
|
|
201
|
+
await Promise.allSettled([languageModels?.shutdown()]);
|
|
163
202
|
this.confirmation.dispose();
|
|
164
203
|
}
|
|
204
|
+
get languageModels() {
|
|
205
|
+
return (this.config.languageModels ??
|
|
206
|
+
(this.lazyLanguageModels ??= new LanguageModelFactory({
|
|
207
|
+
logger: this.logger,
|
|
208
|
+
acp: { confirmation: this.confirmation },
|
|
209
|
+
})));
|
|
210
|
+
}
|
|
165
211
|
/**
|
|
166
212
|
* Starts loading catalog pricing for a model in the background (deduplicated).
|
|
167
213
|
*/
|
|
168
214
|
warmPricing(providerName, modelName) {
|
|
169
215
|
if (this.config.catalog?.autoPricing === false)
|
|
170
216
|
return Promise.resolve();
|
|
217
|
+
// Chain models are not configured providers: their provider id is already a catalog id.
|
|
171
218
|
const pConfig = this.config.providers[providerName];
|
|
172
|
-
if (
|
|
219
|
+
if (pConfig?.driver === 'acp')
|
|
173
220
|
return Promise.resolve();
|
|
221
|
+
const catalogProviderId = pConfig ? resolveCatalogProviderId(pConfig.driver) : providerName;
|
|
174
222
|
const key = `${providerName}/${modelName}`;
|
|
175
223
|
let warmup = this.pricingWarmups.get(key);
|
|
176
224
|
if (!warmup) {
|
|
177
225
|
warmup = (async () => {
|
|
178
226
|
try {
|
|
179
|
-
const pricing = await this.catalog.getModelPricing(
|
|
227
|
+
const pricing = await this.catalog.getModelPricing(catalogProviderId, modelName);
|
|
180
228
|
if (pricing) {
|
|
181
229
|
this.costTracker.setPricing({ [modelName]: pricing, [key]: pricing });
|
|
182
230
|
}
|
|
@@ -200,6 +248,9 @@ export class AiManager {
|
|
|
200
248
|
* - The circuit breaker is keyed by `provider:model`.
|
|
201
249
|
*/
|
|
202
250
|
async executeWithFallback(request, operation) {
|
|
251
|
+
if (request.models && request.models.length > 0) {
|
|
252
|
+
return this.executeOverChain(request, request.models, operation);
|
|
253
|
+
}
|
|
203
254
|
let targetProvider = request.provider;
|
|
204
255
|
let targetModel = request.model;
|
|
205
256
|
// 'provider/model' syntax, but only when the prefix really is a configured provider
|
|
@@ -239,7 +290,13 @@ export class AiManager {
|
|
|
239
290
|
const state = { toolsExecuted: false };
|
|
240
291
|
try {
|
|
241
292
|
const driver = await this.use(providerName);
|
|
242
|
-
const result = await this.circuitBreaker.execute(breakerKey, () => operation({
|
|
293
|
+
const result = await this.circuitBreaker.execute(breakerKey, () => operation({
|
|
294
|
+
getModel: () => driver.getModel(modelName),
|
|
295
|
+
modelName,
|
|
296
|
+
providerName,
|
|
297
|
+
breakerKey,
|
|
298
|
+
state,
|
|
299
|
+
}), (err) => classifyError(err, request.abortSignal).countsAsFailure);
|
|
243
300
|
return { result, provider: providerName, model: modelName };
|
|
244
301
|
}
|
|
245
302
|
catch (err) {
|
|
@@ -258,6 +315,43 @@ export class AiManager {
|
|
|
258
315
|
}
|
|
259
316
|
throw new CascadingFallbackError(attempts);
|
|
260
317
|
}
|
|
318
|
+
/**
|
|
319
|
+
* Executes an operation over an explicit chain of models. The provider cascade is not used; the
|
|
320
|
+
* chain is authoritative and every entry has its own per-credential circuit breaker.
|
|
321
|
+
*/
|
|
322
|
+
async executeOverChain(request, models, operation) {
|
|
323
|
+
request.abortSignal?.throwIfAborted();
|
|
324
|
+
const stringEntry = models.find((m) => typeof m === 'string' && m !== '');
|
|
325
|
+
if (stringEntry !== undefined && !this.config.resolver) {
|
|
326
|
+
throw new ProviderConfigError('model-chain', `a resolver is required to resolve "${stringEntry}"`);
|
|
327
|
+
}
|
|
328
|
+
const { result, model } = await runModelChain(toChainCandidates(models), (attempt) => {
|
|
329
|
+
// `state.toolsExecuted = true` inside prepareTools tells the chain not to fall back.
|
|
330
|
+
const state = {
|
|
331
|
+
get toolsExecuted() {
|
|
332
|
+
return false;
|
|
333
|
+
},
|
|
334
|
+
set toolsExecuted(value) {
|
|
335
|
+
if (value)
|
|
336
|
+
attempt.markToolsExecuted();
|
|
337
|
+
},
|
|
338
|
+
};
|
|
339
|
+
return operation({
|
|
340
|
+
getModel: () => this.languageModels.create(attempt.model),
|
|
341
|
+
modelName: attempt.model.modelID,
|
|
342
|
+
providerName: attempt.model.providerID,
|
|
343
|
+
breakerKey: attempt.key,
|
|
344
|
+
state,
|
|
345
|
+
});
|
|
346
|
+
}, {
|
|
347
|
+
breaker: this.circuitBreaker,
|
|
348
|
+
resolver: this.config.resolver,
|
|
349
|
+
abortSignal: request.abortSignal,
|
|
350
|
+
onFallback: request.onFallback,
|
|
351
|
+
logger: this.logger,
|
|
352
|
+
});
|
|
353
|
+
return { result, provider: model.providerID, model: model.modelID };
|
|
354
|
+
}
|
|
261
355
|
/**
|
|
262
356
|
* Applies tool permissions and the tool guard, and tracks whether any tool actually ran.
|
|
263
357
|
* `deny` tools are dropped, `ask` tools need a human confirmation (fail-closed without one),
|
|
@@ -307,7 +401,18 @@ export class AiManager {
|
|
|
307
401
|
topP: options.topP,
|
|
308
402
|
maxOutputTokens,
|
|
309
403
|
tools: this.prepareTools(options, state),
|
|
310
|
-
stopWhen: options.maxSteps ? stepCountIs(options.maxSteps) : undefined,
|
|
404
|
+
stopWhen: options.stopWhen ?? (options.maxSteps ? stepCountIs(options.maxSteps) : undefined),
|
|
405
|
+
maxRetries: options.maxRetries,
|
|
406
|
+
onStepFinish: options.onStepFinish
|
|
407
|
+
? async (step) => {
|
|
408
|
+
try {
|
|
409
|
+
await options.onStepFinish?.(step);
|
|
410
|
+
}
|
|
411
|
+
catch (err) {
|
|
412
|
+
this.logger?.warn?.(`[AiManager] onStepFinish callback failed: ${String(err)}`);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
: undefined,
|
|
311
416
|
abortSignal: signal,
|
|
312
417
|
};
|
|
313
418
|
if (options.messages && options.messages.length > 0) {
|
|
@@ -354,10 +459,11 @@ export class AiManager {
|
|
|
354
459
|
async generateText(options) {
|
|
355
460
|
const startTime = Date.now();
|
|
356
461
|
const agentName = options.agentName ?? this.config.budget?.defaultAgentName ?? 'default-agent';
|
|
357
|
-
const { result, provider, model } = await this.executeWithFallback(options, async ({
|
|
462
|
+
const { result, provider, model } = await this.executeWithFallback(options, async ({ getModel, modelName, providerName, state }) => {
|
|
358
463
|
void this.warmPricing(providerName, modelName);
|
|
359
|
-
const languageModel = await
|
|
360
|
-
|
|
464
|
+
const languageModel = await getModel();
|
|
465
|
+
const params = this.buildTextParams(options, languageModel, state, options.abortSignal);
|
|
466
|
+
return generateText(options.schema ? { ...params, output: Output.object({ schema: options.schema }) } : params);
|
|
361
467
|
});
|
|
362
468
|
const durationMs = Date.now() - startTime;
|
|
363
469
|
// `totalUsage` sums every step of a tool loop; `usage` is the last step only.
|
|
@@ -374,6 +480,8 @@ export class AiManager {
|
|
|
374
480
|
toolCalls: result.toolCalls,
|
|
375
481
|
toolResults: result.toolResults,
|
|
376
482
|
steps: result.steps,
|
|
483
|
+
// `output` throws when no output was specified, so read it only for schema calls.
|
|
484
|
+
output: options.schema ? result.output : undefined,
|
|
377
485
|
rawResponse: result.response,
|
|
378
486
|
durationMs,
|
|
379
487
|
};
|
|
@@ -394,9 +502,9 @@ export class AiManager {
|
|
|
394
502
|
const usagePromise = new Promise((resolve) => {
|
|
395
503
|
settleUsage = resolve;
|
|
396
504
|
});
|
|
397
|
-
const { result: raw, provider, model } = await this.executeWithFallback({
|
|
505
|
+
const { result: raw, provider, model } = await this.executeWithFallback({ ...options, abortSignal: signal }, async ({ getModel, modelName, providerName, breakerKey, state }) => {
|
|
398
506
|
const pricingReady = this.warmPricing(providerName, modelName);
|
|
399
|
-
const languageModel = await
|
|
507
|
+
const languageModel = await getModel();
|
|
400
508
|
let attemptFailed = false;
|
|
401
509
|
let accounted = false;
|
|
402
510
|
let streamStarted = false;
|
|
@@ -422,6 +530,7 @@ export class AiManager {
|
|
|
422
530
|
const params = this.buildTextParams(options, languageModel, state, signal);
|
|
423
531
|
const stream = streamText({
|
|
424
532
|
...params,
|
|
533
|
+
...(options.schema ? { output: Output.object({ schema: options.schema }) } : {}),
|
|
425
534
|
onChunk: ({ chunk }) => {
|
|
426
535
|
if (chunk.type === 'text-delta')
|
|
427
536
|
options.onChunk?.(chunk.text);
|
|
@@ -429,9 +538,9 @@ export class AiManager {
|
|
|
429
538
|
onError: ({ error }) => {
|
|
430
539
|
if (!streamStarted)
|
|
431
540
|
return; // surfaced through the first-part check below
|
|
432
|
-
this.logger?.warn?.(`[AiManager] Stream error on "${
|
|
433
|
-
if (classifyError(error, signal).
|
|
434
|
-
this.circuitBreaker.recordFailure(
|
|
541
|
+
this.logger?.warn?.(`[AiManager] Stream error on "${breakerKey}": ${String(error)}`);
|
|
542
|
+
if (classifyError(error, signal).countsAsFailure) {
|
|
543
|
+
this.circuitBreaker.recordFailure(breakerKey, error);
|
|
435
544
|
}
|
|
436
545
|
finish(EMPTY_USAGE, '');
|
|
437
546
|
},
|
|
@@ -466,12 +575,16 @@ export class AiManager {
|
|
|
466
575
|
streamStarted = true;
|
|
467
576
|
return stream;
|
|
468
577
|
});
|
|
578
|
+
// Without a schema the SDK's `output` rejects; expose `undefined` instead.
|
|
579
|
+
const output = options.schema ? Promise.resolve(raw.output) : Promise.resolve(undefined);
|
|
580
|
+
output.catch(() => { }); // a never-read rejection must not surface as unhandled
|
|
469
581
|
return {
|
|
470
582
|
textStream: raw.textStream,
|
|
471
583
|
fullStream: raw.fullStream,
|
|
472
584
|
provider,
|
|
473
585
|
model,
|
|
474
586
|
usage: usagePromise,
|
|
587
|
+
output,
|
|
475
588
|
toTextStreamResponse: (headers) => raw.toTextStreamResponse({ headers }),
|
|
476
589
|
toUIMessageStreamResponse: (opts) => raw.toUIMessageStreamResponse(opts),
|
|
477
590
|
toDataStreamResponse: (headers) => raw.toUIMessageStreamResponse({ headers }),
|
|
@@ -498,9 +611,9 @@ export class AiManager {
|
|
|
498
611
|
async generateObject(options) {
|
|
499
612
|
const startTime = Date.now();
|
|
500
613
|
const agentName = options.agentName ?? this.config.budget?.defaultAgentName ?? 'default-agent';
|
|
501
|
-
const { result, provider, model } = await this.executeWithFallback(options, async ({
|
|
614
|
+
const { result, provider, model } = await this.executeWithFallback(options, async ({ getModel, modelName, providerName, state }) => {
|
|
502
615
|
void this.warmPricing(providerName, modelName);
|
|
503
|
-
const languageModel = await
|
|
616
|
+
const languageModel = await getModel();
|
|
504
617
|
const params = this.buildTextParams(options, languageModel, state, options.abortSignal);
|
|
505
618
|
return generateText({
|
|
506
619
|
...params,
|
|
@@ -690,7 +803,7 @@ export class AiManager {
|
|
|
690
803
|
}
|
|
691
804
|
async safeImport(pkgName, helpMsg) {
|
|
692
805
|
try {
|
|
693
|
-
return (await import(pkgName));
|
|
806
|
+
return (await import(__rewriteRelativeImportExtension(pkgName)));
|
|
694
807
|
}
|
|
695
808
|
catch (e) {
|
|
696
809
|
const message = e instanceof Error ? e.message : String(e);
|