@excitedjs/feishu-transport 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,15 +25,16 @@ The single place that imports the Feishu SDK.
25
25
  - Consumed as a **published, version-pinned package** by both repos; the two
26
26
  hosts never depend on each other.
27
27
  - Built via rush in topological order (`rush build` builds this before any
28
- dependent). Standalone `npm run build` works once its own deps are installed.
28
+ dependent).
29
29
 
30
30
  ## Build / test
31
31
 
32
+ Built and tested through the monorepo (rush) path — the only supported install
33
+ path (see [the install-model decision](../../../.agents/decisions/install-model.md)).
34
+ From the repo root:
35
+
32
36
  ```sh
33
- # monorepo (preferred)
34
37
  node common/scripts/install-run-rush.js update
35
38
  node common/scripts/install-run-rush.js build
36
-
37
- # per-package
38
- npm install && npm run build && npm test
39
+ node common/scripts/install-run-rush.js test
39
40
  ```
package/dist/index.d.ts CHANGED
@@ -13,7 +13,8 @@
13
13
  export type { Access, DmPolicy, GroupPolicy, GroupEntry, PendingEntry, Mention, } from './contract/types.js';
14
14
  export type { OutboundTarget } from './contract/outbound.js';
15
15
  export type { AccessStore } from './contract/access-store.js';
16
- export { parseInbound, applyMentions, extractPostText, type InboundMessage, type ParsedInbound, } from './parse/content.js';
16
+ export { parseInbound, narrowMetaFromEvent, toChannelInbound, applyMentions, mentionName, extractPostText, type InboundMessage, type ParsedInbound, type ChannelInbound, } from './parse/content.js';
17
+ export { normalizeBotMemberAddedEvent, BOT_MEMBER_ADDED_EVENT_TYPE, type FeishuBotMemberAddedEvent, } from './parse/bot-member.js';
17
18
  export { normalizeCommentEvent, DOC_COMMENT_EVENT_TYPE, type FeishuCommentEvent, } from './parse/comment.js';
18
19
  export { gate, isBotMentioned, pruneExpiredPending, isBotSenderType, isGroupAuthorized, MAX_PENDING, MAX_PAIRING_REPLIES, PAIRING_TTL_MS, type GateInput, type GateResult, } from './policy/gate.js';
19
20
  export { generatePairingCode, PAIRING_CODE_BYTES, PAIRING_CODE_LENGTH, } from './policy/pairing.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,OAAO,GACR,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAG7D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,IAAI,EACJ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAC5B,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,8BAA8B,EAC9B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE9C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,YAAY,EACV,MAAM,EACN,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,OAAO,GACR,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAG7D,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,IAAI,EACJ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAC5B,cAAc,EACd,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,8BAA8B,EAC9B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE9C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,gCAAgC,CAAA"}
package/dist/index.js CHANGED
@@ -11,7 +11,8 @@
11
11
  * See dreamux#25 / claudemux#155 for the responsibility model and contract.
12
12
  */
13
13
  // ── parse/ — Feishu content → forwardable text + comment-event decode ──
14
- export { parseInbound, applyMentions, extractPostText, } from './parse/content.js';
14
+ export { parseInbound, narrowMetaFromEvent, toChannelInbound, applyMentions, mentionName, extractPostText, } from './parse/content.js';
15
+ export { normalizeBotMemberAddedEvent, BOT_MEMBER_ADDED_EVENT_TYPE, } from './parse/bot-member.js';
15
16
  export { normalizeCommentEvent, DOC_COMMENT_EVENT_TYPE, } from './parse/comment.js';
16
17
  // ── policy/ — pure access gate + pairing ──
17
18
  export { gate, isBotMentioned, pruneExpiredPending, isBotSenderType, isGroupAuthorized, MAX_PENDING, MAX_PAIRING_REPLIES, PAIRING_TTL_MS, } from './policy/gate.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,0EAA0E;AAC1E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,GAGhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oBAAoB,CAAA;AAE3B,6CAA6C;AAC7C,OAAO,EACL,IAAI,EACJ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,cAAc,GAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAE5B,iFAAiF;AACjF,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAC5B,cAAc,GAEf,MAAM,oBAAoB,CAAA;AAE3B,sEAAsE;AACtE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,8BAA8B,GAU/B,MAAM,uBAAuB,CAAA;AAE9B,0BAA0B;AAC1B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,0EAA0E;AAC1E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,eAAe,GAIhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,GAE5B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oBAAoB,CAAA;AAE3B,6CAA6C;AAC7C,OAAO,EACL,IAAI,EACJ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,cAAc,GAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAE5B,iFAAiF;AACjF,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAC5B,cAAc,GAEf,MAAM,oBAAoB,CAAA;AAE3B,sEAAsE;AACtE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,8BAA8B,GAU/B,MAAM,uBAAuB,CAAA;AAE9B,0BAA0B;AAC1B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAA"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Decoding the `im.chat.member.bot.added_v1` event envelope.
3
+ *
4
+ * Hosts use this event to notice when the Feishu bot is added to a chat. The
5
+ * decode is deliberately narrow and pure: it only extracts stable envelope
6
+ * identifiers, performs no I/O, and returns `null` for unroutable payloads.
7
+ */
8
+ /** The Feishu event_type this decoder is for. */
9
+ export declare const BOT_MEMBER_ADDED_EVENT_TYPE = "im.chat.member.bot.added_v1";
10
+ /** A normalized bot-added event — the identifying fields the payload carries. */
11
+ export interface FeishuBotMemberAddedEvent {
12
+ /** Chat id the bot was added to. */
13
+ chatId: string;
14
+ /** Feishu event id from the header, empty when the host passes a bare event. */
15
+ eventId: string;
16
+ }
17
+ /**
18
+ * Reshape a raw `im.chat.member.bot.added_v1` payload into a
19
+ * `FeishuBotMemberAddedEvent`. Tolerates either a full `{ header, event }`
20
+ * envelope or the bare event body delivered by some host adapters. Pure: no
21
+ * I/O, never throws.
22
+ */
23
+ export declare function normalizeBotMemberAddedEvent(raw: unknown): FeishuBotMemberAddedEvent | null;
24
+ //# sourceMappingURL=bot-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-member.d.ts","sourceRoot":"","sources":["../../src/parse/bot-member.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,iDAAiD;AACjD,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;AAExE,iFAAiF;AACjF,MAAM,WAAW,yBAAyB;IACxC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,OAAO,GACX,yBAAyB,GAAG,IAAI,CAWlC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Decoding the `im.chat.member.bot.added_v1` event envelope.
3
+ *
4
+ * Hosts use this event to notice when the Feishu bot is added to a chat. The
5
+ * decode is deliberately narrow and pure: it only extracts stable envelope
6
+ * identifiers, performs no I/O, and returns `null` for unroutable payloads.
7
+ */
8
+ import { asString, isRecord } from '../json.js';
9
+ /** The Feishu event_type this decoder is for. */
10
+ export const BOT_MEMBER_ADDED_EVENT_TYPE = 'im.chat.member.bot.added_v1';
11
+ /**
12
+ * Reshape a raw `im.chat.member.bot.added_v1` payload into a
13
+ * `FeishuBotMemberAddedEvent`. Tolerates either a full `{ header, event }`
14
+ * envelope or the bare event body delivered by some host adapters. Pure: no
15
+ * I/O, never throws.
16
+ */
17
+ export function normalizeBotMemberAddedEvent(raw) {
18
+ if (!isRecord(raw))
19
+ return null;
20
+ const event = isRecord(raw.event) ? raw.event : raw;
21
+ const chatId = asString(event.chat_id);
22
+ if (chatId === '')
23
+ return null;
24
+ const header = isRecord(raw.header) ? raw.header : {};
25
+ return {
26
+ chatId,
27
+ eventId: asString(header.event_id),
28
+ };
29
+ }
30
+ //# sourceMappingURL=bot-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-member.js","sourceRoot":"","sources":["../../src/parse/bot-member.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/C,iDAAiD;AACjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAA;AAUxE;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAAY;IAEZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IACrD,OAAO;QACL,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;KACnC,CAAA;AACH,CAAC"}
@@ -21,6 +21,14 @@ export interface InboundMessage {
21
21
  export interface ParsedInbound {
22
22
  /** Human-readable text to forward to the engine. */
23
23
  text: string;
24
+ /** Optional flat/narrow metadata supplied by the host's event normalizer. */
25
+ meta?: Record<string, unknown>;
26
+ }
27
+ export interface ChannelInbound {
28
+ /** Flattened markdown-ish text suitable for a narrow channel payload. */
29
+ text: string;
30
+ /** Flat string-only metadata with protocol-safe underscore keys. */
31
+ meta: Record<string, string>;
24
32
  }
25
33
  /**
26
34
  * Parse one inbound Feishu message into forwardable text. Never throws —
@@ -28,11 +36,32 @@ export interface ParsedInbound {
28
36
  * still reaches the engine.
29
37
  */
30
38
  export declare function parseInbound(message: InboundMessage): ParsedInbound;
39
+ /**
40
+ * Extract canonical, narrow metadata from a Feishu inbound event envelope.
41
+ *
42
+ * Content parsing only sees `message.content`; identifiers such as
43
+ * `message_id`, `chat_id`, and `sender_id` live in the event envelope. Keeping
44
+ * this Feishu-specific field mapping in core prevents dreamux and claudemux
45
+ * from copy-drifting it in their host adapters.
46
+ */
47
+ export declare function narrowMetaFromEvent(rawEvent: unknown): Record<string, unknown>;
48
+ /**
49
+ * Convert parsed inbound content into the channel protocol's narrow payload.
50
+ *
51
+ * `parseInbound` owns Feishu content flattening; the host may add raw event
52
+ * metadata under `parsed.meta` before calling this. This function is deliberately
53
+ * engine-agnostic: it preserves only text plus a flat string metadata bag. Keys
54
+ * with hyphens or other protocol-unsafe characters are dropped, and nested /
55
+ * non-string values are not stringified blindly.
56
+ */
57
+ export declare function toChannelInbound(parsed: ParsedInbound): ChannelInbound;
31
58
  /**
32
59
  * Replace Feishu's `@_user_N` placeholders in text with the mentioned display
33
60
  * names, so the forwarded message reads naturally.
34
61
  */
35
62
  export declare function applyMentions(text: string, mentions: Mention[] | undefined): string;
63
+ /** Return the display name for an open_id in a Feishu mention list, if present. */
64
+ export declare function mentionName(mentions: Mention[] | undefined, openId: string): string | undefined;
36
65
  /**
37
66
  * Flatten a Feishu rich-text "post" payload into plain text. A post is
38
67
  * locale-wrapped (`{ zh_cn: { title, content } }`) and its body is an array of
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/parse/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CA6BnE;AAiGD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,MAAM,CASnF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAexE"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/parse/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CA6BnE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkB9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CAGtE;AAiID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,MAAM,CASnF;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CACzB,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAEpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAexE"}
@@ -44,6 +44,76 @@ export function parseInbound(message) {
44
44
  return { text: `(${type} message)` };
45
45
  }
46
46
  }
47
+ /**
48
+ * Extract canonical, narrow metadata from a Feishu inbound event envelope.
49
+ *
50
+ * Content parsing only sees `message.content`; identifiers such as
51
+ * `message_id`, `chat_id`, and `sender_id` live in the event envelope. Keeping
52
+ * this Feishu-specific field mapping in core prevents dreamux and claudemux
53
+ * from copy-drifting it in their host adapters.
54
+ */
55
+ export function narrowMetaFromEvent(rawEvent) {
56
+ if (!rawEvent || typeof rawEvent !== 'object' || Array.isArray(rawEvent))
57
+ return {};
58
+ const root = rawEvent;
59
+ const event = asRecord(root.event) ?? root;
60
+ const message = asRecord(event.message) ?? {};
61
+ const sender = asRecord(event.sender) ?? {};
62
+ const senderId = asRecord(sender.sender_id);
63
+ return omitEmptyStrings({
64
+ message_id: asString(message.message_id),
65
+ chat_id: asString(message.chat_id),
66
+ chat_type: asString(message.chat_type),
67
+ sender_id: asString(senderId?.open_id),
68
+ sender_type: asString(sender.sender_type),
69
+ root_id: asString(message.root_id),
70
+ parent_id: asString(message.parent_id),
71
+ create_time: asString(message.create_time),
72
+ });
73
+ }
74
+ /**
75
+ * Convert parsed inbound content into the channel protocol's narrow payload.
76
+ *
77
+ * `parseInbound` owns Feishu content flattening; the host may add raw event
78
+ * metadata under `parsed.meta` before calling this. This function is deliberately
79
+ * engine-agnostic: it preserves only text plus a flat string metadata bag. Keys
80
+ * with hyphens or other protocol-unsafe characters are dropped, and nested /
81
+ * non-string values are not stringified blindly.
82
+ */
83
+ export function toChannelInbound(parsed) {
84
+ const text = parsed.text === '' ? '(empty message)' : parsed.text;
85
+ return { text, meta: sanitizeChannelMeta(parsed.meta) };
86
+ }
87
+ const CHANNEL_META_KEY_RE = /^[A-Za-z0-9_]+$/;
88
+ function sanitizeChannelMeta(meta) {
89
+ const out = {};
90
+ if (!meta)
91
+ return out;
92
+ for (const [key, value] of Object.entries(meta)) {
93
+ if (!CHANNEL_META_KEY_RE.test(key))
94
+ continue;
95
+ if (typeof value === 'string') {
96
+ out[key] = value;
97
+ }
98
+ }
99
+ return out;
100
+ }
101
+ function asRecord(value) {
102
+ return value && typeof value === 'object' && !Array.isArray(value)
103
+ ? value
104
+ : undefined;
105
+ }
106
+ function asString(value) {
107
+ return typeof value === 'string' ? value : undefined;
108
+ }
109
+ function omitEmptyStrings(input) {
110
+ const out = {};
111
+ for (const [key, value] of Object.entries(input)) {
112
+ if (value !== undefined && value !== '')
113
+ out[key] = value;
114
+ }
115
+ return out;
116
+ }
47
117
  /**
48
118
  * Feishu WebSocket events for interactive cards wrap the real v2 card JSON as a
49
119
  * JSON-encoded string under `user_dsl`. Unwrap it so the extractor below always
@@ -153,6 +223,10 @@ export function applyMentions(text, mentions) {
153
223
  }
154
224
  return out;
155
225
  }
226
+ /** Return the display name for an open_id in a Feishu mention list, if present. */
227
+ export function mentionName(mentions, openId) {
228
+ return mentions?.find((m) => m.id?.open_id === openId)?.name;
229
+ }
156
230
  /**
157
231
  * Flatten a Feishu rich-text "post" payload into plain text. A post is
158
232
  * locale-wrapped (`{ zh_cn: { title, content } }`) and its body is an array of
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/parse/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/parse/content.ts"],"names":[],"mappings":"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"}
@@ -147,15 +147,12 @@ export interface FeishuTransport {
147
147
  */
148
148
  start(routes: InboundRoutes): Promise<void>;
149
149
  /**
150
- * Send a text message to the target chat. Routed by `chat_id`, never by a
151
- * message_id, so a forged reply target cannot redirect the message into an
152
- * unrelated conversation.
153
- *
154
- * PR1 reads only `target.chatId` (behavior-identical to the old
155
- * `sendText(chatId, text)`). Honoring `target.replyToMessageId` (reply-threading
156
- * via `im.message.reply`) and `target.mentionUserIds` (auto @-back) lands in
157
- * dreamux#25 PR2 (gap ④), with its own tests; `target.conversationKey` is a
158
- * channel-layer routing hint the transport never reads.
150
+ * Send a text message to the target chat. Without `replyToMessageId`, routing
151
+ * is by `target.chatId`. With `replyToMessageId`, Feishu's reply endpoint
152
+ * routes by the source message id; callers must only pass a message id that
153
+ * was observed in `target.chatId`, never an arbitrary external message id.
154
+ * `mentionUserIds` are rendered as leading card mentions. `conversationKey`
155
+ * is a channel-layer routing hint the transport never reads.
159
156
  */
160
157
  send(target: OutboundTarget, text: string): Promise<FeishuSendResult>;
161
158
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feishu.d.ts","sourceRoot":"","sources":["../../src/transport/feishu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feishu.d.ts","sourceRoot":"","sources":["../../src/transport/feishu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAA;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AA0C7D,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAAY,CAAA;AAyCvD,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAA;IAChB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,OAAO,EAAE,qBAAqB,EAAE,CAAA;CACjC;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAA;CACZ;AAaD;;;;;GAKG;AACH,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,KAAK,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,OAAO,CAAC,EAAE;gBAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;aAAE,CAAA;SACnC,CAAC,CAAA;KACH,CAAA;CACF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EAAE,EACvB,SAAS,EAAE,MAAM,GAChB,gBAAgB,GAAG,IAAI,CASzB;AAwBD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1D;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAExD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACrE;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9D;;;;;OAKG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpE,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD;;;;;;OAMG;IACH,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACnC;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IAChF,gEAAgE;IAChE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,sBAA2B,GACnC,eAAe,CA0NjB"}
@@ -233,23 +233,14 @@ export function createFeishuTransport(creds, options = {}) {
233
233
  // too large for one card produces several cards, each sent as its own
234
234
  // message_id so the recipient sees a threaded continuation.
235
235
  //
236
- // PR1: addressed by `chatId` only — behavior-identical to the old
237
- // `sendText`. `replyToMessageId` / `mentionUserIds` are wired in PR2.
238
- const cards = renderMarkdownToCards(text);
236
+ const cards = renderMarkdownToCards(textWithLeadingMentions(target, text));
239
237
  const messageIds = [];
240
238
  for (const card of cards) {
241
239
  const content = cardToContent(card);
242
240
  // Fail fast on a card that could not be split under Feishu's hard cap,
243
241
  // preserving dreamux's prior per-card send guard (see assertCardContentFits).
244
242
  assertCardContentFits(content);
245
- const res = await client.im.message.create({
246
- params: { receive_id_type: 'chat_id' },
247
- data: {
248
- receive_id: target.chatId,
249
- msg_type: 'interactive',
250
- content,
251
- },
252
- });
243
+ const res = await sendInteractiveCard(client, target, content);
253
244
  const id = res.data?.message_id;
254
245
  if (id)
255
246
  messageIds.push(id);
@@ -364,6 +355,29 @@ export function createFeishuTransport(creds, options = {}) {
364
355
  },
365
356
  };
366
357
  }
358
+ async function sendInteractiveCard(client, target, content) {
359
+ const data = { msg_type: 'interactive', content };
360
+ if (target.replyToMessageId !== undefined) {
361
+ const messageApi = client.im.message;
362
+ return messageApi.reply({
363
+ path: { message_id: target.replyToMessageId },
364
+ data,
365
+ });
366
+ }
367
+ return client.im.message.create({
368
+ params: { receive_id_type: 'chat_id' },
369
+ data: {
370
+ receive_id: target.chatId,
371
+ ...data,
372
+ },
373
+ });
374
+ }
375
+ function textWithLeadingMentions(target, text) {
376
+ const mentions = target.mentionUserIds ?? [];
377
+ if (mentions.length === 0)
378
+ return text;
379
+ return `${mentions.map((id) => `<@${id}>`).join(' ')}\n${text}`;
380
+ }
367
381
  /** How many times to try resolving the bot's open_id before giving up. */
368
382
  const BOT_INFO_ATTEMPTS = 3;
369
383
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feishu.js","sourceRoot":"","sources":["../../src/transport/feishu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feishu.js","sourceRoot":"","sources":["../../src/transport/feishu.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "name": "@excitedjs/feishu-transport",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Shared Feishu platform-I/O core for dreamux and claudemux: connect / receive / send / auth / render / parse + stateless policy (issue excitedjs/dreamux#25).",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/excitedjs/dreamux.git",
9
+ "directory": "packages/channel/feishu-transport"
10
+ },
6
11
  "type": "module",
7
12
  "main": "./dist/index.js",
8
13
  "types": "./dist/index.d.ts",
@@ -20,6 +25,14 @@
20
25
  "dist",
21
26
  "README.md"
22
27
  ],
28
+ "scripts": {
29
+ "build": "tsc -p tsconfig.json",
30
+ "typecheck": "tsc -p tsconfig.json --noEmit",
31
+ "test": "vitest run",
32
+ "test:watch": "vitest",
33
+ "clean": "rm -rf dist",
34
+ "prepublishOnly": "npm run build"
35
+ },
23
36
  "dependencies": {
24
37
  "@larksuiteoapi/node-sdk": "^1.64.0",
25
38
  "marked": "^15.0.12"
@@ -28,12 +41,5 @@
28
41
  "@types/node": "^22.10.0",
29
42
  "typescript": "^5.7.0",
30
43
  "vitest": "^2.1.0"
31
- },
32
- "scripts": {
33
- "build": "tsc -p tsconfig.json",
34
- "typecheck": "tsc -p tsconfig.json --noEmit",
35
- "test": "vitest run",
36
- "test:watch": "vitest",
37
- "clean": "rm -rf dist"
38
44
  }
39
- }
45
+ }