@falai/agent 2.2.1 → 2.2.3

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.
@@ -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";
@@ -43,5 +45,5 @@ export { ConditionEvaluator, createConditionEvaluator, extractAIContextStrings,
43
45
  export { historyItemToEvent, historyToEvents, eventToHistoryItem, eventsToHistory, userMessage, assistantMessage, toolMessage, systemMessage, } from "./utils/history";
44
46
  export type { AgentOptions, AgentCompactionConfig, AgentResponse, Term, Instruction, ScopedInstructions, AppliedInstruction, ContextLifecycleHooks, ContextProvider, HookContext, ExitReason, Event, EmittedEvent, MessageEventData, ToolEventData, StatusEventData, Participant, FlowRef, StepRef, FlowOptions, StepOptions, FlowLifecycleHooks, StepLifecycleHooks, SessionState, SignalsState, SignalTriggerState, Signal, SignalContext, SignalDirective, SignalPredicate, SignalPredicateContext, SignalFiring, SignalSchema, ToolContext, ToolResult, ToolHandler, Tool, ToolValidationResult, ToolPermissionResult, ToolCallRequest, ToolExecutionUpdate, CompactionOptions, CompactionResult, DataEnrichmentConfig, ValidationConfig, ValidationError, ApiCallConfig, ComputationConfig, ToolScope, AiProvider, GenerateMessageInput, GenerateMessageOutput, AgentStructuredResponse, ReasoningConfig, StructuredSchema, SessionData, MessageData, CollectedStateData, SessionStatus, SessionRepository, MessageRepository, PersistenceConfig, CreateSessionOptions, SaveMessageOptions, AgentResponseStreamChunk, Role, HistoryItem, History, PersistenceAdapter, Template, TemplateContext, ConditionEvaluationResult, UserHistoryItem, AssistantHistoryItem, ToolHistoryItem, SystemHistoryItem, StoppedReason, PrepareResult, Directive, BranchEntry, BranchMap, BranchPredicate, BranchPredicateContext, ConditionPredicate, ConditionIf, ConditionWhen, } from "./types";
45
47
  export { EventKind, MessageRole } from "./types";
46
- export { createSession, createSessionId, enterFlow, enterStep, completeCurrentFlow, isFlowCompletedThisSession, mergeCollected } from "./utils";
48
+ export { createSession, createSessionId, createPersistedState, enterFlow, enterStep, completeCurrentFlow, isFlowCompletedThisSession, mergeCollected } from "./utils";
47
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
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.completeCurrentFlow = 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.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 = void 0;
8
+ exports.enterFlow = exports.createPersistedState = 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 = exports.enterStep = 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; } });
@@ -87,6 +89,7 @@ Object.defineProperty(exports, "MessageRole", { enumerable: true, get: function
87
89
  var utils_1 = require("./utils");
88
90
  Object.defineProperty(exports, "createSession", { enumerable: true, get: function () { return utils_1.createSession; } });
89
91
  Object.defineProperty(exports, "createSessionId", { enumerable: true, get: function () { return utils_1.createSessionId; } });
92
+ Object.defineProperty(exports, "createPersistedState", { enumerable: true, get: function () { return utils_1.createPersistedState; } });
90
93
  Object.defineProperty(exports, "enterFlow", { enumerable: true, get: function () { return utils_1.enterFlow; } });
91
94
  Object.defineProperty(exports, "enterStep", { enumerable: true, get: function () { return utils_1.enterStep; } });
92
95
  Object.defineProperty(exports, "completeCurrentFlow", { enumerable: true, get: function () { return utils_1.completeCurrentFlow; } });
@@ -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;AAG1B,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"}
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,iCAAsK;AAA7J,sGAAA,aAAa,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,6GAAA,oBAAoB,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