@wayai/cli 0.2.64 → 0.2.66
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 +18 -5
- package/dist/commands/analytics.js +365 -25
- package/dist/commands/analytics.js.map +1 -1
- package/dist/commands/eval-capture.d.ts +1 -0
- package/dist/commands/eval-capture.js +133 -0
- package/dist/commands/eval-capture.js.map +1 -0
- package/dist/commands/eval.d.ts +1 -0
- package/dist/commands/eval.js +49 -0
- package/dist/commands/eval.js.map +1 -0
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +59 -1
- package/dist/lib/api-client.js +16 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/parser.js +109 -0
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/types.d.ts +1 -1
- package/dist/lib/workspace.d.ts +5 -0
- package/dist/lib/workspace.js +13 -0
- package/dist/lib/workspace.js.map +1 -1
- package/dist/lib/yaml-writer.d.ts +4 -1
- package/dist/lib/yaml-writer.js +106 -1
- package/dist/lib/yaml-writer.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,11 +2,24 @@
|
|
|
2
2
|
* wayai analytics — show analytics summary and metrics for the current hub
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
|
-
* wayai analytics
|
|
6
|
-
* wayai analytics --period 30d
|
|
7
|
-
* wayai analytics --from 2026-01-01 --to 2026-01-31
|
|
5
|
+
* wayai analytics # summary for last 7d
|
|
6
|
+
* wayai analytics --period 30d # summary for last 30 days
|
|
7
|
+
* wayai analytics --from 2026-01-01 --to 2026-01-31 # explicit date range
|
|
8
8
|
* wayai analytics --metric tokens_total,first_response_time
|
|
9
|
-
* wayai analytics --
|
|
10
|
-
* wayai analytics --
|
|
9
|
+
* wayai analytics --filter "tokens_total gt 5000" # repeat for AND'd filters
|
|
10
|
+
* wayai analytics --filter "user_sentiment is positive"
|
|
11
|
+
* wayai analytics --list-metrics # list available metrics
|
|
12
|
+
* wayai analytics --json # raw JSON output
|
|
13
|
+
*
|
|
14
|
+
* wayai analytics query \
|
|
15
|
+
* --metric "col=data.system.tokens_total,agg=avg,alias=avg_tokens" \
|
|
16
|
+
* --metric "col=data.system.tokens_total,agg=corr,corr_with=data.system.avg_agent_response_time,alias=tok_resp" \
|
|
17
|
+
* --group-by data.meta.kanban_status \
|
|
18
|
+
* --filter "data.system.tokens_total gt 0" \
|
|
19
|
+
* --order-by avg_tokens:desc --limit 50 --from 2026-01-01 --to 2026-01-31
|
|
20
|
+
*
|
|
21
|
+
* `query` is a thin wrapper over POST /api/analytics/query — supports aggregations
|
|
22
|
+
* (avg|sum|min|max|count|quantile|stddevPop|corr|uniq), group_by, order_by, raw
|
|
23
|
+
* column filters (eq|neq|gt|gte|lt|lte|in|not_in|like) and correlation via corr_with.
|
|
11
24
|
*/
|
|
12
25
|
export declare function analyticsCommand(args: string[]): Promise<void>;
|
|
@@ -2,25 +2,54 @@
|
|
|
2
2
|
* wayai analytics — show analytics summary and metrics for the current hub
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
|
-
* wayai analytics
|
|
6
|
-
* wayai analytics --period 30d
|
|
7
|
-
* wayai analytics --from 2026-01-01 --to 2026-01-31
|
|
5
|
+
* wayai analytics # summary for last 7d
|
|
6
|
+
* wayai analytics --period 30d # summary for last 30 days
|
|
7
|
+
* wayai analytics --from 2026-01-01 --to 2026-01-31 # explicit date range
|
|
8
8
|
* wayai analytics --metric tokens_total,first_response_time
|
|
9
|
-
* wayai analytics --
|
|
10
|
-
* wayai analytics --
|
|
9
|
+
* wayai analytics --filter "tokens_total gt 5000" # repeat for AND'd filters
|
|
10
|
+
* wayai analytics --filter "user_sentiment is positive"
|
|
11
|
+
* wayai analytics --list-metrics # list available metrics
|
|
12
|
+
* wayai analytics --json # raw JSON output
|
|
13
|
+
*
|
|
14
|
+
* wayai analytics query \
|
|
15
|
+
* --metric "col=data.system.tokens_total,agg=avg,alias=avg_tokens" \
|
|
16
|
+
* --metric "col=data.system.tokens_total,agg=corr,corr_with=data.system.avg_agent_response_time,alias=tok_resp" \
|
|
17
|
+
* --group-by data.meta.kanban_status \
|
|
18
|
+
* --filter "data.system.tokens_total gt 0" \
|
|
19
|
+
* --order-by avg_tokens:desc --limit 50 --from 2026-01-01 --to 2026-01-31
|
|
20
|
+
*
|
|
21
|
+
* `query` is a thin wrapper over POST /api/analytics/query — supports aggregations
|
|
22
|
+
* (avg|sum|min|max|count|quantile|stddevPop|corr|uniq), group_by, order_by, raw
|
|
23
|
+
* column filters (eq|neq|gt|gte|lt|lte|in|not_in|like) and correlation via corr_with.
|
|
11
24
|
*/
|
|
12
25
|
import { requireAuth } from '../lib/auth.js';
|
|
13
26
|
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
14
27
|
import { ApiClient } from '../lib/api-client.js';
|
|
15
28
|
import { parsePeriod, parseDateArg } from '../lib/utils.js';
|
|
29
|
+
import { NUMERIC_FILTER_OPS, TEXT_FILTER_OPS, CATEGORICAL_FILTER_OPS, VARIABLE_FILTER_OPS, STRUCTURED_QUERY_OPS, STRUCTURED_QUERY_AGGREGATIONS, } from '@wayai/shared/contracts';
|
|
30
|
+
const NUMERIC_OPS = new Set(NUMERIC_FILTER_OPS);
|
|
31
|
+
const TEXT_OPS = new Set(TEXT_FILTER_OPS);
|
|
32
|
+
const CATEGORICAL_OPS = new Set(CATEGORICAL_FILTER_OPS);
|
|
33
|
+
const ALL_DATA_OPS = new Set(VARIABLE_FILTER_OPS);
|
|
34
|
+
const STRUCTURED_OPS = new Set(STRUCTURED_QUERY_OPS);
|
|
35
|
+
const STRUCTURED_AGGREGATIONS = new Set(STRUCTURED_QUERY_AGGREGATIONS);
|
|
16
36
|
export async function analyticsCommand(args) {
|
|
37
|
+
if (args[0] === 'query') {
|
|
38
|
+
return analyticsQuerySubcommand(args.slice(1));
|
|
39
|
+
}
|
|
40
|
+
return analyticsSummaryCommand(args);
|
|
41
|
+
}
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// Default summary command (POST /api/analytics/data)
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
async function analyticsSummaryCommand(args) {
|
|
17
46
|
const { config, accessToken } = await requireAuth();
|
|
18
47
|
const repoConfig = requireRepoConfig();
|
|
19
|
-
// Parse args
|
|
20
48
|
let period;
|
|
21
49
|
let from;
|
|
22
50
|
let to;
|
|
23
51
|
let metricNames;
|
|
52
|
+
const filterArgs = [];
|
|
24
53
|
let listMetrics = false;
|
|
25
54
|
let jsonOutput = false;
|
|
26
55
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -53,6 +82,13 @@ export async function analyticsCommand(args) {
|
|
|
53
82
|
}
|
|
54
83
|
metricNames = args[++i].split(',').map((s) => s.trim()).filter(Boolean);
|
|
55
84
|
}
|
|
85
|
+
else if (arg === '--filter') {
|
|
86
|
+
if (i + 1 >= args.length) {
|
|
87
|
+
console.error('--filter requires a value');
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
filterArgs.push(args[++i]);
|
|
91
|
+
}
|
|
56
92
|
else if (arg === '--list-metrics') {
|
|
57
93
|
listMetrics = true;
|
|
58
94
|
}
|
|
@@ -61,7 +97,6 @@ export async function analyticsCommand(args) {
|
|
|
61
97
|
}
|
|
62
98
|
}
|
|
63
99
|
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
64
|
-
// --list-metrics: fetch and display available variables
|
|
65
100
|
if (listMetrics) {
|
|
66
101
|
const result = await client.getAnalyticsVariables(repoConfig.hub_id);
|
|
67
102
|
if (jsonOutput) {
|
|
@@ -71,12 +106,10 @@ export async function analyticsCommand(args) {
|
|
|
71
106
|
printVariablesByCategory(result.data);
|
|
72
107
|
return;
|
|
73
108
|
}
|
|
74
|
-
// Validate --from/--to pair
|
|
75
109
|
if ((from && !to) || (!from && to)) {
|
|
76
110
|
console.error('--from and --to must both be provided together.');
|
|
77
111
|
process.exit(1);
|
|
78
112
|
}
|
|
79
|
-
// Compute time interval
|
|
80
113
|
let start;
|
|
81
114
|
let end;
|
|
82
115
|
let periodicity;
|
|
@@ -88,7 +121,6 @@ export async function analyticsCommand(args) {
|
|
|
88
121
|
console.error('--from must be before --to.');
|
|
89
122
|
process.exit(1);
|
|
90
123
|
}
|
|
91
|
-
// Infer periodicity from range length
|
|
92
124
|
const rangeMs = new Date(end).getTime() - new Date(start).getTime();
|
|
93
125
|
const rangeDays = rangeMs / (1000 * 60 * 60 * 24);
|
|
94
126
|
if (rangeDays > 365)
|
|
@@ -111,22 +143,24 @@ export async function analyticsCommand(args) {
|
|
|
111
143
|
console.error(err instanceof Error ? err.message : String(err));
|
|
112
144
|
process.exit(1);
|
|
113
145
|
}
|
|
114
|
-
// Resolve metric
|
|
115
|
-
let
|
|
146
|
+
// Resolve --metric and --filter against the variable catalog (single fetch).
|
|
147
|
+
let allVars;
|
|
116
148
|
let variableNameMap;
|
|
117
|
-
|
|
149
|
+
const needsCatalog = (metricNames && metricNames.length > 0) || filterArgs.length > 0;
|
|
150
|
+
if (needsCatalog) {
|
|
118
151
|
const varsResult = await client.getAnalyticsVariables(repoConfig.hub_id);
|
|
119
|
-
|
|
152
|
+
allVars = Object.values(varsResult.data.variablesByCategory).flat();
|
|
120
153
|
variableNameMap = new Map(allVars.map((v) => [v.variable_id, v.variable_name]));
|
|
154
|
+
}
|
|
155
|
+
let selectedVariables = [];
|
|
156
|
+
if (metricNames && metricNames.length > 0 && allVars) {
|
|
121
157
|
const notFound = [];
|
|
122
158
|
for (const name of metricNames) {
|
|
123
159
|
const match = allVars.find((v) => v.variable_name === name);
|
|
124
|
-
if (match)
|
|
160
|
+
if (match)
|
|
125
161
|
selectedVariables.push(match.variable_id);
|
|
126
|
-
|
|
127
|
-
else {
|
|
162
|
+
else
|
|
128
163
|
notFound.push(name);
|
|
129
|
-
}
|
|
130
164
|
}
|
|
131
165
|
if (notFound.length > 0) {
|
|
132
166
|
const available = allVars.map((v) => v.variable_name).sort();
|
|
@@ -135,7 +169,10 @@ export async function analyticsCommand(args) {
|
|
|
135
169
|
process.exit(1);
|
|
136
170
|
}
|
|
137
171
|
}
|
|
138
|
-
|
|
172
|
+
let parsedFilters;
|
|
173
|
+
if (filterArgs.length > 0 && allVars) {
|
|
174
|
+
parsedFilters = filterArgs.map((raw) => parseFilterByName(raw, allVars));
|
|
175
|
+
}
|
|
139
176
|
const result = await client.getAnalyticsData({
|
|
140
177
|
hub_id: repoConfig.hub_id,
|
|
141
178
|
selected_variables: selectedVariables,
|
|
@@ -143,17 +180,14 @@ export async function analyticsCommand(args) {
|
|
|
143
180
|
periodicity,
|
|
144
181
|
trend_analysis: false,
|
|
145
182
|
include_summary: true,
|
|
183
|
+
...(parsedFilters && { filters: parsedFilters }),
|
|
146
184
|
});
|
|
147
185
|
if (jsonOutput) {
|
|
148
186
|
console.log(JSON.stringify(result, null, 2));
|
|
149
187
|
return;
|
|
150
188
|
}
|
|
151
|
-
|
|
152
|
-
const label = from && to
|
|
153
|
-
? `${from} to ${to}`
|
|
154
|
-
: `last ${period || '7d'}`;
|
|
189
|
+
const label = from && to ? `${from} to ${to}` : `last ${period || '7d'}`;
|
|
155
190
|
console.log(`Hub Analytics (${label})\n`);
|
|
156
|
-
// Summary section
|
|
157
191
|
if (result.summary) {
|
|
158
192
|
const s = result.summary;
|
|
159
193
|
console.log('Summary:');
|
|
@@ -168,7 +202,6 @@ export async function analyticsCommand(args) {
|
|
|
168
202
|
console.log(` SLA (< ${s.threshold3_minutes}min): ${(s.rate_under_threshold3 * 100).toFixed(1)}%`);
|
|
169
203
|
}
|
|
170
204
|
}
|
|
171
|
-
// Metrics section
|
|
172
205
|
if (result.analytics && result.analytics.length > 0) {
|
|
173
206
|
console.log('\nMetrics:');
|
|
174
207
|
for (const item of result.analytics) {
|
|
@@ -194,6 +227,290 @@ export async function analyticsCommand(args) {
|
|
|
194
227
|
}
|
|
195
228
|
}
|
|
196
229
|
}
|
|
230
|
+
// ---------------------------------------------------------------------------
|
|
231
|
+
// `wayai analytics query` — POST /api/analytics/query (structured)
|
|
232
|
+
// ---------------------------------------------------------------------------
|
|
233
|
+
async function analyticsQuerySubcommand(args) {
|
|
234
|
+
const { config, accessToken } = await requireAuth();
|
|
235
|
+
const repoConfig = requireRepoConfig();
|
|
236
|
+
const metricArgs = [];
|
|
237
|
+
const orderByArgs = [];
|
|
238
|
+
const filterArgs = [];
|
|
239
|
+
let groupByRaw;
|
|
240
|
+
let from;
|
|
241
|
+
let to;
|
|
242
|
+
let limit;
|
|
243
|
+
let jsonOutput = false;
|
|
244
|
+
for (let i = 0; i < args.length; i++) {
|
|
245
|
+
const arg = args[i];
|
|
246
|
+
if (arg === '--metric') {
|
|
247
|
+
if (i + 1 >= args.length) {
|
|
248
|
+
console.error('--metric requires a value');
|
|
249
|
+
process.exit(1);
|
|
250
|
+
}
|
|
251
|
+
metricArgs.push(args[++i]);
|
|
252
|
+
}
|
|
253
|
+
else if (arg === '--group-by') {
|
|
254
|
+
if (i + 1 >= args.length) {
|
|
255
|
+
console.error('--group-by requires a value');
|
|
256
|
+
process.exit(1);
|
|
257
|
+
}
|
|
258
|
+
groupByRaw = args[++i];
|
|
259
|
+
}
|
|
260
|
+
else if (arg === '--order-by') {
|
|
261
|
+
if (i + 1 >= args.length) {
|
|
262
|
+
console.error('--order-by requires a value');
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
orderByArgs.push(args[++i]);
|
|
266
|
+
}
|
|
267
|
+
else if (arg === '--filter') {
|
|
268
|
+
if (i + 1 >= args.length) {
|
|
269
|
+
console.error('--filter requires a value');
|
|
270
|
+
process.exit(1);
|
|
271
|
+
}
|
|
272
|
+
filterArgs.push(args[++i]);
|
|
273
|
+
}
|
|
274
|
+
else if (arg === '--from') {
|
|
275
|
+
if (i + 1 >= args.length) {
|
|
276
|
+
console.error('--from requires a value');
|
|
277
|
+
process.exit(1);
|
|
278
|
+
}
|
|
279
|
+
from = args[++i];
|
|
280
|
+
}
|
|
281
|
+
else if (arg === '--to') {
|
|
282
|
+
if (i + 1 >= args.length) {
|
|
283
|
+
console.error('--to requires a value');
|
|
284
|
+
process.exit(1);
|
|
285
|
+
}
|
|
286
|
+
to = args[++i];
|
|
287
|
+
}
|
|
288
|
+
else if (arg === '--limit') {
|
|
289
|
+
if (i + 1 >= args.length) {
|
|
290
|
+
console.error('--limit requires a value');
|
|
291
|
+
process.exit(1);
|
|
292
|
+
}
|
|
293
|
+
const n = Number(args[++i]);
|
|
294
|
+
if (!Number.isFinite(n) || n <= 0 || !Number.isInteger(n)) {
|
|
295
|
+
console.error('--limit must be a positive integer.');
|
|
296
|
+
process.exit(1);
|
|
297
|
+
}
|
|
298
|
+
limit = n;
|
|
299
|
+
}
|
|
300
|
+
else if (arg === '--json') {
|
|
301
|
+
jsonOutput = true;
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
console.error(`Unknown flag for \`analytics query\`: ${arg}`);
|
|
305
|
+
process.exit(1);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
if (metricArgs.length === 0) {
|
|
309
|
+
console.error('At least one --metric is required for `analytics query`.');
|
|
310
|
+
console.error('Example: --metric "col=data.system.tokens_total,agg=avg,alias=avg_tokens"');
|
|
311
|
+
process.exit(1);
|
|
312
|
+
}
|
|
313
|
+
if ((from && !to) || (!from && to)) {
|
|
314
|
+
console.error('--from and --to must both be provided together.');
|
|
315
|
+
process.exit(1);
|
|
316
|
+
}
|
|
317
|
+
let timeRange;
|
|
318
|
+
if (from && to) {
|
|
319
|
+
try {
|
|
320
|
+
const start = parseDateArg(from, 'from');
|
|
321
|
+
const end = parseDateArg(to, 'to');
|
|
322
|
+
if (new Date(start).getTime() >= new Date(end).getTime()) {
|
|
323
|
+
console.error('--from must be before --to.');
|
|
324
|
+
process.exit(1);
|
|
325
|
+
}
|
|
326
|
+
timeRange = { start, end };
|
|
327
|
+
}
|
|
328
|
+
catch (err) {
|
|
329
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
330
|
+
process.exit(1);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
const metrics = metricArgs.map(parseMetricSpec);
|
|
334
|
+
const filters = filterArgs.map(parseStructuredFilter);
|
|
335
|
+
const orderBy = orderByArgs.map(parseOrderBy);
|
|
336
|
+
const groupBy = groupByRaw ? groupByRaw.split(',').map((s) => s.trim()).filter(Boolean) : undefined;
|
|
337
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
338
|
+
const result = await client.runAnalyticsQuery({
|
|
339
|
+
hub_id: repoConfig.hub_id,
|
|
340
|
+
metrics,
|
|
341
|
+
...(groupBy && groupBy.length > 0 && { group_by: groupBy }),
|
|
342
|
+
...(orderBy.length > 0 && { order_by: orderBy }),
|
|
343
|
+
...(filters.length > 0 && { filters }),
|
|
344
|
+
...(timeRange && { time_range: timeRange }),
|
|
345
|
+
...(limit !== undefined && { limit }),
|
|
346
|
+
});
|
|
347
|
+
if (jsonOutput) {
|
|
348
|
+
console.log(JSON.stringify(result, null, 2));
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
printQueryRows(result.data);
|
|
352
|
+
}
|
|
353
|
+
// ---------------------------------------------------------------------------
|
|
354
|
+
// Parsing helpers
|
|
355
|
+
// ---------------------------------------------------------------------------
|
|
356
|
+
/**
|
|
357
|
+
* Split a "<lhs> <op> <value...>" filter expression. Value may contain spaces
|
|
358
|
+
* (e.g. "feedback contains good service"). Exits the process on malformed input.
|
|
359
|
+
*/
|
|
360
|
+
function splitFilterExpr(raw, shape) {
|
|
361
|
+
const parts = raw.trim().split(/\s+/);
|
|
362
|
+
if (parts.length < 3) {
|
|
363
|
+
console.error(`Invalid --filter "${raw}". Expected: "${shape}".`);
|
|
364
|
+
process.exit(1);
|
|
365
|
+
}
|
|
366
|
+
const [lhs, op, ...rest] = parts;
|
|
367
|
+
return { lhs, op, value: rest.join(' ') };
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Parse `--filter "name op value"` for the variable-aware /data endpoint.
|
|
371
|
+
* `name` resolves to a variable_id; `op` is validated against the variable's type.
|
|
372
|
+
*/
|
|
373
|
+
function parseFilterByName(raw, allVars) {
|
|
374
|
+
const { lhs: name, op, value } = splitFilterExpr(raw, '<name> <op> <value>');
|
|
375
|
+
const variable = allVars.find((v) => v.variable_name === name);
|
|
376
|
+
if (!variable) {
|
|
377
|
+
const available = allVars.map((v) => v.variable_name).sort();
|
|
378
|
+
console.error(`Unknown variable in --filter: ${name}`);
|
|
379
|
+
console.error(`\nAvailable variables:\n ${available.join('\n ')}`);
|
|
380
|
+
process.exit(1);
|
|
381
|
+
}
|
|
382
|
+
if (!ALL_DATA_OPS.has(op)) {
|
|
383
|
+
console.error(`Invalid filter operator: ${op}`);
|
|
384
|
+
console.error('Numeric ops: eq, neq, gt, gte, lt, lte');
|
|
385
|
+
console.error('Text ops: equals, not_equals, contains, not_contains, starts_with, ends_with');
|
|
386
|
+
console.error('Categorical ops: is, is_not, in, not_in');
|
|
387
|
+
process.exit(1);
|
|
388
|
+
}
|
|
389
|
+
const expectedSet = variable.variable_type === 'numeric' ? NUMERIC_OPS :
|
|
390
|
+
variable.variable_type === 'text' ? TEXT_OPS :
|
|
391
|
+
CATEGORICAL_OPS;
|
|
392
|
+
if (!expectedSet.has(op)) {
|
|
393
|
+
console.error(`Operator "${op}" is not valid for ${variable.variable_type} variable "${name}".`);
|
|
394
|
+
console.error(`Valid operators: ${[...expectedSet].join(', ')}`);
|
|
395
|
+
process.exit(1);
|
|
396
|
+
}
|
|
397
|
+
let filterValue;
|
|
398
|
+
if (variable.variable_type === 'numeric') {
|
|
399
|
+
const n = Number(value);
|
|
400
|
+
if (!Number.isFinite(n)) {
|
|
401
|
+
console.error(`Numeric filter value must be a number, got: "${value}"`);
|
|
402
|
+
process.exit(1);
|
|
403
|
+
}
|
|
404
|
+
filterValue = n;
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
filterValue = value;
|
|
408
|
+
}
|
|
409
|
+
return { variable_id: variable.variable_id, filter_type: op, filter_value: filterValue };
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Parse `--metric "col=...,agg=...[,alias=...][,corr_with=...][,level=...]"`.
|
|
413
|
+
* Order doesn't matter; unknown keys are rejected so typos surface immediately.
|
|
414
|
+
*/
|
|
415
|
+
function parseMetricSpec(raw) {
|
|
416
|
+
const fields = raw.split(',').map((s) => s.trim()).filter(Boolean);
|
|
417
|
+
const map = new Map();
|
|
418
|
+
for (const field of fields) {
|
|
419
|
+
const eq = field.indexOf('=');
|
|
420
|
+
if (eq < 0) {
|
|
421
|
+
console.error(`Invalid --metric segment "${field}". Expected key=value pairs.`);
|
|
422
|
+
process.exit(1);
|
|
423
|
+
}
|
|
424
|
+
const key = field.slice(0, eq).trim();
|
|
425
|
+
const val = field.slice(eq + 1).trim();
|
|
426
|
+
if (map.has(key)) {
|
|
427
|
+
console.error(`Duplicate key "${key}" in --metric "${raw}".`);
|
|
428
|
+
process.exit(1);
|
|
429
|
+
}
|
|
430
|
+
map.set(key, val);
|
|
431
|
+
}
|
|
432
|
+
const knownKeys = new Set(['col', 'agg', 'alias', 'corr_with', 'level']);
|
|
433
|
+
for (const key of map.keys()) {
|
|
434
|
+
if (!knownKeys.has(key)) {
|
|
435
|
+
console.error(`Unknown --metric key: "${key}". Allowed: ${[...knownKeys].join(', ')}`);
|
|
436
|
+
process.exit(1);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
const column = map.get('col');
|
|
440
|
+
const aggregation = map.get('agg');
|
|
441
|
+
if (!column || !aggregation) {
|
|
442
|
+
console.error(`--metric requires col and agg, got: "${raw}"`);
|
|
443
|
+
process.exit(1);
|
|
444
|
+
}
|
|
445
|
+
if (!STRUCTURED_AGGREGATIONS.has(aggregation)) {
|
|
446
|
+
console.error(`Invalid aggregation: "${aggregation}". Allowed: ${[...STRUCTURED_AGGREGATIONS].join(', ')}`);
|
|
447
|
+
process.exit(1);
|
|
448
|
+
}
|
|
449
|
+
if (aggregation === 'corr' && !map.has('corr_with')) {
|
|
450
|
+
console.error(`--metric agg=corr requires corr_with=<column>.`);
|
|
451
|
+
process.exit(1);
|
|
452
|
+
}
|
|
453
|
+
const spec = {
|
|
454
|
+
column, aggregation: aggregation,
|
|
455
|
+
};
|
|
456
|
+
if (map.has('alias'))
|
|
457
|
+
spec.alias = map.get('alias');
|
|
458
|
+
if (map.has('corr_with'))
|
|
459
|
+
spec.corr_with = map.get('corr_with');
|
|
460
|
+
if (map.has('level')) {
|
|
461
|
+
const lvl = Number(map.get('level'));
|
|
462
|
+
if (!Number.isFinite(lvl) || lvl < 0 || lvl > 1) {
|
|
463
|
+
console.error(`--metric level must be a number between 0 and 1, got "${map.get('level')}"`);
|
|
464
|
+
process.exit(1);
|
|
465
|
+
}
|
|
466
|
+
spec.quantile_level = lvl;
|
|
467
|
+
}
|
|
468
|
+
return spec;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Parse `--filter "<col> <op> <value>"` for the structured /query endpoint.
|
|
472
|
+
* Columns are raw paths/identifiers — no name lookup.
|
|
473
|
+
*/
|
|
474
|
+
function parseStructuredFilter(raw) {
|
|
475
|
+
const { lhs: column, op: operator, value } = splitFilterExpr(raw, '<column> <op> <value>');
|
|
476
|
+
if (!STRUCTURED_OPS.has(operator)) {
|
|
477
|
+
console.error(`Invalid operator "${operator}". Allowed: ${[...STRUCTURED_OPS].join(', ')}`);
|
|
478
|
+
process.exit(1);
|
|
479
|
+
}
|
|
480
|
+
// Equality and ordering operators forward numeric values as numbers when the
|
|
481
|
+
// input parses as one; falls back to string for non-numeric eq/neq targets.
|
|
482
|
+
// `value !== ''` guards `Number('') === 0` from coercing missing input.
|
|
483
|
+
const parsedNum = Number(value);
|
|
484
|
+
const isOrderOp = operator === 'gt' || operator === 'gte' || operator === 'lt' || operator === 'lte';
|
|
485
|
+
const isEqualityOp = operator === 'eq' || operator === 'neq';
|
|
486
|
+
const isFiniteValue = value !== '' && Number.isFinite(parsedNum);
|
|
487
|
+
if (isOrderOp && !isFiniteValue) {
|
|
488
|
+
console.error(`Filter value for "${operator}" must be numeric, got: "${value}"`);
|
|
489
|
+
process.exit(1);
|
|
490
|
+
}
|
|
491
|
+
const coerceToNumber = isOrderOp || (isEqualityOp && isFiniteValue);
|
|
492
|
+
return {
|
|
493
|
+
column,
|
|
494
|
+
operator: operator,
|
|
495
|
+
value: coerceToNumber ? parsedNum : value,
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
function parseOrderBy(raw) {
|
|
499
|
+
const [column, dirRaw = 'asc'] = raw.split(':').map((s) => s.trim());
|
|
500
|
+
if (!column) {
|
|
501
|
+
console.error(`Invalid --order-by "${raw}". Expected: "<column>[:asc|desc]".`);
|
|
502
|
+
process.exit(1);
|
|
503
|
+
}
|
|
504
|
+
const dir = dirRaw.toLowerCase();
|
|
505
|
+
if (dir !== 'asc' && dir !== 'desc') {
|
|
506
|
+
console.error(`Invalid --order-by direction "${dirRaw}". Use asc or desc.`);
|
|
507
|
+
process.exit(1);
|
|
508
|
+
}
|
|
509
|
+
return { column, direction: dir };
|
|
510
|
+
}
|
|
511
|
+
// ---------------------------------------------------------------------------
|
|
512
|
+
// Output helpers
|
|
513
|
+
// ---------------------------------------------------------------------------
|
|
197
514
|
function printVariablesByCategory(data) {
|
|
198
515
|
console.log('Analytics Variables\n');
|
|
199
516
|
for (const category of data.categories) {
|
|
@@ -210,6 +527,29 @@ function printVariablesByCategory(data) {
|
|
|
210
527
|
console.log('');
|
|
211
528
|
}
|
|
212
529
|
}
|
|
530
|
+
function printQueryRows(rows) {
|
|
531
|
+
if (rows.length === 0) {
|
|
532
|
+
console.log('(no rows)');
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
const columns = Object.keys(rows[0]);
|
|
536
|
+
const widths = columns.map((c) => Math.max(c.length, ...rows.map((r) => formatCell(r[c]).length)));
|
|
537
|
+
const header = columns.map((c, i) => c.padEnd(widths[i])).join(' ');
|
|
538
|
+
console.log(header);
|
|
539
|
+
console.log(columns.map((_, i) => '-'.repeat(widths[i])).join(' '));
|
|
540
|
+
for (const row of rows) {
|
|
541
|
+
console.log(columns.map((c, i) => formatCell(row[c]).padEnd(widths[i])).join(' '));
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
function formatCell(value) {
|
|
545
|
+
if (value === null || value === undefined)
|
|
546
|
+
return '';
|
|
547
|
+
if (typeof value === 'number')
|
|
548
|
+
return Number.isInteger(value) ? String(value) : value.toFixed(4);
|
|
549
|
+
if (typeof value === 'object')
|
|
550
|
+
return JSON.stringify(value);
|
|
551
|
+
return String(value);
|
|
552
|
+
}
|
|
213
553
|
function formatMinutes(minutes) {
|
|
214
554
|
if (minutes == null)
|
|
215
555
|
return 'N/A';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function evalCaptureCommand(args: string[]): Promise<void>;
|