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 ¶
Confirmer asks the user to approve an action. Implementations return ErrConfirmUnsupported when the connected client cannot prompt.
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