Skip to main content

systemprompt_identifiers/
marketplace.rs

1//! Typed identifiers for marketplace catalog entries.
2//!
3//! [`MarketplaceRuleId`] is the slug of a marketplace rule (a governance
4//! instruction shipped to coding agents), distinct from the authz
5//! [`RuleId`](crate::RuleId). [`LibraryArtifactId`] names a library artifact
6//! a plugin bundles. All three entry ids are checked non-empty.
7//!
8//! Copyright (c) systemprompt.io — Business Source License 1.1.
9//! See <https://systemprompt.io> for licensing details.
10
11crate::define_id!(MarketplaceId, schema);
12crate::define_id!(MarketplaceRuleId, checked, |value| {
13    crate::macros::validate_non_empty("MarketplaceRuleId", value)
14});
15crate::define_id!(RuleName, checked, |value| {
16    crate::macros::validate_non_empty("RuleName", value)
17});
18crate::define_id!(LibraryArtifactId, checked, |value| {
19    crate::macros::validate_non_empty("LibraryArtifactId", value)
20});