| 1 | import type { CanonicalProjectNodeFields } from "./sessionLifecycleBindings"; |
| 2 | import type { RemoteProjectNodeFields } from "./remoteTypes"; |
| 3 | import type { ProjectTopicStatus } from "./types"; |
| 4 | export interface ProjectNode extends RemoteProjectNodeFields, CanonicalProjectNodeFields { |
| 5 | key: string; |
| 6 | kind: "project" | "topic" | "session" | "global_folder" | "global_topic" | "global_session"; |
| 7 | label: string; |
| 8 | root?: string; |
| 9 | topicId?: string; |
| 10 | parentSession?: import("./sessionRef").SessionRef; |
| 11 | sessionOrigin?: string; |
| 12 | recoveryPath?: string; |
| 13 | sessionPath?: string; |
| 14 | source?: import("../generated/desktopContract.generated").SessionSourceRef; |
| 15 | historical?: boolean; |
| 16 | historicalBranch?: boolean; |
| 17 | preparationStatus?: string; |
| 18 | identityAliases?: string[]; |
| 19 | lifecycleGeneration?: number; |
| 20 | tabId?: string; |
| 21 | preview?: string; |
| 22 | projectColor?: string; |
| 23 | turns?: number; |
| 24 | turnsState?: "unknown" | "valid" | "corrupt" | string; |
| 25 | health?: "ok" | "missing" | "corrupt" | "degraded" | string; |
| 26 | createdAt?: number; |
| 27 | lastActivityAt?: number; |
| 28 | resultSequence?: number; |
| 29 | open?: boolean; |
| 30 | running?: boolean; |
| 31 | status?: ProjectTopicStatus; |
| 32 | pinned?: boolean; |
| 33 | sortOrder?: number; |
| 34 | recovered?: boolean; |
| 35 | recoveryReason?: string; |
| 36 | recoveryDigest?: string; |
| 37 | recoveryParentId?: string; |
| 38 | recoveryState?: "normal" | "repairing" | "adopted" | "preferred" | "diverged" | "recovery_only" | string; |
| 39 | recoveryBranchCount?: number; |
| 40 | recoveryUnresolvedCount?: number; |
| 41 | recoveryCleanupEligibleCount?: number; |
| 42 | recoveryCopyCount?: number; // Deprecated: ordinary trees hide physical copies. |
| 43 | isolatedWorktree?: boolean; |
| 44 | runtimeOnly?: boolean; |
| 45 | children?: ProjectNode[]; |
| 46 | } |
| 47 |