wjx-cli 0.1.2 → 0.1.3

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.
@@ -2,6 +2,7 @@ import { listSurveys } from "wjx-api-sdk";
2
2
  import { getCredentials } from "../lib/auth.js";
3
3
  import { formatOutput } from "../lib/output.js";
4
4
  import { handleError } from "../lib/errors.js";
5
+ import { loadConfig, CONFIG_PATH } from "../lib/config.js";
5
6
  export function registerDiagnosticCommands(program) {
6
7
  // --- whoami ---
7
8
  program
@@ -34,6 +35,13 @@ export function registerDiagnosticCommands(program) {
34
35
  .action(async () => {
35
36
  try {
36
37
  const checks = [];
38
+ // 0. Config file
39
+ const config = loadConfig();
40
+ checks.push({
41
+ check: "配置文件",
42
+ status: config ? "ok" : "info",
43
+ detail: config ? CONFIG_PATH : `未找到 (运行 wjx init 创建)`,
44
+ });
37
45
  // 1. Node version
38
46
  const nodeVersion = process.version;
39
47
  const major = parseInt(nodeVersion.slice(1), 10);
@@ -43,21 +51,21 @@ export function registerDiagnosticCommands(program) {
43
51
  detail: `${nodeVersion}${major < 20 ? " (建议 >= 20)" : ""}`,
44
52
  });
45
53
  // 2. WJX_API_KEY set?
46
- const apiKey = program.opts().apiKey || process.env.WJX_API_KEY;
54
+ const apiKey = program.opts().apiKey || process.env.WJX_API_KEY || config?.apiKey;
47
55
  checks.push({
48
56
  check: "WJX_API_KEY",
49
57
  status: apiKey ? "ok" : "fail",
50
58
  detail: apiKey ? `已设置 (${apiKey.slice(0, 8)}...)` : "未设置",
51
59
  });
52
60
  // 3. WJX_CORP_ID
53
- const corpId = process.env.WJX_CORP_ID;
61
+ const corpId = process.env.WJX_CORP_ID || config?.corpId;
54
62
  checks.push({
55
63
  check: "WJX_CORP_ID",
56
64
  status: corpId ? "ok" : "info",
57
65
  detail: corpId ? `已设置 (${corpId})` : "未设置(通讯录功能需要)",
58
66
  });
59
67
  // 4. WJX_BASE_URL
60
- const baseUrl = process.env.WJX_BASE_URL || "https://www.wjx.cn";
68
+ const baseUrl = process.env.WJX_BASE_URL || config?.baseUrl || "https://www.wjx.cn";
61
69
  checks.push({
62
70
  check: "WJX_BASE_URL",
63
71
  status: "ok",
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/commands/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/commands/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare function registerInitCommands(program: Command): void;
@@ -0,0 +1,77 @@
1
+ import { createInterface } from "node:readline/promises";
2
+ import { stdin, stderr } from "node:process";
3
+ import { listSurveys } from "wjx-api-sdk";
4
+ import { loadConfig, saveConfig, CONFIG_PATH } from "../lib/config.js";
5
+ export function registerInitCommands(program) {
6
+ program
7
+ .command("init")
8
+ .description("初始化配置(交互式设置 API Key、Base URL、Corp ID)")
9
+ .action(async () => {
10
+ const rl = createInterface({ input: stdin, output: stderr });
11
+ try {
12
+ // Check existing config
13
+ const existing = loadConfig();
14
+ if (existing) {
15
+ const masked = existing.apiKey.length > 8
16
+ ? existing.apiKey.slice(0, 8) + "..."
17
+ : "***";
18
+ stderr.write(`已存在配置文件: ${CONFIG_PATH}\n`);
19
+ stderr.write(` apiKey: ${masked}\n`);
20
+ if (existing.baseUrl)
21
+ stderr.write(` baseUrl: ${existing.baseUrl}\n`);
22
+ if (existing.corpId)
23
+ stderr.write(` corpId: ${existing.corpId}\n`);
24
+ const overwrite = await rl.question("\n覆盖现有配置?(y/N) ");
25
+ if (overwrite.trim().toLowerCase() !== "y") {
26
+ stderr.write("已取消。\n");
27
+ return;
28
+ }
29
+ stderr.write("\n");
30
+ }
31
+ // Prompt API Key (required)
32
+ let apiKey = "";
33
+ while (!apiKey) {
34
+ const input = await rl.question("WJX_API_KEY (必填): ");
35
+ apiKey = input.trim();
36
+ if (!apiKey) {
37
+ stderr.write("API Key 不能为空。\n");
38
+ }
39
+ }
40
+ // Prompt Base URL (optional)
41
+ const baseUrlInput = await rl.question("WJX_BASE_URL (可选, 默认 https://www.wjx.cn): ");
42
+ const baseUrl = baseUrlInput.trim() || undefined;
43
+ // Prompt Corp ID (optional)
44
+ const corpIdInput = await rl.question("WJX_CORP_ID (可选, 通讯录功能需要): ");
45
+ const corpId = corpIdInput.trim() || undefined;
46
+ // Validate API Key
47
+ stderr.write("\n正在验证 API Key...\n");
48
+ try {
49
+ const result = await listSurveys({ page_index: 1, page_size: 1 }, { apiKey });
50
+ if (result.result === false) {
51
+ stderr.write(`! API Key 验证失败: ${result.errormsg}\n`);
52
+ stderr.write(" 配置仍将保存,请检查 Key 是否正确。\n");
53
+ }
54
+ else {
55
+ stderr.write("OK API Key 验证成功。\n");
56
+ }
57
+ }
58
+ catch (err) {
59
+ stderr.write(`! 无法连接 API: ${err instanceof Error ? err.message : String(err)}\n`);
60
+ stderr.write(" 配置仍将保存。\n");
61
+ }
62
+ // Save config
63
+ const config = { apiKey };
64
+ if (baseUrl)
65
+ config.baseUrl = baseUrl;
66
+ if (corpId)
67
+ config.corpId = corpId;
68
+ saveConfig(config);
69
+ stderr.write(`\nOK 配置已保存到 ${CONFIG_PATH}\n`);
70
+ stderr.write("提示: 你也可以直接编辑该文件来修改配置。\n");
71
+ }
72
+ finally {
73
+ rl.close();
74
+ }
75
+ });
76
+ }
77
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,8 +11,12 @@ import { registerUserSystemCommands } from "./commands/user-system.js";
11
11
  import { registerAccountCommands } from "./commands/account.js";
12
12
  import { registerSsoCommands } from "./commands/sso.js";
13
13
  import { registerAnalyticsCommands } from "./commands/analytics.js";
14
+ import { registerInitCommands } from "./commands/init.js";
14
15
  import { readStdin } from "./lib/stdin.js";
15
16
  import { handleError } from "./lib/errors.js";
17
+ import { applyConfigToEnv } from "./lib/config.js";
18
+ // Load ~/.wjxrc config into process.env (env vars take precedence)
19
+ applyConfigToEnv();
16
20
  const program = new Command();
17
21
  program
18
22
  .name("wjx")
@@ -47,6 +51,7 @@ registerUserSystemCommands(program);
47
51
  registerAccountCommands(program);
48
52
  registerSsoCommands(program);
49
53
  registerAnalyticsCommands(program);
54
+ registerInitCommands(program);
50
55
  (async () => {
51
56
  try {
52
57
  await program.parseAsync();
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":"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"}
package/dist/lib/auth.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { CliError } from "./errors.js";
2
+ import { loadConfig } from "./config.js";
2
3
  export function getCredentials(globalOpts) {
3
- const apiKey = globalOpts.apiKey || process.env.WJX_API_KEY;
4
+ const apiKey = globalOpts.apiKey || process.env.WJX_API_KEY || loadConfig()?.apiKey;
4
5
  if (!apiKey) {
5
- throw new CliError("AUTH_ERROR", "WJX_API_KEY 未设置。请通过 --api-key 参数或 WJX_API_KEY 环境变量提供。");
6
+ throw new CliError("AUTH_ERROR", "WJX_API_KEY 未设置。请通过 --api-key 参数、WJX_API_KEY 环境变量、或运行 wjx init 配置。");
6
7
  }
7
8
  return { apiKey };
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,UAA+B;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,QAAQ,CAChB,YAAY,EACZ,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,cAAc,CAAC,UAA+B;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,UAAU,EAAE,EAAE,MAAM,CAAC;IACpF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,QAAQ,CAChB,YAAY,EACZ,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export interface WjxConfig {
2
+ apiKey: string;
3
+ baseUrl?: string;
4
+ corpId?: string;
5
+ }
6
+ export declare const CONFIG_PATH: string;
7
+ export declare function loadConfig(): WjxConfig | null;
8
+ export declare function saveConfig(config: WjxConfig): void;
9
+ /**
10
+ * Apply config values to process.env where env vars are not already set.
11
+ * This makes SDK layer (which reads process.env) automatically use config values.
12
+ */
13
+ export declare function applyConfigToEnv(): void;
@@ -0,0 +1,42 @@
1
+ import { readFileSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { homedir } from "node:os";
4
+ export const CONFIG_PATH = process.env.WJX_CONFIG_PATH || join(homedir(), ".wjxrc");
5
+ export function loadConfig() {
6
+ try {
7
+ const raw = readFileSync(CONFIG_PATH, "utf8");
8
+ const parsed = JSON.parse(raw);
9
+ if (typeof parsed === "object" && parsed !== null && typeof parsed.apiKey === "string") {
10
+ return parsed;
11
+ }
12
+ return null;
13
+ }
14
+ catch {
15
+ return null;
16
+ }
17
+ }
18
+ export function saveConfig(config) {
19
+ writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2) + "\n", {
20
+ encoding: "utf8",
21
+ mode: 0o600,
22
+ });
23
+ }
24
+ /**
25
+ * Apply config values to process.env where env vars are not already set.
26
+ * This makes SDK layer (which reads process.env) automatically use config values.
27
+ */
28
+ export function applyConfigToEnv() {
29
+ const config = loadConfig();
30
+ if (!config)
31
+ return;
32
+ if (!process.env.WJX_API_KEY && config.apiKey) {
33
+ process.env.WJX_API_KEY = config.apiKey;
34
+ }
35
+ if (!process.env.WJX_BASE_URL && config.baseUrl) {
36
+ process.env.WJX_BASE_URL = config.baseUrl;
37
+ }
38
+ if (!process.env.WJX_CORP_ID && config.corpId) {
39
+ process.env.WJX_CORP_ID = config.corpId;
40
+ }
41
+ }
42
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQlC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAEpF,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvF,OAAO,MAAmB,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QACjE,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wjx-cli",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "问卷星 (Wenjuanxing) CLI — AI Agent 原生命令行工具",
5
5
  "main": "dist/index.js",
6
6
  "bin": {