@cicctencent/agent-server 0.1.2 → 0.2.1

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 (82) hide show
  1. package/README.md +93 -16
  2. package/dist/cjs/agent/agent-server.d.ts.map +1 -1
  3. package/dist/cjs/agent/agent-server.js +95 -43
  4. package/dist/cjs/agent/agent-server.js.map +1 -1
  5. package/dist/cjs/index.d.ts +2 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +7 -3
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/service/agent-profile.service.d.ts +25 -2
  10. package/dist/cjs/service/agent-profile.service.d.ts.map +1 -1
  11. package/dist/cjs/service/agent-profile.service.js +18 -7
  12. package/dist/cjs/service/agent-profile.service.js.map +1 -1
  13. package/dist/cjs/service/cache.service.d.ts +70 -0
  14. package/dist/cjs/service/cache.service.d.ts.map +1 -0
  15. package/dist/cjs/service/cache.service.js +270 -0
  16. package/dist/cjs/service/cache.service.js.map +1 -0
  17. package/dist/cjs/service/engine-pool.d.ts +15 -2
  18. package/dist/cjs/service/engine-pool.d.ts.map +1 -1
  19. package/dist/cjs/service/engine-pool.js +15 -4
  20. package/dist/cjs/service/engine-pool.js.map +1 -1
  21. package/dist/cjs/service/settings.service.d.ts +7 -3
  22. package/dist/cjs/service/settings.service.d.ts.map +1 -1
  23. package/dist/cjs/service/settings.service.js +19 -14
  24. package/dist/cjs/service/settings.service.js.map +1 -1
  25. package/dist/cjs/spi/adapters.d.ts +55 -3
  26. package/dist/cjs/spi/adapters.d.ts.map +1 -1
  27. package/dist/cjs/spi/adapters.js +75 -23
  28. package/dist/cjs/spi/adapters.js.map +1 -1
  29. package/dist/cjs/spi/index.d.ts +85 -1
  30. package/dist/cjs/spi/index.d.ts.map +1 -1
  31. package/dist/cjs/spi/index.js +90 -6
  32. package/dist/cjs/spi/index.js.map +1 -1
  33. package/dist/cjs/spi/types.d.ts +47 -42
  34. package/dist/cjs/spi/types.d.ts.map +1 -1
  35. package/dist/cjs/store/app-stores.js +1 -1
  36. package/dist/cjs/store/app-stores.js.map +1 -1
  37. package/dist/cjs/types.d.ts +125 -24
  38. package/dist/cjs/types.d.ts.map +1 -1
  39. package/dist/cjs/utils/data-dir.d.ts.map +1 -1
  40. package/dist/cjs/utils/data-dir.js +8 -11
  41. package/dist/cjs/utils/data-dir.js.map +1 -1
  42. package/dist/esm/agent/agent-server.d.ts.map +1 -1
  43. package/dist/esm/agent/agent-server.js +98 -46
  44. package/dist/esm/agent/agent-server.js.map +1 -1
  45. package/dist/esm/index.d.ts +2 -1
  46. package/dist/esm/index.d.ts.map +1 -1
  47. package/dist/esm/index.js +1 -0
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/service/agent-profile.service.d.ts +25 -2
  50. package/dist/esm/service/agent-profile.service.d.ts.map +1 -1
  51. package/dist/esm/service/agent-profile.service.js +18 -7
  52. package/dist/esm/service/agent-profile.service.js.map +1 -1
  53. package/dist/esm/service/cache.service.d.ts +70 -0
  54. package/dist/esm/service/cache.service.d.ts.map +1 -0
  55. package/dist/esm/service/cache.service.js +264 -0
  56. package/dist/esm/service/cache.service.js.map +1 -0
  57. package/dist/esm/service/engine-pool.d.ts +15 -2
  58. package/dist/esm/service/engine-pool.d.ts.map +1 -1
  59. package/dist/esm/service/engine-pool.js +15 -4
  60. package/dist/esm/service/engine-pool.js.map +1 -1
  61. package/dist/esm/service/settings.service.d.ts +7 -3
  62. package/dist/esm/service/settings.service.d.ts.map +1 -1
  63. package/dist/esm/service/settings.service.js +19 -14
  64. package/dist/esm/service/settings.service.js.map +1 -1
  65. package/dist/esm/spi/adapters.d.ts +55 -3
  66. package/dist/esm/spi/adapters.d.ts.map +1 -1
  67. package/dist/esm/spi/adapters.js +75 -23
  68. package/dist/esm/spi/adapters.js.map +1 -1
  69. package/dist/esm/spi/index.d.ts +85 -1
  70. package/dist/esm/spi/index.d.ts.map +1 -1
  71. package/dist/esm/spi/index.js +90 -6
  72. package/dist/esm/spi/index.js.map +1 -1
  73. package/dist/esm/spi/types.d.ts +47 -42
  74. package/dist/esm/spi/types.d.ts.map +1 -1
  75. package/dist/esm/store/app-stores.js +1 -1
  76. package/dist/esm/store/app-stores.js.map +1 -1
  77. package/dist/esm/types.d.ts +125 -24
  78. package/dist/esm/types.d.ts.map +1 -1
  79. package/dist/esm/utils/data-dir.d.ts.map +1 -1
  80. package/dist/esm/utils/data-dir.js +0 -3
  81. package/dist/esm/utils/data-dir.js.map +1 -1
  82. package/package.json +1 -1
@@ -6,7 +6,7 @@ import { JsonStore } from "../store/index.js";
6
6
  import { DEFAULT_PROXY_SETTINGS, clearSystemProxyCache } from '@cicctencent/agent-core';
7
7
  const DEFAULT_SETTINGS = {
8
8
  theme: 'dark',
9
- language: 'zh-CN',
9
+ language: 'en',
10
10
  apiKeys: {},
11
11
  notifications: {
12
12
  taskComplete: true,
@@ -14,27 +14,32 @@ const DEFAULT_SETTINGS = {
14
14
  };
15
15
  /**
16
16
  * 默认 SettingsProvider 实现 — JSON 文件存储
17
+ *
18
+ * @param _dataDir - 数据目录(保留用于未来扩展,当前由 JsonStore 通过 getProjectDataPath 管理)
19
+ * @param defaultOverrides - 应用层覆盖默认设置(如 theme、language 等)
17
20
  */
18
21
  export class DefaultSettingsProvider {
19
22
  store;
20
- constructor(dataDir) {
23
+ defaults;
24
+ constructor(_dataDir, defaultOverrides) {
21
25
  this.store = new JsonStore('settings.json', 0, { projectLocal: true });
26
+ this.defaults = { ...DEFAULT_SETTINGS, ...defaultOverrides };
22
27
  }
23
28
  getSettings() {
24
- let data = this.store.read(DEFAULT_SETTINGS);
25
- const isDefaultData = JSON.stringify(data) === JSON.stringify(DEFAULT_SETTINGS);
29
+ let data = this.store.read(this.defaults);
30
+ const isDefaultData = JSON.stringify(data) === JSON.stringify(this.defaults);
26
31
  if (isDefaultData) {
27
32
  const recovered = this.tryRecoverSettings();
28
33
  if (recovered) {
29
- data = { ...DEFAULT_SETTINGS, ...recovered };
34
+ data = { ...this.defaults, ...recovered };
30
35
  console.log('[SettingsService] 从损坏的 JSON 中恢复了设置数据');
31
36
  }
32
37
  }
33
38
  const result = {
34
- ...DEFAULT_SETTINGS,
39
+ ...this.defaults,
35
40
  ...data,
36
- apiKeys: { ...DEFAULT_SETTINGS.apiKeys, ...(data.apiKeys || {}) },
37
- notifications: { ...DEFAULT_SETTINGS.notifications, ...(data.notifications || {}) },
41
+ apiKeys: { ...this.defaults.apiKeys, ...(data.apiKeys || {}) },
42
+ notifications: { ...this.defaults.notifications, ...(data.notifications || {}) },
38
43
  agentConfig: data.agentConfig ? { ...data.agentConfig } : undefined,
39
44
  modelProviders: data.modelProviders ? [...data.modelProviders] : [],
40
45
  defaultModelId: data.defaultModelId,
@@ -82,8 +87,8 @@ export class DefaultSettingsProvider {
82
87
  return merged;
83
88
  }
84
89
  resetSettings() {
85
- this.store.write(DEFAULT_SETTINGS);
86
- return DEFAULT_SETTINGS;
90
+ this.store.write(this.defaults);
91
+ return this.defaults;
87
92
  }
88
93
  // ---- 内部方法 ----
89
94
  tryRecoverSettings() {
@@ -158,9 +163,9 @@ export class DefaultSettingsProvider {
158
163
  }
159
164
  // ---- 全局单例(向后兼容) ----
160
165
  let globalProvider = null;
161
- export function getSettings() {
166
+ export function getSettings(dataDir) {
162
167
  if (!globalProvider)
163
- globalProvider = new DefaultSettingsProvider();
168
+ globalProvider = new DefaultSettingsProvider(dataDir);
164
169
  return globalProvider.getSettings();
165
170
  }
166
171
  export function updateSettings(updates) {
@@ -173,9 +178,9 @@ export function resetSettings() {
173
178
  globalProvider = new DefaultSettingsProvider();
174
179
  return globalProvider.resetSettings();
175
180
  }
176
- export function getSettingsProvider(dataDir) {
181
+ export function getSettingsProvider(dataDir, defaultOverrides) {
177
182
  if (!globalProvider)
178
- globalProvider = new DefaultSettingsProvider(dataDir);
183
+ globalProvider = new DefaultSettingsProvider(dataDir, defaultOverrides);
179
184
  return globalProvider;
180
185
  }
181
186
  //# sourceMappingURL=settings.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/service/settings.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/service/settings.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,43 @@
1
+ /**
2
+ * ## 设计原则
3
+ *
4
+ * agent-server 核心只定义**接口**(能力契约),不依赖具体框架。
5
+ *
6
+ * 以下适配器实现是**可选参考实现**,业务层可以:
7
+ * 1. 直接使用(如果满足需求)
8
+ * 2. 参考实现自己定制(如果有特殊需求)
9
+ * 3. 完全自己实现(如果框架不同)
10
+ *
11
+ * ### 使用示例
12
+ *
13
+ * ```typescript
14
+ * // 方式 1:直接使用提供的适配器
15
+ * import { KoaSSEAdapter } from '@cicctencent/agent-server';
16
+ * const adapter = new KoaSSEAdapter(ctx);
17
+ *
18
+ * // 方式 2:继承并扩展
19
+ * class MySSEAdapter extends KoaSSEAdapter {
20
+ * write(data: string) {
21
+ * // 添加自定义逻辑(如日志、监控)
22
+ * console.log('[SSE]', data.length, 'bytes');
23
+ * super.write(data);
24
+ * }
25
+ * }
26
+ *
27
+ * // 方式 3:完全自己实现
28
+ * class CustomSSEAdapter implements SSEResponseAdapter {
29
+ * // 完全自定义实现
30
+ * }
31
+ * ```
32
+ */
1
33
  import type { SSEResponseAdapter, RequestContextAdapter } from './types.js';
2
34
  /**
3
- * Express SSE 适配器
35
+ * Express SSE 适配器(参考实现)
36
+ *
37
+ * 业务层可以:
38
+ * - 直接使用
39
+ * - 继承扩展
40
+ * - 参考 implementation 自己实现
4
41
  */
5
42
  export declare class ExpressSSEAdapter implements SSEResponseAdapter {
6
43
  private res;
@@ -14,7 +51,7 @@ export declare class ExpressSSEAdapter implements SSEResponseAdapter {
14
51
  json(data: unknown): void;
15
52
  }
16
53
  /**
17
- * Koa/MidwayJS SSE 适配器
54
+ * Koa/MidwayJS SSE 适配器(参考实现)
18
55
  */
19
56
  export declare class KoaSSEAdapter implements SSEResponseAdapter {
20
57
  private ctx;
@@ -28,7 +65,7 @@ export declare class KoaSSEAdapter implements SSEResponseAdapter {
28
65
  json(data: unknown): void;
29
66
  }
30
67
  /**
31
- * Fastify SSE 适配器
68
+ * Fastify SSE 适配器(参考实现)
32
69
  */
33
70
  export declare class FastifySSEAdapter implements SSEResponseAdapter {
34
71
  private reply;
@@ -57,6 +94,21 @@ export declare class NativeHttpSSEAdapter implements SSEResponseAdapter {
57
94
  }
58
95
  /**
59
96
  * 自动检测框架类型并创建适配器
97
+ *
98
+ * ⚠️ 注意:此函数是便捷工具,但建议业务层显式创建适配器:
99
+ *
100
+ * ```typescript
101
+ * // 推荐:显式创建(更可控)
102
+ * const adapter = new KoaSSEAdapter(ctx);
103
+ *
104
+ * // 不推荐:自动检测(可能误判)
105
+ * const adapter = adaptSSE(ctx);
106
+ * ```
107
+ *
108
+ * 自动检测可能存在的问题:
109
+ * - 框架版本差异导致误判
110
+ * - 自定义响应对象无法识别
111
+ * - 难以调试
60
112
  */
61
113
  export declare function adaptSSE(res: unknown): SSEResponseAdapter;
62
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/spi/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/spi/adapters.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,48 @@
1
1
  // ============================================================
2
2
  // 框架适配器 — 支持不同 Web 框架
3
3
  // ============================================================
4
+ /**
5
+ * ## 设计原则
6
+ *
7
+ * agent-server 核心只定义**接口**(能力契约),不依赖具体框架。
8
+ *
9
+ * 以下适配器实现是**可选参考实现**,业务层可以:
10
+ * 1. 直接使用(如果满足需求)
11
+ * 2. 参考实现自己定制(如果有特殊需求)
12
+ * 3. 完全自己实现(如果框架不同)
13
+ *
14
+ * ### 使用示例
15
+ *
16
+ * ```typescript
17
+ * // 方式 1:直接使用提供的适配器
18
+ * import { KoaSSEAdapter } from '@cicctencent/agent-server';
19
+ * const adapter = new KoaSSEAdapter(ctx);
20
+ *
21
+ * // 方式 2:继承并扩展
22
+ * class MySSEAdapter extends KoaSSEAdapter {
23
+ * write(data: string) {
24
+ * // 添加自定义逻辑(如日志、监控)
25
+ * console.log('[SSE]', data.length, 'bytes');
26
+ * super.write(data);
27
+ * }
28
+ * }
29
+ *
30
+ * // 方式 3:完全自己实现
31
+ * class CustomSSEAdapter implements SSEResponseAdapter {
32
+ * // 完全自定义实现
33
+ * }
34
+ * ```
35
+ */
4
36
  // ============================================================
5
- // SSE 响应适配器
37
+ // SSE 响应适配器(参考实现)
6
38
  // ============================================================
7
39
  /**
8
- * Express SSE 适配器
40
+ * Express SSE 适配器(参考实现)
41
+ *
42
+ * 业务层可以:
43
+ * - 直接使用
44
+ * - 继承扩展
45
+ * - 参考 implementation 自己实现
9
46
  */
10
47
  export class ExpressSSEAdapter {
11
48
  res;
@@ -35,12 +72,16 @@ export class ExpressSSEAdapter {
35
72
  }
36
73
  }
37
74
  /**
38
- * Koa/MidwayJS SSE 适配器
75
+ * Koa/MidwayJS SSE 适配器(参考实现)
39
76
  */
40
77
  export class KoaSSEAdapter {
41
78
  ctx;
42
79
  constructor(ctx) {
43
80
  this.ctx = ctx;
81
+ // 禁止 Koa 框架自行处理响应,让 SSE 流完全由适配器控制
82
+ if (this.ctx && 'respond' in this.ctx) {
83
+ this.ctx.respond = false;
84
+ }
44
85
  }
45
86
  write(data) {
46
87
  this.ctx.res.write(data);
@@ -55,7 +96,7 @@ export class KoaSSEAdapter {
55
96
  this.ctx.set(name, String(value));
56
97
  }
57
98
  flushHeaders() {
58
- this.ctx.res.flush?.();
99
+ this.ctx.res.flushHeaders?.();
59
100
  }
60
101
  status(code) {
61
102
  this.ctx.status = code;
@@ -65,7 +106,7 @@ export class KoaSSEAdapter {
65
106
  }
66
107
  }
67
108
  /**
68
- * Fastify SSE 适配器
109
+ * Fastify SSE 适配器(参考实现)
69
110
  */
70
111
  export class FastifySSEAdapter {
71
112
  reply;
@@ -127,31 +168,42 @@ export class NativeHttpSSEAdapter {
127
168
  }
128
169
  /**
129
170
  * 自动检测框架类型并创建适配器
171
+ *
172
+ * ⚠️ 注意:此函数是便捷工具,但建议业务层显式创建适配器:
173
+ *
174
+ * ```typescript
175
+ * // 推荐:显式创建(更可控)
176
+ * const adapter = new KoaSSEAdapter(ctx);
177
+ *
178
+ * // 不推荐:自动检测(可能误判)
179
+ * const adapter = adaptSSE(ctx);
180
+ * ```
181
+ *
182
+ * 自动检测可能存在的问题:
183
+ * - 框架版本差异导致误判
184
+ * - 自定义响应对象无法识别
185
+ * - 难以调试
130
186
  */
131
187
  export function adaptSSE(res) {
132
- // Express: res.setHeader, res.write, res.end
133
- if (res && typeof res === 'object' && 'setHeader' in res && 'write' in res) {
134
- // 检查是否是 Koa Context (有 ctx.res 且 ctx.set)
135
- if ('ctx' in res || ('req' in res && 'socket' in res.req)) {
136
- return new KoaSSEAdapter(res);
137
- }
138
- // 检查是否是 Fastify Reply (有 .raw)
139
- if ('raw' in res && 'header' in res) {
140
- return new FastifySSEAdapter(res);
141
- }
142
- // Express 或原生 HTTP
143
- return new ExpressSSEAdapter(res);
188
+ if (!res || typeof res !== 'object') {
189
+ throw new Error('Unsupported response type. Please provide a custom SSE adapter.');
144
190
  }
145
- // Koa Context
146
- if (res && typeof res === 'object' && 'res' in res && 'set' in res) {
191
+ const obj = res;
192
+ // 1. Koa Context: has ctx.res (raw response) + ctx.set (header setter) + ctx.state
193
+ // Must check before Express because Koa ctx also has setHeader via delegation
194
+ if ('res' in obj && 'set' in obj && 'state' in obj) {
147
195
  return new KoaSSEAdapter(res);
148
196
  }
149
- // Fastify Reply
150
- if (res && typeof res === 'object' && 'raw' in res && 'header' in res) {
197
+ // 2. Fastify Reply: has .raw (raw response) + .header() + .code()
198
+ if ('raw' in obj && 'header' in obj && typeof obj.header === 'function') {
151
199
  return new FastifySSEAdapter(res);
152
200
  }
153
- // 原生 HTTP Response
154
- if (res && typeof res === 'object' && 'write' in res && 'end' in res) {
201
+ // 3. Express Response: has setHeader + write + end + flushHeaders
202
+ if ('setHeader' in obj && typeof obj.setHeader === 'function' && 'write' in obj && 'end' in obj) {
203
+ return new ExpressSSEAdapter(res);
204
+ }
205
+ // 4. Native HTTP ServerResponse: has write + end + statusCode
206
+ if ('write' in obj && 'end' in obj && 'statusCode' in obj) {
155
207
  return new NativeHttpSSEAdapter(res);
156
208
  }
157
209
  throw new Error('Unsupported response type. Please provide a custom SSE adapter.');
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/spi/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/spi/adapters.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,88 @@
1
- export type { BaseThreadEntity, BaseMessageEntity, BaseWorkspaceEntity, BaseAgentProfileEntity, BaseSettingsEntity, KVStorageAdapter, ListStorageAdapter, QueryOptions, SettingsProvider, ChatStoreProvider, AgentProfileProvider, PromptBuilderProvider, ModelConfigResolver, SSEResponseAdapter, RequestContextAdapter, AgentServerSPIOptions, ThreadEntity, MessageEntity, WorkspaceEntity, AgentProfileEntity, SettingsEntity, } from './types.js';
1
+ /**
2
+ * # agent-server SPI (Service Provider Interface)
3
+ *
4
+ * ## 核心设计原则
5
+ *
6
+ * 1. **接口优先**:agent-server 核心只定义能力接口,不依赖具体实现
7
+ * 2. **参考实现可选**:提供常见框架的参考实现,业务层可选择使用或自己实现
8
+ * 3. **业务层自主**:完全控制实现细节,不受 agent-server 限制
9
+ *
10
+ * ## 使用方式
11
+ *
12
+ * ### 方式 1:直接使用参考实现(最简单)
13
+ *
14
+ * ```typescript
15
+ * import { KoaSSEAdapter, createAgentServer } from '@cicctencent/agent-server';
16
+ *
17
+ * const server = createAgentServer({ llmProvider: myProvider });
18
+ *
19
+ * // MidwayJS/Koa 项目
20
+ * @Get('/chat/stream')
21
+ * async chatStream(@Ctx() ctx: Context) {
22
+ * const adapter = new KoaSSEAdapter(ctx);
23
+ * await server.runAgentStream(adapter, { content: 'Hello' });
24
+ * }
25
+ * ```
26
+ *
27
+ * ### 方式 2:实现 SPI 接口(自定义存储)
28
+ *
29
+ * ```typescript
30
+ * import {
31
+ * createAgentServer,
32
+ * type ChatStoreProvider,
33
+ * type BaseThreadEntity,
34
+ * type BaseMessageEntity,
35
+ * } from '@cicctencent/agent-server';
36
+ *
37
+ * // 定义你的实体类型(可以自定义字段)
38
+ * interface MyThread extends BaseThreadEntity {
39
+ * userId: string;
40
+ * applicationId: number;
41
+ * }
42
+ *
43
+ * // 实现 ChatStoreProvider 接口
44
+ * class MyChatStore implements ChatStoreProvider<MyThread, MyMessage> {
45
+ * async getThreads(userId?: string): Promise<MyThread[]> {
46
+ * // 使用任意存储技术:TypeORM / Prisma / Mongoose / ...
47
+ * return this.database.query('SELECT * FROM threads WHERE userId = ?', [userId]);
48
+ * }
49
+ *
50
+ * // ... 实现其他方法
51
+ * }
52
+ *
53
+ * // 注入自定义实现
54
+ * const server = createAgentServer({
55
+ * llmProvider: myProvider,
56
+ * chatStoreProvider: new MyChatStore(),
57
+ * });
58
+ * ```
59
+ *
60
+ * ### 方式 3:只使用组件(不使用工厂)
61
+ *
62
+ * ```typescript
63
+ * import {
64
+ * KoaSSEAdapter,
65
+ * writeSSE,
66
+ * createBuiltinTools,
67
+ * MemoryService,
68
+ * } from '@cicctencent/agent-server';
69
+ *
70
+ * // 只使用需要的组件,不依赖 createAgentServer
71
+ * const tools = createBuiltinTools();
72
+ * const memoryService = new MemoryService('./data');
73
+ *
74
+ * @Get('/stream')
75
+ * async stream(@Ctx() ctx: Context) {
76
+ * const adapter = new KoaSSEAdapter(ctx);
77
+ * writeSSE(adapter, 'start', { message: 'Hello' });
78
+ * }
79
+ * ```
80
+ *
81
+ * ## 完整文档
82
+ *
83
+ * 详见 [README.md](./README.md)
84
+ */
85
+ export type { BaseThreadEntity, BaseMessageEntity, BaseWorkspaceEntity, BaseAgentProfileEntity, BaseSettingsEntity, TenantContext, KVStorageAdapter, ListStorageAdapter, QueryOptions, SettingsProvider, ChatStoreProvider, AgentProfileProvider, PromptBuilderProvider, ModelConfigResolver, SSEResponseAdapter, RequestContextAdapter, AgentServerSPIOptions, ThreadEntity, MessageEntity, WorkspaceEntity, AgentProfileEntity, SettingsEntity, } from './types.js';
2
86
  export { JsonFileKVStorage, JsonFileListStorage, InMemoryKVStorage, InMemoryListStorage, DatabaseListStorage, createJsonFileStorage, createInMemoryStorage, } from './storage.js';
3
87
  export { ExpressSSEAdapter, KoaSSEAdapter, FastifySSEAdapter, NativeHttpSSEAdapter, adaptSSE, ExpressRequestAdapter, KoaRequestAdapter, adaptRequest, CustomSSEAdapter, } from './adapters.js';
4
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAEV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAElB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EAEZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EAEnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAErB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,EAEnB,iBAAiB,EACjB,mBAAmB,EAEnB,mBAAmB,EAEnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EAER,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EAEZ,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAMvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAGH,YAAY,EAEV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAGlB,aAAa,EAGb,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EAGZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EAGnB,kBAAkB,EAClB,qBAAqB,EAGrB,qBAAqB,EAGrB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,EAGnB,iBAAiB,EACjB,mBAAmB,EAGnB,mBAAmB,EAGnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EAGR,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EAGZ,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAMvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}
@@ -1,23 +1,107 @@
1
1
  // ============================================================
2
2
  // SPI 模块导出
3
3
  // ============================================================
4
- // ---- 存储适配器 ----
4
+ /**
5
+ * # agent-server SPI (Service Provider Interface)
6
+ *
7
+ * ## 核心设计原则
8
+ *
9
+ * 1. **接口优先**:agent-server 核心只定义能力接口,不依赖具体实现
10
+ * 2. **参考实现可选**:提供常见框架的参考实现,业务层可选择使用或自己实现
11
+ * 3. **业务层自主**:完全控制实现细节,不受 agent-server 限制
12
+ *
13
+ * ## 使用方式
14
+ *
15
+ * ### 方式 1:直接使用参考实现(最简单)
16
+ *
17
+ * ```typescript
18
+ * import { KoaSSEAdapter, createAgentServer } from '@cicctencent/agent-server';
19
+ *
20
+ * const server = createAgentServer({ llmProvider: myProvider });
21
+ *
22
+ * // MidwayJS/Koa 项目
23
+ * @Get('/chat/stream')
24
+ * async chatStream(@Ctx() ctx: Context) {
25
+ * const adapter = new KoaSSEAdapter(ctx);
26
+ * await server.runAgentStream(adapter, { content: 'Hello' });
27
+ * }
28
+ * ```
29
+ *
30
+ * ### 方式 2:实现 SPI 接口(自定义存储)
31
+ *
32
+ * ```typescript
33
+ * import {
34
+ * createAgentServer,
35
+ * type ChatStoreProvider,
36
+ * type BaseThreadEntity,
37
+ * type BaseMessageEntity,
38
+ * } from '@cicctencent/agent-server';
39
+ *
40
+ * // 定义你的实体类型(可以自定义字段)
41
+ * interface MyThread extends BaseThreadEntity {
42
+ * userId: string;
43
+ * applicationId: number;
44
+ * }
45
+ *
46
+ * // 实现 ChatStoreProvider 接口
47
+ * class MyChatStore implements ChatStoreProvider<MyThread, MyMessage> {
48
+ * async getThreads(userId?: string): Promise<MyThread[]> {
49
+ * // 使用任意存储技术:TypeORM / Prisma / Mongoose / ...
50
+ * return this.database.query('SELECT * FROM threads WHERE userId = ?', [userId]);
51
+ * }
52
+ *
53
+ * // ... 实现其他方法
54
+ * }
55
+ *
56
+ * // 注入自定义实现
57
+ * const server = createAgentServer({
58
+ * llmProvider: myProvider,
59
+ * chatStoreProvider: new MyChatStore(),
60
+ * });
61
+ * ```
62
+ *
63
+ * ### 方式 3:只使用组件(不使用工厂)
64
+ *
65
+ * ```typescript
66
+ * import {
67
+ * KoaSSEAdapter,
68
+ * writeSSE,
69
+ * createBuiltinTools,
70
+ * MemoryService,
71
+ * } from '@cicctencent/agent-server';
72
+ *
73
+ * // 只使用需要的组件,不依赖 createAgentServer
74
+ * const tools = createBuiltinTools();
75
+ * const memoryService = new MemoryService('./data');
76
+ *
77
+ * @Get('/stream')
78
+ * async stream(@Ctx() ctx: Context) {
79
+ * const adapter = new KoaSSEAdapter(ctx);
80
+ * writeSSE(adapter, 'start', { message: 'Hello' });
81
+ * }
82
+ * ```
83
+ *
84
+ * ## 完整文档
85
+ *
86
+ * 详见 [README.md](./README.md)
87
+ */
88
+ // ---- 存储适配器(参考实现) ----
5
89
  export {
6
- // JSON 文件存储
90
+ // JSON 文件存储(默认实现)
7
91
  JsonFileKVStorage, JsonFileListStorage,
8
- // 内存存储
92
+ // 内存存储(测试用)
9
93
  InMemoryKVStorage, InMemoryListStorage,
10
- // 数据库存储基类
94
+ // 数据库存储基类(业务层继承)
11
95
  DatabaseListStorage,
12
96
  // 工厂函数
13
97
  createJsonFileStorage, createInMemoryStorage, } from "./storage.js";
14
- // ---- 框架适配器 ----
98
+ // ---- 框架适配器(参考实现) ----
15
99
  export {
16
100
  // SSE 适配器
17
101
  ExpressSSEAdapter, KoaSSEAdapter, FastifySSEAdapter, NativeHttpSSEAdapter, adaptSSE,
18
102
  // 请求适配器
19
103
  ExpressRequestAdapter, KoaRequestAdapter, adaptRequest,
20
- // 自定义适配器示例
104
+ // 自定义适配器基类
21
105
  CustomSSEAdapter, } from "./adapters.js";
22
106
  // ============================================================
23
107
  // SPI 使用指南
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAgC/D,kBAAkB;AAClB,OAAO;AACL,YAAY;AACZ,iBAAiB,EACjB,mBAAmB;AACnB,OAAO;AACP,iBAAiB,EACjB,mBAAmB;AACnB,UAAU;AACV,mBAAmB;AACnB,OAAO;AACP,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,kBAAkB;AAClB,OAAO;AACL,UAAU;AACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ;AACR,QAAQ;AACR,qBAAqB,EACrB,iBAAiB,EACjB,YAAY;AACZ,WAAW;AACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/spi/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAyCH,wBAAwB;AACxB,OAAO;AACL,kBAAkB;AAClB,iBAAiB,EACjB,mBAAmB;AAEnB,YAAY;AACZ,iBAAiB,EACjB,mBAAmB;AAEnB,iBAAiB;AACjB,mBAAmB;AAEnB,OAAO;AACP,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,wBAAwB;AACxB,OAAO;AACL,UAAU;AACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ;AAER,QAAQ;AACR,qBAAqB,EACrB,iBAAiB,EACjB,YAAY;AAEZ,WAAW;AACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG"}