feat(agent): migrate all remaining tools to YAML specs (21/21 covered)
Adds YAML specs for the 14 tools that were still description-from-docstring:
filesystem:
- set_path_for_folder, list_folder, analyze_release, probe_media,
move_media, manage_subtitles, create_seed_links, learn
api:
- find_media_imdb_id, find_torrent, get_torrent_by_index,
add_torrent_to_qbittorrent, add_torrent_by_index
language:
- set_language
Each spec follows the established shape (summary / description /
when_to_use / when_not_to_use / next_steps / parameters with
why_needed + example / returns) and the Python function docstring is
slimmed to a one-line pointer.
Registry now reports: 21 tools, 21 with YAML spec, 0 doc-only.
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
name: create_seed_links
|
||||
|
||||
summary: >
|
||||
Recreate the original torrent folder structure with hard-links so
|
||||
qBittorrent can keep seeding after the library move.
|
||||
|
||||
description: |
|
||||
Hard-links the library video file back into torrents/<original_folder_name>/
|
||||
and copies all remaining files from the original download folder
|
||||
(subtitles, .nfo, .jpg, .txt, …) so the torrent data is complete on
|
||||
disk. qBittorrent then sees the same content at the location it
|
||||
expects and can keep seeding without rehashing the whole torrent.
|
||||
|
||||
when_to_use: |
|
||||
Only when the user has confirmed they want to keep seeding after a
|
||||
move. Call right after manage_subtitles (or after move_media if there
|
||||
are no subs).
|
||||
|
||||
when_not_to_use: |
|
||||
- When the user explicitly answered "no" to "keep seeding?".
|
||||
- When the download was not from a torrent (e.g. direct download).
|
||||
- Before the library file is in place — this tool reads it.
|
||||
|
||||
next_steps: |
|
||||
- After success: optionally call qBittorrent to update the torrent's
|
||||
save path / force a recheck (not yet covered by a tool).
|
||||
- End the workflow.
|
||||
|
||||
parameters:
|
||||
library_file:
|
||||
description: Absolute path to the video file now in the library.
|
||||
why_needed: |
|
||||
The source for the hard-link — same inode means qBittorrent sees
|
||||
identical bytes at the seeding path.
|
||||
example: /tv_shows/Oz.1997.1080p.WEBRip.x265-KONTRAST/Season 03/Oz.S03E01.mkv
|
||||
|
||||
original_download_folder:
|
||||
description: Absolute path to the original download folder.
|
||||
why_needed: |
|
||||
Provides the folder name to recreate under torrents/ and the
|
||||
auxiliary files (subs, nfo, ...) to copy over.
|
||||
example: /downloads/Oz.S03.1080p.WEBRip.x265-KONTRAST
|
||||
|
||||
returns:
|
||||
ok:
|
||||
description: Seeding folder rebuilt.
|
||||
fields:
|
||||
status: "'ok'"
|
||||
torrent_subfolder: Absolute path of the recreated folder under torrents/.
|
||||
linked_file: Absolute path of the hard-linked video.
|
||||
copied_files: List of auxiliary files that were copied.
|
||||
copied_count: Number of auxiliary files copied.
|
||||
skipped: List of files skipped (already present, unreadable, ...).
|
||||
|
||||
error:
|
||||
description: Failed to rebuild the seeding folder.
|
||||
fields:
|
||||
error: Short error code.
|
||||
message: Human-readable explanation.
|
||||
Reference in New Issue
Block a user