botmux 3.18.6 → 3.18.7

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 (239) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/adapters/backend/riff-backend.d.ts +158 -0
  3. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/riff-backend.js +330 -7
  5. package/dist/adapters/backend/riff-backend.js.map +1 -1
  6. package/dist/adapters/backend/sandbox.d.ts +42 -0
  7. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  8. package/dist/adapters/backend/sandbox.js +95 -5
  9. package/dist/adapters/backend/sandbox.js.map +1 -1
  10. package/dist/adapters/cli/codex-app.d.ts.map +1 -1
  11. package/dist/adapters/cli/codex-app.js +2 -1
  12. package/dist/adapters/cli/codex-app.js.map +1 -1
  13. package/dist/adapters/cli/dsh.d.ts.map +1 -1
  14. package/dist/adapters/cli/dsh.js +2 -1
  15. package/dist/adapters/cli/dsh.js.map +1 -1
  16. package/dist/adapters/cli/mir.d.ts.map +1 -1
  17. package/dist/adapters/cli/mir.js +2 -1
  18. package/dist/adapters/cli/mir.js.map +1 -1
  19. package/dist/adapters/cli/mira.d.ts.map +1 -1
  20. package/dist/adapters/cli/mira.js +2 -1
  21. package/dist/adapters/cli/mira.js.map +1 -1
  22. package/dist/adapters/hook-command.d.ts +3 -5
  23. package/dist/adapters/hook-command.d.ts.map +1 -1
  24. package/dist/adapters/hook-command.js +59 -13
  25. package/dist/adapters/hook-command.js.map +1 -1
  26. package/dist/autostart.d.ts +76 -0
  27. package/dist/autostart.d.ts.map +1 -1
  28. package/dist/autostart.js +105 -28
  29. package/dist/autostart.js.map +1 -1
  30. package/dist/bot-registry.d.ts +12 -0
  31. package/dist/bot-registry.d.ts.map +1 -1
  32. package/dist/bot-registry.js +43 -3
  33. package/dist/bot-registry.js.map +1 -1
  34. package/dist/cli/dashboard-command.d.ts +142 -0
  35. package/dist/cli/dashboard-command.d.ts.map +1 -1
  36. package/dist/cli/dashboard-command.js +160 -0
  37. package/dist/cli/dashboard-command.js.map +1 -1
  38. package/dist/cli/dashboard-endpoint.d.ts +66 -0
  39. package/dist/cli/dashboard-endpoint.d.ts.map +1 -1
  40. package/dist/cli/dashboard-endpoint.js +144 -30
  41. package/dist/cli/dashboard-endpoint.js.map +1 -1
  42. package/dist/cli/send-dispatch.d.ts +2 -0
  43. package/dist/cli/send-dispatch.d.ts.map +1 -1
  44. package/dist/cli/send-dispatch.js +8 -2
  45. package/dist/cli/send-dispatch.js.map +1 -1
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +270 -38
  48. package/dist/cli.js.map +1 -1
  49. package/dist/core/binary-self-update.d.ts +7 -0
  50. package/dist/core/binary-self-update.d.ts.map +1 -1
  51. package/dist/core/binary-self-update.js +17 -0
  52. package/dist/core/binary-self-update.js.map +1 -1
  53. package/dist/core/command-handler.d.ts.map +1 -1
  54. package/dist/core/command-handler.js +52 -1
  55. package/dist/core/command-handler.js.map +1 -1
  56. package/dist/core/cost-calculator.d.ts +9 -1
  57. package/dist/core/cost-calculator.d.ts.map +1 -1
  58. package/dist/core/cost-calculator.js +5 -0
  59. package/dist/core/cost-calculator.js.map +1 -1
  60. package/dist/core/passthrough-commands.d.ts.map +1 -1
  61. package/dist/core/passthrough-commands.js +1 -1
  62. package/dist/core/passthrough-commands.js.map +1 -1
  63. package/dist/core/self-spawn.d.ts +46 -1
  64. package/dist/core/self-spawn.d.ts.map +1 -1
  65. package/dist/core/self-spawn.js +57 -0
  66. package/dist/core/self-spawn.js.map +1 -1
  67. package/dist/core/worker-pool.d.ts.map +1 -1
  68. package/dist/core/worker-pool.js +81 -5
  69. package/dist/core/worker-pool.js.map +1 -1
  70. package/dist/daemon.d.ts.map +1 -1
  71. package/dist/daemon.js +93 -0
  72. package/dist/daemon.js.map +1 -1
  73. package/dist/dashboard/autostart-api.d.ts.map +1 -1
  74. package/dist/dashboard/autostart-api.js +16 -3
  75. package/dist/dashboard/autostart-api.js.map +1 -1
  76. package/dist/dashboard/bot-onboarding.d.ts +2 -1
  77. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  78. package/dist/dashboard/bot-onboarding.js +22 -6
  79. package/dist/dashboard/bot-onboarding.js.map +1 -1
  80. package/dist/dashboard/bot-payload.d.ts +1 -0
  81. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  82. package/dist/dashboard/bot-payload.js +3 -0
  83. package/dist/dashboard/bot-payload.js.map +1 -1
  84. package/dist/dashboard/connector-api.d.ts.map +1 -1
  85. package/dist/dashboard/connector-api.js +28 -0
  86. package/dist/dashboard/connector-api.js.map +1 -1
  87. package/dist/dashboard/trigger-api.d.ts.map +1 -1
  88. package/dist/dashboard/trigger-api.js +33 -21
  89. package/dist/dashboard/trigger-api.js.map +1 -1
  90. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  91. package/dist/dashboard/web/bot-defaults-page.js +12 -2
  92. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  93. package/dist/dashboard/web/bot-defaults.d.ts +2 -0
  94. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  95. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  96. package/dist/dashboard/web/bot-onboarding.d.ts +40 -1
  97. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  98. package/dist/dashboard/web/bot-onboarding.js +52 -2
  99. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  100. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  101. package/dist/dashboard/web/i18n.js +2 -0
  102. package/dist/dashboard/web/i18n.js.map +1 -1
  103. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  104. package/dist/dashboard/webhook-routes.js +272 -30
  105. package/dist/dashboard/webhook-routes.js.map +1 -1
  106. package/dist/dashboard-web/app.js +1 -1
  107. package/dist/dashboard-web/chunks/{agent-workbench-dock-page-XHJUYFGN.js → agent-workbench-dock-page-6LC422N6.js} +1 -1
  108. package/dist/dashboard-web/chunks/{agent-workbench-page-FLKTLIRM.js → agent-workbench-page-RSAWY7O2.js} +1 -1
  109. package/dist/dashboard-web/chunks/{bot-defaults-page-XMGLZZ2E.js → bot-defaults-page-67RAWCSQ.js} +1 -1
  110. package/dist/dashboard-web/chunks/{chunk-TLG45URB.js → chunk-IA5KMD5O.js} +1 -1
  111. package/dist/dashboard-web/chunks/{chunk-BU3Q6XC6.js → chunk-K232GT3M.js} +2 -2
  112. package/dist/dashboard-web/chunks/chunk-MMLTCXHP.js +10 -0
  113. package/dist/dashboard-web/chunks/{chunk-ECFC7UG2.js → chunk-R3LJUCEO.js} +1 -1
  114. package/dist/dashboard-web/chunks/{chunk-Z67OSM5P.js → chunk-YJA3KY3J.js} +1 -1
  115. package/dist/dashboard-web/chunks/{connectors-page-WDM4CEAU.js → connectors-page-DJCTHSFB.js} +1 -1
  116. package/dist/dashboard-web/chunks/{feedback-page-GMJ4FLJ4.js → feedback-page-O7SZRKNM.js} +1 -1
  117. package/dist/dashboard-web/chunks/{groups-page-L4ZJNWVR.js → groups-page-7PONUYHE.js} +1 -1
  118. package/dist/dashboard-web/chunks/{insights-page-7LUJU2CX.js → insights-page-J6DAAJ6D.js} +1 -1
  119. package/dist/dashboard-web/chunks/{monitor-room-7LZUJQPF.js → monitor-room-F3QNEW7N.js} +1 -1
  120. package/dist/dashboard-web/chunks/{monitoring-page-AUSXMPYO.js → monitoring-page-JHDD2VS2.js} +1 -1
  121. package/dist/dashboard-web/chunks/{office-page-6ZU6MAZN.js → office-page-MMTN4IKD.js} +1 -1
  122. package/dist/dashboard-web/chunks/{overview-page-QBC5CIYH.js → overview-page-IQ2UJAJP.js} +1 -1
  123. package/dist/dashboard-web/chunks/{roles-page-QO3YCA7D.js → roles-page-FNI4MGX6.js} +1 -1
  124. package/dist/dashboard-web/chunks/{schedules-page-YNGSKDQW.js → schedules-page-6PUU63KS.js} +1 -1
  125. package/dist/dashboard-web/chunks/{sessions-page-BWR4UB6X.js → sessions-page-O4N72EXT.js} +4 -4
  126. package/dist/dashboard-web/chunks/{settings-page-2IRIS3FP.js → settings-page-G7B3STUF.js} +1 -1
  127. package/dist/dashboard-web/chunks/{skills-page-5RZPM6HJ.js → skills-page-CEWKQOIG.js} +1 -1
  128. package/dist/dashboard-web/chunks/{team-federation-page-KERG6LKC.js → team-federation-page-NUP4VK4H.js} +1 -1
  129. package/dist/dashboard-web/chunks/{v3-page-766CBD7H.js → v3-page-M4XF6D5Z.js} +1 -1
  130. package/dist/dashboard-web/chunks/{whiteboards-page-2M6XZD5C.js → whiteboards-page-L755NZX6.js} +1 -1
  131. package/dist/dashboard-web/style.css +13 -0
  132. package/dist/dashboard.js +3 -0
  133. package/dist/dashboard.js.map +1 -1
  134. package/dist/global-config.d.ts +3 -0
  135. package/dist/global-config.d.ts.map +1 -1
  136. package/dist/global-config.js +10 -3
  137. package/dist/global-config.js.map +1 -1
  138. package/dist/i18n/en.d.ts.map +1 -1
  139. package/dist/i18n/en.js +19 -1
  140. package/dist/i18n/en.js.map +1 -1
  141. package/dist/i18n/zh.d.ts.map +1 -1
  142. package/dist/i18n/zh.js +19 -1
  143. package/dist/i18n/zh.js.map +1 -1
  144. package/dist/im/lark/api-gate.d.ts +53 -0
  145. package/dist/im/lark/api-gate.d.ts.map +1 -0
  146. package/dist/im/lark/api-gate.js +322 -0
  147. package/dist/im/lark/api-gate.js.map +1 -0
  148. package/dist/im/lark/audio-transcribe.d.ts +23 -0
  149. package/dist/im/lark/audio-transcribe.d.ts.map +1 -0
  150. package/dist/im/lark/audio-transcribe.js +126 -0
  151. package/dist/im/lark/audio-transcribe.js.map +1 -0
  152. package/dist/im/lark/card-builder.d.ts +6 -0
  153. package/dist/im/lark/card-builder.d.ts.map +1 -1
  154. package/dist/im/lark/card-builder.js +53 -1
  155. package/dist/im/lark/card-builder.js.map +1 -1
  156. package/dist/im/lark/card-handler.d.ts +10 -0
  157. package/dist/im/lark/card-handler.d.ts.map +1 -1
  158. package/dist/im/lark/card-handler.js +68 -1
  159. package/dist/im/lark/card-handler.js.map +1 -1
  160. package/dist/im/lark/client.d.ts.map +1 -1
  161. package/dist/im/lark/client.js +247 -224
  162. package/dist/im/lark/client.js.map +1 -1
  163. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  164. package/dist/im/lark/event-dispatcher.js +34 -3
  165. package/dist/im/lark/event-dispatcher.js.map +1 -1
  166. package/dist/im/lark/message-parser.d.ts +16 -0
  167. package/dist/im/lark/message-parser.d.ts.map +1 -1
  168. package/dist/im/lark/message-parser.js +31 -0
  169. package/dist/im/lark/message-parser.js.map +1 -1
  170. package/dist/services/budget-tracker.d.ts +61 -0
  171. package/dist/services/budget-tracker.d.ts.map +1 -0
  172. package/dist/services/budget-tracker.js +306 -0
  173. package/dist/services/budget-tracker.js.map +1 -0
  174. package/dist/services/connector-store.d.ts +16 -0
  175. package/dist/services/connector-store.d.ts.map +1 -1
  176. package/dist/services/connector-store.js.map +1 -1
  177. package/dist/services/failed-turn-retry.d.ts +43 -0
  178. package/dist/services/failed-turn-retry.d.ts.map +1 -0
  179. package/dist/services/failed-turn-retry.js +50 -0
  180. package/dist/services/failed-turn-retry.js.map +1 -0
  181. package/dist/services/model-pricing.d.ts +80 -0
  182. package/dist/services/model-pricing.d.ts.map +1 -0
  183. package/dist/services/model-pricing.js +182 -0
  184. package/dist/services/model-pricing.js.map +1 -0
  185. package/dist/services/session-store.d.ts.map +1 -1
  186. package/dist/services/session-store.js +13 -3
  187. package/dist/services/session-store.js.map +1 -1
  188. package/dist/services/trigger-types.d.ts +10 -0
  189. package/dist/services/trigger-types.d.ts.map +1 -1
  190. package/dist/services/trigger-types.js.map +1 -1
  191. package/dist/services/usage-ledger.d.ts +10 -0
  192. package/dist/services/usage-ledger.d.ts.map +1 -1
  193. package/dist/services/usage-ledger.js +36 -0
  194. package/dist/services/usage-ledger.js.map +1 -1
  195. package/dist/services/voice/asr.d.ts +17 -0
  196. package/dist/services/voice/asr.d.ts.map +1 -0
  197. package/dist/services/voice/asr.js +64 -0
  198. package/dist/services/voice/asr.js.map +1 -0
  199. package/dist/services/voice/index.d.ts +17 -2
  200. package/dist/services/voice/index.d.ts.map +1 -1
  201. package/dist/services/voice/index.js +43 -0
  202. package/dist/services/voice/index.js.map +1 -1
  203. package/dist/services/voice/types.d.ts +15 -0
  204. package/dist/services/voice/types.d.ts.map +1 -1
  205. package/dist/services/webhook-idempotency.d.ts +134 -0
  206. package/dist/services/webhook-idempotency.d.ts.map +1 -0
  207. package/dist/services/webhook-idempotency.js +265 -0
  208. package/dist/services/webhook-idempotency.js.map +1 -0
  209. package/dist/setup/app-name.d.ts +1 -0
  210. package/dist/setup/app-name.d.ts.map +1 -1
  211. package/dist/setup/app-name.js +7 -0
  212. package/dist/setup/app-name.js.map +1 -1
  213. package/dist/setup/bot-config-editor.d.ts +28 -0
  214. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  215. package/dist/setup/bot-config-editor.js +73 -0
  216. package/dist/setup/bot-config-editor.js.map +1 -1
  217. package/dist/setup/open-platform-automation.d.ts +26 -0
  218. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  219. package/dist/setup/open-platform-automation.js +90 -1
  220. package/dist/setup/open-platform-automation.js.map +1 -1
  221. package/dist/setup/open-platform-outcome.d.ts.map +1 -1
  222. package/dist/setup/open-platform-outcome.js +8 -2
  223. package/dist/setup/open-platform-outcome.js.map +1 -1
  224. package/dist/types.d.ts +20 -1
  225. package/dist/types.d.ts.map +1 -1
  226. package/dist/utils/usage-limit-tracker.d.ts +29 -9
  227. package/dist/utils/usage-limit-tracker.d.ts.map +1 -1
  228. package/dist/utils/usage-limit-tracker.js +122 -14
  229. package/dist/utils/usage-limit-tracker.js.map +1 -1
  230. package/dist/worker.js +27 -6
  231. package/dist/worker.js.map +1 -1
  232. package/dist/workflows/definition.d.ts +56 -56
  233. package/dist/workflows/events/payloads.d.ts +2 -2
  234. package/dist/workflows/events/schema.d.ts +430 -430
  235. package/dist/workflows/migration/v2-run-archive-schema.d.ts +2 -2
  236. package/dist/workflows/v3/run-envelope.d.ts +56 -56
  237. package/package.json +9 -8
  238. package/scripts/postinstall-bin.mjs +25 -0
  239. package/dist/dashboard-web/chunks/chunk-NJCJR3U2.js +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-types.js","sourceRoot":"","sources":["../../src/services/trigger-types.ts"],"names":[],"mappings":"AA2KA,MAAM,UAAU,QAAQ,CAAC,CAAU;IACjC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC;IAC5H,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,mDAAmD,EAAE,EAAE,CAAC;IAC/I,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,sCAAsC,EAAE,EAAE,CAAC;IACtI,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,6EAA6E;IAC7E,yDAAyD;IACzD,KAAK,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,QAAQ,CAAU,EAAE,CAAC;QACrF,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACtE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC/D,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,KAAK,IAAI,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAChG,MAAM,gBAAgB,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5G,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,iDAAiD,EAAE,EAAE,CAAC;IACjJ,CAAC;IACD,IAAI,gBAAgB,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;QACpD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,8EAA8E,EAAE,EAAE,CAAC;IAC9K,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,kBAAkB,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/H,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,0DAA0D,EAAE,EAAE,CAAC;IAC1J,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,EAAE,qCAAqC,EAAE,EAAE,CAAC;IACrI,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,oEAAoE,EAAE,EAAE,CAAC;IAChK,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC;QAC5H,CAAC;QACD,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC;QACnD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC5F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,oDAAoD,EAAE,EAAE,CAAC;QAChJ,CAAC;QACD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;YAC/G,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,4DAA4D,EAAE,EAAE,CAAC;QACxJ,CAAC;IACH,CAAC;IACD,IAAI,kBAAkB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,uDAAuD,EAAE,EAAE,CAAC;IACnJ,CAAC;IACD,IAAI,kBAAkB,IAAI,oBAAoB,EAAE,CAAC;QAC/C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,qEAAqE,EAAE,EAAE,CAAC;IACjK,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,EAAE,CAAC;YAC5I,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,mDAAmD,EAAE,EAAE,CAAC;QAC/I,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAClG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,+CAA+C,EAAE,EAAE,CAAC;IAC3I,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QACrG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,8CAA8C,EAAE,EAAE,CAAC;IAC1I,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAyB,CAAC,EAAE,CAAC;QAC7I,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,wEAAwE,EAAE,EAAE,CAAC;IACpK,CAAC;IACD,4EAA4E;IAC5E,gFAAgF;IAChF,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,gFAAgF;IAChF,0EAA0E;IAC1E,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,8EAA8E,EAAE,EAAE,CAAC;IAC1K,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpI,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,iEAAiE,EAAE,EAAE,CAAC;QAC7J,CAAC;QACD,2EAA2E;QAC3E,6EAA6E;QAC7E,+EAA+E;QAC/E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,yCAAyC;QACzC,IACE,MAAM,CAAC,IAAI,KAAK,MAAM;eACnB,CAAC,oBAAoB;eACrB,kBAAkB;eAClB,OAAO,CAAC,MAAM,KAAK,IAAI;eACvB,YAAY;eACZ,gBAAgB;eAChB,SAAS,EACZ,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG;gBACtB,IAAI,EAAE;oBACJ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa;oBACnC,KAAK,EAAE,8MAA8M;iBACtN;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC7C,IAAI,OAAO,OAAO,CAAC,kBAAkB,KAAK,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAChJ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,qEAAqE,EAAE,EAAE,CAAC;QACjK,CAAC;QACD,qEAAqE;QACrE,+EAA+E;QAC/E,iFAAiF;QACjF,+EAA+E;QAC/E,6DAA6D;QAC7D,4EAA4E;QAC5E,4DAA4D;QAC5D,IACE,MAAM,CAAC,IAAI,KAAK,MAAM;eACnB,CAAC,YAAY;eACb,CAAC,oBAAoB;eACrB,kBAAkB;eAClB,OAAO,CAAC,MAAM,KAAK,IAAI,EAC1B,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG;gBACtB,IAAI,EAAE;oBACJ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa;oBACnC,KAAK,EAAE,0MAA0M;iBAClN;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAgC,EAAE,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"trigger-types.js","sourceRoot":"","sources":["../../src/services/trigger-types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type SessionTokenUsage } from '../core/cost-calculator.js';
2
+ import { type ResolvedModelPricing } from './model-pricing.js';
2
3
  import type { DaemonSession } from '../core/types.js';
3
4
  export type InputTokenSemantics = 'includes_cache' | 'uncached';
4
5
  export interface UsageLedgerRecord {
@@ -35,6 +36,9 @@ export interface UsageLedgerRecord {
35
36
  totalOutputTokens: number;
36
37
  totalCacheReadTokens: number;
37
38
  totalCacheCreateTokens: number;
39
+ /** 人民币估算金额(delta 口径,按模型定价表折算)。缺省 = 未定价/未知
40
+ * 模型或未接定价,绝非 0——消费方必须按字段存在性判断。 */
41
+ costCny?: number;
38
42
  }
39
43
  export interface RecordSessionUsageArgs {
40
44
  sessionId: string;
@@ -46,12 +50,18 @@ export interface RecordSessionUsageArgs {
46
50
  title?: string;
47
51
  workingDir?: string;
48
52
  callerOpenId?: string;
53
+ /** 定价覆盖(按 bot 解析后的结果);缺省时走进程级 pricingResolver。 */
54
+ pricing?: ResolvedModelPricing;
49
55
  /** Injectable for tests; defaults to wall clock. */
50
56
  now?: Date;
51
57
  /** Injectable for tests; defaults to ~/.botmux/usage (BOTMUX_USAGE_DIR overrides). */
52
58
  ledgerDir?: string;
53
59
  }
54
60
  export declare function __resetUsageLedgerMemoryForTest(): void;
61
+ export type UsageLedgerPricingResolver = (larkAppId?: string) => ResolvedModelPricing | undefined;
62
+ export type UsageLedgerRecordSink = (record: UsageLedgerRecord) => void;
63
+ export declare function setUsageLedgerPricingResolver(resolver: UsageLedgerPricingResolver | null): void;
64
+ export declare function setUsageLedgerRecordSink(sink: UsageLedgerRecordSink | null): void;
55
65
  export declare function defaultLedgerDir(): string;
56
66
  /**
57
67
  * Diff the cumulative usage snapshot against the session's stored baseline
@@ -1 +1 @@
1
- {"version":3,"file":"usage-ledger.d.ts","sourceRoot":"","sources":["../../src/services/usage-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-ledger.d.ts","sourceRoot":"","sources":["../../src/services/usage-ledger.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import { join } from 'node:path';
21
21
  import { createHash } from 'node:crypto';
22
22
  import { logger } from '../utils/logger.js';
23
23
  import { getSessionTokenUsage } from '../core/cost-calculator.js';
24
+ import { estimateCostCny } from './model-pricing.js';
24
25
  /** Last authoritative baseline per session, kept in memory: the hot path
25
26
  * never rescans the ledger, and a lost/stale state file inside one process
26
27
  * lifetime cannot regress the baseline. */
@@ -28,6 +29,16 @@ const sessionBaselineMemory = new Map();
28
29
  export function __resetUsageLedgerMemoryForTest() {
29
30
  sessionBaselineMemory.clear();
30
31
  ownershipWritten.clear();
32
+ pricingResolver = null;
33
+ recordSink = null;
34
+ }
35
+ let pricingResolver = null;
36
+ let recordSink = null;
37
+ export function setUsageLedgerPricingResolver(resolver) {
38
+ pricingResolver = resolver;
39
+ }
40
+ export function setUsageLedgerRecordSink(sink) {
41
+ recordSink = sink;
31
42
  }
32
43
  /** Ownership markers already written by this process (recordId-keyed). */
33
44
  const ownershipWritten = new Set();
@@ -245,6 +256,20 @@ export function recordSessionUsage(args) {
245
256
  if (deltaInput === 0 && deltaOutput === 0 && deltaCacheRead === 0 && deltaCacheCreate === 0) {
246
257
  return null;
247
258
  }
259
+ // 金额估算:显式 args.pricing 优先,否则问进程级 resolver(daemon 按
260
+ // bot 接线)。未定价模型 / 无 pricing → null(fail-closed,绝不猜价)。
261
+ const pricing = args.pricing ?? pricingResolver?.(args.larkAppId);
262
+ // delta 口径计价:record 本身记的是区间增量,budget-tracker 逐条累加,
263
+ // 用累计快照 cur 会随记录数线性虚增金额。
264
+ const costCny = pricing
265
+ ? estimateCostCny({
266
+ inputTokens: deltaInput,
267
+ outputTokens: deltaOutput,
268
+ cacheReadTokens: deltaCacheRead,
269
+ cacheCreateTokens: deltaCacheCreate,
270
+ model: cur.model,
271
+ }, pricing)
272
+ : null;
248
273
  const record = {
249
274
  v: 2,
250
275
  inputTokenSemantics: 'uncached',
@@ -268,6 +293,7 @@ export function recordSessionUsage(args) {
268
293
  totalOutputTokens: cur.outputTokens,
269
294
  totalCacheReadTokens: cur.cacheReadTokens,
270
295
  totalCacheCreateTokens: cur.cacheCreateTokens,
296
+ ...(costCny !== null && Number.isFinite(costCny) ? { costCny } : {}),
271
297
  };
272
298
  // Append first, then advance the baseline: a crash in between replays the
273
299
  // same transition with the SAME recordId, which the consumer dedupes.
@@ -277,6 +303,16 @@ export function recordSessionUsage(args) {
277
303
  sessionBaselineMemory.set(baselineMemoryKey(args.larkAppId, args.sessionId), baseline);
278
304
  state.sessions[args.sessionId] = baseline;
279
305
  saveState(dir, args.larkAppId, state, now);
306
+ // 预算累加缝:仅正 delta 记录成功落盘后触发一次;ownership marker 与
307
+ // anchor 不经此路。sink 异常被 catch,绝不影响 ledger 主路径。
308
+ if (recordSink) {
309
+ try {
310
+ recordSink(record);
311
+ }
312
+ catch (err) {
313
+ logger.warn(`usage-ledger: record sink failed: ${err?.message ?? err}`);
314
+ }
315
+ }
280
316
  return record;
281
317
  }
282
318
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"usage-ledger.js","sourceRoot":"","sources":["../../src/services/usage-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-ledger.js","sourceRoot":"","sources":["../../src/services/usage-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAA0B,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,eAAe,EAA6B,MAAM,oBAAoB,CAAC;AAiFhF;;4CAE4C;AAC5C,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkC,CAAC;AAExE,MAAM,UAAU,+BAA+B;IAC7C,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC9B,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACzB,eAAe,GAAG,IAAI,CAAC;IACvB,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAWD,IAAI,eAAe,GAAsC,IAAI,CAAC;AAC9D,IAAI,UAAU,GAAiC,IAAI,CAAC;AAEpD,MAAM,UAAU,6BAA6B,CAAC,QAA2C;IACvF,eAAe,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAkC;IACzE,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,0EAA0E;AAC1E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE3C,SAAS,iBAAiB,CAAC,SAA6B,EAAE,SAAiB;IACzE,OAAO,GAAG,SAAS,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,CAAU;IAC3B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAU;IACrC,OAAO,CAAC,KAAK,gBAAgB,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED;;;6EAG6E;AAC7E,SAAS,iBAAiB,CACxB,QAA4C,EAC5C,KAAyB;IAEzB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC/F,MAAM,aAAa,GAAG,SAAS,KAAK,gBAAgB;WAC/C,CAAC,CAAC,gBAAgB,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,GAAG,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;IAC1D,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IACxF,MAAM,cAAc,GAAG,cAAc,GAAG,eAAe,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5F,OAAO;QACL,GAAG,QAAQ;QACX,WAAW,EAAE,cAAc,GAAG,iBAAiB;QAC/C,eAAe;QACf,iBAAiB;QACjB,mBAAmB,EAAE,UAAU;KAChC,CAAC;AACJ,CAAC;AAED;;;gEAGgE;AAChE,SAAS,kBAAkB,CAAC,GAAW,EAAE,SAAiB;IACxD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,EAAE;aACN,OAAO,EAAE,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,SAAS;YACxC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,kEAAkE;gBAClE,iCAAiC;gBACjC,IAAI,GAAG,EAAE,SAAS,KAAK,SAAS,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW;oBAAE,MAAM,GAAG,GAAG,CAAC;YAC9E,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAC7F,OAAO;gBACL,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC/C,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACjD,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC;gBACvD,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC;gBAC3D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,UAAU,EAAE,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBACjF,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;0DAC0D;AAC1D,SAAS,aAAa,CAAC,CAAqC,EAAE,CAAqC;IACjG,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,IAAI,SAAS,CAAC;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACxB,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC7G,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;0EAC0E;AAC1E,SAAS,eAAe,CACtB,GAAW,EACX,SAA6B,EAC7B,SAAiB,EACjB,KAAyB,EACzB,aAA0C;IAE1C,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,IAAI,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;QAClF,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,aAAa,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,uDAAuD;AACvD,SAAS,SAAS,CAAC,GAAW,EAAE,SAAkB;IAChD,MAAM,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;IACzE,OAAO,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,SAAkB;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3E,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnG,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,8CAA8C,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,SAA6B,EAAE,KAAkB,EAAE,GAAS;IAC1F,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,qBAAqB,EAAE,CAAC;YACtF,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;0EAE0E;AAC1E,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,KAAa,EACb,IAAiC,EACjC,GAAsB;IAEtB,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC;QACP,SAAS;QACT,KAAK;QACL,IAAI,EAAE,WAAW,IAAI,CAAC;QACtB,IAAI,EAAE,YAAY,IAAI,CAAC;QACvB,IAAI,EAAE,eAAe,IAAI,CAAC;QAC1B,IAAI,EAAE,iBAAiB,IAAI,CAAC;QAC5B,GAAG,CAAC,WAAW;QACf,GAAG,CAAC,YAAY;QAChB,GAAG,CAAC,eAAe;QACnB,GAAG,CAAC,iBAAiB;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACb,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,GAAS;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA4B;IAC7D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACjD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9G,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;QAEnC,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,GAAG,CAAC,eAAe,GAAG,CAAC,IAAI,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,GAAG,CAAC,IAAI,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAoB;YAChC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,mBAAmB,EAAE,UAAU;YAC/B,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;YAC7B,KAAK,EAAE,SAAS;SACjB,CAAC;QAEF,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACpF,0EAA0E;YAC1E,wEAAwE;YACxE,wBAAwB;YACxB,QAAQ,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;YAC/B,qBAAqB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;YACvF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YAC1C,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC5F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mDAAmD;QACnD,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,mDAAmD;QACnD,yBAAyB;QACzB,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC,eAAe,CACb;gBACE,WAAW,EAAE,UAAU;gBACvB,YAAY,EAAE,WAAW;gBACzB,eAAe,EAAE,cAAc;gBAC/B,iBAAiB,EAAE,gBAAgB;gBACnC,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,EACD,OAAO,CACR;YACH,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,MAAM,GAAsB;YAChC,CAAC,EAAE,CAAC;YACJ,mBAAmB,EAAE,UAAU;YAC/B,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC;YACrE,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE;YACrB,KAAK,EAAE,SAAS;YAChB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,UAAU;YACvB,YAAY,EAAE,WAAW;YACzB,eAAe,EAAE,cAAc;YAC/B,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,GAAG,CAAC,WAAW;YACjC,iBAAiB,EAAE,GAAG,CAAC,YAAY;YACnC,oBAAoB,EAAE,GAAG,CAAC,eAAe;YACzC,sBAAsB,EAAE,GAAG,CAAC,iBAAiB;YAC7C,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC;QAEF,0EAA0E;QAC1E,sEAAsE;QACtE,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,qBAAqB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;QAC1C,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3C,gDAAgD;QAChD,8CAA8C;QAC9C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,UAAU,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,sDAAsD;QACtD,MAAM,CAAC,KAAK,CAAC,iDAAiD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA4B;IAC7D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACjD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9G,MAAM,QAAQ,GAAoB;YAChC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;YACnC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;YACrC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;YAC/C,mBAAmB,EAAE,UAAU;YAC/B,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;YAC7B,sEAAsE;YACtE,yCAAyC;YACzC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;SAC9B,CAAC;QACF,qBAAqB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;QAC1C,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,oDAAoD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AASD;;;;;;sEAMsE;AACtE,SAAS,kBAAkB,CAAC,CAA+D;IACzF,IAAI,CAAC,CAAC,YAAY;QAAE,OAAO,CAAC,CAAC,YAAY,CAAC;IAC1C,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,0BAA0B,CAAC,EAAiB;IACnD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACrB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC;IACjD,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,KAAK,GAAG,oBAAoB,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,GAAG,EAAE,UAAU;QACf,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;QACtC,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IACH,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,KAAK;QACL,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;QACtC,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU;QACV,YAAY,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW;KACrE,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,2BAA2B,CAAC,EAAiB,EAAE,IAA8B;IAC3F,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,wDAAwD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAeD;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAgC;IACrE,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;aAClC,MAAM,CAAC,aAAa,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;aAC1D,MAAM,CAAC,KAAK,CAAC;aACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACjD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAsB;YAChC,CAAC,EAAE,CAAC;YACJ,mBAAmB,EAAE,UAAU;YAC/B,IAAI,EAAE,WAAW;YACjB,QAAQ;YACR,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE;YACrB,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC;YACvB,sBAAsB,EAAE,CAAC;SAC1B,CAAC;QACF,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,qDAAqD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,+BAA+B,CAAC,EAAiB,EAAE,IAA8B;IAC/F,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QACrB,OAAO,sBAAsB,CAAC;YAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACnC,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;YACtC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;YACzC,YAAY,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,WAAW;YACpE,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,4DAA4D,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAAiB,EAAE,IAA8B;IAC9F,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,EAAE,SAAS,IAAI,gBAAgB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACrG,OAAO,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,2DAA2D,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,2BAA2B,CAAC,EAAiB,EAAE,IAA8B;IAC3F,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,wDAAwD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface ResolvedAsrConfig {
2
+ baseUrl: string;
3
+ apiKey?: string;
4
+ model: string;
5
+ timeoutMs: number;
6
+ language?: string;
7
+ }
8
+ export interface TranscribeOpts {
9
+ timeoutMs?: number;
10
+ language?: string;
11
+ }
12
+ /**
13
+ * Transcribe an audio file to text. Returns the trimmed transcript; throws
14
+ * Error(中文 message)on any failure(HTTP 错误 / 超时 / 空结果)。
15
+ */
16
+ export declare function transcribeAudioFile(cfg: ResolvedAsrConfig, audioPath: string, opts?: TranscribeOpts): Promise<string>;
17
+ //# sourceMappingURL=asr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asr.d.ts","sourceRoot":"","sources":["../../../src/services/voice/asr.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,MAAM,CAAC,CAyCjB"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * OpenAI-compatible ASR adapter — 语音消息转写。
3
+ *
4
+ * Targets the de-facto-standard `POST {baseUrl}/audio/transcriptions` contract
5
+ * (whisper API format), so it works with OpenAI's cloud ASR and any
6
+ * self-hosted compatible server (whisper.cpp server, faster-whisper, etc.) —
7
+ * users bring their own baseUrl/key, same pattern as the TTS adapter in
8
+ * openai.ts. Feishu voice messages are ogg/opus, which the whisper API decodes
9
+ * natively — no ffmpeg dependency.
10
+ *
11
+ * Zero new dependencies: uses Node 22 global fetch / FormData / Blob.
12
+ */
13
+ import { readFileSync } from 'node:fs';
14
+ /**
15
+ * Transcribe an audio file to text. Returns the trimmed transcript; throws
16
+ * Error(中文 message)on any failure(HTTP 错误 / 超时 / 空结果)。
17
+ */
18
+ export async function transcribeAudioFile(cfg, audioPath, opts = {}) {
19
+ const buf = readFileSync(audioPath);
20
+ const form = new FormData();
21
+ // 飞书语音是 ogg/opus;显式给 Blob 一个 .ogg 文件名,部分服务靠扩展名/
22
+ // content-type 选择解码器。不手动设 Content-Type——fetch 会自动补
23
+ // multipart boundary。
24
+ form.append('file', new Blob([buf], { type: 'audio/ogg' }), 'voice.ogg');
25
+ form.append('model', cfg.model);
26
+ const language = opts.language ?? cfg.language;
27
+ if (language)
28
+ form.append('language', language);
29
+ const url = `${cfg.baseUrl.replace(/\/$/, '')}/audio/transcriptions`;
30
+ const controller = new AbortController();
31
+ const timer = setTimeout(() => controller.abort(), opts.timeoutMs ?? cfg.timeoutMs);
32
+ try {
33
+ const res = await fetch(url, {
34
+ method: 'POST',
35
+ headers: {
36
+ ...(cfg.apiKey ? { Authorization: `Bearer ${cfg.apiKey}` } : {}),
37
+ },
38
+ body: form,
39
+ signal: controller.signal,
40
+ });
41
+ if (!res.ok) {
42
+ const detail = await res.text().catch(() => '');
43
+ throw new Error(`ASR HTTP ${res.status}: ${detail.slice(0, 200)}`);
44
+ }
45
+ // OpenAI 返回 {"text": "..."};部分兼容服务直接返回纯文本。
46
+ const contentType = res.headers.get('content-type') ?? '';
47
+ const raw = contentType.includes('application/json')
48
+ ? String((await res.json())?.text ?? '')
49
+ : await res.text();
50
+ const text = raw.trim();
51
+ if (!text)
52
+ throw new Error('ASR 转写结果为空');
53
+ return text;
54
+ }
55
+ catch (e) {
56
+ if (e?.name === 'AbortError')
57
+ throw new Error('ASR 转写超时');
58
+ throw e;
59
+ }
60
+ finally {
61
+ clearTimeout(timer);
62
+ }
63
+ }
64
+ //# sourceMappingURL=asr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asr.js","sourceRoot":"","sources":["../../../src/services/voice/asr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAevC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAsB,EACtB,SAAiB,EACjB,OAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC5B,gDAAgD;IAChD,mDAAmD;IACnD,sBAAsB;IACtB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC;IAC/C,IAAI,QAAQ;QAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEhD,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACpF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE;YACD,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,2CAA2C;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClD,CAAC,CAAC,MAAM,CAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwB,EAAE,IAAI,IAAI,EAAE,CAAC;YAChE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,IAAI,KAAK,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,CAAC;IACV,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -10,8 +10,10 @@
10
10
  */
11
11
  import { type OpusResult, type Pcm } from './audio.js';
12
12
  import { type VoiceProviderEffectOptions } from './sami.js';
13
- import type { VoiceConfig } from './types.js';
14
- export type { VoiceConfig, VoiceEngine } from './types.js';
13
+ import type { ResolvedAsrConfig } from './asr.js';
14
+ import type { VoiceConfig, VoiceAsrConfig } from './types.js';
15
+ export type { VoiceConfig, VoiceEngine, VoiceAsrConfig } from './types.js';
16
+ export type { ResolvedAsrConfig } from './asr.js';
15
17
  /** Default SAMI voice — 灿灿 (bigtts), the product-chosen default. */
16
18
  export declare const DEFAULT_SAMI_SPEAKER = "zh_female_cancan_mars_bigtts";
17
19
  /** Default OpenAI-compatible voice. */
@@ -24,6 +26,19 @@ export declare function evaluateVoiceConfig(global?: VoiceConfig, perBot?: Voice
24
26
  export declare function resolveVoiceConfig(larkAppId?: string): VoiceConfig | null;
25
27
  /** Cheap predicate for conditionally rendering the voice button. */
26
28
  export declare function isVoiceConfigured(larkAppId?: string): boolean;
29
+ /** ASR 默认转写超时(毫秒)。飞书语音客户端录制上限 60s,whisper 转写
30
+ * 通常 5-15s;留足余量,转发/导入的长音频也可通过 timeoutMs 调大。 */
31
+ export declare const DEFAULT_ASR_TIMEOUT_MS = 120000;
32
+ /** Pure evaluation: per-bot `voice.asr` merged over global `voice.asr`
33
+ * (浅合并——字段都是标量,per-bot 逐字段覆盖)。enabled !== true 或缺
34
+ * baseUrl/model 返回 null。Exported for testing without disk. */
35
+ export declare function evaluateAsrConfig(global?: VoiceAsrConfig, perBot?: VoiceAsrConfig): ResolvedAsrConfig | null;
36
+ /** Resolve effective ASR config for a bot: per-bot `voice.asr` merged over
37
+ * the global `voice.asr` block. Returns null when ASR is not enabled or
38
+ * incomplete for this bot. */
39
+ export declare function resolveAsrConfig(larkAppId?: string): ResolvedAsrConfig | null;
40
+ /** Cheap predicate for whether inbound voice messages should be transcribed. */
41
+ export declare function isAsrConfigured(larkAppId?: string): boolean;
27
42
  /**
28
43
  * Synthesize `text` into raw signed-16 PCM. Realtime VC voice uses this
29
44
  * intermediate directly; IM voice bubbles encode it to ogg/opus below.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/voice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAqC,KAAK,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAI/F,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,YAAY,CAAC;AAE3D,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3D,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AACnE,uCAAuC;AACvC,eAAO,MAAM,sBAAsB,UAAU,CAAC;AA0B9C;+EAC+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAElG;AAED;4EAC4E;AAC5E,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAczE;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAOD;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,UAAU,CAAC,CAGrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/voice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,EAAqC,KAAK,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAE/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAe,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3E,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3E,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AACnE,uCAAuC;AACvC,eAAO,MAAM,sBAAsB,UAAU,CAAC;AA0B9C;+EAC+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAElG;AAED;4EAC4E;AAC5E,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAczE;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;gDACgD;AAChD,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;+DAE+D;AAC/D,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,iBAAiB,GAAG,IAAI,CAW5G;AAED;;+BAE+B;AAC/B,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAc7E;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAE3D;AAOD;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,UAAU,CAAC,CAGrB"}
@@ -72,6 +72,49 @@ export function resolveVoiceConfig(larkAppId) {
72
72
  export function isVoiceConfigured(larkAppId) {
73
73
  return resolveVoiceConfig(larkAppId) !== null;
74
74
  }
75
+ /** ASR 默认转写超时(毫秒)。飞书语音客户端录制上限 60s,whisper 转写
76
+ * 通常 5-15s;留足余量,转发/导入的长音频也可通过 timeoutMs 调大。 */
77
+ export const DEFAULT_ASR_TIMEOUT_MS = 120000;
78
+ /** Pure evaluation: per-bot `voice.asr` merged over global `voice.asr`
79
+ * (浅合并——字段都是标量,per-bot 逐字段覆盖)。enabled !== true 或缺
80
+ * baseUrl/model 返回 null。Exported for testing without disk. */
81
+ export function evaluateAsrConfig(global, perBot) {
82
+ const merged = { ...global, ...perBot };
83
+ if (merged.enabled !== true)
84
+ return null;
85
+ if (!merged.baseUrl || !merged.model)
86
+ return null;
87
+ return {
88
+ baseUrl: merged.baseUrl,
89
+ ...(merged.apiKey ? { apiKey: merged.apiKey } : {}),
90
+ model: merged.model,
91
+ timeoutMs: merged.timeoutMs ?? DEFAULT_ASR_TIMEOUT_MS,
92
+ ...(merged.language ? { language: merged.language } : {}),
93
+ };
94
+ }
95
+ /** Resolve effective ASR config for a bot: per-bot `voice.asr` merged over
96
+ * the global `voice.asr` block. Returns null when ASR is not enabled or
97
+ * incomplete for this bot. */
98
+ export function resolveAsrConfig(larkAppId) {
99
+ let global;
100
+ try {
101
+ global = readGlobalConfig().voice?.asr;
102
+ }
103
+ catch { /* no global config */ }
104
+ let perBot;
105
+ if (larkAppId) {
106
+ try {
107
+ const bot = loadBotConfigs().find((b) => b.larkAppId === larkAppId);
108
+ perBot = bot?.voice?.asr;
109
+ }
110
+ catch { /* no bots.json */ }
111
+ }
112
+ return evaluateAsrConfig(global, perBot);
113
+ }
114
+ /** Cheap predicate for whether inbound voice messages should be transcribed. */
115
+ export function isAsrConfigured(larkAppId) {
116
+ return resolveAsrConfig(larkAppId) !== null;
117
+ }
75
118
  function effectiveSpeaker(v) {
76
119
  if (v.speaker)
77
120
  return v.speaker;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/voice/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/voice/index.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,19 @@ export interface VoiceOpenAIConfig {
18
18
  apiKey?: string;
19
19
  model?: string;
20
20
  }
21
+ /** ASR (语音转文字) 配置,走 OpenAI 兼容 `POST {baseUrl}/audio/transcriptions`
22
+ * 协议(whisper API 格式,原生支持 ogg/opus)。与 TTS 同款「用户自带
23
+ * baseUrl/key」模式。默认关闭:`enabled !== true` 即不生效。 */
24
+ export interface VoiceAsrConfig {
25
+ enabled?: boolean;
26
+ baseUrl?: string;
27
+ apiKey?: string;
28
+ model?: string;
29
+ /** 转写请求超时(毫秒),缺省 120000。 */
30
+ timeoutMs?: number;
31
+ /** ISO-639-1 语言提示(如 'zh'),透传给 ASR 服务。 */
32
+ language?: string;
33
+ }
21
34
  /** Stored under `voice` in ~/.botmux/config.json (global) or per bot in
22
35
  * bots.json. A per-bot block is merged over the global one. */
23
36
  export interface VoiceConfig {
@@ -28,5 +41,7 @@ export interface VoiceConfig {
28
41
  rate?: number;
29
42
  sami?: VoiceSamiCreds;
30
43
  openai?: VoiceOpenAIConfig;
44
+ /** 语音消息转写(ASR)。与 TTS 字段相互独立:可只配 ASR 不配 TTS。 */
45
+ asr?: VoiceAsrConfig;
31
46
  }
32
47
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/voice/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;iEAC6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;gEACgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/voice/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;iEAC6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;mDAEmD;AACnD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;gEACgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,+CAA+C;IAC/C,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB"}
@@ -0,0 +1,134 @@
1
+ /** How long a delivered key is remembered. Covers realistic upstream retry
2
+ * ladders (seconds → a few minutes) without letting the map grow forever. */
3
+ export declare const WEBHOOK_IDEMPOTENCY_TTL_MS: number;
4
+ /** Hard cap on remembered keys. A single connector under an alert storm must not
5
+ * be able to grow this without bound; the oldest entries are dropped first
6
+ * (insertion-ordered Map ⇒ oldest-first iteration). */
7
+ export declare const WEBHOOK_IDEMPOTENCY_MAX_ENTRIES = 10000;
8
+ /** Upper bound on an accepted key. Mirrors `options.idempotencyKey`'s 200-char
9
+ * limit so the two contracts can't disagree about what is a usable key. */
10
+ export declare const WEBHOOK_IDEMPOTENCY_MAX_KEY_LENGTH = 200;
11
+ /** Hard bound on singleflight waiters parked on ONE reservation. A same-key retry
12
+ * storm would otherwise pile up a resolver + timer per request for up to the full
13
+ * window. Past the bound a duplicate is answered `overloaded` — an explicit
14
+ * verdict, NOT a fake owner-failure: returning "owner failed" would send the
15
+ * caller straight back into `inspect`, which would immediately be over the bound
16
+ * again, spinning a microtask hot loop that can starve the owner's own I/O. */
17
+ export declare const WEBHOOK_IDEMPOTENCY_MAX_WAITERS = 64;
18
+ /** Why a singleflight wait ended. Distinct cases demand OPPOSITE handling, so they
19
+ * must not collapse into one nullable value:
20
+ * - `ran` → the first delivery dispatched; fold this duplicate onto it (2xx).
21
+ * - `released` → it failed / was reclaimed; the event did NOT run, so the waiter
22
+ * must RE-INSPECT and may take over as the new owner.
23
+ * - `aborted` → OUR client hung up. Stop; do not re-inspect and do not dispatch
24
+ * (re-inspecting could make a disconnected request become `first`
25
+ * and dispatch, defeating the cancellation). Never touches owner state. */
26
+ export type JoinOutcome = {
27
+ kind: 'ran';
28
+ triggerId: string;
29
+ } | {
30
+ kind: 'released';
31
+ } | {
32
+ kind: 'aborted';
33
+ };
34
+ export type WebhookIdempotencyDecision =
35
+ /** No key presented, the feature is off for this connector, or the window is at
36
+ * capacity — behave exactly as if no key had been supplied. */
37
+ {
38
+ kind: 'disabled';
39
+ }
40
+ /** First time this key is seen: RESERVED for this request. The caller must
41
+ * dispatch and then call `settle` exactly once, passing `token` back so a
42
+ * reservation that has since been reclaimed cannot be settled by its
43
+ * predecessor (success → keep as a dedup record; failure → release). */
44
+ | {
45
+ kind: 'first';
46
+ key: string;
47
+ token: number;
48
+ }
49
+ /** Same key, same body, and the first delivery has ALREADY COMPLETED
50
+ * successfully. Safe to answer 2xx immediately: the event provably ran. */
51
+ | {
52
+ kind: 'duplicate';
53
+ key: string;
54
+ firstTriggerId: string;
55
+ }
56
+ /** Same key, same body, but the first delivery is STILL IN FLIGHT — its outcome
57
+ * is unknown. Must NOT be ACKed as handled: if that first delivery then fails,
58
+ * a sender that stopped retrying because of our 2xx has lost the event.
59
+ *
60
+ * `join(signal?)` waits for the real outcome, bounded by the owner
61
+ * reservation's own deadline (eviction is lazy, so a bare await on a dispatch
62
+ * that never returns would hang forever) and cancellable via `signal` when our
63
+ * own client disconnects. See JoinOutcome for how each result must be handled. */
64
+ | {
65
+ kind: 'in_flight';
66
+ key: string;
67
+ join: (signal?: AbortSignal) => Promise<JoinOutcome>;
68
+ }
69
+ /** Too many duplicates already parked on this reservation. The caller should
70
+ * answer a RETRYABLE non-2xx (e.g. 503) so the sender comes back later; it must
71
+ * not dispatch, and must not spin re-inspecting. */
72
+ | {
73
+ kind: 'overloaded';
74
+ key: string;
75
+ }
76
+ /** Same key, different body: the key is not a reliable id. Caller DISPATCHES
77
+ * anyway (fail-open) — `kind` exists so the caller can log the anomaly. */
78
+ | {
79
+ kind: 'conflict';
80
+ key: string;
81
+ };
82
+ export declare function hashWebhookBody(rawBody: Buffer): string;
83
+ /**
84
+ * Classify an inbound delivery and, for a `first` verdict, RESERVE the key for
85
+ * this request in the same step.
86
+ *
87
+ * Reserving here (rather than after dispatch) is what makes a CONCURRENT
88
+ * duplicate collapse: an upstream retries precisely because the first request was
89
+ * slow or timed out, which is also when the two deliveries overlap. Node runs this
90
+ * function to completion without interleaving, so check-and-reserve is atomic with
91
+ * respect to other in-flight requests.
92
+ *
93
+ * The reservation is provisional: the caller MUST call `settleWebhookIdempotency`,
94
+ * which either keeps it (dispatch succeeded) or releases it (dispatch failed, so
95
+ * the sender's retry must still be able to run the event).
96
+ */
97
+ export declare function inspectWebhookIdempotency(connectorId: string, key: string | undefined, rawBody: Buffer, now?: number): WebhookIdempotencyDecision;
98
+ /**
99
+ * Resolve a reservation made by `inspectWebhookIdempotency`.
100
+ *
101
+ * `token` must be the one handed out with the reservation. A mismatch means this
102
+ * slot now holds a DIFFERENT reservation (the original expired and was reclaimed,
103
+ * then a retry re-reserved it), so the call is ignored — a late settle must never
104
+ * delete or relabel its successor (ABA).
105
+ *
106
+ * `triggerId` present ⇒ the dispatch ran; the record is kept (with the id to echo
107
+ * to later duplicates) for the rest of the TTL.
108
+ *
109
+ * `triggerId` undefined ⇒ the dispatch failed or never happened; the reservation
110
+ * is released so a retry of the same event can run. Never remembering a failure is
111
+ * deliberate: the event did not happen, and an at-least-once sender's retry is the
112
+ * recovery path.
113
+ */
114
+ export declare function settleWebhookIdempotency(connectorId: string, key: string, token: number, triggerId: string | undefined, now?: number): void;
115
+ /** Test-only: drop all remembered keys (module state is process-global). */
116
+ export declare function __testOnly_resetWebhookIdempotency(): void;
117
+ /**
118
+ * Did this dispatch outcome cross the "the turn is running" barrier?
119
+ *
120
+ * `body.ok` is NOT the right question. `waitForSessionFinalOutput` calls
121
+ * `dispatchTurn()` FIRST and only then waits for the final output, so a
122
+ * `wait_timeout` (HTTP 504) reports `ok:false` about a turn that was already
123
+ * forked and is very likely still running. Releasing the key there let an upstream
124
+ * retry the 504 and run the event a second time.
125
+ *
126
+ * Kept in this module (not inline at the call site) so the classification lives
127
+ * next to the semantics it protects and is unit-testable on its own.
128
+ */
129
+ export declare function dispatchDidRun(body: {
130
+ ok?: boolean;
131
+ errorCode?: string;
132
+ triggerId?: string;
133
+ }): boolean;
134
+ //# sourceMappingURL=webhook-idempotency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-idempotency.d.ts","sourceRoot":"","sources":["../../src/services/webhook-idempotency.ts"],"names":[],"mappings":"AAyCA;8EAC8E;AAC9E,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AAEzD;;wDAEwD;AACxD,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD;4EAC4E;AAC5E,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD;;;;;gFAKgF;AAChF,eAAO,MAAM,+BAA+B,KAAK,CAAC;AA8BlD;;;;;;;4FAO4F;AAC5F,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAMxB,MAAM,MAAM,0BAA0B;AACpC;gEACgE;AAC9D;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE;AACtB;;;yEAGyE;GACvE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAC/C;4EAC4E;GAC1E;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE;AAC5D;;;;;;;mFAOmF;GACjF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE;AAC1F;;qDAEqD;GACnD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AACrC;4EAC4E;GAC1E;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAMtC,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAqDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAmB,GACvB,0BAA0B,CA2D5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,GAAE,MAAmB,GACvB,IAAI,CAeN;AAED,4EAA4E;AAC5E,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAWtG"}