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

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 (52) hide show
  1. package/README.md +33 -15
  2. package/README.zh.md +33 -15
  3. package/dist/auth.js +2 -2
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cli.js +10 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client.d.ts +3 -21
  8. package/dist/client.js +12 -89
  9. package/dist/client.js.map +1 -1
  10. package/dist/commands/authorize.d.ts +9 -0
  11. package/dist/commands/authorize.js +91 -0
  12. package/dist/commands/authorize.js.map +1 -0
  13. package/dist/commands/cat.js +16 -8
  14. package/dist/commands/cat.js.map +1 -1
  15. package/dist/commands/create.js +7 -7
  16. package/dist/commands/create.js.map +1 -1
  17. package/dist/commands/delete.js +4 -4
  18. package/dist/commands/delete.js.map +1 -1
  19. package/dist/commands/info.js +3 -3
  20. package/dist/commands/info.js.map +1 -1
  21. package/dist/commands/install-skill.d.ts +5 -0
  22. package/dist/commands/install-skill.js +28 -0
  23. package/dist/commands/install-skill.js.map +1 -0
  24. package/dist/commands/login.js +6 -3
  25. package/dist/commands/login.js.map +1 -1
  26. package/dist/commands/ls.js +15 -0
  27. package/dist/commands/ls.js.map +1 -1
  28. package/dist/commands/read.js +13 -16
  29. package/dist/commands/read.js.map +1 -1
  30. package/dist/commands/share.js +12 -11
  31. package/dist/commands/share.js.map +1 -1
  32. package/dist/commands/update.js +15 -15
  33. package/dist/commands/update.js.map +1 -1
  34. package/dist/commands/wiki.js +8 -8
  35. package/dist/commands/wiki.js.map +1 -1
  36. package/dist/scopes.d.ts +52 -0
  37. package/dist/scopes.js +79 -0
  38. package/dist/scopes.js.map +1 -0
  39. package/dist/services/block-writer.d.ts +4 -5
  40. package/dist/services/block-writer.js +8 -8
  41. package/dist/services/block-writer.js.map +1 -1
  42. package/dist/services/doc-blocks.d.ts +1 -2
  43. package/dist/services/doc-blocks.js +7 -11
  44. package/dist/services/doc-blocks.js.map +1 -1
  45. package/dist/services/wiki-nodes.d.ts +1 -2
  46. package/dist/services/wiki-nodes.js +5 -6
  47. package/dist/services/wiki-nodes.js.map +1 -1
  48. package/dist/utils/document-resolver.d.ts +1 -3
  49. package/dist/utils/document-resolver.js +2 -3
  50. package/dist/utils/document-resolver.js.map +1 -1
  51. package/package.json +3 -4
  52. package/skills/feishu-docs/SKILL.md +179 -0
@@ -1 +1 @@
1
- {"version":3,"file":"block-writer.js","sourceRoot":"","sources":["../../src/services/block-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-writer.js","sourceRoot":"","sources":["../../src/services/block-writer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  /**
2
2
  * Shared document block fetching.
3
3
  */
4
- import * as lark from "@larksuiteoapi/node-sdk";
5
4
  import { AuthInfo, Block } from "../types/index.js";
6
5
  /**
7
6
  * Fetch all blocks for a document.
8
7
  */
9
- export declare function fetchAllBlocks(client: lark.Client, authInfo: AuthInfo, documentId: string): Promise<Block[]>;
8
+ export declare function fetchAllBlocks(authInfo: AuthInfo, documentId: string): Promise<Block[]>;
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Shared document block fetching.
3
3
  */
4
- import { apiCall, withAuth } from "../client.js";
4
+ import { fetchWithAuth } from "../client.js";
5
5
  /**
6
6
  * Fetch all blocks for a document.
7
7
  */
8
- export async function fetchAllBlocks(client, authInfo, documentId) {
8
+ export async function fetchAllBlocks(authInfo, documentId) {
9
9
  const blocks = [];
10
10
  let pageToken;
11
11
  do {
@@ -14,16 +14,12 @@ export async function fetchAllBlocks(client, authInfo, documentId) {
14
14
  page_size: 500,
15
15
  ...(pageToken && { page_token: pageToken }),
16
16
  };
17
- const res = await apiCall(() => client.docx.v1.documentBlock.list({
18
- path: { document_id: documentId },
19
- params,
20
- }, withAuth(authInfo)));
21
- if (res?.data?.items) {
22
- blocks.push(...res.data.items);
17
+ const res = await fetchWithAuth(authInfo, `/open-apis/docx/v1/documents/${encodeURIComponent(documentId)}/blocks`, { params });
18
+ const data = res?.data;
19
+ if (data?.items) {
20
+ blocks.push(...data.items);
23
21
  }
24
- pageToken = res?.data?.has_more
25
- ? res.data.page_token
26
- : undefined;
22
+ pageToken = data?.has_more ? data.page_token : undefined;
27
23
  } while (pageToken);
28
24
  return blocks;
29
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doc-blocks.js","sourceRoot":"","sources":["../../src/services/doc-blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,QAAkB,EAClB,UAAkB;IAElB,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,SAA6B,CAAC;IAElC,GAAG,CAAC;QACF,MAAM,MAAM,GAAgD;YAC1D,oBAAoB,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,GAAG;YACd,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;SAC5C,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAC/B;YACE,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;YACjC,MAAM;SACP,EACD,QAAQ,CAAC,QAAQ,CAAC,CACnB,CACF,CAAC;QAEF,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC,IAAI,CAAC,KAAiB,CAAC,CAAC;QAC9C,CAAC;QACD,SAAS,GAAG,GAAG,EAAE,IAAI,EAAE,QAAQ;YAC7B,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,UAAqB;YACjC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,QAAQ,SAAS,EAAE;IAEpB,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"doc-blocks.js","sourceRoot":"","sources":["../../src/services/doc-blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAkB,EAClB,UAAkB;IAElB,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,SAA6B,CAAC;IAElC,GAAG,CAAC;QACF,MAAM,MAAM,GAAgD;YAC1D,oBAAoB,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,GAAG;YACd,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;SAC5C,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,QAAQ,EACR,gCAAgC,kBAAkB,CAAC,UAAU,CAAC,SAAS,EACvE,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,GAAG,EAAE,IAA2C,CAAC;QAC9D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,KAAiB,CAAC,CAAC;QAC1C,CAAC;QACD,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,UAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC,QAAQ,SAAS,EAAE;IAEpB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Shared wiki node helpers.
3
3
  */
4
- import * as lark from "@larksuiteoapi/node-sdk";
5
4
  import { AuthInfo, WikiNode } from "../types/index.js";
6
5
  export interface ResolvedWikiNode {
7
6
  objToken: string;
@@ -18,4 +17,4 @@ export declare function fetchChildren(authInfo: AuthInfo, spaceId: string, paren
18
17
  /**
19
18
  * Resolve wiki token to actual document token + type.
20
19
  */
21
- export declare function resolveWikiToken(client: lark.Client, authInfo: AuthInfo, wikiToken: string): Promise<ResolvedWikiNode>;
20
+ export declare function resolveWikiToken(authInfo: AuthInfo, wikiToken: string): Promise<ResolvedWikiNode>;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Shared wiki node helpers.
3
3
  */
4
- import { apiCall, withAuth, fetchWithAuth } from "../client.js";
4
+ import { fetchWithAuth } from "../client.js";
5
5
  import { CliError } from "../utils/errors.js";
6
6
  /**
7
7
  * Fetch child nodes of a parent node (or space root).
@@ -27,11 +27,10 @@ export async function fetchChildren(authInfo, spaceId, parentNodeToken) {
27
27
  /**
28
28
  * Resolve wiki token to actual document token + type.
29
29
  */
30
- export async function resolveWikiToken(client, authInfo, wikiToken) {
31
- const res = await apiCall(() => client.wiki.v2.space.getNode({
32
- params: { token: wikiToken, obj_type: "wiki" },
33
- }, withAuth(authInfo)));
34
- const node = res?.data?.node;
30
+ export async function resolveWikiToken(authInfo, wikiToken) {
31
+ const res = await fetchWithAuth(authInfo, "/open-apis/wiki/v2/spaces/get_node", { params: { token: wikiToken, obj_type: "wiki" } });
32
+ const data = res?.data;
33
+ const node = data?.node;
35
34
  if (!node) {
36
35
  throw new CliError("NOT_FOUND", `知识库节点不存在: ${wikiToken}`);
37
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-nodes.js","sourceRoot":"","sources":["../../src/services/wiki-nodes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAY9C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAkB,EAClB,OAAe,EACf,eAAwB;IAExB,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,SAA6B,CAAC;IAElC,GAAG,CAAC;QACF,MAAM,MAAM,GAAgD;YAC1D,SAAS,EAAE,EAAE;YACb,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,eAAe,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;SAC/D,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,QAAQ,EACR,6BAA6B,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAChE,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,GAAG,EAAE,IAA2C,CAAC;QAC9D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,KAAoB,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,UAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC,QAAQ,SAAS,EAAE;IAEpB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAmB,EACnB,QAAkB,EAClB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAC1B;QACE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC/C,EACD,QAAQ,CAAC,QAAQ,CAAC,CACnB,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,aAAa,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QAChC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"wiki-nodes.js","sourceRoot":"","sources":["../../src/services/wiki-nodes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAY9C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAkB,EAClB,OAAe,EACf,eAAwB;IAExB,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,SAA6B,CAAC;IAElC,GAAG,CAAC;QACF,MAAM,MAAM,GAAgD;YAC1D,SAAS,EAAE,EAAE;YACb,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,eAAe,IAAI,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;SAC/D,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,QAAQ,EACR,6BAA6B,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAChE,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,MAAM,IAAI,GAAG,GAAG,EAAE,IAA2C,CAAC;QAC9D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,KAAoB,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,UAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC,QAAQ,SAAS,EAAE;IAEpB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAkB,EAClB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,QAAQ,EACR,oCAAoC,EACpC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CACnD,CAAC;IAEF,MAAM,IAAI,GAAG,GAAG,EAAE,IAA2C,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,EAAE,IAA2C,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,aAAa,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,QAAQ,EAAG,IAAI,CAAC,SAAoB,IAAI,EAAE;QAC1C,OAAO,EAAG,IAAI,CAAC,QAAmB,IAAI,EAAE;QACxC,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,EAAE;QACnC,SAAS,EAAG,IAAI,CAAC,UAAqB,IAAI,EAAE;QAC5C,OAAO,EAAG,IAAI,CAAC,QAAmB,IAAI,EAAE;QACxC,QAAQ,EAAG,IAAI,CAAC,SAAqB,IAAI,KAAK;KAC/C,CAAC;AACJ,CAAC"}
@@ -2,7 +2,6 @@
2
2
  * Unified URL/token → document resolution.
3
3
  * Extracts the repeated resolve logic from read.js, write.js, delete.js.
4
4
  */
5
- import * as lark from "@larksuiteoapi/node-sdk";
6
5
  import { AuthInfo, ParsedDoc } from "../types/index.js";
7
6
  export interface ResolvedDocument {
8
7
  objToken: string;
@@ -16,13 +15,12 @@ export interface ResolvedDocument {
16
15
  /**
17
16
  * Resolve a URL or raw token to a fully-qualified document descriptor.
18
17
  *
19
- * @param {object} client - Lark SDK client
20
18
  * @param {object} authInfo - Auth credentials
21
19
  * @param {string} input - URL or raw token
22
20
  * @param {object} options
23
21
  * @param {boolean} options.allowFallback - If true, unknown types silently fall back to docx (default: true)
24
22
  * @returns {{ objToken, objType, title, nodeToken, spaceId, hasChild, parsed }}
25
23
  */
26
- export declare function resolveDocument(client: lark.Client, authInfo: AuthInfo, input: string, options?: {
24
+ export declare function resolveDocument(authInfo: AuthInfo, input: string, options?: {
27
25
  allowFallback?: boolean;
28
26
  }): Promise<ResolvedDocument>;
@@ -7,14 +7,13 @@ import { resolveWikiToken } from "../services/wiki-nodes.js";
7
7
  /**
8
8
  * Resolve a URL or raw token to a fully-qualified document descriptor.
9
9
  *
10
- * @param {object} client - Lark SDK client
11
10
  * @param {object} authInfo - Auth credentials
12
11
  * @param {string} input - URL or raw token
13
12
  * @param {object} options
14
13
  * @param {boolean} options.allowFallback - If true, unknown types silently fall back to docx (default: true)
15
14
  * @returns {{ objToken, objType, title, nodeToken, spaceId, hasChild, parsed }}
16
15
  */
17
- export async function resolveDocument(client, authInfo, input, options = {}) {
16
+ export async function resolveDocument(authInfo, input, options = {}) {
18
17
  const { allowFallback = true } = options;
19
18
  const parsed = parseDocUrl(input);
20
19
  let objToken = parsed.token;
@@ -25,7 +24,7 @@ export async function resolveDocument(client, authInfo, input, options = {}) {
25
24
  let hasChild = false;
26
25
  if (parsed.type === "wiki" || parsed.type === "unknown") {
27
26
  try {
28
- const wiki = await resolveWikiToken(client, authInfo, parsed.token);
27
+ const wiki = await resolveWikiToken(authInfo, parsed.token);
29
28
  objToken = wiki.objToken;
30
29
  objType = wiki.objType;
31
30
  title = wiki.title;
@@ -1 +1 @@
1
- {"version":3,"file":"document-resolver.js","sourceRoot":"","sources":["../../src/utils/document-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAa7D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAmB,EACnB,QAAkB,EAClB,KAAa,EACb,UAAuC,EAAE;IAEzC,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,GAAW,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IACvE,IAAI,KAAyB,CAAC;IAC9B,IAAI,SAA6B,CAAC;IAClC,IAAI,OAA2B,CAAC;IAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACpE,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACnB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;gBAC/C,OAAO,GAAG,MAAM,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"document-resolver.js","sourceRoot":"","sources":["../../src/utils/document-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAa7D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAkB,EAClB,KAAa,EACb,UAAuC,EAAE;IAEzC,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,GAAW,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IACvE,IAAI,KAAyB,CAAC;IAC9B,IAAI,SAA6B,CAAC;IAClC,IAAI,OAA2B,CAAC;IAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5D,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACnB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;gBAC/C,OAAO,GAAG,MAAM,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC5E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "feishu-docs-cli",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.4",
4
4
  "description": "CLI tool for AI Agents to read/write Feishu docs via shell commands",
5
5
  "type": "module",
6
6
  "bin": {
@@ -11,6 +11,7 @@
11
11
  "files": [
12
12
  "bin/",
13
13
  "dist/",
14
+ "skills/",
14
15
  "README.md",
15
16
  "README.zh.md",
16
17
  "LICENSE"
@@ -44,10 +45,8 @@
44
45
  "engines": {
45
46
  "node": ">=18.3.0"
46
47
  },
47
- "dependencies": {
48
- "@larksuiteoapi/node-sdk": "^1.59.0"
49
- },
50
48
  "devDependencies": {
49
+ "@types/node": "^25.5.0",
51
50
  "tsx": "^4.21.0",
52
51
  "typescript": "^5.9.3"
53
52
  }
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: feishu-docs
3
+ description: Read, write, search, and manage Feishu (Lark) cloud documents and knowledge bases via the feishu-docs CLI. Use this skill whenever the user mentions Feishu docs, Lark docs, knowledge bases (wiki spaces), or wants to interact with Feishu cloud documents in any way — reading, creating, updating, deleting, searching, sharing, or browsing wiki structure. Also trigger when the user pastes a Feishu or Lark URL, or mentions feishu-docs-cli. This skill covers both Chinese (飞书) and international (Lark) platforms.
4
+ ---
5
+
6
+ # Feishu Docs CLI
7
+
8
+ `feishu-docs` is a CLI tool that lets you read and write Feishu (Lark) cloud documents directly from the terminal. All output goes to stdout as plain text or JSON — designed for agent consumption.
9
+
10
+ ## Prerequisites
11
+
12
+ Before using any command, verify the environment is ready:
13
+
14
+ ```bash
15
+ feishu-docs whoami
16
+ ```
17
+
18
+ If this fails with an auth error:
19
+ - Ensure `FEISHU_APP_ID` and `FEISHU_APP_SECRET` environment variables are set
20
+ - For user-level features (search, personal docs), the user needs to run `feishu-docs login` interactively in their terminal — you cannot do this for them
21
+ - Tenant (app) mode works without login but only accesses docs the app has been granted permission to
22
+
23
+ ## Reading Documents
24
+
25
+ Read a document by URL or token. Output is Markdown by default.
26
+
27
+ ```bash
28
+ feishu-docs read <url|token>
29
+ feishu-docs read <url> --blocks # Lossless Block JSON
30
+ feishu-docs read <url> --raw # Plain text
31
+ feishu-docs read <url> --with-meta # Prepend title/URL/revision metadata
32
+ ```
33
+
34
+ Accepts full Feishu/Lark URLs or raw tokens (e.g., `wikcnXXX`, `doxcnXXX`). The URL format is automatically detected — wiki pages, docx, sheets, and bitable links all work.
35
+
36
+ Markdown conversion is lossy (colors, merged cells, complex layouts are dropped). When fidelity matters, use `--blocks` to get the raw Block JSON.
37
+
38
+ ## Browsing Knowledge Bases
39
+
40
+ Discover what's available before reading:
41
+
42
+ ```bash
43
+ feishu-docs spaces # List all accessible wiki spaces
44
+ feishu-docs tree <space_id> --depth 3 # Show document tree structure
45
+ feishu-docs cat <space_id> --max-docs 20 # Read all docs recursively
46
+ feishu-docs cat <space_id> --title-only # Just list titles
47
+ feishu-docs cat <space_id> --node <token> # Start from a specific node
48
+ ```
49
+
50
+ `spaces` returns space IDs and names. Use a space_id with `tree` to understand the structure, then `read` individual documents or `cat` to batch-read.
51
+
52
+ ## Searching
53
+
54
+ ```bash
55
+ feishu-docs search "keyword" --type docx --limit 10
56
+ ```
57
+
58
+ Search requires a user access token (`feishu-docs login`). It will not work with tenant-only auth.
59
+
60
+ ## Creating Documents
61
+
62
+ ```bash
63
+ # Create in a wiki space
64
+ feishu-docs create "Title" --wiki <space_id> --body ./content.md
65
+
66
+ # Create in a cloud folder
67
+ feishu-docs create "Title" --folder <folder_token> --body ./content.md
68
+
69
+ # Create empty document (returns URL)
70
+ feishu-docs create "Title"
71
+
72
+ # Pipe content from stdin
73
+ echo "# Hello" | feishu-docs create "Title" --wiki <space_id> --body -
74
+ ```
75
+
76
+ The `--body` flag accepts a file path or `-` for stdin. Content is Markdown — the API converts it to Feishu blocks server-side.
77
+
78
+ When creating under a wiki node, use `--wiki <space_id> --parent <node_token>` to place it under a specific parent.
79
+
80
+ ## Updating Documents
81
+
82
+ ```bash
83
+ # Overwrite entire document (auto-backs up first)
84
+ feishu-docs update <url> --body ./updated.md
85
+
86
+ # Append to end of document
87
+ feishu-docs update <url> --body ./extra.md --append
88
+
89
+ # Pipe from stdin
90
+ echo "## New Section" | feishu-docs update <url> --body - --append
91
+ ```
92
+
93
+ Overwrite mode automatically backs up the current document to `~/.feishu-docs/backups/` before writing. If the write fails, it auto-recovers from the backup.
94
+
95
+ To restore a previous version:
96
+ ```bash
97
+ feishu-docs update <url> --restore ~/.feishu-docs/backups/<backup-file>.json
98
+ ```
99
+
100
+ ## Deleting Documents
101
+
102
+ ```bash
103
+ feishu-docs delete <url> --confirm
104
+ ```
105
+
106
+ Moves to recycle bin (recoverable for 30 days). The `--confirm` flag is required.
107
+
108
+ ## Document Info
109
+
110
+ ```bash
111
+ feishu-docs info <url|token> # Human-readable metadata
112
+ feishu-docs info <url> --json # Structured JSON output
113
+ ```
114
+
115
+ Returns title, document type, URL, owner, creation time, and revision number.
116
+
117
+ ## Listing Cloud Files
118
+
119
+ ```bash
120
+ feishu-docs ls # Root folder
121
+ feishu-docs ls <folder_token> # Specific folder
122
+ feishu-docs ls --type docx --limit 20 # Filter by type
123
+ ```
124
+
125
+ ## Sharing & Permissions
126
+
127
+ ```bash
128
+ feishu-docs share list <url> # View collaborators
129
+ feishu-docs share add <url> user@example.com --role view
130
+ feishu-docs share add <url> ou_xxx --role edit
131
+ feishu-docs share set <url> --public tenant # Org-wide readable
132
+ feishu-docs share set <url> --public tenant:edit # Org-wide editable
133
+ feishu-docs share set <url> --public open # Internet-accessible
134
+ feishu-docs share set <url> --public closed # Disable link sharing
135
+ ```
136
+
137
+ Roles: `view`, `edit`, `manage`. Member types (email, openid, unionid, userid) are auto-detected.
138
+
139
+ ## Wiki Management
140
+
141
+ ```bash
142
+ feishu-docs wiki create-space <name>
143
+ feishu-docs wiki add-member <space_id> <member>
144
+ feishu-docs wiki remove-member <space_id> <member>
145
+ feishu-docs wiki rename <url> --title <new_title>
146
+ feishu-docs wiki move <url> --to <space_id>
147
+ feishu-docs wiki copy <url> --to <space_id>
148
+ ```
149
+
150
+ ## Global Options
151
+
152
+ Every command accepts these flags:
153
+
154
+ | Flag | Effect |
155
+ |------|--------|
156
+ | `--auth user` | Force user token (personal docs, search) |
157
+ | `--auth tenant` | Force app token (CI/CD, shared docs) |
158
+ | `--json` | Output structured JSON instead of text |
159
+ | `--lark` | Use Lark (international) domain |
160
+
161
+ Default auth mode is `auto` — tries user token first, falls back to tenant.
162
+
163
+ ## Common Workflows
164
+
165
+ **Research a wiki space**: `spaces` → pick a space_id → `tree <space_id>` → `read` specific docs
166
+
167
+ **Write a report to wiki**: Write markdown locally → `create "Title" --wiki <space_id> --body ./report.md`
168
+
169
+ **Update existing doc**: `read <url>` to see current content → edit locally → `update <url> --body ./updated.md`
170
+
171
+ **Batch extract**: `cat <space_id> --max-docs 50` to dump all docs as markdown for analysis
172
+
173
+ ## Limitations
174
+
175
+ - Only `docx` (new document format) is fully supported for read/write
176
+ - Legacy `doc` format is not supported
177
+ - Images cannot be written; read returns temporary URLs valid ~24 hours
178
+ - Markdown conversion is lossy — use `--blocks` for lossless JSON when precision matters
179
+ - Search requires user-level auth (run `feishu-docs login` first)