@jesonliu/lark-claudecode-bridge 0.18.0 → 0.19.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.
Files changed (47) hide show
  1. package/README.md +5 -3
  2. package/assets/web/css/main.css +2 -0
  3. package/assets/web/js/main.js +3 -1
  4. package/assets/web/js/pages/mcp.js +229 -0
  5. package/assets/web/js/pages/skills.js +169 -0
  6. package/assets/web/js/pages/workspaces.js +23 -2
  7. package/dist/bin/lcb.js +5 -0
  8. package/dist/bin/lcb.js.map +1 -1
  9. package/dist/config.js +33 -7
  10. package/dist/config.js.map +1 -1
  11. package/dist/executor/notify-server.d.ts +13 -0
  12. package/dist/executor/notify-server.js +60 -4
  13. package/dist/executor/notify-server.js.map +1 -1
  14. package/dist/executor/plugin-discovery.d.ts +6 -0
  15. package/dist/executor/plugin-discovery.js +14 -0
  16. package/dist/executor/plugin-discovery.js.map +1 -1
  17. package/dist/gateway/card-builder.d.ts +24 -26
  18. package/dist/gateway/card-builder.js +79 -109
  19. package/dist/gateway/card-builder.js.map +1 -1
  20. package/dist/gateway/feishu-gateway.d.ts +10 -0
  21. package/dist/gateway/feishu-gateway.js +48 -0
  22. package/dist/gateway/feishu-gateway.js.map +1 -1
  23. package/dist/gateway/progress-card.d.ts +26 -0
  24. package/dist/gateway/progress-card.js +68 -4
  25. package/dist/gateway/progress-card.js.map +1 -1
  26. package/dist/index.d.ts +7 -1
  27. package/dist/index.js +174 -71
  28. package/dist/index.js.map +1 -1
  29. package/dist/notify-sop.d.ts +1 -0
  30. package/dist/notify-sop.js +30 -0
  31. package/dist/notify-sop.js.map +1 -0
  32. package/dist/types.d.ts +14 -2
  33. package/dist/util/log-tee.d.ts +4 -0
  34. package/dist/util/log-tee.js +99 -0
  35. package/dist/util/log-tee.js.map +1 -0
  36. package/dist/util/runtime-dirs.d.ts +4 -0
  37. package/dist/util/runtime-dirs.js +27 -0
  38. package/dist/util/runtime-dirs.js.map +1 -0
  39. package/dist/web/lifecycle.d.ts +4 -1
  40. package/dist/web/lifecycle.js +11 -25
  41. package/dist/web/lifecycle.js.map +1 -1
  42. package/dist/web/server.js +311 -11
  43. package/dist/web/server.js.map +1 -1
  44. package/dist/web/skills-mcp-api.d.ts +113 -0
  45. package/dist/web/skills-mcp-api.js +312 -0
  46. package/dist/web/skills-mcp-api.js.map +1 -0
  47. package/package.json +3 -1
@@ -1,8 +1,7 @@
1
- import { chunkText } from '../util/chunk-text.js';
2
1
  /** 子代理清单最多渲染条数(防爆卡片;超出折叠为「…等共 N 个」) */
3
2
  const AGENT_LIST_MAX = 5;
4
- function card(elements) {
5
- return { schema: '2.0', config: { update_multi: true }, body: { elements } };
3
+ function card(elements, widthMode = 'default') {
4
+ return { schema: '2.0', config: { update_multi: true, ...(widthMode === 'fill' ? { width_mode: 'fill' } : {}) }, body: { elements } };
6
5
  }
7
6
  function md(content) {
8
7
  return { tag: 'markdown', content };
@@ -10,8 +9,11 @@ function md(content) {
10
9
  export function buildTextCard(markdown) {
11
10
  return card([md(markdown)]);
12
11
  }
13
- /** 进度卡正文尾部的字符上限(防爆卡片);任务收尾据此判断短回复是否需要独立结果消息 */
14
- export const PROGRESS_TAIL_CHARS = 1200;
12
+ /** 进度卡终态结果尾部的字符上限(防爆卡片)。运行中不展示过程文本(产品决策:主卡只留
13
+ * 关键信息——状态/工具/子代理/确认区/计时;思考内容与过程文本一律不进卡),仅任务收尾
14
+ * 露出结果尾部。index.ts 以同一常量判断「短回复是否需要独立结果消息」,两处保持同值,
15
+ * 否则 400–1200 区间内容会卡片/消息两边都不展示 */
16
+ export const PROGRESS_TAIL_CHARS = 400;
15
17
  /** 图片卡片:caption(可选)显示在图片上方——逐张发图时带编号说明用 */
16
18
  export function buildImageCard(caption, imgKey) {
17
19
  const elements = [];
@@ -20,7 +22,7 @@ export function buildImageCard(caption, imgKey) {
20
22
  elements.push({ tag: 'img', img_key: imgKey, alt: { tag: 'plain_text', content: caption ?? '图片' } });
21
23
  return card(elements);
22
24
  }
23
- export function buildProgressCard(state) {
25
+ export function buildProgressCard(state, widthMode = 'default') {
24
26
  const elapsed = Math.max(0, Math.floor((Date.now() - state.startedAt) / 1000));
25
27
  const duration = `${Math.floor(elapsed / 60)} 分 ${elapsed % 60} 秒`;
26
28
  const lines = [`**${state.title}**`, ``, state.status, ``];
@@ -50,8 +52,25 @@ export function buildProgressCard(state) {
50
52
  // 大量重叠(尤其 plan mode 下计划文本同时出现在正文与计划卡),收敛避免重复刷屏
51
53
  lines.push('---', `⏸ 正文已收起,等待下方确认后继续…`);
52
54
  }
53
- else if (state.textTail) {
54
- lines.push('---', `**📝 最新输出**`, state.textTail.slice(-PROGRESS_TAIL_CHARS)); // 只保留尾部,防爆卡片
55
+ else if (state.question) {
56
+ // 内嵌提问区同样收敛正文:选项已承载信息,正文尾部继续刷只会冲淡提问区
57
+ lines.push('---', `⏸ 正文已收起,等待下方问题作答后继续…`);
58
+ }
59
+ else if (state.plan) {
60
+ // 内嵌计划区同理收敛正文
61
+ lines.push('---', `⏸ 正文已收起,等待下方计划确认后继续…`);
62
+ }
63
+ else if (state.done && state.textTail) {
64
+ // 终态才展示结果尾部(产品决策:运行中过程文本不进卡片,主卡只留关键信息;思考内容
65
+ // 也不采集不展示)。textTail 仍保留全部内容(appendText 不断积累),超长部分由 index.ts
66
+ // 的独立结果消息承载(阈值与本常量同值),渲染层截断不丢内容
67
+ if (state.textTail.length > PROGRESS_TAIL_CHARS) {
68
+ const folded = state.textTail.length - PROGRESS_TAIL_CHARS;
69
+ lines.push('---', `**📝 结果**`, `<font color='grey'>⋯ 已折叠前面 ${folded} 字符</font>`, state.textTail.slice(-PROGRESS_TAIL_CHARS));
70
+ }
71
+ else {
72
+ lines.push('---', `**📝 结果**`, state.textTail);
73
+ }
55
74
  }
56
75
  const elements = [md(lines.join('\n'))];
57
76
  // 工具确认区:嵌入进度卡(按钮在计时行上方)——不再单独发确认卡(旧版独立确认卡与
@@ -77,6 +96,55 @@ export function buildProgressCard(state) {
77
96
  })),
78
97
  });
79
98
  }
99
+ // 内嵌计划确认区(#3+#6):方案正文不进卡片(产品决策:主卡不铺长内容),仅一行就绪提示 +
100
+ // 「查看完整方案」按钮(send_file 发送落盘的原 md)+ 表单(批准/放弃/按意见修改 + 意见输入框)。
101
+ // 用户动线:点按钮看方案文件 → 回卡片选操作
102
+ if (state.plan) {
103
+ elements.push(md(`**📋 执行计划已就绪**(共 ${state.plan.plan.length} 字)· 工作区 \`${state.plan.workspaceName}\`\n\n请先点击下方「📂 查看完整方案」阅读原文,再选择操作`));
104
+ elements.push({
105
+ tag: 'button',
106
+ text: { tag: 'plain_text', content: '📂 查看完整方案' },
107
+ type: 'default',
108
+ behaviors: [{ type: 'callback', value: { requestId: state.plan.requestId, decision: 'plan-view-file' } }],
109
+ });
110
+ elements.push({
111
+ tag: 'form',
112
+ name: 'plan_form',
113
+ elements: [
114
+ {
115
+ tag: 'column_set',
116
+ flex_mode: 'flow',
117
+ columns: [
118
+ { tag: 'column', width: 'auto', weight: 1, vertical_align: 'top', elements: [planButton('plan-approve', '✅ 批准执行', 'primary', state.plan.requestId, 'plan_btn_approve')] },
119
+ { tag: 'column', width: 'auto', weight: 1, vertical_align: 'top', elements: [planButton('plan-reject', '❌ 放弃计划', 'danger', state.plan.requestId, 'plan_btn_reject')] },
120
+ { tag: 'column', width: 'auto', weight: 1, vertical_align: 'top', elements: [planButton('plan-revise', '📝 按意见修改', 'default', state.plan.requestId, 'plan_btn_revise')] },
121
+ ],
122
+ },
123
+ { tag: 'input', name: 'feedback', width: 'fill', placeholder: { tag: 'plain_text', content: '修改意见(点「按意见修改」时随意见重新出计划)' } },
124
+ ],
125
+ });
126
+ }
127
+ // 内嵌提问确认区(#3):选项按钮全宽单行 + 提交按钮;qa-pick PATCH 选中态(✓ + primary),
128
+ // qa-submit 一次性 resolve。点击是 callback(非 form 提交),所以可与 plan/confirm 共存区下同列
129
+ if (state.question) {
130
+ const q = state.question;
131
+ elements.push(md(`**❓ Claude 需要你确认** · 工作区 \`${q.workspaceName}\``));
132
+ q.questions.forEach((qq, qIndex) => {
133
+ const sel = q.answers[qIndex];
134
+ const picked = Array.isArray(sel) ? sel : sel !== undefined ? [sel] : [];
135
+ elements.push(md(`**${qIndex + 1}. ${qq.question}**${qq.multiSelect ? '(可多选)' : ''}`));
136
+ for (const o of qq.options) {
137
+ elements.push(embeddedQaOptionButton(q.requestId, qIndex, o.label, picked.includes(o.label)));
138
+ }
139
+ });
140
+ elements.push({
141
+ tag: 'button',
142
+ text: { tag: 'plain_text', content: '✅ 提交答案' },
143
+ type: 'primary',
144
+ margin: '8px 0px 0px 0px',
145
+ behaviors: [{ type: 'callback', value: { requestId: q.requestId, decision: 'qa-submit' } }],
146
+ });
147
+ }
80
148
  // 计时行上方加分隔横线,与正文/确认区做视觉划分
81
149
  elements.push({ tag: 'hr' });
82
150
  // 终态改为「总耗时」+ 完成时刻:运行中的「已运行」在停止刷新后读起来仍像在计时,任务
@@ -84,7 +152,7 @@ export function buildProgressCard(state) {
84
152
  elements.push(md(state.done
85
153
  ? `<font color='grey'>⏱ 总耗时 ${duration} · 已结束于 ${new Date().toLocaleTimeString('zh-CN', { hour12: false })}</font>`
86
154
  : `<font color='grey'>⏱ 已运行 ${duration}</font>`));
87
- return card(elements);
155
+ return card(elements, widthMode);
88
156
  }
89
157
  export const DECISION_TEXT = {
90
158
  allow: '✅ 已允许',
@@ -111,112 +179,14 @@ function planButton(decision, label, type, requestId, name) {
111
179
  : {}),
112
180
  };
113
181
  }
114
- /**
115
- * 计划确认卡片组:plan 超长时按 ~2800 字拆多张(首卡含表单容器,其余为纯正文续篇)。
116
- * 空白 plan 退化为单卡占位(模型未提交实质计划时用户只能放弃)。
117
- *
118
- * 首卡的按钮 + 意见输入框必须包在 tag:'form' 容器内、按钮带 form_action_type:'submit'——
119
- * 飞书卡片 2.0 中 input 值只有该结构下点击按钮才随 action.form_value 回传,
120
- * 平铺结构点击任何按钮 form_value 恒空(0.17.0 「按意见修改取不到意见」根因)。
121
- * 三个按钮都是 submit:批准/放弃忽略意见字段,input 不设 required。
122
- */
123
- export function buildPlanCards(req) {
124
- const chunks = chunkText(req.plan, 2800);
125
- if (chunks.length === 0)
126
- chunks.push('(模型未提交计划正文)');
127
- return chunks.map((chunk, i) => {
128
- const header = chunks.length > 1
129
- ? `**📋 Claude 提交执行计划(${i + 1}/${chunks.length})**\n\n工作区: \`${req.workspaceName}\`\n`
130
- : `**📋 Claude 提交执行计划**\n\n工作区: \`${req.workspaceName}\`\n`;
131
- if (i === 0) {
132
- return card([
133
- md(`${header}${chunk}`),
134
- {
135
- tag: 'form',
136
- name: 'plan_form',
137
- elements: [
138
- {
139
- // 卡片 V2 已废弃 tag:'action',与确认卡同款 column_set 分栏按钮
140
- tag: 'column_set',
141
- flex_mode: 'flow',
142
- columns: [
143
- { tag: 'column', width: 'auto', weight: 1, vertical_align: 'top', elements: [planButton('plan-approve', '✅ 批准执行', 'primary', req.requestId, 'plan_btn_approve')] },
144
- { tag: 'column', width: 'auto', weight: 1, vertical_align: 'top', elements: [planButton('plan-reject', '❌ 放弃计划', 'danger', req.requestId, 'plan_btn_reject')] },
145
- { tag: 'column', width: 'auto', weight: 1, vertical_align: 'top', elements: [planButton('plan-revise', '📝 按意见修改', 'default', req.requestId, 'plan_btn_revise')] },
146
- ],
147
- },
148
- // 意见输入框在按钮行下方:先决策后补意见的视觉动线(name=feedback 随 form_value 回传)
149
- {
150
- tag: 'input',
151
- name: 'feedback',
152
- width: 'fill',
153
- placeholder: { tag: 'plain_text', content: '修改意见(点「按意见修改」时随意见重新出计划)' },
154
- },
155
- ],
156
- },
157
- ]);
158
- }
159
- return card([md(`${header}${chunk}`)]);
160
- });
161
- }
162
- /** 计划决策结果卡(决策后由回调响应内联 + 兜底 PATCH 首卡) */
163
- export function buildPlanResultCard(req, decision, byName, feedback) {
164
- const text = decision === 'plan-approve'
165
- ? `✅ 计划已批准,开始执行(由 ${byName} 操作)`
166
- : decision === 'plan-revise'
167
- ? `📝 已提交修改意见,Claude 将修订计划后重新提交(由 ${byName} 操作):\n${(feedback ?? '').slice(0, 500)}`
168
- : `❌ 计划已放弃(由 ${byName} 操作)`;
169
- return card([md(`**📋 Claude 提交执行计划**\n\n工作区: \`${req.workspaceName}\`\n\n${text}`)]);
170
- }
171
- /** 计划确认超时卡(此后迟到点击不再改写此卡片) */
172
- export function buildExpiredPlanCard(req, timeoutMs) {
173
- return card([md(`**📋 Claude 提交执行计划**\n\n工作区: \`${req.workspaceName}\`\n\n⏰ 已超时自动放弃(${Math.round(timeoutMs / 60000)} 分钟未确认)`)]);
174
- }
175
- function qaOptionButton(reqId, qIndex, label, selected) {
182
+ /** 内嵌提问按钮(qa-pick callback):与独立卡片同款「选中 ✓ + primary」视觉,qa-pick 不消耗挂起项,仅 PATCH 选中态 */
183
+ function embeddedQaOptionButton(reqId, qIndex, label, selected) {
176
184
  return {
177
185
  tag: 'button',
178
- // 全宽单行:选项文字完整可见(横排 flow 分栏长文本会被 ellipsis 截断,看不全无法决策)
179
186
  width: 'fill',
180
187
  text: { tag: 'plain_text', content: selected ? `✓ ${label}` : label },
181
188
  type: selected ? 'primary' : 'default',
182
189
  behaviors: [{ type: 'callback', value: { requestId: reqId, decision: 'qa-pick', qIndex, option: label } }],
183
190
  };
184
191
  }
185
- /**
186
- * 提问卡片:每个问题一节(问题文本 + 选项按钮,每选项独占一行全宽、选中态打 ✓),
187
- * 底部「提交答案」按钮。选项点击仅更新选中态(PATCH 重渲染),全部问题有答案后提交才有效。
188
- */
189
- export function buildQuestionCard(req, answers) {
190
- const elements = [md(`**❓ Claude 需要你确认**\n\n工作区: \`${req.workspaceName}\``)];
191
- req.questions.forEach((q, qIndex) => {
192
- const sel = answers[qIndex];
193
- const picked = Array.isArray(sel) ? sel : sel !== undefined ? [sel] : [];
194
- elements.push(md(`**${qIndex + 1}. ${q.question}**${q.multiSelect ? '(可多选)' : ''}`));
195
- // JSON 2.0 按钮可直接放 elements:逐个纵排替代旧 column_set flow 横排
196
- for (const o of q.options) {
197
- elements.push(qaOptionButton(req.requestId, qIndex, o.label, picked.includes(o.label)));
198
- }
199
- });
200
- elements.push({
201
- tag: 'button',
202
- text: { tag: 'plain_text', content: '✅ 提交答案' },
203
- type: 'primary',
204
- margin: '8px 0px 0px 0px',
205
- behaviors: [{ type: 'callback', value: { requestId: req.requestId, decision: 'qa-submit' } }],
206
- });
207
- return card(elements);
208
- }
209
- /** 提交后的结果卡(展示每问的最终答案) */
210
- export function buildQuestionResultCard(req, answers, byName) {
211
- const lines = req.questions.map((q, i) => {
212
- const a = answers[i];
213
- const ans = a === undefined ? '(未作答)' : Array.isArray(a) ? a.join('、') : a;
214
- return `- ${q.question} → **${ans}**`;
215
- });
216
- return card([md(`**❓ Claude 需要你确认**\n\n工作区: \`${req.workspaceName}\`\n\n${lines.join('\n')}\n\n✅ 答案已提交(由 ${byName} 操作)`)]);
217
- }
218
- /** 提问超时卡(此后迟到点击不再改写此卡片) */
219
- export function buildExpiredQuestionCard(req, timeoutMs) {
220
- return card([md(`**❓ Claude 需要你确认**\n\n工作区: \`${req.workspaceName}\`\n\n⏰ 已超时自动跳过(${Math.round(timeoutMs / 60000)} 分钟未响应),Claude 将自行决策继续`)]);
221
- }
222
192
  //# sourceMappingURL=card-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-builder.js","sourceRoot":"","sources":["../../src/gateway/card-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-builder.js","sourceRoot":"","sources":["../../src/gateway/card-builder.ts"],"names":[],"mappings":"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"}
@@ -102,12 +102,16 @@ export interface FeishuSdk {
102
102
  request(payload: {
103
103
  method: string;
104
104
  url: string;
105
+ params?: Record<string, unknown>;
105
106
  }): Promise<{
106
107
  code?: number;
107
108
  msg?: string;
108
109
  bot?: {
109
110
  open_id?: string;
110
111
  };
112
+ data?: {
113
+ items?: unknown[];
114
+ };
111
115
  }>;
112
116
  };
113
117
  Domain: {
@@ -179,6 +183,12 @@ export declare class FeishuGateway {
179
183
  * 单张失败仅 warn 记录、不阻塞其余图片与消息转发(im:resource 权限缺失等场景文字任务照常)。
180
184
  */
181
185
  private downloadImages;
186
+ /**
187
+ * 拉取回复链上游消息文本(#5):用户回复某条消息时把上游最多 3 条消息文本一并拼进 prompt。
188
+ * SDK 1.73.0 未封装 im.message.get(只有 list/create/patch/delete),经 Client.request 调
189
+ * GET /open-apis/im/v1/messages/:message_id。失败仅 warn,不阻断主消息流(拉不到时降级为只发当前消息)
190
+ */
191
+ private fetchUpstreamChain;
182
192
  /** 建立 WS 长连接并注册事件分发(im.message.receive_v1 / card.action.trigger) */
183
193
  start(handlers: GatewayHandlers): Promise<void>;
184
194
  /** 优雅关闭长连接(SIGINT/SIGTERM 时逐个 app 调用);未 start 时为 no-op */
@@ -125,6 +125,7 @@ export function parseIncomingMessage(event, botOpenId, opts = {}) {
125
125
  userId,
126
126
  text: stripMention(text),
127
127
  messageId: m.message_id,
128
+ ...(m.parent_id ? { parentId: m.parent_id } : {}),
128
129
  ...(imageKeys.length > 0 ? { imageKeys } : {}),
129
130
  };
130
131
  }
@@ -264,6 +265,47 @@ export class FeishuGateway {
264
265
  }
265
266
  return { paths, failures };
266
267
  }
268
+ /**
269
+ * 拉取回复链上游消息文本(#5):用户回复某条消息时把上游最多 3 条消息文本一并拼进 prompt。
270
+ * SDK 1.73.0 未封装 im.message.get(只有 list/create/patch/delete),经 Client.request 调
271
+ * GET /open-apis/im/v1/messages/:message_id。失败仅 warn,不阻断主消息流(拉不到时降级为只发当前消息)
272
+ */
273
+ async fetchUpstreamChain(parentId, maxDepth = 3) {
274
+ const out = [];
275
+ const visited = new Set();
276
+ let cur = parentId;
277
+ for (let depth = 0; depth < maxDepth && cur && !visited.has(cur); depth++) {
278
+ visited.add(cur);
279
+ try {
280
+ const res = await this.client.request({
281
+ method: 'GET',
282
+ url: `/open-apis/im/v1/messages/${cur}`,
283
+ params: { user_id_type: 'open_id' },
284
+ });
285
+ const items = res.data?.items;
286
+ const msg = Array.isArray(items) && items.length > 0
287
+ ? items[0]
288
+ : null;
289
+ if (!msg)
290
+ break;
291
+ let text = '';
292
+ if (msg.message_type === 'text') {
293
+ text = JSON.parse(msg.body?.content ?? '{}').text ?? '';
294
+ }
295
+ else if (msg.message_type === 'post') {
296
+ text = flattenPost(msg.body?.content ?? '{}')?.text ?? '';
297
+ }
298
+ if (text.trim())
299
+ out.push(`> [L${depth + 1}] ${text.trim()}`);
300
+ cur = msg.parent_id;
301
+ }
302
+ catch (e) {
303
+ this.log.warn('[回复链] 拉取上游消息失败', cur, e);
304
+ break;
305
+ }
306
+ }
307
+ return out;
308
+ }
267
309
  /** 建立 WS 长连接并注册事件分发(im.message.receive_v1 / card.action.trigger) */
268
310
  async start(handlers) {
269
311
  const botOpenId = await this.fetchBotOpenId();
@@ -299,6 +341,12 @@ export class FeishuGateway {
299
341
  }
300
342
  parsed.text = hasText ? `${parsed.text}\n\n${notes.join('\n')}` : notes.join('\n');
301
343
  }
344
+ // #5 回复链上游消息:把 parent_id 链路上最多 3 条消息文本拼到 prompt 头部
345
+ if (parsed.parentId) {
346
+ const upstream = await this.fetchUpstreamChain(parsed.parentId);
347
+ if (upstream.length > 0)
348
+ parsed.text = `${upstream.join('\n\n')}\n\n---\n\n${parsed.text}`;
349
+ }
302
350
  await handlers.onMessage(parsed);
303
351
  }
304
352
  },
@@ -1 +1 @@
1
- {"version":3,"file":"feishu-gateway.js","sourceRoot":"","sources":["../../src/gateway/feishu-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feishu-gateway.js","sourceRoot":"","sources":["../../src/gateway/feishu-gateway.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,11 @@ export declare class ProgressCard {
21
21
  constructor(sender: CardSender, title: string, opts?: {
22
22
  flushIntervalMs?: number;
23
23
  idleHeartbeatMs?: number;
24
+ cardWidthMode?: 'default' | 'fill';
24
25
  });
25
26
  start(): Promise<void>;
27
+ /** 过程文本累积(产品决策:运行中不在卡片渲染过程文本与思考内容,仅终态露出结果尾部——
28
+ * 见 card-builder buildProgressCard 的 done 分支;buffer 照常积累供终态使用,不丢内容) */
26
29
  appendText(delta: string): void;
27
30
  toolStart(name: string, summary: string): void;
28
31
  toolResult(name: string, ok: boolean, note?: string): void;
@@ -33,6 +36,29 @@ export declare class ProgressCard {
33
36
  * 清除后 flush 一次性带出。
34
37
  */
35
38
  setConfirm(req: ConfirmationRequest | undefined): void;
39
+ /**
40
+ * 挂起/清除内嵌计划确认(#3+#6):plan 内容过长仅露 600 字预览,完整原文落盘到 planFilePath,
41
+ * 「查看完整方案」按钮 callback 触发 send_file 而非嵌入卡片。决策后 clearPlan() 收回区域
42
+ */
43
+ setPlan(req: import('./card-builder.js').EmbeddedPlanState | undefined): void;
44
+ /**
45
+ * 挂起/清除内嵌提问确认(#3):每题选项全宽单行 + 提交按钮全部在主卡上,qa-pick PATCH 选中态。
46
+ * 决策后 clearQuestion() 收回区域
47
+ */
48
+ setQuestion(req: import('./card-builder.js').EmbeddedQuestionState | undefined): void;
49
+ /** 当前某题的选中答案(wiring 的 qa-pick 回调同步给 qaPending 校验用;公开读,
50
+ * 替代旧版 wiring 直接访问私有 state 的 hack) */
51
+ getQuestionAnswer(qIndex: number): string | string[] | undefined;
52
+ /** 当前挂起的内嵌 plan / question requestId(wiring 诊断入口 _pendingAsk 用) */
53
+ pendingAsk(): {
54
+ planId?: string;
55
+ questionId?: string;
56
+ };
57
+ /**
58
+ * qa-pick 选项点击:更新选中态并 flush(multiSelect 累加/移除,单选直接覆盖)。
59
+ * 异常状态(如 question 已被清空)静默忽略——迟到点击不报错
60
+ */
61
+ updateQuestionAnswer(qIndex: number, option: string, multiSelect: boolean): void;
36
62
  /** 子代理/后台任务启动:加入清单(同 id 重复启动幂等跳过) */
37
63
  agentStart(agent: {
38
64
  id: string;
@@ -22,7 +22,7 @@ export class ProgressCard {
22
22
  this.state = { title, status: '🚀 已接收,启动中…', textTail: '', toolLine: '', startedAt: Date.now(), agents: [] };
23
23
  }
24
24
  async start() {
25
- this.messageId = await this.sender.sendCard(buildProgressCard(this.state));
25
+ this.messageId = await this.sender.sendCard(buildProgressCard(this.state, this.opts.cardWidthMode ?? 'default'));
26
26
  const interval = this.opts.flushIntervalMs ?? 1500;
27
27
  this.flushTimer = setInterval(() => void this.flush(), interval).unref();
28
28
  this.heartbeatTimer = setInterval(() => {
@@ -32,6 +32,8 @@ export class ProgressCard {
32
32
  }
33
33
  }, 1000).unref();
34
34
  }
35
+ /** 过程文本累积(产品决策:运行中不在卡片渲染过程文本与思考内容,仅终态露出结果尾部——
36
+ * 见 card-builder buildProgressCard 的 done 分支;buffer 照常积累供终态使用,不丢内容) */
35
37
  appendText(delta) {
36
38
  if (this.done)
37
39
  return;
@@ -73,6 +75,66 @@ export class ProgressCard {
73
75
  this.lastActivityAt = Date.now();
74
76
  void this.flush();
75
77
  }
78
+ /**
79
+ * 挂起/清除内嵌计划确认(#3+#6):plan 内容过长仅露 600 字预览,完整原文落盘到 planFilePath,
80
+ * 「查看完整方案」按钮 callback 触发 send_file 而非嵌入卡片。决策后 clearPlan() 收回区域
81
+ */
82
+ setPlan(req) {
83
+ if (this.done)
84
+ return;
85
+ this.state.plan = req;
86
+ this.lastActivityAt = Date.now();
87
+ void this.flush();
88
+ }
89
+ /**
90
+ * 挂起/清除内嵌提问确认(#3):每题选项全宽单行 + 提交按钮全部在主卡上,qa-pick PATCH 选中态。
91
+ * 决策后 clearQuestion() 收回区域
92
+ */
93
+ setQuestion(req) {
94
+ if (this.done)
95
+ return;
96
+ this.state.question = req;
97
+ this.lastActivityAt = Date.now();
98
+ void this.flush();
99
+ }
100
+ /** 当前某题的选中答案(wiring 的 qa-pick 回调同步给 qaPending 校验用;公开读,
101
+ * 替代旧版 wiring 直接访问私有 state 的 hack) */
102
+ getQuestionAnswer(qIndex) {
103
+ return this.state.question?.answers[qIndex];
104
+ }
105
+ /** 当前挂起的内嵌 plan / question requestId(wiring 诊断入口 _pendingAsk 用) */
106
+ pendingAsk() {
107
+ return {
108
+ planId: this.state.plan?.requestId,
109
+ questionId: this.state.question?.requestId,
110
+ };
111
+ }
112
+ /**
113
+ * qa-pick 选项点击:更新选中态并 flush(multiSelect 累加/移除,单选直接覆盖)。
114
+ * 异常状态(如 question 已被清空)静默忽略——迟到点击不报错
115
+ */
116
+ updateQuestionAnswer(qIndex, option, multiSelect) {
117
+ if (this.done || !this.state.question)
118
+ return;
119
+ const q = this.state.question.questions[qIndex];
120
+ if (!q)
121
+ return;
122
+ if (multiSelect) {
123
+ const cur = this.state.question.answers[qIndex];
124
+ const arr = Array.isArray(cur) ? [...cur] : cur !== undefined ? [cur] : [];
125
+ const i = arr.indexOf(option);
126
+ if (i >= 0 && arr.length > 1)
127
+ arr.splice(i, 1); // 至少保留一项:单选/全取消等于未答
128
+ else if (i < 0)
129
+ arr.push(option);
130
+ this.state.question.answers[qIndex] = arr;
131
+ }
132
+ else {
133
+ this.state.question.answers[qIndex] = option;
134
+ }
135
+ this.lastActivityAt = Date.now();
136
+ void this.flush();
137
+ }
76
138
  /** 子代理/后台任务启动:加入清单(同 id 重复启动幂等跳过) */
77
139
  agentStart(agent) {
78
140
  if (this.done)
@@ -109,8 +171,10 @@ export class ProgressCard {
109
171
  clearInterval(this.heartbeatTimer);
110
172
  this.state.status = summary;
111
173
  this.state.toolLine = '';
112
- // 终态不再带确认按钮(决策未落的最极端兜底;正常路径 ask 先于 finish settle)
174
+ // 终态不再带交互区(决策未落的最极端兜底;正常路径 plan/question/confirm 先于 finish settle)
113
175
  this.state.confirm = undefined;
176
+ this.state.plan = undefined;
177
+ this.state.question = undefined;
114
178
  await this.flush(); // 经由同一串行链落地,保证是最后一张(终态不被旧 flush 覆盖)
115
179
  }
116
180
  /**
@@ -129,7 +193,7 @@ export class ProgressCard {
129
193
  await this.sender.deleteCard(old).catch(() => { });
130
194
  for (let attempt = 0; attempt < 2; attempt++) {
131
195
  try {
132
- this.messageId = await this.sender.sendCard(buildProgressCard(this.state));
196
+ this.messageId = await this.sender.sendCard(buildProgressCard(this.state, this.opts.cardWidthMode ?? 'default'));
133
197
  void this.flush();
134
198
  return;
135
199
  }
@@ -162,7 +226,7 @@ export class ProgressCard {
162
226
  this.buffer = '';
163
227
  }
164
228
  try {
165
- await this.sender.updateCard(this.messageId, buildProgressCard(this.state));
229
+ await this.sender.updateCard(this.messageId, buildProgressCard(this.state, this.opts.cardWidthMode ?? 'default'));
166
230
  }
167
231
  catch {
168
232
  // 单次 PATCH 失败不致命(限流/网络抖动),下轮重试