hoomanjs 1.25.0 → 1.26.1
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 +28 -4
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.js +1 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/models/anthropic.d.ts +10 -7
- package/dist/core/models/anthropic.js +66 -25
- package/dist/core/models/anthropic.js.map +1 -1
- package/dist/core/models/index.js +2 -1
- package/dist/core/models/index.js.map +1 -1
- package/dist/core/models/openai/index.d.ts +5 -0
- package/dist/core/models/openai/index.js +37 -0
- package/dist/core/models/openai/index.js.map +1 -0
- package/dist/core/models/openai/openai-stream-shims.d.ts +7 -0
- package/dist/core/models/openai/openai-stream-shims.js +19 -0
- package/dist/core/models/openai/openai-stream-shims.js.map +1 -0
- package/dist/core/models/tensorzero/index.d.ts +9 -0
- package/dist/core/models/tensorzero/index.js +14 -0
- package/dist/core/models/tensorzero/index.js.map +1 -0
- package/dist/core/models/tensorzero/strands-tensorzero.d.ts +14 -0
- package/dist/core/models/tensorzero/strands-tensorzero.js +136 -0
- package/dist/core/models/tensorzero/strands-tensorzero.js.map +1 -0
- package/dist/core/skills/built-in/hooman-config/SKILL.md +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/core/models/openai.d.ts +0 -4
- package/dist/core/models/openai.js +0 -9
- package/dist/core/models/openai.js.map +0 -1
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ It gives you a practical toolkit to build and run agent workflows:
|
|
|
30
30
|
|
|
31
31
|
## Features
|
|
32
32
|
|
|
33
|
-
- Multiple LLM providers: `ollama`, `openai`, `anthropic`, `google`, `bedrock`, `groq`, `moonshot`, `xai`
|
|
33
|
+
- Multiple LLM providers: `ollama`, `openai`, `tensorzero`, `anthropic`, `google`, `bedrock`, `groq`, `moonshot`, `xai`
|
|
34
34
|
- Local configuration under `~/.hooman`
|
|
35
35
|
- Optional web search tool with provider selection (`brave`, `serper`, or `tavily`)
|
|
36
36
|
- MCP server support via `stdio`, `streamable-http`, and `sse`
|
|
@@ -293,7 +293,7 @@ Important files and folders:
|
|
|
293
293
|
|
|
294
294
|
## Example `config.json`
|
|
295
295
|
|
|
296
|
-
|
|
296
|
+
The canonical on-disk shape uses a **`llms`** array (non-empty): each item has `name`, `options` (`provider`, `model`, `params`), and `default`. The bundled **hooman-config** skill documents the full schema. The JSON below uses a single **`llm`** object only as a shorthand for the active profile’s `options` fields.
|
|
297
297
|
|
|
298
298
|
```json
|
|
299
299
|
{
|
|
@@ -364,10 +364,11 @@ This is the config shape loaded by Hooman:
|
|
|
364
364
|
|
|
365
365
|
Tool approvals are session-scoped and are not persisted in `config.json`.
|
|
366
366
|
|
|
367
|
-
Supported `llm.provider` values:
|
|
367
|
+
Supported `llm.provider` values (in `config.json` these live under each `llms[].options.provider` entry):
|
|
368
368
|
|
|
369
369
|
- `ollama`
|
|
370
370
|
- `openai`
|
|
371
|
+
- `tensorzero`
|
|
371
372
|
- `anthropic`
|
|
372
373
|
- `google`
|
|
373
374
|
- `bedrock`
|
|
@@ -397,6 +398,8 @@ Good default for local usage. Example:
|
|
|
397
398
|
|
|
398
399
|
### OpenAI
|
|
399
400
|
|
|
401
|
+
Uses Strands **OpenAIModel** (Chat Completions). `apiKey` is optional if `OPENAI_API_KEY` is set. Use `clientConfig` for a custom base URL or other OpenAI client options (OpenAI-compatible proxies and gateways).
|
|
402
|
+
|
|
400
403
|
Example:
|
|
401
404
|
|
|
402
405
|
```json
|
|
@@ -409,9 +412,30 @@ Example:
|
|
|
409
412
|
}
|
|
410
413
|
```
|
|
411
414
|
|
|
415
|
+
OpenAI-compatible gateways that put token `usage` on the last streamed chunk together with `choices` are handled via a small stream shim so usage still surfaces in the UI.
|
|
416
|
+
|
|
417
|
+
### TensorZero
|
|
418
|
+
|
|
419
|
+
Use for a [TensorZero](https://tensorzero.com) gateway’s **OpenAI-compatible** HTTP API (for example `/openai/v1`). Same general `params` shape as **OpenAI** (`apiKey`, `clientConfig.baseURL`, etc.), but implemented with **StrandsTensorZeroModel** so gateway-specific streaming works end-to-end: reasoning carried in `tensorzero_extra_content` shows as thinking in the chat UI, and usage metadata is normalized.
|
|
420
|
+
|
|
421
|
+
```json
|
|
422
|
+
{
|
|
423
|
+
"provider": "tensorzero",
|
|
424
|
+
"model": "tensorzero::function_name::chat",
|
|
425
|
+
"params": {
|
|
426
|
+
"apiKey": "your-tensorzero-or-gateway-key",
|
|
427
|
+
"clientConfig": {
|
|
428
|
+
"baseURL": "http://localhost:3000/openai/v1"
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
Use `tensorzero` when the backend is TensorZero; use `openai` for the official OpenAI API or generic Chat Completions proxies that do not need TensorZero’s extra stream fields.
|
|
435
|
+
|
|
412
436
|
### Anthropic
|
|
413
437
|
|
|
414
|
-
|
|
438
|
+
Uses Strands **AnthropicModel** (Anthropic Messages API). `apiKey` or `authToken`, optional `baseURL` and `headers` (merged into `clientConfig`), optional `clientConfig`, and model fields such as `temperature` and `maxTokens`. A prebuilt `client` is not configurable from JSON.
|
|
415
439
|
|
|
416
440
|
```json
|
|
417
441
|
{
|
package/dist/core/config.d.ts
CHANGED
package/dist/core/config.js
CHANGED
|
@@ -10,6 +10,7 @@ export var LlmProvider;
|
|
|
10
10
|
LlmProvider["OpenAI"] = "openai";
|
|
11
11
|
LlmProvider["Ollama"] = "ollama";
|
|
12
12
|
LlmProvider["Bedrock"] = "bedrock";
|
|
13
|
+
LlmProvider["TensorZero"] = "tensorzero";
|
|
13
14
|
LlmProvider["Xai"] = "xai";
|
|
14
15
|
})(LlmProvider || (LlmProvider = {}));
|
|
15
16
|
const LlmSchema = z.object({
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnthropicModel } from "@strands-agents/sdk/models/anthropic";
|
|
2
|
+
import type { AnthropicModelOptions } from "@strands-agents/sdk/models/anthropic";
|
|
3
|
+
/** Config JSON / provider params (`modelId` is set by {@link create}; no injected `client`). */
|
|
4
|
+
export type AnthropicModelParams = Omit<AnthropicModelOptions, "modelId" | "client">;
|
|
2
5
|
/**
|
|
3
|
-
* Anthropic via
|
|
6
|
+
* Anthropic via Strands {@link AnthropicModel} (Messages API).
|
|
4
7
|
*
|
|
5
|
-
* - **`config.llm.model`**: model id
|
|
6
|
-
* - **`params`**:
|
|
7
|
-
*
|
|
8
|
-
*
|
|
8
|
+
* - **`config.llm.model`**: Claude model id (e.g. `claude-sonnet-4-20250514`).
|
|
9
|
+
* - **`params`**: `apiKey` or `authToken`, optional `baseURL` / `headers` (merged into `clientConfig`),
|
|
10
|
+
* optional `clientConfig`, plus model fields (`temperature`, `maxTokens`, `topP`, `stopSequences`, `params`, …).
|
|
11
|
+
* If no key is set, `ANTHROPIC_API_KEY` is used.
|
|
9
12
|
*/
|
|
10
|
-
export declare function create(model: string, params?: Record<string, unknown>):
|
|
13
|
+
export declare function create(model: string, params?: Record<string, unknown>): AnthropicModel;
|
|
@@ -1,38 +1,79 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import lodash from "lodash";
|
|
4
|
-
const { omit, pick } = lodash;
|
|
5
|
-
const PROVIDER_SETTINGS_KEYS = [
|
|
1
|
+
import { AnthropicModel } from "@strands-agents/sdk/models/anthropic";
|
|
2
|
+
const RESERVED = new Set([
|
|
6
3
|
"apiKey",
|
|
7
4
|
"authToken",
|
|
8
5
|
"baseURL",
|
|
9
6
|
"headers",
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
"client",
|
|
8
|
+
"clientConfig",
|
|
9
|
+
]);
|
|
10
|
+
function pickModelOptions(params) {
|
|
11
|
+
const out = {};
|
|
12
|
+
for (const [k, v] of Object.entries(params)) {
|
|
13
|
+
if (!RESERVED.has(k)) {
|
|
14
|
+
out[k] = v;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return out;
|
|
15
18
|
}
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
function resolveApiKey(params) {
|
|
20
|
+
const k = params.apiKey;
|
|
21
|
+
const t = params.authToken;
|
|
22
|
+
if (typeof k === "string" && k.length > 0) {
|
|
23
|
+
return k;
|
|
24
|
+
}
|
|
25
|
+
if (typeof t === "string" && t.length > 0) {
|
|
26
|
+
return t;
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
function mergeClientConfig(params) {
|
|
31
|
+
const explicit = params.clientConfig;
|
|
32
|
+
const baseURL = typeof params.baseURL === "string" && params.baseURL.length > 0
|
|
33
|
+
? params.baseURL
|
|
34
|
+
: undefined;
|
|
35
|
+
const headers = params.headers;
|
|
36
|
+
const defaultHeaders = headers &&
|
|
37
|
+
typeof headers === "object" &&
|
|
38
|
+
headers !== null &&
|
|
39
|
+
!Array.isArray(headers)
|
|
40
|
+
? headers
|
|
41
|
+
: undefined;
|
|
42
|
+
if (!explicit && !baseURL && !defaultHeaders) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
...explicit,
|
|
47
|
+
...(baseURL ? { baseURL } : {}),
|
|
48
|
+
...(defaultHeaders
|
|
49
|
+
? {
|
|
50
|
+
defaultHeaders: {
|
|
51
|
+
...explicit?.defaultHeaders,
|
|
52
|
+
...defaultHeaders,
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
: {}),
|
|
56
|
+
};
|
|
20
57
|
}
|
|
21
58
|
/**
|
|
22
|
-
* Anthropic via
|
|
59
|
+
* Anthropic via Strands {@link AnthropicModel} (Messages API).
|
|
23
60
|
*
|
|
24
|
-
* - **`config.llm.model`**: model id
|
|
25
|
-
* - **`params`**:
|
|
26
|
-
*
|
|
27
|
-
*
|
|
61
|
+
* - **`config.llm.model`**: Claude model id (e.g. `claude-sonnet-4-20250514`).
|
|
62
|
+
* - **`params`**: `apiKey` or `authToken`, optional `baseURL` / `headers` (merged into `clientConfig`),
|
|
63
|
+
* optional `clientConfig`, plus model fields (`temperature`, `maxTokens`, `topP`, `stopSequences`, `params`, …).
|
|
64
|
+
* If no key is set, `ANTHROPIC_API_KEY` is used.
|
|
28
65
|
*/
|
|
29
66
|
export function create(model, params = {}) {
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
return new
|
|
34
|
-
|
|
35
|
-
...
|
|
67
|
+
const apiKey = resolveApiKey(params);
|
|
68
|
+
const clientConfig = mergeClientConfig(params);
|
|
69
|
+
const modelOpts = pickModelOptions(params);
|
|
70
|
+
return new AnthropicModel({
|
|
71
|
+
modelId: model,
|
|
72
|
+
...(apiKey ? { apiKey } : {}),
|
|
73
|
+
...(clientConfig && Object.keys(clientConfig).length > 0
|
|
74
|
+
? { clientConfig }
|
|
75
|
+
: {}),
|
|
76
|
+
...modelOpts,
|
|
36
77
|
});
|
|
37
78
|
}
|
|
38
79
|
//# sourceMappingURL=anthropic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/models/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ export const modelProviders = {
|
|
|
5
5
|
groq: () => import("./groq.js"),
|
|
6
6
|
moonshot: () => import("./moonshot.js"),
|
|
7
7
|
ollama: () => import("./ollama/index.js"),
|
|
8
|
-
openai: () => import("./openai.js"),
|
|
8
|
+
openai: () => import("./openai/index.js"),
|
|
9
|
+
tensorzero: () => import("./tensorzero/index.js"),
|
|
9
10
|
xai: () => import("./xai.js"),
|
|
10
11
|
};
|
|
11
12
|
//# 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,
|
|
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,mBAAmB,CAAC;IACzC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;IACjD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
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;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OpenAIModel } from "@strands-agents/sdk/models/openai";
|
|
2
|
+
import { splitUsageOntoEmptyChoicesChunk } from "./openai-stream-shims.js";
|
|
3
|
+
const STREAM_PATCH_KEY = Symbol.for("hooman.openaiChatCompletionsUsageStreamPatch");
|
|
4
|
+
function patchChatCompletionsStream(client) {
|
|
5
|
+
const marked = client;
|
|
6
|
+
if (marked[STREAM_PATCH_KEY]) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
marked[STREAM_PATCH_KEY] = true;
|
|
10
|
+
const completions = client.chat.completions;
|
|
11
|
+
const originalCreate = completions.create.bind(completions);
|
|
12
|
+
completions.create = (async (body, options) => {
|
|
13
|
+
const result = await originalCreate(body, options);
|
|
14
|
+
if (body &&
|
|
15
|
+
typeof body === "object" &&
|
|
16
|
+
"stream" in body &&
|
|
17
|
+
body.stream === true) {
|
|
18
|
+
const asStream = result;
|
|
19
|
+
if (asStream != null &&
|
|
20
|
+
typeof asStream[Symbol.asyncIterator] === "function") {
|
|
21
|
+
return splitUsageOntoEmptyChoicesChunk(asStream);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export function create(model, params) {
|
|
28
|
+
const openaiModel = new OpenAIModel({
|
|
29
|
+
api: "chat",
|
|
30
|
+
modelId: model,
|
|
31
|
+
...params,
|
|
32
|
+
});
|
|
33
|
+
const client = openaiModel._client;
|
|
34
|
+
patchChatCompletionsStream(client);
|
|
35
|
+
return openaiModel;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/models/openai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAK3E,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CACjC,8CAA8C,CAC/C,CAAC;AAEF,SAAS,0BAA0B,CAAC,MAAc;IAChD,MAAM,MAAM,GAAG,MAAqD,CAAC;IACrE,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAEhC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,WAAW,CAAC,MAAM,GAAG,CAAC,KAAK,EACzB,IAA0C,EAC1C,OAA8C,EAC9C,EAAE;QACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,IACE,IAAI;YACJ,OAAO,IAAI,KAAK,QAAQ;YACxB,QAAQ,IAAI,IAAI;YAChB,IAAI,CAAC,MAAM,KAAK,IAAI,EACpB,CAAC;YACD,MAAM,QAAQ,GAAG,MAAiB,CAAC;YACnC,IACE,QAAQ,IAAI,IAAI;gBAChB,OACE,QACD,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,UAAU,EACtC,CAAC;gBACD,OAAO,+BAA+B,CACpC,QAAsE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAyC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,MAA+B;IAE/B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,KAAK;QACd,GAAI,MAA4B;KACjC,CAAC,CAAC;IACH,MAAM,MAAM,GAAI,WAA8C,CAAC,OAAO,CAAC;IACvE,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type OpenAI from "openai";
|
|
2
|
+
/**
|
|
3
|
+
* Some OpenAI-compatible gateways (e.g. TensorZero) attach `usage` to the final chunk that
|
|
4
|
+
* still has non-empty `choices`. Strands' chat mapper only reads `usage` when `choices` is
|
|
5
|
+
* empty. Split so usage appears on an empty-choices chunk first.
|
|
6
|
+
*/
|
|
7
|
+
export declare function splitUsageOntoEmptyChoicesChunk(stream: AsyncIterable<OpenAI.Chat.Completions.ChatCompletionChunk>): AsyncIterable<OpenAI.Chat.Completions.ChatCompletionChunk>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Some OpenAI-compatible gateways (e.g. TensorZero) attach `usage` to the final chunk that
|
|
3
|
+
* still has non-empty `choices`. Strands' chat mapper only reads `usage` when `choices` is
|
|
4
|
+
* empty. Split so usage appears on an empty-choices chunk first.
|
|
5
|
+
*/
|
|
6
|
+
export async function* splitUsageOntoEmptyChoicesChunk(stream) {
|
|
7
|
+
for await (const chunk of stream) {
|
|
8
|
+
const usage = chunk.usage;
|
|
9
|
+
const choices = chunk.choices;
|
|
10
|
+
if (usage && choices && choices.length > 0) {
|
|
11
|
+
yield { ...chunk, choices: [] };
|
|
12
|
+
yield { ...chunk, usage: undefined };
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
yield chunk;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=openai-stream-shims.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-stream-shims.js","sourceRoot":"","sources":["../../../../src/core/models/openai/openai-stream-shims.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,+BAA+B,CACpD,MAAkE;IAElE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,KAAK,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OpenAIModelOptions } from "@strands-agents/sdk/models/openai";
|
|
2
|
+
import { StrandsTensorZeroModel } from "./strands-tensorzero.js";
|
|
3
|
+
export { StrandsTensorZeroModel } from "./strands-tensorzero.js";
|
|
4
|
+
export type TensorZeroModelConfig = Omit<OpenAIModelOptions, "api" | "modelId">;
|
|
5
|
+
/**
|
|
6
|
+
* Strands {@link Model} for a TensorZero gateway’s OpenAI-compatible HTTP API (`/openai/v1`).
|
|
7
|
+
* Handles gateway-specific streaming: token usage on the last chunk and `tensorzero_extra_content` thoughts.
|
|
8
|
+
*/
|
|
9
|
+
export declare function create(model: string, params: Record<string, unknown>): StrandsTensorZeroModel;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { StrandsTensorZeroModel } from "./strands-tensorzero.js";
|
|
2
|
+
export { StrandsTensorZeroModel } from "./strands-tensorzero.js";
|
|
3
|
+
/**
|
|
4
|
+
* Strands {@link Model} for a TensorZero gateway’s OpenAI-compatible HTTP API (`/openai/v1`).
|
|
5
|
+
* Handles gateway-specific streaming: token usage on the last chunk and `tensorzero_extra_content` thoughts.
|
|
6
|
+
*/
|
|
7
|
+
export function create(model, params) {
|
|
8
|
+
return new StrandsTensorZeroModel({
|
|
9
|
+
api: "chat",
|
|
10
|
+
modelId: model,
|
|
11
|
+
...params,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/models/tensorzero/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAIjE;;;GAGG;AACH,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,MAA+B;IAE/B,OAAO,IAAI,sBAAsB,CAAC;QAChC,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,KAAK;QACd,GAAI,MAAgC;KACrC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Message } from "@strands-agents/sdk";
|
|
2
|
+
import type { StreamOptions } from "@strands-agents/sdk";
|
|
3
|
+
import type { ModelStreamEvent } from "@strands-agents/sdk";
|
|
4
|
+
import { OpenAIModel } from "@strands-agents/sdk/models/openai";
|
|
5
|
+
import type { OpenAIModelOptions } from "@strands-agents/sdk/models/openai";
|
|
6
|
+
/**
|
|
7
|
+
* {@link OpenAIModel} with TensorZero OpenAI-gateway streaming fixes:
|
|
8
|
+
* - usage on the final chunk with `choices` (see {@link splitUsageOntoEmptyChoicesChunk})
|
|
9
|
+
* - `delta.tensorzero_extra_content` thoughts → Strands `reasoningContentDelta` (Hooman “thinking” UI)
|
|
10
|
+
*/
|
|
11
|
+
export declare class StrandsTensorZeroModel extends OpenAIModel {
|
|
12
|
+
constructor(options: OpenAIModelOptions);
|
|
13
|
+
stream(messages: Message[], options?: StreamOptions): AsyncIterable<ModelStreamEvent>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { dirname, join } from "node:path";
|
|
2
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
3
|
+
import { OpenAIModel } from "@strands-agents/sdk/models/openai";
|
|
4
|
+
import { splitUsageOntoEmptyChoicesChunk } from "../openai/openai-stream-shims.js";
|
|
5
|
+
/** Strands 1.x moves chat helpers into `chat-adapter.js`, which is not a package export; load it next to the public `models/openai` entry. */
|
|
6
|
+
function openAiChatAdapterUrl() {
|
|
7
|
+
return pathToFileURL(join(dirname(fileURLToPath(import.meta.resolve("@strands-agents/sdk/models/openai"))), "chat-adapter.js")).href;
|
|
8
|
+
}
|
|
9
|
+
let chatAdapterPromise = null;
|
|
10
|
+
function loadOpenAiChatAdapter() {
|
|
11
|
+
chatAdapterPromise ??= import(openAiChatAdapterUrl());
|
|
12
|
+
return chatAdapterPromise;
|
|
13
|
+
}
|
|
14
|
+
function preludeEventsForTensorZeroDelta(delta, streamState) {
|
|
15
|
+
const out = [];
|
|
16
|
+
if (!delta) {
|
|
17
|
+
return out;
|
|
18
|
+
}
|
|
19
|
+
const toolCalls = delta.tool_calls;
|
|
20
|
+
if (Array.isArray(toolCalls) &&
|
|
21
|
+
toolCalls.length > 0 &&
|
|
22
|
+
streamState.reasoningContentBlockStarted) {
|
|
23
|
+
out.push({ type: "modelContentBlockStopEvent" });
|
|
24
|
+
streamState.reasoningContentBlockStarted = false;
|
|
25
|
+
}
|
|
26
|
+
const extra = delta.tensorzero_extra_content;
|
|
27
|
+
if (Array.isArray(extra)) {
|
|
28
|
+
for (const item of extra) {
|
|
29
|
+
if (!item || typeof item !== "object") {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const rec = item;
|
|
33
|
+
if (rec.type !== "thought") {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const text = rec.text;
|
|
37
|
+
if (typeof text !== "string" || text.length === 0) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (!streamState.reasoningContentBlockStarted) {
|
|
41
|
+
out.push({ type: "modelContentBlockStartEvent" });
|
|
42
|
+
streamState.reasoningContentBlockStarted = true;
|
|
43
|
+
}
|
|
44
|
+
out.push({
|
|
45
|
+
type: "modelContentBlockDeltaEvent",
|
|
46
|
+
delta: { type: "reasoningContentDelta", text },
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const content = delta.content;
|
|
51
|
+
if (typeof content === "string" &&
|
|
52
|
+
content.length > 0 &&
|
|
53
|
+
streamState.reasoningContentBlockStarted) {
|
|
54
|
+
out.push({ type: "modelContentBlockStopEvent" });
|
|
55
|
+
streamState.reasoningContentBlockStarted = false;
|
|
56
|
+
}
|
|
57
|
+
return out;
|
|
58
|
+
}
|
|
59
|
+
function injectReasoningStopBeforeMessageStop(events, streamState) {
|
|
60
|
+
const out = [];
|
|
61
|
+
for (const e of events) {
|
|
62
|
+
if (e.type === "modelMessageStopEvent" &&
|
|
63
|
+
streamState.reasoningContentBlockStarted) {
|
|
64
|
+
out.push({ type: "modelContentBlockStopEvent" });
|
|
65
|
+
streamState.reasoningContentBlockStarted = false;
|
|
66
|
+
}
|
|
67
|
+
out.push(e);
|
|
68
|
+
}
|
|
69
|
+
return out;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* {@link OpenAIModel} with TensorZero OpenAI-gateway streaming fixes:
|
|
73
|
+
* - usage on the final chunk with `choices` (see {@link splitUsageOntoEmptyChoicesChunk})
|
|
74
|
+
* - `delta.tensorzero_extra_content` thoughts → Strands `reasoningContentDelta` (Hooman “thinking” UI)
|
|
75
|
+
*/
|
|
76
|
+
export class StrandsTensorZeroModel extends OpenAIModel {
|
|
77
|
+
constructor(options) {
|
|
78
|
+
if (options.api !== "chat") {
|
|
79
|
+
throw new Error(`TensorZero provider requires api: 'chat' (got '${String(options.api)}')`);
|
|
80
|
+
}
|
|
81
|
+
super(options);
|
|
82
|
+
}
|
|
83
|
+
async *stream(messages, options) {
|
|
84
|
+
if (!messages || messages.length === 0) {
|
|
85
|
+
throw new Error("At least one message is required");
|
|
86
|
+
}
|
|
87
|
+
const { formatChatRequest, mapChatChunkToEvents } = await loadOpenAiChatAdapter();
|
|
88
|
+
const client = this._client;
|
|
89
|
+
const rewrap = this._rewrapError;
|
|
90
|
+
try {
|
|
91
|
+
const request = formatChatRequest(this.getConfig(), messages, options);
|
|
92
|
+
const raw = await client.chat.completions.create(request);
|
|
93
|
+
const stream = splitUsageOntoEmptyChoicesChunk(raw);
|
|
94
|
+
const streamState = {
|
|
95
|
+
messageStarted: false,
|
|
96
|
+
textContentBlockStarted: false,
|
|
97
|
+
reasoningContentBlockStarted: false,
|
|
98
|
+
};
|
|
99
|
+
const activeToolCalls = new Map();
|
|
100
|
+
let bufferedUsage = null;
|
|
101
|
+
for await (const chunk of stream) {
|
|
102
|
+
if (!chunk.choices || chunk.choices.length === 0) {
|
|
103
|
+
if (chunk.usage) {
|
|
104
|
+
bufferedUsage = {
|
|
105
|
+
type: "modelMetadataEvent",
|
|
106
|
+
usage: {
|
|
107
|
+
inputTokens: chunk.usage.prompt_tokens ?? 0,
|
|
108
|
+
outputTokens: chunk.usage.completion_tokens ?? 0,
|
|
109
|
+
totalTokens: chunk.usage.total_tokens ?? 0,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const delta = chunk.choices[0]?.delta;
|
|
116
|
+
const prelude = preludeEventsForTensorZeroDelta(delta, streamState);
|
|
117
|
+
const base = mapChatChunkToEvents(chunk, streamState, activeToolCalls);
|
|
118
|
+
const events = injectReasoningStopBeforeMessageStop([...prelude, ...base], streamState);
|
|
119
|
+
for (const event of events) {
|
|
120
|
+
if (event.type === "modelMessageStopEvent" && bufferedUsage) {
|
|
121
|
+
yield bufferedUsage;
|
|
122
|
+
bufferedUsage = null;
|
|
123
|
+
}
|
|
124
|
+
yield event;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (bufferedUsage) {
|
|
128
|
+
yield bufferedUsage;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
throw rewrap.call(this, error);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=strands-tensorzero.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strands-tensorzero.js","sourceRoot":"","sources":["../../../../src/core/models/tensorzero/strands-tensorzero.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,6 +136,7 @@ Runtime APIs may still expose a single active profile as `llm` (derived from the
|
|
|
136
136
|
"groq",
|
|
137
137
|
"moonshot",
|
|
138
138
|
"openai",
|
|
139
|
+
"tensorzero",
|
|
139
140
|
"ollama",
|
|
140
141
|
"bedrock",
|
|
141
142
|
"xai"
|
|
@@ -166,12 +167,13 @@ Common shape (single default model):
|
|
|
166
167
|
|
|
167
168
|
Provider notes (these refer to fields inside `options.params` unless noted):
|
|
168
169
|
|
|
169
|
-
- `anthropic`: `params.apiKey
|
|
170
|
+
- `anthropic`: Strands **AnthropicModel** (Anthropic Messages API via `@anthropic-ai/sdk`). `params.apiKey` or `params.authToken`, optional `baseURL` and `headers` (merged into `clientConfig`), optional `clientConfig`, plus model fields such as `temperature`, `maxTokens`, `topP`, `stopSequences`, and `params`. A custom `client` instance is not supported from config. If no key is set, `ANTHROPIC_API_KEY` is used.
|
|
170
171
|
- `google`: `params.apiKey`, `client`, `clientConfig`, and `builtInTools` are top-level Google model options. Other keys become Gemini generation params, such as `temperature`, `maxOutputTokens`, `topP`, and `topK`.
|
|
171
172
|
- `groq`: `params.apiKey`, `baseURL`, and `headers` configure the provider. Other keys are forwarded as Vercel model config.
|
|
172
173
|
- `moonshot`: `params.apiKey`, `baseURL`, `headers`, and `fetch` configure the provider. Other keys are forwarded as Vercel model config.
|
|
173
174
|
- `xai`: `params.apiKey`, `baseURL`, and `headers` configure the provider. Other keys are forwarded as Vercel model config.
|
|
174
|
-
- `openai`: `params.apiKey`
|
|
175
|
+
- `openai`: Strands **OpenAIModel** (Chat Completions). `params.apiKey` (or env `OPENAI_API_KEY`), optional `clientConfig` (e.g. `baseURL` for an OpenAI-compatible HTTP API). `model` becomes `modelId`. Streaming usage from some gateways is normalized automatically. For a **TensorZero** gateway, prefer **`tensorzero`** if you want reasoning/thinking streamed into the UI and consistent usage metadata.
|
|
176
|
+
- `tensorzero`: Same Chat Completions shape as `openai`, but **`StrandsTensorZeroModel`** — use for a [TensorZero](https://tensorzero.com) gateway’s OpenAI-compatible route (e.g. `clientConfig.baseURL` like `http://localhost:3000/openai/v1`). Maps gateway `tensorzero_extra_content` thoughts to Strands reasoning deltas and normalizes final-chunk usage. `model` is typically `tensorzero::function_name::<name>` (or other TensorZero model id strings the gateway accepts).
|
|
175
177
|
- `ollama`: `params.host`, `keepAlive`, `options`, and `think` configure the Ollama wrapper. `think` may be `true`, `false`, `"high"`, `"medium"`, or `"low"`.
|
|
176
178
|
- `bedrock`: `params.region`, `clientConfig`, and optional `apiKey` configure Bedrock access. Put AWS credentials under `params.clientConfig.credentials` with `accessKeyId`, `secretAccessKey`, and optional `sessionToken`; put an AWS CLI/shared-config profile name in `params.clientConfig.profile`. If credentials and profile are omitted, Bedrock uses the AWS SDK default credential chain, including environment variables and AWS CLI/shared credentials. Other keys are forwarded as Bedrock model options, such as `temperature`, `maxTokens`, `stream`, and `cacheConfig`.
|
|
177
179
|
|
package/dist/index.d.ts
CHANGED
|
@@ -26,16 +26,18 @@ export { Skills as SkillsPrompt, System as SystemPrompt, skills as createSkillsP
|
|
|
26
26
|
export type { SystemMode } from "./core/prompts/system.js";
|
|
27
27
|
export { modelProviders } from "./core/models/index.js";
|
|
28
28
|
export type { ModelProvider } from "./core/models/index.js";
|
|
29
|
-
export { create as createAnthropicModelProvider } from "./core/models/anthropic.js";
|
|
29
|
+
export { create as createAnthropicModelProvider, type AnthropicModelParams, } from "./core/models/anthropic.js";
|
|
30
30
|
export { create as createBedrockModelProvider } from "./core/models/bedrock.js";
|
|
31
31
|
export type { BedrockLlmParams } from "./core/models/bedrock.js";
|
|
32
32
|
export { create as createGoogleModelProvider } from "./core/models/google.js";
|
|
33
33
|
export { create as createGroqModelProvider } from "./core/models/groq.js";
|
|
34
34
|
export { create as createMoonshotModelProvider } from "./core/models/moonshot.js";
|
|
35
35
|
export { create as createOllamaModelProvider } from "./core/models/ollama/index.js";
|
|
36
|
-
export { create as createOpenAIModelProvider } from "./core/models/openai.js";
|
|
36
|
+
export { create as createOpenAIModelProvider, type OpenAIModelParams, } from "./core/models/openai/index.js";
|
|
37
|
+
export { create as createTensorZeroModelProvider } from "./core/models/tensorzero/index.js";
|
|
37
38
|
export { create as createXaiModelProvider } from "./core/models/xai.js";
|
|
38
39
|
export { StrandsOllamaModel, type OllamaModelConfig, } from "./core/models/ollama/strands-ollama.js";
|
|
40
|
+
export { StrandsTensorZeroModel, type TensorZeroModelConfig, } from "./core/models/tensorzero/index.js";
|
|
39
41
|
export { LongTermMemoryStore, createLongTermMemoryStore, createLongTermMemoryTools, createShortTermMemory, } from "./core/memory/index.js";
|
|
40
42
|
export type { ArchiveMemoryInput, LongTermMemoryOptions, LongTermMemoryScope, MemorySource, SearchMemoryInput, SearchMemoryResult, StoreMemoryInput, StoreMemoryResult, UpdateMemoryInput, } from "./core/memory/index.js";
|
|
41
43
|
export { LazySessionManager } from "./core/memory/stm/lazy-session-manager.js";
|
package/dist/index.js
CHANGED
|
@@ -19,15 +19,17 @@ export { Registry as SkillsRegistry, createSkillsRegistry, } from "./core/skills
|
|
|
19
19
|
export { parseSkillFrontmatter } from "./core/skills/metadata.js";
|
|
20
20
|
export { Skills as SkillsPrompt, System as SystemPrompt, skills as createSkillsPrompt, system as createSystemPrompt, } from "./core/prompts/index.js";
|
|
21
21
|
export { modelProviders } from "./core/models/index.js";
|
|
22
|
-
export { create as createAnthropicModelProvider } from "./core/models/anthropic.js";
|
|
22
|
+
export { create as createAnthropicModelProvider, } from "./core/models/anthropic.js";
|
|
23
23
|
export { create as createBedrockModelProvider } from "./core/models/bedrock.js";
|
|
24
24
|
export { create as createGoogleModelProvider } from "./core/models/google.js";
|
|
25
25
|
export { create as createGroqModelProvider } from "./core/models/groq.js";
|
|
26
26
|
export { create as createMoonshotModelProvider } from "./core/models/moonshot.js";
|
|
27
27
|
export { create as createOllamaModelProvider } from "./core/models/ollama/index.js";
|
|
28
|
-
export { create as createOpenAIModelProvider } from "./core/models/openai.js";
|
|
28
|
+
export { create as createOpenAIModelProvider, } from "./core/models/openai/index.js";
|
|
29
|
+
export { create as createTensorZeroModelProvider } from "./core/models/tensorzero/index.js";
|
|
29
30
|
export { create as createXaiModelProvider } from "./core/models/xai.js";
|
|
30
31
|
export { StrandsOllamaModel, } from "./core/models/ollama/strands-ollama.js";
|
|
32
|
+
export { StrandsTensorZeroModel, } from "./core/models/tensorzero/index.js";
|
|
31
33
|
export { LongTermMemoryStore, createLongTermMemoryStore, createLongTermMemoryTools, createShortTermMemory, } from "./core/memory/index.js";
|
|
32
34
|
export { LazySessionManager } from "./core/memory/stm/lazy-session-manager.js";
|
|
33
35
|
export { FlatFileStorage } from "./core/memory/stm/flat-file-storage.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,mDAAmD;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAavE,OAAO,EACL,eAAe,EACf,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,OAAO,IAAI,UAAU,EACrB,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAuB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EACL,QAAQ,IAAI,cAAc,EAC1B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EACL,MAAM,IAAI,YAAY,EACtB,MAAM,IAAI,YAAY,EACtB,MAAM,IAAI,kBAAkB,EAC5B,MAAM,IAAI,kBAAkB,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hoomanjs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.1",
|
|
4
4
|
"description": "Hackable AI agent toolkit for building local CLI, ACP, MCP, and channel-driven workflows.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Vaibhav Pandey",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"@agentclientprotocol/sdk": "^0.18.2",
|
|
73
|
-
"@ai
|
|
73
|
+
"@anthropic-ai/sdk": "^0.89.0",
|
|
74
74
|
"@ai-sdk/groq": "^3.0.35",
|
|
75
75
|
"@ai-sdk/moonshotai": "^2.0.16",
|
|
76
76
|
"@ai-sdk/xai": "^3.0.83",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"@huggingface/transformers": "^4.0.1",
|
|
80
80
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
81
81
|
"@mozilla/readability": "^0.6.0",
|
|
82
|
-
"@strands-agents/sdk": "^1.0.0
|
|
82
|
+
"@strands-agents/sdk": "^1.0.0",
|
|
83
83
|
"@tavily/core": "^0.7.2",
|
|
84
84
|
"chromadb": "^3.4.3",
|
|
85
85
|
"cli-highlight": "^2.1.11",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/core/models/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,UAAU,MAAM,CACpB,KAAa,EACb,MAA2B;IAE3B,OAAO,IAAI,WAAW,CAAC;QACrB,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,KAAK;QACd,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
|