@falai/agent 2.2.1 → 2.2.2
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/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/DeepSeekProvider.d.ts +61 -0
- package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -0
- package/dist/cjs/providers/DeepSeekProvider.js +450 -0
- package/dist/cjs/providers/DeepSeekProvider.js.map +1 -0
- package/dist/cjs/providers/index.d.ts +2 -0
- package/dist/cjs/providers/index.d.ts.map +1 -1
- package/dist/cjs/providers/index.js +3 -1
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/DeepSeekProvider.d.ts +61 -0
- package/dist/providers/DeepSeekProvider.d.ts.map +1 -0
- package/dist/providers/DeepSeekProvider.js +443 -0
- package/dist/providers/DeepSeekProvider.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/docs/reference/providers.md +48 -2
- package/package.json +2 -1
- package/src/index.ts +2 -0
- package/src/providers/DeepSeekProvider.ts +666 -0
- package/src/providers/index.ts +3 -0
package/dist/cjs/index.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export { OpenRouterProvider } from "./providers/OpenRouterProvider";
|
|
|
24
24
|
export type { OpenRouterProviderOptions } from "./providers/OpenRouterProvider";
|
|
25
25
|
export { AnthropicProvider } from "./providers/AnthropicProvider";
|
|
26
26
|
export type { AnthropicProviderOptions } from "./providers/AnthropicProvider";
|
|
27
|
+
export { DeepSeekProvider } from "./providers/DeepSeekProvider";
|
|
28
|
+
export type { DeepSeekProviderOptions } from "./providers/DeepSeekProvider";
|
|
27
29
|
export { PrismaAdapter } from "./adapters/PrismaAdapter";
|
|
28
30
|
export type { PrismaClient, FieldMappings, PrismaAdapterOptions, } from "./adapters/PrismaAdapter";
|
|
29
31
|
export { RedisAdapter } from "./adapters/RedisAdapter";
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAIrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* The AI understands. The code is in control.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
9
|
-
exports.mergeCollected = exports.isFlowCompletedThisSession = void 0;
|
|
8
|
+
exports.enterStep = exports.enterFlow = exports.createSessionId = exports.createSession = exports.MessageRole = exports.EventKind = exports.systemMessage = exports.toolMessage = exports.assistantMessage = exports.userMessage = exports.eventsToHistory = exports.eventToHistoryItem = exports.historyToEvents = exports.historyItemToEvent = exports.hasProgrammaticConditions = exports.extractAIContextStrings = exports.createConditionEvaluator = exports.ConditionEvaluator = exports.formatKnowledgeBase = exports.generateToolId = exports.generateStepId = exports.generateFlowId = exports.OpenSearchAdapter = exports.MemoryAdapter = exports.SQLiteAdapter = exports.PostgreSQLAdapter = exports.MongoAdapter = exports.RedisAdapter = exports.PrismaAdapter = exports.DeepSeekProvider = exports.AnthropicProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.StreamingToolExecutor = exports.NotImplementedError = exports.ToolExecutionError = exports.ToolCreationError = exports.ToolManager = exports.SessionManager = exports.PersistenceManager = exports.convertHistoryToEvents = exports.adaptEvent = exports.DirectiveChainTracker = exports.flow = exports.FlowConfigurationError = exports.Step = exports.Flow = exports.createAgent = exports.Agent = void 0;
|
|
9
|
+
exports.mergeCollected = exports.isFlowCompletedThisSession = exports.completeCurrentFlow = void 0;
|
|
10
10
|
// Core
|
|
11
11
|
var Agent_1 = require("./core/Agent");
|
|
12
12
|
Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return Agent_1.Agent; } });
|
|
@@ -45,6 +45,8 @@ var OpenRouterProvider_1 = require("./providers/OpenRouterProvider");
|
|
|
45
45
|
Object.defineProperty(exports, "OpenRouterProvider", { enumerable: true, get: function () { return OpenRouterProvider_1.OpenRouterProvider; } });
|
|
46
46
|
var AnthropicProvider_1 = require("./providers/AnthropicProvider");
|
|
47
47
|
Object.defineProperty(exports, "AnthropicProvider", { enumerable: true, get: function () { return AnthropicProvider_1.AnthropicProvider; } });
|
|
48
|
+
var DeepSeekProvider_1 = require("./providers/DeepSeekProvider");
|
|
49
|
+
Object.defineProperty(exports, "DeepSeekProvider", { enumerable: true, get: function () { return DeepSeekProvider_1.DeepSeekProvider; } });
|
|
48
50
|
// Adapters
|
|
49
51
|
var PrismaAdapter_1 = require("./adapters/PrismaAdapter");
|
|
50
52
|
Object.defineProperty(exports, "PrismaAdapter", { enumerable: true, get: function () { return PrismaAdapter_1.PrismaAdapter; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,OAAO;AACP,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AACb,oCAA2D;AAAlD,4FAAA,IAAI,OAAA;AAAE,8GAAA,sBAAsB,OAAA;AACrC,wDAA6C;AAApC,sGAAA,IAAI,OAAA;AACb,sEAAqE;AAA5D,8HAAA,qBAAqB,OAAA;AAG9B,wCAAmE;AAA1D,oGAAA,UAAU,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AAC3C,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAC3B,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,kDAAwF;AAA/E,0GAAA,WAAW,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAC3D,yCAAqD;AAA5C,6GAAA,mBAAmB,OAAA;AAE5B,sEAAqE;AAA5D,8HAAA,qBAAqB,OAAA;AAG9B,YAAY;AACZ,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAE3B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH,OAAO;AACP,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AACb,oCAA2D;AAAlD,4FAAA,IAAI,OAAA;AAAE,8GAAA,sBAAsB,OAAA;AACrC,wDAA6C;AAApC,sGAAA,IAAI,OAAA;AACb,sEAAqE;AAA5D,8HAAA,qBAAqB,OAAA;AAG9B,wCAAmE;AAA1D,oGAAA,UAAU,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AAC3C,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAC3B,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,kDAAwF;AAA/E,0GAAA,WAAW,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAC3D,yCAAqD;AAA5C,6GAAA,mBAAmB,OAAA;AAE5B,sEAAqE;AAA5D,8HAAA,qBAAqB,OAAA;AAG9B,YAAY;AACZ,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAE3B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAE1B,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AAGzB,WAAW;AACX,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAErB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAOrB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAM1B,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAM1B,QAAQ;AACR,iCAA4E;AAAnE,oGAAA,cAAc,OAAA;AAAE,oGAAA,cAAc,OAAA;AAAE,oGAAA,cAAc,OAAA;AACvD,6CAAuD;AAA9C,+GAAA,mBAAmB,OAAA;AAC5B,+CAK2B;AAJzB,+GAAA,kBAAkB,OAAA;AAClB,qHAAA,wBAAwB,OAAA;AACxB,oHAAA,uBAAuB,OAAA;AACvB,sHAAA,yBAAyB,OAAA;AAE3B,2CASyB;AARvB,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,sGAAA,WAAW,OAAA;AACX,2GAAA,gBAAgB,OAAA;AAChB,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AAgGf,iCAAiD;AAAxC,kGAAA,SAAS,OAAA;AAAE,oGAAA,WAAW,OAAA;AAC/B,iCAAgJ;AAAvI,sGAAA,aAAa,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,mHAAA,0BAA0B,OAAA;AAAE,uGAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeepSeek provider implementation (OpenAI-compatible API)
|
|
3
|
+
* Supports deepseek-chat, deepseek-reasoner with optional thinking/reasoning mode.
|
|
4
|
+
* DeepSeek streams reasoning content via `delta.reasoning_content` when thinking is enabled.
|
|
5
|
+
*/
|
|
6
|
+
import type { ChatCompletionCreateParamsNonStreaming } from "openai/resources/chat/completions";
|
|
7
|
+
import type { AiProvider, GenerateMessageInput, GenerateMessageOutput, GenerateMessageStreamChunk, AgentStructuredResponse } from "../types";
|
|
8
|
+
/**
|
|
9
|
+
* Configuration options for DeepSeek provider
|
|
10
|
+
* Uses types from openai package (DeepSeek is OpenAI-compatible)
|
|
11
|
+
*/
|
|
12
|
+
export interface DeepSeekProviderOptions {
|
|
13
|
+
/** DeepSeek API key */
|
|
14
|
+
apiKey: string;
|
|
15
|
+
/** Model to use (required) - e.g., "deepseek-chat", "deepseek-reasoner" */
|
|
16
|
+
model: string;
|
|
17
|
+
/** Backup models to try if primary fails (default: []) */
|
|
18
|
+
backupModels?: string[];
|
|
19
|
+
/** Custom base URL (default: "https://api.deepseek.com") */
|
|
20
|
+
baseURL?: string;
|
|
21
|
+
/** Default parameters - uses ChatCompletionCreateParamsNonStreaming from openai package */
|
|
22
|
+
config?: Partial<Omit<ChatCompletionCreateParamsNonStreaming, "model" | "messages">>;
|
|
23
|
+
/** Retry configuration */
|
|
24
|
+
retryConfig?: {
|
|
25
|
+
timeout?: number;
|
|
26
|
+
retries?: number;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* DeepSeek provider implementation using the OpenAI-compatible API.
|
|
31
|
+
* Supports deepseek-chat and deepseek-reasoner with optional thinking mode.
|
|
32
|
+
*
|
|
33
|
+
* DeepSeek streams reasoning content via `delta.reasoning_content` when
|
|
34
|
+
* thinking mode is enabled. Tool calls follow the standard OpenAI format.
|
|
35
|
+
*/
|
|
36
|
+
export declare class DeepSeekProvider implements AiProvider {
|
|
37
|
+
readonly name = "deepseek";
|
|
38
|
+
private client;
|
|
39
|
+
private primaryModel;
|
|
40
|
+
private backupModels;
|
|
41
|
+
private config?;
|
|
42
|
+
private retryConfig;
|
|
43
|
+
constructor(options: DeepSeekProviderOptions);
|
|
44
|
+
/**
|
|
45
|
+
* Build OpenAI-formatted messages from HistoryItem[] array.
|
|
46
|
+
* DeepSeek uses OpenAI-compatible message format.
|
|
47
|
+
*/
|
|
48
|
+
private buildMessages;
|
|
49
|
+
/**
|
|
50
|
+
* Adapt common schema format to DeepSeek's format.
|
|
51
|
+
* DeepSeek is OpenAI-compatible and uses standard JSON Schema.
|
|
52
|
+
*/
|
|
53
|
+
private adaptSchema;
|
|
54
|
+
generateMessage<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): Promise<GenerateMessageOutput<TStructured>>;
|
|
55
|
+
generateMessageStream<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): AsyncGenerator<GenerateMessageStreamChunk<TStructured>>;
|
|
56
|
+
private generateWithBackup;
|
|
57
|
+
private generateWithModel;
|
|
58
|
+
private generateStreamWithBackup;
|
|
59
|
+
private generateStreamWithModel;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=DeepSeekProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepSeekProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/DeepSeekProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,mCAAmC,CAAC;AAGhG,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EAExB,MAAM,UAAU,CAAC;AASlB;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,OAAO,CACd,IAAI,CAAC,sCAAsC,EAAE,OAAO,GAAG,UAAU,CAAC,CACnE,CAAC;IACF,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAwED;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,SAAgB,IAAI,cAAc;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAEb;IACF,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,uBAAuB;IAiC5C;;;OAGG;IACH,OAAO,CAAC,aAAa;IA6CrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAIb,eAAe,CACnB,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAIvC,qBAAqB,CAC1B,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,cAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAI5C,kBAAkB;YA8DlB,iBAAiB;YA0HhB,wBAAwB;YAiExB,uBAAuB;CA2KvC"}
|
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DeepSeek provider implementation (OpenAI-compatible API)
|
|
4
|
+
* Supports deepseek-chat, deepseek-reasoner with optional thinking/reasoning mode.
|
|
5
|
+
* DeepSeek streams reasoning content via `delta.reasoning_content` when thinking is enabled.
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.DeepSeekProvider = void 0;
|
|
12
|
+
const openai_1 = __importDefault(require("openai"));
|
|
13
|
+
const utils_1 = require("../utils");
|
|
14
|
+
const DEFAULT_RETRY_CONFIG = {
|
|
15
|
+
timeout: 60000,
|
|
16
|
+
retries: 3,
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Type guard to check if error is ErrorWithStatus
|
|
20
|
+
*/
|
|
21
|
+
function isErrorWithStatus(error) {
|
|
22
|
+
return (typeof error === "object" &&
|
|
23
|
+
error !== null &&
|
|
24
|
+
("status" in error || "code" in error || "message" in error));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Safely extract error message
|
|
28
|
+
*/
|
|
29
|
+
function getErrorMessage(error) {
|
|
30
|
+
if (error instanceof Error) {
|
|
31
|
+
return error.message;
|
|
32
|
+
}
|
|
33
|
+
if (isErrorWithStatus(error) && error.message) {
|
|
34
|
+
return error.message;
|
|
35
|
+
}
|
|
36
|
+
return String(error);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Determines if an error should trigger backup model usage
|
|
40
|
+
*/
|
|
41
|
+
const shouldUseBackupModel = (error) => {
|
|
42
|
+
if (!isErrorWithStatus(error)) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
// Server errors
|
|
46
|
+
if (error.status === 500 || error.status === 503) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
// Rate limiting
|
|
50
|
+
if (error.status === 429) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
// Model overloaded or unavailable
|
|
54
|
+
if (error.code === "model_not_found" || error.code === "model_overloaded") {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
const message = getErrorMessage(error);
|
|
58
|
+
if (message.includes("overloaded") ||
|
|
59
|
+
message.includes("unavailable") ||
|
|
60
|
+
message.includes("internal error") ||
|
|
61
|
+
message.includes("Internal error")) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* DeepSeek provider implementation using the OpenAI-compatible API.
|
|
68
|
+
* Supports deepseek-chat and deepseek-reasoner with optional thinking mode.
|
|
69
|
+
*
|
|
70
|
+
* DeepSeek streams reasoning content via `delta.reasoning_content` when
|
|
71
|
+
* thinking mode is enabled. Tool calls follow the standard OpenAI format.
|
|
72
|
+
*/
|
|
73
|
+
class DeepSeekProvider {
|
|
74
|
+
constructor(options) {
|
|
75
|
+
this.name = "deepseek";
|
|
76
|
+
const { apiKey, model, backupModels = [], baseURL = "https://api.deepseek.com", config, retryConfig, } = options;
|
|
77
|
+
if (!apiKey) {
|
|
78
|
+
throw new Error("DeepSeek API key is required");
|
|
79
|
+
}
|
|
80
|
+
if (!model) {
|
|
81
|
+
throw new Error("Model is required. Example: 'deepseek-chat' or 'deepseek-reasoner'");
|
|
82
|
+
}
|
|
83
|
+
this.client = new openai_1.default({
|
|
84
|
+
apiKey,
|
|
85
|
+
baseURL,
|
|
86
|
+
});
|
|
87
|
+
this.primaryModel = model;
|
|
88
|
+
this.backupModels = backupModels;
|
|
89
|
+
this.config = config;
|
|
90
|
+
this.retryConfig = {
|
|
91
|
+
timeout: retryConfig?.timeout || DEFAULT_RETRY_CONFIG.timeout,
|
|
92
|
+
retries: retryConfig?.retries || DEFAULT_RETRY_CONFIG.retries,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build OpenAI-formatted messages from HistoryItem[] array.
|
|
97
|
+
* DeepSeek uses OpenAI-compatible message format.
|
|
98
|
+
*/
|
|
99
|
+
buildMessages(history) {
|
|
100
|
+
const messages = [];
|
|
101
|
+
for (const item of history) {
|
|
102
|
+
switch (item.role) {
|
|
103
|
+
case "system":
|
|
104
|
+
messages.push({ role: "system", content: item.content });
|
|
105
|
+
break;
|
|
106
|
+
case "user":
|
|
107
|
+
messages.push({ role: "user", content: item.content });
|
|
108
|
+
break;
|
|
109
|
+
case "assistant":
|
|
110
|
+
if (item.tool_calls && item.tool_calls.length > 0) {
|
|
111
|
+
messages.push({
|
|
112
|
+
role: "assistant",
|
|
113
|
+
content: item.content || null,
|
|
114
|
+
tool_calls: item.tool_calls.map((tc) => ({
|
|
115
|
+
id: tc.id,
|
|
116
|
+
type: "function",
|
|
117
|
+
function: {
|
|
118
|
+
name: tc.name,
|
|
119
|
+
arguments: JSON.stringify(tc.arguments),
|
|
120
|
+
},
|
|
121
|
+
})),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
messages.push({ role: "assistant", content: item.content || "" });
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
case "tool":
|
|
129
|
+
messages.push({
|
|
130
|
+
role: "tool",
|
|
131
|
+
tool_call_id: item.tool_call_id,
|
|
132
|
+
content: typeof item.content === "string"
|
|
133
|
+
? item.content
|
|
134
|
+
: JSON.stringify(item.content),
|
|
135
|
+
});
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return messages;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Adapt common schema format to DeepSeek's format.
|
|
143
|
+
* DeepSeek is OpenAI-compatible and uses standard JSON Schema.
|
|
144
|
+
*/
|
|
145
|
+
adaptSchema(schema) {
|
|
146
|
+
return schema;
|
|
147
|
+
}
|
|
148
|
+
async generateMessage(input) {
|
|
149
|
+
return this.generateWithBackup(input);
|
|
150
|
+
}
|
|
151
|
+
async *generateMessageStream(input) {
|
|
152
|
+
yield* this.generateStreamWithBackup(input);
|
|
153
|
+
}
|
|
154
|
+
async generateWithBackup(input) {
|
|
155
|
+
try {
|
|
156
|
+
return await this.generateWithModel(this.primaryModel, input);
|
|
157
|
+
}
|
|
158
|
+
catch (primaryError) {
|
|
159
|
+
const primaryErrMsg = getErrorMessage(primaryError);
|
|
160
|
+
utils_1.logger.warn(`[DEEPSEEK] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
|
|
161
|
+
if (!shouldUseBackupModel(primaryError)) {
|
|
162
|
+
throw primaryError;
|
|
163
|
+
}
|
|
164
|
+
utils_1.logger.debug(`[DEEPSEEK] Trying backup models`);
|
|
165
|
+
let lastBackupError = primaryError;
|
|
166
|
+
for (let i = 0; i < this.backupModels.length; i++) {
|
|
167
|
+
const backupModel = this.backupModels[i];
|
|
168
|
+
utils_1.logger.debug(`[DEEPSEEK] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
|
|
169
|
+
try {
|
|
170
|
+
const result = await this.generateWithModel(backupModel, input);
|
|
171
|
+
utils_1.logger.debug(`[DEEPSEEK] Backup model ${backupModel} succeeded`);
|
|
172
|
+
return result;
|
|
173
|
+
}
|
|
174
|
+
catch (backupError) {
|
|
175
|
+
const backupErrMsg = getErrorMessage(backupError);
|
|
176
|
+
utils_1.logger.warn(`[DEEPSEEK] Backup model ${backupModel} failed: ${backupErrMsg}`);
|
|
177
|
+
lastBackupError = backupError;
|
|
178
|
+
if (!shouldUseBackupModel(backupError) &&
|
|
179
|
+
i < this.backupModels.length - 1) {
|
|
180
|
+
utils_1.logger.debug(`[DEEPSEEK] Backup model error doesn't qualify for further attempts`);
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const lastBackupErrMsg = getErrorMessage(lastBackupError);
|
|
186
|
+
utils_1.logger.error(`[DEEPSEEK] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
|
|
187
|
+
throw lastBackupError;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async generateWithModel(model, input) {
|
|
191
|
+
const operation = async () => {
|
|
192
|
+
const historyMessages = this.buildMessages(input.history);
|
|
193
|
+
historyMessages.push({ role: "user", content: input.prompt });
|
|
194
|
+
const params = {
|
|
195
|
+
model,
|
|
196
|
+
messages: historyMessages,
|
|
197
|
+
...this.config,
|
|
198
|
+
};
|
|
199
|
+
// Override with input parameters if provided
|
|
200
|
+
if (input.parameters?.maxOutputTokens !== undefined) {
|
|
201
|
+
params.max_tokens = input.parameters.maxOutputTokens;
|
|
202
|
+
}
|
|
203
|
+
// Add tools if provided
|
|
204
|
+
if (input.tools && input.tools.length > 0) {
|
|
205
|
+
params.tools = input.tools.map((tool) => ({
|
|
206
|
+
type: "function",
|
|
207
|
+
function: {
|
|
208
|
+
name: tool.name || tool.id,
|
|
209
|
+
description: tool.description,
|
|
210
|
+
parameters: tool.parameters,
|
|
211
|
+
},
|
|
212
|
+
}));
|
|
213
|
+
params.tool_choice = "auto";
|
|
214
|
+
}
|
|
215
|
+
// Use structured output if JSON schema is provided
|
|
216
|
+
if (input.parameters?.jsonSchema) {
|
|
217
|
+
params.response_format = {
|
|
218
|
+
type: "json_schema",
|
|
219
|
+
json_schema: {
|
|
220
|
+
name: input.parameters.schemaName || "structured_output",
|
|
221
|
+
schema: this.adaptSchema(input.parameters.jsonSchema),
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
const response = await this.client.chat.completions.create(params);
|
|
226
|
+
const message = response.choices[0]?.message?.content || "";
|
|
227
|
+
let toolCalls = [];
|
|
228
|
+
if (response.choices?.[0]?.message?.tool_calls) {
|
|
229
|
+
toolCalls = response.choices[0].message.tool_calls
|
|
230
|
+
.filter((toolCall) => toolCall.type === "function")
|
|
231
|
+
.map((toolCall) => {
|
|
232
|
+
let toolCallArguments = {};
|
|
233
|
+
try {
|
|
234
|
+
toolCallArguments = JSON.parse(toolCall.function.arguments);
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
utils_1.logger.warn(`[DEEPSEEK] Failed to parse tool call arguments: ${getErrorMessage(error)}`);
|
|
238
|
+
toolCallArguments = {};
|
|
239
|
+
}
|
|
240
|
+
return {
|
|
241
|
+
toolName: toolCall.function.name,
|
|
242
|
+
arguments: toolCallArguments,
|
|
243
|
+
};
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
// Only throw error if we have no text AND no function calls
|
|
247
|
+
if (!message && toolCalls.length === 0) {
|
|
248
|
+
throw new Error("No response from DeepSeek");
|
|
249
|
+
}
|
|
250
|
+
// Parse structured output if schema was provided
|
|
251
|
+
let structured;
|
|
252
|
+
if (input.parameters?.jsonSchema && message) {
|
|
253
|
+
try {
|
|
254
|
+
structured = JSON.parse(message);
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
utils_1.logger.warn("[DEEPSEEK] Failed to parse JSON response:", error);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
// If tools were used, include them in structured response
|
|
261
|
+
if (toolCalls.length > 0) {
|
|
262
|
+
structured = {
|
|
263
|
+
...(structured || {}),
|
|
264
|
+
message: structured?.message || message,
|
|
265
|
+
toolCalls,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
message,
|
|
270
|
+
metadata: {
|
|
271
|
+
model: response.model,
|
|
272
|
+
finishReason: response.choices[0]?.finish_reason,
|
|
273
|
+
tokensUsed: response.usage?.total_tokens,
|
|
274
|
+
promptTokens: response.usage?.prompt_tokens,
|
|
275
|
+
completionTokens: response.usage?.completion_tokens,
|
|
276
|
+
},
|
|
277
|
+
structured,
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
return (0, utils_1.withTimeoutAndRetry)(operation, this.retryConfig.timeout, this.retryConfig.retries, `DeepSeek ${model}`);
|
|
281
|
+
}
|
|
282
|
+
async *generateStreamWithBackup(input) {
|
|
283
|
+
try {
|
|
284
|
+
yield* this.generateStreamWithModel(this.primaryModel, input);
|
|
285
|
+
}
|
|
286
|
+
catch (primaryError) {
|
|
287
|
+
const primaryErrMsg = getErrorMessage(primaryError);
|
|
288
|
+
utils_1.logger.warn(`[DEEPSEEK] Primary model ${this.primaryModel} failed: ${primaryErrMsg}`);
|
|
289
|
+
if (!shouldUseBackupModel(primaryError)) {
|
|
290
|
+
throw primaryError;
|
|
291
|
+
}
|
|
292
|
+
utils_1.logger.debug(`[DEEPSEEK] Trying backup models for streaming`);
|
|
293
|
+
let lastBackupError = primaryError;
|
|
294
|
+
for (let i = 0; i < this.backupModels.length; i++) {
|
|
295
|
+
const backupModel = this.backupModels[i];
|
|
296
|
+
utils_1.logger.debug(`[DEEPSEEK] Trying backup model ${i + 1}/${this.backupModels.length}: ${backupModel}`);
|
|
297
|
+
try {
|
|
298
|
+
yield* this.generateStreamWithModel(backupModel, input);
|
|
299
|
+
utils_1.logger.debug(`[DEEPSEEK] Backup model ${backupModel} succeeded`);
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
catch (backupError) {
|
|
303
|
+
const backupErrMsg = getErrorMessage(backupError);
|
|
304
|
+
utils_1.logger.warn(`[DEEPSEEK] Backup model ${backupModel} failed: ${backupErrMsg}`);
|
|
305
|
+
lastBackupError = backupError;
|
|
306
|
+
if (!shouldUseBackupModel(backupError) &&
|
|
307
|
+
i < this.backupModels.length - 1) {
|
|
308
|
+
utils_1.logger.debug(`[DEEPSEEK] Backup model error doesn't qualify for further attempts`);
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const lastBackupErrMsg = getErrorMessage(lastBackupError);
|
|
314
|
+
utils_1.logger.error(`[DEEPSEEK] All models failed. Primary: ${primaryErrMsg}, Last backup: ${lastBackupErrMsg}`);
|
|
315
|
+
throw lastBackupError;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
async *generateStreamWithModel(model, input) {
|
|
319
|
+
const historyMessages = this.buildMessages(input.history);
|
|
320
|
+
historyMessages.push({ role: "user", content: input.prompt });
|
|
321
|
+
const params = {
|
|
322
|
+
...this.config,
|
|
323
|
+
model,
|
|
324
|
+
messages: historyMessages,
|
|
325
|
+
stream: true,
|
|
326
|
+
stream_options: { include_usage: true },
|
|
327
|
+
};
|
|
328
|
+
// Override with input parameters if provided
|
|
329
|
+
if (input.parameters?.maxOutputTokens !== undefined) {
|
|
330
|
+
params.max_tokens = input.parameters.maxOutputTokens;
|
|
331
|
+
}
|
|
332
|
+
// Add tools if provided
|
|
333
|
+
if (input.tools && input.tools.length > 0) {
|
|
334
|
+
params.tools = input.tools.map((tool) => ({
|
|
335
|
+
type: "function",
|
|
336
|
+
function: {
|
|
337
|
+
name: tool.name || tool.id,
|
|
338
|
+
description: tool.description,
|
|
339
|
+
parameters: tool.parameters,
|
|
340
|
+
},
|
|
341
|
+
}));
|
|
342
|
+
params.tool_choice = "auto";
|
|
343
|
+
}
|
|
344
|
+
// Request JSON schema output if schema is provided
|
|
345
|
+
if (input.parameters?.jsonSchema) {
|
|
346
|
+
params.response_format = {
|
|
347
|
+
type: "json_schema",
|
|
348
|
+
json_schema: {
|
|
349
|
+
name: input.parameters.schemaName || "structured_output",
|
|
350
|
+
schema: this.adaptSchema(input.parameters.jsonSchema),
|
|
351
|
+
},
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
const stream = await this.client.chat.completions.create(params);
|
|
355
|
+
let accumulated = "";
|
|
356
|
+
let currentModel = model;
|
|
357
|
+
let finishReason;
|
|
358
|
+
let promptTokens;
|
|
359
|
+
let completionTokens;
|
|
360
|
+
let totalTokens;
|
|
361
|
+
const toolCalls = [];
|
|
362
|
+
for await (const chunk of stream) {
|
|
363
|
+
currentModel = chunk.model;
|
|
364
|
+
const choice = chunk.choices?.[0];
|
|
365
|
+
// DeepSeek may include usage in chunks with include_usage
|
|
366
|
+
if (chunk.usage) {
|
|
367
|
+
promptTokens = chunk.usage.prompt_tokens;
|
|
368
|
+
completionTokens = chunk.usage.completion_tokens;
|
|
369
|
+
totalTokens = chunk.usage.total_tokens;
|
|
370
|
+
}
|
|
371
|
+
if (!choice)
|
|
372
|
+
continue;
|
|
373
|
+
const delta = choice.delta;
|
|
374
|
+
// Extract tool calls from delta
|
|
375
|
+
const deltaToolCalls = delta?.tool_calls;
|
|
376
|
+
if (deltaToolCalls) {
|
|
377
|
+
for (const toolCall of deltaToolCalls) {
|
|
378
|
+
if (toolCall.function) {
|
|
379
|
+
let toolCallArguments = {};
|
|
380
|
+
try {
|
|
381
|
+
toolCallArguments = toolCall.function.arguments
|
|
382
|
+
? JSON.parse(toolCall.function.arguments)
|
|
383
|
+
: {};
|
|
384
|
+
}
|
|
385
|
+
catch (error) {
|
|
386
|
+
utils_1.logger.warn(`[DEEPSEEK] Failed to parse tool call arguments in stream: ${getErrorMessage(error)}`);
|
|
387
|
+
toolCallArguments = {};
|
|
388
|
+
}
|
|
389
|
+
toolCalls.push({
|
|
390
|
+
toolName: toolCall.function.name || "",
|
|
391
|
+
arguments: toolCallArguments,
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
// DeepSeek streams reasoning via `reasoning_content` on the delta
|
|
397
|
+
const reasoning = delta?.reasoning_content ?? undefined;
|
|
398
|
+
if (reasoning) {
|
|
399
|
+
utils_1.logger.debug(`[DEEPSEEK] Reasoning: ${reasoning}`);
|
|
400
|
+
}
|
|
401
|
+
const content = delta?.content ?? "";
|
|
402
|
+
if (content) {
|
|
403
|
+
accumulated += content;
|
|
404
|
+
yield {
|
|
405
|
+
delta: content,
|
|
406
|
+
accumulated,
|
|
407
|
+
done: false,
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
if (choice.finish_reason) {
|
|
411
|
+
finishReason = choice.finish_reason;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
// Parse JSON response if schema was provided
|
|
415
|
+
let structured;
|
|
416
|
+
if (input.parameters?.jsonSchema && accumulated) {
|
|
417
|
+
try {
|
|
418
|
+
structured = JSON.parse(accumulated);
|
|
419
|
+
}
|
|
420
|
+
catch (error) {
|
|
421
|
+
utils_1.logger.warn("[DEEPSEEK] Failed to parse JSON response in stream:", error);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
// Include tool calls in structured response
|
|
425
|
+
if (toolCalls.length > 0) {
|
|
426
|
+
structured = {
|
|
427
|
+
...(structured || {}),
|
|
428
|
+
message: structured?.message ||
|
|
429
|
+
accumulated,
|
|
430
|
+
toolCalls,
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
// Yield final chunk
|
|
434
|
+
yield {
|
|
435
|
+
delta: "",
|
|
436
|
+
accumulated,
|
|
437
|
+
done: true,
|
|
438
|
+
metadata: {
|
|
439
|
+
model: currentModel,
|
|
440
|
+
finishReason,
|
|
441
|
+
tokensUsed: totalTokens,
|
|
442
|
+
promptTokens,
|
|
443
|
+
completionTokens,
|
|
444
|
+
},
|
|
445
|
+
structured,
|
|
446
|
+
};
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
exports.DeepSeekProvider = DeepSeekProvider;
|
|
450
|
+
//# sourceMappingURL=DeepSeekProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepSeekProvider.js","sourceRoot":"","sources":["../../../src/providers/DeepSeekProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,4 +10,6 @@ export { OpenAIProvider } from "./OpenAIProvider";
|
|
|
10
10
|
export type { OpenAIProviderOptions } from "./OpenAIProvider";
|
|
11
11
|
export { OpenRouterProvider } from "./OpenRouterProvider";
|
|
12
12
|
export type { OpenRouterProviderOptions } from "./OpenRouterProvider";
|
|
13
|
+
export { DeepSeekProvider } from "./DeepSeekProvider";
|
|
14
|
+
export type { DeepSeekProviderOptions } from "./DeepSeekProvider";
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Centralized export point for all AI provider implementations
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.AnthropicProvider = void 0;
|
|
7
|
+
exports.DeepSeekProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.AnthropicProvider = void 0;
|
|
8
8
|
var AnthropicProvider_1 = require("./AnthropicProvider");
|
|
9
9
|
Object.defineProperty(exports, "AnthropicProvider", { enumerable: true, get: function () { return AnthropicProvider_1.AnthropicProvider; } });
|
|
10
10
|
var GeminiProvider_1 = require("./GeminiProvider");
|
|
@@ -13,4 +13,6 @@ var OpenAIProvider_1 = require("./OpenAIProvider");
|
|
|
13
13
|
Object.defineProperty(exports, "OpenAIProvider", { enumerable: true, get: function () { return OpenAIProvider_1.OpenAIProvider; } });
|
|
14
14
|
var OpenRouterProvider_1 = require("./OpenRouterProvider");
|
|
15
15
|
Object.defineProperty(exports, "OpenRouterProvider", { enumerable: true, get: function () { return OpenRouterProvider_1.OpenRouterProvider; } });
|
|
16
|
+
var DeepSeekProvider_1 = require("./DeepSeekProvider");
|
|
17
|
+
Object.defineProperty(exports, "DeepSeekProvider", { enumerable: true, get: function () { return DeepSeekProvider_1.DeepSeekProvider; } });
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAG1B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAG1B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAGvB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAG3B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export { OpenRouterProvider } from "./providers/OpenRouterProvider";
|
|
|
24
24
|
export type { OpenRouterProviderOptions } from "./providers/OpenRouterProvider";
|
|
25
25
|
export { AnthropicProvider } from "./providers/AnthropicProvider";
|
|
26
26
|
export type { AnthropicProviderOptions } from "./providers/AnthropicProvider";
|
|
27
|
+
export { DeepSeekProvider } from "./providers/DeepSeekProvider";
|
|
28
|
+
export type { DeepSeekProviderOptions } from "./providers/DeepSeekProvider";
|
|
27
29
|
export { PrismaAdapter } from "./adapters/PrismaAdapter";
|
|
28
30
|
export type { PrismaClient, FieldMappings, PrismaAdapterOptions, } from "./adapters/PrismaAdapter";
|
|
29
31
|
export { RedisAdapter } from "./adapters/RedisAdapter";
|