@aalis/plugin-trigger-policy 0.15.0 → 0.17.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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,22 @@
1
1
  import type { FlowControlService } from '@aalis/api-flow-control';
2
- import { type GatewayService } from '@aalis/api-gateway';
3
- import type { Logger, ServiceRef } from '@aalis/core';
4
- import type { TriggerPolicyConfig } from './config.js';
2
+ import type { GatewayService } from '@aalis/api-gateway';
3
+ import type { Logger, ServiceSelection } from '@aalis/core';
4
+ import type { TriggerPolicyConfig, TriggerPolicySettings } from './config.js';
5
5
  import { type TriggerSessionState } from './state.js';
6
- /** 调度器用到的能力:日志、网关与流控闸门(只读当前提供者),以及本插件此刻是否生效 */
6
+ /** 调度器用到的能力:日志、网关与流控闸门(只读当前提供者)、本插件此刻是否生效,以及按会话现读参数 */
7
7
  export interface IdleCaps {
8
8
  logger: Logger;
9
- gateway: Pick<ServiceRef<GatewayService>, 'current'>;
10
- flowControl: Pick<ServiceRef<FlowControlService>, 'current'>;
9
+ gateway: Pick<ServiceSelection<GatewayService>, 'present' | 'use'>;
10
+ flowControl: Pick<ServiceSelection<FlowControlService>, 'present' | 'use'>;
11
11
  isActive(): boolean;
12
+ /** 一个会话此刻的参数;不给会话时取全局层 */
13
+ settingsOf(sessionId?: string, platform?: string): TriggerPolicySettings;
12
14
  }
13
- export declare function scheduleSessionIdle(caps: IdleCaps, cfg: TriggerPolicyConfig, state: TriggerSessionState, sessionId: string, reschedule: () => void): void;
15
+ export declare function scheduleSessionIdle(caps: IdleCaps, state: TriggerSessionState, sessionId: string, reschedule: () => void): void;
14
16
  export declare function clearSessionIdle(state: TriggerSessionState): void;
15
17
  export declare class PlatformIdleScheduler {
16
18
  private readonly caps;
17
- private readonly cfg;
19
+ private readonly strategy;
18
20
  private readonly states;
19
21
  private timer;
20
22
  private running;
@@ -22,8 +24,10 @@ export declare class PlatformIdleScheduler {
22
24
  private stopped;
23
25
  /** start() 时刻——无任何活动记录时拿它当「最后一次活动」的基准 */
24
26
  private startedAt;
25
- constructor(caps: IdleCaps, cfg: TriggerPolicyConfig, states: Map<string, TriggerSessionState>);
27
+ constructor(caps: IdleCaps, strategy: TriggerPolicyConfig['idleTriggerStrategy'], states: Map<string, TriggerSessionState>);
26
28
  start(): void;
29
+ /** 全局层改了:没在排 tick(原来关着)时按新值排一次;已在排的到下一个 tick 自然按新值 */
30
+ wake(): void;
27
31
  stop(): void;
28
32
  /** 距离全部会话静默达标还需多少 ms(返回 0 = 已达标) */
29
33
  private timeUntilAllQuiet;
@@ -31,6 +35,7 @@ export declare class PlatformIdleScheduler {
31
35
  private pickTarget;
32
36
  /** 跑一次 tick(发没发出去都不影响重排间隔,故无返回值) */
33
37
  private runOnce;
38
+ /** 排下一个 tick;afterTick 为真时至少隔一个阈值量级(见回调末尾) */
34
39
  private schedule;
35
40
  }
36
41
  //# sourceMappingURL=idle-scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"idle-scheduler.d.ts","sourceRoot":"","sources":["../src/idle-scheduler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtE,+CAA+C;AAC/C,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC;IACrD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,QAAQ,IAAI,OAAO,CAAC;CACrB;AA8BD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,IAAI,GACrB,IAAI,CAsCN;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAKjE;AAOD,qBAAa,qBAAqB;IAS9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,OAAO,CAAS;IACxB,uDAAuD;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,yCAAyC;IACzC,OAAO,CAAC,SAAS,CAAK;gBAGH,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAG3D,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAQZ,oCAAoC;IACpC,OAAO,CAAC,iBAAiB;IAazB,gCAAgC;IAChC,OAAO,CAAC,UAAU;IAiBlB,oCAAoC;YACtB,OAAO;IA2BrB,OAAO,CAAC,QAAQ;CAiCjB"}
1
+ {"version":3,"file":"idle-scheduler.d.ts","sourceRoot":"","sources":["../src/idle-scheduler.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtE,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IACnE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IAC3E,QAAQ,IAAI,OAAO,CAAC;IACpB,0BAA0B;IAC1B,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAC1E;AA8BD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,IAAI,GACrB,IAAI,CA2CN;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAKjE;AAOD,qBAAa,qBAAqB;IAS9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,OAAO,CAAS;IACxB,uDAAuD;IACvD,OAAO,CAAC,OAAO,CAAQ;IACvB,yCAAyC;IACzC,OAAO,CAAC,SAAS,CAAK;gBAGH,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,EACpD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAG3D,KAAK,IAAI,IAAI;IAMb,sDAAsD;IACtD,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;IAQZ,oCAAoC;IACpC,OAAO,CAAC,iBAAiB;IAazB,gCAAgC;IAChC,OAAO,CAAC,UAAU;IAiBlB,oCAAoC;YACtB,OAAO;IA2BrB,8CAA8C;IAC9C,OAAO,CAAC,QAAQ;CAoCjB"}
@@ -2,8 +2,8 @@
2
2
  //
3
3
  // session 范围:每会话一个 setTimeout,触发时合成 system 提示注入 gateway。
4
4
  // platform 范围:跨平台一个 tick,挑"最久未联系"的 session 主动开聊。
5
+ // 参数不在这里存:每次排定时器与每个 tick 都按会话现读(platform 范围的开关与间隔取全局层),改了下一次起生效。
5
6
  // 到点时本插件不是生效的触发插件(trigger 服务胜者)就不开口:不注入,也不记为 bot 开口。
6
- import { resolveEffectiveConfig } from '@aalis/api-gateway';
7
7
  import { lastActivityOf } from './state.js';
8
8
  const DEFAULT_PROMPT = '当前会话已长时间无消息,请根据人设主动开启一个轻松的话题或问候。不要提及"系统提示"或表明你是被触发发言的。';
9
9
  function buildIdleMessage(sessionId, platform, prompt) {
@@ -20,16 +20,17 @@ function buildIdleMessage(sessionId, platform, prompt) {
20
20
  * 那时 inbound:message 同样无人消费(消费方就是 gateway 插件),这次注入只记一条 debug 放弃
21
21
  */
22
22
  async function injectIdle(caps, msg) {
23
- const gateway = caps.gateway.current;
24
- if (!gateway) {
23
+ if (!caps.gateway.present) {
25
24
  caps.logger.debug(`[trigger] 空闲触发放弃(gateway 缺席): session=${msg.sessionId}`);
26
25
  return;
27
26
  }
27
+ const gateway = caps.gateway.use;
28
28
  await gateway.ingressMessage(msg);
29
29
  }
30
30
  // ===== session 范围调度 =====
31
- export function scheduleSessionIdle(caps, cfg, state, sessionId, reschedule) {
31
+ export function scheduleSessionIdle(caps, state, sessionId, reschedule) {
32
32
  clearSessionIdle(state);
33
+ const cfg = caps.settingsOf(sessionId, state.platform);
33
34
  if (cfg.idleTriggerScope !== 'session')
34
35
  return;
35
36
  if (cfg.idleTriggerMinutes <= 0)
@@ -48,7 +49,11 @@ export function scheduleSessionIdle(caps, cfg, state, sessionId, reschedule) {
48
49
  state.idleTimer = setTimeout(async () => {
49
50
  try {
50
51
  // 本插件不生效、或禁言期(flow 相位也会吞,这里省掉一次注入)不开口:跳过本次并按原退避重排
51
- const skip = !caps.isActive() ? '触发策略未生效' : caps.flowControl.current?.isMuted(sessionId) ? '禁言中' : '';
52
+ const skip = !caps.isActive()
53
+ ? '触发策略未生效'
54
+ : (caps.flowControl.present ? caps.flowControl.use.isMuted(sessionId) : undefined)
55
+ ? '禁言中'
56
+ : '';
52
57
  if (skip) {
53
58
  caps.logger.debug(`[trigger] 空闲触发跳过(${skip}): session=${sessionId}`);
54
59
  reschedule();
@@ -79,17 +84,17 @@ export function clearSessionIdle(state) {
79
84
  const IDLE_RETRY_MIN_MS = 60_000;
80
85
  export class PlatformIdleScheduler {
81
86
  caps;
82
- cfg;
87
+ strategy;
83
88
  states;
84
89
  timer = null;
85
90
  running = false;
86
91
  /** stop() 之后不再重排——tick 回调可能已在飞行中,回来时要认这面旗,否则留下僵尸定时器 */
87
- stopped = false;
92
+ stopped = true;
88
93
  /** start() 时刻——无任何活动记录时拿它当「最后一次活动」的基准 */
89
94
  startedAt = 0;
90
- constructor(caps, cfg, states) {
95
+ constructor(caps, strategy, states) {
91
96
  this.caps = caps;
92
- this.cfg = cfg;
97
+ this.strategy = strategy;
93
98
  this.states = states;
94
99
  }
95
100
  start() {
@@ -97,6 +102,11 @@ export class PlatformIdleScheduler {
97
102
  this.startedAt = Date.now();
98
103
  this.schedule();
99
104
  }
105
+ /** 全局层改了:没在排 tick(原来关着)时按新值排一次;已在排的到下一个 tick 自然按新值 */
106
+ wake() {
107
+ if (!this.timer && !this.running)
108
+ this.schedule();
109
+ }
100
110
  stop() {
101
111
  this.stopped = true;
102
112
  if (this.timer) {
@@ -120,14 +130,14 @@ export class PlatformIdleScheduler {
120
130
  }
121
131
  /** 选一个最适合主动开聊的会话(带该会话的有效提示词) */
122
132
  pickTarget() {
123
- const flow = this.caps.flowControl.current;
133
+ const flow = this.caps.flowControl.present ? this.caps.flowControl.use : undefined;
124
134
  let best = null;
125
135
  for (const [sid, s] of this.states) {
126
- // 禁言会话选了也会被 flow 相位吞掉;冷却对闲置注入只在这里把关(flow 相位对内部注入不查冷却),限速在 flow 相位(作用域内)还会再查一次
136
+ // 禁言会话选了也会被 flow 相位吞掉;冷却对闲置注入只在这里把关(flow 相位对内部注入不查冷却),限速在 flow 相位(生效范围内)还会再查一次
127
137
  if (flow?.isMuted(sid) || flow?.isCoolingDown(sid) || flow?.isRateLimited(sid))
128
138
  continue;
129
- const e = resolveEffectiveConfig(this.cfg, s.platform, s.sessionType, s.targetId);
130
- // per-scope 覆盖单独关掉('off')或改成 session 档的会话不能被 platform 档抓来开聊
139
+ const e = this.caps.settingsOf(sid, s.platform);
140
+ // 按会话单独关掉('off')或改成 session 档的会话不能被 platform 档抓来开聊
131
141
  if (e.idleTriggerScope !== 'platform')
132
142
  continue;
133
143
  const lastActivity = lastActivityOf(s);
@@ -165,20 +175,23 @@ export class PlatformIdleScheduler {
165
175
  this.running = false;
166
176
  }
167
177
  }
168
- schedule(minDelayMs = 0) {
178
+ /** 排下一个 tick;afterTick 为真时至少隔一个阈值量级(见回调末尾) */
179
+ schedule(afterTick = false) {
169
180
  if (this.stopped)
170
181
  return;
171
182
  if (this.timer) {
172
183
  clearTimeout(this.timer);
173
184
  this.timer = null;
174
185
  }
175
- if (this.cfg.idleTriggerScope !== 'platform')
186
+ // 开关与间隔取全局层,每次排时现读
187
+ const global = this.caps.settingsOf();
188
+ if (global.idleTriggerScope !== 'platform')
176
189
  return;
177
- if (this.cfg.idleTriggerMinutes <= 0)
190
+ if (global.idleTriggerMinutes <= 0)
178
191
  return;
179
- const baseMs = this.cfg.idleTriggerMinutes * 60_000;
192
+ const baseMs = global.idleTriggerMinutes * 60_000;
180
193
  let delay;
181
- if (this.cfg.idleTriggerStrategy === 'fixed') {
194
+ if (this.strategy === 'fixed') {
182
195
  delay = baseMs;
183
196
  }
184
197
  else {
@@ -186,10 +199,11 @@ export class PlatformIdleScheduler {
186
199
  if (delay === 0)
187
200
  delay = 1000;
188
201
  }
189
- if (delay < minDelayMs)
190
- delay = minDelayMs;
202
+ if (afterTick)
203
+ delay = Math.max(delay, baseMs, IDLE_RETRY_MIN_MS);
191
204
  this.timer = setTimeout(async () => {
192
- if (this.cfg.idleTriggerStrategy === 'all-quiet') {
205
+ this.timer = null;
206
+ if (this.strategy === 'all-quiet') {
193
207
  const remaining = this.timeUntilAllQuiet(baseMs);
194
208
  if (remaining > 0) {
195
209
  this.schedule();
@@ -198,8 +212,8 @@ export class PlatformIdleScheduler {
198
212
  }
199
213
  await this.runOnce();
200
214
  // 每轮之后**无条件**退避一个阈值量级:无候选时静默达标条件在 tick 之后仍然成立,
201
- // 照 delay===0→1s 重排就是 1 Hz 死转。发没发出去都一样等,语义是「每轮之间至少隔一个阈值量级」。
202
- this.schedule(Math.max(baseMs, IDLE_RETRY_MIN_MS));
215
+ // 照 delay===0→1s 重排就是 1 Hz 死转。发没发出去都一样等,语义是「每轮之间至少隔一个阈值量级」(按此刻的全局值)。
216
+ this.schedule(true);
203
217
  }, delay);
204
218
  }
205
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"idle-scheduler.js","sourceRoot":"","sources":["../src/idle-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idle-scheduler.js","sourceRoot":"","sources":["../src/idle-scheduler.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { type TriggerService } from '@aalis/api-trigger';
2
- import { type TriggerPolicyConfig } from './config.js';
3
2
  declare const _default: import("@aalis/core").PluginDefinition<{
4
3
  logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
5
4
  events: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Events, import("@aalis/core").Events>;
@@ -7,17 +6,20 @@ declare const _default: import("@aalis/core").PluginDefinition<{
7
6
  lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").LifecycleCap, import("@aalis/core").LifecycleCap>;
8
7
  config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
9
8
  provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
10
- gateway: import("@aalis/core").ServiceDescriptor<import("@aalis/api-gateway").GatewayService, import("@aalis/core").ServiceRef<import("@aalis/api-gateway").GatewayService>>;
9
+ gateway: import("@aalis/core").ServiceDescriptor<import("@aalis/api-gateway").GatewayService, import("@aalis/api-gateway").GatewayService>;
11
10
  /**
12
11
  * trigger 由本插件自己提供,只能声明成 optional:写 required 会把激活闸架在自己的产出上。
13
12
  * 经它判断本插件是不是生效的触发插件(服务胜者)。
14
13
  */
15
- trigger: import("@aalis/core").OptionalUse<TriggerService, import("@aalis/core").ServiceRef<TriggerService>>;
16
- flowControl: import("@aalis/core").OptionalUse<import("@aalis/api-flow-control").FlowControlService, import("@aalis/core").ServiceRef<import("@aalis/api-flow-control").FlowControlService>>;
17
- persona: import("@aalis/core").OptionalUse<import("@aalis/api-persona").PersonaService, import("@aalis/core").ServiceRef<import("@aalis/api-persona").PersonaService>>;
18
- sessionManager: import("@aalis/core").OptionalUse<import("@aalis/api-session-manager").SessionManagerService, import("@aalis/core").ServiceRef<import("@aalis/api-session-manager").SessionManagerService>>;
19
- messageArchive: import("@aalis/core").OptionalUse<import("@aalis/api-message-archive").MessageArchiveService, import("@aalis/core").ServiceRef<import("@aalis/api-message-archive").MessageArchiveService>>;
14
+ trigger: import("@aalis/core").OptionalUse<TriggerService, TriggerService>;
15
+ flowControl: import("@aalis/core").OptionalUse<import("@aalis/api-flow-control").FlowControlService, import("@aalis/api-flow-control").FlowControlService>;
16
+ persona: import("@aalis/core").OptionalUse<import("@aalis/api-persona").PersonaService, import("@aalis/api-persona").PersonaService>;
17
+ messageArchive: import("@aalis/core").OptionalUse<import("@aalis/api-message-archive").MessageArchiveService, import("@aalis/api-message-archive").MessageArchiveService>;
18
+ sessionManager: import("@aalis/core").OptionalUse<import("@aalis/api-session-manager").SessionManagerService, import("@aalis/api-session-manager").SessionManagerService>;
19
+ /** 按会话读生效范围与参数;缺席时取插件配置里的值 */
20
+ sessionFields: import("@aalis/core").OptionalUse<import("@aalis/api-session-settings").SessionSettingsService, import("@aalis/api-session-settings").SessionFields>;
21
+ /** 按会话字段的全局层:宿主配置文档里本实例的那一段 */
22
+ document: import("@aalis/core").OptionalUse<import("@aalis/api-host-config").HostConfig, import("@aalis/api-host-config").OwnHostConfig>;
20
23
  }>;
21
24
  export default _default;
22
- export type { TriggerPolicyConfig };
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;;;;;;;;;IAuBpF;;;OAGG;;;;;;;AAYL,wBAQG;AAwLH,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAOL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;;;;;;;;;IA4B1B;;;OAGG;;;;;;IASH,8BAA8B;;IAE9B,+BAA+B;;;AAKjC,wBAQG"}
package/dist/index.js CHANGED
@@ -1,15 +1,19 @@
1
1
  import { flowControl } from '@aalis/api-flow-control';
2
- import { extractTargetId, gateway, INBOUND_PHASE, isScopeEnabled, resolveEffectiveConfig } from '@aalis/api-gateway';
2
+ import { audienceIncludes, gateway, INBOUND_PHASE } from '@aalis/api-gateway';
3
3
  import { hooks } from '@aalis/api-hooks';
4
+ import { ownHostConfig } from '@aalis/api-host-config';
4
5
  import { messageArchive } from '@aalis/api-message-archive';
5
6
  import { persona } from '@aalis/api-persona';
6
- import { sessionManager } from '@aalis/api-session-manager';
7
+ import { fromElsewhere, sessionManager } from '@aalis/api-session-manager';
8
+ import { sessionFields } from '@aalis/api-session-settings';
7
9
  import { archiveSwallowed, createBotNames, hitsMuteKeyword, isActiveTrigger, isAddressed, markTriggered, trigger, } from '@aalis/api-trigger';
8
10
  import { config, definePlugin, events, lifecycle, logger, optional, provide } from '@aalis/core';
9
11
  import { parseConfig } from '@aalis/schema-config';
10
- import { configSchema, normalizeConfig } from './config.js';
12
+ import { arrivalTag } from '@aalis/schema-message';
13
+ import { configSchema, normalizeSettings } from './config.js';
11
14
  import { clearSessionIdle, PlatformIdleScheduler, scheduleSessionIdle } from './idle-scheduler.js';
12
15
  import { applyScoreDecay, calculateScoreIncrement, createState, getCurrentThreshold, sweepStaleStates, } from './state.js';
16
+ import { t } from './texts.js';
13
17
  // ----- 元数据 -----
14
18
  // ----- 入口 -----
15
19
  const uses = {
@@ -28,14 +32,18 @@ const uses = {
28
32
  // 缺席时不设禁言:关键词照样吞掉本条,但不会写入禁言期
29
33
  flowControl: optional(flowControl),
30
34
  persona: optional(persona),
31
- // 名字表按会话取人设:解析会话配置里的角色卡;缺席时取全局默认的卡
32
- sessionManager: optional(sessionManager),
33
35
  // 缺席时被吞掉的消息不进档,判定照常
34
36
  messageArchive: optional(messageArchive),
37
+ // 判从别的平台往房间里插话(入口平台与房间的出生平台不同);缺席时判不出,按消息自身判
38
+ sessionManager: optional(sessionManager),
39
+ /** 按会话读生效范围与参数;缺席时取插件配置里的值 */
40
+ sessionFields: optional(sessionFields),
41
+ /** 按会话字段的全局层:宿主配置文档里本实例的那一段 */
42
+ document: optional(ownHostConfig),
35
43
  };
36
44
  export default definePlugin({
37
45
  name: '@aalis/plugin-trigger-policy',
38
- displayName: '触发策略',
46
+ displayName: t('displayName'),
39
47
  subsystem: 'scheduler',
40
48
  configSchema,
41
49
  provides: [trigger],
@@ -44,28 +52,32 @@ export default definePlugin({
44
52
  });
45
53
  function run(caps) {
46
54
  const { logger, events, hooks, lifecycle, provide, flowControl, messageArchive } = caps;
47
- const cfg = normalizeConfig(parseConfig(configSchema, caps.config, logger), logger);
55
+ const cfg = parseConfig(configSchema, caps.config.use, logger.use);
56
+ const fields = caps.sessionFields.use.fields(configSchema, caps);
57
+ /** 一个会话此刻的参数,每次现读(改了下一条消息起生效);不给会话时取全局层 */
58
+ const settingsOf = (sessionId, platform) => normalizeSettings(fields.get(sessionId, { platform }));
48
59
  const states = new Map();
49
- /** 名字表:别名与全部人设按会话取的名字、昵称;某个人设读名字出错只跳过它的名字 */
50
- const botNames = createBotNames(caps.persona, caps.sessionManager, logger, '[trigger]');
51
- // 本插件在 trigger 服务里的实例:服务胜者是它时本插件生效,否则对每条消息直接放行、闲置也不开口
52
- const self = { label: '规则(计数/评分)' };
53
- provide(trigger, self, { label: self.label });
54
- const isActive = () => caps.trigger.current === self;
55
- const idleCaps = { logger, gateway: caps.gateway, flowControl, isActive };
56
- const platformIdle = new PlatformIdleScheduler(idleCaps, cfg, states);
60
+ /** 名字表:别名与在用的人设按会话取的名字、昵称;人设读名字出错时只剩别名 */
61
+ const botNames = createBotNames(caps.persona, logger.use, '[trigger]');
62
+ // 本插件在 trigger 服务里的实例:服务选中的是它(条目 id 即本插件的实例 id)时本插件生效,否则对每条消息直接放行、
63
+ // 闲置也不开口
64
+ const self = { label: t('triggerLabel') };
65
+ const selfId = lifecycle.use.id;
66
+ provide.use(trigger, self, { label: self.label });
67
+ const isActive = () => caps.trigger.list().find(p => p.selected)?.id === selfId;
68
+ const idleCaps = { logger: logger.use, gateway: caps.gateway, flowControl, isActive, settingsOf };
69
+ const platformIdle = new PlatformIdleScheduler(idleCaps, cfg.idleTriggerStrategy, states);
57
70
  /** 计数与活跃指数清零(禁言与判定放行时) */
58
71
  function resetCounters(s) {
59
72
  s.messageCount = 0;
60
73
  s.activityScore = 0;
61
74
  }
62
- /** 按会话重排 session 档 idle(非 session 档时只清定时器) */
75
+ /** 按会话重排 session 档 idle(非 session 档时只清定时器);参数按会话现读 */
63
76
  function rescheduleIdle(sessionId) {
64
77
  const s = states.get(sessionId);
65
78
  if (!s)
66
79
  return;
67
- const e = resolveEffectiveConfig(cfg, s.platform, s.sessionType, s.targetId);
68
- scheduleSessionIdle(idleCaps, e, s, sessionId, () => rescheduleIdle(sessionId));
80
+ scheduleSessionIdle(idleCaps, s, sessionId, () => rescheduleIdle(sessionId));
69
81
  }
70
82
  /** 记一条真人入站的计数:评分衰减、计数、评分增量、用户交互。衰减按上一条消息的时间算,须在 recordActivity 之前调用 */
71
83
  function recordIncoming(s, e, userId) {
@@ -77,7 +89,7 @@ function run(caps) {
77
89
  }
78
90
  /**
79
91
  * 记一次真人活动:最近消息时间、闲置退避复位为 1,并从现在起重排 session 档 idle。
80
- * 作用域内的真人消息都算,禁言期内与命中禁言关键词的也算(它们只是不计数)
92
+ * 生效范围内的真人消息都算,禁言期内与命中禁言关键词的也算(它们只是不计数)
81
93
  */
82
94
  function recordActivity(sessionId, s) {
83
95
  s.lastMessageTime = Date.now();
@@ -107,35 +119,36 @@ function run(caps) {
107
119
  const reason = `计数=${s.messageCount}/${e.fixedInterval} 指数=${s.activityScore.toFixed(3)} (阈值=${threshold.toFixed(3)})`;
108
120
  return { speak, reason };
109
121
  }
110
- logger.info(`[trigger] 已启用 (模式=${cfg.intervalMode}, 固定间隔=${cfg.fixedInterval}, ` +
111
- `阈值=${cfg.activityScoreLower}~${cfg.activityScoreUpper}, @提及=${cfg.triggerOnAt}, ` +
112
- `别名=${cfg.triggerNames.length}, mute关键词=${cfg.muteKeywords.length}, mute时长=${cfg.muteTimeSeconds}s, ` +
113
- `idle=${cfg.idleTriggerScope}/${cfg.idleTriggerStrategy}, scopes=${cfg.scopes.join('|') || '<空>'}, ` +
114
- `overrides=${cfg.overrides.length})`);
122
+ // 启动日志写全局层;按会话设的另在各层
123
+ const global = settingsOf();
124
+ logger.use.info(`[trigger] 已启用 (生效范围=${global.audience}, 模式=${global.intervalMode}, 固定间隔=${global.fixedInterval}, ` +
125
+ `阈值=${global.activityScoreLower}~${global.activityScoreUpper}, @提及=${global.triggerOnAt}, ` +
126
+ `别名=${global.triggerNames.length}, mute关键词=${global.muteKeywords.length}, mute时长=${global.muteTimeSeconds}s, ` +
127
+ `idle=${global.idleTriggerScope}/${cfg.idleTriggerStrategy})`);
115
128
  // ===== inbound:trigger 相位:要不要开口 =====
116
129
  // 由 plugin-gateway 在 inbound:command 之后、inbound:flow 之前触发。放行的消息写好 triggerType,
117
130
  // 交给 flow 相位做节流硬闸(immediate 穿透冷却与限速)。判定是同步的:记入站、判定、清零在同一拍做完,
118
131
  // 同一会话接连到达的消息按到达顺序逐条判定,放行顺序即到达顺序。
119
- hooks.middleware(INBOUND_PHASE.TRIGGER, async (data, next) => {
132
+ hooks.use.middleware(INBOUND_PHASE.TRIGGER, async (data, next) => {
120
133
  // 不是生效的触发插件:什么都不做(不计数、不识别、不归档),交给生效者或往下走
121
- if (!isActiveTrigger(data, caps.trigger, self))
134
+ if (!isActiveTrigger(data, caps.trigger, selfId))
122
135
  return next();
123
- const { message } = data;
124
- // 内部注入(闲置触发、定时任务、workflow、跨会话委派)都带 source,跳过策略:不计数、不改 triggerType。
125
- // 真人消息由平台适配器投递,不设 source。
126
- if (message.source)
127
- return next();
128
- // 不在触发策略作用域内(默认 *:group):直接放行。
129
- // 必须在 mute 检查之前进行,否则 QQ 群的 mute 关键词会泄漏到 WebUI/私聊等不在 scope 内的会话。
130
- const tid = extractTargetId(message);
131
- if (!isScopeEnabled(cfg, message.platform, message.sessionType, tid))
136
+ const { message, chat } = data;
137
+ // 内部注入(闲置触发、定时任务、workflow)都带 source(网关不给聊天窗口),跳过策略:不计数、不改 triggerType。
138
+ // 真人消息由平台适配器投递,不设 source。从别的平台往房间里插话(owner 从 WebUI 往群里发)同样直接放行
139
+ if (!chat || fromElsewhere(message, caps.sessionManager))
132
140
  return next();
133
141
  const sessionId = message.sessionId;
134
- const flow = flowControl.current;
135
- // 作用域内的真人消息都是会话活动,禁言期内的也是:会话还没有状态(如平台禁言先于任何消息)就在这里建
142
+ const e = settingsOf(sessionId, message.platform);
143
+ // 不在生效范围内(默认只管多方房间):直接放行。
144
+ // 必须在 mute 检查之前进行,否则群里的 mute 关键词会泄漏到私聊等不在范围内的会话。
145
+ if (!audienceIncludes(e.audience, chat.multiParty))
146
+ return next();
147
+ const flow = flowControl.present ? flowControl.use : undefined;
148
+ // 范围内的真人消息都是会话活动,禁言期内的也是:会话还没有状态(如平台禁言先于任何消息)就在这里建
136
149
  let s = states.get(sessionId);
137
150
  if (!s) {
138
- s = createState(message.platform, message.sessionType, tid);
151
+ s = createState(message.platform);
139
152
  states.set(sessionId, s);
140
153
  }
141
154
  // 禁言期:不累计计数,已攒的计数与评分清零(平台禁言只能在这里清:禁言期来消息时);
@@ -145,24 +158,23 @@ function run(caps) {
145
158
  recordActivity(sessionId, s);
146
159
  return next();
147
160
  }
148
- const e = resolveEffectiveConfig(cfg, message.platform, message.sessionType, tid);
149
161
  // 禁言关键词:设置自禁言、计数与评分当场清零,记为真人活动,吞掉本条
150
162
  if (hitsMuteKeyword(message, e.muteKeywords)) {
151
- logger.info(`[trigger] mute 关键词命中 → swallow + setMuted(${e.muteTimeSeconds}s): ${sessionId}`);
163
+ logger.use.info(`[trigger] mute 关键词命中 → swallow + setMuted(${e.muteTimeSeconds}s): ${sessionId}`);
152
164
  flow?.setMuted(sessionId, e.muteTimeSeconds, message.platform);
153
165
  resetCounters(s);
154
166
  recordActivity(sessionId, s);
155
- await archiveSwallowed(message, messageArchive, logger, '[trigger]');
167
+ await archiveSwallowed(message, messageArchive, logger.use, '[trigger]');
156
168
  return; // swallow
157
169
  }
158
170
  recordIncoming(s, e, message.userId);
159
171
  recordActivity(sessionId, s);
160
172
  const addressed = isAddressed(message, botNames(e.triggerNames, message), e);
161
173
  const decision = decide(s, e, addressed);
162
- // 判定日志:不含消息正文
163
- logger.debug(`[trigger] 判定 | session=${sessionId} | speak=${decision.speak} | addressed=${addressed} | reason=${decision.reason}`);
174
+ // 判定日志:不含消息正文,带到达序号
175
+ logger.use.debug(`[trigger] 判定${arrivalTag(message)} | session=${sessionId} | speak=${decision.speak} | addressed=${addressed} | reason=${decision.reason}`);
164
176
  if (!decision.speak) {
165
- await archiveSwallowed(message, messageArchive, logger, '[trigger]');
177
+ await archiveSwallowed(message, messageArchive, logger.use, '[trigger]');
166
178
  return; // swallow
167
179
  }
168
180
  // 判定放行即复位:之后若被 flow 相位的冷却/限速吞掉,这次触发作废
@@ -173,7 +185,7 @@ function run(caps) {
173
185
  });
174
186
  // agent 真实回复:记为 bot 开口并重排 session 档 idle。不复位退避——bot 回复闲置提示不算真人活动。
175
187
  // 不生效时不记(闲置也不开口)
176
- events.on('outbound:message', (msg) => {
188
+ events.use.on('outbound:message', (msg) => {
177
189
  if (msg.source !== 'agent' || !msg.sessionId || !isActive())
178
190
  return;
179
191
  const s = states.get(msg.sessionId);
@@ -182,20 +194,21 @@ function run(caps) {
182
194
  s.lastBotActivityAt = Date.now();
183
195
  rescheduleIdle(msg.sessionId);
184
196
  });
185
- // 平台级 idle 启动
186
- events.on('app:ready', () => {
197
+ // 平台级 idle 启动;全局层改了(宿主文档变化)时原来关着的随即按新值排
198
+ events.use.on('app:ready', () => {
187
199
  platformIdle.start();
188
200
  });
201
+ events.use.on('host-config:changed', () => platformIdle.wake());
189
202
  // 长寿进程下避免 states 无限增长:每天扫描一次,清理 30 天无活动且无 idle 定时器的会话
190
203
  const SWEEP_INTERVAL_MS = 24 * 60 * 60 * 1000;
191
204
  const sweepTimer = setInterval(() => {
192
205
  const cleaned = sweepStaleStates(states, Date.now());
193
206
  if (cleaned > 0)
194
- logger.debug(`[trigger] TTL 清理已淘汰 ${cleaned} 个长期非活跃会话状态`);
207
+ logger.use.debug(`[trigger] TTL 清理已淘汰 ${cleaned} 个长期非活跃会话状态`);
195
208
  }, SWEEP_INTERVAL_MS);
196
209
  if (typeof sweepTimer.unref === 'function')
197
210
  sweepTimer.unref();
198
- lifecycle.onDispose(() => {
211
+ lifecycle.use.onDispose(() => {
199
212
  clearInterval(sweepTimer);
200
213
  platformIdle.stop();
201
214
  for (const s of states.values())
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}