rewind-mcp-server 0.9.0 → 0.11.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/__tests__/helpers/build-client.d.ts +2 -0
- package/dist/__tests__/helpers/build-client.js +24 -0
- package/dist/__tests__/helpers/build-client.js.map +1 -0
- package/dist/__tests__/helpers.test.js +11 -0
- package/dist/__tests__/helpers.test.js.map +1 -1
- package/dist/__tests__/image-block.live.js +1 -1
- package/dist/__tests__/image-block.live.js.map +1 -1
- package/dist/__tests__/manifest-snapshot.test.js +1 -0
- package/dist/__tests__/manifest-snapshot.test.js.map +1 -1
- package/dist/__tests__/output-schema-attending.test.d.ts +1 -0
- package/dist/__tests__/output-schema-attending.test.js +353 -0
- package/dist/__tests__/output-schema-attending.test.js.map +1 -0
- package/dist/__tests__/output-schema-collecting.test.d.ts +1 -0
- package/dist/__tests__/output-schema-collecting.test.js +155 -0
- package/dist/__tests__/output-schema-collecting.test.js.map +1 -0
- package/dist/__tests__/output-schema-cross-domain.test.d.ts +1 -0
- package/dist/__tests__/output-schema-cross-domain.test.js +142 -0
- package/dist/__tests__/output-schema-cross-domain.test.js.map +1 -0
- package/dist/__tests__/output-schema-listening.test.d.ts +1 -0
- package/dist/__tests__/output-schema-listening.test.js +235 -0
- package/dist/__tests__/output-schema-listening.test.js.map +1 -0
- package/dist/__tests__/output-schema-reading.test.d.ts +1 -0
- package/dist/__tests__/output-schema-reading.test.js +181 -0
- package/dist/__tests__/output-schema-reading.test.js.map +1 -0
- package/dist/__tests__/output-schema-running.test.d.ts +1 -0
- package/dist/__tests__/output-schema-running.test.js +185 -0
- package/dist/__tests__/output-schema-running.test.js.map +1 -0
- package/dist/__tests__/output-schema-watching.test.d.ts +1 -0
- package/dist/__tests__/output-schema-watching.test.js +190 -0
- package/dist/__tests__/output-schema-watching.test.js.map +1 -0
- package/dist/__tests__/output-schema.live.d.ts +1 -0
- package/dist/__tests__/output-schema.live.js +180 -0
- package/dist/__tests__/output-schema.live.js.map +1 -0
- package/dist/__tests__/output-schema.test.d.ts +1 -0
- package/dist/__tests__/output-schema.test.js +38 -0
- package/dist/__tests__/output-schema.test.js.map +1 -0
- package/dist/__tests__/server.test.js +1 -1
- package/dist/prompts.js +60 -32
- package/dist/prompts.js.map +1 -1
- package/dist/resources.js +26 -13
- package/dist/resources.js.map +1 -1
- package/dist/server.js +16 -13
- package/dist/server.js.map +1 -1
- package/dist/tools/attending.js +124 -90
- package/dist/tools/attending.js.map +1 -1
- package/dist/tools/collecting.js +85 -49
- package/dist/tools/collecting.js.map +1 -1
- package/dist/tools/cross-domain.js +103 -66
- package/dist/tools/cross-domain.js.map +1 -1
- package/dist/tools/helpers.d.ts +6 -2
- package/dist/tools/helpers.js +20 -11
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tools/listening.js +94 -42
- package/dist/tools/listening.js.map +1 -1
- package/dist/tools/reading.js +53 -26
- package/dist/tools/reading.js.map +1 -1
- package/dist/tools/running.js +71 -28
- package/dist/tools/running.js.map +1 -1
- package/dist/tools/schemas/attending.d.ts +8225 -0
- package/dist/tools/schemas/attending.js +404 -0
- package/dist/tools/schemas/attending.js.map +1 -0
- package/dist/tools/schemas/collecting.d.ts +1011 -0
- package/dist/tools/schemas/collecting.js +108 -0
- package/dist/tools/schemas/collecting.js.map +1 -0
- package/dist/tools/schemas/cross-domain.d.ts +1001 -0
- package/dist/tools/schemas/cross-domain.js +107 -0
- package/dist/tools/schemas/cross-domain.js.map +1 -0
- package/dist/tools/schemas/listening.d.ts +4298 -0
- package/dist/tools/schemas/listening.js +255 -0
- package/dist/tools/schemas/listening.js.map +1 -0
- package/dist/tools/schemas/reading.d.ts +1421 -0
- package/dist/tools/schemas/reading.js +151 -0
- package/dist/tools/schemas/reading.js.map +1 -0
- package/dist/tools/schemas/running.d.ts +680 -0
- package/dist/tools/schemas/running.js +154 -0
- package/dist/tools/schemas/running.js.map +1 -0
- package/dist/tools/schemas/shared.d.ts +98 -0
- package/dist/tools/schemas/shared.js +74 -0
- package/dist/tools/schemas/shared.js.map +1 -0
- package/dist/tools/schemas/system.d.ts +57 -0
- package/dist/tools/schemas/system.js +22 -0
- package/dist/tools/schemas/system.js.map +1 -0
- package/dist/tools/schemas/watching.d.ts +1821 -0
- package/dist/tools/schemas/watching.js +167 -0
- package/dist/tools/schemas/watching.js.map +1 -0
- package/dist/tools/watching.js +87 -46
- package/dist/tools/watching.js.map +1 -1
- package/dist/ui-bundles.d.ts +10 -11
- package/dist/ui-bundles.js +20 -22
- package/dist/ui-bundles.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/debug.d.ts +0 -6
- package/dist/tools/debug.js +0 -26
- package/dist/tools/debug.js.map +0 -1
package/dist/tools/running.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { withRichResponse, text, resourceLink, formatDate, timeAgo, fmt, READ_ONLY_ANNOTATIONS, dateFilterParams, } from './helpers.js';
|
|
3
|
+
import { activityDetailsOutputSchema, runningStatsOutputSchema, recentRunsOutputSchema, personalRecordsOutputSchema, runningStreaksOutputSchema, activitySplitsOutputSchema, runningYearsOutputSchema, } from './schemas/running.js';
|
|
3
4
|
export function registerRunningTools(server, client) {
|
|
4
5
|
// get_running_stats ──────────────────────────────────────────────
|
|
5
|
-
server.
|
|
6
|
+
server.registerTool('get_running_stats', {
|
|
7
|
+
title: 'Running stats',
|
|
8
|
+
description: 'Get overall running statistics from Strava including total runs, distance, elevation, duration, average pace, and Eddington number.',
|
|
9
|
+
inputSchema: {},
|
|
10
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
11
|
+
outputSchema: runningStatsOutputSchema,
|
|
12
|
+
}, async () => withRichResponse(async () => {
|
|
6
13
|
const { data } = await client.get('/running/stats');
|
|
7
14
|
const summary = [
|
|
8
15
|
'Running Stats:',
|
|
@@ -22,20 +29,26 @@ export function registerRunningTools(server, client) {
|
|
|
22
29
|
return { content: [text(summary)], structuredContent: data };
|
|
23
30
|
}));
|
|
24
31
|
// get_recent_runs ────────────────────────────────────────────────
|
|
25
|
-
server.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
server.registerTool('get_recent_runs', {
|
|
33
|
+
title: 'Recent runs',
|
|
34
|
+
description: 'Get recent running activities from Strava. Returns runs with ID, distance, pace, duration, location, and Strava activity resource links for top-N.',
|
|
35
|
+
inputSchema: {
|
|
36
|
+
limit: z
|
|
37
|
+
.number()
|
|
38
|
+
.min(1)
|
|
39
|
+
.max(50)
|
|
40
|
+
.default(10)
|
|
41
|
+
.describe('Number of recent runs to return (max 50)'),
|
|
42
|
+
page: z
|
|
43
|
+
.number()
|
|
44
|
+
.min(1)
|
|
45
|
+
.default(1)
|
|
46
|
+
.describe('Page number for pagination. Combine with limit to page through longer windows.'),
|
|
47
|
+
...dateFilterParams,
|
|
48
|
+
},
|
|
49
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
50
|
+
outputSchema: recentRunsOutputSchema,
|
|
51
|
+
}, async ({ limit, page, date, from, to }) => withRichResponse(async () => {
|
|
39
52
|
const { data } = await client.get('/running/recent', { limit, page, date, from, to });
|
|
40
53
|
if (!data.length) {
|
|
41
54
|
return {
|
|
@@ -59,7 +72,13 @@ export function registerRunningTools(server, client) {
|
|
|
59
72
|
return { content, structuredContent: { items: data } };
|
|
60
73
|
}));
|
|
61
74
|
// get_personal_records ───────────────────────────────────────────
|
|
62
|
-
server.
|
|
75
|
+
server.registerTool('get_personal_records', {
|
|
76
|
+
title: 'Personal records',
|
|
77
|
+
description: 'Get personal running records (PRs) from Strava -- fastest times at standard distances like mile, 5K, 10K, half marathon, marathon.',
|
|
78
|
+
inputSchema: {},
|
|
79
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
80
|
+
outputSchema: personalRecordsOutputSchema,
|
|
81
|
+
}, async () => withRichResponse(async () => {
|
|
63
82
|
const { data } = await client.get('/running/prs');
|
|
64
83
|
if (!data.length) {
|
|
65
84
|
return {
|
|
@@ -81,7 +100,13 @@ export function registerRunningTools(server, client) {
|
|
|
81
100
|
};
|
|
82
101
|
}));
|
|
83
102
|
// get_running_streaks ────────────────────────────────────────────
|
|
84
|
-
server.
|
|
103
|
+
server.registerTool('get_running_streaks', {
|
|
104
|
+
title: 'Running streaks',
|
|
105
|
+
description: 'Get running streak data from Strava -- current consecutive days with runs and the longest streak ever.',
|
|
106
|
+
inputSchema: {},
|
|
107
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
108
|
+
outputSchema: runningStreaksOutputSchema,
|
|
109
|
+
}, async () => withRichResponse(async () => {
|
|
85
110
|
const { data } = await client.get('/running/streaks');
|
|
86
111
|
const summary = [
|
|
87
112
|
'Running Streaks:',
|
|
@@ -101,11 +126,17 @@ export function registerRunningTools(server, client) {
|
|
|
101
126
|
return { content: [text(summary)], structuredContent: data };
|
|
102
127
|
}));
|
|
103
128
|
// get_activity_details ───────────────────────────────────────────
|
|
104
|
-
server.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
129
|
+
server.registerTool('get_activity_details', {
|
|
130
|
+
title: 'Run',
|
|
131
|
+
description: 'Get detailed information about a specific running activity by ID, including distance, pace, heart rate, elevation, calories, and a Strava resource link.',
|
|
132
|
+
inputSchema: {
|
|
133
|
+
id: z
|
|
134
|
+
.number()
|
|
135
|
+
.describe('Activity ID (from get_recent_runs or get_personal_records)'),
|
|
136
|
+
},
|
|
137
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
138
|
+
outputSchema: activityDetailsOutputSchema,
|
|
139
|
+
}, async ({ id }) => withRichResponse(async () => {
|
|
109
140
|
const data = await client.get(`/running/activities/${id}`);
|
|
110
141
|
const lines = [
|
|
111
142
|
`${data.name}${data.is_race ? ' [RACE]' : ''}`,
|
|
@@ -136,11 +167,17 @@ export function registerRunningTools(server, client) {
|
|
|
136
167
|
return { content, structuredContent: data };
|
|
137
168
|
}));
|
|
138
169
|
// get_activity_splits ────────────────────────────────────────────
|
|
139
|
-
server.
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
170
|
+
server.registerTool('get_activity_splits', {
|
|
171
|
+
title: 'Run splits',
|
|
172
|
+
description: 'Get per-mile splits for a running activity. Shows pace, elevation, and heart rate for each mile. Get the activity ID from get_recent_runs.',
|
|
173
|
+
inputSchema: {
|
|
174
|
+
id: z
|
|
175
|
+
.number()
|
|
176
|
+
.describe('Activity ID (from get_recent_runs or get_personal_records)'),
|
|
177
|
+
},
|
|
178
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
179
|
+
outputSchema: activitySplitsOutputSchema,
|
|
180
|
+
}, async ({ id }) => withRichResponse(async () => {
|
|
144
181
|
const { data } = await client.get(`/running/activities/${id}/splits`);
|
|
145
182
|
if (!data.length) {
|
|
146
183
|
return {
|
|
@@ -162,7 +199,13 @@ export function registerRunningTools(server, client) {
|
|
|
162
199
|
};
|
|
163
200
|
}));
|
|
164
201
|
// get_running_years ──────────────────────────────────────────────
|
|
165
|
-
server.
|
|
202
|
+
server.registerTool('get_running_years', {
|
|
203
|
+
title: 'Running by year',
|
|
204
|
+
description: 'Get per-year summary of running activity: total runs, distance, elevation, duration, average pace, longest run, and race count for every year on record.',
|
|
205
|
+
inputSchema: {},
|
|
206
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
207
|
+
outputSchema: runningYearsOutputSchema,
|
|
208
|
+
}, async () => withRichResponse(async () => {
|
|
166
209
|
const { data } = await client.get('/running/stats/years');
|
|
167
210
|
if (!data.length) {
|
|
168
211
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"running.js","sourceRoot":"","sources":["../../src/tools/running.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,gBAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,GAAG,EACH,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"running.js","sourceRoot":"","sources":["../../src/tools/running.ts"],"names":[],"mappings":"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"}
|