## Public API Report File for "@grackle-ai/prompt"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

// @public
export function buildOrchestratorContext(input: OrchestratorContextInput): OrchestratorContext;

// @public
export function buildTaskPrompt(title: string, description: string, notes?: string): string;

// @public
export interface EnvironmentInput {
    adapterType: string;
    defaultRuntime: string;
    displayName: string;
    status: string;
}

// @public
export interface EnvironmentSummary {
    adapterType: string;
    defaultRuntime: string;
    displayName: string;
    status: string;
}

// @public
export interface FindingInput {
    category: string;
    content: string;
    title: string;
}

// @public
export interface OrchestratorContext {
    availableEnvironments: EnvironmentSummary[];
    availablePersonas: PersonaSummary[];
    findingsContext: string;
    taskTree: TaskTreeNode[];
    workspace?: {
        name: string;
        description: string;
        repoUrl: string;
    };
}

// @public
export interface OrchestratorContextInput {
    environments: EnvironmentInput[];
    findings: FindingInput[];
    personas: PersonaInput[];
    tasks: TaskInput[];
    workspace?: {
        name: string;
        description: string;
        repoUrl: string;
    };
}

// @public
export interface PersonaInput {
    description: string;
    id: string;
    model: string;
    name: string;
    runtime: string;
}

// @public
export interface PersonaResolveInput {
    id: string;
    maxTurns: number;
    mcpServers: string;
    model: string;
    name: string;
    runtime: string;
    script: string;
    systemPrompt: string;
    toolConfig: string;
    type: string;
}

// @public
export interface PersonaSummary {
    description: string;
    model: string;
    name: string;
    runtime: string;
}

// @public
export interface ResolvedPersona {
    maxTurns: number;
    mcpServers: string;
    model: string;
    personaId: string;
    runtime: string;
    script: string;
    systemPrompt: string;
    toolConfig: string;
    type: string;
}

// @public
export function resolvePersona(requestPersonaId: string, taskDefaultPersonaId: string | undefined, workspaceDefaultPersonaId: string | undefined, appDefaultPersonaId: string | undefined, lookupPersona: (id: string) => PersonaResolveInput | undefined): ResolvedPersona;

// @public
export class SystemPromptBuilder {
    constructor(options: SystemPromptOptions);
    build(): string;
}

// @public
export interface SystemPromptOptions {
    availableEnvironments?: EnvironmentSummary[];
    availablePersonas?: PersonaSummary[];
    canDecompose?: boolean;
    findingsContext?: string;
    personaPrompt?: string;
    task?: {
        title: string;
        description: string;
        notes: string;
    };
    taskDepth?: number;
    taskId?: string;
    taskTree?: TaskTreeNode[];
    triggerMode?: "fresh" | "resume";
    workpad?: string;
    workspace?: {
        name: string;
        description: string;
        repoUrl: string;
    };
}

// @public
export interface TaskInput {
    branch: string;
    canDecompose: boolean;
    defaultPersonaId: string;
    dependsOn: string[];
    depth: number;
    id: string;
    parentTaskId: string;
    status: string;
    title: string;
}

// @public
export interface TaskTreeNode {
    branch: string;
    canDecompose: boolean;
    dependsOn: string[];
    depth: number;
    id: string;
    parentTaskId: string;
    personaName: string;
    status: string;
    title: string;
}

// (No @packageDocumentation comment for this package)

```
