@jaypie/llm 1.3.8 → 1.3.9
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/cjs/{src/constants.d.ts → constants.d.ts} +4 -4
- package/dist/cjs/index.cjs +54 -3
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +4 -4
- package/dist/cjs/{src/operate → operate}/types.d.ts +2 -0
- package/dist/cjs/{src/util → util}/index.d.ts +1 -0
- package/dist/cjs/util/tallyOperate.d.ts +14 -0
- package/dist/esm/{src/constants.d.ts → constants.d.ts} +4 -4
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.js +54 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{src/operate → operate}/types.d.ts +2 -0
- package/dist/esm/{src/util → util}/index.d.ts +1 -0
- package/dist/esm/util/tallyOperate.d.ts +14 -0
- package/package.json +1 -1
- package/dist/esm/src/index.d.ts +0 -17
- /package/dist/cjs/{src/Llm.d.ts → Llm.d.ts} +0 -0
- /package/dist/cjs/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/cjs/{src/observability → observability}/llmobs.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/OperateLoop.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/StreamLoop.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/AnthropicAdapter.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/BedrockAdapter.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/GoogleAdapter.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/OpenAiAdapter.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/OpenRouterAdapter.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/ProviderAdapter.interface.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/XaiAdapter.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/adapters/index.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/hooks/HookRunner.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/hooks/index.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/index.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/input/InputProcessor.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/input/index.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/progress/emitProgress.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/progress/index.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/response/ResponseBuilder.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/response/index.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/retry/RetryExecutor.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/retry/RetryPolicy.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/retry/createStaleRejectionGuard.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/retry/index.d.ts +0 -0
- /package/dist/cjs/{src/operate → operate}/retry/isTransientNetworkError.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/anthropic/AnthropicProvider.class.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/anthropic/client.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/anthropic/index.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/anthropic/types.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/anthropic/utils.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/bedrock/BedrockProvider.class.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/bedrock/index.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/bedrock/utils.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/google/GoogleProvider.class.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/google/client.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/google/index.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/google/types.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/google/utils.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openai/OpenAiProvider.class.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openai/client.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openai/index.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openai/responseFormat.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openai/types.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openai/utils.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openrouter/OpenRouterProvider.class.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openrouter/client.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openrouter/index.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/openrouter/utils.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/xai/XaiProvider.class.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/xai/index.d.ts +0 -0
- /package/dist/cjs/{src/providers → providers}/xai/utils.d.ts +0 -0
- /package/dist/cjs/{src/tools → tools}/Toolkit.class.d.ts +0 -0
- /package/dist/cjs/{src/tools → tools}/index.d.ts +0 -0
- /package/dist/cjs/{src/tools → tools}/random.d.ts +0 -0
- /package/dist/cjs/{src/tools → tools}/roll.d.ts +0 -0
- /package/dist/cjs/{src/tools → tools}/time.d.ts +0 -0
- /package/dist/cjs/{src/tools → tools}/weather.d.ts +0 -0
- /package/dist/cjs/{src/types → types}/LlmOperateInput.guards.d.ts +0 -0
- /package/dist/cjs/{src/types → types}/LlmProvider.interface.d.ts +0 -0
- /package/dist/cjs/{src/types → types}/LlmStreamChunk.interface.d.ts +0 -0
- /package/dist/cjs/{src/types → types}/LlmTool.interface.d.ts +0 -0
- /package/dist/cjs/{src/upload → upload}/detectMimeType.d.ts +0 -0
- /package/dist/cjs/{src/upload → upload}/extractPdfPages.d.ts +0 -0
- /package/dist/cjs/{src/upload → upload}/index.d.ts +0 -0
- /package/dist/cjs/{src/upload → upload}/loadLocalFile.d.ts +0 -0
- /package/dist/cjs/{src/upload → upload}/loadS3File.d.ts +0 -0
- /package/dist/cjs/{src/upload → upload}/resolveOperateInput.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/determineModelProvider.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/extractReasoning.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/fillFormatArrays.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/formatOperateInput.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/formatOperateMessage.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/jsonSchema.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/jsonSchemaToOpenApi3.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/logger.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/maxOutputTokens.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/maxTurnsFromOptions.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/naturalZodSchema.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/random.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/repairFormatKeys.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/sse.d.ts +0 -0
- /package/dist/cjs/{src/util → util}/tryParseNumber.d.ts +0 -0
- /package/dist/esm/{src/Llm.d.ts → Llm.d.ts} +0 -0
- /package/dist/esm/{src/observability → observability}/llmobs.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/OperateLoop.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/StreamLoop.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/AnthropicAdapter.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/BedrockAdapter.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/GoogleAdapter.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/OpenAiAdapter.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/OpenRouterAdapter.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/ProviderAdapter.interface.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/XaiAdapter.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/adapters/index.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/hooks/HookRunner.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/hooks/index.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/index.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/input/InputProcessor.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/input/index.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/progress/emitProgress.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/progress/index.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/response/ResponseBuilder.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/response/index.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/retry/RetryExecutor.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/retry/RetryPolicy.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/retry/createStaleRejectionGuard.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/retry/index.d.ts +0 -0
- /package/dist/esm/{src/operate → operate}/retry/isTransientNetworkError.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/anthropic/AnthropicProvider.class.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/anthropic/client.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/anthropic/index.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/anthropic/types.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/anthropic/utils.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/bedrock/BedrockProvider.class.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/bedrock/index.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/bedrock/utils.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/google/GoogleProvider.class.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/google/client.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/google/index.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/google/types.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/google/utils.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openai/OpenAiProvider.class.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openai/client.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openai/index.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openai/responseFormat.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openai/types.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openai/utils.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openrouter/OpenRouterProvider.class.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openrouter/client.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openrouter/index.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/openrouter/utils.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/xai/XaiProvider.class.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/xai/index.d.ts +0 -0
- /package/dist/esm/{src/providers → providers}/xai/utils.d.ts +0 -0
- /package/dist/esm/{src/tools → tools}/Toolkit.class.d.ts +0 -0
- /package/dist/esm/{src/tools → tools}/index.d.ts +0 -0
- /package/dist/esm/{src/tools → tools}/random.d.ts +0 -0
- /package/dist/esm/{src/tools → tools}/roll.d.ts +0 -0
- /package/dist/esm/{src/tools → tools}/time.d.ts +0 -0
- /package/dist/esm/{src/tools → tools}/weather.d.ts +0 -0
- /package/dist/esm/{src/types → types}/LlmOperateInput.guards.d.ts +0 -0
- /package/dist/esm/{src/types → types}/LlmProvider.interface.d.ts +0 -0
- /package/dist/esm/{src/types → types}/LlmStreamChunk.interface.d.ts +0 -0
- /package/dist/esm/{src/types → types}/LlmTool.interface.d.ts +0 -0
- /package/dist/esm/{src/upload → upload}/detectMimeType.d.ts +0 -0
- /package/dist/esm/{src/upload → upload}/extractPdfPages.d.ts +0 -0
- /package/dist/esm/{src/upload → upload}/index.d.ts +0 -0
- /package/dist/esm/{src/upload → upload}/loadLocalFile.d.ts +0 -0
- /package/dist/esm/{src/upload → upload}/loadS3File.d.ts +0 -0
- /package/dist/esm/{src/upload → upload}/resolveOperateInput.d.ts +0 -0
- /package/dist/esm/{src/util → util}/determineModelProvider.d.ts +0 -0
- /package/dist/esm/{src/util → util}/extractReasoning.d.ts +0 -0
- /package/dist/esm/{src/util → util}/fillFormatArrays.d.ts +0 -0
- /package/dist/esm/{src/util → util}/formatOperateInput.d.ts +0 -0
- /package/dist/esm/{src/util → util}/formatOperateMessage.d.ts +0 -0
- /package/dist/esm/{src/util → util}/jsonSchema.d.ts +0 -0
- /package/dist/esm/{src/util → util}/jsonSchemaToOpenApi3.d.ts +0 -0
- /package/dist/esm/{src/util → util}/logger.d.ts +0 -0
- /package/dist/esm/{src/util → util}/maxOutputTokens.d.ts +0 -0
- /package/dist/esm/{src/util → util}/maxTurnsFromOptions.d.ts +0 -0
- /package/dist/esm/{src/util → util}/naturalZodSchema.d.ts +0 -0
- /package/dist/esm/{src/util → util}/random.d.ts +0 -0
- /package/dist/esm/{src/util → util}/repairFormatKeys.d.ts +0 -0
- /package/dist/esm/{src/util → util}/sse.d.ts +0 -0
- /package/dist/esm/{src/util → util}/tryParseNumber.d.ts +0 -0
package/dist/cjs/index.d.cts
CHANGED
|
@@ -3,10 +3,10 @@ import { JsonObject, AnyValue, NaturalMap, NaturalSchema, JsonReturn } from '@ja
|
|
|
3
3
|
import { z } from 'zod/v4';
|
|
4
4
|
|
|
5
5
|
declare const MODEL: {
|
|
6
|
+
FABLE: string;
|
|
6
7
|
OPUS: string;
|
|
7
8
|
SONNET: string;
|
|
8
9
|
HAIKU: string;
|
|
9
|
-
FABLE: string;
|
|
10
10
|
MYTHOS: string;
|
|
11
11
|
GEMINI_FLASH: string;
|
|
12
12
|
GEMINI_FLASH_LITE: string;
|
|
@@ -113,7 +113,7 @@ declare const PROVIDER: {
|
|
|
113
113
|
readonly BASE_URL: "https://api.x.ai/v1";
|
|
114
114
|
readonly MODEL: {
|
|
115
115
|
readonly DEFAULT: "grok-latest";
|
|
116
|
-
readonly LARGE: "grok-
|
|
116
|
+
readonly LARGE: "grok-latest";
|
|
117
117
|
readonly SMALL: "grok-4-1-fast-reasoning";
|
|
118
118
|
readonly TINY: "grok-4-1-fast-non-reasoning";
|
|
119
119
|
};
|
|
@@ -142,8 +142,8 @@ declare const DEFAULT: {
|
|
|
142
142
|
};
|
|
143
143
|
declare const ALL: {
|
|
144
144
|
readonly BASE: readonly ["claude-sonnet-4-6", "gemini-3.1-pro-preview", "gpt-5.4", "grok-latest"];
|
|
145
|
-
readonly COMBINED: readonly ("claude-opus-4-8" | "claude-
|
|
146
|
-
readonly LARGE: readonly ["claude-opus-4-8", "gemini-3.1-pro-preview", "gpt-5.5", "grok-
|
|
145
|
+
readonly COMBINED: readonly ("claude-opus-4-8" | "claude-haiku-4-5" | "gemini-3.5-flash" | "gemini-3.1-flash-lite" | "gemini-3.1-pro-preview" | "gpt-5.5" | "gpt-5.4-mini" | "gpt-5.4-nano" | "grok-latest" | "claude-sonnet-4-6" | "gpt-5.4" | "grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning")[];
|
|
146
|
+
readonly LARGE: readonly ["claude-opus-4-8", "gemini-3.1-pro-preview", "gpt-5.5", "grok-latest"];
|
|
147
147
|
readonly SMALL: readonly ["claude-sonnet-4-6", "gemini-3.5-flash", "gpt-5.4-mini", "grok-4-1-fast-reasoning"];
|
|
148
148
|
readonly TINY: readonly ["claude-haiku-4-5", "gemini-3.1-flash-lite", "gpt-5.4-nano", "grok-4-1-fast-non-reasoning"];
|
|
149
149
|
};
|
|
@@ -133,6 +133,8 @@ export interface OperateLoopState {
|
|
|
133
133
|
maxTurns: number;
|
|
134
134
|
/** Response builder instance */
|
|
135
135
|
responseBuilder: ResponseBuilder;
|
|
136
|
+
/** Names of tool calls executed across all turns (report tally) */
|
|
137
|
+
toolCallNames: string[];
|
|
136
138
|
/** The toolkit for tool calls */
|
|
137
139
|
toolkit?: Toolkit;
|
|
138
140
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LlmUsageItem } from "../types/LlmProvider.interface.js";
|
|
2
|
+
interface TallyOperateOptions {
|
|
3
|
+
toolCallNames?: string[];
|
|
4
|
+
turns: number;
|
|
5
|
+
usage?: LlmUsageItem[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Tally loop totals onto the root logger's report session so handlers
|
|
9
|
+
* (express, lambda) include llm activity in the report emitted at teardown.
|
|
10
|
+
* Silently no-ops outside an active session or when the logger predates
|
|
11
|
+
* tally support.
|
|
12
|
+
*/
|
|
13
|
+
export declare function tallyOperate({ toolCallNames, turns, usage, }: TallyOperateOptions): void;
|
|
14
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const MODEL: {
|
|
2
|
+
FABLE: string;
|
|
2
3
|
OPUS: string;
|
|
3
4
|
SONNET: string;
|
|
4
5
|
HAIKU: string;
|
|
5
|
-
FABLE: string;
|
|
6
6
|
MYTHOS: string;
|
|
7
7
|
GEMINI_FLASH: string;
|
|
8
8
|
GEMINI_FLASH_LITE: string;
|
|
@@ -109,7 +109,7 @@ export declare const PROVIDER: {
|
|
|
109
109
|
readonly BASE_URL: "https://api.x.ai/v1";
|
|
110
110
|
readonly MODEL: {
|
|
111
111
|
readonly DEFAULT: "grok-latest";
|
|
112
|
-
readonly LARGE: "grok-
|
|
112
|
+
readonly LARGE: "grok-latest";
|
|
113
113
|
readonly SMALL: "grok-4-1-fast-reasoning";
|
|
114
114
|
readonly TINY: "grok-4-1-fast-non-reasoning";
|
|
115
115
|
};
|
|
@@ -138,8 +138,8 @@ export declare const DEFAULT: {
|
|
|
138
138
|
};
|
|
139
139
|
export declare const ALL: {
|
|
140
140
|
readonly BASE: readonly ["claude-sonnet-4-6", "gemini-3.1-pro-preview", "gpt-5.4", "grok-latest"];
|
|
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
|
|
142
|
-
readonly LARGE: readonly ["claude-opus-4-8", "gemini-3.1-pro-preview", "gpt-5.5", "grok-
|
|
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-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-latest"];
|
|
143
143
|
readonly SMALL: readonly ["claude-sonnet-4-6", "gemini-3.5-flash", "gpt-5.4-mini", "grok-4-1-fast-reasoning"];
|
|
144
144
|
readonly TINY: readonly ["claude-haiku-4-5", "gemini-3.1-flash-lite", "gpt-5.4-nano", "grok-4-1-fast-non-reasoning"];
|
|
145
145
|
};
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ import { JsonObject, AnyValue, NaturalMap, NaturalSchema, JsonReturn } from '@ja
|
|
|
3
3
|
import { z } from 'zod/v4';
|
|
4
4
|
|
|
5
5
|
declare const MODEL: {
|
|
6
|
+
FABLE: string;
|
|
6
7
|
OPUS: string;
|
|
7
8
|
SONNET: string;
|
|
8
9
|
HAIKU: string;
|
|
9
|
-
FABLE: string;
|
|
10
10
|
MYTHOS: string;
|
|
11
11
|
GEMINI_FLASH: string;
|
|
12
12
|
GEMINI_FLASH_LITE: string;
|
|
@@ -113,7 +113,7 @@ declare const PROVIDER: {
|
|
|
113
113
|
readonly BASE_URL: "https://api.x.ai/v1";
|
|
114
114
|
readonly MODEL: {
|
|
115
115
|
readonly DEFAULT: "grok-latest";
|
|
116
|
-
readonly LARGE: "grok-
|
|
116
|
+
readonly LARGE: "grok-latest";
|
|
117
117
|
readonly SMALL: "grok-4-1-fast-reasoning";
|
|
118
118
|
readonly TINY: "grok-4-1-fast-non-reasoning";
|
|
119
119
|
};
|
|
@@ -142,8 +142,8 @@ declare const DEFAULT: {
|
|
|
142
142
|
};
|
|
143
143
|
declare const ALL: {
|
|
144
144
|
readonly BASE: readonly ["claude-sonnet-4-6", "gemini-3.1-pro-preview", "gpt-5.4", "grok-latest"];
|
|
145
|
-
readonly COMBINED: readonly ("claude-opus-4-8" | "claude-
|
|
146
|
-
readonly LARGE: readonly ["claude-opus-4-8", "gemini-3.1-pro-preview", "gpt-5.5", "grok-
|
|
145
|
+
readonly COMBINED: readonly ("claude-opus-4-8" | "claude-haiku-4-5" | "gemini-3.5-flash" | "gemini-3.1-flash-lite" | "gemini-3.1-pro-preview" | "gpt-5.5" | "gpt-5.4-mini" | "gpt-5.4-nano" | "grok-latest" | "claude-sonnet-4-6" | "gpt-5.4" | "grok-4-1-fast-reasoning" | "grok-4-1-fast-non-reasoning")[];
|
|
146
|
+
readonly LARGE: readonly ["claude-opus-4-8", "gemini-3.1-pro-preview", "gpt-5.5", "grok-latest"];
|
|
147
147
|
readonly SMALL: readonly ["claude-sonnet-4-6", "gemini-3.5-flash", "gpt-5.4-mini", "grok-4-1-fast-reasoning"];
|
|
148
148
|
readonly TINY: readonly ["claude-haiku-4-5", "gemini-3.1-flash-lite", "gpt-5.4-nano", "grok-4-1-fast-non-reasoning"];
|
|
149
149
|
};
|
package/dist/esm/index.js
CHANGED
|
@@ -36,17 +36,17 @@ const FIRST_CLASS_PROVIDER = {
|
|
|
36
36
|
// https://docs.x.ai/developers/models
|
|
37
37
|
XAI: {
|
|
38
38
|
DEFAULT: "grok-latest",
|
|
39
|
-
LARGE: "grok-
|
|
39
|
+
LARGE: "grok-latest",
|
|
40
40
|
SMALL: "grok-4-1-fast-reasoning",
|
|
41
41
|
TINY: "grok-4-1-fast-non-reasoning",
|
|
42
42
|
},
|
|
43
43
|
};
|
|
44
44
|
const MODEL = {
|
|
45
45
|
// Anthropic
|
|
46
|
+
FABLE: "claude-fable-5",
|
|
46
47
|
OPUS: "claude-opus-4-8",
|
|
47
|
-
SONNET: "claude-sonnet-
|
|
48
|
+
SONNET: "claude-sonnet-5",
|
|
48
49
|
HAIKU: "claude-haiku-4-5",
|
|
49
|
-
FABLE: "claude-fable-5",
|
|
50
50
|
MYTHOS: "claude-mythos-5",
|
|
51
51
|
// Google
|
|
52
52
|
GEMINI_FLASH: "gemini-3.5-flash",
|
|
@@ -1294,6 +1294,43 @@ async function* parseSseStream(body, { doneSentinel = DEFAULT_DONE_SENTINEL } =
|
|
|
1294
1294
|
}
|
|
1295
1295
|
}
|
|
1296
1296
|
|
|
1297
|
+
const UNKNOWN = "unknown";
|
|
1298
|
+
/**
|
|
1299
|
+
* Tally loop totals onto the root logger's report session so handlers
|
|
1300
|
+
* (express, lambda) include llm activity in the report emitted at teardown.
|
|
1301
|
+
* Silently no-ops outside an active session or when the logger predates
|
|
1302
|
+
* tally support.
|
|
1303
|
+
*/
|
|
1304
|
+
function tallyOperate({ toolCallNames = [], turns, usage = [], }) {
|
|
1305
|
+
if (typeof log$2.tally !== "function")
|
|
1306
|
+
return;
|
|
1307
|
+
const llm = {
|
|
1308
|
+
operates: 1,
|
|
1309
|
+
toolCalls: toolCallNames.length,
|
|
1310
|
+
turns,
|
|
1311
|
+
};
|
|
1312
|
+
if (toolCallNames.length > 0) {
|
|
1313
|
+
const tools = {};
|
|
1314
|
+
for (const name of toolCallNames) {
|
|
1315
|
+
tools[name] = (tools[name] ?? 0) + 1;
|
|
1316
|
+
}
|
|
1317
|
+
llm.tools = tools;
|
|
1318
|
+
}
|
|
1319
|
+
if (usage.length > 0) {
|
|
1320
|
+
const usageByModel = {};
|
|
1321
|
+
for (const item of usage) {
|
|
1322
|
+
const key = [item.provider, item.model].filter(Boolean).join(":") || UNKNOWN;
|
|
1323
|
+
usageByModel[key] ?? (usageByModel[key] = { input: 0, output: 0, reasoning: 0, total: 0 });
|
|
1324
|
+
usageByModel[key].input += item.input;
|
|
1325
|
+
usageByModel[key].output += item.output;
|
|
1326
|
+
usageByModel[key].reasoning += item.reasoning;
|
|
1327
|
+
usageByModel[key].total += item.total;
|
|
1328
|
+
}
|
|
1329
|
+
llm.usage = usageByModel;
|
|
1330
|
+
}
|
|
1331
|
+
log$2.tally({ llm });
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1297
1334
|
/**
|
|
1298
1335
|
* Helper function to safely call a function that might throw
|
|
1299
1336
|
* @param fn Function to call safely
|
|
@@ -6652,6 +6689,11 @@ class OperateLoop {
|
|
|
6652
6689
|
metrics: usageToLlmObsMetrics(response.usage),
|
|
6653
6690
|
outputData: response.content,
|
|
6654
6691
|
});
|
|
6692
|
+
tallyOperate({
|
|
6693
|
+
toolCallNames: state.toolCallNames,
|
|
6694
|
+
turns: state.currentTurn,
|
|
6695
|
+
usage: response.usage,
|
|
6696
|
+
});
|
|
6655
6697
|
await emitProgress({
|
|
6656
6698
|
event: {
|
|
6657
6699
|
content: response.content,
|
|
@@ -6721,6 +6763,7 @@ class OperateLoop {
|
|
|
6721
6763
|
formattedTools,
|
|
6722
6764
|
maxTurns,
|
|
6723
6765
|
responseBuilder,
|
|
6766
|
+
toolCallNames: [],
|
|
6724
6767
|
toolkit,
|
|
6725
6768
|
};
|
|
6726
6769
|
}
|
|
@@ -6889,6 +6932,7 @@ class OperateLoop {
|
|
|
6889
6932
|
this.appendResponseItemsToRequest(currentProviderRequest, responseItems);
|
|
6890
6933
|
// Process each tool call
|
|
6891
6934
|
for (const toolCall of toolCalls) {
|
|
6935
|
+
state.toolCallNames.push(toolCall.name);
|
|
6892
6936
|
// Resolved once per call; never throws (undefined when tool has no message)
|
|
6893
6937
|
const toolMessage = await state.toolkit.resolveMessage({
|
|
6894
6938
|
arguments: toolCall.arguments,
|
|
@@ -7262,6 +7306,11 @@ class StreamLoop {
|
|
|
7262
7306
|
}
|
|
7263
7307
|
}
|
|
7264
7308
|
// Emit final done chunk with accumulated usage
|
|
7309
|
+
tallyOperate({
|
|
7310
|
+
toolCallNames: state.toolCallNames,
|
|
7311
|
+
turns: state.currentTurn,
|
|
7312
|
+
usage: state.usageItems,
|
|
7313
|
+
});
|
|
7265
7314
|
yield {
|
|
7266
7315
|
type: LlmStreamChunkType.Done,
|
|
7267
7316
|
usage: state.usageItems,
|
|
@@ -7302,6 +7351,7 @@ class StreamLoop {
|
|
|
7302
7351
|
formattedFormat,
|
|
7303
7352
|
formattedTools,
|
|
7304
7353
|
maxTurns,
|
|
7354
|
+
toolCallNames: [],
|
|
7305
7355
|
toolkit,
|
|
7306
7356
|
usageItems: [],
|
|
7307
7357
|
};
|
|
@@ -7484,6 +7534,7 @@ class StreamLoop {
|
|
|
7484
7534
|
async *processToolCalls(toolCalls, state, context) {
|
|
7485
7535
|
const log = getLogger$6();
|
|
7486
7536
|
for (const toolCall of toolCalls) {
|
|
7537
|
+
state.toolCallNames.push(toolCall.name);
|
|
7487
7538
|
// Resolved once per call; never throws (undefined when tool has no message)
|
|
7488
7539
|
const toolMessage = await state.toolkit.resolveMessage({
|
|
7489
7540
|
arguments: toolCall.arguments,
|