@bty/customer-service-cli 0.3.2 → 0.3.3
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 +13 -2
- package/dist/bin.js +40 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -177,9 +177,20 @@ cs-cli --workspace ws-other agent list # ❌ 报错:CS_WORKSPACE_ID 已被
|
|
|
177
177
|
### 工作空间 (`workspace`)
|
|
178
178
|
|
|
179
179
|
|
|
180
|
-
| 命令
|
|
181
|
-
|
|
|
180
|
+
| 命令 | 说明 |
|
|
181
|
+
| --- | --- |
|
|
182
182
|
| `workspace list` | 列出所有工作空间 |
|
|
183
|
+
| `workspace points-consumes-daily [--start <YYYY-MM-DD>] [--end <YYYY-MM-DD>]` | 按天查询工作空间积分消耗(默认最近 30 天) |
|
|
184
|
+
|
|
185
|
+
`workspace points-consumes-daily` 需要可用的工作空间上下文(`--workspace`、本地 `.cs-cli.json` 或全局 `defaultWorkspaceId`)。
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# 查询最近 30 天(默认)
|
|
189
|
+
cs-cli workspace points-consumes-daily
|
|
190
|
+
|
|
191
|
+
# 指定日期范围(含 start/end)
|
|
192
|
+
cs-cli workspace points-consumes-daily --start 2026-04-01 --end 2026-04-23
|
|
193
|
+
```
|
|
183
194
|
|
|
184
195
|
|
|
185
196
|
### Agent 管理 (`agent`)
|
package/dist/bin.js
CHANGED
|
@@ -733,6 +733,17 @@ async function listWorkspaces() {
|
|
|
733
733
|
const request = createRequest();
|
|
734
734
|
return request(getCustomerServiceUrl(), "/v1/client/workspaces", { method: "GET" });
|
|
735
735
|
}
|
|
736
|
+
async function getDailyDeduction(opts) {
|
|
737
|
+
const request = createRequest();
|
|
738
|
+
return request(
|
|
739
|
+
getCustomerServiceUrl(),
|
|
740
|
+
"/v1/workspace/points_consumes/daily_deduction",
|
|
741
|
+
{
|
|
742
|
+
method: "POST",
|
|
743
|
+
body: { start_time: opts.startTime, end_time: opts.endTime }
|
|
744
|
+
}
|
|
745
|
+
);
|
|
746
|
+
}
|
|
736
747
|
|
|
737
748
|
// src/commands/config.ts
|
|
738
749
|
function registerConfigCommand(program2) {
|
|
@@ -3066,6 +3077,13 @@ function registerSACommand(program2) {
|
|
|
3066
3077
|
}
|
|
3067
3078
|
|
|
3068
3079
|
// src/commands/workspace.ts
|
|
3080
|
+
var DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
3081
|
+
function toISODate(d) {
|
|
3082
|
+
const yyyy = d.getFullYear();
|
|
3083
|
+
const mm = String(d.getMonth() + 1).padStart(2, "0");
|
|
3084
|
+
const dd = String(d.getDate()).padStart(2, "0");
|
|
3085
|
+
return `${yyyy}-${mm}-${dd}`;
|
|
3086
|
+
}
|
|
3069
3087
|
function registerWorkspaceCommand(program2) {
|
|
3070
3088
|
const workspace = program2.command("workspace").description("\u5DE5\u4F5C\u7A7A\u95F4\u7BA1\u7406 \u2014\u2014 \u4E00\u4E2A\u5DE5\u4F5C\u7A7A\u95F4\u5BF9\u5E94\u4E00\u4E2A\u5BA2\u6237/\u5E97\u94FA\uFF0C\u5305\u542B\u8BE5\u5BA2\u6237\u7684\u6240\u6709 Agent");
|
|
3071
3089
|
workspace.command("list").description("\u5217\u51FA\u5F53\u524D\u8D26\u53F7\u53EF\u8BBF\u95EE\u7684\u6240\u6709\u5DE5\u4F5C\u7A7A\u95F4\u3002\u8FD4\u56DE id \u548C name\uFF0C\u7528\u4E8E config set-workspace").action(async () => {
|
|
@@ -3077,6 +3095,28 @@ function registerWorkspaceCommand(program2) {
|
|
|
3077
3095
|
process.exit(toExitCode(err));
|
|
3078
3096
|
}
|
|
3079
3097
|
});
|
|
3098
|
+
workspace.command("points-consumes-daily").description(
|
|
3099
|
+
"\u6309\u5929\u67E5\u8BE2\u5F53\u524D\u5DE5\u4F5C\u7A7A\u95F4\u7684\u79EF\u5206\u6D88\u8017\u3002\u9ED8\u8BA4\u6700\u8FD1 30 \u5929\uFF08end=\u4ECA\u5929\uFF0Cstart=\u4ECA\u5929-29d\uFF09\uFF0C\u8FD4\u56DE consume_date / total_consume_points \u5217\u8868"
|
|
3100
|
+
).option("--start <YYYY-MM-DD>", "\u8D77\u59CB\u65E5\u671F\uFF08\u542B\uFF09\uFF0C\u9ED8\u8BA4\u4ECA\u5929-29d").option("--end <YYYY-MM-DD>", "\u7ED3\u675F\u65E5\u671F\uFF08\u542B\uFF09\uFF0C\u9ED8\u8BA4\u4ECA\u5929").action(async (opts) => {
|
|
3101
|
+
try {
|
|
3102
|
+
const now = /* @__PURE__ */ new Date();
|
|
3103
|
+
const defaultEnd = toISODate(now);
|
|
3104
|
+
const defaultStart = toISODate(new Date(now.getTime() - 29 * 24 * 60 * 60 * 1e3));
|
|
3105
|
+
const startTime = opts.start ?? defaultStart;
|
|
3106
|
+
const endTime = opts.end ?? defaultEnd;
|
|
3107
|
+
if (!DATE_RE.test(startTime) || !DATE_RE.test(endTime)) {
|
|
3108
|
+
throw new Error("--start / --end \u9700\u4E3A YYYY-MM-DD \u683C\u5F0F");
|
|
3109
|
+
}
|
|
3110
|
+
if (startTime > endTime) {
|
|
3111
|
+
throw new Error("--start \u4E0D\u80FD\u665A\u4E8E --end");
|
|
3112
|
+
}
|
|
3113
|
+
const data = await getDailyDeduction({ startTime, endTime });
|
|
3114
|
+
formatOutput({ success: true, data }, program2.opts().table);
|
|
3115
|
+
} catch (err) {
|
|
3116
|
+
reportCaughtError(err);
|
|
3117
|
+
process.exit(toExitCode(err));
|
|
3118
|
+
}
|
|
3119
|
+
});
|
|
3080
3120
|
}
|
|
3081
3121
|
|
|
3082
3122
|
// src/bin.ts
|