@jaypie/llm 1.2.36 → 1.2.37
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 +20 -9
- package/dist/cjs/index.cjs +765 -36
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/operate/adapters/BedrockAdapter.d.ts +78 -0
- package/dist/cjs/operate/adapters/index.d.ts +1 -0
- 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/esm/constants.d.ts +20 -9
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +765 -37
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operate/adapters/BedrockAdapter.d.ts +78 -0
- package/dist/esm/operate/adapters/index.d.ts +1 -0
- 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/package.json +7 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ 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 { BedrockProvider } from "./providers/bedrock/index.js";
|
|
11
12
|
export { GeminiProvider } from "./providers/gemini/index.js";
|
|
12
13
|
export { OpenRouterProvider } from "./providers/openrouter/index.js";
|
|
13
14
|
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 {};
|
|
@@ -1,6 +1,7 @@
|
|
|
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 { BedrockAdapter, bedrockAdapter } from "./BedrockAdapter.js";
|
|
4
5
|
export { GeminiAdapter, geminiAdapter } from "./GeminiAdapter.js";
|
|
5
6
|
export { OpenAiAdapter, openAiAdapter } from "./OpenAiAdapter.js";
|
|
6
7
|
export { OpenRouterAdapter, openRouterAdapter } from "./OpenRouterAdapter.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AnthropicAdapter, anthropicAdapter, BaseProviderAdapter, GeminiAdapter, geminiAdapter, OpenAiAdapter, openAiAdapter, OpenRouterAdapter, openRouterAdapter, XaiAdapter, xaiAdapter, } from "./adapters/index.js";
|
|
1
|
+
export { AnthropicAdapter, anthropicAdapter, BaseProviderAdapter, BedrockAdapter, bedrockAdapter, GeminiAdapter, geminiAdapter, 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/esm/constants.d.ts
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
export declare const PROVIDER: {
|
|
2
|
+
readonly BEDROCK: {
|
|
3
|
+
readonly MODEL: {
|
|
4
|
+
readonly DEFAULT: "amazon.nova-lite-v1:0";
|
|
5
|
+
readonly LARGE: "amazon.nova-pro-v1:0";
|
|
6
|
+
readonly SMALL: "amazon.nova-lite-v1:0";
|
|
7
|
+
readonly TINY: "amazon.nova-micro-v1:0";
|
|
8
|
+
};
|
|
9
|
+
readonly MODEL_MATCH_WORDS: readonly ["amazon.nova", "amazon.titan", "anthropic.claude", "cohere.command", "meta.llama", "mistral.mistral", "ai21."];
|
|
10
|
+
readonly NAME: "bedrock";
|
|
11
|
+
readonly REGION: "AWS_REGION";
|
|
12
|
+
};
|
|
2
13
|
readonly ANTHROPIC: {
|
|
3
14
|
readonly MAX_TOKENS: {
|
|
4
15
|
readonly DEFAULT: 4096;
|
|
5
16
|
};
|
|
6
17
|
readonly MODEL: {
|
|
7
18
|
readonly DEFAULT: "claude-sonnet-4-6";
|
|
8
|
-
readonly LARGE: "claude-opus-4-
|
|
19
|
+
readonly LARGE: "claude-opus-4-8";
|
|
9
20
|
readonly SMALL: "claude-sonnet-4-6";
|
|
10
21
|
readonly TINY: "claude-haiku-4-5";
|
|
11
22
|
};
|
|
@@ -28,8 +39,8 @@ export declare const PROVIDER: {
|
|
|
28
39
|
readonly MODEL: {
|
|
29
40
|
readonly DEFAULT: "gemini-3.1-pro-preview";
|
|
30
41
|
readonly LARGE: "gemini-3.1-pro-preview";
|
|
31
|
-
readonly SMALL: "gemini-3.
|
|
32
|
-
readonly TINY: "gemini-3.
|
|
42
|
+
readonly SMALL: "gemini-3.5-flash";
|
|
43
|
+
readonly TINY: "gemini-3.5-flash";
|
|
33
44
|
};
|
|
34
45
|
readonly MODEL_MATCH_WORDS: readonly ["gemini", "google"];
|
|
35
46
|
readonly NAME: "google";
|
|
@@ -51,7 +62,7 @@ export declare const PROVIDER: {
|
|
|
51
62
|
readonly OPENROUTER: {
|
|
52
63
|
readonly MODEL: {
|
|
53
64
|
readonly DEFAULT: "anthropic/claude-sonnet-4-6";
|
|
54
|
-
readonly LARGE: "anthropic/claude-opus-4-
|
|
65
|
+
readonly LARGE: "anthropic/claude-opus-4-8";
|
|
55
66
|
readonly SMALL: "anthropic/claude-sonnet-4-6";
|
|
56
67
|
readonly TINY: "anthropic/claude-haiku-4-5";
|
|
57
68
|
};
|
|
@@ -77,7 +88,7 @@ export declare const PROVIDER: {
|
|
|
77
88
|
readonly NAME: "xai";
|
|
78
89
|
};
|
|
79
90
|
};
|
|
80
|
-
export type LlmProviderName = typeof PROVIDER.ANTHROPIC.NAME | typeof PROVIDER.GEMINI.NAME | typeof PROVIDER.OPENAI.NAME | typeof PROVIDER.OPENROUTER.NAME | typeof PROVIDER.XAI.NAME;
|
|
91
|
+
export type LlmProviderName = typeof PROVIDER.ANTHROPIC.NAME | typeof PROVIDER.BEDROCK.NAME | typeof PROVIDER.GEMINI.NAME | typeof PROVIDER.OPENAI.NAME | typeof PROVIDER.OPENROUTER.NAME | typeof PROVIDER.XAI.NAME;
|
|
81
92
|
export declare const DEFAULT: {
|
|
82
93
|
readonly MODEL: {
|
|
83
94
|
readonly BASE: "gpt-5.4";
|
|
@@ -98,8 +109,8 @@ export declare const DEFAULT: {
|
|
|
98
109
|
};
|
|
99
110
|
export declare const ALL: {
|
|
100
111
|
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.
|
|
112
|
+
readonly COMBINED: readonly ("claude-sonnet-4-6" | "claude-opus-4-8" | "claude-haiku-4-5" | "gemini-3.1-pro-preview" | "gemini-3.5-flash" | "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")[];
|
|
113
|
+
readonly LARGE: readonly ["claude-opus-4-8", "gemini-3.1-pro-preview", "gpt-5.5", "grok-4.3-latest"];
|
|
114
|
+
readonly SMALL: readonly ["claude-sonnet-4-6", "gemini-3.5-flash", "gpt-5.4-mini", "grok-4-1-fast-reasoning"];
|
|
115
|
+
readonly TINY: readonly ["claude-haiku-4-5", "gemini-3.5-flash", "gpt-5.4-nano", "grok-4-1-fast-non-reasoning"];
|
|
105
116
|
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ 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 { BedrockProvider } from "./providers/bedrock/index.js";
|
|
11
12
|
export { GeminiProvider } from "./providers/gemini/index.js";
|
|
12
13
|
export { OpenRouterProvider } from "./providers/openrouter/index.js";
|
|
13
14
|
export { XaiProvider } from "./providers/xai/index.js";
|