import type { NativeLocalExecutionState, NativePortableAcceptanceResult, NativePortableBlockerState, NativePortableCheckSummary, NativePortableHistoryEntry, NativePortableHistoryOverflow, NativePortablePhase, NativePortableSpecChange, NativePortableState, NativePortableStatus, NativePortableText, NativePortableVerificationAssurance, NativePortableVerificationResult } from '../comet-native/native-portable-types.js'; import type { NativeChildDerivedStatus } from '../comet-native/native-children.js'; import type { DashboardWorkspaceIdentity } from './workspace.js'; export declare const NATIVE_DASHBOARD_SCHEMA: "comet.dashboard.native.v2"; export declare const NATIVE_DASHBOARD_LIMITS: Readonly<{ maxChanges: 32; maxArtifactPreviews: 8; maxArtifactPreviewBytes: number; maxCapabilities: 8; maxSerializedBytes: number; }>; export type NativeDashboardMigrationStatus = 'none' | 'required' | 'failed' | 'legacy-read-only' | 'invalid'; export type NativeDashboardLocalExecutionReason = 'current' | 'idle' | 'missing' | 'version-mismatch' | 'invalid' | 'archived'; export interface NativeDashboardArtifactPreview { key: string; label: string; path: string; exists: boolean; content?: string; truncated?: boolean; size?: number; updatedAt?: string; } export interface NativeDashboardAcceptanceCounts { total: number; passed: number; failed: number; blocked: number; pending: number; } export interface NativeDashboardAcceptanceItem { id: string; source: string; text: string; result: NativePortableAcceptanceResult; reason: NativePortableText | null; } export interface NativeDashboardLoopSummary { stage: NativePortableState['loop']['stage']; goalCycle: number; iteration: number; attempt: number; nextAction: string | null; actor: 'builder' | 'runtime' | 'verifier' | null; } export interface NativeDashboardLocalCheckSummary { id: string; status: 'planned' | 'running' | 'passed' | 'failed' | 'interrupted'; startedAt: string | null; completedAt: string | null; logAvailable: boolean; } export interface NativeDashboardLocalExecutionSummary { status: 'running' | 'interrupted' | 'absent'; reason: NativeDashboardLocalExecutionReason; stage: 'building' | 'checking' | 'verifying' | 'archiving' | null; actor: 'builder' | 'runtime' | 'verifier' | null; startedAt: string | null; requestCheckRounds: number; checks: NativeDashboardLocalCheckSummary[]; recoverableFromStage: NativePortableState['loop']['stage'] | null; } export interface NativeDashboardSpecSummary { total: number; create: number; modify: number; remove: number; capabilities: Array>; capabilitiesTruncated: boolean; } export interface NativeDashboardVerificationSummary { verdict: 'pass' | 'fail' | 'blocked'; assurance: NativePortableVerificationAssurance; summary: NativePortableText; risks: NativePortableText[]; risksTruncated: boolean; completedAt: string; } export interface NativeDashboardBuilderHandoffSummary { iteration: number; summary: NativePortableText; addressedAcceptanceIds: string[]; checks: Array<{ name: NativePortableText; result: 'passed' | 'failed' | 'not-run'; note: NativePortableText | null; }>; checksTruncated: boolean; knownLimits: NativePortableText[]; knownLimitsTruncated: boolean; submittedAt: string; } export interface NativeDashboardBlockerSummary { owner: NativePortableBlockerState['owner']; reason: NativePortableText; acceptanceIds: string[]; resolutionAction: NativePortableBlockerState['resolution_action']; } export interface NativeDashboardCheckSummary { id: string; name: NativePortableText; status: NativePortableCheckSummary['status']; exitCode: number | null; durationMs: number; } export interface NativeDashboardHistorySummary { goalCycle: number; iteration: number; attempt: number; outcome: NativePortableHistoryEntry['outcome']; unresolvedIds: string[]; summary: NativePortableText; completedAt: string; } export interface NativeDashboardHistoryOverflowSummary { droppedEntries: number; firstDroppedAt: string | null; lastDroppedAt: string | null; outcomeCounts: NativePortableHistoryOverflow['outcome_counts']; } export interface NativeDashboardMigrationSummary { status: NativeDashboardMigrationStatus; message: string | null; } export interface NativeDashboardChildSummary { name: string; dependsOn: string[]; covers: string[]; status: NativeChildDerivedStatus; phase: NativePortablePhase | null; message: string | null; locator: string | null; changeStatus: 'active' | 'archived' | null; archiveName?: string; workspace: DashboardWorkspaceIdentity | null; } interface NativeDashboardChangeIdentity { workflow: 'native'; locator: string; workspace: DashboardWorkspaceIdentity; name: string; status: 'active' | 'archived'; archiveName?: string; archivedAt: string | null; phase: NativePortablePhase | 'invalid'; lifecycleStatus: NativePortableStatus | 'invalid'; stateVersion: number | null; legacy: boolean; migration: NativeDashboardMigrationSummary; loop: NativeDashboardLoopSummary | null; acceptance: NativeDashboardAcceptanceCounts | null; verificationResult: NativePortableVerificationResult; localExecution: NativeDashboardLocalExecutionSummary; children: NativeDashboardChildSummary[]; } export type NativeDashboardChangeListItem = NativeDashboardChangeIdentity; export interface NativeDashboardChangeProjection extends NativeDashboardChangeIdentity { artifacts: NativeDashboardArtifactPreview[]; specs: NativeDashboardSpecSummary; acceptanceItems: NativeDashboardAcceptanceItem[]; builderHandoff: NativeDashboardBuilderHandoffSummary | null; verification: NativeDashboardVerificationSummary | null; checks: NativeDashboardCheckSummary[]; blockers: NativeDashboardBlockerSummary[]; history: NativeDashboardHistorySummary[]; historyOverflow: NativeDashboardHistoryOverflowSummary; } export interface NativeDashboardProjection { schema: typeof NATIVE_DASHBOARD_SCHEMA; generatedAt: string; totalChangeCount: number; activeChangeCount?: number; archivedChangeCount?: number; visibleChangeCount: number; omittedChangeCount: number; changesTruncated: boolean; changes: NativeDashboardChangeProjection[]; } export interface NativeDashboardPortableInput { state: NativePortableState; status: 'active' | 'archived'; archiveName?: string; archivedAt?: string | null; artifacts?: NativeDashboardArtifactPreview[]; localExecution?: NativeLocalExecutionState | null; localExecutionReason?: NativeDashboardLocalExecutionReason; locator?: string; workspace?: DashboardWorkspaceIdentity; children?: NativeDashboardChildSummary[]; } export declare function adaptNativeDashboardListItem(input: NativeDashboardPortableInput): NativeDashboardChangeListItem; export declare function adaptNativeDashboardChange(input: NativeDashboardPortableInput): NativeDashboardChangeProjection; export declare function adaptNativeDashboardProjection(input: { generatedAt: string; changes: NativeDashboardChangeProjection[]; totalChangeCount?: number; activeChangeCount?: number; archivedChangeCount?: number; }): NativeDashboardProjection; export {}; //# sourceMappingURL=native-adapter.d.ts.map