@downcity/plugins 1.0.216 → 1.0.233

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 (702) hide show
  1. package/bin/chat/Action.d.ts +51 -51
  2. package/bin/chat/Action.d.ts.map +1 -1
  3. package/bin/chat/Action.js +109 -108
  4. package/bin/chat/Action.js.map +1 -1
  5. package/bin/chat/ChatPlugin.d.ts +7 -7
  6. package/bin/chat/ChatPlugin.d.ts.map +1 -1
  7. package/bin/chat/ChatPlugin.js +4 -4
  8. package/bin/chat/ChatPlugin.js.map +1 -1
  9. package/bin/chat/Index.d.ts +3 -0
  10. package/bin/chat/Index.d.ts.map +1 -1
  11. package/bin/chat/Index.js +1 -0
  12. package/bin/chat/Index.js.map +1 -1
  13. package/bin/chat/PROMPT.direct.d.ts +1 -1
  14. package/bin/chat/PROMPT.direct.d.ts.map +1 -1
  15. package/bin/chat/PROMPT.direct.js +1 -1
  16. package/bin/chat/PROMPT.direct.js.map +1 -1
  17. package/bin/chat/access/ChatAccessActions.js +6 -6
  18. package/bin/chat/access/ChatAccessActions.js.map +1 -1
  19. package/bin/chat/access/ChatAccessRuntime.d.ts +4 -4
  20. package/bin/chat/access/ChatAccessRuntime.d.ts.map +1 -1
  21. package/bin/chat/access/ChatAccessRuntime.js +1 -1
  22. package/bin/chat/access/ChatAccessRuntime.js.map +1 -1
  23. package/bin/chat/access/ChatAccessStore.js +5 -5
  24. package/bin/chat/access/ChatAccessStore.js.map +1 -1
  25. package/bin/chat/channels/BaseChatChannel.d.ts +17 -17
  26. package/bin/chat/channels/BaseChatChannel.d.ts.map +1 -1
  27. package/bin/chat/channels/BaseChatChannel.js +19 -19
  28. package/bin/chat/channels/BaseChatChannel.js.map +1 -1
  29. package/bin/chat/channels/BaseChatChannelQueue.d.ts +6 -6
  30. package/bin/chat/channels/BaseChatChannelQueue.d.ts.map +1 -1
  31. package/bin/chat/channels/BaseChatChannelQueue.js +32 -32
  32. package/bin/chat/channels/BaseChatChannelQueue.js.map +1 -1
  33. package/bin/chat/channels/BaseChatChannelSupport.d.ts +14 -14
  34. package/bin/chat/channels/BaseChatChannelSupport.d.ts.map +1 -1
  35. package/bin/chat/channels/BaseChatChannelSupport.js +13 -13
  36. package/bin/chat/channels/BaseChatChannelSupport.js.map +1 -1
  37. package/bin/chat/channels/RuntimeChannel.d.ts +23 -28
  38. package/bin/chat/channels/RuntimeChannel.d.ts.map +1 -1
  39. package/bin/chat/channels/RuntimeChannel.js +39 -57
  40. package/bin/chat/channels/RuntimeChannel.js.map +1 -1
  41. package/bin/chat/channels/feishu/Feishu.d.ts +7 -7
  42. package/bin/chat/channels/feishu/Feishu.d.ts.map +1 -1
  43. package/bin/chat/channels/feishu/Feishu.js +31 -31
  44. package/bin/chat/channels/feishu/Feishu.js.map +1 -1
  45. package/bin/chat/channels/feishu/FeishuInbound.js +3 -3
  46. package/bin/chat/channels/feishu/FeishuInbound.js.map +1 -1
  47. package/bin/chat/channels/feishu/FeishuMessageHandler.d.ts +10 -10
  48. package/bin/chat/channels/feishu/FeishuMessageHandler.d.ts.map +1 -1
  49. package/bin/chat/channels/feishu/FeishuMessageHandler.js +17 -17
  50. package/bin/chat/channels/feishu/FeishuMessageHandler.js.map +1 -1
  51. package/bin/chat/channels/feishu/FeishuPlatformClient.d.ts +6 -6
  52. package/bin/chat/channels/feishu/FeishuPlatformClient.d.ts.map +1 -1
  53. package/bin/chat/channels/feishu/FeishuPlatformClient.js +9 -9
  54. package/bin/chat/channels/feishu/FeishuPlatformClient.js.map +1 -1
  55. package/bin/chat/channels/feishu/FeishuPlatformLookup.d.ts +1 -1
  56. package/bin/chat/channels/feishu/FeishuPlatformLookup.d.ts.map +1 -1
  57. package/bin/chat/channels/feishu/FeishuPlatformLookup.js +6 -6
  58. package/bin/chat/channels/feishu/FeishuPlatformLookup.js.map +1 -1
  59. package/bin/chat/channels/feishu/FeishuPlatformMessaging.d.ts +2 -2
  60. package/bin/chat/channels/feishu/FeishuPlatformMessaging.d.ts.map +1 -1
  61. package/bin/chat/channels/feishu/FeishuPlatformMessaging.js +7 -7
  62. package/bin/chat/channels/feishu/FeishuPlatformMessaging.js.map +1 -1
  63. package/bin/chat/channels/feishu/InboundAttachment.d.ts +1 -1
  64. package/bin/chat/channels/feishu/InboundAttachment.d.ts.map +1 -1
  65. package/bin/chat/channels/feishu/InboundAttachment.js +5 -5
  66. package/bin/chat/channels/feishu/InboundAttachment.js.map +1 -1
  67. package/bin/chat/channels/feishu/PostMessage.js +8 -8
  68. package/bin/chat/channels/feishu/PostMessage.js.map +1 -1
  69. package/bin/chat/channels/feishu/ReplyContext.d.ts +1 -1
  70. package/bin/chat/channels/feishu/ReplyContext.d.ts.map +1 -1
  71. package/bin/chat/channels/feishu/ReplyContext.js +2 -2
  72. package/bin/chat/channels/feishu/ReplyContext.js.map +1 -1
  73. package/bin/chat/channels/feishu/Shared.js +3 -3
  74. package/bin/chat/channels/feishu/Shared.js.map +1 -1
  75. package/bin/chat/channels/qq/PROMPT.direct.d.ts +1 -1
  76. package/bin/chat/channels/qq/PROMPT.direct.d.ts.map +1 -1
  77. package/bin/chat/channels/qq/PROMPT.direct.js +1 -1
  78. package/bin/chat/channels/qq/PROMPT.direct.js.map +1 -1
  79. package/bin/chat/channels/qq/QQ.d.ts +3 -3
  80. package/bin/chat/channels/qq/QQ.d.ts.map +1 -1
  81. package/bin/chat/channels/qq/QQ.js +20 -20
  82. package/bin/chat/channels/qq/QQ.js.map +1 -1
  83. package/bin/chat/channels/qq/QQEventCapture.d.ts +1 -1
  84. package/bin/chat/channels/qq/QQEventCapture.d.ts.map +1 -1
  85. package/bin/chat/channels/qq/QQEventCapture.js +3 -3
  86. package/bin/chat/channels/qq/QQEventCapture.js.map +1 -1
  87. package/bin/chat/channels/qq/QQGatewayAuth.d.ts +1 -1
  88. package/bin/chat/channels/qq/QQGatewayAuth.d.ts.map +1 -1
  89. package/bin/chat/channels/qq/QQGatewayClient.d.ts +2 -2
  90. package/bin/chat/channels/qq/QQGatewayClient.d.ts.map +1 -1
  91. package/bin/chat/channels/qq/QQGatewayClient.js +11 -11
  92. package/bin/chat/channels/qq/QQGatewayClient.js.map +1 -1
  93. package/bin/chat/channels/qq/QQGatewayConnection.d.ts +1 -1
  94. package/bin/chat/channels/qq/QQGatewayConnection.d.ts.map +1 -1
  95. package/bin/chat/channels/qq/QQGatewaySend.d.ts +2 -2
  96. package/bin/chat/channels/qq/QQGatewaySend.d.ts.map +1 -1
  97. package/bin/chat/channels/qq/QQGatewaySend.js +3 -3
  98. package/bin/chat/channels/qq/QQGatewaySend.js.map +1 -1
  99. package/bin/chat/channels/qq/QQInbound.js +5 -5
  100. package/bin/chat/channels/qq/QQInbound.js.map +1 -1
  101. package/bin/chat/channels/qq/QQInboundDedupe.d.ts +2 -2
  102. package/bin/chat/channels/qq/QQInboundDedupe.d.ts.map +1 -1
  103. package/bin/chat/channels/qq/QQInboundDedupe.js +5 -5
  104. package/bin/chat/channels/qq/QQInboundDedupe.js.map +1 -1
  105. package/bin/chat/channels/qq/QQMessageHandler.d.ts +9 -9
  106. package/bin/chat/channels/qq/QQMessageHandler.d.ts.map +1 -1
  107. package/bin/chat/channels/qq/QQMessageHandler.js +34 -34
  108. package/bin/chat/channels/qq/QQMessageHandler.js.map +1 -1
  109. package/bin/chat/channels/qq/QQSendSupport.js +2 -2
  110. package/bin/chat/channels/qq/QQSendSupport.js.map +1 -1
  111. package/bin/chat/channels/qq/QQSupport.d.ts +5 -5
  112. package/bin/chat/channels/qq/QQSupport.d.ts.map +1 -1
  113. package/bin/chat/channels/qq/QQSupport.js +5 -5
  114. package/bin/chat/channels/qq/QQSupport.js.map +1 -1
  115. package/bin/chat/channels/qq/types/QqChannel.d.ts +1 -1
  116. package/bin/chat/channels/qq/types/QqChannel.d.ts.map +1 -1
  117. package/bin/chat/channels/telegram/ApiClient.d.ts +2 -2
  118. package/bin/chat/channels/telegram/ApiClient.d.ts.map +1 -1
  119. package/bin/chat/channels/telegram/ApiClient.js +6 -6
  120. package/bin/chat/channels/telegram/ApiClient.js.map +1 -1
  121. package/bin/chat/channels/telegram/Bot.d.ts +4 -4
  122. package/bin/chat/channels/telegram/Bot.d.ts.map +1 -1
  123. package/bin/chat/channels/telegram/Bot.js +14 -14
  124. package/bin/chat/channels/telegram/Bot.js.map +1 -1
  125. package/bin/chat/channels/telegram/BotInfo.js +1 -1
  126. package/bin/chat/channels/telegram/BotInfo.js.map +1 -1
  127. package/bin/chat/channels/telegram/ReplyContext.js +3 -3
  128. package/bin/chat/channels/telegram/ReplyContext.js.map +1 -1
  129. package/bin/chat/channels/telegram/Shared.js +3 -3
  130. package/bin/chat/channels/telegram/Shared.js.map +1 -1
  131. package/bin/chat/channels/telegram/StateStore.d.ts +1 -1
  132. package/bin/chat/channels/telegram/StateStore.d.ts.map +1 -1
  133. package/bin/chat/channels/telegram/StateStore.js +2 -2
  134. package/bin/chat/channels/telegram/StateStore.js.map +1 -1
  135. package/bin/chat/channels/telegram/TelegramInbound.d.ts +3 -3
  136. package/bin/chat/channels/telegram/TelegramInbound.d.ts.map +1 -1
  137. package/bin/chat/channels/telegram/TelegramInbound.js +4 -4
  138. package/bin/chat/channels/telegram/TelegramInbound.js.map +1 -1
  139. package/bin/chat/channels/telegram/TelegramMessageHandler.d.ts +8 -8
  140. package/bin/chat/channels/telegram/TelegramMessageHandler.d.ts.map +1 -1
  141. package/bin/chat/channels/telegram/TelegramMessageHandler.js +25 -25
  142. package/bin/chat/channels/telegram/TelegramMessageHandler.js.map +1 -1
  143. package/bin/chat/channels/telegram/TelegramPendingUpdates.d.ts +2 -2
  144. package/bin/chat/channels/telegram/TelegramPendingUpdates.d.ts.map +1 -1
  145. package/bin/chat/channels/telegram/TelegramPendingUpdates.js +7 -7
  146. package/bin/chat/channels/telegram/TelegramPendingUpdates.js.map +1 -1
  147. package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts +4 -4
  148. package/bin/chat/channels/telegram/TelegramPlatformClient.d.ts.map +1 -1
  149. package/bin/chat/channels/telegram/TelegramPlatformClient.js +7 -7
  150. package/bin/chat/channels/telegram/TelegramPlatformClient.js.map +1 -1
  151. package/bin/chat/config/ChatPluginConfig.d.ts +67 -0
  152. package/bin/chat/config/ChatPluginConfig.d.ts.map +1 -0
  153. package/bin/chat/config/ChatPluginConfig.js +237 -0
  154. package/bin/chat/config/ChatPluginConfig.js.map +1 -0
  155. package/bin/chat/runtime/ChannelContextStore.d.ts +21 -21
  156. package/bin/chat/runtime/ChannelContextStore.d.ts.map +1 -1
  157. package/bin/chat/runtime/ChannelContextStore.js +74 -74
  158. package/bin/chat/runtime/ChannelContextStore.js.map +1 -1
  159. package/bin/chat/runtime/ChatActionExecution.d.ts +23 -23
  160. package/bin/chat/runtime/ChatActionExecution.d.ts.map +1 -1
  161. package/bin/chat/runtime/ChatActionExecution.js +70 -70
  162. package/bin/chat/runtime/ChatActionExecution.js.map +1 -1
  163. package/bin/chat/runtime/ChatActionInput.js +19 -19
  164. package/bin/chat/runtime/ChatActionInput.js.map +1 -1
  165. package/bin/chat/runtime/ChatChannelActions.d.ts +4 -4
  166. package/bin/chat/runtime/ChatChannelActions.d.ts.map +1 -1
  167. package/bin/chat/runtime/ChatChannelConfig.d.ts +4 -4
  168. package/bin/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
  169. package/bin/chat/runtime/ChatChannelConfig.js +9 -9
  170. package/bin/chat/runtime/ChatChannelConfig.js.map +1 -1
  171. package/bin/chat/runtime/ChatChannelCore.d.ts +11 -12
  172. package/bin/chat/runtime/ChatChannelCore.d.ts.map +1 -1
  173. package/bin/chat/runtime/ChatChannelCore.js +5 -17
  174. package/bin/chat/runtime/ChatChannelCore.js.map +1 -1
  175. package/bin/chat/runtime/ChatChannelLifecycle.d.ts +3 -3
  176. package/bin/chat/runtime/ChatChannelLifecycle.d.ts.map +1 -1
  177. package/bin/chat/runtime/ChatChannelLifecycle.js +5 -5
  178. package/bin/chat/runtime/ChatChannelLifecycle.js.map +1 -1
  179. package/bin/chat/runtime/ChatHistoryStore.d.ts +11 -11
  180. package/bin/chat/runtime/ChatHistoryStore.d.ts.map +1 -1
  181. package/bin/chat/runtime/ChatHistoryStore.js +26 -26
  182. package/bin/chat/runtime/ChatHistoryStore.js.map +1 -1
  183. package/bin/chat/runtime/ChatIngressStore.d.ts +4 -4
  184. package/bin/chat/runtime/ChatIngressStore.d.ts.map +1 -1
  185. package/bin/chat/runtime/ChatIngressStore.js +2 -2
  186. package/bin/chat/runtime/ChatIngressStore.js.map +1 -1
  187. package/bin/chat/runtime/ChatMetaStore.d.ts +19 -19
  188. package/bin/chat/runtime/ChatMetaStore.d.ts.map +1 -1
  189. package/bin/chat/runtime/ChatMetaStore.js +27 -27
  190. package/bin/chat/runtime/ChatMetaStore.js.map +1 -1
  191. package/bin/chat/runtime/ChatPluginActionRegistry.d.ts.map +1 -1
  192. package/bin/chat/runtime/ChatPluginActionRegistry.js +53 -59
  193. package/bin/chat/runtime/ChatPluginActionRegistry.js.map +1 -1
  194. package/bin/chat/runtime/ChatPluginSystem.d.ts +4 -4
  195. package/bin/chat/runtime/ChatPluginSystem.d.ts.map +1 -1
  196. package/bin/chat/runtime/ChatPluginSystem.js +5 -5
  197. package/bin/chat/runtime/ChatPluginSystem.js.map +1 -1
  198. package/bin/chat/runtime/ChatQueueReplyDispatch.d.ts +6 -6
  199. package/bin/chat/runtime/ChatQueueReplyDispatch.d.ts.map +1 -1
  200. package/bin/chat/runtime/ChatQueueReplyDispatch.js +41 -41
  201. package/bin/chat/runtime/ChatQueueReplyDispatch.js.map +1 -1
  202. package/bin/chat/runtime/ChatQueueStore.d.ts +3 -3
  203. package/bin/chat/runtime/ChatQueueStore.d.ts.map +1 -1
  204. package/bin/chat/runtime/ChatQueueStore.js +2 -2
  205. package/bin/chat/runtime/ChatQueueStore.js.map +1 -1
  206. package/bin/chat/runtime/ChatQueueWorker.d.ts +2 -2
  207. package/bin/chat/runtime/ChatQueueWorker.d.ts.map +1 -1
  208. package/bin/chat/runtime/ChatQueueWorker.js +30 -32
  209. package/bin/chat/runtime/ChatQueueWorker.js.map +1 -1
  210. package/bin/chat/runtime/ChatQueueWorkerSupport.d.ts +1 -1
  211. package/bin/chat/runtime/ChatQueueWorkerSupport.js +15 -15
  212. package/bin/chat/runtime/ChatQueueWorkerSupport.js.map +1 -1
  213. package/bin/chat/runtime/ChatSendActionInput.js +51 -51
  214. package/bin/chat/runtime/ChatSendActionInput.js.map +1 -1
  215. package/bin/chat/runtime/ChatSendMetadata.d.ts +1 -1
  216. package/bin/chat/runtime/ChatSendMetadata.js +12 -12
  217. package/bin/chat/runtime/ChatSendMetadata.js.map +1 -1
  218. package/bin/chat/runtime/ChatSendRegistry.d.ts +1 -1
  219. package/bin/chat/runtime/ChatSessionDelete.d.ts +7 -7
  220. package/bin/chat/runtime/ChatSessionDelete.d.ts.map +1 -1
  221. package/bin/chat/runtime/ChatSessionDelete.js +15 -15
  222. package/bin/chat/runtime/ChatSessionDelete.js.map +1 -1
  223. package/bin/chat/runtime/ChatStorage.d.ts +1 -1
  224. package/bin/chat/runtime/ChatStorage.js +3 -3
  225. package/bin/chat/runtime/ChatStorage.js.map +1 -1
  226. package/bin/chat/runtime/ChatkeySend.d.ts +21 -21
  227. package/bin/chat/runtime/ChatkeySend.d.ts.map +1 -1
  228. package/bin/chat/runtime/ChatkeySend.js +33 -33
  229. package/bin/chat/runtime/ChatkeySend.js.map +1 -1
  230. package/bin/chat/runtime/DirectDispatchParser.d.ts +2 -2
  231. package/bin/chat/runtime/DirectDispatchParser.js +20 -20
  232. package/bin/chat/runtime/DirectDispatchParser.js.map +1 -1
  233. package/bin/chat/runtime/EnqueueDispatch.d.ts +3 -3
  234. package/bin/chat/runtime/EnqueueDispatch.d.ts.map +1 -1
  235. package/bin/chat/runtime/InboundAugment.d.ts +3 -3
  236. package/bin/chat/runtime/InboundAugment.d.ts.map +1 -1
  237. package/bin/chat/runtime/InboundAugment.js +6 -6
  238. package/bin/chat/runtime/InboundAugment.js.map +1 -1
  239. package/bin/chat/runtime/QueuedUserMessage.js +5 -5
  240. package/bin/chat/runtime/QueuedUserMessage.js.map +1 -1
  241. package/bin/chat/runtime/ReplyContextFormatter.js +7 -7
  242. package/bin/chat/runtime/ReplyContextFormatter.js.map +1 -1
  243. package/bin/chat/runtime/ReplyDispatch.d.ts +7 -7
  244. package/bin/chat/runtime/ReplyDispatch.d.ts.map +1 -1
  245. package/bin/chat/runtime/ReplyDispatch.js +3 -3
  246. package/bin/chat/runtime/ReplyDispatch.js.map +1 -1
  247. package/bin/chat/runtime/SystemPrompt.d.ts +4 -4
  248. package/bin/chat/runtime/SystemPrompt.d.ts.map +1 -1
  249. package/bin/chat/runtime/SystemPrompt.js +10 -10
  250. package/bin/chat/runtime/SystemPrompt.js.map +1 -1
  251. package/bin/chat/types/ChannelContext.d.ts +11 -11
  252. package/bin/chat/types/ChannelContext.d.ts.map +1 -1
  253. package/bin/chat/types/ChannelContext.js +2 -2
  254. package/bin/chat/types/ChatCommand.d.ts +31 -31
  255. package/bin/chat/types/ChatCommand.d.ts.map +1 -1
  256. package/bin/chat/types/ChatDispatcher.d.ts +3 -3
  257. package/bin/chat/types/ChatDispatcher.d.ts.map +1 -1
  258. package/bin/chat/types/ChatHistory.d.ts +2 -2
  259. package/bin/chat/types/ChatHistory.d.ts.map +1 -1
  260. package/bin/chat/types/ChatMeta.d.ts +4 -4
  261. package/bin/chat/types/ChatMeta.d.ts.map +1 -1
  262. package/bin/chat/types/ChatMeta.js +1 -1
  263. package/bin/chat/types/ChatPlugin.d.ts +9 -9
  264. package/bin/chat/types/ChatPlugin.d.ts.map +1 -1
  265. package/bin/chat/types/ChatPluginActionPayload.d.ts +13 -13
  266. package/bin/chat/types/ChatPluginActionPayload.d.ts.map +1 -1
  267. package/bin/chat/types/ChatPluginOptions.d.ts +6 -6
  268. package/bin/chat/types/ChatPluginOptions.d.ts.map +1 -1
  269. package/bin/chat/types/ChatPluginResource.d.ts +68 -0
  270. package/bin/chat/types/ChatPluginResource.d.ts.map +1 -0
  271. package/bin/chat/types/ChatPluginResource.js +10 -0
  272. package/bin/chat/types/ChatPluginResource.js.map +1 -0
  273. package/bin/chat/types/ChatPromptContext.d.ts +8 -8
  274. package/bin/chat/types/ChatPromptContext.d.ts.map +1 -1
  275. package/bin/chat/types/ChatQueue.d.ts +2 -2
  276. package/bin/chat/types/ChatQueue.d.ts.map +1 -1
  277. package/bin/chat/types/ChatQueueWorker.d.ts +3 -3
  278. package/bin/chat/types/ChatQueueWorker.d.ts.map +1 -1
  279. package/bin/chat/types/ChatRuntimeAccount.d.ts +39 -0
  280. package/bin/chat/types/ChatRuntimeAccount.d.ts.map +1 -0
  281. package/bin/chat/types/ChatRuntimeAccount.js +10 -0
  282. package/bin/chat/types/ChatRuntimeAccount.js.map +1 -0
  283. package/bin/chat/types/DirectDispatch.d.ts +13 -13
  284. package/bin/chat/types/DirectDispatch.d.ts.map +1 -1
  285. package/bin/chat/types/DirectDispatch.js +1 -1
  286. package/bin/chat/types/FeishuInboundAttachment.d.ts +1 -1
  287. package/bin/chat/types/FeishuInboundAttachment.d.ts.map +1 -1
  288. package/bin/chat/types/QqInboundDedupe.d.ts +1 -1
  289. package/bin/chat/types/QqInboundDedupe.d.ts.map +1 -1
  290. package/bin/chat/types/ReplyContext.d.ts +1 -1
  291. package/bin/chat/types/ReplyContext.d.ts.map +1 -1
  292. package/bin/chat.d.ts +4 -3
  293. package/bin/chat.d.ts.map +1 -1
  294. package/bin/chat.js +2 -2
  295. package/bin/chat.js.map +1 -1
  296. package/bin/contact/Action.d.ts +11 -11
  297. package/bin/contact/Action.d.ts.map +1 -1
  298. package/bin/contact/Action.js +27 -27
  299. package/bin/contact/Action.js.map +1 -1
  300. package/bin/contact/ContactPlugin.js +33 -33
  301. package/bin/contact/ContactPlugin.js.map +1 -1
  302. package/bin/contact/runtime/ChatRuntime.d.ts +2 -2
  303. package/bin/contact/runtime/ChatRuntime.d.ts.map +1 -1
  304. package/bin/contact/runtime/ChatRuntime.js +8 -23
  305. package/bin/contact/runtime/ChatRuntime.js.map +1 -1
  306. package/bin/contact/runtime/ContactStore.d.ts +8 -8
  307. package/bin/contact/runtime/ContactStore.d.ts.map +1 -1
  308. package/bin/contact/runtime/ContactStore.js +24 -24
  309. package/bin/contact/runtime/ContactStore.js.map +1 -1
  310. package/bin/contact/runtime/InboxStore.d.ts +6 -6
  311. package/bin/contact/runtime/InboxStore.d.ts.map +1 -1
  312. package/bin/contact/runtime/InboxStore.js +16 -16
  313. package/bin/contact/runtime/InboxStore.js.map +1 -1
  314. package/bin/contact/runtime/LinkApproval.js +17 -17
  315. package/bin/contact/runtime/LinkApproval.js.map +1 -1
  316. package/bin/contact/runtime/LinkCode.d.ts +1 -1
  317. package/bin/contact/runtime/LinkCode.d.ts.map +1 -1
  318. package/bin/contact/runtime/LinkCode.js +6 -6
  319. package/bin/contact/runtime/LinkCode.js.map +1 -1
  320. package/bin/contact/runtime/LinkStore.d.ts +2 -2
  321. package/bin/contact/runtime/LinkStore.d.ts.map +1 -1
  322. package/bin/contact/runtime/LinkStore.js +7 -7
  323. package/bin/contact/runtime/LinkStore.js.map +1 -1
  324. package/bin/contact/runtime/Paths.d.ts +14 -14
  325. package/bin/contact/runtime/Paths.d.ts.map +1 -1
  326. package/bin/contact/runtime/Paths.js +28 -28
  327. package/bin/contact/runtime/Paths.js.map +1 -1
  328. package/bin/contact/runtime/RemoteClient.d.ts +1 -1
  329. package/bin/contact/runtime/RemoteClient.js +18 -18
  330. package/bin/contact/runtime/RemoteClient.js.map +1 -1
  331. package/bin/contact/runtime/ShareBundle.d.ts +3 -3
  332. package/bin/contact/runtime/ShareBundle.d.ts.map +1 -1
  333. package/bin/contact/runtime/ShareBundle.js +5 -5
  334. package/bin/contact/runtime/ShareBundle.js.map +1 -1
  335. package/bin/contact/types/Contact.d.ts +2 -2
  336. package/bin/contact/types/Contact.d.ts.map +1 -1
  337. package/bin/contact/types/ContactApproval.d.ts +2 -2
  338. package/bin/contact/types/ContactApproval.d.ts.map +1 -1
  339. package/bin/contact/types/ContactChat.d.ts +1 -1
  340. package/bin/contact/types/ContactChat.d.ts.map +1 -1
  341. package/bin/contact/types/ContactLink.d.ts +4 -4
  342. package/bin/contact/types/ContactLink.d.ts.map +1 -1
  343. package/bin/image/ImagePlugin.d.ts +3 -3
  344. package/bin/image/ImagePlugin.d.ts.map +1 -1
  345. package/bin/image/ImagePlugin.js +25 -10
  346. package/bin/image/ImagePlugin.js.map +1 -1
  347. package/bin/image/types/ImagePlugin.d.ts +3 -3
  348. package/bin/image/types/ImagePlugin.d.ts.map +1 -1
  349. package/bin/image/types/ImagePlugin.js +1 -1
  350. package/bin/memory/Action.d.ts +7 -7
  351. package/bin/memory/Action.d.ts.map +1 -1
  352. package/bin/memory/Action.js +11 -11
  353. package/bin/memory/Action.js.map +1 -1
  354. package/bin/memory/MemoryPlugin.d.ts +3 -3
  355. package/bin/memory/MemoryPlugin.d.ts.map +1 -1
  356. package/bin/memory/MemoryPlugin.js +21 -21
  357. package/bin/memory/MemoryPlugin.js.map +1 -1
  358. package/bin/memory/runtime/Search.d.ts +3 -3
  359. package/bin/memory/runtime/Search.d.ts.map +1 -1
  360. package/bin/memory/runtime/Search.js +2 -2
  361. package/bin/memory/runtime/Search.js.map +1 -1
  362. package/bin/memory/runtime/Store.d.ts +2 -2
  363. package/bin/memory/runtime/Store.d.ts.map +1 -1
  364. package/bin/memory/runtime/Store.js +1 -1
  365. package/bin/memory/runtime/Store.js.map +1 -1
  366. package/bin/memory/runtime/SystemProvider.d.ts +3 -3
  367. package/bin/memory/runtime/SystemProvider.d.ts.map +1 -1
  368. package/bin/memory/runtime/SystemProvider.js +1 -1
  369. package/bin/memory/runtime/SystemProvider.js.map +1 -1
  370. package/bin/memory/runtime/Writer.d.ts +8 -8
  371. package/bin/memory/runtime/Writer.d.ts.map +1 -1
  372. package/bin/memory/runtime/Writer.js +14 -14
  373. package/bin/memory/runtime/Writer.js.map +1 -1
  374. package/bin/memory/types/Memory.d.ts +3 -3
  375. package/bin/memory/types/Memory.d.ts.map +1 -1
  376. package/bin/skill/Action.d.ts +4 -4
  377. package/bin/skill/Action.d.ts.map +1 -1
  378. package/bin/skill/Action.js +9 -9
  379. package/bin/skill/Action.js.map +1 -1
  380. package/bin/skill/Plugin.js +16 -16
  381. package/bin/skill/Plugin.js.map +1 -1
  382. package/bin/skill/runtime/Discovery.d.ts +2 -2
  383. package/bin/skill/runtime/Discovery.d.ts.map +1 -1
  384. package/bin/skill/runtime/Discovery.js +3 -3
  385. package/bin/skill/runtime/Discovery.js.map +1 -1
  386. package/bin/skill/runtime/Paths.d.ts +1 -1
  387. package/bin/skill/runtime/Paths.d.ts.map +1 -1
  388. package/bin/skill/runtime/Paths.js +6 -6
  389. package/bin/skill/runtime/Paths.js.map +1 -1
  390. package/bin/skill/runtime/Store.d.ts +3 -3
  391. package/bin/skill/runtime/Store.d.ts.map +1 -1
  392. package/bin/skill/runtime/Store.js +19 -19
  393. package/bin/skill/runtime/Store.js.map +1 -1
  394. package/bin/skill/runtime/SystemProvider.d.ts +2 -2
  395. package/bin/skill/runtime/SystemProvider.d.ts.map +1 -1
  396. package/bin/skill/runtime/SystemProvider.js +4 -4
  397. package/bin/skill/runtime/SystemProvider.js.map +1 -1
  398. package/bin/skill/runtime/Types.d.ts +3 -3
  399. package/bin/skill/runtime/Types.d.ts.map +1 -1
  400. package/bin/sound/Plugin.d.ts +5 -5
  401. package/bin/sound/Plugin.d.ts.map +1 -1
  402. package/bin/sound/Plugin.js +23 -11
  403. package/bin/sound/Plugin.js.map +1 -1
  404. package/bin/task/Action.d.ts +10 -10
  405. package/bin/task/Action.d.ts.map +1 -1
  406. package/bin/task/Action.js +31 -31
  407. package/bin/task/Action.js.map +1 -1
  408. package/bin/task/PROMPT.d.ts +1 -1
  409. package/bin/task/PROMPT.d.ts.map +1 -1
  410. package/bin/task/PROMPT.js +1 -1
  411. package/bin/task/PROMPT.js.map +1 -1
  412. package/bin/task/Scheduler.d.ts +2 -2
  413. package/bin/task/Scheduler.d.ts.map +1 -1
  414. package/bin/task/Scheduler.js +8 -8
  415. package/bin/task/Scheduler.js.map +1 -1
  416. package/bin/task/TaskPlugin.d.ts +3 -3
  417. package/bin/task/TaskPlugin.d.ts.map +1 -1
  418. package/bin/task/TaskPlugin.js +23 -20
  419. package/bin/task/TaskPlugin.js.map +1 -1
  420. package/bin/task/runtime/Model.d.ts +2 -2
  421. package/bin/task/runtime/Model.d.ts.map +1 -1
  422. package/bin/task/runtime/Model.js +11 -11
  423. package/bin/task/runtime/Model.js.map +1 -1
  424. package/bin/task/runtime/Paths.d.ts +6 -6
  425. package/bin/task/runtime/Paths.d.ts.map +1 -1
  426. package/bin/task/runtime/Paths.js +11 -11
  427. package/bin/task/runtime/Paths.js.map +1 -1
  428. package/bin/task/runtime/Runner.d.ts +4 -4
  429. package/bin/task/runtime/Runner.d.ts.map +1 -1
  430. package/bin/task/runtime/Runner.js +17 -17
  431. package/bin/task/runtime/Runner.js.map +1 -1
  432. package/bin/task/runtime/Store.d.ts +7 -7
  433. package/bin/task/runtime/Store.d.ts.map +1 -1
  434. package/bin/task/runtime/Store.js +15 -15
  435. package/bin/task/runtime/Store.js.map +1 -1
  436. package/bin/task/runtime/TaskActionExecution.d.ts +12 -12
  437. package/bin/task/runtime/TaskActionExecution.d.ts.map +1 -1
  438. package/bin/task/runtime/TaskActionExecution.js +7 -7
  439. package/bin/task/runtime/TaskActionExecution.js.map +1 -1
  440. package/bin/task/runtime/TaskActionInput.js +10 -10
  441. package/bin/task/runtime/TaskActionInput.js.map +1 -1
  442. package/bin/task/runtime/TaskPluginActionRegistry.js +26 -26
  443. package/bin/task/runtime/TaskPluginActionRegistry.js.map +1 -1
  444. package/bin/task/runtime/TaskRunArtifacts.js +4 -4
  445. package/bin/task/runtime/TaskRunArtifacts.js.map +1 -1
  446. package/bin/task/runtime/TaskRunChatDispatch.d.ts +2 -2
  447. package/bin/task/runtime/TaskRunChatDispatch.d.ts.map +1 -1
  448. package/bin/task/runtime/TaskRunChatDispatch.js +7 -7
  449. package/bin/task/runtime/TaskRunChatDispatch.js.map +1 -1
  450. package/bin/task/runtime/TaskRunnerProgress.js +1 -1
  451. package/bin/task/runtime/TaskRunnerProgress.js.map +1 -1
  452. package/bin/task/runtime/TaskRunnerRound.d.ts +7 -7
  453. package/bin/task/runtime/TaskRunnerRound.d.ts.map +1 -1
  454. package/bin/task/runtime/TaskRunnerRound.js +34 -38
  455. package/bin/task/runtime/TaskRunnerRound.js.map +1 -1
  456. package/bin/task/runtime/TaskRunnerScript.d.ts +4 -4
  457. package/bin/task/runtime/TaskRunnerScript.d.ts.map +1 -1
  458. package/bin/task/runtime/TaskRunnerScript.js +1 -1
  459. package/bin/task/runtime/TaskRunnerScript.js.map +1 -1
  460. package/bin/task/runtime/TaskRunnerSession.d.ts +8 -8
  461. package/bin/task/runtime/TaskRunnerSession.d.ts.map +1 -1
  462. package/bin/task/runtime/TaskRunnerSession.js +52 -39
  463. package/bin/task/runtime/TaskRunnerSession.js.map +1 -1
  464. package/bin/task/runtime/TaskRunnerTypes.d.ts +5 -5
  465. package/bin/task/runtime/TaskRunnerTypes.d.ts.map +1 -1
  466. package/bin/task/types/Task.d.ts +4 -4
  467. package/bin/task/types/Task.d.ts.map +1 -1
  468. package/bin/task/types/TaskCommand.d.ts +3 -3
  469. package/bin/task/types/TaskCommand.d.ts.map +1 -1
  470. package/bin/web/Plugin.d.ts +2 -2
  471. package/bin/web/Plugin.d.ts.map +1 -1
  472. package/bin/web/Plugin.js +3 -3
  473. package/bin/web/Plugin.js.map +1 -1
  474. package/bin/workboard/Plugin.d.ts.map +1 -1
  475. package/bin/workboard/Plugin.js +6 -7
  476. package/bin/workboard/Plugin.js.map +1 -1
  477. package/bin/workboard/runtime/Collector.d.ts +2 -2
  478. package/bin/workboard/runtime/Collector.d.ts.map +1 -1
  479. package/bin/workboard/runtime/Collector.js +4 -4
  480. package/bin/workboard/runtime/Collector.js.map +1 -1
  481. package/bin/workboard/runtime/Normalizer.d.ts +3 -3
  482. package/bin/workboard/runtime/Normalizer.d.ts.map +1 -1
  483. package/bin/workboard/runtime/Normalizer.js +11 -11
  484. package/bin/workboard/runtime/Normalizer.js.map +1 -1
  485. package/bin/workboard/runtime/SessionSummary.d.ts +5 -5
  486. package/bin/workboard/runtime/SessionSummary.d.ts.map +1 -1
  487. package/bin/workboard/runtime/SessionSummary.js +4 -4
  488. package/bin/workboard/runtime/SessionSummary.js.map +1 -1
  489. package/bin/workboard/runtime/Store.d.ts +5 -5
  490. package/bin/workboard/runtime/Store.d.ts.map +1 -1
  491. package/bin/workboard/runtime/Store.js.map +1 -1
  492. package/bin/workboard/types/Workboard.d.ts +2 -2
  493. package/bin/workboard/types/Workboard.d.ts.map +1 -1
  494. package/bin/workboard/types/Workboard.js +1 -1
  495. package/package.json +3 -3
  496. package/scripts/chat-access.test.mjs +2 -2
  497. package/scripts/chat-channel-config.test.mjs +25 -3
  498. package/scripts/chat-storage.test.mjs +7 -7
  499. package/scripts/skill-plugin.test.mjs +4 -4
  500. package/scripts/sound-plugin.test.mjs +12 -8
  501. package/scripts/web-plugin.test.mjs +4 -4
  502. package/src/chat/Action.ts +154 -153
  503. package/src/chat/ChatPlugin.ts +12 -12
  504. package/src/chat/Index.ts +12 -0
  505. package/src/chat/PROMPT.direct.ts +1 -1
  506. package/src/chat/access/ChatAccessActions.ts +6 -6
  507. package/src/chat/access/ChatAccessRuntime.ts +5 -5
  508. package/src/chat/access/ChatAccessStore.ts +5 -5
  509. package/src/chat/channels/BaseChatChannel.ts +32 -32
  510. package/src/chat/channels/BaseChatChannelQueue.ts +38 -38
  511. package/src/chat/channels/BaseChatChannelSupport.ts +25 -25
  512. package/src/chat/channels/RuntimeChannel.ts +53 -74
  513. package/src/chat/channels/feishu/Feishu.ts +35 -35
  514. package/src/chat/channels/feishu/FeishuInbound.ts +3 -3
  515. package/src/chat/channels/feishu/FeishuMessageHandler.ts +29 -29
  516. package/src/chat/channels/feishu/FeishuPlatformClient.ts +15 -15
  517. package/src/chat/channels/feishu/FeishuPlatformLookup.ts +7 -7
  518. package/src/chat/channels/feishu/FeishuPlatformMessaging.ts +7 -7
  519. package/src/chat/channels/feishu/InboundAttachment.ts +6 -6
  520. package/src/chat/channels/feishu/PostMessage.ts +8 -8
  521. package/src/chat/channels/feishu/ReplyContext.ts +3 -3
  522. package/src/chat/channels/feishu/Shared.ts +3 -3
  523. package/src/chat/channels/qq/PROMPT.direct.ts +1 -1
  524. package/src/chat/channels/qq/QQ.ts +26 -26
  525. package/src/chat/channels/qq/QQEventCapture.ts +3 -3
  526. package/src/chat/channels/qq/QQGatewayAuth.ts +1 -1
  527. package/src/chat/channels/qq/QQGatewayClient.ts +12 -12
  528. package/src/chat/channels/qq/QQGatewayConnection.ts +1 -1
  529. package/src/chat/channels/qq/QQGatewaySend.ts +6 -6
  530. package/src/chat/channels/qq/QQInbound.ts +5 -5
  531. package/src/chat/channels/qq/QQInboundDedupe.ts +6 -6
  532. package/src/chat/channels/qq/QQMessageHandler.ts +43 -43
  533. package/src/chat/channels/qq/QQSendSupport.ts +2 -2
  534. package/src/chat/channels/qq/QQSupport.ts +10 -10
  535. package/src/chat/channels/qq/types/QqChannel.ts +1 -1
  536. package/src/chat/channels/telegram/ApiClient.ts +7 -7
  537. package/src/chat/channels/telegram/Bot.ts +17 -17
  538. package/src/chat/channels/telegram/BotInfo.ts +1 -1
  539. package/src/chat/channels/telegram/ReplyContext.ts +3 -3
  540. package/src/chat/channels/telegram/Shared.ts +3 -3
  541. package/src/chat/channels/telegram/StateStore.ts +2 -2
  542. package/src/chat/channels/telegram/TelegramInbound.ts +4 -4
  543. package/src/chat/channels/telegram/TelegramMessageHandler.ts +35 -35
  544. package/src/chat/channels/telegram/TelegramPendingUpdates.ts +9 -9
  545. package/src/chat/channels/telegram/TelegramPlatformClient.ts +11 -11
  546. package/src/chat/config/ChatPluginConfig.ts +266 -0
  547. package/src/chat/runtime/ChannelContextStore.ts +88 -88
  548. package/src/chat/runtime/ChatActionExecution.ts +87 -87
  549. package/src/chat/runtime/ChatActionInput.ts +19 -19
  550. package/src/chat/runtime/ChatChannelActions.ts +4 -4
  551. package/src/chat/runtime/ChatChannelConfig.ts +14 -14
  552. package/src/chat/runtime/ChatChannelCore.ts +17 -26
  553. package/src/chat/runtime/ChatChannelLifecycle.ts +12 -12
  554. package/src/chat/runtime/ChatHistoryStore.ts +39 -39
  555. package/src/chat/runtime/ChatIngressStore.ts +6 -6
  556. package/src/chat/runtime/ChatMetaStore.ts +37 -37
  557. package/src/chat/runtime/ChatPluginActionRegistry.ts +56 -62
  558. package/src/chat/runtime/ChatPluginSystem.ts +9 -9
  559. package/src/chat/runtime/ChatQueueReplyDispatch.ts +47 -47
  560. package/src/chat/runtime/ChatQueueStore.ts +4 -4
  561. package/src/chat/runtime/ChatQueueWorker.ts +38 -44
  562. package/src/chat/runtime/ChatQueueWorkerSupport.ts +18 -18
  563. package/src/chat/runtime/ChatSendActionInput.ts +53 -53
  564. package/src/chat/runtime/ChatSendMetadata.ts +15 -15
  565. package/src/chat/runtime/ChatSendRegistry.ts +1 -1
  566. package/src/chat/runtime/ChatSessionDelete.ts +19 -19
  567. package/src/chat/runtime/ChatStorage.ts +3 -3
  568. package/src/chat/runtime/ChatkeySend.ts +43 -43
  569. package/src/chat/runtime/DirectDispatchParser.ts +21 -21
  570. package/src/chat/runtime/EnqueueDispatch.ts +3 -3
  571. package/src/chat/runtime/InboundAugment.ts +8 -8
  572. package/src/chat/runtime/QueuedUserMessage.ts +6 -6
  573. package/src/chat/runtime/ReplyContextFormatter.ts +6 -6
  574. package/src/chat/runtime/ReplyDispatch.ts +9 -9
  575. package/src/chat/runtime/SystemPrompt.ts +14 -14
  576. package/src/chat/types/ChannelContext.ts +11 -11
  577. package/src/chat/types/ChatCommand.ts +31 -31
  578. package/src/chat/types/ChatDispatcher.ts +3 -3
  579. package/src/chat/types/ChatHistory.ts +2 -2
  580. package/src/chat/types/ChatMeta.ts +4 -4
  581. package/src/chat/types/ChatPlugin.ts +9 -9
  582. package/src/chat/types/ChatPluginActionPayload.ts +13 -13
  583. package/src/chat/types/ChatPluginOptions.ts +6 -6
  584. package/src/chat/types/ChatPluginResource.ts +95 -0
  585. package/src/chat/types/ChatPromptContext.ts +8 -8
  586. package/src/chat/types/ChatQueue.ts +2 -2
  587. package/src/chat/types/ChatQueueWorker.ts +3 -3
  588. package/src/chat/types/ChatRuntimeAccount.ts +52 -0
  589. package/src/chat/types/DirectDispatch.ts +13 -13
  590. package/src/chat/types/FeishuInboundAttachment.ts +1 -1
  591. package/src/chat/types/QqInboundDedupe.ts +1 -1
  592. package/src/chat/types/ReplyContext.ts +1 -1
  593. package/src/chat.ts +13 -3
  594. package/src/contact/Action.ts +40 -40
  595. package/src/contact/ContactPlugin.ts +49 -49
  596. package/src/contact/runtime/ChatRuntime.ts +10 -26
  597. package/src/contact/runtime/ContactStore.ts +24 -24
  598. package/src/contact/runtime/InboxStore.ts +16 -16
  599. package/src/contact/runtime/LinkApproval.ts +19 -19
  600. package/src/contact/runtime/LinkCode.ts +7 -7
  601. package/src/contact/runtime/LinkStore.ts +7 -7
  602. package/src/contact/runtime/Paths.ts +28 -28
  603. package/src/contact/runtime/RemoteClient.ts +19 -19
  604. package/src/contact/runtime/ShareBundle.ts +8 -8
  605. package/src/contact/types/Contact.ts +2 -2
  606. package/src/contact/types/ContactApproval.ts +2 -2
  607. package/src/contact/types/ContactChat.ts +1 -1
  608. package/src/contact/types/ContactLink.ts +4 -4
  609. package/src/image/ImagePlugin.ts +32 -16
  610. package/src/image/types/ImagePlugin.ts +3 -3
  611. package/src/memory/Action.ts +18 -18
  612. package/src/memory/MemoryPlugin.ts +25 -25
  613. package/src/memory/runtime/Search.ts +6 -6
  614. package/src/memory/runtime/Store.ts +3 -3
  615. package/src/memory/runtime/SystemProvider.ts +4 -4
  616. package/src/memory/runtime/Writer.ts +24 -24
  617. package/src/memory/types/Memory.ts +3 -3
  618. package/src/skill/Action.ts +10 -10
  619. package/src/skill/Plugin.ts +16 -16
  620. package/src/skill/runtime/Discovery.ts +3 -3
  621. package/src/skill/runtime/Paths.ts +6 -6
  622. package/src/skill/runtime/Store.ts +19 -19
  623. package/src/skill/runtime/SystemProvider.ts +5 -5
  624. package/src/skill/runtime/Types.ts +3 -3
  625. package/src/sound/Plugin.ts +31 -18
  626. package/src/task/Action.ts +40 -40
  627. package/src/task/PROMPT.ts +1 -1
  628. package/src/task/Scheduler.ts +10 -10
  629. package/src/task/TaskPlugin.ts +32 -30
  630. package/src/task/runtime/Model.ts +12 -12
  631. package/src/task/runtime/Paths.ts +11 -11
  632. package/src/task/runtime/Runner.ts +21 -21
  633. package/src/task/runtime/Store.ts +21 -21
  634. package/src/task/runtime/TaskActionExecution.ts +19 -19
  635. package/src/task/runtime/TaskActionInput.ts +10 -10
  636. package/src/task/runtime/TaskPluginActionRegistry.ts +27 -27
  637. package/src/task/runtime/TaskRunArtifacts.ts +4 -4
  638. package/src/task/runtime/TaskRunChatDispatch.ts +9 -9
  639. package/src/task/runtime/TaskRunnerProgress.ts +1 -1
  640. package/src/task/runtime/TaskRunnerRound.ts +47 -42
  641. package/src/task/runtime/TaskRunnerScript.ts +5 -5
  642. package/src/task/runtime/TaskRunnerSession.ts +58 -46
  643. package/src/task/runtime/TaskRunnerTypes.ts +5 -5
  644. package/src/task/types/Task.ts +4 -4
  645. package/src/task/types/TaskCommand.ts +3 -3
  646. package/src/web/Plugin.ts +5 -5
  647. package/src/workboard/Plugin.ts +8 -9
  648. package/src/workboard/runtime/Collector.ts +6 -6
  649. package/src/workboard/runtime/Normalizer.ts +14 -14
  650. package/src/workboard/runtime/SessionSummary.ts +9 -9
  651. package/src/workboard/runtime/Store.ts +6 -6
  652. package/src/workboard/types/Workboard.ts +2 -2
  653. package/bin/chat/accounts/ChannelAccountManager.d.ts +0 -61
  654. package/bin/chat/accounts/ChannelAccountManager.d.ts.map +0 -1
  655. package/bin/chat/accounts/ChannelAccountManager.js +0 -264
  656. package/bin/chat/accounts/ChannelAccountManager.js.map +0 -1
  657. package/bin/chat/accounts/Crypto.d.ts +0 -20
  658. package/bin/chat/accounts/Crypto.d.ts.map +0 -1
  659. package/bin/chat/accounts/Crypto.js +0 -75
  660. package/bin/chat/accounts/Crypto.js.map +0 -1
  661. package/bin/chat/accounts/Store.d.ts +0 -38
  662. package/bin/chat/accounts/Store.d.ts.map +0 -1
  663. package/bin/chat/accounts/Store.js +0 -220
  664. package/bin/chat/accounts/Store.js.map +0 -1
  665. package/bin/chat/channels/Configuration.d.ts +0 -27
  666. package/bin/chat/channels/Configuration.d.ts.map +0 -1
  667. package/bin/chat/channels/Configuration.js +0 -19
  668. package/bin/chat/channels/Configuration.js.map +0 -1
  669. package/bin/chat/channels/ConfigurationRegistry.d.ts +0 -18
  670. package/bin/chat/channels/ConfigurationRegistry.d.ts.map +0 -1
  671. package/bin/chat/channels/ConfigurationRegistry.js +0 -31
  672. package/bin/chat/channels/ConfigurationRegistry.js.map +0 -1
  673. package/bin/chat/channels/feishu/Configuration.d.ts +0 -17
  674. package/bin/chat/channels/feishu/Configuration.d.ts.map +0 -1
  675. package/bin/chat/channels/feishu/Configuration.js +0 -59
  676. package/bin/chat/channels/feishu/Configuration.js.map +0 -1
  677. package/bin/chat/channels/qq/Configuration.d.ts +0 -17
  678. package/bin/chat/channels/qq/Configuration.d.ts.map +0 -1
  679. package/bin/chat/channels/qq/Configuration.js +0 -59
  680. package/bin/chat/channels/qq/Configuration.js.map +0 -1
  681. package/bin/chat/channels/telegram/Configuration.d.ts +0 -17
  682. package/bin/chat/channels/telegram/Configuration.d.ts.map +0 -1
  683. package/bin/chat/channels/telegram/Configuration.js +0 -59
  684. package/bin/chat/channels/telegram/Configuration.js.map +0 -1
  685. package/bin/chat/types/ChannelAccount.d.ts +0 -226
  686. package/bin/chat/types/ChannelAccount.d.ts.map +0 -1
  687. package/bin/chat/types/ChannelAccount.js +0 -9
  688. package/bin/chat/types/ChannelAccount.js.map +0 -1
  689. package/bin/chat/types/ChannelConfiguration.d.ts +0 -146
  690. package/bin/chat/types/ChannelConfiguration.d.ts.map +0 -1
  691. package/bin/chat/types/ChannelConfiguration.js +0 -9
  692. package/bin/chat/types/ChannelConfiguration.js.map +0 -1
  693. package/src/chat/accounts/ChannelAccountManager.ts +0 -314
  694. package/src/chat/accounts/Crypto.ts +0 -83
  695. package/src/chat/accounts/Store.ts +0 -287
  696. package/src/chat/channels/Configuration.ts +0 -35
  697. package/src/chat/channels/ConfigurationRegistry.ts +0 -43
  698. package/src/chat/channels/feishu/Configuration.ts +0 -65
  699. package/src/chat/channels/qq/Configuration.ts +0 -64
  700. package/src/chat/channels/telegram/Configuration.ts +0 -65
  701. package/src/chat/types/ChannelAccount.ts +0 -232
  702. package/src/chat/types/ChannelConfiguration.ts +0 -160
@@ -6,29 +6,13 @@
6
6
  * - 远端收到 chat 后运行本地 agent session,并返回 assistant 文本。
7
7
  */
8
8
 
9
- import type { AgentContext } from "@downcity/agent";
9
+ import type { PluginContext } from "@downcity/agent";
10
10
  import type { ContactChatResponse } from "@/contact/types/ContactChat.js";
11
- import type { SessionRecordV1 } from "@downcity/agent";
12
11
  import {
13
12
  appendContactMessage,
14
13
  findContactByInboundToken,
15
14
  } from "./ContactStore.js";
16
15
 
17
- function extractMessageText(message: SessionRecordV1 | null | undefined): string {
18
- const parts = Array.isArray((message as { parts?: unknown } | null)?.parts)
19
- ? ((message as { parts: unknown[] }).parts)
20
- : [];
21
- return parts
22
- .map((part) => {
23
- if (!part || typeof part !== "object") return "";
24
- const item = part as { type?: unknown; text?: unknown };
25
- return item.type === "text" ? String(item.text || "") : "";
26
- })
27
- .filter(Boolean)
28
- .join("\n")
29
- .trim();
30
- }
31
-
32
16
  /**
33
17
  * 处理远端 contact chat 消息。
34
18
  */
@@ -36,7 +20,7 @@ export async function receiveContactChatMessage(params: {
36
20
  /**
37
21
  * 当前 agent context。
38
22
  */
39
- context: AgentContext;
23
+ context: PluginContext;
40
24
  /**
41
25
  * 入站 contact token。
42
26
  */
@@ -46,7 +30,7 @@ export async function receiveContactChatMessage(params: {
46
30
  */
47
31
  message: string;
48
32
  }): Promise<ContactChatResponse> {
49
- const contact = await findContactByInboundToken(params.context.rootPath, params.token);
33
+ const contact = await findContactByInboundToken(params.context.workspace_path, params.token);
50
34
  if (!contact || contact.status !== "trusted") {
51
35
  return {
52
36
  success: false,
@@ -57,22 +41,22 @@ export async function receiveContactChatMessage(params: {
57
41
  }
58
42
 
59
43
  const now = Date.now();
60
- await appendContactMessage(params.context.rootPath, contact.id, {
44
+ await appendContactMessage(params.context.workspace_path, contact.id, {
61
45
  role: "remote",
62
46
  text: params.message,
63
- createdAt: now,
47
+ created_at: now,
64
48
  });
65
49
 
66
- const sessionId = `contact_${contact.id}`;
67
- const turn = await params.context.sessions.runtime(sessionId).prompt({
50
+ const session_id = `contact_${contact.id}`;
51
+ const turn = await params.context.sessions.runtime(session_id).prompt({
68
52
  query: params.message,
69
53
  });
70
54
  const result = await turn.finished;
71
- const reply = extractMessageText(result.assistantMessage);
72
- await appendContactMessage(params.context.rootPath, contact.id, {
55
+ const reply = result.text.trim();
56
+ await appendContactMessage(params.context.workspace_path, contact.id, {
73
57
  role: "local",
74
58
  text: reply,
75
- createdAt: Date.now(),
59
+ created_at: Date.now(),
76
60
  });
77
61
 
78
62
  return {
@@ -110,7 +110,7 @@ function normalizeStoredContact(input: unknown): AgentContact | null {
110
110
  status: isContactStatus(item.status) ? item.status : "trusted",
111
111
  outboundToken,
112
112
  inboundTokenHash,
113
- createdAt: normalizeOptionalTimestamp(item.createdAt) ?? 0,
113
+ created_at: normalizeOptionalTimestamp(item.created_at) ?? 0,
114
114
  ...(normalizeOptionalTimestamp(item.lastSeenAt) !== undefined
115
115
  ? { lastSeenAt: normalizeOptionalTimestamp(item.lastSeenAt) }
116
116
  : {}),
@@ -147,7 +147,7 @@ export function normalizeContactEndpoint(endpoint: string): string {
147
147
  * 保存 contact。
148
148
  */
149
149
  export async function saveContact(
150
- projectRoot: string,
150
+ project_root: string,
151
151
  contact: AgentContact,
152
152
  ): Promise<AgentContact> {
153
153
  const normalized: AgentContact = {
@@ -159,7 +159,7 @@ export async function saveContact(
159
159
  status: contact.status || "trusted",
160
160
  outboundToken: contact.outboundToken || null,
161
161
  inboundTokenHash: contact.inboundTokenHash || null,
162
- createdAt: contact.createdAt || Date.now(),
162
+ created_at: contact.created_at || Date.now(),
163
163
  };
164
164
  if (!normalized.name) throw new Error("contact name is required");
165
165
  if (normalized.reachability !== "inbound" && !normalized.endpoint) {
@@ -171,11 +171,11 @@ export async function saveContact(
171
171
  if (normalized.reachability !== "outbound" && !normalized.inboundTokenHash) {
172
172
  throw new Error("contact inbound token hash is required for inbound contacts");
173
173
  }
174
- await fs.ensureDir(getContactDirectoryPath(projectRoot, normalized.id));
175
- await fs.writeJson(getContactJsonPath(projectRoot, normalized.id), normalized, {
174
+ await fs.ensureDir(getContactDirectoryPath(project_root, normalized.id));
175
+ await fs.writeJson(getContactJsonPath(project_root, normalized.id), normalized, {
176
176
  spaces: 2,
177
177
  });
178
- await fs.ensureFile(getContactMessagesPath(projectRoot, normalized.id));
178
+ await fs.ensureFile(getContactMessagesPath(project_root, normalized.id));
179
179
  return normalized;
180
180
  }
181
181
 
@@ -183,10 +183,10 @@ export async function saveContact(
183
183
  * 读取 contact。
184
184
  */
185
185
  export async function readContact(
186
- projectRoot: string,
186
+ project_root: string,
187
187
  contactId: string,
188
188
  ): Promise<AgentContact | null> {
189
- const filePath = getContactJsonPath(projectRoot, contactId);
189
+ const filePath = getContactJsonPath(project_root, contactId);
190
190
  if (!(await fs.pathExists(filePath))) return null;
191
191
  const raw = await fs.readJson(filePath).catch(() => null);
192
192
  // 关键点(中文):读取时归一化可恢复字段,避免一次局部写入让已收到的 contact 在列表中消失。
@@ -196,14 +196,14 @@ export async function readContact(
196
196
  /**
197
197
  * 列出全部 contact。
198
198
  */
199
- export async function listContacts(projectRoot: string): Promise<AgentContact[]> {
200
- const root = getContactsRootPath(projectRoot);
199
+ export async function listContacts(project_root: string): Promise<AgentContact[]> {
200
+ const root = getContactsRootPath(project_root);
201
201
  if (!(await fs.pathExists(root))) return [];
202
202
  const entries = await fs.readdir(root, { withFileTypes: true });
203
203
  const contacts: AgentContact[] = [];
204
204
  for (const entry of entries) {
205
205
  if (!entry.isDirectory()) continue;
206
- const contact = await readContact(projectRoot, entry.name);
206
+ const contact = await readContact(project_root, entry.name);
207
207
  if (contact) contacts.push(contact);
208
208
  }
209
209
  return contacts.sort((a, b) => a.name.localeCompare(b.name));
@@ -213,12 +213,12 @@ export async function listContacts(projectRoot: string): Promise<AgentContact[]>
213
213
  * 按 id/name 查找 contact。
214
214
  */
215
215
  export async function findContact(
216
- projectRoot: string,
216
+ project_root: string,
217
217
  query: string,
218
218
  ): Promise<AgentContact | null> {
219
219
  const value = String(query || "").trim();
220
220
  if (!value) return null;
221
- const contacts = await listContacts(projectRoot);
221
+ const contacts = await listContacts(project_root);
222
222
  const lower = value.toLowerCase();
223
223
  return (
224
224
  contacts.find((item) => item.id.toLowerCase() === lower) ||
@@ -232,25 +232,25 @@ export async function findContact(
232
232
  * 根据入站 token 查找 contact。
233
233
  */
234
234
  export async function findContactByInboundToken(
235
- projectRoot: string,
235
+ project_root: string,
236
236
  token: string,
237
237
  ): Promise<AgentContact | null> {
238
- const tokenHash = hashContactToken(token);
239
- const contacts = await listContacts(projectRoot);
240
- return contacts.find((item) => item.inboundTokenHash === tokenHash) || null;
238
+ const token_hash = hashContactToken(token);
239
+ const contacts = await listContacts(project_root);
240
+ return contacts.find((item) => item.inboundTokenHash === token_hash) || null;
241
241
  }
242
242
 
243
243
  /**
244
244
  * 更新 contact 最近在线时间。
245
245
  */
246
246
  export async function touchContactSeen(
247
- projectRoot: string,
247
+ project_root: string,
248
248
  contactId: string,
249
249
  seenAt: number = Date.now(),
250
250
  ): Promise<AgentContact | null> {
251
- const contact = await readContact(projectRoot, contactId);
251
+ const contact = await readContact(project_root, contactId);
252
252
  if (!contact) return null;
253
- return await saveContact(projectRoot, {
253
+ return await saveContact(project_root, {
254
254
  ...contact,
255
255
  lastSeenAt: seenAt,
256
256
  });
@@ -260,11 +260,11 @@ export async function touchContactSeen(
260
260
  * 追加 contact chat 消息。
261
261
  */
262
262
  export async function appendContactMessage(
263
- projectRoot: string,
263
+ project_root: string,
264
264
  contactId: string,
265
265
  message: ContactChatMessage,
266
266
  ): Promise<void> {
267
- const filePath = getContactMessagesPath(projectRoot, contactId);
267
+ const filePath = getContactMessagesPath(project_root, contactId);
268
268
  await fs.ensureDir(path.dirname(filePath));
269
269
  await fs.appendFile(filePath, `${JSON.stringify(message)}\n`, "utf-8");
270
270
  }
@@ -273,10 +273,10 @@ export async function appendContactMessage(
273
273
  * 读取 contact chat 历史。
274
274
  */
275
275
  export async function readContactMessages(
276
- projectRoot: string,
276
+ project_root: string,
277
277
  contactId: string,
278
278
  ): Promise<ContactChatMessage[]> {
279
- const filePath = getContactMessagesPath(projectRoot, contactId);
279
+ const filePath = getContactMessagesPath(project_root, contactId);
280
280
  if (!(await fs.pathExists(filePath))) return [];
281
281
  const text = await fs.readFile(filePath, "utf-8");
282
282
  const out: ContactChatMessage[] = [];
@@ -52,11 +52,11 @@ function isMeta(input: unknown): input is ContactInboxShareMeta {
52
52
  * 保存 inbox share。
53
53
  */
54
54
  export async function saveContactInboxShare(
55
- projectRoot: string,
55
+ project_root: string,
56
56
  input: SaveContactInboxShareInput,
57
57
  ): Promise<ContactInboxShareMeta> {
58
- const inboxRoot = getContactInboxRootPath(projectRoot);
59
- const sharePath = getContactInboxSharePath(projectRoot, input.meta.id);
58
+ const inboxRoot = getContactInboxRootPath(project_root);
59
+ const sharePath = getContactInboxSharePath(project_root, input.meta.id);
60
60
  const tempRoot = path.join(path.dirname(inboxRoot), ".inbox-tmp");
61
61
  const tempPath = path.join(
62
62
  tempRoot,
@@ -103,10 +103,10 @@ export async function saveContactInboxShare(
103
103
  * 读取 inbox share meta。
104
104
  */
105
105
  export async function readContactInboxShareMeta(
106
- projectRoot: string,
106
+ project_root: string,
107
107
  shareId: string,
108
108
  ): Promise<ContactInboxShareMeta | null> {
109
- const filePath = getContactInboxShareMetaPath(projectRoot, shareId);
109
+ const filePath = getContactInboxShareMetaPath(project_root, shareId);
110
110
  if (!(await fs.pathExists(filePath))) return null;
111
111
  const raw = await fs.readJson(filePath).catch(() => null);
112
112
  return isMeta(raw) ? raw : null;
@@ -116,10 +116,10 @@ export async function readContactInboxShareMeta(
116
116
  * 读取 inbox share payload。
117
117
  */
118
118
  export async function readContactInboxSharePayload(
119
- projectRoot: string,
119
+ project_root: string,
120
120
  shareId: string,
121
121
  ): Promise<ContactInboxSharePayload | null> {
122
- const filePath = getContactInboxSharePayloadPath(projectRoot, shareId);
122
+ const filePath = getContactInboxSharePayloadPath(project_root, shareId);
123
123
  if (!(await fs.pathExists(filePath))) return null;
124
124
  const raw = await fs.readJson(filePath).catch(() => null);
125
125
  if (!raw || typeof raw !== "object" || Array.isArray(raw)) return null;
@@ -131,15 +131,15 @@ export async function readContactInboxSharePayload(
131
131
  * 列出 inbox share。
132
132
  */
133
133
  export async function listContactInboxShares(
134
- projectRoot: string,
134
+ project_root: string,
135
135
  ): Promise<ContactInboxShareMeta[]> {
136
- const root = getContactInboxRootPath(projectRoot);
136
+ const root = getContactInboxRootPath(project_root);
137
137
  if (!(await fs.pathExists(root))) return [];
138
138
  const entries = await fs.readdir(root, { withFileTypes: true });
139
139
  const shares: ContactInboxShareMeta[] = [];
140
140
  for (const entry of entries) {
141
141
  if (!entry.isDirectory()) continue;
142
- const meta = await readContactInboxShareMeta(projectRoot, entry.name);
142
+ const meta = await readContactInboxShareMeta(project_root, entry.name);
143
143
  if (meta) shares.push(meta);
144
144
  }
145
145
  return shares.sort((a, b) => b.receivedAt - a.receivedAt);
@@ -149,22 +149,22 @@ export async function listContactInboxShares(
149
149
  * 标记 share 已接收,并复制轻量状态到 received。
150
150
  */
151
151
  export async function markContactInboxShareReceived(
152
- projectRoot: string,
152
+ project_root: string,
153
153
  shareId: string,
154
154
  ): Promise<ContactInboxShareMeta> {
155
- const meta = await readContactInboxShareMeta(projectRoot, shareId);
155
+ const meta = await readContactInboxShareMeta(project_root, shareId);
156
156
  if (!meta) throw new Error(`Share not found: ${shareId}`);
157
157
  const next: ContactInboxShareMeta = {
158
158
  ...meta,
159
159
  status: "received",
160
160
  };
161
- const receivedPath = getContactReceivedSharePath(projectRoot, shareId);
161
+ const receivedPath = getContactReceivedSharePath(project_root, shareId);
162
162
  await fs.ensureDir(receivedPath);
163
163
  await fs.writeJson(path.join(receivedPath, "meta.json"), next, {
164
164
  spaces: 2,
165
165
  });
166
166
  // received 区先完整写入,最后再更新 inbox meta,避免列表状态提前变成 received。
167
- await fs.writeJson(getContactInboxShareMetaPath(projectRoot, shareId), next, {
167
+ await fs.writeJson(getContactInboxShareMetaPath(project_root, shareId), next, {
168
168
  spaces: 2,
169
169
  });
170
170
  return next;
@@ -173,6 +173,6 @@ export async function markContactInboxShareReceived(
173
173
  /**
174
174
  * 读取 share 文件根目录。
175
175
  */
176
- export function getInboxShareFilesRoot(projectRoot: string, shareId: string): string {
177
- return getContactInboxShareFilesPath(projectRoot, shareId);
176
+ export function getInboxShareFilesRoot(project_root: string, shareId: string): string {
177
+ return getContactInboxShareFilesPath(project_root, shareId);
178
178
  }
@@ -99,31 +99,31 @@ function readCallbackCandidate(
99
99
  }
100
100
 
101
101
  async function findApprovedContact(params: {
102
- projectRoot: string;
102
+ project_root: string;
103
103
  agentName: string;
104
104
  }) {
105
105
  const stable = await readContact(
106
- params.projectRoot,
106
+ params.project_root,
107
107
  createStableContactId(params.agentName),
108
108
  );
109
109
  if (stable) return stable;
110
- const contacts = await listContacts(params.projectRoot);
110
+ const contacts = await listContacts(params.project_root);
111
111
  const lower = params.agentName.trim().toLowerCase();
112
112
  return contacts.find((item) => item.name.toLowerCase() === lower) || null;
113
113
  }
114
114
 
115
115
  async function saveApprovedInboundContact(params: {
116
- projectRoot: string;
116
+ project_root: string;
117
117
  agentName: string;
118
118
  tokenForOwner: string;
119
119
  nowMs: number;
120
120
  }) {
121
121
  const existing = await findApprovedContact({
122
- projectRoot: params.projectRoot,
122
+ project_root: params.project_root,
123
123
  agentName: params.agentName,
124
124
  });
125
125
  const hasOutboundSide = Boolean(existing?.endpoint && existing?.outboundToken);
126
- await saveContact(params.projectRoot, {
126
+ await saveContact(params.project_root, {
127
127
  id: existing?.id || createStableContactId(params.agentName),
128
128
  name: existing?.name || params.agentName,
129
129
  endpoint: existing?.endpoint || null,
@@ -131,7 +131,7 @@ async function saveApprovedInboundContact(params: {
131
131
  status: "trusted",
132
132
  outboundToken: existing?.outboundToken || null,
133
133
  inboundTokenHash: hashContactToken(params.tokenForOwner),
134
- createdAt: existing?.createdAt || params.nowMs,
134
+ created_at: existing?.created_at || params.nowMs,
135
135
  lastSeenAt: params.nowMs,
136
136
  });
137
137
  }
@@ -143,7 +143,7 @@ export async function approveContactLinkRequest(
143
143
  input: ApproveContactLinkRequestInput,
144
144
  ): Promise<ContactApproveLinkResponse> {
145
145
  const nowMs = input.nowMs ?? Date.now();
146
- const link = await readContactLinkRecord(input.projectRoot, input.request.linkId);
146
+ const link = await readContactLinkRecord(input.project_root, input.request.linkId);
147
147
  if (!link) {
148
148
  return failure({
149
149
  ownerAgentName: input.ownerAgentName,
@@ -151,7 +151,7 @@ export async function approveContactLinkRequest(
151
151
  error: CONTACT_LINK_NOT_FOUND_ERROR,
152
152
  });
153
153
  }
154
- if (link.expiresAt <= nowMs) {
154
+ if (link.expires_at <= nowMs) {
155
155
  return failure({
156
156
  ownerAgentName: input.ownerAgentName,
157
157
  endpoint: link.endpoint,
@@ -185,10 +185,10 @@ export async function approveContactLinkRequest(
185
185
  tokenForRequester: callbackCandidate.token,
186
186
  callbackReason: input.request.callbackReason || link.callbackReason || null,
187
187
  };
188
- await saveContactLinkRecord(input.projectRoot, nextLink);
188
+ await saveContactLinkRecord(input.project_root, nextLink);
189
189
  }
190
190
  await saveApprovedInboundContact({
191
- projectRoot: input.projectRoot,
191
+ project_root: input.project_root,
192
192
  agentName: input.request.agentName,
193
193
  tokenForOwner: link.tokenForOwner,
194
194
  nowMs,
@@ -219,9 +219,9 @@ export async function approveContactLinkRequest(
219
219
  };
220
220
 
221
221
  // 先消费 link,再派生 contact;重试时以 link 记录为来源修复 contact,避免孤儿 trusted contact。
222
- await saveContactLinkRecord(input.projectRoot, approvedLink);
222
+ await saveContactLinkRecord(input.project_root, approvedLink);
223
223
  await saveApprovedInboundContact({
224
- projectRoot: input.projectRoot,
224
+ project_root: input.project_root,
225
225
  agentName: input.request.agentName,
226
226
  tokenForOwner,
227
227
  nowMs,
@@ -242,14 +242,14 @@ export async function confirmContactLinkRequest(
242
242
  input: ConfirmContactLinkRequestInput,
243
243
  ): Promise<ContactConfirmResponse> {
244
244
  const nowMs = input.nowMs ?? Date.now();
245
- const link = await readContactLinkRecord(input.projectRoot, input.request.linkId);
245
+ const link = await readContactLinkRecord(input.project_root, input.request.linkId);
246
246
  if (!link) {
247
247
  return confirmFailure({
248
248
  ownerAgentName: input.ownerAgentName,
249
249
  error: CONTACT_LINK_NOT_FOUND_ERROR,
250
250
  });
251
251
  }
252
- if (!link.usedAt && link.expiresAt <= nowMs) {
252
+ if (!link.usedAt && link.expires_at <= nowMs) {
253
253
  return confirmFailure({
254
254
  ownerAgentName: input.ownerAgentName,
255
255
  error: "Contact link expired",
@@ -309,7 +309,7 @@ export async function confirmContactLinkRequest(
309
309
  });
310
310
  }
311
311
  const contact = await findApprovedContact({
312
- projectRoot: input.projectRoot,
312
+ project_root: input.project_root,
313
313
  agentName: input.request.agentName,
314
314
  });
315
315
  if (!contact || contact.status !== "trusted") {
@@ -332,7 +332,7 @@ export async function confirmContactLinkRequest(
332
332
  ) {
333
333
  if (!link.confirmedAt) {
334
334
  // contact 已经完成双向升级时,重试 confirm 需要补齐 link 状态,避免最终状态分裂。
335
- await saveContactLinkRecord(input.projectRoot, {
335
+ await saveContactLinkRecord(input.project_root, {
336
336
  ...link,
337
337
  approvedEndpoint: endpoint,
338
338
  tokenForRequester: token,
@@ -363,7 +363,7 @@ export async function confirmContactLinkRequest(
363
363
  };
364
364
  }
365
365
 
366
- await saveContact(input.projectRoot, {
366
+ await saveContact(input.project_root, {
367
367
  ...contact,
368
368
  endpoint,
369
369
  reachability: "bidirectional",
@@ -371,7 +371,7 @@ export async function confirmContactLinkRequest(
371
371
  inboundTokenHash: contact.inboundTokenHash,
372
372
  lastSeenAt: nowMs,
373
373
  });
374
- await saveContactLinkRecord(input.projectRoot, {
374
+ await saveContactLinkRecord(input.project_root, {
375
375
  ...link,
376
376
  approvedEndpoint: endpoint,
377
377
  tokenForRequester: token,
@@ -22,12 +22,12 @@ function decodeJson(input: string): ContactLinkCodePayload {
22
22
  const agentName = String(parsed.agentName || "").trim();
23
23
  const endpoint = String(parsed.endpoint || "").trim();
24
24
  const secret = String(parsed.secret || "").trim();
25
- const createdAt = Number(parsed.createdAt);
26
- const expiresAt = Number(parsed.expiresAt);
25
+ const created_at = Number(parsed.created_at);
26
+ const expires_at = Number(parsed.expires_at);
27
27
  if (!linkId || !agentName || !endpoint || !secret) {
28
28
  throw new Error("Invalid contact link code");
29
29
  }
30
- if (!Number.isFinite(createdAt) || !Number.isFinite(expiresAt)) {
30
+ if (!Number.isFinite(created_at) || !Number.isFinite(expires_at)) {
31
31
  throw new Error("Invalid contact link timestamps");
32
32
  }
33
33
  return {
@@ -36,8 +36,8 @@ function decodeJson(input: string): ContactLinkCodePayload {
36
36
  agentName,
37
37
  endpoint,
38
38
  secret,
39
- createdAt,
40
- expiresAt,
39
+ created_at,
40
+ expires_at,
41
41
  };
42
42
  }
43
43
 
@@ -63,8 +63,8 @@ export function parseContactLinkCode(code: string): ContactLinkCodePayload {
63
63
  * 判断 link code 是否过期。
64
64
  */
65
65
  export function isContactLinkExpired(
66
- payload: Pick<ContactLinkCodePayload, "expiresAt">,
66
+ payload: Pick<ContactLinkCodePayload, "expires_at">,
67
67
  nowMs: number = Date.now(),
68
68
  ): boolean {
69
- return Number(payload.expiresAt) <= nowMs;
69
+ return Number(payload.expires_at) <= nowMs;
70
70
  }
@@ -18,8 +18,8 @@ function isLinkRecord(input: unknown): input is ContactLinkRecord {
18
18
  typeof item.agentName === "string" &&
19
19
  typeof item.endpoint === "string" &&
20
20
  typeof item.secretHash === "string" &&
21
- typeof item.createdAt === "number" &&
22
- typeof item.expiresAt === "number",
21
+ typeof item.created_at === "number" &&
22
+ typeof item.expires_at === "number",
23
23
  );
24
24
  }
25
25
 
@@ -27,11 +27,11 @@ function isLinkRecord(input: unknown): input is ContactLinkRecord {
27
27
  * 保存 link 记录。
28
28
  */
29
29
  export async function saveContactLinkRecord(
30
- projectRoot: string,
30
+ project_root: string,
31
31
  record: ContactLinkRecord,
32
32
  ): Promise<void> {
33
- await fs.ensureDir(getContactLinksRootPath(projectRoot));
34
- await fs.writeJson(getContactLinkPath(projectRoot, record.id), record, {
33
+ await fs.ensureDir(getContactLinksRootPath(project_root));
34
+ await fs.writeJson(getContactLinkPath(project_root, record.id), record, {
35
35
  spaces: 2,
36
36
  });
37
37
  }
@@ -40,10 +40,10 @@ export async function saveContactLinkRecord(
40
40
  * 读取 link 记录。
41
41
  */
42
42
  export async function readContactLinkRecord(
43
- projectRoot: string,
43
+ project_root: string,
44
44
  linkId: string,
45
45
  ): Promise<ContactLinkRecord | null> {
46
- const filePath = getContactLinkPath(projectRoot, linkId);
46
+ const filePath = getContactLinkPath(project_root, linkId);
47
47
  if (!(await fs.pathExists(filePath))) return null;
48
48
  const raw = await fs.readJson(filePath).catch(() => null);
49
49
  return isLinkRecord(raw) ? raw : null;