Documentation
¶
Index ¶
- Constants
- func Targets() []string
- type Artifact
- type CapabilitiesRequest
- type CapabilitiesResult
- type Capability
- type Catalog
- type CheckRequest
- type CheckResult
- type CodexMCPServer
- type CodexOptions
- type CompileMetadata
- type CompileRequest
- type CompileResult
- type Decision
- type Diagnostic
- type EntityRef
- type ExplainRequest
- type ExplainResult
- type OpenShellOptions
- type SourceSpan
- type TargetContractInfo
- type TargetOptions
Constants ¶
const ( MaxSourceBytes = 2 << 20 MaxCapabilities = 10_000 MaxSelectorBytes = 4096 MaxDecisionOverlapWork = 250_000 )
const ( ModeStrict = "strict" ModePermissive = "permissive" TargetOpenShell = "openshell" TargetOpenCode = "opencode" TargetCodex = "codex" TargetClaude = "claude-code" )
const ( KindFilesystem = "filesystem" KindTool = "tool" KindCommand = "command" KindNetwork = "network" )
const CatalogVersion = "rosetta/v1"
const CedarSchema = `` /* 484-byte string literal not displayed */
CedarSchema is the stable authorization profile compiled by Rosetta v1. Optional target-specific fields let one schema describe all renderer inputs.
const Version = "1.0.0"
Version is the Rosetta API and compiler version.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CapabilitiesRequest ¶
type CapabilitiesRequest struct{}
type CapabilitiesResult ¶
type CapabilitiesResult struct {
Version string `json:"version"`
Capabilities []string `json:"capabilities"`
Targets []string `json:"targets"`
TargetContracts []TargetContractInfo `json:"targetContracts"`
}
func Capabilities ¶
func Capabilities(ctx context.Context, _ CapabilitiesRequest) (*CapabilitiesResult, error)
type Capability ¶
type Capability struct {
ID string `json:"id"`
Kind string `json:"kind"`
Action string `json:"action"`
Selector string `json:"selector"`
Targets []string `json:"targets,omitempty"`
Access string `json:"access,omitempty"`
Port int `json:"port,omitempty"`
Protocol string `json:"protocol,omitempty"`
Path string `json:"path,omitempty"`
Binaries []string `json:"binaries,omitempty"`
Server string `json:"server,omitempty"`
}
Capability is a target-neutral operation that can be represented by one or more supported policy formats. Filesystem selectors name directory roots; renderers add target-native recursive matching where required.
type Catalog ¶
type Catalog struct {
Version string `json:"version"`
Principal EntityRef `json:"principal"`
Capabilities []Capability `json:"capabilities"`
}
Catalog enumerates the capabilities Cedar must decide before rendering. Rosetta never invents capabilities that are absent from this catalog.
type CheckRequest ¶
CheckRequest describes Cedar source validation against the Rosetta profile.
type CheckResult ¶
type CheckResult struct {
Valid bool `json:"valid"`
Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
Errors []string `json:"errors,omitempty"`
}
func Check ¶
func Check(ctx context.Context, req CheckRequest) (*CheckResult, error)
Check parses Cedar and validates every policy against the Rosetta schema.
type CodexMCPServer ¶
type CodexMCPServer struct {
Command string `json:"command,omitempty"`
Args []string `json:"args,omitempty"`
URL string `json:"url,omitempty"`
BearerTokenEnvVar string `json:"bearerTokenEnvVar,omitempty"`
}
CodexMCPServer defines the transport for an MCP server whose enabled tools are restricted by Cedar. Set exactly one of Command or URL.
type CodexOptions ¶
type CodexOptions struct {
ProfileName string `json:"profileName,omitempty"`
MCPServers map[string]CodexMCPServer `json:"mcpServers,omitempty"`
}
type CompileMetadata ¶
type CompileMetadata struct {
CompilerVersion string `json:"compilerVersion"`
CatalogVersion string `json:"catalogVersion"`
TargetContractVersion string `json:"targetContractVersion"`
Mode string `json:"mode"`
InputSHA256 string `json:"inputSha256"`
ArtifactSHA256 string `json:"artifactSha256"`
}
CompileMetadata identifies the exact Rosetta contracts and deterministic inputs behind an artifact without including policy or catalog contents.
type CompileRequest ¶
type CompileRequest struct {
Source string `json:"source"`
Target string `json:"target"`
Mode string `json:"mode,omitempty"`
Catalog Catalog `json:"catalog"`
Options TargetOptions `json:"options,omitempty"`
}
CompileRequest describes Cedar translation into a target artifact.
type CompileResult ¶
type CompileResult struct {
Output string `json:"output"`
Target string `json:"target"`
Artifacts []Artifact `json:"artifacts"`
Decisions []Decision `json:"decisions"`
Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
Metadata CompileMetadata `json:"metadata"`
}
CompileResult contains generated artifacts and the Cedar decisions behind them.
func Compile ¶
func Compile(ctx context.Context, req CompileRequest) (*CompileResult, error)
Compile authorizes the requested catalog and renders a deterministic artifact.
type Decision ¶
type Decision struct {
CapabilityID string `json:"capabilityId"`
Allowed bool `json:"allowed"`
PolicyIDs []string `json:"policyIds,omitempty"`
}
Decision records how Cedar resolved one catalog entry.
type Diagnostic ¶
type Diagnostic struct {
Severity string `json:"severity"`
Code string `json:"code"`
Message string `json:"message"`
Details map[string]any `json:"details,omitempty"`
SourceSpan *SourceSpan `json:"sourceSpan,omitempty"`
Target string `json:"target,omitempty"`
RuleID string `json:"ruleId,omitempty"`
Recoverable bool `json:"recoverable,omitempty"`
DocumentationURL string `json:"documentationUrl,omitempty"`
}
type EntityRef ¶
type EntityRef struct {
Type string `json:"type,omitempty"`
ID string `json:"id"`
Roles []string `json:"roles,omitempty"`
}
EntityRef identifies the Cedar principal used for static capability decisions. The type defaults to Rosetta::Principal.
type ExplainRequest ¶
type ExplainRequest = CompileRequest
ExplainRequest describes a request to explain a compilation.
type ExplainResult ¶
type ExplainResult struct {
Explanation string `json:"explanation"`
Decisions []Decision `json:"decisions,omitempty"`
Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
Metadata CompileMetadata `json:"metadata"`
}
func Explain ¶
func Explain(ctx context.Context, req ExplainRequest) (*ExplainResult, error)
type OpenShellOptions ¶
type SourceSpan ¶
type TargetContractInfo ¶
type TargetContractInfo struct {
Target string `json:"target"`
Version string `json:"version"`
Maturity string `json:"maturity"`
}
TargetContractInfo describes the Rosetta-owned output contract for a target.
func TargetContracts ¶
func TargetContracts() []TargetContractInfo
TargetContracts returns a copy of the target output contracts implemented by this compiler version.
type TargetOptions ¶
type TargetOptions struct {
OpenShell OpenShellOptions `json:"openShell,omitempty"`
Codex CodexOptions `json:"codex,omitempty"`
}
TargetOptions controls target details that cannot be inferred from Cedar.