@aalis/core 0.11.0 → 0.12.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 +11 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +16 -0
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +5 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +41 -8
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +109 -31
- package/dist/context.js.map +1 -1
- package/dist/contributions.d.ts +3 -3
- package/dist/disposable-chain.d.ts +3 -1
- package/dist/disposable-chain.d.ts.map +1 -1
- package/dist/disposable-chain.js +7 -3
- package/dist/disposable-chain.js.map +1 -1
- package/dist/events.d.ts +10 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +30 -7
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin-activation.d.ts +23 -0
- package/dist/plugin-activation.d.ts.map +1 -1
- package/dist/plugin-activation.js +70 -7
- package/dist/plugin-activation.js.map +1 -1
- package/dist/plugin-topology.d.ts.map +1 -1
- package/dist/plugin-topology.js +16 -17
- package/dist/plugin-topology.js.map +1 -1
- package/dist/plugin.d.ts +5 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +68 -41
- package/dist/plugin.js.map +1 -1
- package/dist/services-helpers.d.ts +0 -2
- package/dist/services-helpers.d.ts.map +1 -1
- package/dist/services-helpers.js +1 -12
- package/dist/services-helpers.js.map +1 -1
- package/dist/services.d.ts +7 -28
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +2 -28
- package/dist/services.js.map +1 -1
- package/dist/types/app.d.ts +0 -1
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/plugin.d.ts +3 -2
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js.map +1 -1
- package/dist/types/services.js +2 -2
- package/dist/types/services.js.map +1 -1
- package/package.json +1 -1
package/dist/plugin.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { parseInstanceId };
|
|
|
9
9
|
*
|
|
10
10
|
* 负责:
|
|
11
11
|
* - 注册/加载/卸载插件
|
|
12
|
-
* - 依赖追踪 (required + optional
|
|
12
|
+
* - 依赖追踪 (required + optional,判据=服务是否在容器中)
|
|
13
13
|
* - 当所需服务就绪时自动激活插件
|
|
14
14
|
* - 当所需服务移除时自动停用插件
|
|
15
15
|
* - 插件启用/禁用控制
|
|
@@ -79,6 +79,8 @@ export declare class PluginManager {
|
|
|
79
79
|
* 卸载一个插件
|
|
80
80
|
*/
|
|
81
81
|
unload(name: string): Promise<void>;
|
|
82
|
+
/** retireEntry 的 deps 便签(字段皆 private,无法把 this 当结构化 deps 传)。 */
|
|
83
|
+
private retire;
|
|
82
84
|
/**
|
|
83
85
|
* 启用一个已禁用的插件
|
|
84
86
|
*/
|
|
@@ -161,8 +163,8 @@ export declare class PluginManager {
|
|
|
161
163
|
* 5. 若本轮有变动则继续下一轮,直到稳定或达到 maxRounds。
|
|
162
164
|
* 6. 非 shutdown 时发出 plugins:changed。
|
|
163
165
|
*
|
|
164
|
-
* Aalis 直接用"
|
|
165
|
-
*
|
|
166
|
+
* Aalis 直接用"服务在不在容器里"做判断(capability 匹配层已于 0.5.0
|
|
167
|
+
* 删除)—— 表达力等价、复杂度更低。
|
|
166
168
|
*/
|
|
167
169
|
recompute(reason: RecomputeReason): Promise<void>;
|
|
168
170
|
/** 单次完整重算:fixed-point 状态转移 + (非关机)plugins:changed 通知 */
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,eAAe,EACf,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;;;;;GASG;AACH,qBAAa,aAAa;IAsEtB,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAtEpC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,oDAAoD;IACpD,OAAO,CAAC,SAAS,CAAS;IAC1B;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,KAAK,SAAS,GAEpB;IACD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAgC;IACpD;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAS;IAE7B,mCAAmC;IACnC,cAAc,IAAI,OAAO;IAIzB,4DAA4D;IAC5D,OAAO,CAAC,WAAW,CAAyB;IAE5C;;;;;;;;;;OAUG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,OAAO,CAAC,iBAAiB;gBAQvB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM;IACd,mDAAmD;IAClC,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAmB5C;;;;;;OAMG;IACG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC9G;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,eAAe,EACf,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;;;;;GASG;AACH,qBAAa,aAAa;IAsEtB,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAtEpC,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,oDAAoD;IACpD,OAAO,CAAC,SAAS,CAAS;IAC1B;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,KAAK,SAAS,GAEpB;IACD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAgC;IACpD;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAS;IAE7B,mCAAmC;IACnC,cAAc,IAAI,OAAO;IAIzB,4DAA4D;IAC5D,OAAO,CAAC,WAAW,CAAyB;IAE5C;;;;;;;;;;OAUG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,OAAO,CAAC,iBAAiB;gBAQvB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM;IACd,mDAAmD;IAClC,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAmB5C;;;;;;OAMG;IACG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC9G;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCzC,+DAA+D;IAC/D,OAAO,CAAC,MAAM;IASd;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBlD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BnD;;;;;OAKG;IACH,SAAS,IAAI,iBAAiB,EAAE;IAoBhC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIhD;;;OAGG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzF;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,GACjE,OAAO,CAAC,OAAO,CAAC;IAkEnB;;;;;;;;;;;;;;;OAeG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;;;;;;;;;;;;;;;;;OAkBG;IACG,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCvD,wDAAwD;YAC1C,aAAa;CAkG5B"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { activatePlugin, computeTargetState } from './plugin-activation.js';
|
|
1
|
+
import { activatePlugin, computeTargetState, retireEntry } from './plugin-activation.js';
|
|
2
2
|
import { evictDownstreamConsumers, topoSortByDeps } from './plugin-topology.js';
|
|
3
3
|
import { normalizeDependency } from './services.js';
|
|
4
4
|
import { parseInstanceId, } from './types/plugin.js';
|
|
@@ -9,7 +9,7 @@ export { parseInstanceId };
|
|
|
9
9
|
*
|
|
10
10
|
* 负责:
|
|
11
11
|
* - 注册/加载/卸载插件
|
|
12
|
-
* - 依赖追踪 (required + optional
|
|
12
|
+
* - 依赖追踪 (required + optional,判据=服务是否在容器中)
|
|
13
13
|
* - 当所需服务就绪时自动激活插件
|
|
14
14
|
* - 当所需服务移除时自动停用插件
|
|
15
15
|
* - 插件启用/禁用控制
|
|
@@ -147,19 +147,29 @@ export class PluginManager {
|
|
|
147
147
|
const entry = this.plugins.get(name);
|
|
148
148
|
if (!entry)
|
|
149
149
|
return;
|
|
150
|
+
// 'disposed' 单向化的 unload 侧:已有卸载在途(或停机遗留终态)时不再二次
|
|
151
|
+
// retire/emit——join 其拆卸(disposeAsync 幂等)后只确保注册表摘除。删除必须
|
|
152
|
+
// 带恒等卫:并发首个 unload 完成后同 id 可能已重新注册,按名盲删会把无辜的
|
|
153
|
+
// 新 entry 扫出注册表,留下注册表外的活实例。
|
|
154
|
+
if (entry.state === 'disposed') {
|
|
155
|
+
const inflight = entry.context;
|
|
156
|
+
if (inflight)
|
|
157
|
+
await inflight.disposeAsync(this.disposeTimeoutMs);
|
|
158
|
+
if (this.plugins.get(name) === entry)
|
|
159
|
+
this.plugins.delete(name);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
150
162
|
// dispose 段守卫(与 disablePlugin 对齐):dispose 触发的反应式 recompute
|
|
151
163
|
// 排队到收尾的 softReload,避免在 entry 半卸载态下重算。
|
|
152
164
|
this.suspendDepth++;
|
|
153
165
|
try {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
entry.state = 'disposed';
|
|
162
|
-
this.plugins.delete(name);
|
|
166
|
+
// delete 必须留在拆卸**之后**:注册表是 register/rescan 的查重闸
|
|
167
|
+
// (plugins.has(id)),提前摘除会让同 id 在旧 ctx 排空期间重新注册,
|
|
168
|
+
// 新实例与旧 ctx 同 contextId,旧链的 unregisterByContext 会把新实例
|
|
169
|
+
// 的注册连根扫掉。
|
|
170
|
+
await this.retire(entry, 'disposed');
|
|
171
|
+
if (this.plugins.get(name) === entry)
|
|
172
|
+
this.plugins.delete(name);
|
|
163
173
|
this.logger.info(`插件已卸载: ${name}`);
|
|
164
174
|
}
|
|
165
175
|
finally {
|
|
@@ -168,6 +178,10 @@ export class PluginManager {
|
|
|
168
178
|
// 级联重算:依赖被卸载插件所提供服务的下游需要转 pending
|
|
169
179
|
await this.softReload();
|
|
170
180
|
}
|
|
181
|
+
/** retireEntry 的 deps 便签(字段皆 private,无法把 this 当结构化 deps 传)。 */
|
|
182
|
+
retire(entry, target, opts) {
|
|
183
|
+
return retireEntry(entry, target, { rootCtx: this.rootCtx, logger: this.logger, disposeTimeoutMs: this.disposeTimeoutMs }, opts);
|
|
184
|
+
}
|
|
171
185
|
/**
|
|
172
186
|
* 启用一个已禁用的插件
|
|
173
187
|
*/
|
|
@@ -175,8 +189,13 @@ export class PluginManager {
|
|
|
175
189
|
const entry = this.plugins.get(name);
|
|
176
190
|
if (!entry)
|
|
177
191
|
return false;
|
|
192
|
+
if (entry.state === 'disposed')
|
|
193
|
+
return false; // 正在卸载,'disposed' 对管理路径单向(见 bouncePlugin 内注释)
|
|
178
194
|
if (entry.state !== 'disabled' && entry.state !== 'error')
|
|
179
195
|
return true; // 已经启用
|
|
196
|
+
// 依赖不变量:disabled/error 态的 entry 必然 context 已清(disable 与激活失败
|
|
197
|
+
// 都经 retireEntry 清引用;锚在 admin-during-activation 测试)——否则此处转
|
|
198
|
+
// pending 后会被激活侧的「旧 ctx 未清」闸永久跳过。
|
|
180
199
|
entry.state = 'pending';
|
|
181
200
|
entry.error = undefined;
|
|
182
201
|
this.rootCtx.config.setPluginEnabled(name, true);
|
|
@@ -195,20 +214,15 @@ export class PluginManager {
|
|
|
195
214
|
this.logger.warn(`核心插件 "${name}" 不能被禁用`);
|
|
196
215
|
return false;
|
|
197
216
|
}
|
|
217
|
+
if (entry.state === 'disposed')
|
|
218
|
+
return false; // 正在卸载,'disposed' 对管理路径单向(见 bouncePlugin 内注释)
|
|
198
219
|
if (entry.state === 'disabled')
|
|
199
220
|
return true; // 已经禁用
|
|
200
221
|
// dispose 段守卫:期间反应式 recompute 排队到收尾的 softReload
|
|
201
222
|
this.suspendDepth++;
|
|
202
223
|
try {
|
|
203
|
-
if (entry.state === 'active' && entry.context) {
|
|
204
|
-
await entry.context.disposeAsync(this.disposeTimeoutMs);
|
|
205
|
-
entry.context = undefined;
|
|
206
|
-
this.rootCtx.emit('plugin:unloaded', name).catch(err => {
|
|
207
|
-
this.logger.warn(`emit plugin:unloaded 失败 (${name}): ${err}`);
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
entry.state = 'disabled';
|
|
211
224
|
this.rootCtx.config.setPluginEnabled(name, false);
|
|
225
|
+
await this.retire(entry, 'disabled');
|
|
212
226
|
this.logger.info(`插件已禁用: ${name}`);
|
|
213
227
|
}
|
|
214
228
|
finally {
|
|
@@ -275,6 +289,14 @@ export class PluginManager {
|
|
|
275
289
|
this.logger.warn(`bouncePlugin: 插件 "${name}" 处于 disabled 态,跳过`);
|
|
276
290
|
return false;
|
|
277
291
|
}
|
|
292
|
+
// 'disposed' 对管理路径单向(含卸载在途与停机后的遗留终态两种情形):
|
|
293
|
+
// unload 写入终态与从注册表摘除之间隔着 retire 的微任务(即使无 ctx 可拆,
|
|
294
|
+
// await 也让出)——此窗口内把它覆写回 'pending' 会重新武装 entry,激活出
|
|
295
|
+
// 一个注册表外的永生孤儿实例;停机后覆写则会把插件误写进持久化禁用清单。
|
|
296
|
+
if (entry.state === 'disposed') {
|
|
297
|
+
this.logger.debug(`bouncePlugin: 插件 "${name}" 已进入 disposed 终态(卸载在途或已停机),跳过`);
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
278
300
|
const newConfig = opts?.config;
|
|
279
301
|
const newModule = opts?.module;
|
|
280
302
|
if (newConfig) {
|
|
@@ -287,7 +309,16 @@ export class PluginManager {
|
|
|
287
309
|
// recompute 不能在 entry 尚未转 pending 时跑——会把半 bounce 态误判。
|
|
288
310
|
this.suspendDepth++;
|
|
289
311
|
try {
|
|
290
|
-
|
|
312
|
+
// 唯一不走 retireEntry 的拆卸点(见其 JSDoc):写终态与拆卸之间要插入
|
|
313
|
+
// evictDownstreamConsumers,且该 await 窗口要求状态已先落——塞进 helper
|
|
314
|
+
// 需要回调钩子,不值得。本块内联复刻 helper 的四步顺序,勿改动次序。
|
|
315
|
+
entry.state = 'pending';
|
|
316
|
+
entry.error = undefined;
|
|
317
|
+
// ctx 先捕获:evict 的 await 期间并发管理操作可能已拆掉并清空
|
|
318
|
+
// entry.context,重读会 TypeError 并越过收尾的 softReload(queuedReason
|
|
319
|
+
// 悬挂 → idle() 永不落定)。disposeAsync 幂等,重复调用只会等在飞拆卸。
|
|
320
|
+
const ctx = entry.context;
|
|
321
|
+
if (ctx) {
|
|
291
322
|
await evictDownstreamConsumers({
|
|
292
323
|
provider: entry,
|
|
293
324
|
plugins: this.plugins,
|
|
@@ -295,14 +326,18 @@ export class PluginManager {
|
|
|
295
326
|
logger: this.logger,
|
|
296
327
|
disposeTimeoutMs: this.disposeTimeoutMs,
|
|
297
328
|
});
|
|
298
|
-
|
|
299
|
-
|
|
329
|
+
try {
|
|
330
|
+
await ctx.disposeAsync(this.disposeTimeoutMs);
|
|
331
|
+
}
|
|
332
|
+
catch (err) {
|
|
333
|
+
this.logger.error(`插件 "${name}" dispose 抛错: ${err instanceof Error ? err.message : String(err)}`);
|
|
334
|
+
}
|
|
335
|
+
if (entry.context === ctx)
|
|
336
|
+
entry.context = undefined;
|
|
300
337
|
this.rootCtx.emit('plugin:unloaded', name).catch(err => {
|
|
301
338
|
this.logger.warn(`emit plugin:unloaded 失败 (${name}): ${err}`);
|
|
302
339
|
});
|
|
303
340
|
}
|
|
304
|
-
entry.state = 'pending';
|
|
305
|
-
entry.error = undefined;
|
|
306
341
|
}
|
|
307
342
|
finally {
|
|
308
343
|
this.suspendDepth--;
|
|
@@ -359,8 +394,8 @@ export class PluginManager {
|
|
|
359
394
|
* 5. 若本轮有变动则继续下一轮,直到稳定或达到 maxRounds。
|
|
360
395
|
* 6. 非 shutdown 时发出 plugins:changed。
|
|
361
396
|
*
|
|
362
|
-
* Aalis 直接用"
|
|
363
|
-
*
|
|
397
|
+
* Aalis 直接用"服务在不在容器里"做判断(capability 匹配层已于 0.5.0
|
|
398
|
+
* 删除)—— 表达力等价、复杂度更低。
|
|
364
399
|
*/
|
|
365
400
|
async recompute(reason) {
|
|
366
401
|
if (this.shuttingDown && reason.type !== 'shutdown') {
|
|
@@ -378,6 +413,9 @@ export class PluginManager {
|
|
|
378
413
|
// 立即返回而不能把在飞 promise 交还调用方——若调用方恰在某插件 apply()
|
|
379
414
|
// 内同步调用(在飞 run 正 await 它),等待在飞 promise 会自我死锁。
|
|
380
415
|
if (this.reloading || this.suspended) {
|
|
416
|
+
// 已知语义损失(如实记账):合并把 service-down 降级为 plugin-state-changed,
|
|
417
|
+
// 被合并的请求拿不到「首轮特殊语义」——requiresBounceOnDepChange 级联在
|
|
418
|
+
// 该路径恒不触发(当前零第一方声明方;根修需按 reason 集合排队,刀单在案)。
|
|
381
419
|
this.queuedReason = reason.type === 'shutdown' ? reason : (this.queuedReason ?? { type: 'plugin-state-changed' });
|
|
382
420
|
return;
|
|
383
421
|
}
|
|
@@ -442,21 +480,10 @@ export class PluginManager {
|
|
|
442
480
|
this.logger.info(`依赖服务 "${currentReason.service}" 已下线,降级插件为待激活: ${entry.instanceId}`);
|
|
443
481
|
}
|
|
444
482
|
}
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
catch (err) {
|
|
450
|
-
this.logger.error(`插件 "${entry.instanceId}" dispose 抛错: ${err instanceof Error ? err.message : String(err)}`);
|
|
451
|
-
}
|
|
452
|
-
entry.context = undefined;
|
|
453
|
-
}
|
|
454
|
-
entry.state = currentReason.type === 'shutdown' ? 'disposed' : 'pending';
|
|
455
|
-
if (currentReason.type !== 'shutdown') {
|
|
456
|
-
this.rootCtx.emit('plugin:unloaded', entry.instanceId).catch(err => {
|
|
457
|
-
this.logger.warn(`emit plugin:unloaded 失败 (${entry.instanceId}): ${err}`);
|
|
458
|
-
});
|
|
459
|
-
}
|
|
483
|
+
// 关机降级不发 unloaded:stopAll 的编排自有事件语义,逐插件不重复广播。
|
|
484
|
+
await this.retire(entry, currentReason.type === 'shutdown' ? 'disposed' : 'pending', {
|
|
485
|
+
emitUnloaded: currentReason.type !== 'shutdown',
|
|
486
|
+
});
|
|
460
487
|
changed = true;
|
|
461
488
|
lastRoundFlips.push(entry.instanceId);
|
|
462
489
|
}
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAIL,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAG3B,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAa;IAuEL;IAtEX,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,OAAO,CAAU;IACjB,MAAM,CAAS;IACvB,oDAAoD;IAC5C,SAAS,GAAG,KAAK,CAAC;IAC1B;;;;;;;;;OASG;IACK,YAAY,GAAG,CAAC,CAAC;IACzB,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD;;;;OAIG;IACK,YAAY,GAA2B,IAAI,CAAC;IACpD;;;;;OAKG;IACK,YAAY,GAAG,KAAK,CAAC;IAE7B,mCAAmC;IACnC,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,4DAA4D;IACpD,WAAW,GAAsB,EAAE,CAAC;IAE5C;;;;;;;;;;OAUG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/F,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;YAAE,OAAO;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,YACE,OAAgB,EAChB,MAAc;IACd,mDAAmD;IAClC,gBAAyB;QAAzB,qBAAgB,GAAhB,gBAAgB,CAAS;QAE1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEtC,+BAA+B;QAC/B,8CAA8C;QAC9C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7G,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,SAAS,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/G,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAoB,EAAE,SAAkC,EAAE,EAAE,UAAmB;QAC5F,MAAM,EAAE,GAAG,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC;QAErC,sCAAsC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,4BAA4B,EAAE,GAAG,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEtE,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAgB;YACzB,MAAM;YACN,UAAU,EAAE,EAAE;YACd,MAAM;YACN,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC1C,YAAY;YACZ,YAAY;SACb,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAE5B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACjC,0CAA0C;YAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,2DAA2D;QAC3D,uCAAuC;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACxD,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAED,kCAAkC;QAClC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,CAAC,OAAO;QAC/E,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,CAAC,OAAO;QAEpD,gDAAgD;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACxD,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;YACL,CAAC;YAED,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,0CAA0C;QAC1C,6DAA6D;QAC7D,gDAAgD;QAChD,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;YACnD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gBACvB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;gBACrC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;gBAC/B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gBACvB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;gBAC/B,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpG,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpG,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,MAA+B;QACpE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,IAAkE;QAElE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,oBAAoB,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC;QAE/B,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QAExC,0DAA0D;QAC1D,sDAAsD;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,wBAAwB,CAAC;oBAC7B,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACxC,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACxD,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YACxB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gEAAgE;IAChE,qDAAqD;IAErD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,qBAAqB;IAErB;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,SAAS,CAAC,MAAuB;QACrC,IAAI,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,wCAAwC;YACxC,yCAAyC;YACzC,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,UAAU;gBAAE,OAAO;YACnD,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzD,mDAAmD;QACnD,mDAAmD;QACnD,8CAA8C;QAC9C,8CAA8C;QAC9C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAClH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,OAAO,GAA2B,MAAM,CAAC;YAC7C,OAAO,OAAO,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAClC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,wDAAwD;IAChD,KAAK,CAAC,aAAa,CAAC,MAAuB;QACjD,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,8CAA8C;QAC9C,+DAA+D;QAC/D,qDAAqD;QACrD,wDAAwD;QACxD,2CAA2C;QAC3C,iEAAiE;QACjE,iDAAiD;QACjD,4CAA4C;QAC5C,uCAAuC;QACvC,qDAAqD;QACrD,mDAAmD;QACnD,uBAAuB;QACvB,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,cAAc,GAAa,EAAE,CAAC;QAElC,OAAO,OAAO,IAAI,MAAM,GAAG,SAAS,EAAE,EAAE,CAAC;YACvC,OAAO,GAAG,KAAK,CAAC;YAChB,MAAM,EAAE,CAAC;YACT,cAAc,GAAG,EAAE,CAAC;YAEpB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnD,6CAA6C;YAC7C,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;oBAAE,SAAS;gBACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtE,IAAI,MAAM,KAAK,QAAQ;oBAAE,SAAS;gBAElC,iDAAiD;gBACjD,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACtC,KAAK;gBACP,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC;oBAC7F,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC1E,CAAC;yBAAM,IAAI,aAAa,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACjD,qCAAqC;wBACrC,yCAAyC;wBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,OAAO,mBAAmB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACH,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC1D,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,OAAO,KAAK,CAAC,UAAU,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3F,CAAC;oBACJ,CAAC;oBACD,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC5B,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzE,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,UAAU,MAAM,GAAG,EAAE,CAAC,CAAC;oBAC5E,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;YAED,WAAW;YACX,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU;gBAAE,MAAM;YAE7C,4CAA4C;YAC5C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;oBAAE,SAAS;gBACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtE,IAAI,MAAM,KAAK,QAAQ;oBAAE,SAAS;gBAClC,MAAM,cAAc,CAAC,KAAK,EAAE;oBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACxC,CAAC,CAAC;gBACH,IAAK,KAAK,CAAC,KAAqB,KAAK,QAAQ,EAAE,CAAC;oBAC9C,OAAO,GAAG,IAAI,CAAC;oBACf,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,sCAAsC;YACtC,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACjF,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;QAED,IAAI,MAAM,IAAI,SAAS,EAAE,EAAE,CAAC;YAC1B,iDAAiD;YACjD,mCAAmC;YACnC,oBAAoB;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,aAAa,MAAM,YAAY,SAAS,EAAE,cAAc;gBACtD,uBAAuB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAChE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO;QAEvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import type { ServiceContainer } from './services.js';
|
|
|
5
5
|
* provide() 的 dev-mode 校验集合:
|
|
6
6
|
* 1. entryId 必须以 ctxId 为前缀(否则 plugin 卸载时清理不到)
|
|
7
7
|
* 2. 同一上下文重复 provide 同一服务名静默失效(容器路由按 contextId)
|
|
8
|
-
* 3. priority 应使用 ServicePriority enum 而非裸数字
|
|
9
8
|
*
|
|
10
9
|
* 参数 explicitEntryId 区分"调用方有意覆盖 entryId"vs"使用 ctxId 默认值"——
|
|
11
10
|
* 前者才触发 entryId 前缀检查与抑制重复 provide warn(有意拆粒度的语义)。
|
|
@@ -17,7 +16,6 @@ export declare function validateProvide(args: {
|
|
|
17
16
|
name: string;
|
|
18
17
|
entryId: string;
|
|
19
18
|
explicitEntryId: boolean;
|
|
20
|
-
priority?: number;
|
|
21
19
|
services: ServiceContainer;
|
|
22
20
|
logger: Logger;
|
|
23
21
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services-helpers.d.ts","sourceRoot":"","sources":["../src/services-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,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"services-helpers.d.ts","sourceRoot":"","sources":["../src/services-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,eAAe,CAAC;AAEtD;;;;;;;;;GASG;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,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAoBP;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI1F"}
|
package/dist/services-helpers.js
CHANGED
|
@@ -7,12 +7,10 @@
|
|
|
7
7
|
// 这里不持有任何状态,所有副作用(注册/警告/事件)都通过参数传入的 services/
|
|
8
8
|
// logger/events 反映出去。便于单元测试(mock 即可)。
|
|
9
9
|
// ============================================================
|
|
10
|
-
import { ServicePriority } from './services.js';
|
|
11
10
|
/**
|
|
12
11
|
* provide() 的 dev-mode 校验集合:
|
|
13
12
|
* 1. entryId 必须以 ctxId 为前缀(否则 plugin 卸载时清理不到)
|
|
14
13
|
* 2. 同一上下文重复 provide 同一服务名静默失效(容器路由按 contextId)
|
|
15
|
-
* 3. priority 应使用 ServicePriority enum 而非裸数字
|
|
16
14
|
*
|
|
17
15
|
* 参数 explicitEntryId 区分"调用方有意覆盖 entryId"vs"使用 ctxId 默认值"——
|
|
18
16
|
* 前者才触发 entryId 前缀检查与抑制重复 provide warn(有意拆粒度的语义)。
|
|
@@ -20,7 +18,7 @@ import { ServicePriority } from './services.js';
|
|
|
20
18
|
* 失败模式:均为 warn(提示但不阻断)。
|
|
21
19
|
*/
|
|
22
20
|
export function validateProvide(args) {
|
|
23
|
-
const { ctxId, name, entryId, explicitEntryId,
|
|
21
|
+
const { ctxId, name, entryId, explicitEntryId, services, logger } = args;
|
|
24
22
|
if (explicitEntryId && entryId !== ctxId && !entryId.startsWith(`${ctxId}/`)) {
|
|
25
23
|
logger.warn(`服务 "${name}" 的 entryId "${entryId}" 不以 "${ctxId}/" 为前缀。` +
|
|
26
24
|
`违反约定后 plugin 卸载时可能遗漏清理。` +
|
|
@@ -33,15 +31,6 @@ export function validateProvide(args) {
|
|
|
33
31
|
`然后在 config 中用 "<name>:<suffix>" 形式注册多份。` +
|
|
34
32
|
`若是有意拆出多个子粒度 entry(如 per-model LLM),请传入 options.entryId。`);
|
|
35
33
|
}
|
|
36
|
-
if (priority !== undefined) {
|
|
37
|
-
const standard = Object.values(ServicePriority);
|
|
38
|
-
if (!standard.includes(priority)) {
|
|
39
|
-
// 裸数字作为细粒度预留滩位是合理设计(如 priority=10 在 Backend 与 Override 之间插入),
|
|
40
|
-
// 不强制使用 enum。但保留 debug 日志,方便排查「谁是默认胜者」问题。
|
|
41
|
-
logger.debug(`服务 "${name}" 使用裸数字 priority=${priority}(非 ServicePriority enum:Backend=0/Override=50/System=200)。` +
|
|
42
|
-
`这是允许的,但插件作者须自行记载该数值含义以便下游推断胜者。`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
34
|
}
|
|
46
35
|
/**
|
|
47
36
|
* 异步发射 service:registered 事件,捕获并 warn 任何监听器抛错。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services-helpers.js","sourceRoot":"","sources":["../src/services-helpers.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wCAAwC;AACxC,EAAE;AACF,qDAAqD;AACrD,uDAAuD;AACvD,EAAE;AACF,8CAA8C;AAC9C,sCAAsC;AACtC,+DAA+D;
|
|
1
|
+
{"version":3,"file":"services-helpers.js","sourceRoot":"","sources":["../src/services-helpers.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wCAAwC;AACxC,EAAE;AACF,qDAAqD;AACrD,uDAAuD;AACvD,EAAE;AACF,8CAA8C;AAC9C,sCAAsC;AACtC,+DAA+D;AAM/D;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,IAO/B;IACC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEzE,IAAI,eAAe,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CACT,OAAO,IAAI,gBAAgB,OAAO,SAAS,KAAK,SAAS;YACvD,yBAAyB;YACzB,gCAAgC,CACnC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CACT,OAAO,IAAI,cAAc,KAAK,4BAA4B;YACxD,qCAAqC;YACrC,mDAAmD;YACnD,yCAAyC;YACzC,yDAAyD,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAgB,EAAE,MAAc,EAAE,IAAY;IAClF,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAClD,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/services.d.ts
CHANGED
|
@@ -1,32 +1,11 @@
|
|
|
1
1
|
import type { DependencyDeclaration } from './types/services.js';
|
|
2
|
-
/**
|
|
3
|
-
* 服务优先级约定(数字越大越优先)
|
|
4
|
-
*
|
|
5
|
-
* 用于 `ctx.provide(name, instance, { priority })`。
|
|
6
|
-
* 同优先级时,先注册的胜出(稳定降序排序)。
|
|
7
|
-
*
|
|
8
|
-
* 设计目的:把『谁是默认胜者』变成静态、可预测的契约。
|
|
9
|
-
* 与 preferService 正交、非替代关系:优先级是静态默认序,偏好是用户显式覆盖,
|
|
10
|
-
* 解析序恒为「偏好 > 优先级 > 注册顺序」。
|
|
11
|
-
*
|
|
12
|
-
* 推荐用法:
|
|
13
|
-
* - `Backend = 0`:普通后端实现(如 plugin-llm-openai / plugin-llm-deepseek)。
|
|
14
|
-
* - `Override = 50`:用户级覆盖;同名服务希望默认胜过普通后端时使用。
|
|
15
|
-
* - `System = 200`:保留给核心系统级覆盖。
|
|
16
|
-
*
|
|
17
|
-
* 注:feat/service-granularity 之后已不再有 router/facade 层级——LLM / storage / platform
|
|
18
|
-
* 均改为按 model / root / sessionId 直接注册多 entry,跨 entry 的聚合与路由由各自
|
|
19
|
-
* `*-api` 的 helper 函数承担(`createStorageGateway` / `resolvePlatformBySession` / ...),
|
|
20
|
-
* 没有同名 facade entry,因此曾经的 `Router = 100` 槽位整体废弃。
|
|
21
|
-
*/
|
|
22
|
-
export declare const ServicePriority: {
|
|
23
|
-
readonly Backend: 0;
|
|
24
|
-
readonly Override: 50;
|
|
25
|
-
readonly System: 200;
|
|
26
|
-
};
|
|
27
|
-
export type ServicePriorityValue = (typeof ServicePriority)[keyof typeof ServicePriority];
|
|
28
2
|
export interface ServiceEntry {
|
|
29
3
|
instance: unknown;
|
|
4
|
+
/**
|
|
5
|
+
* 数字越大越优先;同值先注册者胜(稳定降序)。解析序恒为
|
|
6
|
+
* 「偏好 > 优先级 > 注册顺序」——优先级是静态默认序,偏好是用户显式覆盖。
|
|
7
|
+
* 数值含义由 provider 自行记载(部署可调,如 asr 插件把它开进 config)。
|
|
8
|
+
*/
|
|
30
9
|
priority: number;
|
|
31
10
|
contextId: string;
|
|
32
11
|
/** 可选的展示标签(如 "OpenAI / gpt-4o") */
|
|
@@ -67,7 +46,7 @@ export declare class ServiceContainer {
|
|
|
67
46
|
*/
|
|
68
47
|
private resolveEntries;
|
|
69
48
|
/**
|
|
70
|
-
*
|
|
49
|
+
* 获取当前胜者实例(偏好 > 优先级 > 注册顺序)。
|
|
71
50
|
*
|
|
72
51
|
* 不走 `resolveEntries`:那里在设了偏好时要 `find` + `filter` + spread 出一条全新的重排
|
|
73
52
|
* 数组,而这里只取首个、其余全丢。`getService` 是全仓最频繁的读(三百余处调用点),
|
|
@@ -123,7 +102,7 @@ export declare class ServiceContainer {
|
|
|
123
102
|
* 设置某服务的偏好 provider(按 contextId)
|
|
124
103
|
*
|
|
125
104
|
* 语义:偏好 > 优先级 > 注册顺序。即偏好 entry 总会被 `get()` 第一个返回,
|
|
126
|
-
* 哪怕它的 priority
|
|
105
|
+
* 哪怕它的 priority 数值低于其它 entry。
|
|
127
106
|
*
|
|
128
107
|
* @returns true 表示偏好已记录(即使目标 entry 当下尚未注册也会接受——一旦注册即生效)
|
|
129
108
|
* @internal 公开 API 走 `ctx.preferService()`(额外 emit service:preference-changed
|
package/dist/services.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,GAAG,oBAAoB,CAEpF;AAED;;;;;;;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;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAWnC;;;;;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,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IASpG;;;;;;;;;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"}
|
package/dist/services.js
CHANGED
|
@@ -1,29 +1,3 @@
|
|
|
1
|
-
// ----- 服务系统数据契约(与容器实现同文件,同 contributions.ts 的 Spec/Handle 惯例) -----
|
|
2
|
-
/**
|
|
3
|
-
* 服务优先级约定(数字越大越优先)
|
|
4
|
-
*
|
|
5
|
-
* 用于 `ctx.provide(name, instance, { priority })`。
|
|
6
|
-
* 同优先级时,先注册的胜出(稳定降序排序)。
|
|
7
|
-
*
|
|
8
|
-
* 设计目的:把『谁是默认胜者』变成静态、可预测的契约。
|
|
9
|
-
* 与 preferService 正交、非替代关系:优先级是静态默认序,偏好是用户显式覆盖,
|
|
10
|
-
* 解析序恒为「偏好 > 优先级 > 注册顺序」。
|
|
11
|
-
*
|
|
12
|
-
* 推荐用法:
|
|
13
|
-
* - `Backend = 0`:普通后端实现(如 plugin-llm-openai / plugin-llm-deepseek)。
|
|
14
|
-
* - `Override = 50`:用户级覆盖;同名服务希望默认胜过普通后端时使用。
|
|
15
|
-
* - `System = 200`:保留给核心系统级覆盖。
|
|
16
|
-
*
|
|
17
|
-
* 注:feat/service-granularity 之后已不再有 router/facade 层级——LLM / storage / platform
|
|
18
|
-
* 均改为按 model / root / sessionId 直接注册多 entry,跨 entry 的聚合与路由由各自
|
|
19
|
-
* `*-api` 的 helper 函数承担(`createStorageGateway` / `resolvePlatformBySession` / ...),
|
|
20
|
-
* 没有同名 facade entry,因此曾经的 `Router = 100` 槽位整体废弃。
|
|
21
|
-
*/
|
|
22
|
-
export const ServicePriority = {
|
|
23
|
-
Backend: 0,
|
|
24
|
-
Override: 50,
|
|
25
|
-
System: 200,
|
|
26
|
-
};
|
|
27
1
|
/**
|
|
28
2
|
* 将 string | ServiceDependency 统一为 NormalizedDependency
|
|
29
3
|
*/
|
|
@@ -85,7 +59,7 @@ export class ServiceContainer {
|
|
|
85
59
|
return [preferred, ...list.filter(e => e !== preferred)];
|
|
86
60
|
}
|
|
87
61
|
/**
|
|
88
|
-
*
|
|
62
|
+
* 获取当前胜者实例(偏好 > 优先级 > 注册顺序)。
|
|
89
63
|
*
|
|
90
64
|
* 不走 `resolveEntries`:那里在设了偏好时要 `find` + `filter` + spread 出一条全新的重排
|
|
91
65
|
* 数组,而这里只取首个、其余全丢。`getService` 是全仓最频繁的读(三百余处调用点),
|
|
@@ -192,7 +166,7 @@ export class ServiceContainer {
|
|
|
192
166
|
* 设置某服务的偏好 provider(按 contextId)
|
|
193
167
|
*
|
|
194
168
|
* 语义:偏好 > 优先级 > 注册顺序。即偏好 entry 总会被 `get()` 第一个返回,
|
|
195
|
-
* 哪怕它的 priority
|
|
169
|
+
* 哪怕它的 priority 数值低于其它 entry。
|
|
196
170
|
*
|
|
197
171
|
* @returns true 表示偏好已记录(即使目标 entry 当下尚未注册也会接受——一旦注册即生效)
|
|
198
172
|
* @internal 公开 API 走 `ctx.preferService()`(额外 emit service:preference-changed
|
package/dist/services.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
|
package/dist/types/app.d.ts
CHANGED
package/dist/types/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/types/app.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/types/app.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7C,cAAc;IACd,UAAU,IAAI,IAAI,CAAC;IAEnB,uCAAuC;IACvC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACpC;AAED,+BAA+B;AAC/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAGhB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,SAAS,IAAI,iBAAiB,EAAE,CAAC;IACjC,eAAe;IACf,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IACjD,sBAAsB;IACtB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,WAAW;IACX,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,WAAW;IACX,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,gEAAgE;IAChE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9G;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
|
package/dist/types/plugin.d.ts
CHANGED
|
@@ -44,8 +44,9 @@ export type PluginState = 'pending' | 'activating' | 'active' | 'disabled' | 'di
|
|
|
44
44
|
* 都收拢到这个判别联合上,让 PluginManager 只有一条状态转移路径。
|
|
45
45
|
*
|
|
46
46
|
* - service-up:某服务刚被 provide —— 可能让 pending 插件能激活
|
|
47
|
-
* - service-down:某服务刚被 unregister —— required
|
|
48
|
-
* optional
|
|
47
|
+
* - service-down:某服务刚被 unregister —— required 依赖其的要停用;
|
|
48
|
+
* optional 依赖其且声明了 requiresBounceOnDepChange 的才 bounce
|
|
49
|
+
* (默认不级联,期望下游每次访问时惰性 getService)
|
|
49
50
|
* - plugin-state-changed:插件被显式禁用/启用/重载/改配置后调用
|
|
50
51
|
* - shutdown:App.stop() 调用,按拓扑逆序 dispose 所有插件
|
|
51
52
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAK5E;AAID,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAElG
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAK5E;AAID,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAElG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAW3F"}
|
package/dist/types/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,EAAE;AACF,kDAAkD;AAClD,qBAAqB;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,EAAE;AACF,kDAAkD;AAClD,qBAAqB;AA2FrB;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,4BAA4B;IAC5B,uCAAuC;IACvC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACrD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACpD,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;QACzC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACvC,CAAC;AACJ,CAAC"}
|
package/dist/types/services.js
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
// 之后使用方:
|
|
19
19
|
//
|
|
20
20
|
// ```ts
|
|
21
|
-
// const m = ctx.getService('memory');
|
|
22
|
-
// const m2 = ctx.getService('memory'); // 旧式手动写法仍然可用
|
|
21
|
+
// const m = ctx.getService('memory'); // 自动推断为 MemoryService | undefined
|
|
22
|
+
// const m2 = ctx.getService<MemoryService>('memory'); // 旧式手动写法仍然可用
|
|
23
23
|
// ```
|
|
24
24
|
//
|
|
25
25
|
// ## escape hatch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/types/services.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,QAAQ;AACR,EAAE;AACF,mDAAmD;AACnD,EAAE;AACF,QAAQ;AACR,sCAAsC;AACtC,iCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B,MAAM;AACN,IAAI;AACJ,MAAM;AACN,EAAE;AACF,SAAS;AACT,EAAE;AACF,QAAQ;AACR,
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/types/services.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,QAAQ;AACR,EAAE;AACF,mDAAmD;AACnD,EAAE;AACF,QAAQ;AACR,sCAAsC;AACtC,iCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B,MAAM;AACN,IAAI;AACJ,MAAM;AACN,EAAE;AACF,SAAS;AACT,EAAE;AACF,QAAQ;AACR,yFAAyF;AACzF,oEAAoE;AACpE,MAAM;AACN,EAAE;AACF,kBAAkB;AAClB,EAAE;AACF,+BAA+B;AAC/B,4EAA4E;AAC5E,gEAAgE;AAChE,sCAAsC;AACtC,EAAE;AACF,QAAQ;AACR,EAAE;AACF,mDAAmD;AACnD,8DAA8D;AAC9D,mDAAmD"}
|