@dataworks-technology/cli 1.5.0 → 1.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/dist/generated/metrics.d.ts +10 -0
- package/dist/generated/metrics.d.ts.map +1 -1
- package/dist/generated/metrics.js +51 -0
- package/dist/generated/metrics.js.map +1 -1
- package/dist/lib/discover.d.ts +9 -3
- package/dist/lib/discover.d.ts.map +1 -1
- package/dist/lib/discover.js +43 -6
- package/dist/lib/discover.js.map +1 -1
- package/dist/lib/metric-names.d.ts +2 -2
- package/dist/lib/metric-names.d.ts.map +1 -1
- package/dist/lib/metric-names.js +2 -2
- package/dist/lib/metric-names.js.map +1 -1
- package/dist/lib/query-metrics.d.ts +40 -0
- package/dist/lib/query-metrics.d.ts.map +1 -1
- package/dist/lib/query-metrics.js +147 -15
- package/dist/lib/query-metrics.js.map +1 -1
- package/dist/mcp/server.d.ts +32 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +113 -8
- package/dist/mcp/server.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
- package/plugins/dataworks/.claude-plugin/plugin.json +1 -1
- package/plugins/dataworks/.codex-plugin/plugin.json +1 -1
- package/plugins/dataworks/skills/query-dataworks-metrics/SKILL.md +33 -4
|
@@ -12,4 +12,14 @@ export declare const metricLabels: Record<string, string>;
|
|
|
12
12
|
export declare const allMetricNames: readonly string[];
|
|
13
13
|
/** Category lookup for a canonical metric name. */
|
|
14
14
|
export declare const metricCategoryByName: Record<string, MetricCategory>;
|
|
15
|
+
/**
|
|
16
|
+
* Columns the Data Explorer accepts per category. It allowlists the column names
|
|
17
|
+
* it will place in SQL, and silently ignores an aggregate naming anything else,
|
|
18
|
+
* so grouping and aggregate fields must be checked against this.
|
|
19
|
+
*/
|
|
20
|
+
export declare const metricColumns: {
|
|
21
|
+
METRICS_TYPE_A: string[];
|
|
22
|
+
METRICS_TYPE_B: string[];
|
|
23
|
+
METRICS_TYPE_C: string[];
|
|
24
|
+
};
|
|
15
25
|
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/generated/metrics.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEpF,iEAAiE;AACjE,eAAO,MAAM,gBAAgB;;;;CA4CwB,CAAC;AAEtD,sDAAsD;AACtD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsC/C,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAA2C,CAAC;AAExF,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAsC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/generated/metrics.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEpF,iEAAiE;AACjE,eAAO,MAAM,gBAAgB;;;;CA4CwB,CAAC;AAEtD,sDAAsD;AACtD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsC/C,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAA2C,CAAC;AAExF,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAsC/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;CA6C2B,CAAC"}
|
|
@@ -128,4 +128,55 @@ export const metricCategoryByName = {
|
|
|
128
128
|
"power-cycling": "METRICS_TYPE_C",
|
|
129
129
|
"pwr_instant": "METRICS_TYPE_C"
|
|
130
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
* Columns the Data Explorer accepts per category. It allowlists the column names
|
|
133
|
+
* it will place in SQL, and silently ignores an aggregate naming anything else,
|
|
134
|
+
* so grouping and aggregate fields must be checked against this.
|
|
135
|
+
*/
|
|
136
|
+
export const metricColumns = {
|
|
137
|
+
"METRICS_TYPE_A": [
|
|
138
|
+
"timestamp",
|
|
139
|
+
"datasetdatasourcepublicid",
|
|
140
|
+
"eventpublicid",
|
|
141
|
+
"athletepublicid",
|
|
142
|
+
"metric",
|
|
143
|
+
"current"
|
|
144
|
+
],
|
|
145
|
+
"METRICS_TYPE_B": [
|
|
146
|
+
"timestamp",
|
|
147
|
+
"datasetdatasourcepublicid",
|
|
148
|
+
"eventpublicid",
|
|
149
|
+
"athletepublicid",
|
|
150
|
+
"metric",
|
|
151
|
+
"current",
|
|
152
|
+
"max",
|
|
153
|
+
"min",
|
|
154
|
+
"avg"
|
|
155
|
+
],
|
|
156
|
+
"METRICS_TYPE_C": [
|
|
157
|
+
"timestamp",
|
|
158
|
+
"datasetdatasourcepublicid",
|
|
159
|
+
"eventpublicid",
|
|
160
|
+
"athletepublicid",
|
|
161
|
+
"metric",
|
|
162
|
+
"current",
|
|
163
|
+
"max",
|
|
164
|
+
"min",
|
|
165
|
+
"avg",
|
|
166
|
+
"z1_timespent",
|
|
167
|
+
"z1_percentage",
|
|
168
|
+
"z2_timespent",
|
|
169
|
+
"z2_percentage",
|
|
170
|
+
"z3_timespent",
|
|
171
|
+
"z3_percentage",
|
|
172
|
+
"z4_timespent",
|
|
173
|
+
"z4_percentage",
|
|
174
|
+
"z5_timespent",
|
|
175
|
+
"z5_percentage",
|
|
176
|
+
"z6_timespent",
|
|
177
|
+
"z6_percentage",
|
|
178
|
+
"z7_timespent",
|
|
179
|
+
"z7_percentage"
|
|
180
|
+
]
|
|
181
|
+
};
|
|
131
182
|
//# sourceMappingURL=metrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/generated/metrics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/generated/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/discover.d.ts
CHANGED
|
@@ -19,7 +19,11 @@ export interface AthleteSummary {
|
|
|
19
19
|
export interface EventSummary {
|
|
20
20
|
publicId: string;
|
|
21
21
|
name: string | null;
|
|
22
|
-
|
|
22
|
+
startsAt: string | null;
|
|
23
|
+
location: string | null;
|
|
24
|
+
type: string | null;
|
|
25
|
+
/** Dataset the event was reached through, when discovered that way. */
|
|
26
|
+
datasetPublicId?: string;
|
|
23
27
|
}
|
|
24
28
|
export interface DiscoverInput {
|
|
25
29
|
search?: string;
|
|
@@ -40,10 +44,12 @@ export interface EventListOutput {
|
|
|
40
44
|
search: string | null;
|
|
41
45
|
events: EventSummary[];
|
|
42
46
|
/**
|
|
43
|
-
* Set when
|
|
44
|
-
* as "no events exist"
|
|
47
|
+
* Set when listEvents returned null AND no events could be reached through
|
|
48
|
+
* datasets. Callers must not read that as "no events exist".
|
|
45
49
|
*/
|
|
46
50
|
unavailable: boolean;
|
|
51
|
+
/** Where the events came from: the events API, or the dataset relation. */
|
|
52
|
+
source: "events" | "datasets" | "none";
|
|
47
53
|
}
|
|
48
54
|
export declare function listAthletes(input?: DiscoverInput, options?: {
|
|
49
55
|
dependencies?: Partial<DiscoverDependencies>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/lib/discover.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/lib/discover.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CACxC;AA2FD,wBAAsB,YAAY,CAChC,KAAK,GAAE,aAAkB,EACzB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAAO,GAC7D,OAAO,CAAC,iBAAiB,CAAC,CAmC5B;AAED,wBAAsB,UAAU,CAC9B,KAAK,GAAE,aAAkB,EACzB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAAO,GAC7D,OAAO,CAAC,eAAe,CAAC,CAqE1B"}
|
package/dist/lib/discover.js
CHANGED
|
@@ -16,7 +16,20 @@ const listAthletesDocument = `query listAthletes($limit: Int, $nextToken: String
|
|
|
16
16
|
}`;
|
|
17
17
|
const listEventsDocument = `query listEvents($limit: Int, $nextToken: String, $tenant: String!) {
|
|
18
18
|
listEvents(limit: $limit, nextToken: $nextToken, tenant: $tenant) {
|
|
19
|
-
items { publicId name
|
|
19
|
+
items { publicId name startsAt location type }
|
|
20
|
+
nextToken
|
|
21
|
+
}
|
|
22
|
+
}`;
|
|
23
|
+
/**
|
|
24
|
+
* Events reached through their datasets.
|
|
25
|
+
*
|
|
26
|
+
* listEvents currently returns null on this API, but every dataset exposes its
|
|
27
|
+
* event, so a race can still be identified by name rather than inferred from an
|
|
28
|
+
* ID prefix. Used only when the events API gives nothing.
|
|
29
|
+
*/
|
|
30
|
+
const datasetEventsDocument = `query listDatasets($limit: Int, $nextToken: String, $tenant: String!) {
|
|
31
|
+
listDatasets(limit: $limit, nextToken: $nextToken, tenant: $tenant) {
|
|
32
|
+
items { publicId name event { publicId name startsAt location type } }
|
|
20
33
|
nextToken
|
|
21
34
|
}
|
|
22
35
|
}`;
|
|
@@ -99,12 +112,35 @@ export async function listEvents(input = {}, options = {}) {
|
|
|
99
112
|
const dependencies = { ...defaultDependencies, ...options.dependencies };
|
|
100
113
|
try {
|
|
101
114
|
const tenantId = await resolveTenant(input, dependencies);
|
|
102
|
-
const
|
|
103
|
-
const all = items.map((event) => ({
|
|
115
|
+
const toSummary = (event, datasetPublicId) => ({
|
|
104
116
|
publicId: String(event.publicId),
|
|
105
117
|
name: event.name ?? null,
|
|
106
|
-
|
|
107
|
-
|
|
118
|
+
startsAt: event.startsAt ?? null,
|
|
119
|
+
location: event.location ?? null,
|
|
120
|
+
type: event.type ?? null,
|
|
121
|
+
...(datasetPublicId ? { datasetPublicId } : {}),
|
|
122
|
+
});
|
|
123
|
+
const direct = await collect(listEventsDocument, "listEvents", tenantId, dependencies);
|
|
124
|
+
let source = direct.unavailable ? "none" : "events";
|
|
125
|
+
let all = direct.items.map((event) => toSummary(event));
|
|
126
|
+
// The events API returns null on this deployment. Datasets still carry their
|
|
127
|
+
// event, so fall back rather than leaving the caller to infer an ID.
|
|
128
|
+
if (!all.length) {
|
|
129
|
+
const viaDatasets = await collect(datasetEventsDocument, "listDatasets", tenantId, dependencies);
|
|
130
|
+
const seen = new Set();
|
|
131
|
+
const derived = [];
|
|
132
|
+
for (const dataset of viaDatasets.items) {
|
|
133
|
+
const event = dataset.event;
|
|
134
|
+
if (!event?.publicId || seen.has(String(event.publicId)))
|
|
135
|
+
continue;
|
|
136
|
+
seen.add(String(event.publicId));
|
|
137
|
+
derived.push(toSummary(event, String(dataset.publicId)));
|
|
138
|
+
}
|
|
139
|
+
if (derived.length) {
|
|
140
|
+
all = derived;
|
|
141
|
+
source = "datasets";
|
|
142
|
+
}
|
|
143
|
+
}
|
|
108
144
|
const search = input.search?.trim() || null;
|
|
109
145
|
const needle = search ? normalize(search) : null;
|
|
110
146
|
const matched = needle
|
|
@@ -119,7 +155,8 @@ export async function listEvents(input = {}, options = {}) {
|
|
|
119
155
|
count: Math.min(matched.length, limit),
|
|
120
156
|
search,
|
|
121
157
|
events: matched.slice(0, limit),
|
|
122
|
-
unavailable,
|
|
158
|
+
unavailable: all.length === 0 && direct.unavailable,
|
|
159
|
+
source,
|
|
123
160
|
};
|
|
124
161
|
}
|
|
125
162
|
catch (error) {
|
package/dist/lib/discover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/lib/discover.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/lib/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* What lives here is the CLI-owned layer the SDK does not define: the everyday
|
|
7
7
|
* wordings a user or model is likely to type, and display units.
|
|
8
8
|
*/
|
|
9
|
-
import { allMetricNames, metricCategories, metricLabels, type MetricCategory } from "../generated/metrics.js";
|
|
10
|
-
export { allMetricNames, metricCategories, metricLabels, type MetricCategory };
|
|
9
|
+
import { allMetricNames, metricCategories, metricColumns, metricLabels, type MetricCategory } from "../generated/metrics.js";
|
|
10
|
+
export { allMetricNames, metricCategories, metricColumns, metricLabels, type MetricCategory, };
|
|
11
11
|
/** Normalize wording to a lookup key: "Heart Rate" and "heart-rate" both give "heartrate". */
|
|
12
12
|
export declare function compactMetricName(value: string): string;
|
|
13
13
|
export interface ResolvedMetricName {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-names.d.ts","sourceRoot":"","sources":["../../src/lib/metric-names.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,YAAY,EACZ,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,
|
|
1
|
+
{"version":3,"file":"metric-names.d.ts","sourceRoot":"","sources":["../../src/lib/metric-names.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,cAAc,EACd,gBAAgB,EAEhB,aAAa,EACb,YAAY,EACZ,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,KAAK,cAAc,GACpB,CAAC;AA+FF,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKvD;AAOD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAQnF;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAyBzE;AASD,sEAAsE;AACtE,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C"}
|
package/dist/lib/metric-names.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* What lives here is the CLI-owned layer the SDK does not define: the everyday
|
|
7
7
|
* wordings a user or model is likely to type, and display units.
|
|
8
8
|
*/
|
|
9
|
-
import { allMetricNames, metricCategories, metricCategoryByName, metricLabels, } from "../generated/metrics.js";
|
|
10
|
-
export { allMetricNames, metricCategories, metricLabels };
|
|
9
|
+
import { allMetricNames, metricCategories, metricCategoryByName, metricColumns, metricLabels, } from "../generated/metrics.js";
|
|
10
|
+
export { allMetricNames, metricCategories, metricColumns, metricLabels, };
|
|
11
11
|
/**
|
|
12
12
|
* Units for metrics whose scale the catalogue states explicitly, either in the
|
|
13
13
|
* SDK's category comments or its label text. Metrics whose unit upstream leaves
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-names.js","sourceRoot":"","sources":["../../src/lib/metric-names.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GAEb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,
|
|
1
|
+
{"version":3,"file":"metric-names.js","sourceRoot":"","sources":["../../src/lib/metric-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,11 @@ import { executeGraphql } from "./graphql-transport.js";
|
|
|
2
2
|
import { type MetricCategory } from "./metric-names.js";
|
|
3
3
|
import { requireSession } from "./session.js";
|
|
4
4
|
export type { MetricCategory };
|
|
5
|
+
export type MetricAggregate = "count" | "avg" | "sum" | "max" | "min";
|
|
5
6
|
export interface QueryMetricsInput {
|
|
6
7
|
athleteId?: string;
|
|
8
|
+
/** Several athletes at once, for comparing them in one query. */
|
|
9
|
+
athleteIds?: string[];
|
|
7
10
|
athleteName?: string;
|
|
8
11
|
metric: string;
|
|
9
12
|
metricCategory?: MetricCategory;
|
|
@@ -15,6 +18,20 @@ export interface QueryMetricsInput {
|
|
|
15
18
|
datasetDatasourceId?: string;
|
|
16
19
|
tenantId?: string;
|
|
17
20
|
timeoutMs?: number;
|
|
21
|
+
/** Compute server-side instead of returning rows, e.g. a maximum over all history. */
|
|
22
|
+
aggregate?: MetricAggregate;
|
|
23
|
+
/** Column to aggregate; defaults to `current`, the metric value. */
|
|
24
|
+
aggregateField?: string;
|
|
25
|
+
/** Column to group by; defaults to `athletepublicid`. */
|
|
26
|
+
groupBy?: string;
|
|
27
|
+
/** Keep only samples whose value is at least this. */
|
|
28
|
+
minValue?: number;
|
|
29
|
+
/** Keep only samples whose value is at most this. */
|
|
30
|
+
maxValue?: number;
|
|
31
|
+
/** Column to sort by; defaults to `timestamp`. */
|
|
32
|
+
orderBy?: string;
|
|
33
|
+
/** Several events at once, for spanning a series of races. */
|
|
34
|
+
eventIds?: string[];
|
|
18
35
|
}
|
|
19
36
|
export interface MetricPosition {
|
|
20
37
|
latitude: number;
|
|
@@ -30,6 +47,16 @@ export interface MetricRow {
|
|
|
30
47
|
position: MetricPosition | null;
|
|
31
48
|
eventId: string | null;
|
|
32
49
|
datasetDatasourceId: string | null;
|
|
50
|
+
/**
|
|
51
|
+
* Every other column the category provides — the rolling max/min/avg, and the
|
|
52
|
+
* seven training zones for heart rate and power. Kept as a map so a column
|
|
53
|
+
* added upstream reaches callers without a code change here.
|
|
54
|
+
*/
|
|
55
|
+
extra: Record<string, unknown>;
|
|
56
|
+
}
|
|
57
|
+
export interface MetricAggregateGroup {
|
|
58
|
+
key: string | null;
|
|
59
|
+
value: number | null;
|
|
33
60
|
}
|
|
34
61
|
export interface QueryMetricsOutput {
|
|
35
62
|
environment: "uat" | "live";
|
|
@@ -48,6 +75,10 @@ export interface QueryMetricsOutput {
|
|
|
48
75
|
};
|
|
49
76
|
filters: {
|
|
50
77
|
eventId: string | null;
|
|
78
|
+
/** Echoes a multi-event request; compare against each row's eventId. */
|
|
79
|
+
eventIds: string[] | null;
|
|
80
|
+
/** Echoes a multi-athlete request; an athlete with no data simply has no rows. */
|
|
81
|
+
athleteIds: string[] | null;
|
|
51
82
|
datasetDatasourceId: string | null;
|
|
52
83
|
from: string | null;
|
|
53
84
|
to: string | null;
|
|
@@ -60,6 +91,13 @@ export interface QueryMetricsOutput {
|
|
|
60
91
|
queryExecutionId: string | null;
|
|
61
92
|
queryTimeMs: number | null;
|
|
62
93
|
rows: MetricRow[];
|
|
94
|
+
/** Present only when an aggregate was requested; `rows` is empty in that case. */
|
|
95
|
+
aggregate: {
|
|
96
|
+
function: MetricAggregate;
|
|
97
|
+
field: string;
|
|
98
|
+
groupBy: string;
|
|
99
|
+
groups: MetricAggregateGroup[];
|
|
100
|
+
} | null;
|
|
63
101
|
}
|
|
64
102
|
export interface QueryMetricsDependencies {
|
|
65
103
|
graphql: typeof executeGraphql;
|
|
@@ -67,6 +105,8 @@ export interface QueryMetricsDependencies {
|
|
|
67
105
|
sleep: (milliseconds: number, signal?: AbortSignal) => Promise<void>;
|
|
68
106
|
now: () => number;
|
|
69
107
|
}
|
|
108
|
+
/** Trimmed, de-duplicated, empties dropped. */
|
|
109
|
+
export declare function normalizeIdList(values: string[] | undefined): string[];
|
|
70
110
|
export declare function queryMetrics(input: QueryMetricsInput, options?: {
|
|
71
111
|
dependencies?: Partial<QueryMetricsDependencies>;
|
|
72
112
|
signal?: AbortSignal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-metrics.d.ts","sourceRoot":"","sources":["../../src/lib/query-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EACL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"query-metrics.d.ts","sourceRoot":"","sources":["../../src/lib/query-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { executeGraphql } from "./graphql-transport.js";
|
|
2
2
|
import { CliError, toCliError } from "./errors.js";
|
|
3
|
-
import { metricCategories, resolveMetricName, suggestMetricNames, } from "./metric-names.js";
|
|
3
|
+
import { metricCategories, metricColumns, resolveMetricName, suggestMetricNames, } from "./metric-names.js";
|
|
4
4
|
import { requireSession } from "./session.js";
|
|
5
5
|
const listAthletesDocument = `query listAthletes($limit: Int, $nextToken: String, $tenant: String!) {
|
|
6
6
|
listAthletes(limit: $limit, nextToken: $nextToken, tenant: $tenant) {
|
|
@@ -228,6 +228,15 @@ function parsedValue(value, canonicalMetric) {
|
|
|
228
228
|
}
|
|
229
229
|
return decoded;
|
|
230
230
|
}
|
|
231
|
+
/** Columns surfaced as named fields; everything else lands in `extra`. */
|
|
232
|
+
const coreColumns = new Set([
|
|
233
|
+
"timestamp",
|
|
234
|
+
"athletepublicid",
|
|
235
|
+
"metric",
|
|
236
|
+
"current",
|
|
237
|
+
"eventpublicid",
|
|
238
|
+
"datasetdatasourcepublicid",
|
|
239
|
+
]);
|
|
231
240
|
function normalizedRow(row, metric) {
|
|
232
241
|
const timestamp = row.timestamp;
|
|
233
242
|
const rawValue = row.current;
|
|
@@ -241,18 +250,93 @@ function normalizedRow(row, metric) {
|
|
|
241
250
|
position: metric.canonical === "latlong" ? positionFrom(rawValue) : null,
|
|
242
251
|
eventId: optionalString(row.eventpublicid),
|
|
243
252
|
datasetDatasourceId: optionalString(row.datasetdatasourcepublicid),
|
|
253
|
+
extra: Object.fromEntries(Object.entries(row).filter(([key, value]) => !coreColumns.has(key) && value !== null && value !== undefined)),
|
|
244
254
|
};
|
|
245
255
|
}
|
|
256
|
+
const aggregateFunctions = new Set(["count", "avg", "sum", "max", "min"]);
|
|
257
|
+
const defaultAggregateField = "current";
|
|
258
|
+
const defaultGroupBy = "athletepublicid";
|
|
259
|
+
/**
|
|
260
|
+
* Resolve the aggregate triple, or nothing when no aggregate was asked for.
|
|
261
|
+
*
|
|
262
|
+
* The Data Explorer only aggregates when aggregate, aggregateField and groupBy are
|
|
263
|
+
* all present and every column passes its allowlist; otherwise it quietly returns
|
|
264
|
+
* plain rows instead. A caller asking for a maximum and silently receiving raw
|
|
265
|
+
* samples is the worst outcome, so the defaults are filled in here and anything
|
|
266
|
+
* unusable is rejected rather than sent.
|
|
267
|
+
*/
|
|
268
|
+
function resolveAggregate(input, category) {
|
|
269
|
+
if (!input.aggregate)
|
|
270
|
+
return undefined;
|
|
271
|
+
const fn = input.aggregate.toLowerCase();
|
|
272
|
+
if (!aggregateFunctions.has(fn)) {
|
|
273
|
+
throw new CliError(`Unsupported aggregate "${input.aggregate}"`, "AGGREGATE_INVALID", 2, { supported: [...aggregateFunctions].sort() });
|
|
274
|
+
}
|
|
275
|
+
const field = input.aggregateField?.trim() || defaultAggregateField;
|
|
276
|
+
const groupBy = input.groupBy?.trim() || defaultGroupBy;
|
|
277
|
+
const allowed = metricColumns[category];
|
|
278
|
+
for (const [label, column] of [
|
|
279
|
+
["aggregate_field", field],
|
|
280
|
+
["group_by", groupBy],
|
|
281
|
+
]) {
|
|
282
|
+
if (!allowed.includes(column)) {
|
|
283
|
+
throw new CliError(`${label} "${column}" is not a column of ${category}`, "AGGREGATE_COLUMN_INVALID", 2, { column, allowed: [...allowed] });
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return { function: fn, field, groupBy };
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Read the aggregate rows the Data Explorer returns. It aliases the computed
|
|
290
|
+
* column as `<function>_<field>`, e.g. `max_current`, beside the grouping column.
|
|
291
|
+
*/
|
|
292
|
+
function aggregateGroups(raw, aggregate) {
|
|
293
|
+
const alias = `${aggregate.function}_${aggregate.field}`;
|
|
294
|
+
return raw.map((row) => {
|
|
295
|
+
const rawValue = row[alias] ?? row[alias.toUpperCase()];
|
|
296
|
+
const value = Number(rawValue);
|
|
297
|
+
return {
|
|
298
|
+
key: optionalString(row[aggregate.groupBy]),
|
|
299
|
+
value: Number.isFinite(value) ? value : null,
|
|
300
|
+
};
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
/** Checked before any lookup, so a bad range costs no network round-trip. */
|
|
304
|
+
function ensureValueRange(input) {
|
|
305
|
+
for (const bound of [input.minValue, input.maxValue]) {
|
|
306
|
+
if (bound === undefined)
|
|
307
|
+
continue;
|
|
308
|
+
if (typeof bound !== "number" || !Number.isFinite(bound)) {
|
|
309
|
+
throw new CliError("min_value and max_value must be finite numbers", "VALUE_FILTER_INVALID", 2);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (input.minValue !== undefined &&
|
|
313
|
+
input.maxValue !== undefined &&
|
|
314
|
+
input.minValue > input.maxValue) {
|
|
315
|
+
throw new CliError("min_value must not be greater than max_value", "VALUE_FILTER_INVALID", 2);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/** Trimmed, de-duplicated, empties dropped. */
|
|
319
|
+
export function normalizeIdList(values) {
|
|
320
|
+
return [...new Set((values ?? []).map((value) => value.trim()).filter(Boolean))];
|
|
321
|
+
}
|
|
246
322
|
function ensureQueryIsScoped(input) {
|
|
323
|
+
const athleteIds = normalizeIdList(input.athleteIds);
|
|
247
324
|
const count = Number(Boolean(input.athleteId?.trim())) +
|
|
248
|
-
Number(Boolean(input.athleteName?.trim()))
|
|
325
|
+
Number(Boolean(input.athleteName?.trim())) +
|
|
326
|
+
Number(athleteIds.length > 0);
|
|
249
327
|
if (count > 1) {
|
|
250
|
-
throw new CliError("Provide at most one of athlete_id or
|
|
328
|
+
throw new CliError("Provide at most one of athlete_id, athlete_name, or athlete_ids", "ATHLETE_SELECTOR_INVALID", 2);
|
|
329
|
+
}
|
|
330
|
+
if (input.eventId?.trim() && normalizeIdList(input.eventIds).length) {
|
|
331
|
+
throw new CliError("Provide at most one of event_id or event_ids", "EVENT_SELECTOR_INVALID", 2);
|
|
251
332
|
}
|
|
252
333
|
// Without a scope this would sweep every athlete in the tenant, which is never
|
|
253
334
|
// what was asked for and is expensive to run.
|
|
254
|
-
if (count === 0 &&
|
|
255
|
-
|
|
335
|
+
if (count === 0 &&
|
|
336
|
+
!input.eventId?.trim() &&
|
|
337
|
+
!normalizeIdList(input.eventIds).length &&
|
|
338
|
+
!input.datasetDatasourceId?.trim()) {
|
|
339
|
+
throw new CliError("Provide athlete_id, athlete_name, athlete_ids, event_id, event_ids, or dataset_datasource_id to scope the query", "QUERY_SCOPE_REQUIRED", 2);
|
|
256
340
|
}
|
|
257
341
|
}
|
|
258
342
|
async function executeAndPoll(queryInput, tenantId, timeoutMs, dependencies, signal) {
|
|
@@ -303,8 +387,21 @@ export async function queryMetrics(input, options = {}) {
|
|
|
303
387
|
throw new CliError("timeout_ms must be an integer from 1000 to 120000", "TIMEOUT_INVALID", 2);
|
|
304
388
|
}
|
|
305
389
|
const metric = resolveMetric(input);
|
|
390
|
+
// Validate before the athlete lookup: a malformed aggregate should not cost a
|
|
391
|
+
// network round-trip before it is rejected.
|
|
392
|
+
const aggregate = resolveAggregate(input, metric.category);
|
|
393
|
+
ensureValueRange(input);
|
|
394
|
+
const orderBy = input.orderBy?.trim() || "timestamp";
|
|
395
|
+
if (!metricColumns[metric.category].includes(orderBy)) {
|
|
396
|
+
throw new CliError(`order_by "${orderBy}" is not a column of ${metric.category}`, "ORDER_BY_INVALID", 2, { column: orderBy, allowed: [...metricColumns[metric.category]] });
|
|
397
|
+
}
|
|
306
398
|
// An event- or datasource-scoped question needs no athlete: "latest heart rate
|
|
307
399
|
// for this race" is a legitimate shape the tool used to be unable to express.
|
|
400
|
+
const athleteIds = normalizeIdList(input.athleteIds);
|
|
401
|
+
const eventIds = normalizeIdList(input.eventIds);
|
|
402
|
+
// A single athlete is resolved so the caller gets a name back; a list is passed
|
|
403
|
+
// straight through, since resolving each would cost a lookup per athlete and
|
|
404
|
+
// rows already carry the athlete they belong to.
|
|
308
405
|
const athlete = input.athleteId || input.athleteName
|
|
309
406
|
? await resolveAthlete(input, tenantId, dependencies)
|
|
310
407
|
: undefined;
|
|
@@ -320,8 +417,28 @@ export async function queryMetrics(input, options = {}) {
|
|
|
320
417
|
operator: "in",
|
|
321
418
|
value: athlete.athlete.publicId,
|
|
322
419
|
});
|
|
420
|
+
else if (athleteIds.length)
|
|
421
|
+
rules.push({
|
|
422
|
+
field: "athletepublicid",
|
|
423
|
+
operator: "in",
|
|
424
|
+
value: athleteIds.join(","),
|
|
425
|
+
});
|
|
323
426
|
if (input.eventId)
|
|
324
427
|
rules.push({ field: "eventpublicid", operator: "in", value: input.eventId });
|
|
428
|
+
else if (eventIds.length)
|
|
429
|
+
rules.push({
|
|
430
|
+
field: "eventpublicid",
|
|
431
|
+
operator: "in",
|
|
432
|
+
value: eventIds.join(","),
|
|
433
|
+
});
|
|
434
|
+
for (const [operator, bound] of [
|
|
435
|
+
[">=", input.minValue],
|
|
436
|
+
["<=", input.maxValue],
|
|
437
|
+
]) {
|
|
438
|
+
if (bound === undefined)
|
|
439
|
+
continue;
|
|
440
|
+
rules.push({ field: "current", operator, value: String(bound) });
|
|
441
|
+
}
|
|
325
442
|
if (input.datasetDatasourceId)
|
|
326
443
|
rules.push({
|
|
327
444
|
field: "datasetdatasourcepublicid",
|
|
@@ -334,22 +451,27 @@ export async function queryMetrics(input, options = {}) {
|
|
|
334
451
|
rules.push({ field: "timestamp", operator: "<=", value: String(to.timestamp) });
|
|
335
452
|
const order = input.order ?? "newest";
|
|
336
453
|
const queryInput = {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
"eventpublicid",
|
|
341
|
-
"athletepublicid",
|
|
342
|
-
"metric",
|
|
343
|
-
"current",
|
|
344
|
-
],
|
|
454
|
+
// Ask for everything the category offers, so heart rate and power carry
|
|
455
|
+
// their rolling max/min/avg and zone breakdown rather than value alone.
|
|
456
|
+
columns: [...metricColumns[metric.category]],
|
|
345
457
|
metricCategory: metric.category,
|
|
346
458
|
filterRules: JSON.stringify({ combinator: "and", rules }),
|
|
347
459
|
limit,
|
|
348
|
-
|
|
460
|
+
// Ordering by timestamp is invalid once the rows are collapsed into groups.
|
|
461
|
+
orderBy: aggregate ? aggregate.groupBy : orderBy,
|
|
349
462
|
orderDirection: order === "newest" ? "DESC" : "ASC",
|
|
463
|
+
...(aggregate
|
|
464
|
+
? {
|
|
465
|
+
aggregate: aggregate.function,
|
|
466
|
+
aggregateField: aggregate.field,
|
|
467
|
+
groupBy: aggregate.groupBy,
|
|
468
|
+
}
|
|
469
|
+
: {}),
|
|
350
470
|
};
|
|
351
471
|
const result = await executeAndPoll(queryInput, tenantId, timeoutMs, dependencies, options.signal);
|
|
352
|
-
const
|
|
472
|
+
const raw = rowsFrom(result);
|
|
473
|
+
const rows = aggregate ? [] : raw.map((row) => normalizedRow(row, metric));
|
|
474
|
+
const groups = aggregate ? aggregateGroups(raw, aggregate) : null;
|
|
353
475
|
return {
|
|
354
476
|
environment: session.environment,
|
|
355
477
|
tenantId,
|
|
@@ -363,6 +485,8 @@ export async function queryMetrics(input, options = {}) {
|
|
|
363
485
|
metric,
|
|
364
486
|
filters: {
|
|
365
487
|
eventId: input.eventId ?? null,
|
|
488
|
+
eventIds: eventIds.length ? eventIds : null,
|
|
489
|
+
athleteIds: athleteIds.length ? athleteIds : null,
|
|
366
490
|
datasetDatasourceId: input.datasetDatasourceId ?? null,
|
|
367
491
|
from: from?.iso ?? null,
|
|
368
492
|
to: to?.iso ?? null,
|
|
@@ -375,6 +499,14 @@ export async function queryMetrics(input, options = {}) {
|
|
|
375
499
|
queryExecutionId: result.queryExecutionId ?? null,
|
|
376
500
|
queryTimeMs: result.queryTimeMs ?? null,
|
|
377
501
|
rows,
|
|
502
|
+
aggregate: aggregate
|
|
503
|
+
? {
|
|
504
|
+
function: aggregate.function,
|
|
505
|
+
field: aggregate.field,
|
|
506
|
+
groupBy: aggregate.groupBy,
|
|
507
|
+
groups: groups ?? [],
|
|
508
|
+
}
|
|
509
|
+
: null,
|
|
378
510
|
};
|
|
379
511
|
}
|
|
380
512
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-metrics.js","sourceRoot":"","sources":["../../src/lib/query-metrics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-metrics.js","sourceRoot":"","sources":["../../src/lib/query-metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export interface DiscoveryHandlers {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const queryMetricsInputSchema: z.ZodObject<{
|
|
13
13
|
athlete_id: z.ZodOptional<z.ZodString>;
|
|
14
|
+
athlete_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
15
|
athlete_name: z.ZodOptional<z.ZodString>;
|
|
15
16
|
metric: z.ZodString;
|
|
16
17
|
metric_category: z.ZodOptional<z.ZodEnum<{
|
|
@@ -26,8 +27,21 @@ export declare const queryMetricsInputSchema: z.ZodObject<{
|
|
|
26
27
|
from: z.ZodOptional<z.ZodString>;
|
|
27
28
|
to: z.ZodOptional<z.ZodString>;
|
|
28
29
|
event_id: z.ZodOptional<z.ZodString>;
|
|
30
|
+
event_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
29
31
|
dataset_datasource_id: z.ZodOptional<z.ZodString>;
|
|
30
32
|
tenant_id: z.ZodOptional<z.ZodString>;
|
|
33
|
+
min_value: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
max_value: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
order_by: z.ZodOptional<z.ZodString>;
|
|
36
|
+
aggregate: z.ZodOptional<z.ZodEnum<{
|
|
37
|
+
max: "max";
|
|
38
|
+
min: "min";
|
|
39
|
+
avg: "avg";
|
|
40
|
+
count: "count";
|
|
41
|
+
sum: "sum";
|
|
42
|
+
}>>;
|
|
43
|
+
aggregate_field: z.ZodOptional<z.ZodString>;
|
|
44
|
+
group_by: z.ZodOptional<z.ZodString>;
|
|
31
45
|
timeout_ms: z.ZodDefault<z.ZodNumber>;
|
|
32
46
|
}, z.core.$strip>;
|
|
33
47
|
export declare const queryMetricsOutputSchema: z.ZodObject<{
|
|
@@ -57,6 +71,8 @@ export declare const queryMetricsOutputSchema: z.ZodObject<{
|
|
|
57
71
|
}, z.core.$strip>;
|
|
58
72
|
filters: z.ZodObject<{
|
|
59
73
|
event_id: z.ZodNullable<z.ZodString>;
|
|
74
|
+
event_ids: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
75
|
+
athlete_ids: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
60
76
|
dataset_datasource_id: z.ZodNullable<z.ZodString>;
|
|
61
77
|
from: z.ZodNullable<z.ZodString>;
|
|
62
78
|
to: z.ZodNullable<z.ZodString>;
|
|
@@ -71,6 +87,21 @@ export declare const queryMetricsOutputSchema: z.ZodObject<{
|
|
|
71
87
|
status: z.ZodString;
|
|
72
88
|
query_execution_id: z.ZodNullable<z.ZodString>;
|
|
73
89
|
query_time_ms: z.ZodNullable<z.ZodNumber>;
|
|
90
|
+
aggregate: z.ZodNullable<z.ZodObject<{
|
|
91
|
+
function: z.ZodEnum<{
|
|
92
|
+
max: "max";
|
|
93
|
+
min: "min";
|
|
94
|
+
avg: "avg";
|
|
95
|
+
count: "count";
|
|
96
|
+
sum: "sum";
|
|
97
|
+
}>;
|
|
98
|
+
field: z.ZodString;
|
|
99
|
+
group_by: z.ZodString;
|
|
100
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
101
|
+
key: z.ZodNullable<z.ZodString>;
|
|
102
|
+
value: z.ZodNullable<z.ZodNumber>;
|
|
103
|
+
}, z.core.$strip>>;
|
|
104
|
+
}, z.core.$strip>>;
|
|
74
105
|
rows: z.ZodArray<z.ZodObject<{
|
|
75
106
|
timestamp: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
76
107
|
timestamp_iso: z.ZodNullable<z.ZodString>;
|
|
@@ -84,6 +115,7 @@ export declare const queryMetricsOutputSchema: z.ZodObject<{
|
|
|
84
115
|
}, z.core.$strip>>;
|
|
85
116
|
event_id: z.ZodNullable<z.ZodString>;
|
|
86
117
|
dataset_datasource_id: z.ZodNullable<z.ZodString>;
|
|
118
|
+
extra: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
87
119
|
}, z.core.$strip>>;
|
|
88
120
|
}, z.core.$strip>;
|
|
89
121
|
export declare function createDataworksMcpServer(handler?: QueryMetricsHandler, discovery?: DiscoveryHandlers): McpServer;
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnE,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CAChE;AAcD,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAS5B,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnE,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CAChE;AAcD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2LhC,CAAC;AAIL,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqDnC,CAAC;AA2HH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,mBAAsE,EAC/E,SAAS,GAAE,iBAGV,GACA,SAAS,CA6LX"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -18,6 +18,14 @@ export const queryMetricsInputSchema = z
|
|
|
18
18
|
.optional()
|
|
19
19
|
.describe("Exact Dataworks athlete public ID. Use this instead of athlete_name when known. " +
|
|
20
20
|
"Omit both athlete fields to query a whole event or datasource."),
|
|
21
|
+
athlete_ids: z
|
|
22
|
+
.array(z.string().trim().min(1))
|
|
23
|
+
.min(1)
|
|
24
|
+
.max(100)
|
|
25
|
+
.optional()
|
|
26
|
+
.describe("Several athlete public IDs, to compare them in one query. Rows carry the athlete they belong to, " +
|
|
27
|
+
"and an aggregate returns one value per athlete. Mutually exclusive with athlete_id and athlete_name; " +
|
|
28
|
+
"resolve names to IDs with list_athletes first."),
|
|
21
29
|
athlete_name: z
|
|
22
30
|
.string()
|
|
23
31
|
.trim()
|
|
@@ -33,7 +41,9 @@ export const queryMetricsInputSchema = z
|
|
|
33
41
|
`Known metrics — ${allMetricNames.join(", ")}. ` +
|
|
34
42
|
`Aliases also accepted: gps/location/position for latlong, hr/bpm/pulse for heartrate, watts for power, ` +
|
|
35
43
|
`rpm for cadence, elevation for altitude, calories for active-energy-burned, placing for rank. ` +
|
|
36
|
-
`Anything else is treated as a custom metric and requires metric_category
|
|
44
|
+
`Anything else is treated as a custom metric and requires metric_category. ` +
|
|
45
|
+
`Rows carry every column the metric's category provides: heartrate and power add rolling ` +
|
|
46
|
+
`max/min/avg and a seven-zone breakdown under \`extra\`.`),
|
|
37
47
|
metric_category: metricCategory
|
|
38
48
|
.optional()
|
|
39
49
|
.describe(`Required only for a custom metric absent from the known list. Known metrics infer their own category. ` +
|
|
@@ -63,6 +73,12 @@ export const queryMetricsInputSchema = z
|
|
|
63
73
|
.min(1)
|
|
64
74
|
.optional()
|
|
65
75
|
.describe("Event public ID. Supply it alone to query every athlete in that event, or with an athlete to narrow to one."),
|
|
76
|
+
event_ids: z
|
|
77
|
+
.array(z.string().trim().min(1))
|
|
78
|
+
.min(1)
|
|
79
|
+
.max(100)
|
|
80
|
+
.optional()
|
|
81
|
+
.describe("Several event public IDs, to span a series of races. Mutually exclusive with event_id."),
|
|
66
82
|
dataset_datasource_id: z
|
|
67
83
|
.string()
|
|
68
84
|
.trim()
|
|
@@ -75,6 +91,41 @@ export const queryMetricsInputSchema = z
|
|
|
75
91
|
.min(1)
|
|
76
92
|
.optional()
|
|
77
93
|
.describe("Optional authorized tenant override; otherwise use the selected CLI tenant."),
|
|
94
|
+
min_value: z
|
|
95
|
+
.number()
|
|
96
|
+
.optional()
|
|
97
|
+
.describe("Keep only samples whose value is at least this, e.g. heart rate above 180."),
|
|
98
|
+
max_value: z
|
|
99
|
+
.number()
|
|
100
|
+
.optional()
|
|
101
|
+
.describe("Keep only samples whose value is at most this."),
|
|
102
|
+
order_by: z
|
|
103
|
+
.string()
|
|
104
|
+
.trim()
|
|
105
|
+
.min(1)
|
|
106
|
+
.optional()
|
|
107
|
+
.describe("Column to sort by; defaults to `timestamp`. Use `current` to rank by value — " +
|
|
108
|
+
"the highest readings rather than the most recent. Must be a column of the metric's category."),
|
|
109
|
+
aggregate: z
|
|
110
|
+
.enum(["count", "avg", "sum", "max", "min"])
|
|
111
|
+
.optional()
|
|
112
|
+
.describe("Compute a value server-side over every matching sample instead of returning rows. " +
|
|
113
|
+
'Use this for "maximum heart rate" rather than fetching rows and taking the max, ' +
|
|
114
|
+
"which would only cover the rows the limit returned. Results arrive in `aggregate.groups`, " +
|
|
115
|
+
"and `rows` is empty."),
|
|
116
|
+
aggregate_field: z
|
|
117
|
+
.string()
|
|
118
|
+
.trim()
|
|
119
|
+
.min(1)
|
|
120
|
+
.optional()
|
|
121
|
+
.describe("Column to aggregate; defaults to `current`, the metric value itself."),
|
|
122
|
+
group_by: z
|
|
123
|
+
.string()
|
|
124
|
+
.trim()
|
|
125
|
+
.min(1)
|
|
126
|
+
.optional()
|
|
127
|
+
.describe("Column to group an aggregate by; defaults to `athletepublicid`, giving one value per athlete. " +
|
|
128
|
+
"Use `eventpublicid` for one value per event."),
|
|
78
129
|
timeout_ms: z
|
|
79
130
|
.number()
|
|
80
131
|
.int()
|
|
@@ -84,21 +135,34 @@ export const queryMetricsInputSchema = z
|
|
|
84
135
|
.describe("Maximum time to poll an asynchronous Data Explorer query."),
|
|
85
136
|
})
|
|
86
137
|
.superRefine((input, context) => {
|
|
87
|
-
const athletes = Number(Boolean(input.athlete_id)) +
|
|
138
|
+
const athletes = Number(Boolean(input.athlete_id)) +
|
|
139
|
+
Number(Boolean(input.athlete_name)) +
|
|
140
|
+
Number(Boolean(input.athlete_ids?.length));
|
|
88
141
|
if (athletes > 1) {
|
|
89
142
|
context.addIssue({
|
|
90
143
|
code: "custom",
|
|
91
|
-
message: "Provide at most one of athlete_id or
|
|
144
|
+
message: "Provide at most one of athlete_id, athlete_name, or athlete_ids",
|
|
92
145
|
path: ["athlete_id"],
|
|
93
146
|
});
|
|
94
147
|
return;
|
|
95
148
|
}
|
|
96
149
|
// Unscoped queries would sweep the whole tenant, so require either an athlete
|
|
97
150
|
// or a narrowing filter. Both together are fine: one athlete within one event.
|
|
98
|
-
if (
|
|
151
|
+
if (input.event_id && input.event_ids?.length) {
|
|
152
|
+
context.addIssue({
|
|
153
|
+
code: "custom",
|
|
154
|
+
message: "Provide at most one of event_id or event_ids",
|
|
155
|
+
path: ["event_id"],
|
|
156
|
+
});
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (athletes === 0 &&
|
|
160
|
+
!input.event_id &&
|
|
161
|
+
!input.event_ids?.length &&
|
|
162
|
+
!input.dataset_datasource_id) {
|
|
99
163
|
context.addIssue({
|
|
100
164
|
code: "custom",
|
|
101
|
-
message: "Provide athlete_id, athlete_name, event_id, or dataset_datasource_id to scope the query",
|
|
165
|
+
message: "Provide athlete_id, athlete_name, athlete_ids, event_id, event_ids, or dataset_datasource_id to scope the query",
|
|
102
166
|
path: ["athlete_id"],
|
|
103
167
|
});
|
|
104
168
|
}
|
|
@@ -122,6 +186,8 @@ export const queryMetricsOutputSchema = z.object({
|
|
|
122
186
|
}),
|
|
123
187
|
filters: z.object({
|
|
124
188
|
event_id: nullableString,
|
|
189
|
+
event_ids: z.array(z.string()).nullable(),
|
|
190
|
+
athlete_ids: z.array(z.string()).nullable(),
|
|
125
191
|
dataset_datasource_id: nullableString,
|
|
126
192
|
from: nullableString,
|
|
127
193
|
to: nullableString,
|
|
@@ -133,6 +199,14 @@ export const queryMetricsOutputSchema = z.object({
|
|
|
133
199
|
status: z.string(),
|
|
134
200
|
query_execution_id: nullableString,
|
|
135
201
|
query_time_ms: z.number().int().nullable(),
|
|
202
|
+
aggregate: z
|
|
203
|
+
.object({
|
|
204
|
+
function: z.enum(["count", "avg", "sum", "max", "min"]),
|
|
205
|
+
field: z.string(),
|
|
206
|
+
group_by: z.string(),
|
|
207
|
+
groups: z.array(z.object({ key: nullableString, value: z.number().nullable() })),
|
|
208
|
+
})
|
|
209
|
+
.nullable(),
|
|
136
210
|
rows: z.array(z.object({
|
|
137
211
|
timestamp: z.union([z.string(), z.number()]).nullable(),
|
|
138
212
|
timestamp_iso: nullableString,
|
|
@@ -143,6 +217,7 @@ export const queryMetricsOutputSchema = z.object({
|
|
|
143
217
|
position: z.object({ latitude: z.number(), longitude: z.number() }).nullable(),
|
|
144
218
|
event_id: nullableString,
|
|
145
219
|
dataset_datasource_id: nullableString,
|
|
220
|
+
extra: z.record(z.string(), z.unknown()),
|
|
146
221
|
})),
|
|
147
222
|
});
|
|
148
223
|
function structuredOutput(output) {
|
|
@@ -159,6 +234,8 @@ function structuredOutput(output) {
|
|
|
159
234
|
metric: output.metric,
|
|
160
235
|
filters: {
|
|
161
236
|
event_id: output.filters.eventId,
|
|
237
|
+
event_ids: output.filters.eventIds,
|
|
238
|
+
athlete_ids: output.filters.athleteIds,
|
|
162
239
|
dataset_datasource_id: output.filters.datasetDatasourceId,
|
|
163
240
|
from: output.filters.from,
|
|
164
241
|
to: output.filters.to,
|
|
@@ -170,6 +247,14 @@ function structuredOutput(output) {
|
|
|
170
247
|
status: output.status,
|
|
171
248
|
query_execution_id: output.queryExecutionId,
|
|
172
249
|
query_time_ms: output.queryTimeMs,
|
|
250
|
+
aggregate: output.aggregate
|
|
251
|
+
? {
|
|
252
|
+
function: output.aggregate.function,
|
|
253
|
+
field: output.aggregate.field,
|
|
254
|
+
group_by: output.aggregate.groupBy,
|
|
255
|
+
groups: output.aggregate.groups,
|
|
256
|
+
}
|
|
257
|
+
: null,
|
|
173
258
|
rows: output.rows.map((row) => ({
|
|
174
259
|
timestamp: row.timestamp,
|
|
175
260
|
timestamp_iso: row.timestampIso,
|
|
@@ -180,6 +265,7 @@ function structuredOutput(output) {
|
|
|
180
265
|
position: row.position,
|
|
181
266
|
event_id: row.eventId,
|
|
182
267
|
dataset_datasource_id: row.datasetDatasourceId,
|
|
268
|
+
extra: row.extra,
|
|
183
269
|
})),
|
|
184
270
|
};
|
|
185
271
|
}
|
|
@@ -233,6 +319,16 @@ function summary(output) {
|
|
|
233
319
|
? `${output.athlete.name} (${output.athlete.public_id})`
|
|
234
320
|
: output.athlete.public_id
|
|
235
321
|
: (output.filters.event_id ?? output.filters.dataset_datasource_id ?? "the tenant");
|
|
322
|
+
if (output.aggregate) {
|
|
323
|
+
const groups = output.aggregate.groups;
|
|
324
|
+
const detail = groups.length === 1
|
|
325
|
+
? `${groups[0].value}`
|
|
326
|
+
: `${groups.length} group${groups.length === 1 ? "" : "s"}`;
|
|
327
|
+
return [
|
|
328
|
+
`${output.aggregate.function} of ${output.aggregate.field} for ${output.metric.canonical}, grouped by ${output.aggregate.group_by}, for ${scope}: ${detail}.`,
|
|
329
|
+
`Environment: ${output.environment}; tenant: ${output.tenant_id}.`,
|
|
330
|
+
].join("\n");
|
|
331
|
+
}
|
|
236
332
|
return [
|
|
237
333
|
`Returned ${output.count} ${output.metric.canonical} metric value${output.count === 1 ? "" : "s"} for ${scope}.`,
|
|
238
334
|
`Environment: ${output.environment}; tenant: ${output.tenant_id}; order: ${output.order}.`,
|
|
@@ -275,8 +371,16 @@ export function createDataworksMcpServer(handler = (input, options) => queryMetr
|
|
|
275
371
|
try {
|
|
276
372
|
const output = structuredOutput(await handler({
|
|
277
373
|
athleteId: input.athlete_id,
|
|
374
|
+
athleteIds: input.athlete_ids,
|
|
278
375
|
athleteName: input.athlete_name,
|
|
376
|
+
eventIds: input.event_ids,
|
|
279
377
|
metric: input.metric,
|
|
378
|
+
minValue: input.min_value,
|
|
379
|
+
maxValue: input.max_value,
|
|
380
|
+
orderBy: input.order_by,
|
|
381
|
+
aggregate: input.aggregate,
|
|
382
|
+
aggregateField: input.aggregate_field,
|
|
383
|
+
groupBy: input.group_by,
|
|
280
384
|
metricCategory: input.metric_category,
|
|
281
385
|
limit: input.limit,
|
|
282
386
|
order: input.order,
|
|
@@ -355,9 +459,10 @@ export function createDataworksMcpServer(handler = (input, options) => queryMetr
|
|
|
355
459
|
server.registerTool("list_events", {
|
|
356
460
|
title: "List events",
|
|
357
461
|
description: "List events in the authorized tenant, optionally filtered by name or ID. Use this to find an event_id for a " +
|
|
358
|
-
"race before calling query_metrics
|
|
359
|
-
"
|
|
360
|
-
"
|
|
462
|
+
"race before calling query_metrics, rather than inferring one from an ID prefix or naming pattern. " +
|
|
463
|
+
"The events API currently returns nothing on this deployment, so results usually come from each dataset's " +
|
|
464
|
+
"event relation; `source` says which route was used. If `unavailable` is true neither route yielded an event, " +
|
|
465
|
+
"which is a backend problem rather than proof that no events exist — report it instead of guessing. Read-only.",
|
|
361
466
|
inputSchema: discoverySchema,
|
|
362
467
|
annotations: {
|
|
363
468
|
readOnlyHint: true,
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -11719,5 +11719,5 @@
|
|
|
11719
11719
|
]
|
|
11720
11720
|
}
|
|
11721
11721
|
},
|
|
11722
|
-
"version": "1.
|
|
11722
|
+
"version": "1.6.0"
|
|
11723
11723
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dataworks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Query athlete metrics from Dataworks using the authenticated local CLI session.",
|
|
5
5
|
"author": { "name": "Dataworks Technology" },
|
|
6
6
|
"homepage": "https://github.com/Dataworks-Technology/Dataworks-CLI",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dataworks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Query athlete metrics from Dataworks using the authenticated local CLI session.",
|
|
5
5
|
"author": { "name": "Dataworks Technology", "url": "https://dataworks.live/" },
|
|
6
6
|
"homepage": "https://github.com/Dataworks-Technology/Dataworks-CLI",
|
|
@@ -9,7 +9,7 @@ Three read-only tools use the current authenticated `dw` session and tenant:
|
|
|
9
9
|
|
|
10
10
|
- `query_metrics` — metric values, scoped to an athlete, an event, or a datasource.
|
|
11
11
|
- `list_athletes` — find an athlete ID, or confirm someone is not in this tenant.
|
|
12
|
-
- `list_events` — find an event ID for a race.
|
|
12
|
+
- `list_events` — find an event ID for a race, by name.
|
|
13
13
|
|
|
14
14
|
If `query_metrics` is unavailable, tell the user to run `dw agents install`
|
|
15
15
|
once in their terminal, then start a new Codex thread or run `/reload-plugins`
|
|
@@ -25,6 +25,10 @@ in Claude Code. Do not substitute raw GraphQL or guess that setup succeeded.
|
|
|
25
25
|
- For a question about a race or feed — "the latest heart rate at T100 San
|
|
26
26
|
Francisco" — omit the athlete entirely and pass `event_id`. Do not invent an
|
|
27
27
|
athlete to satisfy the call. Rows still carry `athlete_id` per value.
|
|
28
|
+
- To compare people, pass `athlete_ids` rather than one query each; combined
|
|
29
|
+
with `aggregate` it returns one value per athlete. Use `event_ids` likewise to
|
|
30
|
+
span a series of races. Resolve names to IDs with `list_athletes` first, and
|
|
31
|
+
note an athlete with no data simply has no rows rather than an error.
|
|
28
32
|
- Map the user's wording onto a canonical metric name from the catalogue below.
|
|
29
33
|
Case, spaces, hyphens and underscores are ignored, so "Heart Rate" resolves to
|
|
30
34
|
`heartrate`. Do not invent a metric name.
|
|
@@ -36,6 +40,19 @@ in Claude Code. Do not substitute raw GraphQL or guess that setup succeeded.
|
|
|
36
40
|
pattern, or a row count is a guess: say you could not resolve it instead.
|
|
37
41
|
- For a genuinely custom metric absent from the catalogue, pass its exact name
|
|
38
42
|
and an explicit `metric_category`.
|
|
43
|
+
- Rows carry every column the metric's category provides. Heart rate and power
|
|
44
|
+
add rolling `max`, `min`, `avg` and a seven-zone breakdown, all under `extra`
|
|
45
|
+
on each row — read zones from there rather than computing them.
|
|
46
|
+
- To find high or low readings, pass `min_value` or `max_value` rather than
|
|
47
|
+
fetching everything and filtering; the server applies the bound.
|
|
48
|
+
- To rank by value rather than recency, pass `order_by: "current"`. It defaults
|
|
49
|
+
to `timestamp`, and `order` controls the direction either way.
|
|
50
|
+
- For a maximum, minimum, average, sum, or count, pass `aggregate` instead of
|
|
51
|
+
fetching rows and computing it yourself. The server aggregates over every
|
|
52
|
+
matching sample; taking a maximum over returned rows only covers the rows
|
|
53
|
+
`limit` allowed through. Results arrive in `aggregate.groups` and `rows` is
|
|
54
|
+
empty. `group_by` defaults to `athletepublicid`, so an event-scoped aggregate
|
|
55
|
+
returns one value per athlete; pass `eventpublicid` for one value per event.
|
|
39
56
|
|
|
40
57
|
## Metric catalogue
|
|
41
58
|
|
|
@@ -68,6 +85,17 @@ Haigh"`, `metric: "GPS"`, `limit: 30`, `order: "newest"`.
|
|
|
68
85
|
- “Latest 10 heart rate values for T100 San Francisco” → `list_events` with
|
|
69
86
|
`search: "T100 San Francisco"` to get the ID, then `query_metrics` with
|
|
70
87
|
`event_id: <that ID>`, `metric: "heartrate"`, `limit: 10`, and no athlete.
|
|
88
|
+
- “Hayden Wilde's maximum heart rate” → `query_metrics` with
|
|
89
|
+
`athlete_name: "Hayden Wilde"`, `metric: "heartrate"`, `aggregate: "max"`.
|
|
90
|
+
Read the answer from `aggregate.groups`; do not fetch rows and compare them.
|
|
91
|
+
- “When was Sam above 180bpm?” → `metric: "heartrate"`, `min_value: 180`.
|
|
92
|
+
- “Sam's highest heart rate readings” → `metric: "heartrate"`,
|
|
93
|
+
`order_by: "current"`, which ranks by value instead of recency.
|
|
94
|
+
- “Sam's heart rate zones” → an ordinary query; read `extra.z1_percentage`
|
|
95
|
+
through `extra.z7_percentage` from any returned row.
|
|
96
|
+
- “Compare Hayden and Sam's peak heart rate” → `list_athletes` for both IDs,
|
|
97
|
+
then one call with `athlete_ids: [<both>]`, `metric: "heartrate"`,
|
|
98
|
+
`aggregate: "max"`; each athlete appears once in `aggregate.groups`.
|
|
71
99
|
|
|
72
100
|
## Handle results
|
|
73
101
|
|
|
@@ -86,9 +114,10 @@ never fall back to raw GraphQL or `dw data ...` to work around a failure.
|
|
|
86
114
|
`dataset_datasource_id`.
|
|
87
115
|
- `METRIC_CATEGORY_REQUIRED` — retry with one of the returned `suggestions`.
|
|
88
116
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
117
|
+
`list_events` reports where its results came from in `source`: the events API,
|
|
118
|
+
or each dataset's event relation. Either is authoritative. Only when
|
|
119
|
+
`unavailable: true` did both routes yield nothing — report that and stop rather
|
|
120
|
+
than identifying an event some other way. For `AUTH_REQUIRED` or `TENANT_REQUIRED`, follow the recovery command
|
|
92
121
|
in the error and retry. For `METRIC_CATEGORY_REQUIRED`, the error's `suggestions`
|
|
93
122
|
list the closest canonical names — retry with one rather than asking the user to
|
|
94
123
|
spell the metric. Never expose credentials or session material.
|