@zaofan/dsh-qqbot 1.4.0 → 1.4.5

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 (86) hide show
  1. package/README.md +85 -0
  2. package/README_EN.md +15 -0
  3. package/client/qqbot-settings.js +452 -6
  4. package/dist/channel-tools.d.ts +15 -0
  5. package/dist/channel-tools.d.ts.map +1 -1
  6. package/dist/channel-tools.js +59 -1
  7. package/dist/channel-tools.js.map +1 -1
  8. package/dist/config.d.ts +41 -0
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +25 -1
  11. package/dist/config.js.map +1 -1
  12. package/dist/features/image-path-cache.d.ts +23 -0
  13. package/dist/features/image-path-cache.d.ts.map +1 -0
  14. package/dist/features/image-path-cache.js +38 -0
  15. package/dist/features/image-path-cache.js.map +1 -0
  16. package/dist/features/image-url-ledger.d.ts +19 -0
  17. package/dist/features/image-url-ledger.d.ts.map +1 -0
  18. package/dist/features/image-url-ledger.js +133 -0
  19. package/dist/features/image-url-ledger.js.map +1 -0
  20. package/dist/features/local-embed.d.ts +43 -0
  21. package/dist/features/local-embed.d.ts.map +1 -0
  22. package/dist/features/local-embed.js +143 -0
  23. package/dist/features/local-embed.js.map +1 -0
  24. package/dist/features/sticker-store.d.ts +48 -2
  25. package/dist/features/sticker-store.d.ts.map +1 -1
  26. package/dist/features/sticker-store.js +156 -1
  27. package/dist/features/sticker-store.js.map +1 -1
  28. package/dist/features/value-sample.d.ts +25 -0
  29. package/dist/features/value-sample.d.ts.map +1 -0
  30. package/dist/features/value-sample.js +122 -0
  31. package/dist/features/value-sample.js.map +1 -0
  32. package/dist/features/value-score.d.ts +36 -0
  33. package/dist/features/value-score.d.ts.map +1 -0
  34. package/dist/features/value-score.js +122 -0
  35. package/dist/features/value-score.js.map +1 -0
  36. package/dist/gateway/bootstrap.d.ts.map +1 -1
  37. package/dist/gateway/bootstrap.js +23 -0
  38. package/dist/gateway/bootstrap.js.map +1 -1
  39. package/dist/gateway/debounce.d.ts.map +1 -1
  40. package/dist/gateway/debounce.js +16 -5
  41. package/dist/gateway/debounce.js.map +1 -1
  42. package/dist/gateway/middleware-setup.d.ts.map +1 -1
  43. package/dist/gateway/middleware-setup.js +12 -1
  44. package/dist/gateway/middleware-setup.js.map +1 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +8 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/middleware/sticker-capture.d.ts +8 -2
  49. package/dist/middleware/sticker-capture.d.ts.map +1 -1
  50. package/dist/middleware/sticker-capture.js +63 -45
  51. package/dist/middleware/sticker-capture.js.map +1 -1
  52. package/dist/model/model-resolver.js +12 -6
  53. package/dist/model/model-resolver.js.map +1 -1
  54. package/dist/session/session-manager.d.ts.map +1 -1
  55. package/dist/session/session-manager.js +4 -2
  56. package/dist/session/session-manager.js.map +1 -1
  57. package/dist/transport/attachment.d.ts +5 -1
  58. package/dist/transport/attachment.d.ts.map +1 -1
  59. package/dist/transport/attachment.js +16 -5
  60. package/dist/transport/attachment.js.map +1 -1
  61. package/dist/transport/inbound.d.ts.map +1 -1
  62. package/dist/transport/inbound.js +396 -15
  63. package/dist/transport/inbound.js.map +1 -1
  64. package/dist/transport/inject-rules.d.ts.map +1 -1
  65. package/dist/transport/inject-rules.js +3 -1
  66. package/dist/transport/inject-rules.js.map +1 -1
  67. package/dist/transport/msg-index.d.ts +29 -0
  68. package/dist/transport/msg-index.d.ts.map +1 -0
  69. package/dist/transport/msg-index.js +74 -0
  70. package/dist/transport/msg-index.js.map +1 -0
  71. package/dist/transport/outbound-buffer.d.ts +8 -2
  72. package/dist/transport/outbound-buffer.d.ts.map +1 -1
  73. package/dist/transport/outbound-buffer.js +37 -6
  74. package/dist/transport/outbound-buffer.js.map +1 -1
  75. package/dist/transport/outbound.d.ts.map +1 -1
  76. package/dist/transport/outbound.js +13 -2
  77. package/dist/transport/outbound.js.map +1 -1
  78. package/dist/transport/rich-media.d.ts +10 -1
  79. package/dist/transport/rich-media.d.ts.map +1 -1
  80. package/dist/transport/rich-media.js +21 -2
  81. package/dist/transport/rich-media.js.map +1 -1
  82. package/dist/types.d.ts +2 -0
  83. package/dist/types.d.ts.map +1 -1
  84. package/package.json +3 -2
  85. package/scripts/download-model.mjs +110 -0
  86. package/settings-host.js +337 -5
package/dist/config.d.ts CHANGED
@@ -223,6 +223,24 @@ export interface EditableConfig {
223
223
  /** 图片消息是否自动追加「看图」内置提示(默认 true)。关掉=不再注入「请把 URL 传给识图工具」那条
224
224
  * —— 模型自己就能读图时可以关它。 */
225
225
  imageHint?: boolean;
226
+ /** 引用消息总开关(默认 true): 开=入站消息带短消息号(台账索引) + 引用消息附原文 + 注入引用指令, 出站支持 [rf:短号] 标签 */
227
+ messageReference?: boolean;
228
+ /** 本地小模型(省 token; 2026-09-13 主人定): 开=本地先筛(价值评分/语义搜索), 模型缺失/加载失败则静默关闭 */
229
+ localModel?: {
230
+ enabled?: boolean;
231
+ /** 模型目录(留空=默认 {DSH_HOME|~/.dsh}/models/bge-small-zh) */
232
+ modelDir?: string;
233
+ /** 价值评分模式(账号默认): off=不评分 / log=只记录(默认) / block=低分不唤醒 */
234
+ valueGate?: 'off' | 'log' | 'block';
235
+ /** 价值评分门槛(0~1): 近邻相似度低于此值视为不值得回应 */
236
+ valueMinScore?: number;
237
+ /** 单会话覆盖(2026-09-13): key = "group:<群openid>" / "c2c:<私聊openid>"; 未覆盖则继承账号默认 */
238
+ overrides?: Record<string, {
239
+ enabled?: boolean;
240
+ valueGate?: 'off' | 'log' | 'block';
241
+ valueMinScore?: number;
242
+ }>;
243
+ };
226
244
  /** 群聊常驻守则(默认含表情包礼仪; QQ 通道级注入, 跨 preset 不碰 persona) */
227
245
  groupPrompt?: string;
228
246
  /** 定时唤醒任务(M3) */
@@ -246,6 +264,11 @@ export declare const DEFAULT_GROUP_PROMPT: string;
246
264
  * 保证任何 AI/任何预设都会收到 QQ 通道的基础使用规则(即使群守则被清空/覆盖)。
247
265
  */
248
266
  export declare const FIXED_CHANNEL_CONTEXT: string;
267
+ /**
268
+ * 引用消息能力说明(2026-09-13 主人定; 短消息号版): 开启 messageReference 时随群守则一起注入。
269
+ * 教 AI ①入站消息带短"消息号"(如 #0913a) ②出站用 [rf:消息号] 引用对方。
270
+ */
271
+ export declare const REFERENCE_CONTEXT: string;
249
272
  /** Web 设置页可编辑项的 schema(behavior/sticker.gates/injectRules/groupPrompt/schedule) */
250
273
  export declare const EditableConfigSchema: Schema<EditableConfig>;
251
274
  export interface ImQQBotConfig {
@@ -294,6 +317,24 @@ export interface ImQQBotConfig {
294
317
  /** 图片消息是否自动追加「看图」内置提示(默认 true)。关掉=不再注入「请把 URL 传给识图工具」那条
295
318
  * —— 模型自己就能读图时可以关它。 */
296
319
  imageHint?: boolean;
320
+ /** 引用消息总开关(默认 true): 开=入站消息带短消息号(台账索引) + 引用消息附原文 + 注入引用指令, 出站支持 [rf:短号] 标签 */
321
+ messageReference?: boolean;
322
+ /** 本地小模型(省 token): 开=本地先筛(价值评分/语义搜索), 模型缺失自动关闭 */
323
+ localModel?: {
324
+ enabled?: boolean;
325
+ /** 模型目录(留空=默认 {DSH_HOME|~/.dsh}/models/bge-small-zh) */
326
+ modelDir?: string;
327
+ /** 价值评分模式(账号默认): off=不评分 / log=只记录 / block=低分不唤醒 */
328
+ valueGate?: 'off' | 'log' | 'block';
329
+ /** 价值评分门槛(0~1) */
330
+ valueMinScore?: number;
331
+ /** 单会话覆盖: key = "group:<群openid>" / "c2c:<私聊openid>" */
332
+ overrides?: Record<string, {
333
+ enabled?: boolean;
334
+ valueGate?: 'off' | 'log' | 'block';
335
+ valueMinScore?: number;
336
+ }>;
337
+ };
297
338
  /** 定时唤醒任务(M3) */
298
339
  schedule: ScheduleConfig;
299
340
  /** QQ 群管理(入群审批/禁言等; 需机器人=群管理员) */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -27,7 +27,27 @@ export const FIXED_CHANNEL_CONTEXT = [
27
27
  '【@ 人的方法】当你要对特定某人说话,在回复文本里直接写 <@对方openid>(无斜杠)就能在 QQ 群里 @ 到对方(高亮显示),例如 <@0123456789ABCDEF0123456789ABCDEF> 起床啦。如果别人@你,你用 @对方 回复;也可以主动 @别人。',
28
28
  '【富媒体】你在 QQ 里能真的发图/文件/语音/视频:在回复正文里写 MEDIA:image|路径(两端加英文方括号)即发图,file/voice/video 同理,标记不显示;想撤回自己的消息单独输出一行 RECALL(两端加英文方括号)。',
29
29
  ].join('\n');
30
+ /**
31
+ * 引用消息能力说明(2026-09-13 主人定; 短消息号版): 开启 messageReference 时随群守则一起注入。
32
+ * 教 AI ①入站消息带短"消息号"(如 #0913a) ②出站用 [rf:消息号] 引用对方。
33
+ */
34
+ export const REFERENCE_CONTEXT = [
35
+ '【引用消息】本群已开启引用能力(可在设置关闭): 每条入站消息都带一个"消息号"(形如 #0913a, 很短)。',
36
+ '想让自己的回复"引用"某条消息: 在回复正文里写 [rf:消息号](两端加英文方括号), 如 [rf:0913a] —— 这条回复就会以"引用"形式发出, 对方能看到你引用了他那条消息。消息号就是入站消息标签里 # 后面那一小串。',
37
+ // 注(2026-09-13 主人定): 样例库的用法**不写进守则**(常驻注入会每轮占 token) ——
38
+ // 面板「让ai写」按钮本身就是**注入一条消息**, 路径/格式/做法全写在那条消息里, 零常驻开销。
39
+ ].join('\n');
30
40
  // ── 共享字段子 schema(主 ConfigSchema 与 EditableConfigSchema 复用) ──
41
+ /** 本地小模型(2026-09-13 主人定): 零 token 的本地语义能力(价值评分 / 表情包语义搜索), 模型缺失时静默降级 */
42
+ const localModelSchema = Schema.object({
43
+ enabled: Schema.boolean().default(true).description('本地小模型(省 token): 开=本地先筛(价值评分/表情包语义搜索); 模型缺失或加载失败自动关闭'),
44
+ modelDir: Schema.string().default('').description('模型目录(留空=默认 {DSH_HOME|~/.dsh}/models/bge-small-zh)'),
45
+ valueGate: Schema.union(['off', 'log', 'block']).default('log').description('价值评分模式(账号默认): off=不评分 / log=只记录分数 / block=低分不唤醒AI(消息仍进上下文)'),
46
+ valueMinScore: Schema.number().min(0).max(1).default(0.5).description('价值评分门槛(0~1, 越高越安静): 近邻相似度低于此值视为不值得回应'),
47
+ // 单会话覆盖(2026-09-13 主人要求: "单会话设置"就得能按会话单独设):
48
+ // key = "group:<群openid>" 或 "c2c:<私聊openid>"; 未覆盖的键自动继承账号级默认。
49
+ overrides: Schema.any().default({}).description('单会话覆盖(dock「单会话设置」保存到这里)'),
50
+ }).default({ enabled: true, modelDir: '', valueGate: 'log', valueMinScore: 0.5, overrides: {} });
31
51
  const debounceSchema = Schema.object({
32
52
  enabled: Schema.boolean().default(true).description('延迟聚合总开关(防"连发N句只回第一句": 消息先攒窗口, 人停口或攒够条数才一次综合回)'),
33
53
  silenceSec: Schema.number().min(0).default(3).description('最近说话者停止发言几秒后开口(默认3; 0=不停顿)'),
@@ -241,6 +261,8 @@ export const EditableConfigSchema = Schema.object({
241
261
  }).description('表情包图库'),
242
262
  injectRules: Schema.array(injectRuleItemSchema).default([]).description('条件注入规则'),
243
263
  imageHint: Schema.boolean().default(true).description('图片消息自动追加「看图」内置提示(默认开; 关掉=不再注入那条「把 URL 传给识图工具」)'),
264
+ messageReference: Schema.boolean().default(true).description('引用消息(默认开): 入站消息带短消息号 + 引用消息附原文 + 注入引用指令; 出站支持 [rf:短号] 标签引用对方消息'),
265
+ localModel: localModelSchema,
244
266
  groupPrompt: Schema.string().default(DEFAULT_GROUP_PROMPT).description('群聊常驻守则(默认含表情包礼仪;可清空关闭)'),
245
267
  schedule: scheduleSchema,
246
268
  enableApprovals: Schema.boolean().default(false).description('QQ 远程审批: dsh 权限申请发到 QQ, 用 /approve CODE 放行(保存后对新请求生效)'),
@@ -279,7 +301,7 @@ export const ConfigSchema = Schema.object({
279
301
  }).description('访问控制'),
280
302
  behavior: behaviorSchema,
281
303
  sticker: Schema.object({
282
- collectEnabled: Schema.boolean().default(true).description('自动收藏群图片(只存本地)'),
304
+ collectEnabled: Schema.boolean().default(true).description('自动下载群图到候选区(只存本地; ⚠️ 这是"采集"不等于"收藏" —— 收藏指打标/挑进正式库)'),
283
305
  dataDir: Schema.string().default('').description('图库数据根目录(默认 {agent cwd}/表情包)'),
284
306
  gates: stickerGatesSchema,
285
307
  autoTagEnabled: Schema.boolean().default(false).description('新图后台自动识图打标(耗视觉额度,默认关;开需可用视觉CLI)'),
@@ -304,6 +326,8 @@ export const ConfigSchema = Schema.object({
304
326
  }).description('表情包图库'),
305
327
  injectRules: Schema.array(injectRuleItemSchema).default([]).description('条件注入规则:消息含图片/链接/自定义文本时自动插入系统提示'),
306
328
  imageHint: Schema.boolean().default(true).description('图片消息自动追加「看图」内置提示(默认开; 关掉=不再注入那条「把 URL 传给识图工具」)'),
329
+ messageReference: Schema.boolean().default(true).description('引用消息(默认开): 入站消息带短消息号 + 引用消息附原文 + 注入引用指令; 出站支持 [rf:短号] 标签引用对方消息'),
330
+ localModel: localModelSchema,
307
331
  schedule: scheduleSchema,
308
332
  groupAdmin: groupAdminSchema,
309
333
  showToolResults: Schema.boolean().default(false).description('是否展示工具调用成功结果(工具错误始终展示)'),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAyP9C;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,uFAAuF;IACvF,+FAA+F;IAC/F,4CAA4C;IAC5C,qDAAqD;IACrD,6CAA6C;IAC7C,kXAAkX;CACnX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,2IAA2I;IAC3I,2HAA2H;CAC5H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,+DAA+D;AAE/D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC;IACpG,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC;IACvF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC;IAClF,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC;CAC1F,CAAC,CAAC,OAAO,CAAC;IACT,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAEpC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC;IACrF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACtF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACnF,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC,OAAO,CAAC;IACT,eAAe,EAAE,EAAE;IACnB,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAEvB,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACvE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC;IAC1E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC7E,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACjF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;IAC1E,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;IAC9E,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAChF,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACtF,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;CAChF,CAAC,CAAC,OAAO,CAAC;IACT,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,CAAC;IACf,mBAAmB,EAAE,CAAC;IACtB,WAAW,EAAE,CAAC;IACd,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAEnC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACzD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;QAC9D,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;QAC7D,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;QACnE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;QACnF,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;KACzF,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;CAC5E,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAC1G,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,qBAAqB,CAAC;CAC3D,CAAC,CAAC,OAAO,CAAC;IACT,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,EAAE;CACX,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAEvB,gCAAgC;AAChC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACpD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,8BAA8B,CAAC;IAChF,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;CAC/E,CAAC,CAAC,OAAO,CAAC;IACT,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;CACV,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAE5B,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;CAC7F,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAEjE,yCAAyC;AACzC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,sFAAsF,CAAC;IAC/L,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,qDAAqD,CAAC;IACpG,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;CAC/D,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAEpF,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,gFAAgF,CAAC;IACpL,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,kDAAkD,CAAC;CACzG,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAE9E,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,gDAAgD,CAAC;IAC5F,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;IACvD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;IACtD,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC,OAAO,CAAC;IACT,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IACpD,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;CAClD,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAErB,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,+DAA+D,CAAC;IACtJ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC;CACrF,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAE3D,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,4CAA4C,CAAC;IACxF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,sBAAsB,CAAC;IACpE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,sEAAsE,CAAC;IAC5H,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC;IACnF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACxE,IAAI,EAAE,iBAAiB;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC;IACtG,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;CACvF,CAAC,CAAC,OAAO,CAAC;IACT,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG;IAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;IAClC,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,EAAE;CACZ,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAE/B,6CAA6C;AAC7C,MAAM,mBAAmB,GAAyB;IAChD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACxC,OAAO,EAAE,CAAC;gBACR,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,MAAM;gBACb,YAAY,EAAE,KAAK;gBACnB,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,EAAE;gBAChE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;aAClD,CAAC;KACH;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACxC,OAAO,EAAE,CAAC;gBACR,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,QAAQ;gBACf,YAAY,EAAE,KAAK;gBACnB,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClD,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,8BAA8B,EAAE;aAChF,CAAC;KACH;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC;IACtF,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC;IACxG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,qDAAqD,CAAC;IAC3G,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC;IAChH,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC;IACjG,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,4EAA4E,CAAC;IACnI,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC;IACtF,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC;QACzF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC;QAClF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC;QAC1F,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC;QAC1F,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC;QACnG,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,oFAAoF,CAAC;QAC9I,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,6DAA6D,CAAC;KACtH,CAAC,CAAC,OAAO,CAAC;QACT,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;CAC/B,CAAC,CAAC,OAAO,CAAC;IACT,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,KAAK;IACxB,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;CACxI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEzB,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAA2B,MAAM,CAAC,MAAM,CAAC;IACxE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,qEAAqE,CAAC;IAC5G,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,kBAAkB;QACzB,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;QACpF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;KACvE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;IACjF,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC;IACvG,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;IAChG,QAAQ,EAAE,cAAc;IACxB,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,uDAAuD,CAAC;IACrH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC;IACzF,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,2KAA2K,CAAC;IACzS,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,mBAA4B,CAAC,CAAC,WAAW,CAAC,iDAAiD,CAAC;CACrJ,CAAC,CAAC;AAoEH,MAAM,CAAC,MAAM,YAAY,GAA0B,MAAM,CAAC,MAAM,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;IAC9D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,yBAAyB,CAAC;IAC3D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,qEAAqE,CAAC;IAC5G,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,oCAAoC,CAAC;IAC7E,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC;IAC1E,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;IAChG,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAC9D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;IACtE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAC1E,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IACrF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;IAC7D,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;IAChE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;QAC/F,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QAChG,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;KAC3E,CAAC,CAAC,OAAO,CAAC;QACT,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,EAAE;KACf,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IACtB,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC;QAC3E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC;QAC/E,KAAK,EAAE,kBAAkB;QACzB,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC;QAC9F,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,oCAAoC,CAAC;KACzF,CAAC,CAAC,OAAO,CAAC;QACT,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,CAAC;YACf,mBAAmB,EAAE,CAAC;YACtB,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,EAAE;SACb;QACD,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,EAAE;KACd,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC;IACzG,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC;IACvG,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;IACtF,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC;IACpH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;IACvF,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,6LAA6L,CAAC;IAC3T,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,mBAA4B,CAAC,CAAC,WAAW,CAAC,oCAAoC,CAAC;CACxI,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * image-path-cache.ts — QQ 图片 URL → 本地文件路径 的小缓存
3
+ *
4
+ * 背景(2026-09-13 主人要求): 入站消息里原来只给 QQ 的临时下载 URL
5
+ * (`https://multimedia.nt.qq.com.cn/download?fileid=…&rkey=…` —— 又长又会过期),
6
+ * 结果 AI 要"看图"时还得再下一次(而且它下不动); 现在收藏插件本来就会把图落盘,
7
+ * 于是**直接把本地路径写进消息**, token 更短、看图直接读盘。
8
+ *
9
+ * 为什么用模块级缓存而不是 ctx.state:
10
+ * - 聚合/连发(debounce)路径 flush 时会**新建 state** 再调 handleInbound,
11
+ * 中间件阶段挂在 ctx.state 上的东西到那时就丢了;
12
+ * - 同一张图在"中间件阶段"与"消息组装阶段"用的 key 就是那个 URL 本身, 直接按 URL 查最稳。
13
+ *
14
+ * 失效: TTL 1 小时(候选区会滚动清理, 过期后回退用原始 URL) + 容量上限 800 条(超出淘汰最旧)。
15
+ */
16
+ import type { Logger } from '../types.js';
17
+ /** 记一条 URL → 本地路径(下载成功时调用) */
18
+ export declare function rememberImagePath(url: string, localPath: string): void;
19
+ /** 查本地路径(没有/过期 → undefined, 调用方回退原始 URL) */
20
+ export declare function lookupImagePath(url: string | undefined, logger?: Logger): string | undefined;
21
+ /** 当前缓存条数(诊断用) */
22
+ export declare function imagePathCacheSize(): number;
23
+ //# sourceMappingURL=image-path-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-path-cache.d.ts","sourceRoot":"","sources":["../../src/features/image-path-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAc1C,8BAA8B;AAC9B,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAYtE;AAED,4CAA4C;AAC5C,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU5F;AAED,kBAAkB;AAClB,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
@@ -0,0 +1,38 @@
1
+ const TTL_MS = 60 * 60 * 1000;
2
+ const MAX_ENTRIES = 800;
3
+ const cache = new Map();
4
+ /** 记一条 URL → 本地路径(下载成功时调用) */
5
+ export function rememberImagePath(url, localPath) {
6
+ if (!url || !localPath)
7
+ return;
8
+ cache.set(url, { p: localPath, t: Date.now() });
9
+ if (cache.size > MAX_ENTRIES) {
10
+ // Map 保留插入顺序 → 最旧的就是第一个
11
+ const over = cache.size - MAX_ENTRIES;
12
+ let i = 0;
13
+ for (const k of cache.keys()) {
14
+ cache.delete(k);
15
+ if (++i >= over)
16
+ break;
17
+ }
18
+ }
19
+ }
20
+ /** 查本地路径(没有/过期 → undefined, 调用方回退原始 URL) */
21
+ export function lookupImagePath(url, logger) {
22
+ if (!url)
23
+ return undefined;
24
+ const e = cache.get(url);
25
+ if (!e)
26
+ return undefined;
27
+ if (Date.now() - e.t > TTL_MS) {
28
+ cache.delete(url);
29
+ logger?.debug(`[img-path] 缓存过期, 回退 URL: ${url.slice(0, 60)}…`);
30
+ return undefined;
31
+ }
32
+ return e.p;
33
+ }
34
+ /** 当前缓存条数(诊断用) */
35
+ export function imagePathCacheSize() {
36
+ return cache.size;
37
+ }
38
+ //# sourceMappingURL=image-path-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-path-cache.js","sourceRoot":"","sources":["../../src/features/image-path-cache.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9B,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;AAEvC,8BAA8B;AAC9B,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,SAAiB;IAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS;QAAE,OAAO;IAC/B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;QAC7B,wBAAwB;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,EAAE,CAAC,IAAI,IAAI;gBAAE,MAAM;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,eAAe,CAAC,GAAuB,EAAE,MAAe;IACtE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,EAAE,KAAK,CAAC,4BAA4B,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /** 台账文件名(放在表情包目录里,跟图库同生共死) */
2
+ export declare const IMAGE_URL_LEDGER = "image-url-ledger.jsonl";
3
+ /** 台账绝对路径 */
4
+ export declare function ledgerFileOfStickerDir(stickerDir: string): string;
5
+ /** 图库文件名 → id(`1456cfc6a256.jpg` → `1456cfc6a256`) */
6
+ export declare function stickerIdOfFile(file: string): string;
7
+ /**
8
+ * 从图片文件路径推回表情包目录:
9
+ * `…\表情包\lib\candidate\1456cfc6a256.jpg` → `…\表情包`
10
+ * (找不到 `lib` 段就退回上一级,宁可错也别抛异常)
11
+ */
12
+ export declare function stickerDirFromImagePath(imgPath: string): string;
13
+ /** 记录一条「id → QQ 链接」(追加写,失败静默;不影响主链) */
14
+ export declare function recordImageUrl(stickerDir: string, id: string, url: string): void;
15
+ /** 按「图库 id」或「图片文件路径」查 QQ 链接(查不到返回 undefined) */
16
+ export declare function lookupImageUrl(stickerDir: string, idOrPath: string): string | undefined;
17
+ /** 直接给图片文件路径也能查(内部自己推表情包目录) */
18
+ export declare function lookupImageUrlByPath(imgPath: string): string | undefined;
19
+ //# sourceMappingURL=image-url-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-url-ledger.d.ts","sourceRoot":"","sources":["../../src/features/image-url-ledger.ts"],"names":[],"mappings":"AAiBA,8BAA8B;AAC9B,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AASzD,aAAa;AACb,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,sDAAsD;AACtD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED,uCAAuC;AACvC,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAahF;AAqDD,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIvF;AAED,+BAA+B;AAC/B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExE"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * image-url-ledger.ts — 「本地文件名(图库 id) ↔ QQ 图片链接」台账(兜底用)
3
+ *
4
+ * 背景(2026-09-13 主人要求): 入站消息的图片现在直接给**本地路径**,但本地文件会消失 ——
5
+ * ● 候选区超 500 张滚动清理(文件搬进回收站,老路径失效)
6
+ * ● 图库整理 / 手动删除
7
+ * 一旦路径失效,dock/网页端就什么都显示不出来。于是留一本**最近 1000 张图**的
8
+ * 「图库 id → 当时那条 QQ 链接」台账兜底:本地读不到就拿 QQ 链接顶上。
9
+ * 只记图片(主人明确: 音频/视频/文件不用)。
10
+ *
11
+ * 存储: `{表情包目录}/image-url-ledger.jsonl`,一行一条 `{"id","url","at"}`,**追加写**(便宜),
12
+ * 查表时从后往前找最新一条;文件超过 COMPACT_BYTES 时压缩成"最新 1000 条唯一 id"。
13
+ * ⚠️ 格式是跨进程契约: 宿主侧 settings-host.js 里有同格式的同步只读实现(那边不能 await)。
14
+ */
15
+ import { appendFileSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
16
+ import { basename, dirname, extname, join, sep } from 'node:path';
17
+ /** 台账文件名(放在表情包目录里,跟图库同生共死) */
18
+ export const IMAGE_URL_LEDGER = 'image-url-ledger.jsonl';
19
+ /** 上限(主人定: 1000 条) */
20
+ const MAX_ENTRIES = 1000;
21
+ /** 超过这个体积就压缩一次(追加太多次后回收) */
22
+ const COMPACT_BYTES = 1.5 * 1024 * 1024;
23
+ /** 台账绝对路径 */
24
+ export function ledgerFileOfStickerDir(stickerDir) {
25
+ return join(stickerDir, IMAGE_URL_LEDGER);
26
+ }
27
+ /** 图库文件名 → id(`1456cfc6a256.jpg` → `1456cfc6a256`) */
28
+ export function stickerIdOfFile(file) {
29
+ const b = basename(String(file || ''));
30
+ const e = extname(b);
31
+ return e ? b.slice(0, -e.length) : b;
32
+ }
33
+ /**
34
+ * 从图片文件路径推回表情包目录:
35
+ * `…\表情包\lib\candidate\1456cfc6a256.jpg` → `…\表情包`
36
+ * (找不到 `lib` 段就退回上一级,宁可错也别抛异常)
37
+ */
38
+ export function stickerDirFromImagePath(imgPath) {
39
+ const p = String(imgPath || '');
40
+ const s = p.includes('\\') ? '\\' : sep;
41
+ const parts = p.split(/[\\/]/);
42
+ const i = parts.lastIndexOf('lib');
43
+ if (i > 0)
44
+ return parts.slice(0, i).join(s);
45
+ return dirname(p);
46
+ }
47
+ /** 记录一条「id → QQ 链接」(追加写,失败静默;不影响主链) */
48
+ export function recordImageUrl(stickerDir, id, url) {
49
+ const sid = stickerIdOfFile(id);
50
+ if (!sid || !/^https?:\/\//i.test(String(url || '')))
51
+ return;
52
+ const file = ledgerFileOfStickerDir(stickerDir);
53
+ try {
54
+ mkdirSync(stickerDir, { recursive: true });
55
+ appendFileSync(file, JSON.stringify({ id: sid, url: String(url), at: Date.now() }) + '\n', 'utf8');
56
+ }
57
+ catch {
58
+ return; // 台账纯兜底,写不进去也不影响收藏/入站
59
+ }
60
+ try {
61
+ if (statSync(file).size > COMPACT_BYTES)
62
+ compact(file);
63
+ }
64
+ catch { /* ignore */ }
65
+ }
66
+ /** 压缩: 只留最新 MAX_ENTRIES 条唯一 id(新→旧顺序不变,最新的在最后) */
67
+ function compact(file) {
68
+ const items = loadAll(file);
69
+ const uniq = new Map();
70
+ for (const it of items) {
71
+ if (uniq.has(it.id))
72
+ uniq.delete(it.id); // 重插到末尾 = 视为更新
73
+ uniq.set(it.id, it);
74
+ }
75
+ const kept = [...uniq.values()].slice(-MAX_ENTRIES);
76
+ try {
77
+ writeFileSync(file, kept.map(x => JSON.stringify(x)).join('\n') + (kept.length ? '\n' : ''), 'utf8');
78
+ }
79
+ catch { /* ignore */ }
80
+ }
81
+ /** 读全量(坏行跳过) */
82
+ function loadAll(file) {
83
+ let txt = '';
84
+ try {
85
+ txt = readFileSync(file, 'utf8');
86
+ }
87
+ catch {
88
+ return [];
89
+ }
90
+ const out = [];
91
+ for (const line of txt.split('\n')) {
92
+ const s = line.trim();
93
+ if (!s)
94
+ continue;
95
+ try {
96
+ const o = JSON.parse(s);
97
+ if (o && typeof o.id === 'string' && typeof o.url === 'string')
98
+ out.push({ id: o.id, url: o.url, at: Number(o.at) || 0 });
99
+ }
100
+ catch { /* 坏行跳过 */ }
101
+ }
102
+ return out;
103
+ }
104
+ // ── 同步查表 + 缓存(按 mtime/size 失效,跨进程也能拿到最新) ──
105
+ const cache = new Map();
106
+ function indexOfFile(file) {
107
+ let key = 'missing';
108
+ try {
109
+ const st = statSync(file);
110
+ key = `${st.mtimeMs}:${st.size}`;
111
+ }
112
+ catch { /* 文件还不存在 */ }
113
+ const hit = cache.get(file);
114
+ if (hit && hit.key === key)
115
+ return hit.index;
116
+ const index = new Map();
117
+ for (const it of loadAll(file))
118
+ index.set(it.id, it.url); // 后出现的覆盖前面的 = 最新链接
119
+ cache.set(file, { key, index });
120
+ return index;
121
+ }
122
+ /** 按「图库 id」或「图片文件路径」查 QQ 链接(查不到返回 undefined) */
123
+ export function lookupImageUrl(stickerDir, idOrPath) {
124
+ const id = stickerIdOfFile(idOrPath);
125
+ if (!id)
126
+ return undefined;
127
+ return indexOfFile(ledgerFileOfStickerDir(stickerDir)).get(id);
128
+ }
129
+ /** 直接给图片文件路径也能查(内部自己推表情包目录) */
130
+ export function lookupImageUrlByPath(imgPath) {
131
+ return lookupImageUrl(stickerDirFromImagePath(imgPath), imgPath);
132
+ }
133
+ //# sourceMappingURL=image-url-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-url-ledger.js","sourceRoot":"","sources":["../../src/features/image-url-ledger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { Logger } from '../types.js';
2
+ /** 默认模型目录(用户级): {DSH_HOME|~/.dsh}/models/bge-small-zh */
3
+ export declare function defaultModelDir(): string;
4
+ /** 检查模型资产是否齐全(纯本地, 不加载模型) */
5
+ export declare function checkModelAssets(modelDir: string): {
6
+ ok: boolean;
7
+ missing: string[];
8
+ bytes: number;
9
+ };
10
+ export interface EmbedderStatus {
11
+ /** 是否可用(已加载成功 or 资产齐全但未加载) */
12
+ available: boolean;
13
+ /** 模型目录 */
14
+ modelDir: string;
15
+ /** 不可用原因 */
16
+ reason?: string;
17
+ /** 向量维度(加载后可知) */
18
+ dims?: number;
19
+ /** 加载耗时 ms */
20
+ loadMs?: number;
21
+ }
22
+ export interface LocalEmbedder {
23
+ readonly modelDir: string;
24
+ /** 当前状态(不触发加载) */
25
+ status(): EmbedderStatus;
26
+ /** 是否可用 */
27
+ available(): boolean;
28
+ /** 查询侧嵌入(带 bge 前缀)。不可用/失败 → undefined */
29
+ embedQuery(text: string): Promise<number[] | undefined>;
30
+ /** 文档侧嵌入(不带前缀),批量。不可用/失败 → undefined */
31
+ embedPassages(texts: string[]): Promise<number[][] | undefined>;
32
+ /** 后台预热(不阻塞, 失败静默) */
33
+ warmup(): void;
34
+ }
35
+ /**
36
+ * 创建(或复用)本地嵌入器。同 modelDir 单例复用 —— 模型只加载一次。
37
+ */
38
+ export declare function createLocalEmbedder(opts?: {
39
+ modelDir?: string;
40
+ logger?: Logger;
41
+ enabled?: boolean;
42
+ }): LocalEmbedder;
43
+ //# sourceMappingURL=local-embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-embed.d.ts","sourceRoot":"","sources":["../../src/features/local-embed.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQ1C,yDAAyD;AACzD,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAYpG;AAED,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kBAAkB;IAClB,MAAM,IAAI,cAAc,CAAC;IACzB,WAAW;IACX,SAAS,IAAI,OAAO,CAAC;IACrB,yCAAyC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,wCAAwC;IACxC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC;IAChE,sBAAsB;IACtB,MAAM,IAAI,IAAI,CAAC;CAChB;AAWD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,CAmFvH"}