package promptcompiler

import "context"

// CompileEmptyLaunchPrompt creates a valid compiler-owned no-turn carrier for
// lifecycle-only runtime launches. It contains no semantic text; adapters still
// receive a sealed product rather than falling back to mutable config fields.
func CompileEmptyLaunchPrompt(ctx context.Context, runtime string) (CompiledPrompt, error) {
	if runtime == "" {
		runtime = "unknown"
	}
	return New(DefaultPolicy()).compileEmptyLaunchPrompt(ctx, runtime)
}

func (c *Compiler) compileEmptyLaunchPrompt(ctx context.Context, runtime string) (CompiledPrompt, error) {
	if err := contextError(ctx); err != nil {
		return CompiledPrompt{}, err
	}
	return NewTestLaunchCarrier(ctx, runtime, TestLaunchSurfaces{})
}
