feique 1.5.1 → 1.5.8

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.en.md CHANGED
@@ -1,4 +1,4 @@
1
- # 飞鹊 (Feique) v1.5.1
1
+ # 飞鹊 (Feique) v1.5.8
2
2
 
3
3
  <div align="center">
4
4
 
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 飞鹊 (Feique) v1.5.1
1
+ # 飞鹊 (Feique) v1.5.8
2
2
 
3
3
  <div align="center">
4
4
 
@@ -163,6 +163,7 @@ reply_mode = "card" # text | post | card
163
163
 
164
164
  [codex]
165
165
  bin = "codex"
166
+ default_model = "gpt-5.5"
166
167
  default_sandbox = "workspace-write"
167
168
  run_timeout_ms = 1800000 # 30 minutes
168
169
 
@@ -173,7 +174,7 @@ run_timeout_ms = 1800000 # 30 minutes
173
174
  # [claude]
174
175
  # bin = "claude"
175
176
  # default_permission_mode = "auto"
176
- # default_model = "sonnet"
177
+ # default_model = "claude-opus-4-7"
177
178
 
178
179
  [storage]
179
180
  dir = "~/.feique/state"
@@ -212,6 +213,8 @@ enabled = true
212
213
  app_id = "env:FEISHU_APP_ID"
213
214
  app_secret = "env:FEISHU_APP_SECRET"
214
215
  transport = "long-connection"
216
+ # 推荐配置,用于群聊 @ 门禁:只响应 @ 机器人自己,不响应 @ 其他成员。
217
+ bot_open_ids = ["ou_bot_open_id"]
215
218
 
216
219
  [projects.default]
217
220
  root = "/srv/repos/repo-a"
@@ -228,6 +231,8 @@ log_dir = "/srv/feique/projects/repo-a/logs"
228
231
  # backend = "claude" # 项目级后端覆盖
229
232
  ```
230
233
 
234
+ `reply_mode` 同时控制普通回复和任务运行中/完成回复:`text` 是纯文本气泡,`post` 是飞书富文本消息,`card` 是卡片消息。`post` 模式下任务回复只发送最终富文本结果,避免飞书拒绝更新富文本消息。
235
+
231
236
  权限说明:
232
237
 
233
238
  - `viewer`:可见项目、查看 `/projects`、`/status`、`/session list`
@@ -250,7 +255,8 @@ MCP 说明:
250
255
  - `/task list|get|create|complete`:在飞书任务里查看、创建和完成任务
251
256
  - `/base tables|records|create|update`:查看或写入多维表格
252
257
  - 对文档、任务、多维表格这类飞书对象写操作,会直接执行并回写同一条状态消息
253
- - 文本执行请求会先立即回复一条运行态消息,再更新为 `已接收 / 排队中 / 处理中 / 已完成 / 失败`
258
+ - `text` / `card` 模式下,执行请求会先回复运行态消息,再更新为 `已接收 / 排队中 / 处理中 / 已完成 / 失败`
259
+ - `post` 模式下,执行请求只发送最终富文本结果,不更新中间状态消息
254
260
  - 运行态卡片会区分 `排队中 / 准备上下文 / 生成中 / 执行中 / 已完成 / 失败 / 已取消`
255
261
 
256
262
  ## 📚 文档导航
@@ -7,6 +7,7 @@ export interface CodexBackendConfig {
7
7
  shell?: string;
8
8
  preExec?: string;
9
9
  defaultProfile?: string;
10
+ defaultModel?: string;
10
11
  defaultSandbox: SandboxMode;
11
12
  skipGitRepoCheck: boolean;
12
13
  runTimeoutMs: number;
@@ -18,7 +18,7 @@ export class CodexBackend {
18
18
  prompt: options.prompt,
19
19
  sessionId: options.sessionId,
20
20
  profile: options.projectConfig?.profile ?? this.config.defaultProfile,
21
- model: options.projectConfig?.model,
21
+ model: options.projectConfig?.model ?? this.config.defaultModel,
22
22
  sandbox: options.projectConfig?.sandbox ?? this.config.defaultSandbox,
23
23
  tempDir: options.projectConfig?.tempDir,
24
24
  cacheDir: options.projectConfig?.cacheDir,
@@ -124,6 +124,7 @@ export const codexBackendDefinition = {
124
124
  shell: config.codex.shell,
125
125
  preExec: config.codex.pre_exec,
126
126
  defaultProfile: config.codex.default_profile,
127
+ defaultModel: config.codex.default_model,
127
128
  defaultSandbox: config.codex.default_sandbox,
128
129
  skipGitRepoCheck: config.codex.skip_git_repo_check,
129
130
  runTimeoutMs: config.codex.run_timeout_ms,
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"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"}
@@ -40,9 +40,6 @@ export function supportsInteractiveCardActions(config) {
40
40
  return config.feishu.transport === 'webhook';
41
41
  }
42
42
  export function resolveRunLifecycleReplyMode(config) {
43
- if (config.service.reply_mode === 'post') {
44
- return 'card';
45
- }
46
43
  return config.service.reply_mode;
47
44
  }
48
45
  export function buildRunLifecycleCard(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"reply-builders.js","sourceRoot":"","sources":["../../src/bridge/reply-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reply-builders.js","sourceRoot":"","sources":["../../src/bridge/reply-builders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;GAQG;AAEH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,aAAsB;IACpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,SAAS,GAAG,IAAI;SACnB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,OAAO,CAAC,CAAC;IACjB,OAAO,eAAe,CAAC,SAAS,IAAI,aAAa,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,IAAI;SACR,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wHAAwH,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7J,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI;SACR,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACjE,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAAoB;IACjE,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAoB;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;AACnC,CAAC;AAgBD,MAAM,UAAU,qBAAqB,CAAC,KAA4B;IAChE,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,WAAW,IAAI,qBAAqB,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;YAC1F,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,gBAAgB,CAAC;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,sBAAsB,CAAC,aAAa,CAAC;QAC3C,MAAM,EAAE,KAAK,CAAC,SAAS;QACvB,KAAK,EAAE,KAAK,CAAC,QAAQ;QACrB,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAC;AACL,CAAC"}
@@ -123,77 +123,127 @@ export async function executePrompt(host, input) {
123
123
  sessionId: currentSession?.thread_id,
124
124
  }, 'Codex run started');
125
125
  host.metrics?.recordCodexTurnStarted(input.projectAlias, runId);
126
+ const runBackendTurn = async (sessionId) => backend.run({
127
+ workdir: input.project.root,
128
+ prompt: bridgePrompt,
129
+ sessionId,
130
+ timeoutMs: backend.name === 'claude'
131
+ ? (host.config.claude?.run_timeout_ms ?? host.config.codex.run_timeout_ms)
132
+ : backend.name === 'qwen'
133
+ ? (host.config.qwen?.run_timeout_ms ?? host.config.codex.run_timeout_ms)
134
+ : host.config.codex.run_timeout_ms,
135
+ signal: activeRun.controller.signal,
136
+ logger: host.logger,
137
+ projectConfig: backend.name === 'codex'
138
+ ? {
139
+ profile: input.project.profile ?? host.config.codex.default_profile,
140
+ model: input.project.codex_model ?? host.config.codex.default_model,
141
+ sandbox: input.project.codex_sandbox ?? input.project.sandbox ?? host.config.codex.default_sandbox,
142
+ tempDir: host.resolveProjectTempDir(input.projectAlias, input.project),
143
+ cacheDir: host.resolveProjectCacheDir(input.projectAlias, input.project),
144
+ }
145
+ : backend.name === 'qwen'
146
+ ? {
147
+ approvalMode: input.project.qwen_approval_mode ?? host.config.qwen?.default_approval_mode,
148
+ model: input.project.qwen_model ?? host.config.qwen?.default_model,
149
+ allowedTools: input.project.qwen_allowed_tools ?? host.config.qwen?.allowed_tools,
150
+ systemPromptAppend: input.project.qwen_system_prompt_append ?? host.config.qwen?.system_prompt_append,
151
+ }
152
+ : {
153
+ permissionMode: input.project.claude_permission_mode ?? host.config.claude?.default_permission_mode,
154
+ model: input.project.claude_model ?? host.config.claude?.default_model,
155
+ maxBudgetUsd: input.project.claude_max_budget_usd ?? host.config.claude?.max_budget_usd,
156
+ allowedTools: input.project.claude_allowed_tools ?? host.config.claude?.allowed_tools,
157
+ systemPromptAppend: input.project.claude_system_prompt_append ?? host.config.claude?.system_prompt_append,
158
+ },
159
+ onSpawn: async (pid) => {
160
+ activeRun.pid = pid;
161
+ await host.runStateStore.upsertRun(runId, {
162
+ queue_key: input.queueKey,
163
+ conversation_key: input.sessionKey,
164
+ project_alias: input.projectAlias,
165
+ chat_id: input.chatId,
166
+ actor_id: input.actorId,
167
+ session_id: sessionId,
168
+ project_root: projectRoot,
169
+ prompt_excerpt: truncateExcerpt(input.prompt),
170
+ status: 'running',
171
+ status_detail: undefined,
172
+ pid,
173
+ });
174
+ },
175
+ onEvent: async (event) => {
176
+ if (!host.config.service.emit_progress_updates) {
177
+ return;
178
+ }
179
+ const message = backend.summarizeEvent(event);
180
+ if (!message) {
181
+ return;
182
+ }
183
+ const now = Date.now();
184
+ if (now - lastProgressUpdate < host.config.service.progress_update_interval_ms) {
185
+ return;
186
+ }
187
+ lastProgressUpdate = now;
188
+ await host.updateRunProgressReply(input, runId, message, backendLabel);
189
+ },
190
+ });
126
191
  try {
127
192
  const outputTokenLimit = backend.name === 'claude'
128
193
  ? (host.config.claude?.output_token_limit ?? host.config.codex.output_token_limit)
129
194
  : backend.name === 'qwen'
130
195
  ? (host.config.qwen?.output_token_limit ?? host.config.codex.output_token_limit)
131
196
  : host.config.codex.output_token_limit;
132
- const result = await backend.run({
133
- workdir: input.project.root,
134
- prompt: bridgePrompt,
135
- sessionId: currentSession?.thread_id,
136
- timeoutMs: backend.name === 'claude'
137
- ? (host.config.claude?.run_timeout_ms ?? host.config.codex.run_timeout_ms)
138
- : backend.name === 'qwen'
139
- ? (host.config.qwen?.run_timeout_ms ?? host.config.codex.run_timeout_ms)
140
- : host.config.codex.run_timeout_ms,
141
- signal: activeRun.controller.signal,
142
- logger: host.logger,
143
- projectConfig: backend.name === 'codex'
197
+ let result;
198
+ try {
199
+ result = await runBackendTurn(currentSession?.thread_id);
200
+ }
201
+ catch (error) {
202
+ const staleSessionId = currentSession?.thread_id;
203
+ if (!staleSessionId || !isMissingBackendSessionError(error)) {
204
+ throw error;
205
+ }
206
+ await host.sessionStore.dropProjectSession(input.sessionKey, input.projectAlias, staleSessionId);
207
+ currentSession = currentSession
144
208
  ? {
145
- profile: input.project.profile ?? host.config.codex.default_profile,
146
- model: input.project.codex_model,
147
- sandbox: input.project.codex_sandbox ?? input.project.sandbox ?? host.config.codex.default_sandbox,
148
- tempDir: host.resolveProjectTempDir(input.projectAlias, input.project),
149
- cacheDir: host.resolveProjectCacheDir(input.projectAlias, input.project),
150
- }
151
- : backend.name === 'qwen'
152
- ? {
153
- approvalMode: input.project.qwen_approval_mode ?? host.config.qwen?.default_approval_mode,
154
- model: input.project.qwen_model ?? host.config.qwen?.default_model,
155
- allowedTools: input.project.qwen_allowed_tools ?? host.config.qwen?.allowed_tools,
156
- systemPromptAppend: input.project.qwen_system_prompt_append ?? host.config.qwen?.system_prompt_append,
157
- }
158
- : {
159
- permissionMode: input.project.claude_permission_mode ?? host.config.claude?.default_permission_mode,
160
- model: input.project.claude_model ?? host.config.claude?.default_model,
161
- maxBudgetUsd: input.project.claude_max_budget_usd ?? host.config.claude?.max_budget_usd,
162
- allowedTools: input.project.claude_allowed_tools ?? host.config.claude?.allowed_tools,
163
- systemPromptAppend: input.project.claude_system_prompt_append ?? host.config.claude?.system_prompt_append,
164
- },
165
- onSpawn: async (pid) => {
166
- activeRun.pid = pid;
167
- await host.runStateStore.upsertRun(runId, {
168
- queue_key: input.queueKey,
169
- conversation_key: input.sessionKey,
170
- project_alias: input.projectAlias,
171
- chat_id: input.chatId,
172
- actor_id: input.actorId,
173
- session_id: currentSession?.thread_id,
174
- project_root: projectRoot,
175
- prompt_excerpt: truncateExcerpt(input.prompt),
176
- status: 'running',
177
- status_detail: undefined,
178
- pid,
179
- });
180
- },
181
- onEvent: async (event) => {
182
- if (!host.config.service.emit_progress_updates) {
183
- return;
184
- }
185
- const message = backend.summarizeEvent(event);
186
- if (!message) {
187
- return;
209
+ ...currentSession,
210
+ thread_id: undefined,
211
+ active_thread_id: undefined,
188
212
  }
189
- const now = Date.now();
190
- if (now - lastProgressUpdate < host.config.service.progress_update_interval_ms) {
191
- return;
192
- }
193
- lastProgressUpdate = now;
194
- await host.updateRunProgressReply(input, runId, message, backendLabel);
195
- },
196
- });
213
+ : undefined;
214
+ await host.auditLog.append({
215
+ type: 'codex.run.session_stale',
216
+ run_id: runId,
217
+ chat_id: input.chatId,
218
+ actor_id: input.actorId,
219
+ project_alias: input.projectAlias,
220
+ conversation_key: input.sessionKey,
221
+ session_id: staleSessionId,
222
+ backend: backend.name,
223
+ });
224
+ host.logger.warn({
225
+ runId,
226
+ queueKey: input.queueKey,
227
+ sessionKey: input.sessionKey,
228
+ projectAlias: input.projectAlias,
229
+ sessionId: staleSessionId,
230
+ backend: backend.name,
231
+ }, 'Dropped stale backend session and retrying without resume');
232
+ await host.runStateStore.upsertRun(runId, {
233
+ queue_key: input.queueKey,
234
+ conversation_key: input.sessionKey,
235
+ project_alias: input.projectAlias,
236
+ chat_id: input.chatId,
237
+ actor_id: input.actorId,
238
+ session_id: undefined,
239
+ project_root: projectRoot,
240
+ pid: activeRun.pid,
241
+ prompt_excerpt: truncateExcerpt(input.prompt),
242
+ status: 'running',
243
+ status_detail: 'stale session dropped; retrying without resume',
244
+ });
245
+ result = await runBackendTurn(undefined);
246
+ }
197
247
  const excerpt = result.finalMessage.slice(0, outputTokenLimit);
198
248
  if (!excerpt.trim()) {
199
249
  host.logger.warn({
@@ -450,4 +500,13 @@ export async function executePrompt(host, input) {
450
500
  host.runReplyTargets.delete(runId);
451
501
  }
452
502
  }
503
+ function isMissingBackendSessionError(error) {
504
+ const message = error instanceof Error ? error.message : String(error);
505
+ return [
506
+ 'No conversation found with session ID',
507
+ 'No conversation found',
508
+ 'Session not found',
509
+ 'conversation not found',
510
+ ].some((needle) => message.includes(needle));
511
+ }
453
512
  //# sourceMappingURL=run-pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-pipeline.js","sourceRoot":"","sources":["../../src/bridge/run-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-pipeline.js","sourceRoot":"","sources":["../../src/bridge/run-pipeline.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,8 @@ export declare class FeiqueService {
129
129
  private getSelectionConversationKey;
130
130
  private getSelectionScope;
131
131
  private shouldRequireMention;
132
+ private messageMentionsBot;
133
+ private normalizeIncomingChatContext;
132
134
  private cancelActiveRun;
133
135
  private scheduleProjectExecution;
134
136
  private isAdminChat;
@@ -194,6 +194,7 @@ export class FeiqueService {
194
194
  return runMaintenanceCycleImpl(this);
195
195
  }
196
196
  async handleIncomingMessage(context) {
197
+ context = this.normalizeIncomingChatContext(context);
197
198
  this.currentMessageContext = context;
198
199
  if (!context.text.trim() && context.attachments.length === 0) {
199
200
  return;
@@ -607,7 +608,7 @@ export class FeiqueService {
607
608
  openaiImageModel: this.config.service.openai_image_model,
608
609
  logger: this.logger,
609
610
  });
610
- if (context.chat_type === 'group' && this.shouldRequireMention(projectContext.project) && context.mentions.length === 0) {
611
+ if (context.chat_type === 'group' && this.shouldRequireMention(projectContext.project) && !this.messageMentionsBot(context)) {
611
612
  return;
612
613
  }
613
614
  const rateLimitMessage = this.checkAndConsumeChatRateLimit(projectContext.projectAlias, projectContext.project, context.chat_id);
@@ -1517,6 +1518,25 @@ export class FeiqueService {
1517
1518
  shouldRequireMention(project) {
1518
1519
  return project.mention_required || this.config.security.require_group_mentions;
1519
1520
  }
1521
+ messageMentionsBot(context) {
1522
+ const botOpenIds = new Set(this.config.feishu.bot_open_ids ?? []);
1523
+ const botName = this.config.feishu.bot_name?.trim();
1524
+ if (botOpenIds.size === 0 && !botName) {
1525
+ return context.mentions.length > 0;
1526
+ }
1527
+ return context.mentions.some((mention) => {
1528
+ if (mention.id && botOpenIds.has(mention.id)) {
1529
+ return true;
1530
+ }
1531
+ return Boolean(botName && mention.name?.trim() === botName);
1532
+ });
1533
+ }
1534
+ normalizeIncomingChatContext(context) {
1535
+ if (context.chat_type !== 'group' && this.config.feishu.allowed_group_ids.includes(context.chat_id)) {
1536
+ return { ...context, chat_type: 'group' };
1537
+ }
1538
+ return context;
1539
+ }
1520
1540
  async cancelActiveRun(queueKey, reason) {
1521
1541
  const live = this.activeRuns.get(queueKey);
1522
1542
  if (live) {
@@ -1933,7 +1953,7 @@ export class FeiqueService {
1933
1953
  return response;
1934
1954
  }
1935
1955
  if (this.config.service.reply_mode === 'post') {
1936
- const post = buildFeishuPost(title, formattedBodyWithMention);
1956
+ const post = buildFeishuPost('', formattedBodyWithMention);
1937
1957
  if (this.config.service.reply_quote_user_message && replyToMessageId) {
1938
1958
  const response = await this.feishuClient.sendPost(chatId, post, { replyToMessageId });
1939
1959
  await this.auditLog.append({
@@ -2007,7 +2027,7 @@ export class FeiqueService {
2007
2027
  if (lifecycleMode === 'post') {
2008
2028
  const postBody = sanitizeUserVisibleReply(formatQuotedReply(input.body, input.originalText));
2009
2029
  const title = buildReplyTitle(postBody);
2010
- const post = buildFeishuPost(title, postBody);
2030
+ const post = buildFeishuPost('', postBody);
2011
2031
  const response = lifecycleReplyOptions
2012
2032
  ? await this.feishuClient.sendPost(input.chatId, post, lifecycleReplyOptions)
2013
2033
  : await this.feishuClient.sendPost(input.chatId, post);
@@ -2052,6 +2072,11 @@ export class FeiqueService {
2052
2072
  }
2053
2073
  async sendInitialRunLifecycleReply(input) {
2054
2074
  const lifecycleMode = resolveRunLifecycleReplyMode(this.config);
2075
+ // Keep normal runs to a single final reply. Queued runs still get an
2076
+ // explicit queue notice because the user is waiting behind other work.
2077
+ if (!input.queued || lifecycleMode === 'post') {
2078
+ return;
2079
+ }
2055
2080
  const draft = this.buildInitialRunLifecycleReply(input.projectAlias, input.queued, lifecycleMode);
2056
2081
  try {
2057
2082
  const response = await this.sendRunLifecycleReply({
@@ -2154,48 +2179,60 @@ export class FeiqueService {
2154
2179
  return false;
2155
2180
  }
2156
2181
  const sanitizedBody = sanitizeUserVisibleReply(input.body);
2157
- if (target.mode === 'card') {
2158
- const includeActions = input.runStatus === 'success' && supportsInteractiveCardActions(this.config) && input.sessionKey !== undefined;
2159
- await this.feishuClient.updateCard(target.messageId, buildRunLifecycleCard({
2160
- title: input.title,
2161
- body: input.body,
2162
- projectAlias: input.projectAlias,
2163
- runStatus: input.runStatus,
2164
- runPhase: input.runPhase,
2165
- cardSummary: input.cardSummary,
2166
- includeActions,
2167
- rerunPayload: includeActions && input.sessionKey
2168
- ? {
2169
- action: 'rerun',
2170
- conversation_key: input.sessionKey,
2171
- project_alias: input.projectAlias,
2172
- chat_id: input.chatId,
2173
- }
2174
- : undefined,
2175
- newSessionPayload: includeActions && input.sessionKey
2176
- ? {
2177
- action: 'new',
2178
- conversation_key: input.sessionKey,
2179
- project_alias: input.projectAlias,
2180
- chat_id: input.chatId,
2181
- }
2182
- : undefined,
2183
- statusPayload: includeActions && input.sessionKey
2184
- ? {
2185
- action: 'status',
2186
- conversation_key: input.sessionKey,
2187
- project_alias: input.projectAlias,
2188
- chat_id: input.chatId,
2189
- }
2190
- : undefined,
2191
- }));
2192
- }
2193
- else if (target.mode === 'post') {
2194
- const title = buildReplyTitle(sanitizedBody);
2195
- await this.feishuClient.updatePost(target.messageId, buildFeishuPost(title, sanitizedBody));
2182
+ try {
2183
+ if (target.mode === 'card') {
2184
+ const includeActions = input.runStatus === 'success' && supportsInteractiveCardActions(this.config) && input.sessionKey !== undefined;
2185
+ await this.feishuClient.updateCard(target.messageId, buildRunLifecycleCard({
2186
+ title: input.title,
2187
+ body: input.body,
2188
+ projectAlias: input.projectAlias,
2189
+ runStatus: input.runStatus,
2190
+ runPhase: input.runPhase,
2191
+ cardSummary: input.cardSummary,
2192
+ includeActions,
2193
+ rerunPayload: includeActions && input.sessionKey
2194
+ ? {
2195
+ action: 'rerun',
2196
+ conversation_key: input.sessionKey,
2197
+ project_alias: input.projectAlias,
2198
+ chat_id: input.chatId,
2199
+ }
2200
+ : undefined,
2201
+ newSessionPayload: includeActions && input.sessionKey
2202
+ ? {
2203
+ action: 'new',
2204
+ conversation_key: input.sessionKey,
2205
+ project_alias: input.projectAlias,
2206
+ chat_id: input.chatId,
2207
+ }
2208
+ : undefined,
2209
+ statusPayload: includeActions && input.sessionKey
2210
+ ? {
2211
+ action: 'status',
2212
+ conversation_key: input.sessionKey,
2213
+ project_alias: input.projectAlias,
2214
+ chat_id: input.chatId,
2215
+ }
2216
+ : undefined,
2217
+ }));
2218
+ }
2219
+ else if (target.mode === 'post') {
2220
+ await this.feishuClient.updatePost(target.messageId, buildFeishuPost('', sanitizedBody));
2221
+ }
2222
+ else {
2223
+ await this.feishuClient.updateText(target.messageId, sanitizedBody);
2224
+ }
2196
2225
  }
2197
- else {
2198
- await this.feishuClient.updateText(target.messageId, sanitizedBody);
2226
+ catch (error) {
2227
+ this.runReplyTargets.delete(input.runId);
2228
+ this.logger.warn({
2229
+ error,
2230
+ chatId: input.chatId,
2231
+ projectAlias: input.projectAlias,
2232
+ runId: input.runId,
2233
+ replyMode: target.mode,
2234
+ }, 'Failed to update run lifecycle reply; will fall back to a new reply');
2235
+ return false;
2199
2236
  }
2200
2237
  await this.auditLog.append({
2201
2238
  type: 'message.updated',