diff --git a/Cargo.lock b/Cargo.lock index 0091f3a8..2be2e506 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6218,7 +6218,7 @@ dependencies = [ [[package]] name = "rocksky-nif" -version = "0.8.0" +version = "0.9.0" dependencies = [ "once_cell", "rocksky-sdk", @@ -6321,7 +6321,7 @@ dependencies = [ [[package]] name = "rocksky-sdk" -version = "0.13.0" +version = "0.14.0" dependencies = [ "chrono", "cid", @@ -6456,7 +6456,7 @@ dependencies = [ [[package]] name = "rocksky-uniffi" -version = "0.9.0" +version = "0.10.0" dependencies = [ "once_cell", "rocksky-sdk", diff --git a/crates/lexicon/src/app/rocksky/actor/defs.rs b/crates/lexicon/src/app/rocksky/actor/defs.rs index 81a343a6..025d55c2 100644 --- a/crates/lexicon/src/app/rocksky/actor/defs.rs +++ b/crates/lexicon/src/app/rocksky/actor/defs.rs @@ -117,10 +117,6 @@ pub struct ProfileViewDetailed { /// The display name of the actor. #[serde(default, skip_serializing_if = "Option::is_none")] pub display_name: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub dropbox: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub googledrive: Option, /// The handle of the actor. #[serde(default, skip_serializing_if = "Option::is_none")] pub handle: Option, @@ -136,36 +132,6 @@ pub struct ProfileViewDetailed { pub updated_at: Option, } -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseDropboxView { - #[serde(default, skip_serializing_if = "Option::is_none")] - pub created_at: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub email: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub is_beta_user: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub updated_at: Option, - /// May be explicitly null as well as absent; both read as `None`. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub user_id: Option, - /// May be explicitly null as well as absent; both read as `None`. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub xata_version: Option, -} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseGoogledriveView { - #[serde(default, skip_serializing_if = "Option::is_none")] - pub created_at: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub updated_at: Option, -} - #[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct ResponseSpotifyUserView { diff --git a/crates/lexicon/src/app/rocksky/dropbox/defs.rs b/crates/lexicon/src/app/rocksky/dropbox/defs.rs deleted file mode 100644 index 87eae07f..00000000 --- a/crates/lexicon/src/app/rocksky/dropbox/defs.rs +++ /dev/null @@ -1,97 +0,0 @@ -//! `app.rocksky.dropbox.defs` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.dropbox.defs"; - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct FileListView { - #[serde(default, skip_serializing_if = "Option::is_none")] - pub directories: Option>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub directory: Option, - /// A list of files in the Dropbox. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub files: Option>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub parent_directory: Option, -} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct FileView { - /// The last modified date and time of the file on the client. Format: - /// `datetime`. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub client_modified: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub created_at: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub directory_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub file_id: Option, - /// The unique identifier of the file. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub id: Option, - /// The name of the file. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub name: Option, - /// The display path of the file. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub path_display: Option, - /// The lowercased path of the file. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub path_lower: Option, - /// The last modified date and time of the file on the server. Format: - /// `datetime`. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub server_modified: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub track_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub updated_at: Option, -} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseDirectoriesItemView { - #[serde(default, skip_serializing_if = "Option::is_none")] - pub created_at: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub file_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub name: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub parent_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub path: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub updated_at: Option, -} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseDirectoryView {} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseParentDirectoryView {} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct TemporaryLinkView { - /// The temporary link to access the file. Format: `uri`. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub link: Option, -} diff --git a/crates/lexicon/src/app/rocksky/dropbox/download_file.rs b/crates/lexicon/src/app/rocksky/dropbox/download_file.rs deleted file mode 100644 index 9037eacb..00000000 --- a/crates/lexicon/src/app/rocksky/dropbox/download_file.rs +++ /dev/null @@ -1,23 +0,0 @@ -//! `app.rocksky.dropbox.downloadFile` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.dropbox.downloadFile"; - -/// Download a file from Dropbox by its unique identifier -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Parameters { - /// The unique identifier of the file to download - pub file_id: String, -} - -// Output: `application/octet-stream`, with no JSON schema — an opaque body. diff --git a/crates/lexicon/src/app/rocksky/dropbox/get_files.rs b/crates/lexicon/src/app/rocksky/dropbox/get_files.rs deleted file mode 100644 index 66d0d0df..00000000 --- a/crates/lexicon/src/app/rocksky/dropbox/get_files.rs +++ /dev/null @@ -1,41 +0,0 @@ -//! `app.rocksky.dropbox.getFiles` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.dropbox.getFiles"; - -/// Retrieve a list of files from Dropbox -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Parameters { - /// Path to the Dropbox folder or root directory - #[serde(default, skip_serializing_if = "Option::is_none")] - pub at: Option, -} - -/// The response body. -pub type Output = super::super::super::super::app::rocksky::dropbox::defs::FileListView; - -/// This method, implemented. -/// -/// Implementing this ties a handler to the lexicon's own types: one that -/// takes the wrong parameters or answers the wrong shape fails to compile -/// rather than being discovered by a client. The body is hand-written — -/// nothing about it is in the lexicon. -pub trait Handler { - /// What a failure is reported as. - type Error; - - fn handle( - &self, - parameters: Parameters, - ) -> impl std::future::Future> + Send; -} diff --git a/crates/lexicon/src/app/rocksky/dropbox/get_metadata.rs b/crates/lexicon/src/app/rocksky/dropbox/get_metadata.rs deleted file mode 100644 index 453260d6..00000000 --- a/crates/lexicon/src/app/rocksky/dropbox/get_metadata.rs +++ /dev/null @@ -1,46 +0,0 @@ -//! `app.rocksky.dropbox.getMetadata` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.dropbox.getMetadata"; - -/// Retrieve metadata of a file or folder in Dropbox -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Parameters { - /// Path to the file or folder in Dropbox - pub path: String, -} - -/// The response body. -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Output { - /// Metadata returned by the provider; currently an empty object. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub metadata: Option, -} - -/// This method, implemented. -/// -/// Implementing this ties a handler to the lexicon's own types: one that -/// takes the wrong parameters or answers the wrong shape fails to compile -/// rather than being discovered by a client. The body is hand-written — -/// nothing about it is in the lexicon. -pub trait Handler { - /// What a failure is reported as. - type Error; - - fn handle( - &self, - parameters: Parameters, - ) -> impl std::future::Future> + Send; -} diff --git a/crates/lexicon/src/app/rocksky/dropbox/get_temporary_link.rs b/crates/lexicon/src/app/rocksky/dropbox/get_temporary_link.rs deleted file mode 100644 index 0787d52b..00000000 --- a/crates/lexicon/src/app/rocksky/dropbox/get_temporary_link.rs +++ /dev/null @@ -1,40 +0,0 @@ -//! `app.rocksky.dropbox.getTemporaryLink` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.dropbox.getTemporaryLink"; - -/// Retrieve a temporary link to access a file in Dropbox -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Parameters { - /// Path to the file in Dropbox - pub path: String, -} - -/// The response body. -pub type Output = super::super::super::super::app::rocksky::dropbox::defs::TemporaryLinkView; - -/// This method, implemented. -/// -/// Implementing this ties a handler to the lexicon's own types: one that -/// takes the wrong parameters or answers the wrong shape fails to compile -/// rather than being discovered by a client. The body is hand-written — -/// nothing about it is in the lexicon. -pub trait Handler { - /// What a failure is reported as. - type Error; - - fn handle( - &self, - parameters: Parameters, - ) -> impl std::future::Future> + Send; -} diff --git a/crates/lexicon/src/app/rocksky/dropbox/mod.rs b/crates/lexicon/src/app/rocksky/dropbox/mod.rs deleted file mode 100644 index cb6fb64e..00000000 --- a/crates/lexicon/src/app/rocksky/dropbox/mod.rs +++ /dev/null @@ -1,7 +0,0 @@ -//! `app.rocksky.dropbox` — generated. Do not edit. - -pub mod defs; -pub mod download_file; -pub mod get_files; -pub mod get_metadata; -pub mod get_temporary_link; diff --git a/crates/lexicon/src/app/rocksky/googledrive/defs.rs b/crates/lexicon/src/app/rocksky/googledrive/defs.rs deleted file mode 100644 index c0c21949..00000000 --- a/crates/lexicon/src/app/rocksky/googledrive/defs.rs +++ /dev/null @@ -1,73 +0,0 @@ -//! `app.rocksky.googledrive.defs` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.googledrive.defs"; - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct FileListView { - #[serde(default, skip_serializing_if = "Option::is_none")] - pub directories: Option>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub directory: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub files: Option>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub parent_directory: Option, -} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct FileView { - #[serde(default, skip_serializing_if = "Option::is_none")] - pub created_at: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub directory_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub file_id: Option, - /// The unique identifier of the file. - #[serde(default, skip_serializing_if = "Option::is_none")] - pub id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub name: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub track_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub updated_at: Option, -} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseDirectoriesItemView { - #[serde(default, skip_serializing_if = "Option::is_none")] - pub created_at: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub file_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub name: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub parent_id: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub path: Option, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub updated_at: Option, -} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseDirectoryView {} - -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ResponseParentDirectoryView {} diff --git a/crates/lexicon/src/app/rocksky/googledrive/download_file.rs b/crates/lexicon/src/app/rocksky/googledrive/download_file.rs deleted file mode 100644 index ec4e4ddd..00000000 --- a/crates/lexicon/src/app/rocksky/googledrive/download_file.rs +++ /dev/null @@ -1,23 +0,0 @@ -//! `app.rocksky.googledrive.downloadFile` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.googledrive.downloadFile"; - -/// Download a file from Google Drive by its unique identifier -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Parameters { - /// The unique identifier of the file to download - pub file_id: String, -} - -// Output: `application/octet-stream`, with no JSON schema — an opaque body. diff --git a/crates/lexicon/src/app/rocksky/googledrive/get_file.rs b/crates/lexicon/src/app/rocksky/googledrive/get_file.rs deleted file mode 100644 index 28ca9a53..00000000 --- a/crates/lexicon/src/app/rocksky/googledrive/get_file.rs +++ /dev/null @@ -1,40 +0,0 @@ -//! `app.rocksky.googledrive.getFile` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.googledrive.getFile"; - -/// Get a file from Google Drive by its unique identifier -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Parameters { - /// The unique identifier of the file to retrieve - pub file_id: String, -} - -/// The response body. -pub type Output = super::super::super::super::app::rocksky::googledrive::defs::FileView; - -/// This method, implemented. -/// -/// Implementing this ties a handler to the lexicon's own types: one that -/// takes the wrong parameters or answers the wrong shape fails to compile -/// rather than being discovered by a client. The body is hand-written — -/// nothing about it is in the lexicon. -pub trait Handler { - /// What a failure is reported as. - type Error; - - fn handle( - &self, - parameters: Parameters, - ) -> impl std::future::Future> + Send; -} diff --git a/crates/lexicon/src/app/rocksky/googledrive/get_files.rs b/crates/lexicon/src/app/rocksky/googledrive/get_files.rs deleted file mode 100644 index b439060a..00000000 --- a/crates/lexicon/src/app/rocksky/googledrive/get_files.rs +++ /dev/null @@ -1,41 +0,0 @@ -//! `app.rocksky.googledrive.getFiles` -//! -//! Generated from the lexicon by `rocksky-lexicon-codegen`. Do not edit: -//! change `apps/api/pkl/defs/**.pkl`, regenerate the JSON, then rerun -//! `cargo run -p rocksky-lexicon-codegen`. - -#![allow(unused_imports)] - -use super::super::super::super::Blob; -use serde::{Deserialize, Serialize}; - -/// The lexicon this module was generated from. -pub const NSID: &str = "app.rocksky.googledrive.getFiles"; - -/// Get a list of files from Google Drive -#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct Parameters { - /// Path to the Google Drive folder or root directory - #[serde(default, skip_serializing_if = "Option::is_none")] - pub at: Option, -} - -/// The response body. -pub type Output = super::super::super::super::app::rocksky::googledrive::defs::FileListView; - -/// This method, implemented. -/// -/// Implementing this ties a handler to the lexicon's own types: one that -/// takes the wrong parameters or answers the wrong shape fails to compile -/// rather than being discovered by a client. The body is hand-written — -/// nothing about it is in the lexicon. -pub trait Handler { - /// What a failure is reported as. - type Error; - - fn handle( - &self, - parameters: Parameters, - ) -> impl std::future::Future> + Send; -} diff --git a/crates/lexicon/src/app/rocksky/googledrive/mod.rs b/crates/lexicon/src/app/rocksky/googledrive/mod.rs deleted file mode 100644 index e4114232..00000000 --- a/crates/lexicon/src/app/rocksky/googledrive/mod.rs +++ /dev/null @@ -1,6 +0,0 @@ -//! `app.rocksky.googledrive` — generated. Do not edit. - -pub mod defs; -pub mod download_file; -pub mod get_file; -pub mod get_files; diff --git a/crates/lexicon/src/app/rocksky/mod.rs b/crates/lexicon/src/app/rocksky/mod.rs index e87fe83c..5f235ea5 100644 --- a/crates/lexicon/src/app/rocksky/mod.rs +++ b/crates/lexicon/src/app/rocksky/mod.rs @@ -6,11 +6,9 @@ pub mod apikey; pub mod apikeys; pub mod artist; pub mod charts; -pub mod dropbox; pub mod equalizer; pub mod event; pub mod feed; -pub mod googledrive; pub mod graph; pub mod library; pub mod like; diff --git a/crates/lexicon/src/methods.rs b/crates/lexicon/src/methods.rs index 74cadcc4..bd9ac1cd 100644 --- a/crates/lexicon/src/methods.rs +++ b/crates/lexicon/src/methods.rs @@ -44,7 +44,7 @@ impl Method { } } -/// Every method, sorted by NSID. 156 of them. +/// Every method, sorted by NSID. 149 of them. pub const METHODS: &[Method] = &[ // Get albums for an actor Method { @@ -270,38 +270,6 @@ pub const METHODS: &[Method] = &[ has_input: false, has_output: true, }, - // Download a file from Dropbox by its unique identifier - Method { - nsid: "app.rocksky.dropbox.downloadFile", - kind: MethodKind::Query, - has_parameters: true, - has_input: false, - has_output: false, - }, - // Retrieve a list of files from Dropbox - Method { - nsid: "app.rocksky.dropbox.getFiles", - kind: MethodKind::Query, - has_parameters: true, - has_input: false, - has_output: true, - }, - // Retrieve metadata of a file or folder in Dropbox - Method { - nsid: "app.rocksky.dropbox.getMetadata", - kind: MethodKind::Query, - has_parameters: true, - has_input: false, - has_output: true, - }, - // Retrieve a temporary link to access a file in Dropbox - Method { - nsid: "app.rocksky.dropbox.getTemporaryLink", - kind: MethodKind::Query, - has_parameters: true, - has_input: false, - has_output: true, - }, // Delete one of the authenticated user's equalizer presets. Method { nsid: "app.rocksky.equalizer.deletePreset", @@ -438,30 +406,6 @@ pub const METHODS: &[Method] = &[ has_input: false, has_output: true, }, - // Download a file from Google Drive by its unique identifier - Method { - nsid: "app.rocksky.googledrive.downloadFile", - kind: MethodKind::Query, - has_parameters: true, - has_input: false, - has_output: false, - }, - // Get a file from Google Drive by its unique identifier - Method { - nsid: "app.rocksky.googledrive.getFile", - kind: MethodKind::Query, - has_parameters: true, - has_input: false, - has_output: true, - }, - // Get a list of files from Google Drive - Method { - nsid: "app.rocksky.googledrive.getFiles", - kind: MethodKind::Query, - has_parameters: true, - has_input: false, - has_output: true, - }, // Creates a 'follow' relationship from the authenticated account to a specified account. Method { nsid: "app.rocksky.graph.followAccount", diff --git a/crates/rocksky-nif/Cargo.toml b/crates/rocksky-nif/Cargo.toml index f8a7cc03..e3b618f8 100644 --- a/crates/rocksky-nif/Cargo.toml +++ b/crates/rocksky-nif/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocksky-nif" -version = "0.8.0" +version = "0.9.0" edition = "2021" description = "Erlang NIF (Rustler) bindings for rocksky-sdk — powers the Erlang, Elixir & Gleam SDKs" authors.workspace = true diff --git a/crates/rocksky-sdk/Cargo.toml b/crates/rocksky-sdk/Cargo.toml index ccbff8a3..e37d82cc 100644 --- a/crates/rocksky-sdk/Cargo.toml +++ b/crates/rocksky-sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocksky-sdk" -version = "0.13.0" +version = "0.14.0" description = "Official Rust SDK for Rocksky — a music scrobbling & discovery platform on the AT Protocol" authors.workspace = true edition.workspace = true diff --git a/crates/rocksky-uniffi/Cargo.toml b/crates/rocksky-uniffi/Cargo.toml index 9fc2c845..0de1bf03 100644 --- a/crates/rocksky-uniffi/Cargo.toml +++ b/crates/rocksky-uniffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocksky-uniffi" -version = "0.9.0" +version = "0.10.0" edition = "2021" description = "UniFFI bindings core for rocksky-sdk — one Rust core powering the Python, Ruby & Clojure SDKs" authors.workspace = true diff --git a/desktop/src-tauri/Cargo.lock b/desktop/src-tauri/Cargo.lock index 8fc733f8..d4e4fcf9 100644 --- a/desktop/src-tauri/Cargo.lock +++ b/desktop/src-tauri/Cargo.lock @@ -5165,7 +5165,7 @@ dependencies = [ [[package]] name = "rocksky-sdk" -version = "0.13.0" +version = "0.14.0" dependencies = [ "chrono", "futures", diff --git a/desktop/src-tauri/Cargo.toml b/desktop/src-tauri/Cargo.toml index d653159a..518bb431 100644 --- a/desktop/src-tauri/Cargo.toml +++ b/desktop/src-tauri/Cargo.toml @@ -32,7 +32,7 @@ serde_json = "1" tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } -rocksky-sdk = { version = "0.13.0", path = "../../crates/rocksky-sdk", features = ["remote-player"] } +rocksky-sdk = { version = "0.14.0", path = "../../crates/rocksky-sdk", features = ["remote-player"] } rockbox-playback = "0.6.2" rockbox-metadata = "0.1" reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] } diff --git a/docs/sdks/clojure.mdx b/docs/sdks/clojure.mdx index 00a8b59d..a187e660 100644 --- a/docs/sdks/clojure.mdx +++ b/docs/sdks/clojure.mdx @@ -13,7 +13,7 @@ identity hashes — the same engine behind every Rocksky SDK. deps.edn: ```clojure -app.rocksky/sdk {:mvn/version "0.13.0-SNAPSHOT"} +app.rocksky/sdk {:mvn/version "0.14.0-SNAPSHOT"} ``` The jar is native-free; the library is fetched from the GitHub release on first diff --git a/docs/sdks/elixir.mdx b/docs/sdks/elixir.mdx index 9df8b592..a92672ca 100644 --- a/docs/sdks/elixir.mdx +++ b/docs/sdks/elixir.mdx @@ -13,11 +13,11 @@ behind every Rocksky SDK. The same NIF powers the [Erlang](/sdks/erlang) and ```elixir def deps do - [{:rocksky_ex, "~> 0.15.0"}] + [{:rocksky_ex, "~> 0.16.0"}] end ``` -`rocksky_ex` 0.15.0 requires `rocksky_erl` ~> 0.10.0, whose loader fetches the native +`rocksky_ex` 0.16.0 requires `rocksky_erl` ~> 0.12.0, whose loader fetches the native library from the GitHub release on first use. ## Quickstart diff --git a/docs/sdks/erlang.mdx b/docs/sdks/erlang.mdx index 93d5ddeb..1f76e117 100644 --- a/docs/sdks/erlang.mdx +++ b/docs/sdks/erlang.mdx @@ -17,7 +17,7 @@ the GitHub release on first use. ```erlang %% rebar.config -{deps, [{rocksky_erl, "0.12.0"}]}. +{deps, [{rocksky_erl, "0.13.0"}]}. ``` ## Quickstart diff --git a/docs/sdks/gleam.mdx b/docs/sdks/gleam.mdx index 0c0dca9d..e50dfd6b 100644 --- a/docs/sdks/gleam.mdx +++ b/docs/sdks/gleam.mdx @@ -11,10 +11,10 @@ PDS writes, and the identity hashes. Targets Erlang. ## Install ```bash -gleam add rocksky # rocksky = ">= 1.15.0 and < 2.0.0" +gleam add rocksky # rocksky = ">= 1.16.0 and < 2.0.0" ``` -`rocksky` 1.15.0 requires `rocksky_erl` (`>= 0.10.0 and < 1.0.0`), whose loader fetches the native +`rocksky` 1.16.0 requires `rocksky_erl` (`>= 0.12.0 and < 1.0.0`), whose loader fetches the native library from the GitHub release on first use. ## Quickstart diff --git a/docs/sdks/kotlin.mdx b/docs/sdks/kotlin.mdx index b65ca80a..cb145afe 100644 --- a/docs/sdks/kotlin.mdx +++ b/docs/sdks/kotlin.mdx @@ -13,7 +13,7 @@ Rocksky SDK. ```kotlin dependencies { - implementation("app.rocksky:rocksky-kotlin:0.7.0") + implementation("app.rocksky:rocksky-kotlin:0.15.0") } ``` diff --git a/docs/sdks/python.mdx b/docs/sdks/python.mdx index 7cb3285e..1e53c064 100644 --- a/docs/sdks/python.mdx +++ b/docs/sdks/python.mdx @@ -12,11 +12,11 @@ hashes — the same engine behind every Rocksky SDK. ```bash uv -uv add rocksky==0.15.0 +uv add rocksky==0.16.0 ``` ```bash pip -pip install rocksky==0.15.0 +pip install rocksky==0.16.0 ``` diff --git a/playerd/Cargo.lock b/playerd/Cargo.lock index 14197ac8..3ce42002 100644 --- a/playerd/Cargo.lock +++ b/playerd/Cargo.lock @@ -4063,7 +4063,7 @@ dependencies = [ [[package]] name = "rocksky-sdk" -version = "0.13.0" +version = "0.14.0" dependencies = [ "chrono", "futures", diff --git a/playerd/Cargo.toml b/playerd/Cargo.toml index 89eaf912..a6128bda 100644 --- a/playerd/Cargo.toml +++ b/playerd/Cargo.toml @@ -24,7 +24,7 @@ oximedia-mir = { version = "0.2.1", default-features = false, features = ["tempo reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] } rockbox-metadata = "0.1" rockbox-playback = { version = "0.6", path = "vendor/rockbox-playback" } -rocksky-sdk = {version = "0.13.0", path = "../crates/rocksky-sdk", features = ["remote-player", "jetstream-core"] } +rocksky-sdk = {version = "0.14.0", path = "../crates/rocksky-sdk", features = ["remote-player", "jetstream-core"] } serde = { version = "1", features = ["derive"] } serde_json = "1" sqlx = { version = "0.8.3", default-features = false, features = ["sqlite", "runtime-tokio", "tls-none"] } diff --git a/rocksky-mcp/Cargo.lock b/rocksky-mcp/Cargo.lock index a624bf85..75c06d6c 100644 --- a/rocksky-mcp/Cargo.lock +++ b/rocksky-mcp/Cargo.lock @@ -3168,7 +3168,7 @@ dependencies = [ [[package]] name = "rocksky-sdk" -version = "0.13.0" +version = "0.14.0" dependencies = [ "chrono", "futures", diff --git a/rocksky-mcp/Cargo.toml b/rocksky-mcp/Cargo.toml index 0974d677..586bd5bc 100644 --- a/rocksky-mcp/Cargo.toml +++ b/rocksky-mcp/Cargo.toml @@ -19,7 +19,7 @@ dirs = "6" jsonrpsee-core = { version = "0.26.0", features = ["server"] } jsonrpsee-types = "0.26.0" reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] } -rocksky-sdk = { version = "0.13.0", path = "../crates/rocksky-sdk", features = ["remote-player"] } +rocksky-sdk = { version = "0.14.0", path = "../crates/rocksky-sdk", features = ["remote-player"] } serde = { version = "1", features = ["derive"] } serde_json = "1" tokio = { version = "1", features = ["io-std", "io-util", "macros", "rt-multi-thread", "signal", "sync", "time"] } diff --git a/sdk/clojure/CHANGELOG.md b/sdk/clojure/CHANGELOG.md index 6856c823..2b372bc5 100644 --- a/sdk/clojure/CHANGELOG.md +++ b/sdk/clojure/CHANGELOG.md @@ -3,6 +3,13 @@ All notable changes to the Rocksky Clojure SDK are documented here. This project adheres to [Semantic Versioning](https://semver.org). +## [0.14.0-SNAPSHOT] - 2026-10-18 + +### Removed + +- The Dropbox and Google Drive integrations were removed from the API, so + profile maps no longer carry the `:googledrive` and `:dropbox` keys. + ## [0.13.0] - 2026-10-17 ### Added diff --git a/sdk/clojure/build.clj b/sdk/clojure/build.clj index a2687adc..15aee84a 100644 --- a/sdk/clojure/build.clj +++ b/sdk/clojure/build.clj @@ -13,7 +13,7 @@ [deps-deploy.deps-deploy :as dd])) (def lib 'app.rocksky/sdk) -(def version "0.13.0-SNAPSHOT") +(def version "0.14.0-SNAPSHOT") (def class-dir "target/classes") (def basis (delay (b/create-basis {:project "deps.edn"}))) (def jar-file (format "target/%s-%s.jar" (name lib) version)) diff --git a/sdk/elixir/README.md b/sdk/elixir/README.md index 2a297a89..fba48c2f 100644 --- a/sdk/elixir/README.md +++ b/sdk/elixir/README.md @@ -16,11 +16,11 @@ every Rocksky SDK. ```elixir def deps do - [{:rocksky_ex, "~> 0.15.0"}] + [{:rocksky_ex, "~> 0.16.0"}] end ``` -`rocksky_ex` 0.15.0 requires `rocksky_erl` ~> 0.10.0, whose loader fetches the native library from +`rocksky_ex` 0.16.0 requires `rocksky_erl` ~> 0.12.0, whose loader fetches the native library from the GitHub release on first use (checksum-verified). For monorepo dev, build it locally and point at it: `../erlang/build-core.sh` then set `ROCKSKY_ERL_PATH=../erlang`. diff --git a/sdk/elixir/mix.exs b/sdk/elixir/mix.exs index 13952efc..2220bc37 100644 --- a/sdk/elixir/mix.exs +++ b/sdk/elixir/mix.exs @@ -1,7 +1,7 @@ defmodule Rocksky.MixProject do use Mix.Project - @version "0.15.0" + @version "0.16.0" @source_url "https://github.com/tsirysndr/rocksky" def project do diff --git a/sdk/erlang/README.md b/sdk/erlang/README.md index 14c9ea12..a91ac23b 100644 --- a/sdk/erlang/README.md +++ b/sdk/erlang/README.md @@ -18,7 +18,7 @@ and `rocksky_nif` (raw NIF). This same NIF powers the Elixir and Gleam SDKs. ```erlang %% rebar.config -{deps, [{rocksky_erl, "0.12.0"}]}. +{deps, [{rocksky_erl, "0.13.0"}]}. ``` ## Build diff --git a/sdk/erlang/src/rocksky_erl.app.src b/sdk/erlang/src/rocksky_erl.app.src index 0f758f61..24b066d3 100644 --- a/sdk/erlang/src/rocksky_erl.app.src +++ b/sdk/erlang/src/rocksky_erl.app.src @@ -3,7 +3,7 @@ "Official Erlang SDK for Rocksky — a Rustler NIF over the shared Rust core " "(rocksky-sdk): AppView reads, record writes (scrobble fan-out, like, " "follow, shout), and the identity hashes shared across every Rocksky SDK."}, - {vsn, "0.12.0"}, + {vsn, "0.13.0"}, {registered, []}, %% crypto/inets/ssl/public_key back the first-load NIF download + checksum %% verify in rocksky_nif. kernel/stdlib are mandatory. diff --git a/sdk/gleam/README.md b/sdk/gleam/README.md index 95c24941..e38a790a 100644 --- a/sdk/gleam/README.md +++ b/sdk/gleam/README.md @@ -15,10 +15,10 @@ Rocksky SDK. Targets Erlang. ## Installation ```sh -gleam add rocksky # rocksky = ">= 1.15.0 and < 2.0.0" +gleam add rocksky # rocksky = ">= 1.16.0 and < 2.0.0" ``` -`rocksky` 1.15.0 requires `rocksky_erl` (`>= 0.10.0 and < 1.0.0`), whose loader fetches the native +`rocksky` 1.16.0 requires `rocksky_erl` (`>= 0.12.0 and < 1.0.0`), whose loader fetches the native library from the GitHub release on first use (checksum-verified). For monorepo dev, build it with `../erlang/build-core.sh` and use the local path dep in `gleam.toml`. diff --git a/sdk/gleam/gleam.toml b/sdk/gleam/gleam.toml index 9655630b..991f8898 100644 --- a/sdk/gleam/gleam.toml +++ b/sdk/gleam/gleam.toml @@ -1,5 +1,5 @@ name = "rocksky" -version = "1.15.0" +version = "1.16.0" description = "Gleam SDK for Rocksky — native bindings to the shared Rust core: AppView reads, AT Protocol PDS writes, and identity hashes" licences = ["MIT"] diff --git a/sdk/gleam/manifest.toml b/sdk/gleam/manifest.toml index 322c6edb..24322559 100644 --- a/sdk/gleam/manifest.toml +++ b/sdk/gleam/manifest.toml @@ -10,11 +10,11 @@ packages = [ { name = "gleam_json", version = "3.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "44FDAA8847BE8FC48CA7A1C089706BD54BADCC4C45B237A992EDDF9F2CDB2836" }, { name = "gleam_stdlib", version = "1.0.3", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "1F543AFBA5D33DA493E6087F4E4C4F20D899411343512686C98A8ABB2963CF22" }, { name = "gleeunit", version = "1.10.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "254B697FE72EEAD7BF82E941723918E421317813AC49923EE76A18C788C61E72" }, - { name = "rocksky_erl", version = "0.10.0", build_tools = ["rebar3"], requirements = [], otp_app = "rocksky_erl", source = "hex", outer_checksum = "C7E5928320AB4633F20BF67F368CA6EA0268E5B86DD30813EE7DB16316FDF1C1" }, + { name = "rocksky_erl", version = "0.12.0", build_tools = ["rebar3"], requirements = [], otp_app = "rocksky_erl", source = "hex", outer_checksum = "2CEC7224B4978D41AEB92FE8216DFEA5A249B1FE8B0F7C3CC7C1856B56AFAE9D" }, ] [requirements] gleam_json = { version = ">= 3.1.0 and < 4.0.0" } gleam_stdlib = { version = ">= 0.71.0 and < 2.0.0" } gleeunit = { version = ">= 1.2.0 and < 2.0.0" } -rocksky_erl = { version = ">= 0.10.0 and < 1.0.0" } +rocksky_erl = { version = ">= 0.12.0 and < 1.0.0" } diff --git a/sdk/kotlin/README.md b/sdk/kotlin/README.md index cd6a497d..6d321b34 100644 --- a/sdk/kotlin/README.md +++ b/sdk/kotlin/README.md @@ -10,7 +10,7 @@ every Rocksky SDK. Lives in the `:rocksky` Gradle module, package `app.rocksky`. ```kotlin dependencies { - implementation("app.rocksky:rocksky-kotlin:0.14.0") + implementation("app.rocksky:rocksky-kotlin:0.15.0") } ``` diff --git a/sdk/kotlin/rocksky/build.gradle.kts b/sdk/kotlin/rocksky/build.gradle.kts index 1b978256..1f109a5c 100644 --- a/sdk/kotlin/rocksky/build.gradle.kts +++ b/sdk/kotlin/rocksky/build.gradle.kts @@ -18,7 +18,7 @@ plugins { } group = "app.rocksky" -version = "0.14.0" +version = "0.15.0" kotlin { jvmToolchain(17) diff --git a/sdk/python/README.md b/sdk/python/README.md index d900dafe..6e069d7d 100644 --- a/sdk/python/README.md +++ b/sdk/python/README.md @@ -9,7 +9,7 @@ every Rocksky SDK (Ruby, Kotlin, Clojure, Erlang/Elixir/Gleam). ## Install ```sh -pip install rocksky==0.15.0 # or: uv add rocksky==0.15.0 +pip install rocksky==0.16.0 # or: uv add rocksky==0.16.0 ``` The wheel is pure-Python; the ~14 MB native library is fetched from the GitHub diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index c002d815..5d349acc 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "rocksky" -version = "0.15.0" +version = "0.16.0" description = "Python SDK for Rocksky — native bindings to the shared Rust core" readme = "README.md" license = { text = "MIT" } diff --git a/sdk/python/uv.lock b/sdk/python/uv.lock index 2047dcf0..6607456b 100644 --- a/sdk/python/uv.lock +++ b/sdk/python/uv.lock @@ -529,7 +529,7 @@ wheels = [ [[package]] name = "rocksky" -version = "0.15.0" +version = "0.16.0" source = { editable = "." } dependencies = [ { name = "pydantic" }, diff --git a/sdk/ruby/CHANGELOG.md b/sdk/ruby/CHANGELOG.md index d3d27215..85b4f366 100644 --- a/sdk/ruby/CHANGELOG.md +++ b/sdk/ruby/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.15.0 + +- The Dropbox and Google Drive integrations were removed from the API, so + profiles no longer carry `googledrive` and `dropbox`. + ## 0.14.0 - Added `Rocksky::Event` (`events`, `event`, `rsvps`, `artist_events`, diff --git a/sdk/ruby/lib/rocksky/version.rb b/sdk/ruby/lib/rocksky/version.rb index 6ef5fc96..f575cfb0 100644 --- a/sdk/ruby/lib/rocksky/version.rb +++ b/sdk/ruby/lib/rocksky/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Rocksky - VERSION = "0.14.0" + VERSION = "0.15.0" end diff --git a/sdk/rust/Cargo.lock b/sdk/rust/Cargo.lock index 1abe4883..4afae254 100644 --- a/sdk/rust/Cargo.lock +++ b/sdk/rust/Cargo.lock @@ -1190,7 +1190,7 @@ dependencies = [ [[package]] name = "rocksky" -version = "0.7.0" +version = "0.8.0" dependencies = [ "chrono", "reqwest", diff --git a/sdk/rust/Cargo.toml b/sdk/rust/Cargo.toml index 464cd164..087338f5 100644 --- a/sdk/rust/Cargo.toml +++ b/sdk/rust/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "rocksky" -version = "0.7.0" +version = "0.8.0" edition = "2021" rust-version = "1.75" authors = ["Tsiry Sandratraina "] diff --git a/sdk/typescript/CHANGELOG.md b/sdk/typescript/CHANGELOG.md index 42068c35..ecc03664 100644 --- a/sdk/typescript/CHANGELOG.md +++ b/sdk/typescript/CHANGELOG.md @@ -4,6 +4,28 @@ All notable changes to `@rocksky/sdk` are documented here. This project adheres to [Semantic Versioning](https://semver.org) — while pre-1.0, the **minor** version is the breaking slot. +## [0.19.0] - 2026-10-18 + +The Dropbox and Google Drive integrations were removed from the API, so their +lexicons and every generated type for them are gone. + +### Removed + +- **Dropbox types.** `DropboxDownloadFileParams`, `DropboxFileListView`, + `DropboxFileView`, `DropboxGetFilesParams`, + `DropboxResponseDirectoriesItemView`, `DropboxResponseDirectoryView`, + `DropboxResponseParentDirectoryView` and `DropboxTemporaryLinkView`, plus + the shared `GetMetadataParams`, `GetMetadataOutput` and + `GetTemporaryLinkParams`. +- **Google Drive types.** `GoogledriveDownloadFileParams`, + `GoogledriveFileListView`, `GoogledriveFileView`, + `GoogledriveGetFilesParams`, `GoogledriveResponseDirectoriesItemView`, + `GoogledriveResponseDirectoryView`, + `GoogledriveResponseParentDirectoryView` and `GetFileParams`. +- `googledrive` and `dropbox` on `profileViewDetailed`, plus the + `ActorResponseGoogledriveView` / `ActorResponseDropboxView` types they + pointed at. + ## [0.18.0] - 2026-10-17 Regenerated from the updated `app.rocksky.*` lexicons, plus remote-protocol diff --git a/sdk/typescript/package.json b/sdk/typescript/package.json index 14c7764d..70e576cf 100644 --- a/sdk/typescript/package.json +++ b/sdk/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@rocksky/sdk", - "version": "0.18.0", + "version": "0.19.0", "description": "TypeScript SDK for Rocksky — built on atcute: AppView reads, AT Protocol PDS writes (scrobble, like, follow, shout), a local dedup index, and Jetstream real-time sync.", "license": "MIT", "repository": {