/** * OpenKernel — Harness SDK * * Helpers for harnesses to build MissionInput / MissionTaskInput without * touching the kernel internals. A harness owns prompts, workflows, * templates, agent design, memory strategy — it produces mission inputs; * the kernel executes them. * * const input = mission('reverse-string', 'Produce a reverseString function') * .description('Write a TypeScript string reverser') * .policy('local-first') * .task('Write the function', ['coding', 'reasoning'], { prompt: '...' }) * .task('Write tests', ['coding'], { prompt: '...' }, ['t1']) * .build(); * * const result = await kernel.execute(input); */ import type { Capability, FrontendAcceptance, MissionInput, PolicyName, TaskInput, WorkspaceRef } from '../types.js'; export interface MissionBuilder { description(d: string): this; goal(g: string): this; policy(p: PolicyName): this; workspace(root: string, git?: WorkspaceRef['git']): this; metadata(meta: Record): this; task(description: string, capabilities: Capability[], input: TaskInput, dependencies?: string[]): this; build(): MissionInput; } export declare function mission(name: string, goal: string): MissionBuilder; export declare function taskInput(prompt: string, context?: Record): TaskInput; export declare function browserTaskInput(prompt: string, actions: Array>, context?: Record): TaskInput; export declare function researchTaskInput(query: string, context?: Record): TaskInput; /** * Build a frontend "worker request": the brief plus the acceptance criteria * (quality bar + constraints) that the frontend-quality verifier enforces and * feeds back on. Pair with capabilities `['frontend', 'coding', 'reasoning']`. */ export declare function frontendTaskInput(prompt: string, acceptance?: FrontendAcceptance, context?: Record): TaskInput;