@jaypie/llm 1.2.36 → 1.2.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/cjs/constants.d.ts +49 -9
- package/dist/cjs/index.cjs +834 -82
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +4 -1
- package/dist/cjs/operate/adapters/BedrockAdapter.d.ts +78 -0
- package/dist/cjs/operate/adapters/{GeminiAdapter.d.ts → GoogleAdapter.d.ts} +4 -4
- package/dist/cjs/operate/adapters/index.d.ts +2 -1
- package/dist/cjs/operate/index.d.ts +1 -1
- package/dist/cjs/providers/bedrock/BedrockProvider.class.d.ts +21 -0
- package/dist/cjs/providers/bedrock/index.d.ts +1 -0
- package/dist/cjs/providers/bedrock/utils.d.ts +6 -0
- package/dist/cjs/providers/{gemini/GeminiProvider.class.d.ts → google/GoogleProvider.class.d.ts} +1 -1
- package/dist/cjs/providers/google/index.d.ts +3 -0
- package/dist/cjs/types/LlmProvider.interface.d.ts +1 -1
- package/dist/esm/constants.d.ts +49 -9
- package/dist/esm/index.d.ts +4 -1
- package/dist/esm/index.js +832 -82
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operate/adapters/BedrockAdapter.d.ts +78 -0
- package/dist/esm/operate/adapters/{GeminiAdapter.d.ts → GoogleAdapter.d.ts} +4 -4
- package/dist/esm/operate/adapters/index.d.ts +2 -1
- package/dist/esm/operate/index.d.ts +1 -1
- package/dist/esm/providers/bedrock/BedrockProvider.class.d.ts +21 -0
- package/dist/esm/providers/bedrock/index.d.ts +1 -0
- package/dist/esm/providers/bedrock/utils.d.ts +6 -0
- package/dist/esm/providers/{gemini/GeminiProvider.class.d.ts → google/GoogleProvider.class.d.ts} +1 -1
- package/dist/esm/providers/google/index.d.ts +3 -0
- package/dist/esm/types/LlmProvider.interface.d.ts +1 -1
- package/package.json +7 -1
- package/dist/cjs/providers/gemini/index.d.ts +0 -3
- package/dist/esm/providers/gemini/index.d.ts +0 -3
- /package/dist/cjs/providers/{gemini → google}/types.d.ts +0 -0
- /package/dist/cjs/providers/{gemini → google}/utils.d.ts +0 -0
- /package/dist/esm/providers/{gemini → google}/types.d.ts +0 -0
- /package/dist/esm/providers/{gemini → google}/utils.d.ts +0 -0
package/dist/cjs/index.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export type { LlmStreamChunk, LlmStreamChunkDone, LlmStreamChunkError, LlmStream
|
|
|
8
8
|
export { LlmStreamChunkType } from "./types/LlmStreamChunk.interface.js";
|
|
9
9
|
export { JaypieToolkit, toolkit, Toolkit, tools } from "./tools/index.js";
|
|
10
10
|
export { extractReasoning } from "./util/extractReasoning.js";
|
|
11
|
-
export {
|
|
11
|
+
export { BedrockProvider } from "./providers/bedrock/index.js";
|
|
12
|
+
/** @deprecated Use GoogleProvider — "Google" is the provider; Gemini is the model family */
|
|
13
|
+
export { GoogleProvider as GeminiProvider } from "./providers/google/index.js";
|
|
14
|
+
export { GoogleProvider } from "./providers/google/index.js";
|
|
12
15
|
export { OpenRouterProvider } from "./providers/openrouter/index.js";
|
|
13
16
|
export { XaiProvider } from "./providers/xai/index.js";
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ConverseCommandInput, ConverseCommandOutput, DocumentFormat } from "@aws-sdk/client-bedrock-runtime";
|
|
2
|
+
import { JsonObject, NaturalSchema } from "@jaypie/types";
|
|
3
|
+
import { z } from "zod/v4";
|
|
4
|
+
import { Toolkit } from "../../tools/Toolkit.class.js";
|
|
5
|
+
import { LlmHistory, LlmOperateOptions, LlmUsageItem } from "../../types/LlmProvider.interface.js";
|
|
6
|
+
import { LlmStreamChunk } from "../../types/LlmStreamChunk.interface.js";
|
|
7
|
+
import { ClassifiedError, OperateRequest, ParsedResponse, ProviderToolDefinition, StandardToolCall, StandardToolResult } from "../types.js";
|
|
8
|
+
import { BaseProviderAdapter } from "./ProviderAdapter.interface.js";
|
|
9
|
+
type BedrockContentBlock = {
|
|
10
|
+
text: string;
|
|
11
|
+
} | {
|
|
12
|
+
toolUse: {
|
|
13
|
+
toolUseId: string;
|
|
14
|
+
name: string;
|
|
15
|
+
input: JsonObject;
|
|
16
|
+
};
|
|
17
|
+
} | {
|
|
18
|
+
toolResult: {
|
|
19
|
+
toolUseId: string;
|
|
20
|
+
content: Array<{
|
|
21
|
+
text: string;
|
|
22
|
+
}>;
|
|
23
|
+
};
|
|
24
|
+
} | {
|
|
25
|
+
image: {
|
|
26
|
+
format: string;
|
|
27
|
+
source: {
|
|
28
|
+
bytes: Uint8Array;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
} | {
|
|
32
|
+
document: {
|
|
33
|
+
format: DocumentFormat;
|
|
34
|
+
name: string;
|
|
35
|
+
source: {
|
|
36
|
+
bytes: Uint8Array;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
type BedrockMessage = {
|
|
41
|
+
role: "user" | "assistant";
|
|
42
|
+
content: BedrockContentBlock[];
|
|
43
|
+
};
|
|
44
|
+
type BedrockRequest = Omit<ConverseCommandInput, "messages"> & {
|
|
45
|
+
messages: BedrockMessage[];
|
|
46
|
+
};
|
|
47
|
+
type AnnotatedBedrockResponse = ConverseCommandOutput & {
|
|
48
|
+
__jaypieStructuredOutput?: boolean;
|
|
49
|
+
};
|
|
50
|
+
export declare class BedrockAdapter extends BaseProviderAdapter {
|
|
51
|
+
readonly name: "bedrock";
|
|
52
|
+
readonly defaultModel: "amazon.nova-lite-v1:0";
|
|
53
|
+
private _modelsFallbackToStructuredOutputTool;
|
|
54
|
+
private _modelsWithoutTemperature;
|
|
55
|
+
private rememberModelRejectsOutputConfig;
|
|
56
|
+
private useFakeToolForStructuredOutput;
|
|
57
|
+
private rememberModelRejectsTemperature;
|
|
58
|
+
private supportsTemperature;
|
|
59
|
+
buildRequest(request: OperateRequest): BedrockRequest;
|
|
60
|
+
formatTools(toolkit: Toolkit): ProviderToolDefinition[];
|
|
61
|
+
formatOutputSchema(schema: JsonObject | NaturalSchema | z.ZodType): JsonObject;
|
|
62
|
+
executeRequest(client: unknown, request: unknown, signal?: AbortSignal): Promise<AnnotatedBedrockResponse>;
|
|
63
|
+
private toFallbackStructuredOutputRequest;
|
|
64
|
+
executeStreamRequest(client: unknown, request: unknown, signal?: AbortSignal): AsyncIterable<LlmStreamChunk>;
|
|
65
|
+
parseResponse(response: unknown, options?: LlmOperateOptions): ParsedResponse;
|
|
66
|
+
extractToolCalls(response: unknown): StandardToolCall[];
|
|
67
|
+
extractUsage(response: unknown, model: string): LlmUsageItem;
|
|
68
|
+
formatToolResult(toolCall: StandardToolCall, result: StandardToolResult): BedrockContentBlock;
|
|
69
|
+
appendToolResult(request: unknown, toolCall: StandardToolCall, result: StandardToolResult): BedrockRequest;
|
|
70
|
+
responseToHistoryItems(response: unknown): LlmHistory;
|
|
71
|
+
classifyError(error: unknown): ClassifiedError;
|
|
72
|
+
hasStructuredOutput(response: unknown): boolean;
|
|
73
|
+
extractStructuredOutput(response: unknown): JsonObject | undefined;
|
|
74
|
+
isComplete(response: unknown): boolean;
|
|
75
|
+
private extractContentFromMessage;
|
|
76
|
+
}
|
|
77
|
+
export declare const bedrockAdapter: BedrockAdapter;
|
|
78
|
+
export {};
|
|
@@ -5,13 +5,13 @@ import { LlmHistory, LlmOperateOptions, LlmUsageItem } from "../../types/LlmProv
|
|
|
5
5
|
import { LlmStreamChunk } from "../../types/LlmStreamChunk.interface.js";
|
|
6
6
|
import { ClassifiedError, OperateRequest, ParsedResponse, ProviderToolDefinition, StandardToolCall, StandardToolResult } from "../types.js";
|
|
7
7
|
import { BaseProviderAdapter } from "./ProviderAdapter.interface.js";
|
|
8
|
-
import { GeminiPart, GeminiRawResponse, GeminiRequest } from "../../providers/
|
|
8
|
+
import { GeminiPart, GeminiRawResponse, GeminiRequest } from "../../providers/google/types.js";
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* GoogleAdapter implements the ProviderAdapter interface for Google's Gemini API.
|
|
11
11
|
* It handles request building, response parsing, and error classification
|
|
12
12
|
* specific to Gemini's generateContent API.
|
|
13
13
|
*/
|
|
14
|
-
export declare class
|
|
14
|
+
export declare class GoogleAdapter extends BaseProviderAdapter {
|
|
15
15
|
readonly name: "google";
|
|
16
16
|
readonly defaultModel: "gemini-3.1-pro-preview";
|
|
17
17
|
private runtimeNoStructuredOutputComboModels;
|
|
@@ -47,4 +47,4 @@ export declare class GeminiAdapter extends BaseProviderAdapter {
|
|
|
47
47
|
private extractContent;
|
|
48
48
|
private generateCallId;
|
|
49
49
|
}
|
|
50
|
-
export declare const
|
|
50
|
+
export declare const googleAdapter: GoogleAdapter;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { BaseProviderAdapter } from "./ProviderAdapter.interface.js";
|
|
2
2
|
export type { ProviderAdapter } from "./ProviderAdapter.interface.js";
|
|
3
3
|
export { AnthropicAdapter, anthropicAdapter } from "./AnthropicAdapter.js";
|
|
4
|
-
export {
|
|
4
|
+
export { BedrockAdapter, bedrockAdapter } from "./BedrockAdapter.js";
|
|
5
|
+
export { GoogleAdapter, googleAdapter } from "./GoogleAdapter.js";
|
|
5
6
|
export { OpenAiAdapter, openAiAdapter } from "./OpenAiAdapter.js";
|
|
6
7
|
export { OpenRouterAdapter, openRouterAdapter } from "./OpenRouterAdapter.js";
|
|
7
8
|
export { XaiAdapter, xaiAdapter } from "./XaiAdapter.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AnthropicAdapter, anthropicAdapter, BaseProviderAdapter,
|
|
1
|
+
export { AnthropicAdapter, anthropicAdapter, BaseProviderAdapter, BedrockAdapter, bedrockAdapter, GoogleAdapter, googleAdapter, OpenAiAdapter, openAiAdapter, OpenRouterAdapter, openRouterAdapter, XaiAdapter, xaiAdapter, } from "./adapters/index.js";
|
|
2
2
|
export type { ProviderAdapter } from "./adapters/index.js";
|
|
3
3
|
export { createOperateLoop, OperateLoop } from "./OperateLoop.js";
|
|
4
4
|
export type { OperateLoopConfig } from "./OperateLoop.js";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { JsonObject } from "@jaypie/types";
|
|
2
|
+
import { LlmHistory, LlmInputMessage, LlmMessageOptions, LlmOperateOptions, LlmOperateResponse, LlmProvider } from "../../types/LlmProvider.interface.js";
|
|
3
|
+
import { LlmStreamChunk } from "../../types/LlmStreamChunk.interface.js";
|
|
4
|
+
export declare class BedrockProvider implements LlmProvider {
|
|
5
|
+
private model;
|
|
6
|
+
private region?;
|
|
7
|
+
private _client?;
|
|
8
|
+
private _operateLoop?;
|
|
9
|
+
private _streamLoop?;
|
|
10
|
+
private log;
|
|
11
|
+
private conversationHistory;
|
|
12
|
+
constructor(model?: string, { region }?: {
|
|
13
|
+
region?: string;
|
|
14
|
+
});
|
|
15
|
+
private getClient;
|
|
16
|
+
private getOperateLoop;
|
|
17
|
+
private getStreamLoop;
|
|
18
|
+
send(message: string, options?: LlmMessageOptions): Promise<string | JsonObject>;
|
|
19
|
+
operate(input: string | LlmHistory | LlmInputMessage, options?: LlmOperateOptions): Promise<LlmOperateResponse>;
|
|
20
|
+
stream(input: string | LlmHistory | LlmInputMessage, options?: LlmOperateOptions): AsyncIterable<LlmStreamChunk>;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BedrockProvider } from "./BedrockProvider.class.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BedrockRuntimeClient } from "@aws-sdk/client-bedrock-runtime";
|
|
2
|
+
export declare function loadSdk(): Promise<typeof import("@aws-sdk/client-bedrock-runtime")>;
|
|
3
|
+
export declare const getLogger: () => import("@jaypie/logger/dist/esm/JaypieLogger").default;
|
|
4
|
+
export declare function initializeClient({ region, }?: {
|
|
5
|
+
region?: string;
|
|
6
|
+
}): Promise<BedrockRuntimeClient>;
|
package/dist/cjs/providers/{gemini/GeminiProvider.class.d.ts → google/GoogleProvider.class.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { JsonObject } from "@jaypie/types";
|
|
2
2
|
import { LlmHistory, LlmInputMessage, LlmMessageOptions, LlmOperateOptions, LlmOperateResponse, LlmProvider } from "../../types/LlmProvider.interface.js";
|
|
3
3
|
import { LlmStreamChunk } from "../../types/LlmStreamChunk.interface.js";
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class GoogleProvider implements LlmProvider {
|
|
5
5
|
private model;
|
|
6
6
|
private _client?;
|
|
7
7
|
private _operateLoop?;
|
|
@@ -149,7 +149,7 @@ export type LlmHistory = LlmHistoryItem[];
|
|
|
149
149
|
* Used when the primary provider fails with an unrecoverable error.
|
|
150
150
|
*/
|
|
151
151
|
export interface LlmFallbackConfig {
|
|
152
|
-
/** Provider name (e.g., "openai", "anthropic", "
|
|
152
|
+
/** Provider name (e.g., "openai", "anthropic", "google") */
|
|
153
153
|
provider: string;
|
|
154
154
|
/** Model to use with this provider (optional, uses provider default if not specified) */
|
|
155
155
|
model?: string;
|
package/dist/esm/constants.d.ts
CHANGED
|
@@ -1,11 +1,36 @@
|
|
|
1
|
+
export declare const MODEL: {
|
|
2
|
+
OPUS: string;
|
|
3
|
+
SONNET: string;
|
|
4
|
+
HAIKU: string;
|
|
5
|
+
FABLE: string;
|
|
6
|
+
MYTHOS: string;
|
|
7
|
+
GEMINI_FLASH: string;
|
|
8
|
+
GEMINI_FLASH_LITE: string;
|
|
9
|
+
GEMINI_PRO: string;
|
|
10
|
+
GPT: string;
|
|
11
|
+
GPT_MINI: string;
|
|
12
|
+
GPT_NANO: string;
|
|
13
|
+
GROK: string;
|
|
14
|
+
};
|
|
1
15
|
export declare const PROVIDER: {
|
|
16
|
+
readonly BEDROCK: {
|
|
17
|
+
readonly MODEL: {
|
|
18
|
+
readonly DEFAULT: "amazon.nova-lite-v1:0";
|
|
19
|
+
readonly LARGE: "amazon.nova-pro-v1:0";
|
|
20
|
+
readonly SMALL: "amazon.nova-lite-v1:0";
|
|
21
|
+
readonly TINY: "amazon.nova-micro-v1:0";
|
|
22
|
+
};
|
|
23
|
+
readonly MODEL_MATCH_WORDS: readonly ["amazon.nova", "amazon.titan", "anthropic.claude", "cohere.command", "meta.llama", "mistral.mistral", "ai21."];
|
|
24
|
+
readonly NAME: "bedrock";
|
|
25
|
+
readonly REGION: "AWS_REGION";
|
|
26
|
+
};
|
|
2
27
|
readonly ANTHROPIC: {
|
|
3
28
|
readonly MAX_TOKENS: {
|
|
4
29
|
readonly DEFAULT: 4096;
|
|
5
30
|
};
|
|
6
31
|
readonly MODEL: {
|
|
7
32
|
readonly DEFAULT: "claude-sonnet-4-6";
|
|
8
|
-
readonly LARGE: "claude-opus-4-
|
|
33
|
+
readonly LARGE: "claude-opus-4-8";
|
|
9
34
|
readonly SMALL: "claude-sonnet-4-6";
|
|
10
35
|
readonly TINY: "claude-haiku-4-5";
|
|
11
36
|
};
|
|
@@ -24,12 +49,27 @@ export declare const PROVIDER: {
|
|
|
24
49
|
readonly SCHEMA_VERSION: "v2";
|
|
25
50
|
};
|
|
26
51
|
};
|
|
52
|
+
/** @deprecated Use PROVIDER.GOOGLE — "Google" is the provider; Gemini is the model family */
|
|
27
53
|
readonly GEMINI: {
|
|
28
54
|
readonly MODEL: {
|
|
29
55
|
readonly DEFAULT: "gemini-3.1-pro-preview";
|
|
30
56
|
readonly LARGE: "gemini-3.1-pro-preview";
|
|
31
|
-
readonly SMALL: "gemini-3.
|
|
32
|
-
readonly TINY: "gemini-3.1-flash-lite
|
|
57
|
+
readonly SMALL: "gemini-3.5-flash";
|
|
58
|
+
readonly TINY: "gemini-3.1-flash-lite";
|
|
59
|
+
};
|
|
60
|
+
readonly MODEL_MATCH_WORDS: readonly ["gemini", "google"];
|
|
61
|
+
readonly NAME: "google";
|
|
62
|
+
readonly ROLE: {
|
|
63
|
+
readonly MODEL: "model";
|
|
64
|
+
readonly USER: "user";
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
readonly GOOGLE: {
|
|
68
|
+
readonly MODEL: {
|
|
69
|
+
readonly DEFAULT: "gemini-3.1-pro-preview";
|
|
70
|
+
readonly LARGE: "gemini-3.1-pro-preview";
|
|
71
|
+
readonly SMALL: "gemini-3.5-flash";
|
|
72
|
+
readonly TINY: "gemini-3.1-flash-lite";
|
|
33
73
|
};
|
|
34
74
|
readonly MODEL_MATCH_WORDS: readonly ["gemini", "google"];
|
|
35
75
|
readonly NAME: "google";
|
|
@@ -51,7 +91,7 @@ export declare const PROVIDER: {
|
|
|
51
91
|
readonly OPENROUTER: {
|
|
52
92
|
readonly MODEL: {
|
|
53
93
|
readonly DEFAULT: "anthropic/claude-sonnet-4-6";
|
|
54
|
-
readonly LARGE: "anthropic/claude-opus-4-
|
|
94
|
+
readonly LARGE: "anthropic/claude-opus-4-8";
|
|
55
95
|
readonly SMALL: "anthropic/claude-sonnet-4-6";
|
|
56
96
|
readonly TINY: "anthropic/claude-haiku-4-5";
|
|
57
97
|
};
|
|
@@ -77,7 +117,7 @@ export declare const PROVIDER: {
|
|
|
77
117
|
readonly NAME: "xai";
|
|
78
118
|
};
|
|
79
119
|
};
|
|
80
|
-
export type LlmProviderName = typeof PROVIDER.ANTHROPIC.NAME | typeof PROVIDER.
|
|
120
|
+
export type LlmProviderName = typeof PROVIDER.ANTHROPIC.NAME | typeof PROVIDER.BEDROCK.NAME | typeof PROVIDER.GOOGLE.NAME | typeof PROVIDER.OPENAI.NAME | typeof PROVIDER.OPENROUTER.NAME | typeof PROVIDER.XAI.NAME;
|
|
81
121
|
export declare const DEFAULT: {
|
|
82
122
|
readonly MODEL: {
|
|
83
123
|
readonly BASE: "gpt-5.4";
|
|
@@ -98,8 +138,8 @@ export declare const DEFAULT: {
|
|
|
98
138
|
};
|
|
99
139
|
export declare const ALL: {
|
|
100
140
|
readonly BASE: readonly ["claude-sonnet-4-6", "gemini-3.1-pro-preview", "gpt-5.4", "grok-latest"];
|
|
101
|
-
readonly COMBINED: readonly ("claude-sonnet-4-6" | "claude-opus-4-
|
|
102
|
-
readonly LARGE: readonly ["claude-opus-4-
|
|
103
|
-
readonly SMALL: readonly ["claude-sonnet-4-6", "gemini-3.
|
|
104
|
-
readonly TINY: readonly ["claude-haiku-4-5", "gemini-3.1-flash-lite
|
|
141
|
+
readonly COMBINED: readonly ("claude-sonnet-4-6" | "claude-opus-4-8" | "claude-haiku-4-5" | "gemini-3.1-pro-preview" | "gemini-3.5-flash" | "gemini-3.1-flash-lite" | "gpt-5.4" | "gpt-5.5" | "gpt-5.4-mini" | "gpt-5.4-nano" | "grok-latest" | "grok-4.3-latest" | "grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning")[];
|
|
142
|
+
readonly LARGE: readonly ["claude-opus-4-8", "gemini-3.1-pro-preview", "gpt-5.5", "grok-4.3-latest"];
|
|
143
|
+
readonly SMALL: readonly ["claude-sonnet-4-6", "gemini-3.5-flash", "gpt-5.4-mini", "grok-4-1-fast-reasoning"];
|
|
144
|
+
readonly TINY: readonly ["claude-haiku-4-5", "gemini-3.1-flash-lite", "gpt-5.4-nano", "grok-4-1-fast-non-reasoning"];
|
|
105
145
|
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export type { LlmStreamChunk, LlmStreamChunkDone, LlmStreamChunkError, LlmStream
|
|
|
8
8
|
export { LlmStreamChunkType } from "./types/LlmStreamChunk.interface.js";
|
|
9
9
|
export { JaypieToolkit, toolkit, Toolkit, tools } from "./tools/index.js";
|
|
10
10
|
export { extractReasoning } from "./util/extractReasoning.js";
|
|
11
|
-
export {
|
|
11
|
+
export { BedrockProvider } from "./providers/bedrock/index.js";
|
|
12
|
+
/** @deprecated Use GoogleProvider — "Google" is the provider; Gemini is the model family */
|
|
13
|
+
export { GoogleProvider as GeminiProvider } from "./providers/google/index.js";
|
|
14
|
+
export { GoogleProvider } from "./providers/google/index.js";
|
|
12
15
|
export { OpenRouterProvider } from "./providers/openrouter/index.js";
|
|
13
16
|
export { XaiProvider } from "./providers/xai/index.js";
|