feat: enhance AI commands and logging system

- Update @kevisual/query to 0.0.32 and @kevisual/router to 0.0.37
- Restructure AI command interface with run and deploy subcommands
- Add comprehensive logging throughout cmd-execution flow
- Improve sync module with better configuration handling
- Add clickable link functionality in logger
- Enhance error handling and debugging capabilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-10 17:45:09 +08:00
parent 5b83f7a6d1
commit 4aeb3637bf
13 changed files with 167 additions and 73 deletions

View File

@@ -7,6 +7,7 @@ import { fileIsExist } from '@/uitls/file.ts';
import { chalk } from '@/module/chalk.ts';
import * as backServices from '@/query/services/index.ts';
import inquirer from 'inquirer';
import { logger } from '@/module/logger.ts';
// 查找文件(忽略大小写)
async function findFileInsensitive(targetFile: string): Promise<string | null> {
const files = fs.readdirSync('.');
@@ -139,9 +140,9 @@ export const pack = async (opts: { packDist?: string, mergeDist?: boolean }) =>
const allFiles = (await Promise.all(filesToInclude.map((file) => collectFileInfo(file)))).flat();
// 输出文件详细信息
console.log('文件列表:');
logger.debug('文件列表:');
allFiles.forEach((file) => {
console.log(`${file.size}B ${file.path}`);
logger.debug(`${file.size}B ${file.path}`);
});
const totalSize = allFiles.reduce((sum, file) => sum + file.size, 0);
@@ -150,10 +151,10 @@ export const pack = async (opts: { packDist?: string, mergeDist?: boolean }) =>
collection.totalSize = totalSize;
collection.tags = packageJson.app?.tags || packageJson.keywords || [];
console.log('\n基本信息');
console.log(`name: ${packageJson.name}`);
console.log(`version: ${packageJson.version}`);
console.log(`total files: ${allFiles.length}`);
logger.debug('\n基本信息');
logger.debug(`name: ${packageJson.name}`);
logger.debug(`version: ${packageJson.version}`);
logger.debug(`total files: ${allFiles.length}`);
try {
copyFilesToPackDist(filesToInclude, cwd, opts.packDist, mergeDist);
} catch (error) {
@@ -222,7 +223,7 @@ const deployLoadFn = async (id: string, fileKey: string, force = true, install =
console.log('deploy-load success. current version:', res.data?.pkg?.version);
console.log('run: ', 'envision services -s', res.data?.showAppInfo?.key);
} else {
console.error('deploy-load failed', res.message);
console.error('deploy-load 失败', res.message);
}
return res;
};
@@ -303,7 +304,7 @@ const packCommand = new Command('pack')
if (yes) {
deployCommand.push('-y', 'yes');
}
console.log(chalk.blue('deploy doing: '), deployCommand.slice(2).join(' '), '\n');
logger.debug(chalk.blue('deploy doing: '), deployCommand.slice(2).join(' '), '\n');
// console.log('pack deploy services', chalk.blue('example: '), runDeployCommand);
program.parse(deployCommand);