botmux 2.30.1 → 2.30.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"message-parser.d.ts","sourceRoot":"","sources":["../../../src/im/lark/message-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAM/D,UAAU,YAAY;IACpB,MAAM,EAAE;QACN,SAAS,EAAE;YACT,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BnG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWtE;AA2BD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACtD;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAgB/C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,eAAe,EAAE,CAuE/G;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,eAAe,EAAE,CAAA;CAAE,CAwC3G;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAY7E;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAmC3F"}
1
+ {"version":3,"file":"message-parser.d.ts","sourceRoot":"","sources":["../../../src/im/lark/message-parser.ts"],"names":[],"mappings":"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"}
@@ -12,15 +12,13 @@ export async function resolveNonsupportMessage(data, larkAppId) {
12
12
  const type = data.message.message_type;
13
13
  if (type !== 'nonsupport' && type !== 'interactive')
14
14
  return;
15
- // For interactive fallbacks, the WS payload often embeds the full v2 card JSON
16
- // inside a `user_dsl` string. Unwrap it locally no REST call needed, and it
17
- // works even cross-tenant where im.message.get is denied.
15
+ // Interactive cards: resolve to the COMPLETE merged text (union of both
16
+ // im.message.get representations) so forwarded cards reach the model fully
17
+ // parsed same resolver `botmux history` uses. resolveEventCard falls back
18
+ // to local user_dsl unwrap if REST is unavailable (e.g. cross-tenant).
18
19
  if (type === 'interactive') {
19
- if (unwrapUserDsl(data))
20
- return;
21
- // No user_dsl — only fetch when the content looks like a fallback.
22
- if (!isCardFallback(data.message.content))
23
- return;
20
+ await resolveEventCard(data, larkAppId);
21
+ return;
24
22
  }
25
23
  try {
26
24
  const detail = await getMessageDetail(larkAppId, data.message.message_id);
@@ -69,22 +67,37 @@ function unwrapUserDsl(data) {
69
67
  return true;
70
68
  }
71
69
  /**
72
- * Detect whether an interactive message's WS content is the simplified
73
- * "upgrade your client" fallback rather than the real card body.
70
+ * Lark's simplified "upgrade your client" card fallback marker. When this text
71
+ * shows up in a card's resolved content, the real body was stripped and must be
72
+ * recovered via `im.message.get` (with `card_msg_content_type=user_card_content`).
74
73
  */
75
- function isCardFallback(rawContent) {
76
- if (rawContent.includes('请升级至最新版本客户端'))
77
- return true;
78
- try {
79
- const c = JSON.parse(rawContent);
80
- // Real v2 cards have schema/body; v1 card JSON usually has header/config.
81
- // The fallback has only {title, elements:[[...]]} with no schema/header/config.
82
- const hasRealStructure = c.schema || c.body || c.header || c.config;
83
- return !hasRealStructure;
84
- }
85
- catch {
86
- return false;
87
- }
74
+ export const CARD_UPGRADE_FALLBACK = '请升级至最新版本客户端';
75
+ /**
76
+ * Broad check — content carries the upgrade notice *somewhere*. Used to decide
77
+ * whether a card needs REST re-resolution. Deliberately a substring match: a
78
+ * false positive only costs one extra `im.message.get`, and this is the only
79
+ * way to catch **embedded** fallbacks complex cards (e.g. Argos alarm cards
80
+ * with nested sub-cards) render fine at the top level but bury one or more
81
+ * `请升级…` placeholders mid-body where an anchored check would miss them.
82
+ */
83
+ export function cardContentHasUpgradeFallback(content) {
84
+ return content.includes(CARD_UPGRADE_FALLBACK);
85
+ }
86
+ /**
87
+ * Narrow check — content *is* essentially just Lark's upgrade notice, not a
88
+ * body that merely mentions it. Anchored at the start after stripping leading
89
+ * `[图片]` / `[文件 N]` placeholders (the bare fallback renders as
90
+ * `[图片]请升级至最新版本客户端,以查看内容`). Used as the replace gate when
91
+ * re-resolving via REST: it keeps a card that legitimately quotes the phrase
92
+ * mid-text — e.g. a message discussing this very fallback — from being
93
+ * discarded, while still rejecting a REST view that came back as a bare
94
+ * fallback. Makes no structural assumptions, so it's safe for the
95
+ * simplified-but-real Format A shape (no schema/body/header) message.list
96
+ * returns.
97
+ */
98
+ export function isPureCardUpgradeFallback(content) {
99
+ const stripped = content.replace(/^(?:\s*\[(?:图片|文件)[^\]]*\])+/, '').trimStart();
100
+ return stripped.startsWith(CARD_UPGRADE_FALLBACK);
88
101
  }
89
102
  export function createImgNumberer() {
90
103
  const map = new Map();
@@ -395,6 +408,11 @@ function extractTextContent(msgType, rawContent, mentions, numberer) {
395
408
  function extractCardContent(rawContent, numberer) {
396
409
  try {
397
410
  const card = JSON.parse(rawContent);
411
+ // Pre-resolved merged text injected by resolveMergedCardContent (the
412
+ // A+B union for complex cards). Return it verbatim so the merge flows
413
+ // through both parseEventMessage (live) and parseApiMessage (history).
414
+ if (typeof card[RESOLVED_TEXT_KEY] === 'string')
415
+ return card[RESOLVED_TEXT_KEY];
398
416
  // Template-based card — no inline content to extract
399
417
  if (card.type === 'template') {
400
418
  return '[卡片 (模板)]';
@@ -428,8 +446,12 @@ function extractCardContent(rawContent, numberer) {
428
446
  if (node.text)
429
447
  textNodes.push(node.text);
430
448
  }
431
- else if (node.tag === 'a')
432
- textNodes.push(node.text ?? node.href ?? '');
449
+ else if (node.tag === 'a') {
450
+ // Keep the href so links survive — Format A separates text/href,
451
+ // and dropping href loses real content (规则配置/详情/Trace 链接).
452
+ const t = node.text ?? '';
453
+ textNodes.push(node.href && t ? `${t}(${node.href})` : (t || node.href || ''));
454
+ }
433
455
  else if (node.tag === 'at')
434
456
  textNodes.push(`@${node.user_name ?? 'unknown'}`);
435
457
  else if (node.tag === 'img' || node.tag === 'image') {
@@ -442,6 +464,19 @@ function extractCardContent(rawContent, numberer) {
442
464
  if (btnText)
443
465
  buttons.push(`[${btnText}]`);
444
466
  }
467
+ else if (node.tag === 'input') {
468
+ const ph = typeof node.placeholder === 'string' ? node.placeholder : node.placeholder?.content;
469
+ if (ph)
470
+ buttons.push(`[输入框: ${ph}]`);
471
+ }
472
+ else if (node.tag === 'select_static' || node.tag === 'multi_select_static' || node.tag === 'overflow') {
473
+ const ph = typeof node.placeholder === 'string' ? node.placeholder : node.placeholder?.content;
474
+ const opts = Array.isArray(node.options)
475
+ ? node.options.map((o) => (typeof o.text === 'string' ? o.text : o.text?.content)).filter(Boolean)
476
+ : [];
477
+ const head = ph ? `[下拉: ${ph}` : '[下拉';
478
+ buttons.push(opts.length ? `${head} | 选项: ${opts.join(' / ')}]` : `${head}]`);
479
+ }
445
480
  }
446
481
  const line = textNodes.join('').trim();
447
482
  if (line)
@@ -462,6 +497,138 @@ function extractCardContent(rawContent, numberer) {
462
497
  return '[卡片]';
463
498
  }
464
499
  }
500
+ // ─── Complete card resolution: union of both Lark representations ──────────
501
+ /** Sentinel key carrying pre-merged card text through extractCardContent. */
502
+ const RESOLVED_TEXT_KEY = '__botmux_card_text__';
503
+ /**
504
+ * Marker for sub-cards Lark renders only client-side (collapsible panels,
505
+ * lazy "展开" sections). Neither `im.message.get` representation returns their
506
+ * body — Format A shows the upgrade fallback, Format B omits them — so we
507
+ * surface an honest placeholder instead of a misleading blank or raw fallback.
508
+ */
509
+ export const CARD_EMBEDDED_PLACEHOLDER = '[卡片内嵌组件,需在飞书客户端展开查看]';
510
+ /** Wrap merged text so extractCardContent returns it verbatim downstream. */
511
+ export function wrapResolvedCardText(text) {
512
+ return JSON.stringify({ [RESOLVED_TEXT_KEY]: text });
513
+ }
514
+ /** Strip inline markup (font/text_tag tags, bold markers) but keep text,
515
+ * brackets and links so labels and values stay readable. */
516
+ function stripInlineMarkup(s) {
517
+ return s.replace(/<\/?[a-z_]+[^>]*>/gi, '').replace(/\*\*/g, '');
518
+ }
519
+ /** Normalize for content-presence checks: drop whitespace, punctuation, inline
520
+ * markup and link URLs so the same content rendered by the two API formats
521
+ * compares equal regardless of cosmetic differences. */
522
+ function normalizeForDedup(s) {
523
+ return stripInlineMarkup(s)
524
+ .replace(/\((https?:[^)]+)\)/g, '') // (https://…) link targets
525
+ .replace(/\s+/g, '')
526
+ .replace(/[,,::。.\[\]()()|/、]/g, '');
527
+ }
528
+ /** Find the value Format A rendered for a `label:` field — the text after the
529
+ * first occurrence of the label up to the line end. Returns '' if not found. */
530
+ function findLabelValue(strippedA, label) {
531
+ const idx = strippedA.indexOf(label);
532
+ if (idx < 0)
533
+ return '';
534
+ const rest = strippedA.slice(idx + label.length);
535
+ return rest.split('\n')[0].trim();
536
+ }
537
+ /**
538
+ * Merge the two Lark card renderings into one complete text. Format B (full
539
+ * structured) is the base — it preserves links, sub-card bodies and select
540
+ * options. From Format A (server-rendered) we recover only the field VALUES B
541
+ * left blank (e.g. 值班人 names) via targeted label-fill: a B label line whose
542
+ * value is empty is filled from A only when A's value isn't already present in
543
+ * B (so fields B already renders aren't duplicated). Sub-cards Lark serves
544
+ * client-side only — which A shows as upgrade holes and B omits — get one
545
+ * honest placeholder rather than a silent drop or raw "请升级" text.
546
+ */
547
+ export function mergeCardText(textA, textB) {
548
+ const markHoles = (t) => t.split('\n').map(l => isPureCardUpgradeFallback(l) ? CARD_EMBEDDED_PLACEHOLDER : l).join('\n');
549
+ const a = (textA || '').trim();
550
+ const b = (textB || '').trim();
551
+ if (!b || isPureCardUpgradeFallback(b))
552
+ return markHoles(a) || a;
553
+ if (!a || isPureCardUpgradeFallback(a))
554
+ return markHoles(b) || b;
555
+ // Drop A's holes from the base, count them so we can flag client-only content.
556
+ const aHoleCount = a.split('\n').filter(isPureCardUpgradeFallback).length;
557
+ const strippedA = stripInlineMarkup(a);
558
+ const baseLines = b.split('\n').filter(l => !isPureCardUpgradeFallback(l));
559
+ const bAll = baseLines.map(normalizeForDedup).join('');
560
+ const filled = baseLines.map(line => {
561
+ const sm = stripInlineMarkup(line).trimEnd();
562
+ // empty-value field label, e.g. "值班人:" — but not bracketed section
563
+ // headers like "[ 检测结果 ]:" whose values live on following lines.
564
+ const m = sm.match(/^([^[\]\n]{1,16}?[::])$/);
565
+ if (!m)
566
+ return line;
567
+ const value = findLabelValue(strippedA, m[1]);
568
+ if (!value)
569
+ return line;
570
+ // Only fill when B genuinely lacks this value (avoids duplicating fields
571
+ // whose values B already renders on adjacent lines, e.g. Tags/检测结果).
572
+ if (normalizeForDedup(value) && bAll.includes(normalizeForDedup(value)))
573
+ return line;
574
+ return `${line.replace(/\s*$/, '')} ${value}`;
575
+ });
576
+ // One honest marker if A carried sub-cards Lark only renders client-side.
577
+ if (aHoleCount > 0)
578
+ filled.push(CARD_EMBEDDED_PLACEHOLDER);
579
+ return filled.join('\n');
580
+ }
581
+ /**
582
+ * Resolve a card to its most complete text by unioning both `im.message.get`
583
+ * representations (server-rendered Format A + full structured Format B). Used
584
+ * by BOTH the live event path and `botmux history` so a single message_id
585
+ * resolves identically everywhere. Returns null when neither representation
586
+ * could be fetched (caller keeps whatever it already had).
587
+ */
588
+ export async function resolveMergedCardContent(larkAppId, messageId, numberer) {
589
+ const [aRes, bRes] = await Promise.all([
590
+ getMessageDetail(larkAppId, messageId, { userCardContent: false }).catch(() => null),
591
+ getMessageDetail(larkAppId, messageId, { userCardContent: true }).catch(() => null),
592
+ ]);
593
+ const aContent = aRes?.items?.[0]?.body?.content;
594
+ const bContent = bRes?.items?.[0]?.body?.content;
595
+ if (!aContent && !bContent)
596
+ return null;
597
+ const textA = aContent ? extractCardContent(normalizeApiMessageContent('interactive', aContent), numberer) : '';
598
+ const textB = bContent ? extractCardContent(normalizeApiMessageContent('interactive', bContent), numberer) : '';
599
+ const merged = mergeCardText(textA, textB);
600
+ if (!merged)
601
+ return null;
602
+ // Carry the structured card JSON (B preferred) alongside the merged text so
603
+ // resource extraction (image_key/file_key) keeps working — extractResources
604
+ // walks elements/body, extractCardContent short-circuits on the text key.
605
+ return { text: merged, structuredContent: (bContent ?? aContent) };
606
+ }
607
+ /**
608
+ * Resolve an interactive event's card to its complete merged text in place.
609
+ * Stores a sentinel that carries BOTH the merged text (for extractCardContent)
610
+ * and the structured card JSON (for extractResources image/file extraction).
611
+ * Falls back to local user_dsl unwrap if the REST merge yields nothing. Shared
612
+ * by the live daemon path so forwarded cards reach the model fully parsed.
613
+ */
614
+ export async function resolveEventCard(data, larkAppId) {
615
+ let resolved = null;
616
+ try {
617
+ resolved = await resolveMergedCardContent(larkAppId, data.message.message_id);
618
+ }
619
+ catch { /* fall through to local unwrap */ }
620
+ if (resolved) {
621
+ const structured = (() => { try {
622
+ return JSON.parse(resolved.structuredContent);
623
+ }
624
+ catch {
625
+ return {};
626
+ } })();
627
+ data.message.content = JSON.stringify({ ...structured, [RESOLVED_TEXT_KEY]: resolved.text });
628
+ return;
629
+ }
630
+ unwrapUserDsl(data);
631
+ }
465
632
  /** Recursively extract image resources from an original-format card element. */
466
633
  function extractElementImages(el, resources, pushIfNew) {
467
634
  if (!el || typeof el !== 'object')
@@ -499,12 +666,40 @@ function extractElementText(el, parts, imgLabel) {
499
666
  if (text)
500
667
  parts.push(text);
501
668
  }
669
+ // div.fields[] — v2 cards put most body text in a fields array of lark_md
670
+ // cells (规则/报警时间/Tags/检测结果/详情链接…), NOT in el.text. Without this
671
+ // the entire detail section of field-based cards (e.g. Argos alarm cards)
672
+ // silently vanishes. A div can carry both el.text and el.fields, so this is
673
+ // additive rather than an else-branch.
674
+ if (Array.isArray(el.fields)) {
675
+ for (const f of el.fields) {
676
+ const t = f?.text?.content ?? f?.content;
677
+ if (t)
678
+ parts.push(t);
679
+ }
680
+ }
502
681
  // button — text may be a plain_text object (v2) or a string (v1 simplified).
503
682
  if (tag === 'button') {
504
683
  const btnText = typeof el.text === 'string' ? el.text : el.text?.content;
505
684
  if (btnText)
506
685
  parts.push(`[${btnText}]`);
507
686
  }
687
+ // input — surface the placeholder so the reader knows the field is there.
688
+ if (tag === 'input') {
689
+ const ph = el.placeholder?.content;
690
+ if (ph)
691
+ parts.push(`[输入框: ${ph}]`);
692
+ }
693
+ // select / multi-select / overflow — surface placeholder + selectable
694
+ // options so the choices the card offers aren't lost.
695
+ if (tag === 'select_static' || tag === 'multi_select_static' || tag === 'overflow') {
696
+ const ph = el.placeholder?.content;
697
+ const opts = Array.isArray(el.options)
698
+ ? el.options.map((o) => o.text?.content).filter(Boolean)
699
+ : [];
700
+ const head = ph ? `[下拉: ${ph}` : '[下拉';
701
+ parts.push(opts.length ? `${head} | 选项: ${opts.join(' / ')}]` : `${head}]`);
702
+ }
508
703
  // image — emit a numbered placeholder matching the attachment list order.
509
704
  if (tag === 'img' || tag === 'image') {
510
705
  const k = el.image_key ?? el.img_key;
@@ -531,6 +726,12 @@ function extractElementText(el, parts, imgLabel) {
531
726
  }
532
727
  }
533
728
  }
729
+ // action blocks hold their children in `actions`, not `elements` — recurse so
730
+ // their buttons / inputs / selects (确认/创建群组/驾驶舱…) get surfaced.
731
+ if (Array.isArray(el.actions)) {
732
+ for (const child of el.actions)
733
+ extractElementText(child, parts, imgLabel);
734
+ }
534
735
  if (Array.isArray(el.elements) && tag !== 'note') {
535
736
  for (const child of el.elements)
536
737
  extractElementText(child, parts, imgLabel);
@@ -1 +1 @@
1
- {"version":3,"file":"message-parser.js","sourceRoot":"","sources":["../../../src/im/lark/message-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-parser.js","sourceRoot":"","sources":["../../../src/im/lark/message-parser.ts"],"names":[],"mappings":"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"}
package/dist/worker.js CHANGED
@@ -2220,7 +2220,26 @@ async function flushPending() {
2220
2220
  codexBridgeMarkPendingTurn(msg);
2221
2221
  }
2222
2222
  log(`Writing to PTY (flush): "${msg.substring(0, 80)}"`);
2223
- const result = await cliAdapter.writeInput(backend, msg);
2223
+ // Defense in depth: TmuxPipeBackend's send methods no longer throw on a
2224
+ // dead pane (they fire onExit instead), but writeInput can still throw
2225
+ // for other reasons (fs errors while resolving the JSONL, a future
2226
+ // backend regression). flushPending is invoked fire-and-forget, so an
2227
+ // escaping rejection would become an unhandledRejection and crash the
2228
+ // worker — exactly the failure mode this change is closing. Contain it.
2229
+ let result;
2230
+ try {
2231
+ result = await cliAdapter.writeInput(backend, msg);
2232
+ }
2233
+ catch (err) {
2234
+ log(`writeInput threw: ${err?.message ?? err}`);
2235
+ // If the CLI exited mid-write the backend already fired onExit (which
2236
+ // nulled `backend` and told the user the CLI exited) — nothing more to
2237
+ // do. Otherwise surface it as a submit failure so the message isn't
2238
+ // silently lost.
2239
+ if (backend)
2240
+ scheduleSubmitFailureNotify(msg, undefined, '会话 JSONL', bridgeTurnId);
2241
+ break;
2242
+ }
2224
2243
  // Persist any sessionId the adapter observed via authoritative sources
2225
2244
  // (Claude's pid file, Codex's history). Done independently of submit
2226
2245
  // outcome — the rotation is real even when the current Enter didn't
@@ -2233,7 +2252,10 @@ async function flushPending() {
2233
2252
  if (codexBridgeActive)
2234
2253
  codexBridgeNotifyCliSessionId(result.cliSessionId);
2235
2254
  }
2236
- if (result && result.submitted === false) {
2255
+ // `&& backend`: if the CLI exited during this write (pane gone → onExit
2256
+ // nulled backend) the user already got a "CLI exited" notice; don't also
2257
+ // nag that the submit wasn't confirmed.
2258
+ if (result && result.submitted === false && backend) {
2237
2259
  scheduleSubmitFailureNotify(msg, result.recheck, '会话 JSONL', bridgeTurnId, result.failureReason);
2238
2260
  }
2239
2261
  // Codex bridge: stop after one writeInput per idle cycle. Codex's