@runnerpro/backend 1.28.0 → 1.30.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/lib/cjs/prompt/ai.js
CHANGED
|
@@ -200,11 +200,25 @@ function notifyCotFailure(modelLabel, rawText) {
|
|
|
200
200
|
* });
|
|
201
201
|
* ```
|
|
202
202
|
*/
|
|
203
|
+
/**
|
|
204
|
+
* Defaults de providerOptions para los modelos de Azure. Los GPT-5.5/5.6 y DeepSeek validan el
|
|
205
|
+
* json_schema en modo ESTRICTO por defecto y rechazan los esquemas históricos (campos opcionales
|
|
206
|
+
* fuera de `required`, oneOf, etc.), con lo que la llamada falla en TODA la cadena Azure y acaba
|
|
207
|
+
* en Gemini. strictJsonSchema=false restaura la validación laxa que aplicaba gpt-5.4-mini; zod
|
|
208
|
+
* sigue validando la salida en cliente y el retry/fallback cubre las desviaciones.
|
|
209
|
+
* La clave es 'openai' porque el modelo responses de @ai-sdk/azure comparte el parser de OpenAI
|
|
210
|
+
* ('azure' se añade por si el SDK cambia de clave); los providers de Google las ignoran.
|
|
211
|
+
* Lo que el caller pase explícitamente siempre gana.
|
|
212
|
+
*/
|
|
213
|
+
function withLaxSchemaDefaults(options) {
|
|
214
|
+
const po = options.providerOptions;
|
|
215
|
+
return Object.assign(Object.assign({}, options), { providerOptions: Object.assign(Object.assign({}, po), { openai: Object.assign({ strictJsonSchema: false }, po === null || po === void 0 ? void 0 : po.openai), azure: Object.assign({ strictJsonSchema: false }, po === null || po === void 0 ? void 0 : po.azure) }) });
|
|
216
|
+
}
|
|
203
217
|
function generateObject(options) {
|
|
204
218
|
var _a;
|
|
205
219
|
return __awaiter(this, void 0, void 0, function* () {
|
|
206
220
|
let lastError;
|
|
207
|
-
let currentOptions = options;
|
|
221
|
+
let currentOptions = withLaxSchemaDefaults(options);
|
|
208
222
|
// [llm-cache] cache-aside: HIT → output guardado sin llamar al modelo (opt-out con options.cache === false)
|
|
209
223
|
const co = currentOptions;
|
|
210
224
|
const useCache = co.cache !== false;
|
|
@@ -376,7 +390,7 @@ function generateText(options) {
|
|
|
376
390
|
var _a;
|
|
377
391
|
return __awaiter(this, void 0, void 0, function* () {
|
|
378
392
|
let lastError;
|
|
379
|
-
let currentOptions = options;
|
|
393
|
+
let currentOptions = withLaxSchemaDefaults(options);
|
|
380
394
|
const fallbackNames = ((_a = currentOptions.model) === null || _a === void 0 ? void 0 : _a._fallbackModelNames) || [];
|
|
381
395
|
const maxAttempts = (1 + fallbackNames.length) * (1 + MIN_RETRIES);
|
|
382
396
|
let transientRetries = 0;
|
|
@@ -78,16 +78,20 @@ const AZURE_PRIMARY_MODELS = {
|
|
|
78
78
|
};
|
|
79
79
|
exports.AZURE_PRIMARY_MODELS = AZURE_PRIMARY_MODELS;
|
|
80
80
|
// Fallbacks Azure por tier (en orden): se anteponen a la cascada Gemini en createGoogleModel,
|
|
81
|
-
// para agotar el proveedor primario antes de cambiar de nube.
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
//
|
|
81
|
+
// para agotar el proveedor primario antes de cambiar de nube.
|
|
82
|
+
// PRO → 5.5 → Gemini
|
|
83
|
+
// FLASH → luna → Gemini
|
|
84
|
+
// LITE → mini → nano → Gemini
|
|
85
|
+
//
|
|
86
|
+
// ⚠️ Los DeepSeek NO entran aquí pese a estar desplegados: no sirven para generateObject.
|
|
87
|
+
// Con strictJsonSchema=true rechazan los esquemas del proyecto (piden additionalProperties y
|
|
88
|
+
// required completo) y con false ignoran el json_schema y contestan en prosa, que el SDK no
|
|
89
|
+
// puede parsear («No object generated»). Verificado el 5-ago-2026 contra el esquema real del
|
|
90
|
+
// agente entrenador. Siguen exportados por si se usan en generateText, donde sí responden bien.
|
|
87
91
|
const AZURE_FALLBACK_MODELS = {
|
|
88
92
|
PRO: [AZURE_GPT_5_5],
|
|
89
|
-
FLASH: [AZURE_GPT_5_6_LUNA
|
|
90
|
-
LITE: [AZURE_GPT_5_4_MINI, AZURE_GPT_5_4_NANO
|
|
93
|
+
FLASH: [AZURE_GPT_5_6_LUNA],
|
|
94
|
+
LITE: [AZURE_GPT_5_4_MINI, AZURE_GPT_5_4_NANO],
|
|
91
95
|
};
|
|
92
96
|
exports.AZURE_FALLBACK_MODELS = AZURE_FALLBACK_MODELS;
|
|
93
97
|
// ⚠️ Bedrock/Claude retirado del enrutado: el provider, las constantes BEDROCK_CLAUDE_*
|
|
@@ -1,27 +1,5 @@
|
|
|
1
1
|
import { generateObject as originalGenerateObject, generateText as originalGenerateText } from 'ai';
|
|
2
2
|
import { type CostResult } from './modelPricing';
|
|
3
|
-
/**
|
|
4
|
-
* Wrapper de generateObject con retry automático y cadena de fallbacks.
|
|
5
|
-
* Calcula el coste de producción de la llamada y lo acumula automáticamente
|
|
6
|
-
* si se ejecuta dentro de runWithCostTracking.
|
|
7
|
-
*
|
|
8
|
-
* Estrategia de resiliencia:
|
|
9
|
-
* - Error de rate limit/cuota → salto inmediato al siguiente fallback
|
|
10
|
-
* - Cualquier otro error → reintento transitorio, si falla → siguiente fallback
|
|
11
|
-
*
|
|
12
|
-
* @param options - Opciones para generateObject (model, schema, system, prompt, temperature, etc.)
|
|
13
|
-
* @returns Objeto generado y coste de la llamada
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* const { object, cost } = await generateObject({
|
|
18
|
-
* model: createGoogleModel('PRO'),
|
|
19
|
-
* schema: myZodSchema,
|
|
20
|
-
* system: 'Eres un asistente',
|
|
21
|
-
* prompt: 'Genera un plan de entrenamiento',
|
|
22
|
-
* });
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
3
|
declare function generateObject(options: Parameters<typeof originalGenerateObject>[0]): Promise<{
|
|
26
4
|
object: any;
|
|
27
5
|
cost: CostResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../../src/prompt/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAEpG,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../../src/prompt/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAEpG,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAoNhE,iBAAe,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAoD/H;AAkFD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iBAAe,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CA4C5H;AA+ED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAe,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB5H;AAED,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/prompt/constants.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAIzC,QAAA,MAAM,mBAAmB,oCAAoC,CAAC;AAC9D,QAAA,MAAM,qBAAqB,mCAAmC,CAAC;AAC/D,QAAA,MAAM,uBAAuB,+CAA+C,CAAC;AAC7E,QAAA,MAAM,uBAAuB,+CAA+C,CAAC;AAC7E,QAAA,MAAM,yBAAyB,iDAAiD,CAAC;AACjF,QAAA,MAAM,uBAAuB,+CAA+C,CAAC;AAC7E,QAAA,MAAM,oBAAoB,gDAAgD,CAAC;AAE3E,QAAA,MAAM,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAI3C,CAAC;AAMF,QAAA,MAAM,YAAY,WAAW,CAAC;AAC9B,QAAA,MAAM,wBAAwB,QAAoD,CAAC;AAGnF,QAAA,MAAM,4BAA4B,QAA4D,CAAC;AAC/F,QAAA,MAAM,8BAA8B,QAAgE,CAAC;AACrG,QAAA,MAAM,6BAA6B,QAA8D,CAAC;AAClG,QAAA,MAAM,6BAA6B,QAA8D,CAAC;AAClG,QAAA,MAAM,6BAA6B,QAA8D,CAAC;AAIlG,QAAA,MAAM,gCAAgC,QAAoE,CAAC;AAC3G,QAAA,MAAM,kCAAkC,QAAwE,CAAC;AAEjH,QAAA,MAAM,aAAa,QAA+C,CAAC;AACnE,QAAA,MAAM,iBAAiB,QAAmD,CAAC;AAC3E,QAAA,MAAM,mBAAmB,QAAqD,CAAC;AAC/E,QAAA,MAAM,kBAAkB,QAAoD,CAAC;AAC7E,QAAA,MAAM,kBAAkB,QAAoD,CAAC;AAC7E,QAAA,MAAM,kBAAkB,QAAoD,CAAC;AAC7E,QAAA,MAAM,qBAAqB,QAAuD,CAAC;AACnF,QAAA,MAAM,uBAAuB,QAAyD,CAAC;AAQvF,QAAA,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAIlD,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/prompt/constants.ts"],"names":[],"mappings":"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"}
|