1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Location: ./crates/cpex/Cargo.toml
# Copyright 2025
# SPDX-License-Identifier: Apache-2.0
# Authors: Fred Araujo
#
# cpex — host facade.
#
# One dependency instead of a dozen: re-exports the host runtime
# (PluginManager, AplOptions, register_apl). The bundled plugins, PDPs, and
# session stores live in `cpex-builtins` and are pulled in only when the
# `builtins` / `full` feature (or a granular plugin feature) is enabled — so
# the default `cpex = "0.2"` is the engine alone, no plugins compiled.
#
# cpex = { version = "0.2.1", features = ["builtins"] } # default builtin set
# cpex = { version = "0.2.1", features = ["jwt", "cedar"] } # a minimal subset
#
# then `cpex::install_builtins(&mgr)` registers every enabled factory and
# installs the APL config visitor in one call.
[]
= "cpex"
= "CPEX host facade — re-exports the runtime and (optionally) the feature-gated builtin extensions."
= true
= true
= true
= true
= true
= true
= true
= true
= true
# Use the project's root README as this crate's crates.io page (inherited path
# is workspace-root-relative; cargo bundles it into the published .crate).
= true
# Build docs.rs with every extension enabled. The default build is engine-only
# (`default = []`), which omits cpex-builtins entirely — so without this the
# builtins re-exports and `install_builtins` are absent and the intra-doc link
# to `cpex-builtins` does not resolve on docs.rs.
[]
= true
[]
# Engine only by default: no builtin plugins are compiled in. Opt into the
# bundled extensions with `builtins` (the common in-process set), `full`
# (everything, incl. the Valkey session store), or a granular plugin
# feature. Each enables the optional `cpex-builtins` dependency and forwards
# to its matching cpex-builtins feature.
= []
= ["cpex-builtins/default"]
= ["cpex-builtins/full"]
# Granular passthroughs — each pulls exactly one builtin via cpex-builtins.
= ["cpex-builtins/identity-jwt"]
= ["cpex-builtins/delegator-oauth"]
= ["cpex-builtins/pii-scanner"]
= ["cpex-builtins/audit-logger"]
= ["cpex-builtins/elicitation-ciba"]
= ["cpex-builtins/cedar-direct"]
= ["cpex-builtins/cel"]
= ["cpex-builtins/valkey"]
[]
# Host runtime — always present, this is the point of the facade.
= { = true }
= { = true }
= { = true }
= { = true }
# Bundled extension set — present only when a builtins feature is enabled.
# `default-features = false` so the granular plugin features compose; an
# enabling feature turns on exactly the cpex-builtins features it names.
= { = true, = true, = false }
[]
= true