@uptimizr/agent-core 0.2.1 → 0.3.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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/loop.d.ts +36 -0
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +76 -3
- package/dist/loop.js.map +1 -1
- package/dist/providers/anthropic.d.ts +2 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +11 -5
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/hosted.js +6 -2
- package/dist/providers/hosted.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/webllm.d.ts +66 -4
- package/dist/providers/webllm.d.ts.map +1 -1
- package/dist/providers/webllm.js +171 -29
- package/dist/providers/webllm.js.map +1 -1
- package/dist/tools.d.ts +26 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +34 -0
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createCollectorClient, CollectorError, type CollectorClient, type CollectorClientConfig, type QueryParams, } from "./client.js";
|
|
2
|
-
export { readTools, type ReadTool, type ReadToolRequest } from "./tools.js";
|
|
2
|
+
export { readTools, coreReadTools, selectReadTools, CORE_READ_TOOL_NAMES, type ReadTool, type ReadToolRequest, type ReadToolSetKind, } from "./tools.js";
|
|
3
3
|
export type { AgentMessage, AgentToolCall, AgentToolSchema, LlmProvider, ProviderRequest, ProviderResponse, } from "./provider.js";
|
|
4
|
-
export { runAgent, toToolSchemas, DEFAULT_MAX_STEPS, type RunAgentOptions, type RunAgentResult, } from "./loop.js";
|
|
4
|
+
export { runAgent, toToolSchemas, truncateToolResult, DEFAULT_MAX_STEPS, DEFAULT_MAX_TOOL_RESULT_CHARS, type RunAgentOptions, type RunAgentResult, } from "./loop.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,6BAA6B,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createCollectorClient, CollectorError, } from "./client.js";
|
|
2
|
-
export { readTools } from "./tools.js";
|
|
3
|
-
export { runAgent, toToolSchemas, DEFAULT_MAX_STEPS, } from "./loop.js";
|
|
2
|
+
export { readTools, coreReadTools, selectReadTools, CORE_READ_TOOL_NAMES, } from "./tools.js";
|
|
3
|
+
export { runAgent, toToolSchemas, truncateToolResult, DEFAULT_MAX_STEPS, DEFAULT_MAX_TOOL_RESULT_CHARS, } from "./loop.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,oBAAoB,GAIrB,MAAM,YAAY,CAAC;AASpB,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,6BAA6B,GAG9B,MAAM,WAAW,CAAC"}
|
package/dist/loop.d.ts
CHANGED
|
@@ -3,6 +3,21 @@ import type { AgentMessage, AgentToolSchema, LlmProvider } from "./provider.js";
|
|
|
3
3
|
import { type ReadTool } from "./tools.js";
|
|
4
4
|
/** Default cap on provider turns before the loop gives up (guards against loops). */
|
|
5
5
|
export declare const DEFAULT_MAX_STEPS = 8;
|
|
6
|
+
/**
|
|
7
|
+
* Default cap on the number of characters of a single tool result fed back to
|
|
8
|
+
* the model. Large analytics JSON blobs can blow a small local model's context
|
|
9
|
+
* window (8192 tokens for the curated Hermes records) and degrade it into
|
|
10
|
+
* empty/looping output, so results above this length are truncated with a clear
|
|
11
|
+
* marker. Chosen to comfortably fit several tool results plus the prompt.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DEFAULT_MAX_TOOL_RESULT_CHARS = 8000;
|
|
14
|
+
/**
|
|
15
|
+
* Truncate an over-long tool result to `max` characters, appending a clear
|
|
16
|
+
* marker noting how many characters were dropped. Below the cap the content is
|
|
17
|
+
* returned untouched (full fidelity). Plain string slicing only — no regex, so
|
|
18
|
+
* there is no ReDoS surface on model-influenced tool output.
|
|
19
|
+
*/
|
|
20
|
+
export declare function truncateToolResult(content: string, max: number): string;
|
|
6
21
|
/**
|
|
7
22
|
* Convert the read-only tool catalog into provider-facing tool schemas. Each
|
|
8
23
|
* tool's Zod raw shape becomes a JSON-Schema object the model can reason about.
|
|
@@ -20,6 +35,21 @@ export interface RunAgentOptions {
|
|
|
20
35
|
tools?: readonly ReadTool[];
|
|
21
36
|
/** Maximum provider turns before returning. Defaults to {@link DEFAULT_MAX_STEPS}. */
|
|
22
37
|
maxSteps?: number;
|
|
38
|
+
/**
|
|
39
|
+
* When the model ends a run without a usable answer — either an empty `final`
|
|
40
|
+
* or by exhausting `maxSteps` while still tool-calling — make ONE extra
|
|
41
|
+
* `provider.complete()` with tools disabled, forcing it to synthesize a plain
|
|
42
|
+
* prose answer from the tool results it already gathered. At most one such
|
|
43
|
+
* forced turn per run. Defaults to `true`. Set `false` to keep the old
|
|
44
|
+
* empty-answer behavior. Benefits every consumer (dashboard assistant, MCP).
|
|
45
|
+
*/
|
|
46
|
+
forceFinalAnswer?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Maximum characters of a single tool result fed back to the model; longer
|
|
49
|
+
* results are truncated with a marker to protect small models' context.
|
|
50
|
+
* Defaults to {@link DEFAULT_MAX_TOOL_RESULT_CHARS}.
|
|
51
|
+
*/
|
|
52
|
+
maxToolResultChars?: number;
|
|
23
53
|
/** Optional cancellation signal forwarded to the provider. */
|
|
24
54
|
signal?: AbortSignal;
|
|
25
55
|
}
|
|
@@ -42,6 +72,12 @@ export interface RunAgentResult {
|
|
|
42
72
|
*
|
|
43
73
|
* The loop only ever issues collector `GET`s through the catalog's
|
|
44
74
|
* `buildRequest` — it can neither ingest nor mutate data (ADR 0003 / 0017).
|
|
75
|
+
*
|
|
76
|
+
* When a run would otherwise end without a usable answer (an empty `final`, or
|
|
77
|
+
* the step cap reached while still tool-calling) and `forceFinalAnswer` is on
|
|
78
|
+
* (default), it makes ONE extra tools-disabled `provider.complete()` so the
|
|
79
|
+
* model synthesizes a prose answer from the tool results it already gathered —
|
|
80
|
+
* at most one such forced turn per run.
|
|
45
81
|
*/
|
|
46
82
|
export declare function runAgent(options: RunAgentOptions): Promise<RunAgentResult>;
|
|
47
83
|
//# sourceMappingURL=loop.d.ts.map
|
package/dist/loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAiB,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtD,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAE,SAAS,QAAQ,EAAc,GAAG,eAAe,EAAE,CAMvF;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,QAAQ,EAAE,WAAW,CAAC;IACtB,6DAA6D;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAiB,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtD,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAYlD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAE,SAAS,QAAQ,EAAc,GAAG,eAAe,EAAE,CAMvF;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,QAAQ,EAAE,WAAW,CAAC;IACtB,6DAA6D;IAC7D,MAAM,EAAE,eAAe,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA0EhF"}
|
package/dist/loop.js
CHANGED
|
@@ -2,6 +2,34 @@ import { z } from "zod";
|
|
|
2
2
|
import { readTools } from "./tools.js";
|
|
3
3
|
/** Default cap on provider turns before the loop gives up (guards against loops). */
|
|
4
4
|
export const DEFAULT_MAX_STEPS = 8;
|
|
5
|
+
/**
|
|
6
|
+
* Default cap on the number of characters of a single tool result fed back to
|
|
7
|
+
* the model. Large analytics JSON blobs can blow a small local model's context
|
|
8
|
+
* window (8192 tokens for the curated Hermes records) and degrade it into
|
|
9
|
+
* empty/looping output, so results above this length are truncated with a clear
|
|
10
|
+
* marker. Chosen to comfortably fit several tool results plus the prompt.
|
|
11
|
+
*/
|
|
12
|
+
export const DEFAULT_MAX_TOOL_RESULT_CHARS = 8000;
|
|
13
|
+
/**
|
|
14
|
+
* Directive sent — as a trailing `user` message — on the forced, tools-disabled
|
|
15
|
+
* synthesis turn (see {@link runAgent}). It tells the model to stop calling
|
|
16
|
+
* tools and answer in plain prose from the data it already gathered. Kept out of
|
|
17
|
+
* the returned transcript: only the resulting answer is persisted.
|
|
18
|
+
*/
|
|
19
|
+
const FORCE_FINAL_DIRECTIVE = "Now answer the user's question directly in plain text, using the tool results already " +
|
|
20
|
+
"gathered above. Do not call any tools. If the data is insufficient, say so briefly.";
|
|
21
|
+
/**
|
|
22
|
+
* Truncate an over-long tool result to `max` characters, appending a clear
|
|
23
|
+
* marker noting how many characters were dropped. Below the cap the content is
|
|
24
|
+
* returned untouched (full fidelity). Plain string slicing only — no regex, so
|
|
25
|
+
* there is no ReDoS surface on model-influenced tool output.
|
|
26
|
+
*/
|
|
27
|
+
export function truncateToolResult(content, max) {
|
|
28
|
+
if (content.length <= max)
|
|
29
|
+
return content;
|
|
30
|
+
const dropped = content.length - max;
|
|
31
|
+
return `${content.slice(0, max)}…[truncated ${dropped} chars]`;
|
|
32
|
+
}
|
|
5
33
|
/**
|
|
6
34
|
* Convert the read-only tool catalog into provider-facing tool schemas. Each
|
|
7
35
|
* tool's Zod raw shape becomes a JSON-Schema object the model can reason about.
|
|
@@ -21,19 +49,54 @@ export function toToolSchemas(tools = readTools) {
|
|
|
21
49
|
*
|
|
22
50
|
* The loop only ever issues collector `GET`s through the catalog's
|
|
23
51
|
* `buildRequest` — it can neither ingest nor mutate data (ADR 0003 / 0017).
|
|
52
|
+
*
|
|
53
|
+
* When a run would otherwise end without a usable answer (an empty `final`, or
|
|
54
|
+
* the step cap reached while still tool-calling) and `forceFinalAnswer` is on
|
|
55
|
+
* (default), it makes ONE extra tools-disabled `provider.complete()` so the
|
|
56
|
+
* model synthesizes a prose answer from the tool results it already gathered —
|
|
57
|
+
* at most one such forced turn per run.
|
|
24
58
|
*/
|
|
25
59
|
export async function runAgent(options) {
|
|
26
60
|
const { provider, client, signal } = options;
|
|
27
61
|
const tools = options.tools ?? readTools;
|
|
28
62
|
const maxSteps = options.maxSteps ?? DEFAULT_MAX_STEPS;
|
|
63
|
+
const forceFinalAnswer = options.forceFinalAnswer ?? true;
|
|
64
|
+
const maxToolResultChars = options.maxToolResultChars ?? DEFAULT_MAX_TOOL_RESULT_CHARS;
|
|
29
65
|
const toolsByName = new Map(tools.map((t) => [t.name, t]));
|
|
30
66
|
const toolSchemas = toToolSchemas(tools);
|
|
31
67
|
const messages = [...options.messages];
|
|
32
68
|
let steps = 0;
|
|
69
|
+
let alreadyForced = false;
|
|
70
|
+
/**
|
|
71
|
+
* One tools-disabled synthesis turn: ask the provider to answer in prose from
|
|
72
|
+
* the tool results already in `messages`. Sends no tools (so adapters omit
|
|
73
|
+
* function-calling entirely) plus a trailing directive that is NOT persisted
|
|
74
|
+
* into the transcript. Returns the answer text (possibly empty). Runs at most
|
|
75
|
+
* once per {@link runAgent} call via the shared `alreadyForced` guard.
|
|
76
|
+
*/
|
|
77
|
+
async function forceFinalSynthesis() {
|
|
78
|
+
alreadyForced = true;
|
|
79
|
+
const forcedMessages = [
|
|
80
|
+
...messages,
|
|
81
|
+
{ role: "user", content: FORCE_FINAL_DIRECTIVE },
|
|
82
|
+
];
|
|
83
|
+
const response = await provider.complete({ messages: forcedMessages, tools: [], signal });
|
|
84
|
+
return response.kind === "final" ? response.content : (response.content ?? "");
|
|
85
|
+
}
|
|
33
86
|
while (steps < maxSteps) {
|
|
34
87
|
steps += 1;
|
|
35
88
|
const response = await provider.complete({ messages, tools: toolSchemas, signal });
|
|
36
89
|
if (response.kind === "final") {
|
|
90
|
+
// The model may emit an empty final early — the reported failure where the
|
|
91
|
+
// user sees no answer. Force one tools-disabled synthesis pass to recover a
|
|
92
|
+
// real answer from any gathered tool results before returning empty.
|
|
93
|
+
if (response.content.trim() === "" && forceFinalAnswer && !alreadyForced) {
|
|
94
|
+
const forced = await forceFinalSynthesis();
|
|
95
|
+
if (forced.trim() !== "") {
|
|
96
|
+
messages.push({ role: "assistant", content: forced });
|
|
97
|
+
return { content: forced, messages, steps, stoppedOnMaxSteps: false };
|
|
98
|
+
}
|
|
99
|
+
}
|
|
37
100
|
messages.push({ role: "assistant", content: response.content });
|
|
38
101
|
return { content: response.content, messages, steps, stoppedOnMaxSteps: false };
|
|
39
102
|
}
|
|
@@ -43,7 +106,17 @@ export async function runAgent(options) {
|
|
|
43
106
|
toolCalls: response.toolCalls,
|
|
44
107
|
});
|
|
45
108
|
for (const call of response.toolCalls) {
|
|
46
|
-
messages.push(await executeToolCall(client, toolsByName.get(call.name), call));
|
|
109
|
+
messages.push(await executeToolCall(client, toolsByName.get(call.name), call, maxToolResultChars));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Hit the step cap while still tool-calling: force one tools-disabled synthesis
|
|
113
|
+
// pass so the model composes an answer from what it gathered instead of the
|
|
114
|
+
// loop returning nothing.
|
|
115
|
+
if (forceFinalAnswer && !alreadyForced) {
|
|
116
|
+
const forced = await forceFinalSynthesis();
|
|
117
|
+
if (forced.trim() !== "") {
|
|
118
|
+
messages.push({ role: "assistant", content: forced });
|
|
119
|
+
return { content: forced, messages, steps, stoppedOnMaxSteps: true };
|
|
47
120
|
}
|
|
48
121
|
}
|
|
49
122
|
return { content: "", messages, steps, stoppedOnMaxSteps: true };
|
|
@@ -54,7 +127,7 @@ export async function runAgent(options) {
|
|
|
54
127
|
* can see the failure and recover on the next turn. Collector errors are
|
|
55
128
|
* likewise surfaced as text.
|
|
56
129
|
*/
|
|
57
|
-
async function executeToolCall(client, tool, call) {
|
|
130
|
+
async function executeToolCall(client, tool, call, maxToolResultChars) {
|
|
58
131
|
const result = (content) => ({
|
|
59
132
|
role: "tool",
|
|
60
133
|
toolCallId: call.id,
|
|
@@ -74,7 +147,7 @@ async function executeToolCall(client, tool, call) {
|
|
|
74
147
|
try {
|
|
75
148
|
const { path, params } = tool.buildRequest(parsed.data);
|
|
76
149
|
const data = await client.get(path, params);
|
|
77
|
-
return result(JSON.stringify(data));
|
|
150
|
+
return result(truncateToolResult(JSON.stringify(data), maxToolResultChars));
|
|
78
151
|
}
|
|
79
152
|
catch (err) {
|
|
80
153
|
const message = err instanceof Error ? err.message : String(err);
|
package/dist/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAiB,MAAM,YAAY,CAAC;AAEtD,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAA6B,SAAS;IAClE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAA4B;KAClF,CAAC,CAAC,CAAC;AACN,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,8 @@ export interface AnthropicTool {
|
|
|
36
36
|
export interface AnthropicRequestBody {
|
|
37
37
|
system?: string;
|
|
38
38
|
messages: AnthropicMessage[];
|
|
39
|
-
tools
|
|
39
|
+
/** Omitted when no tools are advertised (e.g. a forced plain-text turn). */
|
|
40
|
+
tools?: AnthropicTool[];
|
|
40
41
|
}
|
|
41
42
|
/** The subset of an Anthropic Messages response this module reads. */
|
|
42
43
|
export interface AnthropicCompletion {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,oCAAoC;AACpC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,KAAK,EAAE,SAAS,eAAe,EAAE,GAChC,oBAAoB,CA6CtB;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,mBAAmB,GAAG,gBAAgB,CAc1F"}
|
|
@@ -43,11 +43,17 @@ export function toAnthropicRequest(messages, tools) {
|
|
|
43
43
|
return {
|
|
44
44
|
...(systemParts.length > 0 ? { system: systemParts.join("\n\n") } : {}),
|
|
45
45
|
messages: out,
|
|
46
|
-
tools
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
// Omit `tools` when there are none (e.g. the loop's forced synthesis pass)
|
|
47
|
+
// so the model answers in plain text instead of being offered functions.
|
|
48
|
+
...(tools.length > 0
|
|
49
|
+
? {
|
|
50
|
+
tools: tools.map((tool) => ({
|
|
51
|
+
name: tool.name,
|
|
52
|
+
description: tool.description,
|
|
53
|
+
input_schema: tool.parameters,
|
|
54
|
+
})),
|
|
55
|
+
}
|
|
56
|
+
: {}),
|
|
51
57
|
};
|
|
52
58
|
}
|
|
53
59
|
function toToolUse(call) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/hosted.js
CHANGED
|
@@ -51,11 +51,15 @@ export function createHostedProvider(config) {
|
|
|
51
51
|
}
|
|
52
52
|
async function completeOpenAi(config, fetchImpl, request) {
|
|
53
53
|
const url = joinUrl(config.endpoint, "/chat/completions");
|
|
54
|
+
// No tools this turn (e.g. the loop's forced synthesis pass) → omit `tools`
|
|
55
|
+
// and `tool_choice` entirely so the model answers in plain text rather than
|
|
56
|
+
// being nudged to keep calling functions.
|
|
54
57
|
const body = {
|
|
55
58
|
model: config.model,
|
|
56
59
|
messages: toOpenAiMessages(request.messages),
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
...(request.tools.length > 0
|
|
61
|
+
? { tools: toOpenAiTools(request.tools), tool_choice: "auto" }
|
|
62
|
+
: {}),
|
|
59
63
|
};
|
|
60
64
|
const res = await fetchImpl(url, {
|
|
61
65
|
method: "POST",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted.js","sourceRoot":"","sources":["../../src/providers/hosted.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,GAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GAEnB,MAAM,gBAAgB,CAAC;AAuBxB,sEAAsE;AACtE,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAGjC;IAFX,YACE,OAAe,EACN,MAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAQ;QAGvB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AAE/C,SAAS,OAAO,CAAC,IAAY,EAAE,MAAc;IAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,GAAG,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;IAC5C,OAAO;QACL,QAAQ,CAAC,OAAwB;YAC/B,OAAO,MAAM,CAAC,GAAG,KAAK,WAAW;gBAC/B,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;gBAC/C,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAA4B,EAC5B,SAAuB,EACvB,OAAwB;IAExB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG;QACX,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5C,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"hosted.js","sourceRoot":"","sources":["../../src/providers/hosted.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export { type AssistantBackendConfig, type BackendKind, type HostedApi, type HostedBackendConfig, type KeyValueStorage, type WebLlmBackendConfig, BACKEND_CONFIG_STORAGE_KEY, clearBackendConfig, defaultBackendKind, isWebGpuAvailable, loadBackendConfig, saveBackendConfig, } from "./config.js";
|
|
14
14
|
export { type HostedProviderConfig, HostedProviderError, createHostedProvider } from "./hosted.js";
|
|
15
|
-
export { type CuratedModel, type InitProgress, type WebLlmEngine, type WebLlmProvider, type WebLlmProviderOptions, type WebLlmRuntime, CURATED_MODELS, SUPPORTED_TOOL_CALLING_MODELS, UnsupportedToolCallingModelError, WebGpuUnavailableError, WebLlmConsentError, createWebLlmProvider, } from "./webllm.js";
|
|
15
|
+
export { type CuratedModel, type InitProgress, type WebLlmEngine, type WebLlmProvider, type WebLlmProviderOptions, type WebLlmRuntime, CURATED_MODELS, SUPPORTED_TOOL_CALLING_MODELS, UnsupportedToolCallingModelError, WebGpuUnavailableError, WebLlmConsentError, WebLlmStorageError, createWebLlmProvider, isQuotaExceededError, } from "./webllm.js";
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,cAAc,EACd,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,cAAc,EACd,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
package/dist/providers/index.js
CHANGED
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export { BACKEND_CONFIG_STORAGE_KEY, clearBackendConfig, defaultBackendKind, isWebGpuAvailable, loadBackendConfig, saveBackendConfig, } from "./config.js";
|
|
14
14
|
export { HostedProviderError, createHostedProvider } from "./hosted.js";
|
|
15
|
-
export { CURATED_MODELS, SUPPORTED_TOOL_CALLING_MODELS, UnsupportedToolCallingModelError, WebGpuUnavailableError, WebLlmConsentError, createWebLlmProvider, } from "./webllm.js";
|
|
15
|
+
export { CURATED_MODELS, SUPPORTED_TOOL_CALLING_MODELS, UnsupportedToolCallingModelError, WebGpuUnavailableError, WebLlmConsentError, WebLlmStorageError, createWebLlmProvider, isQuotaExceededError, } from "./webllm.js";
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAOL,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAA6B,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAOL,cAAc,EACd,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAOL,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAA6B,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAOL,cAAc,EACd,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
@@ -19,6 +19,12 @@ export interface CuratedModel {
|
|
|
19
19
|
label: string;
|
|
20
20
|
/** Approximate download size, for the consent disclosure. */
|
|
21
21
|
downloadSize: string;
|
|
22
|
+
/**
|
|
23
|
+
* Approximate download size in **bytes** — the numeric counterpart to
|
|
24
|
+
* {@link downloadSize}. Used by the storage preflight to compare against
|
|
25
|
+
* `navigator.storage.estimate()` without parsing the human string.
|
|
26
|
+
*/
|
|
27
|
+
downloadBytes: number;
|
|
22
28
|
/** Approximate GPU memory (VRAM) required. */
|
|
23
29
|
vram: string;
|
|
24
30
|
/** One-line description of the trade-off. */
|
|
@@ -40,11 +46,39 @@ export declare const SUPPORTED_TOOL_CALLING_MODELS: readonly string[];
|
|
|
40
46
|
* only supports function calling on the 7–8B Hermes family (see
|
|
41
47
|
* {@link SUPPORTED_TOOL_CALLING_MODELS}), so there is no small (<3 GB) option —
|
|
42
48
|
* local mode has an inherent ~4 GB download / ~5 GB-VRAM floor. Ordered
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
49
|
+
* **strongest-first** so the default ({@link resolveModel} / a UI `models[0]`
|
|
50
|
+
* pre-select) is the best tool-caller, which most reliably answers even simple
|
|
51
|
+
* single-step questions on a 4-bit local model. Sizes are approximate (sourced
|
|
52
|
+
* from WebLLM's `prebuiltAppConfig`) and shown to the user before any download.
|
|
46
53
|
*/
|
|
47
54
|
export declare const CURATED_MODELS: readonly CuratedModel[];
|
|
55
|
+
/**
|
|
56
|
+
* Context window (in tokens) the adapter requests when initialising a local
|
|
57
|
+
* model, overriding WebLLM's model-record default (which is 4096 for the curated
|
|
58
|
+
* Hermes records). The analytics assistant's prompt — its system instructions
|
|
59
|
+
* plus the tool JSON schemas and any tool results — runs well past 4096 tokens
|
|
60
|
+
* (~5.9k observed on the demo), so the model errored with
|
|
61
|
+
* "Prompt tokens exceed context window size". Every curated Hermes 7–8B model
|
|
62
|
+
* natively supports 8k+ context, so 8192 comfortably fits the prompt with
|
|
63
|
+
* headroom while staying within the models' real limits. Passed through as
|
|
64
|
+
* `chatOpts.context_window_size` (see {@link WebLlmChatOptions}); the
|
|
65
|
+
* mutually-exclusive `sliding_window_size` keeps its model-record default (-1).
|
|
66
|
+
*/
|
|
67
|
+
export declare const DEFAULT_LOCAL_CONTEXT_WINDOW = 8192;
|
|
68
|
+
/**
|
|
69
|
+
* The subset of `@mlc-ai/web-llm`'s `ChatOptions` (`Partial<ChatConfig>`) this
|
|
70
|
+
* adapter sets to override a model record's defaults. Verified against
|
|
71
|
+
* `@mlc-ai/web-llm` v0.2.84: `CreateMLCEngine(modelId, engineConfig?, chatOpts?)`
|
|
72
|
+
* and `ChatConfig` exposes `context_window_size` / `sliding_window_size`. We only
|
|
73
|
+
* ever set `context_window_size`; the field is declared optional so the object is
|
|
74
|
+
* a valid partial override.
|
|
75
|
+
*/
|
|
76
|
+
export interface WebLlmChatOptions {
|
|
77
|
+
/** Token context window to load the model with. */
|
|
78
|
+
context_window_size?: number;
|
|
79
|
+
/** Sliding-window size; mutually exclusive with `context_window_size` in mlc. */
|
|
80
|
+
sliding_window_size?: number;
|
|
81
|
+
}
|
|
48
82
|
/** Progress report emitted while weights download / the engine initialises. */
|
|
49
83
|
export interface InitProgress {
|
|
50
84
|
/** Fraction complete in [0, 1]. */
|
|
@@ -73,7 +107,7 @@ export interface WebLlmRuntime {
|
|
|
73
107
|
progress: number;
|
|
74
108
|
text: string;
|
|
75
109
|
}) => void;
|
|
76
|
-
}): Promise<WebLlmEngine>;
|
|
110
|
+
}, chatOpts?: WebLlmChatOptions): Promise<WebLlmEngine>;
|
|
77
111
|
}
|
|
78
112
|
/** Options for {@link createWebLlmProvider}. */
|
|
79
113
|
export interface WebLlmProviderOptions {
|
|
@@ -87,6 +121,13 @@ export interface WebLlmProviderOptions {
|
|
|
87
121
|
confirmDownload?: (model: CuratedModel) => boolean | Promise<boolean>;
|
|
88
122
|
/** Called with download/initialise progress. */
|
|
89
123
|
onInitProgress?: (progress: InitProgress) => void;
|
|
124
|
+
/**
|
|
125
|
+
* Token context window to load the local model with, overriding the model
|
|
126
|
+
* record's default. Defaults to {@link DEFAULT_LOCAL_CONTEXT_WINDOW} (8192),
|
|
127
|
+
* which fits the assistant's prompt on every curated Hermes model. Raise it
|
|
128
|
+
* only up to a value the selected model actually supports.
|
|
129
|
+
*/
|
|
130
|
+
contextWindowSize?: number;
|
|
90
131
|
/**
|
|
91
132
|
* Injectable runtime loader (for tests / custom hosting). Defaults to a lazy
|
|
92
133
|
* `import("@mlc-ai/web-llm")`.
|
|
@@ -118,6 +159,27 @@ export declare class WebLlmConsentError extends Error {
|
|
|
118
159
|
export declare class UnsupportedToolCallingModelError extends Error {
|
|
119
160
|
constructor(modelId: string);
|
|
120
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Thrown when the browser is out of storage for the local model. WebLLM caches
|
|
164
|
+
* each curated model's ~4 GB of weights in the origin's **Cache Storage**;
|
|
165
|
+
* loading or switching among several curated models accumulates multiple copies
|
|
166
|
+
* until the per-origin storage quota is exceeded, at which point the Cache API
|
|
167
|
+
* `put` throws a `QuotaExceededError` DOMException. That is a **browser storage**
|
|
168
|
+
* limit — never an LLM API quota (the local backend has zero network egress), so
|
|
169
|
+
* the raw "Quota exceeded." message is misleading. This typed error carries an
|
|
170
|
+
* actionable remedy instead. See {@link isQuotaExceededError} for classification
|
|
171
|
+
* (by `instanceof`/`.name` only — never a regex over the message, per ADR/CodeQL).
|
|
172
|
+
*/
|
|
173
|
+
export declare class WebLlmStorageError extends Error {
|
|
174
|
+
constructor(message?: string);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Classify a thrown value as a browser storage-quota error **without** parsing
|
|
178
|
+
* its message (no regex — avoids CodeQL ReDoS on attacker-influenced text). A
|
|
179
|
+
* quota failure surfaces as a `DOMException` named `"QuotaExceededError"`; some
|
|
180
|
+
* non-DOM runtimes throw a plain object with the same `name`, so accept that too.
|
|
181
|
+
*/
|
|
182
|
+
export declare function isQuotaExceededError(err: unknown): boolean;
|
|
121
183
|
/**
|
|
122
184
|
* Fold any `system` message into the first `user` turn for WebLLM's Hermes
|
|
123
185
|
* function-calling path.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webllm.d.ts","sourceRoot":"","sources":["../../src/providers/webllm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAqC,MAAM,gBAAgB,CAAC;AAEnG,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAM1D,CAAC;
|
|
1
|
+
{"version":3,"file":"webllm.d.ts","sourceRoot":"","sources":["../../src/providers/webllm.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/webllm.js
CHANGED
|
@@ -28,38 +28,59 @@ export const SUPPORTED_TOOL_CALLING_MODELS = [
|
|
|
28
28
|
"Hermes-3-Llama-3.1-8B-q4f32_1-MLC",
|
|
29
29
|
"Hermes-3-Llama-3.1-8B-q4f16_1-MLC",
|
|
30
30
|
];
|
|
31
|
+
/** Bytes per binary gigabyte (GiB) — the unit browsers report cache usage in. */
|
|
32
|
+
const BYTES_PER_GIB = 1024 ** 3;
|
|
33
|
+
/** Extra free space (beyond the raw download) the storage preflight insists on. */
|
|
34
|
+
const STORAGE_HEADROOM_BYTES = Math.round(0.5 * BYTES_PER_GIB);
|
|
31
35
|
/**
|
|
32
36
|
* A small, curated set of **tool-calling-capable** models (ADR 0050 §4). WebLLM
|
|
33
37
|
* only supports function calling on the 7–8B Hermes family (see
|
|
34
38
|
* {@link SUPPORTED_TOOL_CALLING_MODELS}), so there is no small (<3 GB) option —
|
|
35
39
|
* local mode has an inherent ~4 GB download / ~5 GB-VRAM floor. Ordered
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
40
|
+
* **strongest-first** so the default ({@link resolveModel} / a UI `models[0]`
|
|
41
|
+
* pre-select) is the best tool-caller, which most reliably answers even simple
|
|
42
|
+
* single-step questions on a 4-bit local model. Sizes are approximate (sourced
|
|
43
|
+
* from WebLLM's `prebuiltAppConfig`) and shown to the user before any download.
|
|
39
44
|
*/
|
|
40
45
|
export const CURATED_MODELS = [
|
|
41
46
|
{
|
|
42
|
-
id: "Hermes-
|
|
43
|
-
label: "Hermes
|
|
44
|
-
downloadSize: "~
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
id: "Hermes-3-Llama-3.1-8B-q4f16_1-MLC",
|
|
48
|
+
label: "Hermes 3 (Llama 3.1 8B)",
|
|
49
|
+
downloadSize: "~4.5 GB",
|
|
50
|
+
downloadBytes: Math.round(4.5 * BYTES_PER_GIB),
|
|
51
|
+
vram: "~4.9 GB",
|
|
52
|
+
description: "Highest quality; the default. Needs a capable GPU (~5 GB VRAM).",
|
|
47
53
|
},
|
|
48
54
|
{
|
|
49
55
|
id: "Hermes-2-Pro-Llama-3-8B-q4f16_1-MLC",
|
|
50
56
|
label: "Hermes 2 Pro (Llama 3 8B)",
|
|
51
57
|
downloadSize: "~4.6 GB",
|
|
58
|
+
downloadBytes: Math.round(4.6 * BYTES_PER_GIB),
|
|
52
59
|
vram: "~5.0 GB",
|
|
53
60
|
description: "Stronger Llama-3 base; needs a capable GPU.",
|
|
54
61
|
},
|
|
55
62
|
{
|
|
56
|
-
id: "Hermes-
|
|
57
|
-
label: "Hermes
|
|
58
|
-
downloadSize: "~
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
id: "Hermes-2-Pro-Mistral-7B-q4f16_1-MLC",
|
|
64
|
+
label: "Hermes 2 Pro (Mistral 7B)",
|
|
65
|
+
downloadSize: "~3.9 GB",
|
|
66
|
+
downloadBytes: Math.round(3.9 * BYTES_PER_GIB),
|
|
67
|
+
vram: "~4.0 GB",
|
|
68
|
+
description: "Smallest tool-calling model; the least-VRAM fallback.",
|
|
61
69
|
},
|
|
62
70
|
];
|
|
71
|
+
/**
|
|
72
|
+
* Context window (in tokens) the adapter requests when initialising a local
|
|
73
|
+
* model, overriding WebLLM's model-record default (which is 4096 for the curated
|
|
74
|
+
* Hermes records). The analytics assistant's prompt — its system instructions
|
|
75
|
+
* plus the tool JSON schemas and any tool results — runs well past 4096 tokens
|
|
76
|
+
* (~5.9k observed on the demo), so the model errored with
|
|
77
|
+
* "Prompt tokens exceed context window size". Every curated Hermes 7–8B model
|
|
78
|
+
* natively supports 8k+ context, so 8192 comfortably fits the prompt with
|
|
79
|
+
* headroom while staying within the models' real limits. Passed through as
|
|
80
|
+
* `chatOpts.context_window_size` (see {@link WebLlmChatOptions}); the
|
|
81
|
+
* mutually-exclusive `sliding_window_size` keeps its model-record default (-1).
|
|
82
|
+
*/
|
|
83
|
+
export const DEFAULT_LOCAL_CONTEXT_WINDOW = 8192;
|
|
63
84
|
/** Thrown when the local backend is used on a browser without WebGPU. */
|
|
64
85
|
export class WebGpuUnavailableError extends Error {
|
|
65
86
|
constructor() {
|
|
@@ -88,6 +109,95 @@ export class UnsupportedToolCallingModelError extends Error {
|
|
|
88
109
|
this.name = "UnsupportedToolCallingModelError";
|
|
89
110
|
}
|
|
90
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Thrown when the browser is out of storage for the local model. WebLLM caches
|
|
114
|
+
* each curated model's ~4 GB of weights in the origin's **Cache Storage**;
|
|
115
|
+
* loading or switching among several curated models accumulates multiple copies
|
|
116
|
+
* until the per-origin storage quota is exceeded, at which point the Cache API
|
|
117
|
+
* `put` throws a `QuotaExceededError` DOMException. That is a **browser storage**
|
|
118
|
+
* limit — never an LLM API quota (the local backend has zero network egress), so
|
|
119
|
+
* the raw "Quota exceeded." message is misleading. This typed error carries an
|
|
120
|
+
* actionable remedy instead. See {@link isQuotaExceededError} for classification
|
|
121
|
+
* (by `instanceof`/`.name` only — never a regex over the message, per ADR/CodeQL).
|
|
122
|
+
*/
|
|
123
|
+
export class WebLlmStorageError extends Error {
|
|
124
|
+
constructor(message) {
|
|
125
|
+
super(message ??
|
|
126
|
+
"Your browser is out of storage for the local model (each model needs ~4 GB of cache). " +
|
|
127
|
+
"Free up disk space, clear this site's cached data, or switch to a hosted backend, then retry.");
|
|
128
|
+
this.name = "WebLlmStorageError";
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Classify a thrown value as a browser storage-quota error **without** parsing
|
|
133
|
+
* its message (no regex — avoids CodeQL ReDoS on attacker-influenced text). A
|
|
134
|
+
* quota failure surfaces as a `DOMException` named `"QuotaExceededError"`; some
|
|
135
|
+
* non-DOM runtimes throw a plain object with the same `name`, so accept that too.
|
|
136
|
+
*/
|
|
137
|
+
export function isQuotaExceededError(err) {
|
|
138
|
+
if (typeof DOMException !== "undefined" && err instanceof DOMException) {
|
|
139
|
+
return err.name === "QuotaExceededError";
|
|
140
|
+
}
|
|
141
|
+
return (typeof err === "object" &&
|
|
142
|
+
err !== null &&
|
|
143
|
+
"name" in err &&
|
|
144
|
+
err.name === "QuotaExceededError");
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Map a caught value to a {@link WebLlmStorageError} when — and only when — it is
|
|
148
|
+
* a browser storage-quota failure; otherwise return it unchanged so genuine
|
|
149
|
+
* WebGPU/network/model errors propagate. Never swallows non-quota errors.
|
|
150
|
+
*/
|
|
151
|
+
function mapStorageError(err) {
|
|
152
|
+
return isQuotaExceededError(err) ? new WebLlmStorageError() : err;
|
|
153
|
+
}
|
|
154
|
+
function getStorageEstimator() {
|
|
155
|
+
const storage = typeof navigator !== "undefined"
|
|
156
|
+
? navigator.storage
|
|
157
|
+
: undefined;
|
|
158
|
+
if (storage && typeof storage.estimate === "function") {
|
|
159
|
+
return storage;
|
|
160
|
+
}
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Best-effort, **soft** preflight: fail fast with a {@link WebLlmStorageError}
|
|
165
|
+
* *before* a multi-GB download when free storage is unambiguously too small,
|
|
166
|
+
* which otherwise produces a corrupt half-download (silent "no response").
|
|
167
|
+
*
|
|
168
|
+
* `navigator.storage.estimate()` is imprecise and often reports a large origin
|
|
169
|
+
* budget even when the disk is nearly full, so this only throws when the numbers
|
|
170
|
+
* clearly show insufficient headroom, and is skipped entirely when the API is
|
|
171
|
+
* unavailable — the real quota error is still caught and classified at write time.
|
|
172
|
+
*/
|
|
173
|
+
async function preflightStorage(model) {
|
|
174
|
+
const estimator = getStorageEstimator();
|
|
175
|
+
if (!estimator)
|
|
176
|
+
return;
|
|
177
|
+
let estimate;
|
|
178
|
+
try {
|
|
179
|
+
estimate = await estimator.estimate();
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
// An estimate failure is non-fatal — proceed and let the write-time
|
|
183
|
+
// classifier handle a real quota error.
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const quota = estimate.quota;
|
|
187
|
+
const usage = estimate.usage ?? 0;
|
|
188
|
+
if (typeof quota !== "number" || quota <= 0)
|
|
189
|
+
return;
|
|
190
|
+
const free = quota - usage;
|
|
191
|
+
// Require the download plus a small headroom margin; only throw when the
|
|
192
|
+
// estimate is confident there is not enough room.
|
|
193
|
+
const needed = model.downloadBytes + STORAGE_HEADROOM_BYTES;
|
|
194
|
+
if (free < needed) {
|
|
195
|
+
const neededGib = (model.downloadBytes / BYTES_PER_GIB).toFixed(1);
|
|
196
|
+
throw new WebLlmStorageError(`Not enough browser storage for ${model.label}: it needs about ${neededGib} GB of free ` +
|
|
197
|
+
"cache space. Free up disk space or clear this site's cached data, then retry — " +
|
|
198
|
+
"or switch to a hosted backend.");
|
|
199
|
+
}
|
|
200
|
+
}
|
|
91
201
|
/** A separator between the folded system instructions and the user's question. */
|
|
92
202
|
const SYSTEM_FOLD_SEPARATOR = "\n\n";
|
|
93
203
|
/**
|
|
@@ -145,7 +255,14 @@ export function foldSystemPromptForHermes(messages) {
|
|
|
145
255
|
}
|
|
146
256
|
function resolveModel(id) {
|
|
147
257
|
const model = id ? CURATED_MODELS.find((m) => m.id === id) : CURATED_MODELS[0];
|
|
148
|
-
return model ?? {
|
|
258
|
+
return (model ?? {
|
|
259
|
+
id: id ?? "",
|
|
260
|
+
label: id ?? "",
|
|
261
|
+
downloadSize: "?",
|
|
262
|
+
downloadBytes: 0,
|
|
263
|
+
vram: "?",
|
|
264
|
+
description: "",
|
|
265
|
+
});
|
|
149
266
|
}
|
|
150
267
|
const defaultLoadRuntime = () => import("@mlc-ai/web-llm");
|
|
151
268
|
/**
|
|
@@ -163,6 +280,7 @@ export function createWebLlmProvider(options = {}) {
|
|
|
163
280
|
}
|
|
164
281
|
const loadRuntime = options.loadRuntime ?? defaultLoadRuntime;
|
|
165
282
|
const hasWebGpu = options.hasWebGpu ?? (() => isWebGpuAvailable());
|
|
283
|
+
const contextWindowSize = options.contextWindowSize ?? DEFAULT_LOCAL_CONTEXT_WINDOW;
|
|
166
284
|
let enginePromise;
|
|
167
285
|
function ensureEngine() {
|
|
168
286
|
if (!enginePromise) {
|
|
@@ -182,29 +300,53 @@ export function createWebLlmProvider(options = {}) {
|
|
|
182
300
|
if (!ok)
|
|
183
301
|
throw new WebLlmConsentError();
|
|
184
302
|
}
|
|
303
|
+
// Fail fast if free browser storage is unambiguously too small for the
|
|
304
|
+
// multi-GB download, avoiding a corrupt half-download (silent no-response).
|
|
305
|
+
await preflightStorage(model);
|
|
185
306
|
const runtime = await loadRuntime();
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
307
|
+
// Override the model record's default context window (4096 for the curated
|
|
308
|
+
// Hermes records) so the assistant's system prompt + tool schemas + results
|
|
309
|
+
// fit. `sliding_window_size` is left at its model-record default (-1); the
|
|
310
|
+
// two are mutually exclusive in mlc.
|
|
311
|
+
try {
|
|
312
|
+
return await runtime.CreateMLCEngine(model.id, {
|
|
313
|
+
initProgressCallback: options.onInitProgress
|
|
314
|
+
? (report) => options.onInitProgress?.({ progress: report.progress, text: report.text })
|
|
315
|
+
: undefined,
|
|
316
|
+
}, { context_window_size: contextWindowSize });
|
|
317
|
+
}
|
|
318
|
+
catch (err) {
|
|
319
|
+
// Weights are written to Cache Storage during init; a full origin quota
|
|
320
|
+
// surfaces as a QuotaExceededError. Reclassify only that — everything else
|
|
321
|
+
// (WebGPU, network, model errors) propagates unchanged.
|
|
322
|
+
throw mapStorageError(err);
|
|
323
|
+
}
|
|
191
324
|
}
|
|
192
325
|
return {
|
|
193
326
|
async complete(request) {
|
|
194
327
|
const engine = await ensureEngine();
|
|
328
|
+
const hasTools = request.tools.length > 0;
|
|
195
329
|
// WebLLM's Hermes tool-calling path injects its own system prompt and
|
|
196
330
|
// rejects a caller-supplied `system` message when `tools` are present, so
|
|
197
331
|
// fold our system instructions into the first user turn for that case.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
332
|
+
// Without tools (e.g. the loop's forced synthesis pass) a custom `system`
|
|
333
|
+
// message is allowed, so we keep it and send no function-calling at all.
|
|
334
|
+
const messages = hasTools ? foldSystemPromptForHermes(request.messages) : request.messages;
|
|
335
|
+
try {
|
|
336
|
+
const completion = await engine.chat.completions.create({
|
|
337
|
+
messages: toOpenAiMessages(messages),
|
|
338
|
+
...(hasTools
|
|
339
|
+
? { tools: toOpenAiTools(request.tools), tool_choice: "auto" }
|
|
340
|
+
: {}),
|
|
341
|
+
stream: false,
|
|
342
|
+
});
|
|
343
|
+
return parseOpenAiCompletion(completion);
|
|
344
|
+
}
|
|
345
|
+
catch (err) {
|
|
346
|
+
// Generation can also write to Cache Storage (e.g. lazily fetched shards),
|
|
347
|
+
// so a quota failure here maps to the same actionable storage error.
|
|
348
|
+
throw mapStorageError(err);
|
|
349
|
+
}
|
|
208
350
|
},
|
|
209
351
|
async unload() {
|
|
210
352
|
const promise = enginePromise;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webllm.js","sourceRoot":"","sources":["../../src/providers/webllm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,GAId,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"webllm.js","sourceRoot":"","sources":["../../src/providers/webllm.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -25,4 +25,30 @@ export interface ReadTool {
|
|
|
25
25
|
* aggregate, read-only, and privacy-preserving (ADR 0003 / ADR 0017).
|
|
26
26
|
*/
|
|
27
27
|
export declare const readTools: readonly ReadTool[];
|
|
28
|
+
/**
|
|
29
|
+
* Names of the **core** read tools — a small, single-step-friendly subset of
|
|
30
|
+
* {@link readTools} for small local models (ADR 0050). A 4-bit 7–8B model folds
|
|
31
|
+
* every tool schema into its function-calling system prompt, so sending all 20
|
|
32
|
+
* overwhelms it and degrades selection even for simple questions. This subset
|
|
33
|
+
* covers the most common single-metric questions (recent sessions, active
|
|
34
|
+
* scenes, top meshes, FPS, event counts, event volume over time, and one
|
|
35
|
+
* view-direction heatmap).
|
|
36
|
+
*
|
|
37
|
+
* Plain string membership only — used to FILTER {@link readTools} below, never to
|
|
38
|
+
* redefine any tool shape (schema lives once; ADR).
|
|
39
|
+
*/
|
|
40
|
+
export declare const CORE_READ_TOOL_NAMES: readonly string[];
|
|
41
|
+
/**
|
|
42
|
+
* The core read tools: a FILTERED VIEW of {@link readTools} (never a
|
|
43
|
+
* re-declaration), preserving each tool's single source-of-truth definition.
|
|
44
|
+
*/
|
|
45
|
+
export declare const coreReadTools: readonly ReadTool[];
|
|
46
|
+
/** Which read-tool surface to expose to the model. */
|
|
47
|
+
export type ReadToolSetKind = "core" | "full";
|
|
48
|
+
/**
|
|
49
|
+
* Select the read-tool set to hand a run. Small local models get the focused
|
|
50
|
+
* {@link coreReadTools}; frontier hosted models get the {@link readTools} full
|
|
51
|
+
* catalog. Both are views of the same single tool definitions.
|
|
52
|
+
*/
|
|
53
|
+
export declare function selectReadTools(kind: ReadToolSetKind): readonly ReadTool[];
|
|
28
54
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,eAAe,CAAC;CAClE;AAqDD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAwRxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,eAAe,CAAC;CAClE;AAqDD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAwRxC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAQjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAE5C,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,QAAQ,EAAE,CAE1E"}
|
package/dist/tools.js
CHANGED
|
@@ -324,4 +324,38 @@ export const readTools = [
|
|
|
324
324
|
}),
|
|
325
325
|
},
|
|
326
326
|
];
|
|
327
|
+
/**
|
|
328
|
+
* Names of the **core** read tools — a small, single-step-friendly subset of
|
|
329
|
+
* {@link readTools} for small local models (ADR 0050). A 4-bit 7–8B model folds
|
|
330
|
+
* every tool schema into its function-calling system prompt, so sending all 20
|
|
331
|
+
* overwhelms it and degrades selection even for simple questions. This subset
|
|
332
|
+
* covers the most common single-metric questions (recent sessions, active
|
|
333
|
+
* scenes, top meshes, FPS, event counts, event volume over time, and one
|
|
334
|
+
* view-direction heatmap).
|
|
335
|
+
*
|
|
336
|
+
* Plain string membership only — used to FILTER {@link readTools} below, never to
|
|
337
|
+
* redefine any tool shape (schema lives once; ADR).
|
|
338
|
+
*/
|
|
339
|
+
export const CORE_READ_TOOL_NAMES = [
|
|
340
|
+
"list_sessions",
|
|
341
|
+
"list_scenes",
|
|
342
|
+
"top_meshes",
|
|
343
|
+
"perf_summary",
|
|
344
|
+
"event_counts",
|
|
345
|
+
"timeseries",
|
|
346
|
+
"camera_heatmap",
|
|
347
|
+
];
|
|
348
|
+
/**
|
|
349
|
+
* The core read tools: a FILTERED VIEW of {@link readTools} (never a
|
|
350
|
+
* re-declaration), preserving each tool's single source-of-truth definition.
|
|
351
|
+
*/
|
|
352
|
+
export const coreReadTools = readTools.filter((tool) => CORE_READ_TOOL_NAMES.includes(tool.name));
|
|
353
|
+
/**
|
|
354
|
+
* Select the read-tool set to hand a run. Small local models get the focused
|
|
355
|
+
* {@link coreReadTools}; frontier hosted models get the {@link readTools} full
|
|
356
|
+
* catalog. Both are views of the same single tool definitions.
|
|
357
|
+
*/
|
|
358
|
+
export function selectReadTools(kind) {
|
|
359
|
+
return kind === "core" ? coreReadTools : readTools;
|
|
360
|
+
}
|
|
327
361
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uptimizr/agent-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Framework-agnostic, browser-safe core for Uptimizr analytics agents — the single read-only tool catalog over the collector query API, a headless LLM provider-adapter interface, and the tool-calling loop.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"uptimizr",
|