| 1 | import { |
| 2 | ProjectId, |
| 3 | ProviderInstanceId, |
| 4 | ThreadId, |
| 5 | type OrchestrationProjectShell, |
| 6 | type OrchestrationV2ShellSnapshot, |
| 7 | type OrchestrationV2ThreadProjection, |
| 8 | type OrchestrationV2ThreadShell, |
| 9 | } from "@t3tools/contracts"; |
| 10 | import * as DateTime from "effect/DateTime"; |
| 11 | |
| 12 | export const v2Now = DateTime.makeUnsafe("2026-06-20T00:00:00.000Z"); |
| 13 | const v2ProjectId = ProjectId.make("project-v2"); |
| 14 | export const v2ThreadId = ThreadId.make("thread-v2"); |
| 15 | const v2ProviderInstanceId = ProviderInstanceId.make("codex"); |
| 16 | |
| 17 | export const v2Project: OrchestrationProjectShell = { |
| 18 | id: v2ProjectId, |
| 19 | title: "Project", |
| 20 | workspaceRoot: "/workspace/project", |
| 21 | repositoryIdentity: null, |
| 22 | defaultModelSelection: null, |
| 23 | scripts: [], |
| 24 | createdAt: "2026-06-20T00:00:00.000Z", |
| 25 | updatedAt: "2026-06-20T00:00:00.000Z", |
| 26 | }; |
| 27 | |
| 28 | export const v2ThreadShell: OrchestrationV2ThreadShell = { |
| 29 | id: v2ThreadId, |
| 30 | projectId: v2ProjectId, |
| 31 | title: "Thread", |
| 32 | providerInstanceId: v2ProviderInstanceId, |
| 33 | modelSelection: { instanceId: v2ProviderInstanceId, model: "gpt-5.4" }, |
| 34 | runtimeMode: "full-access", |
| 35 | interactionMode: "default", |
| 36 | branch: null, |
| 37 | worktreePath: null, |
| 38 | activeProviderThreadId: null, |
| 39 | lineage: { rootThreadId: v2ThreadId, parentThreadId: null, relationshipToParent: null }, |
| 40 | forkedFrom: null, |
| 41 | createdBy: "user", |
| 42 | creationSource: "web", |
| 43 | latestRunId: null, |
| 44 | activeRunId: null, |
| 45 | status: "idle", |
| 46 | pendingRuntimeRequest: null, |
| 47 | latestVisibleMessage: null, |
| 48 | latestUserMessageAt: null, |
| 49 | hasActionableProposedPlan: false, |
| 50 | itemCount: 0, |
| 51 | visibleItemCount: 0, |
| 52 | createdAt: v2Now, |
| 53 | updatedAt: v2Now, |
| 54 | archivedAt: null, |
| 55 | settledOverride: null, |
| 56 | settledAt: null, |
| 57 | lastVisitedAt: null, |
| 58 | deletedAt: null, |
| 59 | }; |
| 60 | |
| 61 | export const v2Projection: OrchestrationV2ThreadProjection = { |
| 62 | thread: { |
| 63 | id: v2ThreadShell.id, |
| 64 | projectId: v2ThreadShell.projectId, |
| 65 | title: v2ThreadShell.title, |
| 66 | providerInstanceId: v2ThreadShell.providerInstanceId, |
| 67 | modelSelection: v2ThreadShell.modelSelection, |
| 68 | runtimeMode: v2ThreadShell.runtimeMode, |
| 69 | interactionMode: v2ThreadShell.interactionMode, |
| 70 | branch: v2ThreadShell.branch, |
| 71 | worktreePath: v2ThreadShell.worktreePath, |
| 72 | activeProviderThreadId: v2ThreadShell.activeProviderThreadId, |
| 73 | lineage: v2ThreadShell.lineage, |
| 74 | forkedFrom: v2ThreadShell.forkedFrom, |
| 75 | createdBy: v2ThreadShell.createdBy, |
| 76 | creationSource: v2ThreadShell.creationSource, |
| 77 | createdAt: v2Now, |
| 78 | updatedAt: v2Now, |
| 79 | archivedAt: null, |
| 80 | settledOverride: null, |
| 81 | settledAt: null, |
| 82 | lastVisitedAt: null, |
| 83 | deletedAt: null, |
| 84 | }, |
| 85 | runs: [], |
| 86 | attempts: [], |
| 87 | nodes: [], |
| 88 | subagents: [], |
| 89 | providerSessions: [], |
| 90 | providerThreads: [], |
| 91 | providerTurns: [], |
| 92 | runtimeRequests: [], |
| 93 | messages: [], |
| 94 | plans: [], |
| 95 | turnItems: [], |
| 96 | checkpointScopes: [], |
| 97 | checkpoints: [], |
| 98 | contextHandoffs: [], |
| 99 | contextTransfers: [], |
| 100 | visibleTurnItems: [], |
| 101 | updatedAt: v2Now, |
| 102 | }; |
| 103 | |
| 104 | export const v2ShellSnapshot: OrchestrationV2ShellSnapshot = { |
| 105 | schemaVersion: 1, |
| 106 | snapshotSequence: 0, |
| 107 | projects: [v2Project], |
| 108 | threads: [v2ThreadShell], |
| 109 | archivedThreads: [], |
| 110 | }; |