From 45df4d0d9b577fecee798d672695fe24ff57fb1b Mon Sep 17 00:00:00 2001 From: mo khan Date: Tue, 15 Jul 2025 16:37:08 -0600 Subject: feat: migrate from Cedar to SpiceDB authorization system This is a major architectural change that replaces the Cedar policy-based authorization system with SpiceDB's relation-based authorization. Key changes: - Migrate from Rust to Go implementation - Replace Cedar policies with SpiceDB schema and relationships - Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks - Update build system and dependencies for Go ecosystem - Maintain Envoy integration for external authorization This change enables more flexible permission modeling through SpiceDB's Google Zanzibar inspired relation-based system, supporting complex hierarchical permissions that were difficult to express in Cedar. Breaking change: Existing Cedar policies and Rust-based configuration will no longer work and need to be migrated to SpiceDB schema. --- vendor/unicode-script/src/lib.rs | 560 --------------------------------------- 1 file changed, 560 deletions(-) delete mode 100644 vendor/unicode-script/src/lib.rs (limited to 'vendor/unicode-script/src/lib.rs') diff --git a/vendor/unicode-script/src/lib.rs b/vendor/unicode-script/src/lib.rs deleted file mode 100644 index a8e3026b..00000000 --- a/vendor/unicode-script/src/lib.rs +++ /dev/null @@ -1,560 +0,0 @@ -//! This crate exposes the Unicode `Script` and `Script_Extension` -//! properties from [UAX #24](http://www.unicode.org/reports/tr24/) - -#![cfg_attr(not(test), no_std)] -#![cfg_attr(feature = "bench", feature(test))] - -mod tables; - -use core::convert::TryFrom; -use core::fmt; -use core::u64; -pub use tables::script_extensions; -use tables::{get_script, get_script_extension, NEXT_SCRIPT}; -pub use tables::{Script, UNICODE_VERSION}; - -impl Script { - /// Get the full name of a script. - pub fn full_name(self) -> &'static str { - self.inner_full_name() - } - - /// Attempts to parse script name from the provided string. - /// Returns `None` if the provided string does not represent a valid - /// script full name. - pub fn from_full_name(input: &str) -> Option { - Self::inner_from_full_name(input) - } - - /// Get the four-character short name of a script. - pub fn short_name(self) -> &'static str { - self.inner_short_name() - } - - /// Attempts to parse script name from the provided string. - /// Returns `None` if the provided string does not represent a valid - /// script four-character short name. - pub fn from_short_name(input: &str) -> Option { - Self::inner_from_short_name(input) - } - - /// Is this script "Recommended" according to - /// [UAX #31](www.unicode.org/reports/tr31/#Table_Recommended_Scripts)? - pub fn is_recommended(self) -> bool { - use Script::*; - match self { - Common | Inherited | Arabic | Armenian | Bengali | Bopomofo | Cyrillic | Devanagari - | Ethiopic | Georgian | Greek | Gujarati | Gurmukhi | Han | Hangul | Hebrew - | Hiragana | Kannada | Katakana | Khmer | Lao | Latin | Malayalam | Myanmar | Oriya - | Sinhala | Tamil | Telugu | Thaana | Thai | Tibetan => true, - _ => false, - } - } -} - -impl From