@24klynx/cli 0.1.2 → 0.1.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.
- package/dist/config-Braj-aBw.mjs.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +19 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-Braj-aBw.mjs","names":[],"sources":["../src/commands/config.ts"],"sourcesContent":["/**\n * Config command — 统一配置文件管理与 Provider 工厂。\n *\n * 读取 ~/.lynx/config.json,提供类型安全的结构化配置。\n * 同时输出 resolveConfigEnv(env 注入)和 resolveProvider(按模型名自动选型)。\n */\n\nimport { readFileSync, writeFileSync, existsSync, renameSync, mkdirSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { resolvePaths } from \"@24klynx/core\";\nimport type { LlmProvider } from \"@24klynx/llm\";\nimport {
|
|
1
|
+
{"version":3,"file":"config-Braj-aBw.mjs","names":[],"sources":["../src/commands/config.ts"],"sourcesContent":["/**\n * Config command — 统一配置文件管理与 Provider 工厂。\n *\n * 读取 ~/.lynx/config.json,提供类型安全的结构化配置。\n * 同时输出 resolveConfigEnv(env 注入)和 resolveProvider(按模型名自动选型)。\n */\n\nimport { readFileSync, writeFileSync, existsSync, renameSync, mkdirSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { resolvePaths } from \"@24klynx/core\";\nimport type { LlmProvider } from \"@24klynx/llm\";\nimport {\n createDeepSeekProvider,\n createAnthropicProvider,\n createOpenAiProvider,\n} from \"@24klynx/llm\";\n\n// ── Types ────────────────────────────────────────────\n\n/** Lynx 完整配置结构。对应 ~/.lynx/config.json。 */\nexport interface LynxConfig {\n /** 模型标识符(如 deepseek-v4-pro、claude-sonnet-4-6)。 */\n model: string;\n /** UI 主题(dark / light)。 */\n theme: string;\n /** 环境变量注入 — key 不存在于 process.env 时自动设置。 */\n env: Record<string, string>;\n /** 权限白/黑名单。格式 \"ToolName(args)\"。 */\n permissions: {\n allow: string[];\n deny: string[];\n };\n}\n\nexport interface ConfigCommandOptions {\n show?: boolean;\n set?: string;\n value?: string;\n path?: boolean;\n}\n\n// ── Defaults ─────────────────────────────────────────\n\nconst DEFAULT_CONFIG: LynxConfig = {\n model: \"deepseek-v4-pro\",\n theme: \"dark\",\n env: {},\n permissions: { allow: [], deny: [] },\n};\n\n// ── Helpers ──────────────────────────────────────────\n\nfunction configPath(): string {\n const paths = resolvePaths();\n return paths.configFile;\n}\n\n// ── Public API ───────────────────────────────────────\n\n/**\n * 从磁盘加载配置,缺失字段填默认值。\n * 文件损坏时自动备份为 .bak 并返回默认配置。\n */\nexport function loadConfig(): LynxConfig {\n const path = configPath();\n if (!existsSync(path))\n return { ...DEFAULT_CONFIG, env: {}, permissions: { allow: [], deny: [] } };\n try {\n const raw = JSON.parse(readFileSync(path, \"utf-8\")) as Partial<LynxConfig>;\n return {\n model: raw.model ?? DEFAULT_CONFIG.model,\n theme: raw.theme ?? DEFAULT_CONFIG.theme,\n env: raw.env ?? {},\n permissions: {\n allow: raw.permissions?.allow ?? [],\n deny: raw.permissions?.deny ?? [],\n },\n };\n } catch {\n const backupPath = path + \".bak\";\n try {\n renameSync(path, backupPath);\n } catch {\n // 备份失败不阻塞\n }\n process.stderr.write(\n `[lynx] 警告:配置文件已损坏,已备份到 ${backupPath}。正在使用默认配置。\\n`,\n );\n return { ...DEFAULT_CONFIG, env: {}, permissions: { allow: [], deny: [] } };\n }\n}\n\n/**\n * 将 config.env 中的键注入 process.env(仅补未设的 key,不覆盖已有环境变量)。\n *\n * 优先级:已存在的 process.env > config.json env\n */\nexport function resolveConfigEnv(config: LynxConfig): void {\n for (const [key, value] of Object.entries(config.env)) {\n if (process.env[key] === undefined && value !== undefined && value !== \"\") {\n process.env[key] = value;\n }\n }\n}\n\n/**\n * 按模型名自动匹配 LLM Provider。\n *\n * 匹配规则:\n * - 含 `claude` → Anthropic(需 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY)\n * - 含 `gpt` 或 `o1`/`o3` → OpenAI(需 OPENAI_API_KEY)\n * - 其他 → DeepSeek(需 DEEPSEEK_API_KEY)\n *\n * 环境变量优先于 config.json env(resolveConfigEnv 已处理)。\n *\n * @throws 找不到对应 API key 时抛出中文错误。\n */\nexport function resolveProvider(config: LynxConfig): LlmProvider {\n const model = process.env.LYNX_MODEL ?? config.model ?? \"deepseek-v4-pro\";\n\n if (model.includes(\"claude\")) {\n const token = process.env.ANTHROPIC_AUTH_TOKEN ?? process.env.ANTHROPIC_API_KEY;\n if (!token) {\n throw new Error(\n \"未配置 Anthropic API 密钥。请在 config.json 的 env.ANTHROPIC_AUTH_TOKEN 中设置,\" +\n \"或设置环境变量 ANTHROPIC_API_KEY。\",\n );\n }\n return createAnthropicProvider({\n apiKey: token,\n baseUrl: process.env.ANTHROPIC_BASE_URL,\n });\n }\n\n if (model.includes(\"gpt\") || model.includes(\"o1\") || model.includes(\"o3\")) {\n const token = process.env.OPENAI_API_KEY;\n if (!token) {\n throw new Error(\n \"未配置 OpenAI API 密钥。请在 config.json 的 env.OPENAI_API_KEY 中设置,\" +\n \"或设置环境变量 OPENAI_API_KEY。\",\n );\n }\n return createOpenAiProvider({ apiKey: token });\n }\n\n // 默认:DeepSeek\n const token = process.env.DEEPSEEK_API_KEY;\n if (!token) {\n throw new Error(\n \"未配置 DeepSeek API 密钥。请在 config.json 的 env.DEEPSEEK_API_KEY 中设置,\" +\n \"或设置环境变量 DEEPSEEK_API_KEY。\",\n );\n }\n return createDeepSeekProvider({\n apiKey: token,\n baseUrl: process.env.DEEPSEEK_BASE_URL,\n });\n}\n\n/** 原子写入配置到磁盘(temp file + rename)。 */\nexport function saveConfig(config: LynxConfig): void {\n const path = configPath();\n const dir = dirname(path);\n if (!existsSync(dir)) mkdirSync(dir, { recursive: true });\n\n const tmpPath = path + \".tmp\";\n // 排序键以保证 diff 友好\n const ordered = {\n model: config.model,\n theme: config.theme,\n env: config.env,\n permissions: config.permissions,\n };\n writeFileSync(tmpPath, JSON.stringify(ordered, null, 2) + \"\\n\", \"utf-8\");\n renameSync(tmpPath, path);\n}\n\n// ── CLI handler ──────────────────────────────────────\n\n/** 处理 `lynx config` 命令。 */\nexport async function handleConfigCommand(opts: ConfigCommandOptions): Promise<void> {\n if (opts.path) {\n process.stdout.write(`${configPath()}\\n`);\n return;\n }\n\n if (opts.set) {\n const config = loadConfig();\n // 简单顶层 key 直写;嵌套 key 暂不支持\n const key = opts.set as keyof LynxConfig;\n if (key === \"model\" || key === \"theme\") {\n config[key] = opts.value ?? \"\";\n } else if (key === \"env\" || key === \"permissions\") {\n process.stderr.write(`[lynx] 警告:${opts.set} 是嵌套对象,请直接编辑 config.json。\\n`);\n return;\n }\n saveConfig(config);\n process.stdout.write(`${opts.set} = ${opts.value ?? \"\"}\\n`);\n return;\n }\n\n // Default: --show\n const config = loadConfig();\n const keys = Object.keys(config);\n if (keys.length === 0) {\n process.stdout.write(\"No configuration values set.\\n\");\n } else {\n for (const [key, val] of Object.entries(config)) {\n process.stdout.write(`${key} = ${JSON.stringify(val)}\\n`);\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/bootstrap.ts","../src/args.ts","../src/startup.ts","../src/catalog.ts","../src/debug.ts","../src/doctor/runner.ts","../src/crestodian/runner.ts","../src/commands/session.ts","../src/commands/config.ts","../src/entry.ts","../src/tui-launcher.ts","../src/process-lifecycle.ts","../src/terminal-mode.ts","../src/worker-pool.ts","../src/memory-monitor.ts","../src/update-check.ts","../src/commands/plugin.ts","../src/commands/git-commit.ts","../src/commands/git-review.ts","../src/commands/git-pr-comments.ts","../src/commands/git-issue.ts","../src/commands/git-autofix.ts","../src/commands/git-diff.ts","../src/commands/ant-trace.ts","../src/commands/debug-tool-call.ts","../src/commands/tasks.ts","../src/commands/heapdump.ts","../src/commands/perf-issue.ts","../src/commands/share.ts","../src/commands/export.ts","../src/commands/tag.ts","../src/commands/copy.ts"],"mappings":";;;;;;;;;;;;;UAqEiB,gBAAA;EAUZ;;;;;EAJH,iBAAA,CACE,QAAA,UACA,MAAA,+DACA,WAAA,WACC,OAAO;EAcF;;;;EATR,WAAA,CAAY,SAAA,UAAmB,QAAA;EAarB;AAAA;AAIZ;;EAZE,aAAA,CACE,OAAA,IACM,GAAA;IACA,SAAA;IACA,QAAA;IACA,WAAA;IACA,MAAA;EAAA;AAAA;AAAA,UAMO,UAAA;EACf,EAAA,EAAI,QAAA;EACJ,UAAA,EAAY,cAAA;EACZ,YAAA,EAAc,YAAA;EACd,cAAA;IACE,gBAAA,EAAkB,gBAAA;IAClB,MAAA,EAAQ,YAAA;IACR,KAAA,EAAO,YAAA;EAAA;EAET,UAAA,EAAY,UAAA;EACZ,MAAA,EAAQ,WAAA;EACR,QAAA,EAAU,WAAA;EAgBkB;EAd5B,WAAA,EAAa,WAAA;EAZT;EAcJ,gBAAA,EAAkB,gBAAA;EAbN;EAeZ,aAAA,EAAe,aAAA;EAdD;EAgBd,MAAA,EAAQ,eAAA;EAdN;EAgBF,UAAA,EAAY,UAAA;EAfV;EAiBF,gBAAA,EAAkB,gBAAA;EAhBhB;EAkBF,eAAA,EAAiB,eAAA;EAhBjB;EAkBA,aAAA,EAAe,aAAA;EAjBf;EAmBA,WAAA;EAlBA;EAoBA,KAAA;EAlBA;EAoBA,OAAA;AAAA;AAAA,UAGe,eAAA;EACf,OAAA;EACA,QAAA,EAAU,WAAA;EACV,KAAA;EApBQ;EAsBR,SAAA;EApBY;EAsBZ,SAAA;EApBkB;EAsBlB,UAAA,GAAa,eAAA;EApBI;EAsBjB,MAAA,GAAS,YAAA;AAAA;;;;;AAdF;AAGT;;iBA+HgB,SAAA,CAAU,MAAA,EAAQ,eAAA,GAAkB,UAAU;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/bootstrap.ts","../src/args.ts","../src/startup.ts","../src/catalog.ts","../src/debug.ts","../src/doctor/runner.ts","../src/crestodian/runner.ts","../src/commands/session.ts","../src/commands/config.ts","../src/entry.ts","../src/tui-launcher.ts","../src/process-lifecycle.ts","../src/terminal-mode.ts","../src/worker-pool.ts","../src/memory-monitor.ts","../src/update-check.ts","../src/commands/plugin.ts","../src/commands/git-commit.ts","../src/commands/git-review.ts","../src/commands/git-pr-comments.ts","../src/commands/git-issue.ts","../src/commands/git-autofix.ts","../src/commands/git-diff.ts","../src/commands/ant-trace.ts","../src/commands/debug-tool-call.ts","../src/commands/tasks.ts","../src/commands/heapdump.ts","../src/commands/perf-issue.ts","../src/commands/share.ts","../src/commands/export.ts","../src/commands/tag.ts","../src/commands/copy.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -38,10 +38,12 @@ var args_exports = /* @__PURE__ */ __exportAll({
|
|
|
38
38
|
createProgram: () => createProgram,
|
|
39
39
|
runCli: () => runCli
|
|
40
40
|
});
|
|
41
|
+
const pkgPath = join(dirname(fileURLToPath(import.meta.url)), "..", "package.json");
|
|
42
|
+
const version = JSON.parse(readFileSync(pkgPath, "utf-8")).version;
|
|
41
43
|
/** Create the full CLI program with all sub‑commands registered. */
|
|
42
44
|
function createProgram() {
|
|
43
45
|
const program = new Command();
|
|
44
|
-
program.name("lynx").description("AI CLI — 多渠道 Agent 网关").version(
|
|
46
|
+
program.name("lynx").description("AI CLI — 多渠道 Agent 网关").version(version);
|
|
45
47
|
program.command("doctor").description("运行系统健康检查").action(async () => {
|
|
46
48
|
const { runDoctor } = await Promise.resolve().then(() => runner_exports$1);
|
|
47
49
|
await runDoctor();
|