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.
Files changed (120) hide show
  1. package/README.md +81 -264
  2. package/dist/acp/sessions/options.js +2 -2
  3. package/dist/acp/sessions/options.js.map +1 -1
  4. package/dist/acp/utils/tool-kind.js +1 -1
  5. package/dist/acp/utils/tool-kind.js.map +1 -1
  6. package/dist/acp/utils/tool-locations.js +1 -1
  7. package/dist/acp/utils/tool-locations.js.map +1 -1
  8. package/dist/chat/app.js +5 -19
  9. package/dist/chat/app.js.map +1 -1
  10. package/dist/chat/components/ChromePicker.js +1 -1
  11. package/dist/chat/components/ChromePicker.js.map +1 -1
  12. package/dist/chat/index.js.map +1 -1
  13. package/dist/configure/app.js +1000 -387
  14. package/dist/configure/app.js.map +1 -1
  15. package/dist/configure/index.js.map +1 -1
  16. package/dist/configure/types.d.ts +18 -0
  17. package/dist/core/agent/index.js +6 -4
  18. package/dist/core/agent/index.js.map +1 -1
  19. package/dist/core/config.d.ts +310 -80
  20. package/dist/core/config.js +93 -209
  21. package/dist/core/config.js.map +1 -1
  22. package/dist/core/mcp/manager.js +1 -1
  23. package/dist/core/mcp/manager.js.map +1 -1
  24. package/dist/core/mcp/oauth/provider.js.map +1 -1
  25. package/dist/core/mcp/prefixed-mcp-tool.d.ts +0 -1
  26. package/dist/core/mcp/prefixed-mcp-tool.js +0 -2
  27. package/dist/core/mcp/prefixed-mcp-tool.js.map +1 -1
  28. package/dist/core/models/anthropic.d.ts +3 -12
  29. package/dist/core/models/anthropic.js +20 -91
  30. package/dist/core/models/anthropic.js.map +1 -1
  31. package/dist/core/models/azure.d.ts +4 -0
  32. package/dist/core/models/azure.js +26 -0
  33. package/dist/core/models/azure.js.map +1 -0
  34. package/dist/core/models/bedrock.d.ts +3 -20
  35. package/dist/core/models/bedrock.js +22 -18
  36. package/dist/core/models/bedrock.js.map +1 -1
  37. package/dist/core/models/google.d.ts +2 -9
  38. package/dist/core/models/google.js +12 -31
  39. package/dist/core/models/google.js.map +1 -1
  40. package/dist/core/models/groq.d.ts +2 -9
  41. package/dist/core/models/groq.js +15 -25
  42. package/dist/core/models/groq.js.map +1 -1
  43. package/dist/core/models/index.d.ts +2 -1
  44. package/dist/core/models/index.js +3 -0
  45. package/dist/core/models/index.js.map +1 -1
  46. package/dist/core/models/minimax.d.ts +2 -0
  47. package/dist/core/models/minimax.js +11 -0
  48. package/dist/core/models/minimax.js.map +1 -0
  49. package/dist/core/models/moonshot.d.ts +2 -10
  50. package/dist/core/models/moonshot.js +23 -38
  51. package/dist/core/models/moonshot.js.map +1 -1
  52. package/dist/core/models/ollama/index.d.ts +2 -1
  53. package/dist/core/models/ollama/index.js +14 -3
  54. package/dist/core/models/ollama/index.js.map +1 -1
  55. package/dist/core/models/openai.d.ts +3 -4
  56. package/dist/core/models/openai.js +20 -3
  57. package/dist/core/models/openai.js.map +1 -1
  58. package/dist/core/models/openrouter.d.ts +4 -0
  59. package/dist/core/models/openrouter.js +23 -0
  60. package/dist/core/models/openrouter.js.map +1 -0
  61. package/dist/core/models/types.d.ts +346 -0
  62. package/dist/core/models/types.js +220 -0
  63. package/dist/core/models/types.js.map +1 -0
  64. package/dist/core/models/xai.d.ts +2 -9
  65. package/dist/core/models/xai.js +15 -25
  66. package/dist/core/models/xai.js.map +1 -1
  67. package/dist/core/modes/definitions.js +2 -2
  68. package/dist/core/modes/definitions.js.map +1 -1
  69. package/dist/core/prompts/harness/behaviour.md +10 -16
  70. package/dist/core/prompts/harness/communication.md +10 -19
  71. package/dist/core/prompts/harness/execution.md +8 -22
  72. package/dist/core/prompts/harness/guardrails.md +11 -18
  73. package/dist/core/prompts/modes/ask.md +6 -17
  74. package/dist/core/prompts/modes/plan.md +8 -25
  75. package/dist/core/prompts/runtime.js +2 -1
  76. package/dist/core/prompts/runtime.js.map +1 -1
  77. package/dist/core/prompts/static/filesystem.md +6 -36
  78. package/dist/core/prompts/static/planning.md +9 -32
  79. package/dist/core/prompts/static/shell.md +7 -30
  80. package/dist/core/prompts/static/skills.md +5 -16
  81. package/dist/core/prompts/static/web-search.md +6 -41
  82. package/dist/core/ripgrep/bootstrap.d.ts +1 -0
  83. package/dist/core/ripgrep/bootstrap.js +191 -0
  84. package/dist/core/ripgrep/bootstrap.js.map +1 -0
  85. package/dist/core/ripgrep/exec.d.ts +38 -0
  86. package/dist/core/ripgrep/exec.js +320 -0
  87. package/dist/core/ripgrep/exec.js.map +1 -0
  88. package/dist/core/ripgrep/index.d.ts +2 -0
  89. package/dist/core/ripgrep/index.js +3 -0
  90. package/dist/core/ripgrep/index.js.map +1 -0
  91. package/dist/core/ripgrep/tool.d.ts +18 -0
  92. package/dist/core/ripgrep/tool.js +101 -0
  93. package/dist/core/ripgrep/tool.js.map +1 -0
  94. package/dist/core/skills/built-in/hooman-config/SKILL.md +87 -193
  95. package/dist/core/state/tool-approvals.js +1 -1
  96. package/dist/core/state/tool-approvals.js.map +1 -1
  97. package/dist/core/subagents/research.js +1 -1
  98. package/dist/core/subagents/research.js.map +1 -1
  99. package/dist/core/subagents/runner.js +1 -1
  100. package/dist/core/subagents/runner.js.map +1 -1
  101. package/dist/core/tools/filesystem.d.ts +0 -5
  102. package/dist/core/tools/filesystem.js +4 -69
  103. package/dist/core/tools/filesystem.js.map +1 -1
  104. package/dist/core/tools/grep.d.ts +1 -0
  105. package/dist/core/tools/grep.js +2 -0
  106. package/dist/core/tools/grep.js.map +1 -0
  107. package/dist/core/tools/index.d.ts +1 -0
  108. package/dist/core/tools/index.js +1 -0
  109. package/dist/core/tools/index.js.map +1 -1
  110. package/dist/core/tools/shell.js.map +1 -1
  111. package/dist/core/utils/paths.d.ts +3 -0
  112. package/dist/core/utils/paths.js +3 -0
  113. package/dist/core/utils/paths.js.map +1 -1
  114. package/dist/core/utils/ripgrep.d.ts +1 -0
  115. package/dist/core/utils/ripgrep.js +2 -0
  116. package/dist/core/utils/ripgrep.js.map +1 -0
  117. package/dist/index.d.ts +4 -1
  118. package/dist/index.js +4 -1
  119. package/dist/index.js.map +1 -1
  120. package/package.json +4 -3
@@ -1,102 +1,31 @@
1
1
  import { AnthropicModel } from "@strands-agents/sdk/models/anthropic";
2
- const RESERVED = new Set([
3
- "apiKey",
4
- "authToken",
5
- "baseURL",
6
- "headers",
7
- "client",
8
- "clientConfig",
9
- ]);
10
- const TOP_LEVEL_MODEL_KEYS = new Set([
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 headers = params.headers;
57
- const defaultHeaders = headers &&
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
- ...modelOpts,
99
- ...(Object.keys(requestParams).length > 0 ? { params: requestParams } : {}),
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":"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"}
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 { BedrockModelOptions } from "@strands-agents/sdk";
4
- /**
5
- * Params map from `config.llm.params` into {@link BedrockModel} options.
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
- const TOP_LEVEL_KEYS = new Set(["region", "clientConfig", "apiKey", "modelId"]);
3
- export function create(model, params = {}) {
4
- const p = params;
5
- const region = typeof p.region === "string" && p.region.length > 0
6
- ? p.region
7
- : "us-west-2";
8
- const clientConfig = p.clientConfig;
9
- const apiKey = typeof p.apiKey === "string" ? p.apiKey : undefined;
10
- const modelOptions = {};
11
- for (const [key, value] of Object.entries(p)) {
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 ? { apiKey } : {}),
21
- ...modelOptions,
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;AAwBlE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhF,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,SAAkC,EAAE;IAEpC,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,MAAM,GACV,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,MAAM;QACV,CAAC,CAAC,WAAW,CAAC;IAClB,MAAM,YAAY,GAAG,CAAC,CAAC,YAAsD,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,YAAY,CAAC;QACtB,OAAO,EAAE,KAAK;QACd,MAAM;QACN,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,YAAY;KACO,CAAC,CAAC;AAC5B,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
- * Google Gemini via Strands {@link GoogleModel} (`@google/genai` under the hood).
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
- import lodash from "lodash";
3
- const { omit, pick } = lodash;
4
- /**
5
- * Keys passed to {@link GoogleModel} alongside `modelId` / `params`.
6
- * Generation options (`temperature`, `maxOutputTokens`, …) belong in `params`
7
- * (see Gemini [GenerationConfig](https://ai.google.dev/api/generate-content#generationconfig)).
8
- */
9
- const TOP_LEVEL_KEYS = [
10
- "apiKey",
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
- ...top,
33
- ...(Object.keys(filtered).length > 0 ? { params: filtered } : {}),
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;AAEhE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;AAE9B;;;;GAIG;AACH,MAAM,cAAc,GAAG;IACrB,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,cAAc;CACN,CAAC;AAEX,SAAS,aAAa,CACpB,MAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,SAAkC,EAAE;IAEpC,MAAM,GAAG,GAAG,aAAa,CACvB,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAA4B,CAI7D,CAAC;IACF,MAAM,QAAQ,GAAG,aAAa,CAC5B,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAA4B,CAC7D,CAAC;IAEF,OAAO,IAAI,WAAW,CAAC;QACrB,OAAO,EAAE,KAAK;QACd,GAAG,GAAG;QACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;AAC3B,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
- * Groq via AI SDK + Strands {@link VercelModel}.
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;
@@ -1,32 +1,22 @@
1
1
  import { createGroq, groq } from "@ai-sdk/groq";
2
2
  import { VercelModel } from "@strands-agents/sdk/models/vercel";
3
- import lodash from "lodash";
4
- const { omit, pick } = lodash;
5
- const PROVIDER_SETTINGS_KEYS = ["apiKey", "baseURL", "headers"];
6
- function pickProviderSettings(params) {
7
- const picked = pick(params, [...PROVIDER_SETTINGS_KEYS]);
8
- const unset = Object.keys(picked).filter((k) => picked[k] === undefined);
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 = pickVercelModelConfig(params);
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;AAGhE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;AAE9B,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAEzE,SAAS,oBAAoB,CAC3B,MAA+B;IAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAGtD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAyB,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA+B;IAE/B,OAAO,IAAI,CAAC,MAAM,EAAE;QAClB,GAAG,sBAAsB;KAC1B,CAA+B,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,SAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,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,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;QACzB,GAAG,MAAM;KACV,CAAC,CAAC;AACL,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: (model: string, params: Record<string, any>) => Model<BaseModelConfig>;
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":"AASA,MAAM,CAAC,MAAM,cAAc,GAAiD;IAC1E,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACzC,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,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,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;CAC9B,CAAC"}
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,2 @@
1
+ import type { LlmOptions, MinimaxProviderOptions } from "./types.js";
2
+ export declare function create(providerOptions: MinimaxProviderOptions, llmOptions: LlmOptions): import("@strands-agents/sdk/models/anthropic").AnthropicModel;
@@ -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
- * Moonshot AI via AI SDK + Strands {@link VercelModel}.
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
- import lodash from "lodash";
5
- const { omit, pick } = lodash;
6
- const PROVIDER_SETTINGS_KEYS = [
7
- "apiKey",
8
- "baseURL",
9
- "headers",
10
- "fetch",
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(normalizeMessages(messages), options);
27
+ return super.stream(normalize(messages), options);
15
28
  }
16
29
  }
17
- function normalizeMessages(messages) {
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":"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"}
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(model: string, params: Record<string, any>): StrandsOllamaModel;
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(model, params) {
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
- ...params,
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":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,gFAAgF;AAChF,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,MAA2B;IAE3B,OAAO,IAAI,kBAAkB,CAAC;QAC5B,OAAO,EAAE,KAAK;QACd,GAAI,MAA6C;KAClD,CAAC,CAAC;AACL,CAAC"}
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 { OpenAIModelOptions } from "@strands-agents/sdk/models/openai";
3
- /** Config JSON / provider params for chat OpenAI (`api` and `modelId` are set by {@link create}). */
4
- export type OpenAIModelParams = Omit<OpenAIModelOptions, "api" | "modelId">;
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;