@yunzai-ng/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +51 -0
  3. package/dist/adapter/accounts.d.ts +174 -0
  4. package/dist/adapter/accounts.d.ts.map +1 -0
  5. package/dist/adapter/accounts.js +653 -0
  6. package/dist/adapter/accounts.js.map +1 -0
  7. package/dist/adapter/bots.d.ts +142 -0
  8. package/dist/adapter/bots.d.ts.map +1 -0
  9. package/dist/adapter/bots.js +454 -0
  10. package/dist/adapter/bots.js.map +1 -0
  11. package/dist/adapter/host.d.ts +114 -0
  12. package/dist/adapter/host.d.ts.map +1 -0
  13. package/dist/adapter/host.js +90 -0
  14. package/dist/adapter/host.js.map +1 -0
  15. package/dist/adapter/login.d.ts +174 -0
  16. package/dist/adapter/login.d.ts.map +1 -0
  17. package/dist/adapter/login.js +345 -0
  18. package/dist/adapter/login.js.map +1 -0
  19. package/dist/adapter/registry.d.ts +102 -0
  20. package/dist/adapter/registry.d.ts.map +1 -0
  21. package/dist/adapter/registry.js +150 -0
  22. package/dist/adapter/registry.js.map +1 -0
  23. package/dist/config/core-config.d.ts +151 -0
  24. package/dist/config/core-config.d.ts.map +1 -0
  25. package/dist/config/core-config.js +338 -0
  26. package/dist/config/core-config.js.map +1 -0
  27. package/dist/config/schema.d.ts +449 -0
  28. package/dist/config/schema.d.ts.map +1 -0
  29. package/dist/config/schema.js +871 -0
  30. package/dist/config/schema.js.map +1 -0
  31. package/dist/config/store.d.ts +184 -0
  32. package/dist/config/store.d.ts.map +1 -0
  33. package/dist/config/store.js +428 -0
  34. package/dist/config/store.js.map +1 -0
  35. package/dist/config/yaml.d.ts +23 -0
  36. package/dist/config/yaml.d.ts.map +1 -0
  37. package/dist/config/yaml.js +108 -0
  38. package/dist/config/yaml.js.map +1 -0
  39. package/dist/http/client.d.ts +82 -0
  40. package/dist/http/client.d.ts.map +1 -0
  41. package/dist/http/client.js +658 -0
  42. package/dist/http/client.js.map +1 -0
  43. package/dist/index.d.ts +77 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +94 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/kernel/app.d.ts +244 -0
  48. package/dist/kernel/app.d.ts.map +1 -0
  49. package/dist/kernel/app.js +654 -0
  50. package/dist/kernel/app.js.map +1 -0
  51. package/dist/kernel/kv-sink.d.ts +34 -0
  52. package/dist/kernel/kv-sink.d.ts.map +1 -0
  53. package/dist/kernel/kv-sink.js +25 -0
  54. package/dist/kernel/kv-sink.js.map +1 -0
  55. package/dist/kernel/policy.d.ts +77 -0
  56. package/dist/kernel/policy.d.ts.map +1 -0
  57. package/dist/kernel/policy.js +99 -0
  58. package/dist/kernel/policy.js.map +1 -0
  59. package/dist/kernel/runtime.d.ts +117 -0
  60. package/dist/kernel/runtime.d.ts.map +1 -0
  61. package/dist/kernel/runtime.js +197 -0
  62. package/dist/kernel/runtime.js.map +1 -0
  63. package/dist/kernel/sql-sink.d.ts +36 -0
  64. package/dist/kernel/sql-sink.d.ts.map +1 -0
  65. package/dist/kernel/sql-sink.js +114 -0
  66. package/dist/kernel/sql-sink.js.map +1 -0
  67. package/dist/logger/format.d.ts +67 -0
  68. package/dist/logger/format.d.ts.map +1 -0
  69. package/dist/logger/format.js +218 -0
  70. package/dist/logger/format.js.map +1 -0
  71. package/dist/logger/index.d.ts +97 -0
  72. package/dist/logger/index.d.ts.map +1 -0
  73. package/dist/logger/index.js +363 -0
  74. package/dist/logger/index.js.map +1 -0
  75. package/dist/logger/rotate.d.ts +47 -0
  76. package/dist/logger/rotate.d.ts.map +1 -0
  77. package/dist/logger/rotate.js +242 -0
  78. package/dist/logger/rotate.js.map +1 -0
  79. package/dist/message/segment.d.ts +255 -0
  80. package/dist/message/segment.d.ts.map +1 -0
  81. package/dist/message/segment.js +510 -0
  82. package/dist/message/segment.js.map +1 -0
  83. package/dist/message/split.d.ts +34 -0
  84. package/dist/message/split.d.ts.map +1 -0
  85. package/dist/message/split.js +79 -0
  86. package/dist/message/split.js.map +1 -0
  87. package/dist/message/target.d.ts +29 -0
  88. package/dist/message/target.d.ts.map +1 -0
  89. package/dist/message/target.js +34 -0
  90. package/dist/message/target.js.map +1 -0
  91. package/dist/pipeline/cooldown.d.ts +84 -0
  92. package/dist/pipeline/cooldown.d.ts.map +1 -0
  93. package/dist/pipeline/cooldown.js +94 -0
  94. package/dist/pipeline/cooldown.js.map +1 -0
  95. package/dist/pipeline/dispatch.d.ts +98 -0
  96. package/dist/pipeline/dispatch.d.ts.map +1 -0
  97. package/dist/pipeline/dispatch.js +323 -0
  98. package/dist/pipeline/dispatch.js.map +1 -0
  99. package/dist/pipeline/event.d.ts +130 -0
  100. package/dist/pipeline/event.d.ts.map +1 -0
  101. package/dist/pipeline/event.js +538 -0
  102. package/dist/pipeline/event.js.map +1 -0
  103. package/dist/pipeline/middleware.d.ts +63 -0
  104. package/dist/pipeline/middleware.d.ts.map +1 -0
  105. package/dist/pipeline/middleware.js +174 -0
  106. package/dist/pipeline/middleware.js.map +1 -0
  107. package/dist/pipeline/prompt.d.ts +80 -0
  108. package/dist/pipeline/prompt.d.ts.map +1 -0
  109. package/dist/pipeline/prompt.js +155 -0
  110. package/dist/pipeline/prompt.js.map +1 -0
  111. package/dist/pipeline/router.d.ts +98 -0
  112. package/dist/pipeline/router.d.ts.map +1 -0
  113. package/dist/pipeline/router.js +489 -0
  114. package/dist/pipeline/router.js.map +1 -0
  115. package/dist/platform/detect.d.ts +24 -0
  116. package/dist/platform/detect.d.ts.map +1 -0
  117. package/dist/platform/detect.js +178 -0
  118. package/dist/platform/detect.js.map +1 -0
  119. package/dist/platform/paths.d.ts +38 -0
  120. package/dist/platform/paths.d.ts.map +1 -0
  121. package/dist/platform/paths.js +129 -0
  122. package/dist/platform/paths.js.map +1 -0
  123. package/dist/platform/system.d.ts +71 -0
  124. package/dist/platform/system.d.ts.map +1 -0
  125. package/dist/platform/system.js +242 -0
  126. package/dist/platform/system.js.map +1 -0
  127. package/dist/plugin/context.d.ts +92 -0
  128. package/dist/plugin/context.d.ts.map +1 -0
  129. package/dist/plugin/context.js +573 -0
  130. package/dist/plugin/context.js.map +1 -0
  131. package/dist/plugin/define.d.ts +92 -0
  132. package/dist/plugin/define.d.ts.map +1 -0
  133. package/dist/plugin/define.js +82 -0
  134. package/dist/plugin/define.js.map +1 -0
  135. package/dist/plugin/discover.d.ts +106 -0
  136. package/dist/plugin/discover.d.ts.map +1 -0
  137. package/dist/plugin/discover.js +254 -0
  138. package/dist/plugin/discover.js.map +1 -0
  139. package/dist/plugin/events.d.ts +109 -0
  140. package/dist/plugin/events.d.ts.map +1 -0
  141. package/dist/plugin/events.js +209 -0
  142. package/dist/plugin/events.js.map +1 -0
  143. package/dist/plugin/hooks.d.ts +266 -0
  144. package/dist/plugin/hooks.d.ts.map +1 -0
  145. package/dist/plugin/hooks.js +84 -0
  146. package/dist/plugin/hooks.js.map +1 -0
  147. package/dist/plugin/host.d.ts +160 -0
  148. package/dist/plugin/host.d.ts.map +1 -0
  149. package/dist/plugin/host.js +546 -0
  150. package/dist/plugin/host.js.map +1 -0
  151. package/dist/plugin/market.d.ts +264 -0
  152. package/dist/plugin/market.d.ts.map +1 -0
  153. package/dist/plugin/market.js +700 -0
  154. package/dist/plugin/market.js.map +1 -0
  155. package/dist/plugin/services.d.ts +116 -0
  156. package/dist/plugin/services.d.ts.map +1 -0
  157. package/dist/plugin/services.js +213 -0
  158. package/dist/plugin/services.js.map +1 -0
  159. package/dist/plugin/tar.d.ts +65 -0
  160. package/dist/plugin/tar.d.ts.map +1 -0
  161. package/dist/plugin/tar.js +277 -0
  162. package/dist/plugin/tar.js.map +1 -0
  163. package/dist/render/registry.d.ts +127 -0
  164. package/dist/render/registry.d.ts.map +1 -0
  165. package/dist/render/registry.js +306 -0
  166. package/dist/render/registry.js.map +1 -0
  167. package/dist/scheduler/index.d.ts +67 -0
  168. package/dist/scheduler/index.d.ts.map +1 -0
  169. package/dist/scheduler/index.js +279 -0
  170. package/dist/scheduler/index.js.map +1 -0
  171. package/dist/server/api.d.ts +179 -0
  172. package/dist/server/api.d.ts.map +1 -0
  173. package/dist/server/api.js +602 -0
  174. package/dist/server/api.js.map +1 -0
  175. package/dist/server/auth.d.ts +83 -0
  176. package/dist/server/auth.d.ts.map +1 -0
  177. package/dist/server/auth.js +178 -0
  178. package/dist/server/auth.js.map +1 -0
  179. package/dist/server/browse.d.ts +60 -0
  180. package/dist/server/browse.d.ts.map +1 -0
  181. package/dist/server/browse.js +187 -0
  182. package/dist/server/browse.js.map +1 -0
  183. package/dist/server/files.d.ts +27 -0
  184. package/dist/server/files.d.ts.map +1 -0
  185. package/dist/server/files.js +76 -0
  186. package/dist/server/files.js.map +1 -0
  187. package/dist/server/index.d.ts +189 -0
  188. package/dist/server/index.d.ts.map +1 -0
  189. package/dist/server/index.js +1123 -0
  190. package/dist/server/index.js.map +1 -0
  191. package/dist/server/table.d.ts +105 -0
  192. package/dist/server/table.d.ts.map +1 -0
  193. package/dist/server/table.js +289 -0
  194. package/dist/server/table.js.map +1 -0
  195. package/dist/store/index.d.ts +50 -0
  196. package/dist/store/index.d.ts.map +1 -0
  197. package/dist/store/index.js +120 -0
  198. package/dist/store/index.js.map +1 -0
  199. package/dist/store/json.d.ts +73 -0
  200. package/dist/store/json.d.ts.map +1 -0
  201. package/dist/store/json.js +174 -0
  202. package/dist/store/json.js.map +1 -0
  203. package/dist/store/kv.d.ts +126 -0
  204. package/dist/store/kv.d.ts.map +1 -0
  205. package/dist/store/kv.js +232 -0
  206. package/dist/store/kv.js.map +1 -0
  207. package/dist/store/level.d.ts +103 -0
  208. package/dist/store/level.d.ts.map +1 -0
  209. package/dist/store/level.js +119 -0
  210. package/dist/store/level.js.map +1 -0
  211. package/dist/store/memory.d.ts +61 -0
  212. package/dist/store/memory.d.ts.map +1 -0
  213. package/dist/store/memory.js +94 -0
  214. package/dist/store/memory.js.map +1 -0
  215. package/dist/store/sql.d.ts +142 -0
  216. package/dist/store/sql.d.ts.map +1 -0
  217. package/dist/store/sql.js +246 -0
  218. package/dist/store/sql.js.map +1 -0
  219. package/dist/testing/fake.d.ts +109 -0
  220. package/dist/testing/fake.d.ts.map +1 -0
  221. package/dist/testing/fake.js +196 -0
  222. package/dist/testing/fake.js.map +1 -0
  223. package/dist/testing/index.d.ts +16 -0
  224. package/dist/testing/index.d.ts.map +1 -0
  225. package/dist/testing/index.js +16 -0
  226. package/dist/testing/index.js.map +1 -0
  227. package/dist/testing/mock-adapter.d.ts +205 -0
  228. package/dist/testing/mock-adapter.d.ts.map +1 -0
  229. package/dist/testing/mock-adapter.js +309 -0
  230. package/dist/testing/mock-adapter.js.map +1 -0
  231. package/dist/util/deep.d.ts +108 -0
  232. package/dist/util/deep.d.ts.map +1 -0
  233. package/dist/util/deep.js +275 -0
  234. package/dist/util/deep.js.map +1 -0
  235. package/dist/util/defer.d.ts +107 -0
  236. package/dist/util/defer.d.ts.map +1 -0
  237. package/dist/util/defer.js +163 -0
  238. package/dist/util/defer.js.map +1 -0
  239. package/dist/util/dispose.d.ts +88 -0
  240. package/dist/util/dispose.d.ts.map +1 -0
  241. package/dist/util/dispose.js +143 -0
  242. package/dist/util/dispose.js.map +1 -0
  243. package/dist/util/duration.d.ts +28 -0
  244. package/dist/util/duration.d.ts.map +1 -0
  245. package/dist/util/duration.js +77 -0
  246. package/dist/util/duration.js.map +1 -0
  247. package/dist/util/fs.d.ts +110 -0
  248. package/dist/util/fs.d.ts.map +1 -0
  249. package/dist/util/fs.js +269 -0
  250. package/dist/util/fs.js.map +1 -0
  251. package/dist/util/id.d.ts +49 -0
  252. package/dist/util/id.d.ts.map +1 -0
  253. package/dist/util/id.js +87 -0
  254. package/dist/util/id.js.map +1 -0
  255. package/dist/util/lru.d.ts +74 -0
  256. package/dist/util/lru.d.ts.map +1 -0
  257. package/dist/util/lru.js +156 -0
  258. package/dist/util/lru.js.map +1 -0
  259. package/dist/util/queue.d.ts +64 -0
  260. package/dist/util/queue.d.ts.map +1 -0
  261. package/dist/util/queue.js +147 -0
  262. package/dist/util/queue.js.map +1 -0
  263. package/dist/util/text.d.ts +86 -0
  264. package/dist/util/text.d.ts.map +1 -0
  265. package/dist/util/text.js +182 -0
  266. package/dist/util/text.js.map +1 -0
  267. package/package.json +44 -0
  268. package/src/adapter/accounts.ts +758 -0
  269. package/src/adapter/bots.ts +582 -0
  270. package/src/adapter/host.ts +224 -0
  271. package/src/adapter/login.ts +481 -0
  272. package/src/adapter/registry.ts +202 -0
  273. package/src/config/core-config.test.ts +60 -0
  274. package/src/config/core-config.ts +401 -0
  275. package/src/config/schema.test.ts +179 -0
  276. package/src/config/schema.ts +1036 -0
  277. package/src/config/store.test.ts +245 -0
  278. package/src/config/store.ts +506 -0
  279. package/src/config/yaml.ts +119 -0
  280. package/src/http/client.test.ts +568 -0
  281. package/src/http/client.ts +777 -0
  282. package/src/index.ts +106 -0
  283. package/src/kernel/app.test.ts +267 -0
  284. package/src/kernel/app.ts +843 -0
  285. package/src/kernel/kv-sink.ts +58 -0
  286. package/src/kernel/policy.ts +120 -0
  287. package/src/kernel/runtime.test.ts +542 -0
  288. package/src/kernel/runtime.ts +307 -0
  289. package/src/kernel/sql-sink.ts +154 -0
  290. package/src/logger/format.ts +259 -0
  291. package/src/logger/index.ts +427 -0
  292. package/src/logger/rotate.ts +265 -0
  293. package/src/message/segment.test.ts +335 -0
  294. package/src/message/segment.ts +569 -0
  295. package/src/message/split.ts +97 -0
  296. package/src/message/target.ts +48 -0
  297. package/src/pipeline/cooldown.ts +136 -0
  298. package/src/pipeline/dispatch.ts +419 -0
  299. package/src/pipeline/event.ts +735 -0
  300. package/src/pipeline/middleware.test.ts +426 -0
  301. package/src/pipeline/middleware.ts +199 -0
  302. package/src/pipeline/prompt.ts +212 -0
  303. package/src/pipeline/router.test.ts +432 -0
  304. package/src/pipeline/router.ts +575 -0
  305. package/src/platform/detect.ts +178 -0
  306. package/src/platform/paths.ts +147 -0
  307. package/src/platform/system.test.ts +102 -0
  308. package/src/platform/system.ts +289 -0
  309. package/src/plugin/context.test.ts +459 -0
  310. package/src/plugin/context.ts +757 -0
  311. package/src/plugin/define.test.ts +120 -0
  312. package/src/plugin/define.ts +142 -0
  313. package/src/plugin/discover.test.ts +253 -0
  314. package/src/plugin/discover.ts +353 -0
  315. package/src/plugin/events.test.ts +162 -0
  316. package/src/plugin/events.ts +266 -0
  317. package/src/plugin/hooks.ts +373 -0
  318. package/src/plugin/host.test.ts +696 -0
  319. package/src/plugin/host.ts +738 -0
  320. package/src/plugin/market.test.ts +781 -0
  321. package/src/plugin/market.ts +870 -0
  322. package/src/plugin/services.test.ts +135 -0
  323. package/src/plugin/services.ts +261 -0
  324. package/src/plugin/tar.test.ts +158 -0
  325. package/src/plugin/tar.ts +309 -0
  326. package/src/render/registry.test.ts +127 -0
  327. package/src/render/registry.ts +439 -0
  328. package/src/scheduler/index.ts +357 -0
  329. package/src/server/api.test.ts +802 -0
  330. package/src/server/api.ts +869 -0
  331. package/src/server/auth.ts +201 -0
  332. package/src/server/browse.test.ts +193 -0
  333. package/src/server/browse.ts +240 -0
  334. package/src/server/files.ts +97 -0
  335. package/src/server/index.test.ts +566 -0
  336. package/src/server/index.ts +1386 -0
  337. package/src/server/table.ts +351 -0
  338. package/src/store/index.ts +156 -0
  339. package/src/store/json.ts +198 -0
  340. package/src/store/kv.test.ts +307 -0
  341. package/src/store/kv.ts +256 -0
  342. package/src/store/level.ts +167 -0
  343. package/src/store/memory.ts +109 -0
  344. package/src/store/sql.test.ts +204 -0
  345. package/src/store/sql.ts +324 -0
  346. package/src/testing/fake.ts +297 -0
  347. package/src/testing/index.ts +15 -0
  348. package/src/testing/mock-adapter.ts +588 -0
  349. package/src/util/deep.ts +272 -0
  350. package/src/util/defer.ts +211 -0
  351. package/src/util/dispose.ts +169 -0
  352. package/src/util/duration.ts +82 -0
  353. package/src/util/fs.ts +279 -0
  354. package/src/util/id.ts +94 -0
  355. package/src/util/lru.ts +185 -0
  356. package/src/util/queue.ts +167 -0
  357. package/src/util/text.ts +189 -0
@@ -0,0 +1,255 @@
1
+ import type { AtAllSegment, AtSegment, ContactSegment, DiceSegment, FaceSegment, FileSegment, ForwardNode, ForwardSegment, ImageSegment, JsonSegment, KeyboardButton, KeyboardSegment, LocationSegment, MarkdownSegment, MediaInput, MediaRef, MessageContent, MusicSegment, PokeSegment, RawSegment, RecordSegment, ReplySegment, RpsSegment, Segment, SegmentType, ShareSegment, TextSegment, VideoSegment, XmlSegment } from "@yunzai-ng/types";
2
+ /**
3
+ * 把宽松的媒体输入归一化成 `MediaRef`
4
+ *
5
+ * 识别顺序:已归一化对象 → 字节 → URL 对象 → 字符串前缀。字符串规则:
6
+ * - `http://` / `https://` → `url`
7
+ * - `file://` → `path`(经 `fileURLToPath`,正确处理 Windows 盘符与转义)
8
+ * - `base64://` / `data:*;base64,` → `base64`
9
+ * - 绝对路径 → `path`
10
+ *
11
+ * 相对路径**不予接受**:内核无法确定其解析基准(插件根目录、工作目录,或渲染产物目录),
12
+ * 判定错误的表现为"图片无法发出但未产生报错"。插件应使用 `ctx.resource()` 拼接绝对路径。
13
+ * @param input 媒体输入
14
+ * @returns 归一化后的媒体引用
15
+ * @throws 传入相对路径或空串时
16
+ */
17
+ export declare function toMediaRef(input: MediaInput): MediaRef;
18
+ /**
19
+ * 给媒体引用生成一句简短描述(日志用,绝不打印正文)
20
+ *
21
+ * base64 与 buffer 只打长度:把 2MB 的 base64 写进日志文件既没用又会把
22
+ * 日志轮转打满,而 CK/token 若混在其中还会泄露。
23
+ * @param ref 媒体引用
24
+ * @returns 描述文本
25
+ */
26
+ export declare function describeMedia(ref: MediaRef): string;
27
+ /**
28
+ * 消息段构造器
29
+ *
30
+ * 挂在导出对象上而非做成全局:全局构造器会让每个文件都成为潜在的消息构造点,
31
+ * 热重载时无从判断谁还在引用。
32
+ */
33
+ export declare const seg: {
34
+ /**
35
+ * 纯文本
36
+ * @param text 文本内容(数字会被转成字符串)
37
+ * @returns 文本段
38
+ */
39
+ text(text: string | number): TextSegment;
40
+ /**
41
+ * 图片
42
+ * @param file 图片来源(链接 / 绝对路径 / Buffer / base64)
43
+ * @param opts 附加信息
44
+ * @returns 图片段
45
+ */
46
+ image(file: MediaInput, opts?: Omit<ImageSegment, "type" | "file">): ImageSegment;
47
+ /**
48
+ * @ 某人
49
+ * @param uid 用户 id
50
+ * @param name 展示名(仅回显用)
51
+ * @returns at 段
52
+ */
53
+ at(uid: string, name?: string): AtSegment;
54
+ /**
55
+ * @ 全体成员
56
+ * @returns atAll 段
57
+ */
58
+ atAll(): AtAllSegment;
59
+ /**
60
+ * QQ 原生表情
61
+ * @param id 表情 id
62
+ * @param big 是否超级表情
63
+ * @returns 表情段
64
+ */
65
+ face(id: number, big?: boolean): FaceSegment;
66
+ /**
67
+ * 引用回复
68
+ * @param messageId 被引用的消息 id
69
+ * @returns 回复段
70
+ */
71
+ reply(messageId: string): ReplySegment;
72
+ /**
73
+ * 语音
74
+ * @param file 音频来源
75
+ * @param opts 附加信息
76
+ * @returns 语音段
77
+ */
78
+ record(file: MediaInput, opts?: Omit<RecordSegment, "type" | "file">): RecordSegment;
79
+ /**
80
+ * 短视频
81
+ * @param file 视频来源
82
+ * @param thumb 封面
83
+ * @returns 视频段
84
+ */
85
+ video(file: MediaInput, thumb?: MediaInput): VideoSegment;
86
+ /**
87
+ * 文件
88
+ * @param file 文件来源
89
+ * @param opts 附加信息
90
+ * @returns 文件段
91
+ */
92
+ file(file: MediaInput, opts?: Omit<FileSegment, "type" | "file">): FileSegment;
93
+ /**
94
+ * 位置
95
+ * @param lat 纬度
96
+ * @param lon 经度
97
+ * @param opts 标题与描述
98
+ * @returns 位置段
99
+ */
100
+ location(lat: number, lon: number, opts?: Omit<LocationSegment, "type" | "lat" | "lon">): LocationSegment;
101
+ /**
102
+ * 链接分享
103
+ * @param url 目标地址
104
+ * @param title 标题
105
+ * @param opts 摘要与缩略图
106
+ * @returns 分享段
107
+ */
108
+ share(url: string, title: string, opts?: Omit<ShareSegment, "type" | "url" | "title">): ShareSegment;
109
+ /**
110
+ * 推荐好友/群
111
+ * @param scene 对象类别
112
+ * @param id 对象 id
113
+ * @returns 推荐段
114
+ */
115
+ contact(scene: "user" | "group", id: string): ContactSegment;
116
+ /**
117
+ * JSON 卡片
118
+ * @param data 卡片数据;传对象时自动序列化
119
+ * @returns JSON 段
120
+ */
121
+ json(data: string | object): JsonSegment;
122
+ /**
123
+ * XML 卡片
124
+ * @param data 卡片 XML
125
+ * @returns XML 段
126
+ */
127
+ xml(data: string): XmlSegment;
128
+ /**
129
+ * 戳一戳
130
+ * @param uid 目标用户(群聊内必填)
131
+ * @param pokeType 戳的类型
132
+ * @returns 戳一戳段
133
+ */
134
+ poke(uid?: string, pokeType?: number): PokeSegment;
135
+ /**
136
+ * 骰子
137
+ * @param result 点数,留空由平台随机
138
+ * @returns 骰子段
139
+ */
140
+ dice(result?: number): DiceSegment;
141
+ /**
142
+ * 猜拳
143
+ * @param result 结果,留空由平台随机
144
+ * @returns 猜拳段
145
+ */
146
+ rps(result?: number): RpsSegment;
147
+ /**
148
+ * 平台歌曲分享
149
+ * @param platform 音乐平台
150
+ * @param id 平台歌曲 id
151
+ * @returns 音乐段
152
+ */
153
+ music(platform: Exclude<MusicSegment["platform"], "custom">, id: string): MusicSegment;
154
+ /**
155
+ * 自定义音乐卡片
156
+ * @param opts 卡片字段
157
+ * @returns 音乐段
158
+ */
159
+ musicCustom(opts: Omit<MusicSegment, "type" | "platform" | "id">): MusicSegment;
160
+ /**
161
+ * 合并转发
162
+ * @param nodes 转发节点
163
+ * @param opts 外显字段
164
+ * @returns 合并转发段
165
+ */
166
+ forward(nodes: ForwardNode[], opts?: Omit<ForwardSegment, "type" | "nodes" | "id">): ForwardSegment;
167
+ /**
168
+ * 合并转发中的一条
169
+ * @param message 该条内容(支持宽松形式)
170
+ * @param opts 显示用的发送者信息
171
+ * @returns 转发节点
172
+ */
173
+ node(message: MessageContent, opts?: Omit<ForwardNode, "message" | "messageId">): ForwardNode;
174
+ /**
175
+ * Markdown
176
+ * @param content 正文
177
+ * @returns Markdown 段
178
+ */
179
+ markdown(content: string): MarkdownSegment;
180
+ /**
181
+ * 按钮键盘
182
+ * @param rows 按行组织的按钮
183
+ * @returns 键盘段
184
+ */
185
+ keyboard(rows: KeyboardButton[][]): KeyboardSegment;
186
+ /**
187
+ * 平台私有段(兼容出口)
188
+ * @param platform 来源平台
189
+ * @param platformType 平台侧段类型名
190
+ * @param data 原始数据
191
+ * @returns raw 段
192
+ */
193
+ raw(platform: string, platformType: string, data: unknown): RawSegment;
194
+ };
195
+ /**
196
+ * 判断一个值是否为消息段
197
+ * @param value 任意值
198
+ * @returns 是否为 Segment
199
+ */
200
+ export declare function isSegment(value: unknown): value is Segment;
201
+ /**
202
+ * 把宽松的消息内容归一化成消息段数组
203
+ *
204
+ * 展平任意层嵌套数组、把裸字符串/数字转成文本段、丢掉 `null`/`undefined`/`false`
205
+ * 与空文本,并合并相邻文本段(见文件头第 2、3 条)。
206
+ * @param content 消息内容
207
+ * @returns 消息段数组;内容为空时返回空数组
208
+ */
209
+ export declare function toSegments(content: MessageContent): Segment[];
210
+ /**
211
+ * 取消息的纯文本视图
212
+ * @param segments 消息段
213
+ * @returns 拼接后 trim 的文本;无文本段时为空串
214
+ */
215
+ export declare function textOf(segments: readonly Segment[]): string;
216
+ /**
217
+ * 取消息里的全部图片段
218
+ * @param segments 消息段
219
+ * @returns 图片段数组
220
+ */
221
+ export declare function imagesOf(segments: readonly Segment[]): ImageSegment[];
222
+ /**
223
+ * 取消息里被 @ 的用户 id
224
+ * @param segments 消息段
225
+ * @returns 用户 id 数组,已去重且保持出现顺序
226
+ */
227
+ export declare function atUsersOf(segments: readonly Segment[]): string[];
228
+ /**
229
+ * 判断消息里是否有 @全体成员
230
+ * @param segments 消息段
231
+ * @returns 是否含 atAll
232
+ */
233
+ export declare function hasAtAll(segments: readonly Segment[]): boolean;
234
+ /**
235
+ * 取消息里第一个 reply 段指向的消息 id
236
+ * @param segments 消息段
237
+ * @returns 消息 id;没有 reply 段时 undefined
238
+ */
239
+ export declare function quotedIdOf(segments: readonly Segment[]): string | undefined;
240
+ /**
241
+ * 统计各类型段的数量
242
+ * @param segments 消息段
243
+ * @returns 类型到数量的映射
244
+ */
245
+ export declare function countByType(segments: readonly Segment[]): Partial<Record<SegmentType, number>>;
246
+ /**
247
+ * 将消息渲染成一行日志文本
248
+ *
249
+ * 媒体只出摘要不出正文,见 `describeMedia`。这是日志中"收到消息"一行的来源,
250
+ * 也是排障时查阅频率最高的内容,因此格式刻意贴近使用者在聊天窗口中看到的形态。
251
+ * @param segments 消息段
252
+ * @returns 单行描述
253
+ */
254
+ export declare function describeMessage(segments: readonly Segment[]): string;
255
+ //# sourceMappingURL=segment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../src/message/segment.ts"],"names":[],"mappings":"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"}