@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.
@@ -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 # 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
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 --list-metrics # list available metrics
10
- * wayai analytics --json # raw JSON output
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 # 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
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 --list-metrics # list available metrics
10
- * wayai analytics --json # raw JSON output
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 names variable IDs
115
- let selectedVariables = [];
146
+ // Resolve --metric and --filter against the variable catalog (single fetch).
147
+ let allVars;
116
148
  let variableNameMap;
117
- if (metricNames && metricNames.length > 0) {
149
+ const needsCatalog = (metricNames && metricNames.length > 0) || filterArgs.length > 0;
150
+ if (needsCatalog) {
118
151
  const varsResult = await client.getAnalyticsVariables(repoConfig.hub_id);
119
- const allVars = Object.values(varsResult.data.variablesByCategory).flat();
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
- // Fetch analytics data
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
- // Format output
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>;