From cfcd95b25e695b70f58122c37d23338004daa713 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Sat, 24 Oct 2026 18:47:45 -0400 Subject: [PATCH] bruno: replace Python generator with Go golden-writer in the drift test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The generator moves into the Go toolchain per repo preference: internal/docs/bruno_gen.go emits the OpenCollection mirrors (same output contract — gate-verified example-request bodies, env-var params, device-token headers, login/register/refresh token-capture scripts) and TestBrunoMirrorsDocs grows a -update flag: verification by default, regeneration on demand: go test ./internal/docs -run TestBrunoMirrorsDocs -update Generator and checker are now the same code — they cannot drift apart. scripts/gen_bruno_from_docs.py deleted; opencollection.yml README points at the go-test command. Also fixed vs the Python pass: mirror placement follows the docs tree folder (RelPath), not the area frontmatter (several docs — highlights, notes, ratings, users, progress — carry a different area); docs blocks emit the collection's mapping form (content + type), not a bare scalar; JSON body sanity is checked at generation time. Idempotent: back-to-back -update runs are byte-identical. make test green (9 pkgs). --- bruno/admin/hash_conflicts_api.yml | 10 +- bruno/admin/list_users.yml | 10 +- bruno/admin/update_user_max_devices.yml | 10 +- bruno/analytics/get_analytics.yml | 10 +- bruno/analytics/get_device_usage.yml | 10 +- bruno/analytics/get_popular_books.yml | 10 +- bruno/authentication/login.yml | 42 +-- bruno/authentication/logout.yml | 10 +- bruno/authentication/password_rules.yml | 10 +- bruno/authentication/refresh_token.yml | 42 +-- bruno/authentication/register.yml | 42 +-- bruno/book-matching/auto_link_books.yml | 10 +- bruno/book-matching/bulk_link_books.yml | 10 +- .../create_device_file_alias.yml | 10 +- .../delete_device_file_alias.yml | 10 +- bruno/book-matching/get_book_matches.yml | 10 +- .../book-matching/get_device_file_aliases.yml | 10 +- .../get_unlinked_book_suggestions.yml | 10 +- bruno/book-matching/get_unlinked_books.yml | 10 +- bruno/book-matching/link_book.yml | 10 +- bruno/book-matching/search_books.yml | 10 +- .../update_device_file_alias.yml | 10 +- bruno/collections/add_auto_assign_rule.yml | 10 +- bruno/collections/bulk_add_books.yml | 10 +- bruno/collections/bulk_assign.yml | 10 +- bruno/collections/bulk_remove_books.yml | 10 +- bruno/collections/create_collection.yml | 10 +- bruno/collections/create_shelf_mapping.yml | 12 +- bruno/collections/delete_collection.yml | 10 +- bruno/collections/delete_shelf_mapping.yml | 12 +- bruno/collections/get_collection.yml | 10 +- bruno/collections/get_collection_books.yml | 10 +- bruno/collections/list_collections.yml | 10 +- bruno/collections/preview_collection.yml | 10 +- bruno/collections/remove_auto_assign_rule.yml | 10 +- bruno/collections/reorder_items.yml | 10 +- bruno/collections/test_rule.yml | 10 +- bruno/collections/update_collection.yml | 10 +- bruno/collections/update_rule.yml | 10 +- bruno/conflicts/bulk_dismiss_conflicts.yml | 10 +- bruno/conflicts/bulk_resolve_conflicts.yml | 10 +- bruno/conflicts/delete_conflict.yml | 10 +- bruno/conflicts/dismiss_all_resolved.yml | 10 +- bruno/conflicts/get_conflict.yml | 10 +- bruno/conflicts/list_conflicts.yml | 10 +- bruno/conflicts/resolve_conflict.yml | 10 +- bruno/dashboard/get_preferences.yml | 10 +- bruno/dashboard/get_sections.yml | 10 +- bruno/dashboard/restore_system_collection.yml | 10 +- bruno/dashboard/update_preferences.yml | 10 +- bruno/devices/add_to_shelf.yml | 10 +- bruno/devices/approve_device_registration.yml | 10 +- bruno/devices/clear_shelf.yml | 10 +- bruno/devices/delete_device.yml | 10 +- bruno/devices/download_sidecar_config.yml | 10 +- bruno/devices/get_device.yml | 10 +- bruno/devices/get_device_mappings.yml | 10 +- bruno/devices/get_devices.yml | 10 +- bruno/devices/get_shelf.yml | 10 +- bruno/devices/get_sidecar_config.yml | 10 +- bruno/devices/link_book.yml | 10 +- bruno/devices/list_devices.yml | 10 +- bruno/devices/list_pending_registrations.yml | 10 +- bruno/devices/regenerate_device_token.yml | 10 +- bruno/devices/register_device.yml | 10 +- bruno/devices/reject_device_registration.yml | 10 +- bruno/devices/remove_from_shelf.yml | 10 +- bruno/devices/update_device.yml | 10 +- bruno/devices/update_device_mapping.yml | 10 +- bruno/highlights/create_highlight.yml | 10 +- bruno/highlights/delete_highlight.yml | 10 +- bruno/highlights/get_highlights.yml | 10 +- bruno/highlights/update_highlight.yml | 10 +- bruno/jobs/create_job.yml | 10 +- bruno/jobs/get_job_status.yml | 10 +- bruno/kobo/analytics_gettests.yml | 10 +- bruno/kobo/bookmark_sync.yml | 10 +- bruno/kobo/initialization.yml | 10 +- bruno/kobo/markup_sync.yml | 10 +- bruno/kobo/sync_from_server.yml | 10 +- bruno/koreader/get_library.yml | 10 +- bruno/koreader/get_metadata.yml | 10 +- bruno/koreader/get_rating.yml | 10 +- bruno/koreader/get_review.yml | 10 +- bruno/koreader/push_stats.yml | 10 +- bruno/koreader/resolve_book.yml | 10 +- bruno/koreader/set_rating.yml | 10 +- bruno/koreader/set_review.yml | 10 +- bruno/koreader/sync_bookmarks.yml | 10 +- bruno/koreader/sync_progress.yml | 10 +- bruno/libraries/add_library_folder.yml | 10 +- bruno/libraries/browse-folders.yml | 10 +- bruno/libraries/create_library.yml | 10 +- bruno/libraries/delete_library.yml | 10 +- bruno/libraries/delete_library_folder.yml | 10 +- bruno/libraries/delete_processing_issue.yml | 10 +- bruno/libraries/get_library.yml | 10 +- bruno/libraries/get_library_folders.yml | 10 +- bruno/libraries/get_library_media_items.yml | 10 +- bruno/libraries/get_library_stats.yml | 10 +- bruno/libraries/get_library_types.yml | 10 +- .../libraries/get_processing_issue_stats.yml | 10 +- bruno/libraries/get_scan_settings.yml | 10 +- bruno/libraries/get_visible_libraries.yml | 10 +- bruno/libraries/list_libraries.yml | 10 +- bruno/libraries/list_processing_issues.yml | 10 +- bruno/libraries/resolve_processing_issue.yml | 10 +- bruno/libraries/scan_library.yml | 10 +- bruno/libraries/set_library_visibility.yml | 10 +- bruno/libraries/update_library.yml | 10 +- bruno/libraries/update_scan_settings.yml | 10 +- bruno/media-items/bulk_delete_media_items.yml | 10 +- bruno/media-items/bulk_update_media_items.yml | 10 +- bruno/media-items/create_media_bookmark.yml | 10 +- bruno/media-items/create_media_item.yml | 10 +- bruno/media-items/delete_media_bookmark.yml | 10 +- bruno/media-items/delete_media_item.yml | 10 +- bruno/media-items/delete_media_review.yml | 10 +- bruno/media-items/deleted_annotations.yml | 10 +- .../media-items/download_media_item_file.yml | 10 +- bruno/media-items/filter_count.yml | 10 +- bruno/media-items/get_audio_chapters.yml | 10 +- bruno/media-items/get_audio_track.yml | 10 +- bruno/media-items/get_facets.yml | 10 +- bruno/media-items/get_media_bookmarks.yml | 10 +- bruno/media-items/get_media_highlight.yml | 10 +- bruno/media-items/get_media_item.yml | 10 +- bruno/media-items/get_media_note.yml | 10 +- bruno/media-items/get_media_review.yml | 10 +- bruno/media-items/list_media_items.yml | 10 +- .../media-items/merge_archived_media_item.yml | 10 +- .../purge_archived_media_items.yml | 10 +- .../media-items/purge_deleted_annotation.yml | 10 +- bruno/media-items/rescan_media_item.yml | 10 +- .../restore_deleted_annotation.yml | 10 +- bruno/media-items/search_media_items.yml | 10 +- bruno/media-items/set_audio_speed.yml | 10 +- bruno/media-items/unarchive_media_item.yml | 10 +- bruno/media-items/update_media_bookmark.yml | 10 +- bruno/media-items/update_media_item.yml | 10 +- bruno/media-items/upsert_media_review.yml | 10 +- bruno/notes/create_note.yml | 10 +- bruno/notes/delete_note.yml | 10 +- bruno/notes/get_notes.yml | 10 +- bruno/notes/update_note.yml | 10 +- bruno/opds/acquisition.yml | 10 +- bruno/opds/feeds.yml | 10 +- bruno/opds/publication.yml | 10 +- bruno/opencollection.yml | 4 +- bruno/progress/delete_media_progress.yml | 10 +- bruno/progress/get_media_progress.yml | 10 +- bruno/progress/get_progress_history.yml | 10 +- bruno/progress/update_media_progress.yml | 10 +- bruno/queue/clear_device_queue.yml | 10 +- bruno/queue/delete_queue_item.yml | 10 +- bruno/queue/get_device_queue_stats.yml | 10 +- bruno/queue/list_all_queue_items.yml | 10 +- bruno/queue/list_device_queue_items.yml | 10 +- bruno/queue/retry_queue_item.yml | 10 +- bruno/ratings/create_rating.yml | 10 +- bruno/ratings/delete_rating.yml | 10 +- bruno/ratings/get_ratings.yml | 10 +- bruno/ratings/update_rating.yml | 10 +- bruno/saved-filters/create_saved_filter.yml | 10 +- bruno/saved-filters/delete_saved_filter.yml | 10 +- bruno/saved-filters/get_saved_filter.yml | 10 +- bruno/saved-filters/list_saved_filters.yml | 10 +- bruno/saved-filters/update_saved_filter.yml | 10 +- bruno/scanner/cancel_scan.yml | 10 +- bruno/scanner/get_active_scans.yml | 10 +- bruno/scanner/get_scan_status.yml | 10 +- bruno/scanner/get_scan_summary.yml | 10 +- bruno/scanner/get_watch_mode_status.yml | 10 +- bruno/scanner/scan_library.yml | 10 +- bruno/scanner/start_scanner.yml | 10 +- bruno/scanner/start_watch_mode.yml | 10 +- bruno/scanner/stop_scanner.yml | 10 +- bruno/scanner/stop_watch_mode.yml | 10 +- bruno/series/get_series_books.yml | 10 +- bruno/series/list_series.yml | 10 +- bruno/stats/get_book_stats.yml | 10 +- bruno/stats/get_library_usage.yml | 10 +- bruno/stats/get_summary.yml | 10 +- bruno/stats/get_this_week.yml | 10 +- bruno/system/get_config.yml | 10 +- bruno/system/get_settings.yml | 10 +- bruno/system/update_config.yml | 10 +- bruno/system/update_setting.yml | 10 +- bruno/users/change_password.yml | 10 +- bruno/users/delete_user.yml | 10 +- bruno/users/get_profile.yml | 10 +- bruno/users/update_profile.yml | 10 +- internal/docs/bruno_gen.go | 257 ++++++++++++++++++ internal/docs/drift_test.go | 28 +- scripts/gen_bruno_from_docs.py | 253 ----------------- 195 files changed, 1479 insertions(+), 1073 deletions(-) create mode 100644 internal/docs/bruno_gen.go delete mode 100644 scripts/gen_bruno_from_docs.py diff --git a/bruno/admin/hash_conflicts_api.yml b/bruno/admin/hash_conflicts_api.yml index 1f034d91..e7ef72bf 100644 --- a/bruno/admin/hash_conflicts_api.yml +++ b/bruno/admin/hash_conflicts_api.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Hash Conflicts (API) +docs: + content: |- + # Hash Conflicts (API) - `GET /api/admin/hash-conflicts` — auth: jwt+admin. + `GET /api/admin/hash-conflicts` — auth: jwt+admin. - Canonical reference: `docs/developer/api/admin/hash_conflicts_api.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/admin/hash_conflicts_api.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/admin/list_users.yml b/bruno/admin/list_users.yml index 7a356936..da29b6ab 100644 --- a/bruno/admin/list_users.yml +++ b/bruno/admin/list_users.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Users +docs: + content: |- + # List Users - `GET /api/auth/users` — auth: jwt+admin. + `GET /api/auth/users` — auth: jwt+admin. - Canonical reference: `docs/developer/api/admin/list_users.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/admin/list_users.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/admin/update_user_max_devices.yml b/bruno/admin/update_user_max_devices.yml index e79c8e89..f002a737 100644 --- a/bruno/admin/update_user_max_devices.yml +++ b/bruno/admin/update_user_max_devices.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update User Max Devices +docs: + content: |- + # Update User Max Devices - `PUT /api/auth/users/:id/max-devices` — auth: jwt+admin. + `PUT /api/auth/users/:id/max-devices` — auth: jwt+admin. - Canonical reference: `docs/developer/api/admin/update_user_max_devices.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/admin/update_user_max_devices.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/analytics/get_analytics.yml b/bruno/analytics/get_analytics.yml index bbbb7fdd..c41e3710 100644 --- a/bruno/analytics/get_analytics.yml +++ b/bruno/analytics/get_analytics.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Reading Statistics +docs: + content: |- + # Get Reading Statistics - `GET /api/analytics/reading-stats` — auth: jwt. + `GET /api/analytics/reading-stats` — auth: jwt. - Canonical reference: `docs/developer/api/analytics/get_analytics.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/analytics/get_analytics.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/analytics/get_device_usage.yml b/bruno/analytics/get_device_usage.yml index d7d4793f..cab39efd 100644 --- a/bruno/analytics/get_device_usage.yml +++ b/bruno/analytics/get_device_usage.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Device Usage +docs: + content: |- + # Get Device Usage - `GET /api/analytics/device-usage` — auth: jwt. + `GET /api/analytics/device-usage` — auth: jwt. - Canonical reference: `docs/developer/api/analytics/get_device_usage.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/analytics/get_device_usage.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/analytics/get_popular_books.yml b/bruno/analytics/get_popular_books.yml index bc860288..414a4f1a 100644 --- a/bruno/analytics/get_popular_books.yml +++ b/bruno/analytics/get_popular_books.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Popular Books +docs: + content: |- + # Get Popular Books - `GET /api/analytics/popular-books` — auth: jwt. + `GET /api/analytics/popular-books` — auth: jwt. - Canonical reference: `docs/developer/api/analytics/get_popular_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/analytics/get_popular_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/authentication/login.yml b/bruno/authentication/login.yml index c6969947..5c3e9f48 100644 --- a/bruno/authentication/login.yml +++ b/bruno/authentication/login.yml @@ -24,28 +24,30 @@ runtime: scripts: - type: after-response code: |- - function onResponse(res) { - try { - const responseBody = res.getBody(); - const token = responseBody.access_token; - const refreshToken = responseBody.refresh_token; - if (token) { - bru.setEnvVar("token", token, { persist: true }); - console.log("Access token saved"); - } - if (refreshToken) { - bru.setEnvVar("refresh_token", refreshToken, { persist: true }); - console.log("Refresh token saved"); - } - } catch (error) { - console.error("Token capture failed:", error.message); + function onResponse(res) { + try { + const responseBody = res.getBody(); + const token = responseBody.access_token; + const refreshToken = responseBody.refresh_token; + if (token) { + bru.setEnvVar("token", token, { persist: true }); + console.log("Access token saved"); } + if (refreshToken) { + bru.setEnvVar("refresh_token", refreshToken, { persist: true }); + console.log("Refresh token saved"); + } + } catch (error) { + console.error("Token capture failed:", error.message); } - onResponse(); + } + onResponse(); -docs: |- - # Login User +docs: + content: |- + # Login User - `POST /api/auth/login` — auth: none. + `POST /api/auth/login` — auth: none. - Canonical reference: `docs/developer/api/authentication/login.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/authentication/login.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/authentication/logout.yml b/bruno/authentication/logout.yml index 4adcfa46..14a174bf 100644 --- a/bruno/authentication/logout.yml +++ b/bruno/authentication/logout.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Logout User +docs: + content: |- + # Logout User - `POST /api/auth/logout` — auth: none. + `POST /api/auth/logout` — auth: none. - Canonical reference: `docs/developer/api/authentication/logout.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/authentication/logout.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/authentication/password_rules.yml b/bruno/authentication/password_rules.yml index 9129e1bb..218c1793 100644 --- a/bruno/authentication/password_rules.yml +++ b/bruno/authentication/password_rules.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Password Rules +docs: + content: |- + # Password Rules - `GET /api/auth/password-rules` — auth: none. + `GET /api/auth/password-rules` — auth: none. - Canonical reference: `docs/developer/api/authentication/password_rules.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/authentication/password_rules.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/authentication/refresh_token.yml b/bruno/authentication/refresh_token.yml index df3f8b0e..a12f1fd1 100644 --- a/bruno/authentication/refresh_token.yml +++ b/bruno/authentication/refresh_token.yml @@ -23,28 +23,30 @@ runtime: scripts: - type: after-response code: |- - function onResponse(res) { - try { - const responseBody = res.getBody(); - const token = responseBody.access_token; - const refreshToken = responseBody.refresh_token; - if (token) { - bru.setEnvVar("token", token, { persist: true }); - console.log("Access token saved"); - } - if (refreshToken) { - bru.setEnvVar("refresh_token", refreshToken, { persist: true }); - console.log("Refresh token saved"); - } - } catch (error) { - console.error("Token capture failed:", error.message); + function onResponse(res) { + try { + const responseBody = res.getBody(); + const token = responseBody.access_token; + const refreshToken = responseBody.refresh_token; + if (token) { + bru.setEnvVar("token", token, { persist: true }); + console.log("Access token saved"); } + if (refreshToken) { + bru.setEnvVar("refresh_token", refreshToken, { persist: true }); + console.log("Refresh token saved"); + } + } catch (error) { + console.error("Token capture failed:", error.message); } - onResponse(); + } + onResponse(); -docs: |- - # Refresh Token +docs: + content: |- + # Refresh Token - `POST /api/auth/refresh` — auth: none. + `POST /api/auth/refresh` — auth: none. - Canonical reference: `docs/developer/api/authentication/refresh_token.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/authentication/refresh_token.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/authentication/register.yml b/bruno/authentication/register.yml index a0dd1255..f25a45a2 100644 --- a/bruno/authentication/register.yml +++ b/bruno/authentication/register.yml @@ -27,28 +27,30 @@ runtime: scripts: - type: after-response code: |- - function onResponse(res) { - try { - const responseBody = res.getBody(); - const token = responseBody.access_token; - const refreshToken = responseBody.refresh_token; - if (token) { - bru.setEnvVar("token", token, { persist: true }); - console.log("Access token saved"); - } - if (refreshToken) { - bru.setEnvVar("refresh_token", refreshToken, { persist: true }); - console.log("Refresh token saved"); - } - } catch (error) { - console.error("Token capture failed:", error.message); + function onResponse(res) { + try { + const responseBody = res.getBody(); + const token = responseBody.access_token; + const refreshToken = responseBody.refresh_token; + if (token) { + bru.setEnvVar("token", token, { persist: true }); + console.log("Access token saved"); } + if (refreshToken) { + bru.setEnvVar("refresh_token", refreshToken, { persist: true }); + console.log("Refresh token saved"); + } + } catch (error) { + console.error("Token capture failed:", error.message); } - onResponse(); + } + onResponse(); -docs: |- - # Register User +docs: + content: |- + # Register User - `POST /api/auth/register` — auth: none. + `POST /api/auth/register` — auth: none. - Canonical reference: `docs/developer/api/authentication/register.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/authentication/register.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/auto_link_books.yml b/bruno/book-matching/auto_link_books.yml index 39ec5540..a77cf05f 100644 --- a/bruno/book-matching/auto_link_books.yml +++ b/bruno/book-matching/auto_link_books.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Auto Link Books +docs: + content: |- + # Auto Link Books - `POST /api/sync/auto-link-books` — auth: jwt. + `POST /api/sync/auto-link-books` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/auto_link_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/auto_link_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/bulk_link_books.yml b/bruno/book-matching/bulk_link_books.yml index a2a12e11..ea38f6d1 100644 --- a/bruno/book-matching/bulk_link_books.yml +++ b/bruno/book-matching/bulk_link_books.yml @@ -30,9 +30,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Link Books +docs: + content: |- + # Bulk Link Books - `POST /api/sync/bulk-link-books` — auth: jwt. + `POST /api/sync/bulk-link-books` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/bulk_link_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/bulk_link_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/create_device_file_alias.yml b/bruno/book-matching/create_device_file_alias.yml index 0d619dd9..6220c69d 100644 --- a/bruno/book-matching/create_device_file_alias.yml +++ b/bruno/book-matching/create_device_file_alias.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Device File Alias +docs: + content: |- + # Create Device File Alias - `POST /api/devices/:id/file-aliases` — auth: jwt. + `POST /api/devices/:id/file-aliases` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/create_device_file_alias.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/create_device_file_alias.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/delete_device_file_alias.yml b/bruno/book-matching/delete_device_file_alias.yml index 6529c221..3925fa33 100644 --- a/bruno/book-matching/delete_device_file_alias.yml +++ b/bruno/book-matching/delete_device_file_alias.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Device File Alias +docs: + content: |- + # Delete Device File Alias - `DELETE /api/devices/:id/file-aliases/:aliasId` — auth: jwt. + `DELETE /api/devices/:id/file-aliases/:aliasId` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/delete_device_file_alias.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/delete_device_file_alias.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/get_book_matches.yml b/bruno/book-matching/get_book_matches.yml index 457588f2..1b9ab395 100644 --- a/bruno/book-matching/get_book_matches.yml +++ b/bruno/book-matching/get_book_matches.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Book Matches +docs: + content: |- + # Get Book Matches - `GET /api/books/match` — auth: jwt. + `GET /api/books/match` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/get_book_matches.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/get_book_matches.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/get_device_file_aliases.yml b/bruno/book-matching/get_device_file_aliases.yml index ecda5a8c..d6557957 100644 --- a/bruno/book-matching/get_device_file_aliases.yml +++ b/bruno/book-matching/get_device_file_aliases.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Device File Aliases +docs: + content: |- + # Get Device File Aliases - `GET /api/devices/:id/file-aliases` — auth: jwt. + `GET /api/devices/:id/file-aliases` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/get_device_file_aliases.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/get_device_file_aliases.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/get_unlinked_book_suggestions.yml b/bruno/book-matching/get_unlinked_book_suggestions.yml index b377215a..7fa78199 100644 --- a/bruno/book-matching/get_unlinked_book_suggestions.yml +++ b/bruno/book-matching/get_unlinked_book_suggestions.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Unlinked Book Suggestions +docs: + content: |- + # Get Unlinked Book Suggestions - `GET /api/sync/unlinked-books/:id/suggestions` — auth: jwt. + `GET /api/sync/unlinked-books/:id/suggestions` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/get_unlinked_book_suggestions.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/get_unlinked_book_suggestions.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/get_unlinked_books.yml b/bruno/book-matching/get_unlinked_books.yml index a999c9e8..0d498703 100644 --- a/bruno/book-matching/get_unlinked_books.yml +++ b/bruno/book-matching/get_unlinked_books.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Unlinked Books +docs: + content: |- + # Get Unlinked Books - `GET /api/devices/:deviceId/sync/unlinked-books` — auth: jwt. + `GET /api/devices/:deviceId/sync/unlinked-books` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/get_unlinked_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/get_unlinked_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/link_book.yml b/bruno/book-matching/link_book.yml index 190cd9f6..1ec74bfe 100644 --- a/bruno/book-matching/link_book.yml +++ b/bruno/book-matching/link_book.yml @@ -25,9 +25,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Link Book +docs: + content: |- + # Link Book - `POST /api/devices/:deviceId/sync/link-book` — auth: jwt. + `POST /api/devices/:deviceId/sync/link-book` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/link_book.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/link_book.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/search_books.yml b/bruno/book-matching/search_books.yml index bf898d37..5a8510e2 100644 --- a/bruno/book-matching/search_books.yml +++ b/bruno/book-matching/search_books.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Search Books for Matching +docs: + content: |- + # Search Books for Matching - `POST /api/sync/books/query` — auth: jwt. + `POST /api/sync/books/query` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/search_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/search_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/book-matching/update_device_file_alias.yml b/bruno/book-matching/update_device_file_alias.yml index 96780b68..a23de86a 100644 --- a/bruno/book-matching/update_device_file_alias.yml +++ b/bruno/book-matching/update_device_file_alias.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Device File Alias +docs: + content: |- + # Update Device File Alias - `PUT /api/devices/:id/file-aliases/:aliasId` — auth: jwt. + `PUT /api/devices/:id/file-aliases/:aliasId` — auth: jwt. - Canonical reference: `docs/developer/api/book-matching/update_device_file_alias.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/book-matching/update_device_file_alias.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/add_auto_assign_rule.yml b/bruno/collections/add_auto_assign_rule.yml index 4cab783a..fab3b407 100644 --- a/bruno/collections/add_auto_assign_rule.yml +++ b/bruno/collections/add_auto_assign_rule.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Add Auto-Assign Rule +docs: + content: |- + # Add Auto-Assign Rule - `POST /api/collections/:id/rules` — auth: jwt. + `POST /api/collections/:id/rules` — auth: jwt. - Canonical reference: `docs/developer/api/collections/add_auto_assign_rule.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/add_auto_assign_rule.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/bulk_add_books.yml b/bruno/collections/bulk_add_books.yml index 9a905cdc..43730ed8 100644 --- a/bruno/collections/bulk_add_books.yml +++ b/bruno/collections/bulk_add_books.yml @@ -26,9 +26,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Add Books +docs: + content: |- + # Bulk Add Books - `POST /api/collections/bulk-add-books` — auth: jwt. + `POST /api/collections/bulk-add-books` — auth: jwt. - Canonical reference: `docs/developer/api/collections/bulk_add_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/bulk_add_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/bulk_assign.yml b/bruno/collections/bulk_assign.yml index 7794b3d6..e400eb1c 100644 --- a/bruno/collections/bulk_assign.yml +++ b/bruno/collections/bulk_assign.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Assign Books +docs: + content: |- + # Bulk Assign Books - `POST /api/collections/:id/books` — auth: jwt. + `POST /api/collections/:id/books` — auth: jwt. - Canonical reference: `docs/developer/api/collections/bulk_assign.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/bulk_assign.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/bulk_remove_books.yml b/bruno/collections/bulk_remove_books.yml index 887144e7..8fbd747d 100644 --- a/bruno/collections/bulk_remove_books.yml +++ b/bruno/collections/bulk_remove_books.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Remove Books +docs: + content: |- + # Bulk Remove Books - `POST /api/collections/:id/books/bulk-remove` — auth: jwt. + `POST /api/collections/:id/books/bulk-remove` — auth: jwt. - Canonical reference: `docs/developer/api/collections/bulk_remove_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/bulk_remove_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/create_collection.yml b/bruno/collections/create_collection.yml index 229ed14e..dd7221b8 100644 --- a/bruno/collections/create_collection.yml +++ b/bruno/collections/create_collection.yml @@ -25,9 +25,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Collection +docs: + content: |- + # Create Collection - `POST /api/collections` — auth: jwt. + `POST /api/collections` — auth: jwt. - Canonical reference: `docs/developer/api/collections/create_collection.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/create_collection.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/create_shelf_mapping.yml b/bruno/collections/create_shelf_mapping.yml index eff8e54c..7600f27f 100644 --- a/bruno/collections/create_shelf_mapping.yml +++ b/bruno/collections/create_shelf_mapping.yml @@ -5,7 +5,7 @@ info: http: method: POST - url: '{{base_url}}/api/devices/{{collection_id}}/collections' + url: '{{base_url}}/api/devices/{{device_id}}/collections' auth: inherit body: type: json @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Shelf Mapping +docs: + content: |- + # Create Shelf Mapping - `POST /api/devices/:id/collections` — auth: jwt. + `POST /api/devices/:id/collections` — auth: jwt. - Canonical reference: `docs/developer/api/collections/create_shelf_mapping.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/create_shelf_mapping.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/delete_collection.yml b/bruno/collections/delete_collection.yml index 04bcfcc6..200b22b4 100644 --- a/bruno/collections/delete_collection.yml +++ b/bruno/collections/delete_collection.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Collection +docs: + content: |- + # Delete Collection - `DELETE /api/collections/:id` — auth: jwt. + `DELETE /api/collections/:id` — auth: jwt. - Canonical reference: `docs/developer/api/collections/delete_collection.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/delete_collection.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/delete_shelf_mapping.yml b/bruno/collections/delete_shelf_mapping.yml index 4955fc36..f60b3081 100644 --- a/bruno/collections/delete_shelf_mapping.yml +++ b/bruno/collections/delete_shelf_mapping.yml @@ -5,7 +5,7 @@ info: http: method: DELETE - url: '{{base_url}}/api/devices/{{collection_id}}/collections/{{collection_id}}' + url: '{{base_url}}/api/devices/{{device_id}}/collections/{{collection_id}}' auth: inherit settings: encodeUrl: true @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Shelf Mapping +docs: + content: |- + # Delete Shelf Mapping - `DELETE /api/devices/:id/collections/:collectionId` — auth: jwt. + `DELETE /api/devices/:id/collections/:collectionId` — auth: jwt. - Canonical reference: `docs/developer/api/collections/delete_shelf_mapping.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/delete_shelf_mapping.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/get_collection.yml b/bruno/collections/get_collection.yml index 603c3a51..39c6b0cc 100644 --- a/bruno/collections/get_collection.yml +++ b/bruno/collections/get_collection.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Collection +docs: + content: |- + # Get Collection - `GET /api/collections/:id` — auth: jwt. + `GET /api/collections/:id` — auth: jwt. - Canonical reference: `docs/developer/api/collections/get_collection.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/get_collection.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/get_collection_books.yml b/bruno/collections/get_collection_books.yml index 006c435f..77390b82 100644 --- a/bruno/collections/get_collection_books.yml +++ b/bruno/collections/get_collection_books.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Book Collections +docs: + content: |- + # Get Book Collections - `GET /api/collections/:id/books` — auth: jwt. + `GET /api/collections/:id/books` — auth: jwt. - Canonical reference: `docs/developer/api/collections/get_collection_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/get_collection_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/list_collections.yml b/bruno/collections/list_collections.yml index dc4bc487..6ec922fb 100644 --- a/bruno/collections/list_collections.yml +++ b/bruno/collections/list_collections.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Collections +docs: + content: |- + # List Collections - `GET /api/collections` — auth: jwt. + `GET /api/collections` — auth: jwt. - Canonical reference: `docs/developer/api/collections/list_collections.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/list_collections.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/preview_collection.yml b/bruno/collections/preview_collection.yml index 450ee6a8..474488c3 100644 --- a/bruno/collections/preview_collection.yml +++ b/bruno/collections/preview_collection.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Preview Collection +docs: + content: |- + # Preview Collection - `POST /api/collections/preview` — auth: jwt. + `POST /api/collections/preview` — auth: jwt. - Canonical reference: `docs/developer/api/collections/preview_collection.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/preview_collection.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/remove_auto_assign_rule.yml b/bruno/collections/remove_auto_assign_rule.yml index e4b869b9..1612d43d 100644 --- a/bruno/collections/remove_auto_assign_rule.yml +++ b/bruno/collections/remove_auto_assign_rule.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Remove Auto-Assign Rule +docs: + content: |- + # Remove Auto-Assign Rule - `DELETE /api/collections/:id/rules/:ruleId` — auth: jwt. + `DELETE /api/collections/:id/rules/:ruleId` — auth: jwt. - Canonical reference: `docs/developer/api/collections/remove_auto_assign_rule.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/remove_auto_assign_rule.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/reorder_items.yml b/bruno/collections/reorder_items.yml index 5756959e..09d93225 100644 --- a/bruno/collections/reorder_items.yml +++ b/bruno/collections/reorder_items.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Reorder Collection Items +docs: + content: |- + # Reorder Collection Items - `PUT /api/collections/:id/items/order` — auth: jwt. + `PUT /api/collections/:id/items/order` — auth: jwt. - Canonical reference: `docs/developer/api/collections/reorder_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/reorder_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/test_rule.yml b/bruno/collections/test_rule.yml index e2de3c73..268f3bf7 100644 --- a/bruno/collections/test_rule.yml +++ b/bruno/collections/test_rule.yml @@ -30,9 +30,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Test Rule +docs: + content: |- + # Test Rule - `POST /api/collections/test-rules` — auth: jwt. + `POST /api/collections/test-rules` — auth: jwt. - Canonical reference: `docs/developer/api/collections/test_rule.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/test_rule.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/update_collection.yml b/bruno/collections/update_collection.yml index 11674c1d..1947f634 100644 --- a/bruno/collections/update_collection.yml +++ b/bruno/collections/update_collection.yml @@ -26,9 +26,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Collection +docs: + content: |- + # Update Collection - `PUT /api/collections/:id` — auth: jwt. + `PUT /api/collections/:id` — auth: jwt. - Canonical reference: `docs/developer/api/collections/update_collection.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/update_collection.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/collections/update_rule.yml b/bruno/collections/update_rule.yml index 4d5d223b..780a709f 100644 --- a/bruno/collections/update_rule.yml +++ b/bruno/collections/update_rule.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Collection Rule +docs: + content: |- + # Update Collection Rule - `PUT /api/collections/:id/rules/:ruleId` — auth: jwt. + `PUT /api/collections/:id/rules/:ruleId` — auth: jwt. - Canonical reference: `docs/developer/api/collections/update_rule.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/collections/update_rule.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/conflicts/bulk_dismiss_conflicts.yml b/bruno/conflicts/bulk_dismiss_conflicts.yml index 1484044a..79ede06c 100644 --- a/bruno/conflicts/bulk_dismiss_conflicts.yml +++ b/bruno/conflicts/bulk_dismiss_conflicts.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Dismiss Conflicts +docs: + content: |- + # Bulk Dismiss Conflicts - `POST /api/conflicts/bulk-dismiss` — auth: jwt. + `POST /api/conflicts/bulk-dismiss` — auth: jwt. - Canonical reference: `docs/developer/api/conflicts/bulk_dismiss_conflicts.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/conflicts/bulk_dismiss_conflicts.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/conflicts/bulk_resolve_conflicts.yml b/bruno/conflicts/bulk_resolve_conflicts.yml index 1b894fc1..9b9d2ac1 100644 --- a/bruno/conflicts/bulk_resolve_conflicts.yml +++ b/bruno/conflicts/bulk_resolve_conflicts.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Resolve Conflicts +docs: + content: |- + # Bulk Resolve Conflicts - `POST /api/conflicts/bulk-resolve` — auth: jwt. + `POST /api/conflicts/bulk-resolve` — auth: jwt. - Canonical reference: `docs/developer/api/conflicts/bulk_resolve_conflicts.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/conflicts/bulk_resolve_conflicts.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/conflicts/delete_conflict.yml b/bruno/conflicts/delete_conflict.yml index 8cb0b4d5..884a4450 100644 --- a/bruno/conflicts/delete_conflict.yml +++ b/bruno/conflicts/delete_conflict.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Conflict +docs: + content: |- + # Delete Conflict - `DELETE /api/conflicts/:id` — auth: jwt. + `DELETE /api/conflicts/:id` — auth: jwt. - Canonical reference: `docs/developer/api/conflicts/delete_conflict.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/conflicts/delete_conflict.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/conflicts/dismiss_all_resolved.yml b/bruno/conflicts/dismiss_all_resolved.yml index 37627712..29398f3f 100644 --- a/bruno/conflicts/dismiss_all_resolved.yml +++ b/bruno/conflicts/dismiss_all_resolved.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Dismiss All Resolved +docs: + content: |- + # Dismiss All Resolved - `POST /api/conflicts/dismiss-all` — auth: jwt. + `POST /api/conflicts/dismiss-all` — auth: jwt. - Canonical reference: `docs/developer/api/conflicts/dismiss_all_resolved.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/conflicts/dismiss_all_resolved.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/conflicts/get_conflict.yml b/bruno/conflicts/get_conflict.yml index 990ad711..e4e167b7 100644 --- a/bruno/conflicts/get_conflict.yml +++ b/bruno/conflicts/get_conflict.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Conflict Details +docs: + content: |- + # Get Conflict Details - `GET /api/conflicts/:id` — auth: jwt. + `GET /api/conflicts/:id` — auth: jwt. - Canonical reference: `docs/developer/api/conflicts/get_conflict.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/conflicts/get_conflict.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/conflicts/list_conflicts.yml b/bruno/conflicts/list_conflicts.yml index 0162fd32..cf28f699 100644 --- a/bruno/conflicts/list_conflicts.yml +++ b/bruno/conflicts/list_conflicts.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Conflicts +docs: + content: |- + # List Conflicts - `GET /api/conflicts` — auth: jwt. + `GET /api/conflicts` — auth: jwt. - Canonical reference: `docs/developer/api/conflicts/list_conflicts.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/conflicts/list_conflicts.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/conflicts/resolve_conflict.yml b/bruno/conflicts/resolve_conflict.yml index 172fd972..b1965ab1 100644 --- a/bruno/conflicts/resolve_conflict.yml +++ b/bruno/conflicts/resolve_conflict.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Resolve Conflict +docs: + content: |- + # Resolve Conflict - `POST /api/conflicts/:id/resolve` — auth: jwt. + `POST /api/conflicts/:id/resolve` — auth: jwt. - Canonical reference: `docs/developer/api/conflicts/resolve_conflict.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/conflicts/resolve_conflict.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/dashboard/get_preferences.yml b/bruno/dashboard/get_preferences.yml index 1e66d6a8..6a1446a1 100644 --- a/bruno/dashboard/get_preferences.yml +++ b/bruno/dashboard/get_preferences.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Dashboard Preferences +docs: + content: |- + # Get Dashboard Preferences - `GET /api/dashboard/preferences` — auth: jwt. + `GET /api/dashboard/preferences` — auth: jwt. - Canonical reference: `docs/developer/api/dashboard/get_preferences.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/dashboard/get_preferences.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/dashboard/get_sections.yml b/bruno/dashboard/get_sections.yml index edbd9d91..4fff91c3 100644 --- a/bruno/dashboard/get_sections.yml +++ b/bruno/dashboard/get_sections.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Dashboard Sections +docs: + content: |- + # Get Dashboard Sections - `GET /api/dashboard/sections` — auth: jwt. + `GET /api/dashboard/sections` — auth: jwt. - Canonical reference: `docs/developer/api/dashboard/get_sections.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/dashboard/get_sections.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/dashboard/restore_system_collection.yml b/bruno/dashboard/restore_system_collection.yml index acf884c5..95014bdd 100644 --- a/bruno/dashboard/restore_system_collection.yml +++ b/bruno/dashboard/restore_system_collection.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Restore System Collection +docs: + content: |- + # Restore System Collection - `POST /api/dashboard/restore-system-collection` — auth: jwt. + `POST /api/dashboard/restore-system-collection` — auth: jwt. - Canonical reference: `docs/developer/api/dashboard/restore_system_collection.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/dashboard/restore_system_collection.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/dashboard/update_preferences.yml b/bruno/dashboard/update_preferences.yml index c70d4ffd..df07ddc0 100644 --- a/bruno/dashboard/update_preferences.yml +++ b/bruno/dashboard/update_preferences.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Dashboard Preferences +docs: + content: |- + # Update Dashboard Preferences - `PUT /api/dashboard/preferences` — auth: jwt. + `PUT /api/dashboard/preferences` — auth: jwt. - Canonical reference: `docs/developer/api/dashboard/update_preferences.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/dashboard/update_preferences.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/add_to_shelf.yml b/bruno/devices/add_to_shelf.yml index 7e282edb..ecffa48b 100644 --- a/bruno/devices/add_to_shelf.yml +++ b/bruno/devices/add_to_shelf.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Add to Shelf +docs: + content: |- + # Add to Shelf - `POST /api/devices/:id/shelves` — auth: jwt. + `POST /api/devices/:id/shelves` — auth: jwt. - Canonical reference: `docs/developer/api/devices/add_to_shelf.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/add_to_shelf.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/approve_device_registration.yml b/bruno/devices/approve_device_registration.yml index 8c3fe460..9b140df2 100644 --- a/bruno/devices/approve_device_registration.yml +++ b/bruno/devices/approve_device_registration.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Approve Device Registration +docs: + content: |- + # Approve Device Registration - `GET /api/devices/approve/:registration_id` — auth: jwt. + `GET /api/devices/approve/:registration_id` — auth: jwt. - Canonical reference: `docs/developer/api/devices/approve_device_registration.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/approve_device_registration.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/clear_shelf.yml b/bruno/devices/clear_shelf.yml index 5051407a..a70abaec 100644 --- a/bruno/devices/clear_shelf.yml +++ b/bruno/devices/clear_shelf.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Clear Shelf +docs: + content: |- + # Clear Shelf - `DELETE /api/devices/:id/shelves/clear` — auth: jwt. + `DELETE /api/devices/:id/shelves/clear` — auth: jwt. - Canonical reference: `docs/developer/api/devices/clear_shelf.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/clear_shelf.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/delete_device.yml b/bruno/devices/delete_device.yml index 10fd6352..0756c39f 100644 --- a/bruno/devices/delete_device.yml +++ b/bruno/devices/delete_device.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Device +docs: + content: |- + # Delete Device - `DELETE /api/devices/:id` — auth: jwt. + `DELETE /api/devices/:id` — auth: jwt. - Canonical reference: `docs/developer/api/devices/delete_device.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/delete_device.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/download_sidecar_config.yml b/bruno/devices/download_sidecar_config.yml index 8ce063d0..9d3c978b 100644 --- a/bruno/devices/download_sidecar_config.yml +++ b/bruno/devices/download_sidecar_config.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Download Sidecar Config +docs: + content: |- + # Download Sidecar Config - `GET /api/devices/:id/sidecar/download` — auth: jwt. + `GET /api/devices/:id/sidecar/download` — auth: jwt. - Canonical reference: `docs/developer/api/devices/download_sidecar_config.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/download_sidecar_config.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/get_device.yml b/bruno/devices/get_device.yml index 1c3029aa..4462acd3 100644 --- a/bruno/devices/get_device.yml +++ b/bruno/devices/get_device.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Device +docs: + content: |- + # Get Device - `GET /api/devices/:id` — auth: jwt. + `GET /api/devices/:id` — auth: jwt. - Canonical reference: `docs/developer/api/devices/get_device.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/get_device.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/get_device_mappings.yml b/bruno/devices/get_device_mappings.yml index 06930126..5fe67f78 100644 --- a/bruno/devices/get_device_mappings.yml +++ b/bruno/devices/get_device_mappings.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Device Collection Mappings +docs: + content: |- + # Get Device Collection Mappings - `GET /api/devices/:id/collections` — auth: jwt. + `GET /api/devices/:id/collections` — auth: jwt. - Canonical reference: `docs/developer/api/devices/get_device_mappings.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/get_device_mappings.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/get_devices.yml b/bruno/devices/get_devices.yml index 0018f096..9dfe9b71 100644 --- a/bruno/devices/get_devices.yml +++ b/bruno/devices/get_devices.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Device / Check Registration Status +docs: + content: |- + # Get Device / Check Registration Status - `POST /api/devices/register/status` — auth: none. + `POST /api/devices/register/status` — auth: none. - Canonical reference: `docs/developer/api/devices/get_devices.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/get_devices.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/get_shelf.yml b/bruno/devices/get_shelf.yml index 371b528a..7ea4bbc2 100644 --- a/bruno/devices/get_shelf.yml +++ b/bruno/devices/get_shelf.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Shelf +docs: + content: |- + # Get Shelf - `GET /api/devices/:id/shelves` — auth: jwt. + `GET /api/devices/:id/shelves` — auth: jwt. - Canonical reference: `docs/developer/api/devices/get_shelf.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/get_shelf.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/get_sidecar_config.yml b/bruno/devices/get_sidecar_config.yml index 7f4cf44c..1175901a 100644 --- a/bruno/devices/get_sidecar_config.yml +++ b/bruno/devices/get_sidecar_config.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Device Sidecar Config +docs: + content: |- + # Get Device Sidecar Config - `GET /api/devices/:id/sidecar` — auth: jwt. + `GET /api/devices/:id/sidecar` — auth: jwt. - Canonical reference: `docs/developer/api/devices/get_sidecar_config.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/get_sidecar_config.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/link_book.yml b/bruno/devices/link_book.yml index 3e4b544d..615d6587 100644 --- a/bruno/devices/link_book.yml +++ b/bruno/devices/link_book.yml @@ -25,9 +25,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Link Book +docs: + content: |- + # Link Book - `POST /api/devices/:deviceId/sync/link-book` — auth: jwt. + `POST /api/devices/:deviceId/sync/link-book` — auth: jwt. - Canonical reference: `docs/developer/api/devices/link_book.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/link_book.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/list_devices.yml b/bruno/devices/list_devices.yml index 7de63388..88b08142 100644 --- a/bruno/devices/list_devices.yml +++ b/bruno/devices/list_devices.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List User Devices +docs: + content: |- + # List User Devices - `GET /api/devices` — auth: jwt. + `GET /api/devices` — auth: jwt. - Canonical reference: `docs/developer/api/devices/list_devices.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/list_devices.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/list_pending_registrations.yml b/bruno/devices/list_pending_registrations.yml index 4af207ec..f69d1dc1 100644 --- a/bruno/devices/list_pending_registrations.yml +++ b/bruno/devices/list_pending_registrations.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Pending Device Registrations:<|end|><|start|><|start|>assistant to=edit<|channel|>analysis <|constrain|>xml<|message|> +docs: + content: |- + # List Pending Device Registrations:<|end|><|start|><|start|>assistant to=edit<|channel|>analysis <|constrain|>xml<|message|> - `GET /api/devices/pending` — auth: jwt. + `GET /api/devices/pending` — auth: jwt. - Canonical reference: `docs/developer/api/devices/list_pending_registrations.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/list_pending_registrations.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/regenerate_device_token.yml b/bruno/devices/regenerate_device_token.yml index b370e73d..2b66e0b0 100644 --- a/bruno/devices/regenerate_device_token.yml +++ b/bruno/devices/regenerate_device_token.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Regenerate Device Token +docs: + content: |- + # Regenerate Device Token - `PUT /api/devices/:id/regenerate-token` — auth: jwt. + `PUT /api/devices/:id/regenerate-token` — auth: jwt. - Canonical reference: `docs/developer/api/devices/regenerate_device_token.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/regenerate_device_token.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/register_device.yml b/bruno/devices/register_device.yml index 68153b1d..2be1fe33 100644 --- a/bruno/devices/register_device.yml +++ b/bruno/devices/register_device.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Register Device +docs: + content: |- + # Register Device - `POST /api/devices/register` — auth: none. + `POST /api/devices/register` — auth: none. - Canonical reference: `docs/developer/api/devices/register_device.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/register_device.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/reject_device_registration.yml b/bruno/devices/reject_device_registration.yml index 7e287b3a..2654dab7 100644 --- a/bruno/devices/reject_device_registration.yml +++ b/bruno/devices/reject_device_registration.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Reject Device Registration +docs: + content: |- + # Reject Device Registration - `POST /api/devices/reject/:registration_id` — auth: jwt. + `POST /api/devices/reject/:registration_id` — auth: jwt. - Canonical reference: `docs/developer/api/devices/reject_device_registration.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/reject_device_registration.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/remove_from_shelf.yml b/bruno/devices/remove_from_shelf.yml index 5afc04de..1fa292b8 100644 --- a/bruno/devices/remove_from_shelf.yml +++ b/bruno/devices/remove_from_shelf.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Remove from Shelf +docs: + content: |- + # Remove from Shelf - `DELETE /api/devices/:id/shelves` — auth: jwt. + `DELETE /api/devices/:id/shelves` — auth: jwt. - Canonical reference: `docs/developer/api/devices/remove_from_shelf.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/remove_from_shelf.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/update_device.yml b/bruno/devices/update_device.yml index ec8e70d5..18a0f5d3 100644 --- a/bruno/devices/update_device.yml +++ b/bruno/devices/update_device.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Device +docs: + content: |- + # Update Device - `PUT /api/devices/:id` — auth: jwt. + `PUT /api/devices/:id` — auth: jwt. - Canonical reference: `docs/developer/api/devices/update_device.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/update_device.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/devices/update_device_mapping.yml b/bruno/devices/update_device_mapping.yml index 154d19f3..a8e911f3 100644 --- a/bruno/devices/update_device_mapping.yml +++ b/bruno/devices/update_device_mapping.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Device Collection Mapping +docs: + content: |- + # Update Device Collection Mapping - `PUT /api/devices/:id/collections/:collectionId` — auth: jwt. + `PUT /api/devices/:id/collections/:collectionId` — auth: jwt. - Canonical reference: `docs/developer/api/devices/update_device_mapping.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/devices/update_device_mapping.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/highlights/create_highlight.yml b/bruno/highlights/create_highlight.yml index 9c64b482..e0258b29 100644 --- a/bruno/highlights/create_highlight.yml +++ b/bruno/highlights/create_highlight.yml @@ -24,9 +24,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Highlight +docs: + content: |- + # Create Highlight - `POST /api/media-items/:id/highlights` — auth: jwt. + `POST /api/media-items/:id/highlights` — auth: jwt. - Canonical reference: `docs/developer/api/highlights/create_highlight.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/highlights/create_highlight.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/highlights/delete_highlight.yml b/bruno/highlights/delete_highlight.yml index 8d0f2c7b..e26c2832 100644 --- a/bruno/highlights/delete_highlight.yml +++ b/bruno/highlights/delete_highlight.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Highlight +docs: + content: |- + # Delete Highlight - `DELETE /api/media-items/:id/highlights/:highlightId` — auth: jwt. + `DELETE /api/media-items/:id/highlights/:highlightId` — auth: jwt. - Canonical reference: `docs/developer/api/highlights/delete_highlight.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/highlights/delete_highlight.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/highlights/get_highlights.yml b/bruno/highlights/get_highlights.yml index 151306c7..9b716d00 100644 --- a/bruno/highlights/get_highlights.yml +++ b/bruno/highlights/get_highlights.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Highlights +docs: + content: |- + # Get Highlights - `GET /api/media-items/:id/highlights` — auth: jwt. + `GET /api/media-items/:id/highlights` — auth: jwt. - Canonical reference: `docs/developer/api/highlights/get_highlights.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/highlights/get_highlights.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/highlights/update_highlight.yml b/bruno/highlights/update_highlight.yml index 84362c65..6d5958d8 100644 --- a/bruno/highlights/update_highlight.yml +++ b/bruno/highlights/update_highlight.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Highlight +docs: + content: |- + # Update Highlight - `PUT /api/media-items/:id/highlights/:highlightId` — auth: jwt. + `PUT /api/media-items/:id/highlights/:highlightId` — auth: jwt. - Canonical reference: `docs/developer/api/highlights/update_highlight.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/highlights/update_highlight.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/jobs/create_job.yml b/bruno/jobs/create_job.yml index 0de90d22..13266476 100644 --- a/bruno/jobs/create_job.yml +++ b/bruno/jobs/create_job.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Job +docs: + content: |- + # Create Job - `POST /api/jobs` — auth: jwt. + `POST /api/jobs` — auth: jwt. - Canonical reference: `docs/developer/api/jobs/create_job.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/jobs/create_job.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/jobs/get_job_status.yml b/bruno/jobs/get_job_status.yml index d84a360b..840452f4 100644 --- a/bruno/jobs/get_job_status.yml +++ b/bruno/jobs/get_job_status.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Job Status +docs: + content: |- + # Get Job Status - `GET /api/jobs/:jobId` — auth: jwt. + `GET /api/jobs/:jobId` — auth: jwt. - Canonical reference: `docs/developer/api/jobs/get_job_status.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/jobs/get_job_status.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/kobo/analytics_gettests.yml b/bruno/kobo/analytics_gettests.yml index 2ec967a6..b60319b3 100644 --- a/bruno/kobo/analytics_gettests.yml +++ b/bruno/kobo/analytics_gettests.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Analytics GetTests +docs: + content: |- + # Analytics GetTests - `POST /api/sync/kobo/:token/v1/analytics/gettests` — auth: device-token. + `POST /api/sync/kobo/:token/v1/analytics/gettests` — auth: device-token. - Canonical reference: `docs/developer/api/kobo/analytics_gettests.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/kobo/analytics_gettests.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/kobo/bookmark_sync.yml b/bruno/kobo/bookmark_sync.yml index 515a1ca3..8ddf655d 100644 --- a/bruno/kobo/bookmark_sync.yml +++ b/bruno/kobo/bookmark_sync.yml @@ -30,9 +30,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bookmark Sync +docs: + content: |- + # Bookmark Sync - `POST /api/sync/kobo/:token/bookmark` — auth: device-token. + `POST /api/sync/kobo/:token/bookmark` — auth: device-token. - Canonical reference: `docs/developer/api/kobo/bookmark_sync.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/kobo/bookmark_sync.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/kobo/initialization.yml b/bruno/kobo/initialization.yml index 1bf145b7..6d02a9a7 100644 --- a/bruno/kobo/initialization.yml +++ b/bruno/kobo/initialization.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Kobo Initialization +docs: + content: |- + # Kobo Initialization - `GET /api/sync/kobo/:token/v1/initialization` — auth: device-token. + `GET /api/sync/kobo/:token/v1/initialization` — auth: device-token. - Canonical reference: `docs/developer/api/kobo/initialization.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/kobo/initialization.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/kobo/markup_sync.yml b/bruno/kobo/markup_sync.yml index e17492ca..944366ba 100644 --- a/bruno/kobo/markup_sync.yml +++ b/bruno/kobo/markup_sync.yml @@ -34,9 +34,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Markup Sync +docs: + content: |- + # Markup Sync - `POST /api/sync/kobo/:token/markup` — auth: device-token. + `POST /api/sync/kobo/:token/markup` — auth: device-token. - Canonical reference: `docs/developer/api/kobo/markup_sync.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/kobo/markup_sync.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/kobo/sync_from_server.yml b/bruno/kobo/sync_from_server.yml index d3f7670f..77bc59ae 100644 --- a/bruno/kobo/sync_from_server.yml +++ b/bruno/kobo/sync_from_server.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Sync From Server +docs: + content: |- + # Sync From Server - `POST /api/sync/kobo/:token/sync-from-server` — auth: device-token. + `POST /api/sync/kobo/:token/sync-from-server` — auth: device-token. - Canonical reference: `docs/developer/api/kobo/sync_from_server.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/kobo/sync_from_server.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/get_library.yml b/bruno/koreader/get_library.yml index 4949b81d..36a0a4a9 100644 --- a/bruno/koreader/get_library.yml +++ b/bruno/koreader/get_library.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Library +docs: + content: |- + # Get Library - `GET /api/sync/koreader/library` — auth: device-token. + `GET /api/sync/koreader/library` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/get_library.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/get_library.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/get_metadata.yml b/bruno/koreader/get_metadata.yml index f226720f..9b73e810 100644 --- a/bruno/koreader/get_metadata.yml +++ b/bruno/koreader/get_metadata.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Metadata +docs: + content: |- + # Get Metadata - `GET /api/sync/koreader/metadata/:uuid` — auth: device-token. + `GET /api/sync/koreader/metadata/:uuid` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/get_metadata.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/get_metadata.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/get_rating.yml b/bruno/koreader/get_rating.yml index 84287573..9b98b8e3 100644 --- a/bruno/koreader/get_rating.yml +++ b/bruno/koreader/get_rating.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get KOReader Rating +docs: + content: |- + # Get KOReader Rating - `GET /api/sync/koreader/rating` — auth: device-token. + `GET /api/sync/koreader/rating` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/get_rating.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/get_rating.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/get_review.yml b/bruno/koreader/get_review.yml index 7fcd86d9..cf3f08fb 100644 --- a/bruno/koreader/get_review.yml +++ b/bruno/koreader/get_review.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get KOReader Review +docs: + content: |- + # Get KOReader Review - `GET /api/sync/koreader/review` — auth: device-token. + `GET /api/sync/koreader/review` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/get_review.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/get_review.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/push_stats.yml b/bruno/koreader/push_stats.yml index 84adf0e2..4542875f 100644 --- a/bruno/koreader/push_stats.yml +++ b/bruno/koreader/push_stats.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Push KOReader Stats +docs: + content: |- + # Push KOReader Stats - `POST /api/sync/koreader/stats` — auth: device-token. + `POST /api/sync/koreader/stats` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/push_stats.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/push_stats.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/resolve_book.yml b/bruno/koreader/resolve_book.yml index 7f9c528c..18b4f165 100644 --- a/bruno/koreader/resolve_book.yml +++ b/bruno/koreader/resolve_book.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Resolve Book:<|end|><|start|> assistant to=edit<|channel|>analysis <|constrain|>xml<|message|> +docs: + content: |- + # Resolve Book:<|end|><|start|> assistant to=edit<|channel|>analysis <|constrain|>xml<|message|> - `GET /api/sync/koreader/resolve` — auth: device-token. + `GET /api/sync/koreader/resolve` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/resolve_book.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/resolve_book.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/set_rating.yml b/bruno/koreader/set_rating.yml index 73097208..8858edc2 100644 --- a/bruno/koreader/set_rating.yml +++ b/bruno/koreader/set_rating.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Set KOReader Rating +docs: + content: |- + # Set KOReader Rating - `POST /api/sync/koreader/rating` — auth: device-token. + `POST /api/sync/koreader/rating` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/set_rating.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/set_rating.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/set_review.yml b/bruno/koreader/set_review.yml index c60fe772..fe0c0c6a 100644 --- a/bruno/koreader/set_review.yml +++ b/bruno/koreader/set_review.yml @@ -22,9 +22,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Set KOReader Review +docs: + content: |- + # Set KOReader Review - `POST /api/sync/koreader/review` — auth: device-token. + `POST /api/sync/koreader/review` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/set_review.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/set_review.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/sync_bookmarks.yml b/bruno/koreader/sync_bookmarks.yml index 76433ad8..ab03d2ba 100644 --- a/bruno/koreader/sync_bookmarks.yml +++ b/bruno/koreader/sync_bookmarks.yml @@ -45,9 +45,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Sync Bookmarks +docs: + content: |- + # Sync Bookmarks - `POST /api/sync/koreader/bookmarks` — auth: device-token. + `POST /api/sync/koreader/bookmarks` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/sync_bookmarks.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/sync_bookmarks.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/koreader/sync_progress.yml b/bruno/koreader/sync_progress.yml index 93182aa0..4bc1445c 100644 --- a/bruno/koreader/sync_progress.yml +++ b/bruno/koreader/sync_progress.yml @@ -39,9 +39,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Sync Progress +docs: + content: |- + # Sync Progress - `POST /api/sync/koreader/progress` — auth: device-token. + `POST /api/sync/koreader/progress` — auth: device-token. - Canonical reference: `docs/developer/api/koreader/sync_progress.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/koreader/sync_progress.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/add_library_folder.yml b/bruno/libraries/add_library_folder.yml index 4253178c..162031b5 100644 --- a/bruno/libraries/add_library_folder.yml +++ b/bruno/libraries/add_library_folder.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Add Library Folder +docs: + content: |- + # Add Library Folder - `POST /api/libraries/:id/folders` — auth: jwt+admin. + `POST /api/libraries/:id/folders` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/add_library_folder.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/add_library_folder.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/browse-folders.yml b/bruno/libraries/browse-folders.yml index c4e1e24e..374825bb 100644 --- a/bruno/libraries/browse-folders.yml +++ b/bruno/libraries/browse-folders.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Browse Library Folders +docs: + content: |- + # Browse Library Folders - `GET /api/libraries/browse` — auth: jwt+admin. + `GET /api/libraries/browse` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/browse-folders.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/browse-folders.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/create_library.yml b/bruno/libraries/create_library.yml index 10e1d314..9bd0a4ba 100644 --- a/bruno/libraries/create_library.yml +++ b/bruno/libraries/create_library.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Library +docs: + content: |- + # Create Library - `POST /api/libraries` — auth: jwt+admin. + `POST /api/libraries` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/create_library.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/create_library.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/delete_library.yml b/bruno/libraries/delete_library.yml index 0aedcca6..2ccff0fe 100644 --- a/bruno/libraries/delete_library.yml +++ b/bruno/libraries/delete_library.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Library +docs: + content: |- + # Delete Library - `DELETE /api/libraries/:id` — auth: jwt+admin. + `DELETE /api/libraries/:id` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/delete_library.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/delete_library.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/delete_library_folder.yml b/bruno/libraries/delete_library_folder.yml index fe181a00..51195e60 100644 --- a/bruno/libraries/delete_library_folder.yml +++ b/bruno/libraries/delete_library_folder.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Library Folder +docs: + content: |- + # Delete Library Folder - `DELETE /api/libraries/:id/folders` — auth: jwt+admin. + `DELETE /api/libraries/:id/folders` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/delete_library_folder.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/delete_library_folder.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/delete_processing_issue.yml b/bruno/libraries/delete_processing_issue.yml index 33adb865..49ce15a5 100644 --- a/bruno/libraries/delete_processing_issue.yml +++ b/bruno/libraries/delete_processing_issue.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Processing Issue +docs: + content: |- + # Delete Processing Issue - `DELETE /api/libraries/:id/issues/:issueId` — auth: jwt+admin. + `DELETE /api/libraries/:id/issues/:issueId` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/delete_processing_issue.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/delete_processing_issue.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_library.yml b/bruno/libraries/get_library.yml index 9d7c69e6..afc93b71 100644 --- a/bruno/libraries/get_library.yml +++ b/bruno/libraries/get_library.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Library Details:<|end|><|start|> assistant to=edit<|channel|>analysis <|constrain|>xml<|message|> +docs: + content: |- + # Get Library Details:<|end|><|start|> assistant to=edit<|channel|>analysis <|constrain|>xml<|message|> - `GET /api/libraries/:id` — auth: jwt+admin. + `GET /api/libraries/:id` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/get_library.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_library.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_library_folders.yml b/bruno/libraries/get_library_folders.yml index e698150b..4aa41700 100644 --- a/bruno/libraries/get_library_folders.yml +++ b/bruno/libraries/get_library_folders.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Library Folders +docs: + content: |- + # Get Library Folders - `GET /api/libraries/:id/folders` — auth: jwt+admin. + `GET /api/libraries/:id/folders` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/get_library_folders.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_library_folders.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_library_media_items.yml b/bruno/libraries/get_library_media_items.yml index d34a3877..45c01628 100644 --- a/bruno/libraries/get_library_media_items.yml +++ b/bruno/libraries/get_library_media_items.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Library Media Items +docs: + content: |- + # Get Library Media Items - `GET /api/libraries/:id/media-items` — auth: jwt+admin. + `GET /api/libraries/:id/media-items` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/get_library_media_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_library_media_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_library_stats.yml b/bruno/libraries/get_library_stats.yml index 143fd4d2..0815f80f 100644 --- a/bruno/libraries/get_library_stats.yml +++ b/bruno/libraries/get_library_stats.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Library Statistics +docs: + content: |- + # Get Library Statistics - `GET /api/libraries/:id/stats` — auth: jwt+admin. + `GET /api/libraries/:id/stats` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/get_library_stats.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_library_stats.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_library_types.yml b/bruno/libraries/get_library_types.yml index b60d2a86..fe6f085d 100644 --- a/bruno/libraries/get_library_types.yml +++ b/bruno/libraries/get_library_types.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Library Types +docs: + content: |- + # Get Library Types - `GET /api/libraries/types` — auth: none. + `GET /api/libraries/types` — auth: none. - Canonical reference: `docs/developer/api/libraries/get_library_types.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_library_types.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_processing_issue_stats.yml b/bruno/libraries/get_processing_issue_stats.yml index 79ec9576..880ead73 100644 --- a/bruno/libraries/get_processing_issue_stats.yml +++ b/bruno/libraries/get_processing_issue_stats.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Processing Issue Stats +docs: + content: |- + # Get Processing Issue Stats - `GET /api/libraries/:id/issues/stats` — auth: jwt+admin. + `GET /api/libraries/:id/issues/stats` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/get_processing_issue_stats.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_processing_issue_stats.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_scan_settings.yml b/bruno/libraries/get_scan_settings.yml index 144a2e31..1eff8dc9 100644 --- a/bruno/libraries/get_scan_settings.yml +++ b/bruno/libraries/get_scan_settings.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Scan Settings +docs: + content: |- + # Get Scan Settings - `GET /api/libraries/scan-settings` — auth: jwt+admin. + `GET /api/libraries/scan-settings` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/get_scan_settings.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_scan_settings.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/get_visible_libraries.yml b/bruno/libraries/get_visible_libraries.yml index 56589d96..e5fd3a75 100644 --- a/bruno/libraries/get_visible_libraries.yml +++ b/bruno/libraries/get_visible_libraries.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Visible Libraries +docs: + content: |- + # Get Visible Libraries - `GET /api/libraries/visibility` — auth: jwt. + `GET /api/libraries/visibility` — auth: jwt. - Canonical reference: `docs/developer/api/libraries/get_visible_libraries.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/get_visible_libraries.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/list_libraries.yml b/bruno/libraries/list_libraries.yml index cf27a514..3d6dc8eb 100644 --- a/bruno/libraries/list_libraries.yml +++ b/bruno/libraries/list_libraries.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Libraries (Admin) +docs: + content: |- + # List Libraries (Admin) - `GET /api/libraries` — auth: jwt+admin. + `GET /api/libraries` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/list_libraries.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/list_libraries.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/list_processing_issues.yml b/bruno/libraries/list_processing_issues.yml index cb3c5167..85319f05 100644 --- a/bruno/libraries/list_processing_issues.yml +++ b/bruno/libraries/list_processing_issues.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Processing Issues +docs: + content: |- + # List Processing Issues - `GET /api/libraries/:id/issues/list` — auth: jwt+admin. + `GET /api/libraries/:id/issues/list` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/list_processing_issues.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/list_processing_issues.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/resolve_processing_issue.yml b/bruno/libraries/resolve_processing_issue.yml index 0eeec08e..3840d06b 100644 --- a/bruno/libraries/resolve_processing_issue.yml +++ b/bruno/libraries/resolve_processing_issue.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Resolve Processing Issue +docs: + content: |- + # Resolve Processing Issue - `POST /api/libraries/:id/issues/:issueId/:mediaItemId/resolve` — auth: jwt+admin. + `POST /api/libraries/:id/issues/:issueId/:mediaItemId/resolve` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/resolve_processing_issue.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/resolve_processing_issue.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/scan_library.yml b/bruno/libraries/scan_library.yml index e329dc3a..c61a6e74 100644 --- a/bruno/libraries/scan_library.yml +++ b/bruno/libraries/scan_library.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Scan Library +docs: + content: |- + # Scan Library - `POST /api/libraries/:id/scan` — auth: jwt+admin. + `POST /api/libraries/:id/scan` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/scan_library.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/scan_library.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/set_library_visibility.yml b/bruno/libraries/set_library_visibility.yml index 0adf7893..f0cf04e1 100644 --- a/bruno/libraries/set_library_visibility.yml +++ b/bruno/libraries/set_library_visibility.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Set Library Visibility +docs: + content: |- + # Set Library Visibility - `POST /api/libraries/visibility` — auth: jwt. + `POST /api/libraries/visibility` — auth: jwt. - Canonical reference: `docs/developer/api/libraries/set_library_visibility.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/set_library_visibility.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/update_library.yml b/bruno/libraries/update_library.yml index c7033fa0..bd93d13c 100644 --- a/bruno/libraries/update_library.yml +++ b/bruno/libraries/update_library.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Library +docs: + content: |- + # Update Library - `PUT /api/libraries/:id` — auth: jwt+admin. + `PUT /api/libraries/:id` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/update_library.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/update_library.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/libraries/update_scan_settings.yml b/bruno/libraries/update_scan_settings.yml index 44fa7344..9c8f9285 100644 --- a/bruno/libraries/update_scan_settings.yml +++ b/bruno/libraries/update_scan_settings.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Scan Settings +docs: + content: |- + # Update Scan Settings - `PUT /api/libraries/scan-settings` — auth: jwt+admin. + `PUT /api/libraries/scan-settings` — auth: jwt+admin. - Canonical reference: `docs/developer/api/libraries/update_scan_settings.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/libraries/update_scan_settings.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/bulk_delete_media_items.yml b/bruno/media-items/bulk_delete_media_items.yml index 7708c647..79bea343 100644 --- a/bruno/media-items/bulk_delete_media_items.yml +++ b/bruno/media-items/bulk_delete_media_items.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Delete Media Items +docs: + content: |- + # Bulk Delete Media Items - `POST /api/media-items/bulk-delete` — auth: jwt. + `POST /api/media-items/bulk-delete` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/bulk_delete_media_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/bulk_delete_media_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/bulk_update_media_items.yml b/bruno/media-items/bulk_update_media_items.yml index 8f683aa0..a9c03a25 100644 --- a/bruno/media-items/bulk_update_media_items.yml +++ b/bruno/media-items/bulk_update_media_items.yml @@ -35,9 +35,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Bulk Update Media Items +docs: + content: |- + # Bulk Update Media Items - `POST /api/media-items/bulk-update` — auth: jwt. + `POST /api/media-items/bulk-update` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/bulk_update_media_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/bulk_update_media_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/create_media_bookmark.yml b/bruno/media-items/create_media_bookmark.yml index ba02e2e8..05f92da9 100644 --- a/bruno/media-items/create_media_bookmark.yml +++ b/bruno/media-items/create_media_bookmark.yml @@ -27,9 +27,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Media Bookmark +docs: + content: |- + # Create Media Bookmark - `POST /api/media-items/:id/bookmarks` — auth: jwt. + `POST /api/media-items/:id/bookmarks` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/create_media_bookmark.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/create_media_bookmark.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/create_media_item.yml b/bruno/media-items/create_media_item.yml index a479cb0c..2018e75a 100644 --- a/bruno/media-items/create_media_item.yml +++ b/bruno/media-items/create_media_item.yml @@ -31,9 +31,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Media Item +docs: + content: |- + # Create Media Item - `POST /api/media-items` — auth: jwt+admin. + `POST /api/media-items` — auth: jwt+admin. - Canonical reference: `docs/developer/api/media-items/create_media_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/create_media_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/delete_media_bookmark.yml b/bruno/media-items/delete_media_bookmark.yml index 5045d84e..b9913c5c 100644 --- a/bruno/media-items/delete_media_bookmark.yml +++ b/bruno/media-items/delete_media_bookmark.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Media Bookmark +docs: + content: |- + # Delete Media Bookmark - `DELETE /api/media-items/:id/bookmarks/:bookmarkId` — auth: jwt. + `DELETE /api/media-items/:id/bookmarks/:bookmarkId` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/delete_media_bookmark.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/delete_media_bookmark.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/delete_media_item.yml b/bruno/media-items/delete_media_item.yml index 2efaa8fe..dcf52bb5 100644 --- a/bruno/media-items/delete_media_item.yml +++ b/bruno/media-items/delete_media_item.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Media Item +docs: + content: |- + # Delete Media Item - `DELETE /api/media-items/:id` — auth: jwt+admin. + `DELETE /api/media-items/:id` — auth: jwt+admin. - Canonical reference: `docs/developer/api/media-items/delete_media_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/delete_media_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/delete_media_review.yml b/bruno/media-items/delete_media_review.yml index 53b575c4..220f1d85 100644 --- a/bruno/media-items/delete_media_review.yml +++ b/bruno/media-items/delete_media_review.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Media Review +docs: + content: |- + # Delete Media Review - `DELETE /api/media-items/:id/review` — auth: jwt. + `DELETE /api/media-items/:id/review` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/delete_media_review.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/delete_media_review.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/deleted_annotations.yml b/bruno/media-items/deleted_annotations.yml index 21d1168e..e307aab5 100644 --- a/bruno/media-items/deleted_annotations.yml +++ b/bruno/media-items/deleted_annotations.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Deleted Annotations History +docs: + content: |- + # Deleted Annotations History - `GET /api/media-items/:id/annotations/deleted` — auth: jwt. + `GET /api/media-items/:id/annotations/deleted` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/deleted_annotations.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/deleted_annotations.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/download_media_item_file.yml b/bruno/media-items/download_media_item_file.yml index b73ad7f9..c80a7a2d 100644 --- a/bruno/media-items/download_media_item_file.yml +++ b/bruno/media-items/download_media_item_file.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Download Media Item File +docs: + content: |- + # Download Media Item File - `GET /api/media-items/:id/download` — auth: jwt. + `GET /api/media-items/:id/download` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/download_media_item_file.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/download_media_item_file.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/filter_count.yml b/bruno/media-items/filter_count.yml index b703e5b4..2893535b 100644 --- a/bruno/media-items/filter_count.yml +++ b/bruno/media-items/filter_count.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Filter Count +docs: + content: |- + # Filter Count - `GET /api/media-items/filter-count` — auth: jwt. + `GET /api/media-items/filter-count` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/filter_count.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/filter_count.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_audio_chapters.yml b/bruno/media-items/get_audio_chapters.yml index 3d7a451d..38e50e14 100644 --- a/bruno/media-items/get_audio_chapters.yml +++ b/bruno/media-items/get_audio_chapters.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Audio Chapters +docs: + content: |- + # Get Audio Chapters - `GET /api/media-items/:id/chapters` — auth: jwt. + `GET /api/media-items/:id/chapters` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_audio_chapters.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_audio_chapters.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_audio_track.yml b/bruno/media-items/get_audio_track.yml index 9643919a..d6f98a3c 100644 --- a/bruno/media-items/get_audio_track.yml +++ b/bruno/media-items/get_audio_track.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Audio Track +docs: + content: |- + # Get Audio Track - `GET /api/media-items/:id/audio/:trackIndex` — auth: jwt. + `GET /api/media-items/:id/audio/:trackIndex` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_audio_track.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_audio_track.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_facets.yml b/bruno/media-items/get_facets.yml index 61b575e0..8053e7fe 100644 --- a/bruno/media-items/get_facets.yml +++ b/bruno/media-items/get_facets.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Media Item Facets +docs: + content: |- + # Get Media Item Facets - `GET /api/media-items/facets` — auth: jwt. + `GET /api/media-items/facets` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_facets.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_facets.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_media_bookmarks.yml b/bruno/media-items/get_media_bookmarks.yml index 2e4a57d3..afc37d76 100644 --- a/bruno/media-items/get_media_bookmarks.yml +++ b/bruno/media-items/get_media_bookmarks.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Media Bookmarks +docs: + content: |- + # Get Media Bookmarks - `GET /api/media-items/:id/bookmarks` — auth: jwt. + `GET /api/media-items/:id/bookmarks` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_media_bookmarks.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_media_bookmarks.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_media_highlight.yml b/bruno/media-items/get_media_highlight.yml index beffce58..97623215 100644 --- a/bruno/media-items/get_media_highlight.yml +++ b/bruno/media-items/get_media_highlight.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Media Highlight +docs: + content: |- + # Get Media Highlight - `GET /api/media-items/:id/highlights/:highlightId` — auth: jwt. + `GET /api/media-items/:id/highlights/:highlightId` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_media_highlight.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_media_highlight.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_media_item.yml b/bruno/media-items/get_media_item.yml index f61ccb97..47f2de13 100644 --- a/bruno/media-items/get_media_item.yml +++ b/bruno/media-items/get_media_item.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Media Item +docs: + content: |- + # Get Media Item - `GET /api/media-items/:id` — auth: jwt. + `GET /api/media-items/:id` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_media_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_media_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_media_note.yml b/bruno/media-items/get_media_note.yml index 0e9d984c..dc750d4c 100644 --- a/bruno/media-items/get_media_note.yml +++ b/bruno/media-items/get_media_note.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Media Note +docs: + content: |- + # Get Media Note - `GET /api/media-items/:id/notes/:noteId` — auth: jwt. + `GET /api/media-items/:id/notes/:noteId` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_media_note.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_media_note.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/get_media_review.yml b/bruno/media-items/get_media_review.yml index 701c5d85..fd163c1b 100644 --- a/bruno/media-items/get_media_review.yml +++ b/bruno/media-items/get_media_review.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Media Review +docs: + content: |- + # Get Media Review - `GET /api/media-items/:id/review` — auth: jwt. + `GET /api/media-items/:id/review` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/get_media_review.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/get_media_review.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/list_media_items.yml b/bruno/media-items/list_media_items.yml index 2e5b886c..99fed17e 100644 --- a/bruno/media-items/list_media_items.yml +++ b/bruno/media-items/list_media_items.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Media Items +docs: + content: |- + # List Media Items - `GET /api/media-items` — auth: jwt. + `GET /api/media-items` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/list_media_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/list_media_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/merge_archived_media_item.yml b/bruno/media-items/merge_archived_media_item.yml index cc4a448b..99bea2e8 100644 --- a/bruno/media-items/merge_archived_media_item.yml +++ b/bruno/media-items/merge_archived_media_item.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Merge Archived Media Item +docs: + content: |- + # Merge Archived Media Item - `POST /api/media-items/:id/merge` — auth: jwt+admin. + `POST /api/media-items/:id/merge` — auth: jwt+admin. - Canonical reference: `docs/developer/api/media-items/merge_archived_media_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/merge_archived_media_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/purge_archived_media_items.yml b/bruno/media-items/purge_archived_media_items.yml index 19673369..d52f5997 100644 --- a/bruno/media-items/purge_archived_media_items.yml +++ b/bruno/media-items/purge_archived_media_items.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Purge Archived Media Items +docs: + content: |- + # Purge Archived Media Items - `POST /api/media-items/purge-archived` — auth: jwt+admin. + `POST /api/media-items/purge-archived` — auth: jwt+admin. - Canonical reference: `docs/developer/api/media-items/purge_archived_media_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/purge_archived_media_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/purge_deleted_annotation.yml b/bruno/media-items/purge_deleted_annotation.yml index 0c377777..81a8abba 100644 --- a/bruno/media-items/purge_deleted_annotation.yml +++ b/bruno/media-items/purge_deleted_annotation.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Purge Deleted Annotation +docs: + content: |- + # Purge Deleted Annotation - `DELETE /api/media-items/:id/annotations/:annotationId` — auth: jwt. + `DELETE /api/media-items/:id/annotations/:annotationId` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/purge_deleted_annotation.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/purge_deleted_annotation.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/rescan_media_item.yml b/bruno/media-items/rescan_media_item.yml index 28d0bbc4..84fdb52e 100644 --- a/bruno/media-items/rescan_media_item.yml +++ b/bruno/media-items/rescan_media_item.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Rescan Media Item +docs: + content: |- + # Rescan Media Item - `POST /api/media-items/:id/rescan` — auth: jwt+admin. + `POST /api/media-items/:id/rescan` — auth: jwt+admin. - Canonical reference: `docs/developer/api/media-items/rescan_media_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/rescan_media_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/restore_deleted_annotation.yml b/bruno/media-items/restore_deleted_annotation.yml index 28c4ee7f..31f6cb49 100644 --- a/bruno/media-items/restore_deleted_annotation.yml +++ b/bruno/media-items/restore_deleted_annotation.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Restore Deleted Annotation +docs: + content: |- + # Restore Deleted Annotation - `POST /api/media-items/:id/annotations/:annotationId/restore` — auth: jwt. + `POST /api/media-items/:id/annotations/:annotationId/restore` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/restore_deleted_annotation.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/restore_deleted_annotation.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/search_media_items.yml b/bruno/media-items/search_media_items.yml index 422c5a1d..83cc4cb9 100644 --- a/bruno/media-items/search_media_items.yml +++ b/bruno/media-items/search_media_items.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Search Media Items (Unified):<|end|><|start|>edit to=assistant<|channel|>analysis<|message|>Edited docs/developer/api/media-items/create_media_item.md (1 replacement)<|end|><|start|>edit to=assistant<|channel|>analysis<|message|>Edited docs/developer/api/media-items/update_media_item.md (1 replacement)<|end|><|start|>edit to=assistant<|channel|>analysis<|channel|>Edited docs/developer/api/media-items/delete_media_item.md (1 replacement)<|end|><|start|>edit to=assistant<|channel|>analysis<|message|>Edited docs/developer/api/media-items/search_media_items.md (1 replacement) +docs: + content: |- + # Search Media Items (Unified):<|end|><|start|>edit to=assistant<|channel|>analysis<|message|>Edited docs/developer/api/media-items/create_media_item.md (1 replacement)<|end|><|start|>edit to=assistant<|channel|>analysis<|message|>Edited docs/developer/api/media-items/update_media_item.md (1 replacement)<|end|><|start|>edit to=assistant<|channel|>analysis<|channel|>Edited docs/developer/api/media-items/delete_media_item.md (1 replacement)<|end|><|start|>edit to=assistant<|channel|>analysis<|message|>Edited docs/developer/api/media-items/search_media_items.md (1 replacement) - `GET /api/media-items/search` — auth: jwt. + `GET /api/media-items/search` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/search_media_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/search_media_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/set_audio_speed.yml b/bruno/media-items/set_audio_speed.yml index 34ad4deb..3e44c592 100644 --- a/bruno/media-items/set_audio_speed.yml +++ b/bruno/media-items/set_audio_speed.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Set Audio Speed +docs: + content: |- + # Set Audio Speed - `PUT /api/media-items/:id/audio-speed` — auth: jwt. + `PUT /api/media-items/:id/audio-speed` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/set_audio_speed.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/set_audio_speed.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/unarchive_media_item.yml b/bruno/media-items/unarchive_media_item.yml index a0b80ffe..f3224bfc 100644 --- a/bruno/media-items/unarchive_media_item.yml +++ b/bruno/media-items/unarchive_media_item.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Unarchive Media Item +docs: + content: |- + # Unarchive Media Item - `POST /api/media-items/:id/unarchive` — auth: jwt+admin. + `POST /api/media-items/:id/unarchive` — auth: jwt+admin. - Canonical reference: `docs/developer/api/media-items/unarchive_media_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/unarchive_media_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/update_media_bookmark.yml b/bruno/media-items/update_media_bookmark.yml index 96847bc3..ab3c9343 100644 --- a/bruno/media-items/update_media_bookmark.yml +++ b/bruno/media-items/update_media_bookmark.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Media Bookmark +docs: + content: |- + # Update Media Bookmark - `PUT /api/media-items/:id/bookmarks/:bookmarkId` — auth: jwt. + `PUT /api/media-items/:id/bookmarks/:bookmarkId` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/update_media_bookmark.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/update_media_bookmark.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/update_media_item.yml b/bruno/media-items/update_media_item.yml index 8ef6e89b..460f6df3 100644 --- a/bruno/media-items/update_media_item.yml +++ b/bruno/media-items/update_media_item.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Media Item +docs: + content: |- + # Update Media Item - `PUT /api/media-items/:id` — auth: jwt+admin. + `PUT /api/media-items/:id` — auth: jwt+admin. - Canonical reference: `docs/developer/api/media-items/update_media_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/update_media_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/media-items/upsert_media_review.yml b/bruno/media-items/upsert_media_review.yml index 2fba62a2..2fc5c97b 100644 --- a/bruno/media-items/upsert_media_review.yml +++ b/bruno/media-items/upsert_media_review.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Upsert Media Review +docs: + content: |- + # Upsert Media Review - `POST /api/media-items/:id/review` — auth: jwt. + `POST /api/media-items/:id/review` — auth: jwt. - Canonical reference: `docs/developer/api/media-items/upsert_media_review.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/media-items/upsert_media_review.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/notes/create_note.yml b/bruno/notes/create_note.yml index 2b94dbab..468c3394 100644 --- a/bruno/notes/create_note.yml +++ b/bruno/notes/create_note.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Note +docs: + content: |- + # Create Note - `POST /api/media-items/:id/notes` — auth: jwt. + `POST /api/media-items/:id/notes` — auth: jwt. - Canonical reference: `docs/developer/api/notes/create_note.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/notes/create_note.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/notes/delete_note.yml b/bruno/notes/delete_note.yml index 2bbab87f..b692bae3 100644 --- a/bruno/notes/delete_note.yml +++ b/bruno/notes/delete_note.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Note +docs: + content: |- + # Delete Note - `DELETE /api/media-items/:id/notes/:noteId` — auth: jwt. + `DELETE /api/media-items/:id/notes/:noteId` — auth: jwt. - Canonical reference: `docs/developer/api/notes/delete_note.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/notes/delete_note.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/notes/get_notes.yml b/bruno/notes/get_notes.yml index 57ea6db8..35309837 100644 --- a/bruno/notes/get_notes.yml +++ b/bruno/notes/get_notes.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Notes +docs: + content: |- + # Get Notes - `GET /api/media-items/:id/notes` — auth: jwt. + `GET /api/media-items/:id/notes` — auth: jwt. - Canonical reference: `docs/developer/api/notes/get_notes.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/notes/get_notes.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/notes/update_note.yml b/bruno/notes/update_note.yml index 3a8179cd..4f56f0b7 100644 --- a/bruno/notes/update_note.yml +++ b/bruno/notes/update_note.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Note +docs: + content: |- + # Update Note - `PUT /api/media-items/:id/notes/:noteId` — auth: jwt. + `PUT /api/media-items/:id/notes/:noteId` — auth: jwt. - Canonical reference: `docs/developer/api/notes/update_note.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/notes/update_note.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/opds/acquisition.yml b/bruno/opds/acquisition.yml index fa5c97c6..a5e54a58 100644 --- a/bruno/opds/acquisition.yml +++ b/bruno/opds/acquisition.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # OPDS Acquisition +docs: + content: |- + # OPDS Acquisition - `GET /opds/devices/:deviceId/download/:bookId` — auth: device-token. + `GET /opds/devices/:deviceId/download/:bookId` — auth: device-token. - Canonical reference: `docs/developer/api/opds/acquisition.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/opds/acquisition.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/opds/feeds.yml b/bruno/opds/feeds.yml index 1d8dc6f5..daf93076 100644 --- a/bruno/opds/feeds.yml +++ b/bruno/opds/feeds.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # OPDS Feeds +docs: + content: |- + # OPDS Feeds - `GET /opds/devices/:deviceId/catalog` — auth: device-token. + `GET /opds/devices/:deviceId/catalog` — auth: device-token. - Canonical reference: `docs/developer/api/opds/feeds.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/opds/feeds.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/opds/publication.yml b/bruno/opds/publication.yml index 9a0919bc..e25ddce5 100644 --- a/bruno/opds/publication.yml +++ b/bruno/opds/publication.yml @@ -16,9 +16,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # OPDS Publication +docs: + content: |- + # OPDS Publication - `GET /opds/devices/:deviceId/cover/:bookId` — auth: device-token. + `GET /opds/devices/:deviceId/cover/:bookId` — auth: device-token. - Canonical reference: `docs/developer/api/opds/publication.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/opds/publication.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/opencollection.yml b/bruno/opencollection.yml index 18fa3f8d..3579e82b 100644 --- a/bruno/opencollection.yml +++ b/bruno/opencollection.yml @@ -25,7 +25,9 @@ docs: Every request in this collection is GENERATED from the canonical API docs (docs/developer/api/**). Do not hand-edit request files — edit - the doc and re-run scripts/gen_bruno_from_docs.py --apply. + the doc, then regenerate: + + go test ./internal/docs -run TestBrunoMirrorsDocs -update Hand-authored exceptions (not generated): - NewDevDBSetup/ — ordered dev-database bootstrap sequence diff --git a/bruno/progress/delete_media_progress.yml b/bruno/progress/delete_media_progress.yml index 81a46dba..3ea7df89 100644 --- a/bruno/progress/delete_media_progress.yml +++ b/bruno/progress/delete_media_progress.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Media Item Progress +docs: + content: |- + # Delete Media Item Progress - `DELETE /api/media-items/:id/progress` — auth: jwt. + `DELETE /api/media-items/:id/progress` — auth: jwt. - Canonical reference: `docs/developer/api/progress/delete_media_progress.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/progress/delete_media_progress.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/progress/get_media_progress.yml b/bruno/progress/get_media_progress.yml index abc1aca1..573ab2bb 100644 --- a/bruno/progress/get_media_progress.yml +++ b/bruno/progress/get_media_progress.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Media Item Progress +docs: + content: |- + # Get Media Item Progress - `GET /api/media-items/:id/progress` — auth: jwt. + `GET /api/media-items/:id/progress` — auth: jwt. - Canonical reference: `docs/developer/api/progress/get_media_progress.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/progress/get_media_progress.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/progress/get_progress_history.yml b/bruno/progress/get_progress_history.yml index 6212c0cb..410c1aa6 100644 --- a/bruno/progress/get_progress_history.yml +++ b/bruno/progress/get_progress_history.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Progress History +docs: + content: |- + # Get Progress History - `GET /api/progress/:id/history` — auth: jwt. + `GET /api/progress/:id/history` — auth: jwt. - Canonical reference: `docs/developer/api/progress/get_progress_history.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/progress/get_progress_history.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/progress/update_media_progress.yml b/bruno/progress/update_media_progress.yml index 0032cd80..79e02032 100644 --- a/bruno/progress/update_media_progress.yml +++ b/bruno/progress/update_media_progress.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Media Item Progress +docs: + content: |- + # Update Media Item Progress - `PUT /api/media-items/:id/progress` — auth: jwt. + `PUT /api/media-items/:id/progress` — auth: jwt. - Canonical reference: `docs/developer/api/progress/update_media_progress.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/progress/update_media_progress.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/queue/clear_device_queue.yml b/bruno/queue/clear_device_queue.yml index 138567b7..a1a9f5ba 100644 --- a/bruno/queue/clear_device_queue.yml +++ b/bruno/queue/clear_device_queue.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Clear Device Queue +docs: + content: |- + # Clear Device Queue - `DELETE /api/queue/devices/:device_id/clear` — auth: jwt. + `DELETE /api/queue/devices/:device_id/clear` — auth: jwt. - Canonical reference: `docs/developer/api/queue/clear_device_queue.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/queue/clear_device_queue.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/queue/delete_queue_item.yml b/bruno/queue/delete_queue_item.yml index 50d6e5d2..21952f4d 100644 --- a/bruno/queue/delete_queue_item.yml +++ b/bruno/queue/delete_queue_item.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Queue Item +docs: + content: |- + # Delete Queue Item - `DELETE /api/queue/items/:item_id` — auth: jwt. + `DELETE /api/queue/items/:item_id` — auth: jwt. - Canonical reference: `docs/developer/api/queue/delete_queue_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/queue/delete_queue_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/queue/get_device_queue_stats.yml b/bruno/queue/get_device_queue_stats.yml index a1f85458..3c6d6214 100644 --- a/bruno/queue/get_device_queue_stats.yml +++ b/bruno/queue/get_device_queue_stats.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Device Queue Statistics +docs: + content: |- + # Get Device Queue Statistics - `GET /api/queue/devices/:device_id/stats` — auth: jwt. + `GET /api/queue/devices/:device_id/stats` — auth: jwt. - Canonical reference: `docs/developer/api/queue/get_device_queue_stats.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/queue/get_device_queue_stats.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/queue/list_all_queue_items.yml b/bruno/queue/list_all_queue_items.yml index 927f6f69..49a8b611 100644 --- a/bruno/queue/list_all_queue_items.yml +++ b/bruno/queue/list_all_queue_items.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List All Queue Items (Admin) +docs: + content: |- + # List All Queue Items (Admin) - `GET /api/queue/items` — auth: jwt+admin. + `GET /api/queue/items` — auth: jwt+admin. - Canonical reference: `docs/developer/api/queue/list_all_queue_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/queue/list_all_queue_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/queue/list_device_queue_items.yml b/bruno/queue/list_device_queue_items.yml index d47d0a27..24b914d0 100644 --- a/bruno/queue/list_device_queue_items.yml +++ b/bruno/queue/list_device_queue_items.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Device Queue Items +docs: + content: |- + # List Device Queue Items - `GET /api/queue/devices/:device_id/items` — auth: jwt. + `GET /api/queue/devices/:device_id/items` — auth: jwt. - Canonical reference: `docs/developer/api/queue/list_device_queue_items.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/queue/list_device_queue_items.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/queue/retry_queue_item.yml b/bruno/queue/retry_queue_item.yml index 406a3ca1..bfbb8bac 100644 --- a/bruno/queue/retry_queue_item.yml +++ b/bruno/queue/retry_queue_item.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Retry Queue Item +docs: + content: |- + # Retry Queue Item - `POST /api/queue/items/:item_id/retry` — auth: jwt. + `POST /api/queue/items/:item_id/retry` — auth: jwt. - Canonical reference: `docs/developer/api/queue/retry_queue_item.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/queue/retry_queue_item.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/ratings/create_rating.yml b/bruno/ratings/create_rating.yml index a49443a4..d9f75948 100644 --- a/bruno/ratings/create_rating.yml +++ b/bruno/ratings/create_rating.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Rating +docs: + content: |- + # Create Rating - `POST /api/media-items/:id/rating` — auth: jwt. + `POST /api/media-items/:id/rating` — auth: jwt. - Canonical reference: `docs/developer/api/ratings/create_rating.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/ratings/create_rating.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/ratings/delete_rating.yml b/bruno/ratings/delete_rating.yml index 0385f1ce..c12ca604 100644 --- a/bruno/ratings/delete_rating.yml +++ b/bruno/ratings/delete_rating.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Rating +docs: + content: |- + # Delete Rating - `DELETE /api/media-items/:id/rating` — auth: jwt. + `DELETE /api/media-items/:id/rating` — auth: jwt. - Canonical reference: `docs/developer/api/ratings/delete_rating.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/ratings/delete_rating.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/ratings/get_ratings.yml b/bruno/ratings/get_ratings.yml index 7cfc5c70..77587ddb 100644 --- a/bruno/ratings/get_ratings.yml +++ b/bruno/ratings/get_ratings.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Rating +docs: + content: |- + # Get Rating - `GET /api/media-items/:id/rating` — auth: jwt. + `GET /api/media-items/:id/rating` — auth: jwt. - Canonical reference: `docs/developer/api/ratings/get_ratings.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/ratings/get_ratings.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/ratings/update_rating.yml b/bruno/ratings/update_rating.yml index cd5300a1..7bce46c0 100644 --- a/bruno/ratings/update_rating.yml +++ b/bruno/ratings/update_rating.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Rating +docs: + content: |- + # Update Rating - `PUT /api/media-items/:id/rating` — auth: jwt. + `PUT /api/media-items/:id/rating` — auth: jwt. - Canonical reference: `docs/developer/api/ratings/update_rating.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/ratings/update_rating.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/saved-filters/create_saved_filter.yml b/bruno/saved-filters/create_saved_filter.yml index 6fe608a0..07a4aa68 100644 --- a/bruno/saved-filters/create_saved_filter.yml +++ b/bruno/saved-filters/create_saved_filter.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Create Saved Filter +docs: + content: |- + # Create Saved Filter - `POST /api/saved-filters` — auth: jwt. + `POST /api/saved-filters` — auth: jwt. - Canonical reference: `docs/developer/api/saved-filters/create_saved_filter.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/saved-filters/create_saved_filter.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/saved-filters/delete_saved_filter.yml b/bruno/saved-filters/delete_saved_filter.yml index 6baccd16..a8a874ea 100644 --- a/bruno/saved-filters/delete_saved_filter.yml +++ b/bruno/saved-filters/delete_saved_filter.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete Saved Filter +docs: + content: |- + # Delete Saved Filter - `DELETE /api/saved-filters/:id` — auth: jwt. + `DELETE /api/saved-filters/:id` — auth: jwt. - Canonical reference: `docs/developer/api/saved-filters/delete_saved_filter.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/saved-filters/delete_saved_filter.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/saved-filters/get_saved_filter.yml b/bruno/saved-filters/get_saved_filter.yml index 6002be68..dfdcef41 100644 --- a/bruno/saved-filters/get_saved_filter.yml +++ b/bruno/saved-filters/get_saved_filter.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Saved Filter +docs: + content: |- + # Get Saved Filter - `GET /api/saved-filters/:id` — auth: jwt. + `GET /api/saved-filters/:id` — auth: jwt. - Canonical reference: `docs/developer/api/saved-filters/get_saved_filter.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/saved-filters/get_saved_filter.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/saved-filters/list_saved_filters.yml b/bruno/saved-filters/list_saved_filters.yml index 0ece9fa8..4e6fb935 100644 --- a/bruno/saved-filters/list_saved_filters.yml +++ b/bruno/saved-filters/list_saved_filters.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Saved Filters +docs: + content: |- + # List Saved Filters - `GET /api/saved-filters` — auth: jwt. + `GET /api/saved-filters` — auth: jwt. - Canonical reference: `docs/developer/api/saved-filters/list_saved_filters.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/saved-filters/list_saved_filters.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/saved-filters/update_saved_filter.yml b/bruno/saved-filters/update_saved_filter.yml index c0d771a8..af4bf28a 100644 --- a/bruno/saved-filters/update_saved_filter.yml +++ b/bruno/saved-filters/update_saved_filter.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Saved Filter +docs: + content: |- + # Update Saved Filter - `PUT /api/saved-filters/:id` — auth: jwt. + `PUT /api/saved-filters/:id` — auth: jwt. - Canonical reference: `docs/developer/api/saved-filters/update_saved_filter.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/saved-filters/update_saved_filter.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/cancel_scan.yml b/bruno/scanner/cancel_scan.yml index dbb8c07f..0c39599f 100644 --- a/bruno/scanner/cancel_scan.yml +++ b/bruno/scanner/cancel_scan.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Cancel Scan +docs: + content: |- + # Cancel Scan - `POST /api/scanner/cancel/:jobId` — auth: jwt+admin. + `POST /api/scanner/cancel/:jobId` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/cancel_scan.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/cancel_scan.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/get_active_scans.yml b/bruno/scanner/get_active_scans.yml index 7da86642..3f5fb354 100644 --- a/bruno/scanner/get_active_scans.yml +++ b/bruno/scanner/get_active_scans.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Active Scans +docs: + content: |- + # Get Active Scans - `GET /api/scanner/active` — auth: jwt+admin. + `GET /api/scanner/active` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/get_active_scans.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/get_active_scans.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/get_scan_status.yml b/bruno/scanner/get_scan_status.yml index 0e3013e7..72e50817 100644 --- a/bruno/scanner/get_scan_status.yml +++ b/bruno/scanner/get_scan_status.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Scan Status +docs: + content: |- + # Get Scan Status - `GET /api/scanner/status/:jobId` — auth: jwt+admin. + `GET /api/scanner/status/:jobId` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/get_scan_status.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/get_scan_status.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/get_scan_summary.yml b/bruno/scanner/get_scan_summary.yml index ccfe763b..72478913 100644 --- a/bruno/scanner/get_scan_summary.yml +++ b/bruno/scanner/get_scan_summary.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Scan Summary +docs: + content: |- + # Get Scan Summary - `GET /api/scanner/active-summary` — auth: jwt. + `GET /api/scanner/active-summary` — auth: jwt. - Canonical reference: `docs/developer/api/scanner/get_scan_summary.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/get_scan_summary.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/get_watch_mode_status.yml b/bruno/scanner/get_watch_mode_status.yml index c286701f..fbfa0e63 100644 --- a/bruno/scanner/get_watch_mode_status.yml +++ b/bruno/scanner/get_watch_mode_status.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Watch Mode Status +docs: + content: |- + # Get Watch Mode Status - `GET /api/scanner/watch/status` — auth: jwt+admin. + `GET /api/scanner/watch/status` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/get_watch_mode_status.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/get_watch_mode_status.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/scan_library.yml b/bruno/scanner/scan_library.yml index 487bc095..076ef455 100644 --- a/bruno/scanner/scan_library.yml +++ b/bruno/scanner/scan_library.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Scan Library +docs: + content: |- + # Scan Library - `POST /api/scanner/scan` — auth: jwt+admin. + `POST /api/scanner/scan` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/scan_library.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/scan_library.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/start_scanner.yml b/bruno/scanner/start_scanner.yml index 73658cf5..c1182da5 100644 --- a/bruno/scanner/start_scanner.yml +++ b/bruno/scanner/start_scanner.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Start Scanner +docs: + content: |- + # Start Scanner - `POST /api/scanner/start` — auth: jwt+admin. + `POST /api/scanner/start` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/start_scanner.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/start_scanner.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/start_watch_mode.yml b/bruno/scanner/start_watch_mode.yml index b398ef2c..7ccd8a23 100644 --- a/bruno/scanner/start_watch_mode.yml +++ b/bruno/scanner/start_watch_mode.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Start Watch Mode +docs: + content: |- + # Start Watch Mode - `POST /api/scanner/watch/start` — auth: jwt+admin. + `POST /api/scanner/watch/start` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/start_watch_mode.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/start_watch_mode.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/stop_scanner.yml b/bruno/scanner/stop_scanner.yml index 985374fd..17fc71c7 100644 --- a/bruno/scanner/stop_scanner.yml +++ b/bruno/scanner/stop_scanner.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Stop Scanner +docs: + content: |- + # Stop Scanner - `POST /api/scanner/stop` — auth: jwt+admin. + `POST /api/scanner/stop` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/stop_scanner.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/stop_scanner.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/scanner/stop_watch_mode.yml b/bruno/scanner/stop_watch_mode.yml index d9a5b80d..f3a743a6 100644 --- a/bruno/scanner/stop_watch_mode.yml +++ b/bruno/scanner/stop_watch_mode.yml @@ -19,9 +19,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Stop Watch Mode +docs: + content: |- + # Stop Watch Mode - `POST /api/scanner/watch/stop` — auth: jwt+admin. + `POST /api/scanner/watch/stop` — auth: jwt+admin. - Canonical reference: `docs/developer/api/scanner/stop_watch_mode.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/scanner/stop_watch_mode.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/series/get_series_books.yml b/bruno/series/get_series_books.yml index 1b821dee..b5ac2202 100644 --- a/bruno/series/get_series_books.yml +++ b/bruno/series/get_series_books.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Series Books +docs: + content: |- + # Get Series Books - `GET /api/series/books` — auth: jwt. + `GET /api/series/books` — auth: jwt. - Canonical reference: `docs/developer/api/series/get_series_books.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/series/get_series_books.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/series/list_series.yml b/bruno/series/list_series.yml index 8922e1c5..db36fdfa 100644 --- a/bruno/series/list_series.yml +++ b/bruno/series/list_series.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # List Series +docs: + content: |- + # List Series - `GET /api/series` — auth: jwt. + `GET /api/series` — auth: jwt. - Canonical reference: `docs/developer/api/series/list_series.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/series/list_series.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/stats/get_book_stats.yml b/bruno/stats/get_book_stats.yml index bc61a24e..66a308e0 100644 --- a/bruno/stats/get_book_stats.yml +++ b/bruno/stats/get_book_stats.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Book Stats +docs: + content: |- + # Get Book Stats - `GET /api/stats/books/:id` — auth: jwt. + `GET /api/stats/books/:id` — auth: jwt. - Canonical reference: `docs/developer/api/stats/get_book_stats.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/stats/get_book_stats.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/stats/get_library_usage.yml b/bruno/stats/get_library_usage.yml index 72d5e640..1740fd65 100644 --- a/bruno/stats/get_library_usage.yml +++ b/bruno/stats/get_library_usage.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Library Usage Statistics +docs: + content: |- + # Get Library Usage Statistics - `GET /api/stats/library-usage` — auth: jwt. + `GET /api/stats/library-usage` — auth: jwt. - Canonical reference: `docs/developer/api/stats/get_library_usage.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/stats/get_library_usage.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/stats/get_summary.yml b/bruno/stats/get_summary.yml index 1cdbfc81..4d2e2b1c 100644 --- a/bruno/stats/get_summary.yml +++ b/bruno/stats/get_summary.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Reading Summary +docs: + content: |- + # Get Reading Summary - `GET /api/stats/summary` — auth: jwt. + `GET /api/stats/summary` — auth: jwt. - Canonical reference: `docs/developer/api/stats/get_summary.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/stats/get_summary.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/stats/get_this_week.yml b/bruno/stats/get_this_week.yml index 896fdf83..0a84daa8 100644 --- a/bruno/stats/get_this_week.yml +++ b/bruno/stats/get_this_week.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get This Week's Stats +docs: + content: |- + # Get This Week's Stats - `GET /api/stats/this-week` — auth: jwt. + `GET /api/stats/this-week` — auth: jwt. - Canonical reference: `docs/developer/api/stats/get_this_week.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/stats/get_this_week.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/system/get_config.yml b/bruno/system/get_config.yml index 78eb7487..2684ee0c 100644 --- a/bruno/system/get_config.yml +++ b/bruno/system/get_config.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get System Configuration +docs: + content: |- + # Get System Configuration - `GET /api/system/config` — auth: jwt+admin. + `GET /api/system/config` — auth: jwt+admin. - Canonical reference: `docs/developer/api/system/get_config.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/system/get_config.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/system/get_settings.yml b/bruno/system/get_settings.yml index 6da13d66..ff8968e7 100644 --- a/bruno/system/get_settings.yml +++ b/bruno/system/get_settings.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get System Settings +docs: + content: |- + # Get System Settings - `GET /api/system/settings` — auth: jwt+admin. + `GET /api/system/settings` — auth: jwt+admin. - Canonical reference: `docs/developer/api/system/get_settings.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/system/get_settings.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/system/update_config.yml b/bruno/system/update_config.yml index c582ae55..6870f20c 100644 --- a/bruno/system/update_config.yml +++ b/bruno/system/update_config.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update System Configuration +docs: + content: |- + # Update System Configuration - `PUT /api/system/config` — auth: jwt+admin. + `PUT /api/system/config` — auth: jwt+admin. - Canonical reference: `docs/developer/api/system/update_config.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/system/update_config.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/system/update_setting.yml b/bruno/system/update_setting.yml index 85c56f7b..e46a0670 100644 --- a/bruno/system/update_setting.yml +++ b/bruno/system/update_setting.yml @@ -20,9 +20,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update System Setting +docs: + content: |- + # Update System Setting - `PUT /api/system/settings` — auth: jwt+admin. + `PUT /api/system/settings` — auth: jwt+admin. - Canonical reference: `docs/developer/api/system/update_setting.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/system/update_setting.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/users/change_password.yml b/bruno/users/change_password.yml index 4c8b9658..e9d24da1 100644 --- a/bruno/users/change_password.yml +++ b/bruno/users/change_password.yml @@ -21,9 +21,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Change Password +docs: + content: |- + # Change Password - `PUT /api/auth/password` — auth: jwt. + `PUT /api/auth/password` — auth: jwt. - Canonical reference: `docs/developer/api/users/change_password.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/users/change_password.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/users/delete_user.yml b/bruno/users/delete_user.yml index 681fdacf..c5e0adb0 100644 --- a/bruno/users/delete_user.yml +++ b/bruno/users/delete_user.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Delete User +docs: + content: |- + # Delete User - `DELETE /api/auth/profile` — auth: jwt. + `DELETE /api/auth/profile` — auth: jwt. - Canonical reference: `docs/developer/api/users/delete_user.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/users/delete_user.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/users/get_profile.yml b/bruno/users/get_profile.yml index 7c9c7042..ee63c780 100644 --- a/bruno/users/get_profile.yml +++ b/bruno/users/get_profile.yml @@ -13,9 +13,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Get Current User Profile +docs: + content: |- + # Get Current User Profile - `GET /api/auth/profile` — auth: jwt. + `GET /api/auth/profile` — auth: jwt. - Canonical reference: `docs/developer/api/users/get_profile.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/users/get_profile.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/bruno/users/update_profile.yml b/bruno/users/update_profile.yml index 1ec3d374..e5436c88 100644 --- a/bruno/users/update_profile.yml +++ b/bruno/users/update_profile.yml @@ -23,9 +23,11 @@ settings: followRedirects: true maxRedirects: 5 -docs: |- - # Update Profile +docs: + content: |- + # Update Profile - `PUT /api/auth/profile` — auth: jwt. + `PUT /api/auth/profile` — auth: jwt. - Canonical reference: `docs/developer/api/users/update_profile.md` (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, not this file. + Canonical reference: docs/developer/api/users/update_profile.md (docs site → Developer → API). This request is GENERATED from that doc; edit the doc, then run the drift test with -update. + type: text/markdown diff --git a/internal/docs/bruno_gen.go b/internal/docs/bruno_gen.go new file mode 100644 index 00000000..58f55669 --- /dev/null +++ b/internal/docs/bruno_gen.go @@ -0,0 +1,257 @@ +package docs + +import ( + "encoding/json" + "fmt" + "os" + "path/filepath" + "regexp" + "sort" + "strings" +) + +// Bruno mirror generation. The docs tree is canonical; bruno/ holds the +// executable-verification layer, one OpenCollection YAML request per +// frontmatter'd endpoint doc. TestBrunoMirrorsDocs verifies parity on +// every run; with -update it (re)writes the mirrors from the docs and +// prunes mirrors whose docs are gone. Never hand-edit bruno request +// files — edit the doc and run: +// +// go test ./internal/docs -run TestBrunoMirrorsDocs -update + +const brunoRoot = "../../bruno" + +const docsRoot = "../../docs/developer/api" + +// brunoKeepDir / brunoKeepSub name the hand-authored parts of the +// collection that generation must never touch or delete. +var brunoKeepDir = map[string]bool{"NewDevDBSetup": true, "environments": true} + +var brunoKeepSub = []string{"/scenarios/", "/filters/", "/search/"} + +// namedParams maps a named Echo path param to the Bruno environment +// variable that carries it (matched case-insensitively, longest name +// first by the caller). +var namedParams = map[string]string{ + "registrationid": "registration_id", + "deviceid": "device_id", + "libraryid": "ebook_library_id", + "collectionid": "collection_id", + "trackindex": "track_index", + "highlightid": "highlight_id", + "annotationid": "annotation_id", + "ruleid": "rule_id", + "aliasid": "alias_id", + "folderid": "library_folder_id", + "jobid": "job_id", + "bookid": "book_uuid", + "sha256": "book_sha256", + "noteid": "note_id", + "userid": "user_id", + "uuid": "book_uuid", + "token": "kobo_device_token", +} + +// idByContext resolves the generic :id by which resource the URL is +// about (checked in order). +var idByContext = []struct{ prefix, env string }{ + {"media-items", "media_item_id"}, + {"collections", "collection_id"}, + {"libraries", "ebook_library_id"}, + {"devices", "device_id"}, + {"progress", "media_item_id"}, + {"stats/books", "media_item_id"}, + {"annotations", "annotation_id"}, +} + +// brunoScriptDocs get the after-response token-capture script that chains +// the collection (later requests need {{token}} / {{refresh_token}}). +var brunoScriptDocs = map[string]bool{"login": true, "register": true, "refresh_token": true} + +const brunoTokenScript = `function onResponse(res) { + try { + const responseBody = res.getBody(); + const token = responseBody.access_token; + const refreshToken = responseBody.refresh_token; + if (token) { + bru.setEnvVar("token", token, { persist: true }); + console.log("Access token saved"); + } + if (refreshToken) { + bru.setEnvVar("refresh_token", refreshToken, { persist: true }); + console.log("Refresh token saved"); + } + } catch (error) { + console.error("Token capture failed:", error.message); + } +} +onResponse();` + +var brunoParamRe = regexp.MustCompile(`:[^/{}]+`) + +func brunoEnvFor(path, param string) string { + key := strings.ToLower(strings.TrimPrefix(param, ":")) + if env, ok := namedParams[key]; ok { + return env + } + if key == "id" { + for _, ic := range idByContext { + if strings.Contains(path, "/api/"+ic.prefix) || + strings.HasPrefix(strings.TrimPrefix(path, "/api/"), ic.prefix+"/") { + return ic.env + } + } + if strings.HasPrefix(path, "/api/sync/unlinked-books") { + return "unlinked_book_id" + } + return "media_item_id" // this API's :id is usually a media item + } + return key +} + +// brunoURL renders the request URL: {{base_url}} prefix, params swapped +// for their environment variables. +func brunoURL(doc APIDoc) string { + path := brunoParamRe.ReplaceAllStringFunc(doc.Frontmatter.Path, func(p string) string { + return "{{" + brunoEnvFor(doc.Frontmatter.Path, p) + "}}" + }) + return "{{base_url}}" + path +} + +func brunoDocTitle(doc APIDoc) string { + raw, err := os.ReadFile(filepath.Join(docsRoot, brunoRel(doc))) + if err == nil { + for _, line := range strings.Split(string(raw), "\n") { + if strings.HasPrefix(line, "# ") { + return strings.TrimSpace(strings.TrimPrefix(line, "# ")) + } + } + } + return doc.Frontmatter.Path +} + +// yamlBlock emits a literal block scalar at the given indent. +func yamlBlock(indent int, text string) string { + pad := strings.Repeat(" ", indent) + var b strings.Builder + b.WriteString("|-\n") + for _, line := range strings.Split(strings.TrimRight(text, "\n"), "\n") { + if line == "" { + b.WriteString("\n") + } else { + b.WriteString(pad + line + "\n") + } + } + return b.String() +} + +// brunoYAML renders one request file in the OpenCollection format the +// collection already uses. +func brunoYAML(doc APIDoc, seq int) ([]byte, error) { + var b strings.Builder + fmt.Fprintf(&b, "info:\n name: %s\n type: http\n seq: %d\n\n", brunoDocTitle(doc), seq) + fmt.Fprintf(&b, "http:\n method: %s\n url: '%s'\n auth: inherit\n", + doc.Frontmatter.Method, brunoURL(doc)) + if len(doc.ExampleRequest) > 0 { + var sanity map[string]interface{} + if err := json.Unmarshal(doc.ExampleRequest, &sanity); err != nil { + return nil, fmt.Errorf("%s: example-request is not valid JSON: %w", doc.RelPath, err) + } + b.WriteString(" body:\n type: json\n data: " + yamlBlock(6, string(doc.ExampleRequest))) + } + if doc.Frontmatter.Auth == "device-token" { + b.WriteString(" headers:\n - key: Authorization\n value: Bearer {{device_token}}\n") + } + b.WriteString("settings:\n encodeUrl: true\n timeout: 0\n followRedirects: true\n maxRedirects: 5\n") + if brunoScriptDocs[doc.Name()] { + b.WriteString("\nruntime:\n scripts:\n - type: after-response\n code: " + + yamlBlock(8, brunoTokenScript)) + } + b.WriteString("\ndocs:\n content: " + yamlBlock(4, fmt.Sprintf( + "# %s\n\n`%s %s` — auth: %s.\n\nCanonical reference: docs/developer/api/%s (docs site → Developer → API). "+ + "This request is GENERATED from that doc; edit the doc, then run the drift test with -update.", + brunoDocTitle(doc), doc.Frontmatter.Method, doc.Frontmatter.Path, doc.Frontmatter.Auth, brunoRel(doc))) + + " type: text/markdown\n") + return []byte(b.String()), nil +} + +// Name is the doc filename without extension (login.md → login). +func (d APIDoc) Name() string { + return strings.TrimSuffix(filepath.Base(d.RelPath), ".md") +} + +// updateBrunoMirrors rewrites every doc's Bruno mirror and deletes +// mirrors whose docs no longer exist. Returns the changed relpaths. +// brunoRel strips the docs-root prefix from a doc's RelPath, yielding the +// docs-tree-relative identity used for mirror placement ("area/file"). +func brunoRel(doc APIDoc) string { + return strings.TrimPrefix(doc.RelPath, docsRoot+"/") +} + +func updateBrunoMirrors(docs []APIDoc) (written, deleted []string, err error) { + byArea := map[string][]APIDoc{} + for _, d := range docs { + // Mirror placement follows the docs tree folder, not the area + // frontmatter — bruno/ mirrors docs/developer/api/ 1:1. + area := filepath.Dir(brunoRel(d)) + if area == "." { + area = "misc" + } + byArea[area] = append(byArea[area], d) + } + areas := make([]string, 0, len(byArea)) + for area := range byArea { + areas = append(areas, area) + } + sort.Strings(areas) + + want := map[string]bool{} + for _, area := range areas { + ds := byArea[area] + sort.Slice(ds, func(i, j int) bool { return ds[i].Name() < ds[j].Name() }) + for i, d := range ds { + rel := filepath.Join(area, d.Name()+".yml") + want[rel] = true + content, err := brunoYAML(d, i+1) + if err != nil { + return written, deleted, err + } + full := filepath.Join(brunoRoot, rel) + if old, err := os.ReadFile(full); err != nil || string(old) != string(content) { + if err := os.MkdirAll(filepath.Dir(full), 0o755); err != nil { + return written, deleted, err + } + if err := os.WriteFile(full, content, 0o644); err != nil { + return written, deleted, err + } + written = append(written, rel) + } + } + } + + filepath.Walk(brunoRoot, func(path string, info os.FileInfo, err error) error { + if err != nil || info.IsDir() || !strings.HasSuffix(path, ".yml") { + return nil + } + rel, relErr := filepath.Rel(brunoRoot, path) + if relErr != nil { + return nil + } + top := strings.Split(rel, string(filepath.Separator))[0] + if brunoKeepDir[top] || rel == "opencollection.yml" || filepath.Base(path) == "folder.yml" { + return nil + } + for _, sub := range brunoKeepSub { + if strings.Contains(path, sub) { + return nil + } + } + if !want[rel] { + if os.Remove(path) == nil { + deleted = append(deleted, rel) + } + } + return nil + }) + return written, deleted, nil +} diff --git a/internal/docs/drift_test.go b/internal/docs/drift_test.go index 8f5a3b49..5e80d21a 100644 --- a/internal/docs/drift_test.go +++ b/internal/docs/drift_test.go @@ -3,6 +3,7 @@ package docs import ( "bytes" "encoding/json" + "flag" "os" "path/filepath" "reflect" @@ -189,16 +190,33 @@ func parseHandlerMiddleware(rest string) []string { // TestBrunoMirrorsDocs keeps the executable-verification layer honest: // every frontmatter'd endpoint doc must have a generated OpenCollection // (Bruno) request whose method and URL shape match. Bruno is regenerated -// from the docs (scripts/gen_bruno_from_docs.py); if this test fails, the -// collection drifted from the canonical docs or a new doc was added -// without regenerating. +// from the docs; if this test fails, the collection drifted from the +// canonical docs or a new doc was added without regenerating. +// +// Regenerate with: go test ./internal/docs -run TestBrunoMirrorsDocs -update +var updateBruno = flag.Bool("update", false, "rewrite generated Bruno mirrors from the canonical docs") + func TestBrunoMirrorsDocs(t *testing.T) { - docsDir := "../../docs/developer/api" + docsDir := docsRoot docs, err := LoadAPIDocs(docsDir) if err != nil { t.Fatalf("walk %s: %v", docsDir, err) } + if *updateBruno { + written, deleted, err := updateBrunoMirrors(docs) + if err != nil { + t.Fatalf("regenerate bruno mirrors: %v", err) + } + t.Logf("bruno mirrors: %d written, %d deleted", len(written), len(deleted)) + for _, rel := range written { + t.Logf(" wrote %s", rel) + } + for _, rel := range deleted { + t.Logf(" deleted %s", rel) + } + } + // Collect bruno requests: "METHOD normalized-path" -> relpath. bruno := map[string]string{} files, _ := filepath.Glob("../../bruno/**/*.yml") @@ -238,7 +256,7 @@ func TestBrunoMirrorsDocs(t *testing.T) { path := regexp.MustCompile(`:[^/{}]+`).ReplaceAllString(doc.Frontmatter.Path, "{}") key := doc.Frontmatter.Method + " " + path if _, ok := bruno[key]; !ok { - t.Errorf("%s: no Bruno request mirrors %q — run scripts/gen_bruno_from_docs.py --apply", doc.RelPath, key) + t.Errorf("%s: no Bruno request mirrors %q — regenerate: go test ./internal/docs -run TestBrunoMirrorsDocs -update", doc.RelPath, key) } } } diff --git a/scripts/gen_bruno_from_docs.py b/scripts/gen_bruno_from_docs.py deleted file mode 100644 index 7d421384..00000000 --- a/scripts/gen_bruno_from_docs.py +++ /dev/null @@ -1,253 +0,0 @@ -#!/usr/bin/env python3 -"""Generate OpenCollection (Bruno) request YAMLs from the canonical API docs. - -Truth flow: code -> docs/developer/api (canonical) -> bruno/ (executable -verification, never hand-authored). Every frontmatter'd endpoint doc -becomes one request file at bruno//.yml, with the -gate-verified example-request JSON as the body. - -Re-run after doc changes: python3 scripts/gen_bruno_from_docs.py [--apply] -Without --apply, prints the plan only. -""" -import os, re, sys, glob - -DOCS = "docs/developer/api" -BRUNO = "bruno" -KEEP_DIRS = {"NewDevDBSetup", "environments"} # hand-authored setup + env -ROOT_KEEP = {"opencollection.yml", "NewDB.sh"} -# Hand-authored edge-case verification (not docs mirrors) — kept as-is. -KEEP_SUBSTRINGS = ("/scenarios/", "/filters/", "/search/") - -# Token-capture after-response scripts, keyed by doc filename — these chain -# the collection (later requests need {{token}} / {{refresh_token}}). -TOKEN_SCRIPT = """function onResponse(res) { - try { - const responseBody = res.getBody(); - const token = responseBody.access_token; - const refreshToken = responseBody.refresh_token; - if (token) { - bru.setEnvVar("token", token, { persist: true }); - console.log("Access token saved"); - } - if (refreshToken) { - bru.setEnvVar("refresh_token", refreshToken, { persist: true }); - console.log("Refresh token saved"); - } - } catch (error) { - console.error("Token capture failed:", error.message); - } -} -onResponseResponsePlaceholder();""" -TOKEN_SCRIPT = TOKEN_SCRIPT.replace("onResponseResponsePlaceholder();", "onResponse();") -SCRIPT_DOCS = {"login", "register", "refresh_token"} - -# Param-name -> env var (checked longest-first, then generic :id by area). -NAMED_PARAMS = { - "registration_id": "registration_id", - "deviceid": "device_id", - "libraryid": "ebook_library_id", - "collectionid": "collection_id", - "trackindex": "track_index", - "highlightid": "highlight_id", - "annotationid": "annotation_id", - "ruleid": "rule_id", - "aliasid": "alias_id", - "folderid": "library_folder_id", - "jobid": "job_id", - "bookid": "book_uuid", - "sha256": "book_sha256", - "noteid": "note_id", - "userid": "user_id", - "uuid": "book_uuid", - "token": "kobo_device_token", -} - -# (area, subpath-contains) -> env for generic :id -ID_BY_CONTEXT = [ - ("media-items", "media_item_id"), - ("collections", "collection_id"), - ("libraries", "ebook_library_id"), - ("devices", "device_id"), - ("progress", "media_item_id"), - ("stats/books", "media_item_id"), - ("annotations", "annotation_id"), -] - -NEW_ENV_VARS = [ - "device_id", "rule_id", "annotation_id", "alias_id", "track_index", - "registration_id", "unlinked_book_id", "device_token", -] - - -def norm(p: str) -> str: - p = re.sub(r"/+", "/", p) - return re.sub(r":[^/{}]+", lambda m: "{" + m.group(0)[1:] + "}", p).rstrip("/") - - -def parse_doc(path: str): - src = open(path).read() - m = re.match(r"---\n(.*?)\n---\n", src, re.S) - if not m: - return None - fm = m.group(1) - method = re.search(r"method:\s*(\w+)", fm) - route = re.search(r"path:\s*(\S+)", fm) - auth = re.search(r"auth:\s*(\S+)", fm) - if not (method and route): - return None - body_src = src[m.end():] - title = re.search(r"^# (.+)$", body_src, re.M) - ex = re.search(r"```json example-request\n(.*?)\n```", body_src, re.S) - return { - "rel": os.path.relpath(path, DOCS), - "area": os.path.relpath(path, DOCS).split(os.sep)[0], - "name": os.path.splitext(os.path.basename(path))[0], - "method": method.group(1).upper(), - "path": route.group(1), - "auth": auth.group(1) if auth else "jwt", - "title": title.group(1).strip() if title else route.group(1), - "example": ex.group(1) if ex else None, - } - - -def env_for(area: str, path: str, param: str) -> str: - key = param.lstrip(":").lower() - if key in NAMED_PARAMS: - return NAMED_PARAMS[key] - if key == "id": - ctx = f"{area}/{path.split('/')[-2] if '/' in path else ''}" - for prefix, var in ID_BY_CONTEXT: - if ctx.startswith(prefix) or f"/api/{prefix}/" in path + "/": - return var - if path.startswith("/api/sync/unlinked-books"): - return "unlinked_book_id" - return "media_item_id" # best default for this API's :id grammar - return key # fallback: env var named after the param - - -def yaml_str_block(indent: int, text: str) -> str: - pad = " " * indent - lines = text.rstrip("\n").split("\n") - out = [f"{pad}|-"] - out += [pad + " " + ln if ln else "" for ln in lines] - return "\n".join(out) - - -def emit(doc: dict, seq: int) -> str: - path = norm(doc["path"]) - path = re.sub(r"\{(\w+)\}", lambda m: "{{" + env_for(doc["area"], doc["path"], m.group(1)) + "}}", path) - url = "{{base_url}}" + path - - out = [ - "info:", - f" name: {doc['title']}", - " type: http", - f" seq: {seq}", - "", - "http:", - f" method: {doc['method']}", - f" url: '{url}'", - " auth: inherit", - ] - if doc["example"]: - out += [" body:", " type: json", " data: " + yaml_str_block(4, doc["example"]).lstrip()] - if doc["auth"] == "device-token": - out += [ - " headers:", - " - key: Authorization", - " value: Bearer {{device_token}}", - ] - out += [ - "settings:", - " encodeUrl: true", - " timeout: 0", - " followRedirects: true", - " maxRedirects: 5", - ] - if doc["name"] in SCRIPT_DOCS: - out += [ - "", - "runtime:", - " scripts:", - " - type: after-response", - " code: " + yaml_str_block(8, TOKEN_SCRIPT).lstrip(), - ] - out += [ - "", - "docs: " + yaml_str_block(0, ( - f"# {doc['title']}\n\n" - f"`{doc['method']} {doc['path']}` — auth: {doc['auth']}.\n\n" - f"Canonical reference: `docs/developer/api/{doc['rel']}` " - f"(docs site → Developer → API). This request is GENERATED from " - f"that doc; edit the doc, not this file." - )), - "", - ] - return "\n".join(out) - - -def main(): - apply = "--apply" in sys.argv - docs = [] - for path in sorted(glob.glob(f"{DOCS}/**/*.md", recursive=True)): - d = parse_doc(path) - if d: - docs.append(d) - print(f"{len(docs)} frontmatter'd endpoint docs") - - # Plan writes - writes = {} - by_area = {} - for d in docs: - by_area.setdefault(d["area"], []).append(d) - for area, ds in sorted(by_area.items()): - ds.sort(key=lambda d: d["name"]) - for i, d in enumerate(ds, 1): - writes[f"{BRUNO}/{area}/{d['name']}.yml"] = emit(d, i) - - # Plan deletes: existing request ymls not regenerated (setup/env/root, - # and hand-authored scenario suites kept) - deletes = [] - for path in glob.glob(f"{BRUNO}/**/*.yml", recursive=True): - rel = os.path.relpath(path, BRUNO) - top = rel.split(os.sep)[0] - if top in KEEP_DIRS or rel in ROOT_KEEP or os.path.basename(path) == "folder.yml": - continue - if any(s in path for s in KEEP_SUBSTRINGS): - continue - if path not in writes: - deletes.append(path) - - print(f"write/update {len(writes)}, delete {len(deletes)}") - for p in sorted(deletes): - print(" DEL", p) - - if not apply: - print("(dry run — pass --apply)") - return - import collections - for path, content in writes.items(): - os.makedirs(os.path.dirname(path), exist_ok=True) - open(path, "w").write(content) - for p in deletes: - os.remove(p) - # prune empty dirs - for root, dirs, files in os.walk(BRUNO, topdown=False): - if root == BRUNO: - continue - if not files and not dirs and os.path.basename(root) not in KEEP_DIRS: - os.rmdir(root) - # extend env file with any new vars - envp = f"{BRUNO}/environments/Bookhoard.yml" - env = open(envp).read() - add = [v for v in NEW_ENV_VARS if f"name: {v}\n" not in env] - if add: - block = "".join(f" - secret: true\n name: {v}\n" for v in add) - env = env.replace("variables:\n", "variables:\n" + block, 1) - open(envp, "w").write(env) - print("env vars added:", ", ".join(add)) - print("applied.") - - -if __name__ == "__main__": - main()