@cyanheads/seerr-mcp-server 0.1.1 → 0.1.3
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/AGENTS.md +11 -8
- package/CLAUDE.md +11 -8
- package/Dockerfile +14 -5
- package/README.md +12 -9
- package/changelog/0.1.x/0.1.2.md +22 -0
- package/changelog/0.1.x/0.1.3.md +36 -0
- package/changelog/template.md +55 -16
- package/dist/mcp-server/resources/definitions/index.d.ts +1 -0
- package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/request.resource.d.ts +7 -3
- package/dist/mcp-server/resources/definitions/request.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/request.resource.js +17 -5
- package/dist/mcp-server/resources/definitions/request.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +2 -1
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-requests.tool.d.ts +6 -3
- package/dist/mcp-server/tools/definitions/list-requests.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/list-requests.tool.js +68 -10
- package/dist/mcp-server/tools/definitions/list-requests.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/request-media.tool.d.ts +8 -5
- package/dist/mcp-server/tools/definitions/request-media.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/request-media.tool.js +46 -16
- package/dist/mcp-server/tools/definitions/request-media.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/request-status.tool.d.ts +4 -2
- package/dist/mcp-server/tools/definitions/request-status.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/request-status.tool.js +11 -4
- package/dist/mcp-server/tools/definitions/request-status.tool.js.map +1 -1
- package/dist/services/seerr/normalizers.d.ts +4 -1
- package/dist/services/seerr/normalizers.d.ts.map +1 -1
- package/dist/services/seerr/normalizers.js +3 -1
- package/dist/services/seerr/normalizers.js.map +1 -1
- package/dist/services/seerr/seerr-service.d.ts +12 -2
- package/dist/services/seerr/seerr-service.d.ts.map +1 -1
- package/dist/services/seerr/seerr-service.js +13 -6
- package/dist/services/seerr/seerr-service.js.map +1 -1
- package/dist/services/seerr/titles.d.ts +47 -0
- package/dist/services/seerr/titles.d.ts.map +1 -0
- package/dist/services/seerr/titles.js +107 -0
- package/dist/services/seerr/titles.js.map +1 -0
- package/package.json +7 -7
- package/server.json +3 -3
|
@@ -2,18 +2,25 @@
|
|
|
2
2
|
* @fileoverview seerr_list_requests — review recent requests and their lifecycle.
|
|
3
3
|
* Wraps `GET /request`. Echoes the applied filters and decodes every numeric
|
|
4
4
|
* status. The media-type discriminator is the raw `type` field (not `mediaType`);
|
|
5
|
-
* `requestedBy` is PII-redacted
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* `requestedBy` is PII-redacted. The request object has no title field, so
|
|
6
|
+
* `title` is unpopulated unless `includeTitles` is set — that opt-in costs one
|
|
7
|
+
* media fetch per DISTINCT `(mediaType, tmdbId)` on the page, and rows that
|
|
8
|
+
* cannot be hydrated degrade to no title plus an enrichment notice. The total
|
|
9
|
+
* count comes from `pageInfo.results`.
|
|
8
10
|
* @module mcp-server/tools/definitions/list-requests.tool
|
|
9
11
|
*/
|
|
10
12
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
11
13
|
import { normalizeSeasons, redactUser } from '../../../services/seerr/normalizers.js';
|
|
12
14
|
import { getSeerrService } from '../../../services/seerr/seerr-service.js';
|
|
13
15
|
import { decodeMediaStatus, decodeRequestStatus, StatusRef, statusText, } from '../../../services/seerr/status.js';
|
|
16
|
+
import { resolveTitles, titleKeyOf } from '../../../services/seerr/titles.js';
|
|
17
|
+
/** Pluralize "request" for a notice count. */
|
|
18
|
+
function requestCount(n) {
|
|
19
|
+
return `${n} request${n === 1 ? '' : 's'}`;
|
|
20
|
+
}
|
|
14
21
|
export const listRequestsTool = tool('seerr_list_requests', {
|
|
15
22
|
title: 'seerr-mcp-server: list requests',
|
|
16
|
-
description: 'List recent media requests with their lifecycle status. Filter by status, media type, and requester; echoes the applied filters and decodes every numeric status. Pass a requestId from the results to seerr_request_status for full detail. Titles are not on request objects
|
|
23
|
+
description: 'List recent media requests with their lifecycle status. Filter by status, media type, and requester; echoes the applied filters and decodes every numeric status. Pass a requestId from the results to seerr_request_status for full detail. Titles are not on request objects — set includeTitles to resolve them, or fetch one with seerr_get_media.',
|
|
17
24
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
18
25
|
input: z.object({
|
|
19
26
|
filter: z
|
|
@@ -61,6 +68,10 @@ export const listRequestsTool = tool('seerr_list_requests', {
|
|
|
61
68
|
.min(0)
|
|
62
69
|
.default(0)
|
|
63
70
|
.describe('Number of requests to skip for pagination (offset). Use take+skip to page.'),
|
|
71
|
+
includeTitles: z
|
|
72
|
+
.boolean()
|
|
73
|
+
.default(false)
|
|
74
|
+
.describe('Resolve each row\'s title. Default false keeps the call to a single upstream read; true adds one media lookup per distinct title on the page (rows sharing a title, such as a 4K and a non-4K request, resolve once). Rows that cannot be resolved keep every other field and stay "Untitled".'),
|
|
64
75
|
}),
|
|
65
76
|
output: z.object({
|
|
66
77
|
requests: z
|
|
@@ -71,7 +82,7 @@ export const listRequestsTool = tool('seerr_list_requests', {
|
|
|
71
82
|
title: z
|
|
72
83
|
.string()
|
|
73
84
|
.optional()
|
|
74
|
-
.describe('Title of the requested media
|
|
85
|
+
.describe('Title of the requested media. Present only when includeTitles was set and the lookup succeeded — request objects carry no title field.'),
|
|
75
86
|
tmdbId: z.number().optional().describe('TMDB ID of the requested media.'),
|
|
76
87
|
requestStatus: StatusRef.describe('Decoded request status {raw,label}.'),
|
|
77
88
|
mediaStatus: StatusRef.optional().describe('Decoded availability of the non-4K copy {raw,label} (from media.status).'),
|
|
@@ -107,7 +118,10 @@ export const listRequestsTool = tool('seerr_list_requests', {
|
|
|
107
118
|
.describe('True when the page filled to the take limit (more may exist).'),
|
|
108
119
|
shown: z.number().optional().describe('Number of requests returned.'),
|
|
109
120
|
cap: z.number().optional().describe('The take limit that was applied.'),
|
|
110
|
-
notice: z
|
|
121
|
+
notice: z
|
|
122
|
+
.string()
|
|
123
|
+
.optional()
|
|
124
|
+
.describe('Combined guidance for this page: the paging hint when the result was capped, a broaden-the-filter hint when nothing matched, and disclosure when includeTitles left some rows without a title. All applicable parts are joined into this one field.'),
|
|
111
125
|
},
|
|
112
126
|
enrichmentTrailer: {
|
|
113
127
|
appliedFilters: {
|
|
@@ -126,15 +140,29 @@ export const listRequestsTool = tool('seerr_list_requests', {
|
|
|
126
140
|
...(typeof input.requestedById === 'number' ? { requestedById: input.requestedById } : {}),
|
|
127
141
|
}, ctx);
|
|
128
142
|
const rows = response.results ?? [];
|
|
143
|
+
const typeOf = (r) => r.type === 'tv' ? 'tv' : 'movie';
|
|
144
|
+
/**
|
|
145
|
+
* Hydration is opt-in because its cost scales with the page: with
|
|
146
|
+
* includeTitles unset this stays a single upstream read, exactly as before.
|
|
147
|
+
*/
|
|
148
|
+
const lookup = input.includeTitles
|
|
149
|
+
? await resolveTitles(rows.flatMap((r) => typeof r.media?.tmdbId === 'number'
|
|
150
|
+
? [{ mediaType: typeOf(r), tmdbId: r.media.tmdbId }]
|
|
151
|
+
: []), seerr, ctx)
|
|
152
|
+
: undefined;
|
|
129
153
|
const requests = rows.map((r) => {
|
|
130
|
-
const mediaType = r
|
|
154
|
+
const mediaType = typeOf(r);
|
|
131
155
|
const seasons = normalizeSeasons(r);
|
|
132
156
|
const tmdbId = r.media?.tmdbId;
|
|
157
|
+
const title = lookup && typeof tmdbId === 'number'
|
|
158
|
+
? lookup.titles.get(titleKeyOf(mediaType, tmdbId))
|
|
159
|
+
: undefined;
|
|
133
160
|
const mediaStatus = typeof r.media?.status === 'number' ? decodeMediaStatus(r.media.status) : undefined;
|
|
134
161
|
const mediaStatus4k = typeof r.media?.status4k === 'number' ? decodeMediaStatus(r.media.status4k) : undefined;
|
|
135
162
|
return {
|
|
136
163
|
requestId: r.id,
|
|
137
164
|
mediaType,
|
|
165
|
+
...(title ? { title } : {}),
|
|
138
166
|
...(typeof tmdbId === 'number' ? { tmdbId } : {}),
|
|
139
167
|
requestStatus: decodeRequestStatus(r.status ?? 1),
|
|
140
168
|
...(mediaStatus ? { mediaStatus } : {}),
|
|
@@ -150,16 +178,46 @@ export const listRequestsTool = tool('seerr_list_requests', {
|
|
|
150
178
|
ctx.enrich({
|
|
151
179
|
appliedFilters: { filter: input.filter, mediaType: input.mediaType, sort: input.sort },
|
|
152
180
|
});
|
|
181
|
+
const notices = [];
|
|
182
|
+
if (requests.length === 0) {
|
|
183
|
+
notices.push(`No requests matched filter="${input.filter}", mediaType="${input.mediaType}". Try filter="all" or a different mediaType.`);
|
|
184
|
+
}
|
|
185
|
+
if (lookup) {
|
|
186
|
+
/**
|
|
187
|
+
* Two distinct outcomes, kept apart on purpose: a row with no tmdbId was
|
|
188
|
+
* never hydratable (normal), while a row that had one and still has no
|
|
189
|
+
* title had its lookup attempted and fail.
|
|
190
|
+
*/
|
|
191
|
+
const noTmdbId = requests.filter((r) => r.tmdbId === undefined).length;
|
|
192
|
+
const unresolved = requests.filter((r) => r.tmdbId !== undefined && r.title === undefined).length;
|
|
193
|
+
if (unresolved > 0) {
|
|
194
|
+
notices.push(`Title lookup failed for ${requestCount(unresolved)}; those rows keep every other field.`);
|
|
195
|
+
}
|
|
196
|
+
if (noTmdbId > 0) {
|
|
197
|
+
notices.push(`Titles unavailable for ${requestCount(noTmdbId)} with no tmdbId.`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* `enrich.truncated` writes the shared `notice` field, so a hydration
|
|
202
|
+
* disclosure and the pagination hint would silently overwrite each other.
|
|
203
|
+
* Compose them into one string when both apply.
|
|
204
|
+
*/
|
|
153
205
|
if (requests.length >= input.take && requests.length < total) {
|
|
154
|
-
|
|
206
|
+
const pagination = `Results capped at ${input.take}; showing ${requests.length} of ${total}. Raise take or page with skip.`;
|
|
207
|
+
ctx.enrich.truncated({
|
|
208
|
+
shown: requests.length,
|
|
209
|
+
cap: input.take,
|
|
210
|
+
guidance: [pagination, ...notices].join(' '),
|
|
211
|
+
});
|
|
155
212
|
}
|
|
156
|
-
if (
|
|
157
|
-
ctx.enrich.notice(
|
|
213
|
+
else if (notices.length > 0) {
|
|
214
|
+
ctx.enrich.notice(notices.join(' '));
|
|
158
215
|
}
|
|
159
216
|
ctx.log.info('Seerr request list fetched', {
|
|
160
217
|
filter: input.filter,
|
|
161
218
|
returned: requests.length,
|
|
162
219
|
total,
|
|
220
|
+
titleLookups: lookup?.uniqueKeys ?? 0,
|
|
163
221
|
});
|
|
164
222
|
return { requests };
|
|
165
223
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-requests.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-requests.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"list-requests.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-requests.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
* @fileoverview seerr_request_media — the guarded write, the only mutation in the
|
|
3
3
|
* surface. It resolves and PREVIEWS a request payload by default (mode: preview,
|
|
4
4
|
* no write), and creates the request only on mode:request AND an explicit
|
|
5
|
-
*
|
|
6
|
-
* never a direct Radarr/Sonarr call.
|
|
5
|
+
* confirmation collected over a multi-round-trip input round. "Download X" means
|
|
6
|
+
* "create a Seerr request for X" — never a direct Radarr/Sonarr call.
|
|
7
7
|
*
|
|
8
8
|
* Three-layer guard:
|
|
9
9
|
* 1. mode:preview is the blast-radius-safe default (resolve + validate, no POST).
|
|
10
|
-
* 2. mode:request
|
|
11
|
-
*
|
|
10
|
+
* 2. mode:request suspends on ctx.requestInput and writes only when the caller
|
|
11
|
+
* re-enters the handler with a schema-valid acceptance on ctx.inputs. There is
|
|
12
|
+
* no "proceed anyway" branch: a client that never answers leaves the write
|
|
13
|
+
* un-run, which fails safe.
|
|
14
|
+
* 3. destructiveHint:true surfaces the risk in client-side approval flows.
|
|
12
15
|
*
|
|
13
16
|
* Capability validation (4K enabled? seasons valid? partial allowed?) runs LOCALLY
|
|
14
17
|
* against the cached /settings/public BEFORE any POST, so a bad request fails with
|
|
@@ -116,7 +119,7 @@ export declare const requestMediaTool: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
116
119
|
}, {
|
|
117
120
|
readonly reason: "request_cancelled";
|
|
118
121
|
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
119
|
-
readonly when: "the
|
|
122
|
+
readonly when: "the confirmation round came back declined, cancelled, or without a valid acceptance.";
|
|
120
123
|
readonly recovery: "Re-run with mode:request and confirm the prompt if you intend to submit the request.";
|
|
121
124
|
}], undefined>;
|
|
122
125
|
//# sourceMappingURL=request-media.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-media.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-media.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request-media.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-media.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAuB,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AA0B3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6X3B,CAAC"}
|
|
@@ -2,27 +2,43 @@
|
|
|
2
2
|
* @fileoverview seerr_request_media — the guarded write, the only mutation in the
|
|
3
3
|
* surface. It resolves and PREVIEWS a request payload by default (mode: preview,
|
|
4
4
|
* no write), and creates the request only on mode:request AND an explicit
|
|
5
|
-
*
|
|
6
|
-
* never a direct Radarr/Sonarr call.
|
|
5
|
+
* confirmation collected over a multi-round-trip input round. "Download X" means
|
|
6
|
+
* "create a Seerr request for X" — never a direct Radarr/Sonarr call.
|
|
7
7
|
*
|
|
8
8
|
* Three-layer guard:
|
|
9
9
|
* 1. mode:preview is the blast-radius-safe default (resolve + validate, no POST).
|
|
10
|
-
* 2. mode:request
|
|
11
|
-
*
|
|
10
|
+
* 2. mode:request suspends on ctx.requestInput and writes only when the caller
|
|
11
|
+
* re-enters the handler with a schema-valid acceptance on ctx.inputs. There is
|
|
12
|
+
* no "proceed anyway" branch: a client that never answers leaves the write
|
|
13
|
+
* un-run, which fails safe.
|
|
14
|
+
* 3. destructiveHint:true surfaces the risk in client-side approval flows.
|
|
12
15
|
*
|
|
13
16
|
* Capability validation (4K enabled? seasons valid? partial allowed?) runs LOCALLY
|
|
14
17
|
* against the cached /settings/public BEFORE any POST, so a bad request fails with
|
|
15
18
|
* an actionable typed error rather than a failed write.
|
|
16
19
|
* @module mcp-server/tools/definitions/request-media.tool
|
|
17
20
|
*/
|
|
18
|
-
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
21
|
+
import { inputRequired, tool, z } from '@cyanheads/mcp-ts-core';
|
|
19
22
|
import { JsonRpcErrorCode, McpError } from '@cyanheads/mcp-ts-core/errors';
|
|
20
23
|
import { redactOpenRequest } from '../../../services/seerr/normalizers.js';
|
|
21
24
|
import { getSeerrService } from '../../../services/seerr/seerr-service.js';
|
|
22
25
|
import { decodeMediaStatus, decodeRequestStatus, StatusRef, statusText, } from '../../../services/seerr/status.js';
|
|
26
|
+
/** Identifier the confirmation round is filed under across both rounds of the write. */
|
|
27
|
+
const CONFIRM_KEY = 'confirm';
|
|
28
|
+
/**
|
|
29
|
+
* Shape of the confirmation response. Passed to BOTH the request and the read:
|
|
30
|
+
* the SDK never re-validates a response against the schema its request advertised,
|
|
31
|
+
* and the payload is client-mediated, so "the user answered" is not "the user
|
|
32
|
+
* authored these exact fields".
|
|
33
|
+
*/
|
|
34
|
+
const ConfirmSchema = z.object({
|
|
35
|
+
confirmed: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.describe('True submits the request to Seerr. Anything else cancels it unsubmitted.'),
|
|
38
|
+
});
|
|
23
39
|
export const requestMediaTool = tool('seerr_request_media', {
|
|
24
40
|
title: 'seerr-mcp-server: request media',
|
|
25
|
-
description: 'Create a Seerr media request — the guarded write. Defaults to mode:preview, which resolves the exact title and returns the request payload that WOULD be submitted WITHOUT creating anything; pass mode:request to actually submit
|
|
41
|
+
description: 'Create a Seerr media request — the guarded write. Defaults to mode:preview, which resolves the exact title and returns the request payload that WOULD be submitted WITHOUT creating anything; pass mode:request to actually submit, which asks for an explicit confirmation and submits only once that confirmation comes back accepted. Treat "download X" as "create a Seerr request for X". Always preview first unless the title is already confirmed.',
|
|
26
42
|
annotations: {
|
|
27
43
|
readOnlyHint: false,
|
|
28
44
|
destructiveHint: true,
|
|
@@ -174,7 +190,7 @@ export const requestMediaTool = tool('seerr_request_media', {
|
|
|
174
190
|
{
|
|
175
191
|
reason: 'request_cancelled',
|
|
176
192
|
code: JsonRpcErrorCode.InvalidParams,
|
|
177
|
-
when: 'the
|
|
193
|
+
when: 'the confirmation round came back declined, cancelled, or without a valid acceptance.',
|
|
178
194
|
recovery: 'Re-run with mode:request and confirm the prompt if you intend to submit the request.',
|
|
179
195
|
},
|
|
180
196
|
],
|
|
@@ -243,8 +259,15 @@ export const requestMediaTool = tool('seerr_request_media', {
|
|
|
243
259
|
ctx.log.info('Seerr request previewed', { tmdbId: input.tmdbId, mediaType: input.mediaType });
|
|
244
260
|
return { mode: 'preview', ...baseOutput };
|
|
245
261
|
}
|
|
246
|
-
|
|
247
|
-
|
|
262
|
+
/**
|
|
263
|
+
* REQUEST — guarded write. Layer 2: the confirmation round. First pass through
|
|
264
|
+
* this arm carries no response for CONFIRM_KEY, so the handler suspends and is
|
|
265
|
+
* re-entered once the caller has answered. Anything back that is not a
|
|
266
|
+
* schema-valid `confirmed: true` — declined, cancelled, another response kind,
|
|
267
|
+
* or unparseable — is terminal: re-issuing the same request would loop until the
|
|
268
|
+
* round budget runs out, and it is never consent.
|
|
269
|
+
*/
|
|
270
|
+
if (ctx.inputs.view(CONFIRM_KEY).kind === 'missing') {
|
|
248
271
|
const seasonSummary = input.mediaType === 'tv'
|
|
249
272
|
? input.seasons === 'all'
|
|
250
273
|
? ' (all seasons)'
|
|
@@ -252,14 +275,21 @@ export const requestMediaTool = tool('seerr_request_media', {
|
|
|
252
275
|
? ` (seasons ${input.seasons.join(', ')})`
|
|
253
276
|
: ''
|
|
254
277
|
: '';
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
278
|
+
return ctx.requestInput({
|
|
279
|
+
inputRequests: {
|
|
280
|
+
[CONFIRM_KEY]: inputRequired.elicit({
|
|
281
|
+
message: `Create a Seerr request for "${title}"${input.is4k ? ' (4K)' : ''}${seasonSummary}? This adds it to your Radarr/Sonarr download queue.`,
|
|
282
|
+
requestedSchema: ConfirmSchema,
|
|
283
|
+
}),
|
|
284
|
+
},
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
if (ctx.inputs.accepted(CONFIRM_KEY, ConfirmSchema)?.confirmed !== true) {
|
|
288
|
+
throw ctx.fail('request_cancelled', 'Request cancelled before submission.', {
|
|
289
|
+
...ctx.recoveryFor('request_cancelled'),
|
|
290
|
+
});
|
|
261
291
|
}
|
|
262
|
-
// Layer 1+3: preview default
|
|
292
|
+
// Layer 1+3: preview default and the confirmation round both passed.
|
|
263
293
|
let created;
|
|
264
294
|
try {
|
|
265
295
|
const result = await seerr.createRequest(payload, ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-media.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-media.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-media.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-media.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
* (PII-redacted), a routing summary (names/IDs only — no filesystem paths), and a
|
|
5
5
|
* status-tuned recovery hint. A missing request id surfaces as request_not_found
|
|
6
6
|
* (Seerr's raw HTTP 404 is classified in the service layer). `profileName` is null
|
|
7
|
-
* at this endpoint, so routing.profileName is optional
|
|
8
|
-
* request object
|
|
7
|
+
* at this endpoint, so routing.profileName is optional. `title` is not on the
|
|
8
|
+
* request object; it is joined from the media detail endpoint on every call — one
|
|
9
|
+
* request, one extra read, so it needs no opt-in flag. A request with no tmdbId,
|
|
10
|
+
* or a detail lookup that fails, degrades to no title rather than failing.
|
|
9
11
|
* @module mcp-server/tools/definitions/request-status.tool
|
|
10
12
|
*/
|
|
11
13
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-status.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-status.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request-status.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-status.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAMjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4G5B,CAAC"}
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
* (PII-redacted), a routing summary (names/IDs only — no filesystem paths), and a
|
|
5
5
|
* status-tuned recovery hint. A missing request id surfaces as request_not_found
|
|
6
6
|
* (Seerr's raw HTTP 404 is classified in the service layer). `profileName` is null
|
|
7
|
-
* at this endpoint, so routing.profileName is optional
|
|
8
|
-
* request object
|
|
7
|
+
* at this endpoint, so routing.profileName is optional. `title` is not on the
|
|
8
|
+
* request object; it is joined from the media detail endpoint on every call — one
|
|
9
|
+
* request, one extra read, so it needs no opt-in flag. A request with no tmdbId,
|
|
10
|
+
* or a detail lookup that fails, degrades to no title rather than failing.
|
|
9
11
|
* @module mcp-server/tools/definitions/request-status.tool
|
|
10
12
|
*/
|
|
11
13
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
@@ -13,6 +15,7 @@ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
|
13
15
|
import { projectRequestDetail } from '../../../services/seerr/normalizers.js';
|
|
14
16
|
import { getSeerrService } from '../../../services/seerr/seerr-service.js';
|
|
15
17
|
import { StatusRef, statusText } from '../../../services/seerr/status.js';
|
|
18
|
+
import { hydrateRequestTitle } from '../../../services/seerr/titles.js';
|
|
16
19
|
export const requestStatusTool = tool('seerr_request_status', {
|
|
17
20
|
title: 'seerr-mcp-server: request status',
|
|
18
21
|
description: 'Fetch one media request by ID and return its decoded request status, decoded media availability (including 4K), requester, a routing summary, and a next-step hint tuned to the current state. Get the requestId from seerr_request_media (created.requestId) or seerr_list_requests.',
|
|
@@ -27,7 +30,10 @@ export const requestStatusTool = tool('seerr_request_status', {
|
|
|
27
30
|
output: z.object({
|
|
28
31
|
requestId: z.number().describe('The request ID.'),
|
|
29
32
|
mediaType: z.enum(['movie', 'tv']).describe('Movie or TV.'),
|
|
30
|
-
title: z
|
|
33
|
+
title: z
|
|
34
|
+
.string()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Title of the requested media, joined from the media record; absent when the request carries no tmdbId or the lookup failed.'),
|
|
31
37
|
tmdbId: z.number().optional().describe('TMDB ID of the media.'),
|
|
32
38
|
requestStatus: StatusRef.describe('Decoded request status {raw,label}.'),
|
|
33
39
|
mediaStatus: StatusRef.optional().describe('Decoded media availability {raw,label}.'),
|
|
@@ -68,10 +74,11 @@ export const requestStatusTool = tool('seerr_request_status', {
|
|
|
68
74
|
async handler(input, ctx) {
|
|
69
75
|
const seerr = getSeerrService();
|
|
70
76
|
const raw = await seerr.getRequest(input.requestId, ctx);
|
|
71
|
-
const detail = projectRequestDetail(raw);
|
|
77
|
+
const detail = await hydrateRequestTitle(projectRequestDetail(raw), seerr, ctx);
|
|
72
78
|
ctx.log.info('Seerr request status fetched', {
|
|
73
79
|
requestId: input.requestId,
|
|
74
80
|
status: detail.requestStatus.label,
|
|
81
|
+
titleResolved: detail.title !== undefined,
|
|
75
82
|
});
|
|
76
83
|
return detail;
|
|
77
84
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-status.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-status.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request-status.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/request-status.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,7 @@ export interface DomainRequestDetail {
|
|
|
97
97
|
};
|
|
98
98
|
seasons?: number[];
|
|
99
99
|
stateGuidance?: string;
|
|
100
|
+
title?: string;
|
|
100
101
|
tmdbId?: number;
|
|
101
102
|
updatedAt: string;
|
|
102
103
|
}
|
|
@@ -105,7 +106,9 @@ export interface DomainRequestDetail {
|
|
|
105
106
|
* `DomainRequestDetail`. The media-type discriminator is `type` (not `mediaType`);
|
|
106
107
|
* `requestedBy` is projected to `{ id, displayName }`; `modifiedBy`, `serviceUrl`,
|
|
107
108
|
* tokens, and paths are dropped by omission. `routing` carries names/IDs only.
|
|
108
|
-
* `title` is
|
|
109
|
+
* `title` is never set here — request objects have no title field, so it is
|
|
110
|
+
* joined from the media detail endpoint by `hydrateRequestTitle` (`titles.ts`),
|
|
111
|
+
* keeping this projection sync and I/O-free.
|
|
109
112
|
* `stateGuidance` reads `status4k` for a 4K request and `status` otherwise.
|
|
110
113
|
*/
|
|
111
114
|
export declare function projectRequestDetail(raw: RawMediaRequest): DomainRequestDetail;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizers.d.ts","sourceRoot":"","sources":["../../../src/services/seerr/normalizers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0C,MAAM,aAAa,CAAC;AACzF,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAQnD;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,kBAAkB,CAMxE;AAED,6GAA6G;AAC7G,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAM/D;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAWhG;AAQD,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAOA;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAQA;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAElF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,OAAO,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAMlD;AAED,gHAAgH;AAChH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"normalizers.d.ts","sourceRoot":"","sources":["../../../src/services/seerr/normalizers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAA0C,MAAM,aAAa,CAAC;AACzF,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAQnD;AAED,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,kBAAkB,CAMxE;AAED,6GAA6G;AAC7G,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAM/D;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAWhG;AAQD,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAOA;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAQA;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAElF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,OAAO,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAMlD;AAED,gHAAgH;AAChH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,mBAAmB,CAqC9E"}
|
|
@@ -116,7 +116,9 @@ export function redactRootFolder(raw, includePaths) {
|
|
|
116
116
|
* `DomainRequestDetail`. The media-type discriminator is `type` (not `mediaType`);
|
|
117
117
|
* `requestedBy` is projected to `{ id, displayName }`; `modifiedBy`, `serviceUrl`,
|
|
118
118
|
* tokens, and paths are dropped by omission. `routing` carries names/IDs only.
|
|
119
|
-
* `title` is
|
|
119
|
+
* `title` is never set here — request objects have no title field, so it is
|
|
120
|
+
* joined from the media detail endpoint by `hydrateRequestTitle` (`titles.ts`),
|
|
121
|
+
* keeping this projection sync and I/O-free.
|
|
120
122
|
* `stateGuidance` reads `status4k` for a 4K request and `status` otherwise.
|
|
121
123
|
*/
|
|
122
124
|
export function projectRequestDetail(raw) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../src/services/seerr/normalizers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAsB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAYzF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,MAAM,WAAW,GACf,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,gBAAgB;QACpB,GAAG,CAAC,YAAY;QAChB,GAAG,CAAC,WAAW;QACf,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC;IACpB,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC;AACrC,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiB;IAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAClD,OAAO;QACL,MAAM;QACN,GAAG,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,gBAAgB,CAAC,GAAoB;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;SACzD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AACvD,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA+B;IAC/D,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAC3C,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CACzD,CAAC;IACF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,EAAE;QACpB,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI;KAC3B,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,CAAkB;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,GAAc;IAMzC,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC;QACnC,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,aAAa,CAAC,GAAe;IAM3C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtC,OAAO;QACL,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC;QACrC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;QAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAAC,GAAsB;IAClD,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAkB,EAClB,YAAqB;IAErB,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;QACpB,GAAG,CAAC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"normalizers.js","sourceRoot":"","sources":["../../../src/services/seerr/normalizers.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,16 @@ import type { CreateRequestBody, RawMediaRequest, RawMovieDetail, RawPublicSetti
|
|
|
21
21
|
* for method-return clarity (same shape as the list entries).
|
|
22
22
|
*/
|
|
23
23
|
export type RawMediaRequestDetail = RawMediaRequest;
|
|
24
|
+
/**
|
|
25
|
+
* Per-call overrides for the media-detail reads (`getMovie` / `getTv`). Both are
|
|
26
|
+
* called on a required path (`seerr_get_media`, where the detail IS the answer)
|
|
27
|
+
* and on a best-effort path (the title join), whose failure is absorbed — so the
|
|
28
|
+
* retry budget has to be the caller's choice rather than one fixed policy.
|
|
29
|
+
*/
|
|
30
|
+
export interface DetailReadOptions {
|
|
31
|
+
/** Retry budget for this call. Omit for the framework default; `0` = single attempt. */
|
|
32
|
+
maxRetries?: number;
|
|
33
|
+
}
|
|
24
34
|
/** Filters accepted by `listRequests`. */
|
|
25
35
|
export interface ListRequestsParams {
|
|
26
36
|
filter: string;
|
|
@@ -43,9 +53,9 @@ export declare class SeerrService {
|
|
|
43
53
|
language?: string;
|
|
44
54
|
}, ctx: Context): Promise<RawSearchResponse>;
|
|
45
55
|
/** `GET /movie/{id}` — movie detail. 500 "Unable to retrieve movie." → media_not_found. */
|
|
46
|
-
getMovie(tmdbId: number, ctx: Context): Promise<RawMovieDetail>;
|
|
56
|
+
getMovie(tmdbId: number, ctx: Context, options?: DetailReadOptions): Promise<RawMovieDetail>;
|
|
47
57
|
/** `GET /tv/{id}` — TV detail. */
|
|
48
|
-
getTv(tmdbId: number, ctx: Context): Promise<RawTvDetail>;
|
|
58
|
+
getTv(tmdbId: number, ctx: Context, options?: DetailReadOptions): Promise<RawTvDetail>;
|
|
49
59
|
/** `GET /tv/{id}/season/{n}` — episode list for one season. */
|
|
50
60
|
getSeason(tmdbId: number, seasonNumber: number, ctx: Context): Promise<RawSeasonDetail>;
|
|
51
61
|
/** `GET /request` — list requests with filters. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seerr-service.d.ts","sourceRoot":"","sources":["../../../src/services/seerr/seerr-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"seerr-service.d.ts","sourceRoot":"","sources":["../../../src/services/seerr/seerr-service.ts"],"names":[],"mappings":"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"}
|