@excitedjs/feishu-channel 3.0.0 → 4.0.0-alpha.g005cc2603aba

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 (41) hide show
  1. package/README.md +5 -3
  2. package/dist/bot.d.ts +15 -4
  3. package/dist/bot.d.ts.map +1 -1
  4. package/dist/bot.js +24 -0
  5. package/dist/bot.js.map +1 -1
  6. package/dist/feishu-channel.d.ts +5 -1
  7. package/dist/feishu-channel.d.ts.map +1 -1
  8. package/dist/feishu-channel.js +68 -14
  9. package/dist/feishu-channel.js.map +1 -1
  10. package/dist/feishu-inbound-enrichment.d.ts +5 -0
  11. package/dist/feishu-inbound-enrichment.d.ts.map +1 -0
  12. package/dist/feishu-inbound-enrichment.js +259 -0
  13. package/dist/feishu-inbound-enrichment.js.map +1 -0
  14. package/dist/feishu-inbound-work.d.ts +43 -0
  15. package/dist/feishu-inbound-work.d.ts.map +1 -0
  16. package/dist/feishu-inbound-work.js +130 -0
  17. package/dist/feishu-inbound-work.js.map +1 -0
  18. package/dist/feishu-message-render.d.ts +11 -0
  19. package/dist/feishu-message-render.d.ts.map +1 -0
  20. package/dist/feishu-message-render.js +282 -0
  21. package/dist/feishu-message-render.js.map +1 -0
  22. package/dist/feishu-message.d.ts +14 -6
  23. package/dist/feishu-message.d.ts.map +1 -1
  24. package/dist/feishu-message.js +186 -164
  25. package/dist/feishu-message.js.map +1 -1
  26. package/dist/feishu-reply-ancestry.d.ts +6 -0
  27. package/dist/feishu-reply-ancestry.d.ts.map +1 -0
  28. package/dist/feishu-reply-ancestry.js +19 -0
  29. package/dist/feishu-reply-ancestry.js.map +1 -0
  30. package/dist/feishu-session-inbound.d.ts.map +1 -1
  31. package/dist/feishu-session-inbound.js +155 -75
  32. package/dist/feishu-session-inbound.js.map +1 -1
  33. package/dist/feishu-session-ops.d.ts +9 -6
  34. package/dist/feishu-session-ops.d.ts.map +1 -1
  35. package/dist/feishu-session-ops.js +84 -16
  36. package/dist/feishu-session-ops.js.map +1 -1
  37. package/dist/feishu-target-router.d.ts +1 -1
  38. package/dist/feishu-target-router.d.ts.map +1 -1
  39. package/dist/feishu-target-router.js +56 -11
  40. package/dist/feishu-target-router.js.map +1 -1
  41. package/package.json +3 -3
package/README.md CHANGED
@@ -16,14 +16,16 @@ of the Lark SDK.
16
16
  - **Access / trust** behavior: the @-mention/allowlist gate and the chat-bots
17
17
  store, read and written under a host-supplied state directory.
18
18
  - **Inbound normalization**: turning Feishu events into agent-facing channel
19
- results, including the `<channel source="feishu" …>` envelope and
20
- `<attachment>` blocks.
19
+ results, including the Channel-owned inner body and inline `<attachment>`
20
+ blocks. Agent runtimes own the outer `<channel source="feishu" …>` envelope.
21
21
  - **Topic routing**: verifying `chat_mode=topic`, projecting `thread_id` as a
22
22
  neutral collaboration target, and recording exact per-message targets for
23
23
  scoped TeamLeader replies.
24
24
  - **Attachment handling**: downloading inbound attachments after the host access
25
25
  gate allows delivery, plus cache layout, path sanitization, permissions, and
26
- honest fallback references when a resource is not downloaded.
26
+ honest fallback references when a resource is not downloaded. Inline XML is
27
+ path-only for a downloaded resource and status/key-only for a non-downloaded
28
+ resource; structured formatter results retain the detailed metadata.
27
29
  - The Feishu MCP **tool backing**: the `reply` / `react` / `list_chat_bots`
28
30
  tool parsing and handlers.
29
31
 
package/dist/bot.d.ts CHANGED
@@ -20,7 +20,7 @@
20
20
  * Tests supply package-local `FeishuBot` doubles through the provider's
21
21
  * `botFactory` seam instead of opening a live connection.
22
22
  */
23
- import { type FeishuBotMemberAddedEvent, type FeishuMessageResourceFetcher, type FeishuMessageResourceRequest, type FeishuMessageResourceResponse, type FeishuAppOwnerIdentity, type FeishuChatMode, type FeishuTransport, type InboundResource, type Mention, type OutboundTarget, type TransportLogger } from '@excitedjs/feishu-transport';
23
+ import { type FeishuBotMemberAddedEvent, type FeishuMessageResourceFetcher, type FeishuMessageResourceRequest, type FeishuMessageResourceResponse, type FeishuMessageReadRequest, type FeishuMessageReadResponse, type FeishuAppOwnerIdentity, type FeishuChatMode, type FeishuTransport, type FeishuUserNameEntry, type FeishuUserNameLookupOptions, type InboundContentPart, type InboundResource, type Mention, type OutboundTarget, type TransportLogger } from '@excitedjs/feishu-transport';
24
24
  import type { FeishuInviteMembersInput, FeishuInviteMembersResult } from '@excitedjs/feishu-transport';
25
25
  export type { FeishuInviteMembersInput, FeishuInviteMembersResult, } from '@excitedjs/feishu-transport';
26
26
  export interface FeishuInboundEvent {
@@ -32,6 +32,8 @@ export interface FeishuInboundEvent {
32
32
  /** Diagnostic reply ancestry; never used as a topic identity fallback. */
33
33
  rootId?: string;
34
34
  parentId?: string;
35
+ /** Post-gate, best-effort type of the actionable reply/quote parent. */
36
+ parentMessageType?: string;
35
37
  senderId: string;
36
38
  /**
37
39
  * The sender's `union_id`, when Feishu provides it. Diagnostic only — it is
@@ -42,9 +44,8 @@ export interface FeishuInboundEvent {
42
44
  senderUnionId?: string;
43
45
  senderType: string;
44
46
  /**
45
- * Best-effort display name seam for future enrichers. Feishu
46
- * im.message.receive_v1 does not provide this in the native event envelope,
47
- * so the normal value is intentionally an empty string.
47
+ * Best-effort event display name. Feishu normally omits it, so the accepted
48
+ * inbound path may later enrich an empty value through the transport seam.
48
49
  */
49
50
  senderName: string;
50
51
  messageType: string;
@@ -52,8 +53,12 @@ export interface FeishuInboundEvent {
52
53
  rawContent: string;
53
54
  /** Parsed text after the core's content flattening / mention substitution. */
54
55
  parsedText: string;
56
+ /** Untrusted visible content in Feishu source order. */
57
+ contentParts?: InboundContentPart[];
55
58
  /** Structured Feishu resources discovered in the message content. */
56
59
  resources?: InboundResource[];
60
+ /** The local projection omitted or could not resolve visible content. */
61
+ contentIncomplete?: boolean;
57
62
  mentions: Mention[];
58
63
  createTime: string;
59
64
  /** The full original Feishu event payload (for storage / audit). */
@@ -103,6 +108,12 @@ export interface FeishuBot extends FeishuMessageResourceFetcher {
103
108
  addReaction(messageId: string, emoji: string): Promise<string>;
104
109
  removeReaction(messageId: string, reactionId: string): Promise<void>;
105
110
  fetchMessageResource(request: FeishuMessageResourceRequest): Promise<FeishuMessageResourceResponse>;
111
+ /** Optional for externally supplied bots; absence keeps event-only content. */
112
+ readMessage?(request: FeishuMessageReadRequest): Promise<FeishuMessageReadResponse>;
113
+ /** Optional cache seed for accepted mention names. */
114
+ observeUserNames?(entries: FeishuUserNameEntry[]): void;
115
+ /** Optional contact lookup for an accepted human sender. */
116
+ resolveUserName?(openId: string, options?: FeishuUserNameLookupOptions): Promise<string | undefined>;
106
117
  resolveAppOwner(): Promise<FeishuAppOwnerIdentity>;
107
118
  close(): Promise<void>;
108
119
  }
package/dist/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/dist/bot.js CHANGED
@@ -95,6 +95,28 @@ export function createFeishuBot(opts, deps = {}) {
95
95
  fetchMessageResource(request) {
96
96
  return transport.fetchMessageResource(request);
97
97
  },
98
+ ...(transport.readMessage !== undefined
99
+ ? {
100
+ readMessage(request) {
101
+ return transport.readMessage?.(request) ?? Promise.resolve({ items: [] });
102
+ },
103
+ }
104
+ : {}),
105
+ ...(transport.observeUserNames !== undefined
106
+ ? {
107
+ observeUserNames(entries) {
108
+ transport.observeUserNames?.(entries);
109
+ },
110
+ }
111
+ : {}),
112
+ ...(transport.resolveUserName !== undefined
113
+ ? {
114
+ resolveUserName(openId, options) {
115
+ return transport.resolveUserName?.(openId, options) ??
116
+ Promise.resolve(undefined);
117
+ },
118
+ }
119
+ : {}),
98
120
  resolveAppOwner() {
99
121
  return transport.resolveAppOwner();
100
122
  },
@@ -168,7 +190,9 @@ function normalizeInboundEvent(raw) {
168
190
  messageType,
169
191
  rawContent,
170
192
  parsedText: payload.text,
193
+ ...(parsed.parts !== undefined ? { contentParts: parsed.parts } : {}),
171
194
  resources: parsed.resources ?? [],
195
+ ...(parsed.incomplete === true ? { contentIncomplete: true } : {}),
172
196
  mentions,
173
197
  createTime,
174
198
  raw,
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,9 @@ export declare class FeishuChannelSession {
74
74
  readonly state: FeishuChannelState;
75
75
  private readonly targetRouter;
76
76
  private readonly _accessMutex;
77
+ private readonly inactiveFence;
78
+ private sessionGeneration;
79
+ private lifecycle;
77
80
  constructor(opts: FeishuChannelSessionOptions);
78
81
  /**
79
82
  * Build a package-private handle the session helpers operate on. Keeps the
@@ -82,6 +85,8 @@ export declare class FeishuChannelSession {
82
85
  * this cost-free.
83
86
  */
84
87
  private get handle();
88
+ private handleForFence;
89
+ private trackLifecycleTask;
85
90
  start(submitter: FeishuInboundSubmitter): Promise<void>;
86
91
  close(): Promise<void>;
87
92
  handleMcpTool(toolName: FeishuToolName, rawArguments: unknown): Promise<Record<string, unknown> | FeishuMcpListChatBotsResult>;
@@ -98,7 +103,6 @@ export declare class FeishuChannelSession {
98
103
  private readChatBots;
99
104
  private sendReply;
100
105
  private addReaction;
101
- private onMessage;
102
106
  private onCardAction;
103
107
  }
104
108
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feishu-channel.d.ts","sourceRoot":"","sources":["../src/feishu-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feishu-channel.d.ts","sourceRoot":"","sources":["../src/feishu-channel.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { createFeishuBot } from './bot.js';
2
2
  import { listChatBots, recordBotAdded, } from './chat-bots-store.js';
3
3
  import { BUILTIN_FEISHU_PROVIDER_REF } from './provider-ref.js';
4
4
  import { AsyncMutex } from './lib/mutex.js';
5
+ import { alwaysActiveSessionFence, } from './feishu-inbound-work.js';
5
6
  import { FEISHU_TOOLS, } from './feishu-mcp-tools.js';
6
7
  import { handleCardAction as sessionHandleCardAction, sendReply as sessionSendReply, addReaction as sessionAddReaction, sessionHandle, } from './feishu-session-ops.js';
7
8
  import { onMessage as sessionOnMessage } from './feishu-session-inbound.js';
@@ -31,6 +32,9 @@ export class FeishuChannelSession {
31
32
  };
32
33
  targetRouter;
33
34
  _accessMutex = new AsyncMutex();
35
+ inactiveFence = alwaysActiveSessionFence();
36
+ sessionGeneration = 0;
37
+ lifecycle;
34
38
  constructor(opts) {
35
39
  this.opts = opts;
36
40
  this.bot = opts.botFactory !== undefined
@@ -54,23 +58,76 @@ export class FeishuChannelSession {
54
58
  * this cost-free.
55
59
  */
56
60
  get handle() {
57
- return sessionHandle(this.opts, this.state, this.bot, this._accessMutex, this.bot.botDisplayName ?? 'Dreamux bot', this.targetRouter);
61
+ return this.handleForFence(this.lifecycle?.fence ?? this.inactiveFence);
62
+ }
63
+ handleForFence(fence) {
64
+ return sessionHandle(this.opts, this.state, this.bot, this._accessMutex, this.bot.botDisplayName ?? 'Dreamux bot', this.targetRouter, fence);
65
+ }
66
+ async trackLifecycleTask(lifecycle, task) {
67
+ lifecycle.inFlight.add(task);
68
+ try {
69
+ return await task;
70
+ }
71
+ finally {
72
+ lifecycle.inFlight.delete(task);
73
+ }
58
74
  }
59
75
  async start(submitter) {
60
- await this.bot.start({
61
- onBotMemberAdded: async (added) => {
62
- await recordBotAdded(this.opts.stateDir, added.chatId, added.eventId);
63
- },
64
- onMessage: async (event) => {
65
- await this.onMessage(event, submitter);
66
- },
67
- onCardAction: async (event) => {
68
- return this.onCardAction(event);
76
+ if (this.lifecycle !== undefined && !this.lifecycle.controller.signal.aborted) {
77
+ throw new Error('Feishu channel session is already started');
78
+ }
79
+ const controller = new AbortController();
80
+ const generation = ++this.sessionGeneration;
81
+ const lifecycle = {
82
+ controller,
83
+ inFlight: new Set(),
84
+ fence: {
85
+ signal: controller.signal,
86
+ isCurrent: () => this.lifecycle === lifecycle &&
87
+ this.sessionGeneration === generation &&
88
+ !controller.signal.aborted,
69
89
  },
70
- });
90
+ };
91
+ this.lifecycle = lifecycle;
92
+ try {
93
+ await this.bot.start({
94
+ onBotMemberAdded: async (added) => {
95
+ if (!lifecycle.fence.isCurrent())
96
+ return;
97
+ await this.trackLifecycleTask(lifecycle, recordBotAdded(this.opts.stateDir, added.chatId, added.eventId));
98
+ },
99
+ onMessage: async (event) => {
100
+ if (!lifecycle.fence.isCurrent())
101
+ return;
102
+ await this.trackLifecycleTask(lifecycle, sessionOnMessage(this.handleForFence(lifecycle.fence), event, submitter));
103
+ },
104
+ onCardAction: async (event) => {
105
+ if (!lifecycle.fence.isCurrent())
106
+ return {};
107
+ return this.trackLifecycleTask(lifecycle, this.onCardAction(event));
108
+ },
109
+ });
110
+ if (!lifecycle.fence.isCurrent()) {
111
+ await this.bot.close();
112
+ throw new Error('Feishu channel session was closed during startup');
113
+ }
114
+ }
115
+ catch (error) {
116
+ controller.abort();
117
+ if (this.lifecycle === lifecycle)
118
+ this.lifecycle = undefined;
119
+ throw error;
120
+ }
71
121
  }
72
122
  async close() {
123
+ const lifecycle = this.lifecycle;
124
+ lifecycle?.controller.abort();
73
125
  await this.bot.close();
126
+ if (lifecycle !== undefined) {
127
+ await Promise.allSettled([...lifecycle.inFlight]);
128
+ if (this.lifecycle === lifecycle)
129
+ this.lifecycle = undefined;
130
+ }
74
131
  }
75
132
  async handleMcpTool(toolName, rawArguments) {
76
133
  const def = FEISHU_TOOLS.find((t) => t.name === toolName);
@@ -164,9 +221,6 @@ export class FeishuChannelSession {
164
221
  const r = await sessionAddReaction(this.handle, input);
165
222
  return { reaction_id: r };
166
223
  }
167
- async onMessage(event, submitter) {
168
- return sessionOnMessage(this.handle, event, submitter);
169
- }
170
224
  async onCardAction(event) {
171
225
  return sessionHandleCardAction(this.handle, event);
172
226
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feishu-channel.js","sourceRoot":"","sources":["../src/feishu-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feishu-channel.js","sourceRoot":"","sources":["../src/feishu-channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { DreamuxLogger } from '@excitedjs/dreamux-types';
2
+ import type { FeishuBot, FeishuInboundEvent } from './bot.js';
3
+ import { type FeishuInboundWorkContext } from './feishu-inbound-work.js';
4
+ export declare function enrichFeishuInbound(event: FeishuInboundEvent, bot: FeishuBot, work: FeishuInboundWorkContext, log: DreamuxLogger): Promise<FeishuInboundEvent>;
5
+ //# sourceMappingURL=feishu-inbound-enrichment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feishu-inbound-enrichment.d.ts","sourceRoot":"","sources":["../src/feishu-inbound-enrichment.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAQlC,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAI7B"}
@@ -0,0 +1,259 @@
1
+ import { parseInbound, } from '@excitedjs/feishu-transport';
2
+ import { FeishuSessionRevokedError, FEISHU_RESOURCE_TIMEOUT_MS, runFeishuInboundWork, } from './feishu-inbound-work.js';
3
+ import { normalizeFeishuMessageTypeToken, replyAncestryParentId, } from './feishu-reply-ancestry.js';
4
+ const PARENT_TYPE_PROBE_TIMEOUT_MS = 2_000;
5
+ export async function enrichFeishuInbound(event, bot, work, log) {
6
+ const current = await enrichCurrentMessage(event, bot, work, log);
7
+ work.assertSessionActive();
8
+ return enrichParentMessageType(current, bot, work, log);
9
+ }
10
+ async function enrichCurrentMessage(event, bot, work, log) {
11
+ if (event.messageType === 'merge_forward') {
12
+ return asLazyMergedForward(event);
13
+ }
14
+ if (bot.readMessage === undefined) {
15
+ return needsMessageRead(event.messageType)
16
+ ? { ...event, contentIncomplete: true }
17
+ : event;
18
+ }
19
+ if (event.messageType === 'interactive') {
20
+ return enrichInteractive(event, bot, work, log);
21
+ }
22
+ if (event.messageType === 'nonsupport') {
23
+ return resolveUnsupported(event, bot, work, log);
24
+ }
25
+ return event;
26
+ }
27
+ function needsMessageRead(messageType) {
28
+ return ['interactive', 'nonsupport'].includes(messageType);
29
+ }
30
+ async function enrichInteractive(event, bot, work, log) {
31
+ const [structured, simplified] = await Promise.all([
32
+ readRoot(event, bot, work, log, 'user_card_content'),
33
+ readRoot(event, bot, work, log, 'default'),
34
+ ]);
35
+ work.assertSessionActive();
36
+ const structuredParsed = parseInteractiveRoot(structured);
37
+ const simplifiedParsed = parseInteractiveRoot(simplified);
38
+ if (structuredParsed === undefined && simplifiedParsed === undefined) {
39
+ return { ...event, contentIncomplete: true };
40
+ }
41
+ const primary = structuredParsed ?? simplifiedParsed;
42
+ if (primary === undefined)
43
+ return { ...event, contentIncomplete: true };
44
+ const supplemental = structuredParsed === undefined
45
+ ? undefined
46
+ : simplifiedParsed;
47
+ const text = mergeCardText(primary.parsed.text, supplemental?.parsed.text);
48
+ const contentParts = mergeCardParts(primary.parsed.parts ?? [{ kind: 'text', text: primary.parsed.text }], supplemental?.parsed);
49
+ const resources = mergeResources(primary.parsed.resources ?? [], supplemental?.parsed.resources ?? []);
50
+ return {
51
+ ...event,
52
+ messageType: 'interactive',
53
+ rawContent: primary.item.content,
54
+ parsedText: text,
55
+ contentParts,
56
+ mentions: primary.item.mentions,
57
+ resources,
58
+ ...(primary.parsed.incomplete === true ||
59
+ supplemental?.parsed.incomplete === true ||
60
+ structuredParsed === undefined ||
61
+ simplifiedParsed === undefined
62
+ ? { contentIncomplete: true }
63
+ : { contentIncomplete: false }),
64
+ };
65
+ }
66
+ function parseInteractiveRoot(item) {
67
+ if (item === undefined || item.messageType !== 'interactive')
68
+ return undefined;
69
+ return {
70
+ item,
71
+ parsed: parseInbound({
72
+ message_type: item.messageType,
73
+ content: item.content,
74
+ mentions: item.mentions,
75
+ }),
76
+ };
77
+ }
78
+ function mergeCardText(primary, supplemental) {
79
+ const normalizedPrimary = normalizeCardLines(primary);
80
+ if (supplemental === undefined ||
81
+ supplemental === '(interactive card with no readable content)') {
82
+ return normalizedPrimary.join('\n');
83
+ }
84
+ const seen = new Set(normalizedPrimary.map(normalizeCardLineForComparison));
85
+ const extra = normalizeCardLines(supplemental).filter((line) => {
86
+ const normalized = normalizeCardLineForComparison(line);
87
+ if (normalized === '' || seen.has(normalized))
88
+ return false;
89
+ seen.add(normalized);
90
+ return true;
91
+ });
92
+ if (extra.length === 0)
93
+ return normalizedPrimary.join('\n');
94
+ return [
95
+ ...normalizedPrimary,
96
+ '',
97
+ 'Additional rendered card content:',
98
+ ...extra,
99
+ ].join('\n');
100
+ }
101
+ function normalizeCardLines(value) {
102
+ return value.replaceAll('\r\n', '\n').replaceAll('\r', '\n').split('\n');
103
+ }
104
+ function normalizeCardLineForComparison(value) {
105
+ return value.trim();
106
+ }
107
+ async function resolveUnsupported(event, bot, work, log) {
108
+ const response = await readMessage(event.messageId, bot, work, log, 'default');
109
+ const root = validRoot(response, event.messageId);
110
+ work.assertSessionActive();
111
+ if (root === undefined || root.messageType === 'nonsupport') {
112
+ return { ...event, contentIncomplete: true };
113
+ }
114
+ if (root.messageType === 'merge_forward') {
115
+ return asLazyMergedForward({ ...event, messageType: 'merge_forward' });
116
+ }
117
+ const parsed = parseReadItem(root);
118
+ return {
119
+ ...event,
120
+ messageType: root.messageType,
121
+ rawContent: root.content,
122
+ parsedText: parsed.text,
123
+ ...(parsed.parts !== undefined ? { contentParts: parsed.parts } : {}),
124
+ mentions: root.mentions,
125
+ resources: parsed.resources ?? [],
126
+ ...(parsed.incomplete === true
127
+ ? { contentIncomplete: true }
128
+ : { contentIncomplete: false }),
129
+ };
130
+ }
131
+ function asLazyMergedForward(event) {
132
+ return {
133
+ ...event,
134
+ messageType: 'merge_forward',
135
+ parsedText: '(merged-forward message not expanded)',
136
+ contentParts: [],
137
+ resources: [],
138
+ contentIncomplete: false,
139
+ };
140
+ }
141
+ async function enrichParentMessageType(event, bot, work, log) {
142
+ const parentId = replyAncestryParentId(event);
143
+ if (parentId === undefined || bot.readMessage === undefined)
144
+ return event;
145
+ const probeBudget = work.remainingTimeMs() - FEISHU_RESOURCE_TIMEOUT_MS;
146
+ if (probeBudget <= 0)
147
+ return event;
148
+ const deadlineAt = Date.now() + Math.min(PARENT_TYPE_PROBE_TIMEOUT_MS, probeBudget);
149
+ const response = await readMessage(parentId, bot, work, log, 'default', deadlineAt);
150
+ work.assertSessionActive();
151
+ const parent = validRoot(response, parentId);
152
+ const parentMessageType = parent === undefined
153
+ ? undefined
154
+ : normalizeFeishuMessageTypeToken(parent.messageType);
155
+ return parentMessageType === undefined
156
+ ? event
157
+ : { ...event, parentMessageType };
158
+ }
159
+ async function readRoot(event, bot, work, log, mode) {
160
+ return validRoot(await readMessage(event.messageId, bot, work, log, mode), event.messageId);
161
+ }
162
+ async function readMessage(messageId, bot, work, log, mode, deadlineAt = work.deadlineAt) {
163
+ if (bot.readMessage === undefined)
164
+ return undefined;
165
+ try {
166
+ return await runFeishuInboundWork(work, () => bot.readMessage?.({
167
+ messageId,
168
+ cardContent: mode,
169
+ }) ?? Promise.resolve({ items: [] }), deadlineAt);
170
+ }
171
+ catch (error) {
172
+ if (error instanceof FeishuSessionRevokedError)
173
+ throw error;
174
+ log.debug({
175
+ message_id: messageId,
176
+ mode,
177
+ reason: 'message_read_unavailable',
178
+ }, 'feishu inbound message enrichment read was unavailable');
179
+ return undefined;
180
+ }
181
+ }
182
+ function validRoot(response, messageId) {
183
+ const root = response?.items.find((item) => item.messageId === messageId);
184
+ return root !== undefined && !root.deleted && !root.malformed
185
+ ? root
186
+ : undefined;
187
+ }
188
+ function parseReadItem(item) {
189
+ return parseInbound({
190
+ message_type: item.messageType,
191
+ content: item.content,
192
+ mentions: item.mentions,
193
+ });
194
+ }
195
+ function mergeResources(...groups) {
196
+ const out = [];
197
+ const seen = new Set();
198
+ for (const resource of groups.flat()) {
199
+ const identity = resource.key === undefined
200
+ ? undefined
201
+ : `${resource.type}:${resource.key}`;
202
+ if (identity !== undefined && seen.has(identity))
203
+ continue;
204
+ if (identity !== undefined)
205
+ seen.add(identity);
206
+ out.push(resource);
207
+ }
208
+ return out;
209
+ }
210
+ function mergeCardParts(primary, supplemental) {
211
+ if (supplemental === undefined ||
212
+ supplemental.text === '(interactive card with no readable content)') {
213
+ return primary;
214
+ }
215
+ const primaryText = cardTextLines(primary);
216
+ const seenLines = new Set(primaryText.map(normalizeCardLineForComparison));
217
+ const extraLines = cardTextLines(supplemental.parts ?? [{ kind: 'text', text: supplemental.text }]).filter((line) => {
218
+ const normalized = normalizeCardLineForComparison(line);
219
+ if (normalized === '' || seenLines.has(normalized))
220
+ return false;
221
+ seenLines.add(normalized);
222
+ return true;
223
+ });
224
+ const primaryResources = new Set(primary
225
+ .filter((part) => part.kind === 'resource')
226
+ .flatMap((part) => resourceIdentity(part.resource) ?? []));
227
+ const supplementalResources = (supplemental.parts ?? [])
228
+ .filter((part) => part.kind === 'resource')
229
+ .filter((part) => {
230
+ const identity = resourceIdentity(part.resource);
231
+ if (identity === undefined)
232
+ return true;
233
+ if (primaryResources.has(identity))
234
+ return false;
235
+ primaryResources.add(identity);
236
+ return true;
237
+ });
238
+ if (extraLines.length === 0 && supplementalResources.length === 0)
239
+ return primary;
240
+ return [
241
+ ...primary,
242
+ ...(extraLines.length === 0
243
+ ? []
244
+ : [{
245
+ kind: 'text',
246
+ text: `\n\nAdditional rendered card content:\n${extraLines.join('\n')}`,
247
+ }]),
248
+ ...supplementalResources,
249
+ ];
250
+ }
251
+ function cardTextLines(parts) {
252
+ return parts
253
+ .filter((part) => part.kind === 'text')
254
+ .flatMap((part) => normalizeCardLines(part.text));
255
+ }
256
+ function resourceIdentity(resource) {
257
+ return resource.key === undefined ? undefined : `${resource.type}:${resource.key}`;
258
+ }
259
+ //# sourceMappingURL=feishu-inbound-enrichment.js.map