From 3f8e731caec5e17321cf448b1c13161b21b75b25 Mon Sep 17 00:00:00 2001 From: Raphael Date: Tue, 28 Apr 2026 17:21:15 +0200 Subject: [PATCH 1/2] dependencies: updated tucana and code0-flow --- Cargo.lock | 8 ++++---- Cargo.toml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7c8b356..87436ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -271,9 +271,9 @@ dependencies = [ [[package]] name = "code0-flow" -version = "0.0.32" +version = "0.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d74d62174eb76c90d7c1642a05f20084bb563ec8a1249c0f05bbd7ed03023" +checksum = "6e8a97ac31e8340a97ab6468dbcab82d835346182ca309d8518245acb1f6ffd3" dependencies = [ "async-nats", "async-trait", @@ -2154,9 +2154,9 @@ dependencies = [ [[package]] name = "tucana" -version = "0.0.68" +version = "0.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abae78f798d1203bbcce361ba4cb4c500f8fe64e56d16ba3a5a0854e285377eb" +checksum = "1ececdc8eeccd39a9ba82a4ee78e9663d9871a9ca9da65013477536360322392" dependencies = [ "pbjson", "pbjson-build", diff --git a/Cargo.toml b/Cargo.toml index 3849f28..1c9e796 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,8 +7,8 @@ version = "0.0.0" edition = "2024" [workspace.dependencies] -code0-flow = { version = "0.0.32" } -tucana = { version = "0.0.68", features = ["aquila"] } +code0-flow = { version = "0.0.33" } +tucana = { version = "0.0.70", features = ["aquila"] } serde_json = { version = "1.0.138" } log = "0.4.27" env_logger = "0.11.8" From c5c220d96b73ed660b5ad7d4f6ff46b7a1cefcdb Mon Sep 17 00:00:00 2001 From: Raphael Date: Tue, 28 Apr 2026 17:30:54 +0200 Subject: [PATCH 2/2] feat: updated to latest module structure --- adapter/cron/src/main.rs | 15 ++------------- adapter/rest/src/main.rs | 27 ++++++++------------------- crates/base/src/client/mod.rs | 15 +++++---------- crates/base/src/runner.rs | 6 ++---- 4 files changed, 17 insertions(+), 46 deletions(-) diff --git a/adapter/cron/src/main.rs b/adapter/cron/src/main.rs index 644d6e8..14b2015 100644 --- a/adapter/cron/src/main.rs +++ b/adapter/cron/src/main.rs @@ -5,8 +5,8 @@ use base::traits::{IdentifiableFlow, LoadConfig, Server}; use chrono::{DateTime, Datelike, Timelike, Utc}; use cron::Schedule; use std::str::FromStr; +use tucana::shared::ValidationFlow; use tucana::shared::value::Kind; -use tucana::shared::{RuntimeFeature, Translation, ValidationFlow}; #[derive(Default)] struct Cron {} @@ -25,18 +25,7 @@ async fn main() { let server = Cron::default(); let runner = ServerRunner::new(server).await.unwrap(); - let featues = vec![RuntimeFeature { - name: vec![Translation { - code: "en-US".to_string(), - content: "Cron Adapter".to_string(), - }], - description: vec![Translation { - code: "en-US".to_string(), - content: "A Cron-Adapter is a time-based scheduler that runs commands or scripts automatically at specified times or intervals.".to_string(), - }], - }]; - - runner.serve(featues, vec![]).await.unwrap(); + runner.serve(vec![]).await.unwrap(); } struct Time { diff --git a/adapter/rest/src/main.rs b/adapter/rest/src/main.rs index 9cd333c..e0708a7 100644 --- a/adapter/rest/src/main.rs +++ b/adapter/rest/src/main.rs @@ -17,8 +17,7 @@ use std::sync::Arc; use tokio::net::TcpListener; use tonic::async_trait; use tucana::shared::{ - AdapterConfiguration, RuntimeFeature, Struct, Translation, ValidationFlow, Value, - helper::value::ToValue, value::Kind, + AdapterStatusConfiguration, Struct, ValidationFlow, Value, helper::value::ToValue, value::Kind, }; use crate::response::{error_to_http_response, value_to_http_response}; @@ -43,26 +42,16 @@ async fn main() { let addr = runner.get_server_config().port; let host = runner.get_server_config().host.clone(); - let featues = vec![RuntimeFeature { - name: vec![Translation { - code: "en-US".to_string(), - content: "Rest Adapter".to_string(), - }], - description: vec![Translation { - code: "en-US".to_string(), - content: "A Rest-Adapter is a server that exposes resources through HTTP URLs (endpoints). Clients use methods like GET, POST, PUT, and DELETE to retrieve or modify data, typically exchanged as JSON.".to_string(), - }], - }]; - - let configs = vec![AdapterConfiguration { - data: Some(tucana::shared::adapter_configuration::Data::Endpoint( - format!( + let configs = vec![AdapterStatusConfiguration { + flow_type_identifiers: vec![String::from("REST")], + data: Some( + tucana::shared::adapter_status_configuration::Data::Endpoint(format!( r"{}:{}/${{project_slug}}/${{flow_setting_identifier}}", host, addr - ), - )), + )), + ), }]; - match runner.serve(featues, configs).await { + match runner.serve(configs).await { Ok(_) => (), Err(err) => panic!("Failed to start server runner: {:?}", err), }; diff --git a/crates/base/src/client/mod.rs b/crates/base/src/client/mod.rs index 0bc8c43..6b6d276 100644 --- a/crates/base/src/client/mod.rs +++ b/crates/base/src/client/mod.rs @@ -11,14 +11,13 @@ use tucana::{ RuntimeStatusUpdateRequest, runtime_status_service_client::RuntimeStatusServiceClient, runtime_status_update_request::Status, }, - shared::{AdapterConfiguration, AdapterRuntimeStatus, RuntimeFeature}, + shared::{AdapterRuntimeStatus, AdapterStatusConfiguration}, }; pub struct DracoRuntimeStatusService { channel: Channel, identifier: String, - features: Vec, - configs: Vec, + configs: Vec, aquila_token: String, } @@ -74,24 +73,21 @@ impl DracoRuntimeStatusService { aquila_url: String, aquila_token: String, identifier: String, - features: Vec, - configs: Vec, + configs: Vec, ) -> Self { let channel = create_channel_with_retry("Aquila", aquila_url).await; - Self::new(channel, identifier, features, configs, aquila_token) + Self::new(channel, identifier, configs, aquila_token) } pub fn new( channel: Channel, identifier: String, - features: Vec, - configs: Vec, + configs: Vec, aquila_token: String, ) -> Self { DracoRuntimeStatusService { channel, identifier, - features, configs, aquila_token, } @@ -121,7 +117,6 @@ impl DracoRuntimeStatusService { status: status.into(), timestamp: timestamp as i64, identifier: self.identifier.clone(), - features: self.features.clone(), configurations: self.configs.clone(), })), }, diff --git a/crates/base/src/runner.rs b/crates/base/src/runner.rs index 52eaf3d..f28774d 100644 --- a/crates/base/src/runner.rs +++ b/crates/base/src/runner.rs @@ -9,7 +9,7 @@ use std::{sync::Arc, time::Duration}; use tokio::{signal, time::sleep}; use tonic::transport::Server; use tonic_health::pb::health_server::HealthServer; -use tucana::shared::{AdapterConfiguration, RuntimeFeature}; +use tucana::shared::AdapterStatusConfiguration; /// Context passed to adapter server implementations containing all shared resources pub struct ServerContext { @@ -58,8 +58,7 @@ impl ServerRunner { pub async fn serve( self, - runtime_feature: Vec, - runtime_config: Vec, + runtime_config: Vec, ) -> anyhow::Result<()> { let config = self.context.adapter_config.clone(); let mut runtime_status_service: Option = None; @@ -71,7 +70,6 @@ impl ServerRunner { config.aquila_url.clone(), config.aquila_token.clone(), config.draco_variant.clone(), - runtime_feature, runtime_config, ) .await,