@aalis/core 0.7.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.
Files changed (212) hide show
  1. package/dist/app.d.ts +16 -13
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +20 -45
  4. package/dist/app.js.map +1 -1
  5. package/dist/config.d.ts +2 -25
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +2 -96
  8. package/dist/config.js.map +1 -1
  9. package/dist/context.d.ts +105 -34
  10. package/dist/context.d.ts.map +1 -1
  11. package/dist/context.js +185 -43
  12. package/dist/context.js.map +1 -1
  13. package/dist/contributions.d.ts +75 -0
  14. package/dist/contributions.d.ts.map +1 -0
  15. package/dist/contributions.js +83 -0
  16. package/dist/contributions.js.map +1 -0
  17. package/dist/disposable-chain.d.ts +47 -6
  18. package/dist/disposable-chain.d.ts.map +1 -1
  19. package/dist/disposable-chain.js +92 -12
  20. package/dist/disposable-chain.js.map +1 -1
  21. package/dist/events.d.ts +1 -9
  22. package/dist/events.d.ts.map +1 -1
  23. package/dist/events.js +1 -23
  24. package/dist/events.js.map +1 -1
  25. package/dist/hooks.d.ts +7 -22
  26. package/dist/hooks.d.ts.map +1 -1
  27. package/dist/hooks.js +6 -2
  28. package/dist/hooks.js.map +1 -1
  29. package/dist/index.d.ts +6 -5
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +5 -4
  32. package/dist/index.js.map +1 -1
  33. package/dist/plugin-activation.d.ts +2 -0
  34. package/dist/plugin-activation.d.ts.map +1 -1
  35. package/dist/plugin-activation.js +9 -5
  36. package/dist/plugin-activation.js.map +1 -1
  37. package/dist/plugin-topology.d.ts +6 -2
  38. package/dist/plugin-topology.d.ts.map +1 -1
  39. package/dist/plugin-topology.js +6 -4
  40. package/dist/plugin-topology.js.map +1 -1
  41. package/dist/plugin.d.ts +20 -14
  42. package/dist/plugin.d.ts.map +1 -1
  43. package/dist/plugin.js +53 -72
  44. package/dist/plugin.js.map +1 -1
  45. package/dist/{service-helpers.d.ts → services-helpers.d.ts} +2 -2
  46. package/dist/services-helpers.d.ts.map +1 -0
  47. package/dist/{service-helpers.js → services-helpers.js} +2 -2
  48. package/dist/{service-helpers.js.map → services-helpers.js.map} +1 -1
  49. package/dist/{service.d.ts → services.d.ts} +43 -9
  50. package/dist/services.d.ts.map +1 -0
  51. package/dist/{service.js → services.js} +34 -11
  52. package/dist/services.js.map +1 -0
  53. package/dist/types/app.d.ts +8 -8
  54. package/dist/types/app.d.ts.map +1 -1
  55. package/dist/types/contributions.d.ts +3 -0
  56. package/dist/types/contributions.d.ts.map +1 -0
  57. package/dist/types/contributions.js +10 -0
  58. package/dist/types/contributions.js.map +1 -0
  59. package/dist/types/events.d.ts +44 -0
  60. package/dist/types/events.d.ts.map +1 -0
  61. package/dist/types/events.js +6 -0
  62. package/dist/types/events.js.map +1 -0
  63. package/dist/types/hooks.d.ts +8 -0
  64. package/dist/types/hooks.d.ts.map +1 -1
  65. package/dist/types/index.d.ts +5 -3
  66. package/dist/types/index.d.ts.map +1 -1
  67. package/dist/types/index.js +8 -6
  68. package/dist/types/index.js.map +1 -1
  69. package/dist/types/plugin.d.ts +12 -4
  70. package/dist/types/plugin.d.ts.map +1 -1
  71. package/dist/types/plugin.js.map +1 -1
  72. package/dist/types/services.d.ts +4 -0
  73. package/dist/types/services.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/dist/constants.d.ts +0 -31
  76. package/dist/constants.d.ts.map +0 -1
  77. package/dist/constants.js +0 -36
  78. package/dist/constants.js.map +0 -1
  79. package/dist/i18n.d.ts +0 -6
  80. package/dist/i18n.d.ts.map +0 -1
  81. package/dist/i18n.js +0 -26
  82. package/dist/i18n.js.map +0 -1
  83. package/dist/identity.d.ts +0 -26
  84. package/dist/identity.d.ts.map +0 -1
  85. package/dist/identity.js +0 -36
  86. package/dist/identity.js.map +0 -1
  87. package/dist/init.d.ts +0 -20
  88. package/dist/init.d.ts.map +0 -1
  89. package/dist/init.js +0 -455
  90. package/dist/init.js.map +0 -1
  91. package/dist/llm-router.d.ts.map +0 -1
  92. package/dist/llm-router.js +0 -123
  93. package/dist/llm-router.js.map +0 -1
  94. package/dist/marketplace-bootstrap.d.ts +0 -54
  95. package/dist/marketplace-bootstrap.d.ts.map +0 -1
  96. package/dist/marketplace-bootstrap.js +0 -132
  97. package/dist/marketplace-bootstrap.js.map +0 -1
  98. package/dist/mixin-registry.d.ts +0 -34
  99. package/dist/mixin-registry.d.ts.map +0 -1
  100. package/dist/mixin-registry.js +0 -60
  101. package/dist/mixin-registry.js.map +0 -1
  102. package/dist/model-ref.d.ts +0 -22
  103. package/dist/model-ref.d.ts.map +0 -1
  104. package/dist/model-ref.js +0 -46
  105. package/dist/model-ref.js.map +0 -1
  106. package/dist/pending-buffer.d.ts +0 -46
  107. package/dist/pending-buffer.d.ts.map +0 -1
  108. package/dist/pending-buffer.js +0 -131
  109. package/dist/pending-buffer.js.map +0 -1
  110. package/dist/platform-registry.d.ts +0 -40
  111. package/dist/platform-registry.d.ts.map +0 -1
  112. package/dist/platform-registry.js +0 -64
  113. package/dist/platform-registry.js.map +0 -1
  114. package/dist/semver-mini.d.ts +0 -20
  115. package/dist/semver-mini.d.ts.map +0 -1
  116. package/dist/semver-mini.js +0 -94
  117. package/dist/semver-mini.js.map +0 -1
  118. package/dist/service-helpers.d.ts.map +0 -1
  119. package/dist/service.d.ts.map +0 -1
  120. package/dist/service.js.map +0 -1
  121. package/dist/types/agent.d.ts +0 -51
  122. package/dist/types/agent.d.ts.map +0 -1
  123. package/dist/types/agent.js +0 -3
  124. package/dist/types/agent.js.map +0 -1
  125. package/dist/types/archive.d.ts +0 -59
  126. package/dist/types/archive.d.ts.map +0 -1
  127. package/dist/types/archive.js +0 -16
  128. package/dist/types/archive.js.map +0 -1
  129. package/dist/types/authority.d.ts +0 -63
  130. package/dist/types/authority.d.ts.map +0 -1
  131. package/dist/types/authority.js +0 -3
  132. package/dist/types/authority.js.map +0 -1
  133. package/dist/types/capabilities.d.ts +0 -53
  134. package/dist/types/capabilities.d.ts.map +0 -1
  135. package/dist/types/capabilities.js +0 -87
  136. package/dist/types/capabilities.js.map +0 -1
  137. package/dist/types/cli.d.ts +0 -14
  138. package/dist/types/cli.d.ts.map +0 -1
  139. package/dist/types/cli.js +0 -3
  140. package/dist/types/cli.js.map +0 -1
  141. package/dist/types/commands.d.ts +0 -98
  142. package/dist/types/commands.d.ts.map +0 -1
  143. package/dist/types/commands.js +0 -3
  144. package/dist/types/commands.js.map +0 -1
  145. package/dist/types/core.d.ts +0 -116
  146. package/dist/types/core.d.ts.map +0 -1
  147. package/dist/types/core.js +0 -6
  148. package/dist/types/core.js.map +0 -1
  149. package/dist/types/embedding.d.ts +0 -7
  150. package/dist/types/embedding.d.ts.map +0 -1
  151. package/dist/types/embedding.js +0 -3
  152. package/dist/types/embedding.js.map +0 -1
  153. package/dist/types/flow-control.d.ts +0 -51
  154. package/dist/types/flow-control.d.ts.map +0 -1
  155. package/dist/types/flow-control.js +0 -12
  156. package/dist/types/flow-control.js.map +0 -1
  157. package/dist/types/gateway.d.ts +0 -24
  158. package/dist/types/gateway.d.ts.map +0 -1
  159. package/dist/types/gateway.js +0 -15
  160. package/dist/types/gateway.js.map +0 -1
  161. package/dist/types/image-recognition.d.ts +0 -123
  162. package/dist/types/image-recognition.d.ts.map +0 -1
  163. package/dist/types/image-recognition.js +0 -31
  164. package/dist/types/image-recognition.js.map +0 -1
  165. package/dist/types/llm.d.ts +0 -146
  166. package/dist/types/llm.d.ts.map +0 -1
  167. package/dist/types/llm.js +0 -27
  168. package/dist/types/llm.js.map +0 -1
  169. package/dist/types/memory.d.ts +0 -62
  170. package/dist/types/memory.d.ts.map +0 -1
  171. package/dist/types/memory.js +0 -22
  172. package/dist/types/memory.js.map +0 -1
  173. package/dist/types/persona.d.ts +0 -45
  174. package/dist/types/persona.d.ts.map +0 -1
  175. package/dist/types/persona.js +0 -3
  176. package/dist/types/persona.js.map +0 -1
  177. package/dist/types/platform.d.ts +0 -126
  178. package/dist/types/platform.d.ts.map +0 -1
  179. package/dist/types/platform.js +0 -5
  180. package/dist/types/platform.js.map +0 -1
  181. package/dist/types/service.d.ts +0 -41
  182. package/dist/types/service.d.ts.map +0 -1
  183. package/dist/types/service.js +0 -35
  184. package/dist/types/service.js.map +0 -1
  185. package/dist/types/session.d.ts +0 -153
  186. package/dist/types/session.d.ts.map +0 -1
  187. package/dist/types/session.js +0 -19
  188. package/dist/types/session.js.map +0 -1
  189. package/dist/types/storage.d.ts +0 -100
  190. package/dist/types/storage.d.ts.map +0 -1
  191. package/dist/types/storage.js +0 -29
  192. package/dist/types/storage.js.map +0 -1
  193. package/dist/types/tools.d.ts +0 -39
  194. package/dist/types/tools.d.ts.map +0 -1
  195. package/dist/types/tools.js +0 -3
  196. package/dist/types/tools.js.map +0 -1
  197. package/dist/types/trigger-policy.d.ts +0 -16
  198. package/dist/types/trigger-policy.d.ts.map +0 -1
  199. package/dist/types/trigger-policy.js +0 -6
  200. package/dist/types/trigger-policy.js.map +0 -1
  201. package/dist/types/vectorstore.d.ts +0 -23
  202. package/dist/types/vectorstore.d.ts.map +0 -1
  203. package/dist/types/vectorstore.js +0 -3
  204. package/dist/types/vectorstore.js.map +0 -1
  205. package/dist/types/web-search.d.ts +0 -88
  206. package/dist/types/web-search.d.ts.map +0 -1
  207. package/dist/types/web-search.js +0 -23
  208. package/dist/types/web-search.js.map +0 -1
  209. package/dist/types/webui.d.ts +0 -137
  210. package/dist/types/webui.d.ts.map +0 -1
  211. package/dist/types/webui.js +0 -3
  212. package/dist/types/webui.js.map +0 -1
@@ -1,131 +0,0 @@
1
- /**
2
- * 工具/指令注册缓冲
3
- *
4
- * 用途:插件加载顺序无法保证 tools/commands 服务已就绪时,
5
- * 调用 `ctx.registerTool / registerToolGroup / command` 会被临时收纳,
6
- * 等 `service:registered` 事件触发后自动刷入真实服务。
7
- *
8
- * 从 Context 抽出以便独立测试与理解。
9
- *
10
- * 设计要点:
11
- * - 该缓冲是"按 Context 实例一份"的,因为每条注册都要归属到发起者 contextId
12
- * - 刷入成功后获得的 dispose 函数会被加入传入的 DisposableChain,保证 Context
13
- * dispose 时能统一回收
14
- * - 如调用方尚未刷入前主动 dispose,会从本地数组里移除条目,不会到达底层服务
15
- */
16
- export class PendingRegistrationBuffer {
17
- contextId;
18
- services;
19
- logger;
20
- disposables;
21
- onEvent;
22
- _tools = [];
23
- _toolGroups = [];
24
- _commands = [];
25
- _flushListenerAttached = false;
26
- constructor(contextId, services, logger, disposables,
27
- /** 由 Context 注入的 `on(event, handler)` —— 让生命周期统一托管 */
28
- onEvent) {
29
- this.contextId = contextId;
30
- this.services = services;
31
- this.logger = logger;
32
- this.disposables = disposables;
33
- this.onEvent = onEvent;
34
- }
35
- /** 注册 AI 工具。服务可用则直接注册,否则缓冲到 tools 服务就绪。 */
36
- registerTool(tool) {
37
- const tools = this.services.get('tools');
38
- if (tools) {
39
- const dispose = tools.register(tool, this.contextId);
40
- this.disposables.push(dispose);
41
- return dispose;
42
- }
43
- this._tools.push(tool);
44
- this._ensureFlushListener();
45
- this.logger.debug(`工具 "${tool.definition.function.name}" 已缓冲,等待 tools 服务就绪`);
46
- return () => {
47
- const idx = this._tools.indexOf(tool);
48
- if (idx >= 0)
49
- this._tools.splice(idx, 1);
50
- };
51
- }
52
- /** 注册工具分组。行为同 registerTool。 */
53
- registerToolGroup(group) {
54
- const tools = this.services.get('tools');
55
- if (tools) {
56
- const dispose = tools.registerGroup(group, this.contextId);
57
- this.disposables.push(dispose);
58
- return dispose;
59
- }
60
- this._toolGroups.push(group);
61
- this._ensureFlushListener();
62
- this.logger.debug(`工具分组 "${group.name}" 已缓冲,等待 tools 服务就绪`);
63
- return () => {
64
- const idx = this._toolGroups.indexOf(group);
65
- if (idx >= 0)
66
- this._toolGroups.splice(idx, 1);
67
- };
68
- }
69
- /** 注册斜杠指令。服务可用则直接注册,否则缓冲到 commands 服务就绪。 */
70
- registerCommand(def) {
71
- const commands = this.services.get('commands');
72
- if (commands) {
73
- const dispose = commands.register(def, this.contextId);
74
- this.disposables.push(dispose);
75
- return dispose;
76
- }
77
- const entry = { def, ctxId: this.contextId };
78
- this._commands.push(entry);
79
- this._ensureFlushListener();
80
- this.logger.debug(`指令 "${def.name}" 已缓冲,等待 commands 服务就绪`);
81
- return () => {
82
- const idx = this._commands.indexOf(entry);
83
- if (idx >= 0)
84
- this._commands.splice(idx, 1);
85
- };
86
- }
87
- /** 清空本地缓冲(Context.dispose 时调用,底层服务已由 DisposableChain 回收) */
88
- clear() {
89
- this._tools = [];
90
- this._toolGroups = [];
91
- this._commands = [];
92
- }
93
- _ensureFlushListener() {
94
- if (this._flushListenerAttached)
95
- return;
96
- this._flushListenerAttached = true;
97
- const off = this.onEvent('service:registered', (svcName) => {
98
- if (svcName === 'tools')
99
- this._flushTools();
100
- if (svcName === 'commands')
101
- this._flushCommands();
102
- });
103
- this.disposables.push(off);
104
- }
105
- _flushTools() {
106
- const tools = this.services.get('tools');
107
- if (!tools)
108
- return;
109
- for (const tool of this._tools) {
110
- const dispose = tools.register(tool, this.contextId);
111
- this.disposables.push(dispose);
112
- }
113
- this._tools = [];
114
- for (const group of this._toolGroups) {
115
- const dispose = tools.registerGroup(group, this.contextId);
116
- this.disposables.push(dispose);
117
- }
118
- this._toolGroups = [];
119
- }
120
- _flushCommands() {
121
- const commands = this.services.get('commands');
122
- if (!commands)
123
- return;
124
- for (const { def, ctxId } of this._commands) {
125
- const dispose = commands.register(def, ctxId);
126
- this.disposables.push(dispose);
127
- }
128
- this._commands = [];
129
- }
130
- }
131
- //# sourceMappingURL=pending-buffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pending-buffer.js","sourceRoot":"","sources":["../src/pending-buffer.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import type { ServiceContainer } from './service.js';
2
- import type { PlatformAdapter, PlatformConnection, PlatformSelfIdentity } from './types/index.js';
3
- /**
4
- * 平台注册表
5
- *
6
- * 从 ServiceContainer 中聚合 `'platform'` 服务的所有条目,返回按不同视角
7
- * 的平台信息快照。不持有状态——每次调用直接从容器读取。
8
- *
9
- * 提取动机:把"领域聚合查询"从 Context 里抽出,与 LLMRouter 同风格。
10
- */
11
- export declare class PlatformRegistry {
12
- private readonly services;
13
- constructor(services: ServiceContainer);
14
- /**
15
- * 获取所有已注册的平台适配器实例(过滤掉不合规的)。
16
- */
17
- listAdapters(): PlatformAdapter[];
18
- /**
19
- * 获取所有已注册的平台名称(去重)。
20
- *
21
- * 基于各 platform 服务的 capabilities 聚合,而非 adapter.platform 字段,
22
- * 因此一个 adapter 可以声明承载多个 platform(罕见)。
23
- */
24
- listPlatformNames(): string[];
25
- /**
26
- * 获取所有平台适配器及其连接详情
27
- */
28
- listDetails(): Array<{
29
- adapterName: string;
30
- platform: string;
31
- contextId: string;
32
- capabilities: string[];
33
- connections: PlatformConnection[];
34
- }>;
35
- /**
36
- * 获取某个平台账号自身身份。
37
- */
38
- getSelfIdentity(platform: string, sessionId?: string): PlatformSelfIdentity | undefined;
39
- }
40
- //# sourceMappingURL=platform-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform-registry.d.ts","sourceRoot":"","sources":["../src/platform-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAElG;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,gBAAgB;IAEvD;;OAEG;IACH,YAAY,IAAI,eAAe,EAAE;IAMjC;;;;;OAKG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAQ7B;;OAEG;IACH,WAAW,IAAI,KAAK,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,WAAW,EAAE,kBAAkB,EAAE,CAAC;KACnC,CAAC;IAaF;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;CAQxF"}
@@ -1,64 +0,0 @@
1
- /**
2
- * 平台注册表
3
- *
4
- * 从 ServiceContainer 中聚合 `'platform'` 服务的所有条目,返回按不同视角
5
- * 的平台信息快照。不持有状态——每次调用直接从容器读取。
6
- *
7
- * 提取动机:把"领域聚合查询"从 Context 里抽出,与 LLMRouter 同风格。
8
- */
9
- export class PlatformRegistry {
10
- services;
11
- constructor(services) {
12
- this.services = services;
13
- }
14
- /**
15
- * 获取所有已注册的平台适配器实例(过滤掉不合规的)。
16
- */
17
- listAdapters() {
18
- return this.services.getEntries('platform')
19
- .map(e => e.instance)
20
- .filter(a => a && typeof a.getConnections === 'function');
21
- }
22
- /**
23
- * 获取所有已注册的平台名称(去重)。
24
- *
25
- * 基于各 platform 服务的 capabilities 聚合,而非 adapter.platform 字段,
26
- * 因此一个 adapter 可以声明承载多个 platform(罕见)。
27
- */
28
- listPlatformNames() {
29
- const names = new Set();
30
- for (const entry of this.services.getEntries('platform')) {
31
- for (const cap of entry.capabilities)
32
- names.add(cap);
33
- }
34
- return [...names];
35
- }
36
- /**
37
- * 获取所有平台适配器及其连接详情
38
- */
39
- listDetails() {
40
- return this.services.getEntries('platform').map(entry => {
41
- const adapter = entry.instance;
42
- return {
43
- adapterName: adapter.adapterName,
44
- platform: adapter.platform,
45
- contextId: entry.contextId,
46
- capabilities: [...entry.capabilities],
47
- connections: adapter.getConnections(),
48
- };
49
- });
50
- }
51
- /**
52
- * 获取某个平台账号自身身份。
53
- */
54
- getSelfIdentity(platform, sessionId) {
55
- for (const entry of this.services.getEntries('platform')) {
56
- const adapter = entry.instance;
57
- if (!adapter || adapter.platform !== platform)
58
- continue;
59
- return adapter.getSelfIdentity?.(sessionId);
60
- }
61
- return undefined;
62
- }
63
- }
64
- //# sourceMappingURL=platform-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../src/platform-registry.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE3D;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAA2B,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACH,iBAAiB;QACf,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,WAAW;QAOT,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACtD,MAAM,OAAO,GAAG,KAAK,CAAC,QAA2B,CAAC;YAClD,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;gBACrC,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE;aACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAAgB,EAAE,SAAkB;QAClD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,KAAK,CAAC,QAA2B,CAAC;YAClD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACxD,OAAO,OAAO,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,20 +0,0 @@
1
- /**
2
- * 轻量级 semver range 校验
3
- *
4
- * 仅支持 Aalis 插件市场常用的 range 形态,足够用于 manifest.engines.aalis 校验:
5
- * - 精确:`1.2.3`
6
- * - 比较器:`>=1.2.3` / `>1.2.3` / `<=1.2.3` / `<1.2.3` / `=1.2.3`
7
- * - caret:`^1.2.3`(允许 1.x.x,不允许 2.0.0)
8
- * - tilde:`~1.2.3`(允许 1.2.x,不允许 1.3.0)
9
- * - 多个比较器以空格连接,需全部满足:`>=1.2.0 <2.0.0`
10
- * - `*` / 空字符串:任意版本
11
- *
12
- * 不支持:`||` 或运算、prerelease 标签的精细比较(统一忽略 prerelease)。
13
- * 这些限制对 manifest 校验场景是可接受的。
14
- */
15
- /**
16
- * 判断 version 是否落在 range 范围内。
17
- * range 中的多个比较器以空白分隔,需全部满足(AND 关系)。
18
- */
19
- export declare function satisfies(version: string, range: string | undefined): boolean;
20
- //# sourceMappingURL=semver-mini.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semver-mini.d.ts","sourceRoot":"","sources":["../src/semver-mini.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2DH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAU7E"}
@@ -1,94 +0,0 @@
1
- /**
2
- * 轻量级 semver range 校验
3
- *
4
- * 仅支持 Aalis 插件市场常用的 range 形态,足够用于 manifest.engines.aalis 校验:
5
- * - 精确:`1.2.3`
6
- * - 比较器:`>=1.2.3` / `>1.2.3` / `<=1.2.3` / `<1.2.3` / `=1.2.3`
7
- * - caret:`^1.2.3`(允许 1.x.x,不允许 2.0.0)
8
- * - tilde:`~1.2.3`(允许 1.2.x,不允许 1.3.0)
9
- * - 多个比较器以空格连接,需全部满足:`>=1.2.0 <2.0.0`
10
- * - `*` / 空字符串:任意版本
11
- *
12
- * 不支持:`||` 或运算、prerelease 标签的精细比较(统一忽略 prerelease)。
13
- * 这些限制对 manifest 校验场景是可接受的。
14
- */
15
- /** 解析 `major.minor.patch[-prerelease]` 为 [maj, min, pat],prerelease 忽略。 */
16
- function parseVersion(v) {
17
- const trimmed = v.trim().replace(/^v/, '');
18
- const m = trimmed.match(/^(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/);
19
- if (!m)
20
- return null;
21
- return [Number(m[1]), Number(m[2]), Number(m[3])];
22
- }
23
- /** 比较两个版本:返回负数 / 0 / 正数。 */
24
- function cmp(a, b) {
25
- for (let i = 0; i < 3; i++) {
26
- if (a[i] !== b[i])
27
- return a[i] - b[i];
28
- }
29
- return 0;
30
- }
31
- /** 判断单个比较器是否满足版本。 */
32
- function checkComparator(version, comp) {
33
- comp = comp.trim();
34
- if (!comp || comp === '*' || comp === 'x')
35
- return true;
36
- // caret ^x.y.z: >=x.y.z <(x+1).0.0(x>0),或 >=0.y.z <0.(y+1).0(x=0,y>0),或 >=0.0.z <0.0.(z+1)(x=y=0)
37
- if (comp.startsWith('^')) {
38
- const base = parseVersion(comp.slice(1));
39
- if (!base)
40
- return false;
41
- if (cmp(version, base) < 0)
42
- return false;
43
- const [maj, min] = base;
44
- if (maj > 0)
45
- return version[0] === maj;
46
- if (min > 0)
47
- return version[0] === 0 && version[1] === min;
48
- return version[0] === 0 && version[1] === 0 && version[2] === base[2];
49
- }
50
- // tilde ~x.y.z: >=x.y.z <x.(y+1).0
51
- if (comp.startsWith('~')) {
52
- const base = parseVersion(comp.slice(1));
53
- if (!base)
54
- return false;
55
- if (cmp(version, base) < 0)
56
- return false;
57
- return version[0] === base[0] && version[1] === base[1];
58
- }
59
- // 比较运算符
60
- const opMatch = comp.match(/^(>=|<=|>|<|=)?\s*(.+)$/);
61
- if (!opMatch)
62
- return false;
63
- const op = opMatch[1] || '=';
64
- const target = parseVersion(opMatch[2]);
65
- if (!target)
66
- return false;
67
- const c = cmp(version, target);
68
- switch (op) {
69
- case '>=': return c >= 0;
70
- case '<=': return c <= 0;
71
- case '>': return c > 0;
72
- case '<': return c < 0;
73
- case '=': return c === 0;
74
- default: return false;
75
- }
76
- }
77
- /**
78
- * 判断 version 是否落在 range 范围内。
79
- * range 中的多个比较器以空白分隔,需全部满足(AND 关系)。
80
- */
81
- export function satisfies(version, range) {
82
- if (!range || !range.trim())
83
- return true;
84
- const v = parseVersion(version);
85
- if (!v)
86
- return false;
87
- // 简化:不支持 `||`,命中任意 `||` 直接放行(避免误拒),并发出隐式 warning 由调用方处理
88
- if (range.includes('||')) {
89
- return range.split('||').some(part => satisfies(version, part));
90
- }
91
- const comparators = range.split(/\s+/).filter(Boolean);
92
- return comparators.every(c => checkComparator(v, c));
93
- }
94
- //# sourceMappingURL=semver-mini.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semver-mini.js","sourceRoot":"","sources":["../src/semver-mini.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-helpers.d.ts","sourceRoot":"","sources":["../src/service-helpers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAgCP;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,KAAK,YAAY,EACjB,eAAe,EACf,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAqC;IACpD,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAA6B;IAEhD;;;;OAIG;IACH,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,QAAQ,GAAE,MAAU,EACpB,SAAS,GAAE,MAAe,EAC1B,KAAK,CAAC,EAAE,MAAM,GACb,YAAY;IAkBf;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKnC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAOtD;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO;IAU3D;;;;;OAKG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAkBhD;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAIxC;;;;OAIG;IACH,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlF;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAKhD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAG/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import type { IncomingMessage, PluginGroupInfo } from './core.js';
2
- /**
3
- * 消息预处理器函数
4
- *
5
- * 在消息到达 LLM 之前对 IncomingMessage 进行变换。
6
- * 遵循洋葱模型:调用 `next()` 将控制权传递给下一个预处理器,
7
- * 不调用则中断整个流程(LLM 不会被调用)。
8
- */
9
- export type PreprocessorFn = (message: IncomingMessage, next: () => Promise<void>) => Promise<void>;
10
- /** 已注册预处理器的元信息 */
11
- export interface PreprocessorInfo {
12
- /** 预处理器名称 */
13
- name: string;
14
- }
15
- /**
16
- * Agent 服务 —— 对话编排引擎
17
- *
18
- * 负责接收用户消息并编排完整的对话流程:
19
- * 组装系统提示、加载历史、调用 LLM、执行工具调用循环、发出回复。
20
- *
21
- * 默认由 plugin-agent-default 提供。
22
- * 外部插件可以注册自己的 AgentService 来完全接管或扩展对话编排逻辑。
23
- */
24
- export interface AgentService {
25
- /** 处理一条传入消息,完成完整的对话循环 */
26
- handleMessage(message: IncomingMessage): Promise<void>;
27
- /** 中止指定会话的当前生成(可选实现) */
28
- abort?(sessionId: string): void;
29
- /**
30
- * 注册消息预处理器
31
- *
32
- * 预处理器在 `agent:input:before` 阶段运行,可以修改 IncomingMessage(如将图片转文字、解析文件)。
33
- * 底层通过中间件系统实现,priority 越大越先执行。
34
- *
35
- * @param name 预处理器名称(用于日志和调试)
36
- * @param handler 处理函数
37
- * @param priority 优先级(默认 500,越大越先执行)
38
- * @returns dispose 函数,调用后注销此预处理器
39
- */
40
- registerPreprocessor?(name: string, handler: PreprocessorFn): () => void;
41
- /** 获取当前所有已注册预处理器的元信息 */
42
- getPreprocessors?(): PreprocessorInfo[];
43
- /**
44
- * 获取 Agent 子系统的插件分组
45
- *
46
- * 基于 Agent 的 inject 声明,自动找出所有为 Agent 提供服务的插件,
47
- * 返回分组信息供 Dashboard 使用。
48
- */
49
- getPluginGroups?(): PluginGroupInfo[];
50
- }
51
- //# sourceMappingURL=agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,kBAAkB;AAClB,MAAM,WAAW,gBAAgB;IAC/B,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,wBAAwB;IACxB,KAAK,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI,CAAC;IAEzE,wBAAwB;IACxB,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC;IAExC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,eAAe,EAAE,CAAC;CACvC"}
@@ -1,3 +0,0 @@
1
- // ----- Agent 服务接口 -----
2
- export {};
3
- //# sourceMappingURL=agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA,yBAAyB"}
@@ -1,59 +0,0 @@
1
- import type { IncomingMessage, Message } from './core.js';
2
- export interface ArchiveIncomingResult {
3
- message: Message;
4
- content: string;
5
- imageRecognitionInfo?: IncomingMessage['_imageRecognitionInfo'];
6
- }
7
- /** 平台通知/事件归档参数(参考 OneBot v11/v12 notice 规范) */
8
- export interface ArchiveNoticeOptions {
9
- /** 归档目标会话 ID(与正常消息共用同一会话) */
10
- sessionId: string;
11
- /** 通知类型:onebot 中的 notice_type / detail_type,例如 group_ban、group_recall、group_increase 等 */
12
- noticeType: string;
13
- /** 通知子类型(如 v11 group_ban 的 ban / lift_ban) */
14
- subType?: string;
15
- /** 人类可读的描述文本,将作为 system 消息内容写入记忆 */
16
- content: string;
17
- /** 平台标识(如 onebot) */
18
- platform?: string;
19
- /** 触发者用户 ID */
20
- userId?: string;
21
- /** 被操作者用户 ID(如禁言对象、撤回消息发送者) */
22
- targetId?: string;
23
- /** 群 ID(群聊场景) */
24
- groupId?: string;
25
- /** 操作者用户 ID(如管理员) */
26
- operatorId?: string;
27
- /** 事件时间戳(毫秒),缺省使用当前时间 */
28
- timestamp?: number;
29
- /** 任意附加数据(持续时长、消息 ID 等),透传至 metadata */
30
- data?: Record<string, unknown>;
31
- }
32
- export interface MessageArchiveService {
33
- saveMessage(sessionId: string, message: Message, options?: {
34
- debugLabel?: string;
35
- }): Promise<void>;
36
- archiveIncoming(message: IncomingMessage): Promise<ArchiveIncomingResult>;
37
- /** 平台 notice/事件入档(系统级条目,不会触发 agent 响应) */
38
- archiveNotice?(options: ArchiveNoticeOptions): Promise<Message | null>;
39
- }
40
- export interface MessageArchiveCapabilityRegistry {
41
- /** 支持入站消息归档(archiveIncoming,含图片预识别) */
42
- Incoming: 'incoming';
43
- /** 支持通用消息保存(saveMessage) */
44
- Generic: 'generic';
45
- /** 支持平台 notice 事件入档(archiveNotice) */
46
- Notice: 'notice';
47
- }
48
- export type MessageArchiveCapability = MessageArchiveCapabilityRegistry[keyof MessageArchiveCapabilityRegistry];
49
- export declare const MessageArchiveCapabilities: {
50
- readonly Incoming: "incoming";
51
- readonly Generic: "generic";
52
- readonly Notice: "notice";
53
- };
54
- declare module './capabilities.js' {
55
- interface ServiceCapabilityMap {
56
- 'message-archive': MessageArchiveCapability;
57
- }
58
- }
59
- //# sourceMappingURL=archive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/types/archive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACjE;AAED,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1E,0CAA0C;IAC1C,aAAa,CAAC,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CACxE;AAID,MAAM,WAAW,gCAAgC;IAC/C,uCAAuC;IACvC,QAAQ,EAAE,UAAU,CAAC;IACrB,4BAA4B;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,sCAAsC;IACtC,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,MAAM,wBAAwB,GAAG,gCAAgC,CAAC,MAAM,gCAAgC,CAAC,CAAC;AAEhH,eAAO,MAAM,0BAA0B;;;;CAIc,CAAC;AAEtD,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,oBAAoB;QAC5B,iBAAiB,EAAE,wBAAwB,CAAC;KAC7C;CACF"}
@@ -1,16 +0,0 @@
1
- export const MessageArchiveCapabilities = {
2
- Incoming: 'incoming',
3
- Generic: 'generic',
4
- Notice: 'notice',
5
- };
6
- import { registerCapabilityProbe } from './capabilities.js';
7
- registerCapabilityProbe('message-archive', MessageArchiveCapabilities.Incoming, inst => typeof inst.archiveIncoming === 'function'
8
- ? true
9
- : 'MessageArchiveService.archiveIncoming() is required for capability "incoming"');
10
- registerCapabilityProbe('message-archive', MessageArchiveCapabilities.Generic, inst => typeof inst.saveMessage === 'function'
11
- ? true
12
- : 'MessageArchiveService.saveMessage() is required for capability "generic"');
13
- registerCapabilityProbe('message-archive', MessageArchiveCapabilities.Notice, inst => typeof inst.archiveNotice === 'function'
14
- ? true
15
- : 'MessageArchiveService.archiveNotice() is required for capability "notice"');
16
- //# sourceMappingURL=archive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/types/archive.ts"],"names":[],"mappings":"AAsDA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACmC,CAAC;AAQtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,uBAAuB,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CACrF,OAAQ,IAAsC,CAAC,eAAe,KAAK,UAAU;IAC3E,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,+EAA+E,CAAC,CAAC;AAEvF,uBAAuB,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CACpF,OAAQ,IAAkC,CAAC,WAAW,KAAK,UAAU;IACnE,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,0EAA0E,CAAC,CAAC;AAElF,uBAAuB,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CACnF,OAAQ,IAAoC,CAAC,aAAa,KAAK,UAAU;IACvE,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,2EAA2E,CAAC,CAAC"}
@@ -1,63 +0,0 @@
1
- /** 高危操作确认请求信息 */
2
- export interface DangerousConfirmRequest {
3
- /** 操作名称(指令名或工具名) */
4
- name: string;
5
- /** 操作类型 */
6
- type: 'command' | 'tool';
7
- /** 操作参数(工具调用时存在) */
8
- args?: Record<string, unknown>;
9
- /** 细粒度权限标识 */
10
- permissions?: string[];
11
- /** 会话 ID */
12
- sessionId: string;
13
- /** 来源平台 */
14
- platform: string;
15
- /** 用户 ID */
16
- userId?: string;
17
- }
18
- export interface DangerousGrantRequest {
19
- /** 授权范围:once 不会被持久记录;session 表示当前会话短时授权 */
20
- scope: 'once' | 'session';
21
- /** 授权秒数,仅 scope=session 时有效 */
22
- durationSeconds?: number;
23
- /** 最大使用次数,仅 scope=session 时有效 */
24
- maxUses?: number;
25
- }
26
- export interface DangerousConfirmResult {
27
- allowed: boolean;
28
- grant?: DangerousGrantRequest;
29
- }
30
- export interface DangerousGrant {
31
- id: string;
32
- name: string;
33
- type: 'command' | 'tool';
34
- /** 创建授权时绑定的权限集合 */
35
- permissions?: string[];
36
- sessionId: string;
37
- platform: string;
38
- userId?: string;
39
- expiresAt: number;
40
- maxUses?: number;
41
- used: number;
42
- createdAt: number;
43
- }
44
- /** 确认回调:boolean 为旧格式;对象格式可附带短时 grant */
45
- export type DangerousConfirmHandler = (request: DangerousConfirmRequest) => Promise<boolean | DangerousConfirmResult>;
46
- /** 权限服务接口 */
47
- export interface AuthorityService {
48
- getAuthority(platform: string, userId?: string): number;
49
- setAuthority(platform: string, userId: string, level: number): void;
50
- isOwner(platform: string, userId?: string): boolean;
51
- isDangerousAllowed(name: string, permissions?: string[]): boolean;
52
- confirmDangerous(request: DangerousConfirmRequest): Promise<boolean>;
53
- listDangerousGrants(): DangerousGrant[];
54
- revokeDangerousGrant(id: string): boolean;
55
- save(): void;
56
- setConfirmHandler(platform: string, handler: DangerousConfirmHandler): void;
57
- listUsers(): Array<{
58
- platform: string;
59
- userId: string;
60
- authority: number;
61
- }>;
62
- }
63
- //# sourceMappingURL=authority.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/types/authority.ts"],"names":[],"mappings":"AAEA,iBAAiB;AACjB,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wCAAwC;AACxC,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,OAAO,GAAG,sBAAsB,CAAC,CAAC;AAEtH,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAClE,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,mBAAmB,IAAI,cAAc,EAAE,CAAC;IACxC,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1C,IAAI,IAAI,IAAI,CAAC;IACb,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC5E,SAAS,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E"}
@@ -1,3 +0,0 @@
1
- // ----- 权限服务接口 -----
2
- export {};
3
- //# sourceMappingURL=authority.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/types/authority.ts"],"names":[],"mappings":"AAAA,qBAAqB"}