feishu-docs-cli 0.1.0-beta.9 → 1.0.1

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 (83) hide show
  1. package/README.md +72 -30
  2. package/README.zh.md +55 -30
  3. package/dist/auth.js +31 -17
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cli.js +5 -4
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client.d.ts +4 -2
  8. package/dist/client.js +177 -61
  9. package/dist/client.js.map +1 -1
  10. package/dist/commands/authorize.d.ts +3 -0
  11. package/dist/commands/authorize.js +16 -34
  12. package/dist/commands/authorize.js.map +1 -1
  13. package/dist/commands/cp.js +44 -30
  14. package/dist/commands/cp.js.map +1 -1
  15. package/dist/commands/create.js +21 -7
  16. package/dist/commands/create.js.map +1 -1
  17. package/dist/commands/delete.js +53 -54
  18. package/dist/commands/delete.js.map +1 -1
  19. package/dist/commands/login.js +6 -2
  20. package/dist/commands/login.js.map +1 -1
  21. package/dist/commands/ls.js +38 -38
  22. package/dist/commands/ls.js.map +1 -1
  23. package/dist/commands/mkdir.js +25 -25
  24. package/dist/commands/mkdir.js.map +1 -1
  25. package/dist/commands/mv.d.ts +2 -2
  26. package/dist/commands/mv.js +45 -40
  27. package/dist/commands/mv.js.map +1 -1
  28. package/dist/commands/read.d.ts +1 -1
  29. package/dist/commands/read.js +17 -354
  30. package/dist/commands/read.js.map +1 -1
  31. package/dist/commands/search.js +57 -55
  32. package/dist/commands/search.js.map +1 -1
  33. package/dist/commands/share.js +135 -133
  34. package/dist/commands/share.js.map +1 -1
  35. package/dist/commands/update.js +43 -60
  36. package/dist/commands/update.js.map +1 -1
  37. package/dist/commands/wiki.js +8 -20
  38. package/dist/commands/wiki.js.map +1 -1
  39. package/dist/parser/block-types.d.ts +0 -1
  40. package/dist/parser/block-types.js +0 -22
  41. package/dist/parser/block-types.js.map +1 -1
  42. package/dist/parser/blocks-to-md.d.ts +10 -18
  43. package/dist/parser/blocks-to-md.js +341 -450
  44. package/dist/parser/blocks-to-md.js.map +1 -1
  45. package/dist/scopes.d.ts +5 -47
  46. package/dist/scopes.js +9 -54
  47. package/dist/scopes.js.map +1 -1
  48. package/dist/services/block-writer.d.ts +3 -2
  49. package/dist/services/block-writer.js +29 -13
  50. package/dist/services/block-writer.js.map +1 -1
  51. package/dist/services/doc-blocks.d.ts +1 -1
  52. package/dist/services/doc-blocks.js +1 -1
  53. package/dist/services/doc-blocks.js.map +1 -1
  54. package/dist/services/doc-enrichment.d.ts +64 -0
  55. package/dist/services/doc-enrichment.js +397 -0
  56. package/dist/services/doc-enrichment.js.map +1 -0
  57. package/dist/services/image-download.d.ts +31 -0
  58. package/dist/services/image-download.js +127 -0
  59. package/dist/services/image-download.js.map +1 -0
  60. package/dist/services/markdown-convert.d.ts +20 -0
  61. package/dist/services/markdown-convert.js +55 -1
  62. package/dist/services/markdown-convert.js.map +1 -1
  63. package/dist/services/wiki-nodes.d.ts +1 -1
  64. package/dist/services/wiki-nodes.js +2 -3
  65. package/dist/services/wiki-nodes.js.map +1 -1
  66. package/dist/types/api-responses.d.ts +34 -0
  67. package/dist/types/api-responses.js +8 -0
  68. package/dist/types/api-responses.js.map +1 -0
  69. package/dist/types/index.d.ts +9 -17
  70. package/dist/utils/concurrency.d.ts +12 -0
  71. package/dist/utils/concurrency.js +37 -0
  72. package/dist/utils/concurrency.js.map +1 -0
  73. package/dist/utils/errors.d.ts +3 -1
  74. package/dist/utils/errors.js +11 -7
  75. package/dist/utils/errors.js.map +1 -1
  76. package/dist/utils/retry.d.ts +49 -0
  77. package/dist/utils/retry.js +70 -0
  78. package/dist/utils/retry.js.map +1 -0
  79. package/dist/utils/scope-prompt.d.ts +23 -18
  80. package/dist/utils/scope-prompt.js +62 -51
  81. package/dist/utils/scope-prompt.js.map +1 -1
  82. package/package.json +3 -1
  83. package/skills/feishu-docs/SKILL.md +24 -3
package/README.md CHANGED
@@ -1,31 +1,40 @@
1
1
  # feishu-docs-cli
2
2
 
3
- [中文文档](./README.zh.md)
3
+ [![License](https://img.shields.io/badge/License-MIT-yellow)](./LICENSE) [![Node](https://img.shields.io/badge/node-%3E%3D18.3.0-blue)](https://nodejs.org) [![npm](https://img.shields.io/npm/v/feishu-docs-cli)](https://www.npmjs.com/package/feishu-docs-cli) [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen)](./package.json)
4
+
5
+ [中文文档](./README.zh.md) | English
4
6
 
5
7
  CLI tool for AI Agents to read/write Feishu (Lark) docs via shell commands.
6
8
 
7
- ## Why feishu-docs-cli?
9
+ ## Project Status
10
+
11
+ > **Note**: The official [lark-cli](https://github.com/larksuite/cli) has been released by the Lark/Feishu team (2026). It covers a much broader range of Feishu APIs (IM, calendar, tasks, contacts, bitable, etc.). We believe the official tool will continue to improve, so **this project will slow down on new feature development**. Existing functionality will be maintained but no major additions are planned.
12
+ >
13
+ > If you need full Feishu API coverage, use [lark-cli](https://github.com/larksuite/cli). If you primarily work with **documents and knowledge bases** and need clean Markdown I/O, feishu-docs-cli still offers a better experience in that specific area.
8
14
 
9
- Feishu/Lark already offers the official [lark-mcp](https://github.com/larksuite/lark-openapi-mcp) MCP server. Here's what this project does differently:
15
+ ## Comparison with lark-cli
10
16
 
11
- | Capability | feishu-docs-cli | lark-mcp |
12
- |------------|:-:|:-:|
13
- | Read docs as Markdown | **Yes** — 30+ block types rendered | No — returns raw Block JSON |
14
- | Write docs from Markdown | **Yes** — auto-convert, auto-batch (>1000 blocks) | No |
15
- | Knowledge base tree browsing | **Yes** — `spaces` → `tree` → `cat` workflow | Search/get single node only |
16
- | Batch read entire wiki subtree | **Yes** — `cat` recursively exports Markdown | No |
17
- | Write safety (backup/restore) | **Yes** — auto-backup before overwrite, auto-recover on failure | No |
18
- | OAuth user login | **Yes** — full OAuth v2 with auto-refresh, tiered scope management, interactive recovery | Yes — basic OAuth login |
19
- | Works with any AI agent | **Yes** — standard CLI, pipes, scripts | MCP protocol only |
20
- | IM / messaging | No | Yes |
21
- | Bitable CRUD | Read-only (rendered as table) | Yes |
22
- | Contact lookup | Via `share add` only | Yes |
17
+ Based on real-world testing against the same knowledge base (2026-03-29):
23
18
 
24
- **In short**: lark-mcp is a thin wrapper over Feishu APIs with broad coverage. feishu-docs-cli is purpose-built for **document workflows** — it lets AI agents truly read, understand, and write Feishu documents as Markdown, with safety guardrails that the raw API doesn't provide.
19
+ | Capability | feishu-docs-cli | lark-cli (official) |
20
+ |------------|-----------------|---------------------|
21
+ | **Read as Markdown** | Standard Markdown — tables, lists, code blocks render correctly | Returns JSON with `<lark-table>` custom HTML tags, not standard Markdown |
22
+ | **Knowledge base tree** | `tree` command — one call, full recursive tree | No equivalent — must call `get_node` per node |
23
+ | **Batch read wiki** | `cat` — recursively reads all child docs | No equivalent |
24
+ | **Create in wiki** | `--wiki <space> --parent <node>` — supports parent node placement | `--wiki-space` and `--wiki-node` are mutually exclusive |
25
+ | **Update docs** | Accepts file path (`--body file.md`), auto-backup before overwrite | Inline `--markdown` only, `--mode` required |
26
+ | **Search** | `search "keyword"` — one step | Requires separate scope authorization |
27
+ | **Share / permissions** | `share list/add/remove/update/set` — fully wrapped | No wrapper — requires raw API calls |
28
+ | **JSON output** | Clean, pipe-friendly `--json` | Mixes progress text (`[page 1] fetching...`) into stdout |
29
+ | **Error messages** | Chinese messages with recovery hints, missing scope auto-detection | English errors, manual scope lookup |
30
+ | **API coverage** | Documents, wiki, drive, search, permissions | **Full platform** — IM, calendar, tasks, contacts, bitable, mail, video conference, etc. |
31
+ | **Dependencies** | Zero runtime deps (Node.js built-ins only) | Go binary |
32
+ | **Cold start** | ~0.5s (Node.js) | ~0.1s (Go) |
25
33
 
34
+ **In short**: feishu-docs-cli is purpose-built for **document workflows** — clean Markdown I/O, recursive wiki browsing, and write safety. lark-cli is a comprehensive platform CLI with broader API coverage.
26
35
  ## Features
27
36
 
28
- - **Read** documents as Markdown, raw text, or original Block JSON
37
+ - **Read** documents as Markdown (images downloaded to local files), raw text, or original Block JSON
29
38
  - **Create** documents in knowledge bases or cloud folders
30
39
  - **Update** documents with overwrite or append mode (auto-batch for large content)
31
40
  - **Delete** documents (move to recycle bin)
@@ -71,23 +80,22 @@ Requires Node.js >= 18.3.
71
80
 
72
81
  | Scope | Description |
73
82
  |-------|-------------|
83
+ | `offline_access` | Token auto-refresh (enables refresh_token for 7-day validity) |
74
84
  | `wiki:wiki` | Knowledge base read/write |
75
85
  | `docx:document` | Document read/write |
76
86
  | `docx:document.block:convert` | Markdown to block conversion (create/update) |
77
87
  | `sheets:spreadsheet:readonly` | Embedded spreadsheet read (read command) |
78
88
  | `board:whiteboard:node:read` | Whiteboard export as image (read command) |
79
89
  | `bitable:app:readonly` | Embedded bitable/table read (read command) |
90
+ | `docs:document.media:download` | Download images and attachments from documents |
80
91
 
81
- **Feature scopes** (require admin reviewrequested on-demand via `feishu-docs authorize`):
92
+ **Additional scopes** are requested reactivelywhen an API call needs a scope you haven't authorized, the CLI detects this from the API error response and prompts you. Common ones:
82
93
 
83
- | Scope | Description | Commands |
84
- |-------|-------------|----------|
85
- | `drive:drive` | Cloud file management & permissions | ls, delete, share, create --folder |
86
- | `contact:contact.base:readonly` | User lookup by email/phone | share add |
87
- | `drive:drive.search:readonly` | Document search | search |
88
- | `wiki:wiki.space:create` | Create knowledge bases | wiki create-space |
89
- | `wiki:wiki.space.node` | Edit knowledge base nodes | wiki rename, move, copy |
90
- | `wiki:wiki.space.member` | Manage knowledge base members | wiki add-member, remove-member |
94
+ | Scope | Description |
95
+ |-------|-------------|
96
+ | `drive:drive` | Cloud file management (ls, delete, share, mv, cp, mkdir) |
97
+ | `contact:contact.base:readonly` | User lookup by email/phone |
98
+ | `drive:drive.search:readonly` | Document search |
91
99
 
92
100
  5. Go to **Security Settings**, add the OAuth callback URL to the **Redirect URLs** allowlist:
93
101
  - Default: `http://127.0.0.1:3456/callback`
@@ -124,12 +132,29 @@ feishu-docs login --redirect-uri http://127.0.0.1:3456/callback
124
132
  feishu-docs login --port 4567
125
133
  ```
126
134
 
135
+ ### CI / Container Environments
136
+
137
+ In CI pipelines, Docker containers, or headless servers where interactive OAuth login is not possible, use the `FEISHU_USER_TOKEN` environment variable instead of `feishu-docs login`:
138
+
139
+ ```bash
140
+ export FEISHU_APP_ID="cli_xxx"
141
+ export FEISHU_APP_SECRET="xxx"
142
+ export FEISHU_USER_TOKEN="u-xxx" # User access token from Feishu API
143
+ ```
144
+
145
+ With these three variables set, all commands work without `feishu-docs login`. The token is used directly without local encryption or storage.
146
+
147
+ **Important:**
148
+ - `FEISHU_USER_TOKEN` has no auto-refresh -- you are responsible for rotating it before expiry
149
+ - Do NOT use `feishu-docs login` in containers -- it spawns a local HTTP server and attempts to open a browser
150
+ - For tenant-only access (no user context), `FEISHU_APP_ID` and `FEISHU_APP_SECRET` are sufficient
151
+
127
152
  ## Usage
128
153
 
129
154
  ### Read
130
155
 
131
156
  ```bash
132
- # Read document as Markdown
157
+ # Read document as Markdown (images auto-downloaded to ~/.feishu-docs/images/)
133
158
  feishu-docs read https://xxx.feishu.cn/wiki/wikcnXXX
134
159
 
135
160
  # Read by token
@@ -145,6 +170,8 @@ feishu-docs read <url> --raw
145
170
  feishu-docs read <url> --with-meta
146
171
  ```
147
172
 
173
+ Images in documents are automatically downloaded to `~/.feishu-docs/images/` and referenced as local file paths in the Markdown output. Cached images are reused for 30 days.
174
+
148
175
  ### Knowledge Base
149
176
 
150
177
  ```bash
@@ -389,8 +416,23 @@ dist/ # Compiled output (git-ignored)
389
416
 
390
417
  - [x] Feishu cloud document operations (read, create, update, delete, info)
391
418
  - [x] Knowledge base operations (spaces, tree, cat, wiki management, share, search)
392
- - [ ] Feishu Bitable (multi-dimensional table) operations
393
- - [ ] Feishu Sheets (spreadsheet) operations
419
+ - [x] Quality hardening 456 tests, retry logic, error recovery, dead code cleanup
420
+
421
+ > Bitable and Sheets operations are not planned. For those, use the official [lark-cli](https://github.com/larksuite/cli).
422
+
423
+ ## Mermaid Diagrams
424
+
425
+ feishu-docs-cli and lark-cli handle Mermaid differently when writing:
426
+
427
+ | | feishu-docs-cli | lark-cli (official) |
428
+ |---|---|---|
429
+ | **Write** | Stored as `` ```mermaid `` code block (block_type 14) | Converted to whiteboard/board (block_type 43) via Lark MCP |
430
+ | **Read back own output** | Returns original Mermaid code — lossless round-trip | Returns whiteboard node graph (shapes, coordinates, connectors) — cannot recover Mermaid source |
431
+ | **Read native Mermaid** | Both tools can read Mermaid code blocks written natively in Feishu — no issue here |
432
+ | **Human readability** | Code block in document — not visually rendered (Feishu supports "text diagram" blocks but the Open API cannot create them) | Renders as interactive diagram immediately |
433
+ | **Best for** | AI agent workflows — Mermaid survives read/write round-trips | Human consumption — visual diagrams, but one-way (write-only) |
434
+
435
+ **Why this trade-off?** Feishu has a native "text diagram" block that renders Mermaid visually, but the Open API's Convert endpoint does not support creating it — Mermaid is treated as a plain code block. lark-cli works around this by converting Mermaid to a whiteboard (board) via the Lark MCP protocol, which produces a visual result but loses the Mermaid source code. We chose to preserve the code block so AI agents can reliably read and modify diagrams.
394
436
 
395
437
  ## Limitations
396
438
 
@@ -399,7 +441,7 @@ dist/ # Compiled output (git-ignored)
399
441
  - **Link only**: mindnote
400
442
  - **Not supported**: doc (legacy format)
401
443
  - Markdown conversion is lossy (colors, merged cells, layouts are dropped). Use `--blocks` for lossless JSON.
402
- - Image write is not supported (read returns temporary URLs valid ~24h)
444
+ - Image read downloads to local files (`~/.feishu-docs/images/`) with 30-day cache. Image write is not supported.
403
445
 
404
446
  ## License
405
447
 
package/README.zh.md CHANGED
@@ -1,31 +1,40 @@
1
1
  # feishu-docs-cli
2
2
 
3
- [English](./README.md)
3
+ [![License](https://img.shields.io/badge/License-MIT-yellow)](./LICENSE) [![Node](https://img.shields.io/badge/node-%3E%3D18.3.0-blue)](https://nodejs.org) [![npm](https://img.shields.io/npm/v/feishu-docs-cli)](https://www.npmjs.com/package/feishu-docs-cli) [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-brightgreen)](./package.json)
4
+
5
+ 中文文档 | [English](./README.md)
4
6
 
5
7
  让 AI Agent(Claude Code、Codex、Trae 等)通过 shell 命令读写飞书云文档和知识库。
6
8
 
7
- ## 为什么选 feishu-docs-cli?
9
+ ## 项目状态
10
+
11
+ > **说明**:飞书官方已发布 [lark-cli](https://github.com/larksuite/cli)(2026),覆盖 IM、日历、任务、通讯录、多维表格等全平台 API。相信官方工具会不断完善,**本项目将放缓新功能开发**,现有功能会继续维护,但不再计划大的功能新增。
12
+ >
13
+ > 如需完整的飞书 API 能力,请使用 [lark-cli](https://github.com/larksuite/cli)。如果主要场景是**文档和知识库**且需要标准 Markdown 输入输出,feishu-docs-cli 在这个细分领域仍有更好的体验。
8
14
 
9
- 飞书官方已有 [lark-mcp](https://github.com/larksuite/lark-openapi-mcp) MCP 服务。以下是本项目的差异化能力:
15
+ ## lark-cli 的对比
10
16
 
11
- | 能力 | feishu-docs-cli | lark-mcp |
12
- |------|:-:|:-:|
13
- | 读取文档输出 Markdown | **支持** — 30+ 种 block 类型渲染 | 不支持 — 返回原始 Block JSON |
14
- | 从 Markdown 写入文档 | **支持** — 自动转换、大文档自动分批(>1000 blocks) | 不支持 |
15
- | 知识库目录树浏览 | **支持** — `spaces` → `tree` → `cat` 完整工作流 | 仅搜索/获取单个节点 |
16
- | 批量读取知识库子树 | **支持** — `cat` 递归导出为 Markdown | 不支持 |
17
- | 写入安全(备份/恢复) | **支持** — 覆盖前自动备份,失败自动恢复 | 不支持 |
18
- | OAuth 用户登录 | **支持** — 完整 OAuth v2 + token 自动刷新 + 分级权限管理 + 交互式权限恢复 | 支持 — 基础 OAuth 登录 |
19
- | 兼容任意 AI Agent | **支持** — 标准 CLI,支持管道和脚本 | 仅 MCP 协议 |
20
- | 即时消息 | 不支持 | 支持 |
21
- | 多维表格 CRUD | 只读(渲染为表格) | 支持 |
22
- | 通讯录查询 | 仅 `share add` 时使用 | 支持 |
17
+ 基于同一知识库的真实操作对比(2026-03-29 实测):
23
18
 
24
- **一句话总结**:lark-mcp 是飞书 API 的薄封装,覆盖面广但每个功能都是原始 API 级别。feishu-docs-cli 专注于**文档工作流**,让 AI Agent 能以 Markdown 为媒介真正读懂和编写飞书文档,并提供原始 API 没有的安全保障。
19
+ | 能力 | feishu-docs-cli | lark-cli(官方) |
20
+ |------|-----------------|------------------|
21
+ | **读取为 Markdown** | 标准 Markdown — 表格、列表、代码块正确渲染 | 返回 JSON + `<lark-table>` 自定义标签,非标准 Markdown |
22
+ | **知识库目录树** | `tree` 命令 — 一次调用,递归展示完整树 | 无此功能 — 需逐节点调用 `get_node` |
23
+ | **批量读取知识库** | `cat` — 递归读取所有子文档 | 无此功能 |
24
+ | **在知识库创建文档** | `--wiki <space> --parent <node>` — 支持指定父节点 | `--wiki-space` 和 `--wiki-node` 互斥,不能指定父节点 |
25
+ | **更新文档** | 接受文件路径(`--body file.md`),覆盖前自动备份 | 仅支持内联 `--markdown`,必须显式指定 `--mode` |
26
+ | **搜索** | `search "关键词"` — 一步到位 | 需要单独授权不同的 scope |
27
+ | **权限管理** | `share list/add/remove/update/set` — 完整封装 | 无封装 — 需手写原始 API 路径 |
28
+ | **JSON 输出** | 纯净可管道的 `--json` | stdout 混入进度文本(`[page 1] fetching...`),破坏 JSON 管道 |
29
+ | **错误提示** | 中文提示 + 恢复建议 + 缺失 scope 自动检测 | 英文错误提示,需手动查找 scope |
30
+ | **API 覆盖面** | 文档、知识库、云空间、搜索、权限 | **全平台** — IM、日历、任务、通讯录、多维表格、邮件、视频会议等 |
31
+ | **依赖** | 零运行时依赖(仅 Node.js 内置模块) | Go 二进制 |
32
+ | **冷启动** | ~0.5 秒(Node.js) | ~0.1 秒(Go) |
25
33
 
34
+ **一句话总结**:feishu-docs-cli 专注于**文档工作流** — 标准 Markdown 输入输出、知识库递归浏览、写入安全保障。lark-cli 是覆盖全平台的综合性 CLI。
26
35
  ## 功能
27
36
 
28
- - **读取** 文档,输出 Markdown、纯文本或原始 Block JSON
37
+ - **读取** 文档,输出 Markdown(图片自动下载到本地)、纯文本或原始 Block JSON
29
38
  - **创建** 文档到知识库或云空间文件夹
30
39
  - **更新** 文档,支持覆盖写入或追加模式(大文档自动分批)
31
40
  - **删除** 文档(移至回收站)
@@ -70,23 +79,22 @@ npm install -g github:cliff-byte/feishu-docs-cli
70
79
 
71
80
  | 权限 | 说明 |
72
81
  |------|------|
82
+ | `offline_access` | Token 自动刷新(获取 refresh_token,7 天有效期) |
73
83
  | `wiki:wiki` | 知识库读写 |
74
84
  | `docx:document` | 文档读写 |
75
85
  | `docx:document.block:convert` | Markdown 转 Block(创建/更新需要) |
76
86
  | `sheets:spreadsheet:readonly` | 嵌入式电子表格只读(read 命令) |
77
87
  | `board:whiteboard:node:read` | 画板导出为图片(read 命令) |
78
88
  | `bitable:app:readonly` | 嵌入式多维表格只读(read 命令) |
89
+ | `docs:document.media:download` | 下载云文档中的图片和附件 |
79
90
 
80
- **功能权限**(需管理员审核通过 `feishu-docs authorize` 按需申请):
91
+ **额外权限**会按需自动提示 API 调用需要你未授权的权限时,CLI 会从 API 错误响应中检测并提示你授权。常见权限:
81
92
 
82
- | 权限 | 说明 | 相关命令 |
83
- |------|------|----------|
84
- | `drive:drive` | 云空间文件管理和权限管理 | ls、delete、share、create --folder |
85
- | `contact:contact.base:readonly` | 通过邮件/手机号查找用户 | share add |
86
- | `drive:drive.search:readonly` | 搜索云文档 | search |
87
- | `wiki:wiki.space:create` | 创建知识库 | wiki create-space |
88
- | `wiki:wiki.space.node` | 编辑知识库节点 | wiki rename、move、copy |
89
- | `wiki:wiki.space.member` | 管理知识库成员 | wiki add-member、remove-member |
93
+ | 权限 | 说明 |
94
+ |------|------|
95
+ | `drive:drive` | 云空间文件管理(ls、delete、share、mv、cp、mkdir) |
96
+ | `contact:contact.base:readonly` | 通过邮件/手机号查找用户 |
97
+ | `drive:drive.search:readonly` | 搜索云文档 |
90
98
 
91
99
  4. 进入 **安全设置**,在 **重定向 URL** 白名单中添加 OAuth 回调地址:
92
100
  - 默认值:`http://127.0.0.1:3456/callback`
@@ -128,7 +136,7 @@ feishu-docs login --port 4567
128
136
  ### 读取
129
137
 
130
138
  ```bash
131
- # 读取文档,输出 Markdown
139
+ # 读取文档,输出 Markdown(图片自动下载到 ~/.feishu-docs/images/)
132
140
  feishu-docs read https://xxx.feishu.cn/wiki/wikcnXXX
133
141
 
134
142
  # 通过 token 读取
@@ -144,6 +152,8 @@ feishu-docs read <url> --raw
144
152
  feishu-docs read <url> --with-meta
145
153
  ```
146
154
 
155
+ 文档中的图片会自动下载到 `~/.feishu-docs/images/`,在 Markdown 输出中引用本地文件路径。缓存有效期 30 天。
156
+
147
157
  ### 知识库
148
158
 
149
159
  ```bash
@@ -388,8 +398,23 @@ dist/ # 编译输出(不提交到 git)
388
398
 
389
399
  - [x] 飞书云文档操作(读取、创建、更新、删除、详情)
390
400
  - [x] 知识库操作(空间列表、目录树、批量读取、Wiki 管理、分享、搜索)
391
- - [ ] 飞书多维表格操作
392
- - [ ] 飞书电子表格操作
401
+ - [x] 质量加固 — 456 个测试、重试逻辑、错误恢复、死代码清理
402
+
403
+ > 多维表格和电子表格操作不再计划。如有需要,请使用官方 [lark-cli](https://github.com/larksuite/cli)。
404
+
405
+ ## Mermaid 图表
406
+
407
+ feishu-docs-cli 和 lark-cli 在写入 Mermaid 时的处理方式不同:
408
+
409
+ | | feishu-docs-cli | lark-cli(官方) |
410
+ |---|---|---|
411
+ | **写入** | 保存为 `` ```mermaid `` 代码块(block_type 14) | 通过 Lark MCP 转换为画板(block_type 43) |
412
+ | **读取自己写入的内容** | 返回原始 Mermaid 代码 — 无损读写往返 | 返回画板节点图(形状、坐标、连接线)— 无法还原 Mermaid 源码 |
413
+ | **读取云文档原生 Mermaid** | 两个工具都能正常读取飞书文档中原生的 Mermaid 代码块,没有问题 |
414
+ | **人类可读性** | 文档中显示为代码块,不会可视化渲染(飞书支持"文本绘图"块,但 Open API 无法创建) | 立即渲染为可交互的图表 |
415
+ | **适合场景** | AI Agent 工作流 — Mermaid 读写往返无损 | 人工阅读 — 可视化图表,但单向(写入后无法读回源码) |
416
+
417
+ **为什么这样取舍?** 飞书有原生的"文本绘图"块可以渲染 Mermaid,但 Open API 的 Convert 接口不支持创建它 — Mermaid 被当作普通代码块处理。lark-cli 通过 Lark MCP 协议将 Mermaid 转为画板来绕过此限制,视觉效果好但丢失了 Mermaid 源码。我们选择保留代码块,确保 AI Agent 能可靠地读取和修改图表。
393
418
 
394
419
  ## 限制
395
420
 
@@ -398,7 +423,7 @@ dist/ # 编译输出(不提交到 git)
398
423
  - **仅链接**:思维笔记(mindnote)
399
424
  - **不支持**:doc(旧版格式)
400
425
  - Markdown 转换有损(颜色、合并单元格、布局会丢失)。使用 `--blocks` 获取无损 JSON。
401
- - 不支持图片写入(读取返回约 24 小时有效的临时 URL)
426
+ - 图片读取时自动下载到本地(`~/.feishu-docs/images/`,30 天缓存)。不支持图片写入。
402
427
 
403
428
  ## 许可证
404
429
 
package/dist/auth.js CHANGED
@@ -10,9 +10,15 @@ import { existsSync } from "node:fs";
10
10
  import { execFile } from "node:child_process";
11
11
  import { CliError } from "./utils/errors.js";
12
12
  import { BASE_SCOPES } from "./scopes.js";
13
- const CONFIG_DIR = join(homedir(), ".feishu-docs");
14
- const AUTH_FILE = join(CONFIG_DIR, "auth.json");
15
- const LOCK_FILE = join(CONFIG_DIR, ".refresh.lock");
13
+ function getConfigDir() {
14
+ return join(homedir(), ".feishu-docs");
15
+ }
16
+ function getAuthFile() {
17
+ return join(getConfigDir(), "auth.json");
18
+ }
19
+ function getLockFile() {
20
+ return join(getConfigDir(), ".refresh.lock");
21
+ }
16
22
  const ALGORITHM = "aes-256-gcm";
17
23
  const KEY_LENGTH = 32;
18
24
  const IV_LENGTH = 16;
@@ -21,6 +27,7 @@ const DEFAULT_OAUTH_HOST = "127.0.0.1";
21
27
  const DEFAULT_OAUTH_PORT = 3456;
22
28
  const DEFAULT_OAUTH_PATH = "/callback";
23
29
  const LOCAL_CALLBACK_HOSTS = new Set(["localhost", "127.0.0.1", "::1"]);
30
+ const CSP_HEADER = "default-src 'none'; style-src 'unsafe-inline'; script-src 'none'";
24
31
  /**
25
32
  * Derive encryption key from machine identity + random salt.
26
33
  */
@@ -69,13 +76,13 @@ function decrypt(encryptedData) {
69
76
  * Save auth tokens to encrypted config file.
70
77
  */
71
78
  export async function saveTokens(appId, tokenData) {
72
- await mkdir(CONFIG_DIR, { recursive: true, mode: 0o700 });
79
+ await mkdir(getConfigDir(), { recursive: true, mode: 0o700 });
73
80
  const payload = {
74
81
  version: 2,
75
82
  app_id: appId,
76
83
  encrypted_data: encrypt(tokenData),
77
84
  };
78
- await writeFile(AUTH_FILE, JSON.stringify(payload, null, 2), {
85
+ await writeFile(getAuthFile(), JSON.stringify(payload, null, 2), {
79
86
  encoding: "utf8",
80
87
  mode: 0o600,
81
88
  });
@@ -85,10 +92,10 @@ export async function saveTokens(appId, tokenData) {
85
92
  * Returns null if not found.
86
93
  */
87
94
  export async function loadTokens() {
88
- if (!existsSync(AUTH_FILE))
95
+ if (!existsSync(getAuthFile()))
89
96
  return null;
90
97
  try {
91
- const raw = await readFile(AUTH_FILE, "utf8");
98
+ const raw = await readFile(getAuthFile(), "utf8");
92
99
  if (!raw.trim())
93
100
  return null;
94
101
  const payload = JSON.parse(raw);
@@ -107,8 +114,8 @@ export async function loadTokens() {
107
114
  * Clear saved auth tokens.
108
115
  */
109
116
  export async function clearTokens() {
110
- if (existsSync(AUTH_FILE)) {
111
- await unlink(AUTH_FILE);
117
+ if (existsSync(getAuthFile())) {
118
+ await unlink(getAuthFile());
112
119
  }
113
120
  }
114
121
  /**
@@ -173,8 +180,11 @@ export async function resolveAuth(authMode = "auto") {
173
180
  const isExpired = saved.tokens.expires_at && Date.now() >= saved.tokens.expires_at;
174
181
  const canRefresh = !!saved.tokens.refresh_token;
175
182
  const hasTenantCreds = envAppId && envAppSecret;
176
- // In auto mode, skip stale user token when tenant creds are available
177
- // and the token cannot be refreshed (no refresh_token).
183
+ // Only skip stale user token when it's expired, has no refresh_token,
184
+ // AND tenant credentials are available. In this case, fall through to
185
+ // tenant mode (createClient will warn the user).
186
+ // When refresh_token exists, always return user auth — createClient
187
+ // will attempt refresh and throw explicit errors on failure.
178
188
  if (isExpired && !canRefresh && hasTenantCreds) {
179
189
  // Fall through to tenant mode
180
190
  }
@@ -377,6 +387,7 @@ export async function oauthLogin(appId, options = {}) {
377
387
  await saveTokens(appId, { ...tokenData, scope: tokenRes.scope });
378
388
  res.writeHead(200, {
379
389
  "Content-Type": "text/html; charset=utf-8",
390
+ "Content-Security-Policy": CSP_HEADER,
380
391
  Connection: "close",
381
392
  });
382
393
  res.end("<h1>登录成功!</h1><p>你可以关闭此页面。</p>");
@@ -388,7 +399,10 @@ export async function oauthLogin(appId, options = {}) {
388
399
  }
389
400
  catch (err) {
390
401
  const error = err;
391
- res.writeHead(500, { "Content-Type": "text/html; charset=utf-8" });
402
+ res.writeHead(500, {
403
+ "Content-Type": "text/html; charset=utf-8",
404
+ "Content-Security-Policy": CSP_HEADER,
405
+ });
392
406
  const safeMsg = (error.message || "").replace(/[&<>"']/g, (c) => ({
393
407
  "&": "&amp;",
394
408
  "<": "&lt;",
@@ -437,14 +451,14 @@ export async function oauthLogin(appId, options = {}) {
437
451
  * Returns a release function, or null if lock is held by another process.
438
452
  */
439
453
  export async function acquireRefreshLock() {
440
- await mkdir(CONFIG_DIR, { recursive: true, mode: 0o700 });
454
+ await mkdir(getConfigDir(), { recursive: true, mode: 0o700 });
441
455
  try {
442
- const fh = await open(LOCK_FILE, "wx");
456
+ const fh = await open(getLockFile(), "wx");
443
457
  await fh.write(String(process.pid));
444
458
  return async () => {
445
459
  await fh.close();
446
460
  try {
447
- await unlink(LOCK_FILE);
461
+ await unlink(getLockFile());
448
462
  }
449
463
  catch {
450
464
  // ignore cleanup errors
@@ -456,7 +470,7 @@ export async function acquireRefreshLock() {
456
470
  if (error.code === "EEXIST") {
457
471
  // Check for stale lock (process no longer alive)
458
472
  try {
459
- const pidStr = await readFile(LOCK_FILE, "utf8");
473
+ const pidStr = await readFile(getLockFile(), "utf8");
460
474
  const pid = Number(pidStr.trim());
461
475
  if (pid && pid !== process.pid) {
462
476
  try {
@@ -464,7 +478,7 @@ export async function acquireRefreshLock() {
464
478
  }
465
479
  catch {
466
480
  // Process is dead — stale lock, remove and retry
467
- await unlink(LOCK_FILE);
481
+ await unlink(getLockFile());
468
482
  return acquireRefreshLock();
469
483
  }
470
484
  }
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC;AACD,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AACxE,MAAM,UAAU,GACd,kEAAkE,CAAC;AAoDrE;;GAEG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,QAAQ,GAAG,GAAG,QAAQ,EAAE,IAAI,QAAQ,EAAE,CAAC,QAAQ,kBAAkB,CAAC;IACxE,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAW,CAAC;AAC1D,CAAC;AAED,SAAS,OAAO,CAAC,IAAa;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC3C,MAAM,CAAC,KAAK,EAAE;KACf,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,GAAG;QACH,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClB,GAAG;QACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,GAAG;QACH,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,aAAqB;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE;KACjB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,SAAyC;IAEzC,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC;KACnC,CAAC;IACF,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAC/D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;SACxC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAA8B,MAAM;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAEnD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,YAAY;gBACvB,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB;gBACzC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;gBACxC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;gBAClC,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,QAAQ,CAChB,eAAe,EACf,6CAA6C,EAC7C;YACE,QAAQ,EAAE,mCAAmC;SAC9C,CACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,eAAe,EACf,2CAA2C,EAC3C;gBACE,QAAQ,EAAE,2CAA2C;aACtD,CACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;IACjC,IAAI,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACrC,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QACnE,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QAChD,MAAM,cAAc,GAAG,QAAQ,IAAI,YAAY,CAAC;QAEhD,sEAAsE;QACtE,sEAAsE;QACtE,iDAAiD;QACjD,oEAAoE;QACpE,6DAA6D;QAC7D,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;YAC/C,8BAA8B;QAChC,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ;gBAC9B,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB;gBACzC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;gBACxC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;gBAClC,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,QAAQ,CAChB,eAAe,EACf,wCAAwC,EACxC;QACE,QAAQ,EACN,iEAAiE;KACpE,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,UAAU,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oCAAoC,GAAG,CAAC,OAAO,IAAI,CACpD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAsB;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,mBAAmB,KAAK,EAAE,EAAE;YAC7D,QAAQ,EACN,oEAAoE;SACvE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAA6B,EAAE;IAE/B,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,kBAAkB,CAAC;IACtE,MAAM,mBAAmB,GAAG,UAAU,kBAAkB,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,kBAAkB,EAAE,CAAC;IAC9G,MAAM,cAAc,GAClB,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC/B,mBAAmB,CAAC;IAEtB,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,qBAAqB,cAAc,EAAE,EACrC;YACE,QAAQ,EACN,+DAA+D;SAClE,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,kEAAkE,EAClE;YACE,QAAQ,EACN,4EAA4E;SAC/E,CACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,sDAAsD,EACtD;YACE,QAAQ,EACN,+DAA+D;SAClE,CACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,gCAAgC,EAAE;YACnE,QAAQ,EAAE,8CAA8C;SACzD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IAC5C,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;IAEtD,OAAO;QACL,WAAW;QACX,YAAY,EAAE,MAAM,CAAC,QAAQ;QAC7B,YAAY;QACZ,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAI1B,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC;SACvC,MAAM,CAAC,YAAY,CAAC;SACpB,MAAM,CAAC,WAAW,CAAC,CAAC;IACvB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,WAAW,EACX,KAAK,EACL,KAAK,EACL,OAAO,GAAG,KAAK,EACf,aAAa,GACgB;IAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,WAAW;QACzB,KAAK;KACN,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,8DAA8D;QAChE,CAAC,CAAC,sDAAsD,CAAC;IAE3D,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,KAAa,EACb,SAA6B,EAC7B,IAAY,EACZ,WAAmB,EACnB,EAAE,OAAO,GAAG,KAAK,EAAE,YAAY,KAA0B,EAAE;IAE3D,MAAM,IAAI,GAAG,OAAO;QAClB,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,wBAAwB,CAAC;IAC7B,MAAM,WAAW,GAAuC;QACtD,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,SAAS;QACxB,IAAI;QACJ,YAAY,EAAE,WAAW;KAC1B,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,CAAC,aAAa,GAAG,YAAY,CAAC;IAC3C,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,kCAAkC,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;IACxD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE;YAC7D,OAAO,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,UAA6B,EAAE;IAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,GAC7D,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAAC;IAEvD,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAChD,IAAI,OAAsC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,MAAM,MAAM,GAAW,YAAY,CACjC,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAE,EAAE;YAClD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAClC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEpD,iCAAiC;YACjC,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;gBAC9C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,EACX,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,CAC3C,CAAC;gBAEF,MAAM,SAAS,GAAc;oBAC3B,iBAAiB,EAAE,QAAQ,CAAC,YAAY;oBACxC,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI;oBAC7D,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC;gBAEF,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEjE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;oBACjB,cAAc,EAAE,0BAA0B;oBAC1C,yBAAyB,EAAE,UAAU;oBACrC,UAAU,EAAE,OAAO;iBACpB,CAAC,CAAC;gBACH,GAAG,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAE1C,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,MAAM,IAAI,WAAW;oBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnD,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAY,CAAC;gBAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;oBACjB,cAAc,EAAE,0BAA0B;oBAC1C,yBAAyB,EAAE,UAAU;iBACtC,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAC3C,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAEF,CAAC;oBACC,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,MAAM;oBACX,GAAG,EAAE,MAAM;oBACX,GAAG,EAAE,QAAQ;oBACb,GAAG,EAAE,OAAO;iBACb,CACF,CAAC,CAAC,CAAC,IAAI,CAAC,CACZ,CAAC;gBACF,GAAG,CAAC,GAAG,CAAC,mBAAmB,OAAO,MAAM,CAAC,CAAC;gBAC1C,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,MAAM,IAAI,WAAW;oBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnD,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CACF,CAAC;QAEF,8DAA8D;QAC9D,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YACzC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE;YAC7C,MAAM,OAAO,GAAG,qBAAqB,CAAC;gBACpC,KAAK;gBACL,WAAW;gBACX,KAAK;gBACL,KAAK;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,aAAa;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oBAAoB;gBAClB,SAAS,WAAW,IAAI;gBACxB,yCAAyC;gBACzC,wBAAwB,OAAO,gBAAgB,CAClD,CAAC;YACF,WAAW,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,UAAU,CAClB,GAAG,EAAE;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,MAAM,IAAI,WAAW;gBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC3C,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,IAAI,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IAGtC,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAA4B,CAAC;QAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,iDAAiD;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,IAAI,GAAG,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,4BAA4B;oBACpD,CAAC;oBAAC,MAAM,CAAC;wBACP,iDAAiD;wBACjD,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;wBAC5B,OAAO,kBAAkB,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,SAAiB,EACjB,YAAoB,EACpB,EAAE,OAAO,GAAG,KAAK,KAA4B,EAAE;IAE/C,MAAM,IAAI,GAAG,OAAO;QAClB,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,wBAAwB,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,kCAAkC,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,UAAU,EAAE,eAAe;YAC3B,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,SAAS;YACxB,aAAa,EAAE,YAAY;SAC5B,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC;IAExD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE;YAC7D,OAAO,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAc;QAC3B,iBAAiB,EAAE,IAAI,CAAC,YAAY;QACpC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI;QACzD,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;IAEF,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/dist/cli.js CHANGED
@@ -30,8 +30,7 @@ const HELP_TEXT = `feishu-docs - AI Agent 飞书云文档 CLI 工具
30
30
  认证:
31
31
  login [--scope "..."] [--redirect-uri <url>] [--port <port>]
32
32
  OAuth 登录(申请基础免审权限)
33
- authorize [--feature <name>] [--scope "..."]
34
- 申请额外功能权限(可能需管理员审核)
33
+ authorize [--scope "..."] 申请额外权限(可能需管理员审核)
35
34
  logout 清除已保存的凭证
36
35
  whoami 查看当前认证身份和模式
37
36
 
@@ -150,16 +149,18 @@ function parseAndRun(def, argv) {
150
149
  return { handler: def.handler, args, globalOpts };
151
150
  }
152
151
  export async function run(argv) {
152
+ // Non-blocking update check (runs in background, never throws)
153
+ const updateCheck = checkForUpdates();
153
154
  if (argv.includes("--version") || argv.includes("-v")) {
154
155
  process.stdout.write(`feishu-docs ${getLocalVersion()}\n`);
156
+ await updateCheck;
155
157
  return;
156
158
  }
157
159
  if (argv.length === 0 || argv.includes("--help") || argv.includes("-h")) {
158
160
  process.stdout.write(HELP_TEXT);
161
+ await updateCheck;
159
162
  return;
160
163
  }
161
- // Non-blocking update check (runs in background, never throws)
162
- const updateCheck = checkForUpdates();
163
164
  const command = argv[0];
164
165
  const restArgs = argv.slice(1);
165
166
  const def = COMMANDS[command];
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -21,8 +21,10 @@ export declare function getTenantToken(authInfo: AuthInfo): Promise<string>;
21
21
  /**
22
22
  * Direct fetch wrapper that correctly passes user/tenant token.
23
23
  */
24
- export declare function fetchWithAuth(authInfo: AuthInfo, path: string, options?: FetchOptions): Promise<ApiResponse>;
24
+ export declare function fetchWithAuth<T = unknown>(authInfo: AuthInfo, path: string, options?: FetchOptions): Promise<ApiResponse<T>>;
25
25
  /**
26
26
  * Fetch binary data with auth (for APIs that return file streams).
27
27
  */
28
- export declare function fetchBinaryWithAuth(authInfo: AuthInfo, path: string): Promise<ArrayBuffer>;
28
+ export declare function fetchBinaryWithAuth(authInfo: AuthInfo, path: string, options?: {
29
+ retry?: FetchOptions["retry"];
30
+ }): Promise<ArrayBuffer>;