{"id":25049204,"url":"https://github.com/code0-tech/code0-flow","last_synced_at":"2026-02-26T11:27:54.292Z","repository":{"id":275615032,"uuid":"926596945","full_name":"code0-tech/code0-flow","owner":"code0-tech","description":"Library for managing the Flows inside of the FlowQueue \u0026 FlowStore.","archived":false,"fork":false,"pushed_at":"2026-01-24T07:46:18.000Z","size":344,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-24T18:23:01.459Z","etag":null,"topics":["code0","crate","flow","flows","library","rust","rust-lang"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/code0-flow","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code0-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-03T14:39:43.000Z","updated_at":"2026-01-24T07:46:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"f6bc7dbf-c493-4b75-807c-1e75486031d0","html_url":"https://github.com/code0-tech/code0-flow","commit_stats":null,"previous_names":["code0-tech/code0-flow"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/code0-tech/code0-flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code0-tech%2Fcode0-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code0-tech%2Fcode0-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code0-tech%2Fcode0-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code0-tech%2Fcode0-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code0-tech","download_url":"https://codeload.github.com/code0-tech/code0-flow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code0-tech%2Fcode0-flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28844442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T10:53:21.605Z","status":"ssl_error","status_checked_at":"2026-01-28T10:53:20.789Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code0","crate","flow","flows","library","rust","rust-lang"],"created_at":"2025-02-06T08:16:52.670Z","updated_at":"2026-01-28T11:04:01.833Z","avatar_url":"https://github.com/code0-tech.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Code0-Flow - Flow Management Library\n\n[![Crate](https://img.shields.io/crates/v/code0-flow.svg)](https://crates.io/crates/code0-flow)\n[![Documentation](https://docs.rs/code0-flow/badge.svg)](https://docs.rs/code0-flow)\n\ncode0-flow is a Rust library developed by Code0 for managing flows within the FlowQueue and FlowStore. This libray is only for the internal usage of the execution block services (Aquila, Draco \u0026 Tarurs) and is not intendet to get used elsewhere.\n\n## Features\n\n- `flow_definition` update the Adapter \u0026 Runtime definitions\n- `flow_config` base configuration for each service\n- `flow_health` provide health checks including NATS connectivity for readiness probes\n\n## FlowStore\n\n### Keys\n\nThe key in the FlowStore in a Store will always have the pattern:\n\n`flow_id::project_id::flow_type_identifier::\u003cany_flow_type_specific_data\u003e`\n\nE.g. for REST:\n\n`1::1::REST::test.code0.tech::GET`\n\nThis would be a REST Flow identifier\n\n## FlowDefinition\n\n```rust\n// Define FlowType\nlet flow_type = FlowType {\n    identifier: String::from(\"REST\"),\n    settings: vec![],\n    input_type_identifier: Some(String::from(\"HTTP_REQUEST_OBJECT\")),\n    return_type_identifier: Some(String::from(\"HTTP_RESPONSE_OBJECT\")),\n    editable: true,\n    name: vec![Translation {\n        code: String::from(\"en-US\"),\n        content: String::from(\"Rest Endpoint\"),\n    }],\n    description: vec![Translation {\n        code: String::from(\"en-US\"),\n        content: String::from(\"A REST API is a web service that lets clients interact with data on a server using standard HTTP methods like GET, POST, PUT, and DELETE, usually returning results in JSON format.\"),\n    }],\n};\n\n// Define DataTypes\nlet data_type = DataType {\n    variant: 5,\n    name: vec![Translation {\n        code: String::from(\"en-US\"),\n        content: String::from(\"HTTP Headers\"),\n    }],\n    identifier: String::from(\"HTTP_HEADER_MAP\"),\n    input_types: vec![],\n    return_type: None,\n    parent_type_identifier: Some(String::from(\"ARRAY\")),\n    rules: vec![DataTypeRule {\n        config: Some(Config::ContainsType(DataTypeContainsTypeRuleConfig {\n            data_type_identifier: String::from(\"HTTP_HEADER_ENTRY\"),\n        })),\n    }],\n}\n\n// Send to get updated in Sagittarius\nlet update_client = code0_flow::flow_definition::FlowUpdateService::from_url(aquila_url)\n           .with_data_types(vec![data_type])\n           .with_flow_types(vec![flow_type]);\n\n// Response --\u003e true if successfull\nupdate_client.send().await;\n```\n\n## FlowHealth\n\n```rust\nuse code0_flow::flow_health::HealthService;\nuse tonic_health::pb::health_server::HealthServer;\n\n// Create health service with NATS URL\nlet health_service = HealthService::new(\"nats://localhost:4222\".to_string());\n\n// Use with tonic gRPC server\nlet health_server = HealthServer::new(health_service);\n\n// The service provides:\n// - \"liveness\" check: Always returns Serving (application is running)\n// - \"readiness\" check: Returns Serving only if NATS connection is healthy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode0-tech%2Fcode0-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode0-tech%2Fcode0-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode0-tech%2Fcode0-flow/lists"}