import_issues
Check for and resolve import issues and stuck downloads in media management services to maintain workflow continuity.
Instructions
Check for import issues and stuck downloads
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes |
Implementation Reference
- src/services/shared.ts:468-498 (handler)Core handler implementation that fetches 'wanted' endpoint data from ARR services (Sonarr/Radarr), maps missing items to import issues, limits to top 10, and returns structured OperationResult.async importIssues(): Promise<OperationResult<ImportIssueData>> { debugOperation(this.serviceName, "importIssues"); try { const response: WantedResponse = await fetchJson( this.buildApiUrl(this.endpoints.wanted), ); const records = response.records || []; const issues = records.slice(0, 10).map((item: WantedRecord) => ({ id: item.id, title: item.title, reason: `Missing ${this.mediaKind === "series" ? "episode" : "movie file"}`, ageMinutes: 0, })); return { ok: true, data: { service: this.serviceName, mediaKind: this.mediaKind, issues, summary: { total: records.length, stuckPending: issues.length, failedImport: 0, }, }, }; } catch (error) { return handleError(error, this.serviceName); }
- src/index.ts:116-124 (registration)MCP tool registration defining the 'import_issues' tool name, description, and input schema (requires 'service' parameter). This is part of the tools array provided to the MCP server.{ name: "import_issues", description: "Check for import issues and stuck downloads", inputSchema: { type: "object", properties: { service: { type: "string" } }, required: ["service"], }, },
- src/index.ts:322-323 (registration)Runtime dispatch/registration in the CallToolRequestSchema handler switch statement, routing 'import_issues' calls to the service.importIssues() method.case "import_issues": return await service.importIssues();
- src/services/base.ts:143-159 (schema)TypeScript interfaces defining the input/output structure for importIssues, including ImportIssue and ImportIssueData used in OperationResult.export interface ImportIssue { id: number; title: string; reason: string; ageMinutes: number; } export interface ImportIssueData { service: string; mediaKind: "series" | "movie"; issues: ImportIssue[]; summary: { total: number; stuckPending: number; failedImport: number; }; }
- src/services/base.ts:254-254 (schema)Method signature in ServiceImplementation interface declaring the importIssues method contract.importIssues(): Promise<OperationResult<ImportIssueData>>;