@amaster.ai/pi-lark 0.1.2-beta.29 → 0.1.2-beta.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { LarkConfig } from './config.js';
2
- export declare function isLarkCliInstalled(): boolean;
2
+ export declare function isLarkCliInstalled(): Promise<boolean>;
3
3
  export declare function installLarkCli(): Promise<void>;
4
4
  export declare function ensureLarkCli(): Promise<boolean>;
5
5
  export declare function initLarkCli(config: LarkConfig): Promise<void>;
6
- export declare function getLarkCliSkillsDir(): string | undefined;
7
- export declare function checkLarkCliAuth(): {
6
+ export declare function getLarkCliSkillsDir(): Promise<string | undefined>;
7
+ export declare function checkLarkCliAuth(): Promise<{
8
8
  ok: boolean;
9
9
  error?: string;
10
- };
10
+ }>;
11
11
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,wBAAgB,kBAAkB,IAAI,OAAO,CAO5C;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAO9C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAItD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC7D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAuBxD;AAED,wBAAgB,gBAAgB,IAAI;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAYlE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAuB9C,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAU3D;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAItD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC7D;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAcvE;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CASjF"}
package/dist/cli.js CHANGED
@@ -1,29 +1,50 @@
1
- import { exec, execSync } from 'node:child_process';
1
+ import { exec } from 'node:child_process';
2
2
  import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
3
3
  import { homedir } from 'node:os';
4
4
  import { join } from 'node:path';
5
5
  const NPM_PACKAGE = '@larksuite/cli';
6
- export function isLarkCliInstalled() {
6
+ const INSTALL_DIR = join(homedir(), '.lark-cli');
7
+ const BIN_PATH = join(INSTALL_DIR, 'node_modules', '.bin', 'lark-cli');
8
+ let installAttempted = false;
9
+ let cliAvailable;
10
+ function execAsync(command) {
11
+ return new Promise((resolve, reject) => {
12
+ exec(command, (error, stdout, stderr) => {
13
+ if (error)
14
+ reject(error);
15
+ else
16
+ resolve({ stdout, stderr });
17
+ });
18
+ });
19
+ }
20
+ function larkCliBin() {
21
+ if (existsSync(BIN_PATH))
22
+ return BIN_PATH;
23
+ return 'lark-cli';
24
+ }
25
+ export async function isLarkCliInstalled() {
26
+ if (cliAvailable !== undefined)
27
+ return cliAvailable;
7
28
  try {
8
- execSync('lark-cli --version', { stdio: 'ignore' });
29
+ await execAsync(`"${larkCliBin()}" --version`);
30
+ cliAvailable = true;
9
31
  return true;
10
32
  }
11
33
  catch {
34
+ cliAvailable = false;
12
35
  return false;
13
36
  }
14
37
  }
15
- export function installLarkCli() {
16
- return new Promise((resolve, reject) => {
17
- exec(`npm install -g ${NPM_PACKAGE}@latest`, (error) => {
18
- if (error)
19
- reject(new Error(`Failed to install ${NPM_PACKAGE}: ${error.message}`));
20
- else
21
- resolve();
22
- });
23
- });
38
+ export async function installLarkCli() {
39
+ if (installAttempted)
40
+ return;
41
+ installAttempted = true;
42
+ mkdirSync(INSTALL_DIR, { recursive: true });
43
+ await execAsync(`npm install --prefix "${INSTALL_DIR}" ${NPM_PACKAGE}@latest`);
44
+ cliAvailable = undefined;
24
45
  }
25
46
  export async function ensureLarkCli() {
26
- if (isLarkCliInstalled())
47
+ if (await isLarkCliInstalled())
27
48
  return true;
28
49
  await installLarkCli();
29
50
  return isLarkCliInstalled();
@@ -55,39 +76,26 @@ export function initLarkCli(config) {
55
76
  resolve();
56
77
  });
57
78
  }
58
- export function getLarkCliSkillsDir() {
79
+ export async function getLarkCliSkillsDir() {
80
+ const bin = larkCliBin();
59
81
  try {
60
- const output = execSync('lark-cli skills path', {
61
- encoding: 'utf-8',
62
- stdio: ['pipe', 'pipe', 'ignore'],
63
- }).trim();
82
+ const { stdout } = await execAsync(`"${bin}" skills path`);
83
+ const output = stdout.trim();
64
84
  if (output && existsSync(output))
65
85
  return output;
66
86
  }
67
87
  catch {
68
- // fallback: try to find skills in the npm global package
69
- }
70
- try {
71
- const npmRoot = execSync('npm root -g', {
72
- encoding: 'utf-8',
73
- stdio: ['pipe', 'pipe', 'ignore'],
74
- }).trim();
75
- const skillsPath = join(npmRoot, '@larksuite', 'cli', 'skills');
76
- if (existsSync(skillsPath))
77
- return skillsPath;
78
- }
79
- catch {
80
- // ignore
88
+ // fallback
81
89
  }
90
+ const localSkills = join(INSTALL_DIR, 'node_modules', '@larksuite', 'cli', 'skills');
91
+ if (existsSync(localSkills))
92
+ return localSkills;
82
93
  return undefined;
83
94
  }
84
- export function checkLarkCliAuth() {
95
+ export async function checkLarkCliAuth() {
85
96
  try {
86
- const output = execSync('lark-cli auth status --json', {
87
- encoding: 'utf-8',
88
- stdio: ['pipe', 'pipe', 'ignore'],
89
- });
90
- const status = JSON.parse(output);
97
+ const { stdout } = await execAsync(`"${larkCliBin()}" auth status --json`);
98
+ const status = JSON.parse(stdout);
91
99
  if (status?.loggedIn || status?.authenticated)
92
100
  return { ok: true };
93
101
  return { ok: false, error: 'not authenticated' };
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AActF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAoD9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AActF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAoC9D"}
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { dirname, join } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
- import { ensureLarkCli, getLarkCliSkillsDir, initLarkCli, isLarkCliInstalled } from './cli.js';
4
+ import { ensureLarkCli, getLarkCliSkillsDir, initLarkCli } from './cli.js';
5
5
  import { loadLarkConfig } from './config.js';
6
6
  const __dirname = dirname(fileURLToPath(import.meta.url));
7
7
  const BUNDLED_SKILLS_DIR = join(__dirname, '..', 'skills');
8
- function resolveSkillsDir() {
9
- const cliSkills = getLarkCliSkillsDir();
8
+ async function resolveSkillsDir() {
9
+ const cliSkills = await getLarkCliSkillsDir();
10
10
  if (cliSkills)
11
11
  return cliSkills;
12
12
  if (existsSync(BUNDLED_SKILLS_DIR))
@@ -19,33 +19,19 @@ export default function piLarkExtension(pi) {
19
19
  const config = loadLarkConfig(ctx.cwd);
20
20
  if (!config?.appId || !config?.appSecret)
21
21
  return;
22
- // Use bundled skills immediately so they're available while CLI installs
23
22
  if (existsSync(BUNDLED_SKILLS_DIR)) {
24
23
  skillsDir = BUNDLED_SKILLS_DIR;
25
24
  }
26
- if (isLarkCliInstalled()) {
27
- try {
25
+ try {
26
+ const installed = await ensureLarkCli();
27
+ if (installed) {
28
28
  await initLarkCli(config);
29
- skillsDir = resolveSkillsDir();
29
+ skillsDir = await resolveSkillsDir();
30
30
  ctx.ui.setStatus?.('pi-lark', 'lark-cli: ready');
31
31
  }
32
- catch (err) {
33
- ctx.ui.notify(`pi-lark: 初始化失败 — ${err instanceof Error ? err.message : String(err)}`, 'warning');
34
- }
35
32
  }
36
- else {
37
- ctx.ui.setStatus?.('pi-lark', 'installing lark-cli...');
38
- ensureLarkCli()
39
- .then(async (installed) => {
40
- if (installed) {
41
- await initLarkCli(config);
42
- skillsDir = resolveSkillsDir();
43
- ctx.ui.setStatus?.('pi-lark', 'lark-cli: ready');
44
- }
45
- })
46
- .catch((err) => {
47
- ctx.ui.notify(`pi-lark: 安装失败 — ${err instanceof Error ? err.message : String(err)}`, 'warning');
48
- });
33
+ catch (err) {
34
+ ctx.ui.notify(`pi-lark: 初始化失败 — ${err instanceof Error ? err.message : String(err)}`, 'warning');
49
35
  }
50
36
  });
51
37
  pi.on('resources_discover', () => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE3D,KAAK,UAAU,gBAAgB;IAC7B,MAAM,SAAS,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC9C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC9D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAgB;IACtD,IAAI,SAA6B,CAAC;IAElC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAe,EAAE,GAAqB,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE,SAAS;YAAE,OAAO;QAEjD,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnC,SAAS,GAAG,kBAAkB,CAAC;QACjC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC1B,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACtE,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC/B,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACnC,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amaster.ai/pi-lark",
3
- "version": "0.1.2-beta.29",
3
+ "version": "0.1.2-beta.31",
4
4
  "description": "Pi extension for Lark/Feishu workspace — calendar, docs, drive, sheets, tasks, mail and more via lark-cli.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -58,7 +58,7 @@
58
58
  "vitest": "^4.0.0"
59
59
  },
60
60
  "dependencies": {
61
- "@amaster.ai/pi-shared": "0.1.2-beta.29"
61
+ "@amaster.ai/pi-shared": "0.1.2-beta.31"
62
62
  },
63
63
  "scripts": {
64
64
  "fetch-skills": "node scripts/fetch-skills.mjs",