hoomanjs 1.32.0 → 1.34.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/README.md +81 -264
- package/dist/acp/sessions/options.js +2 -2
- package/dist/acp/sessions/options.js.map +1 -1
- package/dist/acp/utils/tool-kind.js +1 -1
- package/dist/acp/utils/tool-kind.js.map +1 -1
- package/dist/acp/utils/tool-locations.js +1 -1
- package/dist/acp/utils/tool-locations.js.map +1 -1
- package/dist/chat/app.js +5 -19
- package/dist/chat/app.js.map +1 -1
- package/dist/chat/components/ChromePicker.js +1 -1
- package/dist/chat/components/ChromePicker.js.map +1 -1
- package/dist/chat/index.js.map +1 -1
- package/dist/configure/app.js +1000 -387
- package/dist/configure/app.js.map +1 -1
- package/dist/configure/index.js.map +1 -1
- package/dist/configure/types.d.ts +18 -0
- package/dist/core/agent/index.js +6 -4
- package/dist/core/agent/index.js.map +1 -1
- package/dist/core/config.d.ts +310 -80
- package/dist/core/config.js +93 -209
- package/dist/core/config.js.map +1 -1
- package/dist/core/mcp/manager.js +1 -1
- package/dist/core/mcp/manager.js.map +1 -1
- package/dist/core/mcp/oauth/provider.js.map +1 -1
- package/dist/core/mcp/prefixed-mcp-tool.d.ts +0 -1
- package/dist/core/mcp/prefixed-mcp-tool.js +0 -2
- package/dist/core/mcp/prefixed-mcp-tool.js.map +1 -1
- package/dist/core/models/anthropic.d.ts +3 -12
- package/dist/core/models/anthropic.js +20 -91
- package/dist/core/models/anthropic.js.map +1 -1
- package/dist/core/models/azure.d.ts +4 -0
- package/dist/core/models/azure.js +26 -0
- package/dist/core/models/azure.js.map +1 -0
- package/dist/core/models/bedrock.d.ts +3 -20
- package/dist/core/models/bedrock.js +22 -18
- package/dist/core/models/bedrock.js.map +1 -1
- package/dist/core/models/google.d.ts +2 -9
- package/dist/core/models/google.js +12 -31
- package/dist/core/models/google.js.map +1 -1
- package/dist/core/models/groq.d.ts +2 -9
- package/dist/core/models/groq.js +15 -25
- package/dist/core/models/groq.js.map +1 -1
- package/dist/core/models/index.d.ts +2 -1
- package/dist/core/models/index.js +3 -0
- package/dist/core/models/index.js.map +1 -1
- package/dist/core/models/minimax.d.ts +2 -0
- package/dist/core/models/minimax.js +11 -0
- package/dist/core/models/minimax.js.map +1 -0
- package/dist/core/models/moonshot.d.ts +2 -10
- package/dist/core/models/moonshot.js +23 -38
- package/dist/core/models/moonshot.js.map +1 -1
- package/dist/core/models/ollama/index.d.ts +2 -1
- package/dist/core/models/ollama/index.js +14 -3
- package/dist/core/models/ollama/index.js.map +1 -1
- package/dist/core/models/openai.d.ts +3 -4
- package/dist/core/models/openai.js +20 -3
- package/dist/core/models/openai.js.map +1 -1
- package/dist/core/models/openrouter.d.ts +4 -0
- package/dist/core/models/openrouter.js +23 -0
- package/dist/core/models/openrouter.js.map +1 -0
- package/dist/core/models/types.d.ts +346 -0
- package/dist/core/models/types.js +220 -0
- package/dist/core/models/types.js.map +1 -0
- package/dist/core/models/xai.d.ts +2 -9
- package/dist/core/models/xai.js +15 -25
- package/dist/core/models/xai.js.map +1 -1
- package/dist/core/modes/definitions.js +2 -2
- package/dist/core/modes/definitions.js.map +1 -1
- package/dist/core/prompts/harness/behaviour.md +10 -16
- package/dist/core/prompts/harness/communication.md +10 -19
- package/dist/core/prompts/harness/execution.md +8 -22
- package/dist/core/prompts/harness/guardrails.md +11 -18
- package/dist/core/prompts/modes/ask.md +6 -17
- package/dist/core/prompts/modes/plan.md +8 -25
- package/dist/core/prompts/runtime.js +2 -1
- package/dist/core/prompts/runtime.js.map +1 -1
- package/dist/core/prompts/static/filesystem.md +6 -36
- package/dist/core/prompts/static/planning.md +9 -32
- package/dist/core/prompts/static/shell.md +7 -30
- package/dist/core/prompts/static/skills.md +5 -16
- package/dist/core/prompts/static/web-search.md +6 -41
- package/dist/core/ripgrep/bootstrap.d.ts +1 -0
- package/dist/core/ripgrep/bootstrap.js +191 -0
- package/dist/core/ripgrep/bootstrap.js.map +1 -0
- package/dist/core/ripgrep/exec.d.ts +38 -0
- package/dist/core/ripgrep/exec.js +320 -0
- package/dist/core/ripgrep/exec.js.map +1 -0
- package/dist/core/ripgrep/index.d.ts +2 -0
- package/dist/core/ripgrep/index.js +3 -0
- package/dist/core/ripgrep/index.js.map +1 -0
- package/dist/core/ripgrep/tool.d.ts +18 -0
- package/dist/core/ripgrep/tool.js +101 -0
- package/dist/core/ripgrep/tool.js.map +1 -0
- package/dist/core/skills/built-in/hooman-config/SKILL.md +87 -193
- package/dist/core/state/tool-approvals.js +1 -1
- package/dist/core/state/tool-approvals.js.map +1 -1
- package/dist/core/subagents/research.js +1 -1
- package/dist/core/subagents/research.js.map +1 -1
- package/dist/core/subagents/runner.js +1 -1
- package/dist/core/subagents/runner.js.map +1 -1
- package/dist/core/tools/filesystem.d.ts +0 -5
- package/dist/core/tools/filesystem.js +4 -69
- package/dist/core/tools/filesystem.js.map +1 -1
- package/dist/core/tools/grep.d.ts +1 -0
- package/dist/core/tools/grep.js +2 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +1 -0
- package/dist/core/tools/index.js +1 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/shell.js.map +1 -1
- package/dist/core/utils/paths.d.ts +3 -0
- package/dist/core/utils/paths.js +3 -0
- package/dist/core/utils/paths.js.map +1 -1
- package/dist/core/utils/ripgrep.d.ts +1 -0
- package/dist/core/utils/ripgrep.js +2 -0
- package/dist/core/utils/ripgrep.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
|
@@ -1,102 +1,31 @@
|
|
|
1
1
|
import { AnthropicModel } from "@strands-agents/sdk/models/anthropic";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"temperature",
|
|
12
|
-
"topP",
|
|
13
|
-
"maxTokens",
|
|
14
|
-
"stopSequences",
|
|
15
|
-
"params",
|
|
16
|
-
"betas",
|
|
17
|
-
"useNativeTokenCount",
|
|
18
|
-
]);
|
|
19
|
-
function pickModelOptions(params) {
|
|
20
|
-
const out = {};
|
|
21
|
-
for (const [k, v] of Object.entries(params)) {
|
|
22
|
-
if (!RESERVED.has(k) && TOP_LEVEL_MODEL_KEYS.has(k)) {
|
|
23
|
-
out[k] = v;
|
|
2
|
+
export function create(providerOptions, llmOptions) {
|
|
3
|
+
const clientConfig = providerOptions.baseURL || providerOptions.headers
|
|
4
|
+
? {
|
|
5
|
+
...(providerOptions.baseURL
|
|
6
|
+
? { baseURL: providerOptions.baseURL }
|
|
7
|
+
: {}),
|
|
8
|
+
...(providerOptions.headers
|
|
9
|
+
? { defaultHeaders: providerOptions.headers }
|
|
10
|
+
: {}),
|
|
24
11
|
}
|
|
25
|
-
}
|
|
26
|
-
return out;
|
|
27
|
-
}
|
|
28
|
-
function pickRequestParams(params) {
|
|
29
|
-
const explicit = params.params;
|
|
30
|
-
const out = explicit && typeof explicit === "object" && !Array.isArray(explicit)
|
|
31
|
-
? { ...explicit }
|
|
32
|
-
: {};
|
|
33
|
-
for (const [k, v] of Object.entries(params)) {
|
|
34
|
-
if (!RESERVED.has(k) && !TOP_LEVEL_MODEL_KEYS.has(k)) {
|
|
35
|
-
out[k] = v;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return out;
|
|
39
|
-
}
|
|
40
|
-
function resolveApiKey(params) {
|
|
41
|
-
const k = params.apiKey;
|
|
42
|
-
const t = params.authToken;
|
|
43
|
-
if (typeof k === "string" && k.length > 0) {
|
|
44
|
-
return k;
|
|
45
|
-
}
|
|
46
|
-
if (typeof t === "string" && t.length > 0) {
|
|
47
|
-
return t;
|
|
48
|
-
}
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
function mergeClientConfig(params) {
|
|
52
|
-
const explicit = params.clientConfig;
|
|
53
|
-
const baseURL = typeof params.baseURL === "string" && params.baseURL.length > 0
|
|
54
|
-
? params.baseURL
|
|
55
12
|
: undefined;
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
typeof headers === "object" &&
|
|
59
|
-
headers !== null &&
|
|
60
|
-
!Array.isArray(headers)
|
|
61
|
-
? headers
|
|
13
|
+
const params = providerOptions.thinking !== undefined
|
|
14
|
+
? { thinking: { type: providerOptions.thinking } }
|
|
62
15
|
: undefined;
|
|
63
|
-
if (!explicit && !baseURL && !defaultHeaders) {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
return {
|
|
67
|
-
...explicit,
|
|
68
|
-
...(baseURL ? { baseURL } : {}),
|
|
69
|
-
...(defaultHeaders
|
|
70
|
-
? {
|
|
71
|
-
defaultHeaders: {
|
|
72
|
-
...explicit?.defaultHeaders,
|
|
73
|
-
...defaultHeaders,
|
|
74
|
-
},
|
|
75
|
-
}
|
|
76
|
-
: {}),
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Anthropic via Strands {@link AnthropicModel} (Messages API).
|
|
81
|
-
*
|
|
82
|
-
* - **`config.llm.model`**: Claude model id (e.g. `claude-sonnet-4-20250514`).
|
|
83
|
-
* - **`params`**: `apiKey` or `authToken`, optional `baseURL` / `headers` (merged into `clientConfig`),
|
|
84
|
-
* optional `clientConfig`, plus model fields (`temperature`, `maxTokens`, `topP`, `stopSequences`, `params`, …).
|
|
85
|
-
* If no key is set, `ANTHROPIC_API_KEY` is used.
|
|
86
|
-
*/
|
|
87
|
-
export function create(model, params = {}) {
|
|
88
|
-
const apiKey = resolveApiKey(params);
|
|
89
|
-
const clientConfig = mergeClientConfig(params);
|
|
90
|
-
const modelOpts = pickModelOptions(params);
|
|
91
|
-
const requestParams = pickRequestParams(params);
|
|
92
16
|
return new AnthropicModel({
|
|
93
|
-
modelId: model,
|
|
94
|
-
...(apiKey ? { apiKey } : {}),
|
|
17
|
+
modelId: llmOptions.model,
|
|
18
|
+
...(providerOptions.apiKey ? { apiKey: providerOptions.apiKey } : {}),
|
|
95
19
|
...(clientConfig && Object.keys(clientConfig).length > 0
|
|
96
20
|
? { clientConfig }
|
|
97
21
|
: {}),
|
|
98
|
-
...
|
|
99
|
-
|
|
22
|
+
...(llmOptions.temperature !== undefined
|
|
23
|
+
? { temperature: llmOptions.temperature }
|
|
24
|
+
: {}),
|
|
25
|
+
...(llmOptions.maxTokens !== undefined
|
|
26
|
+
? { maxTokens: llmOptions.maxTokens }
|
|
27
|
+
: {}),
|
|
28
|
+
...(params ? { params } : {}),
|
|
100
29
|
});
|
|
101
30
|
}
|
|
102
31
|
//# sourceMappingURL=anthropic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtE,MAAM,UAAU,MAAM,CACpB,eAAyC,EACzC,UAAsB;IAEtB,MAAM,YAAY,GAChB,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO;QAChD,CAAC,CAAC;YACE,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,MAAM,GACV,eAAe,CAAC,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE;QAClD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,IAAI,cAAc,CAAC;QACxB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,EAAE,YAAY,EAAE;YAClB,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
2
|
+
import type { AzureProviderOptions, LlmOptions } from "./types.js";
|
|
3
|
+
export type AzureModelParams = AzureProviderOptions & LlmOptions;
|
|
4
|
+
export declare function create(providerOptions: AzureProviderOptions, llmOptions: LlmOptions): VercelModel;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createAzure, azure } from "@ai-sdk/azure";
|
|
2
|
+
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
3
|
+
export function create(providerOptions, llmOptions) {
|
|
4
|
+
const settings = Object.fromEntries(Object.entries({
|
|
5
|
+
resourceName: providerOptions.resourceName,
|
|
6
|
+
baseURL: providerOptions.baseURL,
|
|
7
|
+
apiKey: providerOptions.apiKey,
|
|
8
|
+
headers: providerOptions.headers,
|
|
9
|
+
apiVersion: providerOptions.apiVersion,
|
|
10
|
+
useDeploymentBasedUrls: providerOptions.useDeploymentBasedUrls,
|
|
11
|
+
}).filter((entry) => entry[1] !== undefined));
|
|
12
|
+
const provider = Object.keys(settings).length > 0 ? createAzure(settings) : azure;
|
|
13
|
+
const config = {
|
|
14
|
+
...(llmOptions.temperature !== undefined
|
|
15
|
+
? { temperature: llmOptions.temperature }
|
|
16
|
+
: {}),
|
|
17
|
+
...(llmOptions.maxTokens !== undefined
|
|
18
|
+
? { maxTokens: llmOptions.maxTokens }
|
|
19
|
+
: {}),
|
|
20
|
+
};
|
|
21
|
+
return new VercelModel({
|
|
22
|
+
provider: provider(llmOptions.model),
|
|
23
|
+
...config,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=azure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../src/core/models/azure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAMhE,MAAM,UAAU,MAAM,CACpB,eAAqC,EACrC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,sBAAsB,EAAE,eAAe,CAAC,sBAAsB;KAC/D,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACd,CAAC;IACjC,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import type { BedrockRuntimeClientConfig } from "@aws-sdk/client-bedrock-runtime";
|
|
2
1
|
import { BedrockModel } from "@strands-agents/sdk/models/bedrock";
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
* - **`region`**: AWS region (default `us-west-2`).
|
|
8
|
-
* - **`clientConfig`**: passed to the Bedrock Runtime client (credentials, profile, etc.).
|
|
9
|
-
* See AWS SDK v3 docs for credential options.
|
|
10
|
-
* - **`apiKey`**: optional Bedrock API key auth (bearer), if used instead of SigV4.
|
|
11
|
-
* - Any other keys are forwarded as Bedrock model config (e.g. `maxTokens`, `temperature`,
|
|
12
|
-
* `stream`, `cacheConfig`).
|
|
13
|
-
*
|
|
14
|
-
* `config.llm.model` is always used as `modelId`.
|
|
15
|
-
*/
|
|
16
|
-
export type BedrockLlmParams = Omit<BedrockModelOptions, "modelId" | "region" | "clientConfig" | "apiKey"> & {
|
|
17
|
-
region?: string;
|
|
18
|
-
clientConfig?: BedrockRuntimeClientConfig;
|
|
19
|
-
apiKey?: string;
|
|
20
|
-
};
|
|
21
|
-
export declare function create(model: string, params?: Record<string, unknown>): BedrockModel;
|
|
2
|
+
import type { BedrockProviderOptions, LlmOptions } from "./types.js";
|
|
3
|
+
export type BedrockLlmParams = BedrockProviderOptions & LlmOptions;
|
|
4
|
+
export declare function create(providerOptions: BedrockProviderOptions, llmOptions: LlmOptions): BedrockModel;
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import { BedrockModel } from "@strands-agents/sdk/models/bedrock";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (!TOP_LEVEL_KEYS.has(key)) {
|
|
13
|
-
modelOptions[key] = value;
|
|
14
|
-
}
|
|
2
|
+
export function create(providerOptions, llmOptions) {
|
|
3
|
+
const clientConfig = {};
|
|
4
|
+
if (providerOptions.accessKeyId && providerOptions.secretAccessKey) {
|
|
5
|
+
clientConfig.credentials = {
|
|
6
|
+
accessKeyId: providerOptions.accessKeyId,
|
|
7
|
+
secretAccessKey: providerOptions.secretAccessKey,
|
|
8
|
+
...(providerOptions.sessionToken
|
|
9
|
+
? { sessionToken: providerOptions.sessionToken }
|
|
10
|
+
: {}),
|
|
11
|
+
};
|
|
15
12
|
}
|
|
16
13
|
return new BedrockModel({
|
|
17
|
-
modelId: model,
|
|
18
|
-
region,
|
|
19
|
-
...(clientConfig ? { clientConfig } : {}),
|
|
20
|
-
...(apiKey !== undefined
|
|
21
|
-
|
|
14
|
+
modelId: llmOptions.model,
|
|
15
|
+
region: providerOptions.region ?? "us-west-2",
|
|
16
|
+
...(Object.keys(clientConfig).length > 0 ? { clientConfig } : {}),
|
|
17
|
+
...(providerOptions.apiKey !== undefined
|
|
18
|
+
? { apiKey: providerOptions.apiKey }
|
|
19
|
+
: {}),
|
|
20
|
+
...(llmOptions.temperature !== undefined
|
|
21
|
+
? { temperature: llmOptions.temperature }
|
|
22
|
+
: {}),
|
|
23
|
+
...(llmOptions.maxTokens !== undefined
|
|
24
|
+
? { maxTokens: llmOptions.maxTokens }
|
|
25
|
+
: {}),
|
|
22
26
|
});
|
|
23
27
|
}
|
|
24
28
|
//# sourceMappingURL=bedrock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/core/models/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/core/models/bedrock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAMlE,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,MAAM,YAAY,GAA+B,EAAE,CAAC;IACpD,IAAI,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;QACnE,YAAY,CAAC,WAAW,GAAG;YACzB,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,eAAe,EAAE,eAAe,CAAC,eAAe;YAChD,GAAG,CAAC,eAAe,CAAC,YAAY;gBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,MAAM,EAAE,eAAe,CAAC,MAAM,IAAI,WAAW;QAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACe,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
import { GoogleModel } from "@strands-agents/sdk/models/google";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* - **`config.llm.model`**: Gemini id (e.g. `gemini-2.5-flash`).
|
|
6
|
-
* - **`params`**: Optional `apiKey` (defaults to `GEMINI_API_KEY`), or `client` / `clientConfig`
|
|
7
|
-
* for a custom Google GenAI client. Any other keys are sent as `params` to the API
|
|
8
|
-
* (`temperature`, `maxOutputTokens`, `topP`, `topK`, …).
|
|
9
|
-
*/
|
|
10
|
-
export declare function create(model: string, params?: Record<string, unknown>): GoogleModel;
|
|
2
|
+
import type { GoogleProviderOptions, LlmOptions } from "./types.js";
|
|
3
|
+
export declare function create(providerOptions: GoogleProviderOptions, llmOptions: LlmOptions): GoogleModel;
|
|
@@ -1,36 +1,17 @@
|
|
|
1
1
|
import { GoogleModel } from "@strands-agents/sdk/models/google";
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"client",
|
|
12
|
-
"clientConfig",
|
|
13
|
-
"builtInTools",
|
|
14
|
-
];
|
|
15
|
-
function omitUndefined(record) {
|
|
16
|
-
const unset = Object.keys(record).filter((k) => record[k] === undefined);
|
|
17
|
-
return omit(record, unset);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Google Gemini via Strands {@link GoogleModel} (`@google/genai` under the hood).
|
|
21
|
-
*
|
|
22
|
-
* - **`config.llm.model`**: Gemini id (e.g. `gemini-2.5-flash`).
|
|
23
|
-
* - **`params`**: Optional `apiKey` (defaults to `GEMINI_API_KEY`), or `client` / `clientConfig`
|
|
24
|
-
* for a custom Google GenAI client. Any other keys are sent as `params` to the API
|
|
25
|
-
* (`temperature`, `maxOutputTokens`, `topP`, `topK`, …).
|
|
26
|
-
*/
|
|
27
|
-
export function create(model, params = {}) {
|
|
28
|
-
const top = omitUndefined(pick(params, [...TOP_LEVEL_KEYS]));
|
|
29
|
-
const filtered = omitUndefined(omit(params, [...TOP_LEVEL_KEYS]));
|
|
2
|
+
export function create(providerOptions, llmOptions) {
|
|
3
|
+
const params = {
|
|
4
|
+
...(llmOptions.temperature !== undefined
|
|
5
|
+
? { temperature: llmOptions.temperature }
|
|
6
|
+
: {}),
|
|
7
|
+
...(llmOptions.maxTokens !== undefined
|
|
8
|
+
? { maxOutputTokens: llmOptions.maxTokens }
|
|
9
|
+
: {}),
|
|
10
|
+
};
|
|
30
11
|
return new GoogleModel({
|
|
31
|
-
modelId: model,
|
|
32
|
-
...
|
|
33
|
-
...(Object.keys(
|
|
12
|
+
modelId: llmOptions.model,
|
|
13
|
+
...(providerOptions.apiKey ? { apiKey: providerOptions.apiKey } : {}),
|
|
14
|
+
...(Object.keys(params).length > 0 ? { params } : {}),
|
|
34
15
|
});
|
|
35
16
|
}
|
|
36
17
|
//# sourceMappingURL=google.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/core/models/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/core/models/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIhE,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,SAAS,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* - **`config.llm.model`**: model id passed to `groq(...)` (e.g. `gemma2-9b-it`).
|
|
6
|
-
* - **`params`**: {@link GroqProviderSettings} (`apiKey`, `baseURL`, `headers`).
|
|
7
|
-
* If none are set, the default provider is used (`GROQ_API_KEY` from env).
|
|
8
|
-
* - Any other `params` keys are forwarded as {@link VercelModelConfig} (e.g. `temperature`, `maxTokens`).
|
|
9
|
-
*/
|
|
10
|
-
export declare function create(model: string, params?: Record<string, unknown>): VercelModel;
|
|
2
|
+
import type { GroqProviderOptions, LlmOptions } from "./types.js";
|
|
3
|
+
export declare function create(providerOptions: GroqProviderOptions, llmOptions: LlmOptions): VercelModel;
|
package/dist/core/models/groq.js
CHANGED
|
@@ -1,32 +1,22 @@
|
|
|
1
1
|
import { createGroq, groq } from "@ai-sdk/groq";
|
|
2
2
|
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return omit(picked, unset);
|
|
10
|
-
}
|
|
11
|
-
function pickVercelModelConfig(params) {
|
|
12
|
-
return omit(params, [
|
|
13
|
-
...PROVIDER_SETTINGS_KEYS,
|
|
14
|
-
]);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Groq via AI SDK + Strands {@link VercelModel}.
|
|
18
|
-
*
|
|
19
|
-
* - **`config.llm.model`**: model id passed to `groq(...)` (e.g. `gemma2-9b-it`).
|
|
20
|
-
* - **`params`**: {@link GroqProviderSettings} (`apiKey`, `baseURL`, `headers`).
|
|
21
|
-
* If none are set, the default provider is used (`GROQ_API_KEY` from env).
|
|
22
|
-
* - Any other `params` keys are forwarded as {@link VercelModelConfig} (e.g. `temperature`, `maxTokens`).
|
|
23
|
-
*/
|
|
24
|
-
export function create(model, params = {}) {
|
|
25
|
-
const settings = pickProviderSettings(params);
|
|
3
|
+
export function create(providerOptions, llmOptions) {
|
|
4
|
+
const settings = Object.fromEntries(Object.entries({
|
|
5
|
+
apiKey: providerOptions.apiKey,
|
|
6
|
+
baseURL: providerOptions.baseURL,
|
|
7
|
+
headers: providerOptions.headers,
|
|
8
|
+
}).filter((entry) => entry[1] !== undefined));
|
|
26
9
|
const provider = Object.keys(settings).length > 0 ? createGroq(settings) : groq;
|
|
27
|
-
const config =
|
|
10
|
+
const config = {
|
|
11
|
+
...(llmOptions.temperature !== undefined
|
|
12
|
+
? { temperature: llmOptions.temperature }
|
|
13
|
+
: {}),
|
|
14
|
+
...(llmOptions.maxTokens !== undefined
|
|
15
|
+
? { maxTokens: llmOptions.maxTokens }
|
|
16
|
+
: {}),
|
|
17
|
+
};
|
|
28
18
|
return new VercelModel({
|
|
29
|
-
provider: provider(model),
|
|
19
|
+
provider: provider(llmOptions.model),
|
|
30
20
|
...config,
|
|
31
21
|
});
|
|
32
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/core/models/groq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/core/models/groq.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,MAAM,UAAU,MAAM,CACpB,eAAoC,EACpC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACrB,CAAC;IAC1B,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Model, BaseModelConfig } from "@strands-agents/sdk";
|
|
2
|
+
import type { LlmOptions, ProviderOptions } from "./types.js";
|
|
2
3
|
export type ModelProvider = {
|
|
3
|
-
create
|
|
4
|
+
create(providerOptions: ProviderOptions, llmOptions: LlmOptions): Model<BaseModelConfig>;
|
|
4
5
|
};
|
|
5
6
|
export declare const modelProviders: Record<string, () => Promise<ModelProvider>>;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
export const modelProviders = {
|
|
2
2
|
anthropic: () => import("./anthropic.js"),
|
|
3
|
+
azure: () => import("./azure.js"),
|
|
3
4
|
bedrock: () => import("./bedrock.js"),
|
|
4
5
|
google: () => import("./google.js"),
|
|
5
6
|
groq: () => import("./groq.js"),
|
|
7
|
+
minimax: () => import("./minimax.js"),
|
|
6
8
|
moonshot: () => import("./moonshot.js"),
|
|
7
9
|
ollama: () => import("./ollama/index.js"),
|
|
8
10
|
openai: () => import("./openai.js"),
|
|
11
|
+
openrouter: () => import("./openrouter.js"),
|
|
9
12
|
xai: () => import("./xai.js"),
|
|
10
13
|
};
|
|
11
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/models/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/models/index.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,cAAc,GAAiD;IAC1E,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACzC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;IACjC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;IACrC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;IACnC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;IAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;IACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACzC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;IACnC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAC3C,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { create as createAnthropicModel } from "./anthropic.js";
|
|
2
|
+
const DEFAULT_BASE_URL = "https://api.minimax.io/anthropic";
|
|
3
|
+
export function create(providerOptions, llmOptions) {
|
|
4
|
+
return createAnthropicModel({
|
|
5
|
+
apiKey: providerOptions.apiKey,
|
|
6
|
+
baseURL: DEFAULT_BASE_URL,
|
|
7
|
+
headers: providerOptions.headers,
|
|
8
|
+
thinking: providerOptions.thinking,
|
|
9
|
+
}, llmOptions);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=minimax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../../src/core/models/minimax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D,MAAM,UAAU,MAAM,CACpB,eAAuC,EACvC,UAAsB;IAEtB,OAAO,oBAAoB,CACzB;QACE,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,QAAQ,EAAE,eAAe,CAAC,QAAQ;KACnC,EACD,UAAU,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* - **`config.llm.model`**: model id passed to `moonshotai(...)` (e.g. `kimi-k2.5`).
|
|
6
|
-
* - **`params`**: {@link MoonshotAIProviderSettings} (`apiKey`, `baseURL`, `headers`, `fetch`).
|
|
7
|
-
* If none are set, the default provider is used (`MOONSHOT_API_KEY` from env).
|
|
8
|
-
* - Any other `params` keys are forwarded as {@link VercelModelConfig} (e.g. `temperature`,
|
|
9
|
-
* `maxTokens`, `providerOptions`).
|
|
10
|
-
*/
|
|
11
|
-
export declare function create(model: string, params?: Record<string, unknown>): VercelModel;
|
|
2
|
+
import type { LlmOptions, MoonshotProviderOptions } from "./types.js";
|
|
3
|
+
export declare function create(providerOptions: MoonshotProviderOptions, llmOptions: LlmOptions): VercelModel;
|
|
@@ -1,20 +1,33 @@
|
|
|
1
1
|
import { createMoonshotAI, moonshotai } from "@ai-sdk/moonshotai";
|
|
2
2
|
import { VercelModel } from "@strands-agents/sdk/models/vercel";
|
|
3
3
|
import { Message } from "@strands-agents/sdk";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
const DEFAULT_BASE_URL = "https://api.moonshot.ai/v1";
|
|
5
|
+
export function create(providerOptions, llmOptions) {
|
|
6
|
+
const settings = Object.fromEntries(Object.entries({
|
|
7
|
+
apiKey: providerOptions.apiKey,
|
|
8
|
+
baseURL: providerOptions.baseURL ?? DEFAULT_BASE_URL,
|
|
9
|
+
headers: providerOptions.headers,
|
|
10
|
+
}).filter((entry) => entry[1] !== undefined));
|
|
11
|
+
const provider = Object.keys(settings).length > 0 ? createMoonshotAI(settings) : moonshotai;
|
|
12
|
+
const config = {
|
|
13
|
+
...(llmOptions.temperature !== undefined
|
|
14
|
+
? { temperature: llmOptions.temperature }
|
|
15
|
+
: {}),
|
|
16
|
+
...(llmOptions.maxTokens !== undefined
|
|
17
|
+
? { maxTokens: llmOptions.maxTokens }
|
|
18
|
+
: {}),
|
|
19
|
+
};
|
|
20
|
+
return new MoonshotModel({
|
|
21
|
+
provider: provider(llmOptions.model),
|
|
22
|
+
...config,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
12
25
|
class MoonshotModel extends VercelModel {
|
|
13
26
|
stream(messages, options) {
|
|
14
|
-
return super.stream(
|
|
27
|
+
return super.stream(normalize(messages), options);
|
|
15
28
|
}
|
|
16
29
|
}
|
|
17
|
-
function
|
|
30
|
+
function normalize(messages) {
|
|
18
31
|
const normalized = [];
|
|
19
32
|
for (const message of messages) {
|
|
20
33
|
if (message.role !== "user") {
|
|
@@ -40,32 +53,4 @@ function normalizeMessages(messages) {
|
|
|
40
53
|
}
|
|
41
54
|
return normalized;
|
|
42
55
|
}
|
|
43
|
-
function pickProviderSettings(params) {
|
|
44
|
-
const picked = pick(params, [...PROVIDER_SETTINGS_KEYS]);
|
|
45
|
-
const unset = Object.keys(picked).filter((k) => picked[k] === undefined);
|
|
46
|
-
return omit(picked, unset);
|
|
47
|
-
}
|
|
48
|
-
function pickVercelModelConfig(params) {
|
|
49
|
-
return omit(params, [
|
|
50
|
-
...PROVIDER_SETTINGS_KEYS,
|
|
51
|
-
]);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Moonshot AI via AI SDK + Strands {@link VercelModel}.
|
|
55
|
-
*
|
|
56
|
-
* - **`config.llm.model`**: model id passed to `moonshotai(...)` (e.g. `kimi-k2.5`).
|
|
57
|
-
* - **`params`**: {@link MoonshotAIProviderSettings} (`apiKey`, `baseURL`, `headers`, `fetch`).
|
|
58
|
-
* If none are set, the default provider is used (`MOONSHOT_API_KEY` from env).
|
|
59
|
-
* - Any other `params` keys are forwarded as {@link VercelModelConfig} (e.g. `temperature`,
|
|
60
|
-
* `maxTokens`, `providerOptions`).
|
|
61
|
-
*/
|
|
62
|
-
export function create(model, params = {}) {
|
|
63
|
-
const settings = pickProviderSettings(params);
|
|
64
|
-
const provider = Object.keys(settings).length > 0 ? createMoonshotAI(settings) : moonshotai;
|
|
65
|
-
const config = pickVercelModelConfig(params);
|
|
66
|
-
return new MoonshotModel({
|
|
67
|
-
provider: provider(model),
|
|
68
|
-
...config,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
56
|
//# sourceMappingURL=moonshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moonshot.js","sourceRoot":"","sources":["../../../src/core/models/moonshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"moonshot.js","sourceRoot":"","sources":["../../../src/core/models/moonshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { StrandsOllamaModel } from "./strands-ollama.js";
|
|
2
|
+
import type { LlmOptions, OllamaProviderOptions } from "../types.js";
|
|
2
3
|
/** Strands {@link Model} backed by local (or remote) Ollama via `ollama` JS. */
|
|
3
|
-
export declare function create(
|
|
4
|
+
export declare function create(providerOptions: OllamaProviderOptions, llmOptions: LlmOptions): StrandsOllamaModel;
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { StrandsOllamaModel } from "./strands-ollama.js";
|
|
2
2
|
/** Strands {@link Model} backed by local (or remote) Ollama via `ollama` JS. */
|
|
3
|
-
export function create(
|
|
3
|
+
export function create(providerOptions, llmOptions) {
|
|
4
|
+
const maxTokens = typeof llmOptions.maxTokens === "number" &&
|
|
5
|
+
Number.isFinite(llmOptions.maxTokens)
|
|
6
|
+
? llmOptions.maxTokens
|
|
7
|
+
: 64_000;
|
|
4
8
|
return new StrandsOllamaModel({
|
|
5
|
-
modelId: model,
|
|
6
|
-
|
|
9
|
+
modelId: llmOptions.model,
|
|
10
|
+
maxTokens,
|
|
11
|
+
...(providerOptions.baseURL ? { host: providerOptions.baseURL } : {}),
|
|
12
|
+
...(providerOptions.thinking !== undefined
|
|
13
|
+
? { think: providerOptions.thinking }
|
|
14
|
+
: {}),
|
|
15
|
+
...(llmOptions.temperature !== undefined
|
|
16
|
+
? { options: { temperature: llmOptions.temperature } }
|
|
17
|
+
: {}),
|
|
7
18
|
});
|
|
8
19
|
}
|
|
9
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/models/ollama/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/models/ollama/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,gFAAgF;AAChF,MAAM,UAAU,MAAM,CACpB,eAAsC,EACtC,UAAsB;IAEtB,MAAM,SAAS,GACb,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;QACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC,UAAU,CAAC,SAAS;QACtB,CAAC,CAAC,MAAM,CAAC;IACb,OAAO,IAAI,kBAAkB,CAAC;QAC5B,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,SAAS;QACT,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { OpenAIModel } from "@strands-agents/sdk/models/openai";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export declare function create(model: string, params: Record<string, unknown>): OpenAIModel;
|
|
2
|
+
import type { LlmOptions, OpenAIProviderOptions } from "./types.js";
|
|
3
|
+
export type OpenAIModelParams = OpenAIProviderOptions & LlmOptions;
|
|
4
|
+
export declare function create(providerOptions: OpenAIProviderOptions, llmOptions: LlmOptions): OpenAIModel;
|