@meetquinn/animactl 0.1.5 → 0.1.6-canary.178.1.b6b4e8f

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 (123) hide show
  1. package/dist/server/feishu/client.d.ts +15 -2
  2. package/dist/server/feishu/client.d.ts.map +1 -1
  3. package/dist/server/feishu/client.js +34 -0
  4. package/dist/server/feishu/events.d.ts.map +1 -1
  5. package/dist/server/feishu/events.js +32 -14
  6. package/dist/server/feishu/markdown-to-feishu-post.d.ts +33 -0
  7. package/dist/server/feishu/markdown-to-feishu-post.d.ts.map +1 -0
  8. package/dist/server/feishu/markdown-to-feishu-post.js +165 -0
  9. package/dist/server/feishu/message-content.d.ts +18 -0
  10. package/dist/server/feishu/message-content.d.ts.map +1 -0
  11. package/dist/server/feishu/message-content.js +81 -0
  12. package/dist/server/messages/message.projection.js +6 -0
  13. package/dist/server/runtime/delivery-prompt.d.ts.map +1 -1
  14. package/dist/server/runtime/delivery-prompt.js +2 -1
  15. package/dist/server/storage/schema/wake-queue.store.d.ts +7 -0
  16. package/dist/server/storage/schema/wake-queue.store.d.ts.map +1 -1
  17. package/dist/server/tests/feishu-processing-reaction.test.js +12 -0
  18. package/dist/server/tests/feishu.test.js +135 -14
  19. package/dist/server/tools/feishu-transcript.d.ts.map +1 -1
  20. package/dist/server/tools/feishu-transcript.js +20 -44
  21. package/dist/server/tools/messages.d.ts.map +1 -1
  22. package/dist/server/tools/messages.js +6 -4
  23. package/dist/shared/inbox.d.ts +23 -1
  24. package/dist/shared/inbox.d.ts.map +1 -1
  25. package/dist/shared/inbox.js +3 -1
  26. package/dist/web/assets/activity-B4OJwnP3.js +7 -0
  27. package/dist/web/assets/{arc-Bq-ap94z.js → arc-CgJjs1Mz.js} +1 -1
  28. package/dist/web/assets/architecture-7EHR7CIX-DT1kO6Bc.js +1 -0
  29. package/dist/web/assets/{architectureDiagram-3BPJPVTR-t8drNSRC.js → architectureDiagram-3BPJPVTR-DX05pNcQ.js} +1 -1
  30. package/dist/web/assets/{blockDiagram-GPEHLZMM-DR8owwwr.js → blockDiagram-GPEHLZMM-D-Mludb1.js} +1 -1
  31. package/dist/web/assets/{c4Diagram-AAUBKEIU-BPSIzguF.js → c4Diagram-AAUBKEIU-Bsb0K6vl.js} +1 -1
  32. package/dist/web/assets/channel-Dq4eYvKQ.js +1 -0
  33. package/dist/web/assets/{chunk-2J33WTMH-Co8mLZIL.js → chunk-2J33WTMH-6dBIHha3.js} +1 -1
  34. package/dist/web/assets/{chunk-3OPIFGDE-Dw12raUi.js → chunk-3OPIFGDE-Bqc3pfAk.js} +1 -1
  35. package/dist/web/assets/{chunk-4BX2VUAB-CKY8wz3c.js → chunk-4BX2VUAB-CZ0plHul.js} +1 -1
  36. package/dist/web/assets/{chunk-55IACEB6-yRziqR2X.js → chunk-55IACEB6-Yv1JzgZq.js} +1 -1
  37. package/dist/web/assets/{chunk-5ZQYHXKU-B7px7Cf9.js → chunk-5ZQYHXKU-ByWKqMem.js} +1 -1
  38. package/dist/web/assets/{chunk-727SXJPM-ES9jIHjA.js → chunk-727SXJPM-CK8zARLR.js} +1 -1
  39. package/dist/web/assets/{chunk-AQP2D5EJ-dvPDnAU2.js → chunk-AQP2D5EJ-BYroXC5B.js} +1 -1
  40. package/dist/web/assets/{chunk-BSJP7CBP-DltKnvao.js → chunk-BSJP7CBP-BcQMAxs9.js} +1 -1
  41. package/dist/web/assets/{chunk-CSCIHK7Q-3pfrIzKT.js → chunk-CSCIHK7Q-CCRuWCB9.js} +3 -3
  42. package/dist/web/assets/{chunk-FMBD7UC4-BgQjJpYE.js → chunk-FMBD7UC4-BMhbhPc_.js} +1 -1
  43. package/dist/web/assets/{chunk-KSCS5N6A-B1O-rUSG.js → chunk-KSCS5N6A-J3Q4NOwx.js} +1 -1
  44. package/dist/web/assets/{chunk-L5ZTLDWV-C67PfGbV.js → chunk-L5ZTLDWV-BOS7d14S.js} +1 -1
  45. package/dist/web/assets/{chunk-LZXEDZCA-B14hRkIS.js → chunk-LZXEDZCA-CwK_uG2G.js} +2 -2
  46. package/dist/web/assets/{chunk-ND2GUHAM-sYz_EpRL.js → chunk-ND2GUHAM-DYJIwnjb.js} +1 -1
  47. package/dist/web/assets/{chunk-NZK2D7GU-CLPku5Kv.js → chunk-NZK2D7GU-DBfJbGzg.js} +1 -1
  48. package/dist/web/assets/{chunk-O5CBEL6O-C2OO7Ssv.js → chunk-O5CBEL6O-BT_cb43i.js} +1 -1
  49. package/dist/web/assets/chunk-QZHKN3VN-BHdrmoTT.js +1 -0
  50. package/dist/web/assets/chunk-WU5MYG2G-DDfHagP8.js +1 -0
  51. package/dist/web/assets/{chunk-XPW4576I-DCvCOr3M.js → chunk-XPW4576I-BfTb7X-k.js} +1 -1
  52. package/dist/web/assets/classDiagram-4FO5ZUOK-EliXg_Ep.js +1 -0
  53. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-EliXg_Ep.js +1 -0
  54. package/dist/web/assets/{clipboard-C0sMuar0.js → clipboard-CXudDRSe.js} +1 -1
  55. package/dist/web/assets/{cose-bilkent-S5V4N54A-BZRJ4Jzy.js → cose-bilkent-S5V4N54A-CQhFUQ5D.js} +1 -1
  56. package/dist/web/assets/{dagre-BM42HDAG-8ihJGwzN.js → dagre-BM42HDAG-Cg7Li6TZ.js} +1 -1
  57. package/dist/web/assets/{diagram-2AECGRRQ-D2pIyh4W.js → diagram-2AECGRRQ-Bt8WwwG2.js} +1 -1
  58. package/dist/web/assets/{diagram-5GNKFQAL-C3en9YXC.js → diagram-5GNKFQAL-B4aKVe-O.js} +1 -1
  59. package/dist/web/assets/{diagram-KO2AKTUF-Dee0kaUI.js → diagram-KO2AKTUF-DgqsYMpc.js} +1 -1
  60. package/dist/web/assets/{diagram-LMA3HP47-Dzgkv6tA.js → diagram-LMA3HP47-BoL19Yv5.js} +1 -1
  61. package/dist/web/assets/{diagram-OG6HWLK6-Ave__fK2.js → diagram-OG6HWLK6-CyDXkt3B.js} +1 -1
  62. package/dist/web/assets/{dist--6OkHJI9.js → dist-CPSyhEnI.js} +1 -1
  63. package/dist/web/assets/{erDiagram-TEJ5UH35-CWJN2-tQ.js → erDiagram-TEJ5UH35-BBy2TqSC.js} +1 -1
  64. package/dist/web/assets/eventmodeling-FCH6USID-DB0pvw2x.js +1 -0
  65. package/dist/web/assets/{file-text-BK8U-C4x.js → file-text-BEUVQjYd.js} +1 -1
  66. package/dist/web/assets/{flowDiagram-I6XJVG4X-hHMpBiLU.js → flowDiagram-I6XJVG4X-CPH9NwnF.js} +1 -1
  67. package/dist/web/assets/{ganttDiagram-6RSMTGT7-BNGJdAUM.js → ganttDiagram-6RSMTGT7-DpVc_Nge.js} +1 -1
  68. package/dist/web/assets/gitGraph-WXDBUCRP-BQhZBd8e.js +1 -0
  69. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-jj9z0o-I.js → gitGraphDiagram-PVQCEYII-X3xT0XYM.js} +1 -1
  70. package/dist/web/assets/{index-DuZLxlts.js → index-BLCvi8UP.js} +2 -2
  71. package/dist/web/assets/info-J43DQDTF-B9YnVpsL.js +1 -0
  72. package/dist/web/assets/{infoDiagram-5YYISTIA-FNnONIvQ.js → infoDiagram-5YYISTIA-BgIZ3cTo.js} +1 -1
  73. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-DjWsSmof.js → ishikawaDiagram-YF4QCWOH-DGGIcHxT.js} +1 -1
  74. package/dist/web/assets/{journeyDiagram-JHISSGLW-B6ywrGOO.js → journeyDiagram-JHISSGLW-29KvSTfj.js} +1 -1
  75. package/dist/web/assets/{kanban-definition-UN3LZRKU-CNQDx5Xd.js → kanban-definition-UN3LZRKU-0cJjZJ4H.js} +1 -1
  76. package/dist/web/assets/katex-FN5Pcbwv.js +1 -0
  77. package/dist/web/assets/{kb-D01wLh0T.js → kb-DUI-dkvk.js} +10 -10
  78. package/dist/web/assets/{line-CaHt4eNS.js → line-nlywd2qi.js} +1 -1
  79. package/dist/web/assets/{linear-T0bpnKBd.js → linear-02wgkeKe.js} +1 -1
  80. package/dist/web/assets/{mermaid-parser.core-DovFxha1.js → mermaid-parser.core-DjqcOAHA.js} +2 -2
  81. package/dist/web/assets/{mermaid.core-BApZkfAm.js → mermaid.core-CNUFKED5.js} +3 -3
  82. package/dist/web/assets/{mindmap-definition-RKZ34NQL-BKnf57gR.js → mindmap-definition-RKZ34NQL-QIHhR4-s.js} +1 -1
  83. package/dist/web/assets/packet-YPE3B663-C8sJqBG3.js +1 -0
  84. package/dist/web/assets/pie-LRSECV5Y-CPdDAoVs.js +1 -0
  85. package/dist/web/assets/{pieDiagram-4H26LBE5-Dc3LirDD.js → pieDiagram-4H26LBE5-C1qG92-A.js} +1 -1
  86. package/dist/web/assets/profile-BZzzRdY3.js +1 -0
  87. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-CNCuEUat.js → quadrantDiagram-W4KKPZXB-DwTJjUzw.js} +1 -1
  88. package/dist/web/assets/radar-GUYGQ44K-CU1SYt4t.js +1 -0
  89. package/dist/web/assets/{reminders-uYqExOOq.js → reminders-P3JN1m3w.js} +1 -1
  90. package/dist/web/assets/{requirementDiagram-4Y6WPE33-nDm5DU62.js → requirementDiagram-4Y6WPE33-9eavvD4H.js} +1 -1
  91. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-Br3-NhNM.js → sankeyDiagram-5OEKKPKP-BlHTJdNW.js} +1 -1
  92. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-CxtVtgnc.js → sequenceDiagram-3UESZ5HK-DPlUGZcQ.js} +1 -1
  93. package/dist/web/assets/{src-Dj_Q9HRB.js → src-qcqv7H0T.js} +1 -1
  94. package/dist/web/assets/{stateDiagram-AJRCARHV-V1ciPLdQ.js → stateDiagram-AJRCARHV-DdQ1LmEo.js} +1 -1
  95. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DRcHu2Yx.js +1 -0
  96. package/dist/web/assets/{timeline-definition-PNZ67QCA-DCwFkWHv.js → timeline-definition-PNZ67QCA-CwQL43iL.js} +1 -1
  97. package/dist/web/assets/treeView-BLDUP644-ZolFQtHt.js +1 -0
  98. package/dist/web/assets/treemap-LRROVOQU-Dr7GKZtp.js +1 -0
  99. package/dist/web/assets/{vennDiagram-CIIHVFJN-Cgp-V4M6.js → vennDiagram-CIIHVFJN-BHVycGCG.js} +1 -1
  100. package/dist/web/assets/wardley-L42UT6IY-Bw7qw1Pw.js +1 -0
  101. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-DLFZVmUE.js → wardleyDiagram-YWT4CUSO-Cxcs7nNB.js} +1 -1
  102. package/dist/web/assets/{xychartDiagram-2RQKCTM6-DbAVAe1y.js → xychartDiagram-2RQKCTM6-DylLURsE.js} +1 -1
  103. package/dist/web/index.html +1 -1
  104. package/package.json +1 -1
  105. package/dist/web/assets/activity-kje4ts5R.js +0 -7
  106. package/dist/web/assets/architecture-7EHR7CIX-CqAPN6oJ.js +0 -1
  107. package/dist/web/assets/channel-DimUZ2zE.js +0 -1
  108. package/dist/web/assets/chunk-QZHKN3VN-BpdTaHkN.js +0 -1
  109. package/dist/web/assets/chunk-WU5MYG2G-C6gdqv9X.js +0 -1
  110. package/dist/web/assets/classDiagram-4FO5ZUOK-HsCEyoHK.js +0 -1
  111. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-HsCEyoHK.js +0 -1
  112. package/dist/web/assets/eventmodeling-FCH6USID-Z45912nw.js +0 -1
  113. package/dist/web/assets/gitGraph-WXDBUCRP-DMmcyfIb.js +0 -1
  114. package/dist/web/assets/info-J43DQDTF-r6NlxeWh.js +0 -1
  115. package/dist/web/assets/katex-DWeCakCI.js +0 -1
  116. package/dist/web/assets/packet-YPE3B663-CvG9YA9T.js +0 -1
  117. package/dist/web/assets/pie-LRSECV5Y-BQlUFUbz.js +0 -1
  118. package/dist/web/assets/profile-gaKf76nc.js +0 -1
  119. package/dist/web/assets/radar-GUYGQ44K-CmlM6a2X.js +0 -1
  120. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Dmy0oX9c.js +0 -1
  121. package/dist/web/assets/treeView-BLDUP644-CSk2l7ql.js +0 -1
  122. package/dist/web/assets/treemap-LRROVOQU-ByHPkuSm.js +0 -1
  123. package/dist/web/assets/wardley-L42UT6IY-BLWHOwEu.js +0 -1
@@ -2,6 +2,7 @@ import * as lark from '@larksuiteoapi/node-sdk';
2
2
  import type { Readable } from 'node:stream';
3
3
  import type { FeishuConfig } from '../../shared/agent-config.js';
4
4
  import type { FeishuMessageResourceType } from './feishu-file.service.js';
5
+ import type { FeishuPostContent } from './markdown-to-feishu-post.js';
5
6
  export declare const FEISHU_OPEN_API_BASE_URL = "https://open.feishu.cn/open-apis";
6
7
  export type FeishuReceiveIdType = 'chat_id' | 'open_id';
7
8
  export type FeishuTextSendInput = {
@@ -17,6 +18,16 @@ export interface FeishuTextReplyInput {
17
18
  replyInThread: boolean;
18
19
  text: string;
19
20
  }
21
+ export type FeishuPostSendInput = {
22
+ receiveId: string;
23
+ receiveIdType: FeishuReceiveIdType;
24
+ content: FeishuPostContent;
25
+ };
26
+ export interface FeishuPostReplyInput {
27
+ messageId: string;
28
+ replyInThread: boolean;
29
+ content: FeishuPostContent;
30
+ }
20
31
  export interface FeishuTextSendResult {
21
32
  chatId?: string;
22
33
  messageId?: string;
@@ -103,8 +114,10 @@ export interface FeishuMessageClient {
103
114
  listMessages(input: FeishuMessageListInput): Promise<FeishuMessageListResult>;
104
115
  removeReaction(input: FeishuReactionRemoveInput): Promise<void>;
105
116
  replyText(input: FeishuTextReplyInput): Promise<FeishuTextSendResult>;
117
+ replyPost(input: FeishuPostReplyInput): Promise<FeishuTextSendResult>;
106
118
  sendUploadedFile(input: FeishuFileSendInput): Promise<FeishuTextSendResult>;
107
119
  sendText(input: FeishuTextSendInput): Promise<FeishuTextSendResult>;
120
+ sendPost(input: FeishuPostSendInput): Promise<FeishuTextSendResult>;
108
121
  uploadFile(input: FeishuFileUploadInput): Promise<FeishuUploadedFile>;
109
122
  }
110
123
  export interface FeishuTenantAccessToken {
@@ -157,7 +170,7 @@ interface FeishuTenantAccessTokenDeps {
157
170
  interface FeishuSdkMessageCreateInput {
158
171
  data: {
159
172
  content: string;
160
- msg_type: 'file' | 'image' | 'text';
173
+ msg_type: 'file' | 'image' | 'post' | 'text';
161
174
  receive_id: string;
162
175
  };
163
176
  params: {
@@ -167,7 +180,7 @@ interface FeishuSdkMessageCreateInput {
167
180
  interface FeishuSdkMessageReplyInput {
168
181
  data: {
169
182
  content: string;
170
- msg_type: 'file' | 'image' | 'text';
183
+ msg_type: 'file' | 'image' | 'post' | 'text';
171
184
  reply_in_thread: boolean;
172
185
  };
173
186
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../server/feishu/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../server/feishu/client.ts"],"names":[],"mappings":"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"}
@@ -198,6 +198,23 @@ export function createFeishuMessageClient(config, deps = {}) {
198
198
  ...(response.data?.thread_id ? { threadId: response.data.thread_id } : {}),
199
199
  };
200
200
  },
201
+ async replyPost(input) {
202
+ const response = await client.im.message.reply({
203
+ data: {
204
+ content: JSON.stringify(input.content),
205
+ msg_type: 'post',
206
+ reply_in_thread: input.replyInThread,
207
+ },
208
+ path: {
209
+ message_id: input.messageId,
210
+ },
211
+ });
212
+ return {
213
+ ...(response.data?.chat_id ? { chatId: response.data.chat_id } : {}),
214
+ ...(response.data?.message_id ? { messageId: response.data.message_id } : {}),
215
+ ...(response.data?.thread_id ? { threadId: response.data.thread_id } : {}),
216
+ };
217
+ },
201
218
  async sendUploadedFile(input) {
202
219
  const msgType = input.file.kind;
203
220
  const content = input.file.kind === 'image'
@@ -248,6 +265,23 @@ export function createFeishuMessageClient(config, deps = {}) {
248
265
  ...(response.data?.thread_id ? { threadId: response.data.thread_id } : {}),
249
266
  };
250
267
  },
268
+ async sendPost(input) {
269
+ const response = await client.im.message.create({
270
+ data: {
271
+ content: JSON.stringify(input.content),
272
+ msg_type: 'post',
273
+ receive_id: input.receiveId,
274
+ },
275
+ params: {
276
+ receive_id_type: input.receiveIdType,
277
+ },
278
+ });
279
+ return {
280
+ ...(response.data?.chat_id ? { chatId: response.data.chat_id } : {}),
281
+ ...(response.data?.message_id ? { messageId: response.data.message_id } : {}),
282
+ ...(response.data?.thread_id ? { threadId: response.data.thread_id } : {}),
283
+ };
284
+ },
251
285
  };
252
286
  }
253
287
  function feishuSdkClient(config, deps) {
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../server/feishu/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;YACf,EAAE,EAAE;gBACF,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;YACF,GAAG,EAAE,MAAM,CAAC;YACZ,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,EAAE;QACN,SAAS,CAAC,EAAE;YACV,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,yBAAyB,GAAG,SAAS,CAOtG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,yBAAyB,CAAC;CAClC,GAAG,eAAe,GAAG,SAAS,CA8B9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAGrG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAItG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAET"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../server/feishu/events.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AAE5E,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;YACf,EAAE,EAAE;gBACF,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;YACF,GAAG,EAAE,MAAM,CAAC;YACZ,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,EAAE;QACN,SAAS,CAAC,EAAE;YACV,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,yBAAyB,GAAG,SAAS,CAOtG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,yBAAyB,CAAC;CAClC,GAAG,eAAe,GAAG,SAAS,CAiC9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAGrG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAItG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAET"}
@@ -1,4 +1,5 @@
1
1
  import { nowIso } from '../ids.js';
2
+ import { feishuMessageAttachmentsFromContent, parseFeishuContent, } from './message-content.js';
2
3
  export function feishuReceiveMessageEventFromData(data) {
3
4
  if (isFeishuReceiveMessageEvent(data))
4
5
  return data;
@@ -10,8 +11,10 @@ export function feishuReceiveMessageEventFromData(data) {
10
11
  return undefined;
11
12
  }
12
13
  export function normalizeFeishuMessage(input) {
13
- const text = feishuTextFromMessage(input.event.message);
14
- if (!text)
14
+ const parsedContent = parseFeishuContent(input.event.message.content);
15
+ const files = feishuFilesFromMessage(input.event.message, parsedContent);
16
+ const text = feishuTextFromMessage(input.event.message, parsedContent) ?? feishuAttachmentText(files);
17
+ if (!text && !files.length)
15
18
  return undefined;
16
19
  const tenantKey = input.event.tenant_key ?? input.event.sender.tenant_key;
17
20
  const appId = input.event.app_id ?? input.appId;
@@ -21,6 +24,7 @@ export function normalizeFeishuMessage(input) {
21
24
  appId,
22
25
  chatId: input.event.message.chat_id,
23
26
  chatType: input.event.message.chat_type,
27
+ ...(files.length ? { files } : {}),
24
28
  handling: { createdAt: handlingAt, queuedAt: handlingAt, status: 'queued', updatedAt: handlingAt },
25
29
  id: feishuMessageEventId({
26
30
  appId,
@@ -35,7 +39,7 @@ export function normalizeFeishuMessage(input) {
35
39
  receivedAt: feishuTimestampToIso(input.event.message.create_time),
36
40
  ...(input.event.message.root_id ? { rootId: input.event.message.root_id } : {}),
37
41
  ...(tenantKey ? { tenantKey } : {}),
38
- text,
42
+ text: text ?? '',
39
43
  ...(input.event.message.thread_id ? { threadId: input.event.message.thread_id } : {}),
40
44
  };
41
45
  return result;
@@ -68,25 +72,39 @@ function feishuActor(event) {
68
72
  ...(senderId?.user_id ? { userId: senderId.user_id } : {}),
69
73
  };
70
74
  }
71
- function feishuTextFromMessage(message) {
75
+ function feishuTextFromMessage(message, parsed) {
72
76
  if (message.message_type !== 'text')
73
77
  return undefined;
74
- const parsed = parseFeishuContent(message.content);
75
78
  const rawText = typeof parsed?.['text'] === 'string' ? parsed['text'] : undefined;
76
79
  if (!rawText?.trim())
77
80
  return undefined;
78
81
  return replaceFeishuMentionKeys(rawText, message.mentions ?? []);
79
82
  }
80
- function parseFeishuContent(content) {
81
- try {
82
- const parsed = JSON.parse(content);
83
- return parsed && typeof parsed === 'object' && !Array.isArray(parsed)
84
- ? parsed
85
- : undefined;
86
- }
87
- catch {
83
+ function feishuFilesFromMessage(message, parsed) {
84
+ return feishuMessageAttachmentsFromContent({
85
+ content: parsed,
86
+ messageId: message.message_id,
87
+ messageType: message.message_type,
88
+ }).map(inboxFileMeta);
89
+ }
90
+ function inboxFileMeta(file) {
91
+ return {
92
+ id: file.fileId,
93
+ mimetype: file.mimetype,
94
+ name: file.name,
95
+ sizeBytes: file.sizeBytes ?? 0,
96
+ };
97
+ }
98
+ function feishuAttachmentText(files) {
99
+ if (!files.length)
88
100
  return undefined;
89
- }
101
+ if (files.length > 1)
102
+ return `[${files.length} attachments]`;
103
+ const file = files[0];
104
+ if (!file)
105
+ return undefined;
106
+ const kind = file.id.includes(':image:') ? 'image' : 'file';
107
+ return `[${kind}] ${file.name}`;
90
108
  }
91
109
  function replaceFeishuMentionKeys(text, mentions) {
92
110
  let result = text;
@@ -0,0 +1,33 @@
1
+ export type FeishuPostInlineItem = {
2
+ tag: 'text';
3
+ text: string;
4
+ style?: string[];
5
+ } | {
6
+ tag: 'a';
7
+ text: string;
8
+ href: string;
9
+ } | {
10
+ tag: 'code_block';
11
+ language: string;
12
+ text: string;
13
+ };
14
+ export type FeishuPostParagraph = FeishuPostInlineItem[];
15
+ export interface FeishuPostContent {
16
+ zh_cn: {
17
+ title: string;
18
+ content: FeishuPostParagraph[];
19
+ };
20
+ }
21
+ /**
22
+ * Converts a Markdown string to Feishu's "post" rich-text format.
23
+ *
24
+ * Supported constructs:
25
+ * - Fenced code blocks (``` … ```)
26
+ * - Headings (# / ## / ###) → bold text paragraph
27
+ * - Bullet lists (- / *)
28
+ * - Numbered lists (1. / 2. …)
29
+ * - Inline bold, italic, inline-code, links
30
+ * - Empty lines → empty paragraph separator
31
+ */
32
+ export declare function markdownToFeishuPost(text: string): FeishuPostContent;
33
+ //# sourceMappingURL=markdown-to-feishu-post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-to-feishu-post.d.ts","sourceRoot":"","sources":["../../../server/feishu/markdown-to-feishu-post.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/C;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,GAAG,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,EAAE,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,mBAAmB,EAAE,CAAC;KAChC,CAAC;CACH;AAqFD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAsFpE"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Parses inline Markdown spans within a single line of text and returns an
3
+ * array of FeishuPostInlineItem values. Patterns handled (left-to-right,
4
+ * greedy, `**` before `*`):
5
+ * **text** / __text__ → bold text
6
+ * *text* / _text_ → italic text
7
+ * `code` → inline_code text
8
+ * [text](url) → link
9
+ */
10
+ function parseInline(line) {
11
+ const items = [];
12
+ let i = 0;
13
+ while (i < line.length) {
14
+ const ch = line[i];
15
+ // ---- bold: **text** or __text__ ----
16
+ if ((ch === '*' && line[i + 1] === '*') ||
17
+ (ch === '_' && line[i + 1] === '_')) {
18
+ const delim = line.slice(i, i + 2);
19
+ const end = line.indexOf(delim, i + 2);
20
+ if (end !== -1) {
21
+ const text = line.slice(i + 2, end);
22
+ items.push({ tag: 'text', text, style: ['bold'] });
23
+ i = end + 2;
24
+ continue;
25
+ }
26
+ }
27
+ // ---- inline code: `code` ----
28
+ if (ch === '`') {
29
+ const end = line.indexOf('`', i + 1);
30
+ if (end !== -1) {
31
+ const text = line.slice(i + 1, end);
32
+ items.push({ tag: 'text', text, style: ['inline_code'] });
33
+ i = end + 1;
34
+ continue;
35
+ }
36
+ }
37
+ // ---- link: [text](url) ----
38
+ if (ch === '[') {
39
+ const closeBracket = line.indexOf(']', i + 1);
40
+ if (closeBracket !== -1 && line[closeBracket + 1] === '(') {
41
+ const closeParen = line.indexOf(')', closeBracket + 2);
42
+ if (closeParen !== -1) {
43
+ const text = line.slice(i + 1, closeBracket);
44
+ const href = line.slice(closeBracket + 2, closeParen);
45
+ items.push({ tag: 'a', text, href });
46
+ i = closeParen + 1;
47
+ continue;
48
+ }
49
+ }
50
+ }
51
+ // ---- italic: *text* or _text_ (single delimiter) ----
52
+ if (ch === '*' || ch === '_') {
53
+ const end = line.indexOf(ch, i + 1);
54
+ if (end !== -1) {
55
+ const text = line.slice(i + 1, end);
56
+ items.push({ tag: 'text', text, style: ['italic'] });
57
+ i = end + 1;
58
+ continue;
59
+ }
60
+ }
61
+ // ---- plain text: accumulate until the next possible span opener ----
62
+ let j = i + 1;
63
+ while (j < line.length) {
64
+ const next = line[j];
65
+ if (next === '*' || next === '_' || next === '`' || next === '[')
66
+ break;
67
+ j++;
68
+ }
69
+ const text = line.slice(i, j);
70
+ if (text)
71
+ items.push({ tag: 'text', text });
72
+ i = j;
73
+ }
74
+ return items;
75
+ }
76
+ /**
77
+ * Converts a Markdown string to Feishu's "post" rich-text format.
78
+ *
79
+ * Supported constructs:
80
+ * - Fenced code blocks (``` … ```)
81
+ * - Headings (# / ## / ###) → bold text paragraph
82
+ * - Bullet lists (- / *)
83
+ * - Numbered lists (1. / 2. …)
84
+ * - Inline bold, italic, inline-code, links
85
+ * - Empty lines → empty paragraph separator
86
+ */
87
+ export function markdownToFeishuPost(text) {
88
+ const paragraphs = [];
89
+ const lines = text.split('\n');
90
+ let i = 0;
91
+ while (i < lines.length) {
92
+ // Safe: guarded by `i < lines.length`
93
+ const line = lines[i];
94
+ // ---- fenced code block ----
95
+ if (/^```/.test(line)) {
96
+ const codeLines = [];
97
+ i++;
98
+ while (i < lines.length && !/^```/.test(lines[i])) {
99
+ codeLines.push(lines[i]);
100
+ i++;
101
+ }
102
+ i++; // consume the closing ```
103
+ paragraphs.push([
104
+ {
105
+ tag: 'code_block',
106
+ language: 'PLAIN_TEXT',
107
+ text: codeLines.join('\n'),
108
+ },
109
+ ]);
110
+ continue;
111
+ }
112
+ // ---- empty line ----
113
+ if (line.trim() === '') {
114
+ paragraphs.push([]);
115
+ i++;
116
+ continue;
117
+ }
118
+ // ---- heading: # / ## / ### ----
119
+ const headingMatch = /^#{1,3} (.+)$/.exec(line);
120
+ if (headingMatch) {
121
+ const headingText = headingMatch[1] ?? '';
122
+ const inlineItems = parseInline(headingText);
123
+ const boldItems = inlineItems.map((item) => {
124
+ if (item.tag === 'text') {
125
+ return { tag: 'text', text: item.text, style: ['bold'] };
126
+ }
127
+ return item;
128
+ });
129
+ paragraphs.push(boldItems);
130
+ i++;
131
+ continue;
132
+ }
133
+ // ---- bullet list: - or * ----
134
+ const bulletMatch = /^[*-] (.*)$/.exec(line);
135
+ if (bulletMatch) {
136
+ const rest = bulletMatch[1] ?? '';
137
+ const bulletItem = { tag: 'text', text: '• ' };
138
+ const inlineItems = parseInline(rest);
139
+ paragraphs.push([bulletItem, ...inlineItems]);
140
+ i++;
141
+ continue;
142
+ }
143
+ // ---- numbered list: 1. / 2. … ----
144
+ const numberedMatch = /^(\d+)\. (.*)$/.exec(line);
145
+ if (numberedMatch) {
146
+ const num = numberedMatch[1] ?? '';
147
+ const rest = numberedMatch[2] ?? '';
148
+ const numItem = { tag: 'text', text: `${num}. ` };
149
+ const inlineItems = parseInline(rest);
150
+ paragraphs.push([numItem, ...inlineItems]);
151
+ i++;
152
+ continue;
153
+ }
154
+ // ---- regular text line ----
155
+ const inlineItems = parseInline(line);
156
+ paragraphs.push(inlineItems);
157
+ i++;
158
+ }
159
+ return {
160
+ zh_cn: {
161
+ title: '',
162
+ content: paragraphs,
163
+ },
164
+ };
165
+ }
@@ -0,0 +1,18 @@
1
+ import { type FeishuMessageResourceType } from './feishu-file.service.js';
2
+ export interface FeishuMessageAttachmentMeta {
3
+ fileId: string;
4
+ fileKey: string;
5
+ messageId: string;
6
+ mimetype: string;
7
+ name: string;
8
+ providedName?: string;
9
+ resourceType: FeishuMessageResourceType;
10
+ sizeBytes?: number;
11
+ }
12
+ export declare function parseFeishuContent(content: string | undefined): Record<string, unknown> | undefined;
13
+ export declare function feishuMessageAttachmentsFromContent(input: {
14
+ content: Record<string, unknown> | undefined;
15
+ messageId: string;
16
+ messageType: string | undefined;
17
+ }): FeishuMessageAttachmentMeta[];
18
+ //# sourceMappingURL=message-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-content.d.ts","sourceRoot":"","sources":["../../../server/feishu/message-content.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,yBAAyB,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAUnG;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,GAAG,2BAA2B,EAAE,CAkChC"}
@@ -0,0 +1,81 @@
1
+ import { feishuMessageResourceId, } from './feishu-file.service.js';
2
+ export function parseFeishuContent(content) {
3
+ if (!content)
4
+ return undefined;
5
+ try {
6
+ const parsed = JSON.parse(content);
7
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed)
8
+ ? parsed
9
+ : undefined;
10
+ }
11
+ catch {
12
+ return undefined;
13
+ }
14
+ }
15
+ export function feishuMessageAttachmentsFromContent(input) {
16
+ if (input.messageType === 'image') {
17
+ const imageKey = stringContentField(input.content, 'image_key');
18
+ if (!imageKey)
19
+ return [];
20
+ return [attachmentMeta({
21
+ fileKey: imageKey,
22
+ messageId: input.messageId,
23
+ mimetype: stringContentField(input.content, 'mime_type')
24
+ ?? stringContentField(input.content, 'mimetype')
25
+ ?? 'image/*',
26
+ name: fallbackFeishuResourceName('image', input.messageId),
27
+ resourceType: 'image',
28
+ sizeBytes: feishuFileSize(input.content),
29
+ })];
30
+ }
31
+ if (input.messageType === 'file') {
32
+ const fileKey = stringContentField(input.content, 'file_key');
33
+ if (!fileKey)
34
+ return [];
35
+ const providedName = stringContentField(input.content, 'file_name');
36
+ return [attachmentMeta({
37
+ fileKey,
38
+ messageId: input.messageId,
39
+ mimetype: stringContentField(input.content, 'mime_type')
40
+ ?? stringContentField(input.content, 'mimetype')
41
+ ?? 'application/octet-stream',
42
+ name: providedName ?? fallbackFeishuResourceName('file', input.messageId),
43
+ ...(providedName ? { providedName } : {}),
44
+ resourceType: 'file',
45
+ sizeBytes: feishuFileSize(input.content),
46
+ })];
47
+ }
48
+ return [];
49
+ }
50
+ function attachmentMeta(input) {
51
+ return {
52
+ fileId: feishuMessageResourceId({
53
+ fileKey: input.fileKey,
54
+ messageId: input.messageId,
55
+ resourceType: input.resourceType,
56
+ }),
57
+ fileKey: input.fileKey,
58
+ messageId: input.messageId,
59
+ mimetype: input.mimetype,
60
+ name: input.name,
61
+ ...(input.providedName ? { providedName: input.providedName } : {}),
62
+ resourceType: input.resourceType,
63
+ ...(input.sizeBytes !== undefined ? { sizeBytes: input.sizeBytes } : {}),
64
+ };
65
+ }
66
+ function stringContentField(content, field) {
67
+ const value = content?.[field];
68
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
69
+ }
70
+ function feishuFileSize(content) {
71
+ const candidates = [content?.['file_size'], content?.['size'], content?.['size_bytes']];
72
+ const numeric = candidates.find((value) => typeof value === 'number' && Number.isFinite(value));
73
+ if (numeric !== undefined)
74
+ return numeric;
75
+ const stringValue = candidates.find((value) => typeof value === 'string' && value.length > 0);
76
+ const parsed = stringValue === undefined ? Number.NaN : Number(stringValue);
77
+ return Number.isFinite(parsed) ? parsed : undefined;
78
+ }
79
+ function fallbackFeishuResourceName(kind, messageId) {
80
+ return `${kind}-${messageId}`;
81
+ }
@@ -109,6 +109,12 @@ function feishuInboxMessage(item) {
109
109
  channelId: item.chatId,
110
110
  channelKind: item.chatType,
111
111
  direction: 'in',
112
+ ...(item.files?.length ? { files: item.files.map((file) => ({
113
+ filename: file.name,
114
+ fileId: file.id,
115
+ mimetype: file.mimetype,
116
+ sizeBytes: file.sizeBytes,
117
+ })) } : {}),
112
118
  kind: 'message',
113
119
  messageId: messageIdForInboxItem(item),
114
120
  messageTs: item.messageId,
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-prompt.d.ts","sourceRoot":"","sources":["../../../server/runtime/delivery-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,SAAS,EAGV,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CA6B3G;AA8FD,wBAAgB,6CAA6C,IAAI,MAAM,CAKtE;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAQT"}
1
+ {"version":3,"file":"delivery-prompt.d.ts","sourceRoot":"","sources":["../../../server/runtime/delivery-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,SAAS,EAIV,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,GAAE,sBAA2B,GAAG,MAAM,CA6B3G;AA+FD,wBAAgB,6CAA6C,IAAI,MAAM,CAKtE;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAQT"}
@@ -57,6 +57,7 @@ function buildFeishuDeliveryPrompt(event) {
57
57
  const envelope = `${feishuMessageEnvelope(event)} ${feishuActorLabel(event)}: ${event.text}`;
58
58
  return [
59
59
  `New Feishu message:\n\n${envelope}`,
60
+ formatAttachedFiles(event.files),
60
61
  [
61
62
  'Reply target:',
62
63
  `Use \`anima message send --channel ${event.chatId}\` to post back to this Feishu chat.`,
@@ -64,7 +65,7 @@ function buildFeishuDeliveryPrompt(event) {
64
65
  'Use `anima message send --channel <chat_id>` to send to an explicit Feishu chat.',
65
66
  'Feishu API access: use `FEISHU_TENANT_ACCESS_TOKEN`, `FEISHU_APP_ID`, `FEISHU_APP_SECRET`, and `FEISHU_API_BASE_URL` from env when you need Feishu APIs. Do not print these values.',
66
67
  ].join('\n'),
67
- ].join('\n\n');
68
+ ].filter(Boolean).join('\n\n');
68
69
  }
69
70
  function buildFeishuOnboardingDeliveryPrompt(event) {
70
71
  return `Agent onboarding:
@@ -93,6 +93,13 @@ export declare const WakeQueueFileSchema: z.ZodPreprocess<z.ZodRecord<z.ZodStrin
93
93
  appId: z.ZodOptional<z.ZodString>;
94
94
  chatId: z.ZodString;
95
95
  chatType: z.ZodString;
96
+ files: z.ZodOptional<z.ZodArray<z.ZodObject<{
97
+ downloadError: z.ZodOptional<z.ZodString>;
98
+ id: z.ZodString;
99
+ mimetype: z.ZodString;
100
+ name: z.ZodString;
101
+ sizeBytes: z.ZodNumber;
102
+ }, z.core.$strip>>>;
96
103
  kind: z.ZodLiteral<"feishu">;
97
104
  messageId: z.ZodString;
98
105
  parentId: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"wake-queue.store.d.ts","sourceRoot":"","sources":["../../../../server/storage/schema/wake-queue.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wake-queue.store.d.ts","sourceRoot":"","sources":["../../../../server/storage/schema/wake-queue.store.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,12 @@ function fakeFeishuClient() {
40
40
  async replyText() {
41
41
  return {};
42
42
  },
43
+ async replyPost() {
44
+ return {};
45
+ },
46
+ async sendPost() {
47
+ return {};
48
+ },
43
49
  async sendUploadedFile() {
44
50
  return {};
45
51
  },
@@ -107,6 +113,12 @@ test('feishu processing reaction add swallows client errors', async () => {
107
113
  async replyText() {
108
114
  return {};
109
115
  },
116
+ async replyPost() {
117
+ return {};
118
+ },
119
+ async sendPost() {
120
+ return {};
121
+ },
110
122
  async sendUploadedFile() {
111
123
  return {};
112
124
  },