feishu-docs-cli 0.1.0-beta.2 → 0.1.0-beta.3

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 (40) hide show
  1. package/README.md +33 -15
  2. package/README.zh.md +33 -15
  3. package/dist/cli.js +5 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/client.d.ts +3 -21
  6. package/dist/client.js +12 -89
  7. package/dist/client.js.map +1 -1
  8. package/dist/commands/cat.js +16 -8
  9. package/dist/commands/cat.js.map +1 -1
  10. package/dist/commands/create.js +7 -7
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/delete.js +4 -4
  13. package/dist/commands/delete.js.map +1 -1
  14. package/dist/commands/info.js +3 -3
  15. package/dist/commands/info.js.map +1 -1
  16. package/dist/commands/install-skill.d.ts +5 -0
  17. package/dist/commands/install-skill.js +28 -0
  18. package/dist/commands/install-skill.js.map +1 -0
  19. package/dist/commands/read.js +13 -16
  20. package/dist/commands/read.js.map +1 -1
  21. package/dist/commands/share.js +8 -8
  22. package/dist/commands/share.js.map +1 -1
  23. package/dist/commands/update.js +15 -15
  24. package/dist/commands/update.js.map +1 -1
  25. package/dist/commands/wiki.js +8 -8
  26. package/dist/commands/wiki.js.map +1 -1
  27. package/dist/services/block-writer.d.ts +4 -5
  28. package/dist/services/block-writer.js +8 -8
  29. package/dist/services/block-writer.js.map +1 -1
  30. package/dist/services/doc-blocks.d.ts +1 -2
  31. package/dist/services/doc-blocks.js +7 -11
  32. package/dist/services/doc-blocks.js.map +1 -1
  33. package/dist/services/wiki-nodes.d.ts +1 -2
  34. package/dist/services/wiki-nodes.js +5 -6
  35. package/dist/services/wiki-nodes.js.map +1 -1
  36. package/dist/utils/document-resolver.d.ts +1 -3
  37. package/dist/utils/document-resolver.js +2 -3
  38. package/dist/utils/document-resolver.js.map +1 -1
  39. package/package.json +3 -4
  40. package/skills/feishu-docs/SKILL.md +179 -0
package/README.md CHANGED
@@ -16,19 +16,25 @@ CLI tool for AI Agents to read/write Feishu (Lark) docs via shell commands.
16
16
  - **Share** — manage collaborators (list, add, set public mode)
17
17
  - **List** files in cloud folders
18
18
  - Written in TypeScript with strict mode
19
- - Zero extra runtime dependencies — only `@larksuiteoapi/node-sdk`
19
+ - Zero runtime dependencies — uses native `fetch` for all API calls
20
20
  - Agent-friendly output — pure text or JSON, no interactive UI
21
21
 
22
22
  ## Install
23
23
 
24
24
  ```bash
25
- npm install -g github:cliff-byte/feishu-docs-cli
25
+ npm install -g feishu-docs-cli
26
26
  ```
27
27
 
28
28
  Or use directly with npx:
29
29
 
30
30
  ```bash
31
- npx github:cliff-byte/feishu-docs-cli read <url>
31
+ npx feishu-docs-cli read <url>
32
+ ```
33
+
34
+ You can also install from GitHub:
35
+
36
+ ```bash
37
+ npm install -g github:cliff-byte/feishu-docs-cli
32
38
  ```
33
39
 
34
40
  Requires Node.js >= 18.3.
@@ -237,22 +243,34 @@ feishu-docs whoami # Show current auth status
237
243
 
238
244
  ## AI Agent Integration
239
245
 
240
- ### Claude Code (CLAUDE.md)
246
+ ### Claude Code
241
247
 
242
- ```markdown
243
- ## Feishu Docs
248
+ Install the skill via [skills.sh](https://skills.sh) (works with Claude Code, Cursor, Codex, and 37+ agents):
244
249
 
245
- Read/write Feishu docs with feishu-docs-cli.
250
+ ```bash
251
+ npx skills add cliff-byte/feishu-docs-cli
252
+ ```
246
253
 
247
- Read: feishu-docs read <url>
248
- Search: feishu-docs search <keyword>
249
- Tree: feishu-docs tree <space_id>
250
- Batch: feishu-docs cat <space_id> --max-docs 10
251
- Create: feishu-docs create <title> --wiki <space_id> --body <file>
252
- Update: feishu-docs update <url> --body <file>
254
+ Or install directly via the CLI:
253
255
 
254
- Env vars FEISHU_APP_ID and FEISHU_APP_SECRET are in .env.
255
- Run `feishu-docs login` first.
256
+ ```bash
257
+ feishu-docs install-skill
258
+ ```
259
+
260
+ After installation, use `/feishu-docs` in Claude Code to activate the skill.
261
+
262
+ ### Other Agents
263
+
264
+ Add these instructions to your agent's system prompt or configuration:
265
+
266
+ ```
267
+ Read Feishu docs: feishu-docs read <url>
268
+ Search docs: feishu-docs search <keyword>
269
+ Browse wiki: feishu-docs tree <space_id>
270
+ Batch read: feishu-docs cat <space_id> --max-docs 10
271
+ Create doc: feishu-docs create <title> --wiki <space_id> --body <file>
272
+ Update doc: feishu-docs update <url> --body <file>
273
+ Use --json for structured output. Run feishu-docs --help for all commands.
256
274
  ```
257
275
 
258
276
  ### Programmatic Usage
package/README.zh.md CHANGED
@@ -16,19 +16,25 @@
16
16
  - **分享** — 管理协作者(列表、添加、设置公开权限)
17
17
  - **文件列表** — 浏览云空间文件夹
18
18
  - 使用 TypeScript 编写,严格模式
19
- - 零额外运行时依赖仅依赖 `@larksuiteoapi/node-sdk`
19
+ - 零运行时依赖使用原生 `fetch` 调用所有 API
20
20
  - Agent 友好输出 — 纯文本或 JSON,无交互式 UI
21
21
 
22
22
  ## 安装
23
23
 
24
24
  ```bash
25
- npm install -g github:cliff-byte/feishu-docs-cli
25
+ npm install -g feishu-docs-cli
26
26
  ```
27
27
 
28
28
  或通过 npx 直接运行:
29
29
 
30
30
  ```bash
31
- npx github:cliff-byte/feishu-docs-cli read <url>
31
+ npx feishu-docs-cli read <url>
32
+ ```
33
+
34
+ 也可以从 GitHub 安装:
35
+
36
+ ```bash
37
+ npm install -g github:cliff-byte/feishu-docs-cli
32
38
  ```
33
39
 
34
40
  需要 Node.js >= 18.3。
@@ -236,22 +242,34 @@ feishu-docs whoami # 查看当前认证状态
236
242
 
237
243
  ## AI Agent 集成
238
244
 
239
- ### Claude Code (CLAUDE.md)
245
+ ### Claude Code
240
246
 
241
- ```markdown
242
- ## 飞书文档
247
+ 通过 [skills.sh](https://skills.sh) 安装 Skill(支持 Claude Code、Cursor、Codex 等 40+ Agent):
243
248
 
244
- 通过 feishu-docs-cli 读写飞书文档。
249
+ ```bash
250
+ npx skills add cliff-byte/feishu-docs-cli
251
+ ```
245
252
 
246
- 读取: feishu-docs read <url>
247
- 搜索: feishu-docs search <关键词>
248
- 目录树: feishu-docs tree <space_id>
249
- 批量读取: feishu-docs cat <space_id> --max-docs 10
250
- 创建: feishu-docs create <标题> --wiki <space_id> --body <文件>
251
- 更新: feishu-docs update <url> --body <文件>
253
+ 或通过 CLI 直接安装:
252
254
 
253
- 环境变量 FEISHU_APP_ID 和 FEISHU_APP_SECRET 在 .env 中。
254
- 先执行 `feishu-docs login` 登录。
255
+ ```bash
256
+ feishu-docs install-skill
257
+ ```
258
+
259
+ 安装后在 Claude Code 中使用 `/feishu-docs` 即可激活。
260
+
261
+ ### 其他 Agent
262
+
263
+ 将以下指令添加到 Agent 的系统提示词或配置中:
264
+
265
+ ```
266
+ 读取文档: feishu-docs read <url>
267
+ 搜索文档: feishu-docs search <关键词>
268
+ 浏览知识库: feishu-docs tree <space_id>
269
+ 批量读取: feishu-docs cat <space_id> --max-docs 10
270
+ 创建文档: feishu-docs create <标题> --wiki <space_id> --body <文件>
271
+ 更新文档: feishu-docs update <url> --body <文件>
272
+ 使用 --json 获取结构化输出。运行 feishu-docs --help 查看所有命令。
255
273
  ```
256
274
 
257
275
  ### 程序化调用
package/dist/cli.js CHANGED
@@ -16,6 +16,7 @@ import { meta as shareMeta } from "./commands/share.js";
16
16
  import { meta as infoMeta } from "./commands/info.js";
17
17
  import { meta as lsMeta } from "./commands/ls.js";
18
18
  import { meta as wikiMeta } from "./commands/wiki.js";
19
+ import { meta as installSkillMeta } from "./commands/install-skill.js";
19
20
  import { handleError, CliError } from "./utils/errors.js";
20
21
  const HELP_TEXT = `feishu-docs - AI Agent 飞书云文档 CLI 工具
21
22
 
@@ -56,6 +57,9 @@ const HELP_TEXT = `feishu-docs - AI Agent 飞书云文档 CLI 工具
56
57
  share add <url> <member> --role <role> 添加协作者
57
58
  share set <url> --public <mode> 修改分享设置
58
59
 
60
+ Agent:
61
+ install-skill 安装 Claude Code Skill
62
+
59
63
  全局选项:
60
64
  --auth <user|tenant|auto> 认证模式(默认 auto)
61
65
  --json 输出 JSON 格式
@@ -88,6 +92,7 @@ const COMMANDS = {
88
92
  info: infoMeta,
89
93
  ls: lsMeta,
90
94
  wiki: wikiMeta,
95
+ "install-skill": installSkillMeta,
91
96
  };
92
97
  function extractGlobalOpts(values) {
93
98
  return {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CjB,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;IACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;IACzC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;CACjC,CAAC;AAEX;;;GAGG;AACH,MAAM,QAAQ,GAAiD;IAC7D,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,OAAO;IACZ,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,SAAS,iBAAiB,CAAC,MAA+B;IACxD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAc;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAe;QAC5B,IAAI,EAAE,MAAM,CAAC,IAAe;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAChB,MAA+B,EAC/B,UAAmC;IAEnC,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,GAAgB,EAChB,IAAc;IAMd,MAAM,UAAU,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IACzD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,UAGR;QACD,gBAAgB,EAAE,GAAG,CAAC,WAAW,IAAI,KAAK;QAC1C,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAiC,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAiC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,SAAS,OAAO,+BAA+B,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,OAA+B,EACjC,IAAiB,EACjB,UAAsB,CAAC;IAEzB,IAAK,GAAsB,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,GAAqB,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IACE,CAAC,OAAO;YACR,OAAO,KAAK,QAAQ;YACpB,OAAO,KAAK,IAAI;YAChB,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAC5B,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,mBAAmB,OAAO,KAAK,SAAS,aAAa,CACtD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,GAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,25 +1,15 @@
1
1
  /**
2
- * Lark SDK client factory with auth mode support.
2
+ * Auth client factory and API utilities.
3
3
  */
4
- import * as lark from "@larksuiteoapi/node-sdk";
5
4
  import type { AuthInfo, GlobalOpts, FetchOptions, ApiResponse } from "./types/index.js";
6
5
  /**
7
- * Create a configured Lark SDK client.
6
+ * Create auth context for API calls.
8
7
  * @param {object} options - { auth: 'user'|'tenant'|'auto', lark: boolean }
9
- * @returns {{ client: lark.Client, authInfo: object }}
8
+ * @returns {{ authInfo: AuthInfo }}
10
9
  */
11
10
  export declare function createClient(options?: Partial<GlobalOpts>, _refreshAttempt?: number): Promise<{
12
- client: lark.Client;
13
11
  authInfo: AuthInfo;
14
12
  }>;
15
- /**
16
- * Build request options with appropriate auth header.
17
- */
18
- export declare function withAuth(authInfo: AuthInfo): {
19
- headers?: {
20
- Authorization: string;
21
- };
22
- };
23
13
  /**
24
14
  * Resolve the API base URL based on whether we're using Lark or Feishu.
25
15
  */
@@ -30,13 +20,5 @@ export declare function getApiBase(authInfo: AuthInfo): string;
30
20
  export declare function getTenantToken(authInfo: AuthInfo): Promise<string>;
31
21
  /**
32
22
  * Direct fetch wrapper that correctly passes user/tenant token.
33
- * Use this instead of SDK methods for APIs where the SDK overrides the token.
34
23
  */
35
24
  export declare function fetchWithAuth(authInfo: AuthInfo, path: string, options?: FetchOptions): Promise<ApiResponse>;
36
- /**
37
- * Execute an API call with retry for idempotent operations.
38
- */
39
- export declare function apiCall<T>(fn: () => Promise<T>, { retries, idempotent, }?: {
40
- retries?: number;
41
- idempotent?: boolean;
42
- }): Promise<T>;
package/dist/client.js CHANGED
@@ -1,21 +1,14 @@
1
1
  /**
2
- * Lark SDK client factory with auth mode support.
2
+ * Auth client factory and API utilities.
3
3
  */
4
- import * as lark from "@larksuiteoapi/node-sdk";
5
4
  import { resolveAuth, refreshUserToken, acquireRefreshLock } from "./auth.js";
6
5
  import { CliError, mapApiError } from "./utils/errors.js";
7
- const silentLogger = {
8
- fatal: () => { },
9
- error: () => { },
10
- warn: () => { },
11
- info: () => { },
12
- debug: () => { },
13
- trace: () => { },
14
- };
6
+ const FEISHU_BASE = "https://open.feishu.cn";
7
+ const LARK_BASE = "https://open.larksuite.com";
15
8
  /**
16
- * Create a configured Lark SDK client.
9
+ * Create auth context for API calls.
17
10
  * @param {object} options - { auth: 'user'|'tenant'|'auto', lark: boolean }
18
- * @returns {{ client: lark.Client, authInfo: object }}
11
+ * @returns {{ authInfo: AuthInfo }}
19
12
  */
20
13
  export async function createClient(options = {}, _refreshAttempt = 0) {
21
14
  const authMode = options.auth || "auto";
@@ -26,23 +19,10 @@ export async function createClient(options = {}, _refreshAttempt = 0) {
26
19
  if (!appId || !appSecret) {
27
20
  if (authInfo.mode === "user" && authInfo.userToken) {
28
21
  // User token from env, no app credentials needed for some APIs
29
- // Create a minimal client
30
- const client = new lark.Client({
31
- appId: "placeholder",
32
- appSecret: "placeholder",
33
- domain: useLark ? lark.Domain.Lark : lark.Domain.Feishu,
34
- logger: silentLogger,
35
- });
36
- return { client, authInfo };
22
+ return { authInfo };
37
23
  }
38
24
  throw new CliError("AUTH_REQUIRED", "缺少 FEISHU_APP_ID 或 FEISHU_APP_SECRET");
39
25
  }
40
- const client = new lark.Client({
41
- appId,
42
- appSecret,
43
- domain: useLark ? lark.Domain.Lark : lark.Domain.Feishu,
44
- logger: silentLogger,
45
- });
46
26
  // Auto-refresh user token if expired
47
27
  if (authInfo.mode === "user" && authInfo.expiresAt) {
48
28
  if (Date.now() >= authInfo.expiresAt) {
@@ -66,7 +46,7 @@ export async function createClient(options = {}, _refreshAttempt = 0) {
66
46
  expiresAt: newTokens.expires_at,
67
47
  refreshToken: newTokens.refresh_token,
68
48
  };
69
- return { client, authInfo: refreshedAuthInfo };
49
+ return { authInfo: refreshedAuthInfo };
70
50
  }
71
51
  finally {
72
52
  await releaseLock();
@@ -82,7 +62,7 @@ export async function createClient(options = {}, _refreshAttempt = 0) {
82
62
  mode: "tenant",
83
63
  userToken: undefined,
84
64
  };
85
- return { client, authInfo: tenantAuthInfo };
65
+ return { authInfo: tenantAuthInfo };
86
66
  }
87
67
  throw new CliError("TOKEN_EXPIRED", "自动刷新 token 失败,请重新运行 feishu-docs login", {
88
68
  recovery: "运行 feishu-docs login 重新认证",
@@ -98,7 +78,7 @@ export async function createClient(options = {}, _refreshAttempt = 0) {
98
78
  mode: "tenant",
99
79
  userToken: undefined,
100
80
  };
101
- return { client, authInfo: tenantAuthInfo };
81
+ return { authInfo: tenantAuthInfo };
102
82
  }
103
83
  throw new CliError("TOKEN_EXPIRED", "token 已过期,请重新运行 feishu-docs login", {
104
84
  recovery: "运行 feishu-docs login 重新认证",
@@ -106,27 +86,13 @@ export async function createClient(options = {}, _refreshAttempt = 0) {
106
86
  }
107
87
  }
108
88
  }
109
- return { client, authInfo };
110
- }
111
- /**
112
- * Build request options with appropriate auth header.
113
- */
114
- export function withAuth(authInfo) {
115
- if (authInfo.mode === "user" && authInfo.userToken) {
116
- return {
117
- headers: { Authorization: `Bearer ${authInfo.userToken}` },
118
- };
119
- }
120
- // tenant mode uses SDK's built-in tenant_access_token
121
- return {};
89
+ return { authInfo };
122
90
  }
123
91
  /**
124
92
  * Resolve the API base URL based on whether we're using Lark or Feishu.
125
93
  */
126
94
  export function getApiBase(authInfo) {
127
- return authInfo.useLark
128
- ? "https://open.larksuite.com"
129
- : "https://open.feishu.cn";
95
+ return authInfo.useLark ? LARK_BASE : FEISHU_BASE;
130
96
  }
131
97
  /**
132
98
  * Get tenant_access_token for tenant mode API calls.
@@ -166,7 +132,6 @@ async function resolveBearer(authInfo) {
166
132
  }
167
133
  /**
168
134
  * Direct fetch wrapper that correctly passes user/tenant token.
169
- * Use this instead of SDK methods for APIs where the SDK overrides the token.
170
135
  */
171
136
  export async function fetchWithAuth(authInfo, path, options = {}) {
172
137
  const base = getApiBase(authInfo);
@@ -189,9 +154,9 @@ export async function fetchWithAuth(authInfo, path, options = {}) {
189
154
  const fetchOpts = {
190
155
  method: options.method || "GET",
191
156
  headers: {
192
- Authorization: bearer,
193
157
  "Content-Type": "application/json",
194
158
  ...options.headers,
159
+ Authorization: bearer,
195
160
  },
196
161
  };
197
162
  if (options.body) {
@@ -224,46 +189,4 @@ export async function fetchWithAuth(authInfo, path, options = {}) {
224
189
  }
225
190
  return body;
226
191
  }
227
- /**
228
- * Extract Feishu API error code from various error shapes.
229
- */
230
- function extractErrorCode(err) {
231
- const e = err;
232
- return e?.code ?? e?.response?.data?.code ?? e?.response?.code;
233
- }
234
- /**
235
- * Execute an API call with retry for idempotent operations.
236
- */
237
- export async function apiCall(fn, { retries = 3, idempotent = true, } = {}) {
238
- let lastError;
239
- for (let attempt = 0; attempt <= (idempotent ? retries : 0); attempt++) {
240
- try {
241
- const res = await fn();
242
- // Check SDK response code
243
- const resWithCode = res;
244
- if (resWithCode?.code && resWithCode.code !== 0) {
245
- throw mapApiError({ code: resWithCode.code, msg: resWithCode.msg });
246
- }
247
- return res;
248
- }
249
- catch (err) {
250
- lastError = err;
251
- const code = extractErrorCode(err);
252
- // Don't retry client errors (permission, not found, auth errors)
253
- const NON_RETRYABLE = new Set([
254
- 131001, 131002, 131006, 131008, 99991400, 99991663,
255
- ]);
256
- if (code && NON_RETRYABLE.has(code)) {
257
- throw mapApiError(err);
258
- }
259
- // Retry on network/server errors
260
- if (attempt < retries && idempotent) {
261
- const delay = 1000 * Math.pow(2, attempt);
262
- await new Promise((r) => setTimeout(r, delay));
263
- continue;
264
- }
265
- }
266
- }
267
- throw mapApiError(lastError);
268
- }
269
192
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ function parseSize(sizeStr) {
27
27
  /**
28
28
  * Recursively collect and output documents.
29
29
  */
30
- async function walkNodes(client, authInfo, spaceId, parentNodeToken, path, ctx) {
30
+ async function walkNodes(authInfo, spaceId, parentNodeToken, path, ctx) {
31
31
  if (ctx.stopped)
32
32
  return;
33
33
  if (ctx.maxDepth !== undefined && ctx.currentDepth >= ctx.maxDepth)
@@ -45,8 +45,12 @@ async function walkNodes(client, authInfo, spaceId, parentNodeToken, path, ctx)
45
45
  // Still recurse into non-matching nodes that have children
46
46
  if (node.has_child) {
47
47
  ctx.currentDepth++;
48
- await walkNodes(client, authInfo, spaceId, node.node_token, nodePath, ctx);
49
- ctx.currentDepth--;
48
+ try {
49
+ await walkNodes(authInfo, spaceId, node.node_token, nodePath, ctx);
50
+ }
51
+ finally {
52
+ ctx.currentDepth--;
53
+ }
50
54
  }
51
55
  continue;
52
56
  }
@@ -72,7 +76,7 @@ async function walkNodes(client, authInfo, spaceId, parentNodeToken, path, ctx)
72
76
  }
73
77
  else if (objType === "docx") {
74
78
  try {
75
- const blocks = await fetchAllBlocks(client, authInfo, node.obj_token);
79
+ const blocks = await fetchAllBlocks(authInfo, node.obj_token);
76
80
  const md = blocksToMarkdown(blocks);
77
81
  const output = header + md + "\n";
78
82
  // Check byte limit before writing
@@ -102,8 +106,12 @@ async function walkNodes(client, authInfo, spaceId, parentNodeToken, path, ctx)
102
106
  // Recurse into children
103
107
  if (node.has_child) {
104
108
  ctx.currentDepth++;
105
- await walkNodes(client, authInfo, spaceId, node.node_token, nodePath, ctx);
106
- ctx.currentDepth--;
109
+ try {
110
+ await walkNodes(authInfo, spaceId, node.node_token, nodePath, ctx);
111
+ }
112
+ finally {
113
+ ctx.currentDepth--;
114
+ }
107
115
  }
108
116
  }
109
117
  }
@@ -125,7 +133,7 @@ export async function cat(args, globalOpts) {
125
133
  throw new CliError("INVALID_ARGS", "缺少知识库 ID。用法: feishu-docs cat <space_id> [--node <token>]");
126
134
  }
127
135
  validateToken(spaceId, "space_id");
128
- const { client, authInfo } = await createClient(globalOpts);
136
+ const { authInfo } = await createClient(globalOpts);
129
137
  const parentNode = args.node || undefined;
130
138
  if (parentNode)
131
139
  validateToken(parentNode, "node_token");
@@ -143,7 +151,7 @@ export async function cat(args, globalOpts) {
143
151
  stopped: false,
144
152
  currentDepth: 0,
145
153
  };
146
- await walkNodes(client, authInfo, spaceId, parentNode, "", ctx);
154
+ await walkNodes(authInfo, spaceId, parentNode, "", ctx);
147
155
  if (ctx.docsRead === 0) {
148
156
  process.stderr.write("feishu-docs: info: 未找到任何文档\n");
149
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cat.js","sourceRoot":"","sources":["../../src/commands/cat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsBrD;;GAEG;AACH,SAAS,SAAS,CAAC,OAAwB;IACzC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;IAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,GAAG,GAAG,IAAI,CAAC;IACpC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACtB,MAAmB,EACnB,QAAkB,EAClB,OAAe,EACf,eAAmC,EACnC,IAAY,EACZ,GAAY;IAEZ,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO;IACxB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO;IAE3E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAEzE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,OAAO;YAAE,OAAO;QAExB,MAAM,QAAQ,GAAG,IAAI;YACnB,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE;YACpC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;QAE3C,iBAAiB;QACjB,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;YACjD,2DAA2D;YAC3D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,GAAG,CAAC,YAAY,EAAE,CAAC;gBACnB,MAAM,SAAS,CACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,GAAG,CACJ,CAAC;gBACF,GAAG,CAAC,YAAY,EAAE,CAAC;YACrB,CAAC;YACD,SAAS;QACX,CAAC;QAED,eAAe;QACf,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4CAA4C,GAAG,CAAC,OAAO,SAAS,GAAG,CAAC,OAAO,QAAQ,CACpF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gDAAgD,GAAG,CAAC,OAAO,QAAQ,CACpE,CAAC;YACF,OAAO;QACT,CAAC;QAED,kBAAkB;QAClB,MAAM,MAAM,GAAG,cAAc,QAAQ,YAAY,IAAI,CAAC,UAAU,WAAW,OAAO,WAAW,CAAC;QAE9F,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9C,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtE,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;gBAElC,kCAAkC;gBAClC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,GAAG,CAAC,YAAY,GAAG,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAClD,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gDAAgD,GAAG,CAAC,OAAO,QAAQ,CACpE,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7B,GAAG,CAAC,YAAY,IAAI,WAAW,CAAC;gBAChC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,QAAQ,QAAS,GAAa,CAAC,OAAO,IAAI,CACvE,CAAC;gBACF,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,SAAS,OAAO,CAAC;YAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9C,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,SAAS,CACb,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,GAAG,CACJ,CAAC;YACF,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAgB;IAC/B,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACjD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACzB;IACD,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,IAAiB,EACjB,UAAsB;IAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAY,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEnC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAI,IAAI,CAAC,IAA2B,IAAI,SAAS,CAAC;IAClE,IAAI,UAAU;QAAE,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAExD,MAAM,GAAG,GAAY;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/D,QAAQ,EACN,IAAI,CAAC,QAAQ,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAA2B,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QACrB,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QACnE,UAAU,EAAG,IAAI,CAAC,IAA2B,IAAI,SAAS;QAC1D,SAAS,EAAG,IAAI,CAAC,SAAqB,IAAI,KAAK;QAC/C,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAEhE,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cat.js","sourceRoot":"","sources":["../../src/commands/cat.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export async function create(args, globalOpts) {
21
21
  if (!title) {
22
22
  throw new CliError("INVALID_ARGS", "缺少文档标题。用法: feishu-docs create <title> [--wiki <space_id>] [--body <file>]");
23
23
  }
24
- const { client, authInfo } = await createClient(globalOpts);
24
+ const { authInfo } = await createClient(globalOpts);
25
25
  let bodyContent;
26
26
  if (args.body) {
27
27
  bodyContent = await readBody(args.body);
@@ -33,14 +33,14 @@ export async function create(args, globalOpts) {
33
33
  validateToken(args.wiki, "space_id");
34
34
  if (args.parent)
35
35
  validateToken(args.parent, "parent_node_token");
36
- return createInWiki(client, authInfo, title, args.wiki, args.parent, bodyContent, globalOpts);
36
+ return createInWiki(authInfo, title, args.wiki, args.parent, bodyContent, globalOpts);
37
37
  }
38
38
  if (args.folder) {
39
39
  validateToken(args.folder, "folder_token");
40
40
  }
41
- return createDoc(client, authInfo, title, args.folder, bodyContent, globalOpts);
41
+ return createDoc(authInfo, title, args.folder, bodyContent, globalOpts);
42
42
  }
43
- async function createInWiki(client, authInfo, title, spaceId, parentNodeToken, bodyContent, globalOpts) {
43
+ async function createInWiki(authInfo, title, spaceId, parentNodeToken, bodyContent, globalOpts) {
44
44
  const nodeRes = await fetchWithAuth(authInfo, `/open-apis/wiki/v2/spaces/${encodeURIComponent(spaceId)}/nodes`, {
45
45
  method: "POST",
46
46
  body: {
@@ -58,7 +58,7 @@ async function createInWiki(client, authInfo, title, spaceId, parentNodeToken, b
58
58
  throw new CliError("API_ERROR", "创建知识库节点成功但未返回 obj_token");
59
59
  }
60
60
  if (bodyContent) {
61
- const docInfo = await getDocumentInfo(client, authInfo, objToken);
61
+ const docInfo = await getDocumentInfo(authInfo, objToken);
62
62
  await convertAndWrite(authInfo, objToken, bodyContent, docInfo.revisionId);
63
63
  }
64
64
  const domain = globalOpts.lark ? "larksuite.com" : "feishu.cn";
@@ -85,7 +85,7 @@ async function createInWiki(client, authInfo, title, spaceId, parentNodeToken, b
85
85
  process.stdout.write(` URL: ${wikiUrl}\n`);
86
86
  }
87
87
  }
88
- async function createDoc(client, authInfo, title, folderToken, bodyContent, globalOpts) {
88
+ async function createDoc(authInfo, title, folderToken, bodyContent, globalOpts) {
89
89
  const body = {
90
90
  title,
91
91
  ...(folderToken && { folder_token: folderToken }),
@@ -101,7 +101,7 @@ async function createDoc(client, authInfo, title, folderToken, bodyContent, glob
101
101
  throw new CliError("API_ERROR", "创建文档成功但未返回 document_id");
102
102
  }
103
103
  if (bodyContent) {
104
- const docInfo = await getDocumentInfo(client, authInfo, documentId);
104
+ const docInfo = await getDocumentInfo(authInfo, documentId);
105
105
  await convertAndWrite(authInfo, documentId, bodyContent, docInfo.revisionId);
106
106
  }
107
107
  const domain = globalOpts.lark ? "larksuite.com" : "feishu.cn";
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { mapToDriveType } from "../utils/drive-types.js";
8
8
  /**
9
9
  * Check if a node has children in the knowledge base.
10
10
  */
11
- async function checkChildren(client, authInfo, spaceId, nodeToken) {
11
+ async function checkChildren(authInfo, spaceId, nodeToken) {
12
12
  try {
13
13
  const res = await fetchWithAuth(authInfo, `/open-apis/wiki/v2/spaces/${encodeURIComponent(spaceId)}/nodes`, { params: { parent_node_token: nodeToken, page_size: 1 } });
14
14
  const data = res?.data;
@@ -31,14 +31,14 @@ export async function del(args, globalOpts) {
31
31
  if (!input) {
32
32
  throw new CliError("INVALID_ARGS", "缺少文档 URL 或 token。用法: feishu-docs delete <url|token>");
33
33
  }
34
- const { client, authInfo } = await createClient(globalOpts);
35
- const doc = await resolveDocument(client, authInfo, input);
34
+ const { authInfo } = await createClient(globalOpts);
35
+ const doc = await resolveDocument(authInfo, input);
36
36
  if (doc.objType === "doc") {
37
37
  throw new CliError("NOT_SUPPORTED", "旧版 doc 类型不支持此操作,请在飞书客户端中将文档升级为 docx 格式");
38
38
  }
39
39
  // Check for children — refuse unless --recursive
40
40
  if (doc.hasChild && doc.spaceId && doc.nodeToken) {
41
- const hasChildren = await checkChildren(client, authInfo, doc.spaceId, doc.nodeToken);
41
+ const hasChildren = await checkChildren(authInfo, doc.spaceId, doc.nodeToken);
42
42
  if (hasChildren && !args.recursive) {
43
43
  throw new CliError("INVALID_ARGS", "该节点下有子文档,删除将同时删除所有子节点。如需继续,请添加 --recursive 参数");
44
44
  }