@inbrowser/model 0.1.1 → 0.4.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/AGENTS.md +44 -18
- package/README.md +129 -20
- package/dist/contract.d.ts +104 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +13 -0
- package/dist/contract.js.map +1 -0
- package/dist/engine-client.d.ts +44 -0
- package/dist/engine-client.d.ts.map +1 -0
- package/dist/engine-client.js +136 -0
- package/dist/engine-client.js.map +1 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +20 -10
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +25 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -8
- package/dist/index.js.map +1 -1
- package/dist/presets.d.ts +10 -0
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +21 -0
- package/dist/presets.js.map +1 -1
- package/dist/providers/anthropic.d.ts +45 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +217 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/claude-cli.d.ts +135 -0
- package/dist/providers/claude-cli.d.ts.map +1 -0
- package/dist/providers/claude-cli.js +270 -0
- package/dist/providers/claude-cli.js.map +1 -0
- package/dist/providers/claude-code.d.ts +188 -0
- package/dist/providers/claude-code.d.ts.map +1 -0
- package/dist/providers/claude-code.js +182 -0
- package/dist/providers/claude-code.js.map +1 -0
- package/dist/providers/gemini.d.ts +32 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +441 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/llama-server.d.ts +15 -0
- package/dist/providers/llama-server.d.ts.map +1 -0
- package/dist/providers/llama-server.js +51 -0
- package/dist/providers/llama-server.js.map +1 -0
- package/dist/providers/oai-compat.d.ts +113 -0
- package/dist/providers/oai-compat.d.ts.map +1 -0
- package/dist/providers/oai-compat.js +257 -0
- package/dist/providers/oai-compat.js.map +1 -0
- package/dist/providers/ollama.d.ts +15 -0
- package/dist/providers/ollama.d.ts.map +1 -0
- package/dist/providers/ollama.js +51 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/openrouter-oauth.d.ts +67 -0
- package/dist/providers/openrouter-oauth.d.ts.map +1 -0
- package/dist/providers/openrouter-oauth.js +84 -0
- package/dist/providers/openrouter-oauth.js.map +1 -0
- package/dist/providers/openrouter.d.ts +16 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +27 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/requesty.d.ts +16 -0
- package/dist/providers/requesty.d.ts.map +1 -0
- package/dist/providers/requesty.js +27 -0
- package/dist/providers/requesty.js.map +1 -0
- package/dist/providers/types.d.ts +50 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +2 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/sse.d.ts +20 -0
- package/dist/sse.d.ts.map +1 -0
- package/dist/sse.js +47 -0
- package/dist/sse.js.map +1 -0
- package/dist/types.d.ts +2 -13
- package/dist/types.d.ts.map +1 -1
- package/dist/usage.d.ts +6 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +55 -0
- package/dist/usage.js.map +1 -0
- package/dist/with-retry.d.ts +27 -0
- package/dist/with-retry.d.ts.map +1 -0
- package/dist/with-retry.js +55 -0
- package/dist/with-retry.js.map +1 -0
- package/dist/worker.d.ts +1 -1
- package/dist/worker.js +1 -1
- package/package.json +14 -30
- package/dist/adapters/agent.d.ts +0 -19
- package/dist/adapters/agent.d.ts.map +0 -1
- package/dist/adapters/agent.js +0 -96
- package/dist/adapters/agent.js.map +0 -1
- package/dist/adapters/relay.d.ts +0 -17
- package/dist/adapters/relay.d.ts.map +0 -1
- package/dist/adapters/relay.js +0 -90
- package/dist/adapters/relay.js.map +0 -1
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,21 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@inbrowser/model` — on-device LLM engine.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Everything ships from this single root export: the engine factory +
|
|
5
|
+
* types + `definePreset`, the bundled presets, the shared `ModelClient`
|
|
6
|
+
* contract, the cloud provider factories, the engine-client adapter,
|
|
7
|
+
* `withRetry`, and the in-worker host/connect helpers. There are no
|
|
8
|
+
* subpaths — the on-device transformers runtime is lazy-loaded, so
|
|
9
|
+
* importing the root never statically pulls ONNX/WASM into a
|
|
10
|
+
* cloud-only consumer.
|
|
10
11
|
*
|
|
11
12
|
* Spread a preset into `createEngine` to get a running engine:
|
|
12
13
|
*
|
|
13
|
-
* import { createEngine } from '@inbrowser/model';
|
|
14
|
-
* import { gemma4_E2B } from '@inbrowser/model/presets';
|
|
14
|
+
* import { createEngine, gemma4_E2B } from '@inbrowser/model';
|
|
15
15
|
* const engine = createEngine(gemma4_E2B);
|
|
16
16
|
*/
|
|
17
17
|
export { createEngine, definePreset } from './engine.js';
|
|
18
|
+
export { createEngineModelClient } from './engine-client.js';
|
|
18
19
|
export { parseToolCalls, type ToolCallParseOpts } from './parse-tool-calls.js';
|
|
19
20
|
export { splitThinking, type ThinkingSplitOpts } from './think.js';
|
|
21
|
+
export { emptyModelUsage, normalizeModelUsage, sumModelUsage, type ModelUsageInput, } from './usage.js';
|
|
22
|
+
export { connectWorkerEngine, hostEngineInWorker, type ConnectWorkerEngineOpts, type HostEngineInWorkerOpts, type WorkerHostHandle, } from './worker.js';
|
|
23
|
+
export { geminiModelClient, buildGeminiRequest, geminiEventsFromResponse, sanitizeGeminiSchema, type GeminiConfig, } from './providers/gemini.js';
|
|
24
|
+
export { openrouterModelClient, toOaiTools as toOpenRouterTools, type OpenRouterConfig, } from './providers/openrouter.js';
|
|
25
|
+
export { requestyModelClient, toOaiTools as toRequestyTools, type RequestyConfig, } from './providers/requesty.js';
|
|
26
|
+
export { beginOpenRouterOAuth, completeOpenRouterOAuth, type BeginOpenRouterOAuthOpts, type CompleteOpenRouterOAuthOpts, type OpenRouterOAuthResult, type OpenRouterOAuthStart, } from './providers/openrouter-oauth.js';
|
|
27
|
+
export { anthropicModelClient, toAnthropicTools, type AnthropicConfig, } from './providers/anthropic.js';
|
|
28
|
+
export { openaiCompatModelClient, toOaiTools, type OpenAiCompatConfig, } from './providers/oai-compat.js';
|
|
29
|
+
export { ollamaModelClient, toOaiTools as toOllamaTools, type OllamaConfig, } from './providers/ollama.js';
|
|
30
|
+
export { llamaServerModelClient, type LlamaServerConfig } from './providers/llama-server.js';
|
|
31
|
+
export { claudeCliModelClient, renderPrompt, type ClaudeCliConfig, type ClaudeCliOptions, } from './providers/claude-cli.js';
|
|
32
|
+
export { claudeCodeModelClient, type ClaudeCodeConfig } from './providers/claude-code.js';
|
|
33
|
+
export { withRetry, type WithRetryOpts } from './with-retry.js';
|
|
34
|
+
export type { CloudProviderConfig, ModelClientFactory } from './providers/types.js';
|
|
35
|
+
export { deepseek_r1_qwen_1_5b, gemma4_E2B, gemma4_E4B, qwen2_5_0_5b, qwen2_5_coder_1_5b, qwen3_1_7b, smollm2_360m, } from './presets.js';
|
|
20
36
|
export type { Backend, CreateEngineOpts, Dtype, Engine, EngineCapabilities, EngineEvent, EngineEventMap, EngineHooks, EngineMessage, EngineState, GenerateOpts, LoadProgress, MediaPart, ModelPreset, ModelRef, ToolSpec, } from './types.js';
|
|
37
|
+
export type { ModelClient, ModelEvent, ModelMessage, ModelRequest, ModelUsage, ReasoningEffort, } from './contract.js';
|
|
21
38
|
//# 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;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,UAAU,IAAI,iBAAiB,EAC/B,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,UAAU,IAAI,eAAe,EAC7B,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,iBAAiB,EACjB,UAAU,IAAI,aAAa,EAC3B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAG7F,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG1F,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAIpF,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,YAAY,CAAC;AAIpB,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,eAAe,GAChB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,58 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@inbrowser/model` — on-device LLM engine.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Everything ships from this single root export: the engine factory +
|
|
5
|
+
* types + `definePreset`, the bundled presets, the shared `ModelClient`
|
|
6
|
+
* contract, the cloud provider factories, the engine-client adapter,
|
|
7
|
+
* `withRetry`, and the in-worker host/connect helpers. There are no
|
|
8
|
+
* subpaths — the on-device transformers runtime is lazy-loaded, so
|
|
9
|
+
* importing the root never statically pulls ONNX/WASM into a
|
|
10
|
+
* cloud-only consumer.
|
|
10
11
|
*
|
|
11
12
|
* Spread a preset into `createEngine` to get a running engine:
|
|
12
13
|
*
|
|
13
|
-
* import { createEngine } from '@inbrowser/model';
|
|
14
|
-
* import { gemma4_E2B } from '@inbrowser/model/presets';
|
|
14
|
+
* import { createEngine, gemma4_E2B } from '@inbrowser/model';
|
|
15
15
|
* const engine = createEngine(gemma4_E2B);
|
|
16
16
|
*/
|
|
17
17
|
export { createEngine, definePreset } from './engine.js';
|
|
18
|
+
// The on-device engine as a `ModelClient` (wraps `EngineEvent` → `ModelEvent`).
|
|
19
|
+
// Runtime, not type-only.
|
|
20
|
+
export { createEngineModelClient } from './engine-client.js';
|
|
18
21
|
export { parseToolCalls } from './parse-tool-calls.js';
|
|
19
22
|
export { splitThinking } from './think.js';
|
|
23
|
+
export { emptyModelUsage, normalizeModelUsage, sumModelUsage, } from './usage.js';
|
|
24
|
+
// In-worker transport: host an `Engine` inside a Web Worker and connect a
|
|
25
|
+
// matching `Engine` stub on the main thread.
|
|
26
|
+
export { connectWorkerEngine, hostEngineInWorker, } from './worker.js';
|
|
27
|
+
// Cloud provider factories. Each returns a `ModelClient`; construction
|
|
28
|
+
// settings (apiKey / model / baseUrl) come in the factory config, per-call
|
|
29
|
+
// settings (messages / tools / sampling) come in the `ModelRequest`.
|
|
30
|
+
export { geminiModelClient, buildGeminiRequest, geminiEventsFromResponse, sanitizeGeminiSchema, } from './providers/gemini.js';
|
|
31
|
+
export { openrouterModelClient, toOaiTools as toOpenRouterTools, } from './providers/openrouter.js';
|
|
32
|
+
export { requestyModelClient, toOaiTools as toRequestyTools, } from './providers/requesty.js';
|
|
33
|
+
// OpenRouter OAuth (PKCE): a browser "Connect OpenRouter" flow that mints a
|
|
34
|
+
// user-controlled, revocable key for `openrouterModelClient` with no backend.
|
|
35
|
+
export { beginOpenRouterOAuth, completeOpenRouterOAuth, } from './providers/openrouter-oauth.js';
|
|
36
|
+
export { anthropicModelClient, toAnthropicTools, } from './providers/anthropic.js';
|
|
37
|
+
// The generic OpenAI-compatible factory + its shared tool encoder. Point
|
|
38
|
+
// it at any OAI server (vLLM, LM Studio, LocalAI, …); the named local
|
|
39
|
+
// presets below are thin wrappers over it.
|
|
40
|
+
export { openaiCompatModelClient, toOaiTools, } from './providers/oai-compat.js';
|
|
41
|
+
// ollama re-exports the shared `toOaiTools`; alias the named-client export
|
|
42
|
+
// to keep the historical `toOllamaTools` root name.
|
|
43
|
+
export { ollamaModelClient, toOaiTools as toOllamaTools, } from './providers/ollama.js';
|
|
44
|
+
// llama.cpp's llama-server — same OAI core, default :8080, optional Bearer.
|
|
45
|
+
export { llamaServerModelClient } from './providers/llama-server.js';
|
|
46
|
+
// claude-cli is Node-only (spawns a subprocess) but SSR-safe to import:
|
|
47
|
+
// nothing runs until the client's `chat` is invoked.
|
|
48
|
+
export { claudeCliModelClient, renderPrompt, } from './providers/claude-cli.js';
|
|
49
|
+
// claude-code uses the Claude Code Agent SDK programmatically. The SDK is
|
|
50
|
+
// an OPTIONAL peer dep — consumers who don't use this provider don't need
|
|
51
|
+
// it. Importing this file is SSR-safe; the SDK is lazy-loaded inside chat.
|
|
52
|
+
export { claudeCodeModelClient } from './providers/claude-code.js';
|
|
53
|
+
// The reusable transient-retry decorator (was the site's relay bridge).
|
|
54
|
+
export { withRetry } from './with-retry.js';
|
|
55
|
+
// Bundled presets — pure data (~6 KB total) with no peer-dep activation,
|
|
56
|
+
// no Node-only APIs, no bundle-weight concern.
|
|
57
|
+
export { deepseek_r1_qwen_1_5b, gemma4_E2B, gemma4_E4B, qwen2_5_0_5b, qwen2_5_coder_1_5b, qwen3_1_7b, smollm2_360m, } from './presets.js';
|
|
20
58
|
//# 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;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAA0B,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,gFAAgF;AAChF,0BAA0B;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAA0B,MAAM,YAAY,CAAC;AACnE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,aAAa,GAEd,MAAM,YAAY,CAAC;AACpB,0EAA0E;AAC1E,6CAA6C;AAC7C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GAInB,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,2EAA2E;AAC3E,qEAAqE;AACrE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,UAAU,IAAI,iBAAiB,GAEhC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,UAAU,IAAI,eAAe,GAE9B,MAAM,yBAAyB,CAAC;AACjC,4EAA4E;AAC5E,8EAA8E;AAC9E,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GAKxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GAEjB,MAAM,0BAA0B,CAAC;AAClC,yEAAyE;AACzE,sEAAsE;AACtE,2CAA2C;AAC3C,OAAO,EACL,uBAAuB,EACvB,UAAU,GAEX,MAAM,2BAA2B,CAAC;AACnC,2EAA2E;AAC3E,oDAAoD;AACpD,OAAO,EACL,iBAAiB,EACjB,UAAU,IAAI,aAAa,GAE5B,MAAM,uBAAuB,CAAC;AAC/B,4EAA4E;AAC5E,OAAO,EAAE,sBAAsB,EAA0B,MAAM,6BAA6B,CAAC;AAC7F,wEAAwE;AACxE,qDAAqD;AACrD,OAAO,EACL,oBAAoB,EACpB,YAAY,GAGb,MAAM,2BAA2B,CAAC;AACnC,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,OAAO,EAAE,qBAAqB,EAAyB,MAAM,4BAA4B,CAAC;AAE1F,wEAAwE;AACxE,OAAO,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAKhE,yEAAyE;AACzE,+CAA+C;AAC/C,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,YAAY,GACb,MAAM,cAAc,CAAC"}
|
package/dist/presets.d.ts
CHANGED
|
@@ -51,6 +51,16 @@ export declare const smollm2_360m: ModelPreset;
|
|
|
51
51
|
* Reference: https://huggingface.co/onnx-community/Qwen2.5-Coder-1.5B-Instruct
|
|
52
52
|
*/
|
|
53
53
|
export declare const qwen2_5_coder_1_5b: ModelPreset;
|
|
54
|
+
/**
|
|
55
|
+
* Qwen 2.5 0.5B Instruct. ~0.5 GB on-device download at q4f16 — the
|
|
56
|
+
* smallest TOOL-NATIVE model in the registry, sized to sit near the WASM
|
|
57
|
+
* ceiling so it can run on machines without WebGPU. Same `Qwen2ForCausalLM`
|
|
58
|
+
* code path as the other Qwen 2.5 presets (no engine changes). Unlike
|
|
59
|
+
* SmolLM2 360M it emits `<tool_call>` envelopes and is a markedly stronger
|
|
60
|
+
* generator, so it can both drive the tool loop and ground answers from
|
|
61
|
+
* retrieved context where the 360M model degenerates.
|
|
62
|
+
*/
|
|
63
|
+
export declare const qwen2_5_0_5b: ModelPreset;
|
|
54
64
|
/**
|
|
55
65
|
* Qwen 3 1.7B. ~1.36 GB on-device download at q4f16.
|
|
56
66
|
*
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA8B9C;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,WAKvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAKvB,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,WAWzB,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAe/B,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU,EAAE,WAevB,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAoBlC,CAAC"}
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA8B9C;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,WAKvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WAKvB,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,WAWzB,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAe/B,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,WAWzB,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,UAAU,EAAE,WAevB,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAoBlC,CAAC"}
|
package/dist/presets.js
CHANGED
|
@@ -114,6 +114,27 @@ export const qwen2_5_coder_1_5b = definePreset({
|
|
|
114
114
|
supportsThinking: false,
|
|
115
115
|
},
|
|
116
116
|
});
|
|
117
|
+
/**
|
|
118
|
+
* Qwen 2.5 0.5B Instruct. ~0.5 GB on-device download at q4f16 — the
|
|
119
|
+
* smallest TOOL-NATIVE model in the registry, sized to sit near the WASM
|
|
120
|
+
* ceiling so it can run on machines without WebGPU. Same `Qwen2ForCausalLM`
|
|
121
|
+
* code path as the other Qwen 2.5 presets (no engine changes). Unlike
|
|
122
|
+
* SmolLM2 360M it emits `<tool_call>` envelopes and is a markedly stronger
|
|
123
|
+
* generator, so it can both drive the tool loop and ground answers from
|
|
124
|
+
* retrieved context where the 360M model degenerates.
|
|
125
|
+
*/
|
|
126
|
+
export const qwen2_5_0_5b = definePreset({
|
|
127
|
+
model: { modelId: 'onnx-community/Qwen2.5-0.5B-Instruct' },
|
|
128
|
+
dtype: 'q4f16',
|
|
129
|
+
backend: 'auto',
|
|
130
|
+
capabilities: {
|
|
131
|
+
supportsTools: true,
|
|
132
|
+
supportsVision: false,
|
|
133
|
+
supportsAudio: false,
|
|
134
|
+
contextWindow: 32_768,
|
|
135
|
+
supportsThinking: false,
|
|
136
|
+
},
|
|
137
|
+
});
|
|
117
138
|
/**
|
|
118
139
|
* Qwen 3 1.7B. ~1.36 GB on-device download at q4f16.
|
|
119
140
|
*
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ModelClient, ToolSpec } from '../contract.js';
|
|
2
|
+
import type { CloudProviderConfig } from './types.js';
|
|
3
|
+
/** Construction config for the Anthropic provider. */
|
|
4
|
+
export interface AnthropicConfig extends CloudProviderConfig {
|
|
5
|
+
}
|
|
6
|
+
interface AnthropicMessage {
|
|
7
|
+
role: 'user' | 'assistant';
|
|
8
|
+
content: string | Array<{
|
|
9
|
+
type: 'text';
|
|
10
|
+
text: string;
|
|
11
|
+
} | {
|
|
12
|
+
type: 'tool_use';
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
input: unknown;
|
|
16
|
+
} | {
|
|
17
|
+
type: 'tool_result';
|
|
18
|
+
tool_use_id: string;
|
|
19
|
+
content: string;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
interface AnthropicBody {
|
|
23
|
+
model: string;
|
|
24
|
+
messages: AnthropicMessage[];
|
|
25
|
+
stream: true;
|
|
26
|
+
max_tokens: number;
|
|
27
|
+
system?: string;
|
|
28
|
+
temperature?: number;
|
|
29
|
+
top_p?: number;
|
|
30
|
+
top_k?: number;
|
|
31
|
+
tools?: Array<{
|
|
32
|
+
name: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
input_schema: unknown;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
export declare function toAnthropicTools(tools: ToolSpec[]): AnthropicBody['tools'];
|
|
38
|
+
/**
|
|
39
|
+
* Build an Anthropic `ModelClient`. Construction values (apiKey,
|
|
40
|
+
* model) come in the config; per-call values (messages, tools,
|
|
41
|
+
* sampling) come in the `ModelRequest`.
|
|
42
|
+
*/
|
|
43
|
+
export declare function anthropicModelClient(config: AnthropicConfig): ModelClient;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA0C,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAiCtD,sDAAsD;AACtD,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;CAAG;AAE/D,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EACH,MAAM,GACN,KAAK,CACD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAChE,CAAC;CACP;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,EAAE,IAAI,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC,CAAC;CACJ;AAkDD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAO1E;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAmJzE"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { readSseDataLines } from '../sse.js';
|
|
2
|
+
/**
|
|
3
|
+
* Anthropic provider — talks to Anthropic's native Messages API
|
|
4
|
+
* (`POST /v1/messages` with `stream: true`).
|
|
5
|
+
*
|
|
6
|
+
* This provider exists as much for documentation as for use: it
|
|
7
|
+
* proves the `ModelClient` contract is sufficient for a third party.
|
|
8
|
+
* Adding Anthropic native required ZERO relay changes — the file
|
|
9
|
+
* imports nothing private from `@inbrowser/relay`, just the shared
|
|
10
|
+
* `ModelClient` contract + the shared `readSseDataLines` helper.
|
|
11
|
+
*
|
|
12
|
+
* Endpoint: POST https://api.anthropic.com/v1/messages
|
|
13
|
+
* - header `x-api-key` carries the BYOK key
|
|
14
|
+
* - header `anthropic-version: 2023-06-01`
|
|
15
|
+
* - body `{ model, messages, stream: true, max_tokens, system? }`
|
|
16
|
+
*
|
|
17
|
+
* The wire shape Anthropic streams is documented at
|
|
18
|
+
* https://docs.anthropic.com/en/api/messages-streaming — this
|
|
19
|
+
* provider handles the subset used by simple text + tool-use
|
|
20
|
+
* generations.
|
|
21
|
+
*
|
|
22
|
+
* Tool use is wired but minimally tested. Production users with
|
|
23
|
+
* complex tool flows may want to extend this — the file is
|
|
24
|
+
* intentionally compact so it's easy to fork.
|
|
25
|
+
*/
|
|
26
|
+
const ENDPOINT = 'https://api.anthropic.com/v1/messages';
|
|
27
|
+
const ANTHROPIC_VERSION = '2023-06-01';
|
|
28
|
+
/** Anthropic requires `max_tokens` on every request. 8192 is the
|
|
29
|
+
* current per-request max for most Claude models — well above any
|
|
30
|
+
* realistic completion length. */
|
|
31
|
+
const MAX_TOKENS = 8192;
|
|
32
|
+
function toAnthropic(messages) {
|
|
33
|
+
let system = '';
|
|
34
|
+
const msgs = [];
|
|
35
|
+
for (const m of messages) {
|
|
36
|
+
if (m.role === 'system') {
|
|
37
|
+
system += (system ? '\n\n' : '') + (m.text ?? '');
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (m.role === 'user') {
|
|
41
|
+
msgs.push({ role: 'user', content: m.text ?? '' });
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (m.role === 'assistant') {
|
|
45
|
+
const blocks = [];
|
|
46
|
+
if (m.text)
|
|
47
|
+
blocks.push({ type: 'text', text: m.text });
|
|
48
|
+
for (const c of m.toolCalls ?? []) {
|
|
49
|
+
blocks.push({
|
|
50
|
+
type: 'tool_use',
|
|
51
|
+
id: c.id,
|
|
52
|
+
name: c.name,
|
|
53
|
+
input: c.args ?? {},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
msgs.push({
|
|
57
|
+
role: 'assistant',
|
|
58
|
+
content: blocks.length > 0 ? blocks : '',
|
|
59
|
+
});
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (m.role === 'tool') {
|
|
63
|
+
msgs.push({
|
|
64
|
+
role: 'user',
|
|
65
|
+
content: [
|
|
66
|
+
{
|
|
67
|
+
type: 'tool_result',
|
|
68
|
+
tool_use_id: m.toolCallId ?? '',
|
|
69
|
+
content: m.resultJson ?? '',
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return { system, msgs };
|
|
76
|
+
}
|
|
77
|
+
export function toAnthropicTools(tools) {
|
|
78
|
+
if (tools.length === 0)
|
|
79
|
+
return undefined;
|
|
80
|
+
return tools.map((t) => ({
|
|
81
|
+
name: t.function.name,
|
|
82
|
+
description: t.function.description,
|
|
83
|
+
input_schema: t.function.parameters,
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Build an Anthropic `ModelClient`. Construction values (apiKey,
|
|
88
|
+
* model) come in the config; per-call values (messages, tools,
|
|
89
|
+
* sampling) come in the `ModelRequest`.
|
|
90
|
+
*/
|
|
91
|
+
export function anthropicModelClient(config) {
|
|
92
|
+
return {
|
|
93
|
+
id: `anthropic:${config.model}`,
|
|
94
|
+
supportsTools: true,
|
|
95
|
+
async *chat(req, signal) {
|
|
96
|
+
const { system, msgs } = toAnthropic(req.messages);
|
|
97
|
+
// Per-request temperature wins; otherwise fall back to the
|
|
98
|
+
// construction-time default. Relay sets neither.
|
|
99
|
+
const temperature = req.temperature ?? config.temperature;
|
|
100
|
+
const body = {
|
|
101
|
+
model: config.model,
|
|
102
|
+
messages: msgs,
|
|
103
|
+
stream: true,
|
|
104
|
+
max_tokens: MAX_TOKENS,
|
|
105
|
+
...(system ? { system } : {}),
|
|
106
|
+
...(typeof temperature === 'number' ? { temperature } : {}),
|
|
107
|
+
...(typeof req.topP === 'number' ? { top_p: req.topP } : {}),
|
|
108
|
+
...(typeof req.topK === 'number' ? { top_k: req.topK } : {}),
|
|
109
|
+
...(req.tools.length > 0 ? { tools: toAnthropicTools(req.tools) } : {}),
|
|
110
|
+
};
|
|
111
|
+
let response;
|
|
112
|
+
try {
|
|
113
|
+
response = await fetch(ENDPOINT, {
|
|
114
|
+
method: 'POST',
|
|
115
|
+
headers: {
|
|
116
|
+
// Relay guarantees a resolved key before the provider runs
|
|
117
|
+
// (BYOK 400s if missing; server-managed injects). `?? ''`
|
|
118
|
+
// satisfies the string type for the now-optional field.
|
|
119
|
+
'x-api-key': config.apiKey ?? '',
|
|
120
|
+
'anthropic-version': ANTHROPIC_VERSION,
|
|
121
|
+
'content-type': 'application/json',
|
|
122
|
+
},
|
|
123
|
+
body: JSON.stringify(body),
|
|
124
|
+
...(signal ? { signal } : {}),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
if (signal?.aborted)
|
|
129
|
+
return;
|
|
130
|
+
yield { kind: 'error', message: e instanceof Error ? e.message : String(e) };
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (!response.ok) {
|
|
134
|
+
const text = await response.text().catch(() => response.statusText);
|
|
135
|
+
yield {
|
|
136
|
+
kind: 'error',
|
|
137
|
+
message: `Anthropic ${response.status}: ${text.slice(0, 240)}`,
|
|
138
|
+
};
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
let promptTokens = 0;
|
|
142
|
+
let outputTokens = 0;
|
|
143
|
+
const pending = new Map();
|
|
144
|
+
try {
|
|
145
|
+
for await (const payload of readSseDataLines(response.body)) {
|
|
146
|
+
if (signal?.aborted)
|
|
147
|
+
return;
|
|
148
|
+
let evt;
|
|
149
|
+
try {
|
|
150
|
+
evt = JSON.parse(payload);
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
if (evt.type === 'message_start' && evt.message?.usage) {
|
|
156
|
+
promptTokens = evt.message.usage.input_tokens ?? 0;
|
|
157
|
+
outputTokens = evt.message.usage.output_tokens ?? 0;
|
|
158
|
+
}
|
|
159
|
+
else if (evt.type === 'content_block_start' &&
|
|
160
|
+
evt.content_block?.type === 'tool_use' &&
|
|
161
|
+
typeof evt.index === 'number') {
|
|
162
|
+
pending.set(evt.index, {
|
|
163
|
+
id: evt.content_block.id ?? '',
|
|
164
|
+
name: evt.content_block.name ?? '',
|
|
165
|
+
inputBuf: '',
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
else if (evt.type === 'content_block_delta' && evt.delta) {
|
|
169
|
+
if (evt.delta.type === 'text_delta' && typeof evt.delta.text === 'string') {
|
|
170
|
+
yield { kind: 'text', text: evt.delta.text };
|
|
171
|
+
}
|
|
172
|
+
else if (evt.delta.type === 'input_json_delta' &&
|
|
173
|
+
typeof evt.delta.partial_json === 'string' &&
|
|
174
|
+
typeof evt.index === 'number') {
|
|
175
|
+
const p = pending.get(evt.index);
|
|
176
|
+
if (p)
|
|
177
|
+
p.inputBuf += evt.delta.partial_json;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
else if (evt.type === 'message_delta' && evt.usage) {
|
|
181
|
+
outputTokens = evt.usage.output_tokens ?? outputTokens;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (e) {
|
|
186
|
+
if (signal?.aborted)
|
|
187
|
+
return;
|
|
188
|
+
yield { kind: 'error', message: e instanceof Error ? e.message : String(e) };
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
// Flush any accumulated tool_use blocks.
|
|
192
|
+
for (const p of pending.values()) {
|
|
193
|
+
let parsed = {};
|
|
194
|
+
try {
|
|
195
|
+
parsed = p.inputBuf ? JSON.parse(p.inputBuf) : {};
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
parsed = { _raw: p.inputBuf };
|
|
199
|
+
}
|
|
200
|
+
yield {
|
|
201
|
+
kind: 'tool_call',
|
|
202
|
+
id: p.id || `anth_${Math.random().toString(36).slice(2, 10)}`,
|
|
203
|
+
name: p.name,
|
|
204
|
+
args: parsed,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
yield {
|
|
208
|
+
kind: 'usage',
|
|
209
|
+
usage: {
|
|
210
|
+
promptTokens,
|
|
211
|
+
outputTokens,
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=anthropic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|