botmux 2.43.0 → 2.45.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 (192) hide show
  1. package/README.en.md +1 -2
  2. package/README.md +1 -2
  3. package/dist/bot-registry.d.ts +11 -0
  4. package/dist/bot-registry.d.ts.map +1 -1
  5. package/dist/bot-registry.js +1 -0
  6. package/dist/bot-registry.js.map +1 -1
  7. package/dist/cli/bots-list-output.d.ts +8 -0
  8. package/dist/cli/bots-list-output.d.ts.map +1 -1
  9. package/dist/cli/bots-list-output.js +9 -0
  10. package/dist/cli/bots-list-output.js.map +1 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +6 -0
  13. package/dist/cli.js.map +1 -1
  14. package/dist/core/command-handler.d.ts.map +1 -1
  15. package/dist/core/command-handler.js +169 -51
  16. package/dist/core/command-handler.js.map +1 -1
  17. package/dist/core/dashboard-ipc-server.d.ts +2 -0
  18. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  19. package/dist/core/dashboard-ipc-server.js +61 -2
  20. package/dist/core/dashboard-ipc-server.js.map +1 -1
  21. package/dist/core/role-resolver.d.ts +17 -1
  22. package/dist/core/role-resolver.d.ts.map +1 -1
  23. package/dist/core/role-resolver.js +64 -10
  24. package/dist/core/role-resolver.js.map +1 -1
  25. package/dist/core/session-manager.d.ts.map +1 -1
  26. package/dist/core/session-manager.js +14 -9
  27. package/dist/core/session-manager.js.map +1 -1
  28. package/dist/core/trigger-session.d.ts +9 -0
  29. package/dist/core/trigger-session.d.ts.map +1 -0
  30. package/dist/core/trigger-session.js +158 -0
  31. package/dist/core/trigger-session.js.map +1 -0
  32. package/dist/core/worker-pool.d.ts +22 -0
  33. package/dist/core/worker-pool.d.ts.map +1 -1
  34. package/dist/core/worker-pool.js +54 -2
  35. package/dist/core/worker-pool.js.map +1 -1
  36. package/dist/daemon.d.ts.map +1 -1
  37. package/dist/daemon.js +73 -44
  38. package/dist/daemon.js.map +1 -1
  39. package/dist/dashboard/connector-api.d.ts +3 -0
  40. package/dist/dashboard/connector-api.d.ts.map +1 -0
  41. package/dist/dashboard/connector-api.js +351 -0
  42. package/dist/dashboard/connector-api.js.map +1 -0
  43. package/dist/dashboard/federated-group-core.d.ts +54 -0
  44. package/dist/dashboard/federated-group-core.d.ts.map +1 -0
  45. package/dist/dashboard/federated-group-core.js +165 -0
  46. package/dist/dashboard/federated-group-core.js.map +1 -0
  47. package/dist/dashboard/federation-api.d.ts +42 -0
  48. package/dist/dashboard/federation-api.d.ts.map +1 -0
  49. package/dist/dashboard/federation-api.js +408 -0
  50. package/dist/dashboard/federation-api.js.map +1 -0
  51. package/dist/dashboard/federation-spoke-api.d.ts +76 -0
  52. package/dist/dashboard/federation-spoke-api.d.ts.map +1 -0
  53. package/dist/dashboard/federation-spoke-api.js +618 -0
  54. package/dist/dashboard/federation-spoke-api.js.map +1 -0
  55. package/dist/dashboard/team-group.d.ts +18 -0
  56. package/dist/dashboard/team-group.d.ts.map +1 -0
  57. package/dist/dashboard/team-group.js +7 -0
  58. package/dist/dashboard/team-group.js.map +1 -0
  59. package/dist/dashboard/trigger-api.d.ts +13 -0
  60. package/dist/dashboard/trigger-api.d.ts.map +1 -0
  61. package/dist/dashboard/trigger-api.js +77 -0
  62. package/dist/dashboard/trigger-api.js.map +1 -0
  63. package/dist/dashboard/web/app.js +8 -0
  64. package/dist/dashboard/web/app.js.map +1 -1
  65. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  66. package/dist/dashboard/web/bot-defaults.js +13 -0
  67. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  68. package/dist/dashboard/web/connectors.d.ts +2 -0
  69. package/dist/dashboard/web/connectors.d.ts.map +1 -0
  70. package/dist/dashboard/web/connectors.js +187 -0
  71. package/dist/dashboard/web/connectors.js.map +1 -0
  72. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  73. package/dist/dashboard/web/i18n.js +4 -0
  74. package/dist/dashboard/web/i18n.js.map +1 -1
  75. package/dist/dashboard/web/team-federation.d.ts +3 -0
  76. package/dist/dashboard/web/team-federation.d.ts.map +1 -0
  77. package/dist/dashboard/web/team-federation.js +472 -0
  78. package/dist/dashboard/web/team-federation.js.map +1 -0
  79. package/dist/dashboard/webhook-routes.d.ts +19 -0
  80. package/dist/dashboard/webhook-routes.d.ts.map +1 -0
  81. package/dist/dashboard/webhook-routes.js +321 -0
  82. package/dist/dashboard/webhook-routes.js.map +1 -0
  83. package/dist/dashboard-web/app.js +512 -384
  84. package/dist/dashboard-web/index.html +2 -0
  85. package/dist/dashboard.js +153 -1
  86. package/dist/dashboard.js.map +1 -1
  87. package/dist/i18n/en.d.ts.map +1 -1
  88. package/dist/i18n/en.js +31 -9
  89. package/dist/i18n/en.js.map +1 -1
  90. package/dist/i18n/zh.d.ts.map +1 -1
  91. package/dist/i18n/zh.js +31 -9
  92. package/dist/i18n/zh.js.map +1 -1
  93. package/dist/im/lark/card-builder.d.ts +25 -2
  94. package/dist/im/lark/card-builder.d.ts.map +1 -1
  95. package/dist/im/lark/card-builder.js +141 -43
  96. package/dist/im/lark/card-builder.js.map +1 -1
  97. package/dist/im/lark/card-handler.d.ts.map +1 -1
  98. package/dist/im/lark/card-handler.js +20 -4
  99. package/dist/im/lark/card-handler.js.map +1 -1
  100. package/dist/im/lark/client.d.ts +41 -0
  101. package/dist/im/lark/client.d.ts.map +1 -1
  102. package/dist/im/lark/client.js +174 -48
  103. package/dist/im/lark/client.js.map +1 -1
  104. package/dist/services/bot-owner-store.d.ts +28 -0
  105. package/dist/services/bot-owner-store.d.ts.map +1 -0
  106. package/dist/services/bot-owner-store.js +82 -0
  107. package/dist/services/bot-owner-store.js.map +1 -0
  108. package/dist/services/bot-profile-store.d.ts +16 -0
  109. package/dist/services/bot-profile-store.d.ts.map +1 -0
  110. package/dist/services/bot-profile-store.js +98 -0
  111. package/dist/services/bot-profile-store.js.map +1 -0
  112. package/dist/services/card-prefs-store.d.ts +2 -1
  113. package/dist/services/card-prefs-store.d.ts.map +1 -1
  114. package/dist/services/card-prefs-store.js +13 -4
  115. package/dist/services/card-prefs-store.js.map +1 -1
  116. package/dist/services/connector-store.d.ts +58 -0
  117. package/dist/services/connector-store.d.ts.map +1 -0
  118. package/dist/services/connector-store.js +79 -0
  119. package/dist/services/connector-store.js.map +1 -0
  120. package/dist/services/deployment-identity.d.ts +22 -0
  121. package/dist/services/deployment-identity.d.ts.map +1 -0
  122. package/dist/services/deployment-identity.js +67 -0
  123. package/dist/services/deployment-identity.js.map +1 -0
  124. package/dist/services/federation-membership-store.d.ts +23 -0
  125. package/dist/services/federation-membership-store.d.ts.map +1 -0
  126. package/dist/services/federation-membership-store.js +66 -0
  127. package/dist/services/federation-membership-store.js.map +1 -0
  128. package/dist/services/federation-roster.d.ts +54 -0
  129. package/dist/services/federation-roster.d.ts.map +1 -0
  130. package/dist/services/federation-roster.js +51 -0
  131. package/dist/services/federation-roster.js.map +1 -0
  132. package/dist/services/federation-store.d.ts +76 -0
  133. package/dist/services/federation-store.d.ts.map +1 -0
  134. package/dist/services/federation-store.js +133 -0
  135. package/dist/services/federation-store.js.map +1 -0
  136. package/dist/services/group-creator.d.ts +6 -0
  137. package/dist/services/group-creator.d.ts.map +1 -1
  138. package/dist/services/group-creator.js +10 -1
  139. package/dist/services/group-creator.js.map +1 -1
  140. package/dist/services/groups-store.d.ts +11 -0
  141. package/dist/services/groups-store.d.ts.map +1 -1
  142. package/dist/services/groups-store.js +42 -0
  143. package/dist/services/groups-store.js.map +1 -1
  144. package/dist/services/invite-store.d.ts +28 -0
  145. package/dist/services/invite-store.d.ts.map +1 -0
  146. package/dist/services/invite-store.js +85 -0
  147. package/dist/services/invite-store.js.map +1 -0
  148. package/dist/services/pairing-store.d.ts +47 -0
  149. package/dist/services/pairing-store.d.ts.map +1 -0
  150. package/dist/services/pairing-store.js +132 -0
  151. package/dist/services/pairing-store.js.map +1 -0
  152. package/dist/services/team-roster.d.ts +38 -0
  153. package/dist/services/team-roster.d.ts.map +1 -0
  154. package/dist/services/team-roster.js +82 -0
  155. package/dist/services/team-roster.js.map +1 -0
  156. package/dist/services/team-store.d.ts +54 -0
  157. package/dist/services/team-store.d.ts.map +1 -0
  158. package/dist/services/team-store.js +156 -0
  159. package/dist/services/team-store.js.map +1 -0
  160. package/dist/services/trigger-log-store.d.ts +46 -0
  161. package/dist/services/trigger-log-store.d.ts.map +1 -0
  162. package/dist/services/trigger-log-store.js +132 -0
  163. package/dist/services/trigger-log-store.js.map +1 -0
  164. package/dist/services/trigger-types.d.ts +57 -0
  165. package/dist/services/trigger-types.d.ts.map +1 -0
  166. package/dist/services/trigger-types.js +28 -0
  167. package/dist/services/trigger-types.js.map +1 -0
  168. package/dist/services/webhook-key.d.ts +16 -0
  169. package/dist/services/webhook-key.d.ts.map +1 -0
  170. package/dist/services/webhook-key.js +123 -0
  171. package/dist/services/webhook-key.js.map +1 -0
  172. package/dist/services/webhook-lifecycle-extractors.d.ts +15 -0
  173. package/dist/services/webhook-lifecycle-extractors.d.ts.map +1 -0
  174. package/dist/services/webhook-lifecycle-extractors.js +59 -0
  175. package/dist/services/webhook-lifecycle-extractors.js.map +1 -0
  176. package/dist/services/webhook-lifecycle-store.d.ts +45 -0
  177. package/dist/services/webhook-lifecycle-store.d.ts.map +1 -0
  178. package/dist/services/webhook-lifecycle-store.js +159 -0
  179. package/dist/services/webhook-lifecycle-store.js.map +1 -0
  180. package/dist/setup/verify-permissions.d.ts.map +1 -1
  181. package/dist/setup/verify-permissions.js +4 -0
  182. package/dist/setup/verify-permissions.js.map +1 -1
  183. package/dist/skills/definitions.d.ts.map +1 -1
  184. package/dist/skills/definitions.js +64 -10
  185. package/dist/skills/definitions.js.map +1 -1
  186. package/dist/workflows/events/payloads.d.ts +2 -2
  187. package/dist/workflows/events/schema.d.ts +8 -8
  188. package/dist/workflows/trigger-from-envelope.d.ts +13 -0
  189. package/dist/workflows/trigger-from-envelope.d.ts.map +1 -0
  190. package/dist/workflows/trigger-from-envelope.js +67 -0
  191. package/dist/workflows/trigger-from-envelope.js.map +1 -0
  192. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"card-handler.js","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-handler.js","sourceRoot":"","sources":["../../../src/im/lark/card-handler.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,14 @@ export type ChatMode = 'group' | 'topic' | 'p2p';
70
70
  * Calling this with a chat that's already known to be p2p (from
71
71
  * message.chat_type === 'p2p') is fine but wasteful — prefer skipping the
72
72
  * call in that case. */
73
+ /**
74
+ * Resolve a chat's mode by hitting the API directly. Returns `'unknown'` when
75
+ * the chat type can't be confirmed (non-zero code or thrown) — it does NOT guess
76
+ * `'group'`. Use this for privacy-critical gates that must fail closed (private
77
+ * `/card`). Always queries the API (no cache read), but populates the shared
78
+ * cache on success so a following {@link getChatMode} hits it.
79
+ */
80
+ export declare function getChatModeStrict(larkAppId: string, chatId: string): Promise<ChatMode | 'unknown'>;
73
81
  export declare function getChatMode(larkAppId: string, chatId: string, options?: {
74
82
  forceRefresh?: boolean;
75
83
  }): Promise<ChatMode>;
@@ -80,6 +88,18 @@ export declare function getChatMode(larkAppId: string, chatId: string, options?:
80
88
  * fall back instead of assuming success. Fire-and-forget callers can ignore it.
81
89
  */
82
90
  export declare function deleteMessage(larkAppId: string, messageId: string): Promise<boolean>;
91
+ /** Error code Feishu returns from `ephemeral/v1/send` when the target chat is a
92
+ * topic / thread chat. Ephemeral cards only work in plain `group` chats (see
93
+ * /tmp design notes: empirically code 18053 `chat can not be thread`). */
94
+ export declare const LARK_CODE_EPHEMERAL_NOT_GROUP = 18053;
95
+ /**
96
+ * Send a "visible-to-one-user" ephemeral card (`ephemeral/v1/send`). The card is
97
+ * only shown to `openId`, sends no notification, and — unlike normal messages —
98
+ * **cannot be PATCH-updated** (legacy interface). Multiple recipients require one
99
+ * call each. Only works in plain `group` chats; topic/thread/p2p chats reject
100
+ * with {@link LARK_CODE_EPHEMERAL_NOT_GROUP}. Returns the ephemeral message_id.
101
+ */
102
+ export declare function sendEphemeralCard(larkAppId: string, chatId: string, openId: string, cardJson: string): Promise<string>;
83
103
  export declare function updateMessage(larkAppId: string, messageId: string, cardJson: string): Promise<void>;
84
104
  export declare function getMessageDetail(larkAppId: string, messageId: string, options?: {
85
105
  userCardContent?: boolean;
@@ -106,6 +126,15 @@ export declare function resolveAllowedUsersWithMap(larkAppId: string, raw: strin
106
126
  resolved: string[];
107
127
  map: Map<string, string>;
108
128
  }>;
129
+ /**
130
+ * Best-effort resolve a user's open_id → canonical union_id (+ display name)
131
+ * for pairing-login. Requires `contact:user.base:readonly` scope; on failure
132
+ * (no scope / API error) returns {} so callers degrade to open_id-only identity.
133
+ */
134
+ export declare function resolveUserUnionId(larkAppId: string, openId: string): Promise<{
135
+ unionId?: string;
136
+ name?: string;
137
+ }>;
109
138
  export declare function resolveAllowedUsers(larkAppId: string, raw: string[]): Promise<string[]>;
110
139
  export declare function listThreadMessages(larkAppId: string, chatId: string, rootMessageId: string, pageSize?: number): Promise<any[]>;
111
140
  /** List chat-container messages, most-recent first but returned chronologically
@@ -162,6 +191,18 @@ export type ChatBotMember = {
162
191
  name: string;
163
192
  displayName: string;
164
193
  source: 'configured' | 'introduce';
194
+ /** Short capability label (team-level), for roster discovery. Configured bots only. */
195
+ capability?: string;
196
+ /** Whether this bot has a team-level role registered. Configured bots only. */
197
+ hasTeamRole: boolean;
198
+ /**
199
+ * Whether the observing app (the `larkAppId` arg) can RELIABLY @-mention this
200
+ * member. Lark open_id is per-app scoped, so a bot's self-reported open_id is
201
+ * not usable by another app. Reliable only when learned via cross-ref (from
202
+ * @mention events) or via /introduce (observed, already observer-scoped).
203
+ */
204
+ mentionable: boolean;
205
+ mentionSource: 'cross-ref' | 'self' | 'observed' | 'fallback';
165
206
  };
166
207
  export declare function listChatBotMembers(larkAppId: string, chatId: string): Promise<ChatBotMember[]>;
167
208
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/im/lark/client.ts"],"names":[],"mappings":"AAWA,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,CAE/F;AAiBD,4EAA4E;AAC5E,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,SAAS,EAAE,MAAM;CAI9B;AASD;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B9I;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,EAAE,aAAa,GAAE,OAAe,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BlL;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1G;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5G;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBnI;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAWrH;AAED;;;;;;;;;;;;;wDAawD;AACxD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAKjD;;;;;;;;;yBASyB;AACzB,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC,QAAQ,CAAC,CAsCnB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1F;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzG;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,OAAO,CAAC,GAAG,CAAC,CAiBd;AAED,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC5J;AAmDD,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWvF;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcrF;AAED;;;;;GAKG;AACH;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CA4C3D;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7F;AAED,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAYxI;AAgDD;;;;;gDAKgD;AAChD,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GACvD,OAAO,CAAC,GAAG,EAAE,CAAC,CA4BhB;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,GAAG,EAAE,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,GAAG,sBAAsB,CAAM,GACzF,GAAG,EAAE,CAgBP;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAW,EACrB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,GAAG,EAAE,CAAC,CAIhB;AAoCD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,GAAG,WAAW,CAAC;CACpC,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA4EpG"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/im/lark/client.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import { config } from '../../config.js';
8
8
  import { logger } from '../../utils/logger.js';
9
9
  import { resolveUserToken } from '../../utils/user-token.js';
10
10
  import { listObservedBots } from '../../services/observed-bots-store.js';
11
+ import { getBotCapability } from '../../services/bot-profile-store.js';
12
+ import { resolveTeamRoleFile } from '../../core/role-resolver.js';
11
13
  /**
12
14
  * Call a Feishu GET endpoint without a request body.
13
15
  *
@@ -199,45 +201,71 @@ const CHAT_MODE_TTL_MS = 5 * 60 * 1000; // 5 min — chat_mode can change when a
199
201
  * Calling this with a chat that's already known to be p2p (from
200
202
  * message.chat_type === 'p2p') is fine but wasteful — prefer skipping the
201
203
  * call in that case. */
202
- export async function getChatMode(larkAppId, chatId, options = {}) {
203
- const cacheKey = `${larkAppId}::${chatId}`;
204
- const cached = chatModeCache.get(cacheKey);
205
- if (!options.forceRefresh && cached && Date.now() - cached.cachedAt < CHAT_MODE_TTL_MS) {
206
- return cached.mode;
207
- }
208
- let mode = 'group';
204
+ /**
205
+ * Resolve a chat's mode by hitting the API directly. Returns `'unknown'` when
206
+ * the chat type can't be confirmed (non-zero code or thrown) — it does NOT guess
207
+ * `'group'`. Use this for privacy-critical gates that must fail closed (private
208
+ * `/card`). Always queries the API (no cache read), but populates the shared
209
+ * cache on success so a following {@link getChatMode} hits it.
210
+ */
211
+ export async function getChatModeStrict(larkAppId, chatId) {
209
212
  try {
210
213
  const c = getBotClient(larkAppId);
211
214
  const res = await larkGet(c, `/open-apis/im/v1/chats/${encodeURIComponent(chatId)}`);
212
- if (res.code === 0) {
213
- const rawMode = String(res.data?.chat_mode ?? '').toLowerCase();
214
- const rawType = String(res.data?.chat_type ?? '').toLowerCase();
215
- // group_message_type is the actual "is this a 话题群" signal. The
216
- // Lark client UI lets users flip a chat between flat mode and topic
217
- // mode at any time — that toggle writes group_message_type
218
- // ('chat' ↔ 'thread'), NOT chat_mode. chat_mode is the chat's
219
- // creation-time topology classification and stays 'group' even for
220
- // user-converted topic chats; in our tenant we have only ever seen
221
- // chat_mode='topic' on a small set of legacy/specially-created chats.
222
- // Treating chat_mode='topic' OR group_message_type='thread' as 'topic'
223
- // covers both shapes, and matches the behaviour the Lark client
224
- // displays: every top-level message wraps into a fresh thread, so a
225
- // bot's sendMessage(chatId) creates a new visible topic each turn.
226
- const rawGmt = String(res.data?.group_message_type ?? '').toLowerCase();
227
- if (rawType === 'p2p')
228
- mode = 'p2p';
229
- else if (rawMode === 'topic' || rawGmt === 'thread')
230
- mode = 'topic';
231
- else
232
- mode = 'group';
215
+ if (res.code !== 0) {
216
+ logger.warn(`getChatModeStrict(${chatId}) failed: ${res.msg} (code: ${res.code})`);
217
+ return 'unknown';
233
218
  }
219
+ // 'p2p' (single chat) lives in chat_mode, NOT chat_type. chat_type is the
220
+ // group's visibility (public/private) and is undefined for p2p — checking it
221
+ // for 'p2p' never matches, so a DM would fall through to 'group'.
222
+ const rawMode = String(res.data?.chat_mode ?? '').toLowerCase();
223
+ // group_message_type is the actual "is this a 话题群" signal. The Lark
224
+ // client UI lets users flip a chat between flat mode and topic mode at any
225
+ // time — that toggle writes group_message_type ('chat' ↔ 'thread'), NOT
226
+ // chat_mode. chat_mode is the creation-time topology classification and
227
+ // stays 'group' even for user-converted topic chats; in our tenant we have
228
+ // only ever seen chat_mode='topic' on a small set of legacy chats. Treating
229
+ // chat_mode='topic' OR group_message_type='thread' as 'topic' covers both.
230
+ const rawGmt = String(res.data?.group_message_type ?? '').toLowerCase();
231
+ let mode;
232
+ if (rawMode === 'p2p')
233
+ mode = 'p2p';
234
+ else if (rawMode === 'topic' || rawGmt === 'thread')
235
+ mode = 'topic';
236
+ else if (rawMode === 'group')
237
+ mode = 'group';
234
238
  else {
235
- logger.warn(`getChatMode(${chatId}) failed: ${res.msg} (code: ${res.code}); falling back to 'group'`);
239
+ // Empty / unrecognized chat_mode (e.g. data={}, or a future enum value):
240
+ // we genuinely can't confirm the type, so fail closed with 'unknown'
241
+ // rather than guessing 'group' — honours this function's contract for
242
+ // privacy-critical callers. (getChatMode still maps 'unknown'→'group' for
243
+ // lenient routing, so non-strict consumers are unaffected.)
244
+ logger.warn(`getChatModeStrict(${chatId}) unrecognized chat_mode='${rawMode}' — returning 'unknown'`);
245
+ return 'unknown';
236
246
  }
247
+ chatModeCache.set(`${larkAppId}::${chatId}`, { mode, cachedAt: Date.now() });
248
+ return mode;
237
249
  }
238
250
  catch (err) {
239
- logger.warn(`getChatMode(${chatId}) errored: ${err?.message ?? err}; falling back to 'group'`);
251
+ logger.warn(`getChatModeStrict(${chatId}) errored: ${err?.message ?? err}`);
252
+ return 'unknown';
253
+ }
254
+ }
255
+ export async function getChatMode(larkAppId, chatId, options = {}) {
256
+ const cacheKey = `${larkAppId}::${chatId}`;
257
+ const cached = chatModeCache.get(cacheKey);
258
+ if (!options.forceRefresh && cached && Date.now() - cached.cachedAt < CHAT_MODE_TTL_MS) {
259
+ return cached.mode;
240
260
  }
261
+ // Lenient default: an unconfirmed chat is treated as 'group' (a flat group is
262
+ // the safer routing default than wrongly forcing threads). getChatModeStrict
263
+ // already cached the result on success; cache the fallback on 'unknown' too.
264
+ const strict = await getChatModeStrict(larkAppId, chatId);
265
+ if (strict !== 'unknown')
266
+ return strict;
267
+ const mode = 'group';
268
+ logger.warn(`getChatMode(${chatId}) unconfirmed; falling back to 'group'`);
241
269
  chatModeCache.set(cacheKey, { mode, cachedAt: Date.now() });
242
270
  return mode;
243
271
  }
@@ -262,6 +290,38 @@ export async function deleteMessage(larkAppId, messageId) {
262
290
  return false;
263
291
  }
264
292
  }
293
+ /** Error code Feishu returns from `ephemeral/v1/send` when the target chat is a
294
+ * topic / thread chat. Ephemeral cards only work in plain `group` chats (see
295
+ * /tmp design notes: empirically code 18053 `chat can not be thread`). */
296
+ export const LARK_CODE_EPHEMERAL_NOT_GROUP = 18053;
297
+ /**
298
+ * Send a "visible-to-one-user" ephemeral card (`ephemeral/v1/send`). The card is
299
+ * only shown to `openId`, sends no notification, and — unlike normal messages —
300
+ * **cannot be PATCH-updated** (legacy interface). Multiple recipients require one
301
+ * call each. Only works in plain `group` chats; topic/thread/p2p chats reject
302
+ * with {@link LARK_CODE_EPHEMERAL_NOT_GROUP}. Returns the ephemeral message_id.
303
+ */
304
+ export async function sendEphemeralCard(larkAppId, chatId, openId, cardJson) {
305
+ const c = getBotClient(larkAppId);
306
+ let card;
307
+ try {
308
+ card = JSON.parse(cardJson);
309
+ }
310
+ catch (err) {
311
+ throw new Error(`Invalid ephemeral card JSON: ${err}`);
312
+ }
313
+ const res = await c.request({
314
+ method: 'POST',
315
+ url: '/open-apis/ephemeral/v1/send',
316
+ data: { chat_id: chatId, open_id: openId, msg_type: 'interactive', card },
317
+ });
318
+ if (res.code !== 0) {
319
+ throw new Error(`Failed to send ephemeral card: ${res.msg} (code: ${res.code})`);
320
+ }
321
+ const messageId = res.data?.message_id;
322
+ logger.info(`Sent ephemeral card ${messageId ?? '(no id)'} to ${openId} in chat ${chatId}`);
323
+ return messageId ?? '';
324
+ }
265
325
  export async function updateMessage(larkAppId, messageId, cardJson) {
266
326
  const c = getBotClient(larkAppId);
267
327
  let res;
@@ -471,6 +531,30 @@ export async function resolveAllowedUsersWithMap(larkAppId, raw) {
471
531
  }
472
532
  return { resolved: openIds, map };
473
533
  }
534
+ /**
535
+ * Best-effort resolve a user's open_id → canonical union_id (+ display name)
536
+ * for pairing-login. Requires `contact:user.base:readonly` scope; on failure
537
+ * (no scope / API error) returns {} so callers degrade to open_id-only identity.
538
+ */
539
+ export async function resolveUserUnionId(larkAppId, openId) {
540
+ if (!openId)
541
+ return {};
542
+ try {
543
+ const c = getBotClient(larkAppId);
544
+ const res = await c.contact.v3.user.get({
545
+ path: { user_id: openId },
546
+ params: { user_id_type: 'open_id' },
547
+ });
548
+ if (res.code === 0 && res.data?.user) {
549
+ return { unionId: res.data.user.union_id ?? undefined, name: res.data.user.name ?? undefined };
550
+ }
551
+ logger.debug(`resolveUserUnionId non-zero code: ${res.code} ${res.msg}`);
552
+ }
553
+ catch (err) {
554
+ logger.debug(`resolveUserUnionId failed: ${err?.message ?? err}`);
555
+ }
556
+ return {};
557
+ }
474
558
  export async function resolveAllowedUsers(larkAppId, raw) {
475
559
  return (await resolveAllowedUsersWithMap(larkAppId, raw)).resolved;
476
560
  }
@@ -650,15 +734,26 @@ export async function listChatBotMembers(larkAppId, chatId) {
650
734
  if (res.code === 0 && res.data?.is_in_chat) {
651
735
  const info = appIdToInfo.get(appId);
652
736
  // Prefer cross-reference (correct per-app open_id), fall back to self-seen
653
- const openId = (info?.botName && crossRef.get(info.botName.toLowerCase()))
654
- ?? info?.botOpenId
655
- ?? appId;
737
+ const crossHit = info?.botName ? crossRef.get(info.botName.toLowerCase()) : undefined;
738
+ const openId = crossHit ?? info?.botOpenId ?? appId;
739
+ const isSelf = appId === larkAppId;
740
+ // Reliable @-mention only when the per-app open_id was learned via
741
+ // cross-ref; self-view open_id (info.botOpenId) is wrong for OTHER
742
+ // apps, and the appId fallback is no handle at all. Self is always fine.
743
+ const mentionSource = crossHit
744
+ ? 'cross-ref'
745
+ : (info?.botOpenId ? 'self' : 'fallback');
746
+ const mentionable = isSelf || mentionSource === 'cross-ref';
656
747
  return {
657
748
  larkAppId: appId,
658
749
  openId,
659
750
  name: cliId,
660
751
  displayName: info?.botName ?? cliId,
661
752
  source: 'configured',
753
+ capability: getBotCapability(config.session.dataDir, appId) ?? undefined,
754
+ hasTeamRole: resolveTeamRoleFile(appId) !== null,
755
+ mentionable,
756
+ mentionSource,
662
757
  };
663
758
  }
664
759
  }
@@ -668,26 +763,57 @@ export async function listChatBotMembers(larkAppId, chatId) {
668
763
  return null;
669
764
  }));
670
765
  const configured = configuredResults.filter((r) => r !== null);
671
- // Merge in observed entries (from /introduce) scoped to the caller's
672
- // observer app so the open_ids match how THIS daemon should @-mention them
673
- // (Lark open_id is per-app scoped). Dedup by openId (configured wins).
674
- const seenOpenIds = new Set(configured.map(b => b.openId));
675
- let observed = [];
766
+ // Merge observed entries (from /introduce), scoped to the caller's observer
767
+ // app so open_ids match how THIS daemon should @-mention them (open_id is
768
+ // per-app scoped). Two cases:
769
+ // 1) An observed entry uniquely matches a configured row by display name AND
770
+ // that row isn't already a reliable cross-ref handle → UPGRADE it in
771
+ // place: adopt the observed (observer-scoped) open_id and mark it
772
+ // reliably mentionable, while keeping larkAppId/capability/hasTeamRole.
773
+ // (A configured peer's own open_id is its self-view — wrong for us to @.)
774
+ // 2) Otherwise (no/ambiguous match) → append as an external bot.
676
775
  try {
677
776
  const observedList = listObservedBots(config.session.dataDir, larkAppId, chatId);
678
- observed = observedList
679
- .filter(o => !seenOpenIds.has(o.openId))
680
- .map(o => ({
681
- larkAppId: '',
682
- openId: o.openId,
683
- name: o.name,
684
- displayName: o.name,
685
- source: 'introduce',
686
- }));
777
+ const seenOpenIds = new Set(configured.map(b => b.openId));
778
+ const norm = (s) => s.trim().toLowerCase();
779
+ const byName = new Map();
780
+ configured.forEach((b, i) => {
781
+ const k = norm(b.displayName);
782
+ const arr = byName.get(k);
783
+ if (arr)
784
+ arr.push(i);
785
+ else
786
+ byName.set(k, [i]);
787
+ });
788
+ for (const o of observedList) {
789
+ if (seenOpenIds.has(o.openId))
790
+ continue;
791
+ const matches = byName.get(norm(o.name)) ?? [];
792
+ if (matches.length === 1) {
793
+ const row = configured[matches[0]];
794
+ // Upgrade only if not already a reliable cross-ref handle.
795
+ if (row.mentionSource !== 'cross-ref') {
796
+ configured[matches[0]] = { ...row, openId: o.openId, mentionable: true, mentionSource: 'observed' };
797
+ seenOpenIds.add(o.openId);
798
+ }
799
+ continue; // matched → never also append as an external duplicate
800
+ }
801
+ configured.push({
802
+ larkAppId: '',
803
+ openId: o.openId,
804
+ name: o.name,
805
+ displayName: o.name,
806
+ source: 'introduce',
807
+ hasTeamRole: false,
808
+ mentionable: true,
809
+ mentionSource: 'observed',
810
+ });
811
+ seenOpenIds.add(o.openId);
812
+ }
687
813
  }
688
814
  catch (err) {
689
815
  logger.debug(`Failed to load observed bots for ${chatId}: ${err}`);
690
816
  }
691
- return [...configured, ...observed];
817
+ return configured;
692
818
  }
693
819
  //# sourceMappingURL=client.js.map