@zhin.js/service-activity-feedback 3.0.15 → 3.0.16

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @zhin.js/service-activity-feedback
2
2
 
3
- 可选服务插件:订阅 AI 生命周期事件,按**顶层** `activityFeedback` 配置驱动各适配器能力。
3
+ 可选服务插件:订阅 AI 生命周期事件,按插件实例配置驱动各适配器能力。
4
4
 
5
5
  ## 模块结构
6
6
 
@@ -18,11 +18,15 @@ activityFeedbackAiBus ──► ai-event-binder(薄) ──► ActivityFeedb
18
18
 
19
19
  - **Orchestrator**:对外 `startPhase` / `stopPhase` / `updateThinkingText`
20
20
  - **Policy**:根级 `activityFeedback` 合并与 phase 解析
21
- - **Executor**:隐藏 platform 自管 manager 与 generic manager 双路径
21
+ - **Executor**:隐藏 platform 自管 manager 与 generic manager 双路径,并按 Endpoint 声明能力选择 reaction / typing / message
22
22
  - **Adapter**:仅提供 `$activityFeedback` IO 能力
23
- - **Runtime slice-2**:`plugin.ts` setup 经 `activityFeedbackAiBus` 订阅(无 `usePlugin`);
24
- endpoint access 暂为 noop(phase 在 resolve 失败时静默跳过)。
25
- **TODO**:注入真实 Adapter/endpoint access,使 typing/reaction 真正出站。
23
+ - **Runtime**:`plugin.ts` setup 经 `activityFeedbackAiBus` 订阅(无 `usePlugin`),
24
+ 通过 generation-owned `outboundHostToken` 访问当前 Endpoint;发送、撤回、编辑、
25
+ reaction 与原生 typing 均走统一 IM Runtime 控制链路。
26
+
27
+ 同一 IM 会话的异步状态事件按产生顺序串行投影,主 Agent、工具迭代、子 Agent
28
+ 以及 Schedule 的开始/完成/失败不会互相抢写。Endpoint 未声明某项操作时会按实际
29
+ 能力降级为可安全清理的 reaction、typing、message 或 none,不按平台名称猜测隐藏方法。
26
30
 
27
31
  ## 安装
28
32
 
@@ -30,19 +34,47 @@ activityFeedbackAiBus ──► ai-event-binder(薄) ──► ActivityFeedb
30
34
  pnpm add @zhin.js/service-activity-feedback @zhin.js/agent
31
35
  ```
32
36
 
37
+ 随后在项目 `package.json#zhin.plugins` 挂载插件:
38
+
39
+ ```json
40
+ {
41
+ "zhin": {
42
+ "plugins": [
43
+ {
44
+ "package": "@zhin.js/service-activity-feedback",
45
+ "instanceKey": "activity-feedback"
46
+ }
47
+ ]
48
+ }
49
+ }
50
+ ```
51
+
33
52
  ## 启用
34
53
 
35
54
  ```yaml
36
55
  plugins:
37
- - "@zhin.js/service-activity-feedback"
38
-
39
- activityFeedback:
40
- enabled: true
41
- platforms:
42
- icqq:
56
+ activity-feedback:
57
+ enabled: true
58
+ defaults:
43
59
  phases:
60
+ queued:
61
+ group: { type: reaction, emoji: "⏳" }
44
62
  active:
45
- group: { type: reaction, emoji: "60" }
63
+ group: { type: typing }
64
+ thinking:
65
+ group: { type: message, message: "思考中…" }
66
+ platforms:
67
+ icqq:
68
+ phases:
69
+ active:
70
+ group: { type: reaction, emoji: "60" }
46
71
  ```
47
72
 
48
- 详见 [Activity Feedback](../../../docs/advanced/activity-feedback.md)、[ADR 0034](../../../docs/adr/0034-activity-feedback-service-plugin.md)。
73
+ 交互回合支持 `queued`、`active`、`thinking`,Schedule 支持
74
+ `schedule_start`、`schedule_finish`、`schedule_error`。每个 phase 可按
75
+ `private`、`group`、`channel` 配置,呈现 `reaction`、`message`、`typing` 或 `none`。
76
+
77
+ 这些枚举的触发时机、推荐选择与全部字段见
78
+ [Activity Feedback](../../../docs/advanced/activity-feedback.md) 和
79
+ [自动生成配置参考](../../../docs/configuration/generated.md#activity-feedback);设计边界见
80
+ [ADR 0034](../../../docs/adr/0034-activity-feedback-service-plugin.md)。
@@ -1,5 +1,6 @@
1
1
  import { type AIEventHandlers } from '@zhin.js/agent';
2
2
  import { type ActivityFeedbackServiceConfig } from './config.js';
3
+ import type { GenerationAdmissionGate } from 'zhin.js';
3
4
  import { type ActivityFeedbackEndpointAccess } from './executor.js';
4
5
  import { ActivityFeedbackOrchestrator } from './orchestrator.js';
5
6
  export declare function createActivityFeedbackAIEventHandlers(orchestrator: ActivityFeedbackOrchestrator): AIEventHandlers;
@@ -7,7 +8,7 @@ export declare function createActivityFeedbackAIEventHandlers(orchestrator: Acti
7
8
  * Plugin Runtime path: subscribe on module-level `activityFeedbackAiBus`
8
9
  * (fed by ZhinAgentEventEmitter.emit). No usePlugin / Adapter inject.
9
10
  */
10
- export declare function bindActivityFeedbackToAIEventBus(orchestrator: ActivityFeedbackOrchestrator): () => void;
11
+ export declare function bindActivityFeedbackToAIEventBus(orchestrator: ActivityFeedbackOrchestrator, admission: GenerationAdmissionGate, runWithView: <T>(operation: () => Promise<T>) => Promise<T>): () => Promise<void>;
11
12
  export type ActivityFeedbackLogger = {
12
13
  debug: (msg: string, ...args: unknown[]) => void;
13
14
  error: (msg: string, ...args: unknown[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-event-binder.d.ts","sourceRoot":"","sources":["../src/ai-event-binder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAqC,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAGjE,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,4BAA4B,GACzC,eAAe,CAqEjB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,YAAY,EAAE,4BAA4B,GACzC,MAAM,IAAI,CAKZ;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,WAAW,yCAAyC;IACxD,aAAa,EAAE,6BAA6B,CAAC;IAC7C,MAAM,EAAE,8BAA8B,CAAC;IACvC,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,yCAAyC,GACjD,4BAA4B,CAI9B;AAED,uFAAuF;AACvF,wBAAgB,4CAA4C,CAC1D,aAAa,EAAE,6BAA6B,EAC5C,MAAM,EAAE,sBAAsB,EAC9B,MAAM,GAAE,8BAA2D,GAClE,4BAA4B,CAM9B"}
1
+ {"version":3,"file":"ai-event-binder.d.ts","sourceRoot":"","sources":["../src/ai-event-binder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EAGrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAqC,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAGL,KAAK,8BAA8B,EACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAGjE,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,4BAA4B,GACzC,eAAe,CAmGjB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,YAAY,EAAE,4BAA4B,EAC1C,SAAS,EAAE,uBAAuB,EAClC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1D,MAAM,OAAO,CAAC,IAAI,CAAC,CAmCrB;AAiED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,WAAW,yCAAyC;IACxD,aAAa,EAAE,6BAA6B,CAAC;IAC7C,MAAM,EAAE,8BAA8B,CAAC;IACvC,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,yCAAyC,GACjD,4BAA4B,CAI9B;AAED,uFAAuF;AACvF,wBAAgB,4CAA4C,CAC1D,aAAa,EAAE,6BAA6B,EAC5C,MAAM,EAAE,sBAAsB,EAC9B,MAAM,GAAE,8BAA2D,GAClE,4BAA4B,CAM9B"}
@@ -19,7 +19,13 @@ export function createActivityFeedbackAIEventHandlers(orchestrator) {
19
19
  if (!isActivityFeedbackEnabled(payload, 'active'))
20
20
  return;
21
21
  await orchestrator.stopPhase(payload, 'queued', 'processing.start');
22
+ if (typeof payload.iterations === 'number' && payload.iterations > 1) {
23
+ await orchestrator.stopPhase(payload, 'thinking', 'processing.iteration');
24
+ }
22
25
  await orchestrator.startPhase(payload, 'active', 'processing.start');
26
+ if (typeof payload.iterations === 'number' && payload.iterations > 1 && payload.content?.trim()) {
27
+ await orchestrator.updatePhaseText(payload, 'active', payload.content.trim());
28
+ }
23
29
  },
24
30
  onTypingStart: async () => { },
25
31
  onProcessingFinish: async (payload) => {
@@ -36,10 +42,11 @@ export function createActivityFeedbackAIEventHandlers(orchestrator) {
36
42
  await orchestrator.stopPhase(payload, 'thinking', 'processing.error');
37
43
  await orchestrator.stopPhase(payload, 'active', 'processing.error');
38
44
  },
39
- onTypingStop: (payload) => {
45
+ onTypingStop: async (payload) => {
40
46
  if (!isActivityFeedbackEnabled(payload, 'active'))
41
47
  return;
42
- return orchestrator.stopPhase(payload, 'active', 'typing.stop');
48
+ await orchestrator.stopPhase(payload, 'thinking', 'typing.stop');
49
+ await orchestrator.stopPhase(payload, 'active', 'typing.stop');
43
50
  },
44
51
  onThinking: async (payload) => {
45
52
  if (!isActivityFeedbackEnabled(payload, 'thinking'))
@@ -50,10 +57,27 @@ export function createActivityFeedbackAIEventHandlers(orchestrator) {
50
57
  await orchestrator.startPhase(payload, 'thinking', 'thinking');
51
58
  await orchestrator.updateThinkingText(payload, payload.thinking);
52
59
  },
60
+ onToolCall: async (payload) => {
61
+ if (!isActivityFeedbackEnabled(payload, 'active') || !payload.toolName?.trim())
62
+ return;
63
+ const text = `调用工具:${payload.toolName.trim()}…`;
64
+ await orchestrator.updatePhaseText(payload, 'thinking', text);
65
+ await orchestrator.updatePhaseText(payload, 'active', text);
66
+ },
67
+ onToolResult: async (payload) => {
68
+ if (!isActivityFeedbackEnabled(payload, 'active') || !payload.toolName?.trim())
69
+ return;
70
+ const outcome = payload.status === 'error' || payload.error ? '未完成' : '已完成';
71
+ const text = `工具 ${payload.toolName.trim()} ${outcome},继续处理…`;
72
+ await orchestrator.updatePhaseText(payload, 'thinking', text);
73
+ await orchestrator.updatePhaseText(payload, 'active', text);
74
+ },
53
75
  onSubagentStart: async (payload) => {
54
76
  if (!isActivityFeedbackEnabled(payload, 'thinking'))
55
77
  return;
56
- // Do not stop the parent turn's active indicator subagent uses an isolated session key.
78
+ // The subagent has an isolated session key; remove its own active placeholder
79
+ // before switching to the richer thinking state.
80
+ await orchestrator.stopPhase(payload, 'active', 'subagent.start');
57
81
  await orchestrator.startPhase(payload, 'thinking', 'subagent.start');
58
82
  const tag = payload.agentId?.trim() || 'subagent';
59
83
  const label = payload.label?.trim()
@@ -62,16 +86,21 @@ export function createActivityFeedbackAIEventHandlers(orchestrator) {
62
86
  await orchestrator.updateThinkingText(payload, `[${tag}] ${label}`);
63
87
  },
64
88
  onSubagentFinish: async (payload) => {
65
- if (!isActivityFeedbackEnabled(payload, 'active'))
66
- return;
67
- await orchestrator.stopPhase(payload, 'thinking', 'subagent.finish');
68
- await orchestrator.startPhase(payload, 'active', 'subagent.finish');
89
+ if (isActivityFeedbackEnabled(payload, 'thinking')) {
90
+ await orchestrator.stopPhase(payload, 'thinking', 'subagent.finish');
91
+ }
92
+ if (isActivityFeedbackEnabled(payload, 'active')) {
93
+ await orchestrator.stopPhase(payload, 'active', 'subagent.finish');
94
+ }
69
95
  },
70
96
  onScheduleStart: (payload) => orchestrator.startPhase(payload, 'schedule_start', 'schedule.start'),
71
- onScheduleFinish: (payload) => orchestrator.stopPhase(payload, 'schedule_start', 'schedule.finish'),
97
+ onScheduleFinish: async (payload) => {
98
+ await orchestrator.stopPhase(payload, 'schedule_start', 'schedule.finish');
99
+ await orchestrator.showTransientPhase(payload, 'schedule_finish', 'schedule.finish');
100
+ },
72
101
  onScheduleError: async (payload) => {
73
102
  await orchestrator.stopPhase(payload, 'schedule_start', 'schedule.error');
74
- await orchestrator.startPhase(payload, 'schedule_error', 'schedule.error');
103
+ await orchestrator.showTransientPhase(payload, 'schedule_error', 'schedule.error');
75
104
  },
76
105
  };
77
106
  }
@@ -79,8 +108,94 @@ export function createActivityFeedbackAIEventHandlers(orchestrator) {
79
108
  * Plugin Runtime path: subscribe on module-level `activityFeedbackAiBus`
80
109
  * (fed by ZhinAgentEventEmitter.emit). No usePlugin / Adapter inject.
81
110
  */
82
- export function bindActivityFeedbackToAIEventBus(orchestrator) {
83
- return subscribeAIEventsOnTarget(activityFeedbackAiBus, createActivityFeedbackAIEventHandlers(orchestrator));
111
+ export function bindActivityFeedbackToAIEventBus(orchestrator, admission, runWithView) {
112
+ let stopWatchingRetirement;
113
+ const watchRetirement = () => {
114
+ if (stopWatchingRetirement)
115
+ return;
116
+ stopWatchingRetirement = admission.onDeactivate(() => {
117
+ void close();
118
+ });
119
+ };
120
+ const serialized = createGenerationSerializedTarget(activityFeedbackAiBus, admission, runWithView, watchRetirement);
121
+ const unsubscribe = subscribeAIEventsOnTarget(serialized.target, createActivityFeedbackAIEventHandlers(orchestrator));
122
+ let shutdown;
123
+ function close() {
124
+ if (shutdown)
125
+ return shutdown;
126
+ // Retirement is published before SnapshotStore changes its current pointer.
127
+ // Enter the IM view synchronously here so timers, native-typing keepalives,
128
+ // and final reaction/message cleanup all remain on this generation's Endpoint.
129
+ shutdown = runWithView(async () => {
130
+ unsubscribe();
131
+ await serialized.close();
132
+ await orchestrator.dispose();
133
+ });
134
+ return shutdown;
135
+ }
136
+ return async () => {
137
+ stopWatchingRetirement?.();
138
+ await close();
139
+ };
140
+ }
141
+ /** Generation-local ordering: one queue per IM session, no module-level runtime state. */
142
+ function createGenerationSerializedTarget(source, admission, runWithView, onAdmitted) {
143
+ const tails = new Map();
144
+ const wrappers = new Map();
145
+ let closed = false;
146
+ const target = {
147
+ on(event, listener) {
148
+ const wrapped = async (payload) => {
149
+ const release = admission.acquire();
150
+ if (!release)
151
+ return;
152
+ onAdmitted();
153
+ try {
154
+ await runWithView(async () => {
155
+ const key = payload.sessionId || '__global__';
156
+ const previous = tails.get(key);
157
+ const run = async () => {
158
+ if (!closed)
159
+ await listener(payload);
160
+ };
161
+ const current = previous
162
+ ? previous.catch(() => undefined).then(run)
163
+ : run();
164
+ tails.set(key, current);
165
+ try {
166
+ await current;
167
+ }
168
+ finally {
169
+ if (tails.get(key) === current)
170
+ tails.delete(key);
171
+ }
172
+ });
173
+ }
174
+ finally {
175
+ release();
176
+ }
177
+ };
178
+ wrappers.set(listener, wrapped);
179
+ return source.on(event, wrapped);
180
+ },
181
+ off(event, listener) {
182
+ const wrapped = wrappers.get(listener);
183
+ if (!wrapped)
184
+ return source.off(event, listener);
185
+ wrappers.delete(listener);
186
+ return source.off(event, wrapped);
187
+ },
188
+ };
189
+ return {
190
+ target,
191
+ async close() {
192
+ closed = true;
193
+ const pending = [...tails.values()];
194
+ await Promise.allSettled(pending);
195
+ tails.clear();
196
+ wrappers.clear();
197
+ },
198
+ };
84
199
  }
85
200
  export function createActivityFeedbackOrchestrator(options) {
86
201
  const policy = new ActivityFeedbackPolicy(loadActivityFeedbackServiceConfig(options.serviceConfig));
@@ -1 +1 @@
1
- {"version":3,"file":"ai-event-binder.js","sourceRoot":"","sources":["../src/ai-event-binder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-event-binder.js","sourceRoot":"","sources":["../src/ai-event-binder.ts"],"names":[],"mappings":"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"}
package/lib/config.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ActivityFeedbackConfig } from '@zhin.js/agent';
2
- /** 顶层 `activityFeedback` 配置(zhin.config.yml,与 endpoints 解耦) */
2
+ /** Plugin Runtime 实例配置(`plugins.<instanceKey>`,与 Adapter endpoint 配置解耦)。 */
3
3
  export interface ActivityFeedbackServiceConfig {
4
4
  enabled?: boolean;
5
5
  defaults?: ActivityFeedbackConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,+DAA+D;AAC/D,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,QAAQ,EAAE,OAAO,gBAAgB,EAAE,2BAA2B,CAAC,CAAC,CAAC;KAC9G,CAAC;CACH;AAyBD,wBAAgB,2BAA2B,CACzC,GAAG,MAAM,EAAE,CAAC,sBAAsB,GAAG,SAAS,CAAC,EAAE,GAChD,sBAAsB,GAAG,SAAS,CAcpC;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,6BAA6B,GAAG,SAAS,GAC7C,6BAA6B,CAK/B;AAED,4CAA4C;AAC5C,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,6BAA6B,EACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,sBAAsB,GAAG,SAAS,CASpC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,4EAA4E;AAC5E,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,QAAQ,EAAE,OAAO,gBAAgB,EAAE,2BAA2B,CAAC,CAAC,CAAC;KAC9G,CAAC;CACH;AAyBD,wBAAgB,2BAA2B,CACzC,GAAG,MAAM,EAAE,CAAC,sBAAsB,GAAG,SAAS,CAAC,EAAE,GAChD,sBAAsB,GAAG,SAAS,CAcpC;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,6BAA6B,GAAG,SAAS,GAC7C,6BAA6B,CAK/B;AAED,4CAA4C;AAC5C,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,6BAA6B,EACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,sBAAsB,GAAG,SAAS,CASpC"}
package/lib/executor.d.ts CHANGED
@@ -1,11 +1,10 @@
1
- import type { Adapter } from 'zhin.js';
2
- import { type ActivityFeedbackPhase, type EndpointWithActivityFeedback, type ResolvedActivityFeedbackPhaseConfig, type ActivityFeedbackEventContext } from '@zhin.js/agent';
1
+ import { type ActivityFeedbackPhase, type ActivityFeedbackSendPort, type EndpointWithActivityFeedback, type ResolvedActivityFeedbackPhaseConfig, type ActivityFeedbackEventContext } from '@zhin.js/agent';
3
2
  import type { OutboundHost } from 'zhin.js';
4
3
  /** IM 侧 endpoint 访问 seam(便于测试注入 fake) */
5
4
  export interface ActivityFeedbackEndpointAccess {
6
5
  resolve(platform: string, endpointKey: string): {
7
6
  endpoint: EndpointWithActivityFeedback;
8
- adapter: Adapter;
7
+ outbound: ActivityFeedbackSendPort;
9
8
  } | undefined;
10
9
  }
11
10
  /** Slice-2: no Adapter inject — executor start/stop no-op when resolve returns undefined. */
@@ -14,7 +13,7 @@ export declare function createNoopEndpointAccess(): ActivityFeedbackEndpointAcce
14
13
  * Plugin Runtime: resolve endpoints via OutboundHost → ImRuntime.sendEndpointMessage.
15
14
  * Typing/reaction text goes through the unified outbound chain (no legacy Adapter.inject).
16
15
  *
17
- * 按 platform:endpointKey 缓存 { endpoint, adapter }:activity manager 挂在
16
+ * 按 platform:endpointKey 缓存 { endpoint, outbound }:activity manager 挂在
18
17
  * endpoint.$activityFeedback 上,start/stop 必须解析到同一个对象,否则
19
18
  * stop 时拿不到 manager,typing 指示器永远无法停止。
20
19
  */
@@ -26,6 +25,7 @@ export declare class ActivityFeedbackExecutor {
26
25
  constructor(access: ActivityFeedbackEndpointAccess);
27
26
  start(ctx: ActivityFeedbackEventContext, phase: ActivityFeedbackPhase, phaseConfig: ResolvedActivityFeedbackPhaseConfig): Promise<void>;
28
27
  stop(ctx: ActivityFeedbackEventContext, phase: ActivityFeedbackPhase): Promise<void>;
28
+ updateText(ctx: ActivityFeedbackEventContext, phase: ActivityFeedbackPhase, text: string): Promise<void>;
29
29
  updateThinkingText(ctx: ActivityFeedbackEventContext, text: string): Promise<void>;
30
30
  }
31
31
  //# sourceMappingURL=executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAgG,KAAK,qBAAqB,EAAE,KAAK,4BAA4B,EAAwC,KAAK,mCAAmC,EAAE,KAAK,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAChT,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,yCAAyC;AACzC,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB;QAAE,QAAQ,EAAE,4BAA4B,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CAC7E;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,IAAI,8BAA8B,CAMzE;AAqBD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,YAAY,EACtB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,GAC5D,8BAA8B,CAwGhC;AA2GD,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,8BAA8B;IAE7D,KAAK,CACT,GAAG,EAAE,4BAA4B,EACjC,KAAK,EAAE,qBAAqB,EAC5B,WAAW,EAAE,mCAAmC,GAC/C,OAAO,CAAC,IAAI,CAAC;IAOV,IAAI,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpF,kBAAkB,CAAC,GAAG,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMzF"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgG,KAAK,qBAAqB,EAAE,KAAK,wBAAwB,EAAE,KAAK,4BAA4B,EAAwC,KAAK,mCAAmC,EAAE,KAAK,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC/U,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,yCAAyC;AACzC,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB;QAAE,QAAQ,EAAE,4BAA4B,CAAC;QAAC,QAAQ,EAAE,wBAAwB,CAAA;KAAE,GAAG,SAAS,CAAC;CAC/F;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,IAAI,8BAA8B,CAMzE;AAqBD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,YAAY,EACtB,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,GAC5D,8BAA8B,CAsIhC;AA2GD,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,8BAA8B;IAE7D,KAAK,CACT,GAAG,EAAE,4BAA4B,EACjC,KAAK,EAAE,qBAAqB,EAC5B,WAAW,EAAE,mCAAmC,GAC/C,OAAO,CAAC,IAAI,CAAC;IAOV,IAAI,CAAC,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpF,UAAU,CACd,GAAG,EAAE,4BAA4B,EACjC,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAaV,kBAAkB,CAAC,GAAG,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzF"}
package/lib/executor.js CHANGED
@@ -32,7 +32,7 @@ function stringifySendContent(content) {
32
32
  * Plugin Runtime: resolve endpoints via OutboundHost → ImRuntime.sendEndpointMessage.
33
33
  * Typing/reaction text goes through the unified outbound chain (no legacy Adapter.inject).
34
34
  *
35
- * 按 platform:endpointKey 缓存 { endpoint, adapter }:activity manager 挂在
35
+ * 按 platform:endpointKey 缓存 { endpoint, outbound }:activity manager 挂在
36
36
  * endpoint.$activityFeedback 上,start/stop 必须解析到同一个对象,否则
37
37
  * stop 时拿不到 manager,typing 指示器永远无法停止。
38
38
  */
@@ -40,17 +40,21 @@ export function createOutboundEndpointAccess(outbound, logger) {
40
40
  const cache = new Map();
41
41
  return {
42
42
  resolve(platform, endpointKey) {
43
- const key = `${platform}:${endpointKey}`;
43
+ const key = JSON.stringify([platform, endpointKey]);
44
44
  const cached = cache.get(key);
45
45
  if (cached)
46
46
  return cached;
47
+ const declared = outbound.capabilities?.({ adapter: platform, endpointKey })?.operations;
48
+ const supports = (operation) => declared?.includes(operation) === true;
47
49
  const recall = outbound.recall;
50
+ const edit = outbound.edit;
48
51
  const addReaction = outbound.addReaction;
49
52
  const removeReaction = outbound.removeReaction;
53
+ const typing = outbound.typing;
50
54
  const endpoint = {
51
55
  $id: endpointKey,
52
56
  control: {
53
- ...(recall ? {
57
+ ...(recall && supports('recall') ? {
54
58
  recall: async (message) => {
55
59
  try {
56
60
  await recall({ adapter: platform, endpointKey, message });
@@ -60,7 +64,18 @@ export function createOutboundEndpointAccess(outbound, logger) {
60
64
  }
61
65
  },
62
66
  } : {}),
63
- ...(addReaction ? {
67
+ ...(edit && supports('edit') ? {
68
+ edit: async (message, content) => {
69
+ try {
70
+ return await edit({ adapter: platform, endpointKey, message, content });
71
+ }
72
+ catch (error) {
73
+ logger?.debug(`[ActivityFeedback] outbound edit failed (${key}):`, error instanceof Error ? error.message : String(error));
74
+ return null;
75
+ }
76
+ },
77
+ } : {}),
78
+ ...(addReaction && supports('reaction') ? {
64
79
  addReaction: async (message, emoji, hint) => {
65
80
  try {
66
81
  return await addReaction({
@@ -78,44 +93,52 @@ export function createOutboundEndpointAccess(outbound, logger) {
78
93
  }
79
94
  },
80
95
  } : {}),
81
- ...(removeReaction ? {
96
+ ...(removeReaction && supports('reaction') ? {
82
97
  removeReaction: async (message, reactionId) => {
83
- void Promise.resolve(removeReaction({ adapter: platform, endpointKey, message, reactionId })).catch((error) => {
98
+ try {
99
+ await removeReaction({ adapter: platform, endpointKey, message, reactionId });
100
+ }
101
+ catch (error) {
84
102
  logger?.debug(`[ActivityFeedback] outbound removeReaction failed (${key}):`, error instanceof Error ? error.message : String(error));
85
- });
103
+ }
104
+ },
105
+ } : {}),
106
+ ...(typing && supports('typing') ? {
107
+ typing: async (conversation, active) => {
108
+ try {
109
+ await typing({ adapter: platform, endpointKey, conversation, active });
110
+ }
111
+ catch (error) {
112
+ logger?.debug(`[ActivityFeedback] outbound typing failed (${key}):`, error instanceof Error ? error.message : String(error));
113
+ }
86
114
  },
87
115
  } : {}),
88
116
  },
89
117
  };
90
- const adapter = {
91
- sendMessage: async (options) => {
92
- const text = stringifySendContent(options.content);
93
- if (!text || !options.id)
118
+ const sendPort = {
119
+ send: async ({ conversation, content }) => {
120
+ const text = stringifySendContent(content);
121
+ if (!text || !conversation.id)
94
122
  return null;
95
123
  try {
96
124
  const messageId = await outbound.send({
97
125
  adapter: platform,
98
126
  endpointKey,
99
127
  conversation: {
100
- kind: options.type || 'private',
101
- id: options.id,
128
+ kind: conversation.kind,
129
+ id: conversation.id,
102
130
  },
103
131
  content: text,
104
132
  });
105
- // Prefer real id; fall back to a sentinel so MessageTypingIndicator
106
- // keeps the phase active until stop (recall is a no-op here).
107
- return messageId || `outbound:${Date.now()}`;
133
+ return messageId || null;
108
134
  }
109
135
  catch (error) {
110
136
  logger?.debug(`[ActivityFeedback] outbound send failed (${key}):`, error instanceof Error ? error.message : String(error));
111
137
  return null;
112
138
  }
113
139
  },
114
- endpoints: {
115
- get: (id) => (id === endpointKey ? endpoint : undefined),
116
- },
117
140
  };
118
- const resolved = { endpoint, adapter: adapter };
141
+ const resolved = { endpoint, outbound: sendPort };
119
142
  cache.set(key, resolved);
120
143
  return resolved;
121
144
  },
@@ -156,12 +179,12 @@ class PlatformPhaseDriver {
156
179
  class GenericPhaseDriver {
157
180
  endpoint;
158
181
  platform;
159
- adapter;
182
+ outbound;
160
183
  manager;
161
- constructor(endpoint, platform, adapter) {
184
+ constructor(endpoint, platform, outbound) {
162
185
  this.endpoint = endpoint;
163
186
  this.platform = platform;
164
- this.adapter = adapter;
187
+ this.outbound = outbound;
165
188
  }
166
189
  async ensureManager() {
167
190
  if (this.manager)
@@ -171,7 +194,7 @@ class GenericPhaseDriver {
171
194
  this.manager = existing;
172
195
  return existing;
173
196
  }
174
- this.manager = enableActivityFeedbackForBot(this.endpoint, this.platform, this.adapter);
197
+ this.manager = enableActivityFeedbackForBot(this.endpoint, this.platform, this.outbound);
175
198
  return this.manager;
176
199
  }
177
200
  async start(ctx, phase, phaseConfig) {
@@ -196,12 +219,12 @@ class GenericPhaseDriver {
196
219
  }
197
220
  }
198
221
  }
199
- function createPhaseDriver(endpoint, platform, adapter) {
222
+ function createPhaseDriver(endpoint, platform, outbound) {
200
223
  const manager = endpoint.$activityFeedback;
201
224
  if (manager && !isGenericActivityFeedbackManager(manager)) {
202
225
  return new PlatformPhaseDriver(manager);
203
226
  }
204
- return new GenericPhaseDriver(endpoint, platform, adapter);
227
+ return new GenericPhaseDriver(endpoint, platform, outbound);
205
228
  }
206
229
  export class ActivityFeedbackExecutor {
207
230
  access;
@@ -212,22 +235,33 @@ export class ActivityFeedbackExecutor {
212
235
  const resolved = this.access.resolve(ctx.platform, ctx.endpointKey);
213
236
  if (!resolved)
214
237
  return;
215
- const driver = createPhaseDriver(resolved.endpoint, ctx.platform, resolved.adapter);
238
+ const driver = createPhaseDriver(resolved.endpoint, ctx.platform, resolved.outbound);
216
239
  await driver.start(ctx, phase, phaseConfig);
217
240
  }
218
241
  async stop(ctx, phase) {
219
242
  const resolved = this.access.resolve(ctx.platform, ctx.endpointKey);
220
243
  if (!resolved?.endpoint.$activityFeedback)
221
244
  return;
222
- const driver = createPhaseDriver(resolved.endpoint, ctx.platform, resolved.adapter);
245
+ const driver = createPhaseDriver(resolved.endpoint, ctx.platform, resolved.outbound);
223
246
  await driver.stop(ctx, phase);
224
247
  }
225
- async updateThinkingText(ctx, text) {
248
+ async updateText(ctx, phase, text) {
226
249
  const resolved = this.access.resolve(ctx.platform, ctx.endpointKey);
227
250
  if (!resolved)
228
251
  return;
229
- const driver = createPhaseDriver(resolved.endpoint, ctx.platform, resolved.adapter);
230
- await driver.updateThinkingText(ctx, text);
252
+ const driver = createPhaseDriver(resolved.endpoint, ctx.platform, resolved.outbound);
253
+ const manager = resolved.endpoint.$activityFeedback;
254
+ if (!manager || !isGenericActivityFeedbackManager(manager)) {
255
+ if (phase === 'thinking')
256
+ await driver.updateThinkingText(ctx, text);
257
+ return;
258
+ }
259
+ const indicator = manager.getActiveIndicator(phase, ctx.options);
260
+ if (indicator?.update)
261
+ await indicator.update(text);
262
+ }
263
+ async updateThinkingText(ctx, text) {
264
+ await this.updateText(ctx, 'thinking', text);
231
265
  }
232
266
  }
233
267
  //# sourceMappingURL=executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,18 @@ export declare class ActivityFeedbackOrchestrator {
9
9
  private readonly policy;
10
10
  private readonly executor;
11
11
  private readonly log;
12
+ private readonly active;
13
+ private readonly transient;
14
+ private readonly pendingCleanup;
12
15
  constructor(policy: ActivityFeedbackPolicy, executor: ActivityFeedbackExecutor, log: Logger);
13
16
  startPhase(payload: AIEventPayload, phase: ActivityFeedbackPhase, reason: string): Promise<void>;
14
17
  stopPhase(payload: AIEventPayload, phase: ActivityFeedbackPhase, reason: string): Promise<void>;
15
18
  updateThinkingText(payload: AIEventPayload, text: string): Promise<void>;
19
+ updatePhaseText(payload: AIEventPayload, phase: ActivityFeedbackPhase, text: string): Promise<void>;
20
+ showTransientPhase(payload: AIEventPayload, phase: ActivityFeedbackPhase, reason: string): Promise<void>;
21
+ dispose(): Promise<void>;
22
+ private phaseKey;
23
+ private clearTransient;
16
24
  }
17
25
  export {};
18
26
  //# sourceMappingURL=orchestrator.d.ts.map