larkcc 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feishu.js","sourceRoot":"","sources":["../src/feishu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,213 @@
1
+ #!/usr/bin/env node
2
+ import { program } from "commander";
3
+ import chalk from "chalk";
4
+ import fs from "fs";
5
+ import path from "path";
6
+ import os from "os";
7
+ import { loadConfig, globalConfigExists, GLOBAL_CONFIG_PATH, listProfiles } from "./config.js";
8
+ import { runSetup, runNewProfile } from "./setup.js";
9
+ import { startApp, listRunningProcesses } from "./app.js";
10
+ import { logger } from "./logger.js";
11
+ import { clearSession, initSession } from "./session.js";
12
+ function printBanner(version) {
13
+ console.log(chalk.cyan(`
14
+ ██╗ █████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗
15
+ ██║ ██╔══██╗██╔══██╗██║ ██╔╝██╔════╝██╔════╝
16
+ ██║ ███████║██████╔╝█████╔╝ ██║ ██║
17
+ ██║ ██╔══██║██╔══██╗██╔═██╗ ██║ ██║
18
+ ███████╗██║ ██║██║ ██║██║ ██╗╚██████╗╚██████╗
19
+ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝
20
+ `));
21
+ console.log(chalk.gray(` Claude Code in Feishu v${version}\n`));
22
+ }
23
+ program
24
+ .name("larkcc")
25
+ .description("Claude Code in Feishu — chat with Claude via Lark bot")
26
+ .version("0.1.0")
27
+ .option("-d, --daemon", "run as background process")
28
+ .option("-c, --continue", "resume last Claude session")
29
+ .option("-p, --profile <name>", "use a specific Feishu bot profile")
30
+ .option("--setup", "reconfigure current profile")
31
+ .option("--new-profile", "add a new Feishu bot profile")
32
+ .option("--list-profiles", "list all configured profiles")
33
+ .option("--reset-session", "clear saved Claude session")
34
+ .option("--ps", "list running larkcc processes")
35
+ .option("--cleanup-tmp-files", "clean up temporary files")
36
+ .option("--older-than <hours>", "only clean files older than N hours", "0")
37
+ .option("--all", "clean temp files for all profiles")
38
+ .parse(process.argv);
39
+ const opts = program.opts();
40
+ const cwd = process.cwd();
41
+ const profile = opts.profile;
42
+ // daemon 模式
43
+ if (opts.daemon) {
44
+ const { spawn } = await import("child_process");
45
+ const args = process.argv.slice(1).filter(a => !["-d", "--daemon"].includes(a));
46
+ const child = spawn(process.execPath, args, { detached: true, stdio: "ignore" });
47
+ child.unref();
48
+ logger.success(`larkcc started in background (pid: ${child.pid})`);
49
+ process.exit(0);
50
+ }
51
+ // list profiles
52
+ if (opts.listProfiles) {
53
+ const profiles = listProfiles();
54
+ if (profiles.length === 0) {
55
+ logger.warn("No profiles configured. Run: larkcc --setup");
56
+ }
57
+ else {
58
+ console.log("\nAvailable profiles:");
59
+ for (const p of profiles) {
60
+ const tag = p.name === "default" ? chalk.gray("(default)") : "";
61
+ console.log(` ${chalk.cyan(p.name.padEnd(16))} ${chalk.gray(p.app_id)} ${tag}`);
62
+ }
63
+ console.log();
64
+ }
65
+ process.exit(0);
66
+ }
67
+ // list running processes
68
+ if (opts.ps) {
69
+ const { processes, cleaned } = listRunningProcesses();
70
+ if (cleaned.length > 0) {
71
+ for (const profile of cleaned) {
72
+ console.log(chalk.yellow(`Cleaned stale lock: ${profile} (process already dead)`));
73
+ }
74
+ console.log();
75
+ }
76
+ if (processes.length === 0) {
77
+ console.log(chalk.gray("No running larkcc processes."));
78
+ }
79
+ else {
80
+ console.log("\nRunning larkcc processes:\n");
81
+ console.log(" Profile PID Directory Started Mode");
82
+ console.log(" " + "─".repeat(90));
83
+ for (const p of processes) {
84
+ const profile = p.profile.padEnd(16);
85
+ const pid = String(p.pid).padEnd(8);
86
+ const cwd = p.cwd.length > 32 ? "…" + p.cwd.slice(-31) : p.cwd.padEnd(32);
87
+ const started = new Date(p.startedAt).toLocaleString("zh-CN", {
88
+ month: "2-digit",
89
+ day: "2-digit",
90
+ hour: "2-digit",
91
+ minute: "2-digit",
92
+ }).replace(/\//g, "-").padEnd(12);
93
+ const mode = p.isContinue ? chalk.cyan("continue") : "new ";
94
+ console.log(` ${chalk.cyan(profile)} ${pid} ${chalk.gray(cwd)} ${started} ${mode}`);
95
+ }
96
+ console.log();
97
+ }
98
+ process.exit(0);
99
+ }
100
+ // cleanup temp files
101
+ if (opts.cleanupTmpFiles) {
102
+ const baseTempDir = path.join(os.homedir(), ".larkcc", "temp");
103
+ const olderThanHours = parseFloat(opts.olderThan) || 0;
104
+ const olderThanMs = olderThanHours * 60 * 60 * 1000;
105
+ const cutoffTime = Date.now() - olderThanMs;
106
+ let deletedCount = 0;
107
+ let deletedSize = 0;
108
+ let errorCount = 0;
109
+ const profilesToClean = [];
110
+ if (opts.all) {
111
+ // 清理所有 profile
112
+ if (fs.existsSync(baseTempDir)) {
113
+ const dirs = fs.readdirSync(baseTempDir, { withFileTypes: true });
114
+ for (const dir of dirs) {
115
+ if (dir.isDirectory()) {
116
+ profilesToClean.push(dir.name);
117
+ }
118
+ }
119
+ }
120
+ }
121
+ else {
122
+ // 只清理当前 profile
123
+ profilesToClean.push(profile ?? "default");
124
+ }
125
+ console.log(chalk.cyan(`\nCleaning temporary files...`));
126
+ if (olderThanHours > 0) {
127
+ console.log(chalk.gray(` Filter: older than ${olderThanHours} hours`));
128
+ }
129
+ console.log(chalk.gray(` Profiles: ${profilesToClean.join(", ")}\n`));
130
+ for (const profileName of profilesToClean) {
131
+ const tempDir = path.join(baseTempDir, profileName);
132
+ if (!fs.existsSync(tempDir)) {
133
+ console.log(chalk.gray(` ${profileName}: (no temp directory)`));
134
+ continue;
135
+ }
136
+ let profileDeleted = 0;
137
+ let profileSize = 0;
138
+ const files = fs.readdirSync(tempDir, { withFileTypes: true });
139
+ for (const file of files) {
140
+ if (!file.isFile())
141
+ continue;
142
+ const filePath = path.join(tempDir, file.name);
143
+ try {
144
+ const stat = fs.statSync(filePath);
145
+ if (olderThanMs > 0 && stat.mtimeMs > cutoffTime) {
146
+ continue; // 文件不够旧,跳过
147
+ }
148
+ const size = stat.size;
149
+ fs.unlinkSync(filePath);
150
+ profileDeleted++;
151
+ profileSize += size;
152
+ }
153
+ catch (e) {
154
+ errorCount++;
155
+ console.log(chalk.yellow(` Failed to delete: ${file.name}`));
156
+ }
157
+ }
158
+ deletedCount += profileDeleted;
159
+ deletedSize += profileSize;
160
+ const sizeKB = Math.round(profileSize / 1024);
161
+ console.log(` ${chalk.cyan(profileName)}: ${profileDeleted} files, ${sizeKB}KB`);
162
+ }
163
+ console.log();
164
+ const totalSizeMB = (deletedSize / 1024 / 1024).toFixed(2);
165
+ if (deletedCount > 0) {
166
+ console.log(chalk.green(`✅ Cleaned ${deletedCount} files (${totalSizeMB}MB)`));
167
+ }
168
+ else {
169
+ console.log(chalk.gray("No files to clean"));
170
+ }
171
+ if (errorCount > 0) {
172
+ console.log(chalk.yellow(`⚠️ ${errorCount} files failed to delete`));
173
+ }
174
+ console.log();
175
+ process.exit(0);
176
+ }
177
+ // new profile
178
+ if (opts.newProfile) {
179
+ await runNewProfile();
180
+ process.exit(0);
181
+ }
182
+ // reset session
183
+ if (opts.resetSession) {
184
+ initSession(profile);
185
+ clearSession();
186
+ logger.success(`Session cleared${profile ? ` for profile "${profile}"` : ""}`);
187
+ process.exit(0);
188
+ }
189
+ printBanner("0.1.0");
190
+ // setup
191
+ if (opts.setup) {
192
+ await runSetup(profile);
193
+ }
194
+ // 首次运行引导配置
195
+ let config;
196
+ if (!globalConfigExists()) {
197
+ logger.warn("No config found, running setup...\n");
198
+ await runSetup(undefined);
199
+ }
200
+ try {
201
+ config = loadConfig(cwd, profile);
202
+ }
203
+ catch (err) {
204
+ logger.error(String(err));
205
+ logger.info(`Edit your config: ${GLOBAL_CONFIG_PATH}`);
206
+ if (profile)
207
+ logger.info(`Or add this profile: larkcc --setup -p ${profile}`);
208
+ process.exit(1);
209
+ }
210
+ // 初始化 session(按 profile 隔离)
211
+ initSession(profile);
212
+ await startApp(cwd, config, profile, opts.continue ?? false);
213
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const logger: {
2
+ info: (msg: string) => void;
3
+ success: (msg: string) => void;
4
+ warn: (msg: string) => void;
5
+ error: (msg: string) => void;
6
+ tool: (name: string, detail: string) => void;
7
+ msg: (openId: string, text: string) => void;
8
+ reply: (openId: string) => void;
9
+ dim: (msg: string) => void;
10
+ };
package/dist/logger.js ADDED
@@ -0,0 +1,13 @@
1
+ import chalk from "chalk";
2
+ const ts = () => chalk.gray(new Date().toLocaleTimeString());
3
+ export const logger = {
4
+ info: (msg) => console.log(`${ts()} ${chalk.cyan("ℹ")} ${msg}`),
5
+ success: (msg) => console.log(`${ts()} ${chalk.green("✅")} ${msg}`),
6
+ warn: (msg) => console.log(`${ts()} ${chalk.yellow("⚠")} ${msg}`),
7
+ error: (msg) => console.log(`${ts()} ${chalk.red("❌")} ${msg}`),
8
+ tool: (name, detail) => console.log(`${ts()} ${chalk.magenta("🔧")} ${chalk.bold(name)} ${chalk.gray(detail)}`),
9
+ msg: (openId, text) => console.log(`${ts()} ${chalk.blue("💬")} ${chalk.gray(openId)} ${text.slice(0, 60)}${text.length > 60 ? "..." : ""}`),
10
+ reply: (openId) => console.log(`${ts()} ${chalk.green("↩")} replied to ${chalk.gray(openId)}`),
11
+ dim: (msg) => console.log(`${ts()} ${chalk.gray(msg)}`),
12
+ };
13
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACvE,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IAC3E,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACzE,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;IACvE,IAAI,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CACrC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACzF,GAAG,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE,CACpC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvH,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CACxB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7E,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;CAChE,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * 多文件模式状态管理
3
+ *
4
+ * 按 profile + chat_id 隔离多文件会话状态
5
+ */
6
+ import { DownloadedFile } from "./feishu.js";
7
+ export interface MultiFileItem {
8
+ type: "file" | "text";
9
+ content: DownloadedFile | string;
10
+ timestamp: number;
11
+ }
12
+ /**
13
+ * 开始多文件模式
14
+ */
15
+ export declare function startMode(profile: string, chatId: string): void;
16
+ /**
17
+ * 重置多文件模式(清空已缓存的内容,重新开始)
18
+ */
19
+ export declare function resetMode(profile: string, chatId: string): void;
20
+ /**
21
+ * 添加项目到多文件会话
22
+ */
23
+ export declare function addItem(profile: string, chatId: string, item: MultiFileItem): void;
24
+ /**
25
+ * 获取多文件会话中的所有项目
26
+ */
27
+ export declare function getItems(profile: string, chatId: string): MultiFileItem[];
28
+ /**
29
+ * 结束多文件模式并返回所有项目
30
+ */
31
+ export declare function endMode(profile: string, chatId: string): MultiFileItem[];
32
+ /**
33
+ * 检查是否在多文件模式中
34
+ */
35
+ export declare function isActive(profile: string, chatId: string): boolean;
36
+ /**
37
+ * 检查多文件模式是否超时
38
+ * @returns 如果超时,返回已缓存的项目;否则返回 null
39
+ */
40
+ export declare function checkTimeout(profile: string, chatId: string, timeoutSeconds: number): MultiFileItem[] | null;
41
+ /**
42
+ * 获取多文件模式的开始时间
43
+ */
44
+ export declare function getStartedAt(profile: string, chatId: string): number | null;
45
+ /**
46
+ * 获取已缓存的项目数量
47
+ */
48
+ export declare function getItemCount(profile: string, chatId: string): number;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * 多文件模式状态管理
3
+ *
4
+ * 按 profile + chat_id 隔离多文件会话状态
5
+ */
6
+ // 内存存储(按 profile:chat_id 作为 key)
7
+ const sessions = new Map();
8
+ /**
9
+ * 生成 session key
10
+ */
11
+ function getSessionKey(profile, chatId) {
12
+ return `${profile}:${chatId}`;
13
+ }
14
+ /**
15
+ * 开始多文件模式
16
+ */
17
+ export function startMode(profile, chatId) {
18
+ const key = getSessionKey(profile, chatId);
19
+ sessions.set(key, {
20
+ active: true,
21
+ items: [],
22
+ startedAt: Date.now(),
23
+ });
24
+ }
25
+ /**
26
+ * 重置多文件模式(清空已缓存的内容,重新开始)
27
+ */
28
+ export function resetMode(profile, chatId) {
29
+ const key = getSessionKey(profile, chatId);
30
+ sessions.set(key, {
31
+ active: true,
32
+ items: [],
33
+ startedAt: Date.now(),
34
+ });
35
+ }
36
+ /**
37
+ * 添加项目到多文件会话
38
+ */
39
+ export function addItem(profile, chatId, item) {
40
+ const key = getSessionKey(profile, chatId);
41
+ const session = sessions.get(key);
42
+ if (session && session.active) {
43
+ session.items.push(item);
44
+ }
45
+ }
46
+ /**
47
+ * 获取多文件会话中的所有项目
48
+ */
49
+ export function getItems(profile, chatId) {
50
+ const key = getSessionKey(profile, chatId);
51
+ const session = sessions.get(key);
52
+ return session?.items ?? [];
53
+ }
54
+ /**
55
+ * 结束多文件模式并返回所有项目
56
+ */
57
+ export function endMode(profile, chatId) {
58
+ const key = getSessionKey(profile, chatId);
59
+ const session = sessions.get(key);
60
+ const items = session?.items ?? [];
61
+ sessions.delete(key);
62
+ return items;
63
+ }
64
+ /**
65
+ * 检查是否在多文件模式中
66
+ */
67
+ export function isActive(profile, chatId) {
68
+ const key = getSessionKey(profile, chatId);
69
+ const session = sessions.get(key);
70
+ return session?.active ?? false;
71
+ }
72
+ /**
73
+ * 检查多文件模式是否超时
74
+ * @returns 如果超时,返回已缓存的项目;否则返回 null
75
+ */
76
+ export function checkTimeout(profile, chatId, timeoutSeconds) {
77
+ const key = getSessionKey(profile, chatId);
78
+ const session = sessions.get(key);
79
+ if (!session || !session.active) {
80
+ return null;
81
+ }
82
+ const elapsed = (Date.now() - session.startedAt) / 1000;
83
+ if (elapsed > timeoutSeconds) {
84
+ // 超时,返回项目并清除会话
85
+ const items = session.items;
86
+ sessions.delete(key);
87
+ return items;
88
+ }
89
+ return null;
90
+ }
91
+ /**
92
+ * 获取多文件模式的开始时间
93
+ */
94
+ export function getStartedAt(profile, chatId) {
95
+ const key = getSessionKey(profile, chatId);
96
+ const session = sessions.get(key);
97
+ return session?.startedAt ?? null;
98
+ }
99
+ /**
100
+ * 获取已缓存的项目数量
101
+ */
102
+ export function getItemCount(profile, chatId) {
103
+ const key = getSessionKey(profile, chatId);
104
+ const session = sessions.get(key);
105
+ return session?.items.length ?? 0;
106
+ }
107
+ //# sourceMappingURL=multifile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multifile.js","sourceRoot":"","sources":["../src/multifile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 飞书 OAuth 授权模块
3
+ * 用于获取 user_access_token 以访问用户的个人云空间
4
+ */
5
+ /**
6
+ * 生成授权链接(使用 OOB 方式,无需配置回调地址)
7
+ */
8
+ export declare function generateAuthUrl(appId: string): string;
9
+ /**
10
+ * 获取有效的 user_access_token
11
+ * - 如果 token 有效,直接返回
12
+ * - 如果 token 过期但 refresh_token 有效,刷新后返回
13
+ * - 如果都过期,返回 null 需要重新授权
14
+ */
15
+ export declare function getValidUserToken(appId: string, appSecret: string, profile?: string): Promise<string | null>;
16
+ /**
17
+ * 执行 OAuth 授权流程
18
+ */
19
+ export declare function doOAuthFlow(appId: string, appSecret: string, profile?: string): Promise<string>;
package/dist/oauth.js ADDED
@@ -0,0 +1,142 @@
1
+ /**
2
+ * 飞书 OAuth 授权模块
3
+ * 用于获取 user_access_token 以访问用户的个人云空间
4
+ */
5
+ import * as readline from "readline";
6
+ import { loadAuthToken, saveAuthToken } from "./config.js";
7
+ // 飞书 OAuth 配置
8
+ const AUTH_URL = "https://open.feishu.cn/open-apis/authen/v1/authorize";
9
+ const TOKEN_URL = "https://open.feishu.cn/open-apis/authen/v2/oauth/token";
10
+ // 所需权限:云文档读写
11
+ const REQUIRED_SCOPES = ["drive:file", "drive:file:upload", "docs:doc", "offline_access"];
12
+ /**
13
+ * 生成授权链接(使用 OOB 方式,无需配置回调地址)
14
+ */
15
+ export function generateAuthUrl(appId) {
16
+ const params = new URLSearchParams({
17
+ app_id: appId,
18
+ redirect_uri: "urn:ietf:wg:oauth:2.0:oob",
19
+ scope: REQUIRED_SCOPES.join(" "),
20
+ });
21
+ return `${AUTH_URL}?${params.toString()}`;
22
+ }
23
+ /**
24
+ * 等待用户输入授权码
25
+ */
26
+ function waitForCodeInput() {
27
+ const rl = readline.createInterface({
28
+ input: process.stdin,
29
+ output: process.stdout,
30
+ });
31
+ return new Promise((resolve, reject) => {
32
+ // 5 分钟超时
33
+ const timeout = setTimeout(() => {
34
+ rl.close();
35
+ reject(new Error("授权超时,请重试"));
36
+ }, 5 * 60 * 1000);
37
+ rl.question("\n请输入浏览器中显示的授权码: ", (code) => {
38
+ clearTimeout(timeout);
39
+ rl.close();
40
+ resolve(code.trim());
41
+ });
42
+ });
43
+ }
44
+ /**
45
+ * 用授权码换取 access_token
46
+ */
47
+ async function exchangeCodeForToken(appId, appSecret, code) {
48
+ const res = await fetch(TOKEN_URL, {
49
+ method: "POST",
50
+ headers: { "Content-Type": "application/json" },
51
+ body: JSON.stringify({
52
+ grant_type: "authorization_code",
53
+ client_id: appId,
54
+ client_secret: appSecret,
55
+ code,
56
+ }),
57
+ });
58
+ const data = await res.json();
59
+ if (data.code !== 0) {
60
+ throw new Error(`获取 token 失败: ${data.msg || JSON.stringify(data)}`);
61
+ }
62
+ const now = Date.now();
63
+ return {
64
+ access_token: data.access_token,
65
+ refresh_token: data.refresh_token,
66
+ expires_at: now + (data.expires_in * 1000),
67
+ refresh_expires_at: now + (data.refresh_token_expires_in * 1000),
68
+ };
69
+ }
70
+ /**
71
+ * 刷新 access_token
72
+ */
73
+ async function refreshAccessToken(appId, appSecret, refreshToken) {
74
+ const res = await fetch(TOKEN_URL, {
75
+ method: "POST",
76
+ headers: { "Content-Type": "application/json" },
77
+ body: JSON.stringify({
78
+ grant_type: "refresh_token",
79
+ client_id: appId,
80
+ client_secret: appSecret,
81
+ refresh_token: refreshToken,
82
+ }),
83
+ });
84
+ const data = await res.json();
85
+ if (data.code !== 0) {
86
+ throw new Error(`刷新 token 失败: ${data.msg || JSON.stringify(data)}`);
87
+ }
88
+ const now = Date.now();
89
+ return {
90
+ access_token: data.access_token,
91
+ refresh_token: data.refresh_token,
92
+ expires_at: now + (data.expires_in * 1000),
93
+ refresh_expires_at: now + (data.refresh_token_expires_in * 1000),
94
+ };
95
+ }
96
+ /**
97
+ * 获取有效的 user_access_token
98
+ * - 如果 token 有效,直接返回
99
+ * - 如果 token 过期但 refresh_token 有效,刷新后返回
100
+ * - 如果都过期,返回 null 需要重新授权
101
+ */
102
+ export async function getValidUserToken(appId, appSecret, profile) {
103
+ const token = loadAuthToken(profile);
104
+ if (!token)
105
+ return null;
106
+ const now = Date.now();
107
+ // access_token 还有效(提前 5 分钟刷新)
108
+ if (token.expires_at > now + 5 * 60 * 1000) {
109
+ return token.access_token;
110
+ }
111
+ // refresh_token 还有效,尝试刷新
112
+ if (token.refresh_expires_at > now) {
113
+ try {
114
+ const newToken = await refreshAccessToken(appId, appSecret, token.refresh_token);
115
+ saveAuthToken(newToken, profile);
116
+ return newToken.access_token;
117
+ }
118
+ catch {
119
+ return null;
120
+ }
121
+ }
122
+ // 都过期了
123
+ return null;
124
+ }
125
+ /**
126
+ * 执行 OAuth 授权流程
127
+ */
128
+ export async function doOAuthFlow(appId, appSecret, profile) {
129
+ console.log("\n🔐 需要授权访问您的云文档");
130
+ console.log("请在浏览器中打开以下链接进行授权:\n");
131
+ console.log(generateAuthUrl(appId));
132
+ console.log("\n授权后,请将浏览器中显示的授权码粘贴到此处。");
133
+ // 等待用户输入授权码
134
+ const code = await waitForCodeInput();
135
+ console.log("✅ 已获取授权码,正在换取 token...");
136
+ // 换取 token
137
+ const token = await exchangeCodeForToken(appId, appSecret, code);
138
+ saveAuthToken(token, profile);
139
+ console.log("✅ 授权成功!\n");
140
+ return token.access_token;
141
+ }
142
+ //# sourceMappingURL=oauth.js.map