keepwork-sdk 1.0.0

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.
Files changed (146) hide show
  1. package/README.md +21 -0
  2. package/dist-npm/keepwork-sdk.js +37514 -0
  3. package/dist-npm/keepwork-sdk.js.map +1 -0
  4. package/dist-npm/md5-CZ0vz1_S.js +240 -0
  5. package/dist-npm/md5-CZ0vz1_S.js.map +1 -0
  6. package/dist-npm/types/index.d.ts +42 -0
  7. package/dist-npm/types/index.d.ts.map +1 -0
  8. package/dist-npm/types/src/ai-chat/AIChat.core.d.ts +218 -0
  9. package/dist-npm/types/src/ai-chat/AIChat.core.d.ts.map +1 -0
  10. package/dist-npm/types/src/ai-chat/AIChat.d.ts +18 -0
  11. package/dist-npm/types/src/ai-chat/AIChat.d.ts.map +1 -0
  12. package/dist-npm/types/src/ai-chat/AIChat.session.d.ts +201 -0
  13. package/dist-npm/types/src/ai-chat/AIChat.session.d.ts.map +1 -0
  14. package/dist-npm/types/src/ai-chat/AIGenerators.base.d.ts +297 -0
  15. package/dist-npm/types/src/ai-chat/AIGenerators.base.d.ts.map +1 -0
  16. package/dist-npm/types/src/ai-chat/AIGenerators.d.ts +15 -0
  17. package/dist-npm/types/src/ai-chat/AIGenerators.d.ts.map +1 -0
  18. package/dist-npm/types/src/ai-chat/AIGenerators.media.d.ts +208 -0
  19. package/dist-npm/types/src/ai-chat/AIGenerators.media.d.ts.map +1 -0
  20. package/dist-npm/types/src/ai-chat/ChildSessionMixin.d.ts +153 -0
  21. package/dist-npm/types/src/ai-chat/ChildSessionMixin.d.ts.map +1 -0
  22. package/dist-npm/types/src/ai-chat/CopilotTools.d.ts +150 -0
  23. package/dist-npm/types/src/ai-chat/CopilotTools.d.ts.map +1 -0
  24. package/dist-npm/types/src/ai-chat/MqttManager.d.ts +123 -0
  25. package/dist-npm/types/src/ai-chat/MqttManager.d.ts.map +1 -0
  26. package/dist-npm/types/src/ai-chat/SandboxToolEnv.d.ts +210 -0
  27. package/dist-npm/types/src/ai-chat/SandboxToolEnv.d.ts.map +1 -0
  28. package/dist-npm/types/src/audio/AudioEngine.d.ts +272 -0
  29. package/dist-npm/types/src/audio/AudioEngine.d.ts.map +1 -0
  30. package/dist-npm/types/src/audio/AudioEngine.utils.d.ts +72 -0
  31. package/dist-npm/types/src/audio/AudioEngine.utils.d.ts.map +1 -0
  32. package/dist-npm/types/src/audio/Speech.d.ts +247 -0
  33. package/dist-npm/types/src/audio/Speech.d.ts.map +1 -0
  34. package/dist-npm/types/src/core/AgentConfig.d.ts +104 -0
  35. package/dist-npm/types/src/core/AgentConfig.d.ts.map +1 -0
  36. package/dist-npm/types/src/core/AgentRouter.d.ts +342 -0
  37. package/dist-npm/types/src/core/AgentRouter.d.ts.map +1 -0
  38. package/dist-npm/types/src/core/NPL.d.ts +251 -0
  39. package/dist-npm/types/src/core/NPL.d.ts.map +1 -0
  40. package/dist-npm/types/src/core/RemoteLog.d.ts +132 -0
  41. package/dist-npm/types/src/core/RemoteLog.d.ts.map +1 -0
  42. package/dist-npm/types/src/core/keepworkSDK.core.d.ts +84 -0
  43. package/dist-npm/types/src/core/keepworkSDK.core.d.ts.map +1 -0
  44. package/dist-npm/types/src/core/keepworkSDK.d.ts +129 -0
  45. package/dist-npm/types/src/core/keepworkSDK.d.ts.map +1 -0
  46. package/dist-npm/types/src/core/keepworkSDK.pages.d.ts +101 -0
  47. package/dist-npm/types/src/core/keepworkSDK.pages.d.ts.map +1 -0
  48. package/dist-npm/types/src/core/keepworkSDK.utils.d.ts +40 -0
  49. package/dist-npm/types/src/core/keepworkSDK.utils.d.ts.map +1 -0
  50. package/dist-npm/types/src/digital-human/DigitalHuman.d.ts +1316 -0
  51. package/dist-npm/types/src/digital-human/DigitalHuman.d.ts.map +1 -0
  52. package/dist-npm/types/src/digital-human/DigitalHumanBridge.d.ts +54 -0
  53. package/dist-npm/types/src/digital-human/DigitalHumanBridge.d.ts.map +1 -0
  54. package/dist-npm/types/src/digital-human/DigitalHumanConfig.d.ts +104 -0
  55. package/dist-npm/types/src/digital-human/DigitalHumanConfig.d.ts.map +1 -0
  56. package/dist-npm/types/src/digital-human/DigitalHumanFrame.d.ts +390 -0
  57. package/dist-npm/types/src/digital-human/DigitalHumanFrame.d.ts.map +1 -0
  58. package/dist-npm/types/src/digital-human/DigitalHumanFrameMessages.d.ts +59 -0
  59. package/dist-npm/types/src/digital-human/DigitalHumanFrameMessages.d.ts.map +1 -0
  60. package/dist-npm/types/src/digital-human/DigitalHumanSubtitleOverlay.d.ts +114 -0
  61. package/dist-npm/types/src/digital-human/DigitalHumanSubtitleOverlay.d.ts.map +1 -0
  62. package/dist-npm/types/src/digital-human/DigitalHumanUtils.d.ts +53 -0
  63. package/dist-npm/types/src/digital-human/DigitalHumanUtils.d.ts.map +1 -0
  64. package/dist-npm/types/src/rtc/AIChatRTC.constants.d.ts +65 -0
  65. package/dist-npm/types/src/rtc/AIChatRTC.constants.d.ts.map +1 -0
  66. package/dist-npm/types/src/rtc/AIChatRTC.d.ts +91 -0
  67. package/dist-npm/types/src/rtc/AIChatRTC.d.ts.map +1 -0
  68. package/dist-npm/types/src/rtc/AIChatRTC.session.d.ts +268 -0
  69. package/dist-npm/types/src/rtc/AIChatRTC.session.d.ts.map +1 -0
  70. package/dist-npm/types/src/rtc/AIChatRTCLocal.backends.d.ts +232 -0
  71. package/dist-npm/types/src/rtc/AIChatRTCLocal.backends.d.ts.map +1 -0
  72. package/dist-npm/types/src/rtc/AIChatRTCLocal.core.d.ts +92 -0
  73. package/dist-npm/types/src/rtc/AIChatRTCLocal.core.d.ts.map +1 -0
  74. package/dist-npm/types/src/rtc/AIChatRTCLocal.d.ts +15 -0
  75. package/dist-npm/types/src/rtc/AIChatRTCLocal.d.ts.map +1 -0
  76. package/dist-npm/types/src/rtc/AIChatRTCLocal.session.d.ts +127 -0
  77. package/dist-npm/types/src/rtc/AIChatRTCLocal.session.d.ts.map +1 -0
  78. package/dist-npm/types/src/rtc/LocalRTC.d.ts +91 -0
  79. package/dist-npm/types/src/rtc/LocalRTC.d.ts.map +1 -0
  80. package/dist-npm/types/src/rtc/SpeechRTC.d.ts +156 -0
  81. package/dist-npm/types/src/rtc/SpeechRTC.d.ts.map +1 -0
  82. package/dist-npm/types/src/rtc/SpeechRTC.transport.d.ts +191 -0
  83. package/dist-npm/types/src/rtc/SpeechRTC.transport.d.ts.map +1 -0
  84. package/dist-npm/types/src/store/CloudDrive.d.ts +140 -0
  85. package/dist-npm/types/src/store/CloudDrive.d.ts.map +1 -0
  86. package/dist-npm/types/src/store/LocalStorageUtil.d.ts +136 -0
  87. package/dist-npm/types/src/store/LocalStorageUtil.d.ts.map +1 -0
  88. package/dist-npm/types/src/store/PersonalPageStore.base.d.ts +267 -0
  89. package/dist-npm/types/src/store/PersonalPageStore.base.d.ts.map +1 -0
  90. package/dist-npm/types/src/store/PersonalPageStore.d.ts +13 -0
  91. package/dist-npm/types/src/store/PersonalPageStore.d.ts.map +1 -0
  92. package/dist-npm/types/src/store/PersonalPageStore.data.d.ts +198 -0
  93. package/dist-npm/types/src/store/PersonalPageStore.data.d.ts.map +1 -0
  94. package/dist-npm/types/src/store/PersonalPageStore.sync.d.ts +171 -0
  95. package/dist-npm/types/src/store/PersonalPageStore.sync.d.ts.map +1 -0
  96. package/dist-npm/types/src/store/PersonalPageStore.types.d.ts +92 -0
  97. package/dist-npm/types/src/store/PersonalPageStore.types.d.ts.map +1 -0
  98. package/dist-npm/types/src/store/YMLParser.d.ts +96 -0
  99. package/dist-npm/types/src/store/YMLParser.d.ts.map +1 -0
  100. package/dist-npm/types/src/tools/AgentTool.d.ts +110 -0
  101. package/dist-npm/types/src/tools/AgentTool.d.ts.map +1 -0
  102. package/dist-npm/types/src/tools/AppTools.d.ts +122 -0
  103. package/dist-npm/types/src/tools/AppTools.d.ts.map +1 -0
  104. package/dist-npm/types/src/tools/ExecuteTool.d.ts +96 -0
  105. package/dist-npm/types/src/tools/ExecuteTool.d.ts.map +1 -0
  106. package/dist-npm/types/src/tools/FileTools.d.ts +77 -0
  107. package/dist-npm/types/src/tools/FileTools.d.ts.map +1 -0
  108. package/dist-npm/types/src/tools/MinigameTools.d.ts +234 -0
  109. package/dist-npm/types/src/tools/MinigameTools.d.ts.map +1 -0
  110. package/dist-npm/types/src/tools/MqttTool.d.ts +53 -0
  111. package/dist-npm/types/src/tools/MqttTool.d.ts.map +1 -0
  112. package/dist-npm/types/src/tools/PersonalPageTool.d.ts +57 -0
  113. package/dist-npm/types/src/tools/PersonalPageTool.d.ts.map +1 -0
  114. package/dist-npm/types/src/tools/SummarizeTool.d.ts +279 -0
  115. package/dist-npm/types/src/tools/SummarizeTool.d.ts.map +1 -0
  116. package/dist-npm/types/src/tools/WebTool.d.ts +106 -0
  117. package/dist-npm/types/src/tools/WebTool.d.ts.map +1 -0
  118. package/dist-npm/types/src/types/common.d.ts +164 -0
  119. package/dist-npm/types/src/types/common.d.ts.map +1 -0
  120. package/dist-npm/types/src/ui/LocalAPIKeySettings.d.ts +229 -0
  121. package/dist-npm/types/src/ui/LocalAPIKeySettings.d.ts.map +1 -0
  122. package/dist-npm/types/src/ui/LoginWindow.d.ts +163 -0
  123. package/dist-npm/types/src/ui/LoginWindow.d.ts.map +1 -0
  124. package/dist-npm/types/src/ui/ProfileWindow.d.ts +75 -0
  125. package/dist-npm/types/src/ui/ProfileWindow.d.ts.map +1 -0
  126. package/dist-npm/types/src/ui/VerifyHuman.d.ts +23 -0
  127. package/dist-npm/types/src/ui/VerifyHuman.d.ts.map +1 -0
  128. package/dist-npm/types/src/ui/WorkspaceViewer.d.ts +184 -0
  129. package/dist-npm/types/src/ui/WorkspaceViewer.d.ts.map +1 -0
  130. package/dist-npm/types/src/user/SocialFriends.d.ts +173 -0
  131. package/dist-npm/types/src/user/SocialFriends.d.ts.map +1 -0
  132. package/dist-npm/types/src/user/UserWorks.d.ts +187 -0
  133. package/dist-npm/types/src/user/UserWorks.d.ts.map +1 -0
  134. package/dist-npm/types/src/utils/ImageUtils.d.ts +107 -0
  135. package/dist-npm/types/src/utils/ImageUtils.d.ts.map +1 -0
  136. package/dist-npm/types/src/utils/SDKLogger.d.ts +111 -0
  137. package/dist-npm/types/src/utils/SDKLogger.d.ts.map +1 -0
  138. package/dist-npm/types/src/utils/translation.d.ts +95 -0
  139. package/dist-npm/types/src/utils/translation.d.ts.map +1 -0
  140. package/dist-npm/types/src/wechat/WxAuth.d.ts +126 -0
  141. package/dist-npm/types/src/wechat/WxAuth.d.ts.map +1 -0
  142. package/dist-npm/types/src/wechat/WxLaunchApp.d.ts +96 -0
  143. package/dist-npm/types/src/wechat/WxLaunchApp.d.ts.map +1 -0
  144. package/dist-npm/types/src/wechat/WxUtils.d.ts +145 -0
  145. package/dist-npm/types/src/wechat/WxUtils.d.ts.map +1 -0
  146. package/package.json +52 -0
@@ -0,0 +1,201 @@
1
+ /**
2
+ * AIChat.session.ts — ChatSession 类
3
+ *
4
+ * 包含:
5
+ * - ChatSession 构造函数(历史/sandbox/子 session/AgentRouter 注册)
6
+ * - send()(含子 agent 结果注入、模板展开、图片压缩/上传、历史持久化)
7
+ * - 消息管理(addUserMessage / addAssistantMessage / clear / getHistory)
8
+ * - 消息修剪(_evictMessages / _evictExcessImages)
9
+ * - 工作空间管理(setWorkspace / setMountFolder)
10
+ * - AgentRouter 集成(executeTool / unregisterAgent)
11
+ * - restartAgent(配置文件加载 + 状态重置)
12
+ *
13
+ * 该文件导出 `ChatSession` 类,并在模块求值时将其挂载到 AIChat.prototype.createSession。
14
+ */
15
+ import AIChat, { type ChatMessage } from './AIChat.core';
16
+ import { type ChildSessionHost } from './ChildSessionMixin';
17
+ import SandboxToolEnv from './SandboxToolEnv';
18
+ /** ChatSession 构造选项 */
19
+ export interface ChatSessionOptions {
20
+ chatId?: string;
21
+ modId?: string;
22
+ persistedId?: string;
23
+ skipHistory?: boolean;
24
+ model?: string;
25
+ apiCacheKey?: string | null;
26
+ historyLength?: number;
27
+ systemPrompt?: string;
28
+ system_prompt?: string;
29
+ workspace?: string | null;
30
+ mountFolder?: unknown;
31
+ enabledCategories?: string[];
32
+ toolProxy?: unknown;
33
+ name?: string;
34
+ parentSession?: unknown;
35
+ onChildStream?: ((event: unknown) => void) | null;
36
+ backgroundAgent?: boolean;
37
+ _depth?: number;
38
+ _maxDepth?: number;
39
+ [key: string]: unknown;
40
+ }
41
+ /** 默认设置(restartAgent 回退用) */
42
+ interface DefaultSettings {
43
+ model: string;
44
+ historyLength: number;
45
+ workspace: string | null;
46
+ mountFolder: unknown;
47
+ systemPrompt: string | null;
48
+ enabledCategories: string[];
49
+ }
50
+ /**
51
+ * ChatSession — 单个 AI 对话会话。
52
+ *
53
+ * 管理:
54
+ * - 对话消息历史(messages 数组)
55
+ * - 工具执行 sandbox(SandboxToolEnv)
56
+ * - 子 agent 任务队列(via ChildSessionMixin)
57
+ * - 历史持久化(upsertChatHistory / updateChatHistory)
58
+ * - AgentRouter 注册(命名顶层 session 自动注册)
59
+ * - agent 重启(restartAgent + AgentConfig 配置文件加载)
60
+ */
61
+ declare class ChatSession implements ChildSessionHost {
62
+ aiChat: any;
63
+ messages: any[];
64
+ chatId: string;
65
+ modId: string | null;
66
+ skipHistory: boolean;
67
+ historyId?: string;
68
+ historyRows: unknown[] | null;
69
+ model: string;
70
+ apiCacheKey: string | null;
71
+ historyLength: number;
72
+ options: ChatSessionOptions;
73
+ sandbox: SandboxToolEnv;
74
+ _workspaceExplicitlySet: boolean;
75
+ workspace: string | null;
76
+ mountFolder: unknown;
77
+ _pendingContexts: string[];
78
+ _restartedWithPromptFile: boolean;
79
+ _savedMessages?: ChatMessage[] | null;
80
+ _restartSignal?: unknown;
81
+ _registeredAsAgent: boolean;
82
+ _defaultSettings: DefaultSettings;
83
+ name: string | null;
84
+ parentSession: ChildSessionHost | null;
85
+ _childSessions: Record<string, import('./ChildSessionMixin').ChildSessionEntry>;
86
+ _pendingChildResults: import('./ChildSessionMixin').PendingChildResult[];
87
+ _debounceTimers: ReturnType<typeof setTimeout>[];
88
+ _isSending: boolean;
89
+ _lastSendOptions: Record<string, unknown>;
90
+ _maxChildSessions: number;
91
+ _depth: number;
92
+ _maxDepth: number;
93
+ onChildStream: ((event: import('./ChildSessionMixin').ChildStreamEvent) => void) | null;
94
+ constructor(aiChat: AIChat, options?: ChatSessionOptions);
95
+ /** sdk 访问器(指向 aiChat.sdk) */
96
+ get sdk(): unknown;
97
+ /**
98
+ * 入队后台上下文(将在下一次 send() 时注入到用户消息前)。
99
+ * 多次调用会累积;下次 send() 时统一冲刷。
100
+ * @param text - 要注入的上下文文本
101
+ */
102
+ sendContext(text: string): void;
103
+ /**
104
+ * 取消注册 AgentRouter 中的 agent 名称。
105
+ * 当此 session 不再处理该 agent 任务时调用。
106
+ */
107
+ unregisterAgent(): void;
108
+ /**
109
+ * 直接通过 sandbox 执行工具(AgentRouter.toolCallOnly 路径使用)。
110
+ */
111
+ executeTool(fnName: string, fnArgs: unknown): Promise<unknown>;
112
+ /**
113
+ * 设置文件操作工作空间。
114
+ * 同步更新 `this.workspace` 和 `this.sandbox.workspace`。
115
+ * @param wsName - 工作空间名,null/'' 表示清除
116
+ */
117
+ setWorkspace(wsName: string | null): void;
118
+ /**
119
+ * 设置只读回退层的 mountFolder 配置。
120
+ * @param mountFolderConfig - 挂载文件夹路径/对象,或 null 清除
121
+ */
122
+ setMountFolder(mountFolderConfig: unknown): void;
123
+ /** 设置 API 缓存 Key(传递给 aiGenerators.chat)。 */
124
+ setAPICacheKey(key: string): void;
125
+ /**
126
+ * 向会话历史追加用户消息(自动冲刷 _pendingContexts 并注入到消息前)。
127
+ * @param content - 消息内容(字符串或多模态数组)
128
+ */
129
+ addUserMessage(content: unknown): ChatMessage;
130
+ /**
131
+ * 冲刷并返回所有待注入的上下文(包裹在 context_begin…context_end 块中)。
132
+ * 若无待处理上下文则返回空字符串。
133
+ * @private
134
+ */
135
+ _flushPendingContexts(): string;
136
+ /**
137
+ * 向会话历史追加助手消息。
138
+ * @param content - 助手文本内容
139
+ * @param gptChatId - 可选的 GPT Chat ID(用于历史关联)
140
+ */
141
+ addAssistantMessage(content: string | null | unknown, gptChatId?: string): void;
142
+ /**
143
+ * 发送消息并更新会话历史(主发送入口)。
144
+ *
145
+ * 处理流程:
146
+ * 1. 取消 debounce 定时器
147
+ * 2. 若 runCode=true,通过 sandbox.processTemplate 展开 ${...} 表达式
148
+ * 3. 注入待处理的子 agent 结果(tool call 形式)
149
+ * 4. 冲刷 _pendingContexts
150
+ * 5. 压缩 / 上传内联 base64 图片
151
+ * 6. 添加用户消息,修剪历史
152
+ * 7. 调用 aiChat.chat()
153
+ * 8. 追加助手消息,持久化历史
154
+ *
155
+ * @param userMessage - 用户消息(字符串、多模态数组,或 null 仅消费子 agent 结果)
156
+ * @param options - 发送选项(model / tools / enableTools / 流式回调等)
157
+ */
158
+ send(userMessage: unknown, options?: any): Promise<unknown>;
159
+ /**
160
+ * 将多模态 content 数组中的内联 base64 图片上传到临时 CDN,
161
+ * 并将 data-URI 替换为远程 URL。
162
+ * @private
163
+ */
164
+ _uploadInlineImages(contentArray: import('../utils/ImageUtils').ContentItem[]): Promise<import('../utils/ImageUtils').ContentItem[]>;
165
+ /**
166
+ * 按 historyLength 修剪旧消息轮次。
167
+ * 保留所有前置 system 消息 + 最后 `historyLength` 轮对话。
168
+ * @private
169
+ */
170
+ _evictMessages(): void;
171
+ /**
172
+ * 从历史中移除超出 maxCount 限制的旧图片,
173
+ * 将被移除的 image_url 替换为 `(user_image)` 文本占位符。
174
+ * @private
175
+ */
176
+ _evictExcessImages(maxCount: number): void;
177
+ /** 清空对话历史(仅清空 messages 数组)。 */
178
+ clear(): void;
179
+ /** 获取当前对话历史的副本。 */
180
+ getHistory(): ChatMessage[];
181
+ /**
182
+ * 重启 agent 会话(可选加载配置文件)。
183
+ *
184
+ * 行为:
185
+ * - 无 promptFile:恢复所有设置到构造时的默认值
186
+ * - 纯 Markdown(只有 system_prompt):仅更换系统提示,其他设置保持默认
187
+ * - 完整配置:临时覆盖设置;下次无 promptFile 的重启会恢复全部默认值
188
+ *
189
+ * @param promptFile - 配置文件 URL 或路径(.json / .yml / .yaml / .md)
190
+ * @param tools - 可选工具分类覆盖(空表示继承默认值)
191
+ * @param _options - 高级选项(预留)
192
+ * @returns `{ configSource }`
193
+ */
194
+ restartAgent(promptFile?: string, tools?: string[], _options?: unknown): Promise<{
195
+ configSource: string;
196
+ }>;
197
+ _triggerImmediateCallback(): Promise<void>;
198
+ }
199
+ export { ChatSession };
200
+ export default ChatSession;
201
+ //# sourceMappingURL=AIChat.session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIChat.session.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/AIChat.session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * AIGenerators.base.ts — AI 生成器公共工具 + 聊天路由层
3
+ *
4
+ * 包含:
5
+ * - 构造函数与基础工具(getModels / getAllModels / _getToken / _authHeaders 等)
6
+ * - 请求头规范化(_normalizeHeaders)
7
+ * - 模型/provider 解析(_resolveLocalModelSettings / _detectProvider / _shouldPreferDirect)
8
+ * - 直连路由决策(shouldRouteDirect)
9
+ * - 聊天核心路由(chat / chatViaProxy / chatCompletion)
10
+ * - 直连底层方法(callLLM / _callOpenAILLM / _callOpenRouterLLM / _callGoogleLLM)
11
+ * - SSE 读取(_readSSETextResponse / _readSSEImageResponse / _readChatCompletionSSE / _readKeepworkProxySSE)
12
+ * - 消息格式化工具(_normalizeMessages / _normalizeOpenAIChatMessages / _messagesToGeminiContents 等)
13
+ * - Reasoning 处理(_normalizeReasoningOption / _buildReasoningBodyField 等)
14
+ */
15
+ export declare const DEFAULT_CHAT_MODEL = "keepwork-flash";
16
+ export declare const DEFAULT_IMAGE_MODEL = "keepwork-image";
17
+ export declare const DEFAULT_VIDEO_MODEL = "keepwork-video";
18
+ /** 聊天消息(OpenAI 格式) */
19
+ export interface GenMessage {
20
+ role: string;
21
+ content: unknown;
22
+ tool_calls?: GenToolCall[];
23
+ tool_call_id?: string;
24
+ [key: string]: unknown;
25
+ }
26
+ /** 工具调用 */
27
+ export interface GenToolCall {
28
+ id?: string;
29
+ type?: string;
30
+ function?: {
31
+ name?: string;
32
+ arguments?: string;
33
+ };
34
+ index?: number;
35
+ }
36
+ /** SDK 最小接口 */
37
+ export interface AIGeneratorsSDKRef {
38
+ baseURL?: string;
39
+ token?: string | null;
40
+ userApiKey?: string | null;
41
+ localAPIKeySettings?: {
42
+ resolveModelSettings: (model: string, opts?: unknown) => {
43
+ model?: string;
44
+ apiKey?: string;
45
+ provider?: string;
46
+ preferDirect?: boolean;
47
+ };
48
+ detectProvider?: (model: string) => string | null;
49
+ getProviderApiKey?: (provider: string) => string | null;
50
+ };
51
+ get?: (url: string) => Promise<unknown>;
52
+ cloudDrive?: {
53
+ uploadTempFile: (file: File, opts?: {
54
+ filename?: string;
55
+ expire?: number;
56
+ }) => Promise<{
57
+ url?: string;
58
+ }>;
59
+ };
60
+ [key: string]: unknown;
61
+ }
62
+ /** 本地模型设置 */
63
+ export interface LocalModelSettings {
64
+ model?: string;
65
+ apiKey?: string;
66
+ provider?: string;
67
+ preferDirect?: boolean;
68
+ }
69
+ /** 聊天选项 */
70
+ export interface GenChatOptions {
71
+ messages?: GenMessage[];
72
+ prompt?: string;
73
+ model?: string;
74
+ tools?: unknown[];
75
+ stream?: boolean;
76
+ temperature?: number;
77
+ responseFormat?: string | {
78
+ type: string;
79
+ };
80
+ reasoning?: boolean | object;
81
+ knowledgeBaseCodes?: string[];
82
+ apiCacheKey?: string | null;
83
+ abortController?: AbortController;
84
+ extraHeaders?: Record<string, string>;
85
+ localModelSettings?: LocalModelSettings;
86
+ directProvider?: string;
87
+ apiKey?: string;
88
+ preferDirect?: boolean;
89
+ directOnly?: boolean;
90
+ returnRaw?: boolean;
91
+ extraBody?: Record<string, unknown>;
92
+ modalities?: string[];
93
+ outputModalities?: string[];
94
+ output_modalities?: string[];
95
+ images?: Array<{
96
+ url?: string;
97
+ image_url?: {
98
+ url: string;
99
+ };
100
+ role?: string;
101
+ }>;
102
+ onMessage?: (fullText: string, delta?: unknown, raw?: unknown, meta?: unknown) => void;
103
+ onReasoning?: (fullReasoning: string, delta?: string, raw?: unknown) => void;
104
+ onToolCall?: (toolCall: GenToolCall) => void;
105
+ onComplete?: (result: unknown, fullResponse?: unknown) => void;
106
+ onError?: (error: Error) => void;
107
+ onImage?: (url: string, raw?: unknown, meta?: unknown) => void;
108
+ [key: string]: unknown;
109
+ }
110
+ /** shouldRouteDirect 返回值 */
111
+ export interface RouteDirectDecision {
112
+ route: boolean;
113
+ provider?: string;
114
+ apiKey?: string;
115
+ }
116
+ /**
117
+ * AIGeneratorsBase — AI 生成器公共工具 + 聊天路由基类。
118
+ * 由 AIGenerators.media.ts 继承以添加 genImage / genVideo 等媒体生成方法。
119
+ */
120
+ export declare class AIGeneratorsBase {
121
+ sdk: AIGeneratorsSDKRef;
122
+ /** 全量模型列表缓存(getAllModels 使用) */
123
+ _allModelsCache?: unknown[];
124
+ constructor(sdk: AIGeneratorsSDKRef);
125
+ /** Keepwork gpt API 基础 URL */
126
+ get _apiBase(): string;
127
+ /**
128
+ * 获取预设的常用模型列表。
129
+ * @param type - 'chat' | 'image' | 'video'
130
+ */
131
+ getModels(type?: 'chat' | 'image' | 'video'): string[];
132
+ /**
133
+ * 从 Keepwork 获取完整模型列表(内存缓存)。
134
+ * @param opts.forceRefresh - 是否绕过缓存(默认 false)
135
+ */
136
+ getAllModels(opts?: {
137
+ forceRefresh?: boolean;
138
+ }): Promise<unknown[]>;
139
+ /** 获取认证 token(sdk.token → localStorage 回退)。 */
140
+ _getToken(): string | null;
141
+ /**
142
+ * 规范化请求头对象(过滤 null/undefined,拒绝含非 Latin-1 字符的 value)。
143
+ * 用于防止 fetch API 因非法头值崩溃。
144
+ */
145
+ _normalizeHeaders(headers?: Record<string, unknown>, context?: string): Record<string, string>;
146
+ /**
147
+ * 构建 Keepwork API 鉴权请求头(含 Authorization / user-api-key)。
148
+ * @param extra - 额外请求头
149
+ */
150
+ _authHeaders(extra?: Record<string, string>): Record<string, string>;
151
+ /**
152
+ * 解析模型的本地配置(model / apiKey / provider / preferDirect)。
153
+ * 若 SDK 无 localAPIKeySettings 则直接返回 `{ model }`。
154
+ */
155
+ _resolveLocalModelSettings(model?: string, provider?: string): LocalModelSettings;
156
+ /** 判断是否应优先使用直连路由。 */
157
+ _shouldPreferDirect(localModelSettings: LocalModelSettings, opts?: GenChatOptions): boolean;
158
+ /** 解析直连 provider 名称(caller > localModelSettings > 自动检测)。 */
159
+ _directProvider(localModelSettings: LocalModelSettings, opts?: GenChatOptions): string | null;
160
+ /**
161
+ * 决定 chat 请求是否应绕过 Keepwork proxy 直连 provider。
162
+ *
163
+ * 规则:
164
+ * - strict(无 key 则抛出):directOnly=true 或 preferDirect=true 或 明确指定 apiKey+directProvider
165
+ * - lenient(无 key 则回退代理):localModelSettings.preferDirect=true
166
+ *
167
+ * @throws 严格模式下无 API key 时抛出
168
+ */
169
+ shouldRouteDirect(options?: GenChatOptions, localModelSettings?: LocalModelSettings | null): RouteDirectDecision;
170
+ /**
171
+ * 根据 model 名称自动检测 provider(OpenRouter / Doubao / Qwen / Claude / Gemini / OpenAI)。
172
+ * 返回 null 表示无法识别(使用 Keepwork proxy)。
173
+ */
174
+ _detectProvider(model: string): string | null;
175
+ /** 将 messages + prompt 规范化为消息数组(至少需要其中一个)。 */
176
+ _normalizeMessages(messages?: GenMessage[], prompt?: string): GenMessage[];
177
+ /** 将消息数组规范化为 OpenAI Chat Completions 格式(含 tool_calls / tool 消息处理)。 */
178
+ _normalizeOpenAIChatMessages(messages: GenMessage[], prompt?: string): GenMessage[];
179
+ /** 将 OpenAI 格式消息转换为 Gemini contents 格式。 */
180
+ _messagesToGeminiContents(messages: GenMessage[]): Array<{
181
+ role: string;
182
+ parts: unknown[];
183
+ }>;
184
+ /** 将消息 content 转换为 Gemini parts 格式(支持文本/图片/视频)。 */
185
+ _contentToGeminiParts(content: unknown): unknown[];
186
+ /** 将 URL 转换为 Gemini file_data 或 inline_data part。 */
187
+ _urlToGeminiFilePart(url: string, fallbackMimeType: string, videoMetadata?: unknown): unknown;
188
+ _extractOpenAIText(data: Record<string, unknown>): string;
189
+ _extractGeminiText(data: Record<string, unknown>): string;
190
+ _extractReasoningText(data: Record<string, unknown>): string;
191
+ _shouldDisableReasoning(model: string): boolean;
192
+ _requiresReasoning(model: string): boolean;
193
+ _normalizeReasoningOption(model: string, reasoning: unknown): unknown;
194
+ _buildReasoningBodyField(provider: string, reasoning: unknown): {
195
+ key: string;
196
+ value: unknown;
197
+ } | null;
198
+ _keepworkChatHeaders(extra?: Record<string, string>): Record<string, string>;
199
+ /**
200
+ * 统一聊天入口:自动判断直连或 proxy 路由。
201
+ * 两种传输路径都发出相同的回调格式(onMessage / onToolCall / onComplete / onError)。
202
+ */
203
+ chat(options?: GenChatOptions): Promise<unknown>;
204
+ /**
205
+ * 通过 Keepwork `/gpt/chat` proxy 发送聊天请求。
206
+ * 支持流式和非流式两种模式,统一发出 AIChat 兼容的回调。
207
+ */
208
+ chatViaProxy(options?: GenChatOptions): Promise<unknown>;
209
+ /** @private 解析 Keepwork proxy SSE 流,返回累积文本。 */
210
+ _readKeepworkProxySSE(response: Response, { onMessage, onReasoning, onToolCall, onComplete }?: {
211
+ onMessage?: GenChatOptions['onMessage'];
212
+ onReasoning?: GenChatOptions['onReasoning'];
213
+ onToolCall?: GenChatOptions['onToolCall'];
214
+ onComplete?: GenChatOptions['onComplete'];
215
+ }): Promise<string>;
216
+ /**
217
+ * 直接调用 OpenAI/OpenRouter 等 provider(支持 tool-calls、streaming)。
218
+ * 在绕过 Keepwork proxy 时使用。
219
+ */
220
+ chatCompletion(options?: GenChatOptions): Promise<unknown>;
221
+ /** @private 解析 OpenAI/OpenRouter chat-completion SSE,返回累积文本。 */
222
+ _readChatCompletionSSE(response: Response, { onMessage, onReasoning, onToolCall, onComplete }?: {
223
+ onMessage?: GenChatOptions['onMessage'];
224
+ onReasoning?: GenChatOptions['onReasoning'];
225
+ onToolCall?: GenChatOptions['onToolCall'];
226
+ onComplete?: GenChatOptions['onComplete'];
227
+ }): Promise<string>;
228
+ callLLM(options?: GenChatOptions & {
229
+ returnRaw?: boolean;
230
+ }): Promise<unknown>;
231
+ _callOpenAILLM(opts: {
232
+ model: string;
233
+ apiKey: string;
234
+ messages: GenMessage[];
235
+ stream?: boolean;
236
+ temperature?: number;
237
+ responseFormat?: unknown;
238
+ onMessage?: GenChatOptions['onMessage'];
239
+ onReasoning?: GenChatOptions['onReasoning'];
240
+ abortController?: AbortController;
241
+ extraHeaders?: Record<string, string>;
242
+ }): Promise<{
243
+ text: string;
244
+ data?: unknown;
245
+ }>;
246
+ _callOpenRouterLLM(opts: {
247
+ model: string;
248
+ apiKey: string;
249
+ messages: GenMessage[];
250
+ stream?: boolean;
251
+ temperature?: number;
252
+ responseFormat?: unknown;
253
+ onMessage?: GenChatOptions['onMessage'];
254
+ onReasoning?: GenChatOptions['onReasoning'];
255
+ onImage?: GenChatOptions['onImage'];
256
+ abortController?: AbortController;
257
+ extraHeaders?: Record<string, string>;
258
+ extraBody?: Record<string, unknown>;
259
+ }): Promise<{
260
+ text: string;
261
+ imageUrl?: string;
262
+ data?: unknown;
263
+ reasoning?: string;
264
+ }>;
265
+ _callGoogleLLM(opts: {
266
+ model: string;
267
+ apiKey: string;
268
+ messages: GenMessage[];
269
+ stream?: boolean;
270
+ temperature?: number;
271
+ responseFormat?: unknown;
272
+ onMessage?: GenChatOptions['onMessage'];
273
+ onReasoning?: GenChatOptions['onReasoning'];
274
+ abortController?: AbortController;
275
+ extraHeaders?: Record<string, string>;
276
+ }): Promise<{
277
+ text: string;
278
+ data?: unknown;
279
+ }>;
280
+ _readSSETextResponse(resp: Response, provider: string, callbacks?: {
281
+ onMessage?: GenChatOptions['onMessage'];
282
+ onReasoning?: GenChatOptions['onReasoning'];
283
+ }): Promise<string>;
284
+ _readSSEImageResponse(resp: Response, provider: string, callbacks?: {
285
+ onMessage?: GenChatOptions['onMessage'];
286
+ onReasoning?: GenChatOptions['onReasoning'];
287
+ onImage?: GenChatOptions['onImage'];
288
+ }): Promise<{
289
+ text: string;
290
+ reasoning: string;
291
+ imageUrl: string;
292
+ data: unknown;
293
+ }>;
294
+ _extractGeneratedImageUrl(data: unknown): string | null;
295
+ _findFirstImageInValue(value: unknown): string | null;
296
+ }
297
+ //# sourceMappingURL=AIGenerators.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIGenerators.base.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/AIGenerators.base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AIGenerators.ts — AI 图像/视频生成模块主入口(TypeScript 版)
3
+ *
4
+ * 组合层:从 AIGenerators.media.ts 重导出完整类(包含 base + media 层)。
5
+ *
6
+ * 拆分结构:
7
+ * - AIGenerators.base.ts — 公共工具 + 聊天路由(chat / callLLM / chatCompletion / SSE 读取等)
8
+ * - AIGenerators.media.ts — 继承 base,添加 genImage / genVideo / pollVideoTask 等媒体生成方法
9
+ * - AIGenerators.ts — 本文件:组合入口 + 统一导出
10
+ */
11
+ export { default } from './AIGenerators.media';
12
+ export type { GenImageOptions, GenVideoOptions, VideoTaskStatus, PollVideoCallbacks } from './AIGenerators.media';
13
+ export { DEFAULT_CHAT_MODEL, DEFAULT_IMAGE_MODEL, DEFAULT_VIDEO_MODEL } from './AIGenerators.base';
14
+ export type { GenMessage, GenChatOptions, LocalModelSettings, RouteDirectDecision, AIGeneratorsSDKRef } from './AIGenerators.base';
15
+ //# sourceMappingURL=AIGenerators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIGenerators.d.ts","sourceRoot":"","sources":["../../../../src/ai-chat/AIGenerators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnG,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}