Documentation
¶
Overview ¶
Package requirements provides aggregation and derivation of skill requirements.
Index ¶
- func AggregateDescriptorRequirements(descs []contract.SkillDescriptor) int
- func AggregateRequirements(entries []contract.SkillEntry) *contract.AggregatedRequirements
- func DeriveCLIConfig(reqs *contract.AggregatedRequirements) *contract.DerivedCLIConfig
- func MergeCLIConfig(explicit, derived *contract.DerivedCLIConfig) *contract.DerivedCLIConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AggregateDescriptorRequirements ¶
func AggregateDescriptorRequirements(descs []contract.SkillDescriptor) int
AggregateDescriptorRequirements computes the maximum TimeoutHint across descriptors.
func AggregateRequirements ¶
func AggregateRequirements(entries []contract.SkillEntry) *contract.AggregatedRequirements
AggregateRequirements merges requirements from all entries that have ForgeReqs set.
Promotion rules:
- var in both required (skill A) and optional (skill B) → required
- var in one_of (skill A) and required (skill B) → stays in required (group still exists)
- one_of groups kept separate per skill
func DeriveCLIConfig ¶
func DeriveCLIConfig(reqs *contract.AggregatedRequirements) *contract.DerivedCLIConfig
DeriveCLIConfig produces cli_execute configuration from aggregated requirements. AllowedBinaries = reqs.Bins (minus shell interpreters), EnvPassthrough = union of all env vars.
func MergeCLIConfig ¶
func MergeCLIConfig(explicit, derived *contract.DerivedCLIConfig) *contract.DerivedCLIConfig
MergeCLIConfig merges derived config with explicit forge.yaml config. Explicit non-nil slices override derived values entirely. Nil/empty explicit slices allow derived values through.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.