ugly-app 0.1.454 → 0.1.455
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/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/server/ai/TextGenBase.d.ts +13 -7
- package/dist/server/ai/TextGenBase.d.ts.map +1 -1
- package/dist/server/ai/TextGenBase.js.map +1 -1
- package/dist/server/ai/types.d.ts +11 -1
- package/dist/server/ai/types.d.ts.map +1 -1
- package/dist/server/ai/types.js.map +1 -1
- package/dist/shared/AiProxy.d.ts +34 -7
- package/dist/shared/AiProxy.d.ts.map +1 -1
- package/dist/shared/AiProxy.js +41 -8
- package/dist/shared/AiProxy.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/server/ai/TextGenBase.ts +14 -7
- package/src/server/ai/types.ts +11 -1
- package/src/shared/AiProxy.ts +42 -8
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.455";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReasoningEffort } from '../../shared/AiProxy.js';
|
|
1
2
|
export type ImageMimeType = 'image/jpeg' | 'image/png' | 'image/gif' | 'image/webp';
|
|
2
3
|
/**
|
|
3
4
|
* ClientCallback — used by BotCode/TextGen to invoke client-side functions
|
|
@@ -98,14 +99,19 @@ export interface TextGenChat {
|
|
|
98
99
|
*/
|
|
99
100
|
promptCacheKey?: string;
|
|
100
101
|
/**
|
|
101
|
-
* Coarse reasoning-depth knob.
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
102
|
+
* Coarse reasoning-depth knob. Strongly typed via the canonical
|
|
103
|
+
* `ReasoningEffort` enum from `shared/AiProxy.ts`. Per-model
|
|
104
|
+
* translation to the native wire field (Anthropic
|
|
105
|
+
* `thinking.budget_tokens`, OpenAI `reasoning_effort`, Gemini
|
|
106
|
+
* `thinkingConfig.thinkingBudget`, model-id swap, etc.) lives in
|
|
107
|
+
* the ugly.bot proxy's `getThinkingSupport` /
|
|
108
|
+
* `resolveThinking` helpers. Callers pass the effort and the
|
|
109
|
+
* proxy figures out the right shape per model. Models without a
|
|
110
|
+
* thinking surface throw `ThinkingNotSupportedError` rather than
|
|
111
|
+
* silently dropping the request — silent drop was the bug the
|
|
112
|
+
* redesign targets.
|
|
107
113
|
*/
|
|
108
|
-
reasoningEffort?:
|
|
114
|
+
reasoningEffort?: ReasoningEffort;
|
|
109
115
|
/**
|
|
110
116
|
* Anthropic-style thinking-block control. Wins over
|
|
111
117
|
* `reasoningEffort` on Anthropic-compat providers — useful for the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextGenBase.d.ts","sourceRoot":"","sources":["../../../src/server/ai/TextGenBase.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,KACZ,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,oBAAY,UAAU;IACpB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,eAAe,CAAC;IAE1B,IAAI,CACF,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,cAAc,GAAG,IAAI,GACpC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEnC,QAAQ,CACN,MAAM,EAAE,mCAAmC,EAC3C,cAAc,EAAE,cAAc,GAAG,IAAI,GACpC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC;IAC1C,oGAAoG;IACpG,SAAS,CAAC,EAAE;QACV,iDAAiD;QACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,uCAAuC;QACvC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iCAAiC;QACjC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,+CAA+C;QAC/C,eAAe,EAAE,MAAM,CAAC;QACxB;;;;;WAKG;QACH,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC;;;;;;WAMG;QACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,oBAAoB,CAAC,EAAE,KAAK,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"TextGenBase.d.ts","sourceRoot":"","sources":["../../../src/server/ai/TextGenBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextGenBase.js","sourceRoot":"","sources":["../../../src/server/ai/TextGenBase.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,yDAAyD;
|
|
1
|
+
{"version":3,"file":"TextGenBase.js","sourceRoot":"","sources":["../../../src/server/ai/TextGenBase.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,yDAAyD;AAmBzD,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,yCAA2B,CAAA;AAC7B,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB;AA8MD,SAAS,WAAW,CAAC,OAAuB;IAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAiC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,OAAgB,WAAW;IAG/B,KAAK,CAAC,QAAQ,CACZ,MAA2C,EAC3C,cAAqC;QAErC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAClC;YACE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC9C,EACD,cAAc,CACf,CAAC;QAEF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/C,GAAG,EAAE,YAAY,CAAC,GAAG;SACtB,CAAC;IACJ,CAAC;CAMF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { ImageGenModel } from '../../shared/ImageGen.js';
|
|
3
|
+
import type { ReasoningEffort } from '../../shared/AiProxy.js';
|
|
3
4
|
import type { Message, TextGenModel, TextGenTool } from '../../shared/TextGen.js';
|
|
4
5
|
export type { ContentPart, Message } from '../../shared/TextGen.js';
|
|
5
6
|
export interface TextGenOptions {
|
|
@@ -19,10 +20,19 @@ export interface TextGenOptions {
|
|
|
19
20
|
promptCacheKey?: string;
|
|
20
21
|
/**
|
|
21
22
|
* Coarse reasoning-depth knob — see TextGenChat.reasoningEffort.
|
|
23
|
+
* Strongly typed via the canonical `ReasoningEffort` enum from
|
|
24
|
+
* `shared/AiProxy.ts`. Per-model translation to the right wire
|
|
25
|
+
* shape (Anthropic `thinking.budget_tokens`, OpenAI
|
|
26
|
+
* `reasoning_effort`, Gemini `thinkingConfig.thinkingBudget`,
|
|
27
|
+
* model-id swap, etc.) lives in the ugly.bot proxy's
|
|
28
|
+
* `getThinkingSupport` / `resolveThinking`. Callers don't need to
|
|
29
|
+
* know per-model budget ceilings — they pass the effort level and
|
|
30
|
+
* the proxy figures it out.
|
|
31
|
+
*
|
|
22
32
|
* Set on the in-process textGen() path; the AI proxy plumbs this
|
|
23
33
|
* through from `aiProxyChatRequestSchema.reasoning_effort`.
|
|
24
34
|
*/
|
|
25
|
-
reasoningEffort?:
|
|
35
|
+
reasoningEffort?: ReasoningEffort;
|
|
26
36
|
/**
|
|
27
37
|
* Anthropic-style thinking control — see TextGenChat.thinking.
|
|
28
38
|
* Wins over `reasoningEffort` on Anthropic-compat providers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/ai/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wGAAwG;IACxG,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/ai/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/ai/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/ai/types.ts"],"names":[],"mappings":"AA0NA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEzB;IACA;IAFlB,YACkB,SAAkB,EAClB,WAAmB;QAEnC,KAAK,CAAC,wDAAwD,SAAS,EAAE,CAAC,CAAC;QAH3D,cAAS,GAAT,SAAS,CAAS;QAClB,gBAAW,GAAX,WAAW,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF"}
|
package/dist/shared/AiProxy.d.ts
CHANGED
|
@@ -77,21 +77,45 @@ export declare const aiProxyMessageSchema: z.ZodObject<{
|
|
|
77
77
|
}, z.core.$strip>;
|
|
78
78
|
export type AiProxyMessage = z.infer<typeof aiProxyMessageSchema>;
|
|
79
79
|
/**
|
|
80
|
-
* Reasoning-effort level
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
80
|
+
* Reasoning-effort level — the canonical strongly-typed knob for the
|
|
81
|
+
* "how hard should the model think" axis. Same enum is used at every
|
|
82
|
+
* layer of the stack so studio UI / CLI flag / framework textGen API /
|
|
83
|
+
* ugly.bot wire schema / per-model translator all agree on what's
|
|
84
|
+
* being requested.
|
|
85
|
+
*
|
|
86
|
+
* Per-model handling lives in the ugly.bot proxy
|
|
87
|
+
* (`server/ai/providers/_reasoning.ts` `getThinkingSupport` /
|
|
88
|
+
* `resolveThinking`) — each model in the catalog declares its native
|
|
89
|
+
* shape (`anthropic` thinking budget, `openai-effort` enum, Gemini
|
|
90
|
+
* `thinkingBudget` integer, Gemini-3 `thinkingLevel`, model-id swap,
|
|
91
|
+
* or `unsupported`) and the proxy translates this single enum into
|
|
92
|
+
* the right wire field. Callers that ask for thinking on an
|
|
93
|
+
* unsupported model get `ThinkingNotSupportedError` rather than
|
|
94
|
+
* silent drop — silent drop was the bug that motivated the redesign.
|
|
95
|
+
*
|
|
96
|
+
* - 'off' : caller explicitly wants no thinking. Same effective
|
|
97
|
+
* behavior as omitting the field, but lets a UI render
|
|
98
|
+
* "thinking off" without ambiguity vs unset.
|
|
99
|
+
* - 'low' : minimal thinking budget (Anthropic 1024, etc.)
|
|
100
|
+
* - 'medium' : moderate thinking budget (Anthropic 8192).
|
|
101
|
+
* - 'high' : heavy thinking budget (Anthropic 16384, OpenAI top).
|
|
102
|
+
* - 'max' : provider's documented ceiling (Anthropic 32768,
|
|
103
|
+
* Gemini 2.5 Pro 32768, Gemini 2.5 Flash 24576). Some
|
|
104
|
+
* providers (OpenAI, Gemini-3-level) clamp `max` to
|
|
105
|
+
* their highest enum tier; the proxy surfaces the
|
|
106
|
+
* clamp via `defaultsApplied`.
|
|
87
107
|
*/
|
|
88
108
|
export declare const reasoningEffortSchema: z.ZodEnum<{
|
|
89
109
|
medium: "medium";
|
|
110
|
+
off: "off";
|
|
90
111
|
max: "max";
|
|
91
112
|
low: "low";
|
|
92
113
|
high: "high";
|
|
93
114
|
}>;
|
|
94
115
|
export type ReasoningEffort = z.infer<typeof reasoningEffortSchema>;
|
|
116
|
+
/** Effort levels that turn thinking ON (i.e. all except 'off'). */
|
|
117
|
+
export declare const ENABLED_REASONING_EFFORTS: readonly ["low", "medium", "high", "max"];
|
|
118
|
+
export type EnabledReasoningEffort = (typeof ENABLED_REASONING_EFFORTS)[number];
|
|
95
119
|
/**
|
|
96
120
|
* Anthropic-style thinking control. Mirrors what Claude / DeepSeek-
|
|
97
121
|
* Anthropic-gateway / MiniMax-Anthropic-compat / Kimi / z.ai accept
|
|
@@ -178,6 +202,7 @@ export declare const aiProxyChatRequestSchema: z.ZodObject<{
|
|
|
178
202
|
prompt_cache_key: z.ZodOptional<z.ZodString>;
|
|
179
203
|
reasoning_effort: z.ZodOptional<z.ZodEnum<{
|
|
180
204
|
medium: "medium";
|
|
205
|
+
off: "off";
|
|
181
206
|
max: "max";
|
|
182
207
|
low: "low";
|
|
183
208
|
high: "high";
|
|
@@ -256,6 +281,7 @@ export declare const aiProxyRequestFrameSchema: z.ZodObject<{
|
|
|
256
281
|
prompt_cache_key: z.ZodOptional<z.ZodString>;
|
|
257
282
|
reasoning_effort: z.ZodOptional<z.ZodEnum<{
|
|
258
283
|
medium: "medium";
|
|
284
|
+
off: "off";
|
|
259
285
|
max: "max";
|
|
260
286
|
low: "low";
|
|
261
287
|
high: "high";
|
|
@@ -410,6 +436,7 @@ export declare const aiProxyFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
410
436
|
prompt_cache_key: z.ZodOptional<z.ZodString>;
|
|
411
437
|
reasoning_effort: z.ZodOptional<z.ZodEnum<{
|
|
412
438
|
medium: "medium";
|
|
439
|
+
off: "off";
|
|
413
440
|
max: "max";
|
|
414
441
|
low: "low";
|
|
415
442
|
high: "high";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiProxy.d.ts","sourceRoot":"","sources":["../../src/shared/AiProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAIhE;;;;GAIG;AACH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB;;;;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"AiProxy.d.ts","sourceRoot":"","sources":["../../src/shared/AiProxy.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/AiProxy.js
CHANGED
|
@@ -66,15 +66,48 @@ export const aiProxyMessageSchema = z.object({
|
|
|
66
66
|
cache_control: cacheControlSchema.optional(),
|
|
67
67
|
});
|
|
68
68
|
/**
|
|
69
|
-
* Reasoning-effort level
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
69
|
+
* Reasoning-effort level — the canonical strongly-typed knob for the
|
|
70
|
+
* "how hard should the model think" axis. Same enum is used at every
|
|
71
|
+
* layer of the stack so studio UI / CLI flag / framework textGen API /
|
|
72
|
+
* ugly.bot wire schema / per-model translator all agree on what's
|
|
73
|
+
* being requested.
|
|
74
|
+
*
|
|
75
|
+
* Per-model handling lives in the ugly.bot proxy
|
|
76
|
+
* (`server/ai/providers/_reasoning.ts` `getThinkingSupport` /
|
|
77
|
+
* `resolveThinking`) — each model in the catalog declares its native
|
|
78
|
+
* shape (`anthropic` thinking budget, `openai-effort` enum, Gemini
|
|
79
|
+
* `thinkingBudget` integer, Gemini-3 `thinkingLevel`, model-id swap,
|
|
80
|
+
* or `unsupported`) and the proxy translates this single enum into
|
|
81
|
+
* the right wire field. Callers that ask for thinking on an
|
|
82
|
+
* unsupported model get `ThinkingNotSupportedError` rather than
|
|
83
|
+
* silent drop — silent drop was the bug that motivated the redesign.
|
|
84
|
+
*
|
|
85
|
+
* - 'off' : caller explicitly wants no thinking. Same effective
|
|
86
|
+
* behavior as omitting the field, but lets a UI render
|
|
87
|
+
* "thinking off" without ambiguity vs unset.
|
|
88
|
+
* - 'low' : minimal thinking budget (Anthropic 1024, etc.)
|
|
89
|
+
* - 'medium' : moderate thinking budget (Anthropic 8192).
|
|
90
|
+
* - 'high' : heavy thinking budget (Anthropic 16384, OpenAI top).
|
|
91
|
+
* - 'max' : provider's documented ceiling (Anthropic 32768,
|
|
92
|
+
* Gemini 2.5 Pro 32768, Gemini 2.5 Flash 24576). Some
|
|
93
|
+
* providers (OpenAI, Gemini-3-level) clamp `max` to
|
|
94
|
+
* their highest enum tier; the proxy surfaces the
|
|
95
|
+
* clamp via `defaultsApplied`.
|
|
76
96
|
*/
|
|
77
|
-
export const reasoningEffortSchema = z.enum([
|
|
97
|
+
export const reasoningEffortSchema = z.enum([
|
|
98
|
+
'off',
|
|
99
|
+
'low',
|
|
100
|
+
'medium',
|
|
101
|
+
'high',
|
|
102
|
+
'max',
|
|
103
|
+
]);
|
|
104
|
+
/** Effort levels that turn thinking ON (i.e. all except 'off'). */
|
|
105
|
+
export const ENABLED_REASONING_EFFORTS = [
|
|
106
|
+
'low',
|
|
107
|
+
'medium',
|
|
108
|
+
'high',
|
|
109
|
+
'max',
|
|
110
|
+
];
|
|
78
111
|
/**
|
|
79
112
|
* Anthropic-style thinking control. Mirrors what Claude / DeepSeek-
|
|
80
113
|
* Anthropic-gateway / MiniMax-Anthropic-compat / Kimi / z.ai accept
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiProxy.js","sourceRoot":"","sources":["../../src/shared/AiProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAqB,MAAM,cAAc,CAAC;AAEhE,uEAAuE;AAEvE;;;;GAIG;AACH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;SACP,KAAK,CAAC;QACL,CAAC,CAAC,MAAM,EAAE;QACV,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;YACnD,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE;SAC7C,CAAC,CACH;KACF,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C;;;;;OAKG;IACH,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAGH
|
|
1
|
+
{"version":3,"file":"AiProxy.js","sourceRoot":"","sources":["../../src/shared/AiProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAqB,MAAM,cAAc,CAAC;AAEhE,uEAAuE;AAEvE;;;;GAIG;AACH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;SACP,KAAK,CAAC;QACL,CAAC,CAAC,MAAM,EAAE;QACV,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;YACnD,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE;SAC7C,CAAC,CACH;KACF,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C;;;;;OAKG;IACH,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC1C,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;CACN,CAAC,CAAC;AAEH,mEAAmE;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,KAAK;IACL,QAAQ;IACR,MAAM;IACN,KAAK;CACwC,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAGH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,QAAQ;IACR,MAAM;IACN,MAAM;IACN,UAAU;CACX,CAAC,CAAC;AAGH,sDAAsD;AACtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC;;;;;;OAMG;IACH,mBAAmB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAClD;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC;;;;;OAKG;IACH,gBAAgB,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAClD;;;;;OAKG;IACH,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC1C;;;;;OAKG;IACH,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACtC;;;;;;;OAOG;IACH,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAGH,uEAAuE;AAEvE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,wBAAwB;CAC/B,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;CAClB,CAAC,CAAC;AAGH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,2EAA2E;IAC3E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,wBAAwB;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC;;;;;OAKG;IACH,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B;;;;;;OAMG;IACH,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD;;;;;;;OAOG;IACH,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACrC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACpC,2DAA2D;IAC3D,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;CACH,CAAC,CAAC;AAGH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC7D,yBAAyB;IACzB,uBAAuB;IACvB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC,CAAC;AAGH,uEAAuE;AACvE,oEAAoE;AACpE,kEAAkE;AAClE,wDAAwD;AACxD,kEAAkE;AAClE,wEAAwE;AACxE,6DAA6D;AAE7D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,aAAa,GAA4B,aAAa,CAAC"}
|
package/package.json
CHANGED
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.455";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// Moved from app/server/ai/TextGenBase.ts
|
|
2
2
|
// Base interface and abstract class for text generation.
|
|
3
3
|
|
|
4
|
+
import type { ReasoningEffort } from '../../shared/AiProxy.js';
|
|
5
|
+
|
|
4
6
|
export type ImageMimeType =
|
|
5
7
|
| 'image/jpeg'
|
|
6
8
|
| 'image/png'
|
|
@@ -126,14 +128,19 @@ export interface TextGenChat {
|
|
|
126
128
|
*/
|
|
127
129
|
promptCacheKey?: string;
|
|
128
130
|
/**
|
|
129
|
-
* Coarse reasoning-depth knob.
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
131
|
+
* Coarse reasoning-depth knob. Strongly typed via the canonical
|
|
132
|
+
* `ReasoningEffort` enum from `shared/AiProxy.ts`. Per-model
|
|
133
|
+
* translation to the native wire field (Anthropic
|
|
134
|
+
* `thinking.budget_tokens`, OpenAI `reasoning_effort`, Gemini
|
|
135
|
+
* `thinkingConfig.thinkingBudget`, model-id swap, etc.) lives in
|
|
136
|
+
* the ugly.bot proxy's `getThinkingSupport` /
|
|
137
|
+
* `resolveThinking` helpers. Callers pass the effort and the
|
|
138
|
+
* proxy figures out the right shape per model. Models without a
|
|
139
|
+
* thinking surface throw `ThinkingNotSupportedError` rather than
|
|
140
|
+
* silently dropping the request — silent drop was the bug the
|
|
141
|
+
* redesign targets.
|
|
135
142
|
*/
|
|
136
|
-
reasoningEffort?:
|
|
143
|
+
reasoningEffort?: ReasoningEffort;
|
|
137
144
|
/**
|
|
138
145
|
* Anthropic-style thinking-block control. Wins over
|
|
139
146
|
* `reasoningEffort` on Anthropic-compat providers — useful for the
|
package/src/server/ai/types.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/server/ai/types.ts
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import type { ImageGenModel } from '../../shared/ImageGen.js';
|
|
4
|
+
import type { ReasoningEffort } from '../../shared/AiProxy.js';
|
|
4
5
|
import type {
|
|
5
6
|
Message,
|
|
6
7
|
TextGenModel,
|
|
@@ -26,10 +27,19 @@ export interface TextGenOptions {
|
|
|
26
27
|
promptCacheKey?: string;
|
|
27
28
|
/**
|
|
28
29
|
* Coarse reasoning-depth knob — see TextGenChat.reasoningEffort.
|
|
30
|
+
* Strongly typed via the canonical `ReasoningEffort` enum from
|
|
31
|
+
* `shared/AiProxy.ts`. Per-model translation to the right wire
|
|
32
|
+
* shape (Anthropic `thinking.budget_tokens`, OpenAI
|
|
33
|
+
* `reasoning_effort`, Gemini `thinkingConfig.thinkingBudget`,
|
|
34
|
+
* model-id swap, etc.) lives in the ugly.bot proxy's
|
|
35
|
+
* `getThinkingSupport` / `resolveThinking`. Callers don't need to
|
|
36
|
+
* know per-model budget ceilings — they pass the effort level and
|
|
37
|
+
* the proxy figures it out.
|
|
38
|
+
*
|
|
29
39
|
* Set on the in-process textGen() path; the AI proxy plumbs this
|
|
30
40
|
* through from `aiProxyChatRequestSchema.reasoning_effort`.
|
|
31
41
|
*/
|
|
32
|
-
reasoningEffort?:
|
|
42
|
+
reasoningEffort?: ReasoningEffort;
|
|
33
43
|
/**
|
|
34
44
|
* Anthropic-style thinking control — see TextGenChat.thinking.
|
|
35
45
|
* Wins over `reasoningEffort` on Anthropic-compat providers.
|
package/src/shared/AiProxy.ts
CHANGED
|
@@ -75,16 +75,50 @@ export const aiProxyMessageSchema = z.object({
|
|
|
75
75
|
export type AiProxyMessage = z.infer<typeof aiProxyMessageSchema>;
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
|
-
* Reasoning-effort level
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
78
|
+
* Reasoning-effort level — the canonical strongly-typed knob for the
|
|
79
|
+
* "how hard should the model think" axis. Same enum is used at every
|
|
80
|
+
* layer of the stack so studio UI / CLI flag / framework textGen API /
|
|
81
|
+
* ugly.bot wire schema / per-model translator all agree on what's
|
|
82
|
+
* being requested.
|
|
83
|
+
*
|
|
84
|
+
* Per-model handling lives in the ugly.bot proxy
|
|
85
|
+
* (`server/ai/providers/_reasoning.ts` `getThinkingSupport` /
|
|
86
|
+
* `resolveThinking`) — each model in the catalog declares its native
|
|
87
|
+
* shape (`anthropic` thinking budget, `openai-effort` enum, Gemini
|
|
88
|
+
* `thinkingBudget` integer, Gemini-3 `thinkingLevel`, model-id swap,
|
|
89
|
+
* or `unsupported`) and the proxy translates this single enum into
|
|
90
|
+
* the right wire field. Callers that ask for thinking on an
|
|
91
|
+
* unsupported model get `ThinkingNotSupportedError` rather than
|
|
92
|
+
* silent drop — silent drop was the bug that motivated the redesign.
|
|
93
|
+
*
|
|
94
|
+
* - 'off' : caller explicitly wants no thinking. Same effective
|
|
95
|
+
* behavior as omitting the field, but lets a UI render
|
|
96
|
+
* "thinking off" without ambiguity vs unset.
|
|
97
|
+
* - 'low' : minimal thinking budget (Anthropic 1024, etc.)
|
|
98
|
+
* - 'medium' : moderate thinking budget (Anthropic 8192).
|
|
99
|
+
* - 'high' : heavy thinking budget (Anthropic 16384, OpenAI top).
|
|
100
|
+
* - 'max' : provider's documented ceiling (Anthropic 32768,
|
|
101
|
+
* Gemini 2.5 Pro 32768, Gemini 2.5 Flash 24576). Some
|
|
102
|
+
* providers (OpenAI, Gemini-3-level) clamp `max` to
|
|
103
|
+
* their highest enum tier; the proxy surfaces the
|
|
104
|
+
* clamp via `defaultsApplied`.
|
|
85
105
|
*/
|
|
86
|
-
export const reasoningEffortSchema = z.enum([
|
|
106
|
+
export const reasoningEffortSchema = z.enum([
|
|
107
|
+
'off',
|
|
108
|
+
'low',
|
|
109
|
+
'medium',
|
|
110
|
+
'high',
|
|
111
|
+
'max',
|
|
112
|
+
]);
|
|
87
113
|
export type ReasoningEffort = z.infer<typeof reasoningEffortSchema>;
|
|
114
|
+
/** Effort levels that turn thinking ON (i.e. all except 'off'). */
|
|
115
|
+
export const ENABLED_REASONING_EFFORTS = [
|
|
116
|
+
'low',
|
|
117
|
+
'medium',
|
|
118
|
+
'high',
|
|
119
|
+
'max',
|
|
120
|
+
] as const satisfies readonly ReasoningEffort[];
|
|
121
|
+
export type EnabledReasoningEffort = (typeof ENABLED_REASONING_EFFORTS)[number];
|
|
88
122
|
|
|
89
123
|
/**
|
|
90
124
|
* Anthropic-style thinking control. Mirrors what Claude / DeepSeek-
|