// 使用 @larksuiteoapi/node-sdk 更新飞书文档
import lark from '/home/ubuntu/.openclaw/extensions/openclaw-lark/node_modules/@larksuiteoapi/node-sdk/lib/index.js';

const APP_ID = 'cli_a93eb0f160399cc5';
const APP_SECRET = 'dRzJKrJ46j2Y1DKneyC33dQUNmsLwHCj';
const DOC_ID = 'YerQd8GomoDWQ6xA1zTc31xfnwb';

// 表格内容 (Markdown 格式)
const TABLE_CONTENT = `| 日期 | 规格 | 数量 |
|------|------|------|
| 24 年 12 月 | 细和润 | 2 |
| 24 年 12 月 | 金细 | 1 |
| 24 年 12 月 | 红中支 | 3 |
| 25 年 | 细和润 | 2 |
| 25 年 | 双支 | 5 |

**总计**: 13`;

async function main() {
  try {
    console.log('创建 Lark Client...');
    const client = new lark.Client({
      appId: APP_ID,
      appSecret: APP_SECRET,
    });
    
    console.log('正在获取文档信息...');
    // 获取文档信息
    const getDocRes = await client.docx.document.get({
      params: {},
      data: {},
      path: {
        document_id: DOC_ID,
      },
    });
    
    console.log('获取文档信息响应:', JSON.stringify(getDocRes, null, 2));
    
    if (getDocRes.code !== 0) {
      console.error('获取文档信息失败:', getDocRes.msg);
      return;
    }
    
    console.log('✓ 获取文档信息成功');
    console.log('文档标题:', getDocRes.data?.document?.title);
    
    // 获取文档块列表
    console.log('正在获取文档块列表...');
    const listBlocksRes = await client.docx.documentBlockChildren.get({
      params: {
        page_size: 100,
      },
      data: {},
      path: {
        document_id: DOC_ID,
        block_id: DOC_ID, // 根块 ID 等于文档 ID
      },
    });
    
    console.log('获取块列表响应:', JSON.stringify(listBlocksRes, null, 2));
    
    if (listBlocksRes.code !== 0) {
      console.error('获取块列表失败:', listBlocksRes.msg);
      return;
    }
    
    // 获取根块 ID (文档 ID 本身就是根块 ID)
    const rootBlockId = DOC_ID;
    console.log('根块 ID:', rootBlockId);
    
    // 在根块后添加新块
    console.log('正在添加新块...');
    const createBlockRes = await client.docx.documentBlockChildren.create({
      params: {},
      data: {
        blocks: [
          {
            block_type: 1, // text
            text: {
              elements: [
                {
                  text_run: {
                    content: '\n' + TABLE_CONTENT,
                  },
                },
              ],
            },
          },
        ],
      },
      path: {
        document_id: DOC_ID,
        block_id: rootBlockId,
      },
    });
    
    console.log('添加块响应:', JSON.stringify(createBlockRes, null, 2));
    
    if (createBlockRes.code !== 0) {
      console.error('添加块失败:', createBlockRes.msg);
      return;
    }
    
    console.log('✓ 文档更新成功!');
  } catch (error) {
    console.error('✗ 发生错误:', error.message);
    console.error(error.stack);
    process.exit(1);
  }
}

main();
