[ai_hats.providers]
agy = ai_hats.surfaces.agy.provider:AgySurface
claude = ai_hats.surfaces.claude.provider:ClaudeSurface
cline = ai_hats.surfaces.cline.provider:ClineSurface
codex = ai_hats.surfaces.codex.provider:CodexSurface
opencode = ai_hats.surfaces.opencode.provider:OpenCodeSurface

[ai_hats.steps]
bootstrap_project = ai_hats.pipeline.steps.init_steps:BootstrapProjectStep
build_handoff = ai_hats.pipeline.steps.handoff:BuildHandoff
check_update_async = ai_hats.pipeline.steps.check_update:CheckUpdateAsync
compose_role = ai_hats.pipeline.steps.compose:ComposeRole
compute_usage = ai_hats.pipeline.steps.compute_usage:ComputeUsage
emit_stdout = ai_hats.pipeline.steps.emit:EmitStdout
extract_marker = ai_hats.pipeline.steps.extract:ExtractMarker
launch_provider = ai_hats.pipeline.steps.launch:Provider
make_audit = ai_hats.pipeline.steps.make_audit:MakeAudit
materialize_system_prompt = ai_hats.pipeline.steps.materialize:MaterializeSystemPrompt
maybe_spawn_session_reviewer = ai_hats.pipeline.steps.maybe_spawn_session_reviewer:MaybeSpawnSessionReviewer
post_log = ai_hats.pipeline.steps.log:PostLog
pre_log = ai_hats.pipeline.steps.log:PreLog
prepare_execute_session = ai_hats.pipeline.steps.init_steps:PrepareExecuteSessionStep
provider = ai_hats.pipeline.steps.launch:Provider
quorum_autoclose = ai_hats.pipeline.steps.quorum_autoclose:QuorumAutoclose
render_update_banner = ai_hats.pipeline.steps.update_banner:RenderUpdateBanner
resolve_prompt = ai_hats.pipeline.steps.prompt:ResolvePrompt
run_session_end = ai_hats.pipeline.steps.run_session_end:RunSessionEnd
run_session_review = ai_hats.pipeline.steps.session_review:RunSessionReview
save_artifact = ai_hats.pipeline.steps.save:SaveArtifact
select_provider = ai_hats.pipeline.steps.init_steps:SelectProviderStep
spawn_session_review = ai_hats.pipeline.steps.spawn_review:SpawnSessionReview

[ai_hats_rack.kernel_factory]
wired = ai_hats.rack_cli_provider:cli_factory
