Skip to main content

Crate planspec_core

Crate planspec_core 

Source
Expand description

§PlanSpec Core

Core types and validation for the PlanSpec declarative work orchestration system.

§Overview

This crate provides the foundational types for PlanSpec resources:

  • Goal - High-level objectives with acceptance criteria
  • Plan - DAGs of work with embedded nodes and edges
  • Capability - Reusable abilities that agents can provide
  • Binding - Resolution of capabilities to provider targets
  • Execution - Intent to run a Plan with specific bindings

§Example

use planspec_core::{Goal, GoalSpec, ObjectMeta};

let goal = Goal {
    api_version: "planspec.io/v1alpha1".to_string(),
    kind: "Goal".to_string(),
    metadata: ObjectMeta::new("my-goal", "default"),
    spec: GoalSpec {
        description: "Implement feature X".to_string(),
        ..Default::default()
    },
    status: None,
};

Re-exports§

pub use types::api::AppliedResource;
pub use types::api::ApplyAction;
pub use types::api::ApplyError;
pub use types::api::ApplyResult;
pub use types::api::ListMeta;
pub use types::api::ResourceList;
pub use types::api::Status;
pub use types::api::StatusCause;
pub use types::api::StatusDetails;
pub use types::api::StatusReason;
pub use types::api::StatusResult;
pub use types::api::WatchEvent;
pub use types::api::WatchEventType;
pub use types::binding::Binding;
pub use types::binding::BindingPhase;
pub use types::binding::BindingRule;
pub use types::binding::BindingSelector;
pub use types::binding::BindingSpec;
pub use types::binding::BindingStatus;
pub use types::binding::BindingTarget;
pub use types::capability::Capability;
pub use types::capability::CapabilityInput;
pub use types::capability::CapabilityOutput;
pub use types::capability::CapabilityParamType;
pub use types::capability::CapabilityPhase;
pub use types::capability::CapabilityRequirement;
pub use types::capability::CapabilitySpec;
pub use types::capability::CapabilityStatus;
pub use types::context::ContextFormat;
pub use types::context::ContextItem;
pub use types::execution::Artifact;
pub use types::execution::Execution;
pub use types::execution::ExecutionPhase;
pub use types::execution::ExecutionSpec;
pub use types::execution::ExecutionStatus;
pub use types::execution::NodePhase;
pub use types::execution::NodeStatus;
pub use types::gate::Gate;
pub use types::gate::GatePhase;
pub use types::gate::GateSpec;
pub use types::gate::GateStatus;
pub use types::gate::GateType;
pub use types::gate::Resolution;
pub use types::gate::ResolutionOutcome;
pub use types::gate::ReviewAction;
pub use types::gate::ReviewActionType;
pub use types::gate::TargetRef;
pub use types::goal::AcceptanceCriterion;
pub use types::goal::Goal;
pub use types::goal::GoalPhase;
pub use types::goal::GoalSpec;
pub use types::goal::GoalStatus;
pub use types::goal::LabelSelector;
pub use types::meta::Condition;
pub use types::meta::ConditionStatus;
pub use types::meta::ObjectMeta;
pub use types::meta::ObjectReference;
pub use types::meta::OwnerReference;
pub use types::plan::AcceptanceCriteria;
pub use types::plan::Edge;
pub use types::plan::EdgeType;
pub use types::plan::EstimatedEffort;
pub use types::plan::ExpectedResponse;
pub use types::plan::Graph;
pub use types::plan::GraphError;
pub use types::plan::Node;
pub use types::plan::NodeKind;
pub use types::plan::Plan;
pub use types::plan::PlanPhase;
pub use types::plan::PlanSpec;
pub use types::plan::PlanStatus;
pub use validate::ValidationError;
pub use validate::Validator;

Modules§

types
Core type definitions for PlanSpec resources.
validate
Validation for PlanSpec resources.

Enums§

Resource
Resource is an enum that can hold any PlanSpec resource type.

Constants§

API_VERSION
The API version for all PlanSpec resources