edgeone-cli 1.0.2 → 1.0.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/README.md CHANGED
@@ -1,104 +1,143 @@
1
- # EdgeOne CLI
2
-
3
- > 本地化 EdgeOne 服务管理工具
4
-
5
- ## 简介
6
-
7
- EdgeOne CLI 是一个命令行工具,用于在本地方便地管理 EdgeOne 配置。
8
-
9
- ## 功能特性
10
-
11
- - ✅ **配置管理** - 本地安全存储 API 凭证
12
- - 📋 **交互式配置** - 友好的命令行交互
13
-
14
- ## 安装
15
-
16
- ```bash
17
- # 克隆项目
18
- git clone <repository-url>
19
- cd edgeone-cli
20
-
21
- # 安装依赖
22
- pnpm install
23
-
24
- # 全局安装(可选)
25
- pnpm link
26
- ```
27
-
28
- ## 快速开始
29
-
30
- ### 1. 初始化配置
31
-
32
- ```bash
33
- node src/index.js config init
34
- ```
35
-
36
- 按提示输入您的 EdgeOne 凭证信息。
37
-
38
- ### 2. 查看配置
39
-
40
- ```bash
41
- node src/index.js config show
42
- ```
43
-
44
- ## 命令说明
45
-
46
- ### config - 配置管理
47
-
48
- ```bash
49
- # 初始化配置
50
- edgeone config init
51
-
52
- # 显示当前配置
53
- edgeone config show
54
-
55
- # 编辑配置项
56
- edgeone config edit
57
-
58
- # 删除配置
59
- edgeone config remove
60
- ```
61
-
62
- ## 配置文件
63
-
64
- 配置文件存储在 `~/.edgeone/config.json`:
65
-
66
- ```json
67
- {
68
- "secretId": "your-secret-id",
69
- "secretKey": "your-secret-key",
70
- "zoneId": "your-zone-id",
71
- "domain": "example.com"
72
- }
73
- ```
74
-
75
- ## 开发
76
-
77
- ```bash
78
- # 安装依赖
79
- pnpm install
80
-
81
- # 运行
82
- node src/index.js
83
-
84
- # 或使用 npm script
85
- pnpm start
86
- ```
87
-
88
- ## 项目结构
89
-
90
- ```
91
- edgeone-cli/
92
- ├── src/
93
- │ ├── commands/ # 命令定义
94
- │ │ └── config.js
95
- │ ├── utils/ # 工具函数
96
- │ ├── config/ # 配置相关
97
- │ └── index.js # 入口文件
98
- ├── package.json
99
- └── README.md
100
- ```
101
-
102
- ## 许可证
103
-
104
- ISC
1
+ # EdgeOne CLI
2
+
3
+ > 本地化 EdgeOne 服务管理工具
4
+
5
+ ## 简介
6
+
7
+ EdgeOne CLI 是一个命令行工具,用于在本地方便地管理 EdgeOne 配置。
8
+
9
+ ## 功能特性
10
+
11
+ - ✅ **配置管理** - 本地安全存储 API 凭证
12
+ - 📋 **交互式配置** - 友好的命令行交互
13
+ - 📟 **REPL 模式** - 内置交互式 Shell,支持 Tab 补全
14
+
15
+ ## 安装
16
+
17
+ ```bash
18
+ # 克隆项目
19
+ git clone <repository-url>
20
+ cd edgeone-cli
21
+
22
+ # 安装依赖
23
+ pnpm install
24
+
25
+ # 全局安装(可选)
26
+ pnpm link
27
+ ```
28
+
29
+ ## 快速开始
30
+
31
+ ### 1. 初始化配置
32
+
33
+ ```bash
34
+ node src/index.js config init
35
+ ```
36
+
37
+ 按提示输入您的 EdgeOne 凭证信息。
38
+
39
+ ### 2. 查看配置
40
+
41
+ ```bash
42
+ node src/index.js config show
43
+ ```
44
+
45
+ ## 交互式菜单模式
46
+
47
+ 直接运行 `edgeone-cli` 即可进入交互模式,全程通过方向键选择操作:
48
+
49
+ ```bash
50
+ edgeone-cli
51
+ ```
52
+
53
+ 进入后,你可以:
54
+
55
+ - **↑ / ↓ 方向键** - 选择菜单项
56
+ - **Enter 键** - 确认选择
57
+ - **Ctrl+C** - 退出交互模式
58
+
59
+ ```
60
+ ╔══════════════════════════════════════╗
61
+ ║ EdgeOne CLI ║
62
+ ║ 本地化 EdgeOne 服务管理工具 ║
63
+ ╚══════════════════════════════════════╝
64
+
65
+ ? 请选择操作: (Use arrow keys)
66
+ ❯ 📋 配置管理
67
+ 🔄 清除缓存
68
+ 🔥 内容预热
69
+ 📊 历史记录
70
+ ─────────────────
71
+ 退出
72
+ ```
73
+
74
+ ### 可用功能
75
+
76
+ | 功能 | 说明 |
77
+ |------|------|
78
+ | 📋 配置管理 | 查看、编辑、删除或初始化配置 |
79
+ | 🔄 清除缓存 | 清除全部缓存、指定目录或 URL |
80
+ | 🔥 内容预热 | 预热指定 URL |
81
+ | 📊 历史记录 | 查询清除缓存或预热任务历史 |
82
+
83
+ ## 命令说明
84
+
85
+ ### config - 配置管理
86
+
87
+ ```bash
88
+ # 初始化配置
89
+ edgeone config init
90
+
91
+ # 显示当前配置
92
+ edgeone config show
93
+
94
+ # 编辑配置项
95
+ edgeone config edit
96
+
97
+ # 删除配置
98
+ edgeone config remove
99
+ ```
100
+
101
+ ## 配置文件
102
+
103
+ 配置文件存储在 `~/.edgeone/config.json`:
104
+
105
+ ```json
106
+ {
107
+ "secretId": "your-secret-id",
108
+ "secretKey": "your-secret-key",
109
+ "zoneId": "your-zone-id",
110
+ "domain": "example.com"
111
+ }
112
+ ```
113
+
114
+ ## 开发
115
+
116
+ ```bash
117
+ # 安装依赖
118
+ pnpm install
119
+
120
+ # 运行
121
+ node src/index.js
122
+
123
+ # 或使用 npm script
124
+ pnpm start
125
+ ```
126
+
127
+ ## 项目结构
128
+
129
+ ```
130
+ edgeone-cli/
131
+ ├── src/
132
+ │ ├── commands/ # 命令定义
133
+ │ │ └── config.js
134
+ │ ├── utils/ # 工具函数
135
+ │ ├── config/ # 配置相关
136
+ │ └── index.js # 入口文件
137
+ ├── package.json
138
+ └── README.md
139
+ ```
140
+
141
+ ## 许可证
142
+
143
+ ISC
@@ -1,54 +1,54 @@
1
- /**
2
- * EdgeOne API 客户端
3
- */
4
- import type { ConfigMode } from "../commands/config.js";
5
- interface CreatePurgeTaskOptions {
6
- zoneId?: string;
7
- type: "purge_url" | "purge_prefix" | "purge_all";
8
- targets?: string[];
9
- url?: string;
10
- }
11
- interface CreatePrefetchTaskOptions {
12
- zoneId?: string;
13
- urls: string[];
14
- }
15
- interface CreatePurgeTaskResponse {
16
- Response: {
17
- RequestId: string;
18
- JobId?: string;
19
- Error?: {
20
- Code: string;
21
- Message: string;
22
- };
23
- };
24
- }
25
- export declare class EdgeOneClient {
26
- private secretId;
27
- private secretKey;
28
- private endpoint;
29
- private region;
30
- private mode;
31
- constructor(secretId: string, secretKey: string, endpoint: string, region?: string, mode?: ConfigMode);
32
- /**
33
- * 发送请求
34
- */
35
- private request;
36
- /**
37
- * 创建清除缓存任务
38
- */
39
- createPurgeTask(options: CreatePurgeTaskOptions): Promise<CreatePurgeTaskResponse>;
40
- /**
41
- * 查询清除缓存任务
42
- */
43
- describePurgeTasks(zoneIds?: string[]): Promise<any>;
44
- /**
45
- * 创建预热任务
46
- */
47
- createPrefetchTask(options: CreatePrefetchTaskOptions): Promise<CreatePurgeTaskResponse>;
48
- /**
49
- * 查询预热任务
50
- */
51
- describePrefetchTasks(zoneIds?: string[]): Promise<any>;
52
- }
53
- export {};
1
+ /**
2
+ * EdgeOne API 客户端
3
+ */
4
+ import type { ConfigMode } from "../commands/config.js";
5
+ interface CreatePurgeTaskOptions {
6
+ zoneId?: string;
7
+ type: "purge_url" | "purge_prefix" | "purge_all";
8
+ targets?: string[];
9
+ url?: string;
10
+ }
11
+ interface CreatePrefetchTaskOptions {
12
+ zoneId?: string;
13
+ urls: string[];
14
+ }
15
+ interface CreatePurgeTaskResponse {
16
+ Response: {
17
+ RequestId: string;
18
+ JobId?: string;
19
+ Error?: {
20
+ Code: string;
21
+ Message: string;
22
+ };
23
+ };
24
+ }
25
+ export declare class EdgeOneClient {
26
+ private secretId;
27
+ private secretKey;
28
+ private endpoint;
29
+ private region;
30
+ private mode;
31
+ constructor(secretId: string, secretKey: string, endpoint: string, region?: string, mode?: ConfigMode);
32
+ /**
33
+ * 发送请求
34
+ */
35
+ private request;
36
+ /**
37
+ * 创建清除缓存任务
38
+ */
39
+ createPurgeTask(options: CreatePurgeTaskOptions): Promise<CreatePurgeTaskResponse>;
40
+ /**
41
+ * 查询清除缓存任务
42
+ */
43
+ describePurgeTasks(zoneIds?: string[]): Promise<any>;
44
+ /**
45
+ * 创建预热任务
46
+ */
47
+ createPrefetchTask(options: CreatePrefetchTaskOptions): Promise<CreatePurgeTaskResponse>;
48
+ /**
49
+ * 查询预热任务
50
+ */
51
+ describePrefetchTasks(zoneIds?: string[]): Promise<any>;
52
+ }
53
+ export {};
54
54
  //# sourceMappingURL=client.d.ts.map
@@ -1,47 +1,47 @@
1
- interface SignOptions {
2
- method: string;
3
- host: string;
4
- path: string;
5
- queryParams?: Record<string, any>;
6
- bodyParams?: Record<string, any>;
7
- headers?: Record<string, string>;
8
- secretId: string;
9
- secretKey: string;
10
- service: string;
11
- region?: string;
12
- }
13
- export declare class Signer {
14
- /**
15
- * 计算 HMAC-SHA256
16
- */
17
- private static hmacSha256;
18
- /**
19
- * 计算 SHA256
20
- */
21
- private static sha256;
22
- /**
23
- * 计算 SHA256 hex
24
- */
25
- private static sha256Hex;
26
- /**
27
- * 获取日期
28
- */
29
- private static getDate;
30
- /**
31
- * 构建 Query String
32
- */
33
- private static buildQueryString;
34
- /**
35
- * URI 编码(RFC3986)
36
- */
37
- private static _encodeURIComponent;
38
- /**
39
- * 签名
40
- */
41
- static sign(options: SignOptions): {
42
- headers: Record<string, string>;
43
- body: string;
44
- };
45
- }
46
- export {};
1
+ interface SignOptions {
2
+ method: string;
3
+ host: string;
4
+ path: string;
5
+ queryParams?: Record<string, any>;
6
+ bodyParams?: Record<string, any>;
7
+ headers?: Record<string, string>;
8
+ secretId: string;
9
+ secretKey: string;
10
+ service: string;
11
+ region?: string;
12
+ }
13
+ export declare class Signer {
14
+ /**
15
+ * 计算 HMAC-SHA256
16
+ */
17
+ private static hmacSha256;
18
+ /**
19
+ * 计算 SHA256
20
+ */
21
+ private static sha256;
22
+ /**
23
+ * 计算 SHA256 hex
24
+ */
25
+ private static sha256Hex;
26
+ /**
27
+ * 获取日期
28
+ */
29
+ private static getDate;
30
+ /**
31
+ * 构建 Query String
32
+ */
33
+ private static buildQueryString;
34
+ /**
35
+ * URI 编码(RFC3986)
36
+ */
37
+ private static _encodeURIComponent;
38
+ /**
39
+ * 签名
40
+ */
41
+ static sign(options: SignOptions): {
42
+ headers: Record<string, string>;
43
+ body: string;
44
+ };
45
+ }
46
+ export {};
47
47
  //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * 创建自动补全命令
4
+ */
5
+ export declare function createCompletionCommand(): Command;
6
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAoEjD"}
@@ -0,0 +1,2 @@
1
+ import{Command as o}from"commander";export function createCompletionCommand(){const e=new o("completion").description("生成 shell 自动补全脚本").option("--shell <type>","Shell 类型 (bash, zsh, fish)","bash").action(o=>{o.shell,console.log('\n# 安装说明\n\n## Bash\n将以下内容添加到 ~/.bashrc 或 ~/.bash_profile:\n eval "$(edgeone-cli completion --shell bash)"\n\n## Zsh\n将以下内容添加到 ~/.zshrc:\n eval "$(edgeone-cli completion --shell zsh)"\n\n## Fish\n将以下内容添加到 ~/.config/fish/config.fish:\n edgeone-cli completion --shell fish | source\n\n## 使用方法\n安装后,输入 edgeone-cli 然后按 Tab 键即可查看可用命令。\n ')});return e.command("install").description("安装自动补全到系统").option("--shell <type>","Shell 类型 (bash, zsh, fish)","bash").action(async o=>{try{const o=await import("tabtab");await o.install({name:"edgeone-cli",completer:"edgeone-cli"}),console.log("✅ 自动补全已安装"),console.log("请将以下内容添加到你的 shell 配置文件中:"),console.log(' Bash (~/.bashrc): eval "$(_EDGEONE_CLI_COMPLETION_DATA=bs b)";'),console.log(' Zsh (~/.zshrc): eval "$(_EDGEONE_CLI_COMPLETION_DATA=zsh) b");'),console.log(" Fish (~/.config/fish/config.fish): _EDGEONE_CLI_COMPLETION_DATA=fish source;")}catch(o){console.error("❌ 安装失败:",o.message)}}),e.command("uninstall").description("卸载自动补全").option("--shell <type>","Shell 类型 (bash, zsh, fish)","bash").action(async o=>{try{const o=await import("tabtab");await o.uninstall({name:"edgeone-cli"}),console.log("✅ 自动补全已卸载")}catch(o){console.error("❌ 卸载失败:",o.message)}}),e}
2
+ //# sourceMappingURL=commands\completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\commands\\completion.js","names":["Command","createCompletionCommand","completionCmd","description","option","action","options","shell","console","log","command","async","tabtabModule","import","install","name","completer","error","message","uninstall"],"sources":["../../src/commands/completion.ts"],"mappings":"kBAASA,MAAe,mBAMlB,SAAUC,0BACd,MAAMC,EAAgB,IAAIF,EAAQ,cAC/BG,YAAY,mBACZC,OAAO,iBAAkB,6BAA8B,QACvDC,OAAQC,IACOA,EAAQC,MAEtBC,QAAQC,IAAI,0VA4DhB,OAvCAP,EACGQ,QAAQ,WACRP,YAAY,aACZC,OAAO,iBAAkB,6BAA8B,QACvDC,OAAOM,UACN,IAEE,MAAMC,QAAqBC,OAAO,gBAC5BD,EAAaE,QAAQ,CACzBC,KAAM,cACNC,UAAW,gBAEbR,QAAQC,IAAI,aACZD,QAAQC,IAAI,4BACZD,QAAQC,IAAI,2EACZD,QAAQC,IAAI,6EACZD,QAAQC,IAAI,iFACd,CAAE,MAAOQ,GACPT,QAAQS,MAAM,UAAWA,EAAMC,QACjC,IAIJhB,EACGQ,QAAQ,aACRP,YAAY,UACZC,OAAO,iBAAkB,6BAA8B,QACvDC,OAAOM,UACN,IACE,MAAMC,QAAqBC,OAAO,gBAC5BD,EAAaO,UAAU,CAC3BJ,KAAM,gBAERP,QAAQC,IAAI,YACd,CAAE,MAAOQ,GACPT,QAAQS,MAAM,UAAWA,EAAMC,QACjC,IAGGhB,CACT","ignoreList":[]}
@@ -1,19 +1,27 @@
1
- import { Command } from 'commander';
2
- type ConfigMode = 'debug' | 'production';
3
- interface Config {
4
- secretId: string;
5
- secretKey: string;
6
- endpoint: string;
7
- mode: ConfigMode;
8
- domainIdList: string[];
9
- }
10
- declare const CONFIG_FILE: string;
11
- /**
12
- * 读取配置(自动解密,自动迁移旧格式)
13
- */
14
- declare function readConfig(): Config | null;
15
- declare const configCmd: Command;
16
- export default configCmd;
17
- export { readConfig, CONFIG_FILE };
18
- export type { ConfigMode };
1
+ import { Command } from 'commander';
2
+ type ConfigMode = 'debug' | 'production';
3
+ interface Config {
4
+ secretId: string;
5
+ secretKey: string;
6
+ endpoint: string;
7
+ mode: ConfigMode;
8
+ domainIdList: string[];
9
+ }
10
+ declare const CONFIG_FILE: string;
11
+ /**
12
+ * 确保配置目录存在
13
+ */
14
+ export declare function ensureConfigDir(): void;
15
+ /**
16
+ * 读取配置(自动解密,自动迁移旧格式)
17
+ */
18
+ export declare function readConfig(): Config | null;
19
+ /**
20
+ * 写入配置(自动加密 SecretKey)
21
+ */
22
+ export declare function writeConfig(config: Config): void;
23
+ declare const configCmd: Command;
24
+ export default configCmd;
25
+ export { CONFIG_FILE };
26
+ export type { ConfigMode };
19
27
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,KAAK,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;AAWzC,UAAU,MAAM;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAGD,QAAA,MAAM,WAAW,QAAuC,CAAC;AAWzD;;GAEG;AACH,iBAAS,UAAU,IAAI,MAAM,GAAG,IAAI,CAoCnC;AA0DD,QAAA,MAAM,SAAS,SACgB,CAAC;AAyKhC,eAAe,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,KAAK,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;AAWzC,UAAU,MAAM;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAGD,QAAA,MAAM,WAAW,QAAuC,CAAC;AAEzD;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAoC1C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAgBhD;AAqCD,QAAA,MAAM,SAAS,SACgB,CAAC;AAoMhC,eAAe,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{Command as e}from"commander";import o from"chalk";import n from"inquirer";import t from"fs";import i from"path";import c from"os";import{encrypt as s,decrypt as d,isEncrypted as r}from"../utils/crypto.js";const a=i.join(c.homedir(),".edgeone-cli"),l=i.join(a,"config.json");function m(){if(t.existsSync(l)){const e=t.readFileSync(l,"utf-8"),n=JSON.parse(e);let i=n.secretKey,c=!n.encrypted;if(n.encrypted||r(n.secretKey))try{i=d(n.secretKey),c=!1}catch{c=!1}const s={secretId:n.secretId,secretKey:i,endpoint:n.endpoint,mode:n.mode||"production",domainIdList:n.domainIdList||[]};return c&&(p(s),console.log(o.gray("💡 配置已自动升级为加密格式"))),s}return null}function p(e){t.existsSync(a)||t.mkdirSync(a,{recursive:!0});const o=s(e.secretKey),n={secretId:e.secretId,secretKey:o,endpoint:e.endpoint,mode:e.mode,domainIdList:e.domainIdList,encrypted:!0};t.writeFileSync(l,JSON.stringify(n,null,2),"utf-8")}function y(e,o=4){return e?e.length<=2*o?e:e.slice(0,o)+"****"+e.slice(-o):"N/A"}const u=new e("config").description("管理 EdgeOne 配置");u.command("init").description("初始化配置").action(async()=>{console.log(o.cyan("\n🔧 开始初始化 EdgeOne 配置\n"));const e=await n.prompt([{type:"input",name:"secretId",message:"请输入 SecretId:",validate:e=>""!==e.trim()||"SecretId 不能为空"},{type:"password",name:"secretKey",message:"请输入 SecretKey:",mask:"*",validate:e=>""!==e.trim()||"SecretKey 不能为空"},{type:"input",name:"endpoint",message:"请输入接口请求域名:",default:"teo.tencentcloudapi.com"},{type:"list",name:"mode",message:"请选择运行模式:",choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}],default:"production"},{type:"input",name:"domainIdList",message:"请输入域名ID列表(多个用逗号分隔,留空跳过):",default:""}]);let t=[];const i=e.domainIdList;i&&i.trim()&&(t=i.split(",").map(e=>e.trim()).filter(e=>""!==e)),p({secretId:e.secretId,secretKey:e.secretKey,endpoint:e.endpoint||"teo.tencentcloudapi.com",mode:e.mode||"production",domainIdList:t}),console.log(o.green("\n✅ 配置已加密保存到: "+l))}),u.command("show").description("显示当前配置").action(function(){const e=m();if(!e)return void console.log(o.yellow('⚠ 未找到配置文件,请先运行 "edgeone-cli config init"'));const n="debug"===e.mode?"调试模式":"生产模式",t="debug"===e.mode?o.yellow:o.green;console.log(o.cyan("\n📋 当前配置:\n")),console.log(o.gray("─".repeat(40))),console.log(` SecretId: ${o.green(y(e.secretId))}`),console.log(` SecretKey: ${o.green(y(e.secretKey))}`),console.log(` 接口请求域名: ${o.yellow(e.endpoint||"teo.tencentcloudapi.com")}`),console.log(` 运行模式: ${t(n)}`),e.domainIdList&&e.domainIdList.length>0&&console.log(` 域名ID列表: ${o.yellow(e.domainIdList.join(", "))}`),console.log(o.gray("─".repeat(40)))}),u.command("remove").description("删除配置文件").action(async()=>{if(!t.existsSync(l))return void console.log(o.yellow("⚠ 配置文件不存在"));const{confirm:e}=await n.prompt([{type:"confirm",name:"confirm",message:"确定要删除配置文件吗?",default:!1}]);e?(t.unlinkSync(l),console.log(o.green("✅ 配置文件已删除"))):console.log(o.gray("已取消"))}),u.command("edit").description("编辑配置项").action(async()=>{const e=m();if(!e)return void console.log(o.yellow('⚠ 未找到配置文件,请先运行 "edgeone-cli config init"'));const t=await n.prompt([{type:"list",name:"field",message:"选择要修改的配置项:",choices:[{name:"SecretId",value:"secretId"},{name:"SecretKey",value:"secretKey"},{name:"接口请求域名",value:"endpoint"},{name:"运行模式",value:"mode"},{name:"域名ID列表",value:"domainIdList"}]},{type:"input",name:"value",message:e=>`请输入新的 ${e.field}:`,when:e=>"secretKey"!==e.field&&"mode"!==e.field&&"domainIdList"!==e.field,validate:e=>""!==e.trim()||"不能为空"},{type:"password",name:"value",message:"请输入新的 SecretKey:",mask:"*",when:e=>"secretKey"===e.field,validate:e=>""!==e.trim()||"不能为空"},{type:"list",name:"value",message:"请选择运行模式:",when:e=>"mode"===e.field,choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}]},{type:"input",name:"value",message:"请输入域名ID列表(多个用逗号分隔):",when:e=>"domainIdList"===e.field,default:""}]);if("domainIdList"===t.field){const o=t.value,n=o&&o.trim()?o.split(",").map(e=>e.trim()).filter(e=>""!==e):[];e[t.field]=n}else e[t.field]=t.value;p(e),console.log(o.green("✅ 配置已更新"))});export default u;export{m as readConfig,l as CONFIG_FILE};
1
+ import{Command as e}from"commander";import o from"chalk";import n from"inquirer";import t from"fs";import i from"path";import c from"os";import{encrypt as r,decrypt as s,isEncrypted as l}from"../utils/crypto.js";const d=i.join(c.homedir(),".edgeone-cli"),a=i.join(d,"config.json");export function ensureConfigDir(){t.existsSync(d)||t.mkdirSync(d,{recursive:!0})}export function readConfig(){if(t.existsSync(a)){const e=t.readFileSync(a,"utf-8"),n=JSON.parse(e);let i=n.secretKey,c=!n.encrypted;if(n.encrypted||l(n.secretKey))try{i=s(n.secretKey),c=!1}catch{c=!1}const r={secretId:n.secretId,secretKey:i,endpoint:n.endpoint,mode:n.mode||"production",domainIdList:n.domainIdList||[]};return c&&(writeConfig(r),console.log(o.gray("💡 配置已自动升级为加密格式"))),r}return null}export function writeConfig(e){ensureConfigDir();const o=r(e.secretKey),n={secretId:e.secretId,secretKey:o,endpoint:e.endpoint,mode:e.mode,domainIdList:e.domainIdList,encrypted:!0};t.writeFileSync(a,JSON.stringify(n,null,2),"utf-8")}function m(e,o=4){return e?e.length<=2*o?e:e.slice(0,o)+"****"+e.slice(-o):"N/A"}const g=new e("config").description("管理 EdgeOne 配置");g.command("init").description("初始化配置").action(async()=>{const e=readConfig();if(e){console.log(o.yellow("\n⚠ 检测到已存在的配置:\n")),console.log(o.gray("─".repeat(40))),console.log(` SecretId: ${o.green(m(e.secretId))}`),console.log(` SecretKey: ${o.green(m(e.secretKey))}`),console.log(` 接口请求域名: ${o.yellow(e.endpoint||"teo.tencentcloudapi.com")}`),console.log(` 运行模式: ${"debug"===e.mode?o.yellow("调试模式"):o.green("生产模式")}`),console.log(o.gray("─".repeat(40)));const{confirm:t}=await n.prompt([{type:"confirm",name:"confirm",message:"已有配置将被覆盖,是否继续?",default:!1}]);if(!t)return void console.log(o.gray("已取消"))}console.log(o.cyan("\n🔧 开始初始化 EdgeOne 配置\n"));const t=await n.prompt([{type:"input",name:"secretId",message:"请输入 SecretId:",validate:e=>""!==e.trim()||"SecretId 不能为空"},{type:"password",name:"secretKey",message:"请输入 SecretKey:",mask:"*",validate:e=>""!==e.trim()||"SecretKey 不能为空"},{type:"input",name:"endpoint",message:"请输入接口请求域名:",default:"teo.tencentcloudapi.com"},{type:"list",name:"mode",message:"请选择运行模式:",choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}],default:"production"},{type:"input",name:"domainIdList",message:"请输入域名ID列表(多个用逗号分隔,留空跳过):",default:""}]);let i=[];const c=t.domainIdList;c&&c.trim()&&(i=c.split(",").map(e=>e.trim()).filter(e=>""!==e)),writeConfig({secretId:t.secretId,secretKey:t.secretKey,endpoint:t.endpoint||"teo.tencentcloudapi.com",mode:t.mode||"production",domainIdList:i}),console.log(o.green("\n✅ 配置已加密保存到: "+a))}),g.command("show").description("显示当前配置").action(function(){const e=readConfig();if(!e)return void console.log(o.yellow('⚠ 未找到配置文件,请先运行 "edgeone-cli config init"'));const n="debug"===e.mode?"调试模式":"生产模式",t="debug"===e.mode?o.yellow:o.green;console.log(o.cyan("\n📋 当前配置:\n")),console.log(o.gray("─".repeat(40))),console.log(` SecretId: ${o.green(m(e.secretId))}`),console.log(` SecretKey: ${o.green(m(e.secretKey))}`),console.log(` 接口请求域名: ${o.yellow(e.endpoint||"teo.tencentcloudapi.com")}`),console.log(` 运行模式: ${t(n)}`),e.domainIdList&&e.domainIdList.length>0&&console.log(` 域名ID列表: ${o.yellow(e.domainIdList.join(", "))}`),console.log(o.gray("─".repeat(40)))}),g.command("remove").description("删除配置文件").action(async()=>{if(!t.existsSync(a))return void console.log(o.yellow("⚠ 配置文件不存在"));const{confirm:e}=await n.prompt([{type:"confirm",name:"confirm",message:"确定要删除配置文件吗?",default:!1}]);e?(t.unlinkSync(a),console.log(o.green("✅ 配置文件已删除"))):console.log(o.gray("已取消"))}),g.command("edit").description("编辑配置项").action(async()=>{const e=readConfig();if(!e)return void console.log(o.yellow('⚠ 未找到配置文件,请先运行 "edgeone-cli config init"'));const t=await n.prompt([{type:"list",name:"field",message:"选择要修改的配置项:",choices:[{name:"SecretId",value:"secretId"},{name:"SecretKey",value:"secretKey"},{name:"接口请求域名",value:"endpoint"},{name:"运行模式",value:"mode"},{name:"域名ID列表",value:"domainIdList"}]},{type:"input",name:"value",message:e=>`请输入新的 ${e.field}:`,when:e=>"secretKey"!==e.field&&"mode"!==e.field&&"domainIdList"!==e.field,validate:e=>""!==e.trim()||"不能为空"},{type:"password",name:"value",message:"请输入新的 SecretKey:",mask:"*",when:e=>"secretKey"===e.field,validate:e=>""!==e.trim()||"不能为空"},{type:"list",name:"value",message:"请选择运行模式:",when:e=>"mode"===e.field,choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}]},{type:"input",name:"value",message:"请输入域名ID列表(多个用逗号分隔):",when:e=>"domainIdList"===e.field,default:""}]);if("domainIdList"===t.field){const o=t.value,n=o&&o.trim()?o.split(",").map(e=>e.trim()).filter(e=>""!==e):[];e[t.field]=n}else e[t.field]=t.value;writeConfig(e),console.log(o.green("✅ 配置已更新"))});export default g;export{a as CONFIG_FILE};
2
2
  //# sourceMappingURL=commands\config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A:\\edgeone-cli\\dist\\commands\\config.js","names":["Command","chalk","inquirer","fs","path","os","encrypt","decrypt","isEncrypted","CONFIG_DIR","join","homedir","CONFIG_FILE","readConfig","existsSync","content","readFileSync","stored","JSON","parse","secretKey","needsMigration","encrypted","config","secretId","endpoint","mode","domainIdList","writeConfig","console","log","gray","mkdirSync","recursive","encryptedSecretKey","writeFileSync","stringify","maskString","str","showLength","length","slice","configCmd","description","command","action","async","cyan","answers","prompt","type","name","message","validate","input","trim","mask","default","choices","value","domainIds","domainIdInput","split","map","id","filter","green","yellow","modeText","modeColor","repeat","confirm","unlinkSync","field","when"],"sources":["../../src/commands/config.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\commands\\config.js","names":["Command","chalk","inquirer","fs","path","os","encrypt","decrypt","isEncrypted","CONFIG_DIR","join","homedir","CONFIG_FILE","ensureConfigDir","existsSync","mkdirSync","recursive","readConfig","content","readFileSync","stored","JSON","parse","secretKey","needsMigration","encrypted","config","secretId","endpoint","mode","domainIdList","writeConfig","console","log","gray","encryptedSecretKey","writeFileSync","stringify","maskString","str","showLength","length","slice","configCmd","description","command","action","async","existingConfig","yellow","repeat","green","confirm","prompt","type","name","message","default","cyan","answers","validate","input","trim","mask","choices","value","domainIds","domainIdInput","split","map","id","filter","modeText","modeColor","unlinkSync","field","when"],"sources":["../../src/commands/config.ts"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,14 @@
1
- import { Command } from "commander";
2
- /**
3
- * 创建清除缓存命令
4
- */
5
- export declare function createPurgeCommand(): Command;
6
- /**
7
- * 创建预热命令
8
- */
9
- export declare function createPrefetchCommand(): Command;
10
- /**
11
- * 创建历史记录命令
12
- */
13
- export declare function createHistoryCommand(): Command;
1
+ import { Command } from "commander";
2
+ /**
3
+ * 创建清除缓存命令
4
+ */
5
+ export declare function createPurgeCommand(): Command;
6
+ /**
7
+ * 创建预热命令
8
+ */
9
+ export declare function createPrefetchCommand(): Command;
10
+ /**
11
+ * 创建历史记录命令
12
+ */
13
+ export declare function createHistoryCommand(): Command;
14
14
  //# sourceMappingURL=edgeone.d.ts.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import e,{parseEnv as r}from"tabtab";const t=["config","purge","prefetch","history","completion","help"],n=["init","show","edit","remove"],o=["purge","prefetch"],i=["-h","--help","-v","--version"],l={purge:["-a","--all","-d","--dir","-u","--url","-z","--zone"],prefetch:["-z","--zone"],history:[],"history-purge":["-z","--zone"],"history-prefetch":["-z","--zone"],config:[],completion:["--shell"]};e({name:"edgeone-cli",completer:async function(e){const s=r(process.env),c=(s.line||"").split(" ").filter(e=>""!==e);if(s.lastPartial,1===s.words||1===c.length&&"edgeone-cli"===c[0])return t;const h=c[1],p=c.slice(1);if("config"===h&&(1===p.length||2===p.length&&"config"===p[1]))return n;if("history"===h){if(1===p.length||2===p.length&&"history"===p[1])return o;if(p.length>=3){const e=p[2];if("purge"===e)return l["history-purge"]||[];if("prefetch"===e)return l["history-prefetch"]||[]}}return"purge"===h?l.purge||[]:"prefetch"===h?l.prefetch||[]:"completion"===h?["install","uninstall","--shell"]:i}}).catch(e=>{process.env.COMP_LINE&&console.error("补全错误:",e.message)});
3
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\completion.js","names":["tabtab","parseEnv","commands","configSubcommands","historySubcommands","globalOptions","commandOptions","purge","prefetch","history","config","completion","name","completer","async","payload","env","process","words","line","split","filter","w","lastPartial","length","cmd","prevWords","slice","historyCmd","catch","err","COMP_LINE","console","error","message"],"sources":["../src/completion.ts"],"mappings":";OACOA,eAAUC,MAAqB,SAItC,MAAMC,EAAW,CACf,SACA,QACA,WACA,UACA,aACA,QAGIC,EAAoB,CAAC,OAAQ,OAAQ,OAAQ,UAC7CC,EAAqB,CAAC,QAAS,YAE/BC,EAAgB,CACpB,KAAM,SACN,KAAM,aAGFC,EAA2C,CAC/CC,MAAS,CAAC,KAAM,QAAS,KAAM,QAAS,KAAM,QAAS,KAAM,UAC7DC,SAAY,CAAC,KAAM,UACnBC,QAAW,GACX,gBAAiB,CAAC,KAAM,UACxB,mBAAoB,CAAC,KAAM,UAC3BC,OAAU,GACVC,WAAc,CAAC,YA4DjBX,EAAO,CACLY,KAAM,cACNC,UA1DFC,eAAyBC,GACvB,MAAMC,EAAMf,EAASgB,QAAQD,KAEvBE,GADOF,EAAIG,MAAQ,IACNC,MAAM,KAAKC,OAAQC,GAAoB,KAANA,GAIpD,GAHoBN,EAAIO,YAGN,IAAdP,EAAIE,OAAiC,IAAjBA,EAAMM,QAA6B,gBAAbN,EAAM,GAClD,OAAOhB,EAGT,MAAMuB,EAAMP,EAAM,GACZQ,EAAYR,EAAMS,MAAM,GAG9B,GAAY,WAARF,IACuB,IAArBC,EAAUF,QAAsC,IAArBE,EAAUF,QAAiC,WAAjBE,EAAU,IACjE,OAAOvB,EAKX,GAAY,YAARsB,EAAmB,CACrB,GAAyB,IAArBC,EAAUF,QAAsC,IAArBE,EAAUF,QAAiC,YAAjBE,EAAU,GACjE,OAAOtB,EAET,GAAIsB,EAAUF,QAAU,EAAG,CACzB,MAAMI,EAAaF,EAAU,GAC7B,GAAmB,UAAfE,EACF,OAAOtB,EAAe,kBAAoB,GACrC,GAAmB,aAAfsB,EACT,OAAOtB,EAAe,qBAAuB,EAEjD,CACF,CAGA,MAAY,UAARmB,EACKnB,EAAsBC,OAAK,GAIxB,aAARkB,EACKnB,EAAyBE,UAAK,GAI3B,eAARiB,EACK,CAAC,UAAW,YAAa,WAI3BpB,CACT,IAMGwB,MAAOC,IAEHb,QAAQD,IAAIe,WAGjBC,QAAQC,MAAM,QAASH,EAAII","ignoreList":[]}
@@ -1,67 +1,67 @@
1
- /**
2
- * 错误码模块
3
- * 提供错误码和描述互相转换的功能
4
- */
5
- /**
6
- * EdgeOne 错误码枚举
7
- */
8
- export declare enum ErrorCode {
9
- InternalError_BackendError = "InternalError.BackendError",
10
- InternalError_DomainConfig = "InternalError.DomainConfig",
11
- InternalError_ProxyServer = "InternalError.ProxyServer",
12
- InternalError_QuotaSystem = "InternalError.QuotaSystem",
13
- InvalidParameter_DomainNotFound = "InvalidParameter.DomainNotFound",
14
- InvalidParameter_ParameterError = "InvalidParameter.ParameterError",
15
- InvalidParameter_Target = "InvalidParameter.Target",
16
- InvalidParameter_TaskNotGenerated = "InvalidParameter.TaskNotGenerated",
17
- InvalidParameter_UploadUrl = "InvalidParameter.UploadUrl",
18
- LimitExceeded_BatchQuota = "LimitExceeded.BatchQuota",
19
- LimitExceeded_DailyQuota = "LimitExceeded.DailyQuota",
20
- LimitExceeded_PackNotAllow = "LimitExceeded.PackNotAllow",
21
- UnauthorizedOperation_CamUnauthorized = "UnauthorizedOperation.CamUnauthorized",
22
- UnauthorizedOperation_NoPermission = "UnauthorizedOperation.NoPermission",
23
- UnauthorizedOperation_Unknown = "UnauthorizedOperation.Unknown"
24
- }
25
- /**
26
- * 错误码工具类
27
- */
28
- export declare class ErrorCodeUtil {
29
- /**
30
- * 根据错误码获取描述
31
- */
32
- static getMessage(code: string | ErrorCode): string;
33
- /**
34
- * 根据描述获取错误码(支持模糊匹配)
35
- */
36
- static getCode(message: string): ErrorCode | null;
37
- /**
38
- * 获取所有错误码列表
39
- */
40
- static getAllCodes(): ErrorCode[];
41
- /**
42
- * 检查是否为有效错误码
43
- */
44
- static isValidCode(code: string): boolean;
45
- /**
46
- * 格式化错误信息
47
- */
48
- static format(code: string | ErrorCode, customMessage?: string): string;
49
- /**
50
- * 获取错误码分类
51
- */
52
- static getCategory(code: string | ErrorCode): string;
53
- }
54
- /**
55
- * 错误类
56
- */
57
- export declare class EdgeOneError extends Error {
58
- code: ErrorCode;
59
- details?: Record<string, unknown>;
60
- constructor(code: ErrorCode, message?: string, details?: Record<string, unknown>);
61
- toString(): string;
62
- /**
63
- * 获取错误分类
64
- */
65
- getCategory(): string;
66
- }
1
+ /**
2
+ * 错误码模块
3
+ * 提供错误码和描述互相转换的功能
4
+ */
5
+ /**
6
+ * EdgeOne 错误码枚举
7
+ */
8
+ export declare enum ErrorCode {
9
+ InternalError_BackendError = "InternalError.BackendError",
10
+ InternalError_DomainConfig = "InternalError.DomainConfig",
11
+ InternalError_ProxyServer = "InternalError.ProxyServer",
12
+ InternalError_QuotaSystem = "InternalError.QuotaSystem",
13
+ InvalidParameter_DomainNotFound = "InvalidParameter.DomainNotFound",
14
+ InvalidParameter_ParameterError = "InvalidParameter.ParameterError",
15
+ InvalidParameter_Target = "InvalidParameter.Target",
16
+ InvalidParameter_TaskNotGenerated = "InvalidParameter.TaskNotGenerated",
17
+ InvalidParameter_UploadUrl = "InvalidParameter.UploadUrl",
18
+ LimitExceeded_BatchQuota = "LimitExceeded.BatchQuota",
19
+ LimitExceeded_DailyQuota = "LimitExceeded.DailyQuota",
20
+ LimitExceeded_PackNotAllow = "LimitExceeded.PackNotAllow",
21
+ UnauthorizedOperation_CamUnauthorized = "UnauthorizedOperation.CamUnauthorized",
22
+ UnauthorizedOperation_NoPermission = "UnauthorizedOperation.NoPermission",
23
+ UnauthorizedOperation_Unknown = "UnauthorizedOperation.Unknown"
24
+ }
25
+ /**
26
+ * 错误码工具类
27
+ */
28
+ export declare class ErrorCodeUtil {
29
+ /**
30
+ * 根据错误码获取描述
31
+ */
32
+ static getMessage(code: string | ErrorCode): string;
33
+ /**
34
+ * 根据描述获取错误码(支持模糊匹配)
35
+ */
36
+ static getCode(message: string): ErrorCode | null;
37
+ /**
38
+ * 获取所有错误码列表
39
+ */
40
+ static getAllCodes(): ErrorCode[];
41
+ /**
42
+ * 检查是否为有效错误码
43
+ */
44
+ static isValidCode(code: string): boolean;
45
+ /**
46
+ * 格式化错误信息
47
+ */
48
+ static format(code: string | ErrorCode, customMessage?: string): string;
49
+ /**
50
+ * 获取错误码分类
51
+ */
52
+ static getCategory(code: string | ErrorCode): string;
53
+ }
54
+ /**
55
+ * 错误类
56
+ */
57
+ export declare class EdgeOneError extends Error {
58
+ code: ErrorCode;
59
+ details?: Record<string, unknown>;
60
+ constructor(code: ErrorCode, message?: string, details?: Record<string, unknown>);
61
+ toString(): string;
62
+ /**
63
+ * 获取错误分类
64
+ */
65
+ getCategory(): string;
66
+ }
67
67
  //# sourceMappingURL=codes.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env node
2
- export {};
1
+ #!/usr/bin/env node
2
+ export {};
3
3
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import o from"chalk";import{program as n}from"commander";import e from"./commands/config.js";import{createHistoryCommand as d,createPrefetchCommand as a,createPurgeCommand as m}from"./commands/edgeone.js";import r from"../package.json"with{type:"json"};const c=r.version;n.name("edgeone-cli").description("EdgeOne CLI - 本地化 EdgeOne 服务管理工具").version(c,"-v, --version","显示版本号"),n.addHelpText("beforeAll",`\n${o.cyan.bold("╔══════════════════════════════════════╗")}\n${o.cyan.bold("║")} ${o.white.bold("EdgeOne CLI")} ${o.cyan.bold(" ║")}\n${o.cyan.bold("║")} ${o.gray("本地化 EdgeOne 服务管理工具")} ${o.cyan.bold(" ║")}\n${o.cyan.bold("╚══════════════════════════════════════╝")}\n`),n.addCommand(e),n.addCommand(m()),n.addCommand(a()),n.addCommand(d()),n.parse(),process.argv.slice(2).length||n.outputHelp();
2
+ import o from"chalk";import{program as n}from"commander";import e from"./commands/config.js";import{createHistoryCommand as d,createPrefetchCommand as a,createPurgeCommand as m}from"./commands/edgeone.js";import{startInteractive as i}from"./repl.js";import r from"../package.json"with{type:"json"};const c=r.version;n.name("edgeone-cli").description("EdgeOne CLI - 本地化 EdgeOne 服务管理工具").version(c,"-v, --version","显示版本号").option("-i, --interactive","进入交互模式"),n.addHelpText("beforeAll",`\n${o.cyan.bold("╔═══════════════════════════════════╗")}\n${o.cyan.bold("║")} ${o.white.bold("EdgeOne CLI")} ${o.cyan.bold(" ║")}\n${o.cyan.bold("║")} ${o.gray("本地化 EdgeOne 服务管理工具")} ${o.cyan.bold("║")}\n${o.cyan.bold("╚═══════════════════════════════════╝")}\n`),n.addCommand(e),n.addCommand(m()),n.addCommand(a()),n.addCommand(d());const s=process.argv.slice(2);s.includes("-i")||s.includes("--interactive")?i():n.parse();
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"A:\\edgeone-cli\\dist\\index.js","names":["chalk","program","configCmd","createHistoryCommand","createPrefetchCommand","createPurgeCommand","packageJson","type","version","name","description","addHelpText","cyan","bold","white","gray","addCommand","parse","process","argv","slice","length","outputHelp"],"sources":["../src/index.ts"],"mappings":";OAEOA,MAAW,0BACTC,MAAe,mBACjBC,MAAe,sDACbC,2BAAsBC,wBAAuBC,MAA0B,+BAEzEC,MAAiB,qBAAkB,CAAOC,KAAM,QAGvD,MAAMC,EAAUF,EAAYE,QAG5BP,EAAQQ,KAAK,eAAeC,YAAY,oCAAoCF,QAAQA,EAAS,gBAAiB,SAG9GP,EAAQU,YACN,YACA,KACAX,EAAMY,KAAKC,KAAK,gDAChBb,EAAMY,KAAKC,KAAK,SAASb,EAAMc,MAAMD,KAAK,kBAAkBb,EAAMY,KAAKC,KAAK,iCAC5Eb,EAAMY,KAAKC,KAAK,SAASb,EAAMe,KAAK,gCAAgCf,EAAMY,KAAKC,KAAK,UACpFb,EAAMY,KAAKC,KAAK,iDAKlBZ,EAAQe,WAAWd,GACnBD,EAAQe,WAAWX,KACnBJ,EAAQe,WAAWZ,KACnBH,EAAQe,WAAWb,KAGnBF,EAAQgB,QAGHC,QAAQC,KAAKC,MAAM,GAAGC,QACzBpB,EAAQqB","ignoreList":[]}
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\index.js","names":["chalk","program","configCmd","createHistoryCommand","createPrefetchCommand","createPurgeCommand","startInteractive","packageJson","type","version","name","description","option","addHelpText","cyan","bold","white","gray","addCommand","args","process","argv","slice","includes","parse"],"sources":["../src/index.ts"],"mappings":";OAEOA,MAAW,0BACTC,MAAe,mBACjBC,MAAe,sDACbC,2BAAsBC,wBAAuBC,MAA0B,mDACvEC,MAAwB,mBAE1BC,MAAiB,qBAAkB,CAAOC,KAAM,QAGvD,MAAMC,EAAUF,EAAYE,QAG5BR,EACGS,KAAK,eACLC,YAAY,oCACZF,QAAQA,EAAS,gBAAiB,SAClCG,OAAO,oBAAqB,UAG/BX,EAAQY,YACN,YACA,KACAb,EAAMc,KAAKC,KAAK,6CAChBf,EAAMc,KAAKC,KAAK,SAASf,EAAMgB,MAAMD,KAAK,kBAAkBf,EAAMc,KAAKC,KAAK,8BAC5Ef,EAAMc,KAAKC,KAAK,SAASf,EAAMiB,KAAK,8BAA8BjB,EAAMc,KAAKC,KAAK,SAClFf,EAAMc,KAAKC,KAAK,8CAKlBd,EAAQiB,WAAWhB,GACnBD,EAAQiB,WAAWb,KACnBJ,EAAQiB,WAAWd,KACnBH,EAAQiB,WAAWf,KAGnB,MAAMgB,EAAOC,QAAQC,KAAKC,MAAM,GACLH,EAAKI,SAAS,OAASJ,EAAKI,SAAS,iBAI9DjB,IAGAL,EAAQuB","ignoreList":[]}
package/dist/repl.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 交互式菜单 - 使用 inquirer 实现
3
+ */
4
+ /**
5
+ * 启动交互式菜单
6
+ */
7
+ export declare function startInteractive(): Promise<void>;
8
+ //# sourceMappingURL=repl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0DH;;GAEG;AACH,wBAAsB,gBAAgB,kBAYrC"}
package/dist/repl.js ADDED
@@ -0,0 +1,2 @@
1
+ import e from"inquirer";import o from"chalk";import{readConfig as n}from"./commands/config.js";import{EdgeOneClient as t}from"./api/client.js";async function a(){await e.prompt([{type:"input",name:"continue",message:"按 Enter 键返回..."}])}function s(){console.log(""),console.log(o.cyan("╔════════════════════════════════════╗")),console.log(o.cyan("║")+" "+o.white.bold("EdgeOne CLI")+" "+o.cyan("║")),console.log(o.cyan("║")+" "+o.gray("本地化 EdgeOne 服务管理工具")+" "+o.cyan("║")),console.log(o.cyan("╚════════════════════════════════════╝")),console.log("")}export async function startInteractive(){n()||(s(),await c()),await async function(){for(;;){console.clear(),s();const n=await e.prompt([{type:"list",name:"action",message:"请选择操作:",choices:[{name:"📋 配置管理",value:"config"},{name:"🔄 清除缓存",value:"purge"},{name:"🔥 内容预热",value:"prefetch"},{name:"📊 历史记录",value:"history"},new e.Separator("─────────────────"),{name:"❌ 退出",value:"exit"}],pageSize:10}]);"exit"===n.action&&(console.log(o.gray("\n👋 再见!\n")),process.exit(0)),n.action&&await l(n.action)}}()}async function l(s){const l=n();switch(s){case"config":await async function(){const t=await e.prompt([{type:"list",name:"action",message:"配置管理:",choices:[{name:"查看配置",value:"show"},{name:"编辑配置",value:"edit"},{name:"删除配置",value:"remove"},{name:"初始化配置",value:"init"},new e.Separator,{name:"← 返回",value:"back"}]}]);if("back"===t.action)return;if("init"===t.action)return void await c();const s=n();if(!s)return void console.log(o.yellow("\n⚠️ 配置不存在,请先初始化\n"));const{EdgeOneClient:l}=await import("./api/client.js");new l(s.secretId,s.secretKey,s.endpoint||"teo.tencentcloudapi.com","ap-guangzhou",s.mode);switch(t.action){case"show":await async function(e){const n="debug"===e.mode?"调试模式":"生产模式",t="debug"===e.mode?o.yellow:o.green;console.log(o.cyan("\n📋 当前配置:\n")),console.log(o.gray("─".repeat(40))),console.log(` SecretId: ${o.green(i(e.secretId))}`),console.log(` SecretKey: ${o.green(i(e.secretKey))}`),console.log(` 接口请求域名: ${o.yellow(e.endpoint||"teo.tencentcloudapi.com")}`),console.log(` 运行模式: ${t(n)}`),e.domainIdList&&e.domainIdList.length>0&&console.log(` 域名ID列表: ${o.yellow(e.domainIdList.join(", "))}`);console.log(o.gray("─".repeat(40))),console.log(""),await a()}(s);break;case"edit":await async function(n){const t=await e.prompt([{type:"list",name:"action",message:"选择要修改的配置项:",choices:[{name:"SecretId",value:"secretId"},{name:"SecretKey",value:"secretKey"},{name:"接口请求域名",value:"endpoint"},{name:"运行模式",value:"mode"},{name:"域名ID列表",value:"domainIdList"}]}]);let a;"secretId"===t.action?(a=await e.prompt([{type:"input",name:"value",message:"请输入新的 SecretId:",validate:e=>e.trim()||"不能为空"}]),n.secretId=a.value):"secretKey"===t.action?(a=await e.prompt([{type:"password",name:"value",message:"请输入新的 SecretKey:",mask:"*",validate:e=>e.trim()||"不能为空"}]),n.secretKey=a.value):"endpoint"===t.action?(a=await e.prompt([{type:"input",name:"value",message:"请输入新的接口请求域名:"}]),n.endpoint=a.value):"mode"===t.action?(a=await e.prompt([{type:"list",name:"value",message:"请选择运行模式:",choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}]}]),n.mode=a.value):"domainIdList"===t.action&&(a=await e.prompt([{type:"input",name:"value",message:"请输入域名ID列表(多个用逗号分隔):"}]),n.domainIdList=a.value?a.value.split(",").map(e=>e.trim()).filter(e=>e):[]);const{writeConfig:s}=await import("./commands/config.js");s(n),console.log(o.green("\n✅ 配置已更新\n"))}(s);break;case"remove":await async function(){const{confirm:n}=await e.prompt([{type:"confirm",name:"confirm",message:"确定要删除配置文件吗?",default:!1}]);if(n){const e=await import("fs"),n=await import("path"),t=await import("os"),a=n.join(t.homedir(),".edgeone-cli","config.json");e.existsSync(a)&&(e.unlinkSync(a),console.log(o.green("\n✅ 配置文件已删除\n")))}}()}}();break;case"purge":l?await async function(n){const s=await e.prompt([{type:"list",name:"type",message:"选择清除类型:",choices:[{name:"清除全部缓存",value:"all"},{name:"清除指定目录缓存",value:"dir"},{name:"清除指定 URL 缓存",value:"url"},new e.Separator,{name:"← 返回",value:"back"}]}]);if("back"===s.type)return;let l=[],c="purge_all",i="*";if(n.domainIdList&&n.domainIdList.length>0){const o=await e.prompt([{type:"list",name:"zone",message:"选择 Zone ID:",choices:["* (全部站点)",...n.domainIdList]}]);"* (全部站点)"!==o.zone&&(i=o.zone)}if("all"===s.type){if(!(await e.prompt([{type:"confirm",name:"confirm",message:`确认清除全部缓存? (Zone: ${i})`,default:!1}])).confirm)return;c="purge_all"}else if("dir"===s.type){const o=await e.prompt([{type:"input",name:"dir",message:"请输入目录路径 (输入 :q 或按 Ctrl+C 返回):"}]);if(":q"===o.dir||!o.dir)return;l=[o.dir],c="purge_prefix"}else if("url"===s.type){const o=await e.prompt([{type:"input",name:"urls",message:"请输入 URL (多个用空格分隔, 输入 :q 或按 Ctrl+C 返回):"}]);if(":q"===o.urls||!o.urls)return;l=o.urls.split(/\s+/).filter(e=>e.trim()),c="purge_url"}await async function(e,n,s,l){const c=new t(e.secretId,e.secretKey,e.endpoint||"teo.tencentcloudapi.com","ap-guangzhou",e.mode),i="debug"===e.mode;i&&(console.log(o.cyan("\n🔄 清除缓存任务\n")),console.log(o.gray("API 参数:")),console.log(` ZoneId: ${o.green(l)}`),console.log(` Type: ${o.green(n)}`),s.length>0&&console.log(` Targets: ${o.green(JSON.stringify(s))}`),console.log(""));try{const e=await c.createPurgeTask({zoneId:l,type:n,targets:s});e.Response?.Error?(console.log(o.red("\n❌ 请求失败:")),console.log(` 错误码: ${o.yellow(e.Response.Error.Code)}`),console.log(` 错误信息: ${o.yellow(e.Response.Error.Message)}`)):(console.log(o.green("\n✅ 请求成功!")),console.log(` RequestId: ${o.yellow(e.Response?.RequestId)}`),e.Response?.JobId&&console.log(` JobId: ${o.yellow(e.Response.JobId)}`))}catch(e){console.log(o.red("\n❌ 请求异常:")),console.log(` ${e.message}`)}console.log(""),await a()}(n,c,l,i)}(l):(console.log(o.yellow("\n⚠️ 请先初始化配置\n")),await c());break;case"prefetch":l?await async function(n){const s=await e.prompt([{type:"input",name:"urls",message:"请输入要预热的 URL (多个用空格分隔, 输入 :q 或按 Ctrl+C 返回):"}]);if(":q"===s.urls||!s.urls.trim())return;const l=s.urls.split(/\s+/).filter(e=>e.trim());let c="*";if(n.domainIdList&&n.domainIdList.length>0){const o=await e.prompt([{type:"list",name:"zone",message:"选择 Zone ID:",choices:["* (全部站点)",...n.domainIdList]}]);"* (全部站点)"!==o.zone&&(c=o.zone)}if(!(await e.prompt([{type:"confirm",name:"confirm",message:`确认预热以下 URL?\n ${l.join("\n ")}\n`,default:!0}])).confirm)return;await async function(e,n,s){const l=new t(e.secretId,e.secretKey,e.endpoint||"teo.tencentcloudapi.com","ap-guangzhou",e.mode),c="debug"===e.mode;c&&(console.log(o.cyan("\n🔥 预热任务\n")),console.log(o.gray("URL列表:")),n.forEach(e=>console.log(` - ${o.yellow(e)}`)),console.log(`\nZone ID: ${o.green(s)}`),console.log(""));try{const e=await l.createPrefetchTask({zoneId:s,urls:n});e.Response?.Error?(console.log(o.red("\n❌ 请求失败:")),console.log(` 错误码: ${o.yellow(e.Response.Error.Code)}`),console.log(` 错误信息: ${o.yellow(e.Response.Error.Message)}`)):(console.log(o.green("\n✅ 预热任务已提交!")),console.log(` RequestId: ${o.yellow(e.Response?.RequestId)}`),e.Response?.JobId&&console.log(` JobId: ${o.yellow(e.Response.JobId)}`))}catch(e){console.log(o.red("\n❌ 请求异常:")),console.log(` ${e.message}`)}console.log(""),await a()}(n,l,c)}(l):(console.log(o.yellow("\n⚠️ 请先初始化配置\n")),await c());break;case"history":l?await async function(n){const s=await e.prompt([{type:"list",name:"type",message:"选择查询类型:",choices:[{name:"清除缓存历史",value:"purge"},{name:"预热任务历史",value:"prefetch"},new e.Separator,{name:"← 返回",value:"back"}]}]);if("back"===s.type)return;let l=[];if(!(n.domainIdList&&n.domainIdList.length>0))return void console.log(o.yellow("\n⚠️ 未配置域名ID列表,请使用 --zone 参数指定或在配置中添加\n"));l=(await e.prompt([{type:"checkbox",name:"zones",message:"选择 Zone ID (可多选):",choices:n.domainIdList,validate:e=>e.length>0||"请至少选择一个 Zone ID"}])).zones;"purge"===s.type?await async function(e,n){const s=new t(e.secretId,e.secretKey,e.endpoint||"teo.tencentcloudapi.com","",e.mode),l="debug"===e.mode;l&&(console.log(o.cyan("\n📋 清除缓存历史记录\n")),console.log(o.gray("ZoneIds: "+n.join(", "))));try{const e=await s.describePurgeTasks(n);if(e.Response?.Error)console.log(o.red("\n❌ 请求失败:")),console.log(` 错误码: ${o.yellow(e.Response.Error.Code)}`),console.log(` 错误信息: ${o.yellow(e.Response.Error.Message)}`);else{console.log(o.green("\n✅ 查询成功!")),console.log(` RequestId: ${o.yellow(e.Response?.RequestId)}`);const n=e.Response?.Tasks||[];if(n.length>0){const{default:t}=await import("cli-table3"),a=new t({head:[o.gray("状态"),o.gray("清除地址"),o.gray("时间"),o.gray("类型")],colWidths:[8,50,30,8],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(e=>{const n="success"===e.Status?o.green("✓"):o.red("✗"),t=e.Target||"all",s="purge_url"===e.Type?"URL":"purge_prefix"===e.Type?"目录":"全部",l=e.CreateTime?e.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",c=t.length>47?t.slice(0,44)+"...":t;a.push([n,o.yellow(c),o.gray(l),s])}),console.log(o.cyan("\n📋 清除缓存记录:\n")),console.log(a.toString()),console.log(` 总计: ${o.yellow(e.Response?.TotalCount||n.length)} 条记录`)}else console.log(o.gray("\n 暂无清除记录\n"))}}catch(e){console.log(o.red("\n❌ 请求异常:")),console.log(` ${e.message}`)}console.log(""),await a()}(n,l):await async function(e,n){const s=new t(e.secretId,e.secretKey,e.endpoint||"teo.tencentcloudapi.com","",e.mode),l="debug"===e.mode;l&&(console.log(o.cyan("\n📋 预热任务历史记录\n")),console.log(o.gray("ZoneIds: "+n.join(", "))));try{const e=await s.describePrefetchTasks(n);if(e.Response?.Error)console.log(o.red("\n❌ 请求失败:")),console.log(` 错误码: ${o.yellow(e.Response.Error.Code)}`),console.log(` 错误信息: ${o.yellow(e.Response.Error.Message)}`);else{console.log(o.green("\n✅ 查询成功!")),console.log(` RequestId: ${o.yellow(e.Response?.RequestId)}`);const n=e.Response?.PrefetchTasks||[];if(n.length>0){const{default:t}=await import("cli-table3"),a=new t({head:[o.gray("状态"),o.gray("预热地址"),o.gray("时间")],colWidths:[8,60,30],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(e=>{const n="success"===e.Status?o.green("✓"):"processing"===e.Status?o.yellow("⏳"):o.red("✗"),t=e.Target||"unknown",s=e.CreateTime?e.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",l=t.length>57?t.slice(0,54)+"...":t;a.push([n,o.yellow(l),o.gray(s)])}),console.log(o.cyan("\n📋 预热任务记录:\n")),console.log(a.toString()),console.log(` 总计: ${o.yellow(e.Response?.TotalCount||n.length)} 条记录`)}else console.log(o.gray("\n 暂无预热记录\n"))}}catch(e){console.log(o.red("\n❌ 请求异常:")),console.log(` ${e.message}`)}console.log(""),await a()}(n,l)}(l):(console.log(o.yellow("\n⚠️ 请先初始化配置\n")),await c())}}async function c(){const t=n();if(t){const{overwrite:o}=await e.prompt([{type:"confirm",name:"overwrite",message:"配置已存在,是否覆盖?",default:!1}]);if(!o)return}const a=await e.prompt([{type:"input",name:"secretId",message:"请输入 SecretId:",default:t?.secretId||"",validate:e=>!!e.trim()||"SecretId 不能为空"},{type:"password",name:"secretKey",message:"请输入 SecretKey:",mask:"*",validate:e=>!!e.trim()||"SecretKey 不能为空"},{type:"input",name:"endpoint",message:"请输入接口请求域名:",default:t?.endpoint||"teo.tencentcloudapi.com"},{type:"list",name:"mode",message:"请选择运行模式:",choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}],default:t?.mode||"production"},{type:"input",name:"domainIdList",message:"请输入域名ID列表(多个用逗号分隔,留空跳过):",default:t?.domainIdList?.join(", ")||""}]),{writeConfig:s}=await import("./commands/config.js"),l=a.domainIdList?a.domainIdList.split(",").map(e=>e.trim()).filter(e=>e):[];s({secretId:a.secretId,secretKey:a.secretKey,endpoint:a.endpoint,mode:a.mode,domainIdList:l});const c=t?"更新":"保存";console.log(o.green(`\n✅ 配置已${c}\n`))}function i(e,o=4){return e?e.length<=2*o?e:e.slice(0,o)+"****"+e.slice(-o):"N/A"}
2
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\repl.js","names":["inquirer","chalk","readConfig","EdgeOneClient","async","pauseToContinue","prompt","type","name","message","showBanner","console","log","cyan","white","bold","gray","startInteractive","initConfig","clear","answers","choices","value","Separator","pageSize","action","process","exit","handleAction","mainMenu","config","yellow","import","secretId","secretKey","endpoint","mode","modeText","modeColor","green","repeat","maskString","domainIdList","length","join","showConfigInfo","newValue","validate","i","trim","mask","split","map","id","filter","writeConfig","editConfig","confirm","default","fs","path","os","CONFIG_FILE","homedir","existsSync","unlinkSync","removeConfig","configMenu","targets","purgeType","zoneId","zoneAnswers","zone","dirAnswers","dir","urlAnswers","urls","u","client","isDebug","JSON","stringify","result","createPurgeTask","Response","Error","red","Code","Message","RequestId","JobId","error","executePurge","purgeMenu","forEach","createPrefetchTask","executePrefetch","prefetchMenu","zoneIds","input","zones","describePurgeTasks","tasks","Tasks","Table","table","head","colWidths","chars","mid","task","status","Status","target","Target","Type","createTime","CreateTime","replace","slice","displayTarget","push","toString","TotalCount","queryPurgeHistory","describePrefetchTasks","PrefetchTasks","queryPrefetchHistory","historyMenu","existingConfig","overwrite","domainIds","str","showLength"],"sources":["../src/repl.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 交互式菜单 - 使用 inquirer 实现
3
+ */
4
+ /**
5
+ * 启动交互式菜单
6
+ */
7
+ export declare function startInteractiveMenu(): Promise<void>;
8
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/ui/interactive.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH;;GAEG;AACH,wBAAsB,oBAAoB,kBAiCzC"}
@@ -0,0 +1,2 @@
1
+ import e from"inquirer";import a from"chalk";import{readConfig as n}from"../commands/config.js";import{execSync as o}from"child_process";import{fileURLToPath as t}from"url";import{dirname as i,resolve as s}from"path";const c=s(i(t(import.meta.url)),"index.js");export async function startInteractiveMenu(){console.log(""),console.log(a.cyan("╔══════════════════════════════════════╗")),console.log(a.cyan("║")+" "+a.white.bold("EdgeOne CLI")+" "+a.cyan("║")),console.log(a.cyan("║")+" "+a.gray("本地化 EdgeOne 服务管理工具")+" "+a.cyan("║")),console.log(a.cyan("╚══════════════════════════════════════╝")),console.log("");const o=!!n();for(;;){const{action:n}=await e.prompt([{type:"list",name:"action",message:"请选择操作:",choices:r(o),pageSize:12}]);"exit"===n&&(console.log(a.gray("\n👋 再见!\n")),process.exit(0)),await l(n)}}function r(n){const o=[{name:"📋 配置管理",value:"config"},{name:"🔄 清除缓存",value:"purge"},{name:"🔥 内容预热",value:"prefetch"},{name:"📊 历史记录",value:"history"},new e.Separator("─────────────────"),{name:"❌ 退出",value:"exit"}];return n||o.unshift({name:a.yellow("⚠️ 初始化配置 (必选)"),value:"config-init"}),o}async function l(o){switch(o){case"config-init":await m("config init","初始化配置");break;case"config":await async function(){const{action:a}=await e.prompt([{type:"list",name:"action",message:"配置管理:",choices:[{name:"查看配置",value:"show"},{name:"编辑配置",value:"edit"},{name:"删除配置",value:"remove"},new e.Separator,{name:"← 返回",value:"back"}]}]);"back"!==a&&await m({show:"config show",edit:"config edit",remove:"config remove"}[a],"")}();break;case"purge":await async function(){if(!n())return void console.log(a.yellow("\n⚠️ 请先初始化配置\n"));const{type:o}=await e.prompt([{type:"list",name:"type",message:"选择清除类型:",choices:[{name:"清除全部缓存",value:"all"},{name:"清除指定目录缓存",value:"dir"},{name:"清除指定 URL 缓存",value:"url"},new e.Separator,{name:"← 返回",value:"back"}]}]);if("back"!==o)if("all"===o)await p("purge --all","确认清除全部缓存?");else if("dir"===o){const{dir:a}=await e.prompt([{type:"input",name:"dir",message:"请输入目录路径:",validate:e=>!!e.trim()||"目录路径不能为空"}]);await p(`purge --dir "${a}"`,`确认清除目录缓存: ${a}?`)}else if("url"===o){const{urls:a}=await e.prompt([{type:"input",name:"urls",message:"请输入 URL (多个用空格分隔):",validate:e=>!!e.trim()||"URL 不能为空"}]);await p(`purge --url ${a.split(/\s+/).map(e=>`"${e}"`).join(" ")}`,`确认清除 URL 缓存: ${a}?`)}}();break;case"prefetch":await async function(){if(!n())return void console.log(a.yellow("\n⚠️ 请先初始化配置\n"));const{urls:o}=await e.prompt([{type:"input",name:"urls",message:"请输入要预热的 URL (多个用空格分隔):",validate:e=>!!e.trim()||"URL 不能为空"}]);if("back"===o)return;const t=o.split(/\s+/).filter(e=>e.trim());await p(`prefetch ${t.map(e=>`"${e}"`).join(" ")}`,`确认预热以下 URL?\n ${t.join("\n ")}`)}();break;case"history":await async function(){const o=n();if(!o)return void console.log(a.yellow("\n⚠️ 请先初始化配置\n"));const{type:t}=await e.prompt([{type:"list",name:"type",message:"选择查询类型:",choices:[{name:"清除缓存历史",value:"purge"},{name:"预热任务历史",value:"prefetch"},new e.Separator,{name:"← 返回",value:"back"}]}]);if("back"!==t)if(o.domainIdList&&o.domainIdList.length>0){const{zones:a}=await e.prompt([{type:"checkbox",name:"zones",message:"选择 Zone ID (可多选):",choices:o.domainIdList,default:o.domainIdList,validate:e=>e.length>0||"请至少选择一个 Zone ID"}]);await m(`history ${t}`,`查询 ${"purge"===t?"清除缓存":"预热任务"} 历史`)}else await m(`history ${t}`,`查询 ${"purge"===t?"清除缓存":"预热任务"} 历史`)}()}}async function m(e,a){console.log("");try{o(`node "${c}" ${e}`,{stdio:"inherit",shell:!0})}catch(e){}console.log("")}async function p(a,n){const{confirm:o}=await e.prompt([{type:"confirm",name:"confirm",message:n,default:!0}]);o&&await m(a)}
2
+ //# sourceMappingURL=ui\interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\ui\\interactive.js","names":["inquirer","chalk","readConfig","execSync","fileURLToPath","dirname","resolve","indexPath","url","async","startInteractiveMenu","console","log","cyan","white","bold","gray","hasConfig","action","prompt","type","name","message","choices","getMenuChoices","pageSize","process","exit","executeAction","value","Separator","unshift","yellow","runCommand","show","edit","remove","confirmAndRun","dir","validate","input","trim","urls","split","map","u","join","urlList","filter","config","domainIdList","length","zones","default","cmd","description","stdio","shell","error","confirm"],"sources":["../../src/ui/interactive.ts"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,13 @@
1
- /**
2
- * 加密文本
3
- */
4
- export declare function encrypt(text: string): string;
5
- /**
6
- * 解密文本
7
- */
8
- export declare function decrypt(encryptedText: string): string;
9
- /**
10
- * 检查文本是否为加密格式
11
- */
12
- export declare function isEncrypted(text: string): boolean;
1
+ /**
2
+ * 加密文本
3
+ */
4
+ export declare function encrypt(text: string): string;
5
+ /**
6
+ * 解密文本
7
+ */
8
+ export declare function decrypt(encryptedText: string): string;
9
+ /**
10
+ * 检查文本是否为加密格式
11
+ */
12
+ export declare function isEncrypted(text: string): boolean;
13
13
  //# sourceMappingURL=crypto.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edgeone-cli",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "EdgeOne CLI - 本地化 EdgeOne 服务管理工具",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",