@cicctencent/agent-server 0.2.13 → 0.2.14

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 (69) hide show
  1. package/dist/cjs/agent/agent-server.d.ts.map +1 -1
  2. package/dist/cjs/agent/agent-server.js +13 -2
  3. package/dist/cjs/agent/agent-server.js.map +1 -1
  4. package/dist/cjs/index.d.ts +4 -2
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +14 -3
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/prompt/prompt-builder.d.ts +6 -1
  9. package/dist/cjs/prompt/prompt-builder.d.ts.map +1 -1
  10. package/dist/cjs/prompt/prompt-builder.js +59 -2
  11. package/dist/cjs/prompt/prompt-builder.js.map +1 -1
  12. package/dist/cjs/service/env-collector.d.ts +57 -0
  13. package/dist/cjs/service/env-collector.d.ts.map +1 -0
  14. package/dist/cjs/service/env-collector.js +230 -0
  15. package/dist/cjs/service/env-collector.js.map +1 -0
  16. package/dist/cjs/service/memory.service.d.ts +8 -0
  17. package/dist/cjs/service/memory.service.d.ts.map +1 -1
  18. package/dist/cjs/service/memory.service.js +23 -4
  19. package/dist/cjs/service/memory.service.js.map +1 -1
  20. package/dist/cjs/service/model-config-resolver.d.ts +108 -0
  21. package/dist/cjs/service/model-config-resolver.d.ts.map +1 -0
  22. package/dist/cjs/service/model-config-resolver.js +231 -0
  23. package/dist/cjs/service/model-config-resolver.js.map +1 -0
  24. package/dist/cjs/tool/tools/automation.d.ts.map +1 -1
  25. package/dist/cjs/tool/tools/automation.js +16 -19
  26. package/dist/cjs/tool/tools/automation.js.map +1 -1
  27. package/dist/cjs/tool/tools/communication.d.ts.map +1 -1
  28. package/dist/cjs/tool/tools/communication.js +50 -50
  29. package/dist/cjs/tool/tools/communication.js.map +1 -1
  30. package/dist/cjs/tool/tools/sandbox.d.ts.map +1 -1
  31. package/dist/cjs/tool/tools/sandbox.js +2 -3
  32. package/dist/cjs/tool/tools/sandbox.js.map +1 -1
  33. package/dist/cjs/types.d.ts +51 -1
  34. package/dist/cjs/types.d.ts.map +1 -1
  35. package/dist/esm/agent/agent-server.d.ts.map +1 -1
  36. package/dist/esm/agent/agent-server.js +13 -2
  37. package/dist/esm/agent/agent-server.js.map +1 -1
  38. package/dist/esm/index.d.ts +4 -2
  39. package/dist/esm/index.d.ts.map +1 -1
  40. package/dist/esm/index.js +4 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/prompt/prompt-builder.d.ts +6 -1
  43. package/dist/esm/prompt/prompt-builder.d.ts.map +1 -1
  44. package/dist/esm/prompt/prompt-builder.js +58 -1
  45. package/dist/esm/prompt/prompt-builder.js.map +1 -1
  46. package/dist/esm/service/env-collector.d.ts +57 -0
  47. package/dist/esm/service/env-collector.d.ts.map +1 -0
  48. package/dist/esm/service/env-collector.js +189 -0
  49. package/dist/esm/service/env-collector.js.map +1 -0
  50. package/dist/esm/service/memory.service.d.ts +8 -0
  51. package/dist/esm/service/memory.service.d.ts.map +1 -1
  52. package/dist/esm/service/memory.service.js +24 -5
  53. package/dist/esm/service/memory.service.js.map +1 -1
  54. package/dist/esm/service/model-config-resolver.d.ts +108 -0
  55. package/dist/esm/service/model-config-resolver.d.ts.map +1 -0
  56. package/dist/esm/service/model-config-resolver.js +227 -0
  57. package/dist/esm/service/model-config-resolver.js.map +1 -0
  58. package/dist/esm/tool/tools/automation.d.ts.map +1 -1
  59. package/dist/esm/tool/tools/automation.js +13 -16
  60. package/dist/esm/tool/tools/automation.js.map +1 -1
  61. package/dist/esm/tool/tools/communication.d.ts.map +1 -1
  62. package/dist/esm/tool/tools/communication.js +50 -50
  63. package/dist/esm/tool/tools/communication.js.map +1 -1
  64. package/dist/esm/tool/tools/sandbox.d.ts.map +1 -1
  65. package/dist/esm/tool/tools/sandbox.js +1 -2
  66. package/dist/esm/tool/tools/sandbox.js.map +1 -1
  67. package/dist/esm/types.d.ts +51 -1
  68. package/dist/esm/types.d.ts.map +1 -1
  69. package/package.json +2 -2
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ /**
3
+ * @file DefaultModelConfigResolver — 模型配置解析器默认实现
4
+ * @description 将 resolveModelConfig/createProviderFromModelConfig 模式下沉到 agent-server,
5
+ * 供 work_agent 和 omniinsight-bi 等上层应用复用。
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DefaultModelConfigResolver = void 0;
9
+ const agent_core_1 = require("@cicctencent/agent-core");
10
+ /**
11
+ * 模型配置解析器默认实现
12
+ *
13
+ * 提供统一的模型配置解析和 LLMProvider 创建逻辑:
14
+ * - resolve(): 根据 modelConfigId 查找对应的 ModelProviderConfig
15
+ * - createProvider(): 根据 modelConfigId 创建 LLMProvider 实例
16
+ * - resolveForRole(): 角色分层调度(role_based 策略)
17
+ * - resolveForScene(): 场景分层调度(如 memory_extraction)
18
+ * - createFallbackProvider(): 创建降级 Provider
19
+ *
20
+ * 上层应用可直接使用此实现,或实现自定义 ModelConfigResolver SPI。
21
+ */
22
+ class DefaultModelConfigResolver {
23
+ settingsProvider;
24
+ defaultTenant;
25
+ constructor(settingsProvider, defaultTenant) {
26
+ this.settingsProvider = settingsProvider;
27
+ this.defaultTenant = defaultTenant;
28
+ }
29
+ /**
30
+ * 获取设置(带默认租户)
31
+ */
32
+ getSettings(tenant) {
33
+ return this.settingsProvider.getSettings(tenant ?? this.defaultTenant);
34
+ }
35
+ /**
36
+ * 解析模型配置
37
+ *
38
+ * 解析顺序:
39
+ * 1. 指定了 modelConfigId → 精确查找
40
+ * 2. 使用 defaultModelId → 查找默认配置
41
+ * 3. 从 modelProviders 中找第一个可用的
42
+ * 4. 回退到全局 apiKeys 设置
43
+ *
44
+ * @param modelConfigId 模型配置 ID(可选)
45
+ * @param tenant 租户上下文(可选)
46
+ * @returns ModelProviderConfig
47
+ */
48
+ resolve(modelConfigId, tenant) {
49
+ const s = this.getSettings(tenant);
50
+ // 指定了具体 modelConfigId,精确查找
51
+ if (modelConfigId && s.modelProviders) {
52
+ const found = s.modelProviders.find(mp => mp.id === modelConfigId);
53
+ if (found)
54
+ return found;
55
+ }
56
+ // 使用 defaultModelId 查找
57
+ if (s.defaultModelId && s.modelProviders) {
58
+ const found = s.modelProviders.find(mp => mp.id === s.defaultModelId);
59
+ if (found)
60
+ return found;
61
+ }
62
+ // 默认模型:从 modelProviders 中找一个可用的
63
+ if (s.modelProviders && s.modelProviders.length > 0) {
64
+ const available = s.modelProviders.find(mp => mp.apiKey || mp.provider === 'ollama') || s.modelProviders[0];
65
+ return available;
66
+ }
67
+ // 回退到全局设置
68
+ const providerName = s.apiKeys?.provider || 'openai';
69
+ return {
70
+ id: '__global__',
71
+ name: '全局设置',
72
+ provider: providerName,
73
+ model: s.apiKeys?.customModel || process.env.LLM_MODEL || (providerName === 'anthropic' ? 'claude-sonnet-4-20250514' : 'gpt-4'),
74
+ apiKey: providerName === 'anthropic'
75
+ ? (s.apiKeys?.anthropic || process.env.ANTHROPIC_API_KEY || '')
76
+ : (s.apiKeys?.openai || process.env.OPENAI_API_KEY || ''),
77
+ baseUrl: s.apiKeys?.customEndpoint || process.env.OPENAI_BASE_URL || undefined,
78
+ };
79
+ }
80
+ /**
81
+ * 根据 modelConfigId 创建 LLMProvider 实例
82
+ *
83
+ * 封装 resolve + createLLMProvider 的重复调用模式,
84
+ * 同时处理代理配置和模型覆盖。
85
+ *
86
+ * @param modelConfigId 模型配置 ID(可选)
87
+ * @param modelOverride 模型名称覆盖(可选,用于 profile.model 覆盖)
88
+ * @param tenant 租户上下文(可选)
89
+ * @returns LLMProvider 实例
90
+ */
91
+ createProvider(modelConfigId, modelOverride, tenant) {
92
+ const s = this.getSettings(tenant);
93
+ const modelConfig = this.resolve(modelConfigId, tenant);
94
+ // 解析 LLM 代理配置
95
+ const llmProxy = (0, agent_core_1.resolveProxyAgentForCategory)(s.proxySettings?.llm, 'LLM');
96
+ return (0, agent_core_1.createLLMProvider)({
97
+ provider: modelConfig.provider,
98
+ model: modelOverride || modelConfig.model,
99
+ name: modelConfig.name || `${modelConfig.provider} / ${modelConfig.model}`,
100
+ apiKey: modelConfig.apiKey,
101
+ baseUrl: modelConfig.baseUrl,
102
+ temperature: modelConfig.temperature,
103
+ maxTokens: modelConfig.maxTokens,
104
+ timeout: modelConfig.timeout,
105
+ proxy: llmProxy,
106
+ });
107
+ }
108
+ /**
109
+ * 根据工作流角色解析对应的 modelConfigId(模型分层调度)
110
+ *
111
+ * 当 modelTierStrategy === 'role_based' 时,按角色查找对应的 modelConfigId;
112
+ * 否则返回 undefined(走默认主流程)。
113
+ *
114
+ * @param role WorkflowRole 或场景 key
115
+ * @param tenant 租户上下文(可选)
116
+ * @returns modelConfigId,未配置则返回 undefined
117
+ */
118
+ resolveForRole(role, tenant) {
119
+ const s = this.getSettings(tenant);
120
+ const strategy = s.agentConfig?.modelTierStrategy;
121
+ if (strategy !== 'role_based' || !role)
122
+ return undefined;
123
+ const tiers = s.agentConfig?.modelTiers;
124
+ if (!tiers)
125
+ return undefined;
126
+ // 精确匹配角色
127
+ if (tiers[role])
128
+ return tiers[role];
129
+ // 分组映射:bull/bear 归为 researcher 层
130
+ if ((role === 'bull_researcher' || role === 'bear_researcher') && tiers['researcher']) {
131
+ return tiers['researcher'];
132
+ }
133
+ return undefined;
134
+ }
135
+ /**
136
+ * 根据场景 key 解析对应的 modelConfigId(场景模型分层调度)
137
+ *
138
+ * 与 resolveForRole 不同,本方法不依赖 modelTierStrategy === 'role_based',
139
+ * 只要 modelTiers 中配置了对应场景 key 即生效。
140
+ *
141
+ * 用于记忆提取管道等非主对话场景的独立模型配置。
142
+ *
143
+ * @param scene 场景 key(如 'memory_extraction', 'scene_aggregation')
144
+ * @param tenant 租户上下文(可选)
145
+ * @returns modelConfigId,未配置则返回 undefined(走默认主流程)
146
+ */
147
+ resolveForScene(scene, tenant) {
148
+ const s = this.getSettings(tenant);
149
+ const tiers = s.agentConfig?.modelTiers;
150
+ if (!tiers)
151
+ return undefined;
152
+ return tiers[scene] || undefined;
153
+ }
154
+ /**
155
+ * 根据 modelConfigId 创建降级 LLM Provider
156
+ *
157
+ * @param modelConfigId 模型配置 ID
158
+ * @param tenant 租户上下文(可选)
159
+ * @returns LLMProvider 实例,无有效配置时返回 undefined
160
+ */
161
+ createFallbackProvider(modelConfigId, tenant) {
162
+ const modelConfig = this.resolve(modelConfigId, tenant);
163
+ if (!modelConfig.provider || !modelConfig.apiKey)
164
+ return undefined;
165
+ return this.createProvider(modelConfigId, undefined, tenant);
166
+ }
167
+ /**
168
+ * 获取降级模型配置 ID(从 agentConfig.fallbackProvider)
169
+ *
170
+ * @param tenant 租户上下文(可选)
171
+ * @returns fallbackProvider modelConfigId,未配置则返回 undefined
172
+ */
173
+ getFallbackModelConfigId(tenant) {
174
+ const s = this.getSettings(tenant);
175
+ return s.agentConfig?.fallbackProvider;
176
+ }
177
+ /**
178
+ * 检查 Agent 系统是否可用(API Key 已配置)
179
+ *
180
+ * @param tenant 租户上下文(可选)
181
+ * @returns 是否可用
182
+ */
183
+ isAvailable(tenant) {
184
+ const s = this.getSettings(tenant);
185
+ const modelConfig = this.resolve(undefined, tenant);
186
+ const provider = modelConfig.provider || 'openai';
187
+ // Ollama 本地服务始终可用
188
+ if (provider === 'ollama')
189
+ return true;
190
+ // 优先使用解析后的 modelConfig.apiKey(已涵盖 modelProviders 配置)
191
+ if (modelConfig.apiKey)
192
+ return true;
193
+ // 回退检查全局 apiKeys
194
+ if (provider === 'anthropic') {
195
+ return !!(s.apiKeys?.anthropic || process.env.ANTHROPIC_API_KEY);
196
+ }
197
+ return !!(s.apiKeys?.openai || process.env.OPENAI_API_KEY);
198
+ }
199
+ /**
200
+ * 获取 Agent 不可用的具体原因
201
+ *
202
+ * @param tenant 租户上下文(可选)
203
+ * @returns 不可用原因描述
204
+ */
205
+ getUnavailableReason(tenant) {
206
+ const s = this.getSettings(tenant);
207
+ const modelConfig = this.resolve(undefined, tenant);
208
+ const provider = modelConfig.provider || 'openai';
209
+ if (provider === 'ollama') {
210
+ const endpoint = modelConfig.baseUrl || s.apiKeys?.customEndpoint || 'http://localhost:11434';
211
+ return `Ollama 服务不可用,请确认 Ollama 已启动并监听 ${endpoint}`;
212
+ }
213
+ if (provider === 'anthropic') {
214
+ const hasKey = !!(modelConfig.apiKey || s.apiKeys?.anthropic || process.env.ANTHROPIC_API_KEY);
215
+ if (!hasKey) {
216
+ return `当前供应商为 Anthropic,但未配置 API Key。请在「设置」页面填写 Anthropic API Key,或设置环境变量 ANTHROPIC_API_KEY`;
217
+ }
218
+ }
219
+ else {
220
+ // openai 或兼容供应商
221
+ const hasKey = !!(modelConfig.apiKey || s.apiKeys?.openai || process.env.OPENAI_API_KEY);
222
+ if (!hasKey) {
223
+ const providerLabel = provider === 'openai' ? 'OpenAI' : provider;
224
+ return `当前供应商为 ${providerLabel},但未配置 API Key。请在「设置」页面填写 API Key,或设置环境变量 OPENAI_API_KEY`;
225
+ }
226
+ }
227
+ return 'AI 服务不可用,请检查设置中的供应商和 API Key 配置';
228
+ }
229
+ }
230
+ exports.DefaultModelConfigResolver = DefaultModelConfigResolver;
231
+ //# sourceMappingURL=model-config-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-config-resolver.js","sourceRoot":"","sources":["../../../src/service/model-config-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/automation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAyJxD"}
1
+ {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/automation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI9D,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAsJxD"}
@@ -37,6 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.createAutomationTools = createAutomationTools;
40
+ const app_stores_ts_1 = require("../../store/app-stores.js");
40
41
  function createAutomationTools() {
41
42
  return [
42
43
  // ---- create_automation ----
@@ -63,19 +64,14 @@ function createAutomationTools() {
63
64
  },
64
65
  },
65
66
  },
66
- executor: async (args) => {
67
+ executor: async (args, ctx) => {
67
68
  try {
68
69
  const cron = await Promise.resolve().then(() => __importStar(require('node-cron')));
69
70
  const schedule = args.schedule;
70
71
  if (!cron.validate(schedule)) {
71
72
  return `ERROR: Invalid cron expression "${schedule}". Use 5-field format: min hour day month weekday.\nExamples: "0 9 * * *" (daily 9AM), "0 9 * * 1" (Monday 9AM), "*/30 * * * *" (every 30min)`;
72
73
  }
73
- // @ts-ignore application-layer module
74
- const { getAutomationStore } = await Promise.resolve().then(() => __importStar(require("../../store/automation-store.js")));
75
- // @ts-ignore — application-layer module
76
- // @ts-ignore — application-layer module
77
- const { refreshScheduler } = await Promise.resolve().then(() => __importStar(require("../../service/automation.service.js")));
78
- const store = getAutomationStore();
74
+ const store = (0, app_stores_ts_1.getAutomationStore)();
79
75
  const item = store.create({
80
76
  name: args.name,
81
77
  description: args.description || '',
@@ -84,7 +80,11 @@ function createAutomationTools() {
84
80
  enabled: args.enabled !== false,
85
81
  lastStatus: 'idle',
86
82
  });
87
- refreshScheduler();
83
+ // 通过 SPI Provider 刷新调度器
84
+ const automationProvider = ctx.custom?.automationProvider;
85
+ if (automationProvider?.refreshScheduler) {
86
+ automationProvider.refreshScheduler();
87
+ }
88
88
  return `Automation created successfully!\n Name: ${item.name}\n Schedule: ${schedule}\n ID: ${item.id}\n Enabled: ${item.enabled}\n\nThe task will trigger automatically according to the schedule.`;
89
89
  }
90
90
  catch (e) {
@@ -113,9 +113,7 @@ function createAutomationTools() {
113
113
  },
114
114
  executor: async (args) => {
115
115
  try {
116
- // @ts-ignore application-layer module
117
- const { getAutomationStore } = await Promise.resolve().then(() => __importStar(require("../../store/automation-store.js")));
118
- const store = getAutomationStore();
116
+ const store = (0, app_stores_ts_1.getAutomationStore)();
119
117
  let items = store.list();
120
118
  if (args.enabledOnly) {
121
119
  items = items.filter((i) => i.enabled);
@@ -161,21 +159,20 @@ function createAutomationTools() {
161
159
  },
162
160
  },
163
161
  },
164
- executor: async (args) => {
162
+ executor: async (args, ctx) => {
165
163
  try {
166
164
  const id = args.id;
167
- // @ts-ignore application-layer module
168
- const { getAutomationStore } = await Promise.resolve().then(() => __importStar(require("../../store/automation-store.js")));
169
- // @ts-ignore — application-layer module
170
- // @ts-ignore — application-layer module
171
- const { refreshScheduler } = await Promise.resolve().then(() => __importStar(require("../../service/automation.service.js")));
172
- const store = getAutomationStore();
165
+ const store = (0, app_stores_ts_1.getAutomationStore)();
173
166
  const existing = store.findById(id);
174
167
  if (!existing) {
175
168
  return `ERROR: Automation task with ID ${id} not found.`;
176
169
  }
177
170
  store.remove(id);
178
- refreshScheduler();
171
+ // 通过 SPI Provider 刷新调度器
172
+ const automationProvider = ctx.custom?.automationProvider;
173
+ if (automationProvider?.refreshScheduler) {
174
+ automationProvider.refreshScheduler();
175
+ }
179
176
  return `Automation task "${existing.name}" (ID: ${id}) has been deleted successfully.`;
180
177
  }
181
178
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"automation.js","sourceRoot":"","sources":["../../../../src/tool/tools/automation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automation.js","sourceRoot":"","sources":["../../../../src/tool/tools/automation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/communication.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAEvE,wBAAgB,wBAAwB,IAAI,cAAc,EAAE,CAwQ3D"}
1
+ {"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/communication.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAOvE,wBAAgB,wBAAwB,IAAI,cAAc,EAAE,CAsQ3D"}
@@ -37,6 +37,10 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.createCommunicationTools = createCommunicationTools;
40
+ const artifact_service_ts_1 = require("../../service/artifact.service.js");
41
+ const data_dir_ts_1 = require("../../utils/data-dir.js");
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
40
44
  function createCommunicationTools() {
41
45
  return [
42
46
  // ---- send_email ----
@@ -76,12 +80,12 @@ function createCommunicationTools() {
76
80
  },
77
81
  },
78
82
  executor: async (args, ctx) => {
79
- // @ts-ignore application-layer module
80
- const { getEmailProvider } = await Promise.resolve().then(() => __importStar(require("../../email/smtp-provider.js")));
81
- const fs = await Promise.resolve().then(() => __importStar(require('fs')));
82
- const path = await Promise.resolve().then(() => __importStar(require('path')));
83
+ // ToolContext 获取 EmailProvider SPI
84
+ const emailProvider = ctx.custom?.emailProvider;
85
+ if (!emailProvider) {
86
+ return 'ERROR: Email provider not configured. Please add an email connector in the Connectors page.';
87
+ }
83
88
  try {
84
- const provider = await getEmailProvider();
85
89
  // 处理附件:支持本地文件路径、artifact URL、沙箱内相对路径
86
90
  const attachments = [];
87
91
  if (args.attachments && Array.isArray(args.attachments)) {
@@ -94,12 +98,7 @@ function createCommunicationTools() {
94
98
  const artifactMatch = filePath.match(/\/artifacts\/([^/]+)\/([^/]+)\/(.+)$/);
95
99
  if (artifactMatch) {
96
100
  const [, sessionId, artifactId, filename] = artifactMatch;
97
- try {
98
- // @ts-ignore — application-layer module
99
- const { resolveArtifactPath } = await Promise.resolve().then(() => __importStar(require("../../service/artifact.service.js")));
100
- resolvedPath = resolveArtifactPath(sessionId, artifactId, decodeURIComponent(filename)) || '';
101
- }
102
- catch { /* ignore */ }
101
+ resolvedPath = (0, artifact_service_ts_1.resolveArtifactPath)(sessionId, artifactId, decodeURIComponent(filename)) || '';
103
102
  }
104
103
  // 2. 如果是本地绝对路径且文件存在
105
104
  if (!resolvedPath && path.isAbsolute(filePath) && fs.existsSync(filePath)) {
@@ -124,28 +123,24 @@ function createCommunicationTools() {
124
123
  }
125
124
  // 5. 尝试从 data/sandboxes 下搜索
126
125
  if (!resolvedPath) {
127
- try {
128
- const { getProjectDataPath } = await Promise.resolve().then(() => __importStar(require("../../utils/data-dir.js")));
129
- const sandboxesBase = getProjectDataPath('sandboxes');
130
- if (fs.existsSync(sandboxesBase)) {
131
- // 搜索所有沙箱目录下的 artifacts 子目录
132
- for (const sessionDir of fs.readdirSync(sandboxesBase)) {
133
- const artifactsDir = path.join(sandboxesBase, sessionDir, '_artifacts');
134
- if (!fs.existsSync(artifactsDir))
135
- continue;
136
- for (const artDir of fs.readdirSync(artifactsDir)) {
137
- const candidate = path.join(artifactsDir, artDir, path.basename(filePath));
138
- if (fs.existsSync(candidate)) {
139
- resolvedPath = candidate;
140
- break;
141
- }
142
- }
143
- if (resolvedPath)
126
+ const sandboxesBase = (0, data_dir_ts_1.getProjectDataPath)('sandboxes');
127
+ if (fs.existsSync(sandboxesBase)) {
128
+ // 搜索所有沙箱目录下的 artifacts 子目录
129
+ for (const sessionDir of fs.readdirSync(sandboxesBase)) {
130
+ const artifactsDir = path.join(sandboxesBase, sessionDir, '_artifacts');
131
+ if (!fs.existsSync(artifactsDir))
132
+ continue;
133
+ for (const artDir of fs.readdirSync(artifactsDir)) {
134
+ const candidate = path.join(artifactsDir, artDir, path.basename(filePath));
135
+ if (fs.existsSync(candidate)) {
136
+ resolvedPath = candidate;
144
137
  break;
138
+ }
145
139
  }
140
+ if (resolvedPath)
141
+ break;
146
142
  }
147
143
  }
148
- catch { /* ignore */ }
149
144
  }
150
145
  if (!resolvedPath || !fs.existsSync(resolvedPath)) {
151
146
  return `ERROR: Attachment file not found: ${filePath}. ` +
@@ -164,7 +159,7 @@ function createCommunicationTools() {
164
159
  attachments.push({ filename, content, contentType });
165
160
  }
166
161
  }
167
- await provider.send({
162
+ await emailProvider.send({
168
163
  to: args.to,
169
164
  cc: args.cc,
170
165
  subject: args.subject,
@@ -189,7 +184,7 @@ function createCommunicationTools() {
189
184
  function: {
190
185
  name: 'create_event',
191
186
  description: 'Create a calendar event with title, start/end time, description, location, and attendees. ' +
192
- 'Generates an .ics file as a downloadable artifact. ' +
187
+ 'May generate an .ics file as a downloadable artifact if the calendar provider supports iCal export. ' +
193
188
  'Optionally sets a reminder (in minutes before start).',
194
189
  parameters: {
195
190
  type: 'object',
@@ -208,13 +203,14 @@ function createCommunicationTools() {
208
203
  },
209
204
  },
210
205
  executor: async (args, ctx) => {
211
- // @ts-ignore application-layer module
212
- const { getCalendarStore, generateICal } = await Promise.resolve().then(() => __importStar(require("../../calendar/calendar-service.js")));
206
+ const calendarProvider = ctx.custom?.calendarProvider;
207
+ if (!calendarProvider) {
208
+ return 'ERROR: Calendar provider not configured. Please add a calendar connector in the Connectors page.';
209
+ }
213
210
  try {
214
- const store = getCalendarStore();
215
211
  const start = args.start;
216
212
  const end = args.end || new Date(new Date(start).getTime() + 3600000).toISOString();
217
- const event = await store.create({
213
+ const event = await calendarProvider.create({
218
214
  title: args.title,
219
215
  description: args.description,
220
216
  start, end,
@@ -223,18 +219,21 @@ function createCommunicationTools() {
223
219
  attendees: args.attendees,
224
220
  reminderMinutes: args.reminderMinutes,
225
221
  });
226
- const icsContent = await generateICal([event]);
227
- const filename = `event_${event.id}.ics`;
228
- const sandbox = ctx.custom?.sandbox;
229
- if (sandbox) {
230
- const fsExec = sandbox.getFileSystemExecutor();
231
- await fsExec.writeFile(filename, icsContent);
232
- const emitArtifact = ctx.emitArtifact;
233
- if (emitArtifact) {
234
- emitArtifact({ artifactId: event.id, filename, mimeType: 'text/calendar', size: icsContent.length, url: `/api/work/files/${filename}`, description: `Calendar event: ${event.title}` });
222
+ // 生成 iCal 文件(如果 provider 支持)
223
+ if (calendarProvider.generateICal) {
224
+ const icsContent = await calendarProvider.generateICal([event]);
225
+ const filename = `event_${event.id}.ics`;
226
+ const sandbox = ctx.custom?.sandbox;
227
+ if (sandbox) {
228
+ const fsExec = sandbox.getFileSystemExecutor();
229
+ await fsExec.writeFile(filename, icsContent);
230
+ const emitArtifact = ctx.emitArtifact;
231
+ if (emitArtifact) {
232
+ emitArtifact({ artifactId: event.id, filename, mimeType: 'text/calendar', size: icsContent.length, url: `/api/work/files/${filename}`, description: `Calendar event: ${event.title}` });
233
+ }
235
234
  }
236
235
  }
237
- return `Event created: "${event.title}" starting ${event.start}.\nICS file: ${filename}\nEvent ID: ${event.id}`;
236
+ return `Event created: "${event.title}" starting ${event.start}.\nEvent ID: ${event.id}`;
238
237
  }
239
238
  catch (e) {
240
239
  return `ERROR creating event: ${e.message || e}`;
@@ -261,15 +260,16 @@ function createCommunicationTools() {
261
260
  },
262
261
  },
263
262
  },
264
- executor: async (args) => {
265
- // @ts-ignore application-layer module
266
- const { getCalendarStore } = await Promise.resolve().then(() => __importStar(require("../../calendar/calendar-service.js")));
263
+ executor: async (args, ctx) => {
264
+ const calendarProvider = ctx.custom?.calendarProvider;
265
+ if (!calendarProvider) {
266
+ return 'ERROR: Calendar provider not configured. Please add a calendar connector in the Connectors page.';
267
+ }
267
268
  try {
268
- const store = getCalendarStore();
269
269
  const now = new Date();
270
270
  const startTime = args.startTime || now.toISOString();
271
271
  const endTime = args.endTime || new Date(now.getTime() + 30 * 86400000).toISOString();
272
- const events = await store.list(startTime, endTime);
272
+ const events = await calendarProvider.list(startTime, endTime);
273
273
  if (events.length === 0)
274
274
  return 'No events found in the specified time range.';
275
275
  const lines = events.map((e, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../../src/tool/tools/communication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../../src/tool/tools/communication.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAIvE,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAgYrD"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAKvE,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CA8XrD"}
@@ -37,6 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.createSandboxTools = createSandboxTools;
40
+ const artifact_service_ts_1 = require("../../service/artifact.service.js");
40
41
  const fs = __importStar(require("fs"));
41
42
  const path = __importStar(require("path"));
42
43
  function createSandboxTools() {
@@ -380,10 +381,8 @@ function createSandboxTools() {
380
381
  const filename = displayName || filePath.split('/').pop() || 'artifact';
381
382
  // 保存到沙箱内 Artifact 存储
382
383
  try {
383
- // @ts-ignore — application-layer module
384
- const { saveArtifact } = await Promise.resolve().then(() => __importStar(require("../../service/artifact.service.js")));
385
384
  const sessionId = ctx.sessionId || 'default';
386
- const result = saveArtifact(sandbox.rootDir, sessionId, filename, content);
385
+ const result = (0, artifact_service_ts_1.saveArtifact)(sandbox.rootDir, sessionId, filename, content);
387
386
  // 通过 SSE 推送到前端(去重命中时跳过,避免重复推送)
388
387
  const emitArtifact = ctx.emitArtifact;
389
388
  if (emitArtifact && !result.dedup) {