@aalis/plugin-trigger-policy 0.14.0 → 0.16.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/config.d.ts CHANGED
@@ -1,70 +1,262 @@
1
- export type IdleTriggerScope = 'off' | 'session' | 'platform';
2
- export type IdleTriggerStrategy = 'all-quiet' | 'fixed';
3
- export type IdleTriggerStyle = 'exponential' | 'fixed';
4
- export interface TriggerPolicyConfig {
5
- /**
6
- * 统一作用域名单:platform:sessionType[:targetId],支持 *。
7
- * 默认 ['*:group'];空数组 = 不生效(等于禁用触发策略)。
8
- * 若存在任一 overrides[].scope 命中也视为启用。
9
- */
10
- scopes: string[];
11
- /**
12
- * 分作用域覆盖:每条针对一个 scope,仅在命中时覆盖列出的字段;未列字段穿透到顶层默认。
13
- * 最具体匹配优先(targetId > sessionType > platform > 通配)。
14
- * 写一条 override 即自动启用该 scope,无需重复在 scopes 中列出。
15
- */
16
- overrides: TriggerScopeOverride[];
17
- /** 模式:fixed=按计数,dynamic=按评分阈值,both=任一满足 */
18
- intervalMode: 'fixed' | 'dynamic' | 'both';
19
- /** 是否检测 @ 提及作为即时触发 */
20
- triggerOnAt: boolean;
21
- /** 戳一戳等注意力动作(noticeType=poke)是否视同 @ 即时触发;关闭后落回正常意愿评估 */
22
- triggerOnPoke: boolean;
23
- /** 额外的触发名(除 persona 名字外的别名) */
24
- triggerNames: string[];
25
- /** mute 关键词(命中时设置自禁言) */
26
- muteKeywords: string[];
27
- /** mute 关键词命中时通知 flow-control 设置的禁言时长(秒) */
28
- muteTimeSeconds: number;
29
- /** 固定间隔:每 N 条消息累计一次触发 */
30
- fixedInterval: number;
31
- /** 动态阈值上下限(刚触发后高、长时间未触发后低) */
32
- activityScoreLower: number;
33
- activityScoreUpper: number;
34
- /** 阈值衰减分钟数:距上次触发越久,阈值越低 */
35
- activityDecayMinutes: number;
36
- /** 评分本身的衰减分钟数(0 表示评分不主动衰减) */
37
- scoreDecayMinutes: number;
38
- /** 闲置触发范围 */
39
- idleTriggerScope: IdleTriggerScope;
40
- idleTriggerStrategy: IdleTriggerStrategy;
41
- idleTriggerMinutes: number;
42
- idleTriggerStyle: IdleTriggerStyle;
43
- idleTriggerMaxMinutes: number;
44
- idleTriggerJitter: boolean;
45
- /** 闲置触发注入的 system 提示文本 */
46
- idleTriggerPrompt: string;
47
- }
48
- export interface TriggerScopeOverride {
49
- scope: string;
50
- intervalMode?: 'fixed' | 'dynamic' | 'both';
51
- triggerOnAt?: boolean;
52
- triggerOnPoke?: boolean;
1
+ import { type ConfigOf } from '@aalis/schema-config';
2
+ export declare const configSchema: {
3
+ readonly scopes: {
4
+ readonly type: "multiselect";
5
+ readonly label: "生效作用域";
6
+ readonly default: readonly ["*:group"];
7
+ readonly dynamicOptions: "gateway-scopes";
8
+ readonly allowCustom: true;
9
+ readonly description: "格式 platform:sessionType,支持通配 *;onebot:group / *:group / onebot:* / *。默认 *:group;默认作用域不含 WebUI/CLI,如需纳入,在这里显式添加。";
10
+ };
11
+ readonly intervalMode: {
12
+ readonly type: "select";
13
+ readonly label: "间隔模式";
14
+ readonly default: "both";
15
+ readonly options: [{
16
+ readonly label: "fixed (仅按计数)";
17
+ readonly value: "fixed";
18
+ }, {
19
+ readonly label: "dynamic (仅按评分阈值)";
20
+ readonly value: "dynamic";
21
+ }, {
22
+ readonly label: "both (任一满足)";
23
+ readonly value: "both";
24
+ }];
25
+ };
26
+ readonly triggerOnAt: {
27
+ readonly type: "boolean";
28
+ readonly label: "检测 @ 提及";
29
+ readonly default: true;
30
+ readonly description: "@ 自己算\"被点名\"(戳一戳、名字同理):点名直接开口,回合记为 immediate,点名者即授权主体。";
31
+ };
32
+ readonly triggerOnPoke: {
33
+ readonly type: "boolean";
34
+ readonly label: "戳一戳直触发";
35
+ readonly default: true;
36
+ readonly description: "戳一戳等注意力动作视同 @ 即时触发;关闭后此类动作落回正常意愿评估,不强制回复。";
37
+ };
38
+ readonly triggerNames: {
39
+ readonly type: "string";
40
+ readonly label: "触发名别名(逗号或换行分隔)";
41
+ readonly default: "";
42
+ };
43
+ readonly muteKeywords: {
44
+ readonly type: "string";
45
+ readonly label: "禁言关键词(逗号或换行分隔)";
46
+ readonly default: "";
47
+ };
48
+ readonly muteTimeSeconds: {
49
+ readonly type: "number";
50
+ readonly label: "禁言关键词命中时长(秒)";
51
+ readonly default: 60;
52
+ };
53
+ readonly fixedInterval: {
54
+ readonly type: "number";
55
+ readonly label: "固定间隔(每 N 条触发)";
56
+ readonly default: 5;
57
+ };
58
+ readonly activityScoreLower: {
59
+ readonly type: "number";
60
+ readonly label: "活跃指数下限";
61
+ readonly default: 0.3;
62
+ };
63
+ readonly activityScoreUpper: {
64
+ readonly type: "number";
65
+ readonly label: "活跃指数上限";
66
+ readonly default: 0.85;
67
+ };
68
+ readonly activityDecayMinutes: {
69
+ readonly type: "number";
70
+ readonly label: "阈值衰减分钟";
71
+ readonly default: 10;
72
+ };
73
+ readonly scoreDecayMinutes: {
74
+ readonly type: "number";
75
+ readonly label: "评分衰减分钟(0=不衰减)";
76
+ readonly default: 0;
77
+ };
78
+ readonly idleTriggerScope: {
79
+ readonly type: "select";
80
+ readonly label: "闲置触发范围";
81
+ readonly default: "off";
82
+ readonly options: [{
83
+ readonly label: "off (关闭)";
84
+ readonly value: "off";
85
+ }, {
86
+ readonly label: "session (每会话独立定时)";
87
+ readonly value: "session";
88
+ }, {
89
+ readonly label: "platform (跨会话选举)";
90
+ readonly value: "platform";
91
+ }];
92
+ };
93
+ readonly idleTriggerStrategy: {
94
+ readonly type: "select";
95
+ readonly label: "闲置触发策略";
96
+ readonly default: "all-quiet";
97
+ readonly options: [{
98
+ readonly label: "all-quiet (所有会话都静默时)";
99
+ readonly value: "all-quiet";
100
+ }, {
101
+ readonly label: "fixed (固定间隔)";
102
+ readonly value: "fixed";
103
+ }];
104
+ };
105
+ readonly idleTriggerMinutes: {
106
+ readonly type: "number";
107
+ readonly label: "闲置触发分钟";
108
+ readonly default: 180;
109
+ };
110
+ readonly idleTriggerStyle: {
111
+ readonly type: "select";
112
+ readonly label: "闲置触发风格";
113
+ readonly default: "exponential";
114
+ readonly options: [{
115
+ readonly label: "exponential (指数退避)";
116
+ readonly value: "exponential";
117
+ }, {
118
+ readonly label: "fixed (固定)";
119
+ readonly value: "fixed";
120
+ }];
121
+ };
122
+ readonly idleTriggerMaxMinutes: {
123
+ readonly type: "number";
124
+ readonly label: "闲置触发上限分钟";
125
+ readonly default: 1440;
126
+ };
127
+ readonly idleTriggerJitter: {
128
+ readonly type: "boolean";
129
+ readonly label: "闲置触发抖动";
130
+ readonly default: true;
131
+ };
132
+ readonly idleTriggerPrompt: {
133
+ readonly type: "string";
134
+ readonly label: "闲置触发系统提示";
135
+ readonly default: "";
136
+ };
137
+ readonly overrides: {
138
+ readonly type: "array";
139
+ readonly label: "分作用域覆盖";
140
+ readonly description: "每项 {scope: \"platform:sessionType[:targetId]\", ...} 仅在该 scope 命中时覆盖列出的字段;字段留空(或不填)= 沿用上方默认,不会被覆盖为 0/空。写一条 override 自动启用该 scope。";
141
+ readonly default: [];
142
+ readonly items: {
143
+ readonly scope: {
144
+ readonly type: "string";
145
+ readonly label: "作用域";
146
+ readonly description: "格式 platform:sessionType[:targetId],支持 *";
147
+ readonly required: true;
148
+ };
149
+ readonly intervalMode: {
150
+ readonly type: "select";
151
+ readonly label: "间隔模式";
152
+ readonly options: [{
153
+ readonly label: "fixed";
154
+ readonly value: "fixed";
155
+ }, {
156
+ readonly label: "dynamic";
157
+ readonly value: "dynamic";
158
+ }, {
159
+ readonly label: "both";
160
+ readonly value: "both";
161
+ }];
162
+ };
163
+ readonly triggerOnAt: {
164
+ readonly type: "boolean";
165
+ readonly label: "检测 @ 提及";
166
+ };
167
+ readonly triggerOnPoke: {
168
+ readonly type: "boolean";
169
+ readonly label: "戳一戳直触发";
170
+ };
171
+ readonly triggerNames: {
172
+ readonly type: "string";
173
+ readonly label: "触发名别名(逗号或换行分隔)";
174
+ };
175
+ readonly muteKeywords: {
176
+ readonly type: "string";
177
+ readonly label: "禁言关键词(逗号或换行分隔)";
178
+ };
179
+ readonly muteTimeSeconds: {
180
+ readonly type: "number";
181
+ readonly label: "禁言关键词时长(秒)";
182
+ };
183
+ readonly fixedInterval: {
184
+ readonly type: "number";
185
+ readonly label: "固定间隔(每 N 条触发)";
186
+ };
187
+ readonly activityScoreLower: {
188
+ readonly type: "number";
189
+ readonly label: "活跃指数下限";
190
+ };
191
+ readonly activityScoreUpper: {
192
+ readonly type: "number";
193
+ readonly label: "活跃指数上限";
194
+ };
195
+ readonly activityDecayMinutes: {
196
+ readonly type: "number";
197
+ readonly label: "阈值衰减分钟";
198
+ };
199
+ readonly scoreDecayMinutes: {
200
+ readonly type: "number";
201
+ readonly label: "评分衰减分钟";
202
+ };
203
+ readonly idleTriggerScope: {
204
+ readonly type: "select";
205
+ readonly label: "闲置触发范围";
206
+ readonly options: [{
207
+ readonly label: "off";
208
+ readonly value: "off";
209
+ }, {
210
+ readonly label: "session";
211
+ readonly value: "session";
212
+ }, {
213
+ readonly label: "platform";
214
+ readonly value: "platform";
215
+ }];
216
+ };
217
+ readonly idleTriggerMinutes: {
218
+ readonly type: "number";
219
+ readonly label: "闲置触发分钟";
220
+ };
221
+ readonly idleTriggerStyle: {
222
+ readonly type: "select";
223
+ readonly label: "闲置触发风格";
224
+ readonly options: [{
225
+ readonly label: "exponential";
226
+ readonly value: "exponential";
227
+ }, {
228
+ readonly label: "fixed";
229
+ readonly value: "fixed";
230
+ }];
231
+ };
232
+ readonly idleTriggerMaxMinutes: {
233
+ readonly type: "number";
234
+ readonly label: "闲置触发上限分钟";
235
+ };
236
+ readonly idleTriggerJitter: {
237
+ readonly type: "boolean";
238
+ readonly label: "闲置触发抖动";
239
+ };
240
+ readonly idleTriggerPrompt: {
241
+ readonly type: "string";
242
+ readonly label: "闲置触发系统提示";
243
+ };
244
+ };
245
+ };
246
+ };
247
+ type ParsedConfig = ConfigOf<typeof configSchema>;
248
+ export type TriggerScopeOverride = Omit<ParsedConfig['overrides'][number], 'triggerNames' | 'muteKeywords'> & {
53
249
  triggerNames?: string[];
54
250
  muteKeywords?: string[];
55
- muteTimeSeconds?: number;
56
- fixedInterval?: number;
57
- activityScoreLower?: number;
58
- activityScoreUpper?: number;
59
- activityDecayMinutes?: number;
60
- scoreDecayMinutes?: number;
61
- idleTriggerScope?: IdleTriggerScope;
62
- idleTriggerMinutes?: number;
63
- idleTriggerStyle?: IdleTriggerStyle;
64
- idleTriggerMaxMinutes?: number;
65
- idleTriggerJitter?: boolean;
66
- idleTriggerPrompt?: string;
67
- }
68
- export declare const defaultTriggerPolicyConfig: TriggerPolicyConfig;
69
- export declare function resolveTriggerPolicyConfig(raw: Record<string, unknown>): TriggerPolicyConfig;
251
+ };
252
+ export type TriggerPolicyConfig = Omit<ParsedConfig, 'triggerNames' | 'muteKeywords' | 'overrides'> & {
253
+ triggerNames: string[];
254
+ muteKeywords: string[];
255
+ overrides: TriggerScopeOverride[];
256
+ };
257
+ /** 表单文本派生为名字列表;覆盖项的留空字段不覆盖顶层。 */
258
+ export declare function normalizeConfig(cfg: ParsedConfig, logger?: {
259
+ warn(message: string): void;
260
+ }): TriggerPolicyConfig;
261
+ export {};
70
262
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,OAAO,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,2CAA2C;IAC3C,YAAY,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAE3C,sBAAsB;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,aAAa,EAAE,OAAO,CAAC;IACvB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,yBAAyB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;IAExB,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2BAA2B;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,8BAA8B;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAE1B,aAAa;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0BAA0B;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,0BAA0B,EAAE,mBAqBxC,CAAC;AAaF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAiC5F"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AAEnE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2JvB,CAAC;AAEH,KAAK,YAAY,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,GAAG;IAC5G,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,cAAc,GAAG,WAAW,CAAC,GAAG;IACpG,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC,CAAC;AASF,iCAAiC;AACjC,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE;IAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,mBAAmB,CA0BhH"}
package/dist/config.js CHANGED
@@ -1,130 +1,195 @@
1
- // ----- 触发策略配置 -----
2
- export const defaultTriggerPolicyConfig = {
3
- scopes: ['*:group'],
4
- overrides: [],
5
- intervalMode: 'both',
6
- triggerOnAt: true,
7
- triggerOnPoke: true,
8
- triggerNames: [],
9
- muteKeywords: [],
10
- muteTimeSeconds: 60,
11
- fixedInterval: 5,
12
- activityScoreLower: 0.3,
13
- activityScoreUpper: 0.85,
14
- activityDecayMinutes: 10,
15
- scoreDecayMinutes: 0,
16
- idleTriggerScope: 'off',
17
- idleTriggerStrategy: 'all-quiet',
18
- idleTriggerMinutes: 180,
19
- idleTriggerStyle: 'exponential',
20
- idleTriggerMaxMinutes: 1440,
21
- idleTriggerJitter: true,
22
- idleTriggerPrompt: '',
23
- };
24
- function parseStringList(val) {
25
- if (Array.isArray(val))
26
- return val.filter(Boolean).map(String);
27
- if (typeof val === 'string' && val.trim()) {
28
- return val
29
- .split(',')
30
- .map(s => s.trim())
31
- .filter(Boolean);
32
- }
33
- return [];
34
- }
35
- export function resolveTriggerPolicyConfig(raw) {
36
- const d = defaultTriggerPolicyConfig;
37
- return {
38
- scopes: raw.scopes === undefined ? d.scopes : parseStringList(raw.scopes),
39
- overrides: parseOverrides(raw.overrides),
40
- intervalMode: (() => {
41
- const v = raw.intervalMode;
42
- return v === 'fixed' || v === 'dynamic' || v === 'both' ? v : d.intervalMode;
43
- })(),
44
- triggerOnAt: raw.triggerOnAt ?? d.triggerOnAt,
45
- triggerOnPoke: raw.triggerOnPoke ?? d.triggerOnPoke,
46
- triggerNames: parseStringList(raw.triggerNames),
47
- muteKeywords: parseStringList(raw.muteKeywords),
48
- muteTimeSeconds: typeof raw.muteTimeSeconds === 'number' && raw.muteTimeSeconds > 0
49
- ? Math.floor(raw.muteTimeSeconds)
50
- : d.muteTimeSeconds,
51
- fixedInterval: raw.fixedInterval ?? d.fixedInterval,
52
- activityScoreLower: raw.activityScoreLower ?? d.activityScoreLower,
53
- activityScoreUpper: raw.activityScoreUpper ?? d.activityScoreUpper,
54
- activityDecayMinutes: raw.activityDecayMinutes ?? d.activityDecayMinutes,
55
- scoreDecayMinutes: raw.scoreDecayMinutes ?? d.scoreDecayMinutes,
56
- idleTriggerScope: (() => {
57
- const v = raw.idleTriggerScope;
58
- return v === 'off' || v === 'session' || v === 'platform' ? v : d.idleTriggerScope;
59
- })(),
60
- idleTriggerStrategy: raw.idleTriggerStrategy === 'fixed' ? 'fixed' : 'all-quiet',
61
- idleTriggerMinutes: raw.idleTriggerMinutes ?? d.idleTriggerMinutes,
62
- idleTriggerStyle: raw.idleTriggerStyle ?? d.idleTriggerStyle,
63
- idleTriggerMaxMinutes: raw.idleTriggerMaxMinutes ?? d.idleTriggerMaxMinutes,
64
- idleTriggerJitter: raw.idleTriggerJitter ?? d.idleTriggerJitter,
65
- idleTriggerPrompt: raw.idleTriggerPrompt || d.idleTriggerPrompt,
66
- };
1
+ import { defineConfig } from '@aalis/schema-config';
2
+ export const configSchema = defineConfig({
3
+ scopes: {
4
+ type: 'multiselect',
5
+ label: '生效作用域',
6
+ default: ['*:group'],
7
+ dynamicOptions: 'gateway-scopes',
8
+ allowCustom: true,
9
+ description: '格式 platform:sessionType,支持通配 *;onebot:group / *:group / onebot:* / *。默认 *:group;默认作用域不含 WebUI/CLI,如需纳入,在这里显式添加。',
10
+ },
11
+ intervalMode: {
12
+ type: 'select',
13
+ label: '间隔模式',
14
+ default: 'both',
15
+ options: [
16
+ { label: 'fixed (仅按计数)', value: 'fixed' },
17
+ { label: 'dynamic (仅按评分阈值)', value: 'dynamic' },
18
+ { label: 'both (任一满足)', value: 'both' },
19
+ ],
20
+ },
21
+ triggerOnAt: {
22
+ type: 'boolean',
23
+ label: '检测 @ 提及',
24
+ default: true,
25
+ description: '@ 自己算"被点名"(戳一戳、名字同理):点名直接开口,回合记为 immediate,点名者即授权主体。',
26
+ },
27
+ triggerOnPoke: {
28
+ type: 'boolean',
29
+ label: '戳一戳直触发',
30
+ default: true,
31
+ description: '戳一戳等注意力动作视同 @ 即时触发;关闭后此类动作落回正常意愿评估,不强制回复。',
32
+ },
33
+ triggerNames: { type: 'string', label: '触发名别名(逗号或换行分隔)', default: '' },
34
+ muteKeywords: { type: 'string', label: '禁言关键词(逗号或换行分隔)', default: '' },
35
+ muteTimeSeconds: {
36
+ type: 'number',
37
+ label: '禁言关键词命中时长(秒)',
38
+ default: 60,
39
+ },
40
+ fixedInterval: {
41
+ type: 'number',
42
+ label: '固定间隔(每 N 条触发)',
43
+ default: 5,
44
+ },
45
+ activityScoreLower: { type: 'number', label: '活跃指数下限', default: 0.3 },
46
+ activityScoreUpper: { type: 'number', label: '活跃指数上限', default: 0.85 },
47
+ activityDecayMinutes: {
48
+ type: 'number',
49
+ label: '阈值衰减分钟',
50
+ default: 10,
51
+ },
52
+ scoreDecayMinutes: {
53
+ type: 'number',
54
+ label: '评分衰减分钟(0=不衰减)',
55
+ default: 0,
56
+ },
57
+ idleTriggerScope: {
58
+ type: 'select',
59
+ label: '闲置触发范围',
60
+ default: 'off',
61
+ options: [
62
+ { label: 'off (关闭)', value: 'off' },
63
+ { label: 'session (每会话独立定时)', value: 'session' },
64
+ { label: 'platform (跨会话选举)', value: 'platform' },
65
+ ],
66
+ },
67
+ idleTriggerStrategy: {
68
+ type: 'select',
69
+ label: '闲置触发策略',
70
+ default: 'all-quiet',
71
+ options: [
72
+ { label: 'all-quiet (所有会话都静默时)', value: 'all-quiet' },
73
+ { label: 'fixed (固定间隔)', value: 'fixed' },
74
+ ],
75
+ },
76
+ idleTriggerMinutes: {
77
+ type: 'number',
78
+ label: '闲置触发分钟',
79
+ default: 180,
80
+ },
81
+ idleTriggerStyle: {
82
+ type: 'select',
83
+ label: '闲置触发风格',
84
+ default: 'exponential',
85
+ options: [
86
+ { label: 'exponential (指数退避)', value: 'exponential' },
87
+ { label: 'fixed (固定)', value: 'fixed' },
88
+ ],
89
+ },
90
+ idleTriggerMaxMinutes: {
91
+ type: 'number',
92
+ label: '闲置触发上限分钟',
93
+ default: 1440,
94
+ },
95
+ idleTriggerJitter: { type: 'boolean', label: '闲置触发抖动', default: true },
96
+ idleTriggerPrompt: {
97
+ type: 'string',
98
+ label: '闲置触发系统提示',
99
+ default: '',
100
+ },
101
+ overrides: {
102
+ type: 'array',
103
+ label: '分作用域覆盖',
104
+ description: '每项 {scope: "platform:sessionType[:targetId]", ...} 仅在该 scope 命中时覆盖列出的字段;字段留空(或不填)= 沿用上方默认,不会被覆盖为 0/空。写一条 override 自动启用该 scope。',
105
+ default: [],
106
+ items: {
107
+ scope: {
108
+ type: 'string',
109
+ label: '作用域',
110
+ description: '格式 platform:sessionType[:targetId],支持 *',
111
+ required: true,
112
+ },
113
+ intervalMode: {
114
+ type: 'select',
115
+ label: '间隔模式',
116
+ options: [
117
+ { label: 'fixed', value: 'fixed' },
118
+ { label: 'dynamic', value: 'dynamic' },
119
+ { label: 'both', value: 'both' },
120
+ ],
121
+ },
122
+ triggerOnAt: { type: 'boolean', label: '检测 @ 提及' },
123
+ triggerOnPoke: { type: 'boolean', label: '戳一戳直触发' },
124
+ triggerNames: { type: 'string', label: '触发名别名(逗号或换行分隔)' },
125
+ muteKeywords: { type: 'string', label: '禁言关键词(逗号或换行分隔)' },
126
+ muteTimeSeconds: { type: 'number', label: '禁言关键词时长(秒)' },
127
+ fixedInterval: { type: 'number', label: '固定间隔(每 N 条触发)' },
128
+ activityScoreLower: { type: 'number', label: '活跃指数下限' },
129
+ activityScoreUpper: { type: 'number', label: '活跃指数上限' },
130
+ activityDecayMinutes: { type: 'number', label: '阈值衰减分钟' },
131
+ scoreDecayMinutes: { type: 'number', label: '评分衰减分钟' },
132
+ idleTriggerScope: {
133
+ type: 'select',
134
+ label: '闲置触发范围',
135
+ options: [
136
+ { label: 'off', value: 'off' },
137
+ { label: 'session', value: 'session' },
138
+ { label: 'platform', value: 'platform' },
139
+ ],
140
+ },
141
+ idleTriggerMinutes: { type: 'number', label: '闲置触发分钟' },
142
+ idleTriggerStyle: {
143
+ type: 'select',
144
+ label: '闲置触发风格',
145
+ options: [
146
+ { label: 'exponential', value: 'exponential' },
147
+ { label: 'fixed', value: 'fixed' },
148
+ ],
149
+ },
150
+ idleTriggerMaxMinutes: { type: 'number', label: '闲置触发上限分钟' },
151
+ idleTriggerJitter: { type: 'boolean', label: '闲置触发抖动' },
152
+ idleTriggerPrompt: { type: 'string', label: '闲置触发系统提示' },
153
+ },
154
+ },
155
+ });
156
+ function splitNames(value) {
157
+ return value
158
+ .split(/[,\r\n]+/)
159
+ .map(s => s.trim())
160
+ .filter(Boolean);
67
161
  }
68
- function parseOverrides(raw) {
69
- if (!Array.isArray(raw))
70
- return [];
71
- const out = [];
72
- for (const item of raw) {
73
- if (!item || typeof item !== 'object')
162
+ /** 表单文本派生为名字列表;覆盖项的留空字段不覆盖顶层。 */
163
+ export function normalizeConfig(cfg, logger) {
164
+ const scopes = cfg.scopes.filter(s => s.trim() !== '');
165
+ if (scopes.length !== cfg.scopes.length)
166
+ logger?.warn('配置项 scopes 含空白作用域,已忽略');
167
+ const overrides = [];
168
+ for (const item of cfg.overrides) {
169
+ const scope = item.scope.trim();
170
+ if (!scope) {
171
+ logger?.warn('配置项 overrides 中有一项 scope 只含空白,已忽略该项');
74
172
  continue;
75
- const obj = item;
76
- if (typeof obj.scope !== 'string' || !obj.scope.trim())
77
- continue;
78
- const o = { scope: obj.scope.trim() };
79
- const mode = obj.intervalMode;
80
- if (mode === 'fixed' || mode === 'dynamic' || mode === 'both')
81
- o.intervalMode = mode;
82
- if (typeof obj.triggerOnAt === 'boolean')
83
- o.triggerOnAt = obj.triggerOnAt;
84
- if (typeof obj.triggerOnPoke === 'boolean')
85
- o.triggerOnPoke = obj.triggerOnPoke;
86
- // 字符串字段:仅在非空时视为覆盖;空串/未填 → 穿透到顶层默认
87
- if (typeof obj.triggerNames === 'string' && obj.triggerNames.trim() !== '') {
88
- o.triggerNames = parseStringList(obj.triggerNames);
89
- }
90
- else if (Array.isArray(obj.triggerNames) && obj.triggerNames.length > 0) {
91
- o.triggerNames = parseStringList(obj.triggerNames);
92
- }
93
- if (typeof obj.muteKeywords === 'string' && obj.muteKeywords.trim() !== '') {
94
- o.muteKeywords = parseStringList(obj.muteKeywords);
95
173
  }
96
- else if (Array.isArray(obj.muteKeywords) && obj.muteKeywords.length > 0) {
97
- o.muteKeywords = parseStringList(obj.muteKeywords);
98
- }
99
- if (typeof obj.muteTimeSeconds === 'number' && obj.muteTimeSeconds > 0) {
100
- o.muteTimeSeconds = Math.floor(obj.muteTimeSeconds);
101
- }
102
- for (const k of [
103
- 'fixedInterval',
104
- 'activityScoreLower',
105
- 'activityScoreUpper',
106
- 'activityDecayMinutes',
107
- 'scoreDecayMinutes',
108
- 'idleTriggerMinutes',
109
- 'idleTriggerMaxMinutes',
110
- ]) {
111
- const v = obj[k];
112
- if (typeof v === 'number')
113
- o[k] = v;
114
- }
115
- if (typeof obj.idleTriggerJitter === 'boolean')
116
- o.idleTriggerJitter = obj.idleTriggerJitter;
117
- if (typeof obj.idleTriggerPrompt === 'string' && obj.idleTriggerPrompt !== '') {
118
- o.idleTriggerPrompt = obj.idleTriggerPrompt;
119
- }
120
- const sScope = obj.idleTriggerScope;
121
- if (sScope === 'off' || sScope === 'session' || sScope === 'platform')
122
- o.idleTriggerScope = sScope;
123
- const sStyle = obj.idleTriggerStyle;
124
- if (sStyle === 'exponential' || sStyle === 'fixed')
125
- o.idleTriggerStyle = sStyle;
126
- out.push(o);
174
+ const { triggerNames, muteKeywords, muteTimeSeconds, idleTriggerPrompt, ...rest } = item;
175
+ const normalized = { ...rest, scope };
176
+ if (triggerNames?.trim())
177
+ normalized.triggerNames = splitNames(triggerNames);
178
+ if (muteKeywords?.trim())
179
+ normalized.muteKeywords = splitNames(muteKeywords);
180
+ if (muteTimeSeconds !== undefined && muteTimeSeconds > 0)
181
+ normalized.muteTimeSeconds = Math.floor(muteTimeSeconds);
182
+ if (idleTriggerPrompt)
183
+ normalized.idleTriggerPrompt = idleTriggerPrompt;
184
+ overrides.push(normalized);
127
185
  }
128
- return out;
186
+ return {
187
+ ...cfg,
188
+ scopes,
189
+ overrides,
190
+ triggerNames: splitNames(cfg.triggerNames),
191
+ muteKeywords: splitNames(cfg.muteKeywords),
192
+ muteTimeSeconds: cfg.muteTimeSeconds > 0 ? Math.floor(cfg.muteTimeSeconds) : configSchema.muteTimeSeconds.default,
193
+ };
129
194
  }
130
195
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,qBAAqB;AA2ErB,MAAM,CAAC,MAAM,0BAA0B,GAAwB;IAC7D,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;IACnB,aAAa,EAAE,CAAC;IAChB,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,EAAE;IACxB,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,WAAW;IAChC,kBAAkB,EAAE,GAAG;IACvB,gBAAgB,EAAE,aAAa;IAC/B,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,SAAS,eAAe,CAAC,GAAY;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,OAAO,GAAG;aACP,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAA4B;IACrE,MAAM,CAAC,GAAG,0BAA0B,CAAC;IACrC,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;QACzE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;QACxC,YAAY,EAAE,CAAC,GAAwC,EAAE;YACvD,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;YAC3B,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/E,CAAC,CAAC,EAAE;QACJ,WAAW,EAAG,GAAG,CAAC,WAAuB,IAAI,CAAC,CAAC,WAAW;QAC1D,aAAa,EAAG,GAAG,CAAC,aAAyB,IAAI,CAAC,CAAC,aAAa;QAChE,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;QAC/C,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;QAC/C,eAAe,EACb,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;YACjC,CAAC,CAAC,CAAC,CAAC,eAAe;QACvB,aAAa,EAAG,GAAG,CAAC,aAAwB,IAAI,CAAC,CAAC,aAAa;QAC/D,kBAAkB,EAAG,GAAG,CAAC,kBAA6B,IAAI,CAAC,CAAC,kBAAkB;QAC9E,kBAAkB,EAAG,GAAG,CAAC,kBAA6B,IAAI,CAAC,CAAC,kBAAkB;QAC9E,oBAAoB,EAAG,GAAG,CAAC,oBAA+B,IAAI,CAAC,CAAC,oBAAoB;QACpF,iBAAiB,EAAG,GAAG,CAAC,iBAA4B,IAAI,CAAC,CAAC,iBAAiB;QAC3E,gBAAgB,EAAE,CAAC,GAAqB,EAAE;YACxC,MAAM,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC;YAC/B,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrF,CAAC,CAAC,EAAE;QACJ,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;QAChF,kBAAkB,EAAG,GAAG,CAAC,kBAA6B,IAAI,CAAC,CAAC,kBAAkB;QAC9E,gBAAgB,EAAG,GAAG,CAAC,gBAAqC,IAAI,CAAC,CAAC,gBAAgB;QAClF,qBAAqB,EAAG,GAAG,CAAC,qBAAgC,IAAI,CAAC,CAAC,qBAAqB;QACvF,iBAAiB,EAAG,GAAG,CAAC,iBAA6B,IAAI,CAAC,CAAC,iBAAiB;QAC5E,iBAAiB,EAAG,GAAG,CAAC,iBAA4B,IAAI,CAAC,CAAC,iBAAiB;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,SAAS;QACjE,MAAM,CAAC,GAAyB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC;QAC9B,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM;YAAE,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;QACrF,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS;YAAE,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAC1E,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,SAAS;YAAE,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QAChF,kCAAkC;QAClC,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3E,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3E,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YACvE,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI;YACd,eAAe;YACf,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,mBAAmB;YACnB,oBAAoB;YACpB,uBAAuB;SACf,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,SAAS;YAAE,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;QAC5F,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,IAAI,GAAG,CAAC,iBAAiB,KAAK,EAAE,EAAE,CAAC;YAC9E,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACpC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU;YAAE,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC;QACnG,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACpC,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,OAAO;YAAE,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAChF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import type { FlowControlService } from '@aalis/api-flow-control';
2
2
  import { type GatewayService } from '@aalis/api-gateway';
3
- import type { Logger, ServiceRef } from '@aalis/core';
3
+ import type { Logger, ServiceSelection } from '@aalis/core';
4
4
  import type { TriggerPolicyConfig } 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
12
  }
13
13
  export declare function scheduleSessionIdle(caps: IdleCaps, cfg: TriggerPolicyConfig, state: TriggerSessionState, sessionId: string, reschedule: () => void): void;
@@ -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":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5D,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,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;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,CA0CN;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"}
@@ -20,11 +20,11 @@ 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 范围调度 =====
@@ -48,7 +48,11 @@ export function scheduleSessionIdle(caps, cfg, state, sessionId, reschedule) {
48
48
  state.idleTimer = setTimeout(async () => {
49
49
  try {
50
50
  // 本插件不生效、或禁言期(flow 相位也会吞,这里省掉一次注入)不开口:跳过本次并按原退避重排
51
- const skip = !caps.isActive() ? '触发策略未生效' : caps.flowControl.current?.isMuted(sessionId) ? '禁言中' : '';
51
+ const skip = !caps.isActive()
52
+ ? '触发策略未生效'
53
+ : (caps.flowControl.present ? caps.flowControl.use.isMuted(sessionId) : undefined)
54
+ ? '禁言中'
55
+ : '';
52
56
  if (skip) {
53
57
  caps.logger.debug(`[trigger] 空闲触发跳过(${skip}): session=${sessionId}`);
54
58
  reschedule();
@@ -120,7 +124,7 @@ export class PlatformIdleScheduler {
120
124
  }
121
125
  /** 选一个最适合主动开聊的会话(带该会话的有效提示词) */
122
126
  pickTarget() {
123
- const flow = this.caps.flowControl.current;
127
+ const flow = this.caps.flowControl.present ? this.caps.flowControl.use : undefined;
124
128
  let best = null;
125
129
  for (const [sid, s] of this.states) {
126
130
  // 禁言会话选了也会被 flow 相位吞掉;冷却对闲置注入只在这里把关(flow 相位对内部注入不查冷却),限速在 flow 相位(作用域内)还会再查一次
@@ -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":"AAAA,sBAAsB;AACtB,EAAE;AACF,yDAAyD;AACzD,iDAAiD;AACjD,qDAAqD;AAGrD,OAAO,EAAuB,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAIjF,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAUtE,MAAM,cAAc,GAClB,wDAAwD,CAAC;AAE3D,SAAS,gBAAgB,CAAC,SAAiB,EAAE,QAAgB,EAAE,MAAc;IAC3E,OAAO;QACL,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;QACjD,SAAS;QACT,QAAQ;QACR,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,MAAM;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,IAAc,EAAE,GAAoB;IAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACjC,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,2BAA2B;AAE3B,MAAM,UAAU,mBAAmB,CACjC,IAAc,EACd,GAAwB,EACxB,KAA0B,EAC1B,SAAiB,EACjB,UAAsB;IAEtB,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS;QAAE,OAAO;IAC/C,IAAI,GAAG,CAAC,kBAAkB,IAAI,CAAC;QAAE,OAAO;IAExC,IAAI,OAAe,CAAC;IACpB,IAAI,GAAG,CAAC,gBAAgB,KAAK,aAAa,EAAE,CAAC;QAC3C,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACpH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,GAAG,CAAC,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/C,CAAC;IACD,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAChF,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,cAAc,SAAS,EAAE,CAAC,CAAC;gBACrE,UAAU,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,SAAS,SAAS,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;YACpF,IAAI,GAAG,CAAC,gBAAgB,KAAK,aAAa,EAAE,CAAC;gBAC3C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrC,MAAM,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC3F,UAAU,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,CAAC;AACH,CAAC;AAED,4BAA4B;AAE5B,gCAAgC;AAChC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,MAAM,OAAO,qBAAqB;IASb;IACA;IACA;IAVX,KAAK,GAAyC,IAAI,CAAC;IACnD,OAAO,GAAG,KAAK,CAAC;IACxB,uDAAuD;IAC/C,OAAO,GAAG,KAAK,CAAC;IACxB,yCAAyC;IACjC,SAAS,GAAG,CAAC,CAAC;IAEtB,YACmB,IAAc,EACd,GAAwB,EACxB,MAAwC;QAFxC,SAAI,GAAJ,IAAI,CAAU;QACd,QAAG,GAAH,GAAG,CAAqB;QACxB,WAAM,GAAN,MAAM,CAAkC;IACxD,CAAC;IAEJ,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,oCAAoC;IAC5B,iBAAiB,CAAC,WAAmB;QAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,GAAG,OAAO;gBAAE,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,2DAA2D;QAC3D,yCAAyC;QACzC,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,gCAAgC;IACxB,UAAU;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,IAAI,IAAI,GAAmG,IAAI,CAAC;QAChH,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,8EAA8E;YAC9E,IAAI,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS;YACzF,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClF,4DAA4D;YAC5D,IAAI,CAAC,CAAC,gBAAgB,KAAK,UAAU;gBAAE,SAAS;YAChD,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC9C,IAAI,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACjF,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAoC;IAC5B,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,wCAAwC,MAAM,CAAC,SAAS,GAAG;gBACzD,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,CACzE,CAAC;YACF,4CAA4C;YAC5C,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,UAAU,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,UAAU;YAAE,OAAO;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC;YAAE,OAAO;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACpD,IAAI,KAAa,CAAC;QAClB,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO,EAAE,CAAC;YAC7C,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,CAAC;gBAAE,KAAK,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,IAAI,KAAK,GAAG,UAAU;YAAE,KAAK,GAAG,UAAU,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,WAAW,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;YACH,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,+CAA+C;YAC/C,4DAA4D;YAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -7,16 +7,16 @@ declare const _default: import("@aalis/core").PluginDefinition<{
7
7
  lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").LifecycleCap, import("@aalis/core").LifecycleCap>;
8
8
  config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
9
9
  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>>;
10
+ gateway: import("@aalis/core").ServiceDescriptor<import("@aalis/api-gateway").GatewayService, import("@aalis/api-gateway").GatewayService>;
11
11
  /**
12
12
  * trigger 由本插件自己提供,只能声明成 optional:写 required 会把激活闸架在自己的产出上。
13
13
  * 经它判断本插件是不是生效的触发插件(服务胜者)。
14
14
  */
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>>;
15
+ trigger: import("@aalis/core").OptionalUse<TriggerService, TriggerService>;
16
+ flowControl: import("@aalis/core").OptionalUse<import("@aalis/api-flow-control").FlowControlService, import("@aalis/api-flow-control").FlowControlService>;
17
+ persona: import("@aalis/core").OptionalUse<import("@aalis/api-persona").PersonaService, import("@aalis/api-persona").PersonaService>;
18
+ sessionManager: import("@aalis/core").OptionalUse<import("@aalis/api-session-manager").SessionManagerService, import("@aalis/api-session-manager").BoundSessionManager>;
19
+ messageArchive: import("@aalis/core").OptionalUse<import("@aalis/api-message-archive").MessageArchiveService, import("@aalis/api-message-archive").MessageArchiveService>;
20
20
  }>;
21
21
  export default _default;
22
22
  export type { TriggerPolicyConfig };
@@ -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;AAK5B,OAAO,EAA0D,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;;;;;;;;;IA4K7G;;;OAGG;;;;;;;AAYL,wBAQG;AAwLH,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
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;AA0LH,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -6,156 +6,11 @@ import { persona } from '@aalis/api-persona';
6
6
  import { sessionManager } from '@aalis/api-session-manager';
7
7
  import { archiveSwallowed, createBotNames, hitsMuteKeyword, isActiveTrigger, isAddressed, markTriggered, trigger, } from '@aalis/api-trigger';
8
8
  import { config, definePlugin, events, lifecycle, logger, optional, provide } from '@aalis/core';
9
- import { defaultTriggerPolicyConfig, resolveTriggerPolicyConfig } from './config.js';
9
+ import { parseConfig } from '@aalis/schema-config';
10
+ import { configSchema, normalizeConfig } from './config.js';
10
11
  import { clearSessionIdle, PlatformIdleScheduler, scheduleSessionIdle } from './idle-scheduler.js';
11
12
  import { applyScoreDecay, calculateScoreIncrement, createState, getCurrentThreshold, sweepStaleStates, } from './state.js';
12
13
  // ----- 元数据 -----
13
- const configSchema = {
14
- scopes: {
15
- type: 'multiselect',
16
- label: '生效作用域',
17
- default: defaultTriggerPolicyConfig.scopes,
18
- dynamicOptions: 'gateway-scopes',
19
- allowCustom: true,
20
- description: '格式 platform:sessionType,支持通配 *;onebot:group / *:group / onebot:* / *。默认 *:group;默认作用域不含 WebUI/CLI,如需纳入,在这里显式添加。',
21
- },
22
- intervalMode: {
23
- type: 'select',
24
- label: '间隔模式',
25
- default: defaultTriggerPolicyConfig.intervalMode,
26
- options: [
27
- { label: 'fixed (仅按计数)', value: 'fixed' },
28
- { label: 'dynamic (仅按评分阈值)', value: 'dynamic' },
29
- { label: 'both (任一满足)', value: 'both' },
30
- ],
31
- },
32
- triggerOnAt: {
33
- type: 'boolean',
34
- label: '检测 @ 提及',
35
- default: defaultTriggerPolicyConfig.triggerOnAt,
36
- description: '@ 自己算"被点名"(戳一戳、名字同理):点名直接开口,回合记为 immediate,点名者即授权主体。',
37
- },
38
- triggerOnPoke: {
39
- type: 'boolean',
40
- label: '戳一戳直触发',
41
- default: defaultTriggerPolicyConfig.triggerOnPoke,
42
- description: '戳一戳等注意力动作视同 @ 即时触发;关闭后此类动作落回正常意愿评估,不强制回复。',
43
- },
44
- triggerNames: { type: 'string', label: '触发名别名(逗号分隔)', default: '' },
45
- muteKeywords: { type: 'string', label: '禁言关键词(逗号分隔)', default: '' },
46
- muteTimeSeconds: {
47
- type: 'number',
48
- label: '禁言关键词命中时长(秒)',
49
- default: defaultTriggerPolicyConfig.muteTimeSeconds,
50
- },
51
- fixedInterval: {
52
- type: 'number',
53
- label: '固定间隔(每 N 条触发)',
54
- default: defaultTriggerPolicyConfig.fixedInterval,
55
- },
56
- activityScoreLower: { type: 'number', label: '活跃指数下限', default: defaultTriggerPolicyConfig.activityScoreLower },
57
- activityScoreUpper: { type: 'number', label: '活跃指数上限', default: defaultTriggerPolicyConfig.activityScoreUpper },
58
- activityDecayMinutes: {
59
- type: 'number',
60
- label: '阈值衰减分钟',
61
- default: defaultTriggerPolicyConfig.activityDecayMinutes,
62
- },
63
- scoreDecayMinutes: {
64
- type: 'number',
65
- label: '评分衰减分钟(0=不衰减)',
66
- default: defaultTriggerPolicyConfig.scoreDecayMinutes,
67
- },
68
- idleTriggerScope: {
69
- type: 'select',
70
- label: '闲置触发范围',
71
- default: defaultTriggerPolicyConfig.idleTriggerScope,
72
- options: [
73
- { label: 'off (关闭)', value: 'off' },
74
- { label: 'session (每会话独立定时)', value: 'session' },
75
- { label: 'platform (跨会话选举)', value: 'platform' },
76
- ],
77
- },
78
- idleTriggerStrategy: {
79
- type: 'select',
80
- label: '闲置触发策略',
81
- default: defaultTriggerPolicyConfig.idleTriggerStrategy,
82
- options: [
83
- { label: 'all-quiet (所有会话都静默时)', value: 'all-quiet' },
84
- { label: 'fixed (固定间隔)', value: 'fixed' },
85
- ],
86
- },
87
- idleTriggerMinutes: {
88
- type: 'number',
89
- label: '闲置触发分钟',
90
- default: defaultTriggerPolicyConfig.idleTriggerMinutes,
91
- },
92
- idleTriggerStyle: {
93
- type: 'select',
94
- label: '闲置触发风格',
95
- default: defaultTriggerPolicyConfig.idleTriggerStyle,
96
- options: [
97
- { label: 'exponential (指数退避)', value: 'exponential' },
98
- { label: 'fixed (固定)', value: 'fixed' },
99
- ],
100
- },
101
- idleTriggerMaxMinutes: {
102
- type: 'number',
103
- label: '闲置触发上限分钟',
104
- default: defaultTriggerPolicyConfig.idleTriggerMaxMinutes,
105
- },
106
- idleTriggerJitter: { type: 'boolean', label: '闲置触发抖动', default: defaultTriggerPolicyConfig.idleTriggerJitter },
107
- idleTriggerPrompt: {
108
- type: 'string',
109
- label: '闲置触发系统提示',
110
- default: defaultTriggerPolicyConfig.idleTriggerPrompt,
111
- },
112
- overrides: {
113
- type: 'array',
114
- label: '分作用域覆盖',
115
- description: '每项 {scope: "platform:sessionType[:targetId]", ...} 仅在该 scope 命中时覆盖列出的字段;字段留空(或不填)= 沿用上方默认,不会被覆盖为 0/空。写一条 override 自动启用该 scope。',
116
- default: [],
117
- items: {
118
- scope: {
119
- type: 'string',
120
- label: '作用域',
121
- description: '格式 platform:sessionType[:targetId],支持 *',
122
- required: true,
123
- },
124
- intervalMode: {
125
- type: 'select',
126
- label: '间隔模式',
127
- options: [
128
- { label: 'fixed', value: 'fixed' },
129
- { label: 'dynamic', value: 'dynamic' },
130
- { label: 'both', value: 'both' },
131
- ],
132
- },
133
- triggerOnAt: { type: 'boolean', label: '检测 @ 提及' },
134
- triggerOnPoke: { type: 'boolean', label: '戳一戳直触发' },
135
- triggerNames: { type: 'string', label: '触发名别名(逗号分隔)' },
136
- muteKeywords: { type: 'string', label: '禁言关键词(逗号分隔)' },
137
- muteTimeSeconds: { type: 'number', label: '禁言关键词时长(秒)' },
138
- fixedInterval: { type: 'number', label: '固定间隔(每 N 条触发)' },
139
- activityScoreLower: { type: 'number', label: '活跃指数下限' },
140
- activityScoreUpper: { type: 'number', label: '活跃指数上限' },
141
- activityDecayMinutes: { type: 'number', label: '阈值衰减分钟' },
142
- scoreDecayMinutes: { type: 'number', label: '评分衰减分钟' },
143
- idleTriggerScope: {
144
- type: 'select',
145
- label: '闲置触发范围',
146
- options: [
147
- { label: 'off', value: 'off' },
148
- { label: 'session', value: 'session' },
149
- { label: 'platform', value: 'platform' },
150
- ],
151
- },
152
- idleTriggerMinutes: { type: 'number', label: '闲置触发分钟' },
153
- idleTriggerMaxMinutes: { type: 'number', label: '闲置触发上限分钟' },
154
- idleTriggerJitter: { type: 'boolean', label: '闲置触发抖动' },
155
- idleTriggerPrompt: { type: 'string', label: '闲置触发系统提示' },
156
- },
157
- },
158
- };
159
14
  // ----- 入口 -----
160
15
  const uses = {
161
16
  logger,
@@ -189,15 +44,17 @@ export default definePlugin({
189
44
  });
190
45
  function run(caps) {
191
46
  const { logger, events, hooks, lifecycle, provide, flowControl, messageArchive } = caps;
192
- const cfg = resolveTriggerPolicyConfig(caps.config);
47
+ const cfg = normalizeConfig(parseConfig(configSchema, caps.config.use, logger.use), logger.use);
193
48
  const states = new Map();
194
49
  /** 名字表:别名与全部人设按会话取的名字、昵称;某个人设读名字出错只跳过它的名字 */
195
- const botNames = createBotNames(caps.persona, caps.sessionManager, logger, '[trigger]');
196
- // 本插件在 trigger 服务里的实例:服务胜者是它时本插件生效,否则对每条消息直接放行、闲置也不开口
50
+ const botNames = createBotNames(caps.persona, caps.sessionManager, logger.use, '[trigger]');
51
+ // 本插件在 trigger 服务里的实例:服务选中的是它(条目 id 即本插件的实例 id)时本插件生效,否则对每条消息直接放行、
52
+ // 闲置也不开口
197
53
  const self = { label: '规则(计数/评分)' };
198
- provide(trigger, self, { label: self.label });
199
- const isActive = () => caps.trigger.current === self;
200
- const idleCaps = { logger, gateway: caps.gateway, flowControl, isActive };
54
+ const selfId = lifecycle.use.id;
55
+ provide.use(trigger, self, { label: self.label });
56
+ const isActive = () => caps.trigger.list().find(p => p.selected)?.id === selfId;
57
+ const idleCaps = { logger: logger.use, gateway: caps.gateway, flowControl, isActive };
201
58
  const platformIdle = new PlatformIdleScheduler(idleCaps, cfg, states);
202
59
  /** 计数与活跃指数清零(禁言与判定放行时) */
203
60
  function resetCounters(s) {
@@ -252,7 +109,7 @@ function run(caps) {
252
109
  const reason = `计数=${s.messageCount}/${e.fixedInterval} 指数=${s.activityScore.toFixed(3)} (阈值=${threshold.toFixed(3)})`;
253
110
  return { speak, reason };
254
111
  }
255
- logger.info(`[trigger] 已启用 (模式=${cfg.intervalMode}, 固定间隔=${cfg.fixedInterval}, ` +
112
+ logger.use.info(`[trigger] 已启用 (模式=${cfg.intervalMode}, 固定间隔=${cfg.fixedInterval}, ` +
256
113
  `阈值=${cfg.activityScoreLower}~${cfg.activityScoreUpper}, @提及=${cfg.triggerOnAt}, ` +
257
114
  `别名=${cfg.triggerNames.length}, mute关键词=${cfg.muteKeywords.length}, mute时长=${cfg.muteTimeSeconds}s, ` +
258
115
  `idle=${cfg.idleTriggerScope}/${cfg.idleTriggerStrategy}, scopes=${cfg.scopes.join('|') || '<空>'}, ` +
@@ -261,12 +118,12 @@ function run(caps) {
261
118
  // 由 plugin-gateway 在 inbound:command 之后、inbound:flow 之前触发。放行的消息写好 triggerType,
262
119
  // 交给 flow 相位做节流硬闸(immediate 穿透冷却与限速)。判定是同步的:记入站、判定、清零在同一拍做完,
263
120
  // 同一会话接连到达的消息按到达顺序逐条判定,放行顺序即到达顺序。
264
- hooks.middleware(INBOUND_PHASE.TRIGGER, async (data, next) => {
121
+ hooks.use.middleware(INBOUND_PHASE.TRIGGER, async (data, next) => {
265
122
  // 不是生效的触发插件:什么都不做(不计数、不识别、不归档),交给生效者或往下走
266
- if (!isActiveTrigger(data, caps.trigger, self))
123
+ if (!isActiveTrigger(data, caps.trigger, selfId))
267
124
  return next();
268
125
  const { message } = data;
269
- // 内部注入(闲置触发、定时任务、workflow、跨会话委派)都带 source,跳过策略:不计数、不改 triggerType。
126
+ // 内部注入(闲置触发、定时任务、workflow)都带 source,跳过策略:不计数、不改 triggerType。
270
127
  // 真人消息由平台适配器投递,不设 source。
271
128
  if (message.source)
272
129
  return next();
@@ -276,7 +133,7 @@ function run(caps) {
276
133
  if (!isScopeEnabled(cfg, message.platform, message.sessionType, tid))
277
134
  return next();
278
135
  const sessionId = message.sessionId;
279
- const flow = flowControl.current;
136
+ const flow = flowControl.present ? flowControl.use : undefined;
280
137
  // 作用域内的真人消息都是会话活动,禁言期内的也是:会话还没有状态(如平台禁言先于任何消息)就在这里建
281
138
  let s = states.get(sessionId);
282
139
  if (!s) {
@@ -293,11 +150,11 @@ function run(caps) {
293
150
  const e = resolveEffectiveConfig(cfg, message.platform, message.sessionType, tid);
294
151
  // 禁言关键词:设置自禁言、计数与评分当场清零,记为真人活动,吞掉本条
295
152
  if (hitsMuteKeyword(message, e.muteKeywords)) {
296
- logger.info(`[trigger] mute 关键词命中 → swallow + setMuted(${e.muteTimeSeconds}s): ${sessionId}`);
153
+ logger.use.info(`[trigger] mute 关键词命中 → swallow + setMuted(${e.muteTimeSeconds}s): ${sessionId}`);
297
154
  flow?.setMuted(sessionId, e.muteTimeSeconds, message.platform);
298
155
  resetCounters(s);
299
156
  recordActivity(sessionId, s);
300
- await archiveSwallowed(message, messageArchive, logger, '[trigger]');
157
+ await archiveSwallowed(message, messageArchive, logger.use, '[trigger]');
301
158
  return; // swallow
302
159
  }
303
160
  recordIncoming(s, e, message.userId);
@@ -305,9 +162,9 @@ function run(caps) {
305
162
  const addressed = isAddressed(message, botNames(e.triggerNames, message), e);
306
163
  const decision = decide(s, e, addressed);
307
164
  // 判定日志:不含消息正文
308
- logger.debug(`[trigger] 判定 | session=${sessionId} | speak=${decision.speak} | addressed=${addressed} | reason=${decision.reason}`);
165
+ logger.use.debug(`[trigger] 判定 | session=${sessionId} | speak=${decision.speak} | addressed=${addressed} | reason=${decision.reason}`);
309
166
  if (!decision.speak) {
310
- await archiveSwallowed(message, messageArchive, logger, '[trigger]');
167
+ await archiveSwallowed(message, messageArchive, logger.use, '[trigger]');
311
168
  return; // swallow
312
169
  }
313
170
  // 判定放行即复位:之后若被 flow 相位的冷却/限速吞掉,这次触发作废
@@ -318,7 +175,7 @@ function run(caps) {
318
175
  });
319
176
  // agent 真实回复:记为 bot 开口并重排 session 档 idle。不复位退避——bot 回复闲置提示不算真人活动。
320
177
  // 不生效时不记(闲置也不开口)
321
- events.on('outbound:message', (msg) => {
178
+ events.use.on('outbound:message', (msg) => {
322
179
  if (msg.source !== 'agent' || !msg.sessionId || !isActive())
323
180
  return;
324
181
  const s = states.get(msg.sessionId);
@@ -328,7 +185,7 @@ function run(caps) {
328
185
  rescheduleIdle(msg.sessionId);
329
186
  });
330
187
  // 平台级 idle 启动
331
- events.on('app:ready', () => {
188
+ events.use.on('app:ready', () => {
332
189
  platformIdle.start();
333
190
  });
334
191
  // 长寿进程下避免 states 无限增长:每天扫描一次,清理 30 天无活动且无 idle 定时器的会话
@@ -336,11 +193,11 @@ function run(caps) {
336
193
  const sweepTimer = setInterval(() => {
337
194
  const cleaned = sweepStaleStates(states, Date.now());
338
195
  if (cleaned > 0)
339
- logger.debug(`[trigger] TTL 清理已淘汰 ${cleaned} 个长期非活跃会话状态`);
196
+ logger.use.debug(`[trigger] TTL 清理已淘汰 ${cleaned} 个长期非活跃会话状态`);
340
197
  }, SWEEP_INTERVAL_MS);
341
198
  if (typeof sweepTimer.unref === 'function')
342
199
  sweepTimer.unref();
343
- lifecycle.onDispose(() => {
200
+ lifecycle.use.onDispose(() => {
344
201
  clearInterval(sweepTimer);
345
202
  platformIdle.stop();
346
203
  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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,WAAW,EACX,aAAa,EAEb,OAAO,GACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAgB,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG/G,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAA4B,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,gBAAgB,EAAiB,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,YAAY,CAAC;AAEpB,kBAAkB;AAElB,MAAM,YAAY,GAAiB;IACjC,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,0BAA0B,CAAC,MAAM;QAC1C,cAAc,EAAE,gBAAgB;QAChC,WAAW,EAAE,IAAI;QACjB,WAAW,EACT,iHAAiH;KACpH;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,0BAA0B,CAAC,YAAY;QAChD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;YACzC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/C,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;SACxC;KACF;IACD,WAAW,EAAE;QACX,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,0BAA0B,CAAC,WAAW;QAC/C,WAAW,EAAE,sDAAsD;KACpE;IACD,aAAa,EAAE;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B,CAAC,aAAa;QACjD,WAAW,EAAE,2CAA2C;KACzD;IACD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;IACnE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;IACnE,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,0BAA0B,CAAC,eAAe;KACpD;IACD,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,0BAA0B,CAAC,aAAa;KAClD;IACD,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,kBAAkB,EAAE;IAC/G,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,kBAAkB,EAAE;IAC/G,oBAAoB,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B,CAAC,oBAAoB;KACzD;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,0BAA0B,CAAC,iBAAiB;KACtD;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B,CAAC,gBAAgB;QACpD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;YACnC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE;YAChD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE;SACjD;KACF;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B,CAAC,mBAAmB;QACvD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAAE;YACrD,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;SAC1C;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B,CAAC,kBAAkB;KACvD;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B,CAAC,gBAAgB;QACpD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE;YACrD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;SACxC;KACF;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,0BAA0B,CAAC,qBAAqB;KAC1D;IACD,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,iBAAiB,EAAE;IAC9G,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,0BAA0B,CAAC,iBAAiB;KACtD;IACD,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,gIAAgI;QAClI,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,yCAAyC;gBACtD,QAAQ,EAAE,IAAI;aACf;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;oBAClC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;iBACjC;aACF;YACD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YAClD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;YACtD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;YACtD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;YACxD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;YACzD,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvD,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvD,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACzD,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACtD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC9B,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;iBACzC;aACF;YACD,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvD,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;YAC5D,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvD,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;SACzD;KACF;CACF,CAAC;AAEF,iBAAiB;AAEjB,MAAM,IAAI,GAAG;IACX,MAAM;IACN,MAAM;IACN,KAAK;IACL,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP;;;OAGG;IACH,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC1B,6BAA6B;IAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC;IAClC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC1B,mCAAmC;IACnC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;IACxC,oBAAoB;IACpB,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;CACzC,CAAC;AAGF,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,WAAW;IACtB,YAAY;IACZ,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI;IACJ,KAAK,EAAE,GAAG;CACX,CAAC,CAAC;AAEH,SAAS,GAAG,CAAC,IAAU;IACrB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IACxF,MAAM,GAAG,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAExF,sDAAsD;IACtD,MAAM,IAAI,GAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACpD,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;IAE9D,MAAM,QAAQ,GAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACpF,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAEtE,0BAA0B;IAC1B,SAAS,aAAa,CAAC,CAAsB;QAC3C,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,8CAA8C;IAC9C,SAAS,cAAc,CAAC,SAAiB;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,MAAM,CAAC,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7E,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,uEAAuE;IACvE,SAAS,cAAc,CAAC,CAAsB,EAAE,CAAsB,EAAE,MAA0B;QAChG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,MAAM;YAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC,aAAa,IAAI,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,SAAS,cAAc,CAAC,SAAiB,EAAE,CAAsB;QAC/D,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QAClB,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,mCAAmC;IACnC,SAAS,MAAM,CACb,CAAsB,EACtB,CAAsB,EACtB,SAAkB;QAElB,IAAI,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC;QAC/C,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,OAAO;gBACV,KAAK,GAAG,OAAO,CAAC;gBAChB,MAAM;YACR,KAAK,SAAS;gBACZ,KAAK,GAAG,SAAS,CAAC;gBAClB,MAAM;YACR,KAAK,MAAM;gBACT,KAAK,GAAG,OAAO,IAAI,SAAS,CAAC;gBAC7B,MAAM;QACV,CAAC;QACD,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,OAAO,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACvH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CACT,qBAAqB,GAAG,CAAC,YAAY,UAAU,GAAG,CAAC,aAAa,IAAI;QAClE,MAAM,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,SAAS,GAAG,CAAC,WAAW,IAAI;QAClF,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,MAAM,YAAY,GAAG,CAAC,eAAe,KAAK;QACrG,QAAQ,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,mBAAmB,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI;QACpG,aAAa,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CACvC,CAAC;IAEF,uCAAuC;IACvC,+EAA+E;IAC/E,6DAA6D;IAC7D,kCAAkC;IAClC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC3D,yCAAyC;QACzC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,mEAAmE;QACnE,0BAA0B;QAC1B,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,EAAE,CAAC;QAElC,+BAA+B;QAC/B,gEAAgE;QAChE,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAEpF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC;QACjC,oDAAoD;QACpD,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,4CAA4C;QAC5C,gDAAgD;QAChD,IAAI,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,GAAG,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAElF,oCAAoC;QACpC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,eAAe,OAAO,SAAS,EAAE,CAAC,CAAC;YAC9F,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/D,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACrE,OAAO,CAAC,UAAU;QACpB,CAAC;QAED,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACzC,cAAc;QACd,MAAM,CAAC,KAAK,CACV,0BAA0B,SAAS,YAAY,QAAQ,CAAC,KAAK,gBAAgB,SAAS,aAAa,QAAQ,CAAC,MAAM,EAAE,CACrH,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACrE,OAAO,CAAC,UAAU;QACpB,CAAC;QAED,sCAAsC;QACtC,aAAa,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,iBAAiB;IACjB,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,GAAoB,EAAE,EAAE;QACrD,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;QACpE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,cAAc;IACd,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;QAC1B,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,IAAI,OAAO,GAAG,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,aAAa,CAAC,CAAC;IAC7E,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU;QAAE,UAAU,CAAC,KAAK,EAAE,CAAC;IAE/D,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;QACvB,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACrD,mEAAmE;QACnE,wCAAwC;QACxC,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-trigger-policy",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,24 +24,23 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/schema-config": ">=0.13.0 <1.0.0",
28
- "@aalis/api-flow-control": ">=0.7.0 <1.0.0",
29
- "@aalis/api-gateway": ">=0.8.0 <1.0.0",
30
- "@aalis/api-message-archive": ">=0.7.0 <1.0.0",
31
- "@aalis/api-persona": ">=0.8.0 <1.0.0",
32
- "@aalis/api-session-manager": ">=0.10.0 <1.0.0",
33
- "@aalis/schema-message": ">=0.9.0 <1.0.0",
34
- "@aalis/api-hooks": ">=0.1.0 <1.0.0",
35
- "@aalis/api-trigger": ">=0.1.0 <1.0.0"
27
+ "@aalis/schema-config": ">=0.15.0 <1.0.0",
28
+ "@aalis/api-flow-control": ">=0.9.0 <1.0.0",
29
+ "@aalis/api-gateway": ">=0.9.0 <1.0.0",
30
+ "@aalis/api-message-archive": ">=0.8.0 <1.0.0",
31
+ "@aalis/api-persona": ">=0.9.0 <1.0.0",
32
+ "@aalis/api-session-manager": ">=0.11.0 <1.0.0",
33
+ "@aalis/schema-message": ">=0.10.0 <1.0.0",
34
+ "@aalis/api-hooks": ">=0.2.0 <1.0.0",
35
+ "@aalis/api-trigger": ">=0.2.0 <1.0.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^22.0.0",
39
39
  "typescript": "^5.7.0",
40
- "@aalis/core": "0.19.0",
41
- "@aalis/api-webui": "0.11.0"
40
+ "@aalis/core": "0.20.0"
42
41
  },
43
42
  "peerDependencies": {
44
- "@aalis/core": ">=0.18.0 <1.0.0"
43
+ "@aalis/core": ">=0.20.0 <1.0.0"
45
44
  },
46
45
  "aalis": {
47
46
  "service": {