@aalis/core 0.8.0 → 0.9.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.
- package/dist/app.d.ts +12 -13
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +16 -45
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +2 -25
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -96
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +50 -23
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +102 -33
- package/dist/context.js.map +1 -1
- package/dist/contributions.d.ts +1 -1
- package/dist/contributions.js +1 -1
- package/dist/disposable-chain.d.ts +47 -6
- package/dist/disposable-chain.d.ts.map +1 -1
- package/dist/disposable-chain.js +92 -12
- package/dist/disposable-chain.js.map +1 -1
- package/dist/events.d.ts +1 -9
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -23
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/plugin-activation.d.ts +2 -0
- package/dist/plugin-activation.d.ts.map +1 -1
- package/dist/plugin-activation.js +9 -5
- package/dist/plugin-activation.js.map +1 -1
- package/dist/plugin-topology.d.ts +6 -2
- package/dist/plugin-topology.d.ts.map +1 -1
- package/dist/plugin-topology.js +6 -4
- package/dist/plugin-topology.js.map +1 -1
- package/dist/plugin.d.ts +20 -14
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +53 -72
- package/dist/plugin.js.map +1 -1
- package/dist/{service-helpers.d.ts → services-helpers.d.ts} +2 -2
- package/dist/services-helpers.d.ts.map +1 -0
- package/dist/{service-helpers.js → services-helpers.js} +2 -2
- package/dist/{service-helpers.js.map → services-helpers.js.map} +1 -1
- package/dist/{service.d.ts → services.d.ts} +43 -9
- package/dist/services.d.ts.map +1 -0
- package/dist/{service.js → services.js} +34 -11
- package/dist/services.js.map +1 -0
- package/dist/types/app.d.ts +8 -8
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/events.d.ts +44 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +6 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/hooks.d.ts +8 -0
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -6
- package/dist/types/index.js.map +1 -1
- package/dist/types/plugin.d.ts +12 -4
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js.map +1 -1
- package/dist/types/services.d.ts +4 -0
- package/dist/types/services.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/constants.d.ts +0 -31
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -36
- package/dist/constants.js.map +0 -1
- package/dist/i18n.d.ts +0 -6
- package/dist/i18n.d.ts.map +0 -1
- package/dist/i18n.js +0 -26
- package/dist/i18n.js.map +0 -1
- package/dist/identity.d.ts +0 -26
- package/dist/identity.d.ts.map +0 -1
- package/dist/identity.js +0 -36
- package/dist/identity.js.map +0 -1
- package/dist/init.d.ts +0 -20
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -455
- package/dist/init.js.map +0 -1
- package/dist/llm-router.d.ts.map +0 -1
- package/dist/llm-router.js +0 -123
- package/dist/llm-router.js.map +0 -1
- package/dist/marketplace-bootstrap.d.ts +0 -54
- package/dist/marketplace-bootstrap.d.ts.map +0 -1
- package/dist/marketplace-bootstrap.js +0 -132
- package/dist/marketplace-bootstrap.js.map +0 -1
- package/dist/mixin-registry.d.ts +0 -34
- package/dist/mixin-registry.d.ts.map +0 -1
- package/dist/mixin-registry.js +0 -60
- package/dist/mixin-registry.js.map +0 -1
- package/dist/model-ref.d.ts +0 -22
- package/dist/model-ref.d.ts.map +0 -1
- package/dist/model-ref.js +0 -46
- package/dist/model-ref.js.map +0 -1
- package/dist/pending-buffer.d.ts +0 -46
- package/dist/pending-buffer.d.ts.map +0 -1
- package/dist/pending-buffer.js +0 -131
- package/dist/pending-buffer.js.map +0 -1
- package/dist/platform-registry.d.ts +0 -40
- package/dist/platform-registry.d.ts.map +0 -1
- package/dist/platform-registry.js +0 -64
- package/dist/platform-registry.js.map +0 -1
- package/dist/semver-mini.d.ts +0 -20
- package/dist/semver-mini.d.ts.map +0 -1
- package/dist/semver-mini.js +0 -94
- package/dist/semver-mini.js.map +0 -1
- package/dist/service-helpers.d.ts.map +0 -1
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js.map +0 -1
- package/dist/types/agent.d.ts +0 -51
- package/dist/types/agent.d.ts.map +0 -1
- package/dist/types/agent.js +0 -3
- package/dist/types/agent.js.map +0 -1
- package/dist/types/archive.d.ts +0 -59
- package/dist/types/archive.d.ts.map +0 -1
- package/dist/types/archive.js +0 -16
- package/dist/types/archive.js.map +0 -1
- package/dist/types/authority.d.ts +0 -63
- package/dist/types/authority.d.ts.map +0 -1
- package/dist/types/authority.js +0 -3
- package/dist/types/authority.js.map +0 -1
- package/dist/types/capabilities.d.ts +0 -53
- package/dist/types/capabilities.d.ts.map +0 -1
- package/dist/types/capabilities.js +0 -87
- package/dist/types/capabilities.js.map +0 -1
- package/dist/types/cli.d.ts +0 -14
- package/dist/types/cli.d.ts.map +0 -1
- package/dist/types/cli.js +0 -3
- package/dist/types/cli.js.map +0 -1
- package/dist/types/commands.d.ts +0 -98
- package/dist/types/commands.d.ts.map +0 -1
- package/dist/types/commands.js +0 -3
- package/dist/types/commands.js.map +0 -1
- package/dist/types/core.d.ts +0 -116
- package/dist/types/core.d.ts.map +0 -1
- package/dist/types/core.js +0 -6
- package/dist/types/core.js.map +0 -1
- package/dist/types/embedding.d.ts +0 -7
- package/dist/types/embedding.d.ts.map +0 -1
- package/dist/types/embedding.js +0 -3
- package/dist/types/embedding.js.map +0 -1
- package/dist/types/flow-control.d.ts +0 -51
- package/dist/types/flow-control.d.ts.map +0 -1
- package/dist/types/flow-control.js +0 -12
- package/dist/types/flow-control.js.map +0 -1
- package/dist/types/gateway.d.ts +0 -24
- package/dist/types/gateway.d.ts.map +0 -1
- package/dist/types/gateway.js +0 -15
- package/dist/types/gateway.js.map +0 -1
- package/dist/types/image-recognition.d.ts +0 -123
- package/dist/types/image-recognition.d.ts.map +0 -1
- package/dist/types/image-recognition.js +0 -31
- package/dist/types/image-recognition.js.map +0 -1
- package/dist/types/llm.d.ts +0 -146
- package/dist/types/llm.d.ts.map +0 -1
- package/dist/types/llm.js +0 -27
- package/dist/types/llm.js.map +0 -1
- package/dist/types/memory.d.ts +0 -62
- package/dist/types/memory.d.ts.map +0 -1
- package/dist/types/memory.js +0 -22
- package/dist/types/memory.js.map +0 -1
- package/dist/types/persona.d.ts +0 -45
- package/dist/types/persona.d.ts.map +0 -1
- package/dist/types/persona.js +0 -3
- package/dist/types/persona.js.map +0 -1
- package/dist/types/platform.d.ts +0 -126
- package/dist/types/platform.d.ts.map +0 -1
- package/dist/types/platform.js +0 -5
- package/dist/types/platform.js.map +0 -1
- package/dist/types/service.d.ts +0 -41
- package/dist/types/service.d.ts.map +0 -1
- package/dist/types/service.js +0 -35
- package/dist/types/service.js.map +0 -1
- package/dist/types/session.d.ts +0 -153
- package/dist/types/session.d.ts.map +0 -1
- package/dist/types/session.js +0 -19
- package/dist/types/session.js.map +0 -1
- package/dist/types/storage.d.ts +0 -100
- package/dist/types/storage.d.ts.map +0 -1
- package/dist/types/storage.js +0 -29
- package/dist/types/storage.js.map +0 -1
- package/dist/types/tools.d.ts +0 -39
- package/dist/types/tools.d.ts.map +0 -1
- package/dist/types/tools.js +0 -3
- package/dist/types/tools.js.map +0 -1
- package/dist/types/trigger-policy.d.ts +0 -16
- package/dist/types/trigger-policy.d.ts.map +0 -1
- package/dist/types/trigger-policy.js +0 -6
- package/dist/types/trigger-policy.js.map +0 -1
- package/dist/types/vectorstore.d.ts +0 -23
- package/dist/types/vectorstore.d.ts.map +0 -1
- package/dist/types/vectorstore.js +0 -3
- package/dist/types/vectorstore.js.map +0 -1
- package/dist/types/web-search.d.ts +0 -88
- package/dist/types/web-search.d.ts.map +0 -1
- package/dist/types/web-search.js +0 -23
- package/dist/types/web-search.js.map +0 -1
- package/dist/types/webui.d.ts +0 -137
- package/dist/types/webui.d.ts.map +0 -1
- package/dist/types/webui.js +0 -3
- package/dist/types/webui.js.map +0 -1
package/dist/types/session.d.ts
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 会话级配置覆盖
|
|
3
|
-
*
|
|
4
|
-
* 每个会话可以独立配置 LLM 提供者、模型、工具集、人设等。
|
|
5
|
-
* Agent 处理消息时通过 session-manager 的 resolveConfig() 获取最终生效配置。
|
|
6
|
-
*
|
|
7
|
-
* 配置解析优先级(从高到低):
|
|
8
|
-
* 1. 会话自身 config(手工覆盖 / /model 指令设置)
|
|
9
|
-
* 2. 父会话默认配置(sessionDefaults,供子会话继承)
|
|
10
|
-
* 3. 平台默认配置(platformProfiles[platform])
|
|
11
|
-
* 4. 全局默认(各插件的 defaultConfig)
|
|
12
|
-
*/
|
|
13
|
-
export interface SessionConfig {
|
|
14
|
-
/** LLM 提供者 contextId(指定使用哪个 LLM 插件实例) */
|
|
15
|
-
llmProvider?: string;
|
|
16
|
-
/** 模型 ID(如 'gpt-4o', 'deepseek-chat') */
|
|
17
|
-
model?: string;
|
|
18
|
-
/** 启用的工具分组列表(为空时使用全局默认) */
|
|
19
|
-
enabledToolGroups?: string[];
|
|
20
|
-
/** 人格文件名(不含后缀,如 'aalis', 'aalis-webui', 'default') */
|
|
21
|
-
persona?: string;
|
|
22
|
-
/** 额外系统提示(追加到人格提示之后) */
|
|
23
|
-
systemPromptExtra?: string;
|
|
24
|
-
/** 最大工具迭代次数覆盖 */
|
|
25
|
-
maxToolIterations?: number;
|
|
26
|
-
/** 禁用结构化输出格式(该会话回复纯文本) */
|
|
27
|
-
disableOutputFormat?: boolean;
|
|
28
|
-
/** JSON 内容由客户端渲染,服务端不提取回复字段 */
|
|
29
|
-
clientSideJsonRendering?: boolean;
|
|
30
|
-
/** 子会话默认配置(创建子会话时自动继承,子会话可进一步覆盖) */
|
|
31
|
-
sessionDefaults?: Omit<SessionConfig, 'sessionDefaults'>;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* 平台配置模板
|
|
35
|
-
*
|
|
36
|
-
* 为每个平台设定默认的 SessionConfig。
|
|
37
|
-
* 新建会话时,根据消息来源的平台自动应用对应模板。
|
|
38
|
-
* 在 session-manager 的 configSchema 中通过 WebUI 配置。
|
|
39
|
-
*/
|
|
40
|
-
export type PlatformProfile = SessionConfig;
|
|
41
|
-
/**
|
|
42
|
-
* 会话信息
|
|
43
|
-
*
|
|
44
|
-
* 代表一个独立的对话会话,可拥有独立配置和树形层级关系。
|
|
45
|
-
* 树形结构为未来 agent 任务拆分和协作奠定基础。
|
|
46
|
-
*/
|
|
47
|
-
export interface SessionInfo {
|
|
48
|
-
/** 会话唯一标识 */
|
|
49
|
-
id: string;
|
|
50
|
-
/** 会话显示名称 */
|
|
51
|
-
name: string;
|
|
52
|
-
/** 自动生成的会话标题(AI 总结,或父会话指定) */
|
|
53
|
-
title?: string;
|
|
54
|
-
/** 父会话 ID(根会话为 undefined) */
|
|
55
|
-
parentId?: string;
|
|
56
|
-
/** 子会话 ID 列表 */
|
|
57
|
-
children: string[];
|
|
58
|
-
/** 会话状态 */
|
|
59
|
-
status: 'active' | 'waiting' | 'completed' | 'error' | 'archived';
|
|
60
|
-
/** 会话级配置覆盖 */
|
|
61
|
-
config: SessionConfig;
|
|
62
|
-
/** 创建时间戳 */
|
|
63
|
-
createdAt: number;
|
|
64
|
-
/** 最后更新时间戳 */
|
|
65
|
-
updatedAt: number;
|
|
66
|
-
/** 创建者类型 */
|
|
67
|
-
createdBy?: 'user' | 'agent' | 'scheduler' | 'system';
|
|
68
|
-
/** 父会话传入的指令/上下文(创建子会话时由父会话填写) */
|
|
69
|
-
inputContext?: string;
|
|
70
|
-
/** 完成结果摘要(子会话完成后填充,用于向父会话汇报) */
|
|
71
|
-
result?: string;
|
|
72
|
-
/** 扩展元数据(供插件自由使用) */
|
|
73
|
-
metadata?: Record<string, unknown>;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* 会话树节点(递归结构)
|
|
77
|
-
*
|
|
78
|
-
* 用于前端展示会话树和 agent 任务树状图。
|
|
79
|
-
*/
|
|
80
|
-
export interface SessionTreeNode {
|
|
81
|
-
session: SessionInfo;
|
|
82
|
-
children: SessionTreeNode[];
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 会话管理服务
|
|
86
|
-
*
|
|
87
|
-
* 负责会话的创建、查询、配置和树形管理。
|
|
88
|
-
* 由 plugin-session-manager 实现并注册为 'session-manager' 服务。
|
|
89
|
-
*
|
|
90
|
-
* 设计要点:
|
|
91
|
-
* - 每个会话拥有独立的 SessionConfig,Agent 处理消息时查询并应用
|
|
92
|
-
* - 树形结构通过 parentId/children 维护,支持未来的任务拆分场景
|
|
93
|
-
* - 会话生命周期事件通过 EventBus 广播
|
|
94
|
-
*/
|
|
95
|
-
export interface SessionManagerService {
|
|
96
|
-
/** 创建新会话,返回完整的 SessionInfo */
|
|
97
|
-
createSession(opts?: Partial<Omit<SessionInfo, 'id' | 'children' | 'createdAt' | 'updatedAt'>>): Promise<SessionInfo>;
|
|
98
|
-
/** 获取指定会话(不存在返回 undefined) */
|
|
99
|
-
getSession(id: string): SessionInfo | undefined;
|
|
100
|
-
/** 列出会话(可按 parentId 和 status 过滤) */
|
|
101
|
-
listSessions(filter?: {
|
|
102
|
-
parentId?: string | null;
|
|
103
|
-
status?: SessionInfo['status'];
|
|
104
|
-
}): SessionInfo[];
|
|
105
|
-
/** 更新会话属性 */
|
|
106
|
-
updateSession(id: string, updates: Partial<Pick<SessionInfo, 'name' | 'config' | 'status' | 'metadata'>>): Promise<SessionInfo>;
|
|
107
|
-
/** 删除会话(同时清理其消息历史) */
|
|
108
|
-
deleteSession(id: string): Promise<void>;
|
|
109
|
-
/** 获取当前活跃会话 ID */
|
|
110
|
-
getActiveSessionId(): string;
|
|
111
|
-
/** 切换活跃会话 */
|
|
112
|
-
setActiveSessionId(id: string): void;
|
|
113
|
-
/** 创建子会话 */
|
|
114
|
-
createChildSession(parentId: string, opts?: Partial<Omit<SessionInfo, 'id' | 'parentId' | 'children' | 'createdAt' | 'updatedAt'>>): Promise<SessionInfo>;
|
|
115
|
-
/** 获取直接子会话列表 */
|
|
116
|
-
getChildren(parentId: string): SessionInfo[];
|
|
117
|
-
/** 获取会话树(传入 rootId 则只返回该子树,否则返回所有根会话的树) */
|
|
118
|
-
getTree(rootId?: string): SessionTreeNode[];
|
|
119
|
-
/** 标记会话完成(触发 session:completed 事件,通知父会话) */
|
|
120
|
-
completeSession(id: string, result?: string): Promise<void>;
|
|
121
|
-
/**
|
|
122
|
-
* 解析指定会话的最终生效配置
|
|
123
|
-
*
|
|
124
|
-
* 合并优先级:会话 config > 父会话 sessionDefaults > 平台 profile > 全局默认
|
|
125
|
-
* 返回合并后的完整 SessionConfig(不含 sessionDefaults 字段)
|
|
126
|
-
*/
|
|
127
|
-
resolveConfig(sessionId: string, platform?: string): Omit<SessionConfig, 'sessionDefaults'>;
|
|
128
|
-
/** 获取已配置的平台 profile 列表 */
|
|
129
|
-
getPlatformProfiles(): Record<string, PlatformProfile>;
|
|
130
|
-
/** 设置指定平台的 profile */
|
|
131
|
-
setPlatformProfile(platform: string, profile: PlatformProfile): void;
|
|
132
|
-
/** 自动生成会话标题(调用 LLM 总结),返回生成的标题或 undefined。可传入 userMessage 避免依赖历史记录。 */
|
|
133
|
-
generateTitle(sessionId: string, userMessage?: string): Promise<string | undefined>;
|
|
134
|
-
/** 手动更新会话标题 */
|
|
135
|
-
updateSessionTitle(sessionId: string, title: string): Promise<void>;
|
|
136
|
-
}
|
|
137
|
-
export interface SessionManagerCapabilityRegistry {
|
|
138
|
-
/** 基础 CRUD(create/get/update/delete) */
|
|
139
|
-
SessionCrud: 'session-crud';
|
|
140
|
-
/** 支持树形会话(createChildSession/getTree) */
|
|
141
|
-
SessionTree: 'session-tree';
|
|
142
|
-
}
|
|
143
|
-
export type SessionManagerCapability = SessionManagerCapabilityRegistry[keyof SessionManagerCapabilityRegistry];
|
|
144
|
-
export declare const SessionManagerCapabilities: {
|
|
145
|
-
readonly SessionCrud: "session-crud";
|
|
146
|
-
readonly SessionTree: "session-tree";
|
|
147
|
-
};
|
|
148
|
-
declare module './capabilities.js' {
|
|
149
|
-
interface ServiceCapabilityMap {
|
|
150
|
-
'session-manager': SessionManagerCapability;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
|
package/dist/types/session.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// ----- 会话管理服务接口 -----
|
|
2
|
-
export const SessionManagerCapabilities = {
|
|
3
|
-
SessionCrud: 'session-crud',
|
|
4
|
-
SessionTree: 'session-tree',
|
|
5
|
-
};
|
|
6
|
-
import { registerCapabilityProbe } from './capabilities.js';
|
|
7
|
-
registerCapabilityProbe('session-manager', SessionManagerCapabilities.SessionCrud, inst => {
|
|
8
|
-
const i = inst;
|
|
9
|
-
return typeof i.createSession === 'function' && typeof i.getSession === 'function' && typeof i.deleteSession === 'function'
|
|
10
|
-
? true
|
|
11
|
-
: 'SessionManagerService.createSession()/getSession()/deleteSession() are required for capability "session-crud"';
|
|
12
|
-
});
|
|
13
|
-
registerCapabilityProbe('session-manager', SessionManagerCapabilities.SessionTree, inst => {
|
|
14
|
-
const i = inst;
|
|
15
|
-
return typeof i.getTree === 'function' && typeof i.getChildren === 'function'
|
|
16
|
-
? true
|
|
17
|
-
: 'SessionManagerService.getTree()/getChildren() are required for capability "session-tree"';
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA,uBAAuB;AA0KvB,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;CACwB,CAAC;AAQtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,uBAAuB,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;IACxF,MAAM,CAAC,GAAG,IAAkF,CAAC;IAC7F,OAAO,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,UAAU;QACzH,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,+GAA+G,CAAC;AACtH,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;IACxF,MAAM,CAAC,GAAG,IAAoD,CAAC;IAC/D,OAAO,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU;QAC3E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,0FAA0F,CAAC;AACjG,CAAC,CAAC,CAAC"}
|
package/dist/types/storage.d.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import type { Readable } from 'node:stream';
|
|
2
|
-
export type StorageRootKind = 'workspace' | 'data' | 'tmp' | 'pluginData' | 'logs' | string;
|
|
3
|
-
export interface StorageRootInfo {
|
|
4
|
-
/** 根 ID,如 workspace、data、tmp */
|
|
5
|
-
name: string;
|
|
6
|
-
/** 展示名称 */
|
|
7
|
-
label?: string;
|
|
8
|
-
/** 语义类型,用于权限 UI 和策略判断 */
|
|
9
|
-
kind: StorageRootKind;
|
|
10
|
-
/** 是否允许通过通用文件浏览 UI 展示 */
|
|
11
|
-
browsable: boolean;
|
|
12
|
-
/** 默认是否允许读 */
|
|
13
|
-
readable: boolean;
|
|
14
|
-
/** 默认是否允许写 */
|
|
15
|
-
writable: boolean;
|
|
16
|
-
/** 默认是否允许删除 */
|
|
17
|
-
deletable: boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface StorageEntry {
|
|
20
|
-
name: string;
|
|
21
|
-
path: string;
|
|
22
|
-
uri: string;
|
|
23
|
-
isDirectory: boolean;
|
|
24
|
-
size: number;
|
|
25
|
-
mtime: string;
|
|
26
|
-
ext: string;
|
|
27
|
-
}
|
|
28
|
-
export interface StorageStat {
|
|
29
|
-
name: string;
|
|
30
|
-
path: string;
|
|
31
|
-
uri: string;
|
|
32
|
-
isDirectory: boolean;
|
|
33
|
-
size: number;
|
|
34
|
-
mtime: string;
|
|
35
|
-
birthtime: string;
|
|
36
|
-
ext: string;
|
|
37
|
-
}
|
|
38
|
-
export interface StorageListResult {
|
|
39
|
-
root: StorageRootInfo;
|
|
40
|
-
path: string;
|
|
41
|
-
entries: StorageEntry[];
|
|
42
|
-
}
|
|
43
|
-
export interface StorageReadStreamResult {
|
|
44
|
-
stream: Readable;
|
|
45
|
-
stat: StorageStat;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* StorageService 的职责定位:
|
|
49
|
-
*
|
|
50
|
-
* 1) **命名根**:把项目里的几个目录起一个稳定名字(workspace / data / tmp /
|
|
51
|
-
* pluginData / logs,以及用户自定义根),让上层用 URI(`name:/path`)表示文件,
|
|
52
|
-
* 而不是把绝对路径硬编码到配置或工具调用里。
|
|
53
|
-
* 2) **路径解析**:对 storage URI 做规范化、根内 `..` 穿越保护、symlink realpath 校验。
|
|
54
|
-
* 这是为防止上层代码意外越界(防 bug),不是用来对抗恶意子进程。
|
|
55
|
-
* 3) **审计点**:所有读/写/删都经过 logger,便于事后排查。
|
|
56
|
-
*
|
|
57
|
-
* 它**不是**沙箱:`resolveLocalPath` 一旦把绝对路径交给 `run_python`、shell 等子进程,
|
|
58
|
-
* 子进程可以访问当前 OS 用户能访问的任何文件。真正的隔离应该靠 OS 用户权限或容器,
|
|
59
|
-
* 不应该指望这一层。
|
|
60
|
-
*/
|
|
61
|
-
export interface StorageService {
|
|
62
|
-
listRoots(): StorageRootInfo[];
|
|
63
|
-
list(uri: string): Promise<StorageListResult>;
|
|
64
|
-
stat(uri: string): Promise<StorageStat>;
|
|
65
|
-
readFile(uri: string, encoding?: BufferEncoding): Promise<string | Buffer>;
|
|
66
|
-
createReadStream(uri: string): Promise<StorageReadStreamResult>;
|
|
67
|
-
writeFile(uri: string, data: string | Buffer): Promise<void>;
|
|
68
|
-
rename(uri: string, newName: string): Promise<string>;
|
|
69
|
-
delete(uri: string): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* 把 storage URI 解析为本机绝对路径,给必须使用本地路径的子进程(shell、code-runner)用。
|
|
72
|
-
*
|
|
73
|
-
* 注意:解析过程会校验目标位于声明的根内,但**不会限制后续子进程的访问范围**。
|
|
74
|
-
* 调用方必须自觉只把这条路径用作"工作目录/起点",不要把它当成沙箱边界。
|
|
75
|
-
*/
|
|
76
|
-
resolveLocalPath?(uri: string, access?: 'read' | 'write' | 'delete'): Promise<string>;
|
|
77
|
-
}
|
|
78
|
-
export interface StorageCapabilityRegistry {
|
|
79
|
-
List: 'list';
|
|
80
|
-
Read: 'read';
|
|
81
|
-
Write: 'write';
|
|
82
|
-
Delete: 'delete';
|
|
83
|
-
LocalPath: 'local-path';
|
|
84
|
-
Router: 'router';
|
|
85
|
-
}
|
|
86
|
-
export type StorageCapability = StorageCapabilityRegistry[keyof StorageCapabilityRegistry];
|
|
87
|
-
export declare const StorageCapabilities: {
|
|
88
|
-
readonly List: "list";
|
|
89
|
-
readonly Read: "read";
|
|
90
|
-
readonly Write: "write";
|
|
91
|
-
readonly Delete: "delete";
|
|
92
|
-
readonly LocalPath: "local-path";
|
|
93
|
-
readonly Router: "router";
|
|
94
|
-
};
|
|
95
|
-
declare module './capabilities.js' {
|
|
96
|
-
interface ServiceCapabilityMap {
|
|
97
|
-
storage: StorageCapability;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/types/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/types/storage.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// ----- 存储服务接口 -----
|
|
2
|
-
export const StorageCapabilities = {
|
|
3
|
-
List: 'list',
|
|
4
|
-
Read: 'read',
|
|
5
|
-
Write: 'write',
|
|
6
|
-
Delete: 'delete',
|
|
7
|
-
LocalPath: 'local-path',
|
|
8
|
-
Router: 'router',
|
|
9
|
-
};
|
|
10
|
-
import { registerCapabilityProbe } from './capabilities.js';
|
|
11
|
-
registerCapabilityProbe('storage', StorageCapabilities.List, inst => typeof inst.list === 'function'
|
|
12
|
-
&& typeof inst.listRoots === 'function'
|
|
13
|
-
? true
|
|
14
|
-
: 'StorageService.listRoots()/list() are required for capability "list"');
|
|
15
|
-
registerCapabilityProbe('storage', StorageCapabilities.Read, inst => typeof inst.readFile === 'function'
|
|
16
|
-
&& typeof inst.createReadStream === 'function'
|
|
17
|
-
? true
|
|
18
|
-
: 'StorageService.readFile()/createReadStream() are required for capability "read"');
|
|
19
|
-
registerCapabilityProbe('storage', StorageCapabilities.Write, inst => typeof inst.writeFile === 'function'
|
|
20
|
-
&& typeof inst.rename === 'function'
|
|
21
|
-
? true
|
|
22
|
-
: 'StorageService.writeFile()/rename() are required for capability "write"');
|
|
23
|
-
registerCapabilityProbe('storage', StorageCapabilities.Delete, inst => typeof inst.delete === 'function'
|
|
24
|
-
? true
|
|
25
|
-
: 'StorageService.delete() is required for capability "delete"');
|
|
26
|
-
registerCapabilityProbe('storage', StorageCapabilities.LocalPath, inst => typeof inst.resolveLocalPath === 'function'
|
|
27
|
-
? true
|
|
28
|
-
: 'StorageService.resolveLocalPath() is required for capability "local-path"');
|
|
29
|
-
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/types/storage.ts"],"names":[],"mappings":"AAAA,qBAAqB;AAoGrB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;CAC4B,CAAC;AAQ/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAClE,OAAQ,IAA2B,CAAC,IAAI,KAAK,UAAU;OAClD,OAAQ,IAAgC,CAAC,SAAS,KAAK,UAAU;IACpE,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,sEAAsE,CAAC,CAAC;AAE9E,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAClE,OAAQ,IAA+B,CAAC,QAAQ,KAAK,UAAU;OAC1D,OAAQ,IAAuC,CAAC,gBAAgB,KAAK,UAAU;IAClF,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,iFAAiF,CAAC,CAAC;AAEzF,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CACnE,OAAQ,IAAgC,CAAC,SAAS,KAAK,UAAU;OAC5D,OAAQ,IAA6B,CAAC,MAAM,KAAK,UAAU;IAC9D,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,yEAAyE,CAAC,CAAC;AAEjF,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CACpE,OAAQ,IAA6B,CAAC,MAAM,KAAK,UAAU;IACzD,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,6DAA6D,CAAC,CAAC;AAErE,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CACvE,OAAQ,IAAuC,CAAC,gBAAgB,KAAK,UAAU;IAC7E,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,2EAA2E,CAAC,CAAC"}
|
package/dist/types/tools.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { RegisteredTool, ToolDefinition, ToolCallContext, ToolSummary, ToolGroupInfo } from './core.js';
|
|
2
|
-
/**
|
|
3
|
-
* 工具服务接口
|
|
4
|
-
*
|
|
5
|
-
* 管理 AI 可调用的工具的注册、查询、执行。
|
|
6
|
-
* 由 plugin-agent-tools 创建 ToolRegistry 并注册为服务。
|
|
7
|
-
*/
|
|
8
|
-
export interface ToolService {
|
|
9
|
-
register(tool: Omit<RegisteredTool, 'pluginName'>, pluginName: string): () => void;
|
|
10
|
-
/**
|
|
11
|
-
* 获取工具定义列表
|
|
12
|
-
* @param filter 可选过滤条件
|
|
13
|
-
* - groups: 仅返回属于指定分组的工具(无 groups 的工具始终包含)
|
|
14
|
-
*/
|
|
15
|
-
getDefinitions(filter?: {
|
|
16
|
-
groups?: string[];
|
|
17
|
-
}): ToolDefinition[];
|
|
18
|
-
getSummaries(filter?: {
|
|
19
|
-
groups?: string[];
|
|
20
|
-
}): ToolSummary[];
|
|
21
|
-
getAll(): Array<{
|
|
22
|
-
name: string;
|
|
23
|
-
description: string;
|
|
24
|
-
pluginName: string;
|
|
25
|
-
authority?: number;
|
|
26
|
-
safety?: import('./core.js').SafetyLevel;
|
|
27
|
-
permissions?: string[];
|
|
28
|
-
groups?: string[];
|
|
29
|
-
}>;
|
|
30
|
-
execute(toolName: string, args: Record<string, unknown>, callCtx: ToolCallContext): Promise<string>;
|
|
31
|
-
/** 注入执行守卫,用于权限等级与 dangerous 二次确认 */
|
|
32
|
-
setExecutionGuard(guard: import('./core.js').ExecutionGuard): void;
|
|
33
|
-
unregisterByPlugin(pluginName: string): void;
|
|
34
|
-
/** 注册工具分组 */
|
|
35
|
-
registerGroup(group: Omit<ToolGroupInfo, 'pluginName'>, pluginName: string): () => void;
|
|
36
|
-
/** 获取所有已注册的工具分组 */
|
|
37
|
-
getGroups(): ToolGroupInfo[];
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,WAAW,CAAC;AAEnB;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CACN,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EACxC,UAAU,EAAE,MAAM,GACjB,MAAM,IAAI,CAAC;IAEd;;;;OAIG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,cAAc,EAAE,CAAC;IAEjE,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,WAAW,EAAE,CAAC;IAE5D,MAAM,IAAI,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,WAAW,EAAE,WAAW,CAAC;QACzC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC,CAAC;IAEH,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,oCAAoC;IACpC,iBAAiB,CAAC,KAAK,EAAE,OAAO,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnE,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C,aAAa;IACb,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IACxF,mBAAmB;IACnB,SAAS,IAAI,aAAa,EAAE,CAAC;CAC9B"}
|
package/dist/types/tools.js
DELETED
package/dist/types/tools.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,qBAAqB"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage } from './core.js';
|
|
2
|
-
export type TriggerKind = 'immediate' | 'interval' | 'swallow' | 'direct';
|
|
3
|
-
export interface TriggerDecision {
|
|
4
|
-
kind: TriggerKind;
|
|
5
|
-
/** 调试/日志用 */
|
|
6
|
-
reason: string;
|
|
7
|
-
}
|
|
8
|
-
export interface TriggerPolicyService {
|
|
9
|
-
/** 综合决策(含 @/名字检测、间隔/评分判定、私聊直放等) */
|
|
10
|
-
decide(message: IncomingMessage): TriggerDecision;
|
|
11
|
-
/** 当前生效的 bot 名称别名列表(含 persona) */
|
|
12
|
-
getBotNames(): string[];
|
|
13
|
-
/** 检查内容是否含 mute 关键词 */
|
|
14
|
-
detectMuteKeyword(content: string): boolean;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=trigger-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-policy.d.ts","sourceRoot":"","sources":["../../src/types/trigger-policy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC;IAClD,kCAAkC;IAClC,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB,uBAAuB;IACvB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-policy.js","sourceRoot":"","sources":["../../src/types/trigger-policy.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,EAAE;AACF,6CAA6C;AAC7C,kDAAkD"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/** 向量搜索结果条目 */
|
|
2
|
-
export interface VectorSearchResult {
|
|
3
|
-
/** 余弦相似度分数 */
|
|
4
|
-
score: number;
|
|
5
|
-
/** 存储时附带的元数据 */
|
|
6
|
-
metadata: Record<string, unknown>;
|
|
7
|
-
}
|
|
8
|
-
/** 向量数据库服务——由 vectorstore 插件提供 */
|
|
9
|
-
export interface VectorStoreService {
|
|
10
|
-
/** 添加一条向量及其元数据 */
|
|
11
|
-
add(vector: number[], metadata: Record<string, unknown>): Promise<void>;
|
|
12
|
-
/** 搜索最近邻,返回 [分数, 元数据][] */
|
|
13
|
-
search(queryVector: number[], topK: number): Promise<VectorSearchResult[]>;
|
|
14
|
-
/** 当前存储的向量总数 */
|
|
15
|
-
size(): Promise<number>;
|
|
16
|
-
/** 清空所有向量数据 */
|
|
17
|
-
clear(): Promise<void>;
|
|
18
|
-
/** 按 metadata 字段过滤删除(如 { sessionId: 'xxx' }) */
|
|
19
|
-
deleteByFilter?(filter: Record<string, unknown>): Promise<number>;
|
|
20
|
-
/** 持久化(由调用方或 dispose 触发) */
|
|
21
|
-
save(): Promise<void>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=vectorstore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vectorstore.d.ts","sourceRoot":"","sources":["../../src/types/vectorstore.ts"],"names":[],"mappings":"AAEA,eAAe;AACf,MAAM,WAAW,kBAAkB;IACjC,cAAc;IACd,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,kBAAkB;IAClB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,2BAA2B;IAC3B,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC3E,gBAAgB;IAChB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,eAAe;IACf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,gDAAgD;IAChD,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,4BAA4B;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vectorstore.js","sourceRoot":"","sources":["../../src/types/vectorstore.ts"],"names":[],"mappings":"AAAA,wBAAwB"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/** 单条搜索结果 */
|
|
2
|
-
export interface WebSearchResult {
|
|
3
|
-
/** 条目标题 */
|
|
4
|
-
title: string;
|
|
5
|
-
/** 条目 URL */
|
|
6
|
-
url: string;
|
|
7
|
-
/** 摘要/片段(可能为空) */
|
|
8
|
-
snippet?: string;
|
|
9
|
-
/** 来源站点(可选,如 "wikipedia.org") */
|
|
10
|
-
source?: string;
|
|
11
|
-
/** 发布或更新日期(可选,ISO 字符串) */
|
|
12
|
-
publishedAt?: string;
|
|
13
|
-
}
|
|
14
|
-
/** 搜索请求参数 */
|
|
15
|
-
export interface WebSearchRequest {
|
|
16
|
-
/** 搜索关键词 */
|
|
17
|
-
query: string;
|
|
18
|
-
/** 期望返回的结果数(后端决定最大值) */
|
|
19
|
-
numResults?: number;
|
|
20
|
-
/** 语言偏好(如 'zh' / 'en'),后端可忽略 */
|
|
21
|
-
language?: string;
|
|
22
|
-
/** 搜索类型筛选(后端按 capability 声明的支持范围处理) */
|
|
23
|
-
kind?: 'web' | 'news' | 'images';
|
|
24
|
-
}
|
|
25
|
-
/** 搜索响应 */
|
|
26
|
-
export interface WebSearchResponse {
|
|
27
|
-
/** 搜索关键词(回显) */
|
|
28
|
-
query: string;
|
|
29
|
-
/** 结果列表 */
|
|
30
|
-
results: WebSearchResult[];
|
|
31
|
-
/** 后端给出的摘要/答案框(如 Serper 的 answerBox) */
|
|
32
|
-
answer?: string;
|
|
33
|
-
/** 相关问题(若后端支持) */
|
|
34
|
-
relatedQuestions?: string[];
|
|
35
|
-
/** 后端元信息(如耗时、总条数等) */
|
|
36
|
-
raw?: Record<string, unknown>;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 网络搜索服务
|
|
40
|
-
*
|
|
41
|
-
* 实现者需至少提供 `search()`。`describeProvider()` 用于日志/WebUI 展示。
|
|
42
|
-
*/
|
|
43
|
-
export interface WebSearchService {
|
|
44
|
-
/** 执行一次搜索 */
|
|
45
|
-
search(request: WebSearchRequest): Promise<WebSearchResponse>;
|
|
46
|
-
/** 后端标识(供日志/排错用),如 'serper' */
|
|
47
|
-
readonly providerName: string;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* 网络搜索服务能力注册表
|
|
51
|
-
*
|
|
52
|
-
* 第三方插件可通过 declaration merging 追加:
|
|
53
|
-
* ```ts
|
|
54
|
-
* declare module '@aalis/core' {
|
|
55
|
-
* interface WebSearchCapabilityRegistry {
|
|
56
|
-
* Scholar: 'scholar';
|
|
57
|
-
* }
|
|
58
|
-
* }
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
export interface WebSearchCapabilityRegistry {
|
|
62
|
-
/** 支持常规网页搜索(基本能力) */
|
|
63
|
-
Web: 'web';
|
|
64
|
-
/** 支持新闻搜索 */
|
|
65
|
-
News: 'news';
|
|
66
|
-
/** 支持图片搜索 */
|
|
67
|
-
Images: 'images';
|
|
68
|
-
/** 支持对结果进行 LLM 压缩/摘要 */
|
|
69
|
-
Compression: 'compression';
|
|
70
|
-
/** 返回关联问题 */
|
|
71
|
-
RelatedQuestions: 'related-questions';
|
|
72
|
-
}
|
|
73
|
-
/** 网络搜索能力字符串 union(自动包含第三方扩展) */
|
|
74
|
-
export type WebSearchCapability = WebSearchCapabilityRegistry[keyof WebSearchCapabilityRegistry];
|
|
75
|
-
/** 网络搜索内置能力常量 */
|
|
76
|
-
export declare const WebSearchCapabilities: {
|
|
77
|
-
readonly Web: "web";
|
|
78
|
-
readonly News: "news";
|
|
79
|
-
readonly Images: "images";
|
|
80
|
-
readonly Compression: "compression";
|
|
81
|
-
readonly RelatedQuestions: "related-questions";
|
|
82
|
-
};
|
|
83
|
-
declare module './capabilities.js' {
|
|
84
|
-
interface ServiceCapabilityMap {
|
|
85
|
-
'web-search': WebSearchCapability;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=web-search.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../src/types/web-search.ts"],"names":[],"mappings":"AAUA,aAAa;AACb,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;CAClC;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sBAAsB;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9D,+BAA+B;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAID;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qBAAqB;IACrB,GAAG,EAAE,KAAK,CAAC;IACX,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,MAAM,EAAE,QAAQ,CAAC;IACjB,wBAAwB;IACxB,WAAW,EAAE,aAAa,CAAC;IAC3B,aAAa;IACb,gBAAgB,EAAE,mBAAmB,CAAC;CACvC;AAED,iCAAiC;AACjC,MAAM,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,MAAM,2BAA2B,CAAC,CAAC;AAEjG,iBAAiB;AACjB,eAAO,MAAM,qBAAqB;;;;;;CAMc,CAAC;AAEjD,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,oBAAoB;QAC5B,YAAY,EAAE,mBAAmB,CAAC;KACnC;CACF"}
|
package/dist/types/web-search.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// ----- 网络搜索服务接口 -----
|
|
2
|
-
//
|
|
3
|
-
// 由 plugin-websearch-serper 等插件实现。Agent 或其他插件可通过
|
|
4
|
-
// `ctx.getService<WebSearchService>('web-search')` 获得该服务来执行搜索,
|
|
5
|
-
// 而无需关心具体后端(Serper / DuckDuckGo / Bing 等)。
|
|
6
|
-
//
|
|
7
|
-
// 多个搜索后端可同时注册,框架按 priority 选择默认实现;
|
|
8
|
-
// 若需指定特定后端(如只使用带新闻能力的后端),可通过 capability 过滤:
|
|
9
|
-
// `ctx.getService<WebSearchService>('web-search', ['news'])`
|
|
10
|
-
/** 网络搜索内置能力常量 */
|
|
11
|
-
export const WebSearchCapabilities = {
|
|
12
|
-
Web: 'web',
|
|
13
|
-
News: 'news',
|
|
14
|
-
Images: 'images',
|
|
15
|
-
Compression: 'compression',
|
|
16
|
-
RelatedQuestions: 'related-questions',
|
|
17
|
-
};
|
|
18
|
-
import { registerCapabilityProbe } from './capabilities.js';
|
|
19
|
-
registerCapabilityProbe('web-search', WebSearchCapabilities.Web, inst => typeof inst.search === 'function'
|
|
20
|
-
? true
|
|
21
|
-
: 'WebSearchService.search() is required for capability "web"');
|
|
22
|
-
// News / Images / Compression / RelatedQuestions 均由请求参数/实现内决定,不做方法探测。
|
|
23
|
-
//# sourceMappingURL=web-search.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../src/types/web-search.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,EAAE;AACF,iDAAiD;AACjD,+DAA+D;AAC/D,2CAA2C;AAC3C,EAAE;AACF,mCAAmC;AACnC,4CAA4C;AAC5C,+DAA+D;AAoF/D,iBAAiB;AACjB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,mBAAmB;CACS,CAAC;AAQjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,uBAAuB,CAAC,YAAY,EAAE,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CACtE,OAAQ,IAA6B,CAAC,MAAM,KAAK,UAAU;IACzD,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,4DAA4D,CAAC,CAAC;AAEpE,sEAAsE"}
|