import type { Harness, PersonaSelection } from '@agentworkforce/persona-kit'; export declare const LAUNCH_METADATA_INTERVAL_MS = 1000; export declare const LAUNCH_METADATA_OPT_OUT_ENV = "AGENTWORKFORCE_LAUNCH_METADATA"; export type LaunchMetadataIngestHarness = 'claude-code' | 'codex' | 'opencode' | 'grok'; export type LaunchMetadataPendingStampHarness = Harness; export interface LaunchMetadataPendingStampOptions { harness: LaunchMetadataPendingStampHarness; cwd: string; enrichment: Record; sessionDirHint?: string; spawnStartTs?: string; spawnerPid?: number; } export interface LaunchMetadataIngestOptions { harness: LaunchMetadataIngestHarness; } export interface LaunchMetadataBackendLike { writePendingStamp?: (opts: LaunchMetadataPendingStampOptions) => unknown | Promise; ingest?: (opts?: LaunchMetadataIngestOptions) => unknown | Promise; } export interface LaunchMetadataStartOptions { selection: Pick; personaSpec: unknown; personaSource: string; cwd: string; noLaunchMetadata?: boolean; env?: NodeJS.ProcessEnv; sdk?: LaunchMetadataBackendLike | (() => Promise); intervalMs?: number; now?: () => Date; onWarn?: (message: string) => void; } export interface LaunchMetadataRun { readonly enabled: boolean; readonly metadata: Record; stop(): Promise; } export declare function shouldRecordLaunchMetadata(input: { noLaunchMetadata?: boolean; env?: NodeJS.ProcessEnv; }): boolean; export declare function canonicalJson(value: unknown): string; export declare function personaVersionHash(personaSpec: unknown): string; export declare function personaVersionShort(personaSpec: unknown): string; export declare function buildLaunchMetadata(input: { selection: Pick; personaSpec: unknown; personaSource: string; /** * PID of the launching CLI process. Folded into the enrichment so * `exportStamps` consumers can disambiguate concurrent launches of * the same persona — `writePendingStamp`'s top-level `spawnerPid` * field doesn't survive ingest reconciliation, but enrichment does. */ spawnerPid?: number; }): Record; export declare function launchMetadataIngestHarness(harness: Harness): LaunchMetadataIngestHarness; export declare function launchMetadataSessionDirHint(harness: Harness): string | undefined; export declare function startLaunchMetadataRecording(options: LaunchMetadataStartOptions): Promise; //# sourceMappingURL=launch-metadata.d.ts.map