llm-sdk-js 0.2.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/LICENSE +21 -0
- package/README.md +55 -0
- package/dist/adapters/anthropic.d.ts +13 -0
- package/dist/adapters/anthropic.d.ts.map +1 -0
- package/dist/adapters/groq.d.ts +10 -0
- package/dist/adapters/groq.d.ts.map +1 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/ollama.d.ts +11 -0
- package/dist/adapters/ollama.d.ts.map +1 -0
- package/dist/adapters/openai-compatible.d.ts +16 -0
- package/dist/adapters/openai-compatible.d.ts.map +1 -0
- package/dist/adapters/openai.d.ts +10 -0
- package/dist/adapters/openai.d.ts.map +1 -0
- package/dist/adapters/sse.d.ts +7 -0
- package/dist/adapters/sse.d.ts.map +1 -0
- package/dist/adapters/zod-schema.d.ts +5 -0
- package/dist/adapters/zod-schema.d.ts.map +1 -0
- package/dist/cache/index.d.ts +6 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/key.d.ts +8 -0
- package/dist/cache/key.d.ts.map +1 -0
- package/dist/cache/memory.d.ts +10 -0
- package/dist/cache/memory.d.ts.map +1 -0
- package/dist/cache/types.d.ts +15 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/errors.d.ts +33 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/extract.d.ts +5 -0
- package/dist/extract.d.ts.map +1 -0
- package/dist/index.cjs +1391 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1381 -0
- package/dist/index.js.map +1 -0
- package/dist/policy/cache.d.ts +4 -0
- package/dist/policy/cache.d.ts.map +1 -0
- package/dist/policy/fallback.d.ts +7 -0
- package/dist/policy/fallback.d.ts.map +1 -0
- package/dist/policy/retry.d.ts +4 -0
- package/dist/policy/retry.d.ts.map +1 -0
- package/dist/policy/timeout.d.ts +13 -0
- package/dist/policy/timeout.d.ts.map +1 -0
- package/dist/pricing/index.d.ts +16 -0
- package/dist/pricing/index.d.ts.map +1 -0
- package/dist/router/create-router.d.ts +4 -0
- package/dist/router/create-router.d.ts.map +1 -0
- package/dist/router/messages.d.ts +4 -0
- package/dist/router/messages.d.ts.map +1 -0
- package/dist/router/model-ref.d.ts +5 -0
- package/dist/router/model-ref.d.ts.map +1 -0
- package/dist/router/options.d.ts +7 -0
- package/dist/router/options.d.ts.map +1 -0
- package/dist/router/request.d.ts +4 -0
- package/dist/router/request.d.ts.map +1 -0
- package/dist/router/router-impl.d.ts +16 -0
- package/dist/router/router-impl.d.ts.map +1 -0
- package/dist/router/state.d.ts +11 -0
- package/dist/router/state.d.ts.map +1 -0
- package/dist/router/types.d.ts +30 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router.d.ts +5 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/types.d.ts +184 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +78 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
export type ProviderName = "openai" | "anthropic" | "groq" | "ollama" | "local";
|
|
2
|
+
/** e.g. `anthropic/claude-sonnet-4-5` */
|
|
3
|
+
export type ModelRef = `${ProviderName}/${string}` | (string & {});
|
|
4
|
+
export type Role = "system" | "user" | "assistant" | "tool";
|
|
5
|
+
export interface Message {
|
|
6
|
+
role: Role;
|
|
7
|
+
content: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
/** Present on assistant turns after tool use. */
|
|
10
|
+
toolCalls?: ToolCall[];
|
|
11
|
+
/** Present on tool turns — id of the call being answered. */
|
|
12
|
+
toolCallId?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RetryOptions {
|
|
15
|
+
attempts?: number;
|
|
16
|
+
baseDelay?: number;
|
|
17
|
+
maxDelay?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface CacheOptions {
|
|
20
|
+
/** e.g. `"1h"`, `"30m"`, or milliseconds. */
|
|
21
|
+
ttl?: string | number;
|
|
22
|
+
/** Cache even when `temperature > 0` (off by default). */
|
|
23
|
+
includeNonDeterministic?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface ProviderOverrideConfig {
|
|
26
|
+
apiKey?: string;
|
|
27
|
+
baseUrl?: string;
|
|
28
|
+
timeoutMs?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface CallOptions {
|
|
31
|
+
model?: ModelRef;
|
|
32
|
+
primary?: ModelRef;
|
|
33
|
+
fallbacks?: ModelRef[];
|
|
34
|
+
retry?: RetryOptions;
|
|
35
|
+
/** Total budget across all attempts (ms). */
|
|
36
|
+
timeout?: number;
|
|
37
|
+
cache?: CacheOptions | false;
|
|
38
|
+
temperature?: number;
|
|
39
|
+
maxTokens?: number;
|
|
40
|
+
system?: string;
|
|
41
|
+
messages?: Message[];
|
|
42
|
+
raw?: Partial<Record<ProviderName, Record<string, unknown>>>;
|
|
43
|
+
tools?: ToolDefinition[];
|
|
44
|
+
/** Fail over on content filter / refusal (off by default). */
|
|
45
|
+
allowContentFilterFailover?: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface ToolDefinition {
|
|
48
|
+
name: string;
|
|
49
|
+
description?: string;
|
|
50
|
+
schema?: unknown;
|
|
51
|
+
}
|
|
52
|
+
export interface ToolCall {
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
args: unknown;
|
|
56
|
+
}
|
|
57
|
+
export interface Usage {
|
|
58
|
+
input: number;
|
|
59
|
+
output: number;
|
|
60
|
+
}
|
|
61
|
+
export interface AttemptRecord {
|
|
62
|
+
provider: ProviderName | string;
|
|
63
|
+
model: string;
|
|
64
|
+
error?: string;
|
|
65
|
+
ms: number;
|
|
66
|
+
}
|
|
67
|
+
export interface CompleteResult {
|
|
68
|
+
text: string;
|
|
69
|
+
provider: ProviderName | string;
|
|
70
|
+
model: string;
|
|
71
|
+
usage: Usage;
|
|
72
|
+
cost: number;
|
|
73
|
+
/** `true` when `model` had no row in the price table — `cost` is `0` because it's unpriced, not free. */
|
|
74
|
+
unknownModel: boolean;
|
|
75
|
+
cached: boolean;
|
|
76
|
+
latencyMs: number;
|
|
77
|
+
attempts: AttemptRecord[];
|
|
78
|
+
toolCalls: ToolCall[];
|
|
79
|
+
}
|
|
80
|
+
export interface CompleteInput {
|
|
81
|
+
system?: string;
|
|
82
|
+
messages?: Message[];
|
|
83
|
+
prompt?: string;
|
|
84
|
+
maxTokens?: number;
|
|
85
|
+
temperature?: number;
|
|
86
|
+
tools?: ToolDefinition[];
|
|
87
|
+
}
|
|
88
|
+
export type CompleteArg = string | CompleteInput;
|
|
89
|
+
export interface ExtractInput<S = unknown> {
|
|
90
|
+
prompt: string;
|
|
91
|
+
system?: string;
|
|
92
|
+
schema: S;
|
|
93
|
+
/** Prompt hint when the schema has no inferable `.shape`. */
|
|
94
|
+
schemaDescription?: string;
|
|
95
|
+
}
|
|
96
|
+
/** Standard Schema phantom marker (Zod v4, Valibot, ArkType, …). */
|
|
97
|
+
interface StandardSchemaLike<Output> {
|
|
98
|
+
readonly "~standard": {
|
|
99
|
+
readonly types?: {
|
|
100
|
+
readonly output: Output;
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** Zod v3 output phantom (`z.infer`). */
|
|
105
|
+
interface ZodV3Like<Output> {
|
|
106
|
+
readonly _output: Output;
|
|
107
|
+
}
|
|
108
|
+
/** Infer schema output type; falls back to `unknown`. */
|
|
109
|
+
export type InferSchemaOutput<S> = S extends StandardSchemaLike<infer O> ? O : S extends ZodV3Like<infer O> ? O : unknown;
|
|
110
|
+
export interface ExtractResult<T = unknown> {
|
|
111
|
+
data: T;
|
|
112
|
+
text: string;
|
|
113
|
+
provider: ProviderName | string;
|
|
114
|
+
model: string;
|
|
115
|
+
usage: Usage;
|
|
116
|
+
cost: number;
|
|
117
|
+
/** `true` when `model` had no row in the price table — `cost` is `0` because it's unpriced, not free. */
|
|
118
|
+
unknownModel: boolean;
|
|
119
|
+
cached: boolean;
|
|
120
|
+
latencyMs: number;
|
|
121
|
+
attempts: AttemptRecord[];
|
|
122
|
+
}
|
|
123
|
+
export interface RouteConfig extends CallOptions {
|
|
124
|
+
primary?: ModelRef;
|
|
125
|
+
fallbacks?: ModelRef[];
|
|
126
|
+
}
|
|
127
|
+
export interface RouterConfig extends CallOptions {
|
|
128
|
+
primary?: ModelRef;
|
|
129
|
+
fallbacks?: ModelRef[];
|
|
130
|
+
routes?: Record<string, RouteConfig>;
|
|
131
|
+
default?: string;
|
|
132
|
+
onFallback?: (from: ModelRef, to: ModelRef, err: unknown) => void;
|
|
133
|
+
providers?: Partial<Record<ProviderName, ProviderOverrideConfig>>;
|
|
134
|
+
/** Custom adapter for a provider name (replaces the built-in). */
|
|
135
|
+
adapters?: Record<string, Adapter>;
|
|
136
|
+
}
|
|
137
|
+
export interface StreamChunk {
|
|
138
|
+
text: string;
|
|
139
|
+
done?: boolean;
|
|
140
|
+
}
|
|
141
|
+
export interface StreamHandle {
|
|
142
|
+
[Symbol.asyncIterator](): AsyncIterator<StreamChunk>;
|
|
143
|
+
result(): Promise<CompleteResult>;
|
|
144
|
+
}
|
|
145
|
+
/** Per-attempt request passed to adapters (no retry/cache). */
|
|
146
|
+
export interface AdapterRequest {
|
|
147
|
+
model: string;
|
|
148
|
+
messages: Message[];
|
|
149
|
+
temperature?: number;
|
|
150
|
+
maxTokens?: number;
|
|
151
|
+
tools?: ToolDefinition[];
|
|
152
|
+
raw?: Record<string, unknown>;
|
|
153
|
+
signal?: AbortSignal;
|
|
154
|
+
}
|
|
155
|
+
export interface AdapterResponse {
|
|
156
|
+
text: string;
|
|
157
|
+
usage: Usage;
|
|
158
|
+
toolCalls: ToolCall[];
|
|
159
|
+
finishReason?: string;
|
|
160
|
+
}
|
|
161
|
+
export interface AdapterContext {
|
|
162
|
+
apiKey?: string;
|
|
163
|
+
baseUrl?: string;
|
|
164
|
+
timeoutMs?: number;
|
|
165
|
+
}
|
|
166
|
+
export interface AdapterStreamDelta {
|
|
167
|
+
type: "delta";
|
|
168
|
+
text: string;
|
|
169
|
+
}
|
|
170
|
+
export interface AdapterStreamDone {
|
|
171
|
+
type: "done";
|
|
172
|
+
usage: Usage;
|
|
173
|
+
toolCalls: ToolCall[];
|
|
174
|
+
finishReason?: string;
|
|
175
|
+
}
|
|
176
|
+
export type AdapterStreamEvent = AdapterStreamDelta | AdapterStreamDone;
|
|
177
|
+
export interface Adapter {
|
|
178
|
+
readonly name: ProviderName | string;
|
|
179
|
+
complete(request: AdapterRequest): Promise<AdapterResponse>;
|
|
180
|
+
/** Tool call deltas are accumulated across the stream and surfaced on the `done` event. */
|
|
181
|
+
stream(request: AdapterRequest): AsyncIterable<AdapterStreamEvent>;
|
|
182
|
+
}
|
|
183
|
+
export {};
|
|
184
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "llm-sdk-js",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "TypeScript LLM router — smart fallbacks, named routes, cost tracking, and caching. Zero runtime dependencies.",
|
|
5
|
+
"homepage": "https://llm-sdk.dev",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/ALPHACOD3RS/llm-sdk.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/ALPHACOD3RS/llm-sdk/issues"
|
|
12
|
+
},
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "./dist/index.cjs",
|
|
15
|
+
"module": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"import": "./dist/index.js",
|
|
21
|
+
"require": "./dist/index.cjs"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"dist"
|
|
26
|
+
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsup && tsc --emitDeclarationOnly --declaration --declarationMap",
|
|
29
|
+
"dev": "tsup --watch",
|
|
30
|
+
"typecheck": "tsc --noEmit -p tsconfig.check.json",
|
|
31
|
+
"test": "vitest run",
|
|
32
|
+
"test:watch": "vitest",
|
|
33
|
+
"docs:dev": "vitepress dev docs",
|
|
34
|
+
"docs:build": "vitepress build docs",
|
|
35
|
+
"docs:preview": "vitepress preview docs",
|
|
36
|
+
"clean": "rm -rf dist",
|
|
37
|
+
"changeset": "changeset",
|
|
38
|
+
"release": "changeset publish"
|
|
39
|
+
},
|
|
40
|
+
"keywords": [
|
|
41
|
+
"llm",
|
|
42
|
+
"sdk",
|
|
43
|
+
"router",
|
|
44
|
+
"fallback",
|
|
45
|
+
"openai",
|
|
46
|
+
"anthropic",
|
|
47
|
+
"groq",
|
|
48
|
+
"caching"
|
|
49
|
+
],
|
|
50
|
+
"author": "ALPHACOD3RS",
|
|
51
|
+
"license": "MIT",
|
|
52
|
+
"publishConfig": {
|
|
53
|
+
"access": "public"
|
|
54
|
+
},
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=18"
|
|
57
|
+
},
|
|
58
|
+
"sideEffects": false,
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"zod": ">=3.0.0"
|
|
61
|
+
},
|
|
62
|
+
"peerDependenciesMeta": {
|
|
63
|
+
"zod": {
|
|
64
|
+
"optional": true
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@changesets/cli": "^3.0.2",
|
|
69
|
+
"@lobehub/icons-static-svg": "^1.94.0",
|
|
70
|
+
"@types/node": "^25.3.5",
|
|
71
|
+
"tsup": "^8.5.1",
|
|
72
|
+
"tsx": "^4.23.12",
|
|
73
|
+
"typescript": "^5.9.3",
|
|
74
|
+
"vitepress": "^1.6.4",
|
|
75
|
+
"vitest": "^4.0.18",
|
|
76
|
+
"zod": "^4.4.3"
|
|
77
|
+
}
|
|
78
|
+
}
|