larkcc 0.1.7 → 0.1.9

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.
@@ -0,0 +1,252 @@
1
+ /**
2
+ * 飞书文档样式常量
3
+ *
4
+ * API 参考:
5
+ * - 文档块 API: https://feishu.apifox.cn/doc-1950637
6
+ * - 代码语言枚举: https://feishu.apifox.cn/doc-1950637
7
+ */
8
+ // 飞书文档块类型
9
+ export const BlockType = {
10
+ PAGE: 1, // 页面
11
+ TEXT: 2, // 文本
12
+ HEADING1: 3, // 一级标题
13
+ HEADING2: 4, // 二级标题
14
+ HEADING3: 5, // 三级标题
15
+ HEADING4: 6, // 四级标题
16
+ HEADING5: 7, // 五级标题
17
+ HEADING6: 8, // 六级标题
18
+ HEADING7: 9, // 七级标题
19
+ HEADING8: 10, // 八级标题
20
+ HEADING9: 11, // 九级标题
21
+ BULLET: 12, // 无序列表
22
+ ORDERED: 13, // 有序列表
23
+ CODE: 14, // 代码块
24
+ QUOTE: 15, // 引用块
25
+ EQUATION: 16, // 公式块
26
+ TODO: 17, // 任务列表
27
+ BITABLE: 18, // 多维表格
28
+ CALLOUT: 19, // 高亮块
29
+ CHAT_CARD: 20, // 会话卡片
30
+ DIAGRAM: 21, // 流程图/UML
31
+ DIVIDER: 22, // 分割线
32
+ FILE: 23, // 文件
33
+ TABLE: 24, // 表格
34
+ TABLE_CELL: 25, // 表格单元格
35
+ IFRAME: 27, // 内嵌网页
36
+ IMAGE: 28, // 图片
37
+ VIEW: 29, // 视图(容器块)
38
+ };
39
+ // 飞书高亮块颜色
40
+ export const CalloutColors = {
41
+ NOTE: "blue", // 提示
42
+ TIP: "green", // 建议
43
+ WARNING: "orange", // 警告
44
+ DANGER: "red", // 危险
45
+ CAUTION: "red", // 注意(同 danger)
46
+ INFO: "blue", // 信息(同 note)
47
+ };
48
+ // 飞书官方语言ID对照表(CodeLanguage 枚举,ID范围1-75)
49
+ // 参考:https://feishu.apifox.cn/doc-1950637
50
+ export const LanguageMap = {
51
+ // 1 - PlainText
52
+ "": 1, "text": 1, "plain": 1, "txt": 1, "plaintext": 1,
53
+ // 2 - ABAP
54
+ "abap": 2,
55
+ // 3 - Ada
56
+ "ada": 3,
57
+ // 4 - Apache
58
+ "apache": 4, "apacheconf": 4,
59
+ // 5 - Apex
60
+ "apex": 5,
61
+ // 6 - Assembly
62
+ "assembly": 6, "asm": 6, "nasm": 6,
63
+ // 7 - Bash
64
+ "bash": 7, "sh": 7, "zsh": 7,
65
+ // 8 - CSharp
66
+ "csharp": 8, "cs": 8, "c#": 8,
67
+ // 9 - C++
68
+ "cpp": 9, "c++": 9, "cc": 9, "cxx": 9, "hpp": 9,
69
+ // 10 - C
70
+ "c": 10, "h": 10,
71
+ // 11 - COBOL
72
+ "cobol": 11, "cob": 11,
73
+ // 12 - CSS
74
+ "css": 12,
75
+ // 13 - CoffeeScript
76
+ "coffeescript": 13, "coffee": 13,
77
+ // 14 - D
78
+ "d": 14, "dlang": 14,
79
+ // 15 - Dart
80
+ "dart": 15,
81
+ // 16 - Delphi
82
+ "delphi": 16, "pas": 16, "pascal": 16,
83
+ // 17 - Django
84
+ "django": 17, "jinja": 17, "jinja2": 17,
85
+ // 18 - Dockerfile
86
+ "dockerfile": 18, "docker": 18,
87
+ // 19 - Erlang
88
+ "erlang": 19,
89
+ // 20 - Fortran
90
+ "fortran": 20, "f90": 20, "f95": 20, "f03": 20,
91
+ // 21 - FoxPro
92
+ "foxpro": 21, "vfp": 21,
93
+ // 22 - Go
94
+ "go": 22, "golang": 22,
95
+ // 23 - Groovy
96
+ "groovy": 23, "gradle": 23,
97
+ // 24 - HTML
98
+ "html": 24, "htm": 24, "svelte": 24,
99
+ // 25 - HTMLBars
100
+ "htmlbars": 25, "hbs": 25, "handlebars": 25,
101
+ // 26 - HTTP
102
+ "http": 26,
103
+ // 27 - Haskell
104
+ "haskell": 27, "hs": 27,
105
+ // 28 - JSON
106
+ "json": 28, "jsonc": 28, "json5": 28,
107
+ // 29 - Java
108
+ "java": 29,
109
+ // 30 - JavaScript
110
+ "javascript": 30, "js": 30, "mjs": 30, "cjs": 30, "jsx": 30,
111
+ // 31 - Julia
112
+ "julia": 31, "jl": 31,
113
+ // 32 - Kotlin
114
+ "kotlin": 32, "kt": 32, "kts": 32,
115
+ // 33 - LateX
116
+ "latex": 33, "tex": 33,
117
+ // 34 - Lisp
118
+ "lisp": 34, "el": 34, "elisp": 34, "common-lisp": 34, "cl": 34,
119
+ // 35 - Logo
120
+ "logo": 35,
121
+ // 36 - Lua
122
+ "lua": 36,
123
+ // 37 - MATLAB
124
+ "matlab": 37,
125
+ // 38 - Makefile
126
+ "makefile": 38, "make": 38, "mk": 38,
127
+ // 39 - Markdown
128
+ "markdown": 39, "md": 39, "mdown": 39, "mkd": 39,
129
+ // 40 - Nginx
130
+ "nginx": 40, "nginxconf": 40,
131
+ // 41 - Objective
132
+ "objectivec": 41, "objc": 41, "obj-c": 41, "objective-c": 41, "mm": 41,
133
+ // 42 - OpenEdgeABL
134
+ "openedgeabl": 42, "abl": 42, "progress": 42, "openedge": 42,
135
+ // 43 - PHP
136
+ "php": 43,
137
+ // 44 - Perl
138
+ "perl": 44, "pl": 44, "pm": 44,
139
+ // 45 - PostScript
140
+ "postscript": 45, "ps": 45, "eps": 45,
141
+ // 46 - Power
142
+ "power": 46, "powershell": 46, "ps1": 46, "pwsh": 46,
143
+ // 47 - Prolog
144
+ "prolog": 47,
145
+ // 48 - ProtoBuf
146
+ "protobuf": 48, "proto": 48,
147
+ // 49 - Python
148
+ "python": 49, "py": 49, "py3": 49, "pyw": 49,
149
+ // 50 - R
150
+ "r": 50, "rscript": 50,
151
+ // 51 - RPG
152
+ "rpg": 51,
153
+ // 52 - Ruby
154
+ "ruby": 52, "rb": 52, "gemfile": 52, "rakefile": 52,
155
+ // 53 - Rust
156
+ "rust": 53, "rs": 53,
157
+ // 54 - SAS
158
+ "sas": 54,
159
+ // 55 - SCSS
160
+ "scss": 55, "sass": 55,
161
+ // 56 - SQL
162
+ "sql": 56, "mysql": 56, "postgresql": 56, "postgres": 56, "pgsql": 56, "sqlite": 56,
163
+ // 57 - Scala
164
+ "scala": 57, "sc": 57,
165
+ // 58 - Scheme
166
+ "scheme": 58, "scm": 58, "ss": 58, "racket": 58,
167
+ // 59 - Scratch
168
+ "scratch": 59, "sb3": 59,
169
+ // 60 - Shell
170
+ "shell": 60, "env": 60, "bashrc": 60, "zshrc": 60, "profile": 60,
171
+ // 61 - Swift
172
+ "swift": 61,
173
+ // 62 - Thrift
174
+ "thrift": 62,
175
+ // 63 - TypeScript
176
+ "typescript": 63, "ts": 63, "tsx": 63, "mts": 63, "cts": 63,
177
+ // 64 - VBScript
178
+ "vbscript": 64, "vbs": 64, "vb": 64,
179
+ // 65 - Visual
180
+ "visual": 65, "vbnet": 65, "vb.net": 65,
181
+ // 66 - XML
182
+ "xml": 66, "xhtml": 66, "xslt": 66, "xsl": 66, "xsd": 66, "svg": 66, "pom": 66,
183
+ // 67 - YAML
184
+ "yaml": 67, "yml": 67,
185
+ // 68 - CMake
186
+ "cmake": 68,
187
+ // 69 - Diff
188
+ "diff": 69, "patch": 69, "udiff": 69,
189
+ // 70 - Gherkin
190
+ "gherkin": 70, "feature": 70, "cucumber": 70,
191
+ // 71 - GraphQL
192
+ "graphql": 71, "gql": 71, "graphqls": 71,
193
+ // 72 - OpenGL Shading Language
194
+ "glsl": 72, "vert": 72, "frag": 72, "shader": 72,
195
+ // 73 - Properties
196
+ "properties": 73, "ini": 73, "conf": 73, "config": 73, "cfg": 73,
197
+ // 74 - Solidity
198
+ "solidity": 74, "sol": 74,
199
+ // 75 - TOML
200
+ "toml": 75,
201
+ // 默认
202
+ "default": 1,
203
+ };
204
+ // 外部图片 emoji 标识
205
+ export const EXTERNAL_IMAGE_EMOJI = "🖼️";
206
+ // CSS 颜色名称到十六进制映射表
207
+ export const ColorNameMap = {
208
+ // 基础颜色
209
+ black: "#000000",
210
+ white: "#FFFFFF",
211
+ red: "#FF0000",
212
+ green: "#00FF00",
213
+ blue: "#0000FF",
214
+ yellow: "#FFFF00",
215
+ cyan: "#00FFFF",
216
+ magenta: "#FF00FF",
217
+ // 扩展颜色
218
+ orange: "#FFA500",
219
+ purple: "#800080",
220
+ pink: "#FFC0CB",
221
+ brown: "#A52A2A",
222
+ gray: "#808080",
223
+ grey: "#808080",
224
+ silver: "#C0C0C0",
225
+ gold: "#FFD700",
226
+ navy: "#000080",
227
+ teal: "#008080",
228
+ olive: "#808000",
229
+ maroon: "#800000",
230
+ aqua: "#00FFFF",
231
+ lime: "#00FF00",
232
+ coral: "#FF7F50",
233
+ salmon: "#FA8072",
234
+ tomato: "#FF6347",
235
+ crimson: "#DC143C",
236
+ indigo: "#4B0082",
237
+ violet: "#EE82EE",
238
+ skyblue: "#87CEEB",
239
+ lightblue: "#ADD8E6",
240
+ darkblue: "#00008B",
241
+ lightgreen: "#90EE90",
242
+ darkgreen: "#006400",
243
+ lightgray: "#D3D3D3",
244
+ darkgray: "#A9A9A9",
245
+ };
246
+ // 文本对齐方式
247
+ export const AlignType = {
248
+ LEFT: 1,
249
+ CENTER: 2,
250
+ RIGHT: 3,
251
+ };
252
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/format/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 飞书文档处理模块
3
+ * 将 Markdown 转换为飞书文档块
4
+ */
5
+ import { Block } from "./builder.js";
6
+ export interface DocumentMeta {
7
+ cwd: string;
8
+ sessionId: string;
9
+ profile: string;
10
+ datetime: string;
11
+ }
12
+ /**
13
+ * 将 Markdown 文本转换为飞书文档块
14
+ */
15
+ export declare function markdownToBlocks(markdown: string, originalMessage: string, meta: DocumentMeta): {
16
+ blocks: Block[];
17
+ warnings: string[];
18
+ };
@@ -0,0 +1,170 @@
1
+ /**
2
+ * 飞书文档处理模块
3
+ * 将 Markdown 转换为飞书文档块
4
+ */
5
+ import { buildTextBlock, buildHeadingBlock, buildCodeBlock, buildBulletBlock, buildOrderedBlock, buildQuoteBlock, buildTodoBlock, buildEquationBlock, buildCalloutBlock, buildDividerBlock, buildTableBlock, parseInlineText, } from "./builder.js";
6
+ import { parseTable, parseTodo, parseBlockEquation, parseCallout, parseHeading, isCodeBlockStart, isCodeBlockEnd, isDivider, isBulletList, isOrderedList, } from "./parser.js";
7
+ import { sanitizeContent } from "./sanitize.js";
8
+ import { BlockType } from "./constants.js";
9
+ // ── 主转换函数 ───────────────────────────────────────────────────
10
+ /**
11
+ * 将 Markdown 文本转换为飞书文档块
12
+ */
13
+ export function markdownToBlocks(markdown, originalMessage, meta) {
14
+ const blocks = [];
15
+ // 1. 内容清理
16
+ const { content: sanitizedMarkdown, warnings } = sanitizeContent(markdown);
17
+ if (warnings.length > 0) {
18
+ console.error(`[WARN] Content sanitization: ${warnings.join(", ")}`);
19
+ }
20
+ // 2. 按行处理
21
+ const lines = sanitizedMarkdown.split("\n");
22
+ let currentPara = [];
23
+ let inCodeBlock = false;
24
+ let codeContent = [];
25
+ let codeLang = "";
26
+ const flushPara = () => {
27
+ if (currentPara.length > 0) {
28
+ const content = currentPara.join("\n").trim();
29
+ if (content) {
30
+ blocks.push(buildTextBlock(content));
31
+ }
32
+ currentPara = [];
33
+ }
34
+ };
35
+ for (let i = 0; i < lines.length; i++) {
36
+ const line = lines[i];
37
+ // --- 代码块处理 ---
38
+ if (inCodeBlock) {
39
+ if (isCodeBlockEnd(line)) {
40
+ blocks.push(buildCodeBlock(codeContent.join("\n"), codeLang));
41
+ inCodeBlock = false;
42
+ codeContent = [];
43
+ codeLang = "";
44
+ }
45
+ else {
46
+ codeContent.push(line);
47
+ }
48
+ continue;
49
+ }
50
+ const codeStart = isCodeBlockStart(line);
51
+ if (codeStart.isStart) {
52
+ flushPara();
53
+ inCodeBlock = true;
54
+ codeLang = codeStart.lang;
55
+ codeContent = [];
56
+ continue;
57
+ }
58
+ // --- 块级公式 ---
59
+ const equationResult = parseBlockEquation(lines, i);
60
+ if (equationResult) {
61
+ flushPara();
62
+ blocks.push(buildEquationBlock(equationResult.result.latex));
63
+ i = equationResult.endIndex;
64
+ continue;
65
+ }
66
+ // --- 高亮块 ---
67
+ const calloutResult = parseCallout(lines, i);
68
+ if (calloutResult) {
69
+ flushPara();
70
+ const { type, content } = calloutResult.result;
71
+ blocks.push(buildCalloutBlock(type, content.join("\n")));
72
+ i = calloutResult.endIndex;
73
+ continue;
74
+ }
75
+ // --- 表格 ---
76
+ const tableResult = parseTable(lines, i);
77
+ if (tableResult) {
78
+ flushPara();
79
+ blocks.push(buildTableBlock(tableResult.data));
80
+ i = tableResult.endIndex;
81
+ continue;
82
+ }
83
+ // --- 任务列表 ---
84
+ const todoResult = parseTodo(line);
85
+ if (todoResult) {
86
+ flushPara();
87
+ blocks.push(buildTodoBlock(todoResult.content, todoResult.checked));
88
+ continue;
89
+ }
90
+ // --- 标题 ---
91
+ const headingLevel = parseHeading(line);
92
+ if (headingLevel > 0) {
93
+ flushPara();
94
+ const content = line.slice(headingLevel + 1).trim();
95
+ blocks.push(buildHeadingBlock(headingLevel, content));
96
+ continue;
97
+ }
98
+ // --- 分割线 ---
99
+ if (isDivider(line)) {
100
+ flushPara();
101
+ blocks.push(buildDividerBlock());
102
+ continue;
103
+ }
104
+ // --- 引用块 ---
105
+ if (line.trim().startsWith("> ")) {
106
+ flushPara();
107
+ const quoteContent = line.trim().slice(2);
108
+ // 检查是否是高亮块语法(已在上面处理)
109
+ if (!quoteContent.match(/^\[!\w+\]/)) {
110
+ blocks.push(buildQuoteBlock(quoteContent));
111
+ }
112
+ continue;
113
+ }
114
+ // --- 无序列表 ---
115
+ if (isBulletList(line)) {
116
+ flushPara();
117
+ const match = line.match(/^(\s*)[-*]\s+(.+)$/);
118
+ if (match) {
119
+ blocks.push(buildBulletBlock(match[2]));
120
+ }
121
+ continue;
122
+ }
123
+ // --- 有序列表 ---
124
+ if (isOrderedList(line)) {
125
+ flushPara();
126
+ const match = line.match(/^(\s*)(\d+)\.\s+(.+)$/);
127
+ if (match) {
128
+ blocks.push(buildOrderedBlock(match[3]));
129
+ }
130
+ continue;
131
+ }
132
+ // --- 普通段落 ---
133
+ currentPara.push(line);
134
+ }
135
+ // 处理剩余段落
136
+ flushPara();
137
+ // 3. 添加元数据头部
138
+ const headerBlocks = buildDocumentHeader(originalMessage, meta);
139
+ return { blocks: [...headerBlocks, ...blocks], warnings };
140
+ }
141
+ // ── 文档头部构建 ───────────────────────────────────────────────────
142
+ function buildDocumentHeader(originalMessage, meta) {
143
+ const blocks = [];
144
+ // 引用块显示用户原始消息
145
+ if (originalMessage) {
146
+ blocks.push({
147
+ block_type: BlockType.QUOTE,
148
+ quote: { elements: parseInlineText(originalMessage) },
149
+ });
150
+ }
151
+ // 分割线
152
+ blocks.push(buildDividerBlock());
153
+ // 元数据(每行一个 text block,确保换行)
154
+ const metaLines = [
155
+ `📁 工作目录: ${meta.cwd}`,
156
+ `🤖 机器人: ${meta.profile}`,
157
+ `🔗 会话ID: ${meta.sessionId}`,
158
+ `📅 时间: ${meta.datetime}`,
159
+ ];
160
+ for (const line of metaLines) {
161
+ blocks.push({
162
+ block_type: BlockType.TEXT,
163
+ text: { elements: [{ text_run: { content: line } }] },
164
+ });
165
+ }
166
+ // 分割线
167
+ blocks.push(buildDividerBlock());
168
+ return blocks;
169
+ }
170
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/format/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 飞书格式处理模块
3
+ * 包含样式常量、内容清理、卡片处理、文档处理、解析器、块构建器
4
+ */
5
+ export * from "./constants.js";
6
+ export { sanitizeContent, formatWarnings } from "./sanitize.js";
7
+ export type { SanitizeResult } from "./sanitize.js";
8
+ export { buildMarkdownCard, buildTextCard, buildStatusCard, sendMarkdownCardMessage, } from "./card.js";
9
+ export { markdownToBlocks } from "./document.js";
10
+ export type { DocumentMeta } from "./document.js";
11
+ export { parseTable, parseTodo, parseBlockEquation, parseInlineEquation, parseCallout, parseHeading, isCodeBlockStart, isCodeBlockEnd, isDivider, isBulletList, isOrderedList, isQuote, } from "./parser.js";
12
+ export type { TodoParseResult, EquationParseResult, CalloutParseResult } from "./parser.js";
13
+ export { parseInlineText, buildTextBlock, buildHeadingBlock, buildCodeBlock, buildBulletBlock, buildOrderedBlock, buildQuoteBlock, buildTodoBlock, buildEquationBlock, buildCalloutBlock, buildDividerBlock, buildTableBlock, } from "./builder.js";
14
+ export type { Block, TextElement, TableData } from "./builder.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 飞书格式处理模块
3
+ * 包含样式常量、内容清理、卡片处理、文档处理、解析器、块构建器
4
+ */
5
+ // 常量
6
+ export * from "./constants.js";
7
+ // 内容清理
8
+ export { sanitizeContent, formatWarnings } from "./sanitize.js";
9
+ // 卡片处理
10
+ export { buildMarkdownCard, buildTextCard, buildStatusCard, sendMarkdownCardMessage, } from "./card.js";
11
+ // 文档处理
12
+ export { markdownToBlocks } from "./document.js";
13
+ // 解析器
14
+ export { parseTable, parseTodo, parseBlockEquation, parseInlineEquation, parseCallout, parseHeading, isCodeBlockStart, isCodeBlockEnd, isDivider, isBulletList, isOrderedList, isQuote, } from "./parser.js";
15
+ // 块构建器
16
+ export { parseInlineText, buildTextBlock, buildHeadingBlock, buildCodeBlock, buildBulletBlock, buildOrderedBlock, buildQuoteBlock, buildTodoBlock, buildEquationBlock, buildCalloutBlock, buildDividerBlock, buildTableBlock, } from "./builder.js";
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK;AACL,cAAc,gBAAgB,CAAC;AAE/B,OAAO;AACP,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO;AACP,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,OAAO;AACP,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM;AACN,OAAO,EACL,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,YAAY,EACZ,aAAa,EACb,OAAO,GACR,MAAM,aAAa,CAAC;AAGrB,OAAO;AACP,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Markdown 解析器
3
+ * 解析表格、任务列表、公式、高亮块等
4
+ */
5
+ import { CalloutType } from "./constants.js";
6
+ import { TableData } from "./builder.js";
7
+ /**
8
+ * 解析 Markdown 表格
9
+ * 支持:
10
+ * - 标准 Markdown 表格
11
+ * - HTML colspan/rowspan: <td colspan="2">content</td>
12
+ * @returns 表格数据和结束行索引,如果不是表格返回 null
13
+ */
14
+ export declare function parseTable(lines: string[], startIndex: number): {
15
+ data: TableData;
16
+ endIndex: number;
17
+ } | null;
18
+ export interface TodoParseResult {
19
+ content: string;
20
+ checked: boolean;
21
+ }
22
+ /**
23
+ * 解析任务列表
24
+ * - [ ] 未完成
25
+ * - [x] 已完成
26
+ */
27
+ export declare function parseTodo(line: string): TodoParseResult | null;
28
+ export interface EquationParseResult {
29
+ latex: string;
30
+ inline: boolean;
31
+ }
32
+ /**
33
+ * 解析块级公式 $$...$$
34
+ */
35
+ export declare function parseBlockEquation(lines: string[], startIndex: number): {
36
+ result: EquationParseResult;
37
+ endIndex: number;
38
+ } | null;
39
+ /**
40
+ * 解析行内公式 $...$
41
+ */
42
+ export declare function parseInlineEquation(text: string): {
43
+ latex: string;
44
+ remaining: string;
45
+ } | null;
46
+ export interface CalloutParseResult {
47
+ type: CalloutType;
48
+ content: string[];
49
+ }
50
+ /**
51
+ * 解析高亮块
52
+ * > [!NOTE]
53
+ * > 这是一个提示
54
+ *
55
+ * > [!WARNING]
56
+ * > 这是一个警告
57
+ */
58
+ export declare function parseCallout(lines: string[], startIndex: number): {
59
+ result: CalloutParseResult;
60
+ endIndex: number;
61
+ } | null;
62
+ /**
63
+ * 检测标题级别
64
+ * @returns 标题级别 (1-6),0 表示不是标题
65
+ */
66
+ export declare function parseHeading(line: string): number;
67
+ /**
68
+ * 检测是否为代码块开始
69
+ */
70
+ export declare function isCodeBlockStart(line: string): {
71
+ isStart: boolean;
72
+ lang: string;
73
+ };
74
+ /**
75
+ * 检测是否为代码块结束
76
+ */
77
+ export declare function isCodeBlockEnd(line: string): boolean;
78
+ /**
79
+ * 检测是否为引用块
80
+ */
81
+ export declare function isQuote(line: string): boolean;
82
+ /**
83
+ * 检测是否为无序列表
84
+ */
85
+ export declare function isBulletList(line: string): boolean;
86
+ /**
87
+ * 检测是否为有序列表
88
+ */
89
+ export declare function isOrderedList(line: string): boolean;
90
+ /**
91
+ * 检测是否为分割线
92
+ */
93
+ export declare function isDivider(line: string): boolean;