@optima-chat/bi-cli 0.3.3 → 0.3.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/dist/commands/analytics.d.ts.map +1 -1
- package/dist/commands/analytics.js +89 -14
- package/dist/commands/analytics.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +14 -6
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/product.d.ts.map +1 -1
- package/dist/commands/product.js +77 -13
- package/dist/commands/product.js.map +1 -1
- package/dist/commands/sales.d.ts.map +1 -1
- package/dist/commands/sales.js +24 -4
- package/dist/commands/sales.js.map +1 -1
- package/dist/commands/traffic.d.ts +3 -0
- package/dist/commands/traffic.d.ts.map +1 -0
- package/dist/commands/traffic.js +331 -0
- package/dist/commands/traffic.js.map +1 -0
- package/dist/commands/trends.d.ts.map +1 -1
- package/dist/commands/trends.js +80 -13
- package/dist/commands/trends.js.map +1 -1
- package/dist/index.js +22 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/analytics.ts +98 -17
- package/src/commands/auth.ts +18 -6
- package/src/commands/product.ts +87 -13
- package/src/commands/sales.ts +28 -4
- package/src/commands/traffic.ts +454 -0
- package/src/commands/trends.ts +90 -13
- package/src/index.ts +25 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyEpC,wBAAgB,sBAAsB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyEpC,wBAAgB,sBAAsB,IAAI,OAAO,CAuVhD"}
|
|
@@ -3,14 +3,33 @@ import axios from 'axios';
|
|
|
3
3
|
import { getConfig } from '../config/index.js';
|
|
4
4
|
import { outputJson, outputPretty, error, OutputFormat, info } from '../utils/output.js';
|
|
5
5
|
export function createAnalyticsCommand() {
|
|
6
|
-
const analytics = new Command('analytics').description(
|
|
6
|
+
const analytics = new Command('analytics').description(`Advanced analytics.
|
|
7
|
+
|
|
8
|
+
Period comparison, growth analysis, customer cohorts, order funnels.`);
|
|
7
9
|
// analytics compare
|
|
8
10
|
analytics
|
|
9
11
|
.command('compare')
|
|
10
|
-
.description(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
.description(`Period comparison analysis.
|
|
13
|
+
|
|
14
|
+
Compare current period with previous period or year-over-year.
|
|
15
|
+
|
|
16
|
+
Returns JSON:
|
|
17
|
+
{
|
|
18
|
+
"current": { "revenue": 10000, "orders": 100, "avg_order_value": 100, "customers": 80 },
|
|
19
|
+
"previous": { "revenue": 8000, "orders": 90, ... },
|
|
20
|
+
"changes": {
|
|
21
|
+
"revenue": { "absolute": 2000, "percentage": 25.0 },
|
|
22
|
+
...
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Examples:
|
|
27
|
+
bi-cli analytics compare # Last 30 days vs previous 30
|
|
28
|
+
bi-cli analytics compare --days 7 # This week vs last week
|
|
29
|
+
bi-cli analytics compare --compare-to previous_year # Year-over-year`)
|
|
30
|
+
.option('--days <number>', 'Number of days to compare (default: 30)', '30')
|
|
31
|
+
.option('--compare-to <type>', 'Compare to: previous_period | previous_year', 'previous_period')
|
|
32
|
+
.option('--pretty', 'Output as table')
|
|
14
33
|
.action(async (options) => {
|
|
15
34
|
const cfg = getConfig();
|
|
16
35
|
if (!cfg.accessToken) {
|
|
@@ -80,10 +99,30 @@ export function createAnalyticsCommand() {
|
|
|
80
99
|
// analytics growth
|
|
81
100
|
analytics
|
|
82
101
|
.command('growth')
|
|
83
|
-
.description(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
102
|
+
.description(`Growth trend analysis.
|
|
103
|
+
|
|
104
|
+
View revenue and order growth rates by day/week/month.
|
|
105
|
+
|
|
106
|
+
Returns JSON:
|
|
107
|
+
{
|
|
108
|
+
"trends": [
|
|
109
|
+
{
|
|
110
|
+
"period": "2024-01-01",
|
|
111
|
+
"revenue": 5000,
|
|
112
|
+
"orders": 50,
|
|
113
|
+
"customers": 40,
|
|
114
|
+
"revenue_growth": 15.5 // Growth rate vs previous period (%), null for first
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
bi-cli analytics growth # Daily, last 30 periods
|
|
121
|
+
bi-cli analytics growth --period weekly # Weekly
|
|
122
|
+
bi-cli analytics growth --period monthly --limit 12 # Monthly, last 12 months`)
|
|
123
|
+
.option('--period <type>', 'Period type: daily | weekly | monthly', 'daily')
|
|
124
|
+
.option('--limit <number>', 'Number of periods (default: 30)', '30')
|
|
125
|
+
.option('--pretty', 'Output as table')
|
|
87
126
|
.action(async (options) => {
|
|
88
127
|
const cfg = getConfig();
|
|
89
128
|
if (!cfg.accessToken) {
|
|
@@ -123,8 +162,25 @@ export function createAnalyticsCommand() {
|
|
|
123
162
|
// analytics cohort
|
|
124
163
|
analytics
|
|
125
164
|
.command('cohort')
|
|
126
|
-
.description(
|
|
127
|
-
|
|
165
|
+
.description(`Customer cohort analysis.
|
|
166
|
+
|
|
167
|
+
Group customers by first purchase month and analyze lifetime value (LTV).
|
|
168
|
+
|
|
169
|
+
Returns JSON:
|
|
170
|
+
{
|
|
171
|
+
"cohorts": [
|
|
172
|
+
{
|
|
173
|
+
"month": "2024-01",
|
|
174
|
+
"customers": 100, // New customers in this month
|
|
175
|
+
"avg_lifetime_value": 500, // Average customer lifetime value
|
|
176
|
+
"avg_orders": 2.5, // Average orders per customer
|
|
177
|
+
"total_revenue": 50000 // Total revenue from this cohort
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
Use case: Evaluate customer acquisition quality, optimize marketing strategy.`)
|
|
183
|
+
.option('--pretty', 'Output as table')
|
|
128
184
|
.action(async (options) => {
|
|
129
185
|
const cfg = getConfig();
|
|
130
186
|
if (!cfg.accessToken) {
|
|
@@ -162,9 +218,28 @@ export function createAnalyticsCommand() {
|
|
|
162
218
|
// analytics funnel
|
|
163
219
|
analytics
|
|
164
220
|
.command('funnel')
|
|
165
|
-
.description(
|
|
166
|
-
|
|
167
|
-
|
|
221
|
+
.description(`Order status funnel analysis.
|
|
222
|
+
|
|
223
|
+
Analyze conversion rates and drop-offs from order creation to delivery.
|
|
224
|
+
|
|
225
|
+
Returns JSON:
|
|
226
|
+
{
|
|
227
|
+
"total_orders": 1000,
|
|
228
|
+
"conversion_rate": 85.5, // Final completion rate (%)
|
|
229
|
+
"funnel": [
|
|
230
|
+
{ "stage": "pending", "count": 1000, "amount": 100000, "percentage": 100 },
|
|
231
|
+
{ "stage": "paid", "count": 950, "amount": 95000, "percentage": 95 },
|
|
232
|
+
{ "stage": "shipped", "count": 900, "amount": 90000, "percentage": 90 },
|
|
233
|
+
{ "stage": "delivered", "count": 855, "amount": 85500, "percentage": 85.5 }
|
|
234
|
+
],
|
|
235
|
+
"dropoffs": [
|
|
236
|
+
{ "status": "cancelled", "count": 50, "amount": 5000, "percentage": 5 }
|
|
237
|
+
]
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
Use case: Identify order drop-off points, optimize fulfillment process.`)
|
|
241
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
242
|
+
.option('--pretty', 'Output as table')
|
|
168
243
|
.action(async (options) => {
|
|
169
244
|
const cfg = getConfig();
|
|
170
245
|
if (!cfg.accessToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAsEzF,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,wBAAgB,iBAAiB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,wBAAgB,iBAAiB,IAAI,OAAO,CA4P3C"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -5,12 +5,20 @@ import chalk from 'chalk';
|
|
|
5
5
|
import { clearAuth, getConfig, saveTokens, saveUser, getConfigPath, ENV_CONFIG, } from '../config/index.js';
|
|
6
6
|
import { success, error, info } from '../utils/output.js';
|
|
7
7
|
export function createAuthCommand() {
|
|
8
|
-
const auth = new Command('auth').description(
|
|
8
|
+
const auth = new Command('auth').description(`Authentication commands.
|
|
9
|
+
|
|
10
|
+
You must login before using other commands. Tokens are saved to ~/.optima/token.json.`);
|
|
9
11
|
// auth login
|
|
10
12
|
auth
|
|
11
13
|
.command('login')
|
|
12
|
-
.description(
|
|
13
|
-
|
|
14
|
+
.description(`Login using OAuth 2.0 Device Flow.
|
|
15
|
+
|
|
16
|
+
Opens browser automatically for authorization. Token is saved after successful auth.
|
|
17
|
+
|
|
18
|
+
Examples:
|
|
19
|
+
bi-cli auth login # Login to production (default)
|
|
20
|
+
bi-cli auth login --env stage # Login to staging environment`)
|
|
21
|
+
.option('--env <environment>', 'Environment: production | stage | development', 'production')
|
|
14
22
|
.action(async (options) => {
|
|
15
23
|
const env = options.env;
|
|
16
24
|
// Validate environment
|
|
@@ -138,7 +146,7 @@ export function createAuthCommand() {
|
|
|
138
146
|
// auth logout
|
|
139
147
|
auth
|
|
140
148
|
.command('logout')
|
|
141
|
-
.description('Logout and delete ~/.optima/token.json')
|
|
149
|
+
.description('Logout and delete local token file (~/.optima/token.json)')
|
|
142
150
|
.action(() => {
|
|
143
151
|
clearAuth();
|
|
144
152
|
success('Logged out successfully');
|
|
@@ -147,7 +155,7 @@ export function createAuthCommand() {
|
|
|
147
155
|
// auth whoami
|
|
148
156
|
auth
|
|
149
157
|
.command('whoami')
|
|
150
|
-
.description('Show current user
|
|
158
|
+
.description('Show current user info (email, role, merchant ID)')
|
|
151
159
|
.action(async () => {
|
|
152
160
|
const cfg = getConfig();
|
|
153
161
|
if (!cfg.accessToken) {
|
|
@@ -188,7 +196,7 @@ export function createAuthCommand() {
|
|
|
188
196
|
// auth status
|
|
189
197
|
auth
|
|
190
198
|
.command('status')
|
|
191
|
-
.description('Show authentication status')
|
|
199
|
+
.description('Show authentication status (environment, login state, config path)')
|
|
192
200
|
.action(() => {
|
|
193
201
|
const cfg = getConfig();
|
|
194
202
|
console.log(chalk.bold('\n Authentication Status:\n'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,UAAU,GAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA0B1D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/commands/product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyFpC,wBAAgB,oBAAoB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../src/commands/product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyFpC,wBAAgB,oBAAoB,IAAI,OAAO,CAuS9C"}
|
package/dist/commands/product.js
CHANGED
|
@@ -3,14 +3,31 @@ import axios from 'axios';
|
|
|
3
3
|
import { getConfig } from '../config/index.js';
|
|
4
4
|
import { outputJson, outputPretty, error, OutputFormat, info } from '../utils/output.js';
|
|
5
5
|
export function createProductCommand() {
|
|
6
|
-
const product = new Command('product').description(
|
|
6
|
+
const product = new Command('product').description(`Product analytics.
|
|
7
|
+
|
|
8
|
+
Analyze product performance, price distribution, ABC classification.`);
|
|
7
9
|
// product best-sellers
|
|
8
10
|
product
|
|
9
11
|
.command('best-sellers')
|
|
10
|
-
.description(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
.description(`Get best selling products ranking.
|
|
13
|
+
|
|
14
|
+
Returns products sorted by revenue/quantity/orders with rank, revenue, units sold, revenue share.
|
|
15
|
+
|
|
16
|
+
Returns JSON:
|
|
17
|
+
{
|
|
18
|
+
"products": [
|
|
19
|
+
{ "rank": 1, "title": "Product Name", "revenue": 1000, "units_sold": 50, "orders": 30, "revenue_share": 15.5 }
|
|
20
|
+
],
|
|
21
|
+
"total_revenue": number
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
Examples:
|
|
25
|
+
bi-cli product best-sellers # Top 10 by revenue
|
|
26
|
+
bi-cli product best-sellers --limit 5 # Top 5
|
|
27
|
+
bi-cli product best-sellers --sort quantity # Sort by quantity`)
|
|
28
|
+
.option('--limit <number>', 'Number of products to return (default: 10)', '10')
|
|
29
|
+
.option('--sort <field>', 'Sort by: revenue | quantity | orders', 'revenue')
|
|
30
|
+
.option('--pretty', 'Output as table')
|
|
14
31
|
.action(async (options) => {
|
|
15
32
|
const cfg = getConfig();
|
|
16
33
|
if (!cfg.accessToken) {
|
|
@@ -51,8 +68,21 @@ export function createProductCommand() {
|
|
|
51
68
|
// product abc-analysis
|
|
52
69
|
product
|
|
53
70
|
.command('abc-analysis')
|
|
54
|
-
.description(
|
|
55
|
-
|
|
71
|
+
.description(`ABC inventory analysis (Pareto analysis).
|
|
72
|
+
|
|
73
|
+
Classifies products by revenue contribution:
|
|
74
|
+
- A: High-value products contributing 70% of revenue (typically ~20% of products)
|
|
75
|
+
- B: Medium-value products contributing 20% of revenue
|
|
76
|
+
- C: Low-value products contributing 10% of revenue
|
|
77
|
+
|
|
78
|
+
Use case: Identify core products, optimize inventory and purchasing strategy.
|
|
79
|
+
|
|
80
|
+
Returns JSON:
|
|
81
|
+
{
|
|
82
|
+
"summary": { "A": {...}, "B": {...}, "C": {...} },
|
|
83
|
+
"products": [ { "title": "Product Name", "category": "A", "revenue": number, ... } ]
|
|
84
|
+
}`)
|
|
85
|
+
.option('--pretty', 'Output as table')
|
|
56
86
|
.action(async (options) => {
|
|
57
87
|
const cfg = getConfig();
|
|
58
88
|
if (!cfg.accessToken) {
|
|
@@ -98,8 +128,18 @@ export function createProductCommand() {
|
|
|
98
128
|
// product price-analysis
|
|
99
129
|
product
|
|
100
130
|
.command('price-analysis')
|
|
101
|
-
.description(
|
|
102
|
-
|
|
131
|
+
.description(`Price range analysis.
|
|
132
|
+
|
|
133
|
+
Analyze product count, revenue, and sales by price ranges.
|
|
134
|
+
|
|
135
|
+
Returns JSON:
|
|
136
|
+
{
|
|
137
|
+
"price_ranges": [
|
|
138
|
+
{ "range": "¥0-50", "products": 10, "revenue": 5000, "units": 200, "revenue_share": 15.5 }
|
|
139
|
+
],
|
|
140
|
+
"totals": { "revenue": number, "units": number }
|
|
141
|
+
}`)
|
|
142
|
+
.option('--pretty', 'Output as table')
|
|
103
143
|
.action(async (options) => {
|
|
104
144
|
const cfg = getConfig();
|
|
105
145
|
if (!cfg.accessToken) {
|
|
@@ -139,10 +179,34 @@ export function createProductCommand() {
|
|
|
139
179
|
// product performance
|
|
140
180
|
product
|
|
141
181
|
.command('performance')
|
|
142
|
-
.description(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
182
|
+
.description(`Product performance metrics.
|
|
183
|
+
|
|
184
|
+
Get sales, inventory, and margin metrics for each product.
|
|
185
|
+
|
|
186
|
+
Returns JSON:
|
|
187
|
+
{
|
|
188
|
+
"products": [
|
|
189
|
+
{
|
|
190
|
+
"title": "Product Name",
|
|
191
|
+
"price": 99.00, // Selling price
|
|
192
|
+
"inventory": 50, // Current stock
|
|
193
|
+
"sales": { "units": 100, "revenue": 9900, "orders": 80 },
|
|
194
|
+
"metrics": {
|
|
195
|
+
"margin_percent": 30.5, // Profit margin (%)
|
|
196
|
+
"days_of_stock": 15, // Estimated days of stock
|
|
197
|
+
"velocity": 6.7 // Daily sales rate
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
Examples:
|
|
204
|
+
bi-cli product performance # Last 30 days, top 20 products
|
|
205
|
+
bi-cli product performance --days 7 # Last 7 days
|
|
206
|
+
bi-cli product performance --limit 50 # Top 50 products`)
|
|
207
|
+
.option('--days <number>', 'Number of days (default: 30)', '30')
|
|
208
|
+
.option('--limit <number>', 'Number of products (default: 20)', '20')
|
|
209
|
+
.option('--pretty', 'Output as table')
|
|
146
210
|
.action(async (options) => {
|
|
147
211
|
const cfg = getConfig();
|
|
148
212
|
if (!cfg.accessToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/commands/product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAsFzF,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/commands/product.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sales.d.ts","sourceRoot":"","sources":["../../src/commands/sales.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,wBAAgB,kBAAkB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"sales.d.ts","sourceRoot":"","sources":["../../src/commands/sales.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,wBAAgB,kBAAkB,IAAI,OAAO,CAkH5C"}
|
package/dist/commands/sales.js
CHANGED
|
@@ -3,13 +3,33 @@ import axios from 'axios';
|
|
|
3
3
|
import { getConfig } from '../config/index.js';
|
|
4
4
|
import { outputJson, outputPretty, error, OutputFormat } from '../utils/output.js';
|
|
5
5
|
export function createSalesCommand() {
|
|
6
|
-
const sales = new Command('sales').description(
|
|
6
|
+
const sales = new Command('sales').description(`Sales analytics.
|
|
7
|
+
|
|
8
|
+
Get sales summary and daily breakdown data.`);
|
|
7
9
|
// sales get
|
|
8
10
|
sales
|
|
9
11
|
.command('get')
|
|
10
|
-
.description(
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
.description(`Get sales summary and daily breakdown.
|
|
13
|
+
|
|
14
|
+
Returns JSON:
|
|
15
|
+
{
|
|
16
|
+
"summary": {
|
|
17
|
+
"total_revenue": number, // Total revenue (CNY)
|
|
18
|
+
"total_orders": number, // Total order count
|
|
19
|
+
"avg_order_value": number, // Average order value (CNY)
|
|
20
|
+
"unique_customers": number // Unique customer count
|
|
21
|
+
},
|
|
22
|
+
"daily": [ // Daily breakdown array
|
|
23
|
+
{ "date": "YYYY-MM-DD", "total_revenue": number, "order_count": number, ... }
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
Examples:
|
|
28
|
+
bi-cli sales get # Get last 7 days
|
|
29
|
+
bi-cli sales get --days 30 # Get last 30 days
|
|
30
|
+
bi-cli sales get --days 7 --pretty # Output as table`)
|
|
31
|
+
.option('--days <number>', 'Number of days from today (range: 1-365)', '7')
|
|
32
|
+
.option('--pretty', 'Output as table (default: JSON)')
|
|
13
33
|
.action(async (options) => {
|
|
14
34
|
const cfg = getConfig();
|
|
15
35
|
if (!cfg.accessToken) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sales.js","sourceRoot":"","sources":["../../src/commands/sales.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA+BnF,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"sales.js","sourceRoot":"","sources":["../../src/commands/sales.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA+BnF,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAC5C;;4CAEwC,CACzC,CAAC;IAEF,YAAY;IACZ,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV;;;;;;;;;;;;;;;;;;yDAkBmD,CACpD;SACA,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,EAAE,GAAG,CAAC;SAC1E,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YAC1C,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;QAExE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAgB,GAAG,GAAG,CAAC,UAAU,eAAe,EAAE;gBAChF,MAAM,EAAE,EAAE,IAAI,EAAE;gBAChB,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,GAAG,CAAC,WAAW,EAAE;iBAC3C;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAE9C,IAAI,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;gBACjC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,4BAA4B;gBAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,YAAY,CAAC;oBACX,eAAe,EAAE,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACvD,cAAc,EAAE,OAAO,CAAC,YAAY;oBACpC,qBAAqB,EAAE,IAAI,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC/D,kBAAkB,EAAE,OAAO,CAAC,gBAAgB;iBAC7C,CAAC,CAAC;gBAEH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;oBACtC,YAAY,CACV,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBACjD,MAAM,EAAE,CAAC,CAAC,WAAW;wBACrB,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC/C,SAAS,EAAE,CAAC,CAAC,gBAAgB;qBAC9B,CAAC,CAAC,EACH,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAClD,CAAC;gBACJ,CAAC;gBAED,gBAAgB;gBAChB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACrC,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,GAElB,CAAC;YACF,MAAM,QAAQ,GAAG,GAAY,CAAC;YAC9B,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC5C,KAAK,CAAC,UAAU,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,+BAA+B,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traffic.d.ts","sourceRoot":"","sources":["../../src/commands/traffic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsEpC,wBAAgB,oBAAoB,IAAI,OAAO,CA+W9C"}
|