Documentation
¶
Overview ¶
Package server exposes an *arr media stack over the Model Context Protocol.
Index ¶
- Variables
- func InstanceCredentials(inst *config.Instance) arr.Credentials
- type Access
- type AddIndexerArgs
- type AddMovieArgs
- type AddNZBArgs
- type AddProviderArgs
- type AddSeriesArgs
- type AddTorrentArgs
- type AppProfileList
- type ApplicationList
- type BazarrHealthList
- type BazarrMovieList
- type BazarrSeriesList
- type BazarrTaskList
- type BlacklistPageArgs
- type BlacklistSubtitleArgs
- type BlocklistList
- type CalendarArgs
- type CategoryArgs
- type CategoryList
- type CategoryNamesArgs
- type CollectionList
- type CommandArgs
- type Confirmer
- type CreateCustomFormatArgs
- type CreateQualityProfileArgs
- type CreateReleaseProfileArgs
- type CustomFormatList
- type CustomFormatSpecArg
- type DefinitionArgs
- type DelayProfileList
- type DeleteArgs
- type DeleteBlacklistArgs
- type DeleteEpisodeSubtitleArgs
- type DeleteMovieSubtitleArgs
- type DeleteQueueArgs
- type DeleteQueueItemsArgs
- type DeleteTorrentsArgs
- type Deleted
- type DeletedCount
- type DiskSpaceList
- type DownloadEpisodeSubtitleArgs
- type DownloadMovieSubtitleArgs
- type EditMoviesArgs
- type EditSeriesArgs
- type EmptyArgs
- type EpisodeHistoryArgs
- type EpisodeList
- type EpisodeMonitorArgs
- type EpisodeSubtitleArgs
- type EpisodeSubtitlesList
- type EpisodesArgs
- type FileIDsArgs
- type FolderList
- type Gate
- type GlobalLimitsArgs
- type GrabArgs
- type GrabReleaseArgs
- type Grabbed
- type HealthList
- type HistoryList
- type IDArgs
- type IndexerList
- type IndexerSchemaList
- type IndexerStatList
- type IndexerTestList
- type InstanceArg
- type LabelArgs
- type LanguageList
- type LanguageProfileList
- type LanguagesArgs
- type LimitArgs
- type ManualImportArgs
- type ManualImportCandidateList
- type ManualImportFileArg
- type ManualImportPreviewArgs
- type ManualSearchEpisodeArgs
- type ManualSearchMovieArgs
- type MediaFileList
- type ModifySubtitleArgs
- type MovieActionArgs
- type MovieArgs
- type MovieHistoryArgs
- type MovieIDsArgs
- type MovieList
- type MovieSubtitleArgs
- type NZBAdded
- type NZBCategoryArgs
- type NZBDeleteArgs
- type NZBGroupList
- type NZBHistoryArgs
- type NZBHistoryList
- type NZBIDsArgs
- type NZBMarkArgs
- type NZBMoveArgs
- type NZBPriorityArgs
- type NZBRenameArgs
- type NZBRetryArgs
- type PageArgs
- type PathArgs
- type PauseScopeArgs
- type PauseState
- type ProfileList
- type ProviderFlagArgs
- type ProviderIDArgs
- type ProviderList
- type ProviderSchemaArgs
- type ProviderSchemaList
- type ProwlarrSearchArgs
- type QualityDefinitionList
- type QueueList
- type RadarrReleaseSearchArgs
- type RadarrRenameFilesArgs
- type RateLimit
- type RateLimitArgs
- type ReleaseCandidateList
- type ReleaseList
- type ReleaseProfileList
- type RenamePreviewList
- type Requested
- type RunTaskArgs
- type SchemaQueryArgs
- type SearchArgs
- type SearchScopeArgs
- type SeasonMonitorArgs
- type SeriesActionArgs
- type SeriesList
- type SeriesRenameArgs
- type SeriesSubtitlesArgs
- type Server
- type SetMovieProfileArgs
- type SetSeriesProfileArgs
- type SonarrReleaseSearchArgs
- type SonarrRenameFilesArgs
- type StatusMap
- type SubtitleBlacklistList
- type SubtitleCandidateList
- type SubtitleHistoryList
- type SubtitleInfoArgs
- type SubtitleProviderList
- type TagDetailList
- type TagList
- type TagNameList
- type TaskList
- type TorrentActionResult
- type TorrentCategoryArgs
- type TorrentFileList
- type TorrentFilterArgs
- type TorrentHashArgs
- type TorrentHashesArgs
- type TorrentLimitsArgs
- type TorrentList
- type TorrentLocationArgs
- type TorrentPriorityArgs
- type TorrentRenameArgs
- type TorrentTagsArgs
- type UpdateCollectionArgs
- type UpdateCustomFormatArgs
- type UpdateDelayProfileArgs
- type UpdateFilesArgs
- type UpdateIndexerArgs
- type UpdateList
- type UpdateMediaManagementConfigArgs
- type UpdateNamingConfigArgs
- type UpdateProviderArgs
- type UpdateQualityProfileArgs
- type UpdateReleaseProfileArgs
- type UpdateTagArgs
- type Updated
- type WantedEpisodeList
- type WantedMovieList
Constants ¶
This section is empty.
Variables ¶
var ( // ErrDeclined means the user was asked and said no. ErrDeclined = errors.New("the user declined this action") // ErrConfirmUnsupported means the client cannot prompt the user at all. ErrConfirmUnsupported = errors.New("client does not support elicitation") // ErrReadOnly means the server is configured to refuse all mutations. ErrReadOnly = errors.New("server is running in readonly mode") )
Errors returned when a call is not permitted.
var Version = resolveVersion()
Version is the version this server reports over MCP and via --version.
Functions ¶
func InstanceCredentials ¶ added in v1.1.0
func InstanceCredentials(inst *config.Instance) arr.Credentials
InstanceCredentials converts a configured instance's secrets into client credentials. Config validation has already ensured only the fields the service uses are set, so every field is passed through.
Types ¶
type Access ¶
type Access int
Access describes how much damage a tool can do.
func (Access) Annotations ¶
func (a Access) Annotations() *mcp.ToolAnnotations
Annotations returns the MCP hints matching this access tier so clients can render their own warnings independently of our gating.
type AddIndexerArgs ¶ added in v1.1.0
type AddIndexerArgs struct {
InstanceArg
DefinitionName string `json:"definitionName" jsonschema:"definitionName from prowlarr_list_indexer_schemas"`
Name string `json:"name" jsonschema:"display name for the new indexer"`
Enable *bool `json:"enable,omitempty"`
Priority *int `json:"priority,omitempty" jsonschema:"1 is highest, 50 is lowest; 25 is the default"`
AppProfileID *int `json:"appProfileId,omitempty" jsonschema:"sync profile id from prowlarr_list_app_profiles"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from prowlarr_list_tags"`
Fields map[string]any `json:"fields,omitempty" jsonschema:"indexer settings by field name from prowlarr_get_indexer_schema, e.g. baseUrl and apiKey"`
}
AddIndexerArgs is the input for prowlarr_add_indexer. The optional settings are pointers so an omitted argument keeps the definition's own default rather than resetting it to a zero value.
type AddMovieArgs ¶
type AddMovieArgs struct {
InstanceArg
TMDBID int `json:"tmdbId" jsonschema:"TMDB id from radarr_search_movies"`
Title string `json:"title,omitempty"`
QualityProfileID int `json:"qualityProfileId" jsonschema:"id from radarr_list_quality_profiles"`
RootFolderPath string `json:"rootFolderPath" jsonschema:"path from radarr_list_root_folders"`
SearchNow bool `json:"searchNow,omitempty" jsonschema:"start searching for the movie immediately"`
MinimumAvailability string `json:"minimumAvailability,omitempty" jsonschema:"tba, announced, inCinemas or released; defaults to released"`
Monitored *bool `json:"monitored,omitempty" jsonschema:"monitor the movie; defaults to true"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from radarr_list_tags"`
}
AddMovieArgs is the input for radarr_add_movie. As with AddSeriesArgs, an omitted optional keeps the previous default rather than sending a zero value.
type AddNZBArgs ¶ added in v1.1.0
type AddNZBArgs struct {
InstanceArg
URL string `json:"url,omitempty" jsonschema:"link to an .nzb file for NZBGet to fetch; exactly one of url and content is required"`
Content string `json:"content,omitempty" jsonschema:"base64-encoded .nzb file content, as an alternative to url"`
Filename string `json:"filename,omitempty" jsonschema:"name ending in .nzb; required with content, optional with url"`
Category string `json:"category,omitempty" jsonschema:"NZBGet category, e.g. Movies or Series"`
Priority int `` /* 136-byte string literal not displayed */
AddToTop bool `json:"addToTop,omitempty" jsonschema:"put the download at the top of the queue"`
AddPaused bool `json:"addPaused,omitempty" jsonschema:"add in a paused state"`
DupeKey string `json:"dupeKey,omitempty" jsonschema:"duplicate detection key, e.g. an imdb or tvdb id"`
DupeScore int `json:"dupeScore,omitempty" jsonschema:"quality score for duplicate resolution; higher wins"`
DupeMode string `json:"dupeMode,omitempty" jsonschema:"SCORE, ALL or FORCE; defaults to SCORE"`
}
AddNZBArgs is the input for nzbget_add_nzb.
type AddProviderArgs ¶ added in v1.3.0
type AddProviderArgs struct {
InstanceArg
ProviderFlagArgs
Kind string `json:"kind" jsonschema:"provider family: indexer, downloadClient, notification or importList"`
Implementation string `json:"implementation" jsonschema:"implementation from the provider schemas tool, e.g. Nzbget or Discord"`
Name string `json:"name" jsonschema:"display name for the new provider"`
Priority *int `json:"priority,omitempty" jsonschema:"indexers and download clients only; 1 is highest"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from the service's tag listing"`
Fields map[string]any `` /* 134-byte string literal not displayed */
}
AddProviderArgs is the input for the provider creation tool. The optional settings are pointers so an omitted argument keeps the implementation's own default rather than resetting it to a zero value.
type AddSeriesArgs ¶
type AddSeriesArgs struct {
InstanceArg
TVDBID int `json:"tvdbId" jsonschema:"TheTVDB id from sonarr_search_series"`
Title string `json:"title,omitempty"`
QualityProfileID int `json:"qualityProfileId" jsonschema:"id from sonarr_list_quality_profiles"`
RootFolderPath string `json:"rootFolderPath" jsonschema:"path from sonarr_list_root_folders"`
SearchNow bool `json:"searchNow,omitempty" jsonschema:"start searching for episodes immediately"`
Monitor string `` /* 145-byte string literal not displayed */
SeriesType string `json:"seriesType,omitempty" jsonschema:"standard, daily or anime; defaults to standard"`
SeasonFolder *bool `json:"seasonFolder,omitempty" jsonschema:"store each season in its own folder; defaults to true"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from sonarr_list_tags"`
}
AddSeriesArgs is the input for sonarr_add_series. The optional settings are pointers or empty strings so that omitting one keeps the behaviour this tool had before they existed: monitor everything, in season folders.
type AddTorrentArgs ¶ added in v1.1.0
type AddTorrentArgs struct {
InstanceArg
URLs []string `json:"urls" jsonschema:"http, https or magnet links to add"`
SavePath string `json:"savePath,omitempty" jsonschema:"download directory; omit for the default"`
Category string `json:"category,omitempty" jsonschema:"category from qbittorrent_list_categories"`
Tags []string `json:"tags,omitempty" jsonschema:"tags to apply on add"`
Stopped bool `json:"stopped,omitempty" jsonschema:"add without starting the download"`
Rename string `json:"rename,omitempty" jsonschema:"display name for the torrent"`
DownloadLimit *int64 `json:"downloadLimit,omitempty" jsonschema:"bytes per second"`
UploadLimit *int64 `json:"uploadLimit,omitempty" jsonschema:"bytes per second"`
RatioLimit *float64 `json:"ratioLimit,omitempty" jsonschema:"stop seeding at this share ratio"`
SeedingTimeLimit *int `json:"seedingTimeLimit,omitempty" jsonschema:"stop seeding after this many minutes"`
AutoTMM *bool `json:"autoTMM,omitempty" jsonschema:"let automatic torrent management pick the save path"`
}
AddTorrentArgs is the input for qbittorrent_add_torrent. Optional limits are pointers so an omitted argument leaves the instance defaults untouched.
type AppProfileList ¶ added in v1.1.0
type AppProfileList struct {
Profiles []arr.AppProfile `json:"profiles"`
Count int `json:"count"`
}
AppProfileList wraps Prowlarr sync profile results.
type ApplicationList ¶ added in v1.1.0
type ApplicationList struct {
Applications []arr.Application `json:"applications"`
Count int `json:"count"`
}
ApplicationList wraps the *arr instances Prowlarr syncs indexers to.
type BazarrHealthList ¶ added in v0.3.0
type BazarrHealthList struct {
Issues []arr.BazarrHealthIssue `json:"issues"`
Count int `json:"count"`
}
BazarrHealthList wraps Bazarr health issues, which use their own shape.
type BazarrMovieList ¶ added in v0.3.0
type BazarrMovieList struct {
Movies []arr.BazarrMovie `json:"movies"`
Returned int `json:"returned"`
Total int `json:"total" jsonschema:"total movies in the library, which may exceed those returned"`
}
BazarrMovieList wraps a page of Bazarr's movie view.
type BazarrSeriesList ¶ added in v0.3.0
type BazarrSeriesList struct {
Series []arr.BazarrSeries `json:"series"`
Returned int `json:"returned"`
Total int `json:"total" jsonschema:"total series in the library, which may exceed those returned"`
}
BazarrSeriesList wraps a page of Bazarr's series view.
type BazarrTaskList ¶ added in v1.1.0
type BazarrTaskList struct {
Tasks []arr.BazarrTask `json:"tasks"`
Count int `json:"count"`
}
BazarrTaskList wraps Bazarr scheduled jobs. Distinct from TaskList, which covers the *arr apps' own task shape.
type BlacklistPageArgs ¶ added in v1.1.0
type BlacklistPageArgs struct {
InstanceArg
Kind string `json:"kind" jsonschema:"which blacklist to read: episodes or movies"`
Start int `json:"start,omitempty" jsonschema:"offset into the result set; defaults to 0"`
Length int `json:"length,omitempty" jsonschema:"maximum records to return; defaults to all"`
}
BlacklistPageArgs pages one of Bazarr's two subtitle blacklists.
type BlacklistSubtitleArgs ¶ added in v1.1.0
type BlacklistSubtitleArgs struct {
InstanceArg
Kind string `json:"kind" jsonschema:"episodes or movies"`
SeriesID int `json:"seriesId,omitempty" jsonschema:"sonarrSeriesId; required when kind is episodes"`
EpisodeID int `json:"episodeId,omitempty" jsonschema:"sonarrEpisodeId; required when kind is episodes"`
RadarrID int `json:"radarrId,omitempty" jsonschema:"radarrId; required when kind is movies"`
Provider string `json:"provider" jsonschema:"provider from bazarr_episode_history or bazarr_movie_history"`
SubsID string `json:"subsId" jsonschema:"subs_id from the same history record"`
Language string `json:"language" jsonschema:"two-letter language code of the subtitle"`
SubtitlesPath string `json:"subtitlesPath" jsonschema:"subtitles_path from the same history record"`
}
BlacklistSubtitleArgs blacklists one downloaded subtitle.
type BlocklistList ¶ added in v0.3.0
type BlocklistList struct {
Items []arr.BlocklistItem `json:"items"`
Count int `json:"count"`
Total int `json:"total" jsonschema:"releases blocklisted across all pages"`
}
BlocklistList wraps blocklist results.
type CalendarArgs ¶
type CalendarArgs struct {
InstanceArg
Start string `json:"start,omitempty" jsonschema:"start date as YYYY-MM-DD"`
End string `json:"end,omitempty" jsonschema:"end date as YYYY-MM-DD"`
}
CalendarArgs is the input for calendar tools.
type CategoryArgs ¶ added in v1.1.0
type CategoryArgs struct {
InstanceArg
Name string `json:"name" jsonschema:"category name"`
SavePath string `json:"savePath,omitempty" jsonschema:"download directory for the category; omit for the default"`
}
CategoryArgs is the input for creating or editing a qBittorrent category.
type CategoryList ¶ added in v1.1.0
type CategoryList struct {
Categories []arr.TorrentCategory `json:"categories"`
Count int `json:"count"`
}
CategoryList wraps qBittorrent category results.
type CategoryNamesArgs ¶ added in v1.1.0
type CategoryNamesArgs struct {
InstanceArg
Names []string `json:"names" jsonschema:"category names from qbittorrent_list_categories"`
}
CategoryNamesArgs is the input for qbittorrent_delete_categories.
type CollectionList ¶ added in v0.3.0
type CollectionList struct {
Collections []arr.Collection `json:"collections"`
Count int `json:"count"`
}
CollectionList wraps Radarr collection results.
type CommandArgs ¶
type CommandArgs struct {
InstanceArg
Name string `json:"name" jsonschema:"command name, e.g. RefreshSeries, RssSync, Backup"`
}
CommandArgs is the input for triggering a background command.
type Confirmer ¶
type Confirmer interface {
Decision() (approved, answered bool, err error)
Ask(prompt string) (*mcp.CallToolResult, error)
}
Confirmer mediates the approval exchange with the connected client.
Approval spans two calls: Ask builds the request that puts the question to the user, and Decision reports the answer once the client has retried the call carrying it. Ask returns ErrConfirmUnsupported when the client cannot prompt at all.
type CreateCustomFormatArgs ¶ added in v1.4.0
type CreateCustomFormatArgs struct {
InstanceArg
Name string `json:"name" jsonschema:"a name for the new format"`
IncludeWhenRenaming bool `json:"includeCustomFormatWhenRenaming,omitempty" jsonschema:"add the format's name to renamed files"`
Specifications []CustomFormatSpecArg `json:"specifications" jsonschema:"the rules that make this format match; use the shape the get_custom_format tool reports"`
}
CreateCustomFormatArgs is the input for the create_custom_format tools.
type CreateQualityProfileArgs ¶ added in v1.4.0
type CreateQualityProfileArgs struct {
InstanceArg
Name string `json:"name" jsonschema:"a name for the new profile"`
Allowed []string `json:"allowed" jsonschema:"quality names to accept, e.g. WEBDL-1080p; group names from an existing profile also work"`
Cutoff string `json:"cutoff,omitempty" jsonschema:"quality to stop upgrading at; defaults to the best of allowed"`
UpgradeAllowed *bool `` /* 136-byte string literal not displayed */
}
CreateQualityProfileArgs is the input for the create_quality_profile tools. Qualities are named rather than numbered so a caller never has to guess an id.
type CreateReleaseProfileArgs ¶ added in v1.4.0
type CreateReleaseProfileArgs struct {
InstanceArg
Name string `json:"name,omitempty" jsonschema:"a name for the new profile"`
Enabled *bool `json:"enabled,omitempty" jsonschema:"defaults to true"`
Required []string `json:"required,omitempty" jsonschema:"terms a release title must contain"`
Ignored []string `json:"ignored,omitempty" jsonschema:"terms that reject a release"`
IndexerID *int `json:"indexerId,omitempty" jsonschema:"limit to one indexer, from the list_indexers tool; 0 means every indexer"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from the list_tags tool; empty applies the profile to everything"`
}
CreateReleaseProfileArgs is the input for sonarr_create_release_profile.
type CustomFormatList ¶ added in v0.3.0
type CustomFormatList struct {
Formats []arr.CustomFormat `json:"formats"`
Count int `json:"count"`
}
CustomFormatList wraps custom format results.
type CustomFormatSpecArg ¶ added in v1.4.0
type CustomFormatSpecArg struct {
Name string `json:"name" jsonschema:"a name for this rule"`
Implementation string `` /* 151-byte string literal not displayed */
Negate bool `json:"negate,omitempty" jsonschema:"invert the rule, so a match rejects instead of accepts"`
Required bool `json:"required,omitempty" jsonschema:"the format only matches when this rule does"`
Fields map[string]any `` /* 133-byte string literal not displayed */
}
CustomFormatSpecArg is one matching rule of a custom format.
type DefinitionArgs ¶ added in v1.1.0
type DefinitionArgs struct {
InstanceArg
DefinitionName string `json:"definitionName" jsonschema:"definitionName from prowlarr_list_indexer_schemas"`
}
DefinitionArgs selects one indexer definition by name.
type DelayProfileList ¶ added in v0.3.0
type DelayProfileList struct {
Profiles []arr.DelayProfile `json:"profiles"`
Count int `json:"count"`
}
DelayProfileList wraps delay profile results.
type DeleteArgs ¶
type DeleteArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"internal id of the item to remove"`
DeleteFiles bool `json:"deleteFiles,omitempty" jsonschema:"also delete downloaded files from disk"`
}
DeleteArgs is the input for deletion tools.
type DeleteBlacklistArgs ¶ added in v1.1.0
type DeleteBlacklistArgs struct {
InstanceArg
Kind string `json:"kind" jsonschema:"episodes or movies"`
Provider string `json:"provider,omitempty" jsonschema:"provider from bazarr_list_blacklist; required unless all is true"`
SubsID string `json:"subsId,omitempty" jsonschema:"subs_id from bazarr_list_blacklist; required unless all is true"`
All bool `json:"all,omitempty" jsonschema:"empty the whole blacklist instead of removing one entry"`
}
DeleteBlacklistArgs removes blacklist entries.
type DeleteEpisodeSubtitleArgs ¶ added in v0.3.0
type DeleteEpisodeSubtitleArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"sonarrSeriesId of the episode"`
EpisodeID int `json:"episodeId" jsonschema:"sonarrEpisodeId of the episode"`
Language string `json:"language" jsonschema:"two-letter language code of the subtitle to delete"`
Path string `json:"path" jsonschema:"subtitle file path from bazarr_list_episode_subtitles"`
Forced bool `json:"forced,omitempty"`
HI bool `json:"hi,omitempty" jsonschema:"hearing impaired subtitle"`
}
DeleteEpisodeSubtitleArgs identifies an existing subtitle file to remove. Path is required and comes from bazarr_list_episode_subtitles.
type DeleteMovieSubtitleArgs ¶ added in v0.3.0
type DeleteMovieSubtitleArgs struct {
InstanceArg
RadarrID int `json:"radarrId" jsonschema:"radarrId of the movie"`
Language string `json:"language" jsonschema:"two-letter language code of the subtitle to delete"`
Path string `json:"path" jsonschema:"subtitle file path of the subtitle to delete"`
Forced bool `json:"forced,omitempty"`
HI bool `json:"hi,omitempty" jsonschema:"hearing impaired subtitle"`
}
DeleteMovieSubtitleArgs identifies an existing movie subtitle file to remove.
type DeleteQueueArgs ¶
type DeleteQueueArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"queue item id from the queue tool"`
RemoveFromClient bool `json:"removeFromClient,omitempty" jsonschema:"also remove the download from the download client"`
Blocklist bool `json:"blocklist,omitempty" jsonschema:"blocklist the release so it is not grabbed again"`
}
DeleteQueueArgs is the input for queue removal tools.
type DeleteQueueItemsArgs ¶ added in v1.2.0
type DeleteQueueItemsArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"queue item ids from the queue tool"`
RemoveFromClient bool `json:"removeFromClient,omitempty" jsonschema:"also remove the downloads from the download client"`
Blocklist bool `json:"blocklist,omitempty" jsonschema:"blocklist the releases so they are not grabbed again"`
}
DeleteQueueItemsArgs is the input for the delete_queue_items tools.
type DeleteTorrentsArgs ¶ added in v1.1.0
type DeleteTorrentsArgs struct {
InstanceArg
Hashes []string `json:"hashes" jsonschema:"torrent hashes from qbittorrent_list_torrents, or [\"all\"] for every torrent"`
DeleteFiles bool `json:"deleteFiles,omitempty" jsonschema:"also delete the downloaded files from disk"`
}
DeleteTorrentsArgs is the input for qbittorrent_delete_torrents.
type DeletedCount ¶ added in v0.3.0
type DeletedCount struct {
Deleted int `json:"deleted"`
}
DeletedCount reports how many records a bulk deletion removed. A partial failure reports the count reached before the error, because deleted files do not come back and the caller must not blindly retry the whole list.
type DiskSpaceList ¶
DiskSpaceList wraps disk space results.
type DownloadEpisodeSubtitleArgs ¶ added in v1.1.0
type DownloadEpisodeSubtitleArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"sonarrSeriesId of the episode"`
EpisodeID int `json:"episodeId" jsonschema:"sonarrEpisodeId the search was run for"`
Provider string `json:"provider" jsonschema:"provider from bazarr_manual_search_episode, unchanged"`
Subtitle string `json:"subtitle" jsonschema:"subtitle token from bazarr_manual_search_episode, unchanged"`
HI bool `json:"hi,omitempty" jsonschema:"the candidate's hearingImpaired value"`
Forced bool `json:"forced,omitempty" jsonschema:"the candidate's forced value"`
OriginalFormat bool `json:"originalFormat,omitempty" jsonschema:"keep the provider's subtitle format instead of converting to srt"`
}
DownloadEpisodeSubtitleArgs downloads one manual search result.
type DownloadMovieSubtitleArgs ¶ added in v1.1.0
type DownloadMovieSubtitleArgs struct {
InstanceArg
RadarrID int `json:"radarrId" jsonschema:"radarrId the search was run for"`
Provider string `json:"provider" jsonschema:"provider from bazarr_manual_search_movie, unchanged"`
Subtitle string `json:"subtitle" jsonschema:"subtitle token from bazarr_manual_search_movie, unchanged"`
HI bool `json:"hi,omitempty" jsonschema:"the candidate's hearingImpaired value"`
Forced bool `json:"forced,omitempty" jsonschema:"the candidate's forced value"`
OriginalFormat bool `json:"originalFormat,omitempty" jsonschema:"keep the provider's subtitle format instead of converting to srt"`
}
DownloadMovieSubtitleArgs downloads one manual search result for a movie.
type EditMoviesArgs ¶ added in v0.3.0
type EditMoviesArgs struct {
InstanceArg
MovieIDs []int `json:"movieIds" jsonschema:"movie ids from radarr_list_movies"`
Monitored *bool `json:"monitored,omitempty" jsonschema:"monitor or unmonitor the movies"`
QualityProfileID *int `json:"qualityProfileId,omitempty" jsonschema:"id from radarr_list_quality_profiles"`
MinimumAvailability string `json:"minimumAvailability,omitempty" jsonschema:"tba, announced, inCinemas or released"`
RootFolderPath string `json:"rootFolderPath,omitempty" jsonschema:"path from radarr_list_root_folders"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from radarr_list_tags"`
ApplyTags string `json:"applyTags,omitempty" jsonschema:"how to apply tags: add, remove or replace; defaults to add"`
MoveFiles bool `json:"moveFiles,omitempty" jsonschema:"move files on disk when rootFolderPath changes"`
}
EditMoviesArgs is the input for radarr_edit_movies.
type EditSeriesArgs ¶ added in v0.3.0
type EditSeriesArgs struct {
InstanceArg
SeriesIDs []int `json:"seriesIds" jsonschema:"series ids from sonarr_list_series"`
Monitored *bool `json:"monitored,omitempty" jsonschema:"monitor or unmonitor the series"`
QualityProfileID *int `json:"qualityProfileId,omitempty" jsonschema:"id from sonarr_list_quality_profiles"`
SeasonFolder *bool `json:"seasonFolder,omitempty"`
RootFolderPath string `json:"rootFolderPath,omitempty" jsonschema:"path from sonarr_list_root_folders"`
SeriesType string `json:"seriesType,omitempty" jsonschema:"standard, daily or anime"`
MonitorNewItems string `json:"monitorNewItems,omitempty" jsonschema:"all or none"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from sonarr_list_tags"`
ApplyTags string `json:"applyTags,omitempty" jsonschema:"how to apply tags: add, remove or replace; defaults to add"`
MoveFiles bool `json:"moveFiles,omitempty" jsonschema:"move files on disk when rootFolderPath changes"`
}
EditSeriesArgs is the input for sonarr_edit_series. Optional fields are pointers so an omitted argument stays absent from the upstream request instead of resetting the setting to its zero value.
type EmptyArgs ¶
type EmptyArgs struct{ InstanceArg }
EmptyArgs is the input for tools that only need an instance.
type EpisodeHistoryArgs ¶ added in v1.1.0
type EpisodeHistoryArgs struct {
InstanceArg
Start int `json:"start,omitempty" jsonschema:"offset into the result set; defaults to 0"`
Length int `json:"length,omitempty" jsonschema:"maximum records to return; defaults to 50"`
EpisodeID int `json:"episodeId,omitempty" jsonschema:"limit to one episode by sonarrEpisodeId"`
}
EpisodeHistoryArgs pages Bazarr's episode subtitle history.
type EpisodeList ¶
type EpisodeList struct {
Episodes []arr.Episode `json:"episodes"`
Count int `json:"count"`
Total int `json:"total,omitempty" jsonschema:"records available across all pages"`
}
EpisodeList wraps episode results. Total is set only by the paged tools, where the page is capped and the count alone would understate the library.
type EpisodeMonitorArgs ¶ added in v0.3.0
type EpisodeMonitorArgs struct {
InstanceArg
EpisodeIDs []int `json:"episodeIds" jsonschema:"episode ids from sonarr_list_episodes"`
Monitored bool `json:"monitored" jsonschema:"true to monitor the episodes, false to unmonitor them"`
}
EpisodeMonitorArgs is the input for sonarr_monitor_episodes.
type EpisodeSubtitleArgs ¶ added in v0.3.0
type EpisodeSubtitleArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"sonarrSeriesId from bazarr_wanted_episodes"`
EpisodeID int `json:"episodeId" jsonschema:"sonarrEpisodeId from bazarr_wanted_episodes"`
Language string `json:"language" jsonschema:"two-letter language code, e.g. en"`
Forced bool `json:"forced,omitempty"`
HI bool `json:"hi,omitempty" jsonschema:"hearing impaired subtitle"`
}
EpisodeSubtitleArgs identifies one episode subtitle language to search for.
type EpisodeSubtitlesList ¶ added in v0.3.0
type EpisodeSubtitlesList struct {
Episodes []arr.EpisodeSubtitles `json:"episodes"`
Count int `json:"count"`
}
EpisodeSubtitlesList wraps per-episode subtitle state.
type EpisodesArgs ¶
type EpisodesArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"series id from sonarr_list_series"`
}
EpisodesArgs is the input for listing a series' episodes.
type FileIDsArgs ¶ added in v0.3.0
type FileIDsArgs struct {
InstanceArg
FileIDs []int `json:"fileIds" jsonschema:"file ids from the file listing tool"`
}
FileIDsArgs is the input for file deletion.
type FolderList ¶
type FolderList struct {
Folders []arr.RootFolder `json:"folders"`
}
FolderList wraps root folder results.
type Gate ¶
type Gate struct {
Perms config.Permissions
}
Gate applies the configured permission policy to tool calls.
type GlobalLimitsArgs ¶ added in v1.1.0
type GlobalLimitsArgs struct {
InstanceArg
DownloadLimit *int64 `json:"downloadLimit,omitempty" jsonschema:"global limit in bytes per second; 0 removes it"`
UploadLimit *int64 `json:"uploadLimit,omitempty" jsonschema:"global limit in bytes per second; 0 removes it"`
AlternativeMode *bool `json:"alternativeMode,omitempty" jsonschema:"switch the alternative speed limits on or off"`
}
GlobalLimitsArgs is the input for qbittorrent_set_global_limits.
type GrabArgs ¶ added in v1.1.0
type GrabArgs struct {
InstanceArg
GUID string `json:"guid" jsonschema:"guid from prowlarr_search"`
IndexerID int `json:"indexerId" jsonschema:"indexerId from prowlarr_search, identifying which indexer the release came from"`
}
GrabArgs identifies one release to send to a download client.
type GrabReleaseArgs ¶ added in v1.2.0
type GrabReleaseArgs struct {
InstanceArg
GUID string `json:"guid" jsonschema:"guid from the list_releases tool"`
IndexerID int `json:"indexerId" jsonschema:"indexerId from the same list_releases result as the guid"`
}
GrabReleaseArgs is the input for the grab_release tools.
type Grabbed ¶ added in v1.2.0
type Grabbed struct {
Grabbed bool `json:"grabbed"`
GUID string `json:"guid,omitempty"`
ID int `json:"id,omitempty"`
}
Grabbed reports that a release was handed to a download client.
type HealthList ¶
type HealthList struct {
Issues []arr.HealthIssue `json:"issues"`
Count int `json:"count"`
}
HealthList wraps health check results.
type HistoryList ¶
type HistoryList struct {
Records []arr.HistoryRecord `json:"records"`
Count int `json:"count"`
}
HistoryList wraps history results.
type IDArgs ¶ added in v0.3.0
type IDArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"internal id of the record"`
}
IDArgs is the input for tools that act on a single record by id.
type IndexerList ¶
IndexerList wraps indexer results.
type IndexerSchemaList ¶ added in v1.1.0
type IndexerSchemaList struct {
Schemas []arr.IndexerSchema `json:"schemas"`
Count int `json:"count"`
}
IndexerSchemaList wraps indexer definition results. The listing is capped, so Count is the size of the page rather than the number of definitions Prowlarr ships; narrow the query to see fewer.
type IndexerStatList ¶
type IndexerStatList struct {
Stats []arr.IndexerStat `json:"stats"`
}
IndexerStatList wraps Prowlarr indexer statistics.
type IndexerTestList ¶ added in v1.1.0
type IndexerTestList struct {
Results []arr.IndexerTestResult `json:"results"`
Count int `json:"count"`
Failed int `json:"failed" jsonschema:"how many indexers failed their test"`
}
IndexerTestList wraps the outcome of testing every indexer.
type InstanceArg ¶
type InstanceArg struct {
Instance string `json:"instance,omitempty" jsonschema:"which configured instance to use; omit to use the default"`
}
InstanceArg is embedded in every tool input to select which configured instance of a service the call targets.
type LabelArgs ¶ added in v0.3.0
type LabelArgs struct {
InstanceArg
Label string `json:"label" jsonschema:"tag label, e.g. kids or 4k"`
}
LabelArgs is the input for tag creation.
type LanguageList ¶ added in v0.3.0
type LanguageList struct {
Languages []arr.SubtitleLanguage `json:"languages"`
}
LanguageList wraps subtitle languages.
type LanguageProfileList ¶ added in v1.1.0
type LanguageProfileList struct {
Profiles []arr.LanguageProfile `json:"profiles"`
Count int `json:"count"`
}
LanguageProfileList wraps Bazarr languages profiles.
type LanguagesArgs ¶ added in v0.3.0
type LanguagesArgs struct {
InstanceArg
All bool `json:"all,omitempty" jsonschema:"return every ISO language instead of only the enabled ones"`
}
LanguagesArgs is the input for listing Bazarr languages.
type LimitArgs ¶
type LimitArgs struct {
InstanceArg
Limit int `json:"limit,omitempty" jsonschema:"maximum records to return; defaults to 20"`
}
LimitArgs is the input for paged listing tools.
type ManualImportArgs ¶ added in v1.2.0
type ManualImportArgs struct {
InstanceArg
Files []ManualImportFileArg `json:"files" jsonschema:"the files to import, from manual_import_preview"`
ImportMode string `json:"importMode,omitempty" jsonschema:"auto, move or copy; defaults to auto"`
}
ManualImportArgs is the input for the manual_import tools.
type ManualImportCandidateList ¶ added in v1.2.0
type ManualImportCandidateList struct {
Files []arr.ManualImportCandidate `json:"files"`
Count int `json:"count"`
}
ManualImportCandidateList wraps manual import preview results.
type ManualImportFileArg ¶ added in v1.2.0
type ManualImportFileArg struct {
Path string `json:"path" jsonschema:"path from the manual_import_preview tool, unchanged"`
SeriesID *int `json:"seriesId,omitempty" jsonschema:"Sonarr only; which series the file belongs to"`
EpisodeIDs []int `json:"episodeIds,omitempty" jsonschema:"Sonarr only; which episodes the file contains"`
MovieID *int `json:"movieId,omitempty" jsonschema:"Radarr only; which movie the file is"`
Quality string `json:"quality,omitempty" jsonschema:"quality name, e.g. WEBDL-1080p; taken from the preview unless it was wrong"`
Languages []string `json:"languages,omitempty" jsonschema:"language names, e.g. English"`
ReleaseGroup string `json:"releaseGroup,omitempty"`
DownloadID string `json:"downloadId,omitempty" jsonschema:"downloadId from the preview, so the import is credited to that download"`
}
ManualImportFileArg is one file to import. Quality and Languages are names as the preview reports them, e.g. "WEBDL-1080p" and "English".
type ManualImportPreviewArgs ¶ added in v1.2.0
type ManualImportPreviewArgs struct {
InstanceArg
Folder string `json:"folder,omitempty" jsonschema:"path on the service's filesystem to scan"`
DownloadID string `json:"downloadId,omitempty" jsonschema:"downloadId from the queue tool"`
SeriesID *int `json:"seriesId,omitempty" jsonschema:"Sonarr only; series id to match the files against"`
MovieID *int `json:"movieId,omitempty" jsonschema:"Radarr only; movie id to match the files against"`
FilterExistingFiles *bool `json:"filterExistingFiles,omitempty" jsonschema:"hide files already in the library; defaults to the service's own behaviour"`
}
ManualImportPreviewArgs is the input for the manual_import_preview tools. Exactly one of Folder and DownloadID identifies what to inspect.
type ManualSearchEpisodeArgs ¶ added in v1.1.0
type ManualSearchEpisodeArgs struct {
InstanceArg
EpisodeID int `json:"episodeId" jsonschema:"sonarrEpisodeId from bazarr_wanted_episodes or bazarr_list_episode_subtitles"`
}
ManualSearchEpisodeArgs selects the episode to search providers for.
type ManualSearchMovieArgs ¶ added in v1.1.0
type ManualSearchMovieArgs struct {
InstanceArg
RadarrID int `json:"radarrId" jsonschema:"radarrId from bazarr_wanted_movies or bazarr_list_movies"`
}
ManualSearchMovieArgs selects the movie to search providers for.
type MediaFileList ¶ added in v0.3.0
MediaFileList wraps episode and movie file results.
type ModifySubtitleArgs ¶ added in v1.1.0
type ModifySubtitleArgs struct {
InstanceArg
Action string `json:"action" jsonschema:"sync, translate, or a mod: remove_HI, remove_tags, OCR_fixes, common, fix_uppercase, reverse_rtl"`
Path string `json:"path" jsonschema:"subtitle file path from bazarr_list_episode_subtitles"`
Language string `json:"language" jsonschema:"the subtitle's two-letter language code, or the target code when translating"`
MediaType string `json:"mediaType" jsonschema:"episode or movie"`
MediaID int `json:"mediaId" jsonschema:"sonarrEpisodeId for an episode, radarrId for a movie"`
Forced bool `json:"forced,omitempty" jsonschema:"the subtitle is a forced track"`
HI bool `json:"hi,omitempty" jsonschema:"the subtitle is a hearing impaired track"`
OriginalFormat bool `json:"originalFormat,omitempty" jsonschema:"keep the original subtitle format instead of converting to srt"`
Reference string `` /* 157-byte string literal not displayed */
MaxOffsetSeconds int `json:"maxOffsetSeconds,omitempty" jsonschema:"largest shift a sync may apply; defaults to Bazarr's setting"`
NoFixFramerate bool `json:"noFixFramerate,omitempty" jsonschema:"do not let a sync correct the framerate"`
GSS bool `json:"gss,omitempty" jsonschema:"use Golden-Section Search when syncing"`
}
ModifySubtitleArgs edits an existing subtitle file in place.
type MovieActionArgs ¶ added in v1.1.0
type MovieActionArgs struct {
InstanceArg
RadarrID int `json:"radarrId" jsonschema:"radarrId from bazarr_list_movies"`
Action string `json:"action" jsonschema:"scan-disk, search-missing or search-wanted"`
}
MovieActionArgs runs one Bazarr maintenance action against a movie.
type MovieArgs ¶ added in v0.3.0
type MovieArgs struct {
InstanceArg
MovieID int `json:"movieId" jsonschema:"movie id from radarr_list_movies"`
}
MovieArgs is the input for tools scoped to one movie.
type MovieHistoryArgs ¶ added in v1.1.0
type MovieHistoryArgs struct {
InstanceArg
Start int `json:"start,omitempty" jsonschema:"offset into the result set; defaults to 0"`
Length int `json:"length,omitempty" jsonschema:"maximum records to return; defaults to 50"`
RadarrID int `json:"radarrId,omitempty" jsonschema:"limit to one movie by radarrId"`
}
MovieHistoryArgs pages Bazarr's movie subtitle history.
type MovieIDsArgs ¶ added in v0.3.0
type MovieIDsArgs struct {
InstanceArg
MovieIDs []int `json:"movieIds" jsonschema:"movie ids from radarr_list_movies"`
}
MovieIDsArgs is the input for tools acting on several movies.
type MovieList ¶
type MovieList struct {
Movies []arr.Movie `json:"movies"`
Count int `json:"count"`
Total int `json:"total,omitempty" jsonschema:"records available across all pages"`
}
MovieList wraps movie results. Total is set only by the paged tools, where the page is capped and the count alone would understate the library.
type MovieSubtitleArgs ¶ added in v0.3.0
type MovieSubtitleArgs struct {
InstanceArg
RadarrID int `json:"radarrId" jsonschema:"radarrId from bazarr_wanted_movies"`
Language string `json:"language" jsonschema:"two-letter language code, e.g. en"`
Forced bool `json:"forced,omitempty"`
HI bool `json:"hi,omitempty" jsonschema:"hearing impaired subtitle"`
}
MovieSubtitleArgs identifies one movie subtitle language to search for.
type NZBAdded ¶ added in v1.1.0
type NZBAdded struct {
NZBID int `json:"nzbId" jsonschema:"queue id of the added download; use it with the nzbget queue tools"`
}
NZBAdded reports the queue id of a newly added nzb.
type NZBCategoryArgs ¶ added in v1.1.0
type NZBCategoryArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"NZBID values from nzbget_list_queue"`
Category string `json:"category" jsonschema:"category name; controls the completed-download folder and post-processing"`
}
NZBCategoryArgs is the input for nzbget_set_category.
type NZBDeleteArgs ¶ added in v1.1.0
type NZBDeleteArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"NZBID values of the items to delete"`
Final bool `json:"final,omitempty" jsonschema:"delete permanently instead of the recoverable default; see the tool description"`
}
NZBDeleteArgs is the input for the NZBGet deletion tools.
type NZBGroupList ¶ added in v1.1.0
NZBGroupList wraps download queue entries.
type NZBHistoryArgs ¶ added in v1.1.0
type NZBHistoryArgs struct {
InstanceArg
Hidden bool `` /* 175-byte string literal not displayed */
Limit int `json:"limit,omitempty" jsonschema:"maximum records to return, newest first; defaults to 20"`
}
NZBHistoryArgs is the input for nzbget_history.
type NZBHistoryList ¶ added in v1.1.0
type NZBHistoryList struct {
Items []arr.NZBHistoryItem `json:"items"`
Count int `json:"count"`
}
NZBHistoryList wraps NZBGet history entries.
type NZBIDsArgs ¶ added in v1.1.0
type NZBIDsArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"NZBID values from nzbget_list_queue"`
}
NZBIDsArgs is the input for tools acting on queue entries by id.
type NZBMarkArgs ¶ added in v1.1.0
type NZBMarkArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"NZBID values from nzbget_history"`
Mark string `json:"mark" jsonschema:"good or bad; bad also downloads the next duplicate if one is queued"`
}
NZBMarkArgs is the input for nzbget_mark_history_items.
type NZBMoveArgs ¶ added in v1.1.0
type NZBMoveArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"NZBID values from nzbget_list_queue"`
Position string `json:"position" jsonschema:"top, bottom or offset"`
Offset int `json:"offset,omitempty" jsonschema:"positions to move when position is offset; negative moves towards the top"`
}
NZBMoveArgs is the input for nzbget_move_items.
type NZBPriorityArgs ¶ added in v1.1.0
type NZBPriorityArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"NZBID values from nzbget_list_queue"`
Priority int `` /* 126-byte string literal not displayed */
}
NZBPriorityArgs is the input for nzbget_set_priority.
type NZBRenameArgs ¶ added in v1.1.0
type NZBRenameArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"NZBID from nzbget_list_queue"`
Name string `json:"name" jsonschema:"new display name for the download"`
}
NZBRenameArgs is the input for nzbget_rename_item.
type NZBRetryArgs ¶ added in v1.1.0
type NZBRetryArgs struct {
InstanceArg
IDs []int `json:"ids" jsonschema:"NZBID values from nzbget_history"`
Redownload bool `` /* 126-byte string literal not displayed */
}
NZBRetryArgs is the input for nzbget_retry_history_items.
type PageArgs ¶ added in v0.3.0
type PageArgs struct {
InstanceArg
Start int `json:"start,omitempty" jsonschema:"offset into the result set; defaults to 0"`
Length int `json:"length,omitempty" jsonschema:"maximum records to return; defaults to 50"`
}
PageArgs is the input for Bazarr's start/length paged listings.
type PathArgs ¶ added in v1.4.0
type PathArgs struct {
InstanceArg
Path string `` /* 132-byte string literal not displayed */
}
PathArgs is the input for the add_root_folder tools.
type PauseScopeArgs ¶ added in v1.1.0
type PauseScopeArgs struct {
InstanceArg
Scope string `` /* 164-byte string literal not displayed */
}
PauseScopeArgs is the input for nzbget_pause_download and nzbget_resume_download.
type PauseState ¶ added in v1.1.0
PauseState reports which NZBGet queue was paused or resumed.
type ProfileList ¶
type ProfileList struct {
Profiles []arr.QualityProfile `json:"profiles"`
}
ProfileList wraps quality profile results.
type ProviderFlagArgs ¶ added in v1.3.0
type ProviderFlagArgs struct {
Enable *bool `json:"enable,omitempty" jsonschema:"download clients only: whether the client is used"`
EnableRSS *bool `json:"enableRss,omitempty" jsonschema:"indexers only: use this indexer for RSS monitoring"`
EnableAutomaticSearch *bool `json:"enableAutomaticSearch,omitempty" jsonschema:"indexers only: use this indexer for automatic searches"`
EnableInteractiveSearch *bool `json:"enableInteractiveSearch,omitempty" jsonschema:"indexers only: use this indexer for interactive searches"`
EnableAutomaticAdd *bool `json:"enableAutomaticAdd,omitempty" jsonschema:"import lists only: add what the list contains automatically"`
}
ProviderFlagArgs are the enable switches a provider may declare. Each is a pointer so an omitted argument leaves the stored setting alone, and each is only accepted by the kinds that have it: a flag the provider does not declare is an error rather than a silent no-op. A notification's onGrab, onDownload and other triggers are not settable here; they keep their current values.
type ProviderIDArgs ¶ added in v1.3.0
type ProviderIDArgs struct {
InstanceArg
Kind string `json:"kind" jsonschema:"provider family: indexer, downloadClient, notification or importList"`
ID int `json:"id" jsonschema:"provider id from the matching listing tool, e.g. sonarr_list_indexers"`
}
ProviderIDArgs selects one configured provider.
type ProviderList ¶ added in v0.3.0
ProviderList wraps indexer, download client, import list and notification results, which all share the upstream provider shape.
type ProviderSchemaArgs ¶ added in v1.3.0
type ProviderSchemaArgs struct {
InstanceArg
Kind string `json:"kind" jsonschema:"provider family: indexer, downloadClient, notification or importList"`
Query string `` /* 140-byte string literal not displayed */
Limit int `json:"limit,omitempty" jsonschema:"maximum implementations to return; defaults to 10"`
}
ProviderSchemaArgs is the input for the provider schema listing.
type ProviderSchemaList ¶ added in v1.3.0
type ProviderSchemaList struct {
Schemas []arr.ProviderSchema `json:"schemas"`
Count int `json:"count"`
}
ProviderSchemaList wraps the implementations one provider kind supports. The listing is capped, so Count is the size of the page rather than the number of implementations the service ships; narrow the query to see fewer.
type ProwlarrSearchArgs ¶
type ProwlarrSearchArgs struct {
InstanceArg
Query string `json:"query" jsonschema:"search term"`
Categories []int `json:"categories,omitempty" jsonschema:"newznab category ids to filter by"`
Limit int `json:"limit,omitempty" jsonschema:"maximum results to return; defaults to 25"`
}
ProwlarrSearchArgs is the input for prowlarr_search.
type QualityDefinitionList ¶ added in v0.3.0
type QualityDefinitionList struct {
Definitions []arr.QualityDefinition `json:"definitions"`
Count int `json:"count"`
}
QualityDefinitionList wraps quality size limit results.
type RadarrReleaseSearchArgs ¶ added in v1.2.0
type RadarrReleaseSearchArgs struct {
InstanceArg
MovieID int `json:"movieId" jsonschema:"movie id from radarr_list_movies"`
Limit int `json:"limit,omitempty" jsonschema:"maximum releases to return; defaults to 30"`
}
RadarrReleaseSearchArgs is the input for radarr_list_releases.
type RadarrRenameFilesArgs ¶ added in v1.2.0
type RadarrRenameFilesArgs struct {
InstanceArg
MovieID int `json:"movieId" jsonschema:"movie id from radarr_list_movies"`
FileIDs []int `json:"fileIds" jsonschema:"movieFileId values from radarr_rename_preview"`
}
RadarrRenameFilesArgs is the input for radarr_rename_files.
type RateLimit ¶ added in v1.1.0
type RateLimit struct {
LimitKB int `json:"limitKB" jsonschema:"applied limit in KiB/s; 0 means unlimited"`
}
RateLimit reports the download speed limit that was applied.
type RateLimitArgs ¶ added in v1.1.0
type RateLimitArgs struct {
InstanceArg
LimitKB int `json:"limitKB" jsonschema:"download speed limit in KiB/s; 0 removes the limit"`
}
RateLimitArgs is the input for nzbget_set_rate_limit.
type ReleaseCandidateList ¶ added in v1.2.0
type ReleaseCandidateList struct {
Releases []arr.ReleaseCandidate `json:"releases"`
Count int `json:"count"`
}
ReleaseCandidateList wraps interactive search results.
type ReleaseList ¶
type ReleaseList struct {
Releases []arr.SearchResult `json:"releases"`
Count int `json:"count"`
}
ReleaseList wraps indexer search results.
type ReleaseProfileList ¶ added in v0.3.0
type ReleaseProfileList struct {
Profiles []arr.ReleaseProfile `json:"profiles"`
Count int `json:"count"`
}
ReleaseProfileList wraps release profile results.
type RenamePreviewList ¶ added in v0.3.0
type RenamePreviewList struct {
Renames []arr.RenamePreview `json:"renames"`
Count int `json:"count"`
}
RenamePreviewList wraps rename preview results.
type RunTaskArgs ¶ added in v1.1.0
type RunTaskArgs struct {
InstanceArg
TaskID string `json:"taskId" jsonschema:"job_id from bazarr_list_tasks"`
}
RunTaskArgs runs one Bazarr scheduled job now.
type SchemaQueryArgs ¶ added in v1.1.0
type SchemaQueryArgs struct {
InstanceArg
Query string `json:"query,omitempty" jsonschema:"case-insensitive substring of the definition or site name; omit to list from the start"`
Limit int `json:"limit,omitempty" jsonschema:"maximum definitions to return; defaults to 50"`
}
SchemaQueryArgs is the input for prowlarr_list_indexer_schemas.
type SearchArgs ¶
type SearchArgs struct {
InstanceArg
Query string `json:"query" jsonschema:"title to search for"`
}
SearchArgs is the input for title lookup tools.
type SearchScopeArgs ¶ added in v0.3.0
type SearchScopeArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"series id from sonarr_list_series"`
SeasonNumber *int `json:"seasonNumber,omitempty" jsonschema:"search one season only"`
EpisodeIDs []int `json:"episodeIds,omitempty" jsonschema:"search specific episodes only; overrides seriesId and seasonNumber"`
}
SearchScopeArgs is the input for sonarr_trigger_search.
type SeasonMonitorArgs ¶ added in v0.3.0
type SeasonMonitorArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"series id from sonarr_list_series"`
SeasonNumber int `json:"seasonNumber" jsonschema:"season number; 0 is specials"`
Monitored bool `json:"monitored" jsonschema:"true to monitor the season, false to unmonitor it"`
}
SeasonMonitorArgs is the input for sonarr_set_season_monitored.
type SeriesActionArgs ¶ added in v1.1.0
type SeriesActionArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"sonarrSeriesId from bazarr_list_series"`
Action string `json:"action" jsonschema:"scan-disk, search-missing or search-wanted"`
}
SeriesActionArgs runs one Bazarr maintenance action against a series.
type SeriesList ¶
SeriesList wraps series results.
type SeriesRenameArgs ¶ added in v0.3.0
type SeriesRenameArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"series id from sonarr_list_series"`
SeasonNumber *int `json:"seasonNumber,omitempty" jsonschema:"limit the preview to one season; omit for the whole series"`
}
SeriesRenameArgs is the input for sonarr_rename_preview.
type SeriesSubtitlesArgs ¶ added in v0.3.0
type SeriesSubtitlesArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"sonarrSeriesId from bazarr_list_series"`
}
SeriesSubtitlesArgs selects a series whose per-episode subtitles to list.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server wires configured service instances into an MCP server.
type SetMovieProfileArgs ¶ added in v1.1.0
type SetMovieProfileArgs struct {
InstanceArg
RadarrIDs []int `json:"radarrIds" jsonschema:"radarrId values from bazarr_list_movies"`
ProfileID int `` /* 127-byte string literal not displayed */
}
SetMovieProfileArgs assigns a Bazarr languages profile to movies.
type SetSeriesProfileArgs ¶ added in v1.1.0
type SetSeriesProfileArgs struct {
InstanceArg
SeriesIDs []int `json:"seriesIds" jsonschema:"sonarrSeriesId values from bazarr_list_series"`
ProfileID int `` /* 127-byte string literal not displayed */
}
SetSeriesProfileArgs assigns a Bazarr languages profile to series.
type SonarrReleaseSearchArgs ¶ added in v1.2.0
type SonarrReleaseSearchArgs struct {
InstanceArg
EpisodeID *int `json:"episodeId,omitempty" jsonschema:"episode id from sonarr_list_episodes; searches that episode"`
SeriesID *int `json:"seriesId,omitempty" jsonschema:"series id from sonarr_list_series; use with seasonNumber to search a whole season"`
SeasonNumber *int `json:"seasonNumber,omitempty" jsonschema:"season to search; requires seriesId"`
Limit int `json:"limit,omitempty" jsonschema:"maximum releases to return; defaults to 30"`
}
SonarrReleaseSearchArgs is the input for sonarr_list_releases. The search is scoped either to one episode or to one season of a series.
type SonarrRenameFilesArgs ¶ added in v1.2.0
type SonarrRenameFilesArgs struct {
InstanceArg
SeriesID int `json:"seriesId" jsonschema:"series id from sonarr_list_series"`
FileIDs []int `json:"fileIds" jsonschema:"episodeFileId values from sonarr_rename_preview"`
}
SonarrRenameFilesArgs is the input for sonarr_rename_files.
type SubtitleBlacklistList ¶ added in v1.1.0
type SubtitleBlacklistList struct {
Items []arr.SubtitleBlacklistItem `json:"items"`
Count int `json:"count"`
}
SubtitleBlacklistList wraps blacklisted subtitles.
type SubtitleCandidateList ¶ added in v1.1.0
type SubtitleCandidateList struct {
Candidates []arr.SubtitleCandidate `json:"candidates"`
Count int `json:"count"`
}
SubtitleCandidateList wraps manual search results.
type SubtitleHistoryList ¶ added in v1.1.0
type SubtitleHistoryList struct {
Records []arr.SubtitleHistoryRecord `json:"records"`
Count int `json:"count"`
Total int `json:"total" jsonschema:"records available across all pages"`
}
SubtitleHistoryList wraps Bazarr subtitle history.
type SubtitleInfoArgs ¶ added in v1.1.0
type SubtitleInfoArgs struct {
InstanceArg
Path string `json:"path" jsonschema:"subtitle file path from bazarr_list_episode_subtitles"`
EpisodeID int `json:"episodeId,omitempty" jsonschema:"sonarrEpisodeId the subtitle belongs to"`
RadarrID int `json:"radarrId,omitempty" jsonschema:"radarrId the subtitle belongs to"`
}
SubtitleInfoArgs inspects the tracks around one subtitle file.
type SubtitleProviderList ¶ added in v0.3.0
type SubtitleProviderList struct {
Providers []arr.SubtitleProvider `json:"providers"`
}
SubtitleProviderList wraps Bazarr subtitle provider status. Distinct from ProviderList, which covers the *arr indexer/download-client provider shape.
type TagDetailList ¶ added in v0.3.0
TagDetailList wraps tag usage results.
type TagNameList ¶ added in v1.1.0
TagNameList wraps qBittorrent tag names, which are bare strings rather than the id-labelled tags the *arr services use.
type TorrentActionResult ¶ added in v1.1.0
type TorrentActionResult struct {
Action string `json:"action"`
Hashes []string `json:"hashes" jsonschema:"the selector that was sent; [\"all\"] means every torrent"`
Count int `json:"count"`
}
TorrentActionResult reports which torrents a bulk action was applied to.
type TorrentCategoryArgs ¶ added in v1.1.0
type TorrentCategoryArgs struct {
InstanceArg
Hashes []string `json:"hashes" jsonschema:"torrent hashes from qbittorrent_list_torrents, or [\"all\"] for every torrent"`
Category string `json:"category" jsonschema:"category name from qbittorrent_list_categories; an empty string clears the category"`
}
TorrentCategoryArgs is the input for qbittorrent_set_category.
type TorrentFileList ¶ added in v1.1.0
type TorrentFileList struct {
Files []arr.TorrentFile `json:"files"`
Count int `json:"count"`
}
TorrentFileList wraps the files of one torrent.
type TorrentFilterArgs ¶ added in v1.1.0
type TorrentFilterArgs struct {
InstanceArg
Filter string `` /* 134-byte string literal not displayed */
Category *string `json:"category,omitempty" jsonschema:"only torrents in this category; an empty string means uncategorised"`
Tag *string `json:"tag,omitempty" jsonschema:"only torrents carrying this tag"`
Hashes []string `json:"hashes,omitempty" jsonschema:"only these torrent hashes"`
Limit int `json:"limit,omitempty" jsonschema:"maximum torrents to return; defaults to 100"`
}
TorrentFilterArgs is the input for qbittorrent_list_torrents.
type TorrentHashArgs ¶ added in v1.1.0
type TorrentHashArgs struct {
InstanceArg
Hash string `json:"hash" jsonschema:"torrent hash from qbittorrent_list_torrents"`
}
TorrentHashArgs is the input for tools acting on a single torrent.
type TorrentHashesArgs ¶ added in v1.1.0
type TorrentHashesArgs struct {
InstanceArg
Hashes []string `json:"hashes" jsonschema:"torrent hashes from qbittorrent_list_torrents, or [\"all\"] for every torrent"`
}
TorrentHashesArgs is the input for bulk torrent actions.
type TorrentLimitsArgs ¶ added in v1.1.0
type TorrentLimitsArgs struct {
InstanceArg
Hashes []string `json:"hashes" jsonschema:"torrent hashes from qbittorrent_list_torrents, or [\"all\"] for every torrent"`
DownloadLimit *int64 `json:"downloadLimit,omitempty" jsonschema:"bytes per second; 0 removes the limit"`
UploadLimit *int64 `json:"uploadLimit,omitempty" jsonschema:"bytes per second; 0 removes the limit"`
RatioLimit *float64 `json:"ratioLimit,omitempty" jsonschema:"stop seeding at this share ratio; -1 no limit, -2 the global default"`
SeedingTimeLimit *int `json:"seedingTimeLimit,omitempty" jsonschema:"minutes; -1 no limit, -2 the global default"`
InactiveSeedingTimeLimit *int `json:"inactiveSeedingTimeLimit,omitempty" jsonschema:"minutes of inactivity; -1 no limit, -2 the global default"`
}
TorrentLimitsArgs is the input for qbittorrent_set_torrent_limits. Omitted fields leave the current limits untouched.
type TorrentList ¶ added in v1.1.0
TorrentList wraps torrent results.
type TorrentLocationArgs ¶ added in v1.1.0
type TorrentLocationArgs struct {
InstanceArg
Hashes []string `json:"hashes" jsonschema:"torrent hashes from qbittorrent_list_torrents, or [\"all\"] for every torrent"`
Location string `json:"location" jsonschema:"absolute directory to move the data to"`
}
TorrentLocationArgs is the input for qbittorrent_set_location.
type TorrentPriorityArgs ¶ added in v1.1.0
type TorrentPriorityArgs struct {
InstanceArg
Hashes []string `json:"hashes" jsonschema:"torrent hashes from qbittorrent_list_torrents, or [\"all\"] for every torrent"`
Position string `json:"position" jsonschema:"where to move them in the queue: top, bottom, up or down"`
}
TorrentPriorityArgs is the input for qbittorrent_set_priority.
type TorrentRenameArgs ¶ added in v1.1.0
type TorrentRenameArgs struct {
InstanceArg
Hash string `json:"hash" jsonschema:"torrent hash from qbittorrent_list_torrents"`
Name string `json:"name" jsonschema:"new display name"`
}
TorrentRenameArgs is the input for qbittorrent_rename_torrent.
type TorrentTagsArgs ¶ added in v1.1.0
type TorrentTagsArgs struct {
InstanceArg
Hashes []string `json:"hashes" jsonschema:"torrent hashes from qbittorrent_list_torrents, or [\"all\"] for every torrent"`
Tags []string `json:"tags,omitempty" jsonschema:"tag names; required when adding, and an empty list on remove strips every tag"`
}
TorrentTagsArgs is the input for the torrent tag tools.
type UpdateCollectionArgs ¶ added in v1.2.0
type UpdateCollectionArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"collection id from radarr_list_collections"`
Monitored *bool `json:"monitored,omitempty" jsonschema:"monitor the collection so new members are added"`
QualityProfileID *int `json:"qualityProfileId,omitempty" jsonschema:"id from radarr_list_quality_profiles"`
RootFolderPath *string `json:"rootFolderPath,omitempty" jsonschema:"path from radarr_list_root_folders"`
SearchOnAdd *bool `json:"searchOnAdd,omitempty" jsonschema:"search for movies as they are added from this collection"`
MinimumAvailability *string `json:"minimumAvailability,omitempty" jsonschema:"tba, announced, inCinemas or released"`
}
UpdateCollectionArgs is the input for radarr_update_collection. The optional fields are pointers so an omitted argument leaves that setting untouched.
type UpdateCustomFormatArgs ¶ added in v1.4.0
type UpdateCustomFormatArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"format id from the list_custom_formats tool"`
Name *string `json:"name,omitempty" jsonschema:"rename the format"`
IncludeWhenRenaming *bool `json:"includeCustomFormatWhenRenaming,omitempty" jsonschema:"add the format's name to renamed files"`
Specifications []CustomFormatSpecArg `json:"specifications,omitempty" jsonschema:"replaces the whole rule set; omit to leave the rules alone"`
}
UpdateCustomFormatArgs is the input for the update_custom_format tools. Omitting a field leaves it as it was.
type UpdateDelayProfileArgs ¶ added in v1.4.0
type UpdateDelayProfileArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"profile id from the list_delay_profiles tool"`
PreferredProtocol *string `json:"preferredProtocol,omitempty" jsonschema:"usenet or torrent"`
UsenetDelay *int `json:"usenetDelay,omitempty" jsonschema:"minutes to hold a usenet release before grabbing it"`
TorrentDelay *int `json:"torrentDelay,omitempty" jsonschema:"minutes to hold a torrent before grabbing it"`
EnableUsenet *bool `json:"enableUsenet,omitempty" jsonschema:"grab usenet releases at all"`
EnableTorrent *bool `json:"enableTorrent,omitempty" jsonschema:"grab torrents at all"`
BypassIfHighestQuality *bool `json:"bypassIfHighestQuality,omitempty" jsonschema:"grab immediately when nothing better could arrive"`
}
UpdateDelayProfileArgs is the input for the update_delay_profile tools.
type UpdateFilesArgs ¶ added in v1.2.0
type UpdateFilesArgs struct {
InstanceArg
FileIDs []int `json:"fileIds" jsonschema:"file ids from the file listing tool"`
Quality *string `json:"quality,omitempty" jsonschema:"quality name, e.g. Bluray-1080p"`
Languages []string `json:"languages,omitempty" jsonschema:"language names, e.g. English"`
ReleaseGroup *string `json:"releaseGroup,omitempty"`
}
UpdateFilesArgs is the input for the update_files tools. Every changeable field is optional so an omitted one keeps the value already recorded.
type UpdateIndexerArgs ¶ added in v1.1.0
type UpdateIndexerArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"indexer id from prowlarr_list_indexers"`
Name *string `json:"name,omitempty"`
Enable *bool `json:"enable,omitempty"`
Priority *int `json:"priority,omitempty" jsonschema:"1 is highest, 50 is lowest"`
AppProfileID *int `json:"appProfileId,omitempty" jsonschema:"sync profile id from prowlarr_list_app_profiles"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids from prowlarr_list_tags; replaces the current tags"`
Fields map[string]any `json:"fields,omitempty" jsonschema:"indexer settings to change, by field name from prowlarr_get_indexer"`
}
UpdateIndexerArgs is the input for prowlarr_update_indexer. Every optional member is a pointer so an omitted argument leaves that setting alone.
type UpdateList ¶ added in v0.3.0
type UpdateList struct {
Updates []arr.UpdatePackage `json:"updates"`
Count int `json:"count"`
}
UpdateList wraps release results.
type UpdateMediaManagementConfigArgs ¶ added in v1.4.0
type UpdateMediaManagementConfigArgs struct {
InstanceArg
AutoUnmonitorPreviouslyDownloaded *bool `json:"autoUnmonitorPreviouslyDownloaded,omitempty" jsonschema:"stop monitoring media whose files are deleted"`
CreateEmptyMediaFolders *bool `json:"createEmptyMediaFolders,omitempty" jsonschema:"create a folder for media with no files yet"`
RecycleBin *string `json:"recycleBin,omitempty" jsonschema:"move deleted files here instead of removing them; empty string deletes outright"`
RecycleBinCleanupDays *int `json:"recycleBinCleanupDays,omitempty" jsonschema:"days to keep files in the recycle bin; 0 keeps them forever"`
DownloadPropersAndRepacks *string `json:"downloadPropersAndRepacks,omitempty" jsonschema:"preferAndUpgrade, doNotUpgrade or doNotPrefer"`
DeleteEmptyFolders *bool `json:"deleteEmptyFolders,omitempty"`
FileDate *string `json:"fileDate,omitempty" jsonschema:"none, or a release date the file timestamp is set to"`
RescanAfterRefresh *string `json:"rescanAfterRefresh,omitempty" jsonschema:"always, afterManual or never"`
SkipFreeSpaceCheckWhenImporting *bool `json:"skipFreeSpaceCheckWhenImporting,omitempty"`
MinimumFreeSpaceWhenImporting *int `json:"minimumFreeSpaceWhenImporting,omitempty" jsonschema:"megabytes that must stay free"`
CopyUsingHardlinks *bool `json:"copyUsingHardlinks,omitempty" jsonschema:"hardlink instead of copying, so seeding torrents cost no extra space"`
ImportExtraFiles *bool `json:"importExtraFiles,omitempty" jsonschema:"import subtitles and other files alongside the media"`
ExtraFileExtensions *string `json:"extraFileExtensions,omitempty" jsonschema:"comma-separated, e.g. srt,nfo"`
EnableMediaInfo *bool `json:"enableMediaInfo,omitempty" jsonschema:"read codecs and resolution from the files themselves"`
}
UpdateMediaManagementConfigArgs is the input for the update_media_management_config tools. Every field is optional so an omitted one leaves that setting untouched.
type UpdateNamingConfigArgs ¶ added in v1.4.0
type UpdateNamingConfigArgs struct {
InstanceArg
RenameFiles *bool `json:"renameFiles,omitempty" jsonschema:"rename files to match these formats"`
ReplaceIllegalCharacters *bool `json:"replaceIllegalCharacters,omitempty" jsonschema:"substitute characters the filesystem rejects"`
StandardEpisodeFormat *string `json:"standardEpisodeFormat,omitempty" jsonschema:"Sonarr only"`
DailyEpisodeFormat *string `json:"dailyEpisodeFormat,omitempty" jsonschema:"Sonarr only"`
AnimeEpisodeFormat *string `json:"animeEpisodeFormat,omitempty" jsonschema:"Sonarr only"`
SeriesFolderFormat *string `json:"seriesFolderFormat,omitempty" jsonschema:"Sonarr only"`
SeasonFolderFormat *string `json:"seasonFolderFormat,omitempty" jsonschema:"Sonarr only"`
SpecialsFolderFormat *string `json:"specialsFolderFormat,omitempty" jsonschema:"Sonarr only"`
StandardMovieFormat *string `json:"standardMovieFormat,omitempty" jsonschema:"Radarr only"`
MovieFolderFormat *string `json:"movieFolderFormat,omitempty" jsonschema:"Radarr only"`
}
UpdateNamingConfigArgs is the input for the update_naming_config tools. Every field is optional so an omitted one leaves that format string untouched, and the fields the other service uses are refused rather than silently ignored.
type UpdateProviderArgs ¶ added in v1.3.0
type UpdateProviderArgs struct {
InstanceArg
ProviderFlagArgs
Kind string `json:"kind" jsonschema:"provider family: indexer, downloadClient, notification or importList"`
ID int `json:"id" jsonschema:"provider id from the matching listing tool"`
Name *string `json:"name,omitempty"`
Priority *int `json:"priority,omitempty" jsonschema:"indexers and download clients only; 1 is highest"`
Tags []int `json:"tags,omitempty" jsonschema:"tag ids; replaces the current tags"`
Fields map[string]any `` /* 146-byte string literal not displayed */
}
UpdateProviderArgs is the input for the provider update tool. Every optional member is a pointer so an omitted argument leaves that setting alone.
type UpdateQualityProfileArgs ¶ added in v1.4.0
type UpdateQualityProfileArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"profile id from the list_quality_profiles tool"`
Name *string `json:"name,omitempty" jsonschema:"rename the profile"`
UpgradeAllowed *bool `json:"upgradeAllowed,omitempty" jsonschema:"replace a file on disk when a better release appears"`
Cutoff *string `json:"cutoff,omitempty" jsonschema:"quality name to stop upgrading at, as the get_quality_profile tool reports it"`
Allow []string `json:"allow,omitempty" jsonschema:"quality names to start accepting"`
Disallow []string `json:"disallow,omitempty" jsonschema:"quality names to stop accepting"`
MinFormatScore *int `json:"minFormatScore,omitempty" jsonschema:"custom format score a release must reach to be grabbed"`
CutoffFormatScore *int `json:"cutoffFormatScore,omitempty" jsonschema:"custom format score above which upgrading stops"`
FormatScores map[string]int `json:"formatScores,omitempty" jsonschema:"custom format name to score, using names from the list_custom_formats tool"`
}
UpdateQualityProfileArgs is the input for the update_quality_profile tools. Every field is optional so an omitted one leaves that setting untouched.
type UpdateReleaseProfileArgs ¶ added in v1.4.0
type UpdateReleaseProfileArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"profile id from the list_release_profiles tool"`
Name *string `json:"name,omitempty" jsonschema:"rename the profile"`
Enabled *bool `json:"enabled,omitempty"`
Required []string `json:"required,omitempty" jsonschema:"replaces the terms a release title must contain"`
Ignored []string `json:"ignored,omitempty" jsonschema:"replaces the terms that reject a release"`
IndexerID *int `json:"indexerId,omitempty" jsonschema:"limit to one indexer; 0 means every indexer"`
Tags []int `json:"tags,omitempty" jsonschema:"replaces the tags the profile is limited to"`
}
UpdateReleaseProfileArgs is the input for sonarr_update_release_profile. Every field is optional so an omitted one leaves that setting untouched.
type UpdateTagArgs ¶ added in v1.2.0
type UpdateTagArgs struct {
InstanceArg
ID int `json:"id" jsonschema:"tag id from the list_tags tool"`
Label string `json:"label" jsonschema:"the new label for the tag"`
}
UpdateTagArgs is the input for the update_tag tools.
type Updated ¶ added in v0.3.0
type Updated struct {
Updated int `json:"updated"`
}
Updated reports how many records a bulk edit touched.
type WantedEpisodeList ¶ added in v0.3.0
type WantedEpisodeList struct {
Episodes []arr.WantedEpisode `json:"episodes"`
Returned int `json:"returned"`
Total int `json:"total" jsonschema:"total missing across the whole library"`
}
WantedEpisodeList wraps episodes missing subtitles.
type WantedMovieList ¶ added in v0.3.0
type WantedMovieList struct {
Movies []arr.WantedMovie `json:"movies"`
Returned int `json:"returned"`
Total int `json:"total"`
}
WantedMovieList wraps movies missing subtitles.
Source Files
¶
- confirm.go
- permissions.go
- register.go
- register_bazarr.go
- register_library.go
- register_nzbget.go
- register_profiles.go
- register_providers.go
- register_prowlarr.go
- register_qbittorrent.go
- server.go
- tools.go
- tools_library.go
- tools_nzbget.go
- tools_profiles.go
- tools_providers.go
- tools_prowlarr.go
- tools_qbittorrent.go
- version.go