@jaypie/llm 1.2.15 → 1.2.17

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.
@@ -0,0 +1,11 @@
1
+ import { OpenAiAdapter } from "./OpenAiAdapter.js";
2
+ /**
3
+ * XaiAdapter extends OpenAiAdapter since xAI (Grok) uses an OpenAI-compatible API.
4
+ * Only the name and default model are overridden; all request building, response parsing,
5
+ * error classification, tool handling, and streaming are inherited.
6
+ */
7
+ export declare class XaiAdapter extends OpenAiAdapter {
8
+ readonly name: "xai";
9
+ readonly defaultModel: "grok-4-1-fast-reasoning";
10
+ }
11
+ export declare const xaiAdapter: XaiAdapter;
@@ -4,3 +4,4 @@ export { AnthropicAdapter, anthropicAdapter } from "./AnthropicAdapter.js";
4
4
  export { GeminiAdapter, geminiAdapter } from "./GeminiAdapter.js";
5
5
  export { OpenAiAdapter, openAiAdapter } from "./OpenAiAdapter.js";
6
6
  export { OpenRouterAdapter, openRouterAdapter } from "./OpenRouterAdapter.js";
7
+ export { XaiAdapter, xaiAdapter } from "./XaiAdapter.js";
@@ -1,4 +1,4 @@
1
- export { AnthropicAdapter, anthropicAdapter, BaseProviderAdapter, GeminiAdapter, geminiAdapter, OpenAiAdapter, openAiAdapter, OpenRouterAdapter, openRouterAdapter, } from "./adapters/index.js";
1
+ export { AnthropicAdapter, anthropicAdapter, BaseProviderAdapter, 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 XaiProvider implements LlmProvider {
5
+ private model;
6
+ private _client?;
7
+ private _operateLoop?;
8
+ private _streamLoop?;
9
+ private apiKey?;
10
+ private log;
11
+ private conversationHistory;
12
+ constructor(model?: string, { apiKey }?: {
13
+ apiKey?: 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 { XaiProvider } from "./XaiProvider.class.js";
@@ -0,0 +1,5 @@
1
+ import { OpenAI } from "openai";
2
+ export declare const getLogger: () => any;
3
+ export declare function initializeClient({ apiKey, }?: {
4
+ apiKey?: string;
5
+ }): Promise<OpenAI>;
@@ -16,6 +16,8 @@ export interface LlmStreamChunkToolCall {
16
16
  id: string;
17
17
  name: string;
18
18
  arguments: string;
19
+ /** Provider-specific metadata preserved through tool-call roundtrip */
20
+ metadata?: Record<string, unknown>;
19
21
  };
20
22
  }
21
23
  export interface LlmStreamChunkToolResult {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaypie/llm",
3
- "version": "1.2.15",
3
+ "version": "1.2.17",
4
4
  "description": "Large language model utilities",
5
5
  "repository": {
6
6
  "type": "git",