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.
package/dist/feishu.js CHANGED
@@ -2,6 +2,7 @@ import * as lark from "@larksuiteoapi/node-sdk";
2
2
  import * as fs from "fs";
3
3
  import * as path from "path";
4
4
  import * as os from "os";
5
+ import { sanitizeContent, formatWarnings, markdownToBlocks } from "./format/index.js";
5
6
  const DOC_REGISTRY_DIR = path.join(os.homedir(), ".larkcc");
6
7
  function getDocRegistryPath(profile) {
7
8
  if (!profile || profile === "default") {
@@ -133,12 +134,12 @@ export async function replyFinalCard(client, chatId, rootMsgId, markdown, contex
133
134
  }
134
135
  }
135
136
  async function sendMessageChunk(client, rootMsgId, content) {
136
- // 过滤 blob URL
137
- const { content: sanitizedContent, filteredCount } = sanitizeContent(content);
138
- // 追加过滤通知
137
+ // 过滤 blob URL 和外部图片
138
+ const { content: sanitizedContent, warnings } = sanitizeContent(content);
139
+ // 追加警告消息
139
140
  let finalContent = sanitizedContent;
140
- if (filteredCount > 0) {
141
- finalContent += `\n\n(已过滤 ${filteredCount} 个无效图片)`;
141
+ if (warnings.length > 0) {
142
+ finalContent += formatWarnings(warnings);
142
143
  }
143
144
  try {
144
145
  const card = buildMarkdownCard(finalContent);
@@ -369,31 +370,11 @@ export async function downloadFile(client, messageId, fileKey, tempDir, filename
369
370
  return null;
370
371
  }
371
372
  }
372
- // ── 内容清理 ─────────────────────────────────────────────────
373
- /**
374
- * 清理内容中的 blob URL
375
- * 返回: { content: 清理后的内容, filteredCount: 过滤的 blob URL 数量 }
376
- */
377
- function sanitizeContent(content) {
378
- // 统计 blob URL 数量
379
- const blobMatches = content.match(/blob:https?:\/\//gi) || [];
380
- const filteredCount = blobMatches.length;
381
- if (filteredCount > 0) {
382
- console.error(`[WARN] Filtered ${filteredCount} blob URL(s) from content`);
383
- // 1. 移除 Markdown 图片 ![...](blob:...)
384
- content = content.replace(/!\[[^\]]*\]\(blob:[^)]+\)/gi, '');
385
- // 2. 保留文字,移除 blob 链接 [...](blob:...)
386
- content = content.replace(/\[([^\]]+)\]\(blob:[^)]+\)/gi, '$1');
387
- // 3. 移除独立的 blob URL
388
- content = content.replace(/blob:https?:\/\/[^\s\)]+/gi, '');
389
- }
390
- return { content, filteredCount };
391
- }
392
373
  // ── 卡片构建 ─────────────────────────────────────────────────
393
- function buildMarkdownCard(markdown, filteredCount = 0) {
374
+ function buildMarkdownCard(markdown, warnings = []) {
394
375
  let content = markdown;
395
- if (filteredCount > 0) {
396
- content += `\n\n(已过滤 ${filteredCount} 个无效图片)`;
376
+ if (warnings.length > 0) {
377
+ content += formatWarnings(warnings);
397
378
  }
398
379
  return {
399
380
  schema: "2.0",
@@ -415,470 +396,6 @@ async function safeJsonParse(res, context) {
415
396
  throw new Error(`${context} returned non-JSON: ${text.slice(0, 200)}`);
416
397
  }
417
398
  }
418
- // 飞书文档块类型常量(通过 API 测试验证)
419
- // 注意:飞书 API 的 block_type 与文档类型是一一对应的,不是用属性区分
420
- const BlockType = {
421
- PAGE: 1, // 页面
422
- TEXT: 2, // 文本
423
- HEADING1: 3, // 一级标题
424
- HEADING2: 4, // 二级标题
425
- HEADING3: 5, // 三级标题
426
- BULLET: 12, // 无序列表
427
- ORDERED: 13, // 有序列表
428
- CODE: 14, // 代码块
429
- QUOTE: 15, // 引用块
430
- DIVIDER: 22, // 分割线
431
- };
432
- // 飞书官方语言ID对照表(ID范围1-75)
433
- // 参考:https://open.feishu.cn/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/files/guide/create-document/create-new-document/create-new-document-overview
434
- const LanguageMap = {
435
- // 1 - PlainText
436
- "": 1, "text": 1, "plain": 1, "txt": 1,
437
- // 2 - ABAP
438
- "abap": 2,
439
- // 3 - Ada
440
- "ada": 3,
441
- // 4 - Apache
442
- "apache": 4, "apacheconf": 4,
443
- // 5 - Apex
444
- "apex": 5,
445
- // 6 - Assembly
446
- "assembly": 6, "asm": 6,
447
- // 7 - Bash
448
- "bash": 7, "sh": 7, "shell": 7, "zsh": 7,
449
- // 8 - CSharp
450
- "csharp": 8, "cs": 8, "c#": 8,
451
- // 9 - C++
452
- "cpp": 9, "c++": 9, "cplusplus": 9, "cc": 9, "cxx": 9,
453
- // 10 - C
454
- "c": 10,
455
- // 11 - COBOL
456
- "cobol": 11,
457
- // 12 - CSS
458
- "css": 12,
459
- // 13 - CoffeeScript
460
- "coffeescript": 13, "coffee": 13,
461
- // 14 - D
462
- "d": 14,
463
- // 15 - Dart
464
- "dart": 15,
465
- // 16 - Delphi
466
- "delphi": 16, "pas": 16, "pascal": 16,
467
- // 17 - Django
468
- "django": 17, "jinja2": 17,
469
- // 18 - Dockerfile
470
- "dockerfile": 18, "docker": 18,
471
- // 19 - Erlang
472
- "erlang": 19, "erl": 19,
473
- // 20 - Fortran
474
- "fortran": 20, "f90": 20,
475
- // 21 - FoxPro
476
- "foxpro": 21, "dbf": 21,
477
- // 22 - Go
478
- "go": 22, "golang": 22,
479
- // 23 - Groovy
480
- "groovy": 23, "gradle": 23,
481
- // 24 - HTML
482
- "html": 24, "htm": 24,
483
- // 25 - HTMLBars
484
- "htmlbars": 25, "handlebars": 25, "hbs": 25,
485
- // 26 - HTTP
486
- "http": 26, "https": 26,
487
- // 27 - Haskell
488
- "haskell": 27, "hs": 27,
489
- // 28 - JSON
490
- "json": 28,
491
- // 29 - Java
492
- "java": 29,
493
- // 30 - JavaScript
494
- "javascript": 30, "js": 30, "jsx": 30,
495
- // 31 - Julia
496
- "julia": 31,
497
- // 32 - Kotlin
498
- "kotlin": 32, "kt": 32, "kts": 32,
499
- // 33 - LaTeX
500
- "latex": 33, "tex": 33,
501
- // 34 - Lisp
502
- "lisp": 34, "elisp": 34, "clisp": 34,
503
- // 35 - Logo
504
- "logo": 35,
505
- // 36 - Lua
506
- "lua": 36,
507
- // 37 - MATLAB
508
- "matlab": 37,
509
- // 38 - Makefile
510
- "makefile": 38, "make": 38, "mk": 38,
511
- // 39 - Markdown
512
- "markdown": 39, "md": 39,
513
- // 40 - Nginx
514
- "nginx": 40, "nginxconf": 40,
515
- // 41 - Objective-C
516
- "objc": 41, "objective-c": 41, "oc": 41,
517
- // 42 - OpenEdgeABL
518
- "openedge": 42, "abl": 42,
519
- // 43 - PHP
520
- "php": 43,
521
- // 44 - Perl
522
- "perl": 44, "pl": 44,
523
- // 45 - PostScript
524
- "postscript": 45, "ps": 45,
525
- // 46 - PowerShell
526
- "powershell": 46, "ps1": 46, "pwsh": 46,
527
- // 47 - Prolog
528
- "prolog": 47,
529
- // 48 - ProtoBuf
530
- "protobuf": 48, "proto": 48, "pb": 48,
531
- // 49 - Python
532
- "python": 49, "py": 49,
533
- // 50 - R
534
- "r": 50,
535
- // 51 - RPG
536
- "rpg": 51,
537
- // 52 - Ruby
538
- "ruby": 52, "rb": 52,
539
- // 53 - Rust
540
- "rust": 53, "rs": 53,
541
- // 54 - SAS
542
- "sas": 54,
543
- // 55 - SCSS
544
- "scss": 55, "sass": 55,
545
- // 56 - SQL
546
- "sql": 56, "mysql": 56, "postgresql": 56, "pgsql": 56,
547
- // 57 - Scala
548
- "scala": 57,
549
- // 58 - Scheme
550
- "scheme": 58,
551
- // 59 - Scratch
552
- "scratch": 59,
553
- // 60 - Shell (shell 别名已归入 Bash 7)
554
- // 61 - Swift
555
- "swift": 61,
556
- // 62 - Thrift
557
- "thrift": 62,
558
- // 63 - TypeScript
559
- "typescript": 63, "ts": 63, "tsx": 63,
560
- // 64 - VBScript
561
- "vbscript": 64, "vbs": 64,
562
- // 65 - Visual Basic
563
- "vb": 65, "visual basic": 65, "vbnet": 65,
564
- // 66 - XML
565
- "xml": 66,
566
- // 67 - YAML
567
- "yaml": 67, "yml": 67,
568
- // 68 - CMake
569
- "cmake": 68,
570
- // 69 - Diff
571
- "diff": 69, "patch": 69,
572
- // 70 - Gherkin
573
- "gherkin": 70, "cucumber": 70, "feature": 70,
574
- // 71 - GraphQL
575
- "graphql": 71, "gql": 71,
576
- // 72 - OpenGL Shading Language
577
- "glsl": 72, "opengl": 72,
578
- // 73 - Properties
579
- "properties": 73, "ini": 73, "conf": 73,
580
- // 74 - Solidity
581
- "solidity": 74, "sol": 74,
582
- // 75 - TOML
583
- "toml": 75, "tml": 75,
584
- };
585
- /**
586
- * 解析内联 Markdown 文本,支持粗体、斜体、行内代码、链接等
587
- * 返回飞书文本元素数组
588
- */
589
- function parseInlineText(text) {
590
- const elements = [];
591
- let remaining = text;
592
- // 正则表达式匹配各种内联元素(按优先级排序)
593
- while (remaining.length > 0) {
594
- // 链接 [text](url)
595
- const linkMatch = remaining.match(/^\[([^\]]+)\]\(([^)]+)\)/);
596
- if (linkMatch) {
597
- elements.push({
598
- text_run: {
599
- content: linkMatch[1],
600
- text_element_style: { link: { url: linkMatch[2] } },
601
- },
602
- });
603
- remaining = remaining.slice(linkMatch[0].length);
604
- continue;
605
- }
606
- // 粗体 **text**
607
- const boldMatch = remaining.match(/^\*\*([^*]+)\*\*/);
608
- if (boldMatch) {
609
- elements.push({
610
- text_run: {
611
- content: boldMatch[1],
612
- text_element_style: { bold: true },
613
- },
614
- });
615
- remaining = remaining.slice(boldMatch[0].length);
616
- continue;
617
- }
618
- // 行内代码 `code`
619
- const codeMatch = remaining.match(/^`([^`]+)`/);
620
- if (codeMatch) {
621
- elements.push({
622
- text_run: {
623
- content: codeMatch[1],
624
- text_element_style: { inline_code: true },
625
- },
626
- });
627
- remaining = remaining.slice(codeMatch[0].length);
628
- continue;
629
- }
630
- // 斜体 *text* 或 _text_(避免与粗体混淆)
631
- const italicMatch = remaining.match(/^(?<!\*)\*([^*]+)\*(?!\*)|^(?<!_)_([^_]+)_(?!_)/);
632
- if (italicMatch) {
633
- const content = italicMatch[1] || italicMatch[2];
634
- elements.push({
635
- text_run: {
636
- content,
637
- text_element_style: { italic: true },
638
- },
639
- });
640
- remaining = remaining.slice(italicMatch[0].length);
641
- continue;
642
- }
643
- // 删除线 ~~text~~
644
- const strikeMatch = remaining.match(/^~~([^~]+)~~/);
645
- if (strikeMatch) {
646
- elements.push({
647
- text_run: {
648
- content: strikeMatch[1],
649
- text_element_style: { strikethrough: true },
650
- },
651
- });
652
- remaining = remaining.slice(strikeMatch[0].length);
653
- continue;
654
- }
655
- // 查找下一个特殊字符的位置
656
- const nextSpecial = remaining.search(/[*_`~\[]/);
657
- if (nextSpecial === -1) {
658
- // 没有更多特殊字符,添加剩余文本
659
- if (remaining) {
660
- elements.push({ text_run: { content: remaining } });
661
- }
662
- break;
663
- }
664
- else if (nextSpecial > 0) {
665
- // 添加特殊字符前的普通文本
666
- elements.push({ text_run: { content: remaining.slice(0, nextSpecial) } });
667
- remaining = remaining.slice(nextSpecial);
668
- }
669
- else {
670
- // 特殊字符在开头但无法匹配任何模式,作为普通字符处理
671
- elements.push({ text_run: { content: remaining[0] } });
672
- remaining = remaining.slice(1);
673
- }
674
- }
675
- return elements.length > 0 ? elements : [{ text_run: { content: "" } }];
676
- }
677
- /**
678
- * 将 Markdown 文本转换为飞书文档块
679
- * 支持标题、代码块、列表、引用和文本
680
- */
681
- function markdownToBlocks(markdown, originalMessage, meta) {
682
- const blocks = [];
683
- // 过滤 blob URL
684
- const { content: sanitizedMarkdown, filteredCount } = sanitizeContent(markdown);
685
- if (filteredCount > 0) {
686
- console.error(`[WARN] Filtered ${filteredCount} blob URL(s) from document content`);
687
- }
688
- // 处理 markdown 内容
689
- const lines = sanitizedMarkdown.split("\n");
690
- let currentPara = [];
691
- let inCodeBlock = false;
692
- let codeContent = [];
693
- let codeLang = "";
694
- const flushPara = () => {
695
- if (currentPara.length > 0) {
696
- const content = currentPara.join("\n").trim();
697
- if (content) {
698
- // 解析内联 Markdown 格式
699
- const elements = parseInlineText(content);
700
- blocks.push({
701
- block_type: BlockType.TEXT,
702
- text: { elements },
703
- });
704
- }
705
- currentPara = [];
706
- }
707
- };
708
- // 处理列表项
709
- const flushListItem = (item, isOrdered, _number) => {
710
- const trimmed = item.trim();
711
- if (!trimmed)
712
- return;
713
- const blockType = isOrdered ? BlockType.ORDERED : BlockType.BULLET;
714
- const property = isOrdered ? "ordered" : "bullet";
715
- // 解析内联 Markdown 格式
716
- const elements = parseInlineText(trimmed);
717
- blocks.push({
718
- block_type: blockType,
719
- [property]: { elements },
720
- });
721
- };
722
- for (let i = 0; i < lines.length; i++) {
723
- const line = lines[i];
724
- // 代码块处理
725
- if (line.startsWith("```")) {
726
- if (!inCodeBlock) {
727
- flushPara();
728
- inCodeBlock = true;
729
- codeLang = line.slice(3).trim().toLowerCase();
730
- codeContent = [];
731
- }
732
- else {
733
- // 代码块结束,创建原生代码块
734
- const code = codeContent.join("\n");
735
- const langId = LanguageMap[codeLang] ?? 1;
736
- blocks.push({
737
- block_type: BlockType.CODE,
738
- code: {
739
- style: { language: langId, wrap: true },
740
- elements: [{ text_run: { content: code } }],
741
- },
742
- });
743
- inCodeBlock = false;
744
- codeContent = [];
745
- codeLang = "";
746
- }
747
- continue;
748
- }
749
- if (inCodeBlock) {
750
- codeContent.push(line);
751
- continue;
752
- }
753
- // 引用块处理 (> 开头)
754
- if (line.startsWith("> ")) {
755
- flushPara();
756
- const quoteContent = line.slice(2).trim();
757
- if (quoteContent) {
758
- const elements = parseInlineText(quoteContent);
759
- blocks.push({
760
- block_type: BlockType.QUOTE,
761
- quote: { elements },
762
- });
763
- }
764
- continue;
765
- }
766
- // 无序列表处理 (- 或 * 开头)
767
- const bulletMatch = line.match(/^(\s*)[-*]\s+(.+)$/);
768
- if (bulletMatch) {
769
- flushPara();
770
- flushListItem(bulletMatch[2], false);
771
- continue;
772
- }
773
- // 有序列表处理 (数字. 开头)
774
- const orderedMatch = line.match(/^(\s*)(\d+)\.\s+(.+)$/);
775
- if (orderedMatch) {
776
- flushPara();
777
- flushListItem(orderedMatch[3], true, parseInt(orderedMatch[2]));
778
- continue;
779
- }
780
- // 标题处理(每种标题使用不同的 block_type)
781
- if (line.startsWith("### ")) {
782
- flushPara();
783
- const headingContent = line.slice(4);
784
- const elements = parseInlineText(headingContent);
785
- blocks.push({
786
- block_type: BlockType.HEADING3,
787
- heading3: { elements },
788
- });
789
- }
790
- else if (line.startsWith("## ")) {
791
- flushPara();
792
- const headingContent = line.slice(3);
793
- const elements = parseInlineText(headingContent);
794
- blocks.push({
795
- block_type: BlockType.HEADING2,
796
- heading2: { elements },
797
- });
798
- }
799
- else if (line.startsWith("# ")) {
800
- flushPara();
801
- const headingContent = line.slice(2);
802
- const elements = parseInlineText(headingContent);
803
- blocks.push({
804
- block_type: BlockType.HEADING1,
805
- heading1: { elements },
806
- });
807
- }
808
- else if (line.trim() === "---" || line.trim() === "***" || line.trim() === "___") {
809
- // 分割线
810
- flushPara();
811
- blocks.push({ block_type: BlockType.DIVIDER, divider: {} });
812
- }
813
- else {
814
- currentPara.push(line);
815
- }
816
- }
817
- // 处理未结束的代码块
818
- if (inCodeBlock && codeContent.length > 0) {
819
- const code = codeContent.join("\n");
820
- const langId = LanguageMap[codeLang] ?? 0;
821
- blocks.push({
822
- block_type: BlockType.CODE,
823
- code: {
824
- style: { language: langId, wrap: true },
825
- elements: [{ text_run: { content: code } }],
826
- },
827
- });
828
- }
829
- // 添加最后一个段落
830
- flushPara();
831
- // 构建文档头部结构:引用块 → 分割线 → 元信息 → 分割线 → 正文
832
- // 1. 引用块(显示用户的原始消息)
833
- const quoteBlock = {
834
- block_type: BlockType.QUOTE,
835
- quote: {
836
- elements: [{ text_run: { content: originalMessage || "(原消息内容获取失败)" } }],
837
- },
838
- };
839
- // 2. 分割线
840
- const divider1 = { block_type: BlockType.DIVIDER, divider: {} };
841
- // 3. 元信息块
842
- const metaLines = [
843
- `📁 工作目录: ${meta.cwd}`,
844
- `🤖 机器人: ${meta.profile}`,
845
- `🔗 会话ID: ${meta.sessionId}`,
846
- `📅 时间: ${meta.datetime}`,
847
- ];
848
- const metaBlock = {
849
- block_type: BlockType.TEXT,
850
- text: {
851
- elements: metaLines.map(line => ({
852
- text_run: { content: line },
853
- })),
854
- },
855
- };
856
- // 4. 分割线
857
- const divider2 = { block_type: BlockType.DIVIDER, divider: {} };
858
- // 在正文前插入头部结构
859
- const header = [quoteBlock, divider1, metaBlock, divider2];
860
- // 如果第一个块是标题,在标题后面插入头部
861
- // 否则在最开头插入
862
- const firstBlock = blocks[0];
863
- if (firstBlock && (firstBlock.block_type === BlockType.HEADING1 ||
864
- firstBlock.block_type === BlockType.HEADING2 ||
865
- firstBlock.block_type === BlockType.HEADING3)) {
866
- blocks.splice(1, 0, ...header);
867
- }
868
- else {
869
- blocks.unshift(...header);
870
- }
871
- // 如果有过滤的 blob URL,追加通知块
872
- if (filteredCount > 0) {
873
- blocks.push({
874
- block_type: BlockType.TEXT,
875
- text: {
876
- elements: [{ text_run: { content: `(已过滤 ${filteredCount} 个无效图片)` } }],
877
- },
878
- });
879
- }
880
- return { blocks, filteredCount };
881
- }
882
399
  /**
883
400
  * 创建云文档并写入内容(在应用云空间)
884
401
  */
@@ -1 +1 @@
1
- {"version":3,"file":"feishu.js","sourceRoot":"","sources":["../src/feishu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feishu.js","sourceRoot":"","sources":["../src/feishu.ts"],"names":[],"mappings":"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"}