azerclaw 2.2.1 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/providers/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAQnG,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAwC;;IAQzD,OAAO,CAAC,aAAa;IA+ErB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAiBpD;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,SAAS;IAYrC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/providers/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAQnG,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAwC;;IAQzD,OAAO,CAAC,aAAa;IA+ErB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAiBpD;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,SAAS;IAYrC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6E1F,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC;IAM5F,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAW3C,qBAAqB,IAAI,MAAM,EAAE;IAIjC,cAAc,IAAI,OAAO;CAG1B;AAGD,wBAAgB,SAAS,IAAI,cAAc,CAG1C;AACD,wBAAgB,WAAW,IAAI,IAAI,CAA2B"}
|
|
@@ -121,49 +121,69 @@ class ProviderRouter {
|
|
|
121
121
|
}
|
|
122
122
|
async complete(options, preferredProvider) {
|
|
123
123
|
const config = (0, manager_1.getConfigManager)().getAll();
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
// Build a list of providers to attempt in order.
|
|
125
|
+
const providersToTry = [];
|
|
126
|
+
if (preferredProvider && this.providers.has(preferredProvider)) {
|
|
127
|
+
providersToTry.push(preferredProvider);
|
|
128
|
+
}
|
|
129
|
+
const defaultProvider = config.ai.defaultProvider;
|
|
130
|
+
if (defaultProvider && this.providers.has(defaultProvider) && !providersToTry.includes(defaultProvider)) {
|
|
131
|
+
providersToTry.push(defaultProvider);
|
|
132
|
+
}
|
|
133
|
+
// Add all other initialized providers as backups
|
|
134
|
+
for (const name of this.providers.keys()) {
|
|
135
|
+
if (!providersToTry.includes(name)) {
|
|
136
|
+
providersToTry.push(name);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (providersToTry.length === 0) {
|
|
126
140
|
return { content: 'Error: No AI engine configured. Run `azerclaw onboard`.', model: 'none', provider: 'none', finishReason: 'error' };
|
|
127
141
|
}
|
|
128
|
-
const providerName = preferredProvider || provider.name || config.ai.defaultProvider;
|
|
129
|
-
const providerConfig = config.ai.providers[providerName];
|
|
130
|
-
const defaultModel = providerConfig?.defaultModel;
|
|
131
|
-
const modelChain = [options.model && options.model !== 'auto' ? options.model : defaultModel, ...(config.ai.modelFallbackChain || [])];
|
|
132
142
|
let lastError = '';
|
|
133
143
|
let attempted = false;
|
|
134
|
-
for (const
|
|
135
|
-
|
|
144
|
+
for (const providerName of providersToTry) {
|
|
145
|
+
const provider = this.providers.get(providerName);
|
|
146
|
+
if (!provider)
|
|
136
147
|
continue;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
148
|
+
const providerConfig = config.ai.providers[providerName];
|
|
149
|
+
const defaultModel = providerConfig?.defaultModel;
|
|
150
|
+
const modelChain = [
|
|
151
|
+
options.model && options.model !== 'auto' ? options.model : defaultModel,
|
|
152
|
+
...(config.ai.modelFallbackChain || [])
|
|
153
|
+
].filter((m) => !!m);
|
|
154
|
+
for (const modelId of modelChain) {
|
|
155
|
+
attempted = true;
|
|
144
156
|
if (process.env.AZERCLAW_DEBUG) {
|
|
145
|
-
console.log(`[Router]
|
|
157
|
+
console.log(`[Router] Attempting model: ${modelId} on ${providerName}...`);
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
const start = Date.now();
|
|
161
|
+
const result = await provider.complete({ ...options, model: modelId });
|
|
162
|
+
if (process.env.AZERCLAW_DEBUG) {
|
|
163
|
+
console.log(`[Router] Model ${modelId} finished in ${Date.now() - start}ms (finishReason: ${result.finishReason})`);
|
|
164
|
+
}
|
|
165
|
+
if (result.finishReason !== 'error') {
|
|
166
|
+
return result;
|
|
167
|
+
}
|
|
168
|
+
lastError = result.content;
|
|
169
|
+
}
|
|
170
|
+
catch (e) {
|
|
171
|
+
lastError = e instanceof Error ? e.message : String(e);
|
|
146
172
|
}
|
|
147
|
-
if (result.finishReason !== 'error')
|
|
148
|
-
return result;
|
|
149
|
-
lastError = result.content;
|
|
150
|
-
}
|
|
151
|
-
catch (e) {
|
|
152
|
-
lastError = e instanceof Error ? e.message : String(e);
|
|
153
173
|
}
|
|
154
174
|
}
|
|
155
175
|
if (!attempted) {
|
|
156
176
|
return {
|
|
157
177
|
content: 'Error: No model configured. Run `azerclaw config model <model-id>` or `azerclaw onboard`.',
|
|
158
178
|
model: 'none',
|
|
159
|
-
provider:
|
|
179
|
+
provider: 'none',
|
|
160
180
|
finishReason: 'error',
|
|
161
181
|
};
|
|
162
182
|
}
|
|
163
183
|
return {
|
|
164
|
-
content: `Error: All models in the chain failed. Last error: ${lastError}`,
|
|
184
|
+
content: `Error: All models and providers in the fallback chain failed. Last error: ${lastError}`,
|
|
165
185
|
model: 'none',
|
|
166
|
-
provider:
|
|
186
|
+
provider: preferredProvider || defaultProvider || 'none',
|
|
167
187
|
finishReason: 'error',
|
|
168
188
|
};
|
|
169
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/providers/router.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/providers/router.ts"],"names":[],"mappings":"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"}
|