Skip to content

Commit 08d6070

Browse files
teryltmonshri
authored andcommitted
feat: initial Rust Core (cpex-core and cpex-sdk) (contextforge-org#13)
* feat: initial revision rust core. Signed-off-by: Teryl Taylor <terylt@ibm.com> * fix: addressed comments in PR. Updated PluginContext to match spec. Signed-off-by: Teryl Taylor <terylt@ibm.com> --------- Signed-off-by: Teryl Taylor <terylt@ibm.com> Co-authored-by: Teryl Taylor <terylt@ibm.com>
1 parent d8d52bc commit 08d6070

16 files changed

Lines changed: 1100 additions & 12746 deletions

File tree

Cargo.lock

Lines changed: 399 additions & 4562 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -9,47 +9,7 @@
99
resolver = "2"
1010
members = [
1111
"crates/cpex-core",
12-
"crates/cpex-orchestration",
1312
"crates/cpex-sdk",
14-
"crates/cpex-ffi",
15-
"crates/apl-core",
16-
"crates/apl-cmf",
17-
"crates/apl-cpex",
18-
"crates/apl-pdp-cedar-direct",
19-
"crates/apl-cedarling",
20-
"crates/apl-identity-jwt",
21-
"crates/apl-delegator-oauth",
22-
"crates/apl-delegator-biscuit",
23-
"crates/apl-pii-scanner",
24-
"crates/apl-audit-logger",
25-
"examples/go-demo/ffi",
26-
]
27-
28-
# `default-members` controls what `cargo build` / `cargo test` (with no
29-
# `-p` or `--workspace` flag) picks up. Cedarling integration crates
30-
# pull ~200 transitive deps (jsonwebtoken, reqwest, sparkv, datalogic-rs,
31-
# flate2, etc.) and slow default builds significantly — excluding them
32-
# from default-members keeps everyday iteration fast.
33-
#
34-
# To exercise Cedarling crates:
35-
# cargo build --workspace # all members
36-
# cargo build -p apl-cedarling # just this one
37-
# cargo test --workspace # full sweep (CI)
38-
default-members = [
39-
"crates/cpex-core",
40-
"crates/cpex-orchestration",
41-
"crates/cpex-sdk",
42-
"crates/cpex-ffi",
43-
"crates/apl-core",
44-
"crates/apl-cmf",
45-
"crates/apl-cpex",
46-
"crates/apl-pdp-cedar-direct",
47-
"crates/apl-identity-jwt",
48-
"crates/apl-delegator-oauth",
49-
"crates/apl-delegator-biscuit",
50-
"crates/apl-pii-scanner",
51-
"crates/apl-audit-logger",
52-
"examples/go-demo/ffi",
5313
]
5414

5515
[workspace.package]
@@ -60,20 +20,12 @@ authors = ["Teryl Taylor"]
6020

6121
[workspace.dependencies]
6222
tokio = { version = "1", features = ["full"] }
63-
tokio-util = { version = "0.7", features = ["rt"] }
64-
serde = { version = "1", features = ["derive", "rc"] }
23+
serde = { version = "1", features = ["derive"] }
6524
serde_yaml = "0.9"
6625
serde_json = "1"
6726
async-trait = "0.1"
6827
thiserror = "2"
6928
tracing = "0.1"
70-
uuid = { version = "1", features = ["v4", "serde"] }
29+
uuid = { version = "1", features = ["v4"] }
7130
paste = "1"
7231
futures = "0.3"
73-
hashbrown = "0.15"
74-
arc-swap = "1.7"
75-
wildmatch = "2"
76-
rmp-serde = "1"
77-
serde_bytes = "0.11"
78-
chrono = { version = "0.4", features = ["serde"] }
79-
regex = "1"

crates/cpex-core/Cargo.toml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ authors.workspace = true
1717

1818
[dependencies]
1919
tokio = { workspace = true }
20-
tokio-util = { workspace = true }
2120
serde = { workspace = true }
2221
serde_yaml = { workspace = true }
2322
serde_json = { workspace = true }
@@ -26,15 +25,3 @@ thiserror = { workspace = true }
2625
tracing = { workspace = true }
2726
uuid = { workspace = true }
2827
futures = { workspace = true }
29-
hashbrown = { workspace = true }
30-
arc-swap = { workspace = true }
31-
wildmatch = { workspace = true }
32-
chrono = { workspace = true }
33-
# Zeroizing wrapper for raw credential material in RawCredentialsExtension.
34-
# `derive` feature pulls the proc-macro so we can `#[derive(Zeroize)]` on
35-
# token-bearing structs in a future slice; for now only the
36-
# `Zeroizing<String>` wrapper is used directly.
37-
zeroize = { version = "1.8", features = ["zeroize_derive"] }
38-
# Shared concurrency primitive used by `executor::run_concurrent_phase`
39-
# (and apl-core's `Effect::Parallel`). Leaf crate, no cycles back here.
40-
cpex-orchestration = { path = "../cpex-orchestration" }

0 commit comments

Comments
 (0)