Documentation
¶
Index ¶
- Constants
- func MarshalDeterministic(c *Contract) ([]byte, error)
- func Write(path string, c *Contract) error
- type Auth
- type BuildOptions
- type CSRF
- type Contract
- type Idempotency
- type ModelChecks
- type OpenAPIRef
- type Route
- type RouteArtifacts
- type RouteForm
- type RouteGroup
- type RouteParam
- type ValidationOptions
- type ValidationResult
- type Webhook
Constants ¶
View Source
const ( SchemaVersion = "vango.routes.contract.v1.0" ArtifactKind = "vango_route_contract" DefaultOutputPath = ".vango/routes/vango_route_contract.json" )
Variables ¶
This section is empty.
Functions ¶
func MarshalDeterministic ¶
Types ¶
type BuildOptions ¶
type Contract ¶
type Contract struct {
SchemaVersion string `json:"schema_version"`
ArtifactID string `json:"artifact_id"`
ArtifactKind string `json:"artifact_kind"`
Producer artifact.Producer `json:"producer"`
App artifact.App `json:"app"`
Analysis artifact.Analysis `json:"analysis"`
RouteArtifacts RouteArtifacts `json:"route_artifacts"`
Routes []Route `json:"routes"`
Groups []RouteGroup `json:"groups"`
OpenAPIRefs []OpenAPIRef `json:"openapi_refs"`
OperationReadiness []artifact.OperationReadiness `json:"operation_readiness"`
Inputs []artifact.ArtifactRef `json:"inputs"`
Outputs []artifact.ArtifactRef `json:"outputs"`
References map[string]artifact.ArtifactRef `json:"references"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}
func Build ¶
func Build(opts BuildOptions) (*Contract, error)
type Idempotency ¶
type ModelChecks ¶
type ModelChecks struct {
BlockingRender string `json:"blocking_render"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
}
type OpenAPIRef ¶
type Route ¶
type Route struct {
ID string `json:"id"`
Path string `json:"path"`
VangoPath string `json:"vango_path,omitempty"`
SourcePath string `json:"source_path,omitempty"`
Methods []string `json:"methods"`
Kind string `json:"kind"`
Owner string `json:"owner"`
Origin artifact.Origin `json:"origin"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
Params []RouteParam `json:"params"`
ProviderProfiles []string `json:"provider_profiles"`
DataClasses []string `json:"data_classes"`
Auth Auth `json:"auth"`
CSRF CSRF `json:"csrf"`
Idempotency Idempotency `json:"idempotency"`
Webhook Webhook `json:"webhook"`
RouteForm RouteForm `json:"route_form"`
ModelChecks ModelChecks `json:"model_checks"`
WakeSafety string `json:"wake_safety"`
ReplaySafety string `json:"replay_safety"`
Stateful bool `json:"stateful"`
HandlerSymbol string `json:"handler_symbol,omitempty"`
SourceRef artifact.SourceRef `json:"source_ref,omitempty"`
}
type RouteArtifacts ¶
type RouteForm ¶
type RouteForm struct {
Required bool `json:"required"`
Status string `json:"status"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
}
type RouteGroup ¶
type RouteParam ¶
type ValidationOptions ¶
type ValidationResult ¶
type ValidationResult struct {
Valid bool `json:"valid"`
Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}
func Validate ¶
func Validate(c *Contract, opts ValidationOptions) ValidationResult
type Webhook ¶
type Webhook struct {
Detected bool `json:"detected"`
ProviderProfile string `json:"provider_profile,omitempty"`
SignatureRequired bool `json:"signature_required"`
SignatureStatus string `json:"signature_status"`
FreshnessRequired bool `json:"freshness_required"`
IdempotencyRequired bool `json:"idempotency_required"`
DurableProcessingHint string `json:"durable_processing_hint,omitempty"`
ProofLevel artifact.ProofLevel `json:"proof_level"`
}
Click to show internal directories.
Click to hide internal directories.