@puyinkai/xiaobao-cli 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/add-CCuWFy1O.mjs +21 -0
- package/dist/{admin-BzMFazEa.mjs → admin-BOL_otwc.mjs} +2 -2
- package/dist/analyze-mjHjOnz1.mjs +72 -0
- package/dist/{api-ChuNquZJ.mjs → api-BaX_r5S5.mjs} +3 -3
- package/dist/{api-client-ifJHc7hu.mjs → api-client-D3sCv6L3.mjs} +1 -1
- package/dist/{audio-CeNKUqeU.mjs → audio-CDt1rpEL.mjs} +3 -2
- package/dist/{auth-CdWYrfte.mjs → auth-sQwZSTNA.mjs} +4 -3
- package/dist/beautx-DytYVFvT.mjs +16 -0
- package/dist/cli.mjs +18 -13
- package/dist/config-GuXMTecJ.mjs +11 -0
- package/dist/{consultant-CO9zaJ7I.mjs → consultant-elv5arLG.mjs} +1 -1
- package/dist/{current-BYpcshKV.mjs → current-ABh6R3vp.mjs} +1 -1
- package/dist/{customer-COMf1yZb.mjs → customer-CZ-nG9ku.mjs} +1 -1
- package/dist/date-BcQMKhIT.mjs +21 -0
- package/dist/deal-analysis-Dqz34gLw.mjs +10 -0
- package/dist/{device-flow-DC1kqcmR.mjs → device-flow-j10PFOQL.mjs} +42 -31
- package/dist/diff-8I1_L-nU.mjs +21 -0
- package/dist/{doc-NfMyo-fF.mjs → doc-CJT7BuhU.mjs} +3 -3
- package/dist/{doc-content-BKaZ016e.mjs → doc-content-_SCykNvs.mjs} +3 -3
- package/dist/{docs-CheVzIbW.mjs → docs-BHtwTAJ4.mjs} +3 -3
- package/dist/fields-BRE3oWMD.mjs +54 -0
- package/dist/{focus-AWSxlbBZ.mjs → focus-C4egr05X.mjs} +1 -1
- package/dist/follow-LwYQd9Bv.mjs +14 -0
- package/dist/{format-HWx3JWdS.mjs → format-DfVypHID.mjs} +1 -1
- package/dist/get-CbovJWSq.mjs +66 -0
- package/dist/{kb-DkSAvuBG.mjs → kb-CyPqbezN.mjs} +4 -4
- package/dist/last-7-days-VKMMIzDz.mjs +5 -0
- package/dist/{list-BbU4R0_z.mjs → list-2qqSxkDM.mjs} +3 -3
- package/dist/{list-CMFp28Dm.mjs → list-CT4t_FJs.mjs} +4 -4
- package/dist/{list-Czym-Sla.mjs → list-Ca5uJXDH.mjs} +3 -3
- package/dist/{list-bBAaEvT7.mjs → list-CiNgcIXS.mjs} +4 -4
- package/dist/{list-BxWqQllQ2.mjs → list-DWv6toPT.mjs} +4 -4
- package/dist/list-DXOlqJog.mjs +76 -0
- package/dist/{list-D7Fmqk0G.mjs → list-FQpZk3vH.mjs} +4 -4
- package/dist/{list-QIEQgIb3.mjs → list-OYeOGI0g.mjs} +4 -4
- package/dist/list-XIIj_ryX.mjs +43 -0
- package/dist/{login-DYAlK1aL.mjs → login-Bp2W2Hnj.mjs} +9 -2
- package/dist/{logout-S3GMy_ns.mjs → logout-BnoEQxKZ.mjs} +2 -2
- package/dist/now-Ce3ViNOw.mjs +9 -0
- package/dist/plan-C35h8U-w.mjs +10 -0
- package/dist/portrait-BEDGkOx1.mjs +14 -0
- package/dist/portrait-tags-B9hPFDIF.mjs +10 -0
- package/dist/{project-CiltZzqF.mjs → project-urShHaAN.mjs} +3 -3
- package/dist/{qa-DDzTuZ8K.mjs → qa-CaV_tDBc.mjs} +3 -3
- package/dist/{quantum-CgAcmQAL.mjs → quantum-Ds7rlag3.mjs} +5 -5
- package/dist/range-CSJiXTp3.mjs +18 -0
- package/dist/{resistance-YwKC91E0.mjs → resistance-DMesV4lG.mjs} +1 -1
- package/dist/{sales-report-XQ_Oy9ht.mjs → sales-report-BIfyfucO.mjs} +3 -3
- package/dist/{search-CxOFpH18.mjs → search-B0wA0YCI.mjs} +4 -4
- package/dist/shared-BEkL4JRB.mjs +11 -0
- package/dist/shared-Bbxvn4ZI.mjs +92 -0
- package/dist/shared-CYALikq5.mjs +277 -0
- package/dist/status-CrpCtf5U.mjs +65 -0
- package/dist/subtract-B4XTXD_X.mjs +21 -0
- package/dist/{summary-CfbHddby.mjs → summary-BIx7F4AE.mjs} +4 -4
- package/dist/summary-BkxVcv8a.mjs +65 -0
- package/dist/{text-R3KjyXSK.mjs → text-CqmsXzad.mjs} +3 -3
- package/dist/this-month-BRdfmc1s.mjs +5 -0
- package/dist/this-week-2GoqEaXU.mjs +5 -0
- package/dist/today-BhQnSMJH.mjs +5 -0
- package/dist/today-CdlU96lq.mjs +9 -0
- package/dist/today-so-far-D2g98rKv.mjs +5 -0
- package/dist/{token-usage-BDnEMHvB.mjs → token-usage-y46b3_7C.mjs} +3 -3
- package/dist/tomorrow-BgSEBV69.mjs +9 -0
- package/dist/{use-DgCwov4y.mjs → use-rAR4OVC7.mjs} +1 -1
- package/dist/{visit-Beb2o8zF.mjs → visit-CmEtfs7n.mjs} +2 -2
- package/dist/visit-evaluate-LdAg9iP5.mjs +9 -0
- package/dist/weekday-CgEg7n7U.mjs +14 -0
- package/dist/{whoami-H8AdUnQY.mjs → whoami-oRc8gILN.mjs} +1 -1
- package/dist/yesterday-CHAh1DlJ.mjs +5 -0
- package/dist/yesterday-DW-YiRTt.mjs +9 -0
- package/package.json +3 -2
- package/skills/wangxiaobao-audio-analyze/SKILL.md +42 -0
- package/skills/wangxiaobao-beautx/SKILL.md +42 -0
- package/skills/wangxiaobao-customer-portrait/SKILL.md +45 -0
- package/skills/wangxiaobao-customer-query/SKILL.md +1 -1
- package/skills/wangxiaobao-follow-query/SKILL.md +45 -0
- package/skills/wangxiaobao-knowledge-base/SKILL.md +1 -1
- package/skills/wangxiaobao-quantum-stats/SKILL.md +3 -1
- package/skills/wangxiaobao-quantum-stats/references/quantum-metrics.md +3 -2
- package/skills/wangxiaobao-shared/SKILL.md +5 -1
- /package/dist/{util-pyTg7qwY.mjs → util-BuoFIeLS.mjs} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
6
|
import { defineCommand } from "citty";
|
|
7
7
|
//#region src/commands/consultant/list.ts
|
|
8
8
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
6
|
-
import { n as mergeUserIds, r as toLocalDateTime, t as csvToArray } from "./util-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { n as mergeUserIds, r as toLocalDateTime, t as csvToArray } from "./util-BuoFIeLS.mjs";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
8
8
|
//#region src/commands/audio/list.ts
|
|
9
9
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
3
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
4
4
|
import { defineCommand } from "citty";
|
|
5
5
|
//#region src/commands/project/list.ts
|
|
6
6
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
6
|
-
import { r as toLocalDateTime, t as csvToArray } from "./util-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { r as toLocalDateTime, t as csvToArray } from "./util-BuoFIeLS.mjs";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
8
8
|
//#region src/commands/resistance/list.ts
|
|
9
9
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
6
|
-
import { r as toLocalDateTime } from "./util-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { r as toLocalDateTime } from "./util-BuoFIeLS.mjs";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
8
8
|
//#region src/commands/visit/list.ts
|
|
9
9
|
/**
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
|
+
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
|
+
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { r as toLocalDateTime, t as csvToArray } from "./util-BuoFIeLS.mjs";
|
|
7
|
+
import { defineCommand } from "citty";
|
|
8
|
+
//#region src/commands/follow/list.ts
|
|
9
|
+
/**
|
|
10
|
+
* `xiaobao-cli follow list` — 旺跟进明细分页。
|
|
11
|
+
*
|
|
12
|
+
* 每条 = 一次跟进动作(电话/短信/微信/企微…,含通话时长、消息条数)。
|
|
13
|
+
* 聚合统计卡片(summary/rank/team/time)走 `quantum follow`;
|
|
14
|
+
* 电话/微信指标汇总走 `follow summary`。调 POST /ai-open/follows/page。
|
|
15
|
+
*/
|
|
16
|
+
var list_default = defineCommand({
|
|
17
|
+
meta: {
|
|
18
|
+
name: "list",
|
|
19
|
+
description: "旺跟进明细分页(谁/何时/以什么方式跟进了哪个客户)"
|
|
20
|
+
},
|
|
21
|
+
args: {
|
|
22
|
+
"user-ids": {
|
|
23
|
+
type: "string",
|
|
24
|
+
description: "CSV: 跟进人 userId 过滤;不传按当前授权范围"
|
|
25
|
+
},
|
|
26
|
+
"customer-ids": {
|
|
27
|
+
type: "string",
|
|
28
|
+
description: "CSV: 客户 wang_id 过滤"
|
|
29
|
+
},
|
|
30
|
+
from: {
|
|
31
|
+
type: "string",
|
|
32
|
+
description: "开始时间(含)"
|
|
33
|
+
},
|
|
34
|
+
to: {
|
|
35
|
+
type: "string",
|
|
36
|
+
description: "结束时间(不含)"
|
|
37
|
+
},
|
|
38
|
+
page: {
|
|
39
|
+
type: "string",
|
|
40
|
+
default: "1"
|
|
41
|
+
},
|
|
42
|
+
size: {
|
|
43
|
+
type: "string",
|
|
44
|
+
default: "10"
|
|
45
|
+
},
|
|
46
|
+
"api-base": { type: "string" },
|
|
47
|
+
"auth-base": { type: "string" },
|
|
48
|
+
format: {
|
|
49
|
+
type: "string",
|
|
50
|
+
default: "toon"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
async run({ args }) {
|
|
54
|
+
try {
|
|
55
|
+
writeResult(await xbApiFetch(resolveConfig({
|
|
56
|
+
apiBase: args["api-base"],
|
|
57
|
+
authBase: args["auth-base"]
|
|
58
|
+
}), "POST", "/ai-open/follows/page", {
|
|
59
|
+
headers: tenantProjectHeaders(await requireActiveProject()),
|
|
60
|
+
body: {
|
|
61
|
+
userIds: csvToArray(args["user-ids"])?.map(Number),
|
|
62
|
+
customerIds: csvToArray(args["customer-ids"])?.map(Number),
|
|
63
|
+
fromDate: toLocalDateTime(args.from),
|
|
64
|
+
toDate: toLocalDateTime(args.to),
|
|
65
|
+
page: Number(args.page),
|
|
66
|
+
size: Number(args.size)
|
|
67
|
+
}
|
|
68
|
+
}), args.format);
|
|
69
|
+
} catch (err) {
|
|
70
|
+
writeError(err, args.format);
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
//#endregion
|
|
76
|
+
export { list_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
6
|
-
import { r as toLocalDateTime } from "./util-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { r as toLocalDateTime } from "./util-BuoFIeLS.mjs";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
8
8
|
//#region src/commands/customer/list.ts
|
|
9
9
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
6
|
-
import { r as toLocalDateTime, t as csvToArray } from "./util-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { r as toLocalDateTime, t as csvToArray } from "./util-BuoFIeLS.mjs";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
8
8
|
//#region src/commands/focus/list.ts
|
|
9
9
|
/**
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
|
+
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
|
+
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { defineCommand } from "citty";
|
|
7
|
+
//#region src/commands/portrait/list.ts
|
|
8
|
+
/**
|
|
9
|
+
* `xiaobao-cli portrait list` — 画像字段清单(中文名 + 分档枚举)。
|
|
10
|
+
*
|
|
11
|
+
* 返回本项目可用的画像字段(fieldNames + fields[].values 分档),
|
|
12
|
+
* 供 `portrait get <field>` 使用。调 POST /ai-open/portraits/fields。
|
|
13
|
+
*/
|
|
14
|
+
var list_default = defineCommand({
|
|
15
|
+
meta: {
|
|
16
|
+
name: "list",
|
|
17
|
+
description: "画像字段清单(中文名,供 portrait get 使用)"
|
|
18
|
+
},
|
|
19
|
+
args: {
|
|
20
|
+
"api-base": { type: "string" },
|
|
21
|
+
"auth-base": { type: "string" },
|
|
22
|
+
format: {
|
|
23
|
+
type: "string",
|
|
24
|
+
default: "toon"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
async run({ args }) {
|
|
28
|
+
try {
|
|
29
|
+
writeResult(await xbApiFetch(resolveConfig({
|
|
30
|
+
apiBase: args["api-base"],
|
|
31
|
+
authBase: args["auth-base"]
|
|
32
|
+
}), "POST", "/ai-open/portraits/fields", {
|
|
33
|
+
headers: tenantProjectHeaders(await requireActiveProject()),
|
|
34
|
+
body: {}
|
|
35
|
+
}), args.format);
|
|
36
|
+
} catch (err) {
|
|
37
|
+
writeError(err, args.format);
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//#endregion
|
|
43
|
+
export { list_default as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as refreshToken, n as initiateDeviceAuthorization, o as resolveConfig, r as pollForToken } from "./device-flow-j10PFOQL.mjs";
|
|
2
2
|
import { a as isAccessTokenValid, c as writePendingAuth, l as writeToken, n as clearPendingAuth, o as readPendingAuth, r as clearToken, s as readToken, t as NoPendingAuthError } from "./token-store-BB7n-fwJ.mjs";
|
|
3
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
3
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
4
4
|
import { defineCommand } from "citty";
|
|
5
5
|
//#region src/commands/auth/login.ts
|
|
6
6
|
/**
|
|
@@ -135,6 +135,13 @@ var login_default = defineCommand({
|
|
|
135
135
|
}, fmt);
|
|
136
136
|
return;
|
|
137
137
|
}
|
|
138
|
+
await writePendingAuth({
|
|
139
|
+
device_code: init.device_code,
|
|
140
|
+
user_code: init.user_code,
|
|
141
|
+
verification_uri: verificationUri,
|
|
142
|
+
interval,
|
|
143
|
+
expires_at: Date.now() + init.expires_in * 1e3
|
|
144
|
+
});
|
|
138
145
|
process.stderr.write(`
|
|
139
146
|
请在浏览器中打开以下链接完成登录并授权访问你的旺小宝账号:
|
|
140
147
|
\n 🔗 ${verificationUri}\n\n 设备验证码: ${init.user_code}\n 有效期约 ${expiresMinutes} 分钟\n\n等待你在浏览器中确认 ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as revokeRefreshToken, o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
2
|
import { n as clearPendingAuth, r as clearToken, s as readToken } from "./token-store-BB7n-fwJ.mjs";
|
|
3
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
3
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
4
4
|
import { defineCommand } from "citty";
|
|
5
5
|
//#region src/commands/auth/logout.ts
|
|
6
6
|
/**
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { o as getNow, t as defineDateCommand } from "./shared-CYALikq5.mjs";
|
|
2
|
+
//#region src/commands/date/now.ts
|
|
3
|
+
var now_default = defineDateCommand({
|
|
4
|
+
name: "now",
|
|
5
|
+
description: "当前日期时间(含星期)",
|
|
6
|
+
run: ({ args }) => getNow(args.timezone)
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { now_default as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { t as defineBeautxCommand } from "./shared-Bbxvn4ZI.mjs";
|
|
2
|
+
//#region src/commands/beautx/plan.ts
|
|
3
|
+
var plan_default = defineBeautxCommand({
|
|
4
|
+
name: "plan",
|
|
5
|
+
description: "医美变美计划分页(报告分组 sections + 面诊医生/复诊时间等)",
|
|
6
|
+
path: "/ai-open/beautx/plans",
|
|
7
|
+
supportsLatestOnly: true
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { plan_default as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { defineCommand } from "citty";
|
|
2
|
+
//#region src/commands/portrait/index.ts
|
|
3
|
+
var portrait_default = defineCommand({
|
|
4
|
+
meta: {
|
|
5
|
+
name: "portrait",
|
|
6
|
+
description: "客户画像分布:字段清单(list) / 单字段饼图(get)(按画像筛客户用 customer list --portrait)"
|
|
7
|
+
},
|
|
8
|
+
subCommands: {
|
|
9
|
+
list: () => import("./list-XIIj_ryX.mjs").then((m) => m.default),
|
|
10
|
+
get: () => import("./get-CbovJWSq.mjs").then((m) => m.default)
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
export { portrait_default as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { t as defineBeautxCommand } from "./shared-Bbxvn4ZI.mjs";
|
|
2
|
+
//#region src/commands/beautx/portrait-tags.ts
|
|
3
|
+
var portrait_tags_default = defineBeautxCommand({
|
|
4
|
+
name: "portrait-tags",
|
|
5
|
+
description: "医美来访画像标签分页(维度 → 命中标签值;--dimension 过滤维度名)",
|
|
6
|
+
path: "/ai-open/beautx/portrait-tags",
|
|
7
|
+
supportsDimension: true
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { portrait_tags_default as default };
|
|
@@ -6,9 +6,9 @@ var project_default = defineCommand({
|
|
|
6
6
|
description: "查询 / 切换激活项目"
|
|
7
7
|
},
|
|
8
8
|
subCommands: {
|
|
9
|
-
list: () => import("./list-
|
|
10
|
-
use: () => import("./use-
|
|
11
|
-
current: () => import("./current-
|
|
9
|
+
list: () => import("./list-Ca5uJXDH.mjs").then((m) => m.default),
|
|
10
|
+
use: () => import("./use-rAR4OVC7.mjs").then((m) => m.default),
|
|
11
|
+
current: () => import("./current-ABh6R3vp.mjs").then((m) => m.default)
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
//#endregion
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
6
|
import { defineCommand } from "citty";
|
|
7
7
|
//#region src/commands/qa.ts
|
|
8
8
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
6
|
-
import { r as toLocalDateTime, t as csvToArray } from "./util-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { r as toLocalDateTime, t as csvToArray } from "./util-BuoFIeLS.mjs";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
8
8
|
//#region src/commands/quantum.ts
|
|
9
9
|
/**
|
|
@@ -96,7 +96,7 @@ var quantum_default = defineCommand({
|
|
|
96
96
|
},
|
|
97
97
|
"intent-dimension": {
|
|
98
98
|
type: "string",
|
|
99
|
-
description: "review
|
|
99
|
+
description: "intent 数据口径:review=复核后数据(默认,日常汇报用)|ai=AI 智能评级;用户明确说「AI 评级」才传 ai"
|
|
100
100
|
},
|
|
101
101
|
"risk-dimension": {
|
|
102
102
|
type: "string",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineCommand } from "citty";
|
|
2
|
+
//#region src/commands/date/range/index.ts
|
|
3
|
+
var range_default = defineCommand({
|
|
4
|
+
meta: {
|
|
5
|
+
name: "range",
|
|
6
|
+
description: "算出业务查询用的 from/to(含时分秒);不查数据,只生成时间参数给 quantum / list"
|
|
7
|
+
},
|
|
8
|
+
subCommands: {
|
|
9
|
+
today: () => import("./today-BhQnSMJH.mjs").then((m) => m.default),
|
|
10
|
+
yesterday: () => import("./yesterday-CHAh1DlJ.mjs").then((m) => m.default),
|
|
11
|
+
"this-week": () => import("./this-week-2GoqEaXU.mjs").then((m) => m.default),
|
|
12
|
+
"this-month": () => import("./this-month-BRdfmc1s.mjs").then((m) => m.default),
|
|
13
|
+
"last-7-days": () => import("./last-7-days-VKMMIzDz.mjs").then((m) => m.default),
|
|
14
|
+
"today-so-far": () => import("./today-so-far-D2g98rKv.mjs").then((m) => m.default)
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
//#endregion
|
|
18
|
+
export { range_default as default };
|
|
@@ -5,7 +5,7 @@ var resistance_default = defineCommand({
|
|
|
5
5
|
name: "resistance",
|
|
6
6
|
description: "客户抗性点标签分页查询"
|
|
7
7
|
},
|
|
8
|
-
subCommands: { list: () => import("./list-
|
|
8
|
+
subCommands: { list: () => import("./list-CiNgcIXS.mjs").then((m) => m.default) }
|
|
9
9
|
});
|
|
10
10
|
//#endregion
|
|
11
11
|
export { resistance_default as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { t as loadActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
6
|
import { defineCommand } from "citty";
|
|
7
7
|
//#region src/commands/admin/sales-report.ts
|
|
8
8
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as xbApiFetch } from "./api-client-
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
3
|
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
4
|
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
-
import { n as writeResult, t as writeError } from "./format-
|
|
6
|
-
import { t as csvToArray } from "./util-
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { t as csvToArray } from "./util-BuoFIeLS.mjs";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
8
8
|
//#region src/commands/kb/search.ts
|
|
9
9
|
/**
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { s as getRange, t as defineDateCommand } from "./shared-CYALikq5.mjs";
|
|
2
|
+
//#region src/commands/date/range/shared.ts
|
|
3
|
+
function defineRangePresetCommand(preset, description) {
|
|
4
|
+
return defineDateCommand({
|
|
5
|
+
name: preset,
|
|
6
|
+
description,
|
|
7
|
+
run: ({ args }) => getRange(preset, args.timezone)
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { defineRangePresetCommand as t };
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { o as resolveConfig } from "./device-flow-j10PFOQL.mjs";
|
|
2
|
+
import { t as xbApiFetch } from "./api-client-D3sCv6L3.mjs";
|
|
3
|
+
import { n as requireActiveProject } from "./project-store-CudTRvbA.mjs";
|
|
4
|
+
import { t as tenantProjectHeaders } from "./headers-Dy5gROBB.mjs";
|
|
5
|
+
import { n as writeResult, t as writeError } from "./format-DfVypHID.mjs";
|
|
6
|
+
import { r as toLocalDateTime, t as csvToArray } from "./util-BuoFIeLS.mjs";
|
|
7
|
+
import { defineCommand } from "citty";
|
|
8
|
+
//#region src/commands/beautx/shared.ts
|
|
9
|
+
/**
|
|
10
|
+
* Shared args/body builder for `xiaobao-cli beautx *` — the four beautx (医美)
|
|
11
|
+
* queries share one request shape (visitIds/wangIds/beautxCustomerIds/时间窗/分页).
|
|
12
|
+
*/
|
|
13
|
+
function defineBeautxCommand(def) {
|
|
14
|
+
return defineCommand({
|
|
15
|
+
meta: {
|
|
16
|
+
name: def.name,
|
|
17
|
+
description: def.description
|
|
18
|
+
},
|
|
19
|
+
args: {
|
|
20
|
+
"visit-ids": {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "CSV: 来访 ID 过滤"
|
|
23
|
+
},
|
|
24
|
+
"customer-ids": {
|
|
25
|
+
type: "string",
|
|
26
|
+
description: "CSV: 客户 wang_id 过滤"
|
|
27
|
+
},
|
|
28
|
+
"beautx-customer-ids": {
|
|
29
|
+
type: "string",
|
|
30
|
+
description: "CSV: 医美业务客户 ID 过滤"
|
|
31
|
+
},
|
|
32
|
+
...def.supportsLatestOnly ? { "latest-only": {
|
|
33
|
+
type: "boolean",
|
|
34
|
+
description: "每客户只取最新一条"
|
|
35
|
+
} } : {},
|
|
36
|
+
...def.supportsDimension ? { dimension: {
|
|
37
|
+
type: "string",
|
|
38
|
+
description: "画像标签维度名过滤"
|
|
39
|
+
} } : {},
|
|
40
|
+
from: {
|
|
41
|
+
type: "string",
|
|
42
|
+
description: "开始时间(含)"
|
|
43
|
+
},
|
|
44
|
+
to: {
|
|
45
|
+
type: "string",
|
|
46
|
+
description: "结束时间(不含)"
|
|
47
|
+
},
|
|
48
|
+
page: {
|
|
49
|
+
type: "string",
|
|
50
|
+
default: "1"
|
|
51
|
+
},
|
|
52
|
+
size: {
|
|
53
|
+
type: "string",
|
|
54
|
+
default: "10"
|
|
55
|
+
},
|
|
56
|
+
"api-base": { type: "string" },
|
|
57
|
+
"auth-base": { type: "string" },
|
|
58
|
+
format: {
|
|
59
|
+
type: "string",
|
|
60
|
+
default: "toon"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
async run({ args }) {
|
|
64
|
+
try {
|
|
65
|
+
const config = resolveConfig({
|
|
66
|
+
apiBase: args["api-base"],
|
|
67
|
+
authBase: args["auth-base"]
|
|
68
|
+
});
|
|
69
|
+
const active = await requireActiveProject();
|
|
70
|
+
writeResult(await xbApiFetch(config, "POST", def.path, {
|
|
71
|
+
headers: tenantProjectHeaders(active),
|
|
72
|
+
body: {
|
|
73
|
+
visitIds: csvToArray(args["visit-ids"]),
|
|
74
|
+
customerIds: csvToArray(args["customer-ids"]),
|
|
75
|
+
beautxCustomerIds: csvToArray(args["beautx-customer-ids"])?.map(Number),
|
|
76
|
+
latestOnly: def.supportsLatestOnly ? args["latest-only"] : void 0,
|
|
77
|
+
dimensionName: def.supportsDimension ? args.dimension : void 0,
|
|
78
|
+
fromDate: toLocalDateTime(args.from),
|
|
79
|
+
toDate: toLocalDateTime(args.to),
|
|
80
|
+
page: Number(args.page),
|
|
81
|
+
size: Number(args.size)
|
|
82
|
+
}
|
|
83
|
+
}), args.format);
|
|
84
|
+
} catch (err) {
|
|
85
|
+
writeError(err, args.format);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { defineBeautxCommand as t };
|