@birdmichael/ccsync 1.0.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.
- package/README.md +241 -0
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +5 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +5 -0
- package/dist/commands/config.d.ts +18 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +111 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/dashboard.d.ts +9 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +51 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/hello/index.d.ts +13 -0
- package/dist/commands/hello/index.d.ts.map +1 -0
- package/dist/commands/hello/index.js +20 -0
- package/dist/commands/hello/index.js.map +1 -0
- package/dist/commands/hello/world.d.ts +9 -0
- package/dist/commands/hello/world.d.ts.map +1 -0
- package/dist/commands/hello/world.js +15 -0
- package/dist/commands/hello/world.js.map +1 -0
- package/dist/commands/logs.d.ts +16 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +101 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/menu.d.ts +13 -0
- package/dist/commands/menu.d.ts.map +1 -0
- package/dist/commands/menu.js +190 -0
- package/dist/commands/menu.js.map +1 -0
- package/dist/commands/setup.d.ts +7 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +270 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/start.d.ts +7 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +16 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +63 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +7 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +16 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/sync.d.ts +7 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +33 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/test.d.ts +8 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +27 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/toggle.d.ts +7 -0
- package/dist/commands/toggle.d.ts.map +1 -0
- package/dist/commands/toggle.js +22 -0
- package/dist/commands/toggle.js.map +1 -0
- package/dist/core/config-manager.d.ts +19 -0
- package/dist/core/config-manager.d.ts.map +1 -0
- package/dist/core/config-manager.js +174 -0
- package/dist/core/config-manager.js.map +1 -0
- package/dist/core/launch-agent.d.ts +12 -0
- package/dist/core/launch-agent.d.ts.map +1 -0
- package/dist/core/launch-agent.js +89 -0
- package/dist/core/launch-agent.js.map +1 -0
- package/dist/core/permission-manager.d.ts +18 -0
- package/dist/core/permission-manager.d.ts.map +1 -0
- package/dist/core/permission-manager.js +94 -0
- package/dist/core/permission-manager.js.map +1 -0
- package/dist/core/service-manager.d.ts +33 -0
- package/dist/core/service-manager.d.ts.map +1 -0
- package/dist/core/service-manager.js +108 -0
- package/dist/core/service-manager.js.map +1 -0
- package/dist/core/sync-service.d.ts +29 -0
- package/dist/core/sync-service.d.ts.map +1 -0
- package/dist/core/sync-service.js +180 -0
- package/dist/core/sync-service.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/syncers/base-syncer.d.ts +5 -0
- package/dist/syncers/base-syncer.d.ts.map +1 -0
- package/dist/syncers/base-syncer.js +3 -0
- package/dist/syncers/base-syncer.js.map +1 -0
- package/dist/syncers/mcp-syncer.d.ts +16 -0
- package/dist/syncers/mcp-syncer.d.ts.map +1 -0
- package/dist/syncers/mcp-syncer.js +116 -0
- package/dist/syncers/mcp-syncer.js.map +1 -0
- package/dist/syncers/skills-syncer.d.ts +13 -0
- package/dist/syncers/skills-syncer.d.ts.map +1 -0
- package/dist/syncers/skills-syncer.js +153 -0
- package/dist/syncers/skills-syncer.js.map +1 -0
- package/dist/types/config.d.ts +53 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +33 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/mcp.d.ts +20 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +3 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/types/sync.d.ts +44 -0
- package/dist/types/sync.d.ts.map +1 -0
- package/dist/types/sync.js +3 -0
- package/dist/types/sync.js.map +1 -0
- package/dist/types/ui.d.ts +263 -0
- package/dist/types/ui.d.ts.map +1 -0
- package/dist/types/ui.js +3 -0
- package/dist/types/ui.js.map +1 -0
- package/dist/ui/config/index.d.ts +12 -0
- package/dist/ui/config/index.d.ts.map +1 -0
- package/dist/ui/config/index.js +43 -0
- package/dist/ui/config/index.js.map +1 -0
- package/dist/ui/dashboard/index.d.ts +14 -0
- package/dist/ui/dashboard/index.d.ts.map +1 -0
- package/dist/ui/dashboard/index.js +90 -0
- package/dist/ui/dashboard/index.js.map +1 -0
- package/dist/ui/error/index.d.ts +13 -0
- package/dist/ui/error/index.d.ts.map +1 -0
- package/dist/ui/error/index.js +27 -0
- package/dist/ui/error/index.js.map +1 -0
- package/dist/ui/setup/index.d.ts +11 -0
- package/dist/ui/setup/index.d.ts.map +1 -0
- package/dist/ui/setup/index.js +18 -0
- package/dist/ui/setup/index.js.map +1 -0
- package/dist/utils/error-handler.d.ts +21 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +178 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/file-watcher.d.ts +17 -0
- package/dist/utils/file-watcher.d.ts.map +1 -0
- package/dist/utils/file-watcher.js +92 -0
- package/dist/utils/file-watcher.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +72 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/texts.d.ts +263 -0
- package/dist/utils/texts.d.ts.map +1 -0
- package/dist/utils/texts.js +270 -0
- package/dist/utils/texts.js.map +1 -0
- package/dist/utils/time-helper.d.ts +8 -0
- package/dist/utils/time-helper.d.ts.map +1 -0
- package/dist/utils/time-helper.js +67 -0
- package/dist/utils/time-helper.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import winston from 'winston';
|
|
4
|
+
import DailyRotateFile from 'winston-daily-rotate-file';
|
|
5
|
+
const LOG_DIR = path.join(process.env.HOME || '', '.local', 'share', 'ccsync', 'logs');
|
|
6
|
+
class Logger {
|
|
7
|
+
logger;
|
|
8
|
+
constructor(logLevel = 'info') {
|
|
9
|
+
// 确保日志目录存在
|
|
10
|
+
fs.ensureDirSync(LOG_DIR);
|
|
11
|
+
this.logger = winston.createLogger({
|
|
12
|
+
format: winston.format.combine(winston.format.timestamp({ format: 'HH:mm:ss' }), winston.format.printf(({ level, message, timestamp }) => {
|
|
13
|
+
const color = this.getLevelColor(level);
|
|
14
|
+
const icon = this.getLevelIcon(level);
|
|
15
|
+
return `${color(`[${timestamp}] ${icon} ${message}`)}`;
|
|
16
|
+
})),
|
|
17
|
+
level: logLevel,
|
|
18
|
+
transports: [
|
|
19
|
+
// 控制台输出(彩色)
|
|
20
|
+
new winston.transports.Console({
|
|
21
|
+
format: winston.format.combine(winston.format.colorize(), winston.format.printf(({ level, message, timestamp }) => {
|
|
22
|
+
const color = this.getLevelColor(level);
|
|
23
|
+
const icon = this.getLevelIcon(level);
|
|
24
|
+
return `${color(`[${timestamp}] ${icon} ${message}`)}`;
|
|
25
|
+
})),
|
|
26
|
+
}),
|
|
27
|
+
// 文件输出(每日轮转)
|
|
28
|
+
new DailyRotateFile({
|
|
29
|
+
datePattern: 'YYYY-MM-DD',
|
|
30
|
+
dirname: LOG_DIR,
|
|
31
|
+
filename: 'ccsync-%DATE%.log',
|
|
32
|
+
format: winston.format.combine(winston.format.timestamp({ format: 'HH:mm:ss' }), winston.format.printf(({ level, message, timestamp }) => {
|
|
33
|
+
const icon = this.getLevelIcon(level);
|
|
34
|
+
return `[${timestamp}] ${icon} ${message}`;
|
|
35
|
+
})),
|
|
36
|
+
maxFiles: '14d',
|
|
37
|
+
maxSize: '10m',
|
|
38
|
+
}),
|
|
39
|
+
],
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
debug(message, meta) {
|
|
43
|
+
this.logger.debug(message, meta);
|
|
44
|
+
}
|
|
45
|
+
error(message, meta) {
|
|
46
|
+
this.logger.error(message, meta);
|
|
47
|
+
}
|
|
48
|
+
info(message, meta) {
|
|
49
|
+
this.logger.info(message, meta);
|
|
50
|
+
}
|
|
51
|
+
success(message) {
|
|
52
|
+
const timestamp = new Date().toLocaleTimeString();
|
|
53
|
+
console.log(`[${timestamp}] ✓ ${message}`);
|
|
54
|
+
}
|
|
55
|
+
warn(message, meta) {
|
|
56
|
+
this.logger.warn(message, meta);
|
|
57
|
+
}
|
|
58
|
+
getLevelColor(level) {
|
|
59
|
+
return (text) => text;
|
|
60
|
+
}
|
|
61
|
+
getLevelIcon(level) {
|
|
62
|
+
const icons = {
|
|
63
|
+
debug: '⚡',
|
|
64
|
+
error: '❌',
|
|
65
|
+
info: 'ℹ️',
|
|
66
|
+
warn: '⚠️',
|
|
67
|
+
};
|
|
68
|
+
return icons[level] || '•';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export const logger = new Logger();
|
|
72
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAExD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEvF,MAAM,MAAM;IACF,MAAM,CAAiB;IAE/B,YAAY,WAAmB,MAAM;QACnC,WAAW;QACX,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAChD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;gBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,OAAO,GAAG,KAAK,CAAC,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC;YACzD,CAAC,CAAC,CACH;YACD,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE;gBACV,YAAY;gBACZ,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;wBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACtC,OAAO,GAAG,KAAK,CAAC,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC;oBACzD,CAAC,CAAC,CACH;iBACF,CAAC;gBACF,aAAa;gBACb,IAAI,eAAe,CAAC;oBAClB,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,mBAAmB;oBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAChD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;wBACtD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACtC,OAAO,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC;oBAC7C,CAAC,CAAC,CACH;oBACD,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,KAAK;iBACf,CAAC;aACH;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAA0B;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAA0B;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAA0B;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,OAAO,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAA0B;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,aAAa,CAAC,KAAa;QACjC,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;IAChC,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,MAAM,KAAK,GAA2B;YACpC,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;SACX,CAAC;QACF,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
export declare const TEXTS: {
|
|
2
|
+
readonly commands: {
|
|
3
|
+
readonly config: "管理 ccsync 配置";
|
|
4
|
+
readonly dashboard: "打开可视化仪表板";
|
|
5
|
+
readonly logs: "查看 ccsync 日志";
|
|
6
|
+
readonly menu: "打开交互式菜单";
|
|
7
|
+
readonly setup: "运行初始化向导,首次使用时请运行此命令";
|
|
8
|
+
readonly start: "启动 ccsync 同步服务";
|
|
9
|
+
readonly status: "查看 ccsync 同步服务状态";
|
|
10
|
+
readonly stop: "停止 ccsync 同步服务";
|
|
11
|
+
readonly sync: "手动触发一次同步";
|
|
12
|
+
readonly toggle: "切换 ccsync 同步服务状态(启动/停止)";
|
|
13
|
+
};
|
|
14
|
+
readonly dashboard: {
|
|
15
|
+
readonly actions: {
|
|
16
|
+
readonly checkPermissions: "检查权限";
|
|
17
|
+
readonly editSettings: "编辑设置";
|
|
18
|
+
readonly exitDashboard: "退出仪表板(Q)";
|
|
19
|
+
readonly runSetupWizard: "重新运行初始化向导";
|
|
20
|
+
readonly section: "操作 [↑↓ 选择,Enter 执行]";
|
|
21
|
+
readonly toggleAutoRefresh: "切换自动刷新(A)";
|
|
22
|
+
readonly toggleAutostart: "启用/禁用开机启动";
|
|
23
|
+
readonly toggleService: "启动/停止服务(切换)";
|
|
24
|
+
readonly triggerSync: "立即触发同步";
|
|
25
|
+
readonly viewLogs: "查看实时日志(L)";
|
|
26
|
+
};
|
|
27
|
+
readonly autoOff: "自动:关闭";
|
|
28
|
+
readonly autoOn: "自动:开启";
|
|
29
|
+
readonly mcp: {
|
|
30
|
+
readonly disabled: "已禁用";
|
|
31
|
+
readonly enabled: "已启用";
|
|
32
|
+
readonly loading: "正在加载 MCP 服务器...";
|
|
33
|
+
readonly noServers: "(未启用服务器)";
|
|
34
|
+
readonly platform: "平台";
|
|
35
|
+
readonly section: "已同步的 MCP 服务器(OpenCode 中可用)";
|
|
36
|
+
readonly serversSynced: "已同步服务器";
|
|
37
|
+
readonly status: "状态";
|
|
38
|
+
};
|
|
39
|
+
readonly recentActivity: {
|
|
40
|
+
readonly cached: "(使用缓存)";
|
|
41
|
+
readonly pressLToViewLogs: "按 L 查看日志";
|
|
42
|
+
readonly section: "最近活动";
|
|
43
|
+
readonly syncCompleted: "同步完成";
|
|
44
|
+
};
|
|
45
|
+
readonly settings: {
|
|
46
|
+
readonly autostart: "开机启动";
|
|
47
|
+
readonly logLevel: "日志级别";
|
|
48
|
+
readonly seconds: "秒";
|
|
49
|
+
readonly section: "设置";
|
|
50
|
+
readonly syncInterval: "同步间隔";
|
|
51
|
+
};
|
|
52
|
+
readonly shortcuts: {
|
|
53
|
+
readonly exit: "Q:退出";
|
|
54
|
+
readonly refresh: "R:手动刷新";
|
|
55
|
+
readonly toggleAuto: "A:切换自动刷新";
|
|
56
|
+
readonly viewLogs: "L:查看日志";
|
|
57
|
+
};
|
|
58
|
+
readonly skills: {
|
|
59
|
+
readonly claudeSkills: "Claude Skills";
|
|
60
|
+
readonly codexSkills: "Codex Skills";
|
|
61
|
+
readonly loading: "正在加载 Skills...";
|
|
62
|
+
readonly section: "已同步的 Skills(OpenCode 中可用)";
|
|
63
|
+
readonly skills: "个 Skills";
|
|
64
|
+
readonly total: "总计:";
|
|
65
|
+
};
|
|
66
|
+
readonly statistics: {
|
|
67
|
+
readonly avgDuration: "平均耗时";
|
|
68
|
+
readonly errors: "错误";
|
|
69
|
+
readonly section: "统计信息";
|
|
70
|
+
readonly successful: "成功";
|
|
71
|
+
readonly totalSyncs: "总同步次数";
|
|
72
|
+
};
|
|
73
|
+
readonly status: {
|
|
74
|
+
readonly autoRefresh: "自动刷新";
|
|
75
|
+
readonly lastSync: "上次同步";
|
|
76
|
+
readonly pid: "进程 ID";
|
|
77
|
+
readonly running: "运行中";
|
|
78
|
+
readonly secondsAgo: "秒前";
|
|
79
|
+
readonly section: "服务状态";
|
|
80
|
+
readonly stopped: "已停止";
|
|
81
|
+
readonly uptime: "运行时间";
|
|
82
|
+
};
|
|
83
|
+
readonly title: "ccsync v1.0.0 - 仪表板";
|
|
84
|
+
};
|
|
85
|
+
readonly errors: {
|
|
86
|
+
readonly actions: {
|
|
87
|
+
readonly fix: {
|
|
88
|
+
readonly description: "尝试自动修复问题";
|
|
89
|
+
readonly label: "自动修复";
|
|
90
|
+
};
|
|
91
|
+
readonly retry: {
|
|
92
|
+
readonly description: "再次尝试操作";
|
|
93
|
+
readonly label: "重试";
|
|
94
|
+
};
|
|
95
|
+
readonly skip: {
|
|
96
|
+
readonly description: "跳过此操作";
|
|
97
|
+
readonly label: "跳过";
|
|
98
|
+
};
|
|
99
|
+
readonly stop: {
|
|
100
|
+
readonly description: "立即停止同步服务";
|
|
101
|
+
readonly label: "停止服务";
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
readonly errorTypes: {
|
|
105
|
+
readonly criticalError: {
|
|
106
|
+
readonly message: "发生严重错误,服务无法继续运行";
|
|
107
|
+
readonly title: "严重错误";
|
|
108
|
+
};
|
|
109
|
+
readonly databaseBusy: {
|
|
110
|
+
readonly message: "无法访问数据库,可能正在被其他进程使用";
|
|
111
|
+
readonly title: "数据库繁忙";
|
|
112
|
+
};
|
|
113
|
+
readonly databaseNotFound: {
|
|
114
|
+
readonly message: "无法找到 ccswitch 数据库文件";
|
|
115
|
+
readonly title: "数据库文件未找到";
|
|
116
|
+
};
|
|
117
|
+
readonly filePermission: {
|
|
118
|
+
readonly message: "没有足够的权限访问文件或目录";
|
|
119
|
+
readonly title: "文件权限错误";
|
|
120
|
+
};
|
|
121
|
+
readonly invalidConfig: {
|
|
122
|
+
readonly message: "配置文件格式不正确或包含无效值";
|
|
123
|
+
readonly title: "配置无效";
|
|
124
|
+
};
|
|
125
|
+
readonly missingPermissions: {
|
|
126
|
+
readonly message: "某些目录或文件缺少必要的读写权限";
|
|
127
|
+
readonly title: "缺少必要权限";
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
readonly question: "您想要如何处理?";
|
|
131
|
+
readonly success: {
|
|
132
|
+
readonly databaseReady: "✓ 数据库已就绪";
|
|
133
|
+
readonly permissionsFixed: "✓ 权限已修复";
|
|
134
|
+
readonly serviceStarted: "✓ 服务已启动";
|
|
135
|
+
readonly serviceStopped: "✓ 服务已停止";
|
|
136
|
+
readonly syncCompleted: "✓ 同步完成";
|
|
137
|
+
};
|
|
138
|
+
readonly title: "⚠ 发生错误";
|
|
139
|
+
};
|
|
140
|
+
readonly logs: {
|
|
141
|
+
readonly icons: {
|
|
142
|
+
readonly debug: "⚡";
|
|
143
|
+
readonly error: "❌";
|
|
144
|
+
readonly info: "ℹ️";
|
|
145
|
+
readonly success: "✓";
|
|
146
|
+
readonly warn: "⚠️";
|
|
147
|
+
};
|
|
148
|
+
readonly levels: {
|
|
149
|
+
readonly debug: "调试";
|
|
150
|
+
readonly error: "错误";
|
|
151
|
+
readonly info: "信息";
|
|
152
|
+
readonly warn: "警告";
|
|
153
|
+
};
|
|
154
|
+
readonly messages: {
|
|
155
|
+
readonly cached: "(使用缓存)";
|
|
156
|
+
readonly checkingDb: "检查数据库变化...";
|
|
157
|
+
readonly checkingPermissions: "正在检查权限...";
|
|
158
|
+
readonly createdSymlinks: "已创建";
|
|
159
|
+
readonly creatingSymlinks: "创建符号链接...";
|
|
160
|
+
readonly dbChanged: "数据库已修改,正在读取...";
|
|
161
|
+
readonly dbNotChanged: "数据库未修改,使用缓存";
|
|
162
|
+
readonly duration: "耗时";
|
|
163
|
+
readonly foundMcpServers: "发现";
|
|
164
|
+
readonly foundSkills: "发现";
|
|
165
|
+
readonly mcpServers: "个 MCP 服务器";
|
|
166
|
+
readonly permissionsFixed: "权限已修复";
|
|
167
|
+
readonly permissionsOk: "权限检查通过";
|
|
168
|
+
readonly scanningSkills: "正在扫描 Skills...";
|
|
169
|
+
readonly serviceStarted: "服务已启动";
|
|
170
|
+
readonly serviceStarting: "正在启动服务...";
|
|
171
|
+
readonly serviceStopped: "服务已停止";
|
|
172
|
+
readonly serviceStopping: "正在停止服务...";
|
|
173
|
+
readonly skillSymlinks: "个 Skills 符号链接";
|
|
174
|
+
readonly starting: "开始同步...";
|
|
175
|
+
readonly syncCompleted: "同步完成";
|
|
176
|
+
readonly syncedMcpServers: "已同步";
|
|
177
|
+
readonly syncingMcp: "正在同步 MCP 服务器...";
|
|
178
|
+
readonly syncingMcpFor: "为平台同步 MCP:";
|
|
179
|
+
readonly watchingChanges: "正在监控文件变化...";
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
readonly setup: {
|
|
183
|
+
readonly autostart: {
|
|
184
|
+
readonly hint: "使用 ↑↓ 选择,Enter 确认";
|
|
185
|
+
readonly no: "否";
|
|
186
|
+
readonly question: "是否开机自动启动 ccsync?";
|
|
187
|
+
readonly tip: "提示:您可以随时更改此设置";
|
|
188
|
+
readonly yes: "是";
|
|
189
|
+
};
|
|
190
|
+
readonly complete: {
|
|
191
|
+
readonly configuration: "配置信息";
|
|
192
|
+
readonly helpTip: "更多帮助请运行:ccsync --help";
|
|
193
|
+
readonly nextStepHelp: "查看帮助";
|
|
194
|
+
readonly nextStepMenu: "打开菜单";
|
|
195
|
+
readonly nextSteps: "后续步骤";
|
|
196
|
+
readonly nextStepStatus: "查看状态";
|
|
197
|
+
readonly serviceStatus: "服务状态";
|
|
198
|
+
readonly subtitle: "配置已保存,服务已启动";
|
|
199
|
+
readonly title: "初始化完成!🎊";
|
|
200
|
+
};
|
|
201
|
+
readonly interval: {
|
|
202
|
+
readonly custom: "自定义:";
|
|
203
|
+
readonly hint: "使用 ↑↓ 选择,Enter 确认";
|
|
204
|
+
readonly question: "ccsync 应该每隔多久检查一次变化?";
|
|
205
|
+
readonly recommended: "15 秒(推荐)";
|
|
206
|
+
readonly unit: "秒";
|
|
207
|
+
};
|
|
208
|
+
readonly mcp: {
|
|
209
|
+
readonly all: "全部(同步所有启用的 MCP)";
|
|
210
|
+
readonly claude: "Claude";
|
|
211
|
+
readonly codex: "Codex";
|
|
212
|
+
readonly gemini: "Gemini";
|
|
213
|
+
readonly hint: "使用 ↑↓ 移动,空格键选择,Enter 确认";
|
|
214
|
+
readonly question: "您想要同步哪些平台的 MCP 服务器?";
|
|
215
|
+
readonly tip: "提示:选择\"全部\"将同步所有启用的 MCP,不管为哪个平台启用";
|
|
216
|
+
};
|
|
217
|
+
readonly skills: {
|
|
218
|
+
readonly claude: "Claude Skills";
|
|
219
|
+
readonly codex: "Codex Skills";
|
|
220
|
+
readonly hint: "使用 ↑↓ 移动,空格键选择,Enter 确认";
|
|
221
|
+
readonly question: "您想要同步哪些 Skills 到 OpenCode?";
|
|
222
|
+
readonly tip: "提示:同时选择两项可以同步所有可用的 Skills";
|
|
223
|
+
};
|
|
224
|
+
readonly steps: {
|
|
225
|
+
readonly autostart: "步骤 4/5: 开机启动配置";
|
|
226
|
+
readonly interval: "步骤 3/5: 同步间隔配置";
|
|
227
|
+
readonly mcp: "步骤 2/5: MCP 同步配置";
|
|
228
|
+
readonly skills: "步骤 1/5: Skills 同步配置";
|
|
229
|
+
readonly summary: "步骤 5/5: 配置总结与确认";
|
|
230
|
+
};
|
|
231
|
+
readonly summary: {
|
|
232
|
+
readonly autostart: "开机启动";
|
|
233
|
+
readonly backToEdit: "返回修改";
|
|
234
|
+
readonly cancelSetup: "取消设置";
|
|
235
|
+
readonly mcpSync: "MCP 同步";
|
|
236
|
+
readonly saveAndStart: "保存并启动服务";
|
|
237
|
+
readonly skillsSync: "Skills 同步";
|
|
238
|
+
readonly syncInterval: "同步间隔";
|
|
239
|
+
readonly title: "配置总结";
|
|
240
|
+
};
|
|
241
|
+
readonly welcome: {
|
|
242
|
+
readonly continue: "按 Enter 继续...";
|
|
243
|
+
readonly subtitle: "本向导将帮助您完成初始配置,以便将 ccswitch 的 Skills 和 MCP 服务器同步到 OpenCode。";
|
|
244
|
+
readonly title: "欢迎使用 ccsync 初始化向导!🎉";
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
readonly status: {
|
|
248
|
+
readonly errors: "错误";
|
|
249
|
+
readonly forOptions: "查看更多选项";
|
|
250
|
+
readonly lastSync: "上次同步";
|
|
251
|
+
readonly mcp: "MCP";
|
|
252
|
+
readonly pid: "PID";
|
|
253
|
+
readonly running: "运行中";
|
|
254
|
+
readonly service: "服务";
|
|
255
|
+
readonly skills: "Skills";
|
|
256
|
+
readonly stopped: "已停止";
|
|
257
|
+
readonly synced: "已同步";
|
|
258
|
+
readonly tip: "提示:运行";
|
|
259
|
+
readonly title: "ccsync 状态";
|
|
260
|
+
readonly uptime: "运行时间";
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
//# sourceMappingURL=texts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../../src/utils/texts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2RR,CAAC"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
// 中文文本常量
|
|
2
|
+
export const TEXTS = {
|
|
3
|
+
// 命令描述
|
|
4
|
+
commands: {
|
|
5
|
+
config: '管理 ccsync 配置',
|
|
6
|
+
dashboard: '打开可视化仪表板',
|
|
7
|
+
logs: '查看 ccsync 日志',
|
|
8
|
+
menu: '打开交互式菜单',
|
|
9
|
+
setup: '运行初始化向导,首次使用时请运行此命令',
|
|
10
|
+
start: '启动 ccsync 同步服务',
|
|
11
|
+
status: '查看 ccsync 同步服务状态',
|
|
12
|
+
stop: '停止 ccsync 同步服务',
|
|
13
|
+
sync: '手动触发一次同步',
|
|
14
|
+
toggle: '切换 ccsync 同步服务状态(启动/停止)',
|
|
15
|
+
},
|
|
16
|
+
// Dashboard
|
|
17
|
+
dashboard: {
|
|
18
|
+
actions: {
|
|
19
|
+
checkPermissions: '检查权限',
|
|
20
|
+
editSettings: '编辑设置',
|
|
21
|
+
exitDashboard: '退出仪表板(Q)',
|
|
22
|
+
runSetupWizard: '重新运行初始化向导',
|
|
23
|
+
section: '操作 [↑↓ 选择,Enter 执行]',
|
|
24
|
+
toggleAutoRefresh: '切换自动刷新(A)',
|
|
25
|
+
toggleAutostart: '启用/禁用开机启动',
|
|
26
|
+
toggleService: '启动/停止服务(切换)',
|
|
27
|
+
triggerSync: '立即触发同步',
|
|
28
|
+
viewLogs: '查看实时日志(L)',
|
|
29
|
+
},
|
|
30
|
+
autoOff: '自动:关闭',
|
|
31
|
+
autoOn: '自动:开启',
|
|
32
|
+
mcp: {
|
|
33
|
+
disabled: '已禁用',
|
|
34
|
+
enabled: '已启用',
|
|
35
|
+
loading: '正在加载 MCP 服务器...',
|
|
36
|
+
noServers: '(未启用服务器)',
|
|
37
|
+
platform: '平台',
|
|
38
|
+
section: '已同步的 MCP 服务器(OpenCode 中可用)',
|
|
39
|
+
serversSynced: '已同步服务器',
|
|
40
|
+
status: '状态',
|
|
41
|
+
},
|
|
42
|
+
recentActivity: {
|
|
43
|
+
cached: '(使用缓存)',
|
|
44
|
+
pressLToViewLogs: '按 L 查看日志',
|
|
45
|
+
section: '最近活动',
|
|
46
|
+
syncCompleted: '同步完成',
|
|
47
|
+
},
|
|
48
|
+
settings: {
|
|
49
|
+
autostart: '开机启动',
|
|
50
|
+
logLevel: '日志级别',
|
|
51
|
+
seconds: '秒',
|
|
52
|
+
section: '设置',
|
|
53
|
+
syncInterval: '同步间隔',
|
|
54
|
+
},
|
|
55
|
+
shortcuts: {
|
|
56
|
+
exit: 'Q:退出',
|
|
57
|
+
refresh: 'R:手动刷新',
|
|
58
|
+
toggleAuto: 'A:切换自动刷新',
|
|
59
|
+
viewLogs: 'L:查看日志',
|
|
60
|
+
},
|
|
61
|
+
skills: {
|
|
62
|
+
claudeSkills: 'Claude Skills',
|
|
63
|
+
codexSkills: 'Codex Skills',
|
|
64
|
+
loading: '正在加载 Skills...',
|
|
65
|
+
section: '已同步的 Skills(OpenCode 中可用)',
|
|
66
|
+
skills: '个 Skills',
|
|
67
|
+
total: '总计:',
|
|
68
|
+
},
|
|
69
|
+
statistics: {
|
|
70
|
+
avgDuration: '平均耗时',
|
|
71
|
+
errors: '错误',
|
|
72
|
+
section: '统计信息',
|
|
73
|
+
successful: '成功',
|
|
74
|
+
totalSyncs: '总同步次数',
|
|
75
|
+
},
|
|
76
|
+
status: {
|
|
77
|
+
autoRefresh: '自动刷新',
|
|
78
|
+
lastSync: '上次同步',
|
|
79
|
+
pid: '进程 ID',
|
|
80
|
+
running: '运行中',
|
|
81
|
+
secondsAgo: '秒前',
|
|
82
|
+
section: '服务状态',
|
|
83
|
+
stopped: '已停止',
|
|
84
|
+
uptime: '运行时间',
|
|
85
|
+
},
|
|
86
|
+
title: 'ccsync v1.0.0 - 仪表板',
|
|
87
|
+
},
|
|
88
|
+
// 错误文本
|
|
89
|
+
errors: {
|
|
90
|
+
actions: {
|
|
91
|
+
fix: {
|
|
92
|
+
description: '尝试自动修复问题',
|
|
93
|
+
label: '自动修复',
|
|
94
|
+
},
|
|
95
|
+
retry: {
|
|
96
|
+
description: '再次尝试操作',
|
|
97
|
+
label: '重试',
|
|
98
|
+
},
|
|
99
|
+
skip: {
|
|
100
|
+
description: '跳过此操作',
|
|
101
|
+
label: '跳过',
|
|
102
|
+
},
|
|
103
|
+
stop: {
|
|
104
|
+
description: '立即停止同步服务',
|
|
105
|
+
label: '停止服务',
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
errorTypes: {
|
|
109
|
+
criticalError: {
|
|
110
|
+
message: '发生严重错误,服务无法继续运行',
|
|
111
|
+
title: '严重错误',
|
|
112
|
+
},
|
|
113
|
+
databaseBusy: {
|
|
114
|
+
message: '无法访问数据库,可能正在被其他进程使用',
|
|
115
|
+
title: '数据库繁忙',
|
|
116
|
+
},
|
|
117
|
+
databaseNotFound: {
|
|
118
|
+
message: '无法找到 ccswitch 数据库文件',
|
|
119
|
+
title: '数据库文件未找到',
|
|
120
|
+
},
|
|
121
|
+
filePermission: {
|
|
122
|
+
message: '没有足够的权限访问文件或目录',
|
|
123
|
+
title: '文件权限错误',
|
|
124
|
+
},
|
|
125
|
+
invalidConfig: {
|
|
126
|
+
message: '配置文件格式不正确或包含无效值',
|
|
127
|
+
title: '配置无效',
|
|
128
|
+
},
|
|
129
|
+
missingPermissions: {
|
|
130
|
+
message: '某些目录或文件缺少必要的读写权限',
|
|
131
|
+
title: '缺少必要权限',
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
question: '您想要如何处理?',
|
|
135
|
+
success: {
|
|
136
|
+
databaseReady: '✓ 数据库已就绪',
|
|
137
|
+
permissionsFixed: '✓ 权限已修复',
|
|
138
|
+
serviceStarted: '✓ 服务已启动',
|
|
139
|
+
serviceStopped: '✓ 服务已停止',
|
|
140
|
+
syncCompleted: '✓ 同步完成',
|
|
141
|
+
},
|
|
142
|
+
title: '⚠ 发生错误',
|
|
143
|
+
},
|
|
144
|
+
// 日志文本
|
|
145
|
+
logs: {
|
|
146
|
+
icons: {
|
|
147
|
+
debug: '⚡',
|
|
148
|
+
error: '❌',
|
|
149
|
+
info: 'ℹ️',
|
|
150
|
+
success: '✓',
|
|
151
|
+
warn: '⚠️',
|
|
152
|
+
},
|
|
153
|
+
levels: {
|
|
154
|
+
debug: '调试',
|
|
155
|
+
error: '错误',
|
|
156
|
+
info: '信息',
|
|
157
|
+
warn: '警告',
|
|
158
|
+
},
|
|
159
|
+
messages: {
|
|
160
|
+
cached: '(使用缓存)',
|
|
161
|
+
checkingDb: '检查数据库变化...',
|
|
162
|
+
checkingPermissions: '正在检查权限...',
|
|
163
|
+
createdSymlinks: '已创建',
|
|
164
|
+
creatingSymlinks: '创建符号链接...',
|
|
165
|
+
dbChanged: '数据库已修改,正在读取...',
|
|
166
|
+
dbNotChanged: '数据库未修改,使用缓存',
|
|
167
|
+
duration: '耗时',
|
|
168
|
+
foundMcpServers: '发现',
|
|
169
|
+
foundSkills: '发现',
|
|
170
|
+
mcpServers: '个 MCP 服务器',
|
|
171
|
+
permissionsFixed: '权限已修复',
|
|
172
|
+
permissionsOk: '权限检查通过',
|
|
173
|
+
scanningSkills: '正在扫描 Skills...',
|
|
174
|
+
serviceStarted: '服务已启动',
|
|
175
|
+
serviceStarting: '正在启动服务...',
|
|
176
|
+
serviceStopped: '服务已停止',
|
|
177
|
+
serviceStopping: '正在停止服务...',
|
|
178
|
+
skillSymlinks: '个 Skills 符号链接',
|
|
179
|
+
starting: '开始同步...',
|
|
180
|
+
syncCompleted: '同步完成',
|
|
181
|
+
syncedMcpServers: '已同步',
|
|
182
|
+
syncingMcp: '正在同步 MCP 服务器...',
|
|
183
|
+
syncingMcpFor: '为平台同步 MCP:',
|
|
184
|
+
watchingChanges: '正在监控文件变化...',
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
// Setup Wizard
|
|
188
|
+
setup: {
|
|
189
|
+
autostart: {
|
|
190
|
+
hint: '使用 ↑↓ 选择,Enter 确认',
|
|
191
|
+
no: '否',
|
|
192
|
+
question: '是否开机自动启动 ccsync?',
|
|
193
|
+
tip: '提示:您可以随时更改此设置',
|
|
194
|
+
yes: '是',
|
|
195
|
+
},
|
|
196
|
+
complete: {
|
|
197
|
+
configuration: '配置信息',
|
|
198
|
+
helpTip: '更多帮助请运行:ccsync --help',
|
|
199
|
+
nextStepHelp: '查看帮助',
|
|
200
|
+
nextStepMenu: '打开菜单',
|
|
201
|
+
nextSteps: '后续步骤',
|
|
202
|
+
nextStepStatus: '查看状态',
|
|
203
|
+
serviceStatus: '服务状态',
|
|
204
|
+
subtitle: '配置已保存,服务已启动',
|
|
205
|
+
title: '初始化完成!🎊',
|
|
206
|
+
},
|
|
207
|
+
interval: {
|
|
208
|
+
custom: '自定义:',
|
|
209
|
+
hint: '使用 ↑↓ 选择,Enter 确认',
|
|
210
|
+
question: 'ccsync 应该每隔多久检查一次变化?',
|
|
211
|
+
recommended: '15 秒(推荐)',
|
|
212
|
+
unit: '秒',
|
|
213
|
+
},
|
|
214
|
+
mcp: {
|
|
215
|
+
all: '全部(同步所有启用的 MCP)',
|
|
216
|
+
claude: 'Claude',
|
|
217
|
+
codex: 'Codex',
|
|
218
|
+
gemini: 'Gemini',
|
|
219
|
+
hint: '使用 ↑↓ 移动,空格键选择,Enter 确认',
|
|
220
|
+
question: '您想要同步哪些平台的 MCP 服务器?',
|
|
221
|
+
tip: '提示:选择"全部"将同步所有启用的 MCP,不管为哪个平台启用',
|
|
222
|
+
},
|
|
223
|
+
skills: {
|
|
224
|
+
claude: 'Claude Skills',
|
|
225
|
+
codex: 'Codex Skills',
|
|
226
|
+
hint: '使用 ↑↓ 移动,空格键选择,Enter 确认',
|
|
227
|
+
question: '您想要同步哪些 Skills 到 OpenCode?',
|
|
228
|
+
tip: '提示:同时选择两项可以同步所有可用的 Skills',
|
|
229
|
+
},
|
|
230
|
+
steps: {
|
|
231
|
+
autostart: '步骤 4/5: 开机启动配置',
|
|
232
|
+
interval: '步骤 3/5: 同步间隔配置',
|
|
233
|
+
mcp: '步骤 2/5: MCP 同步配置',
|
|
234
|
+
skills: '步骤 1/5: Skills 同步配置',
|
|
235
|
+
summary: '步骤 5/5: 配置总结与确认',
|
|
236
|
+
},
|
|
237
|
+
summary: {
|
|
238
|
+
autostart: '开机启动',
|
|
239
|
+
backToEdit: '返回修改',
|
|
240
|
+
cancelSetup: '取消设置',
|
|
241
|
+
mcpSync: 'MCP 同步',
|
|
242
|
+
saveAndStart: '保存并启动服务',
|
|
243
|
+
skillsSync: 'Skills 同步',
|
|
244
|
+
syncInterval: '同步间隔',
|
|
245
|
+
title: '配置总结',
|
|
246
|
+
},
|
|
247
|
+
welcome: {
|
|
248
|
+
continue: '按 Enter 继续...',
|
|
249
|
+
subtitle: '本向导将帮助您完成初始配置,以便将 ccswitch 的 Skills 和 MCP 服务器同步到 OpenCode。',
|
|
250
|
+
title: '欢迎使用 ccsync 初始化向导!🎉',
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
// 状态命令
|
|
254
|
+
status: {
|
|
255
|
+
errors: '错误',
|
|
256
|
+
forOptions: '查看更多选项',
|
|
257
|
+
lastSync: '上次同步',
|
|
258
|
+
mcp: 'MCP',
|
|
259
|
+
pid: 'PID',
|
|
260
|
+
running: '运行中',
|
|
261
|
+
service: '服务',
|
|
262
|
+
skills: 'Skills',
|
|
263
|
+
stopped: '已停止',
|
|
264
|
+
synced: '已同步',
|
|
265
|
+
tip: '提示:运行',
|
|
266
|
+
title: 'ccsync 状态',
|
|
267
|
+
uptime: '运行时间',
|
|
268
|
+
},
|
|
269
|
+
};
|
|
270
|
+
//# sourceMappingURL=texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.js","sourceRoot":"","sources":["../../src/utils/texts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function getHomeDir(): string;
|
|
2
|
+
export declare function expandPath(pathStr: string): string;
|
|
3
|
+
export declare function getTimestamp(): string;
|
|
4
|
+
export declare function formatUptime(seconds: number): string;
|
|
5
|
+
export declare function formatDuration(ms: number): string;
|
|
6
|
+
export declare function formatTimeAgo(date: Date): string;
|
|
7
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=time-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-helper.d.ts","sourceRoot":"","sources":["../../src/utils/time-helper.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAKrC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAkBjD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAqBhD;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
|