import type { Employee, JinnConfig, OrgHierarchy } from "../shared/types.js"; /** * `talk` is retained as stored provenance for pre-retirement sessions, but it * no longer selects a distinct runtime. Historical Talk turns resume through * the ordinary web lifecycle so no voice-orchestrator behavior can reappear. */ export declare function runtimeSessionSource(source: string): string; export interface PlatformContextSnapshot { schemaVersion: 1; gatewayBootId: string; jinnSessionId: string; source: string; channel: string; thread: string; user: string; workingDirectory: string; gatewayBaseUrl: string; selectedEngine: string; resolvedModel: string; resolvedEffort: string; configuredDefaultEngine: string; configuredModels: Record; logLevel: string; } export interface BuildContextOptions { source: string; channel: string; thread?: string; user: string; employee?: Employee; connectors?: string[]; config?: JinnConfig; engine?: string; model?: string; effortLevel?: string; gatewayBootId?: string; sessionId?: string; portalName?: string; operatorName?: string; language?: string; channelName?: string; hierarchy?: OrgHierarchy; /** Why the roster is missing, when it is — rendered in place of the roster. */ rosterUnavailable?: string; /** Whether the built-in Jinn MCP toolset is attached for context dieting. */ jinnMcpAttached?: boolean; } export declare function buildPlatformContextSnapshot(opts: BuildContextOptions): PlatformContextSnapshot; export declare function renderPlatformSessionContext(snapshot: PlatformContextSnapshot): string; export declare function renderPlatformConfigContext(snapshot: PlatformContextSnapshot): string; /** * Build a rich system prompt for engine sessions. * This is what makes Jinn "smart" — the engine sees all of this context * before responding to the user. */ export declare function buildContext(opts: BuildContextOptions): string; /** * COO identity ANCHOR — intentionally minimal. The full operating manual * (principles, home-dir layout, org system, delegation, toolbox, conventions) * lives in `CLAUDE.md` / `AGENTS.md` at `~/.jinn` and is auto-loaded by every * engine (claude reads CLAUDE.md; codex/agy read AGENTS.md → symlinked to * CLAUDE.md). We only anchor identity + point at the manual so the manual is * never duplicated into this prompt. */ export declare function buildIdentity(portalName: string, operatorName?: string, language?: string): string; /** * Operator-aware onboarding directive, gated on portal.setupComplete. * Legacy installs that only have portal.onboarded are handled by buildContext. * Returns null once the setup conversation is complete — no repeat noise on steady-state sessions. */ export declare function buildOnboardingContext(opts: { portalName: string; operatorName?: string; setupComplete: boolean; }): string | null; //# sourceMappingURL=context.d.ts.map