@aalis/core 0.5.1 → 0.7.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 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +4 -2
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +0 -49
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -134
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +17 -36
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +20 -52
- package/dist/context.js.map +1 -1
- package/dist/events.js +1 -1
- package/dist/events.js.map +1 -1
- package/dist/hooks.d.ts +20 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +14 -2
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +11 -3
- package/dist/logger.js.map +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +27 -6
- package/dist/plugin.js.map +1 -1
- package/dist/service.d.ts +0 -35
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +0 -52
- package/dist/service.js.map +1 -1
- package/package.json +1 -1
package/dist/context.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ScopedConfigManager } from './config.js';
|
|
2
1
|
import { DisposableChain } from './disposable-chain.js';
|
|
3
2
|
import { emitServiceRegistered, validateProvide } from './service-helpers.js';
|
|
4
3
|
/**
|
|
@@ -10,8 +9,6 @@ import { emitServiceRegistered, validateProvide } from './service-helpers.js';
|
|
|
10
9
|
* 采用 fork / inject / provide / middleware 等术语,
|
|
11
10
|
* 但 Aalis 在此之上引入若干差异化机制:
|
|
12
11
|
* - **多提供者**:`getService` / `getAllServices` 支持同名多实现并存(偏好 > 优先级 > 注册顺序)
|
|
13
|
-
* - **`ScopedServiceContainer` + `ScopedConfigManager`**:`createScope()` 创建
|
|
14
|
-
* 读取 fallback、写入隔离的子作用域,用于会话/沙盒
|
|
15
12
|
* - **`whenService(name, cb)`**:服务就绪即触发的延迟订阅,回调可返回 cleanup
|
|
16
13
|
* 纳入 dispose 链
|
|
17
14
|
*/
|
|
@@ -19,9 +16,17 @@ export class Context {
|
|
|
19
16
|
id;
|
|
20
17
|
logger;
|
|
21
18
|
config;
|
|
19
|
+
/**
|
|
20
|
+
* 钩子执行面(窄接口 {@link HookRunner})。
|
|
21
|
+
*
|
|
22
|
+
* 插件可 `ctx.hooks.run(hook, data, defaultAction)` 驱动自己定义的钩子链;
|
|
23
|
+
* 注册 handler 请用 `ctx.middleware(hook, fn)` —— 它绑定当前 ctx.id 并纳入
|
|
24
|
+
* dispose 链,插件卸载时自动清扫。完整 HookRegistry(register / onStall)
|
|
25
|
+
* 不对插件暴露,与 `_events` / `_services` 同一门面纪律。
|
|
26
|
+
*/
|
|
22
27
|
hooks;
|
|
23
28
|
/**
|
|
24
|
-
* 开发模式开关——由 App 注入,子 Context 通过 fork
|
|
29
|
+
* 开发模式开关——由 App 注入,子 Context 通过 fork 继承。
|
|
25
30
|
*
|
|
26
31
|
* - `true`(默认):`provide` 时按声明的能力跑探测器,暴露"声明与实现不符"
|
|
27
32
|
* - `false`(生产):跳过探测,节省热路径开销
|
|
@@ -31,6 +36,8 @@ export class Context {
|
|
|
31
36
|
devMode;
|
|
32
37
|
_events;
|
|
33
38
|
_services;
|
|
39
|
+
/** 完整钩子注册表——仅 Context 内部(middleware / dispose / fork)使用。 */
|
|
40
|
+
_hooks;
|
|
34
41
|
_disposables;
|
|
35
42
|
_children = new Set();
|
|
36
43
|
_parent;
|
|
@@ -39,6 +46,7 @@ export class Context {
|
|
|
39
46
|
this.id = options.id;
|
|
40
47
|
this._events = options.events;
|
|
41
48
|
this._services = options.services;
|
|
49
|
+
this._hooks = options.hooks;
|
|
42
50
|
this.hooks = options.hooks;
|
|
43
51
|
this.logger = options.logger;
|
|
44
52
|
this.config = options.config;
|
|
@@ -70,7 +78,7 @@ export class Context {
|
|
|
70
78
|
id,
|
|
71
79
|
events: this._events,
|
|
72
80
|
services: this._services,
|
|
73
|
-
hooks: this.
|
|
81
|
+
hooks: this._hooks,
|
|
74
82
|
logger: this.logger.child(id),
|
|
75
83
|
config: this.config,
|
|
76
84
|
parent: this,
|
|
@@ -79,44 +87,6 @@ export class Context {
|
|
|
79
87
|
this._children.add(child);
|
|
80
88
|
return child;
|
|
81
89
|
}
|
|
82
|
-
/**
|
|
83
|
-
* 创建隔离作用域的子上下文
|
|
84
|
-
*
|
|
85
|
-
* 与 fork() 的区别:fork() 共享同一个 ServiceContainer / ConfigManager;
|
|
86
|
-
* createScope() 同时创建:
|
|
87
|
-
* - **ScopedServiceContainer**(子容器):读 fallback、写不影响父级
|
|
88
|
-
* - **ScopedConfigManager**(cleanup-7 新增):同样 fallback + overlay 语义
|
|
89
|
-
*
|
|
90
|
-
* 适用于沙盒/会话隔离场景:
|
|
91
|
-
* - 沙盒内 `ctx.provide('agent', sandboxAgent)` 不会污染全局
|
|
92
|
-
* - 沙盒内 `ctx.getService('authority')` 仍能 fallback 到全局服务
|
|
93
|
-
* - 沙盒内 `ctx.config.set('logLevel', 'debug')` 仅作用于沙盒
|
|
94
|
-
* - 沙盒内 `ctx.config.setPluginConfig('llm.openai', { ... })` 给当前沙盒一份
|
|
95
|
-
* 临时 LLM 配置,dispose 后随作用域消失(写只进 overlay,save() 为内存
|
|
96
|
-
* 模式 no-op,磁盘不被污染)
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* const sandbox = ctx.createScope('sandbox-group-123');
|
|
100
|
-
* sandbox.provide('agent', myCustomAgent); // 仅此作用域可见
|
|
101
|
-
* sandbox.config.setPluginConfig('llm.openai', { temperature: 0.1 }); // 临时配置
|
|
102
|
-
* sandbox.getService('authority'); // fallback 到父级全局服务
|
|
103
|
-
*/
|
|
104
|
-
createScope(id) {
|
|
105
|
-
const scopedServices = this._services.createScope();
|
|
106
|
-
const scopedConfig = new ScopedConfigManager(this.config);
|
|
107
|
-
const child = new Context({
|
|
108
|
-
id,
|
|
109
|
-
events: this._events,
|
|
110
|
-
services: scopedServices,
|
|
111
|
-
hooks: this.hooks,
|
|
112
|
-
logger: this.logger.child(id),
|
|
113
|
-
config: scopedConfig,
|
|
114
|
-
parent: this,
|
|
115
|
-
devMode: this.devMode,
|
|
116
|
-
});
|
|
117
|
-
this._children.add(child);
|
|
118
|
-
return child;
|
|
119
|
-
}
|
|
120
90
|
// ---- 事件 ----
|
|
121
91
|
on(event, handler) {
|
|
122
92
|
const off = this._events.on(event, handler);
|
|
@@ -129,7 +99,7 @@ export class Context {
|
|
|
129
99
|
/**
|
|
130
100
|
* 把一个底层退订原语登记到 disposable 链,并返回**自移除**的退订函数:
|
|
131
101
|
* 调用方手动退订时,闭包不再滞留 _disposables(否则它持有 handler 引用直到
|
|
132
|
-
* ctx.dispose
|
|
102
|
+
* ctx.dispose 才释放——故所有注册 API 的退订都统一走此路径,杜绝该类泄漏)。
|
|
133
103
|
*/
|
|
134
104
|
trackDisposable(off) {
|
|
135
105
|
const dispose = () => {
|
|
@@ -168,7 +138,7 @@ export class Context {
|
|
|
168
138
|
const entry = this._services.register(name, instance, options?.priority ?? 0, entryId, options?.label);
|
|
169
139
|
const dispose = () => {
|
|
170
140
|
// 自移除:调用方手动 dispose 后,闭包不再滞留 _disposables(否则它持有
|
|
171
|
-
// entry 引用,instance 无法 GC
|
|
141
|
+
// entry 引用,instance 无法 GC,多实例热替换场景累积僵尸)。
|
|
172
142
|
// ctx.dispose 经 DisposableChain.dispose 调用本函数时 remove 返回 false,无害。
|
|
173
143
|
this._disposables.remove(dispose);
|
|
174
144
|
const removed = this._services.unregisterEntry(name, entry);
|
|
@@ -351,7 +321,7 @@ export class Context {
|
|
|
351
321
|
* });
|
|
352
322
|
*/
|
|
353
323
|
middleware(hook, fn) {
|
|
354
|
-
return this.trackDisposable(this.
|
|
324
|
+
return this.trackDisposable(this._hooks.register(hook, fn, this.id));
|
|
355
325
|
}
|
|
356
326
|
// ---- 生命周期 ----
|
|
357
327
|
get disposed() {
|
|
@@ -362,18 +332,16 @@ export class Context {
|
|
|
362
332
|
*
|
|
363
333
|
* 与 `App.plugin(...)` / `PluginManager.register(...)` 的区别:
|
|
364
334
|
* - 不进入全局 `PluginManager`(不参与依赖追踪、softReload)
|
|
365
|
-
* -
|
|
335
|
+
* - fork 一个子上下文,调用 `module.apply(child, config)`
|
|
366
336
|
* - 返回 dispose:调用即销毁该子上下文,对应子上下文里所有副作用一并清理
|
|
367
337
|
* - 父 ctx dispose 时也会级联销毁
|
|
368
338
|
*
|
|
369
339
|
* 典型场景:
|
|
370
340
|
* - 会话级动态工具/中间件
|
|
371
|
-
* - 沙盒(`createScope`)内挂载临时 mini 插件
|
|
372
341
|
* - 单元测试里组装最小可运行单元
|
|
373
342
|
*
|
|
374
343
|
* @param module 任意符合 `{ name, apply(ctx, config) }` 的对象
|
|
375
344
|
* @param config 传给 apply 的配置(默认 `{}`)
|
|
376
|
-
* @param options.scoped 是否使用 `createScope`(服务/配置隔离),默认 false 用 `fork`
|
|
377
345
|
* @returns dispose 函数;返回的 Promise 在 apply 完成后 resolve
|
|
378
346
|
*
|
|
379
347
|
* @example
|
|
@@ -389,12 +357,12 @@ export class Context {
|
|
|
389
357
|
* // ...
|
|
390
358
|
* off(); // 卸载临时中间件
|
|
391
359
|
*/
|
|
392
|
-
async useModule(module, config = {}
|
|
360
|
+
async useModule(module, config = {}) {
|
|
393
361
|
if (this._disposed) {
|
|
394
362
|
throw new Error(`Context "${this.id}" 已 dispose,无法 useModule`);
|
|
395
363
|
}
|
|
396
364
|
const childId = `${this.id}#${module.name}`;
|
|
397
|
-
const child =
|
|
365
|
+
const child = this.fork(childId);
|
|
398
366
|
try {
|
|
399
367
|
await module.apply(child, config);
|
|
400
368
|
}
|
|
@@ -468,7 +436,7 @@ export class Context {
|
|
|
468
436
|
});
|
|
469
437
|
}
|
|
470
438
|
// 清理该上下文注册的钩子
|
|
471
|
-
this.
|
|
439
|
+
this._hooks.unregisterByContext(this.id);
|
|
472
440
|
// 服务自清理协议:任何服务实例若实现 `unregisterByPlugin(contextId)`,
|
|
473
441
|
// dispose 时统一通知它清理本上下文相关的注册项(如 plugin-tools 的
|
|
474
442
|
// ToolService、plugin-commands 的 CommandService)。
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/events.js
CHANGED
|
@@ -20,7 +20,7 @@ export class EventBus {
|
|
|
20
20
|
reportHandlerError(event, error) {
|
|
21
21
|
try {
|
|
22
22
|
// onHandlerError 签名为 void,但运行时可能返回 promise(如异步 logger 实现)。
|
|
23
|
-
// 同步抛错被 catch;异步 rejection 单独吞掉,避免逃逸成 unhandledRejection
|
|
23
|
+
// 同步抛错被 catch;异步 rejection 单独吞掉,避免逃逸成 unhandledRejection。
|
|
24
24
|
const ret = this.onHandlerError?.(event, error);
|
|
25
25
|
if (ret && typeof ret.then === 'function') {
|
|
26
26
|
ret.catch(() => { });
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IACnB,mFAAmF;IAC3E,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE7D;;;;;;;OAOG;IACH,cAAc,CAA2C;IAEjD,kBAAkB,CAAC,KAAa,EAAE,KAAc;QACtD,IAAI,CAAC;YACH,2DAA2D;YAC3D,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import type { HookContextMap, MiddlewareFn } from './types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* 钩子执行面 —— `ctx.hooks` 暴露给插件的窄接口。
|
|
4
|
+
*
|
|
5
|
+
* 与 events / services 相同的门面纪律(驱动公开、挂载走 id 绑定门面):
|
|
6
|
+
* - **驱动公开**:任何插件都可 `ctx.hooks.run(...)` 驱动自己定义的钩子链
|
|
7
|
+
* (对称钩子系统的立身之本,地位等价于 `ctx.emit`);
|
|
8
|
+
* - **挂载走门面**:注册 handler 只经 `ctx.middleware(hook, fn)` —— 它闭包当前
|
|
9
|
+
* ctx.id 作 contextId 并登记 dispose 链,插件卸载时才能被 `unregisterByContext`
|
|
10
|
+
* 清扫。裸 `register` 默认落到 'root',会静默泄漏进全局管道,故不在本接口上。
|
|
11
|
+
*
|
|
12
|
+
* 完整的 {@link HookRegistry}(register / unregisterByContext / onStall)仅
|
|
13
|
+
* App(组合根,接 onStall 到 logger)与 Context 内部持有。
|
|
14
|
+
*/
|
|
15
|
+
export interface HookRunner {
|
|
16
|
+
/** 执行钩子链;语义见 {@link HookRegistry.run}。 */
|
|
17
|
+
run<K extends string & keyof HookContextMap>(hook: K, data: HookContextMap[K], defaultAction?: () => Promise<void>, opts?: {
|
|
18
|
+
warnOnStall?: boolean;
|
|
19
|
+
}): Promise<boolean>;
|
|
20
|
+
}
|
|
2
21
|
/**
|
|
3
22
|
* 钩子注册表 —— 命名生命周期事件的 handler 总线
|
|
4
23
|
*
|
|
@@ -19,7 +38,7 @@ import type { HookContextMap, MiddlewareFn } from './types/index.js';
|
|
|
19
38
|
*
|
|
20
39
|
* 第三方插件可通过 TS declaration merging 扩展 HookContextMap。
|
|
21
40
|
*/
|
|
22
|
-
export declare class HookRegistry {
|
|
41
|
+
export declare class HookRegistry implements HookRunner {
|
|
23
42
|
private hooks;
|
|
24
43
|
/**
|
|
25
44
|
* 广播型相位的"卡链"上报回调(由 App 接到 logger)。
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAOrF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAOrF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EACzC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACnC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,YAAa,YAAW,UAAU;IAE7C,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1E;;;OAGG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EAC9C,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACnC,SAAS,GAAE,MAAe,GACzB,MAAM,IAAI;IAsBb;;;;;;;;;;;;;OAaG;IACG,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,cAAc,EAC/C,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACnC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,OAAO,CAAC,OAAO,CAAC;IA8BnB;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAU7C"}
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export type { AppOptions } from './app.js';
|
|
2
2
|
export { App, createApp } from './app.js';
|
|
3
3
|
export type { AalisConfig, ConfigManagerOptions } from './config.js';
|
|
4
|
-
export { CORE_CONFIG_SCHEMA, ConfigManager
|
|
4
|
+
export { CORE_CONFIG_SCHEMA, ConfigManager } from './config.js';
|
|
5
5
|
export { Context } from './context.js';
|
|
6
6
|
export { EventBus } from './events.js';
|
|
7
|
-
export { HookRegistry } from './hooks.js';
|
|
7
|
+
export { HookRegistry, type HookRunner } from './hooks.js';
|
|
8
8
|
export type { LogEntry, LogLevel } from './logger.js';
|
|
9
9
|
export { DefaultLogger, formatLogLine, type Logger, LogHub, parseLogLine } from './logger.js';
|
|
10
10
|
export type { PluginEntry, PluginModule, PluginState } from './plugin.js';
|
|
11
11
|
export { PluginManager, parseInstanceId } from './plugin.js';
|
|
12
12
|
export type { ConfigProvider, PluginDescriptor, PluginLoader, RestartStrategy } from './providers.js';
|
|
13
13
|
export type { NormalizedDependency, ServiceEntry, ServicePriorityValue } from './service.js';
|
|
14
|
-
export {
|
|
14
|
+
export { ServiceContainer, ServicePriority } from './service.js';
|
|
15
15
|
export type { AalisEvents, AppService, ConfigSchema, DependencyDeclaration, DisposableService, HookContextMap, InjectDeclaration, MiddlewareFn, MiddlewareNext, PluginManagerService, PluginStatusEntry, SchemaArray, SchemaField, SchemaFieldType, SchemaFieldTypes, SchemaGroup, ServiceDependency, ServiceOf, ServiceTypeMap, } from './types/index.js';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9F,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtG,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// ============================================================
|
|
15
15
|
// ----- 运行时基础设施 -----
|
|
16
16
|
export { App, createApp } from './app.js';
|
|
17
|
-
export { CORE_CONFIG_SCHEMA, ConfigManager
|
|
17
|
+
export { CORE_CONFIG_SCHEMA, ConfigManager } from './config.js';
|
|
18
18
|
export { Context } from './context.js';
|
|
19
19
|
// 注:DisposableChain 是 Context 的内部清理链实现,不再从包根导出(零外部消费,
|
|
20
20
|
// 避免 semver 负担)。嵌入方如确需独立使用,从 './disposable-chain.js' 直接 import。
|
|
@@ -22,5 +22,5 @@ export { EventBus } from './events.js';
|
|
|
22
22
|
export { HookRegistry } from './hooks.js';
|
|
23
23
|
export { DefaultLogger, formatLogLine, LogHub, parseLogLine } from './logger.js';
|
|
24
24
|
export { PluginManager, parseInstanceId } from './plugin.js';
|
|
25
|
-
export {
|
|
25
|
+
export { ServiceContainer, ServicePriority } from './service.js';
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0BAA0B;AAC1B,EAAE;AACF,YAAY;AACZ,qHAAqH;AACrH,uEAAuE;AACvE,oFAAoF;AACpF,EAAE;AACF,wCAAwC;AACxC,mEAAmE;AACnE,yEAAyE;AACzE,sFAAsF;AACtF,4EAA4E;AAC5E,+DAA+D;AAG/D,sBAAsB;AACtB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,0BAA0B;AAC1B,EAAE;AACF,YAAY;AACZ,qHAAqH;AACrH,uEAAuE;AACvE,oFAAoF;AACpF,EAAE;AACF,wCAAwC;AACxC,mEAAmE;AACnE,yEAAyE;AACzE,sFAAsF;AACtF,4EAA4E;AAC5E,+DAA+D;AAG/D,sBAAsB;AACtB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,sDAAsD;AACtD,gEAAgE;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG9F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ export interface Logger {
|
|
|
49
49
|
info(message: string, ...args: unknown[]): void;
|
|
50
50
|
warn(message: string, ...args: unknown[]): void;
|
|
51
51
|
error(message: string, ...args: unknown[]): void;
|
|
52
|
-
/** 派生带子作用域的 Logger(Context fork
|
|
52
|
+
/** 派生带子作用域的 Logger(Context fork 时由 core 调用) */
|
|
53
53
|
child(scope: string): Logger;
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
@@ -57,6 +57,12 @@ export interface Logger {
|
|
|
57
57
|
*/
|
|
58
58
|
export declare class DefaultLogger implements Logger {
|
|
59
59
|
private scope;
|
|
60
|
+
/**
|
|
61
|
+
* 时钟:日志时间戳的唯一时间来源。缺省 `() => new Date()`(独立运行/测试兜底,保持现行为);
|
|
62
|
+
* 宿主(@aalis/runtime)经 `App({ now })` 显式注入,从而 core 逻辑不含 ambient 时间效应、
|
|
63
|
+
* 测试可注入固定时钟得到确定性时间戳。
|
|
64
|
+
*/
|
|
65
|
+
private readonly now;
|
|
60
66
|
private readonly minLevel;
|
|
61
67
|
private readonly hub;
|
|
62
68
|
/**
|
|
@@ -65,7 +71,13 @@ export declare class DefaultLogger implements Logger {
|
|
|
65
71
|
* @param hub 日志中枢;缺省使用 `LogHub.default`。
|
|
66
72
|
* 多 App / 沙盒场景可注入独立 `new LogHub()` 实现隔离。
|
|
67
73
|
*/
|
|
68
|
-
constructor(scope: string, minLevel?: LogLevel, hub?: LogHub
|
|
74
|
+
constructor(scope: string, minLevel?: LogLevel, hub?: LogHub,
|
|
75
|
+
/**
|
|
76
|
+
* 时钟:日志时间戳的唯一时间来源。缺省 `() => new Date()`(独立运行/测试兜底,保持现行为);
|
|
77
|
+
* 宿主(@aalis/runtime)经 `App({ now })` 显式注入,从而 core 逻辑不含 ambient 时间效应、
|
|
78
|
+
* 测试可注入固定时钟得到确定性时间戳。
|
|
79
|
+
*/
|
|
80
|
+
now?: () => Date);
|
|
69
81
|
child(scope: string): Logger;
|
|
70
82
|
debug(message: string, ...args: unknown[]): void;
|
|
71
83
|
info(message: string, ...args: unknown[]): void;
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ;2CACuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD,oCAAoC;AACpC,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAGrD;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAkB1D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,MAAM;IACjB,uCAAuC;IACvC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAgB;IAE/C,OAAO,CAAC,SAAS,CAA6C;IAC9D,8BAA8B;IAC9B,OAAO,CAAC,OAAO,CAAK;IAEpB,+CAA+C;IAC/C,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI;IAOxD,0BAA0B;IAC1B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAG5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ;2CACuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD,oCAAoC;AACpC,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAGrD;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAkB1D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,MAAM;IACjB,uCAAuC;IACvC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAgB;IAE/C,OAAO,CAAC,SAAS,CAA6C;IAC9D,8BAA8B;IAC9B,OAAO,CAAC,OAAO,CAAK;IAEpB,+CAA+C;IAC/C,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI;IAOxD,0BAA0B;IAC1B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAG5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,+CAA+C;IAC/C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;IAWxC,OAAO,CAAC,KAAK;IAGb;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG;IAlBtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B;;;;;OAKG;gBAEO,KAAK,EAAE,MAAM,EACrB,QAAQ,GAAE,QAAiB,EAC3B,GAAG,GAAE,MAAuB;IAC5B;;;;OAIG;IACc,GAAG,GAAE,MAAM,IAAuB;IAMrD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,OAAO,CAAC,GAAG;CAmBZ"}
|
package/dist/logger.js
CHANGED
|
@@ -82,6 +82,7 @@ export class LogHub {
|
|
|
82
82
|
*/
|
|
83
83
|
export class DefaultLogger {
|
|
84
84
|
scope;
|
|
85
|
+
now;
|
|
85
86
|
minLevel;
|
|
86
87
|
hub;
|
|
87
88
|
/**
|
|
@@ -90,13 +91,20 @@ export class DefaultLogger {
|
|
|
90
91
|
* @param hub 日志中枢;缺省使用 `LogHub.default`。
|
|
91
92
|
* 多 App / 沙盒场景可注入独立 `new LogHub()` 实现隔离。
|
|
92
93
|
*/
|
|
93
|
-
constructor(scope, minLevel = 'info', hub = LogHub.default
|
|
94
|
+
constructor(scope, minLevel = 'info', hub = LogHub.default,
|
|
95
|
+
/**
|
|
96
|
+
* 时钟:日志时间戳的唯一时间来源。缺省 `() => new Date()`(独立运行/测试兜底,保持现行为);
|
|
97
|
+
* 宿主(@aalis/runtime)经 `App({ now })` 显式注入,从而 core 逻辑不含 ambient 时间效应、
|
|
98
|
+
* 测试可注入固定时钟得到确定性时间戳。
|
|
99
|
+
*/
|
|
100
|
+
now = () => new Date()) {
|
|
94
101
|
this.scope = scope;
|
|
102
|
+
this.now = now;
|
|
95
103
|
this.minLevel = minLevel;
|
|
96
104
|
this.hub = hub;
|
|
97
105
|
}
|
|
98
106
|
child(scope) {
|
|
99
|
-
return new DefaultLogger(`${this.scope}:${scope}`, this.minLevel, this.hub);
|
|
107
|
+
return new DefaultLogger(`${this.scope}:${scope}`, this.minLevel, this.hub, this.now);
|
|
100
108
|
}
|
|
101
109
|
debug(message, ...args) {
|
|
102
110
|
this.log('debug', message, ...args);
|
|
@@ -115,7 +123,7 @@ export class DefaultLogger {
|
|
|
115
123
|
return;
|
|
116
124
|
// 本地时区 ISO 时间戳(YYYY-MM-DDTHH:mm:ss.sss±HH:mm)——信息保真且贴近人读。
|
|
117
125
|
// sink(console / CLI / WebUI)按显示需求自行截取,不在源头丢日期。
|
|
118
|
-
const timestamp = formatLocalIso(
|
|
126
|
+
const timestamp = formatLocalIso(this.now());
|
|
119
127
|
// 将额外参数(错误对象 / 上下文等)序列化并拼到 message 末尾,
|
|
120
128
|
// 避免 sink 只读 message 时丢失错误细节。**保持运行时中立**:只用纯 ES
|
|
121
129
|
// 原语,不依赖 node:util / window 等任何宿主 API。
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare class PluginManager {
|
|
|
28
28
|
*
|
|
29
29
|
* 用计数器而非布尔:dispose hook 内可能同步级联调用 disablePlugin/unload(级联
|
|
30
30
|
* 禁用),嵌套时内层的 finally 若复位布尔会过早解除外层的挂起态——计数器确保
|
|
31
|
-
*
|
|
31
|
+
* 只有最外层退出(归零)才解除。
|
|
32
32
|
*/
|
|
33
33
|
private suspendDepth;
|
|
34
34
|
private get suspended();
|
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;IACxB,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;gBAIb,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAkB5C;;;;;;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;IA0BzC;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAalD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCnD;;;;;OAKG;IACH,SAAS,IAAI,iBAAiB,EAAE;IAsBhC;;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;IA2CnB;;;;;;;OAOG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqC9B;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB1D;;;;;;;;;;;;;;;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;IAgCvD,wDAAwD;YAC1C,aAAa;
|
|
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;IACxB,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;gBAIb,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAkB5C;;;;;;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;IA0BzC;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAalD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiCnD;;;;;OAKG;IACH,SAAS,IAAI,iBAAiB,EAAE;IAsBhC;;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;IA2CnB;;;;;;;OAOG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqC9B;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB1D;;;;;;;;;;;;;;;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;IAgCvD,wDAAwD;YAC1C,aAAa;CAyG5B"}
|
package/dist/plugin.js
CHANGED
|
@@ -28,7 +28,7 @@ export class PluginManager {
|
|
|
28
28
|
*
|
|
29
29
|
* 用计数器而非布尔:dispose hook 内可能同步级联调用 disablePlugin/unload(级联
|
|
30
30
|
* 禁用),嵌套时内层的 finally 若复位布尔会过早解除外层的挂起态——计数器确保
|
|
31
|
-
*
|
|
31
|
+
* 只有最外层退出(归零)才解除。
|
|
32
32
|
*/
|
|
33
33
|
suspendDepth = 0;
|
|
34
34
|
get suspended() {
|
|
@@ -424,10 +424,24 @@ export class PluginManager {
|
|
|
424
424
|
let currentReason = reason;
|
|
425
425
|
let changed = true;
|
|
426
426
|
let rounds = 0;
|
|
427
|
-
|
|
428
|
-
|
|
427
|
+
// 收敛上限从图规模推导,不是调优旋钮。紧界推导:单个插件每次 recomputeOnce
|
|
428
|
+
// 至多翻转 2 次。第 2 轮起 currentReason 退化为 plugin-state-changed(见下方),
|
|
429
|
+
// 此时目标态 =「required 依赖齐则 active,否则 pending」,是服务可用集的单调
|
|
430
|
+
// 函数;依赖图无环(静态 required 环由 topoSortByDeps 检出,且只致停滞不致振荡),
|
|
431
|
+
// 故拆除波与激活波各自单调单向推进,每插件至多翻 1 次。唯一的第 2 次翻转来自
|
|
432
|
+
// 首轮 optional bounce(active→pending→再 active),而 bounce 仅第 1 轮生效、
|
|
433
|
+
// 不重复(其下游子树同样至多随之翻 2 次,仍 ≤2)。因此总翻转 ≤2N ⇒ 轮数 ≤2N:
|
|
434
|
+
// 2N 是紧的最坏界而非余量,+8 只为小 N 垫底。真振荡(激活条件互相矛盾)翻转
|
|
435
|
+
// 无界,必越过任何线性界——上限把"无限挂死"换成"有界放弃 + 点名"。
|
|
436
|
+
// 每轮现算而非入口冻结:注册期 recompute 排队立即返回,后续 app.plugin() 会在
|
|
437
|
+
// 本 recomputeOnce 在飞时追加 entry(每轮快照重取),上限须随图同步增长,否则
|
|
438
|
+
// 合法的增量注册流会被按旧规模误判为振荡。
|
|
439
|
+
const maxRounds = () => this.plugins.size * 2 + 8;
|
|
440
|
+
let lastRoundFlips = [];
|
|
441
|
+
while (changed && rounds < maxRounds()) {
|
|
429
442
|
changed = false;
|
|
430
443
|
rounds++;
|
|
444
|
+
lastRoundFlips = [];
|
|
431
445
|
const entries = [...this.plugins.values()];
|
|
432
446
|
const order = topoSortByDeps(entries, this.logger);
|
|
433
447
|
// Phase A: 反向遍历,关掉目标不是 active 的 active entry
|
|
@@ -468,6 +482,7 @@ export class PluginManager {
|
|
|
468
482
|
});
|
|
469
483
|
}
|
|
470
484
|
changed = true;
|
|
485
|
+
lastRoundFlips.push(entry.instanceId);
|
|
471
486
|
}
|
|
472
487
|
// 关机不需要再激活
|
|
473
488
|
if (currentReason.type === 'shutdown')
|
|
@@ -480,8 +495,10 @@ export class PluginManager {
|
|
|
480
495
|
if (target !== 'active')
|
|
481
496
|
continue;
|
|
482
497
|
await activatePlugin(entry, { plugins: this.plugins, rootCtx: this.rootCtx, logger: this.logger });
|
|
483
|
-
if (entry.state === 'active')
|
|
498
|
+
if (entry.state === 'active') {
|
|
484
499
|
changed = true;
|
|
500
|
+
lastRoundFlips.push(entry.instanceId);
|
|
501
|
+
}
|
|
485
502
|
}
|
|
486
503
|
// service-up / service-down 的"特殊语义"只在第一轮生效(避免无限 bounce);
|
|
487
504
|
// 第二轮起退化为普通的 plugin-state-changed 重算。
|
|
@@ -489,8 +506,12 @@ export class PluginManager {
|
|
|
489
506
|
currentReason = { type: 'plugin-state-changed' };
|
|
490
507
|
}
|
|
491
508
|
}
|
|
492
|
-
if (rounds >= maxRounds) {
|
|
493
|
-
|
|
509
|
+
if (rounds >= maxRounds()) {
|
|
510
|
+
// 静态 required 环由 topoSortByDeps 检出并另行告警;能撞到这里的只有
|
|
511
|
+
// 状态振荡(插件间激活条件互相矛盾,状态在轮次间来回翻)。点名末轮
|
|
512
|
+
// 仍在翻转的插件——矛盾对必在其中。
|
|
513
|
+
this.logger.warn(`recompute ${rounds} 轮未收敛(上限 ${maxRounds()} = 2×插件数+8),` +
|
|
514
|
+
`疑似插件间状态振荡。最后一轮仍在翻转: ${lastRoundFlips.join(', ') || '(无记录)'}`);
|
|
494
515
|
}
|
|
495
516
|
if (reason.type === 'shutdown')
|
|
496
517
|
return;
|