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.
Files changed (94) hide show
  1. package/dist/__tests__/helpers/build-client.d.ts +2 -0
  2. package/dist/__tests__/helpers/build-client.js +24 -0
  3. package/dist/__tests__/helpers/build-client.js.map +1 -0
  4. package/dist/__tests__/helpers.test.js +11 -0
  5. package/dist/__tests__/helpers.test.js.map +1 -1
  6. package/dist/__tests__/image-block.live.js +1 -1
  7. package/dist/__tests__/image-block.live.js.map +1 -1
  8. package/dist/__tests__/manifest-snapshot.test.js +1 -0
  9. package/dist/__tests__/manifest-snapshot.test.js.map +1 -1
  10. package/dist/__tests__/output-schema-attending.test.d.ts +1 -0
  11. package/dist/__tests__/output-schema-attending.test.js +353 -0
  12. package/dist/__tests__/output-schema-attending.test.js.map +1 -0
  13. package/dist/__tests__/output-schema-collecting.test.d.ts +1 -0
  14. package/dist/__tests__/output-schema-collecting.test.js +155 -0
  15. package/dist/__tests__/output-schema-collecting.test.js.map +1 -0
  16. package/dist/__tests__/output-schema-cross-domain.test.d.ts +1 -0
  17. package/dist/__tests__/output-schema-cross-domain.test.js +142 -0
  18. package/dist/__tests__/output-schema-cross-domain.test.js.map +1 -0
  19. package/dist/__tests__/output-schema-listening.test.d.ts +1 -0
  20. package/dist/__tests__/output-schema-listening.test.js +235 -0
  21. package/dist/__tests__/output-schema-listening.test.js.map +1 -0
  22. package/dist/__tests__/output-schema-reading.test.d.ts +1 -0
  23. package/dist/__tests__/output-schema-reading.test.js +181 -0
  24. package/dist/__tests__/output-schema-reading.test.js.map +1 -0
  25. package/dist/__tests__/output-schema-running.test.d.ts +1 -0
  26. package/dist/__tests__/output-schema-running.test.js +185 -0
  27. package/dist/__tests__/output-schema-running.test.js.map +1 -0
  28. package/dist/__tests__/output-schema-watching.test.d.ts +1 -0
  29. package/dist/__tests__/output-schema-watching.test.js +190 -0
  30. package/dist/__tests__/output-schema-watching.test.js.map +1 -0
  31. package/dist/__tests__/output-schema.live.d.ts +1 -0
  32. package/dist/__tests__/output-schema.live.js +180 -0
  33. package/dist/__tests__/output-schema.live.js.map +1 -0
  34. package/dist/__tests__/output-schema.test.d.ts +1 -0
  35. package/dist/__tests__/output-schema.test.js +38 -0
  36. package/dist/__tests__/output-schema.test.js.map +1 -0
  37. package/dist/__tests__/server.test.js +1 -1
  38. package/dist/prompts.js +60 -32
  39. package/dist/prompts.js.map +1 -1
  40. package/dist/resources.js +26 -13
  41. package/dist/resources.js.map +1 -1
  42. package/dist/server.js +16 -13
  43. package/dist/server.js.map +1 -1
  44. package/dist/tools/attending.js +124 -90
  45. package/dist/tools/attending.js.map +1 -1
  46. package/dist/tools/collecting.js +85 -49
  47. package/dist/tools/collecting.js.map +1 -1
  48. package/dist/tools/cross-domain.js +103 -66
  49. package/dist/tools/cross-domain.js.map +1 -1
  50. package/dist/tools/helpers.d.ts +6 -2
  51. package/dist/tools/helpers.js +20 -11
  52. package/dist/tools/helpers.js.map +1 -1
  53. package/dist/tools/listening.js +94 -42
  54. package/dist/tools/listening.js.map +1 -1
  55. package/dist/tools/reading.js +53 -26
  56. package/dist/tools/reading.js.map +1 -1
  57. package/dist/tools/running.js +71 -28
  58. package/dist/tools/running.js.map +1 -1
  59. package/dist/tools/schemas/attending.d.ts +8225 -0
  60. package/dist/tools/schemas/attending.js +404 -0
  61. package/dist/tools/schemas/attending.js.map +1 -0
  62. package/dist/tools/schemas/collecting.d.ts +1011 -0
  63. package/dist/tools/schemas/collecting.js +108 -0
  64. package/dist/tools/schemas/collecting.js.map +1 -0
  65. package/dist/tools/schemas/cross-domain.d.ts +1001 -0
  66. package/dist/tools/schemas/cross-domain.js +107 -0
  67. package/dist/tools/schemas/cross-domain.js.map +1 -0
  68. package/dist/tools/schemas/listening.d.ts +4298 -0
  69. package/dist/tools/schemas/listening.js +255 -0
  70. package/dist/tools/schemas/listening.js.map +1 -0
  71. package/dist/tools/schemas/reading.d.ts +1421 -0
  72. package/dist/tools/schemas/reading.js +151 -0
  73. package/dist/tools/schemas/reading.js.map +1 -0
  74. package/dist/tools/schemas/running.d.ts +680 -0
  75. package/dist/tools/schemas/running.js +154 -0
  76. package/dist/tools/schemas/running.js.map +1 -0
  77. package/dist/tools/schemas/shared.d.ts +98 -0
  78. package/dist/tools/schemas/shared.js +74 -0
  79. package/dist/tools/schemas/shared.js.map +1 -0
  80. package/dist/tools/schemas/system.d.ts +57 -0
  81. package/dist/tools/schemas/system.js +22 -0
  82. package/dist/tools/schemas/system.js.map +1 -0
  83. package/dist/tools/schemas/watching.d.ts +1821 -0
  84. package/dist/tools/schemas/watching.js +167 -0
  85. package/dist/tools/schemas/watching.js.map +1 -0
  86. package/dist/tools/watching.js +87 -46
  87. package/dist/tools/watching.js.map +1 -1
  88. package/dist/ui-bundles.d.ts +10 -11
  89. package/dist/ui-bundles.js +20 -22
  90. package/dist/ui-bundles.js.map +1 -1
  91. package/package.json +1 -1
  92. package/dist/tools/debug.d.ts +0 -6
  93. package/dist/tools/debug.js +0 -26
  94. package/dist/tools/debug.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { withRichResponse, text, resourceLink, imageBlock, fmt, READ_ONLY_ANNOTATIONS, dateFilterParams, includeImagesParam, LIST_IMAGE_PX, } from './helpers.js';
3
+ import { vinylCollectionOutputSchema, collectingStatsOutputSchema, physicalMediaOutputSchema, physicalMediaStatsOutputSchema, } from './schemas/collecting.js';
3
4
  const TOP_N = 5;
4
5
  const FORMAT_LABEL = {
5
6
  bluray: 'Blu-ray',
@@ -8,35 +9,48 @@ const FORMAT_LABEL = {
8
9
  };
9
10
  export function registerCollectingTools(server, client) {
10
11
  // get_vinyl_collection ───────────────────────────────────────────
11
- server.tool('get_vinyl_collection', 'Browse the vinyl record collection from Discogs. Returns records with artist, title, year, format, and label, plus top-N cover art and Discogs resource links. Supports search, filters, sort, and pagination.', {
12
- query: z
13
- .string()
14
- .optional()
15
- .describe("Optional: search by artist or album title (e.g. 'Beastie Boys', 'Dark Side')"),
16
- format: z
17
- .string()
18
- .optional()
19
- .describe("Optional: filter by format (e.g. 'Vinyl', 'CD', 'Cassette')"),
20
- genre: z.string().optional().describe('Optional: filter by genre'),
21
- artist: z.string().optional().describe('Optional: filter by artist name'),
22
- sort: z
23
- .string()
24
- .optional()
25
- .describe('Optional: sort field (default: date_added). Options: date_added, title, year, artist'),
26
- order: z
27
- .enum(['asc', 'desc'])
28
- .optional()
29
- .describe('Optional: sort order (default: desc)'),
30
- limit: z
31
- .number()
32
- .min(1)
33
- .max(50)
34
- .default(10)
35
- .describe('Number of records to return'),
36
- page: z.number().min(1).default(1).describe('Page number for pagination'),
37
- ...dateFilterParams,
38
- ...includeImagesParam,
39
- }, READ_ONLY_ANNOTATIONS, async ({ query, format, genre, artist, sort, order, limit, page, date, from, to, include_images, }) => withRichResponse(async () => {
12
+ server.registerTool('get_vinyl_collection', {
13
+ title: 'Vinyl collection',
14
+ description: 'Browse the vinyl record collection from Discogs. Returns records with artist, title, year, format, and label, plus top-N cover art and Discogs resource links. Supports search, filters, sort, and pagination.',
15
+ inputSchema: {
16
+ query: z
17
+ .string()
18
+ .optional()
19
+ .describe("Optional: search by artist or album title (e.g. 'Beastie Boys', 'Dark Side')"),
20
+ format: z
21
+ .string()
22
+ .optional()
23
+ .describe("Optional: filter by format (e.g. 'Vinyl', 'CD', 'Cassette')"),
24
+ genre: z.string().optional().describe('Optional: filter by genre'),
25
+ artist: z
26
+ .string()
27
+ .optional()
28
+ .describe('Optional: filter by artist name'),
29
+ sort: z
30
+ .string()
31
+ .optional()
32
+ .describe('Optional: sort field (default: date_added). Options: date_added, title, year, artist'),
33
+ order: z
34
+ .enum(['asc', 'desc'])
35
+ .optional()
36
+ .describe('Optional: sort order (default: desc)'),
37
+ limit: z
38
+ .number()
39
+ .min(1)
40
+ .max(50)
41
+ .default(10)
42
+ .describe('Number of records to return'),
43
+ page: z
44
+ .number()
45
+ .min(1)
46
+ .default(1)
47
+ .describe('Page number for pagination'),
48
+ ...dateFilterParams,
49
+ ...includeImagesParam,
50
+ },
51
+ annotations: READ_ONLY_ANNOTATIONS,
52
+ outputSchema: vinylCollectionOutputSchema,
53
+ }, async ({ query, format, genre, artist, sort, order, limit, page, date, from, to, include_images, }) => withRichResponse(async () => {
40
54
  const data = await client.get('/collecting/vinyl', {
41
55
  q: query,
42
56
  format,
@@ -91,7 +105,13 @@ export function registerCollectingTools(server, client) {
91
105
  };
92
106
  }));
93
107
  // get_collecting_stats ───────────────────────────────────────────
94
- server.tool('get_collecting_stats', 'Get overall collection statistics including total items, format breakdown (vinyl, CD, cassette), unique artists, genre data, and year range. Supports date filtering.', { ...dateFilterParams }, READ_ONLY_ANNOTATIONS, async ({ date, from, to }) => withRichResponse(async () => {
108
+ server.registerTool('get_collecting_stats', {
109
+ title: 'Collection stats',
110
+ description: 'Get overall collection statistics including total items, format breakdown (vinyl, CD, cassette), unique artists, genre data, and year range. Supports date filtering.',
111
+ inputSchema: { ...dateFilterParams },
112
+ annotations: READ_ONLY_ANNOTATIONS,
113
+ outputSchema: collectingStatsOutputSchema,
114
+ }, async ({ date, from, to }) => withRichResponse(async () => {
95
115
  const { data } = await client.get('/collecting/stats', {
96
116
  date,
97
117
  from,
@@ -121,24 +141,34 @@ export function registerCollectingTools(server, client) {
121
141
  return { content: [text(lines.join('\n'))], structuredContent: data };
122
142
  }));
123
143
  // get_physical_media ─────────────────────────────────────────────
124
- server.tool('get_physical_media', 'Browse the physical media collection (Blu-ray, 4K UHD, HD DVD). Search by title, filter by format. Returns top-N cover art and pagination.', {
125
- query: z
126
- .string()
127
- .optional()
128
- .describe("Optional: search by title (e.g. 'Princess Bride', 'Kubrick')"),
129
- media_type: z
130
- .enum(['bluray', 'uhd_bluray', 'hddvd'])
131
- .optional()
132
- .describe('Optional: filter by format (bluray, uhd_bluray, hddvd)'),
133
- limit: z
134
- .number()
135
- .min(1)
136
- .max(50)
137
- .default(10)
138
- .describe('Number of items to return'),
139
- page: z.number().min(1).default(1).describe('Page number for pagination'),
140
- ...includeImagesParam,
141
- }, READ_ONLY_ANNOTATIONS, async ({ query, media_type, limit, page, include_images }) => withRichResponse(async () => {
144
+ server.registerTool('get_physical_media', {
145
+ title: 'Physical media',
146
+ description: 'Browse the physical media collection (Blu-ray, 4K UHD, HD DVD). Search by title, filter by format. Returns top-N cover art and pagination.',
147
+ inputSchema: {
148
+ query: z
149
+ .string()
150
+ .optional()
151
+ .describe("Optional: search by title (e.g. 'Princess Bride', 'Kubrick')"),
152
+ media_type: z
153
+ .enum(['bluray', 'uhd_bluray', 'hddvd'])
154
+ .optional()
155
+ .describe('Optional: filter by format (bluray, uhd_bluray, hddvd)'),
156
+ limit: z
157
+ .number()
158
+ .min(1)
159
+ .max(50)
160
+ .default(10)
161
+ .describe('Number of items to return'),
162
+ page: z
163
+ .number()
164
+ .min(1)
165
+ .default(1)
166
+ .describe('Page number for pagination'),
167
+ ...includeImagesParam,
168
+ },
169
+ annotations: READ_ONLY_ANNOTATIONS,
170
+ outputSchema: physicalMediaOutputSchema,
171
+ }, async ({ query, media_type, limit, page, include_images }) => withRichResponse(async () => {
142
172
  const data = await client.get('/collecting/media', { q: query, media_type, limit, page });
143
173
  if (!data.data.length) {
144
174
  return {
@@ -173,7 +203,13 @@ export function registerCollectingTools(server, client) {
173
203
  };
174
204
  }));
175
205
  // get_physical_media_stats ───────────────────────────────────────
176
- server.tool('get_physical_media_stats', 'Get statistics for the physical media collection including total items and breakdown by format (Blu-ray, 4K UHD, HD DVD).', {}, READ_ONLY_ANNOTATIONS, async () => withRichResponse(async () => {
206
+ server.registerTool('get_physical_media_stats', {
207
+ title: 'Physical media stats',
208
+ description: 'Get statistics for the physical media collection including total items and breakdown by format (Blu-ray, 4K UHD, HD DVD).',
209
+ inputSchema: {},
210
+ annotations: READ_ONLY_ANNOTATIONS,
211
+ outputSchema: physicalMediaStatsOutputSchema,
212
+ }, async () => withRichResponse(async () => {
177
213
  const { data } = await client.get('/collecting/media/formats');
178
214
  const total = data.reduce((sum, f) => sum + f.count, 0);
179
215
  const lines = [
@@ -1 +1 @@
1
- {"version":3,"file":"collecting.js","sourceRoot":"","sources":["../../src/tools/collecting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collecting.js","sourceRoot":"","sources":["../../src/tools/collecting.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { withRichResponse, text, resourceLink, imageBlock, timeAgo, fmt, hostOf, READ_ONLY_ANNOTATIONS, LIST_IMAGE_PX, } from './helpers.js';
3
+ import { searchOutputSchema, semanticSearchOutputSchema, feedOutputSchema, onThisDayOutputSchema, } from './schemas/cross-domain.js';
3
4
  const SEARCH_TOP_N = 5;
4
5
  /**
5
6
  * Map a cross-domain entity reference to a Rewind resource URI.
@@ -25,24 +26,34 @@ function rewindUri(domain, entityType, entityId) {
25
26
  }
26
27
  export function registerCrossDomainTools(server, client) {
27
28
  // search ─────────────────────────────────────────────────────────
28
- server.tool('search', 'Search across all domains (listening, running, watching, collecting, reading). Three ranking modes: keyword (default) uses FTS5 full-text search across all domains; semantic uses Voyage AI embeddings for paraphrased / meaning-based recall (reading domain only); hybrid fuses both (reading domain only). Use semantic or hybrid when the user describes what an article was ABOUT rather than quoting its words. **Prefer `mode: hybrid` whenever the user mixes a topic with a recalled keyword or a publisher hint** ("the ESPN piece about Ichiro", "the WSJ article on EVs") — semantic alone does not see source domains and can drop the publisher signal entirely. When a result is the article the user is asking about, follow up with `get_article(id)` to render the rich inline article card — do not stop at the search-result text response.', {
29
- query: z.string().describe('Search query text'),
30
- domain: z
31
- .enum(['listening', 'running', 'watching', 'collecting', 'reading'])
32
- .optional()
33
- .describe('Optional: filter results to a single domain'),
34
- mode: z
35
- .enum(['keyword', 'semantic', 'hybrid'])
36
- .optional()
37
- .describe('Ranking mode. keyword = FTS (default). semantic = cosine-similarity over article embeddings (reading only). hybrid = FTS + semantic via reciprocal rank fusion (reading only).'),
38
- limit: z
39
- .number()
40
- .min(1)
41
- .max(50)
42
- .default(10)
43
- .describe('Number of results to return'),
44
- page: z.number().min(1).default(1).describe('Page number for pagination'),
45
- }, READ_ONLY_ANNOTATIONS, async ({ query, domain, mode, limit, page }) => withRichResponse(async () => {
29
+ server.registerTool('search', {
30
+ title: 'Search',
31
+ description: 'Search across all domains (listening, running, watching, collecting, reading). Three ranking modes: keyword (default) uses FTS5 full-text search across all domains; semantic uses Voyage AI embeddings for paraphrased / meaning-based recall (reading domain only); hybrid fuses both (reading domain only). Use semantic or hybrid when the user describes what an article was ABOUT rather than quoting its words. **Prefer `mode: hybrid` whenever the user mixes a topic with a recalled keyword or a publisher hint** ("the ESPN piece about Ichiro", "the WSJ article on EVs") — semantic alone does not see source domains and can drop the publisher signal entirely. When a result is the article the user is asking about, follow up with `get_article(id)` to render the rich inline article card — do not stop at the search-result text response.',
32
+ inputSchema: {
33
+ query: z.string().describe('Search query text'),
34
+ domain: z
35
+ .enum(['listening', 'running', 'watching', 'collecting', 'reading'])
36
+ .optional()
37
+ .describe('Optional: filter results to a single domain'),
38
+ mode: z
39
+ .enum(['keyword', 'semantic', 'hybrid'])
40
+ .optional()
41
+ .describe('Ranking mode. keyword = FTS (default). semantic = cosine-similarity over article embeddings (reading only). hybrid = FTS + semantic via reciprocal rank fusion (reading only).'),
42
+ limit: z
43
+ .number()
44
+ .min(1)
45
+ .max(50)
46
+ .default(10)
47
+ .describe('Number of results to return'),
48
+ page: z
49
+ .number()
50
+ .min(1)
51
+ .default(1)
52
+ .describe('Page number for pagination'),
53
+ },
54
+ annotations: READ_ONLY_ANNOTATIONS,
55
+ outputSchema: searchOutputSchema,
56
+ }, async ({ query, domain, mode, limit, page }) => withRichResponse(async () => {
46
57
  const params = {
47
58
  q: query,
48
59
  limit,
@@ -125,15 +136,23 @@ export function registerCrossDomainTools(server, client) {
125
136
  };
126
137
  }));
127
138
  // semantic_search ────────────────────────────────────────────────
128
- server.tool('semantic_search', 'Semantic search over the reading domain using Voyage AI embeddings. Use when the user describes the gist or topic of an article they remember rather than quoting exact words — e.g. "article about a former SNL writer" or "piece about tech layoffs". Returns articles ranked by cosine similarity with a score in [0,1]. Reading domain only. **Important: this tool does NOT see source domains** — embeddings only encode title + description + body. If the user mentions a publisher (ESPN, NYT, WSJ, Atlantic, etc.) or a recalled keyword, prefer `search(mode: "hybrid", ...)` so FTS picks up that signal. **If the top scores cluster within ~0.03 of each other, raise `limit` to 15+** — the right match may sit at position 6+ and approximate-nearest-neighbor noise can swap items at the boundary. When the top result is the article the user is asking about, follow up with `get_article(id)` to render the rich inline article card; if the top score is low (~0.4 and below) or you are unsure which match is right, list the top 2-3 candidates and ask the user to disambiguate before rendering.', {
129
- query: z.string().describe('Natural-language description of the article'),
130
- limit: z
131
- .number()
132
- .min(1)
133
- .max(25)
134
- .default(10)
135
- .describe('Number of matches to return'),
136
- }, READ_ONLY_ANNOTATIONS, async ({ query, limit }) => withRichResponse(async () => {
139
+ server.registerTool('semantic_search', {
140
+ title: 'Semantic search',
141
+ description: 'Semantic search over the reading domain using Voyage AI embeddings. Use when the user describes the gist or topic of an article they remember rather than quoting exact words — e.g. "article about a former SNL writer" or "piece about tech layoffs". Returns articles ranked by cosine similarity with a score in [0,1]. Reading domain only. **Important: this tool does NOT see source domains** — embeddings only encode title + description + body. If the user mentions a publisher (ESPN, NYT, WSJ, Atlantic, etc.) or a recalled keyword, prefer `search(mode: "hybrid", ...)` so FTS picks up that signal. **If the top scores cluster within ~0.03 of each other, raise `limit` to 15+** — the right match may sit at position 6+ and approximate-nearest-neighbor noise can swap items at the boundary. When the top result is the article the user is asking about, follow up with `get_article(id)` to render the rich inline article card; if the top score is low (~0.4 and below) or you are unsure which match is right, list the top 2-3 candidates and ask the user to disambiguate before rendering.',
142
+ inputSchema: {
143
+ query: z
144
+ .string()
145
+ .describe('Natural-language description of the article'),
146
+ limit: z
147
+ .number()
148
+ .min(1)
149
+ .max(25)
150
+ .default(10)
151
+ .describe('Number of matches to return'),
152
+ },
153
+ annotations: READ_ONLY_ANNOTATIONS,
154
+ outputSchema: semanticSearchOutputSchema,
155
+ }, async ({ query, limit }) => withRichResponse(async () => {
137
156
  const data = await client.get('/search', {
138
157
  q: query,
139
158
  domain: 'reading',
@@ -198,30 +217,36 @@ export function registerCrossDomainTools(server, client) {
198
217
  };
199
218
  }));
200
219
  // get_feed ───────────────────────────────────────────────────────
201
- server.tool('get_feed', 'Get the unified activity feed across all domains. Returns a chronological list of recent activities (listens, runs, watches, reads, collection adds). Supports date filtering.', {
202
- limit: z
203
- .number()
204
- .min(1)
205
- .max(50)
206
- .default(10)
207
- .describe('Number of feed items to return'),
208
- domain: z
209
- .enum(['listening', 'running', 'watching', 'collecting', 'reading'])
210
- .optional()
211
- .describe('Optional: filter feed to a single domain'),
212
- date: z
213
- .string()
214
- .optional()
215
- .describe('Optional: filter to a specific date (YYYY-MM-DD)'),
216
- from: z
217
- .string()
218
- .optional()
219
- .describe('Optional: start of date range (ISO 8601)'),
220
- to: z
221
- .string()
222
- .optional()
223
- .describe('Optional: end of date range (ISO 8601)'),
224
- }, READ_ONLY_ANNOTATIONS, async ({ limit, domain, date, from, to }) => withRichResponse(async () => {
220
+ server.registerTool('get_feed', {
221
+ title: 'Activity feed',
222
+ description: 'Get the unified activity feed across all domains. Returns a chronological list of recent activities (listens, runs, watches, reads, collection adds). Supports date filtering.',
223
+ inputSchema: {
224
+ limit: z
225
+ .number()
226
+ .min(1)
227
+ .max(50)
228
+ .default(10)
229
+ .describe('Number of feed items to return'),
230
+ domain: z
231
+ .enum(['listening', 'running', 'watching', 'collecting', 'reading'])
232
+ .optional()
233
+ .describe('Optional: filter feed to a single domain'),
234
+ date: z
235
+ .string()
236
+ .optional()
237
+ .describe('Optional: filter to a specific date (YYYY-MM-DD)'),
238
+ from: z
239
+ .string()
240
+ .optional()
241
+ .describe('Optional: start of date range (ISO 8601)'),
242
+ to: z
243
+ .string()
244
+ .optional()
245
+ .describe('Optional: end of date range (ISO 8601)'),
246
+ },
247
+ annotations: READ_ONLY_ANNOTATIONS,
248
+ outputSchema: feedOutputSchema,
249
+ }, async ({ limit, domain, date, from, to }) => withRichResponse(async () => {
225
250
  const params = {
226
251
  limit,
227
252
  date,
@@ -250,21 +275,33 @@ export function registerCrossDomainTools(server, client) {
250
275
  };
251
276
  }));
252
277
  // get_on_this_day ────────────────────────────────────────────────
253
- server.tool('get_on_this_day', "Get historical 'on this day' items -- what happened on a given date in previous years across all domains. Defaults to today. Great for nostalgia and reflection.", {
254
- month: z
255
- .number()
256
- .min(1)
257
- .max(12)
258
- .optional()
259
- .describe('Optional: month (1-12). Defaults to current month.'),
260
- day: z
261
- .number()
262
- .min(1)
263
- .max(31)
264
- .optional()
265
- .describe('Optional: day (1-31). Defaults to current day.'),
266
- }, READ_ONLY_ANNOTATIONS, async ({ month, day }) => withRichResponse(async () => {
267
- const params = { month, day };
278
+ server.registerTool('get_on_this_day', {
279
+ title: 'On this day',
280
+ description: "Get historical 'on this day' items -- what happened on a given date in previous years across all domains. Defaults to today. Great for nostalgia and reflection.",
281
+ inputSchema: {
282
+ month: z
283
+ .number()
284
+ .min(1)
285
+ .max(12)
286
+ .optional()
287
+ .describe('Optional: month (1-12). Defaults to current month.'),
288
+ day: z
289
+ .number()
290
+ .min(1)
291
+ .max(31)
292
+ .optional()
293
+ .describe('Optional: day (1-31). Defaults to current day.'),
294
+ },
295
+ annotations: READ_ONLY_ANNOTATIONS,
296
+ outputSchema: onThisDayOutputSchema,
297
+ }, async ({ month, day }) => withRichResponse(async () => {
298
+ // The endpoint requires an explicit date. Default to today --
299
+ // which is what this tool's input schema already documents.
300
+ const today = new Date();
301
+ const params = {
302
+ month: month ?? today.getUTCMonth() + 1,
303
+ day: day ?? today.getUTCDate(),
304
+ };
268
305
  const data = await client.get('/feed/on-this-day', params);
269
306
  if (!data.years.length) {
270
307
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"cross-domain.js","sourceRoot":"","sources":["../../src/tools/cross-domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross-domain.js","sourceRoot":"","sources":["../../src/tools/cross-domain.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,MAAM,EACN,qBAAqB,EACrB,aAAa,GAEd,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,kBAAkB,EAClB,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,YAAY,GAAG,CAAC,CAAC;AAUvB;;;GAGG;AACH,SAAS,SAAS,CAChB,MAAc,EACd,UAAkB,EAClB,QAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,GAAG,GAA2B;QAClC,kBAAkB,EAAE,QAAQ;QAC5B,iBAAiB,EAAE,OAAO;QAC1B,gBAAgB,EAAE,OAAO;QACzB,eAAe,EAAE,MAAM;QACvB,kBAAkB,EAAE,OAAO;QAC3B,oBAAoB,EAAE,OAAO;QAC7B,kBAAkB,EAAE,gBAAgB;QACpC,iBAAiB,EAAE,SAAS;QAC5B,mBAAmB,EAAE,WAAW;QAChC,kBAAkB,EAAE,UAAU;KAC/B,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAiB,EACjB,MAAoB;IAEpB,mEAAmE;IACnE,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,k0BAAk0B;QACp0B,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC/C,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;iBACnE,QAAQ,EAAE;iBACV,QAAQ,CAAC,6CAA6C,CAAC;YAC1D,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;iBACvC,QAAQ,EAAE;iBACV,QAAQ,CACP,gLAAgL,CACjL;YACH,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,6BAA6B,CAAC;YAC1C,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,OAAO,CAAC,CAAC,CAAC;iBACV,QAAQ,CAAC,4BAA4B,CAAC;SAC1C;QACD,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,kBAAkB;KACjC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAC7C,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAoC;YAC9C,CAAC,EAAE,KAAK;YACR,KAAK;YACL,IAAI;SACL,CAAC;QACF,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAE7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAG1B,SAAS,EAAE,MAAM,CAAC,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE;oBACP,IAAI,CACF,yBAAyB,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CACnE;iBACF;gBACD,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;aAC9D,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG;YACZ,uBAAuB,KAAK,IAAI,SAAS,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU;SACnF,CAAC;QAEF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,iEAAiE;YACjE,iEAAiE;YACjE,iEAAiE;YACjE,6DAA6D;YAC7D,uDAAuD;YACvD,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;YACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GACT,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,GAAG,GAAsC,EAAE,CAAC;YAClD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3B,GAAG,CAAC,IAAI,CACN,YAAY,CACV,CAAC,CAAC,GAAG,EACL,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAC/C;oBACE,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;iBACrC,CACF,CACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CACN,YAAY,CACV,CAAC,CAAC,cAAc,EAChB,GAAG,CAAC,CAAC,KAAK,uBAAuB,EACjC;oBACE,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;iBACrC,CACF,CACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CACN,YAAY,CACV,CAAC,CAAC,kBAAkB,EACpB,GAAG,CAAC,CAAC,KAAK,2BAA2B,EACrC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,CACzC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CACN,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE;oBACxC,QAAQ,EAAE,kBAAkB;oBAC5B,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;iBACrC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAC5D,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAC9C,CAAC;QAEF,MAAM,OAAO,GAAmB;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,GAAG,WAAW;YACd,GAAG,KAAK;SACT,CAAC;QAEF,OAAO;YACL,OAAO;YACP,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SACrE,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,4jCAA4jC;QAC9jC,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CAAC,6CAA6C,CAAC;YAC1D,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,6BAA6B,CAAC;SAC3C;QACD,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,0BAA0B;KACzC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACzB,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAkB1B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAG1B,SAAS,EAAE;YACZ,CAAC,EAAE,KAAK;YACR,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,UAAU;YAChB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,CAAC,IAAI,CAAC,kCAAkC,KAAK,IAAI,CAAC,CAAC;gBAC5D,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;aAC9D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,yBAAyB,KAAK,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;SACpE,CAAC;QACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC;YACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CACR,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,GAAG,GAAsC,EAAE,CAAC;YAClD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3B,GAAG,CAAC,IAAI,CACN,YAAY,CACV,CAAC,CAAC,GAAG,EACL,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAC/C;oBACE,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;iBACrC,CACF,CACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CACN,YAAY,CACV,CAAC,CAAC,cAAc,EAChB,GAAG,CAAC,CAAC,KAAK,uBAAuB,EACjC;oBACE,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;iBACrC,CACF,CACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CACN,YAAY,CACV,CAAC,CAAC,kBAAkB,EACpB,GAAG,CAAC,CAAC,KAAK,2BAA2B,EACrC,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,CACzC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CACN,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE;oBACxC,QAAQ,EAAE,kBAAkB;oBAC5B,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;iBACrC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAC5D,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAC9C,CAAC;QAEF,MAAM,OAAO,GAAmB;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,GAAG,WAAW;YACd,GAAG,KAAK;SACT,CAAC;QAEF,OAAO;YACL,OAAO;YACP,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SACrE,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,gLAAgL;QAClL,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;iBACnE,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;YACvD,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;YAC/D,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;YACvD,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wCAAwC,CAAC;SACtD;QACD,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,gBAAgB;KAC/B,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAC1C,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,MAAM,GAAgD;YAC1D,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,EAAE;SACH,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAG1B,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAChE,iBAAiB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;aAC9D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CACR,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CACxE,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CACR,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SACrE,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,mEAAmE;IACnE,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,kKAAkK;QACpK,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,oDAAoD,CAAC;YACjE,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;SAC9D;QACD,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,qBAAqB;KACpC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CACvB,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAC1B,8DAA8D;QAC9D,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;YACvC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE;SAC/B,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAY,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAClD,iBAAiB,EAAE,IAAI;aACxB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,iBAAiB,EAAE,IAAI;SACxB,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC"}
@@ -100,11 +100,15 @@ export declare const dateFilterParams: {
100
100
  export declare const includeImagesParam: {
101
101
  include_images: z.ZodDefault<z.ZodBoolean>;
102
102
  };
103
- /** Standard annotations for all Rewind tools (read-only, open-world). */
103
+ /**
104
+ * Standard annotations for all Rewind tools. Read-only and closed-world:
105
+ * every tool reads the user's own bounded archive via api.rewind.rest, never
106
+ * an unbounded external space at call time.
107
+ */
104
108
  export declare const READ_ONLY_ANNOTATIONS: {
105
109
  readOnlyHint: true;
106
110
  destructiveHint: false;
107
111
  idempotentHint: true;
108
- openWorldHint: true;
112
+ openWorldHint: false;
109
113
  };
110
114
  export type { RewindClient };
@@ -51,25 +51,30 @@ export async function imageBlock(client, image, targetPx) {
51
51
  }
52
52
  /**
53
53
  * Rewrite a Rewind CDN URL to use the Cloudflare Images transform path
54
- * (`/cdn-cgi/image/<opts>/<asset>`) at the requested pixel size. The raw
55
- * `cdn_url` field returned by the API points at the original (full-res) R2
56
- * object and does not honor width/height query params. Transform URLs do.
54
+ * (`/cdn-cgi/image/<opts>/<asset>`) at the requested pixel size. Raw R2 URLs
55
+ * are converted to transform URLs, and existing transform options are
56
+ * replaced while the source asset path and image version are preserved.
57
57
  *
58
- * Input: https://cdn.rewind.rest/watching/movies/707/original.jpg?width=300&height=300&...&v=1
58
+ * Input: https://cdn.rewind.rest/cdn-cgi/image/width=240,height=360,fit=cover,format=auto,quality=85/watching/movies/707/original.jpg?v=1
59
59
  * Output: https://cdn.rewind.rest/cdn-cgi/image/width=150,height=150,fit=cover,format=auto,quality=85/watching/movies/707/original.jpg?v=1
60
60
  *
61
- * Returns the input unchanged if it is not a valid URL or is already a
62
- * transform URL.
61
+ * Returns the input unchanged if it is not a valid URL.
63
62
  */
64
63
  function resizeCdnUrl(url, targetPx) {
65
64
  try {
66
65
  const u = new URL(url);
67
- if (u.pathname.startsWith('/cdn-cgi/image/'))
68
- return url;
69
66
  const opts = `width=${targetPx},height=${targetPx},fit=cover,format=auto,quality=85`;
67
+ const transformPrefix = '/cdn-cgi/image/';
68
+ let sourcePath = u.pathname;
69
+ if (sourcePath.startsWith(transformPrefix)) {
70
+ const optionsEnd = sourcePath.indexOf('/', transformPrefix.length);
71
+ if (optionsEnd === -1)
72
+ return url;
73
+ sourcePath = sourcePath.slice(optionsEnd);
74
+ }
70
75
  const version = u.searchParams.get('v');
71
76
  const versionSuffix = version ? `?v=${version}` : '';
72
- return `${u.origin}/cdn-cgi/image/${opts}${u.pathname}${versionSuffix}`;
77
+ return `${u.origin}/cdn-cgi/image/${opts}${sourcePath}${versionSuffix}`;
73
78
  }
74
79
  catch {
75
80
  return url;
@@ -204,11 +209,15 @@ export const includeImagesParam = {
204
209
  .default(true)
205
210
  .describe('Include artwork/poster image content blocks in the response. Default true. Set false to keep responses small.'),
206
211
  };
207
- /** Standard annotations for all Rewind tools (read-only, open-world). */
212
+ /**
213
+ * Standard annotations for all Rewind tools. Read-only and closed-world:
214
+ * every tool reads the user's own bounded archive via api.rewind.rest, never
215
+ * an unbounded external space at call time.
216
+ */
208
217
  export const READ_ONLY_ANNOTATIONS = {
209
218
  readOnlyHint: true,
210
219
  destructiveHint: false,
211
220
  idempotentHint: true,
212
- openWorldHint: true,
221
+ openWorldHint: false,
213
222
  };
214
223
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,wEAAwE;AAExE,kCAAkC;AAClC,MAAM,UAAU,IAAI,CAAC,KAAa;IAChC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,GAA8B,EAC9B,IAAY,EACZ,IAAkD;IAElD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACtE,IAAI,IAAI,EAAE,QAAQ;QAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnD,IAAI,IAAI,EAAE,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC;AAiBD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,KAAsB,EACtB,QAAiB;IAEjB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,QAAQ;QAAE,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;YAC1B,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,QAAgB;IACjD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,SAAS,QAAQ,WAAW,QAAQ,mCAAmC,CAAC;QACrF,MAAM,eAAe,GAAG,iBAAiB,CAAC;QAC1C,IAAI,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5B,IAAI,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,UAAU,KAAK,CAAC,CAAC;gBAAE,OAAO,GAAG,CAAC;YAClC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,GAAG,CAAC,CAAC,MAAM,kBAAkB,IAAI,GAAG,UAAU,GAAG,aAAa,EAAE,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,sEAAsE;AACtE,MAAM,UAAU,MAAM,CAAC,GAA8B;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAiB;IACtC,MAAM,CAAC,GAAG,UAET,CAAC;IACF,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QACnC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,wEAAwE;AAExE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,EAAE,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAgC;IAEhC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,wEAAwE;AAExE,6CAA6C;AAC7C,MAAM,UAAU,UAAU,CAAC,GAA8B;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC/C,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACnC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,OAAO,CAAC;IACpC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,GAAG,CAAC,CAA4B;IAC9C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAC9C,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,CAA4B;IACtD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,OAAO,GAAG,CAAC;AACvB,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC7E,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,+GAA+G,CAChH;CACJ,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY,EAAE,IAAa;IAC3B,eAAe,EAAE,KAAc;IAC/B,cAAc,EAAE,IAAa;IAC7B,aAAa,EAAE,KAAc;CAC9B,CAAC"}