edgeone-cli 1.0.3 → 1.0.5

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
@@ -12,6 +12,13 @@ interface CreatePrefetchTaskOptions {
12
12
  zoneId?: string;
13
13
  urls: string[];
14
14
  }
15
+ interface ModifyZoneStatusOptions {
16
+ zoneId: string;
17
+ paused: boolean;
18
+ }
19
+ interface DescribeZoneStatusOptions {
20
+ zoneId: string;
21
+ }
15
22
  interface CreatePurgeTaskResponse {
16
23
  Response: {
17
24
  RequestId: string;
@@ -49,6 +56,14 @@ export declare class EdgeOneClient {
49
56
  * 查询预热任务
50
57
  */
51
58
  describePrefetchTasks(zoneIds?: string[]): Promise<any>;
59
+ /**
60
+ * 修改站点状态
61
+ */
62
+ modifyZoneStatus(options: ModifyZoneStatusOptions): Promise<CreatePurgeTaskResponse>;
63
+ /**
64
+ * 查询站点状态
65
+ */
66
+ describeZoneStatus(options: DescribeZoneStatusOptions): Promise<any>;
52
67
  }
53
68
  export {};
54
69
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,yBAAyB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;gBAEb,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAiB,EAAE,IAAI,GAAE,UAAyB;IAQ3H;;OAEG;YACW,OAAO;IAuDrB;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAWxF;;OAEG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA8D1D;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAS9F;;OAEG;IACG,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CA6D9D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,UAAU,sBAAsB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,yBAAyB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,yBAAyB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;gBAEb,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAiB,EAAE,IAAI,GAAE,UAAyB;IAQ3H;;OAEG;YACW,OAAO;IAuDrB;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAWxF;;OAEG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA8D1D;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAS9F;;OAEG;IACG,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA8D7D;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAS1F;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC;CAY3E"}
@@ -1,2 +1,2 @@
1
- import{calculateSignature as e}from"../utils/signature.js";export class EdgeOneClient{secretId;secretKey;endpoint;region;mode;constructor(e,t,s,r="ap-guangzhou",n="production"){this.secretId=e,this.secretKey=t,this.endpoint=s,this.region=r,this.mode=n}async request(t,s,r){const n=Math.floor(Date.now()/1e3).toString(),o=JSON.stringify(r),a={Authorization:e({secretId:this.secretId,secretKey:this.secretKey,endpoint:this.endpoint,action:t,requestBody:o,timestamp:n}),"Content-Type":"application/json; charset=utf-8","X-TC-Action":t,"X-TC-Version":s,"X-TC-Timestamp":n,"X-TC-Language":"zh-CN"};"debug"===this.mode&&(console.log("\n请求信息:"),console.log(` URL: https://${this.endpoint}`),console.log(` Headers: ${JSON.stringify({...a,Authorization:"***"},null,2)}`),console.log(` Body: ${o}\n`));try{const e=await fetch(`https://${this.endpoint}`,{method:"POST",headers:a,body:o}),t=await e.json();return"debug"===this.mode&&(console.log("响应结果:"),console.log(JSON.stringify(t,null,2))),t}catch(e){throw e}}async createPurgeTask(e){const t={ZoneId:e.zoneId||"*",Type:e.type,Method:"delete",Targets:e.targets||[]};return await this.request("CreatePurgeTask","2022-09-01",t)}async describePurgeTasks(e){const t=new Date,s=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}T${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}+08:00`,r={StartTime:s(new Date(t.getTime()-2592e6)),EndTime:s(t)};if(!e||0===e.length)return await this.request("DescribePurgeTasks","2022-09-01",r);if(1===e.length)return r.ZoneId=e[0],await this.request("DescribePurgeTasks","2022-09-01",r);const n=e.map(e=>{const t={...r,ZoneId:e};return this.request("DescribePurgeTasks","2022-09-01",t)}),o=await Promise.all(n),a={Response:{}},i=[];for(const e of o){if(e.Response?.Error)return e;e.Response?.PurgeTasks&&i.push(...e.Response.PurgeTasks)}return a.Response={...o[0].Response,PurgeTasks:i},a}async createPrefetchTask(e){const t={ZoneId:e.zoneId||"*",Targets:e.urls};return await this.request("CreatePrefetchTask","2022-09-01",t)}async describePrefetchTasks(e){const t=new Date,s=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}T${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}+08:00`,r={StartTime:s(new Date(t.getTime()-2592e6)),EndTime:s(t)};if(!e||0===e.length)return await this.request("DescribePrefetchTasks","2022-09-01",r);if(1===e.length)return r.ZoneId=e[0],await this.request("DescribePrefetchTasks","2022-09-01",r);const n=e.map(e=>{const t={...r,ZoneId:e};return this.request("DescribePrefetchTasks","2022-09-01",t)}),o=await Promise.all(n),a={Response:{}},i=[];for(const e of o){if(e.Response?.Error)return e;e.Response?.PrefetchTasks&&i.push(...e.Response.PrefetchTasks)}return a.Response={...o[0].Response,PrefetchTasks:i},a}}
1
+ import{calculateSignature as e}from"../utils/signature.js";export class EdgeOneClient{secretId;secretKey;endpoint;region;mode;constructor(e,t,s,r="ap-guangzhou",n="production"){this.secretId=e,this.secretKey=t,this.endpoint=s,this.region=r,this.mode=n}async request(t,s,r){const n=Math.floor(Date.now()/1e3).toString(),o=JSON.stringify(r),a={Authorization:e({secretId:this.secretId,secretKey:this.secretKey,endpoint:this.endpoint,action:t,requestBody:o,timestamp:n}),"Content-Type":"application/json; charset=utf-8","X-TC-Action":t,"X-TC-Version":s,"X-TC-Timestamp":n,"X-TC-Language":"zh-CN"};"debug"===this.mode&&(console.log("\n请求信息:"),console.log(` URL: https://${this.endpoint}`),console.log(` Headers: ${JSON.stringify({...a,Authorization:"***"},null,2)}`),console.log(` Body: ${o}\n`));try{const e=await fetch(`https://${this.endpoint}`,{method:"POST",headers:a,body:o}),t=await e.json();return"debug"===this.mode&&(console.log("响应结果:"),console.log(JSON.stringify(t,null,2))),t}catch(e){throw e}}async createPurgeTask(e){const t={ZoneId:e.zoneId||"*",Type:e.type,Method:"delete",Targets:e.targets||[]};return await this.request("CreatePurgeTask","2022-09-01",t)}async describePurgeTasks(e){const t=new Date,s=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}T${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}+08:00`,r={StartTime:s(new Date(t.getTime()-2592e6)),EndTime:s(t)};if(!e||0===e.length)return await this.request("DescribePurgeTasks","2022-09-01",r);if(1===e.length)return r.ZoneId=e[0],await this.request("DescribePurgeTasks","2022-09-01",r);const n=e.map(e=>{const t={...r,ZoneId:e};return this.request("DescribePurgeTasks","2022-09-01",t)}),o=await Promise.all(n),a={Response:{}},i=[];for(const e of o){if(e.Response?.Error)return e;e.Response?.PurgeTasks&&i.push(...e.Response.PurgeTasks)}return a.Response={...o[0].Response,PurgeTasks:i},a}async createPrefetchTask(e){const t={ZoneId:e.zoneId||"*",Targets:e.urls};return await this.request("CreatePrefetchTask","2022-09-01",t)}async describePrefetchTasks(e){const t=new Date,s=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}T${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}+08:00`,r={StartTime:s(new Date(t.getTime()-2592e6)),EndTime:s(t)};if(!e||0===e.length)return await this.request("DescribePrefetchTasks","2022-09-01",r);if(1===e.length)return r.ZoneId=e[0],await this.request("DescribePrefetchTasks","2022-09-01",r);const n=e.map(e=>{const t={...r,ZoneId:e};return this.request("DescribePrefetchTasks","2022-09-01",t)}),o=await Promise.all(n),a={Response:{}},i=[];for(const e of o){if(e.Response?.Error)return e;e.Response?.PrefetchTasks&&i.push(...e.Response.PrefetchTasks)}return a.Response={...o[0].Response,PrefetchTasks:i},a}async modifyZoneStatus(e){const t={ZoneId:e.zoneId,Paused:e.paused};return await this.request("ModifyZoneStatus","2022-09-01",t)}async describeZoneStatus(e){const t={Filters:[{Name:"zone-id",Values:[e.zoneId]}]};return await this.request("DescribeZones","2022-01-06",t)}}
2
2
  //# sourceMappingURL=api\client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A:\\edgeone-cli\\dist\\api\\client.js","names":["calculateSignature","EdgeOneClient","secretId","secretKey","endpoint","region","mode","constructor","this","request","action","version","params","timestamp","Math","floor","Date","now","toString","requestBody","JSON","stringify","requestHeaders","Authorization","console","log","response","fetch","method","headers","body","result","json","error","createPurgeTask","options","ZoneId","zoneId","Type","type","Method","Targets","targets","describePurgeTasks","zoneIds","toISOStringWithTimezone","date","getFullYear","String","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","baseParams","StartTime","getTime","EndTime","length","requests","map","results","Promise","all","merged","Response","allTasks","Error","PurgeTasks","push","createPrefetchTask","urls","describePrefetchTasks","PrefetchTasks"],"sources":["../../src/api/client.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\api\\client.js","names":["calculateSignature","EdgeOneClient","secretId","secretKey","endpoint","region","mode","constructor","this","request","action","version","params","timestamp","Math","floor","Date","now","toString","requestBody","JSON","stringify","requestHeaders","Authorization","console","log","response","fetch","method","headers","body","result","json","error","createPurgeTask","options","ZoneId","zoneId","Type","type","Method","Targets","targets","describePurgeTasks","zoneIds","toISOStringWithTimezone","date","getFullYear","String","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","baseParams","StartTime","getTime","EndTime","length","requests","map","results","Promise","all","merged","Response","allTasks","Error","PurgeTasks","push","createPrefetchTask","urls","describePrefetchTasks","PrefetchTasks","modifyZoneStatus","Paused","paused","describeZoneStatus","Filters","Name","Values"],"sources":["../../src/api/client.ts"],"mappings":"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","ignoreList":[]}
@@ -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,31 @@
1
- import { Command } from 'commander';
2
- type ConfigMode = 'debug' | 'production';
1
+ import { Command } from "commander";
2
+ type ConfigMode = "debug" | "production";
3
+ export interface ZoneConfig {
4
+ id: string;
5
+ name?: string;
6
+ }
3
7
  interface Config {
4
8
  secretId: string;
5
9
  secretKey: string;
6
10
  endpoint: string;
7
11
  mode: ConfigMode;
8
- domainIdList: string[];
12
+ domainIdList: ZoneConfig[];
9
13
  }
10
14
  declare const CONFIG_FILE: string;
15
+ /**
16
+ * 确保配置目录存在
17
+ */
18
+ export declare function ensureConfigDir(): void;
11
19
  /**
12
20
  * 读取配置(自动解密,自动迁移旧格式)
13
21
  */
14
- declare function readConfig(): Config | null;
22
+ export declare function readConfig(): Config | null;
23
+ /**
24
+ * 写入配置(自动加密 SecretKey)
25
+ */
26
+ export declare function writeConfig(config: Config): void;
15
27
  declare const configCmd: Command;
16
28
  export default configCmd;
17
- export { readConfig, CONFIG_FILE };
29
+ export { CONFIG_FILE };
18
30
  export type { ConfigMode };
19
31
  //# 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;AAoMhC,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":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,KAAK,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,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,UAAU,EAAE,CAAC;CAC5B;AAGD,QAAA,MAAM,WAAW,QAAuC,CAAC;AAEzD;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAgD1C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAgBhD;AAyCD,QAAA,MAAM,SAAS,SAAqD,CAAC;AA+MrE,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 l,isEncrypted as r}from"../utils/crypto.js";const d=i.join(c.homedir(),".edgeone-cli"),a=i.join(d,"config.json");function m(){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||r(n.secretKey))try{i=l(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(d)||t.mkdirSync(d,{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(a,JSON.stringify(n,null,2),"utf-8")}function g(e,o=4){return e?e.length<=2*o?e:e.slice(0,o)+"****"+e.slice(-o):"N/A"}const y=new e("config").description("管理 EdgeOne 配置");y.command("init").description("初始化配置").action(async()=>{const e=m();if(e){console.log(o.yellow("\n⚠ 检测到已存在的配置:\n")),console.log(o.gray("─".repeat(40))),console.log(` SecretId: ${o.green(g(e.secretId))}`),console.log(` SecretKey: ${o.green(g(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)),p({secretId:t.secretId,secretKey:t.secretKey,endpoint:t.endpoint||"teo.tencentcloudapi.com",mode:t.mode||"production",domainIdList:i}),console.log(o.green("\n✅ 配置已加密保存到: "+a))}),y.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(g(e.secretId))}`),console.log(` SecretKey: ${o.green(g(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)))}),y.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("已取消"))}),y.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 y;export{m as readConfig,a as CONFIG_FILE};
1
+ import e from"chalk";import{Command as o}from"commander";import n from"fs";import t from"inquirer";import i from"os";import c from"path";import{decrypt as r,encrypt as s,isEncrypted as d}from"../utils/crypto.js";const l=c.join(i.homedir(),".edgeone-cli"),a=c.join(l,"config.json");export function ensureConfigDir(){n.existsSync(l)||n.mkdirSync(l,{recursive:!0})}export function readConfig(){if(n.existsSync(a)){const o=n.readFileSync(a,"utf-8"),t=JSON.parse(o);let i=t.secretKey,c=!t.encrypted;if(t.encrypted||d(t.secretKey))try{i=r(t.secretKey),c=!1}catch{c=!1}let s=[];t.domainIdList&&t.domainIdList.length>0&&(s="string"==typeof t.domainIdList[0]?t.domainIdList.map(e=>({id:e})):t.domainIdList);const l={secretId:t.secretId,secretKey:i,endpoint:t.endpoint,mode:t.mode||"production",domainIdList:s};return c&&(writeConfig(l),console.log(e.gray("💡 配置已自动升级为加密格式"))),l}return null}export function writeConfig(e){ensureConfigDir();const o=s(e.secretKey),t={secretId:e.secretId,secretKey:o,endpoint:e.endpoint,mode:e.mode,domainIdList:e.domainIdList,encrypted:!0};n.writeFileSync(a,JSON.stringify(t,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 o("config").description("管理 EdgeOne 配置");g.command("init").description("初始化配置").action(async()=>{const o=readConfig();if(o){console.log(e.yellow("\n⚠ 检测到已存在的配置:\n")),console.log(e.gray("─".repeat(40))),console.log(` SecretId: ${e.green(m(o.secretId))}`),console.log(` SecretKey: ${e.green(m(o.secretKey))}`),console.log(` 接口请求域名: ${e.yellow(o.endpoint||"teo.tencentcloudapi.com")}`),console.log(` 运行模式: ${"debug"===o.mode?e.yellow("调试模式"):e.green("生产模式")}`),console.log(e.gray("─".repeat(40)));const{confirm:n}=await t.prompt([{type:"confirm",name:"confirm",message:"已有配置将被覆盖,是否继续?",default:!1}]);if(!n)return void console.log(e.gray("已取消"))}console.log(e.cyan("\n🔧 开始初始化 EdgeOne 配置\n"));const n=await t.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=n.domainIdList;c&&c.trim()&&(i=c.split(",").map(e=>{if((e=e.trim()).includes(":")){const[o,n]=e.split(":");return{id:o.trim(),name:n.trim()}}return{id:e}}).filter(e=>""!==e.id)),writeConfig({secretId:n.secretId,secretKey:n.secretKey,endpoint:n.endpoint||"teo.tencentcloudapi.com",mode:n.mode||"production",domainIdList:i}),console.log(e.green("\n✅ 配置已加密保存到: "+a))}),g.command("show").description("显示当前配置").action(function(){const o=readConfig();if(!o)return void console.log(e.yellow('⚠ 未找到配置文件,请先运行 "edgeone-cli config init"'));const n="debug"===o.mode?"调试模式":"生产模式",t="debug"===o.mode?e.yellow:e.green;console.log(e.cyan("\n📋 当前配置:\n")),console.log(e.gray("─".repeat(40))),console.log(` SecretId: ${e.green(m(o.secretId))}`),console.log(` SecretKey: ${e.green(m(o.secretKey))}`),console.log(` 接口请求域名: ${e.yellow(o.endpoint||"teo.tencentcloudapi.com")}`),console.log(` 运行模式: ${t(n)}`),o.domainIdList&&o.domainIdList.length>0&&(console.log(" 站点列表:"),o.domainIdList.forEach((o,n)=>{const t=o.name?`${o.name} (${o.id})`:o.id;console.log(` ${n+1}. ${e.yellow(t)}`)})),console.log(e.gray("─".repeat(40)))}),g.command("remove").description("删除配置文件").action(async()=>{if(!n.existsSync(a))return void console.log(e.yellow("⚠ 配置文件不存在"));const{confirm:o}=await t.prompt([{type:"confirm",name:"confirm",message:"确定要删除配置文件吗?",default:!1}]);o?(n.unlinkSync(a),console.log(e.green("✅ 配置文件已删除"))):console.log(e.gray("已取消"))}),g.command("edit").description("编辑配置项").action(async()=>{const o=readConfig();if(!o)return void console.log(e.yellow('⚠ 未找到配置文件,请先运行 "edgeone-cli config init"'));const n=await t.prompt([{type:"list",name:"field",message:"选择要修改的配置项:",choices:[{name:"SecretId",value:"secretId"},{name:"SecretKey",value:"secretKey"},{name:"接口请求域名",value:"endpoint"},{name:"运行模式",value:"mode"},{name:"站点列表",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:"请输入站点列表(多个用逗号分隔):",when:e=>"domainIdList"===e.field,default:""}]);if("domainIdList"===n.field){const e=n.value,t=e&&e.trim()?e.split(",").map(e=>e.trim()).filter(e=>""!==e):[];o[n.field]=t}else o[n.field]=n.value;writeConfig(o),console.log(e.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","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":"kBAASA,MAAe,mBACjBC,MAAW,eACXC,MAAc,kBACdC,MAAQ,YACRC,MAAU,cACVC,MAAQ,uBACNC,aAASC,iBAASC,MAAmB,qBAqB9C,MAAMC,EAAaL,EAAKM,KAAKL,EAAGM,UAAW,gBACrCC,EAAcR,EAAKM,KAAKD,EAAY,eAc1C,SAASI,IACP,GAAIV,EAAGW,WAAWF,GAAc,CAC9B,MAAMG,EAAUZ,EAAGa,aAAaJ,EAAa,SACvCK,EAASC,KAAKC,MAAMJ,GAE1B,IAAIK,EAAYH,EAAOG,UACnBC,GAAkBJ,EAAOK,UAG7B,GAAIL,EAAOK,WAAad,EAAYS,EAAOG,WACzC,IACEA,EAAYb,EAAQU,EAAOG,WAC3BC,GAAiB,CACnB,CAAE,MAEAA,GAAiB,CACnB,CAGF,MAAME,EAAiB,CACrBC,SAAUP,EAAOO,SACjBJ,UAAWA,EACXK,SAAUR,EAAOQ,SACjBC,KAAMT,EAAOS,MAAQ,aACrBC,aAAcV,EAAOU,cAAgB,IASvC,OALIN,IACFO,EAAYL,GACZM,QAAQC,IAAI7B,EAAM8B,KAAK,qBAGlBR,CACT,CACA,OAAO,IACT,CAKA,SAASK,EAAYL,GAjDdpB,EAAGW,WAAWL,IACjBN,EAAG6B,UAAUvB,EAAY,CAAEwB,WAAW,IAoDxC,MAAMC,EAAqB5B,EAAQiB,EAAOH,WAEpCH,EAAuB,CAC3BO,SAAUD,EAAOC,SACjBJ,UAAWc,EACXT,SAAUF,EAAOE,SACjBC,KAAMH,EAAOG,KACbC,aAAcJ,EAAOI,aACrBL,WAAW,GAGbnB,EAAGgC,cAAcvB,EAAaM,KAAKkB,UAAUnB,EAAQ,KAAM,GAAI,QACjE,CAKA,SAASoB,EAAWC,EAAaC,EAAa,GAC5C,OAAKD,EACDA,EAAIE,QAAuB,EAAbD,EAAuBD,EAClCA,EAAIG,MAAM,EAAGF,GAAc,OAASD,EAAIG,OAAOF,GAFrC,KAGnB,CA4BA,MAAMG,EAAY,IAAI1C,EAAQ,UAC3B2C,YAAY,iBAGfD,EACGE,QAAQ,QACRD,YAAY,SACZE,OAAOC,UACN,MAAMC,EAAiBlC,IAGvB,GAAIkC,EAAgB,CAClBlB,QAAQC,IAAI7B,EAAM+C,OAAO,qBACzBnB,QAAQC,IAAI7B,EAAM8B,KAAK,IAAIkB,OAAO,MAClCpB,QAAQC,IAAI,sBAAsB7B,EAAMiD,MAAMb,EAAWU,EAAevB,cACxEK,QAAQC,IAAI,sBAAsB7B,EAAMiD,MAAMb,EAAWU,EAAe3B,eACxES,QAAQC,IAAI,gBAAgB7B,EAAM+C,OAAOD,EAAetB,UAAY,8BACpEI,QAAQC,IAAI,kBAA0C,UAAxBiB,EAAerB,KAAmBzB,EAAM+C,OAAO,QAAU/C,EAAMiD,MAAM,WACnGrB,QAAQC,IAAI7B,EAAM8B,KAAK,IAAIkB,OAAO,MAElC,MAAME,QAAEA,SAAkBjD,EAASkD,OAAO,CACxC,CACEC,KAAM,UACNC,KAAM,UACNC,QAAS,iBACTC,SAAS,KAIb,IAAKL,EAEH,YADAtB,QAAQC,IAAI7B,EAAM8B,KAAK,OAG3B,CAEAF,QAAQC,IAAI7B,EAAMwD,KAAK,4BAEvB,MAAMC,QAAgBxD,EAASkD,OAAO,CACpC,CACEC,KAAM,QACNC,KAAM,WACNC,QAAS,gBACTI,SAAWC,GAAmC,KAAjBA,EAAMC,QAAiB,iBAEtD,CACER,KAAM,WACNC,KAAM,YACNC,QAAS,iBACTO,KAAM,IACNH,SAAWC,GAAmC,KAAjBA,EAAMC,QAAiB,kBAEtD,CACER,KAAM,QACNC,KAAM,WACNC,QAAS,aACTC,QAAS,2BAEX,CACEH,KAAM,OACNC,KAAM,OACNC,QAAS,WACTQ,QAAS,CACP,CAAET,KAAM,iBAAkBU,MAAO,cACjC,CAAEV,KAAM,kBAAmBU,MAAO,UAEpCR,QAAS,cAEX,CACEH,KAAM,QACNC,KAAM,eACNC,QAAS,2BACTC,QAAS,MAKb,IAAIS,EAAsB,GAC1B,MAAMC,EAAgBR,EAAQ/B,aAC1BuC,GAAiBA,EAAcL,SACjCI,EAAYC,EAAcC,MAAM,KAAKC,IAAIC,GAAMA,EAAGR,QAAQS,OAAOD,GAAa,KAAPA,IAGzEzC,EAAY,CACVJ,SAAUkC,EAAQlC,SAClBJ,UAAWsC,EAAQtC,UACnBK,SAAWiC,EAAQjC,UAAuB,0BAC1CC,KAAOgC,EAAQhC,MAAuB,aACtCC,aAAcsC,IAGhBpC,QAAQC,IAAI7B,EAAMiD,MAAM,iBAAmBtC,MAI/C8B,EACGE,QAAQ,QACRD,YAAY,UACZE,OAxHH,WACE,MAAMtB,EAASV,IACf,IAAKU,EAEH,YADAM,QAAQC,IAAI7B,EAAM+C,OAAO,6CAI3B,MAAMuB,EAA2B,UAAhBhD,EAAOG,KAAmB,OAAS,OAC9C8C,EAA4B,UAAhBjD,EAAOG,KAAmBzB,EAAM+C,OAAS/C,EAAMiD,MAEjErB,QAAQC,IAAI7B,EAAMwD,KAAK,iBACvB5B,QAAQC,IAAI7B,EAAM8B,KAAK,IAAIkB,OAAO,MAClCpB,QAAQC,IAAI,sBAAsB7B,EAAMiD,MAAMb,EAAWd,EAAOC,cAChEK,QAAQC,IAAI,sBAAsB7B,EAAMiD,MAAMb,EAAWd,EAAOH,eAChES,QAAQC,IAAI,gBAAgB7B,EAAM+C,OAAOzB,EAAOE,UAAY,8BAC5DI,QAAQC,IAAI,kBAAkB0C,EAAUD,MACpChD,EAAOI,cAAgBJ,EAAOI,aAAaa,OAAS,GACtDX,QAAQC,IAAI,kBAAkB7B,EAAM+C,OAAOzB,EAAOI,aAAajB,KAAK,UAEtEmB,QAAQC,IAAI7B,EAAM8B,KAAK,IAAIkB,OAAO,KACpC,GAuGAP,EACGE,QAAQ,UACRD,YAAY,UACZE,OAAOC,UACN,IAAK3C,EAAGW,WAAWF,GAEjB,YADAiB,QAAQC,IAAI7B,EAAM+C,OAAO,cAI3B,MAAMG,QAAEA,SAAkBjD,EAASkD,OAAO,CACxC,CACEC,KAAM,UACNC,KAAM,UACNC,QAAS,cACTC,SAAS,KAITL,GACFhD,EAAGsE,WAAW7D,GACdiB,QAAQC,IAAI7B,EAAMiD,MAAM,eAExBrB,QAAQC,IAAI7B,EAAM8B,KAAK,UAK7BW,EACGE,QAAQ,QACRD,YAAY,SACZE,OAAOC,UACN,MAAMvB,EAASV,IACf,IAAKU,EAEH,YADAM,QAAQC,IAAI7B,EAAM+C,OAAO,6CAI3B,MAAMU,QAAgBxD,EAASkD,OAAO,CACpC,CACEC,KAAM,OACNC,KAAM,QACNC,QAAS,aACTQ,QAAS,CACP,CAAET,KAAM,WAAYU,MAAO,YAC3B,CAAEV,KAAM,YAAaU,MAAO,aAC5B,CAAEV,KAAM,SAAUU,MAAO,YACzB,CAAEV,KAAM,OAAQU,MAAO,QACvB,CAAEV,KAAM,SAAUU,MAAO,kBAG7B,CACEX,KAAM,QACNC,KAAM,QACNC,QAAUG,GAAiB,SAASA,EAAQgB,SAC5CC,KAAOjB,GAAmC,cAAlBA,EAAQgB,OAA2C,SAAlBhB,EAAQgB,OAAsC,iBAAlBhB,EAAQgB,MAC7Ff,SAAWC,GAAmC,KAAjBA,EAAMC,QAAiB,QAEtD,CACER,KAAM,WACNC,KAAM,QACNC,QAAS,mBACTO,KAAM,IACNa,KAAOjB,GAAmC,cAAlBA,EAAQgB,MAChCf,SAAWC,GAAmC,KAAjBA,EAAMC,QAAiB,QAEtD,CACER,KAAM,OACNC,KAAM,QACNC,QAAS,WACToB,KAAOjB,GAAmC,SAAlBA,EAAQgB,MAChCX,QAAS,CACP,CAAET,KAAM,iBAAkBU,MAAO,cACjC,CAAEV,KAAM,kBAAmBU,MAAO,WAGtC,CACEX,KAAM,QACNC,KAAM,QACNC,QAAS,sBACToB,KAAOjB,GAAmC,iBAAlBA,EAAQgB,MAChClB,QAAS,MAIb,GAAsB,iBAAlBE,EAAQgB,MAA0B,CACpC,MAAMR,EAAgBR,EAAQM,MACxBC,EAAYC,GAAiBA,EAAcL,OAC7CK,EAAcC,MAAM,KAAKC,IAAIC,GAAMA,EAAGR,QAAQS,OAAOD,GAAa,KAAPA,GAC3D,GACH9C,EAAemC,EAAQgB,OAAST,CACnC,MACG1C,EAAemC,EAAQgB,OAAShB,EAAQM,MAE3CpC,EAAYL,GACZM,QAAQC,IAAI7B,EAAMiD,MAAM,6BAGbR,SACN7B,gBAAYD","ignoreList":[]}
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\commands\\config.js","names":["chalk","Command","fs","inquirer","os","path","decrypt","encrypt","isEncrypted","CONFIG_DIR","join","homedir","CONFIG_FILE","ensureConfigDir","existsSync","mkdirSync","recursive","readConfig","content","readFileSync","stored","JSON","parse","secretKey","needsMigration","encrypted","domainIdList","length","map","id","config","secretId","endpoint","mode","writeConfig","console","log","gray","encryptedSecretKey","writeFileSync","stringify","maskString","str","showLength","slice","configCmd","description","command","action","async","existingConfig","yellow","repeat","green","confirm","prompt","type","name","message","default","cyan","answers","validate","input","trim","mask","choices","value","domainIdInput","split","item","includes","filter","zone","modeText","modeColor","forEach","idx","display","unlinkSync","field","when","domainIds"],"sources":["../../src/commands/config.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"edgeone.d.ts","sourceRoot":"","sources":["../../src/commands/edgeone.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAkG5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CA0D/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAiQ9C"}
1
+ {"version":3,"file":"edgeone.d.ts","sourceRoot":"","sources":["../../src/commands/edgeone.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BpC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAkG5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CA0D/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAmQ9C"}
@@ -1,2 +1,2 @@
1
- import e from"chalk";import o from"cli-table3";import{Command as n}from"commander";import l from"inquirer";import{EdgeOneClient as s}from"../api/client.js";import{readConfig as r}from"./config.js";const c="*";var t;!function(e){e.Url="purge_url",e.Prefix="purge_prefix",e.All="purge_all"}(t||(t={}));export function createPurgeCommand(){return new n("purge").description("清除缓存任务").option("-a, --all","清除全部缓存").option("-d, --dir <path>","清除指定目录缓存").option("-u, --url <urls...>","清除指定URL地址(可多个)").option("-z, --zone <zoneId>","Zone ID(默认: *)").action(async o=>{const{all:n,dir:l,url:g,zone:i=c}=o;let a,d=[];if(n)a=t.All,d=[];else if(l)a=t.Prefix,d=[l];else{if(!(g&&g.length>0))return console.log(e.yellow("⚠ 请指定清除模式:\n")),console.log(e.gray(" 清除全部缓存: edgeone-cli purge --all")),console.log(e.gray(" 清除目录缓存: edgeone-cli purge --dir /path/to/dir")),console.log(e.gray(" 清除URL缓存: edgeone-cli purge --url https://example.com/a.png")),void console.log(e.gray(" edgeone-cli purge -u https://a.png https://b.png"));a=t.Url,d=g}const p=r();if(!p||!p.secretId||!p.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:y,secretKey:u,endpoint:h="teo.tencentcloudapi.com",mode:f}=p,m="debug"===f;m&&console.log(e.cyan("\n🔄 清除缓存任务\n")),m&&(n?console.log(e.gray("清除模式:"),e.yellow("全部缓存")):l?(console.log(e.gray("清除模式:"),e.yellow("指定目录")),console.log(e.gray("目录路径:"),e.yellow(l))):g&&g.length>0&&(console.log(e.gray("清除模式:"),e.yellow("指定URL")),console.log(e.gray("URL列表:")),g.forEach(o=>console.log(` - ${e.yellow(o)}`))),console.log(e.gray("\nAPI 参数:")),console.log(` Action: ${e.green("CreatePurgeTask")}`),console.log(` Version: ${e.green("2022-09-01")}`),console.log(` Method: ${e.green("delete")}`),console.log(` ZoneId: ${e.green(i)}`),console.log(` Type: ${e.green(a)}`),console.log(` Targets: ${e.green(JSON.stringify(d))}`),console.log(e.gray("\n发送请求...\n")));try{const o=new s(y,u,h,"ap-guangzhou",f),n=await o.createPurgeTask({zoneId:i,type:a,targets:d});n.Response?.Error?(console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(n.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(n.Response.Error.Message)}`)):(console.log(e.green("\n✅ 请求成功!")),console.log(` RequestId: ${e.yellow(n.Response?.RequestId)}`),n.Response?.JobId&&console.log(` JobId: ${e.yellow(n.Response.JobId)}`))}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}})}export function createPrefetchCommand(){return new n("prefetch").description("预热任务").argument("[urls...]","要预热的URL地址列表").option("-z, --zone <zoneId>","Zone ID(默认: *)").action(async(o,n)=>{if(!o||0===o.length)return console.log(e.yellow("⚠ 请指定要预热的URL:\n")),void console.log(e.gray(" 预热URL: edgeone-cli prefetch https://example.com/a.png --zone <zoneId>"));const l=r();if(!l||!l.secretId||!l.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:c,secretKey:t,endpoint:g="teo.tencentcloudapi.com",mode:i}=l,a="debug"===i,d=n.zone||"*";a&&(console.log(e.cyan("\n🔥 预热任务\n")),console.log(e.gray("URL列表:")),o.forEach(o=>console.log(` - ${e.yellow(o)}`)),console.log(e.gray(`\nZone ID: ${e.green(d)}`)));try{const n=new s(c,t,g,"ap-guangzhou",i),l=await n.createPrefetchTask({zoneId:d,urls:o});l.Response?.Error?(console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(l.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(l.Response.Error.Message)}`)):(console.log(e.green("\n✅ 预热任务已提交!")),console.log(` RequestId: ${e.yellow(l.Response?.RequestId)}`),l.Response?.JobId&&console.log(` JobId: ${e.yellow(l.Response.JobId)}`))}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}})}export function createHistoryCommand(){const c=new n("history").description("查询历史记录").on("--help",()=>{console.log(""),console.log("示例:"),console.log(" $ edgeone-cli history purge # 查询清除缓存历史"),console.log(" $ edgeone-cli history prefetch # 查询预热任务历史"),console.log(" $ edgeone-cli history purge --zone zone-123 # 指定 Zone ID 查询清除缓存历史"),console.log(" $ edgeone-cli history prefetch --zone zone-123 # 指定 Zone ID 查询预热任务历史"),console.log("")}),t=new n("purge").description("查询清除缓存历史记录").option("-z, --zone <zoneId>","Zone ID").action(async n=>{const c=r();if(!c||!c.secretId||!c.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:t,secretKey:g,endpoint:i="teo.tencentcloudapi.com",mode:a,domainIdList:d}=c,p="debug"===a;let y=[];if(n.zone)y=[n.zone];else{if(!(d&&d.length>0))return void console.log(e.red("\n❌ 未指定 Zone ID,请使用 --zone 参数指定或在配置中添加域名ID列表"));if(1===d.length)y=[d[0]];else{const{zones:e}=await l.prompt([{type:"checkbox",name:"zones",message:"请选择 Zone ID (可多选):",choices:d,validate:e=>e.length>0||"请至少选择一个 Zone ID"}]);y=e}p&&console.log(e.gray(`已选择 ZoneId: ${e.yellow(y.join(", "))}`))}p&&(console.log(e.cyan("\n📋 清除缓存历史记录\n")),console.log(e.gray("API 参数:")),console.log(` Action: ${e.green("DescribePurgeTasks")}`),console.log(` Version: ${e.green("2022-09-01")}`),console.log(` ZoneIds: ${e.yellow(y.join(", "))}`));try{const n=new s(t,g,i,"",a),l=await n.describePurgeTasks(y);if(p&&(console.log(e.cyan("\n响应结果:")),console.log(JSON.stringify(l,null,2))),l.Response?.Error)console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(l.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(l.Response.Error.Message)}`);else{console.log(e.green("\n✅ 查询成功!")),console.log(` RequestId: ${e.yellow(l.Response?.RequestId)}`);const n=l.Response?.Tasks||[];if(n.length>0){console.log(e.cyan("\n📋 清除缓存记录:\n"));const s=new o({head:[e.gray("状态"),e.gray("清除地址"),e.gray("时间"),e.gray("类型")],colWidths:[8,50,30,8],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(o=>{const n="success"===o.Status?e.green("✓"):e.red("✗"),l=o.Target||"all",r="purge_url"===o.Type?"URL":"purge_prefix"===o.Type?"目录":"全部",c=o.CreateTime?o.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",t=l.length>47?l.slice(0,44)+"...":l;s.push([n,e.yellow(t),e.gray(c),r])}),console.log(s.toString()),console.log(` 总计: ${e.yellow(l.Response?.TotalCount||n.length)} 条记录`);let r=n.filter(e=>"success"===e.Status).length;console.log(` 成功: ${e.green(r)} 条记录`);let c=n.filter(e=>"failed"===e.Status).length;console.log(` 失败: ${e.red(c)} 条记录`)}else console.log(e.gray("\n 暂无清除记录\n"))}}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}}),g=new n("prefetch").description("查询预热任务历史记录").option("-z, --zone <zoneId>","Zone ID").action(async n=>{const c=r();if(!c||!c.secretId||!c.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:t,secretKey:g,endpoint:i="teo.tencentcloudapi.com",mode:a,domainIdList:d}=c,p="debug"===a;let y=[];if(n.zone)y=[n.zone];else{if(!(d&&d.length>0))return void console.log(e.red("\n❌ 未指定 Zone ID,请使用 --zone 参数指定或在配置中添加域名ID列表"));if(1===d.length)y=[d[0]];else{const{zones:e}=await l.prompt([{type:"checkbox",name:"zones",message:"请选择 Zone ID (可多选):",choices:d,validate:e=>e.length>0||"请至少选择一个 Zone ID"}]);y=e}p&&console.log(e.gray(`已选择 ZoneId: ${e.yellow(y.join(", "))}`))}p&&(console.log(e.cyan("\n📋 预热任务历史记录\n")),console.log(e.gray("API 参数:")),console.log(` Action: ${e.green("DescribePrefetchTasks")}`),console.log(` Version: ${e.green("2022-09-01")}`),console.log(` ZoneIds: ${e.yellow(y.join(", "))}`));try{const n=new s(t,g,i,"",a),l=await n.describePrefetchTasks(y);if(p&&(console.log(e.cyan("\n响应结果:")),console.log(JSON.stringify(l,null,2))),l.Response?.Error)console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(l.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(l.Response.Error.Message)}`);else{console.log(e.green("\n✅ 查询成功!")),console.log(` RequestId: ${e.yellow(l.Response?.RequestId)}`);const n=l.Response?.PrefetchTasks||[];if(n.length>0){console.log(e.cyan("\n📋 预热任务记录:\n"));const s=new o({head:[e.gray("状态"),e.gray("预热地址"),e.gray("时间")],colWidths:[8,60,30],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(o=>{const n="success"===o.Status?e.green("✓"):"processing"===o.Status?e.yellow("⏳"):e.red("✗"),l=o.Target||"unknown",r=o.CreateTime?o.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",c=l.length>57?l.slice(0,54)+"...":l;s.push([n,e.yellow(c),e.gray(r)])}),console.log(s.toString()),console.log(` 总计: ${e.yellow(l.Response?.TotalCount||n.length)} 条记录`);let r=n.filter(e=>"success"===e.Status).length;console.log(` 成功: ${e.green(r)} 条记录`);let c=n.filter(e=>"processing"===e.Status).length;console.log(` 处理中: ${e.yellow(c)} 条记录`);let t=n.filter(e=>"failed"===e.Status).length;console.log(` 失败: ${e.red(t)} 条记录`)}else console.log(e.gray("\n 暂无预热记录\n"))}}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}});return c.addCommand(t),c.addCommand(g),c}
1
+ import e from"chalk";import o from"cli-table3";import{Command as n}from"commander";import l from"inquirer";import{EdgeOneClient as s}from"../api/client.js";import{readConfig as r}from"./config.js";const c="*";var t;!function(e){e.Url="purge_url",e.Prefix="purge_prefix",e.All="purge_all"}(t||(t={}));export function createPurgeCommand(){return new n("purge").description("清除缓存任务").option("-a, --all","清除全部缓存").option("-d, --dir <path>","清除指定目录缓存").option("-u, --url <urls...>","清除指定URL地址(可多个)").option("-z, --zone <zoneId>","Zone ID(默认: *)").action(async o=>{const{all:n,dir:l,url:g,zone:i=c}=o;let a,d=[];if(n)a=t.All,d=[];else if(l)a=t.Prefix,d=[l];else{if(!(g&&g.length>0))return console.log(e.yellow("⚠ 请指定清除模式:\n")),console.log(e.gray(" 清除全部缓存: edgeone-cli purge --all")),console.log(e.gray(" 清除目录缓存: edgeone-cli purge --dir /path/to/dir")),console.log(e.gray(" 清除URL缓存: edgeone-cli purge --url https://example.com/a.png")),void console.log(e.gray(" edgeone-cli purge -u https://a.png https://b.png"));a=t.Url,d=g}const p=r();if(!p||!p.secretId||!p.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:y,secretKey:u,endpoint:m="teo.tencentcloudapi.com",mode:h}=p,f="debug"===h;f&&console.log(e.cyan("\n🔄 清除缓存任务\n")),f&&(n?console.log(e.gray("清除模式:"),e.yellow("全部缓存")):l?(console.log(e.gray("清除模式:"),e.yellow("指定目录")),console.log(e.gray("目录路径:"),e.yellow(l))):g&&g.length>0&&(console.log(e.gray("清除模式:"),e.yellow("指定URL")),console.log(e.gray("URL列表:")),g.forEach(o=>console.log(` - ${e.yellow(o)}`))),console.log(e.gray("\nAPI 参数:")),console.log(` Action: ${e.green("CreatePurgeTask")}`),console.log(` Version: ${e.green("2022-09-01")}`),console.log(` Method: ${e.green("delete")}`),console.log(` ZoneId: ${e.green(i)}`),console.log(` Type: ${e.green(a)}`),console.log(` Targets: ${e.green(JSON.stringify(d))}`),console.log(e.gray("\n发送请求...\n")));try{const o=new s(y,u,m,"ap-guangzhou",h),n=await o.createPurgeTask({zoneId:i,type:a,targets:d});n.Response?.Error?(console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(n.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(n.Response.Error.Message)}`)):(console.log(e.green("\n✅ 请求成功!")),console.log(` RequestId: ${e.yellow(n.Response?.RequestId)}`),n.Response?.JobId&&console.log(` JobId: ${e.yellow(n.Response.JobId)}`))}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}})}export function createPrefetchCommand(){return new n("prefetch").description("预热任务").argument("[urls...]","要预热的URL地址列表").option("-z, --zone <zoneId>","Zone ID(默认: *)").action(async(o,n)=>{if(!o||0===o.length)return console.log(e.yellow("⚠ 请指定要预热的URL:\n")),void console.log(e.gray(" 预热URL: edgeone-cli prefetch https://example.com/a.png --zone <zoneId>"));const l=r();if(!l||!l.secretId||!l.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:c,secretKey:t,endpoint:g="teo.tencentcloudapi.com",mode:i}=l,a="debug"===i,d=n.zone||"*";a&&(console.log(e.cyan("\n🔥 预热任务\n")),console.log(e.gray("URL列表:")),o.forEach(o=>console.log(` - ${e.yellow(o)}`)),console.log(e.gray(`\nZone ID: ${e.green(d)}`)));try{const n=new s(c,t,g,"ap-guangzhou",i),l=await n.createPrefetchTask({zoneId:d,urls:o});l.Response?.Error?(console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(l.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(l.Response.Error.Message)}`)):(console.log(e.green("\n✅ 预热任务已提交!")),console.log(` RequestId: ${e.yellow(l.Response?.RequestId)}`),l.Response?.JobId&&console.log(` JobId: ${e.yellow(l.Response.JobId)}`))}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}})}export function createHistoryCommand(){const c=new n("history").description("查询历史记录").on("--help",()=>{console.log(""),console.log("示例:"),console.log(" $ edgeone-cli history purge # 查询清除缓存历史"),console.log(" $ edgeone-cli history prefetch # 查询预热任务历史"),console.log(" $ edgeone-cli history purge --zone zone-123 # 指定 Zone ID 查询清除缓存历史"),console.log(" $ edgeone-cli history prefetch --zone zone-123 # 指定 Zone ID 查询预热任务历史"),console.log("")}),t=new n("purge").description("查询清除缓存历史记录").option("-z, --zone <zoneId>","Zone ID").action(async n=>{const c=r();if(!c||!c.secretId||!c.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:t,secretKey:g,endpoint:i="teo.tencentcloudapi.com",mode:a,domainIdList:d}=c,p="debug"===a;let y=[];if(n.zone)y=[n.zone];else{if(!(d&&d.length>0))return void console.log(e.red("\n❌ 未指定 Zone ID,请使用 --zone 参数指定或在配置中添加站点列表"));if(1===d.length)y=[d[0].id];else{const e=d.map(e=>({name:e.name||e.id,value:e.id})),{zones:o}=await l.prompt([{type:"checkbox",name:"zones",message:"请选择站点 (可多选):",choices:e,validate:e=>e.length>0||"请至少选择一个站点"}]);y=o}p&&console.log(e.gray(`已选择站点: ${e.yellow(y.join(", "))}`))}p&&(console.log(e.cyan("\n📋 清除缓存历史记录\n")),console.log(e.gray("API 参数:")),console.log(` Action: ${e.green("DescribePurgeTasks")}`),console.log(` Version: ${e.green("2022-09-01")}`),console.log(` ZoneIds: ${e.yellow(y.join(", "))}`));try{const n=new s(t,g,i,"",a),l=await n.describePurgeTasks(y);if(p&&(console.log(e.cyan("\n响应结果:")),console.log(JSON.stringify(l,null,2))),l.Response?.Error)console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(l.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(l.Response.Error.Message)}`);else{console.log(e.green("\n✅ 查询成功!")),console.log(` RequestId: ${e.yellow(l.Response?.RequestId)}`);const n=l.Response?.Tasks||[];if(n.length>0){console.log(e.cyan("\n📋 清除缓存记录:\n"));const s=new o({head:[e.gray("状态"),e.gray("清除地址"),e.gray("时间"),e.gray("类型")],colWidths:[8,50,30,8],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(o=>{const n="success"===o.Status?e.green("✓"):e.red("✗"),l=o.Target||"all",r="purge_url"===o.Type?"URL":"purge_prefix"===o.Type?"目录":"全部",c=o.CreateTime?o.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",t=l.length>47?l.slice(0,44)+"...":l;s.push([n,e.yellow(t),e.gray(c),r])}),console.log(s.toString()),console.log(` 总计: ${e.yellow(l.Response?.TotalCount||n.length)} 条记录`);let r=n.filter(e=>"success"===e.Status).length;console.log(` 成功: ${e.green(r)} 条记录`);let c=n.filter(e=>"failed"===e.Status).length;console.log(` 失败: ${e.red(c)} 条记录`)}else console.log(e.gray("\n 暂无清除记录\n"))}}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}}),g=new n("prefetch").description("查询预热任务历史记录").option("-z, --zone <zoneId>","Zone ID").action(async n=>{const c=r();if(!c||!c.secretId||!c.secretKey)return void console.log(e.red('\n❌ 配置不完整,请先运行 "edgeone-cli config init" 初始化配置'));const{secretId:t,secretKey:g,endpoint:i="teo.tencentcloudapi.com",mode:a,domainIdList:d}=c,p="debug"===a;let y=[];if(n.zone)y=[n.zone];else{if(!(d&&d.length>0))return void console.log(e.red("\n❌ 未指定 Zone ID,请使用 --zone 参数指定或在配置中添加站点列表"));if(1===d.length)y=[d[0].id];else{const e=d.map(e=>({name:e.name||e.id,value:e.id})),{zones:o}=await l.prompt([{type:"checkbox",name:"zones",message:"请选择站点 (可多选):",choices:e,validate:e=>e.length>0||"请至少选择一个站点"}]);y=o}p&&console.log(e.gray(`已选择站点: ${e.yellow(y.join(", "))}`))}p&&(console.log(e.cyan("\n📋 预热任务历史记录\n")),console.log(e.gray("API 参数:")),console.log(` Action: ${e.green("DescribePrefetchTasks")}`),console.log(` Version: ${e.green("2022-09-01")}`),console.log(` ZoneIds: ${e.yellow(y.join(", "))}`));try{const n=new s(t,g,i,"",a),l=await n.describePrefetchTasks(y);if(p&&(console.log(e.cyan("\n响应结果:")),console.log(JSON.stringify(l,null,2))),l.Response?.Error)console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(l.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(l.Response.Error.Message)}`);else{console.log(e.green("\n✅ 查询成功!")),console.log(` RequestId: ${e.yellow(l.Response?.RequestId)}`);const n=l.Response?.PrefetchTasks||[];if(n.length>0){console.log(e.cyan("\n📋 预热任务记录:\n"));const s=new o({head:[e.gray("状态"),e.gray("预热地址"),e.gray("时间")],colWidths:[8,60,30],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(o=>{const n="success"===o.Status?e.green("✓"):"processing"===o.Status?e.yellow("⏳"):e.red("✗"),l=o.Target||"unknown",r=o.CreateTime?o.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",c=l.length>57?l.slice(0,54)+"...":l;s.push([n,e.yellow(c),e.gray(r)])}),console.log(s.toString()),console.log(` 总计: ${e.yellow(l.Response?.TotalCount||n.length)} 条记录`);let r=n.filter(e=>"success"===e.Status).length;console.log(` 成功: ${e.green(r)} 条记录`);let c=n.filter(e=>"processing"===e.Status).length;console.log(` 处理中: ${e.yellow(c)} 条记录`);let t=n.filter(e=>"failed"===e.Status).length;console.log(` 失败: ${e.red(t)} 条记录`)}else console.log(e.gray("\n 暂无预热记录\n"))}}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}});return c.addCommand(t),c.addCommand(g),c}
2
2
  //# sourceMappingURL=commands\edgeone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A:\\edgeone-cli\\dist\\commands\\edgeone.js","names":["chalk","Table","Command","inquirer","EdgeOneClient","readConfig","DEFAULT_ZONE_ID","PurgeType","createPurgeCommand","description","option","action","async","options","all","dir","url","zone","type","targets","All","Prefix","length","console","log","yellow","gray","Url","config","secretId","secretKey","red","endpoint","mode","isDebug","cyan","forEach","u","green","JSON","stringify","client","result","createPurgeTask","zoneId","Response","Error","Code","Message","RequestId","JobId","error","message","createPrefetchCommand","argument","urls","createPrefetchTask","createHistoryCommand","historyCmd","on","purgeHistoryCmd","domainIdList","zoneIds","zones","prompt","name","choices","validate","input","join","describePurgeTasks","tasks","Tasks","table","head","colWidths","chars","mid","task","status","Status","target","Target","Type","createTime","CreateTime","replace","slice","displayTarget","push","toString","TotalCount","successCount","filter","failedCount","prefetchHistoryCmd","describePrefetchTasks","PrefetchTasks","processingCount","addCommand"],"sources":["../../src/commands/edgeone.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\commands\\edgeone.js","names":["chalk","Table","Command","inquirer","EdgeOneClient","readConfig","DEFAULT_ZONE_ID","PurgeType","createPurgeCommand","description","option","action","async","options","all","dir","url","zone","type","targets","All","Prefix","length","console","log","yellow","gray","Url","config","secretId","secretKey","red","endpoint","mode","isDebug","cyan","forEach","u","green","JSON","stringify","client","result","createPurgeTask","zoneId","Response","Error","Code","Message","RequestId","JobId","error","message","createPrefetchCommand","argument","urls","createPrefetchTask","createHistoryCommand","historyCmd","on","purgeHistoryCmd","domainIdList","zoneIds","id","zoneChoices","map","z","name","value","zones","prompt","choices","validate","input","join","describePurgeTasks","tasks","Tasks","table","head","colWidths","chars","mid","task","status","Status","target","Target","Type","createTime","CreateTime","replace","slice","displayTarget","push","toString","TotalCount","successCount","filter","failedCount","prefetchHistoryCmd","describePrefetchTasks","PrefetchTasks","processingCount","addCommand"],"sources":["../../src/commands/edgeone.ts"],"mappings":"OAAOA,MAAW,eACXC,MAAW,+BACTC,MAAe,mBACjBC,MAAc,mCACZC,MAAqB,wCAErBC,MAAkB,cAG3B,MAGMC,EAAkB,IAGxB,IAAKC,GAAL,SAAKA,GACHA,EAAA,gBACAA,EAAA,sBACAA,EAAA,eACD,CAJD,CAAKA,MAAS,YAmBR,SAAUC,qBAiGd,OAhGiB,IAAIN,EAAQ,SAC1BO,YAAY,UACZC,OAAO,YAAa,UACpBA,OAAO,mBAAoB,YAC3BA,OAAO,sBAAuB,kBAC9BA,OAAO,sBAAuB,kBAC9BC,OAAOC,MAAMC,IACZ,MAAMC,IAAEA,EAAGC,IAAEA,EAAGC,IAAEA,EAAGC,KAAEA,EAAOX,GAAoBO,EAElD,IAAIK,EACAC,EAAoB,GAExB,GAAIL,EACFI,EAAOX,EAAUa,IACjBD,EAAU,QACL,GAAIJ,EACTG,EAAOX,EAAUc,OACjBF,EAAU,CAACJ,OACN,MAAIC,GAAOA,EAAIM,OAAS,GAS7B,OALAC,QAAQC,IAAIxB,EAAMyB,OAAO,iBACzBF,QAAQC,IAAIxB,EAAM0B,KAAK,uCACvBH,QAAQC,IAAIxB,EAAM0B,KAAK,oDACvBH,QAAQC,IAAIxB,EAAM0B,KAAK,wEACvBH,QAAQC,IAAIxB,EAAM0B,KAAK,sEAPvBR,EAAOX,EAAUoB,IACjBR,EAAUH,CAQZ,CAGA,MAAMY,EAASvB,IAEf,IAAKuB,IAAWA,EAAOC,WAAaD,EAAOE,UAEzC,YADAP,QAAQC,IAAIxB,EAAM+B,IAAI,mDAIxB,MAAMF,SAAEA,EAAQC,UAAEA,EAASE,SAAEA,EAAW,0BAAyBC,KAAEA,GAASL,EACtEM,EAAmB,UAATD,EAEZC,GACFX,QAAQC,IAAIxB,EAAMmC,KAAK,kBAGrBD,IACEpB,EACFS,QAAQC,IAAIxB,EAAM0B,KAAK,SAAU1B,EAAMyB,OAAO,SACrCV,GACTQ,QAAQC,IAAIxB,EAAM0B,KAAK,SAAU1B,EAAMyB,OAAO,SAC9CF,QAAQC,IAAIxB,EAAM0B,KAAK,SAAU1B,EAAMyB,OAAOV,KACrCC,GAAOA,EAAIM,OAAS,IAC7BC,QAAQC,IAAIxB,EAAM0B,KAAK,SAAU1B,EAAMyB,OAAO,UAC9CF,QAAQC,IAAIxB,EAAM0B,KAAK,WACvBV,EAAIoB,QAASC,GAAcd,QAAQC,IAAI,OAAOxB,EAAMyB,OAAOY,QAG7Dd,QAAQC,IAAIxB,EAAM0B,KAAK,cACvBH,QAAQC,IAAI,eAAexB,EAAMsC,MApF1B,sBAqFPf,QAAQC,IAAI,eAAexB,EAAMsC,MApFzB,iBAqFRf,QAAQC,IAAI,eAAexB,EAAMsC,MApF1B,aAqFPf,QAAQC,IAAI,eAAexB,EAAMsC,MAAMrB,MACvCM,QAAQC,IAAI,eAAexB,EAAMsC,MAAMpB,MACvCK,QAAQC,IAAI,eAAexB,EAAMsC,MAAMC,KAAKC,UAAUrB,OACtDI,QAAQC,IAAIxB,EAAM0B,KAAK,iBAGzB,IAEE,MAAMe,EAAS,IAAIrC,EAAcyB,EAAUC,EAAWE,EAAU,eAAgBC,GAC1ES,QAAeD,EAAOE,gBAAgB,CAC1CC,OAAQ3B,EACRC,OACAC,YAIEuB,EAAOG,UAAUC,OACnBvB,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,UAAUxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAMC,SACzDxB,QAAQC,IAAI,WAAWxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAME,cAE1DzB,QAAQC,IAAIxB,EAAMsC,MAAM,cAExBf,QAAQC,IAAI,gBAAgBxB,EAAMyB,OAAOiB,EAAOG,UAAUI,cACtDP,EAAOG,UAAUK,OACnB3B,QAAQC,IAAI,YAAYxB,EAAMyB,OAAOiB,EAAOG,SAASK,UAI3D,CAAE,MAAOC,GACP5B,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,KAAK2B,EAAMC,UACzB,GAIN,QAKM,SAAUC,wBAyDd,OAxDoB,IAAInD,EAAQ,YAC7BO,YAAY,QACZ6C,SAAS,YAAa,eACtB5C,OAAO,sBAAuB,kBAC9BC,OAAOC,MAAO2C,EAAgB1C,KAC7B,IAAK0C,GAAwB,IAAhBA,EAAKjC,OAGhB,OAFAC,QAAQC,IAAIxB,EAAMyB,OAAO,yBACzBF,QAAQC,IAAIxB,EAAM0B,KAAK,6EAKzB,MAAME,EAASvB,IAEf,IAAKuB,IAAWA,EAAOC,WAAaD,EAAOE,UAEzC,YADAP,QAAQC,IAAIxB,EAAM+B,IAAI,mDAIxB,MAAMF,SAAEA,EAAQC,UAAEA,EAASE,SAAEA,EAAW,0BAAyBC,KAAEA,GAASL,EACtEM,EAAmB,UAATD,EACVhB,EAAOJ,EAAQI,MAAQ,IAEzBiB,IACFX,QAAQC,IAAIxB,EAAMmC,KAAK,gBACvBZ,QAAQC,IAAIxB,EAAM0B,KAAK,WACvB6B,EAAKnB,QAASC,GAAcd,QAAQC,IAAI,OAAOxB,EAAMyB,OAAOY,OAC5Dd,QAAQC,IAAIxB,EAAM0B,KAAK,cAAc1B,EAAMsC,MAAMrB,QAGnD,IAEE,MAAMwB,EAAS,IAAIrC,EAAcyB,EAAUC,EAAWE,EAAU,eAAgBC,GAC1ES,QAAeD,EAAOe,mBAAmB,CAC7CZ,OAAQ3B,EACRsC,SAIEb,EAAOG,UAAUC,OACnBvB,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,UAAUxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAMC,SACzDxB,QAAQC,IAAI,WAAWxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAME,cAE1DzB,QAAQC,IAAIxB,EAAMsC,MAAM,iBACxBf,QAAQC,IAAI,gBAAgBxB,EAAMyB,OAAOiB,EAAOG,UAAUI,cACtDP,EAAOG,UAAUK,OACnB3B,QAAQC,IAAI,YAAYxB,EAAMyB,OAAOiB,EAAOG,SAASK,UAG3D,CAAE,MAAOC,GACP5B,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,KAAK2B,EAAMC,UACzB,GAIN,QAKM,SAAUK,uBACd,MAAMC,EAAa,IAAIxD,EAAQ,WAAWO,YAAY,UAAUkD,GAAG,SAAU,KAC3EpC,QAAQC,IAAI,IACZD,QAAQC,IAAI,OACZD,QAAQC,IAAI,gDACZD,QAAQC,IAAI,iDACZD,QAAQC,IAAI,2EACZD,QAAQC,IAAI,4EACZD,QAAQC,IAAI,MAIRoC,EAAkB,IAAI1D,EAAQ,SACjCO,YAAY,cACZC,OAAO,sBAAuB,WAC9BC,OAAOC,MAAOC,IAEb,MAAMe,EAASvB,IAEf,IAAKuB,IAAWA,EAAOC,WAAaD,EAAOE,UAEzC,YADAP,QAAQC,IAAIxB,EAAM+B,IAAI,mDAIxB,MAAMF,SAAEA,EAAQC,UAAEA,EAASE,SAAEA,EAAW,0BAAyBC,KAAEA,EAAI4B,aAAEA,GAAiBjC,EACpFM,EAAmB,UAATD,EAEhB,IAAI6B,EAAoB,GAGxB,GAAKjD,EAAQI,KA0BX6C,EAAU,CAACjD,EAAQI,UA1BF,CACjB,KAAI4C,GAAgBA,EAAavC,OAAS,GAsBxC,YADAC,QAAQC,IAAIxB,EAAM+B,IAAI,+CApBtB,GAA4B,IAAxB8B,EAAavC,OACfwC,EAAU,CAACD,EAAa,GAAGE,QACtB,CAEL,MAAMC,EAAcH,EAAaI,IAAIC,IAAK,CAAGC,KAAMD,EAAEC,MAAQD,EAAEH,GAAIK,MAAOF,EAAEH,OACtEM,MAAEA,SAAgBlE,EAASmE,OAAO,CACtC,CACEpD,KAAM,WACNiD,KAAM,QACNf,QAAS,eACTmB,QAASP,EACTQ,SAAWC,GAAoBA,EAAMnD,OAAS,GAAK,eAGvDwC,EAAUO,CACZ,CACInC,GACFX,QAAQC,IAAIxB,EAAM0B,KAAK,UAAU1B,EAAMyB,OAAOqC,EAAQY,KAAK,UAMjE,CAIIxC,IACFX,QAAQC,IAAIxB,EAAMmC,KAAK,oBACvBZ,QAAQC,IAAIxB,EAAM0B,KAAK,YACvBH,QAAQC,IAAI,eAAexB,EAAMsC,MAAM,yBACvCf,QAAQC,IAAI,eAAexB,EAAMsC,MAAM,iBACvCf,QAAQC,IAAI,eAAexB,EAAMyB,OAAOqC,EAAQY,KAAK,WAGvD,IAEE,MAAMjC,EAAS,IAAIrC,EAAcyB,EAAUC,EAAWE,EAAU,GAAIC,GAC9DS,QAAeD,EAAOkC,mBAAmBb,GAQ/C,GANI5B,IACFX,QAAQC,IAAIxB,EAAMmC,KAAK,YACvBZ,QAAQC,IAAIe,KAAKC,UAAUE,EAAQ,KAAM,KAIvCA,EAAOG,UAAUC,MACnBvB,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,UAAUxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAMC,SACzDxB,QAAQC,IAAI,WAAWxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAME,gBACrD,CACLzB,QAAQC,IAAIxB,EAAMsC,MAAM,cACxBf,QAAQC,IAAI,gBAAgBxB,EAAMyB,OAAOiB,EAAOG,UAAUI,cAG1D,MAAM2B,EAAQlC,EAAOG,UAAUgC,OAAS,GACxC,GAAID,EAAMtD,OAAS,EAAG,CACpBC,QAAQC,IAAIxB,EAAMmC,KAAK,mBAGvB,MAAM2C,EAAQ,IAAI7E,EAAM,CACtB8E,KAAM,CAAC/E,EAAM0B,KAAK,MAAO1B,EAAM0B,KAAK,QAAS1B,EAAM0B,KAAK,MAAO1B,EAAM0B,KAAK,OAC1EsD,UAAW,CAAC,EAAG,GAAI,GAAI,GACvBC,MAAO,CACLC,IAAK,GACL,WAAY,GACZ,UAAW,GACX,YAAa,MAKjBN,EAAMxC,QAAS+C,IACb,MAAMC,EAAyB,YAAhBD,EAAKE,OAAuBrF,EAAMsC,MAAM,KAAOtC,EAAM+B,IAAI,KAClEuD,EAASH,EAAKI,QAAU,MACxBrE,EAAqB,cAAdiE,EAAKK,KAAuB,MAAsB,iBAAdL,EAAKK,KAA0B,KAAO,KACjFC,EAAaN,EAAKO,WAAaP,EAAKO,WAAWC,QAAQ,IAAK,KAAKA,QAAQ,IAAK,IAAIC,MAAM,EAAG,IAAM,GAGjGC,EAAgBP,EAAOhE,OAAS,GAAKgE,EAAOM,MAAM,EAAG,IAAM,MAAQN,EAEzER,EAAMgB,KAAK,CAACV,EAAQpF,EAAMyB,OAAOoE,GAAgB7F,EAAM0B,KAAK+D,GAAavE,MAG3EK,QAAQC,IAAIsD,EAAMiB,YAClBxE,QAAQC,IAAI,SAASxB,EAAMyB,OAAOiB,EAAOG,UAAUmD,YAAcpB,EAAMtD,eACvE,IAAI2E,EAAerB,EAAMsB,OAAQf,GAA8B,YAAhBA,EAAKE,QAAsB/D,OAC1EC,QAAQC,IAAI,SAASxB,EAAMsC,MAAM2D,UACjC,IAAIE,EAAcvB,EAAMsB,OAAQf,GAA8B,WAAhBA,EAAKE,QAAqB/D,OACxEC,QAAQC,IAAI,SAASxB,EAAM+B,IAAIoE,SACjC,MACE5E,QAAQC,IAAIxB,EAAM0B,KAAK,gBAE3B,CACF,CAAE,MAAOyB,GACP5B,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,KAAK2B,EAAMC,UACzB,IAIEgD,EAAqB,IAAIlG,EAAQ,YACpCO,YAAY,cACZC,OAAO,sBAAuB,WAC9BC,OAAOC,MAAOC,IAEb,MAAMe,EAASvB,IAEf,IAAKuB,IAAWA,EAAOC,WAAaD,EAAOE,UAEzC,YADAP,QAAQC,IAAIxB,EAAM+B,IAAI,mDAIxB,MAAMF,SAAEA,EAAQC,UAAEA,EAASE,SAAEA,EAAW,0BAAyBC,KAAEA,EAAI4B,aAAEA,GAAiBjC,EACpFM,EAAmB,UAATD,EAEhB,IAAI6B,EAAoB,GAGxB,GAAKjD,EAAQI,KA0BX6C,EAAU,CAACjD,EAAQI,UA1BF,CACjB,KAAI4C,GAAgBA,EAAavC,OAAS,GAsBxC,YADAC,QAAQC,IAAIxB,EAAM+B,IAAI,+CApBtB,GAA4B,IAAxB8B,EAAavC,OACfwC,EAAU,CAACD,EAAa,GAAGE,QACtB,CAEL,MAAMC,EAAcH,EAAaI,IAAIC,IAAK,CAAGC,KAAMD,EAAEC,MAAQD,EAAEH,GAAIK,MAAOF,EAAEH,OACtEM,MAAEA,SAAgBlE,EAASmE,OAAO,CACtC,CACEpD,KAAM,WACNiD,KAAM,QACNf,QAAS,eACTmB,QAASP,EACTQ,SAAWC,GAAoBA,EAAMnD,OAAS,GAAK,eAGvDwC,EAAUO,CACZ,CACInC,GACFX,QAAQC,IAAIxB,EAAM0B,KAAK,UAAU1B,EAAMyB,OAAOqC,EAAQY,KAAK,UAMjE,CAIIxC,IACFX,QAAQC,IAAIxB,EAAMmC,KAAK,oBACvBZ,QAAQC,IAAIxB,EAAM0B,KAAK,YACvBH,QAAQC,IAAI,eAAexB,EAAMsC,MAAM,4BACvCf,QAAQC,IAAI,eAAexB,EAAMsC,MAAM,iBACvCf,QAAQC,IAAI,eAAexB,EAAMyB,OAAOqC,EAAQY,KAAK,WAGvD,IAEE,MAAMjC,EAAS,IAAIrC,EAAcyB,EAAUC,EAAWE,EAAU,GAAIC,GAC9DS,QAAeD,EAAO4D,sBAAsBvC,GAQlD,GANI5B,IACFX,QAAQC,IAAIxB,EAAMmC,KAAK,YACvBZ,QAAQC,IAAIe,KAAKC,UAAUE,EAAQ,KAAM,KAIvCA,EAAOG,UAAUC,MACnBvB,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,UAAUxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAMC,SACzDxB,QAAQC,IAAI,WAAWxB,EAAMyB,OAAOiB,EAAOG,SAASC,MAAME,gBACrD,CACLzB,QAAQC,IAAIxB,EAAMsC,MAAM,cACxBf,QAAQC,IAAI,gBAAgBxB,EAAMyB,OAAOiB,EAAOG,UAAUI,cAG1D,MAAM2B,EAAQlC,EAAOG,UAAUyD,eAAiB,GAChD,GAAI1B,EAAMtD,OAAS,EAAG,CACpBC,QAAQC,IAAIxB,EAAMmC,KAAK,mBAGvB,MAAM2C,EAAQ,IAAI7E,EAAM,CACtB8E,KAAM,CAAC/E,EAAM0B,KAAK,MAAO1B,EAAM0B,KAAK,QAAS1B,EAAM0B,KAAK,OACxDsD,UAAW,CAAC,EAAG,GAAI,IACnBC,MAAO,CACLC,IAAK,GACL,WAAY,GACZ,UAAW,GACX,YAAa,MAKjBN,EAAMxC,QAAS+C,IACb,MAAMC,EAAyB,YAAhBD,EAAKE,OAAuBrF,EAAMsC,MAAM,KAAuB,eAAhB6C,EAAKE,OAA0BrF,EAAMyB,OAAO,KAAOzB,EAAM+B,IAAI,KACrHuD,EAASH,EAAKI,QAAU,UACxBE,EAAaN,EAAKO,WAAaP,EAAKO,WAAWC,QAAQ,IAAK,KAAKA,QAAQ,IAAK,IAAIC,MAAM,EAAG,IAAM,GAGjGC,EAAgBP,EAAOhE,OAAS,GAAKgE,EAAOM,MAAM,EAAG,IAAM,MAAQN,EAEzER,EAAMgB,KAAK,CAACV,EAAQpF,EAAMyB,OAAOoE,GAAgB7F,EAAM0B,KAAK+D,OAG9DlE,QAAQC,IAAIsD,EAAMiB,YAClBxE,QAAQC,IAAI,SAASxB,EAAMyB,OAAOiB,EAAOG,UAAUmD,YAAcpB,EAAMtD,eACvE,IAAI2E,EAAerB,EAAMsB,OAAQf,GAA8B,YAAhBA,EAAKE,QAAsB/D,OAC1EC,QAAQC,IAAI,SAASxB,EAAMsC,MAAM2D,UACjC,IAAIM,EAAkB3B,EAAMsB,OAAQf,GAA8B,eAAhBA,EAAKE,QAAyB/D,OAChFC,QAAQC,IAAI,UAAUxB,EAAMyB,OAAO8E,UACnC,IAAIJ,EAAcvB,EAAMsB,OAAQf,GAA8B,WAAhBA,EAAKE,QAAqB/D,OACxEC,QAAQC,IAAI,SAASxB,EAAM+B,IAAIoE,SACjC,MACE5E,QAAQC,IAAIxB,EAAM0B,KAAK,gBAE3B,CACF,CAAE,MAAOyB,GACP5B,QAAQC,IAAIxB,EAAM+B,IAAI,cACtBR,QAAQC,IAAI,KAAK2B,EAAMC,UACzB,IAOJ,OAHAM,EAAW8C,WAAW5C,GACtBF,EAAW8C,WAAWJ,GAEf1C,CACT","ignoreList":[]}
@@ -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":[]}
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;AAyDH;;GAEG;AACH,wBAAsB,gBAAgB,kBAYrC"}
package/dist/repl.js ADDED
@@ -0,0 +1,2 @@
1
+ import e from"chalk";import o from"inquirer";import{EdgeOneClient as n}from"./api/client.js";import{readConfig as a}from"./commands/config.js";async function t(){await o.prompt([{type:"input",name:"continue",message:"按 Enter 键返回..."}])}function s(){console.log(""),console.log(e.cyan("╔════════════════════════════════════╗")),console.log(e.cyan("║")+" "+e.white.bold("EdgeOne CLI")+" "+e.cyan("║")),console.log(e.cyan("║")+" "+e.gray("本地化 EdgeOne 服务管理工具")+" "+e.cyan("║")),console.log(e.cyan("╚════════════════════════════════════╝")),console.log("")}export async function startInteractive(){a()||(s(),await c()),await async function(){for(;;){console.clear(),s();const n=await o.prompt([{type:"list",name:"action",message:"请选择操作:",choices:[{name:"🔓 配置管理",value:"config"},{name:"🧹 清除缓存",value:"purge"},{name:"🚀 内容预热",value:"prefetch"},{name:"🌐 站点状态",value:"zone-status"},{name:"🕘 历史记录",value:"history"},new o.Separator("─────────────────"),{name:"❌ 退出",value:"exit"}],pageSize:10}]);"exit"===n.action&&(console.log(e.gray("\n👋 再见!\n")),process.exit(0)),n.action&&await l(n.action)}}()}async function l(s){const l=a();switch(s){case"config":await async function(){const n=await o.prompt([{type:"list",name:"action",message:"配置管理:",choices:[{name:"查看配置",value:"show"},{name:"编辑配置",value:"edit"},{name:"删除配置",value:"remove"},{name:"初始化配置",value:"init"},new o.Separator,{name:"← 返回",value:"back"}]}]);if("back"===n.action)return;if("init"===n.action)return void await c();const s=a();if(!s)return void console.log(e.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(n.action){case"show":await async function(o){const n="debug"===o.mode?"调试模式":"生产模式",a="debug"===o.mode?e.yellow:e.green;console.log(e.cyan("\n📋 当前配置:\n")),console.log(e.gray("─".repeat(40))),console.log(` SecretId: ${e.green(i(o.secretId))}`),console.log(` SecretKey: ${e.green(i(o.secretKey))}`),console.log(` 接口请求域名: ${e.yellow(o.endpoint||"teo.tencentcloudapi.com")}`),console.log(` 运行模式: ${a(n)}`),o.domainIdList&&o.domainIdList.length>0&&(console.log(" 站点列表:"),o.domainIdList.forEach((o,n)=>{const a=o.name?`${o.name} (${o.id})`:o.id;console.log(` ${n+1}. ${e.yellow(a)}`)}));console.log(e.gray("─".repeat(40))),console.log(""),await t()}(s);break;case"edit":await async function(n){const a=await o.prompt([{type:"list",name:"action",message:"选择要修改的配置项:",choices:[{name:"SecretId",value:"secretId"},{name:"SecretKey",value:"secretKey"},{name:"接口请求域名",value:"endpoint"},{name:"运行模式",value:"mode"},{name:"站点列表",value:"domainIdList"}]}]);let t;"secretId"===a.action?(t=await o.prompt([{type:"input",name:"value",message:"请输入新的 SecretId:",validate:e=>e.trim()||"不能为空"}]),n.secretId=t.value):"secretKey"===a.action?(t=await o.prompt([{type:"password",name:"value",message:"请输入新的 SecretKey:",mask:"*",validate:e=>e.trim()||"不能为空"}]),n.secretKey=t.value):"endpoint"===a.action?(t=await o.prompt([{type:"input",name:"value",message:"请输入新的接口请求域名:"}]),n.endpoint=t.value):"mode"===a.action?(t=await o.prompt([{type:"list",name:"value",message:"请选择运行模式:",choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}]}]),n.mode=t.value):"domainIdList"===a.action&&(n.domainIdList&&n.domainIdList.length>0&&(console.log(e.gray("\n当前站点列表:")),n.domainIdList.forEach((o,n)=>{const a=o.name?`${o.name} (${o.id})`:o.id;console.log(` ${n+1}. ${e.yellow(a)}`)}),console.log("")),t=await o.prompt([{type:"input",name:"value",message:"请输入站点列表,格式: id:备注(多个用逗号分隔):"}]),t.value?n.domainIdList=t.value.split(",").map(e=>{if((e=e.trim()).includes(":")){const[o,n]=e.split(":");return{id:o.trim(),name:n.trim()}}return{id:e}}).filter(e=>""!==e.id):n.domainIdList=[]);const{writeConfig:s}=await import("./commands/config.js");s(n),console.log(e.green("\n✅ 配置已更新\n"))}(s);break;case"remove":await async function(){const{confirm:n}=await o.prompt([{type:"confirm",name:"confirm",message:"确定要删除配置文件吗?",default:!1}]);if(n){const o=await import("fs"),n=await import("path"),a=await import("os"),t=n.join(a.homedir(),".edgeone-cli","config.json");o.existsSync(t)&&(o.unlinkSync(t),console.log(e.green("\n✅ 配置文件已删除\n")))}}()}}();break;case"purge":l?await async function(a){const s=await o.prompt([{type:"list",name:"type",message:"选择清除类型:",choices:[{name:"清除全部缓存",value:"all"},{name:"清除指定目录缓存",value:"dir"},{name:"清除指定 URL 缓存",value:"url"},new o.Separator,{name:"← 返回",value:"back"}]}]);if("back"===s.type)return;let l=[],c="purge_all",i="*";if(a.domainIdList&&a.domainIdList.length>0){const e=a.domainIdList.map(e=>({name:e.name||e.id,value:e.id})),n=await o.prompt([{type:"list",name:"zone",message:"选择站点:",choices:["* (全部站点)",...e]}]);"* (全部站点)"!==n.zone&&(i=n.zone)}if("all"===s.type){if(!(await o.prompt([{type:"confirm",name:"confirm",message:`确认清除全部缓存? (Zone: ${i})`,default:!1}])).confirm)return;c="purge_all"}else if("dir"===s.type){const e=await o.prompt([{type:"input",name:"dir",message:"请输入目录路径 (输入 :q 或按 Ctrl+C 返回):"}]);if(":q"===e.dir||!e.dir)return;l=[e.dir],c="purge_prefix"}else if("url"===s.type){const e=await o.prompt([{type:"input",name:"urls",message:"请输入 URL (多个用空格分隔, 输入 :q 或按 Ctrl+C 返回):"}]);if(":q"===e.urls||!e.urls)return;l=e.urls.split(/\s+/).filter(e=>e.trim()),c="purge_url"}await async function(o,a,s,l){const c=new n(o.secretId,o.secretKey,o.endpoint||"teo.tencentcloudapi.com","ap-guangzhou",o.mode),i="debug"===o.mode;i&&(console.log(e.cyan("\n🔄 清除缓存任务\n")),console.log(e.gray("API 参数:")),console.log(` ZoneId: ${e.green(l)}`),console.log(` Type: ${e.green(a)}`),s.length>0&&console.log(` Targets: ${e.green(JSON.stringify(s))}`),console.log(""));try{const o=await c.createPurgeTask({zoneId:l,type:a,targets:s});o.Response?.Error?(console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(o.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(o.Response.Error.Message)}`)):(console.log(e.green("\n✅ 请求成功!")),console.log(` RequestId: ${e.yellow(o.Response?.RequestId)}`),o.Response?.JobId&&console.log(` JobId: ${e.yellow(o.Response.JobId)}`))}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}console.log(""),await t()}(a,c,l,i)}(l):(console.log(e.yellow("\n⚠️ 请先初始化配置\n")),await c());break;case"prefetch":l?await async function(a){const s=await o.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(a.domainIdList&&a.domainIdList.length>0){const e=a.domainIdList.map(e=>({name:e.name||e.id,value:e.id})),n=await o.prompt([{type:"list",name:"zone",message:"选择站点:",choices:["* (全部站点)",...e]}]);"* (全部站点)"!==n.zone&&(c=n.zone)}if(!(await o.prompt([{type:"confirm",name:"confirm",message:`确认预热以下 URL?\n ${l.join("\n ")}\n`,default:!0}])).confirm)return;await async function(o,a,s){const l=new n(o.secretId,o.secretKey,o.endpoint||"teo.tencentcloudapi.com","ap-guangzhou",o.mode),c="debug"===o.mode;c&&(console.log(e.cyan("\n🔥 预热任务\n")),console.log(e.gray("URL列表:")),a.forEach(o=>console.log(` - ${e.yellow(o)}`)),console.log(`\nZone ID: ${e.green(s)}`),console.log(""));try{const o=await l.createPrefetchTask({zoneId:s,urls:a});o.Response?.Error?(console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(o.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(o.Response.Error.Message)}`)):(console.log(e.green("\n✅ 预热任务已提交!")),console.log(` RequestId: ${e.yellow(o.Response?.RequestId)}`),o.Response?.JobId&&console.log(` JobId: ${e.yellow(o.Response.JobId)}`))}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}console.log(""),await t()}(a,l,c)}(l):(console.log(e.yellow("\n⚠️ 请先初始化配置\n")),await c());break;case"history":l?await async function(a){const s=await o.prompt([{type:"list",name:"type",message:"选择查询类型:",choices:[{name:"清除缓存历史",value:"purge"},{name:"预热任务历史",value:"prefetch"},new o.Separator,{name:"← 返回",value:"back"}]}]);if("back"===s.type)return;let l=[];if(!(a.domainIdList&&a.domainIdList.length>0))return void console.log(e.yellow("\n⚠️ 未配置站点列表,请使用 --zone 参数指定或在配置中添加\n"));{const e=a.domainIdList.map(e=>({name:e.name||e.id,value:e.id,short:e.name||e.id}));l=(await o.prompt([{type:"checkbox",name:"zones",message:"选择站点 (可多选):",choices:e,validate:e=>e.length>0||"请至少选择一个站点"}])).zones}"purge"===s.type?await async function(o,a){const s=new n(o.secretId,o.secretKey,o.endpoint||"teo.tencentcloudapi.com","",o.mode),l="debug"===o.mode;l&&(console.log(e.cyan("\n📋 清除缓存历史记录\n")),console.log(e.gray("ZoneIds: "+a.join(", "))));try{const o=await s.describePurgeTasks(a);if(o.Response?.Error)console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(o.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(o.Response.Error.Message)}`);else{console.log(e.green("\n✅ 查询成功!")),console.log(` RequestId: ${e.yellow(o.Response?.RequestId)}`);const n=o.Response?.Tasks||[];if(n.length>0){const{default:a}=await import("cli-table3"),t=new a({head:[e.gray("状态"),e.gray("清除地址"),e.gray("时间"),e.gray("类型")],colWidths:[8,50,30,8],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(o=>{const n="success"===o.Status?e.green("✓"):e.red("✗"),a=o.Target||"all",s="purge_url"===o.Type?"URL":"purge_prefix"===o.Type?"目录":"全部",l=o.CreateTime?o.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",c=a.length>47?a.slice(0,44)+"...":a;t.push([n,e.yellow(c),e.gray(l),s])}),console.log(e.cyan("\n📋 清除缓存记录:\n")),console.log(t.toString()),console.log(` 总计: ${e.yellow(o.Response?.TotalCount||n.length)} 条记录`)}else console.log(e.gray("\n 暂无清除记录\n"))}}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}console.log(""),await t()}(a,l):await async function(o,a){const s=new n(o.secretId,o.secretKey,o.endpoint||"teo.tencentcloudapi.com","",o.mode),l="debug"===o.mode;l&&(console.log(e.cyan("\n📋 预热任务历史记录\n")),console.log(e.gray("ZoneIds: "+a.join(", "))));try{const o=await s.describePrefetchTasks(a);if(o.Response?.Error)console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(o.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(o.Response.Error.Message)}`);else{console.log(e.green("\n✅ 查询成功!")),console.log(` RequestId: ${e.yellow(o.Response?.RequestId)}`);const n=o.Response?.PrefetchTasks||[];if(n.length>0){const{default:a}=await import("cli-table3"),t=new a({head:[e.gray("状态"),e.gray("预热地址"),e.gray("时间")],colWidths:[8,60,30],chars:{mid:"","left-mid":"","mid-mid":"","right-mid":""}});n.forEach(o=>{const n="success"===o.Status?e.green("✓"):"processing"===o.Status?e.yellow("⏳"):e.red("✗"),a=o.Target||"unknown",s=o.CreateTime?o.CreateTime.replace("T"," ").replace("Z","").slice(0,19):"",l=a.length>57?a.slice(0,54)+"...":a;t.push([n,e.yellow(l),e.gray(s)])}),console.log(e.cyan("\n📋 预热任务记录:\n")),console.log(t.toString()),console.log(` 总计: ${e.yellow(o.Response?.TotalCount||n.length)} 条记录`)}else console.log(e.gray("\n 暂无预热记录\n"))}}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}console.log(""),await t()}(a,l)}(l):(console.log(e.yellow("\n⚠️ 请先初始化配置\n")),await c());break;case"zone-status":l?await async function(a){if(!a.domainIdList||0===a.domainIdList.length)return console.log(e.yellow("\n⚠️ 未配置站点列表,请先在配置中添加站点\n")),void await t();const s=await o.prompt([{type:"list",name:"action",message:"站点状态管理:",choices:[{name:"🔍 查看站点状态",value:"view"},{name:"🔘 修改站点状态",value:"modify"},new o.Separator,{name:"← 返回",value:"back"}]}]);if("back"===s.action)return;"view"===s.action?await async function(o){const a=await r(o,"选择要查看的站点:");if(!a)return;const s=o.domainIdList.find(e=>e.id===a),l=s?.name||a,c=new n(o.secretId,o.secretKey,o.endpoint||"teo.tencentcloudapi.com","ap-guangzhou",o.mode),i="debug"===o.mode;i&&(console.log(e.cyan("\n🔍 查看站点状态\n")),console.log(e.gray("API 参数:")),console.log(` Action: ${e.green("DescribeZones")}`),console.log(` ZoneIds: ${e.green([a])}`),console.log(""));try{const o=await c.describeZoneStatus({zoneId:a});if(o.Response?.Error)console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(o.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(o.Response.Error.Message)}`);else{console.log(e.green("\n✅ 查询成功!")),console.log(` RequestId: ${e.yellow(o.Response?.RequestId)}`);const n=o.Response?.Zones||[];if(n.length>0){const o=n[0].Paused,t=o?"关闭":"开启",s=o?e.red:e.green;console.log(e.cyan("\n📋 站点状态:\n")),console.log(e.gray("─".repeat(40))),console.log(` 站点名称: ${e.yellow(l)}`),console.log(` 站点ID: ${e.yellow(a)}`),console.log(` 状态: ${s(t)} (${o})`),console.log(e.gray("─".repeat(40)))}else console.log(e.gray("\n 未找到站点信息\n"))}}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}console.log(""),await t()}(a):"modify"===s.action&&await async function(a){const s=await r(a,"选择要修改的站点:");if(!s)return;const l=a.domainIdList.find(e=>e.id===s),c=l?.name||s,i=await o.prompt([{type:"list",name:"paused",message:`选择站点状态 (${c}):`,choices:[{name:"开启 (Paused: false)",value:!1},{name:"关闭 (Paused: true)",value:!0},new o.Separator,{name:"← 返回",value:"back"}]}]);if("back"===i.paused)return;const d=i.paused,m=d?"关闭":"开启";if(!(await o.prompt([{type:"confirm",name:"confirm",message:`确认将站点 ${c} 设置为 ${m}?`,default:!0}])).confirm)return;await async function(o,a,s,l){const c=new n(o.secretId,o.secretKey,o.endpoint||"teo.tencentcloudapi.com","ap-guangzhou",o.mode),i="debug"===o.mode;i&&(console.log(e.cyan("\n🔘 修改站点状态\n")),console.log(e.gray("API 参数:")),console.log(` Action: ${e.green("ModifyZoneStatus")}`),console.log(` ZoneId: ${e.green(a)}`),console.log(` Paused: ${e.green(s)}`),console.log(""));try{const o=await c.modifyZoneStatus({zoneId:a,paused:s});o.Response?.Error?(console.log(e.red("\n❌ 请求失败:")),console.log(` 错误码: ${e.yellow(o.Response.Error.Code)}`),console.log(` 错误信息: ${e.yellow(o.Response.Error.Message)}`)):(console.log(e.green("\n✅ 站点状态已更新!")),console.log(` 状态: ${e.yellow(l)}`),console.log(` RequestId: ${e.yellow(o.Response?.RequestId)}`))}catch(o){console.log(e.red("\n❌ 请求异常:")),console.log(` ${o.message}`)}console.log(""),await t()}(a,s,d,m)}(a)}(l):(console.log(e.yellow("\n⚠️ 请先初始化配置\n")),await c())}}async function c(){const n=a();if(n){const{overwrite:e}=await o.prompt([{type:"confirm",name:"overwrite",message:"配置已存在,是否覆盖?",default:!1}]);if(!e)return}const t=n?.domainIdList?n.domainIdList.map(e=>e.name?`${e.id}:${e.name}`:e.id).join(", "):"",s=await o.prompt([{type:"input",name:"secretId",message:"请输入 SecretId:",default:n?.secretId||"",validate:e=>!!e.trim()||"SecretId 不能为空"},{type:"password",name:"secretKey",message:"请输入 SecretKey:",mask:"*",validate:e=>!!e.trim()||"SecretKey 不能为空"},{type:"input",name:"endpoint",message:"请输入接口请求域名:",default:n?.endpoint||"teo.tencentcloudapi.com"},{type:"list",name:"mode",message:"请选择运行模式:",choices:[{name:"生产模式 (不显示调试信息)",value:"production"},{name:"调试模式 (显示详细请求信息)",value:"debug"}],default:n?.mode||"production"},{type:"input",name:"domainIdList",message:"请输入站点列表,格式: id:备注(多个用逗号分隔,留空跳过):",default:t}]),{writeConfig:l}=await import("./commands/config.js");let c=[];s.domainIdList&&s.domainIdList.trim()&&(c=s.domainIdList.split(",").map(e=>{if((e=e.trim()).includes(":")){const[o,n]=e.split(":");return{id:o.trim(),name:n.trim()}}return{id:e}}).filter(e=>""!==e.id)),l({secretId:s.secretId,secretKey:s.secretKey,endpoint:s.endpoint,mode:s.mode,domainIdList:c});const i=n?"更新":"保存";console.log(e.green(`\n✅ 配置已${i}\n`))}function i(e,o=4){return e?e.length<=2*o?e:e.slice(0,o)+"****"+e.slice(-o):"N/A"}async function r(e,n){const a=e.domainIdList.map(e=>({name:e.name||e.id,value:e.id})),t=await o.prompt([{type:"list",name:"zone",message:n,choices:[...a,new o.Separator,{name:"← 返回",value:"back"}]}]);return"back"===t.zone?null:t.zone}
2
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"A:\\edgeone-cli\\dist\\repl.js","names":["chalk","inquirer","EdgeOneClient","readConfig","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","forEach","zone","idx","display","id","showConfigInfo","newValue","validate","i","trim","mask","split","map","item","includes","filter","writeConfig","editConfig","confirm","default","fs","path","os","CONFIG_FILE","join","homedir","existsSync","unlinkSync","removeConfig","configMenu","targets","purgeType","zoneId","zoneChoices","zoneAnswers","dirAnswers","dir","urlAnswers","urls","u","client","isDebug","JSON","stringify","result","createPurgeTask","Response","Error","red","Code","Message","RequestId","JobId","error","executePurge","purgeMenu","createPrefetchTask","executePrefetch","prefetchMenu","zoneIds","short","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","selectedZoneId","selectZone","selectedZone","find","z","zoneDisplay","describeZoneStatus","Zones","paused","Paused","statusText","statusColor","viewZoneStatus","statusAnswers","modifyZoneStatus","executeZoneStatusChange","zoneStatusMenu","existingConfig","overwrite","defaultDomainList","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edgeone-cli",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "EdgeOne CLI - 本地化 EdgeOne 服务管理工具",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",