@seandong/seno 0.1.7 → 0.2.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.
Files changed (84) hide show
  1. package/dist/agent/conversation.d.ts +19 -3
  2. package/dist/agent/conversation.js +40 -9
  3. package/dist/agent/conversation.js.map +1 -1
  4. package/dist/agent/loop.d.ts +3 -0
  5. package/dist/agent/loop.js +27 -15
  6. package/dist/agent/loop.js.map +1 -1
  7. package/dist/agent/session.js +1 -7
  8. package/dist/agent/session.js.map +1 -1
  9. package/dist/cli/commands.d.ts +2 -0
  10. package/dist/cli/commands.js +33 -353
  11. package/dist/cli/commands.js.map +1 -1
  12. package/dist/cli/logger.d.ts +55 -7
  13. package/dist/cli/logger.js +152 -16
  14. package/dist/cli/logger.js.map +1 -1
  15. package/dist/cli/output.d.ts +1 -5
  16. package/dist/cli/output.js +29 -59
  17. package/dist/cli/output.js.map +1 -1
  18. package/dist/cli/prompt.js +7 -5
  19. package/dist/cli/prompt.js.map +1 -1
  20. package/dist/cli/readline-wrapper.d.ts +44 -0
  21. package/dist/cli/readline-wrapper.js +80 -0
  22. package/dist/cli/readline-wrapper.js.map +1 -0
  23. package/dist/cli/repl.js +23 -47
  24. package/dist/cli/repl.js.map +1 -1
  25. package/dist/commands/init.js +8 -2
  26. package/dist/commands/init.js.map +1 -1
  27. package/dist/commands/model.js +8 -2
  28. package/dist/commands/model.js.map +1 -1
  29. package/dist/commands/plugin-init.d.ts +24 -0
  30. package/dist/commands/plugin-init.js +313 -0
  31. package/dist/commands/plugin-init.js.map +1 -0
  32. package/dist/commands/server.d.ts +39 -0
  33. package/dist/commands/server.js +102 -0
  34. package/dist/commands/server.js.map +1 -0
  35. package/dist/config/manager.d.ts +14 -0
  36. package/dist/config/manager.js +151 -13
  37. package/dist/config/manager.js.map +1 -1
  38. package/dist/config/types.d.ts +15 -0
  39. package/dist/errors.d.ts +20 -3
  40. package/dist/errors.js +20 -5
  41. package/dist/errors.js.map +1 -1
  42. package/dist/i18n/strings.d.ts +44 -0
  43. package/dist/i18n/strings.js +46 -0
  44. package/dist/i18n/strings.js.map +1 -0
  45. package/dist/index.js +52 -18
  46. package/dist/index.js.map +1 -1
  47. package/dist/llm/anthropic.d.ts +0 -9
  48. package/dist/llm/anthropic.js +9 -62
  49. package/dist/llm/anthropic.js.map +1 -1
  50. package/dist/llm/error-handler.d.ts +28 -0
  51. package/dist/llm/error-handler.js +93 -0
  52. package/dist/llm/error-handler.js.map +1 -0
  53. package/dist/llm/openai-codex.js +15 -61
  54. package/dist/llm/openai-codex.js.map +1 -1
  55. package/dist/llm/openai.js +10 -57
  56. package/dist/llm/openai.js.map +1 -1
  57. package/dist/mcp/bridge.js.map +1 -1
  58. package/dist/mcp/manager.d.ts +4 -2
  59. package/dist/mcp/manager.js +36 -12
  60. package/dist/mcp/manager.js.map +1 -1
  61. package/dist/prompts/system.js +2 -1
  62. package/dist/prompts/system.js.map +1 -1
  63. package/dist/skills/registry.js.map +1 -1
  64. package/dist/skills/sync.js +3 -1
  65. package/dist/skills/sync.js.map +1 -1
  66. package/dist/tools/plugin-init.d.ts +6 -0
  67. package/dist/tools/plugin-init.js +46 -0
  68. package/dist/tools/plugin-init.js.map +1 -0
  69. package/dist/tools/registry.js +11 -2
  70. package/dist/tools/registry.js.map +1 -1
  71. package/dist/tools/server.d.ts +13 -0
  72. package/dist/tools/server.js +151 -0
  73. package/dist/tools/server.js.map +1 -0
  74. package/dist/tools/shell.js +1 -3
  75. package/dist/tools/shell.js.map +1 -1
  76. package/dist/tools/skills-sync.d.ts +6 -0
  77. package/dist/tools/skills-sync.js +39 -0
  78. package/dist/tools/skills-sync.js.map +1 -0
  79. package/dist/tools/ssh.js.map +1 -1
  80. package/dist/utils/retry.js.map +1 -1
  81. package/dist/utils/text.d.ts +45 -0
  82. package/dist/utils/text.js +95 -0
  83. package/dist/utils/text.js.map +1 -0
  84. package/package.json +23 -5
@@ -1,13 +1,11 @@
1
- import * as crypto from 'crypto';
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
- import { execSync } from 'child_process';
5
1
  import chalk from 'chalk';
6
2
  import ora from 'ora';
7
3
  import { loadServers, saveServers } from '../config/manager.js';
8
4
  import { syncSkills } from '../skills/sync.js';
9
- import { CancelError, promptQuestion, promptChoice } from './prompt.js';
5
+ import { CancelError, promptQuestion } from './prompt.js';
10
6
  import { modelInfo, modelSet, modelAuth } from '../commands/model.js';
7
+ import { pluginInitCore } from '../commands/plugin-init.js';
8
+ import { serverAdd } from '../commands/server.js';
11
9
  export const COMMAND_TREE = [
12
10
  {
13
11
  name: 'skills',
@@ -29,9 +27,7 @@ export const COMMAND_TREE = [
29
27
  {
30
28
  name: 'plugin',
31
29
  description: 'ONES 插件开发助手',
32
- subCommands: [
33
- { name: 'init', description: '初始化新插件项目' },
34
- ],
30
+ subCommands: [{ name: 'init', description: '初始化新插件项目' }],
35
31
  },
36
32
  {
37
33
  name: 'model',
@@ -65,7 +61,10 @@ export function getCommandCandidates(input) {
65
61
  // 子命令阶段:"/server ", "/server li" 等(含空格)
66
62
  const spaceIndex = body.indexOf(' ');
67
63
  const mainName = body.slice(0, spaceIndex).toLowerCase();
68
- const subInput = body.slice(spaceIndex + 1).trimStart().toLowerCase();
64
+ const subInput = body
65
+ .slice(spaceIndex + 1)
66
+ .trimStart()
67
+ .toLowerCase();
69
68
  const mainCmd = COMMAND_TREE.find((c) => c.name === mainName);
70
69
  if (!mainCmd?.subCommands)
71
70
  return [];
@@ -79,9 +78,18 @@ export function getCommandCandidates(input) {
79
78
  // ─── Command Execution ───────────────────────────────────────
80
79
  /**
81
80
  * 判断输入是否为斜杠命令
81
+ * 仅当 "/" 后的第一个词匹配已知命令名时才返回 true,
82
+ * 避免将文件路径(如 /tmp/...)误判为斜杠命令。
82
83
  */
83
84
  export function isSlashCommand(input) {
84
- return input.startsWith('/');
85
+ if (!input.startsWith('/'))
86
+ return false;
87
+ const rest = input.slice(1).trim();
88
+ // 单独输入 "/" 视为斜杠命令(显示帮助提示)
89
+ if (!rest)
90
+ return true;
91
+ const mainCmd = rest.split(/[\s/]/)[0]?.toLowerCase();
92
+ return COMMAND_TREE.some((cmd) => cmd.name === mainCmd);
85
93
  }
86
94
  /**
87
95
  * 处理斜杠命令
@@ -110,8 +118,7 @@ export async function handleSlashCommand(input, context) {
110
118
  console.log(chalk.gray(' 再见 👋'));
111
119
  return false;
112
120
  default:
113
- console.log(chalk.yellow(` 未知命令: ${command}`) +
114
- chalk.gray(',输入 /help 查看可用命令'));
121
+ console.log(chalk.yellow(` 未知命令: ${command}`) + chalk.gray(',输入 /help 查看可用命令'));
115
122
  return true;
116
123
  }
117
124
  }
@@ -156,9 +163,7 @@ function printSkills(skills) {
156
163
  console.log(chalk.gray(` ${'─'.repeat(nameWidth + versionWidth + domainWidth + 46)}`));
157
164
  // 行
158
165
  for (const skill of skills) {
159
- const desc = skill.description.length > 40
160
- ? skill.description.slice(0, 40) + '...'
161
- : skill.description;
166
+ const desc = skill.description.length > 40 ? skill.description.slice(0, 40) + '...' : skill.description;
162
167
  const ver = skill.version || '-';
163
168
  console.log(` ${skill.name.padEnd(nameWidth + 2)}` +
164
169
  `${chalk.green(ver.padEnd(versionWidth + 2))}` +
@@ -178,8 +183,7 @@ async function handleSkillsCommand(args, context) {
178
183
  printSkills(context.skills);
179
184
  return true;
180
185
  default:
181
- console.log(chalk.yellow(` 未知子命令: ${subCommand}`) +
182
- chalk.gray(',可用: list, sync'));
186
+ console.log(chalk.yellow(` 未知子命令: ${subCommand}`) + chalk.gray(',可用: list, sync'));
183
187
  return true;
184
188
  }
185
189
  }
@@ -217,8 +221,7 @@ async function handleModelCommand(args, context) {
217
221
  await modelInfo(context.config);
218
222
  return true;
219
223
  default:
220
- console.log(chalk.yellow(` 未知子命令: ${subCommand}`) +
221
- chalk.gray(',可用: set, auth'));
224
+ console.log(chalk.yellow(` 未知子命令: ${subCommand}`) + chalk.gray(',可用: set, auth'));
222
225
  return true;
223
226
  }
224
227
  }
@@ -250,8 +253,7 @@ async function handleServerCommand(args, context) {
250
253
  return true;
251
254
  }
252
255
  default:
253
- console.log(chalk.yellow(` 未知子命令: ${subCommand}`) +
254
- chalk.gray(',可用: list, add, remove'));
256
+ console.log(chalk.yellow(` 未知子命令: ${subCommand}`) + chalk.gray(',可用: list, add, remove'));
255
257
  return true;
256
258
  }
257
259
  }
@@ -286,81 +288,7 @@ async function serverList() {
286
288
  }
287
289
  console.log();
288
290
  }
289
- async function serverAdd(rl) {
290
- try {
291
- console.log();
292
- console.log(chalk.gray(' 添加服务器 [按 ESC 键取消]'));
293
- console.log();
294
- const name = await promptQuestion(rl, chalk.cyan(' Server name: '));
295
- if (!name) {
296
- console.log(chalk.yellow(' 服务器名称不能为空'));
297
- return true;
298
- }
299
- const host = await promptQuestion(rl, chalk.cyan(' Host: '));
300
- if (!host) {
301
- console.log(chalk.yellow(' 主机地址不能为空'));
302
- return true;
303
- }
304
- const userInput = await promptQuestion(rl, chalk.cyan(' User [root]: '));
305
- const user = userInput || 'root';
306
- const portInput = await promptQuestion(rl, chalk.cyan(' Port [22]: '));
307
- const port = portInput ? parseInt(portInput, 10) : 22;
308
- if (isNaN(port)) {
309
- console.log(chalk.yellow(' 端口号无效'));
310
- return true;
311
- }
312
- // 认证方式选择
313
- console.log();
314
- console.log(chalk.cyan(' Auth method:'));
315
- const authIdx = await promptChoice(rl, '', [
316
- 'SSH Key',
317
- 'Password',
318
- ], 0);
319
- const authType = authIdx === 1 ? 'password' : 'ssh-key';
320
- let identity_file;
321
- let password;
322
- if (authType === 'ssh-key') {
323
- const identityInput = await promptQuestion(rl, chalk.cyan(' Identity file [~/.ssh/id_rsa]: '));
324
- identity_file = identityInput || '~/.ssh/id_rsa';
325
- }
326
- else {
327
- password = await promptQuestion(rl, chalk.cyan(' Password: '));
328
- if (!password) {
329
- console.log(chalk.yellow(' 密码不能为空'));
330
- return true;
331
- }
332
- }
333
- const description = await promptQuestion(rl, chalk.cyan(' Description: '));
334
- // 保存
335
- const config = await loadServers();
336
- // 检查重名
337
- if (config.servers.some((s) => s.name === name)) {
338
- console.log(chalk.yellow(`\n 服务器 "${name}" 已存在,请使用其他名称\n`));
339
- return true;
340
- }
341
- config.servers.push({
342
- name,
343
- host,
344
- user,
345
- port,
346
- auth_type: authType,
347
- identity_file,
348
- password,
349
- description,
350
- });
351
- await saveServers(config);
352
- console.log(chalk.green(`\n ✓ Server "${name}" added successfully\n`));
353
- return true;
354
- }
355
- catch (error) {
356
- if (error instanceof CancelError) {
357
- // ESC 取消,静默返回
358
- console.log();
359
- return true;
360
- }
361
- throw error;
362
- }
363
- }
291
+ // serverAdd 已迁移至 src/commands/server.ts
364
292
  async function serverRemove(name) {
365
293
  const config = await loadServers();
366
294
  const index = config.servers.findIndex((s) => s.name === name);
@@ -373,287 +301,39 @@ async function serverRemove(name) {
373
301
  console.log(chalk.green(`\n ✓ Server "${name}" removed\n`));
374
302
  }
375
303
  // ─── /plugin ─────────────────────────────────────────────────
376
- /**
377
- * 安全执行 shell 命令,返回 stdout 或 null(失败时)
378
- */
379
- function runCommand(cmd, timeout = 15000) {
380
- try {
381
- return execSync(cmd, {
382
- encoding: 'utf-8',
383
- timeout,
384
- stdio: ['pipe', 'pipe', 'pipe'],
385
- }).trim();
386
- }
387
- catch {
388
- return null;
389
- }
390
- }
391
- /** 获取 nvm 目录路径 */
392
- function getNvmDir() {
393
- return process.env.NVM_DIR || path.join(process.env.HOME || '~', '.nvm');
394
- }
395
- /** 检查 nvm 是否已安装 */
396
- function isNvmInstalled() {
397
- const nvmScript = path.join(getNvmDir(), 'nvm.sh');
398
- try {
399
- fs.accessSync(nvmScript);
400
- return true;
401
- }
402
- catch {
403
- return false;
404
- }
405
- }
406
- /** 通过 nvm 执行命令(先 source nvm.sh),通过 stdin 传入脚本避免引号问题 */
407
- function runWithNvm(cmd) {
408
- const nvmDir = getNvmDir();
409
- const script = `source "${nvmDir}/nvm.sh"\n${cmd}`;
410
- try {
411
- return execSync('bash', {
412
- input: script,
413
- encoding: 'utf-8',
414
- timeout: 300000,
415
- stdio: ['pipe', 'pipe', 'pipe'],
416
- }).trim();
417
- }
418
- catch {
419
- return null;
420
- }
421
- }
422
- /** 检查 nvm 中是否已安装 Node.js 18,返回版本号或 null */
423
- function getNode18Version() {
424
- const result = runWithNvm('nvm ls 18');
425
- if (!result)
426
- return null;
427
- const match = result.match(/v(18\.\d+\.\d+)/);
428
- return match ? match[1] : null;
429
- }
430
- /** 确保 nvm 已安装,返回是否成功 */
431
- async function ensureNvm() {
432
- if (isNvmInstalled())
433
- return true;
434
- const spinner = ora({ text: '安装 nvm...', indent: 2, discardStdin: false });
435
- spinner.start();
436
- try {
437
- execSync('curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 120000 });
438
- if (!isNvmInstalled()) {
439
- spinner.fail('nvm 安装失败');
440
- return false;
441
- }
442
- spinner.succeed('nvm 安装成功');
443
- return true;
444
- }
445
- catch {
446
- spinner.fail('nvm 安装失败');
447
- return false;
448
- }
449
- }
450
- /** 确保 nvm 中存在 Node.js 18(仅安装,不切换当前版本) */
451
- async function ensureNode18() {
452
- // 1. 确保 nvm 已安装
453
- if (!(await ensureNvm()))
454
- return false;
455
- // 2. 检查 nvm 中是否已有 v18
456
- const existing = getNode18Version();
457
- if (existing) {
458
- console.log(chalk.green(' ✓ ') + `${'Node.js 18'.padEnd(12)}${chalk.gray(`v${existing}`)}`);
459
- return true;
460
- }
461
- // 3. nvm 中没有 v18,安装
462
- const spinner = ora({ text: '通过 nvm 安装 Node.js 18...', indent: 2, discardStdin: false });
463
- spinner.start();
464
- runWithNvm('nvm install 18');
465
- const installed = getNode18Version();
466
- if (installed) {
467
- spinner.succeed(`Node.js 18 安装成功 ${chalk.gray(`v${installed}`)}`);
468
- return true;
469
- }
470
- spinner.fail('Node.js 18 安装失败');
471
- return false;
472
- }
473
- /** 自动安装 ONES CLI */
474
- async function installOnesCli() {
475
- const spinner = ora({ text: '安装 ONES CLI...', indent: 2, discardStdin: false });
476
- spinner.start();
477
- try {
478
- execSync('npm install -g @ones/cli --registry=https://npm.partner.ones.cn/registry/', { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 120000 });
479
- const version = runCommand('ones --version');
480
- if (version) {
481
- spinner.succeed(`ONES CLI 安装成功 ${chalk.gray(version)}`);
482
- return true;
483
- }
484
- }
485
- catch { /* fall through */ }
486
- spinner.fail('ONES CLI 安装失败');
487
- console.log(chalk.gray(' 手动安装: npm install -g @ones/cli --registry=https://npm.partner.ones.cn/registry/'));
488
- return false;
489
- }
490
- /** 自动安装 npx(通过 npm) */
491
- async function installNpx() {
492
- const spinner = ora({ text: '安装 npx...', indent: 2, discardStdin: false });
493
- spinner.start();
494
- try {
495
- execSync('npm install -g npx', {
496
- encoding: 'utf-8',
497
- stdio: ['pipe', 'pipe', 'pipe'],
498
- timeout: 120000,
499
- });
500
- const version = runCommand('npx --version');
501
- if (version) {
502
- spinner.succeed(`npx 安装成功 ${chalk.gray(version)}`);
503
- return true;
504
- }
505
- }
506
- catch { /* fall through */ }
507
- spinner.fail('npx 安装失败');
508
- console.log(chalk.gray(' 手动安装: npm install -g npx'));
509
- return false;
510
- }
511
304
  async function handlePluginCommand(args, context) {
512
305
  const subCommand = args[0]?.toLowerCase();
513
306
  switch (subCommand) {
514
307
  case 'init':
515
308
  return pluginInit(context.rl);
516
309
  case undefined:
517
- console.log(chalk.yellow(' 用法: /plugin init') +
518
- chalk.gray(' 初始化新插件项目'));
310
+ console.log(chalk.yellow(' 用法: /plugin init') + chalk.gray(' 初始化新插件项目'));
519
311
  return true;
520
312
  default:
521
- console.log(chalk.yellow(` 未知子命令: ${subCommand}`) +
522
- chalk.gray(',可用: init'));
313
+ console.log(chalk.yellow(` 未知子命令: ${subCommand}`) + chalk.gray(',可用: init'));
523
314
  return true;
524
315
  }
525
316
  }
526
317
  async function pluginInit(rl) {
527
318
  try {
528
319
  console.log();
529
- console.log(chalk.bold(' ONES 插件项目初始化'));
530
320
  console.log(chalk.gray(' [按 ESC 键取消]'));
531
321
  console.log();
532
- // ── 环境预检 ──────────────────────────────────────────
533
- console.log(chalk.bold(' 环境预检:'));
534
- console.log();
535
- // Node.js 18 通过 nvm 单独检查(不依赖当前激活版本)
536
- const node18Ok = await ensureNode18();
537
- const checks = [
538
- { label: 'npm', cmd: 'npm --version' },
539
- {
540
- label: 'ONES CLI',
541
- cmd: 'ones --version',
542
- autoFix: installOnesCli,
543
- },
544
- {
545
- label: 'npx',
546
- cmd: 'npx --version',
547
- autoFix: installNpx,
548
- },
549
- ];
550
- let allRequiredPassed = node18Ok;
551
- for (const check of checks) {
552
- let version = runCommand(check.cmd);
553
- if (version) {
554
- console.log(chalk.green(' ✓ ') +
555
- `${check.label.padEnd(12)}${chalk.gray(version)}`);
556
- continue;
557
- }
558
- // 未通过 - 尝试自动修复
559
- if (check.autoFix) {
560
- const fixed = await check.autoFix();
561
- if (fixed) {
562
- version = runCommand(check.cmd);
563
- if (version)
564
- continue;
565
- }
566
- }
567
- // 无法自动修复或修复失败
568
- allRequiredPassed = false;
569
- console.log(chalk.red(' ✗ ') + `${check.label} 未安装`);
570
- }
571
- console.log();
572
- if (!allRequiredPassed) {
573
- console.log(chalk.yellow(' 请先安装缺失的依赖,然后重新执行 /plugin init\n'));
574
- return true;
575
- }
576
- console.log(chalk.green(' 环境预检通过'));
577
- console.log();
578
322
  // ── 收集插件信息 ────────────────────────────────────────
579
323
  const pluginName = await promptQuestion(rl, chalk.cyan(' 插件名称: '));
580
324
  if (!pluginName) {
581
325
  console.log(chalk.yellow(' 插件名称不能为空'));
582
326
  return true;
583
327
  }
584
- // 校验名称格式(仅允许字母、数字、连字符、下划线)
585
- if (!/^[a-zA-Z0-9_-]+$/.test(pluginName)) {
586
- console.log(chalk.yellow(' 插件名称只能包含字母、数字、连字符(-)和下划线(_)'));
587
- return true;
588
- }
589
328
  const pluginDir = await promptQuestion(rl, chalk.cyan(' 项目目录: ') + chalk.gray('(留空为当前目录) '));
590
- // ── 创建项目 ──────────────────────────────────────────
591
- // ones create -d <name> → 在当前目录创建项目
592
- // ones create -d <name> -s <dir> → 在 <dir>/ 创建项目
593
- const projectPath = path.resolve(pluginDir || '.');
594
- // 确保 -s 目标目录存在(ones create 要求该路径已存在)
595
- if (pluginDir) {
596
- try {
597
- fs.mkdirSync(path.resolve(pluginDir), { recursive: true });
598
- }
599
- catch {
600
- console.log(chalk.red(`\n 目录创建失败: ${pluginDir}\n`));
601
- return true;
602
- }
603
- }
604
- console.log();
605
- console.log(chalk.gray(` 正在创建插件项目: ${pluginName}`) +
606
- (pluginDir ? chalk.gray(` → ${pluginDir}/`) : '') +
607
- chalk.gray(' ...'));
608
- console.log();
609
- let createCmd = `ones create -d ${pluginName}`;
610
- if (pluginDir) {
611
- createCmd += ` -s ${pluginDir}`;
612
- }
613
- const appId = crypto.randomBytes(4).toString('hex');
614
- try {
615
- execSync(createCmd, {
616
- input: appId + '\n',
617
- stdio: ['pipe', 'inherit', 'inherit'],
618
- timeout: 300000,
619
- });
620
- }
621
- catch (error) {
622
- const err = error;
623
- if (err.status) {
624
- console.log(chalk.red(`\n 创建失败 (exit code: ${err.status})\n`));
625
- }
626
- else {
627
- console.log(chalk.red(`\n 创建失败: ${err.message ?? error}\n`));
628
- }
629
- return true;
630
- }
631
- // ones create 可能 exit 0 但实际失败,检查项目目录是否存在
632
- if (!fs.existsSync(projectPath)) {
633
- console.log(chalk.red(`\n 创建失败: 项目目录不存在 ${projectPath}\n`));
634
- return true;
635
- }
636
- console.log(chalk.green(` ✓ 插件项目 "${pluginName}" 创建成功`));
637
- // ── 写入 .nvmrc ─────────────────────────────────────────
638
- try {
639
- fs.writeFileSync(path.join(projectPath, '.nvmrc'), '18\n', 'utf-8');
640
- console.log(chalk.green(' ✓ ') + '.nvmrc 已写入');
641
- }
642
- catch {
643
- console.log(chalk.yellow(' ⚠ .nvmrc 写入失败'));
329
+ // ── 调用核心逻辑 ────────────────────────────────────────
330
+ const result = await pluginInitCore({
331
+ pluginName,
332
+ pluginDir: pluginDir || undefined,
333
+ });
334
+ if (!result.success) {
335
+ console.log(chalk.yellow(`\n ${result.message}\n`));
644
336
  }
645
- console.log();
646
- // ── 后续指引 ──────────────────────────────────────────
647
- console.log(chalk.bold(' 本地调试步骤:'));
648
- console.log();
649
- console.log(chalk.cyan(' 1. ') + `cd ${projectPath}`);
650
- console.log(chalk.cyan(' 2. ') + 'npx op login');
651
- console.log(chalk.cyan(' 3. ') + 'npx op pickteam local');
652
- console.log(chalk.cyan(' 4. ') + 'npx op invoke run');
653
- console.log();
654
- console.log(chalk.bold(' 开发文档: ') +
655
- chalk.underline('https://developer.ones.cn/zh-CN/docs/guide/getting-started/development'));
656
- console.log();
657
337
  return true;
658
338
  }
659
339
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,32 @@
1
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
1
2
  /**
2
3
  * 全局日志管理器
3
4
  *
4
- * - debug 级别:仅 debugMode 时输出到 stderr,始终写入日志文件
5
- * - info/error 级别:始终写入日志文件,不输出到终端
6
- * - 日志文件:~/.seno/logs/YYYY-MM-DD.log(JSON lines 格式)
5
+ * - 异步写入 + 内存缓冲队列,不阻塞事件循环
6
+ * - 基于文件大小的自动轮转(默认 5MB,保留 3 份)
7
+ * - 可配置日志级别(debug / info / warn / error)
8
+ * - debug 级别:debugMode 时输出到 stderr,始终写入日志文件
9
+ * - info/warn/error 级别:仅写入日志文件
10
+ * - flush() 可在退出前手动调用
7
11
  */
8
12
  declare class Logger {
9
13
  private debugMode;
10
14
  private logDir;
15
+ private buffer;
16
+ private flushTimer;
17
+ private flushPromise;
18
+ private level;
19
+ private maxFileSize;
20
+ private maxFiles;
11
21
  constructor();
12
22
  /**
13
23
  * 设置 debug 模式(由 --debug flag 控制)
14
24
  */
15
25
  setDebugMode(enabled: boolean): void;
26
+ /**
27
+ * 设置日志级别
28
+ */
29
+ setLevel(level: LogLevel): void;
16
30
  /**
17
31
  * Debug 级别日志
18
32
  * debugMode 时输出到 stderr,始终写入文件
@@ -22,16 +36,50 @@ declare class Logger {
22
36
  * Info 级别日志(仅写入文件)
23
37
  */
24
38
  info(category: string, message: string, data?: Record<string, unknown>): void;
39
+ /**
40
+ * Warn 级别日志(仅写入文件)
41
+ */
42
+ warn(category: string, message: string, data?: Record<string, unknown>): void;
25
43
  /**
26
44
  * Error 级别日志(仅写入文件)
27
45
  */
28
46
  error(category: string, message: string, data?: Record<string, unknown>): void;
29
- private createEntry;
30
47
  /**
31
- * 写入日志文件(~/.seno/logs/YYYY-MM-DD.log)
32
- * 失败时静默忽略,不影响主流程
48
+ * 统一日志方法:级别过滤 + 缓冲写入
49
+ */
50
+ private log;
51
+ /**
52
+ * 调度异步 flush
53
+ * 首次写入时启动定时器,后续写入复用
54
+ */
55
+ private scheduleFlush;
56
+ /**
57
+ * 将缓冲区内容异步写入日志文件
58
+ * 可在退出前手动调用确保所有日志落盘
59
+ */
60
+ flush(): Promise<void>;
61
+ /**
62
+ * 同步 flush — 仅在进程退出时使用
63
+ * 使用 appendFileSync 确保数据落盘
64
+ */
65
+ flushSync(): void;
66
+ /**
67
+ * 停止自动 flush 定时器
68
+ */
69
+ destroy(): void;
70
+ /**
71
+ * 异步写入日志行到文件
72
+ * 写入前检查文件大小,超过阈值时执行轮转
73
+ */
74
+ private writeLines;
75
+ /**
76
+ * 基于文件大小的日志轮转
77
+ * 文件超过 maxFileSize 时:
78
+ * current.log → current.log.1
79
+ * current.log.1 → current.log.2
80
+ * current.log.{maxFiles} → 删除
33
81
  */
34
- private writeToFile;
82
+ private rotateIfNeeded;
35
83
  }
36
84
  /** 全局 Logger 单例 */
37
85
  export declare const logger: Logger;