lasso-mcp 1.0.0-rc.1 → 1.2.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 (57) hide show
  1. package/dist/browse/content-filter-cite.d.ts +44 -0
  2. package/dist/browse/content-filter-cite.d.ts.map +1 -0
  3. package/dist/browse/content-filter-cite.js +71 -0
  4. package/dist/browse/content-filter-cite.js.map +1 -0
  5. package/dist/browse/markdown-extractor.d.ts +53 -0
  6. package/dist/browse/markdown-extractor.d.ts.map +1 -0
  7. package/dist/browse/markdown-extractor.js +140 -0
  8. package/dist/browse/markdown-extractor.js.map +1 -0
  9. package/dist/channels/BrowseChannel.d.ts.map +1 -1
  10. package/dist/channels/BrowseChannel.js +53 -5
  11. package/dist/channels/BrowseChannel.js.map +1 -1
  12. package/dist/desktop/AxProvider.d.ts.map +1 -1
  13. package/dist/desktop/AxProvider.js +4 -2
  14. package/dist/desktop/AxProvider.js.map +1 -1
  15. package/dist/desktop/OutlineMapper.d.ts +19 -0
  16. package/dist/desktop/OutlineMapper.d.ts.map +1 -1
  17. package/dist/desktop/OutlineMapper.js +66 -0
  18. package/dist/desktop/OutlineMapper.js.map +1 -1
  19. package/dist/desktop/desktop-types.d.ts +6 -0
  20. package/dist/desktop/desktop-types.d.ts.map +1 -1
  21. package/dist/desktop/desktop-types.js.map +1 -1
  22. package/dist/doctor/doctor.d.ts +1 -1
  23. package/dist/doctor/doctor.d.ts.map +1 -1
  24. package/dist/doctor/doctor.js +134 -2
  25. package/dist/doctor/doctor.js.map +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/tools/browse.d.ts.map +1 -1
  29. package/dist/tools/browse.js +4 -0
  30. package/dist/tools/browse.js.map +1 -1
  31. package/dist/tools/descriptions.d.ts.map +1 -1
  32. package/dist/tools/descriptions.js +18 -0
  33. package/dist/tools/descriptions.js.map +1 -1
  34. package/dist/tools/desktop.d.ts.map +1 -1
  35. package/dist/tools/desktop.js +1 -0
  36. package/dist/tools/desktop.js.map +1 -1
  37. package/dist/tools/fetch-url.d.ts +3 -0
  38. package/dist/tools/fetch-url.d.ts.map +1 -1
  39. package/dist/tools/fetch-url.js +30 -0
  40. package/dist/tools/fetch-url.js.map +1 -1
  41. package/dist/types.d.ts +39 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/package.json +4 -1
  44. package/src/browse/content-filter-cite.ts +95 -0
  45. package/src/browse/markdown-extractor.ts +186 -0
  46. package/src/channels/BrowseChannel.ts +61 -5
  47. package/src/desktop/AxProvider.ts +4 -2
  48. package/src/desktop/OutlineMapper.ts +69 -0
  49. package/src/desktop/desktop-types.ts +6 -0
  50. package/src/doctor/doctor.ts +144 -2
  51. package/src/index.ts +1 -1
  52. package/src/invariants/check-invariants.mjs +224 -0
  53. package/src/tools/browse.ts +4 -0
  54. package/src/tools/descriptions.ts +18 -0
  55. package/src/tools/desktop.ts +1 -0
  56. package/src/tools/fetch-url.ts +31 -0
  57. package/src/types.ts +42 -0
@@ -0,0 +1,44 @@
1
+ /**
2
+ * content-filter-cite(parse12 §3.4 v1.1 新增)
3
+ *
4
+ * markdown_cited 档的 ⟨N⟩ 引用角标 —— Crawl4AI convert_links_to_citations
5
+ * 算法的纯 TS reimplement(~50 行)。
6
+ *
7
+ * 借鉴源(守 INV-69:只借鉴算法不引依赖):
8
+ * - Crawl4AI markdown_generation_strategy.py(Apache-2.0;convert_links_to_citations
9
+ * 的核心思路:扫 inline link → URL 去重分配角标 → 替换为 text ⟨N⟩ → 末尾 References 段)
10
+ * - 守 INV-69:不 import crawl4ai(Python 包不可作 JS 依赖);本文件是纯 TS reimplement
11
+ *
12
+ * 算法(parse12 §3.4):
13
+ * 1. 扫 markdown 中所有 [text](url) 形式的 inline 链接
14
+ * 2. URL 去重(Map<url, n>),首次出现分配 ⟨N⟩ 角标(1-based)
15
+ * 3. 替换 inline 链接为 `text ⟨N⟩`(保留链接文字,去 URL 本体)
16
+ * 4. 末尾追加 `\n\n## References\n[1] url\n[2] url\n...`
17
+ *
18
+ * 不做(parse12 §3.4 推迟 v1.2):
19
+ * - PruningContentFilter(DOM 节点 text-density 评分,~200 行 port)
20
+ * - BM25ContentFilter(BM25 相似度过滤,~100 行 port)
21
+ */
22
+ /**
23
+ * 单条引用记录(角标编号 + URL)。
24
+ * 角标编号是 1-based(⟨1⟩、⟨2⟩、…)。
25
+ */
26
+ export interface CitationResult {
27
+ /** 角标编号(1-based,与 References 段 [N] 对应) */
28
+ n: number;
29
+ /** 去重后的 URL */
30
+ url: string;
31
+ }
32
+ /**
33
+ * 把 markdown 中的 inline link `[text](url)` 替换为 `text ⟨N⟩` 角标形式,
34
+ * 并在末尾追加去重的 References 段。
35
+ *
36
+ * @param markdown 原始 markdown 文本(可能含 0 个或多个 inline link)
37
+ * @returns { markdown: 加角标后的文本 + References 段, citations: 去重引用表 }
38
+ * 无链接时返回 { markdown: 原文不变, citations: [] }(不加 References 段)
39
+ */
40
+ export declare function applyCitations(markdown: string): {
41
+ markdown: string;
42
+ citations: CitationResult[];
43
+ };
44
+ //# sourceMappingURL=content-filter-cite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-filter-cite.d.ts","sourceRoot":"","sources":["../../src/browse/content-filter-cite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,CAAC,EAAE,MAAM,CAAC;IACV,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAkBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B,CA+BA"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * content-filter-cite(parse12 §3.4 v1.1 新增)
3
+ *
4
+ * markdown_cited 档的 ⟨N⟩ 引用角标 —— Crawl4AI convert_links_to_citations
5
+ * 算法的纯 TS reimplement(~50 行)。
6
+ *
7
+ * 借鉴源(守 INV-69:只借鉴算法不引依赖):
8
+ * - Crawl4AI markdown_generation_strategy.py(Apache-2.0;convert_links_to_citations
9
+ * 的核心思路:扫 inline link → URL 去重分配角标 → 替换为 text ⟨N⟩ → 末尾 References 段)
10
+ * - 守 INV-69:不 import crawl4ai(Python 包不可作 JS 依赖);本文件是纯 TS reimplement
11
+ *
12
+ * 算法(parse12 §3.4):
13
+ * 1. 扫 markdown 中所有 [text](url) 形式的 inline 链接
14
+ * 2. URL 去重(Map<url, n>),首次出现分配 ⟨N⟩ 角标(1-based)
15
+ * 3. 替换 inline 链接为 `text ⟨N⟩`(保留链接文字,去 URL 本体)
16
+ * 4. 末尾追加 `\n\n## References\n[1] url\n[2] url\n...`
17
+ *
18
+ * 不做(parse12 §3.4 推迟 v1.2):
19
+ * - PruningContentFilter(DOM 节点 text-density 评分,~200 行 port)
20
+ * - BM25ContentFilter(BM25 相似度过滤,~100 行 port)
21
+ */
22
+ // ============================================================
23
+ // 常量
24
+ // ============================================================
25
+ /**
26
+ * markdown inline link 正则:[text](url)
27
+ * - text 组:除 ] 外的任意字符(含空格、中文等 Unicode)
28
+ * - url 组:http(s):// 开头,不含空格/右括号(容忍 URL 末尾的 . , ; 等标点
29
+ * 会被 markdown 语法归入 url 组;这是 [text](url) inline link 的标准边界)
30
+ *
31
+ * 注意:用 g flag 支持全局替换;replace callback 逐个匹配处理。
32
+ */
33
+ const MD_LINK_RE = /\[([^\]]*)\]\((https?:\/\/[^\s)]+)\)/g;
34
+ // ============================================================
35
+ // 核心 API:applyCitations(纯函数,无副作用,可单测)
36
+ // ============================================================
37
+ /**
38
+ * 把 markdown 中的 inline link `[text](url)` 替换为 `text ⟨N⟩` 角标形式,
39
+ * 并在末尾追加去重的 References 段。
40
+ *
41
+ * @param markdown 原始 markdown 文本(可能含 0 个或多个 inline link)
42
+ * @returns { markdown: 加角标后的文本 + References 段, citations: 去重引用表 }
43
+ * 无链接时返回 { markdown: 原文不变, citations: [] }(不加 References 段)
44
+ */
45
+ export function applyCitations(markdown) {
46
+ const urlToN = new Map();
47
+ const citations = [];
48
+ let nextN = 1;
49
+ const transformed = markdown.replace(MD_LINK_RE, (_full, text, url) => {
50
+ let n = urlToN.get(url);
51
+ if (n === undefined) {
52
+ n = nextN++;
53
+ urlToN.set(url, n);
54
+ citations.push({ n, url });
55
+ }
56
+ // 保留链接文字 + 追加 ⟨N⟩ 角标(去 URL 本体)
57
+ // 角标用 unicode mathematical angle brackets ⟨ ⟩(U+27E8 / U+27E9)
58
+ // 与既有 @oN 续页 ref 不重叠(parse12 R21)
59
+ return `${text} ⟨${n}⟩`;
60
+ });
61
+ // 末尾 References 段(仅当有 citation 时)
62
+ if (citations.length === 0) {
63
+ return { markdown: transformed, citations: [] };
64
+ }
65
+ const refs = citations.map((c) => `[${c.n}] ${c.url}`).join("\n");
66
+ return {
67
+ markdown: `${transformed}\n\n## References\n${refs}\n`,
68
+ citations,
69
+ };
70
+ }
71
+ //# sourceMappingURL=content-filter-cite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-filter-cite.js","sourceRoot":"","sources":["../../src/browse/content-filter-cite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAgBH,+DAA+D;AAC/D,KAAK;AACL,+DAA+D;AAC/D;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAE3D,+DAA+D;AAC/D,sCAAsC;AACtC,+DAA+D;AAC/D;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAI7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAClC,UAAU,EACV,CAAC,KAAa,EAAE,IAAY,EAAE,GAAW,EAAE,EAAE;QAC3C,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,CAAC,GAAG,KAAK,EAAE,CAAC;YACZ,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,+BAA+B;QAC/B,+DAA+D;QAC/D,kCAAkC;QAClC,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;IAC1B,CAAC,CACF,CAAC;IAEF,kCAAkC;IAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO;QACL,QAAQ,EAAE,GAAG,WAAW,sBAAsB,IAAI,IAAI;QACtD,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type CitationResult } from "./content-filter-cite.js";
2
+ export type ExtractMode = "raw" | "markdown" | "markdown_cited";
3
+ export interface MarkdownExtractOptions {
4
+ mode: ExtractMode;
5
+ /** turndown 配置:heading style("atx" = # 风格,LLM 友好;默认 "atx") */
6
+ headingStyle?: "atx" | "setext";
7
+ /** bullet list marker(默认 "-") */
8
+ bulletMarker?: "-" | "*" | "+";
9
+ /** markdown_cited 档:是否启用 ⟨N⟩ 角标(默认 true;false = 仅 markdown 不加角标) */
10
+ enableCitations?: boolean;
11
+ }
12
+ export interface MarkdownExtractResult {
13
+ /** 抽取后的 markdown 文本(raw 档 = 原始 html 不变) */
14
+ markdown: string;
15
+ /** defuddle 抽出的页面标题(若有) */
16
+ title?: string;
17
+ /** defuddle 抽出的作者(若有) */
18
+ byline?: string;
19
+ /** defuddle 抽出的摘要(若有) */
20
+ excerpt?: string;
21
+ /** 仅 markdown_cited 档填:去重引用表 */
22
+ citations?: CitationResult[];
23
+ /** 引擎实际服务的 extractor 名("raw" / "defuddle+turndown" / fallback "turndown-only") */
24
+ served_by: string;
25
+ }
26
+ export declare const MARKDOWN_ENGINE: Readonly<{
27
+ extractor: "defuddle";
28
+ converter: "turndown";
29
+ pipeline: "defuddle+turndown";
30
+ }>;
31
+ /**
32
+ * @param html 原始 HTML 字符串(fetch_url bodyText / browse evaluate_script outerHTML)
33
+ * @param opts 模式 + 配置(mode 必传)
34
+ * @returns MarkdownExtractResult(markdown + 元数据 + 可选 citations)
35
+ *
36
+ * 失败容忍(守 raw 默认零回归 + 不阻断主路径):
37
+ * - mode="raw" → 直接返原始 html(INV-66 passthrough;不经 defuddle/turndown)
38
+ * - defuddle 抽取失败 → 降级 turndown-only(served_by="turndown-only",跳过正文抽取直接转全页 HTML)
39
+ * - turndown 失败 → 抛 Error("[markdown-extractor]") 前缀,调用方 catch 后 outcome=unknown
40
+ */
41
+ export declare function extractMarkdown(html: string, opts: MarkdownExtractOptions): Promise<MarkdownExtractResult>;
42
+ /**
43
+ * 对固定 fixture HTML 跑一次 extractMarkdown,验引擎可用。
44
+ * doctor #33/#34 调;CI 可选跑(不阻断,warn-only)。
45
+ * @returns { ok, engine, elapsed_ms, markdown_preview }
46
+ */
47
+ export declare function smokeTestMarkdownEngine(): Promise<{
48
+ ok: boolean;
49
+ engine: string;
50
+ elapsed_ms: number;
51
+ markdown_preview: string;
52
+ }>;
53
+ //# sourceMappingURL=markdown-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-extractor.d.ts","sourceRoot":"","sources":["../../src/browse/markdown-extractor.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM/E,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAC;IAClB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,iCAAiC;IACjC,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC/B,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,eAAO,MAAM,eAAe;;;;EAI1B,CAAC;AAKH;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAmEhC;AAKD;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC,CAsBD"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * MarkdownExtractor(parse12 §3.1 v1.1 新增)
3
+ *
4
+ * mode-aware HTML→markdown 抽取器。BrowseChannel doExtract + fetch_url doFetchUrl
5
+ * 的内部子组件(INV-67:不是新通道,不 extends BaseChannel,不经 FallbackDecider)。
6
+ *
7
+ * 三档(用户硬约束 parse12 §1.3:raw 默认保 v1.0,markdown opt-in):
8
+ * - "raw" : passthrough(返原始 html 不变;INV-66 守)
9
+ * - "markdown" : defuddle 抽正文 HTML → turndown 转 markdown
10
+ * - "markdown_cited" : markdown + ⟨N⟩ 引用角标(content-filter-cite.ts)
11
+ *
12
+ * 引擎选型(parse12 §4 决策表):JS 原生 defuddle + turndown,非 Trafilatura Python。
13
+ * 守 INV-68:禁 spawn/exec python;引擎必须是 JS import 可加载。
14
+ *
15
+ * 借鉴源:
16
+ * - defuddle(MIT,FiveFilters)内容抽取 — 替代 Mozilla Readability(避 jsdom 重依赖)
17
+ * - turndown v7.2.4(MIT,@mixmark-io/domino 轻量 DOM)HTML→markdown
18
+ * - Crawl4AI markdown_generation_strategy.py(Apache-2.0,fit_markdown 思路借鉴不 vendored)
19
+ * - 08 §3.2 BrowseOptions 对象化范式(extract_mode 是 options 字段,非新 action)
20
+ */
21
+ // defuddle/node:函数式 API,接受 HTML string(内部自含 DOM 解析;守 INV-68 纯 JS)
22
+ import { Defuddle } from "defuddle/node";
23
+ import TurndownService from "turndown";
24
+ import { applyCitations } from "./content-filter-cite.js";
25
+ import { logger } from "../util/logger.js";
26
+ // ============================================================
27
+ // 顶级 const(INV-68 衍生:引擎名集中,doctor 读)
28
+ // ============================================================
29
+ export const MARKDOWN_ENGINE = Object.freeze({
30
+ extractor: "defuddle", // 内容抽取器(替代 Readability,避 jsdom)
31
+ converter: "turndown", // HTML→markdown 转换器
32
+ pipeline: "defuddle+turndown",
33
+ });
34
+ // ============================================================
35
+ // 主 API:extractMarkdown(纯函数,无副作用,可单测)
36
+ // ============================================================
37
+ /**
38
+ * @param html 原始 HTML 字符串(fetch_url bodyText / browse evaluate_script outerHTML)
39
+ * @param opts 模式 + 配置(mode 必传)
40
+ * @returns MarkdownExtractResult(markdown + 元数据 + 可选 citations)
41
+ *
42
+ * 失败容忍(守 raw 默认零回归 + 不阻断主路径):
43
+ * - mode="raw" → 直接返原始 html(INV-66 passthrough;不经 defuddle/turndown)
44
+ * - defuddle 抽取失败 → 降级 turndown-only(served_by="turndown-only",跳过正文抽取直接转全页 HTML)
45
+ * - turndown 失败 → 抛 Error("[markdown-extractor]") 前缀,调用方 catch 后 outcome=unknown
46
+ */
47
+ export async function extractMarkdown(html, opts) {
48
+ // ---------- 0. 空输入兜底 ----------
49
+ if (!html || html.length === 0) {
50
+ return { markdown: "", served_by: opts.mode === "raw" ? "raw" : MARKDOWN_ENGINE.pipeline };
51
+ }
52
+ // ---------- 0b. raw 档 passthrough(INV-66:不经 defuddle/turndown) ----------
53
+ if (opts.mode === "raw") {
54
+ return { markdown: html, served_by: "raw" };
55
+ }
56
+ // ---------- 1. defuddle 抽正文 HTML(去导航/广告/样板) ----------
57
+ let articleHtml = null;
58
+ let title;
59
+ let byline;
60
+ let excerpt;
61
+ try {
62
+ // defuddle/node Defuddle 函数:接 (html_string, url, options) → Promise<DefuddleResponse>
63
+ // url 传空串(defuddle 内部用于相对链接解析;空串容忍)
64
+ const result = await Defuddle(html, "", {});
65
+ if (result && result.content) {
66
+ articleHtml = result.content;
67
+ title = result.title || undefined;
68
+ byline = result.author || undefined;
69
+ excerpt = result.description || undefined;
70
+ }
71
+ }
72
+ catch (e) {
73
+ // defuddle 失败 → 降级 turndown-only(served_by 标记降级;不阻断)
74
+ logger.warn({ evt: "defuddle_failed", error: String(e).slice(0, 200) });
75
+ articleHtml = null;
76
+ }
77
+ // ---------- 2. turndown HTML→markdown ----------
78
+ const turndown = new TurndownService({
79
+ headingStyle: opts.headingStyle ?? "atx",
80
+ bulletListMarker: opts.bulletMarker ?? "-",
81
+ codeBlockStyle: "fenced",
82
+ });
83
+ const inputHtml = articleHtml ?? html; // defuddle 失败时降级转全页
84
+ const servedBy = articleHtml ? MARKDOWN_ENGINE.pipeline : "turndown-only";
85
+ let markdown;
86
+ try {
87
+ markdown = turndown.turndown(inputHtml);
88
+ }
89
+ catch (e) {
90
+ // turndown 失败 = 引擎彻底挂,抛错让调用方走 outcome=unknown
91
+ throw new Error(`[markdown-extractor] turndown failed: ${String(e).slice(0, 200)}`);
92
+ }
93
+ // ---------- 3. markdown_cited 档:⟨N⟩ 引用角标 ----------
94
+ let citations;
95
+ if (opts.mode === "markdown_cited" && opts.enableCitations !== false) {
96
+ const cited = applyCitations(markdown);
97
+ markdown = cited.markdown;
98
+ citations = cited.citations;
99
+ }
100
+ return {
101
+ markdown,
102
+ title,
103
+ byline,
104
+ excerpt,
105
+ ...(citations ? { citations } : {}),
106
+ served_by: servedBy,
107
+ };
108
+ }
109
+ // ============================================================
110
+ // helper:smoke-test 入口(doctor #33/#34 + CI 可调)
111
+ // ============================================================
112
+ /**
113
+ * 对固定 fixture HTML 跑一次 extractMarkdown,验引擎可用。
114
+ * doctor #33/#34 调;CI 可选跑(不阻断,warn-only)。
115
+ * @returns { ok, engine, elapsed_ms, markdown_preview }
116
+ */
117
+ export async function smokeTestMarkdownEngine() {
118
+ const fixture = `<html><head><title>Test</title></head><body>` +
119
+ `<nav>nav junk</nav><article><h1>Hello</h1><p>World <a href="https://example.com">link</a></p></article>` +
120
+ `<footer>footer junk</footer></body></html>`;
121
+ const t0 = Date.now();
122
+ try {
123
+ const r = await extractMarkdown(fixture, { mode: "markdown" });
124
+ return {
125
+ ok: r.markdown.length > 0 && r.markdown.includes("Hello"),
126
+ engine: r.served_by,
127
+ elapsed_ms: Date.now() - t0,
128
+ markdown_preview: r.markdown.slice(0, 200),
129
+ };
130
+ }
131
+ catch {
132
+ return {
133
+ ok: false,
134
+ engine: "failed",
135
+ elapsed_ms: Date.now() - t0,
136
+ markdown_preview: "",
137
+ };
138
+ }
139
+ }
140
+ //# sourceMappingURL=markdown-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-extractor.js","sourceRoot":"","sources":["../../src/browse/markdown-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseChannel.d.ts","sourceRoot":"","sources":["../../src/channels/BrowseChannel.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,MAAM,EACN,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAW5E;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,KAChB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAQpC,8BAAsB,aAAc,SAAQ,SAAS;IACnD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,wDAAwD;IACxD,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAKrD;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,6BAiB9B;IAEH;;;;;;;;OAQG;cACa,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;;OAGG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,qDAAqD;IAC/C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAWhC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAOpC;;;;;;;;;OASG;IACG,MAAM,CACV,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAuBxC;;OAEG;YACW,YAAY;IA6D1B;;;;;;OAMG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAOhF;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,gBAAgB,GAAG,IAAI;IAIvD;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAmEvB;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IA+ChE;;;OAGG;IACG,SAAS,CACb,IAAI,EAAE,eAAe,EACrB,GAAG,CAAC,EAAE,iBAAiB,EACvB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;IAKjD;;;;;OAKG;YACW,aAAa;IAoC3B;;;;;;;;;;;;;OAaG;IACG,SAAS,IAAI,OAAO,CACxB,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAC1D;IAkBD;;;;OAIG;YACW,YAAY;CAa3B"}
1
+ {"version":3,"file":"BrowseChannel.d.ts","sourceRoot":"","sources":["../../src/channels/BrowseChannel.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,MAAM,EACN,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAW5E;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,aAAa,KAChB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAQpC,8BAAsB,aAAc,SAAQ,SAAS;IACnD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,wDAAwD;IACxD,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAKrD;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,6BAiB9B;IAEH;;;;;;;;OAQG;cACa,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;;OAGG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,qDAAqD;IAC/C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAWhC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAOpC;;;;;;;;;OASG;IACG,MAAM,CACV,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAuBxC;;OAEG;YACW,YAAY;IAmE1B;;;;;;OAMG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAOhF;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,gBAAgB,GAAG,IAAI;IAIvD;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAmEvB;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IA+ChE;;;OAGG;IACG,SAAS,CACb,IAAI,EAAE,eAAe,EACrB,GAAG,CAAC,EAAE,iBAAiB,EACvB,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;IAKjD;;;;;OAKG;YACW,aAAa;IAoC3B;;;;;;;;;;;;;OAaG;IACG,SAAS,IAAI,OAAO,CACxB,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAC1D;IAkBD;;;;OAIG;YACW,YAAY;CAa3B"}
@@ -202,6 +202,12 @@ export class BrowseChannel extends UiChannel {
202
202
  preview: truncatePreview(partial.preview ?? ""),
203
203
  title: partial.title,
204
204
  final_url: partial.final_url ?? url,
205
+ // v1.1(parse12 §3.3.1):markdown 档元数据透传(仅 extract_mode=markdown* 时 partial 含这些字段)
206
+ ...(partial.byline ? { byline: partial.byline } : {}),
207
+ ...(partial.citations ? { citations: partial.citations } : {}),
208
+ ...(partial.markdown_engine
209
+ ? { markdown_engine: partial.markdown_engine }
210
+ : {}),
205
211
  },
206
212
  served_by: this.name,
207
213
  fallback_used: false,
@@ -523,11 +529,53 @@ async function doScreenshot(c, _url, opts) {
523
529
  });
524
530
  return { preview: `screenshot saved to ${filePath}` };
525
531
  }
526
- async function doExtract(c, _url, _opts) {
527
- // extract 复用 take_snapshot,再剥 snapshot 文本作为整页抽取。
528
- const r = (await c.callTool("take_snapshot", {}));
529
- const { title, text } = extractSnapshot(r);
530
- return { title, preview: text };
532
+ async function doExtract(c, _url, opts) {
533
+ // ---------- v1.1 mode 分流(parse12 §3.3.1;INV-66 raw byte-identical v1.0) ----------
534
+ // 铁律:extract_mode 未传 / "raw" → 完全走 v1.0 take_snapshot 路径(零改)。
535
+ // INV-66 守:raw 档不调 extractMarkdown / 不静态 import markdown-extractor。
536
+ const mode = opts.extract_mode;
537
+ if (mode === undefined || mode === "raw") {
538
+ // v1.0 路径 byte-identical:take_snapshot → a11y 文本树
539
+ const r = (await c.callTool("take_snapshot", {}));
540
+ const { title, text } = extractSnapshot(r);
541
+ return { title, preview: text };
542
+ }
543
+ // ---------- markdown / markdown_cited 档(v1.1 新增) ----------
544
+ // 取渲染后 HTML(evaluate_script 注入 document.documentElement.outerHTML)。
545
+ // raw 档不走此路径 → INV-66 raw 零回归;markdown 档 dynamic import lazy-load 引擎。
546
+ const expr = `(function(){
547
+ try {
548
+ return JSON.stringify({
549
+ html: document.documentElement.outerHTML,
550
+ url: window.location.href,
551
+ title: document.title || ""
552
+ });
553
+ } catch(e) { return JSON.stringify({ html: "", url: "", title: "" }); }
554
+ })()`;
555
+ const evalResult = (await c.callTool("evaluate_script", {
556
+ function: expr,
557
+ }));
558
+ const parsed = JSON.parse(extractEvalPreview(evalResult) || "{}");
559
+ if (!parsed.html) {
560
+ // 取 HTML 失败 → 抛错走 outcome=unknown(BrowseChannel.browse catch → classifyBrowseError)
561
+ throw new Error("[markdown-extractor] evaluate_script returned empty html");
562
+ }
563
+ // dynamic import(守 INV-66:raw 档不加载 defuddle/turndown;markdown 档才 lazy-load)
564
+ const { extractMarkdown } = await import("../browse/markdown-extractor.js");
565
+ const mdResult = await extractMarkdown(parsed.html, {
566
+ mode,
567
+ headingStyle: "atx",
568
+ bulletMarker: "-",
569
+ enableCitations: mode === "markdown_cited",
570
+ });
571
+ return {
572
+ title: mdResult.title ?? parsed.title ?? undefined,
573
+ preview: mdResult.markdown,
574
+ // markdown 专属元数据(v1.1 扩展;raw 档不填,v1.0 调用方不读)
575
+ ...(mdResult.byline ? { byline: mdResult.byline } : {}),
576
+ ...(mdResult.citations ? { citations: mdResult.citations } : {}),
577
+ ...(mdResult.served_by ? { markdown_engine: mdResult.served_by } : {}),
578
+ };
531
579
  }
532
580
  async function doClick(c, _url, opts) {
533
581
  // 选项驱动:opts.selectors.click 是 a11y uid
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseChannel.js","sourceRoot":"","sources":["../../src/channels/BrowseChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowseChannel.js","sourceRoot":"","sources":["../../src/channels/BrowseChannel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AxProvider.d.ts","sourceRoot":"","sources":["../../src/desktop/AxProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,KAAK,EAEV,cAAc,EACd,aAAa,EACb,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,aAAa,CAAC;AAkDrB;;;;;;;;GAQG;AACH,qBAAa,UAAU;IAYT,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,iDAAiD;IACjD,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB;IAEpC;;;;;;;OAOG;gBAC0B,OAAO,EAAE,SAAS;IAE/C;;;;;;;OAOG;IACG,QAAQ,CACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IA0C3C;;;;;;;OAOG;IACG,IAAI,CACR,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAuCjE;;;;;;;;;;;;;OAaG;IACG,GAAG,CACP,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;CAiC1C"}
1
+ {"version":3,"file":"AxProvider.d.ts","sourceRoot":"","sources":["../../src/desktop/AxProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,KAAK,EAEV,cAAc,EACd,aAAa,EACb,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,aAAa,CAAC;AAkDrB;;;;;;;;GAQG;AACH,qBAAa,UAAU;IAYT,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,iDAAiD;IACjD,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB;IAEpC;;;;;;;OAOG;gBAC0B,OAAO,EAAE,SAAS;IAE/C;;;;;;;OAOG;IACG,QAAQ,CACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IA4C3C;;;;;;;OAOG;IACG,IAAI,CACR,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAuCjE;;;;;;;;;;;;;OAaG;IACG,GAAG,CACP,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;CAiC1C"}
@@ -1,4 +1,4 @@
1
- import { axTreeToOutline } from "./OutlineMapper.js";
1
+ import { axTreeToOutline, pruneToInteractive } from "./OutlineMapper.js";
2
2
  // ============================================================
3
3
  // 错误契约(parse4 §3.1.2 error_kind → Outcome 映射)
4
4
  // ============================================================
@@ -106,9 +106,11 @@ export class AxProvider {
106
106
  };
107
107
  }
108
108
  const { root: outlineRoot } = axTreeToOutline(root);
109
+ // v1.2(doc/14 §4.2d):interactiveOnly opt-in 后处理剪枝(INV-70:默认不过滤 byte-identical v1.1)
110
+ const finalRoot = opts.interactive_only ? pruneToInteractive(outlineRoot) : outlineRoot;
109
111
  const snapshot = {
110
112
  stateId: newStateId(),
111
- root: outlineRoot,
113
+ root: finalRoot,
112
114
  createdAt: Date.now(),
113
115
  };
114
116
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"AxProvider.js","sourceRoot":"","sources":["../../src/desktop/AxProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AxProvider.js","sourceRoot":"","sources":["../../src/desktop/AxProvider.ts"],"names":[],"mappings":"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"}
@@ -68,4 +68,23 @@ export declare function axTreeToOutline(root: AxNode): OutlineMapResult;
68
68
  * @param childCount children 数量(已递归后传入,避免重复访问)
69
69
  */
70
70
  export declare function isPictureOnly(node: AxNode, childCount: number): boolean;
71
+ /**
72
+ * 判断 role 是否「可交互」(用户能操作:点击/输入/选择)。
73
+ * 用于 interactiveOnly opt-in 过滤(pruneToInteractive)。
74
+ */
75
+ export declare function isInteractiveRole(role: string): boolean;
76
+ /**
77
+ * 剪枝 OutlineNode 树到「只含可交互元素 + 其祖先」(doc/14 §4.2d)。
78
+ *
79
+ * - **root 永远保留**(即使非交互)—— 上游需要树根 handle;root 是 application/window。
80
+ * - 非根节点:保留当且仅当「自身可交互 OR 子树含可交互后代」。
81
+ * - 纯文本/布局/容器(无交互后代)的叶子分支被剪掉。
82
+ * - 不改原树(返新树;children 数组重建,节点对象复用浅拷贝)。
83
+ *
84
+ * 用途:LLM 只需「这页面能点什么/填什么」时,大幅省 token(vs 全 AX tree)。
85
+ * 默认 off(DesktopOptions.interactive_only 未传 = 不过滤 = byte-identical v1.1)。
86
+ *
87
+ * INV-70:本函数是 opt-in 后处理;axTreeToOutline(映射)一行不改(INV-61 三平台共享不变)。
88
+ */
89
+ export declare function pruneToInteractive(root: OutlineNode): OutlineNode;
71
90
  //# sourceMappingURL=OutlineMapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OutlineMapper.d.ts","sourceRoot":"","sources":["../../src/desktop/OutlineMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAW9D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAgB9D;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAST"}
1
+ {"version":3,"file":"OutlineMapper.d.ts","sourceRoot":"","sources":["../../src/desktop/OutlineMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA8B9D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAgB9D;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAST;AAKD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAejE"}