@dataworks-technology/cli 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -6
- package/bin/postinstall.js +21 -1
- package/dist/commands/agents/install.d.ts +1 -0
- package/dist/commands/agents/install.d.ts.map +1 -1
- package/dist/commands/agents/install.js +14 -4
- package/dist/commands/agents/install.js.map +1 -1
- package/dist/generated/metrics.d.ts +15 -0
- package/dist/generated/metrics.d.ts.map +1 -0
- package/dist/generated/metrics.js +131 -0
- package/dist/generated/metrics.js.map +1 -0
- package/dist/lib/agent-install.d.ts +23 -0
- package/dist/lib/agent-install.d.ts.map +1 -1
- package/dist/lib/agent-install.js +51 -3
- package/dist/lib/agent-install.js.map +1 -1
- package/dist/lib/agent-reminder.d.ts +24 -2
- package/dist/lib/agent-reminder.d.ts.map +1 -1
- package/dist/lib/agent-reminder.js +56 -10
- package/dist/lib/agent-reminder.js.map +1 -1
- package/dist/lib/command.js +1 -1
- package/dist/lib/command.js.map +1 -1
- package/dist/lib/metric-names.d.ts +29 -0
- package/dist/lib/metric-names.d.ts.map +1 -0
- package/dist/lib/metric-names.js +171 -0
- package/dist/lib/metric-names.js.map +1 -0
- package/dist/lib/query-metrics.d.ts +2 -1
- package/dist/lib/query-metrics.d.ts.map +1 -1
- package/dist/lib/query-metrics.js +9 -18
- package/dist/lib/query-metrics.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +16 -3
- package/dist/mcp/server.js.map +1 -1
- package/oclif.manifest.json +11 -1
- package/package.json +8 -5
- package/plugins/dataworks/.claude-plugin/plugin.json +3 -10
- package/plugins/dataworks/.codex-plugin/plugin.json +4 -14
- package/plugins/dataworks/skills/query-dataworks-metrics/SKILL.md +30 -8
package/README.md
CHANGED
|
@@ -40,6 +40,12 @@ The `dw` binary turns the public GraphQL contract published by `@dataworks-techn
|
|
|
40
40
|
- [Node.js](https://nodejs.org/) 22 or newer to run the published CLI
|
|
41
41
|
- A Dataworks account
|
|
42
42
|
- [Bun](https://bun.sh/) for repository development
|
|
43
|
+
- For repository development only: AWS credentials with CodeArtifact read access.
|
|
44
|
+
`bun install` runs a `preinstall` hook that fetches a token for the private
|
|
45
|
+
`@dataworks/sdk` devDependency, which supplies the metric catalogue. Use
|
|
46
|
+
`AWS_PROFILE=your-profile-name bun install` for a non-default profile, and
|
|
47
|
+
`bun run sdk` to refresh an expired token. Installing the published CLI needs
|
|
48
|
+
none of this.
|
|
43
49
|
|
|
44
50
|
---
|
|
45
51
|
|
|
@@ -127,10 +133,15 @@ after installing a release that adds commands.
|
|
|
127
133
|
|
|
128
134
|
The package includes a focused, read-only MCP server with one tool:
|
|
129
135
|
`query_metrics`. It uses the same OS-backed login session and selected tenant as
|
|
130
|
-
`dw`, resolves an athlete by exact ID or unique name,
|
|
131
|
-
|
|
132
|
-
rows. GPS values include decoded
|
|
133
|
-
numeric BPM when valid.
|
|
136
|
+
`dw`, resolves an athlete by exact ID or unique name, resolves metric names
|
|
137
|
+
against the canonical Dataworks catalogue, polls asynchronous Data Explorer
|
|
138
|
+
queries, and returns normalized structured rows. GPS values include decoded
|
|
139
|
+
latitude and longitude; heart-rate values use numeric BPM when valid.
|
|
140
|
+
|
|
141
|
+
Metric wording is matched case-, space-, hyphen- and underscore-insensitively,
|
|
142
|
+
so “Heart Rate” resolves to `heartrate`, alongside aliases such as `gps`, `hr`,
|
|
143
|
+
and `watts`. An unrecognized name returns the closest canonical candidates
|
|
144
|
+
rather than a bare rejection.
|
|
134
145
|
|
|
135
146
|
The simplest setup for Codex and Claude Code is:
|
|
136
147
|
|
|
@@ -143,6 +154,28 @@ Dataworks plugin for each detected client and reports the reload or restart step
|
|
|
143
154
|
If an old marketplace registration points to a different CLI installation, rerun
|
|
144
155
|
with `--force`.
|
|
145
156
|
|
|
157
|
+
### Keeping the plugin current
|
|
158
|
+
|
|
159
|
+
Agent clients copy the plugin into a version-pinned directory rather than reading
|
|
160
|
+
the installed npm package, so upgrading the CLI does not by itself update the
|
|
161
|
+
skill an agent loads. The MCP server does move with the CLI, because it is
|
|
162
|
+
launched as `dw-mcp` from `PATH` — leaving a new server driven by an older skill
|
|
163
|
+
until the plugin is refreshed.
|
|
164
|
+
|
|
165
|
+
Global installs and upgrades refresh it automatically: the postinstall hook runs
|
|
166
|
+
`dw agents install --refresh`, which updates only clients that already have
|
|
167
|
+
Dataworks and configures nothing new. Reload the client afterwards with
|
|
168
|
+
`/reload-plugins` in Claude Code, or a new Codex thread.
|
|
169
|
+
|
|
170
|
+
When that cannot run — an install with `--ignore-scripts`, or a CLI reinstalled
|
|
171
|
+
under a different Node version — `dw` prints a reminder at most once a day
|
|
172
|
+
telling you the plugin is behind, and naming both steps needed to fix it.
|
|
173
|
+
Refresh with `dw agents install`, adding `--force` if the marketplace still
|
|
174
|
+
points at the previous installation, then reload the client.
|
|
175
|
+
|
|
176
|
+
Reloading matters either way: a client already running keeps the plugin copy it
|
|
177
|
+
loaded at start-up, so refreshing alone changes nothing in the current session.
|
|
178
|
+
|
|
146
179
|
Successful setup automatically disables the periodic CLI reminder. To opt out
|
|
147
180
|
without installing an agent integration, run `dw agents reminder disable`.
|
|
148
181
|
|
|
@@ -275,6 +308,7 @@ an array; default table output performs that decoding for humans.
|
|
|
275
308
|
| Command | Description |
|
|
276
309
|
| ------------------------------- | ------------------------------------------------------------------- |
|
|
277
310
|
| `bun install --frozen-lockfile` | Install development dependencies |
|
|
311
|
+
| `bun run sdk` | Refresh the CodeArtifact token used to fetch `@dataworks/sdk` |
|
|
278
312
|
| `bun run dev --help` | Run the TypeScript development CLI |
|
|
279
313
|
| `bun run generate` | Regenerate schema-derived commands and Markdown |
|
|
280
314
|
| `bun run generate:check` | Verify generated files are current |
|
|
@@ -292,9 +326,11 @@ The Data Engine SDK publishes a filtered public GraphQL schema and a versioned c
|
|
|
292
326
|
|
|
293
327
|
Files under `src/generated/`, `src/commands/data/`, and `docs/commands/` are generated. Change [`schema/operation-overrides.json`](./schema/operation-overrides.json), [`scripts/generate-commands.ts`](./scripts/generate-commands.ts), or the upstream public schema instead of editing generated files.
|
|
294
328
|
|
|
295
|
-
|
|
329
|
+
Canonical metric names are generated the same way. [`scripts/generate-metrics.ts`](./scripts/generate-metrics.ts) reads `metricConfig` from the private `@dataworks/sdk` devDependency and emits `src/generated/metrics.ts` and the catalogue block in the `query-dataworks-metrics` skill. To add a metric, change the SDK — not the generated files, and not the alias layer in `src/lib/metric-names.ts`.
|
|
330
|
+
|
|
331
|
+
The daily SDK maintenance workflow checks for new `@dataworks-technology/data` and `@dataworks/sdk` versions. Deterministic generation runs first; if compatibility work is required, a constrained LiteLLM maintenance agent prepares a draft pull request for human review.
|
|
296
332
|
|
|
297
|
-
See [architecture](./docs/architecture.md), [automated SDK maintenance](./docs/maintenance.md), [security](./docs/security.md), and [releasing](./docs/releasing.md) for details.
|
|
333
|
+
See [architecture](./docs/architecture.md), [contributing](./docs/contributing.md), [automated SDK maintenance](./docs/maintenance.md), [security](./docs/security.md), and [releasing](./docs/releasing.md) for details.
|
|
298
334
|
|
|
299
335
|
---
|
|
300
336
|
|
package/bin/postinstall.js
CHANGED
|
@@ -17,7 +17,27 @@ if (
|
|
|
17
17
|
"Dataworks CLI installed, but Bash autocomplete setup could not be prepared. Run `dw autocomplete bash` to retry.\n",
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
// Agent clients copy the plugin into a version-pinned directory instead of
|
|
22
|
+
// reading this package, so an upgrade leaves them on the previous skill while
|
|
23
|
+
// the MCP server moves forward with the CLI. Refresh clients that already have
|
|
24
|
+
// Dataworks; --refresh configures nothing new, so this cannot opt anyone in.
|
|
25
|
+
const refresh = spawnSync(
|
|
26
|
+
process.execPath,
|
|
27
|
+
[runPath, "agents", "install", "--refresh", "--json"],
|
|
28
|
+
{ stdio: ["ignore", "pipe", "pipe"], encoding: "utf8" },
|
|
29
|
+
);
|
|
30
|
+
if (refresh.error || refresh.status !== 0) {
|
|
31
|
+
process.stderr.write(
|
|
32
|
+
"Dataworks CLI installed, but the agent plugin could not be refreshed automatically. Run `dw agents install` to update it.\n",
|
|
33
|
+
);
|
|
34
|
+
} else if ((refresh.stdout ?? "").includes('"status"')) {
|
|
35
|
+
process.stdout.write(
|
|
36
|
+
"Refreshed the Dataworks agent plugin. Run `/reload-plugins` in Claude Code, or start a new Codex thread.\n",
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
20
40
|
process.stdout.write(
|
|
21
|
-
"To use Dataworks from Codex or Claude Code, run `dw agents install
|
|
41
|
+
"To use Dataworks from Codex or Claude Code, run `dw agents install`. Rerun it after upgrading if the plugin is not refreshed automatically.\n",
|
|
22
42
|
);
|
|
23
43
|
}
|
|
@@ -10,6 +10,7 @@ export default class AgentsInstall extends DataworksCommand {
|
|
|
10
10
|
};
|
|
11
11
|
static flags: {
|
|
12
12
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
refresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
14
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
15
|
};
|
|
15
16
|
run(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/agents/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/agents/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAUxD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,gBAAgB;IACzD,OAAgB,WAAW,SAC2D;IACtF,OAAgB,QAAQ;;;QAqBtB;IACF,OAAgB,IAAI;;MAMlB;IACF,OAAgB,KAAK;;;;MASnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiClC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Args, Flags } from "@oclif/core";
|
|
2
2
|
import { DataworksCommand } from "../../lib/command.js";
|
|
3
|
-
import { installAgentIntegration, supportedAgentClients, } from "../../lib/agent-install.js";
|
|
3
|
+
import { installAgentIntegration, refreshAgentIntegrations, supportedAgentClients, } from "../../lib/agent-install.js";
|
|
4
4
|
import { writeResult } from "../../lib/output.js";
|
|
5
5
|
import { configureAgentReminder } from "../../lib/agent-reminder.js";
|
|
6
6
|
export default class AgentsInstall extends DataworksCommand {
|
|
@@ -22,6 +22,10 @@ export default class AgentsInstall extends DataworksCommand {
|
|
|
22
22
|
description: "Replace a stale Dataworks marketplace registration",
|
|
23
23
|
command: "dw agents install codex --force",
|
|
24
24
|
},
|
|
25
|
+
{
|
|
26
|
+
description: "Update clients that already have Dataworks, and skip the rest",
|
|
27
|
+
command: "dw agents install --refresh",
|
|
28
|
+
},
|
|
25
29
|
];
|
|
26
30
|
static args = {
|
|
27
31
|
client: Args.string({
|
|
@@ -34,14 +38,19 @@ export default class AgentsInstall extends DataworksCommand {
|
|
|
34
38
|
force: Flags.boolean({
|
|
35
39
|
description: "Replace an existing Dataworks marketplace registration",
|
|
36
40
|
}),
|
|
41
|
+
refresh: Flags.boolean({
|
|
42
|
+
description: "Only update clients that already have Dataworks installed; configure nothing new",
|
|
43
|
+
}),
|
|
37
44
|
json: Flags.boolean({ description: "Emit stable JSON output" }),
|
|
38
45
|
};
|
|
39
46
|
async run() {
|
|
40
47
|
const { args, flags } = await this.parse(AgentsInstall);
|
|
41
48
|
const clients = args.client ? [args.client] : supportedAgentClients;
|
|
42
|
-
const results =
|
|
49
|
+
const results = flags.refresh
|
|
50
|
+
? refreshAgentIntegrations({ force: flags.force }).filter(({ client }) => clients.includes(client))
|
|
51
|
+
: clients.map((client) => installAgentIntegration(client, { force: flags.force }));
|
|
43
52
|
if (results.some(({ status }) => status === "installed" || status === "updated")) {
|
|
44
|
-
await configureAgentReminder("configured");
|
|
53
|
+
await configureAgentReminder("configured", this.config.version);
|
|
45
54
|
}
|
|
46
55
|
writeResult({ integrations: results }, {
|
|
47
56
|
json: flags.json,
|
|
@@ -49,7 +58,8 @@ export default class AgentsInstall extends DataworksCommand {
|
|
|
49
58
|
restartRequired: results.some(({ status }) => status === "installed" || status === "updated"),
|
|
50
59
|
},
|
|
51
60
|
});
|
|
52
|
-
if (results.
|
|
61
|
+
if (results.length > 0 &&
|
|
62
|
+
results.every(({ status }) => status === "unavailable" || status === "failed")) {
|
|
53
63
|
process.exitCode = 1;
|
|
54
64
|
}
|
|
55
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/agents/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,gBAAgB;IACzD,MAAM,CAAU,WAAW,GACzB,mFAAmF,CAAC;IACtF,MAAM,CAAU,QAAQ,GAAG;QACzB;YACE,WAAW,EAAE,2DAA2D;YACxE,OAAO,EAAE,mBAAmB;SAC7B;QACD;YACE,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,yBAAyB;SACnC;QACD;YACE,WAAW,EAAE,yBAAyB;YACtC,OAAO,EAAE,+BAA+B;SACzC;QACD;YACE,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,iCAAiC;SAC3C;KACF,CAAC;IACF,MAAM,CAAU,IAAI,GAAG;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,8DAA8D;YAC3E,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;YACjC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IACF,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,wDAAwD;SACtE,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;KAChE,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACnF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/agents/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Metric categories accepted by the Data Explorer API. */
|
|
2
|
+
export type MetricCategory = "METRICS_TYPE_A" | "METRICS_TYPE_B" | "METRICS_TYPE_C";
|
|
3
|
+
/** Canonical metric names, grouped by Data Explorer category. */
|
|
4
|
+
export declare const metricCategories: {
|
|
5
|
+
METRICS_TYPE_A: string[];
|
|
6
|
+
METRICS_TYPE_B: string[];
|
|
7
|
+
METRICS_TYPE_C: string[];
|
|
8
|
+
};
|
|
9
|
+
/** Human-readable label per canonical metric name. */
|
|
10
|
+
export declare const metricLabels: Record<string, string>;
|
|
11
|
+
/** Every canonical metric name, in catalogue order. */
|
|
12
|
+
export declare const allMetricNames: readonly string[];
|
|
13
|
+
/** Category lookup for a canonical metric name. */
|
|
14
|
+
export declare const metricCategoryByName: Record<string, MetricCategory>;
|
|
15
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// Generated by scripts/generate-metrics.ts from @dataworks/sdk@3.5.0. Do not edit.
|
|
2
|
+
// Canonical source: Dataworks-SDK/src/shared/metricConfig.ts
|
|
3
|
+
/** Canonical metric names, grouped by Data Explorer category. */
|
|
4
|
+
export const metricCategories = {
|
|
5
|
+
"METRICS_TYPE_A": [
|
|
6
|
+
"latlong",
|
|
7
|
+
"net-time",
|
|
8
|
+
"checkpoint-time",
|
|
9
|
+
"leg-time",
|
|
10
|
+
"sub-time",
|
|
11
|
+
"checkpoint",
|
|
12
|
+
"segment",
|
|
13
|
+
"distance",
|
|
14
|
+
"distance-swim",
|
|
15
|
+
"distance-bike",
|
|
16
|
+
"distance-run",
|
|
17
|
+
"lap",
|
|
18
|
+
"sector",
|
|
19
|
+
"status",
|
|
20
|
+
"is-drafting",
|
|
21
|
+
"total-drafting-seconds",
|
|
22
|
+
"heading-degrees",
|
|
23
|
+
"yoyo-count"
|
|
24
|
+
],
|
|
25
|
+
"METRICS_TYPE_B": [
|
|
26
|
+
"speed",
|
|
27
|
+
"location-speed",
|
|
28
|
+
"altitude",
|
|
29
|
+
"cadence-cycling",
|
|
30
|
+
"cadence",
|
|
31
|
+
"active-energy-burned",
|
|
32
|
+
"horizontal-accuracy",
|
|
33
|
+
"gap-to-leader",
|
|
34
|
+
"gap-to-ahead",
|
|
35
|
+
"time-to-leader",
|
|
36
|
+
"rank",
|
|
37
|
+
"speed-bike",
|
|
38
|
+
"pace",
|
|
39
|
+
"pace-swim",
|
|
40
|
+
"pace-run"
|
|
41
|
+
],
|
|
42
|
+
"METRICS_TYPE_C": [
|
|
43
|
+
"heartrate",
|
|
44
|
+
"power",
|
|
45
|
+
"power-cycling",
|
|
46
|
+
"pwr_instant"
|
|
47
|
+
]
|
|
48
|
+
};
|
|
49
|
+
/** Human-readable label per canonical metric name. */
|
|
50
|
+
export const metricLabels = {
|
|
51
|
+
"latlong": "GPS",
|
|
52
|
+
"net-time": "Net Time (s)",
|
|
53
|
+
"checkpoint-time": "Checkpoint Time (s)",
|
|
54
|
+
"leg-time": "Leg Time (s)",
|
|
55
|
+
"sub-time": "Sub Time (s)",
|
|
56
|
+
"checkpoint": "Checkpoint",
|
|
57
|
+
"segment": "Segment",
|
|
58
|
+
"distance": "Distance (km)",
|
|
59
|
+
"distance-swim": "Swim Distance (km)",
|
|
60
|
+
"distance-bike": "Bike Distance (km)",
|
|
61
|
+
"distance-run": "Run Distance (km)",
|
|
62
|
+
"lap": "Lap",
|
|
63
|
+
"sector": "Sector",
|
|
64
|
+
"status": "Status",
|
|
65
|
+
"is-drafting": "is-drafting",
|
|
66
|
+
"total-drafting-seconds": "total-drafting-seconds",
|
|
67
|
+
"heading-degrees": "heading-degrees",
|
|
68
|
+
"yoyo-count": "yoyo-count",
|
|
69
|
+
"speed": "Speed (km/h)",
|
|
70
|
+
"location-speed": "Location Speed",
|
|
71
|
+
"altitude": "Altitude",
|
|
72
|
+
"cadence-cycling": "Cadence (Cycling)",
|
|
73
|
+
"cadence": "Cadence",
|
|
74
|
+
"active-energy-burned": "Active Energy Burned",
|
|
75
|
+
"horizontal-accuracy": "Horizontal Accuracy",
|
|
76
|
+
"gap-to-leader": "gap-to-leader",
|
|
77
|
+
"gap-to-ahead": "gap-to-ahead",
|
|
78
|
+
"time-to-leader": "Time to Leader (s)",
|
|
79
|
+
"rank": "Rank",
|
|
80
|
+
"speed-bike": "Bike Speed (km/h)",
|
|
81
|
+
"pace": "Pace (sec/km)",
|
|
82
|
+
"pace-swim": "Swim Pace (sec/km)",
|
|
83
|
+
"pace-run": "Run Pace (sec/km)",
|
|
84
|
+
"heartrate": "Heart Rate",
|
|
85
|
+
"power": "Power",
|
|
86
|
+
"power-cycling": "Power (Cycling)",
|
|
87
|
+
"pwr_instant": "Power Instant"
|
|
88
|
+
};
|
|
89
|
+
/** Every canonical metric name, in catalogue order. */
|
|
90
|
+
export const allMetricNames = Object.values(metricCategories).flat();
|
|
91
|
+
/** Category lookup for a canonical metric name. */
|
|
92
|
+
export const metricCategoryByName = {
|
|
93
|
+
"latlong": "METRICS_TYPE_A",
|
|
94
|
+
"net-time": "METRICS_TYPE_A",
|
|
95
|
+
"checkpoint-time": "METRICS_TYPE_A",
|
|
96
|
+
"leg-time": "METRICS_TYPE_A",
|
|
97
|
+
"sub-time": "METRICS_TYPE_A",
|
|
98
|
+
"checkpoint": "METRICS_TYPE_A",
|
|
99
|
+
"segment": "METRICS_TYPE_A",
|
|
100
|
+
"distance": "METRICS_TYPE_A",
|
|
101
|
+
"distance-swim": "METRICS_TYPE_A",
|
|
102
|
+
"distance-bike": "METRICS_TYPE_A",
|
|
103
|
+
"distance-run": "METRICS_TYPE_A",
|
|
104
|
+
"lap": "METRICS_TYPE_A",
|
|
105
|
+
"sector": "METRICS_TYPE_A",
|
|
106
|
+
"status": "METRICS_TYPE_A",
|
|
107
|
+
"is-drafting": "METRICS_TYPE_A",
|
|
108
|
+
"total-drafting-seconds": "METRICS_TYPE_A",
|
|
109
|
+
"heading-degrees": "METRICS_TYPE_A",
|
|
110
|
+
"yoyo-count": "METRICS_TYPE_A",
|
|
111
|
+
"speed": "METRICS_TYPE_B",
|
|
112
|
+
"location-speed": "METRICS_TYPE_B",
|
|
113
|
+
"altitude": "METRICS_TYPE_B",
|
|
114
|
+
"cadence-cycling": "METRICS_TYPE_B",
|
|
115
|
+
"cadence": "METRICS_TYPE_B",
|
|
116
|
+
"active-energy-burned": "METRICS_TYPE_B",
|
|
117
|
+
"horizontal-accuracy": "METRICS_TYPE_B",
|
|
118
|
+
"gap-to-leader": "METRICS_TYPE_B",
|
|
119
|
+
"gap-to-ahead": "METRICS_TYPE_B",
|
|
120
|
+
"time-to-leader": "METRICS_TYPE_B",
|
|
121
|
+
"rank": "METRICS_TYPE_B",
|
|
122
|
+
"speed-bike": "METRICS_TYPE_B",
|
|
123
|
+
"pace": "METRICS_TYPE_B",
|
|
124
|
+
"pace-swim": "METRICS_TYPE_B",
|
|
125
|
+
"pace-run": "METRICS_TYPE_B",
|
|
126
|
+
"heartrate": "METRICS_TYPE_C",
|
|
127
|
+
"power": "METRICS_TYPE_C",
|
|
128
|
+
"power-cycling": "METRICS_TYPE_C",
|
|
129
|
+
"pwr_instant": "METRICS_TYPE_C"
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/generated/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ export interface AgentInstallResult {
|
|
|
5
5
|
status: AgentInstallStatus;
|
|
6
6
|
message: string;
|
|
7
7
|
nextStep: string;
|
|
8
|
+
/**
|
|
9
|
+
* Set when the failure is a marketplace registration pointing somewhere else,
|
|
10
|
+
* so a caller can retry with force instead of matching on message text.
|
|
11
|
+
*/
|
|
12
|
+
reason?: "stale-marketplace";
|
|
8
13
|
}
|
|
9
14
|
export interface ProcessResult {
|
|
10
15
|
status: number | null;
|
|
@@ -21,4 +26,22 @@ export interface AgentInstallOptions {
|
|
|
21
26
|
export declare const supportedAgentClients: readonly AgentClient[];
|
|
22
27
|
export declare function dataworksPackageRoot(): string;
|
|
23
28
|
export declare function installAgentIntegration(client: AgentClient, options?: AgentInstallOptions): AgentInstallResult;
|
|
29
|
+
export interface AgentIntegrationState {
|
|
30
|
+
client: AgentClient;
|
|
31
|
+
installed: boolean;
|
|
32
|
+
/** Plugin version the client currently has, when it reports one. */
|
|
33
|
+
version?: string;
|
|
34
|
+
}
|
|
35
|
+
/** Report whether a client already has the Dataworks plugin, without changing anything. */
|
|
36
|
+
export declare function agentIntegrationState(client: AgentClient, options?: AgentInstallOptions): AgentIntegrationState;
|
|
37
|
+
/**
|
|
38
|
+
* Reinstall the plugin for every client that already has it, and leave clients
|
|
39
|
+
* that never opted in untouched.
|
|
40
|
+
*
|
|
41
|
+
* Agent clients copy the plugin into a version-pinned directory rather than
|
|
42
|
+
* reading the npm package, so upgrading the CLI leaves them on the previous
|
|
43
|
+
* skill while the MCP server — resolved as `dw-mcp` on PATH — moves forward.
|
|
44
|
+
* The npm postinstall hook calls this so that split cannot happen silently.
|
|
45
|
+
*/
|
|
46
|
+
export declare function refreshAgentIntegrations(options?: AgentInstallOptions): AgentInstallResult[];
|
|
24
47
|
//# sourceMappingURL=agent-install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-install.d.ts","sourceRoot":"","sources":["../../src/lib/agent-install.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-install.d.ts","sourceRoot":"","sources":["../../src/lib/agent-install.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,aAAa,CAAC;AAExF,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AAKD,eAAO,MAAM,qBAAqB,EAAE,SAAS,WAAW,EAA6B,CAAC;AAEtF,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAmQD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAUpB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,mBAAwB,GAChC,qBAAqB,CAcvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,EAAE,CAatB"}
|
|
@@ -58,13 +58,13 @@ function claudeMarketplace(payload) {
|
|
|
58
58
|
root: entry?.path ?? entry?.installLocation,
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
function
|
|
61
|
+
function findPluginEntry(client, payload) {
|
|
62
62
|
const entries = client === "codex" && payload && typeof payload === "object"
|
|
63
63
|
? payload.installed
|
|
64
64
|
: payload;
|
|
65
65
|
if (!Array.isArray(entries))
|
|
66
|
-
return
|
|
67
|
-
return entries.
|
|
66
|
+
return undefined;
|
|
67
|
+
return entries.find((entry) => {
|
|
68
68
|
if (!entry || typeof entry !== "object")
|
|
69
69
|
return false;
|
|
70
70
|
const item = entry;
|
|
@@ -75,6 +75,9 @@ function pluginIsInstalled(client, payload) {
|
|
|
75
75
|
item.marketplaceName === marketplaceName)));
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
+
function pluginIsInstalled(client, payload) {
|
|
79
|
+
return findPluginEntry(client, payload) !== undefined;
|
|
80
|
+
}
|
|
78
81
|
function unavailable(client) {
|
|
79
82
|
const binary = executable(client);
|
|
80
83
|
return {
|
|
@@ -105,6 +108,7 @@ function installCodex(options) {
|
|
|
105
108
|
return {
|
|
106
109
|
client: "codex",
|
|
107
110
|
status: "failed",
|
|
111
|
+
reason: "stale-marketplace",
|
|
108
112
|
message: `The ${marketplaceName} marketplace already points to ${currentRoot}.`,
|
|
109
113
|
nextStep: "Run `dw agents install codex --force` to replace the stale marketplace registration.",
|
|
110
114
|
};
|
|
@@ -151,6 +155,7 @@ function installClaudeCode(options) {
|
|
|
151
155
|
return {
|
|
152
156
|
client: "claude-code",
|
|
153
157
|
status: "failed",
|
|
158
|
+
reason: "stale-marketplace",
|
|
154
159
|
message: `The ${marketplaceName} marketplace already points to ${currentRoot}.`,
|
|
155
160
|
nextStep: "Run `dw agents install claude-code --force` to replace the stale marketplace registration.",
|
|
156
161
|
};
|
|
@@ -193,4 +198,47 @@ export function installAgentIntegration(client, options = {}) {
|
|
|
193
198
|
return unavailable(client);
|
|
194
199
|
return client === "codex" ? installCodex(resolved) : installClaudeCode(resolved);
|
|
195
200
|
}
|
|
201
|
+
/** Report whether a client already has the Dataworks plugin, without changing anything. */
|
|
202
|
+
export function agentIntegrationState(client, options = {}) {
|
|
203
|
+
const run = options.run ?? defaultRunner;
|
|
204
|
+
const binary = executable(client);
|
|
205
|
+
const detected = run(binary, ["--version"]);
|
|
206
|
+
if (detected.status !== 0 || detected.error)
|
|
207
|
+
return { client, installed: false };
|
|
208
|
+
const list = run(binary, ["plugin", "list", "--json"]);
|
|
209
|
+
if (list.status !== 0)
|
|
210
|
+
return { client, installed: false };
|
|
211
|
+
const entry = findPluginEntry(client, parseJson(list.stdout));
|
|
212
|
+
if (!entry)
|
|
213
|
+
return { client, installed: false };
|
|
214
|
+
return {
|
|
215
|
+
client,
|
|
216
|
+
installed: true,
|
|
217
|
+
version: typeof entry.version === "string" ? entry.version : undefined,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Reinstall the plugin for every client that already has it, and leave clients
|
|
222
|
+
* that never opted in untouched.
|
|
223
|
+
*
|
|
224
|
+
* Agent clients copy the plugin into a version-pinned directory rather than
|
|
225
|
+
* reading the npm package, so upgrading the CLI leaves them on the previous
|
|
226
|
+
* skill while the MCP server — resolved as `dw-mcp` on PATH — moves forward.
|
|
227
|
+
* The npm postinstall hook calls this so that split cannot happen silently.
|
|
228
|
+
*/
|
|
229
|
+
export function refreshAgentIntegrations(options = {}) {
|
|
230
|
+
const results = [];
|
|
231
|
+
for (const client of supportedAgentClients) {
|
|
232
|
+
if (!agentIntegrationState(client, options).installed)
|
|
233
|
+
continue;
|
|
234
|
+
let result = installAgentIntegration(client, options);
|
|
235
|
+
// A CLI reinstalled under a different Node version lives at a new path, which
|
|
236
|
+
// is precisely the case a refresh must repair rather than report.
|
|
237
|
+
if (result.reason === "stale-marketplace") {
|
|
238
|
+
result = installAgentIntegration(client, { ...options, force: true });
|
|
239
|
+
}
|
|
240
|
+
results.push(result);
|
|
241
|
+
}
|
|
242
|
+
return results;
|
|
243
|
+
}
|
|
196
244
|
//# sourceMappingURL=agent-install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-install.js","sourceRoot":"","sources":["../../src/lib/agent-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-install.js","sourceRoot":"","sources":["../../src/lib/agent-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,14 @@ export interface AgentReminderPreferences {
|
|
|
2
2
|
disabled: boolean;
|
|
3
3
|
configured: boolean;
|
|
4
4
|
lastShownAt?: string;
|
|
5
|
+
/**
|
|
6
|
+
* CLI version in effect when the agent integration was last installed. Agent
|
|
7
|
+
* clients copy the plugin into a version-pinned directory, so upgrading the npm
|
|
8
|
+
* package leaves the skill they load behind until `dw agents install` runs
|
|
9
|
+
* again. Comparing this against the running version detects that without
|
|
10
|
+
* shelling out to every client on a hot path.
|
|
11
|
+
*/
|
|
12
|
+
configuredVersion?: string;
|
|
5
13
|
}
|
|
6
14
|
export interface AgentReminderContext {
|
|
7
15
|
argv: readonly string[];
|
|
@@ -12,6 +20,20 @@ export interface AgentReminderContext {
|
|
|
12
20
|
export declare function agentReminderPath(): string;
|
|
13
21
|
export declare function readAgentReminderPreferences(): Promise<AgentReminderPreferences>;
|
|
14
22
|
export declare function shouldShowAgentReminder(preferences: AgentReminderPreferences, context: AgentReminderContext): boolean;
|
|
15
|
-
|
|
16
|
-
|
|
23
|
+
/**
|
|
24
|
+
* The installed agent plugin is a copy taken at install time, so a CLI upgrade
|
|
25
|
+
* leaves agents reading the previous skill. `dw agents install` normally reruns
|
|
26
|
+
* itself from the npm postinstall hook; this covers the cases where it cannot,
|
|
27
|
+
* such as `--ignore-scripts` or a non-global install.
|
|
28
|
+
*/
|
|
29
|
+
export declare function shouldShowAgentUpgradeReminder(preferences: AgentReminderPreferences, context: AgentReminderContext, currentVersion: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Refreshing the plugin is only half the fix: a client that is already running
|
|
32
|
+
* keeps the copy it loaded at start-up, so the reminder has to name the reload
|
|
33
|
+
* step too. Otherwise a user reruns the install, sees no change, and concludes
|
|
34
|
+
* the refresh did not work.
|
|
35
|
+
*/
|
|
36
|
+
export declare function agentUpgradeReminderMessage(installedVersion: string, currentVersion: string): string;
|
|
37
|
+
export declare function maybeShowAgentReminder(argv: readonly string[], currentVersion?: string): Promise<void>;
|
|
38
|
+
export declare function configureAgentReminder(action: "disable" | "enable" | "configured", configuredVersion?: string): Promise<AgentReminderPreferences>;
|
|
17
39
|
//# sourceMappingURL=agent-reminder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-reminder.d.ts","sourceRoot":"","sources":["../../src/lib/agent-reminder.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-reminder.d.ts","sourceRoot":"","sources":["../../src/lib/agent-reminder.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAOD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAmBtF;AA2BD,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAGT;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,oBAAoB,EAC7B,cAAc,EAAE,MAAM,GACrB,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,GACrB,MAAM,CAOR;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,YAAY,EAC3C,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAUnC"}
|