Versions in this module Expand all Collapse all v0 v0.1.1 Oct 11, 2026 v0.1.0 Oct 6, 2026 Changes in this version + const QueryHealthName + var ErrAlreadyServing = errors.New("arc application already serving") + var ErrAuthenticationSetup = errors.New("arc discovery authentication unavailable") + var ErrFrozen = errors.New("arc builder frozen") + var ErrInvalidOptions = errors.New("invalid Arc options") + var ErrNotStarted = errors.New("arc application not started") + var ErrRouteConflict = errors.New("arc route conflict") + var ErrSchemaUnavailable = errors.New("arc schema unavailable") + var ErrShuttingDown = errors.New("arc application shutting down") + var ErrStopped = errors.New("arc application stopped") + func NewActionHandler[T any](action func(context.Context, T) (ActionResult, error), ...) (http.Handler, error) + func RegisterIdentityDetails[T any](b *Builder, name string, provider identity.DetailsProvider[T]) error + func RegisterSchema[T any](b *Builder, document json.RawMessage) error + func RegisterScopedIdentityDetails[T any](b *Builder, name string, factory Factory[identity.DetailsProvider[T]], ...) error + type ActionOptions struct + FromRequest func(*http.Request) (T, error) + MaxBodyBytes int64 + MaxQueryBytes int + MaxResponseBytes int64 + TreatWarningsAsErrors bool + Validate func(context.Context, T) ([]validation.Result, error) + type ActionResult struct + Raw http.Handler + Response any + ValidationResults []validation.Result + type Application struct + func (a *Application) Catalog() metadata.Catalog + func (a *Application) Commands() commands.Pipeline + func (a *Application) Endpoints() []metadata.Endpoint + func (a *Application) Queries() queries.Pipeline + func (a *Application) Run(ctx context.Context, address string) error + func (a *Application) Serve(ctx context.Context, listener net.Listener) error + func (a *Application) ServeHTTP(w http.ResponseWriter, r *http.Request) + func (a *Application) Shutdown(ctx context.Context) error + func (a *Application) Start(ctx context.Context) error + type Builder struct + func NewBuilder(options Options) (*Builder, error) + func (b *Builder) AddLifecycle(name string, participant Lifecycle) error + func (b *Builder) AddTenantsProvider(name string, factory Factory[TenantsProvider], keys ...di.Key) error + func (b *Builder) AddUsersProvider(name string, factory Factory[UsersProvider], keys ...di.Key) error + func (b *Builder) Build() (*Application, error) + func (b *Builder) Catalog() metadata.Catalog + func (b *Builder) Commands() *commands.Registry + func (b *Builder) ExpectGeneratedEndpoints(profile string, endpoints []metadata.Endpoint) error + func (b *Builder) Handle(pattern string, handler http.Handler) error + func (b *Builder) Policies() *authorization.Registry + func (b *Builder) Queries() *queries.Registry + func (b *Builder) RegisterCommand(r commands.Registration) error + func (b *Builder) RegisterQuery(r queries.Registration) error + func (b *Builder) RegisterReadModel(r queries.ModelRegistration) error + func (b *Builder) Use(middleware ...Middleware) error + func (b *Builder) Validators() *validation.Registry + type ConfigurationError struct + Cause error + Component string + Name string + func (e *ConfigurationError) Error() string + func (e *ConfigurationError) Unwrap() error + type Factory func(context.Context, *execution.Scope) (T, error) + type HTTPOptions struct + CorrelationHeader string + IdleTimeout time.Duration + MaxBodyBytes int64 + MaxHeaderBytes int + MaxQueryBytes int + MaxResponseBytes int64 + QueryReaders []queries.RequestReader + ReadHeaderTimeout time.Duration + ReadTimeout time.Duration + ShutdownTimeout time.Duration + WriteTimeout time.Duration + type IdentityOptions struct + DetailsProvider string + type IntrospectionOptions struct + Enabled *bool + RequireAuthentication *bool + Roles []string + type Lifecycle interface + Start func(context.Context) error + Stop func(context.Context) error + type Middleware func(http.Handler) http.Handler + type ObservableOptions struct + AllowedOrigins []string + AnonymousOwner func(context.Context, *http.Request) (string, error) + CloseGrace time.Duration + ConnectionLifetime time.Duration + KeepAliveInterval time.Duration + MaxConnections int + MaxConnectionsPerOwner int + MaxObservations int + MaxOpenings int + MaxOpeningsPerConnection int + MaxOutboundJobs int + MaxQueryIDs int + MaxQueuedBytes int64 + MaxStreamingBytes int64 + MaxSubscriptions int + MaximumWait time.Duration + WriteTimeout time.Duration + type Options struct + Authentication []authentication.Handler + Authorization authorization.Options + CleanupTimeout time.Duration + Clock func() time.Time + CommandOperations commands.OperationOptions + DependencyCatalog di.Catalog + Diagnostics *observability.Recorder + Environment string + ExposeExceptionDetails bool + HTTP HTTPOptions + Identity IdentityOptions + Introspection IntrospectionOptions + Logger *slog.Logger + Membership tenancy.Membership + Namespace string + Observable ObservableOptions + OpenResources execution.OpenResources + QueryHealth *QueryHealthOptions + RequireTenant bool + Routes *metadata.Options + ScopeFactory di.ScopeFactory + Tenancy tenancy.Options + TenantResolver tenancy.Resolver + type QueryHealth struct + Hubs []QueryHealthHub + Observations []queries.ObservationHealth + Openings int + Operations int + type QueryHealthHub struct + Closing int + Connected int + Protocol string + type QueryHealthOptions struct + Roles []string + type TenantsProvider interface + ProvideTenants func(context.Context) ([]tenancy.Tenant, error) + type UsersProvider interface + ProvideUsers func(context.Context) ([]identity.User, error)