@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/commands.d.ts
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import type { CommandDefinition, RegisteredCommand, CommandContext, SubcommandDefinition, ExecutionGuard, SafetyLevel, CommandArgumentDefinition, CommandOptionDefinition } from './core.js';
|
|
2
|
-
/**
|
|
3
|
-
* 指令树节点的扁平化视图(用于 WebUI 渲染、help 输出等)。
|
|
4
|
-
*
|
|
5
|
-
* 每个根指令及其所有递归后代都会产出一条记录,path 表示完整路径,
|
|
6
|
-
* key = path.join(':') 同时也是 override 的查找键。
|
|
7
|
-
*/
|
|
8
|
-
export interface CommandNodeInfo {
|
|
9
|
-
/** 完整路径,如 ['clear', 'all'] */
|
|
10
|
-
path: string[];
|
|
11
|
-
/** override 键 = path.join(':'),如 'clear:all' */
|
|
12
|
-
key: string;
|
|
13
|
-
/** 节点自身的名字(path 末段) */
|
|
14
|
-
name: string;
|
|
15
|
-
/** 嵌套深度,根为 0 */
|
|
16
|
-
depth: number;
|
|
17
|
-
/** 描述 */
|
|
18
|
-
description: string;
|
|
19
|
-
/** 有效权限等级(已应用 override + 父节点继承) */
|
|
20
|
-
authority: number;
|
|
21
|
-
/** 有效安全级别 */
|
|
22
|
-
safety: SafetyLevel;
|
|
23
|
-
/** 细粒度权限标识(含默认 command:<path> 与声明值) */
|
|
24
|
-
permissions: string[];
|
|
25
|
-
/** 节点本身声明的 authority;缺省时与父继承值相同 */
|
|
26
|
-
baseAuthority: number;
|
|
27
|
-
/** 节点本身声明的 safety;缺省时与父继承值相同 */
|
|
28
|
-
baseSafety: SafetyLevel;
|
|
29
|
-
/** 节点自身声明的权限标识(不含默认 command:<path>) */
|
|
30
|
-
basePermissions: string[];
|
|
31
|
-
/** 当前键是否存在 override 配置 */
|
|
32
|
-
overridden: boolean;
|
|
33
|
-
/** 是否为根指令 */
|
|
34
|
-
isRoot: boolean;
|
|
35
|
-
/** 是否含有子指令 */
|
|
36
|
-
hasSubcommands: boolean;
|
|
37
|
-
/** 是否提供了 action(无 action 的纯分组节点调用时返回 usage) */
|
|
38
|
-
hasAction: boolean;
|
|
39
|
-
/** 注册此根指令的插件名(同根的所有后代共用) */
|
|
40
|
-
pluginName: string;
|
|
41
|
-
/** 位置参数声明 */
|
|
42
|
-
arguments?: CommandArgumentDefinition[];
|
|
43
|
-
/** 选项声明 */
|
|
44
|
-
options?: CommandOptionDefinition[];
|
|
45
|
-
/** 自定义用法文本 */
|
|
46
|
-
usage?: string;
|
|
47
|
-
/** 示例 */
|
|
48
|
-
examples?: string[];
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* 指令服务接口
|
|
52
|
-
*
|
|
53
|
-
* 管理用户可调用的斜杠指令的注册、解析、执行。
|
|
54
|
-
* 由 plugin-commands 创建 CommandRegistry 并注册为服务。
|
|
55
|
-
*/
|
|
56
|
-
export interface CommandService {
|
|
57
|
-
/** 指令前缀 */
|
|
58
|
-
prefix: string;
|
|
59
|
-
register(command: CommandDefinition, pluginName: string): () => void;
|
|
60
|
-
unregisterByPlugin(pluginName: string): void;
|
|
61
|
-
execute(name: string, ctx: CommandContext): Promise<string | undefined>;
|
|
62
|
-
parseCommand(input: string): {
|
|
63
|
-
name: string;
|
|
64
|
-
args: string[];
|
|
65
|
-
raw: string;
|
|
66
|
-
} | null;
|
|
67
|
-
has(name: string): boolean;
|
|
68
|
-
get(name: string): RegisteredCommand | undefined;
|
|
69
|
-
/** 仅返回根指令;保持向后兼容(如 Dashboard chip) */
|
|
70
|
-
getAll(): RegisteredCommand[];
|
|
71
|
-
/**
|
|
72
|
-
* 返回所有节点的扁平化视图(含递归子指令),按深度优先顺序。
|
|
73
|
-
* 主要供权限管理 UI、help、调试使用。
|
|
74
|
-
*/
|
|
75
|
-
getAllNodes(): CommandNodeInfo[];
|
|
76
|
-
/**
|
|
77
|
-
* 根据路径解析具体节点,返回扁平视图。未命中返回 undefined。
|
|
78
|
-
* 路径示例:'clear' 或 'clear:all' 或 ['clear','all']。
|
|
79
|
-
*/
|
|
80
|
-
getNode(path: string | string[]): CommandNodeInfo | undefined;
|
|
81
|
-
loadOverrides(overrides: Record<string, {
|
|
82
|
-
authority?: number;
|
|
83
|
-
safety?: string;
|
|
84
|
-
}>): void;
|
|
85
|
-
setOverride(name: string, override: {
|
|
86
|
-
authority?: number;
|
|
87
|
-
safety?: string;
|
|
88
|
-
}): void;
|
|
89
|
-
removeOverride(name: string): void;
|
|
90
|
-
getOverrides(): Record<string, {
|
|
91
|
-
authority?: number;
|
|
92
|
-
safety?: string;
|
|
93
|
-
}>;
|
|
94
|
-
/** 设置执行守卫(由权限插件注入) */
|
|
95
|
-
setExecutionGuard(guard: ExecutionGuard): void;
|
|
96
|
-
}
|
|
97
|
-
export type { SubcommandDefinition };
|
|
98
|
-
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/types/commands.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA,qBAAqB"}
|
package/dist/types/core.d.ts
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
export interface ServiceDependency {
|
|
2
|
-
service: string;
|
|
3
|
-
}
|
|
4
|
-
export type DependencyDeclaration = string | ServiceDependency;
|
|
5
|
-
export interface InjectDeclaration {
|
|
6
|
-
required?: DependencyDeclaration[];
|
|
7
|
-
optional?: DependencyDeclaration[];
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Schema 字段类型注册表 —— declaration merging 扩展点。
|
|
11
|
-
*
|
|
12
|
-
* core 只内置环境无关的基础类型;带业务/宿主语义的类型由对应 api 包合并声明
|
|
13
|
-
* (如 `'llm-ref'` 由 @aalis/plugin-llm-api 注入)。key 即类型名,value 恒为 true。
|
|
14
|
-
*
|
|
15
|
-
* ```ts
|
|
16
|
-
* declare module '@aalis/core' {
|
|
17
|
-
* interface SchemaFieldTypes {
|
|
18
|
-
* 'llm-ref': true;
|
|
19
|
-
* }
|
|
20
|
-
* }
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export interface SchemaFieldTypes {
|
|
24
|
-
string: true;
|
|
25
|
-
number: true;
|
|
26
|
-
boolean: true;
|
|
27
|
-
select: true;
|
|
28
|
-
multiselect: true;
|
|
29
|
-
textarea: true;
|
|
30
|
-
}
|
|
31
|
-
export type SchemaFieldType = keyof SchemaFieldTypes & string;
|
|
32
|
-
/**
|
|
33
|
-
* 单个配置字段。
|
|
34
|
-
*
|
|
35
|
-
* core 只声明任意宿主都需要的中立字段;渲染/交互相关的扩展属性
|
|
36
|
-
* (如 `secret` / `dynamicOptions` / `allowCustom`)由消费它们的宿主 api 包
|
|
37
|
-
* (@aalis/plugin-webui-api)通过 declaration merging 注入——core 不感知
|
|
38
|
-
* 任何具体宿主的表单语义。
|
|
39
|
-
*/
|
|
40
|
-
export interface SchemaField {
|
|
41
|
-
type: SchemaFieldType;
|
|
42
|
-
label: string;
|
|
43
|
-
description?: string;
|
|
44
|
-
default?: unknown;
|
|
45
|
-
required?: boolean;
|
|
46
|
-
/** select / multiselect 类型的静态选项 */
|
|
47
|
-
options?: Array<{
|
|
48
|
-
label: string;
|
|
49
|
-
value: string | number;
|
|
50
|
-
}>;
|
|
51
|
-
}
|
|
52
|
-
export interface SchemaGroup {
|
|
53
|
-
label?: string;
|
|
54
|
-
description?: string;
|
|
55
|
-
fields: Record<string, SchemaField>;
|
|
56
|
-
}
|
|
57
|
-
/** 数组 Schema:对象数组,每个元素用 items 描述其字段结构 */
|
|
58
|
-
export interface SchemaArray {
|
|
59
|
-
type: 'array';
|
|
60
|
-
label: string;
|
|
61
|
-
description?: string;
|
|
62
|
-
/** 数组每个元素的字段定义 */
|
|
63
|
-
items: Record<string, SchemaField>;
|
|
64
|
-
default?: unknown[];
|
|
65
|
-
}
|
|
66
|
-
/** 配置 Schema:顶层 key 可以是字段、分组或数组 */
|
|
67
|
-
export type ConfigSchema = Record<string, SchemaField | SchemaGroup | SchemaArray>;
|
|
68
|
-
/**
|
|
69
|
-
* 内置事件表
|
|
70
|
-
*
|
|
71
|
-
* 第三方插件可通过 TypeScript declaration merging 扩展:
|
|
72
|
-
* ```ts
|
|
73
|
-
* declare module '@aalis/core' {
|
|
74
|
-
* interface AalisEvents {
|
|
75
|
-
* 'scheduler:tick': [jobId: string];
|
|
76
|
-
* }
|
|
77
|
-
* }
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
export interface AalisEvents {
|
|
81
|
-
'service:registered': [name: string];
|
|
82
|
-
'service:unregistered': [name: string];
|
|
83
|
-
/**
|
|
84
|
-
* 某服务的偏好 provider 发生切换(preferService / unpreferService)。
|
|
85
|
-
* 偏好切换会改变 getService(name) 的胜者但不改变 entry 集合,
|
|
86
|
-
* 因此不能复用 registered/unregistered 语义;whenService 借此事件跟随重挂。
|
|
87
|
-
*/
|
|
88
|
-
'service:preference-changed': [name: string];
|
|
89
|
-
'plugin:loaded': [name: string];
|
|
90
|
-
'plugin:unloaded': [name: string];
|
|
91
|
-
'plugins:changed': [];
|
|
92
|
-
ready: [];
|
|
93
|
-
/** 应用已启动完成,适合 CLI / TUI 等用户交互入口接管终端 */
|
|
94
|
-
'app:started': [];
|
|
95
|
-
restarting: [];
|
|
96
|
-
/** 应用正在启动(start() 开头,在服务检查和消息路由注册之前) */
|
|
97
|
-
'app:starting': [];
|
|
98
|
-
/**
|
|
99
|
-
* 应用正在停止(stop() 开头,在插件拓扑逆序 dispose 之前)。
|
|
100
|
-
*
|
|
101
|
-
* ⚠. 插件内部清理副作用(关连接、停计时器、flush 缓冲区等)请用
|
|
102
|
-
* `ctx.onDispose(cb)` 而不是订阅任何事件。事件只在 app 全局停机
|
|
103
|
-
* 时触发一次,**不会**在插件 bounce / unload / updatePluginConfig 等
|
|
104
|
-
* 增量重载路径上触发——会造成资源泄漏(旧 ws/db 连接未关闭等)。
|
|
105
|
-
*/
|
|
106
|
-
'app:stopping': [];
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* 中间件 next 函数,调用它将控制传递给下一个中间件或默认行为
|
|
110
|
-
*/
|
|
111
|
-
export type MiddlewareNext = () => Promise<void>;
|
|
112
|
-
/**
|
|
113
|
-
* 中间件函数签名:接收数据和 next,可选择修改数据或中断流程
|
|
114
|
-
*/
|
|
115
|
-
export type MiddlewareFn<T> = (data: T, next: MiddlewareNext) => Promise<void>;
|
|
116
|
-
//# sourceMappingURL=core.d.ts.map
|
package/dist/types/core.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAID;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,IAAI,CAAC;IACb,WAAW,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;AAInF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW;IAK1B,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC;;;;OAIG;IACH,4BAA4B,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,EAAE,CAAC;IACtB,KAAK,EAAE,EAAE,CAAC;IACV,uCAAuC;IACvC,aAAa,EAAE,EAAE,CAAC;IAClB,UAAU,EAAE,EAAE,CAAC;IACf,wCAAwC;IACxC,cAAc,EAAE,EAAE,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,EAAE,EAAE,CAAC;CACpB;AAID;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/types/core.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// ===== 核心机制类型 =====
|
|
2
|
-
export {};
|
|
3
|
-
// 注:指令系统类型(CommandContext / CommandValueType / CommandArgumentDefinition /
|
|
4
|
-
// CommandOptionDefinition / CommandDefinition / SubcommandDefinition / RegisteredCommand)
|
|
5
|
-
// 已迁出到 @aalis/plugin-commands-api(cleanup-6)
|
|
6
|
-
//# sourceMappingURL=core.js.map
|
package/dist/types/core.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA,qBAAqB;;AAmJrB,2EAA2E;AAC3E,0FAA0F;AAC1F,6CAA6C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/types/embedding.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,cAAc;IACd,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,uBAAuB;IACvB,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAClC"}
|
package/dist/types/embedding.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/types/embedding.ts"],"names":[],"mappings":"AAAA,6BAA6B"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/** 单会话的流控状态快照(只读视图,便于 trigger-policy 计算) */
|
|
2
|
-
export interface FlowSessionStateSnapshot {
|
|
3
|
-
messageCount: number;
|
|
4
|
-
activityScore: number;
|
|
5
|
-
lastReplyTime: number;
|
|
6
|
-
lastMessageTime: number;
|
|
7
|
-
cooldownUntil: number;
|
|
8
|
-
mutedUntil: number;
|
|
9
|
-
idleBackoff: number;
|
|
10
|
-
/** 当前限速窗口内已使用的回复槽 */
|
|
11
|
-
rateLimitUsed: number;
|
|
12
|
-
/** 限速窗口最大可回复次数(0 表示未启用限速) */
|
|
13
|
-
rateLimitMax: number;
|
|
14
|
-
/** 间隔触发使用的固定间隔阈值(供 trigger-policy 复用同一参数) */
|
|
15
|
-
fixedInterval: number;
|
|
16
|
-
/** 用户交互次数表(userId → count) */
|
|
17
|
-
userInteractions: ReadonlyMap<string, {
|
|
18
|
-
count: number;
|
|
19
|
-
lastTime: number;
|
|
20
|
-
}>;
|
|
21
|
-
}
|
|
22
|
-
export interface FlowControlService {
|
|
23
|
-
/** 获取或创建 session 状态(首次访问会初始化) */
|
|
24
|
-
ensureState(sessionId: string, platform: string): void;
|
|
25
|
-
/** 只读快照(trigger-policy 用) */
|
|
26
|
-
getStateSnapshot(sessionId: string): FlowSessionStateSnapshot | undefined;
|
|
27
|
-
/** 入站消息累加(messageCount, activityScore, lastMessageTime, userInteractions, 应用衰减) */
|
|
28
|
-
recordIncoming(sessionId: string, platform: string, userId?: string): void;
|
|
29
|
-
/** 触发后重置(messageCount=0, activityScore=0, lastReplyTime=now, idleBackoff=1) */
|
|
30
|
-
recordTriggered(sessionId: string): void;
|
|
31
|
-
/** 出站消息后处理:设置冷却 + 限速窗口记录 + 重置退避 + 重排 idle 调度 */
|
|
32
|
-
recordReply(sessionId: string, platform: string): void;
|
|
33
|
-
/** 当前是否在冷却 */
|
|
34
|
-
isCoolingDown(sessionId: string): boolean;
|
|
35
|
-
/** 当前是否在禁言 */
|
|
36
|
-
isMuted(sessionId: string): boolean;
|
|
37
|
-
/** 限速检查(返回 true 表示已超限) */
|
|
38
|
-
isRateLimited(sessionId: string): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* 设置自禁言(平台 mute 事件或关键词命中时调用)。
|
|
41
|
-
* - durationSec > 0:mutedUntil = now + durationSec*1000
|
|
42
|
-
* - durationSec <= 0:解除禁言(mutedUntil = 0)
|
|
43
|
-
* 若状态未初始化但提供 platform,会自动创建。
|
|
44
|
-
*/
|
|
45
|
-
setMuted(sessionId: string, durationSec: number, platform?: string): void;
|
|
46
|
-
/** 计算当前阈值(动态衰减) */
|
|
47
|
-
getThreshold(sessionId: string): number;
|
|
48
|
-
/** 重新调度本会话的 idle trigger(在每次入站后调用) */
|
|
49
|
-
rescheduleIdle(sessionId: string, platform: string): void;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=flow-control.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flow-control.d.ts","sourceRoot":"","sources":["../../src/types/flow-control.ts"],"names":[],"mappings":"AAWA,4CAA4C;AAC5C,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,6BAA6B;IAC7B,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAAC;IAE1E,mFAAmF;IACnF,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3E,+EAA+E;IAC/E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gDAAgD;IAChD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvD,cAAc;IACd,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1C,cAAc;IACd,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,0BAA0B;IAC1B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,mBAAmB;IACnB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAExC,sCAAsC;IACtC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3D"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// ----- Flow Control 服务接口 -----
|
|
2
|
-
//
|
|
3
|
-
// FlowControlService 负责管理每会话的"流控状态":
|
|
4
|
-
// - 计数器/活跃指数(间隔触发依据)
|
|
5
|
-
// - 冷却/禁言时段
|
|
6
|
-
// - 限速窗口(防 DDoS)
|
|
7
|
-
// - 闲置触发调度
|
|
8
|
-
//
|
|
9
|
-
// 状态由 plugin-flow-control 持有;trigger-policy 通过本服务读取/更新。
|
|
10
|
-
// 平台适配器(如 OneBot)可调用 setMuted() 上报平台层面的禁言事件。
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=flow-control.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flow-control.js","sourceRoot":"","sources":["../../src/types/flow-control.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,EAAE;AACF,qCAAqC;AACrC,uBAAuB;AACvB,cAAc;AACd,mBAAmB;AACnB,aAAa;AACb,EAAE;AACF,wDAAwD;AACxD,6CAA6C"}
|
package/dist/types/gateway.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, OutgoingMessage } from './core.js';
|
|
2
|
-
/**
|
|
3
|
-
* Gateway 服务 —— 消息流编排中枢
|
|
4
|
-
*
|
|
5
|
-
* 默认实现由 `@aalis/plugin-gateway` 提供。
|
|
6
|
-
* 业务层不应再直接 `emit('outbound:message')`,而应调用 `dispatchOutbound()`,
|
|
7
|
-
* 以便所有出站消息都经过 outbound:dispatch 钩子链(脱敏、限速、审计等)。
|
|
8
|
-
*/
|
|
9
|
-
export interface GatewayService {
|
|
10
|
-
/**
|
|
11
|
-
* 主动注入一条入站消息(用于 idle-trigger、webui 直发、内部自检等)。
|
|
12
|
-
* 与直接 `emit('inbound:message')` 等价 —— 都会走 gateway 入站相位链。
|
|
13
|
-
*/
|
|
14
|
-
ingressMessage(message: IncomingMessage): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* 派发一条出站消息。
|
|
17
|
-
*
|
|
18
|
-
* 替代 `ctx.emit('outbound:message', msg)` —— 后者将逐步迁移:
|
|
19
|
-
* - 平台适配器仍可监听 `outbound:message` 接收最终发送指令;
|
|
20
|
-
* - 发出方应改用本接口,以经过 `outbound:dispatch` 钩子链。
|
|
21
|
-
*/
|
|
22
|
-
dispatchOutbound(message: OutgoingMessage): Promise<void>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/types/gateway.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D"}
|
package/dist/types/gateway.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// ----- Gateway 服务接口 -----
|
|
2
|
-
//
|
|
3
|
-
// Gateway 是 Aalis 的运行时编排中枢:
|
|
4
|
-
// - 入站:监听 `inbound:message`,按 INBOUND_PHASE_ORDER 顺序运行
|
|
5
|
-
// inbound:command → inbound:flow → inbound:trigger → inbound:dispatch
|
|
6
|
-
// 四个命名相位,dispatch 的默认动作是调用 agent.handleMessage。
|
|
7
|
-
// 前三相位任一被 swallow(handler 不调用 next)即停止后续调度。
|
|
8
|
-
// - 出站:提供 `dispatchOutbound()` 接口,运行 `outbound:dispatch` 钩子链,
|
|
9
|
-
// 默认动作是向 `outbound:message` 事件总线广播,平台插件接收并发送。
|
|
10
|
-
//
|
|
11
|
-
// core 不再绑定具体的路由实现,gateway 服务由 plugin-gateway 提供。
|
|
12
|
-
// 完整发行入口可通过 `requiredServices` 声明 gateway 依赖;最小应用可不加载 gateway,
|
|
13
|
-
// 由 core fallback 入站路由直接派发给 agent。
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=gateway.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/types/gateway.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,EAAE;AACF,4BAA4B;AAC5B,yDAAyD;AACzD,gFAAgF;AAChF,0DAA0D;AAC1D,sDAAsD;AACtD,gEAAgE;AAChE,wDAAwD;AACxD,EAAE;AACF,kDAAkD;AAClD,+DAA+D;AAC/D,mCAAmC"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage } from './core.js';
|
|
2
|
-
/** 图像识别处理消息的输入 */
|
|
3
|
-
export interface ImageRecognitionInput {
|
|
4
|
-
/** 文本内容 */
|
|
5
|
-
content: string;
|
|
6
|
-
/** 图片列表(URL / data URI / 本地路径) */
|
|
7
|
-
images: string[];
|
|
8
|
-
/** 可选:当前消息、引用消息或最近上下文,用于指导图片识别重点 */
|
|
9
|
-
context?: string;
|
|
10
|
-
/** 可选:附件出现顺序,用于在 transformedContent 中保留图文混排 */
|
|
11
|
-
attachmentOrder?: Array<'image' | 'file'>;
|
|
12
|
-
}
|
|
13
|
-
/** 图像识别上下文构造选项 */
|
|
14
|
-
export interface ImageRecognitionContextOptions {
|
|
15
|
-
/** 最近前文条数,默认由实现决定 */
|
|
16
|
-
beforeLimit?: number;
|
|
17
|
-
}
|
|
18
|
-
/** 图像识别处理消息的结果 */
|
|
19
|
-
export interface ImageRecognitionResult {
|
|
20
|
-
/** 原始 content(便于下游比对) */
|
|
21
|
-
content: string;
|
|
22
|
-
/** 各图片对应的描述 */
|
|
23
|
-
imageDescriptions?: string[];
|
|
24
|
-
/** 处理信息(用于日志/归档) */
|
|
25
|
-
info: {
|
|
26
|
-
imageCount: number;
|
|
27
|
-
successCount: number;
|
|
28
|
-
descriptions: string[];
|
|
29
|
-
/** 替换掉图片占位后的文本(如 "[图片: xxx描述]" 形式) */
|
|
30
|
-
transformedContent: string;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* 图像识别服务
|
|
35
|
-
*
|
|
36
|
-
* 内置能力(`ImageRecognitionCapabilityRegistry`):
|
|
37
|
-
* - `describe`: 单张图片描述
|
|
38
|
-
* - `process-message`: 整条消息批处理(图文混排)
|
|
39
|
-
* - `build-context`: 为图片识别构造上下文
|
|
40
|
-
* - `animated`: 支持 GIF/视频帧提取与综合描述
|
|
41
|
-
*
|
|
42
|
-
* 第三方可扩展能力:
|
|
43
|
-
* ```ts
|
|
44
|
-
* declare module '@aalis/core' {
|
|
45
|
-
* interface ImageRecognitionCapabilityRegistry {
|
|
46
|
-
* Ocr: 'ocr';
|
|
47
|
-
* ObjectDetection: 'object_detection';
|
|
48
|
-
* }
|
|
49
|
-
* }
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
export interface ImageRecognitionService {
|
|
53
|
-
/** 当前是否可用(如 LLM 尚未就绪时为 false) */
|
|
54
|
-
readonly available: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* 当前是否处于「本插件主动识别」模式
|
|
57
|
-
*
|
|
58
|
-
* - true:识别后把图片替换为文字描述交给主 Agent
|
|
59
|
-
* - false:直接把图片原样透传给主 Agent(要求主模型具备 vision 能力)
|
|
60
|
-
*/
|
|
61
|
-
readonly enabled: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* 描述单张图片,返回文字描述。失败/不可用时返回空串。
|
|
64
|
-
* @param imageUrl 图片 URL 或 data URI
|
|
65
|
-
* @param localRefPath 可选的本地缓存文件路径(用于动图帧提取等)
|
|
66
|
-
*/
|
|
67
|
-
describe(imageUrl: string, localRefPath?: string): Promise<string>;
|
|
68
|
-
/**
|
|
69
|
-
* 对整条含图消息做批处理:识别所有图片并返回处理结果。
|
|
70
|
-
* 不可用或 images 为空时返回 null。
|
|
71
|
-
*/
|
|
72
|
-
processMessage(input: ImageRecognitionInput): Promise<ImageRecognitionResult | null>;
|
|
73
|
-
/**
|
|
74
|
-
* 为含图消息构造视觉识别上下文。
|
|
75
|
-
* 实现应把上下文作为识别线索,而不是覆盖图片事实的强约束。
|
|
76
|
-
*/
|
|
77
|
-
buildContext?(message: IncomingMessage, options?: ImageRecognitionContextOptions): Promise<string>;
|
|
78
|
-
/**
|
|
79
|
-
* 查询已缓存的图片描述(不会触发识别)。未命中返回 null。
|
|
80
|
-
* 用于引用回复等场景:同一张图片在主消息流程中被识别过后,可以免费复用。
|
|
81
|
-
*/
|
|
82
|
-
lookupDescription?(imageUrl: string): string | null;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 图像识别服务能力注册表
|
|
86
|
-
*
|
|
87
|
-
* 第三方可通过 declaration merging 追加:
|
|
88
|
-
* ```ts
|
|
89
|
-
* declare module '@aalis/core' {
|
|
90
|
-
* interface ImageRecognitionCapabilityRegistry {
|
|
91
|
-
* Ocr: 'ocr';
|
|
92
|
-
* }
|
|
93
|
-
* }
|
|
94
|
-
* ```
|
|
95
|
-
*/
|
|
96
|
-
export interface ImageRecognitionCapabilityRegistry {
|
|
97
|
-
/** 单图描述 */
|
|
98
|
-
Describe: 'describe';
|
|
99
|
-
/** 批处理整条消息(含图文混排) */
|
|
100
|
-
ProcessMessage: 'process-message';
|
|
101
|
-
/** 构造图片识别上下文 */
|
|
102
|
-
BuildContext: 'build-context';
|
|
103
|
-
/** 支持动图/视频帧提取 */
|
|
104
|
-
Animated: 'animated';
|
|
105
|
-
/** 描述缓存查询 */
|
|
106
|
-
DescriptionCache: 'description-cache';
|
|
107
|
-
}
|
|
108
|
-
/** 图像识别能力字符串 union(自动包含第三方扩展) */
|
|
109
|
-
export type ImageRecognitionCapability = ImageRecognitionCapabilityRegistry[keyof ImageRecognitionCapabilityRegistry];
|
|
110
|
-
/** 图像识别内置能力常量 */
|
|
111
|
-
export declare const ImageRecognitionCapabilities: {
|
|
112
|
-
readonly Describe: "describe";
|
|
113
|
-
readonly ProcessMessage: "process-message";
|
|
114
|
-
readonly BuildContext: "build-context";
|
|
115
|
-
readonly Animated: "animated";
|
|
116
|
-
readonly DescriptionCache: "description-cache";
|
|
117
|
-
};
|
|
118
|
-
declare module './capabilities.js' {
|
|
119
|
-
interface ServiceCapabilityMap {
|
|
120
|
-
'image-recognition': ImageRecognitionCapability;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=image-recognition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-recognition.d.ts","sourceRoot":"","sources":["../../src/types/image-recognition.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,kBAAkB;AAClB,MAAM,WAAW,qBAAqB;IACpC,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;CAC3C;AAED,kBAAkB;AAClB,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kBAAkB;AAClB,MAAM,WAAW,sBAAsB;IACrC,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB;IACpB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,sCAAsC;QACtC,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnE;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAErF;;;OAGG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnG;;;OAGG;IACH,iBAAiB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACrD;AAID;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kCAAkC;IACjD,WAAW;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,qBAAqB;IACrB,cAAc,EAAE,iBAAiB,CAAC;IAClC,gBAAgB;IAChB,YAAY,EAAE,eAAe,CAAC;IAC9B,iBAAiB;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa;IACb,gBAAgB,EAAE,mBAAmB,CAAC;CACvC;AAED,iCAAiC;AACjC,MAAM,MAAM,0BAA0B,GAAG,kCAAkC,CAAC,MAAM,kCAAkC,CAAC,CAAC;AAEtH,iBAAiB;AACjB,eAAO,MAAM,4BAA4B;;;;;;CAMc,CAAC;AAExD,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,oBAAoB;QAC5B,mBAAmB,EAAE,0BAA0B,CAAC;KACjD;CACF"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// ----- 图像识别服务接口 -----
|
|
2
|
-
//
|
|
3
|
-
// 由 plugin-image-recognition 等插件实现。其他插件(如 plugin-message-archive、
|
|
4
|
-
// plugin-memory-summary)通过 `ctx.getService<ImageRecognitionService>('image-recognition')`
|
|
5
|
-
// 消费该服务,无需依赖具体实现。
|
|
6
|
-
//
|
|
7
|
-
// 第三方若要实现替代方案(如调用专用视觉 API),只需满足本接口即可。
|
|
8
|
-
/** 图像识别内置能力常量 */
|
|
9
|
-
export const ImageRecognitionCapabilities = {
|
|
10
|
-
Describe: 'describe',
|
|
11
|
-
ProcessMessage: 'process-message',
|
|
12
|
-
BuildContext: 'build-context',
|
|
13
|
-
Animated: 'animated',
|
|
14
|
-
DescriptionCache: 'description-cache',
|
|
15
|
-
};
|
|
16
|
-
// 注册能力↔方法探测器
|
|
17
|
-
import { registerCapabilityProbe } from './capabilities.js';
|
|
18
|
-
registerCapabilityProbe('image-recognition', ImageRecognitionCapabilities.Describe, inst => typeof inst.describe === 'function'
|
|
19
|
-
? true
|
|
20
|
-
: 'ImageRecognitionService.describe() is required for capability "describe"');
|
|
21
|
-
registerCapabilityProbe('image-recognition', ImageRecognitionCapabilities.ProcessMessage, inst => typeof inst.processMessage === 'function'
|
|
22
|
-
? true
|
|
23
|
-
: 'ImageRecognitionService.processMessage() is required for capability "process-message"');
|
|
24
|
-
registerCapabilityProbe('image-recognition', ImageRecognitionCapabilities.BuildContext, inst => typeof inst.buildContext === 'function'
|
|
25
|
-
? true
|
|
26
|
-
: 'ImageRecognitionService.buildContext() is required for capability "build-context"');
|
|
27
|
-
registerCapabilityProbe('image-recognition', ImageRecognitionCapabilities.DescriptionCache, inst => typeof inst.lookupDescription === 'function'
|
|
28
|
-
? true
|
|
29
|
-
: 'ImageRecognitionService.lookupDescription() is required for capability "description-cache"');
|
|
30
|
-
// Animated 为配置/运行时开关,无固定方法签名,不做探测。
|
|
31
|
-
//# sourceMappingURL=image-recognition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-recognition.js","sourceRoot":"","sources":["../../src/types/image-recognition.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,EAAE;AACF,kEAAkE;AAClE,0FAA0F;AAC1F,kBAAkB;AAClB,EAAE;AACF,sCAAsC;AA4HtC,iBAAiB;AACjB,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,iBAAiB;IACjC,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,mBAAmB;CACgB,CAAC;AAQxD,aAAa;AACb,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,uBAAuB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CACzF,OAAQ,IAA+B,CAAC,QAAQ,KAAK,UAAU;IAC7D,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,0EAA0E,CAAC,CAAC;AAElF,uBAAuB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAC/F,OAAQ,IAAqC,CAAC,cAAc,KAAK,UAAU;IACzE,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,uFAAuF,CAAC,CAAC;AAE/F,uBAAuB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAC7F,OAAQ,IAAmC,CAAC,YAAY,KAAK,UAAU;IACrE,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,mFAAmF,CAAC,CAAC;AAE3F,uBAAuB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CACjG,OAAQ,IAAwC,CAAC,iBAAiB,KAAK,UAAU;IAC/E,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,4FAA4F,CAAC,CAAC;AAEpG,mCAAmC"}
|