veryfront 0.1.201 → 0.1.202
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/esm/deno.js +1 -1
- package/esm/src/agent/runtime/default-provider-options.d.ts +11 -0
- package/esm/src/agent/runtime/default-provider-options.d.ts.map +1 -0
- package/esm/src/agent/runtime/default-provider-options.js +45 -0
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +2 -1
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
- package/src/deno.js +1 -1
- package/src/src/agent/runtime/default-provider-options.ts +52 -0
- package/src/src/agent/runtime/index.ts +5 -1
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-default `providerOptions` for known providers.
|
|
3
|
+
*
|
|
4
|
+
* Currently: enable Anthropic extended thinking by default for any
|
|
5
|
+
* Anthropic model, since the `reasoning-*` event surface in this framework
|
|
6
|
+
* relies on the provider-side feature being on. Apps can override or opt
|
|
7
|
+
* out by returning their own `providerOptions.anthropic.thinking` from
|
|
8
|
+
* `AgentConfig.resolveModelTransport`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveProviderOptionsWithDefaults(modelString: string, existing: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
|
|
11
|
+
//# sourceMappingURL=default-provider-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-provider-options.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/default-provider-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAoBrC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-default `providerOptions` for known providers.
|
|
3
|
+
*
|
|
4
|
+
* Currently: enable Anthropic extended thinking by default for any
|
|
5
|
+
* Anthropic model, since the `reasoning-*` event surface in this framework
|
|
6
|
+
* relies on the provider-side feature being on. Apps can override or opt
|
|
7
|
+
* out by returning their own `providerOptions.anthropic.thinking` from
|
|
8
|
+
* `AgentConfig.resolveModelTransport`.
|
|
9
|
+
*/
|
|
10
|
+
const VERYFRONT_CLOUD_PREFIX = "veryfront-cloud/";
|
|
11
|
+
const ANTHROPIC_PREFIX = "anthropic/";
|
|
12
|
+
const DEFAULT_ANTHROPIC_THINKING_BUDGET_TOKENS = 2048;
|
|
13
|
+
function isAnthropicModel(modelString) {
|
|
14
|
+
const normalized = modelString.startsWith(VERYFRONT_CLOUD_PREFIX)
|
|
15
|
+
? modelString.slice(VERYFRONT_CLOUD_PREFIX.length)
|
|
16
|
+
: modelString;
|
|
17
|
+
return normalized.startsWith(ANTHROPIC_PREFIX);
|
|
18
|
+
}
|
|
19
|
+
function hasAnthropicThinkingConfig(existing) {
|
|
20
|
+
if (!existing || typeof existing !== "object")
|
|
21
|
+
return false;
|
|
22
|
+
const anthropic = existing.anthropic;
|
|
23
|
+
if (!anthropic || typeof anthropic !== "object")
|
|
24
|
+
return false;
|
|
25
|
+
return "thinking" in anthropic;
|
|
26
|
+
}
|
|
27
|
+
export function resolveProviderOptionsWithDefaults(modelString, existing) {
|
|
28
|
+
if (!isAnthropicModel(modelString)) {
|
|
29
|
+
return existing;
|
|
30
|
+
}
|
|
31
|
+
if (hasAnthropicThinkingConfig(existing)) {
|
|
32
|
+
return existing;
|
|
33
|
+
}
|
|
34
|
+
const existingAnthropic = (existing?.anthropic ?? {});
|
|
35
|
+
return {
|
|
36
|
+
...(existing ?? {}),
|
|
37
|
+
anthropic: {
|
|
38
|
+
// Defaults first; host-supplied fields (e.g. temperature) override them.
|
|
39
|
+
// Only `thinking` is forced because we already confirmed it isn't set.
|
|
40
|
+
temperature: 1,
|
|
41
|
+
...existingAnthropic,
|
|
42
|
+
thinking: { type: "enabled", budget_tokens: DEFAULT_ANTHROPIC_THINKING_BUDGET_TOKENS },
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAGlB,KAAK,OAAO,EAGZ,KAAK,QAAQ,EACb,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import { serverLogger } from "../../utils/index.js";
|
|
|
19
19
|
import { addSpanEvent, setSpanAttributes, withSpan, } from "../../observability/tracing/index.js";
|
|
20
20
|
import { convertToModelMessages } from "./model-message-converter.js";
|
|
21
21
|
import { convertToolsToRuntimeTools } from "./model-tool-converter.js";
|
|
22
|
+
import { resolveProviderOptionsWithDefaults } from "./default-provider-options.js";
|
|
22
23
|
import { createStreamState, processStream, } from "./chat-stream-handler.js";
|
|
23
24
|
import { repairToolCall } from "./repair-tool-call.js";
|
|
24
25
|
import { MiddlewareChain } from "../middleware/chain.js";
|
|
@@ -178,7 +179,7 @@ export class AgentRuntime {
|
|
|
178
179
|
resolvedModelString,
|
|
179
180
|
languageModel: transport?.model ?? resolveModel(resolvedModelString),
|
|
180
181
|
headers: transport?.headers,
|
|
181
|
-
providerOptions: transport?.providerOptions,
|
|
182
|
+
providerOptions: resolveProviderOptionsWithDefaults(resolvedModelString, transport?.providerOptions),
|
|
182
183
|
};
|
|
183
184
|
}
|
|
184
185
|
async resolveRuntimeState(messages, context, mode, step, systemPrompt) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.202";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework-default `providerOptions` for known providers.
|
|
3
|
+
*
|
|
4
|
+
* Currently: enable Anthropic extended thinking by default for any
|
|
5
|
+
* Anthropic model, since the `reasoning-*` event surface in this framework
|
|
6
|
+
* relies on the provider-side feature being on. Apps can override or opt
|
|
7
|
+
* out by returning their own `providerOptions.anthropic.thinking` from
|
|
8
|
+
* `AgentConfig.resolveModelTransport`.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const VERYFRONT_CLOUD_PREFIX = "veryfront-cloud/";
|
|
12
|
+
const ANTHROPIC_PREFIX = "anthropic/";
|
|
13
|
+
const DEFAULT_ANTHROPIC_THINKING_BUDGET_TOKENS = 2048;
|
|
14
|
+
|
|
15
|
+
function isAnthropicModel(modelString: string): boolean {
|
|
16
|
+
const normalized = modelString.startsWith(VERYFRONT_CLOUD_PREFIX)
|
|
17
|
+
? modelString.slice(VERYFRONT_CLOUD_PREFIX.length)
|
|
18
|
+
: modelString;
|
|
19
|
+
return normalized.startsWith(ANTHROPIC_PREFIX);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function hasAnthropicThinkingConfig(existing: Record<string, unknown> | undefined): boolean {
|
|
23
|
+
if (!existing || typeof existing !== "object") return false;
|
|
24
|
+
const anthropic = (existing as { anthropic?: unknown }).anthropic;
|
|
25
|
+
if (!anthropic || typeof anthropic !== "object") return false;
|
|
26
|
+
return "thinking" in (anthropic as Record<string, unknown>);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function resolveProviderOptionsWithDefaults(
|
|
30
|
+
modelString: string,
|
|
31
|
+
existing: Record<string, unknown> | undefined,
|
|
32
|
+
): Record<string, unknown> | undefined {
|
|
33
|
+
if (!isAnthropicModel(modelString)) {
|
|
34
|
+
return existing;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (hasAnthropicThinkingConfig(existing)) {
|
|
38
|
+
return existing;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const existingAnthropic = (existing?.anthropic ?? {}) as Record<string, unknown>;
|
|
42
|
+
return {
|
|
43
|
+
...(existing ?? {}),
|
|
44
|
+
anthropic: {
|
|
45
|
+
// Defaults first; host-supplied fields (e.g. temperature) override them.
|
|
46
|
+
// Only `thinking` is forced because we already confirmed it isn't set.
|
|
47
|
+
temperature: 1,
|
|
48
|
+
...existingAnthropic,
|
|
49
|
+
thinking: { type: "enabled", budget_tokens: DEFAULT_ANTHROPIC_THINKING_BUDGET_TOKENS },
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
} from "../../observability/tracing/index.js";
|
|
36
36
|
import { convertToModelMessages } from "./model-message-converter.js";
|
|
37
37
|
import { convertToolsToRuntimeTools } from "./model-tool-converter.js";
|
|
38
|
+
import { resolveProviderOptionsWithDefaults } from "./default-provider-options.js";
|
|
38
39
|
import {
|
|
39
40
|
type ChatStreamState,
|
|
40
41
|
createStreamState,
|
|
@@ -313,7 +314,10 @@ export class AgentRuntime {
|
|
|
313
314
|
resolvedModelString,
|
|
314
315
|
languageModel: transport?.model ?? resolveModel(resolvedModelString),
|
|
315
316
|
headers: transport?.headers,
|
|
316
|
-
providerOptions:
|
|
317
|
+
providerOptions: resolveProviderOptionsWithDefaults(
|
|
318
|
+
resolvedModelString,
|
|
319
|
+
transport?.providerOptions,
|
|
320
|
+
),
|
|
317
321
|
};
|
|
318
322
|
}
|
|
319
323
|
|