| author | |
| committer | |
| log | 1683ee7b112dce0886b354a3fff7c8625bf95d7e |
| tree | 2b105755851b1904d119cb64f688e24967ca4696 |
| parent | e6575c41491c001f08c8bd9424dc71aa1e89c103 |
Co-authored-by: codex <codex@users.noreply.github.com>4 files changed, 8 insertions(+), 24 deletions(-)
apps/web/src/components/ChatView.browser.tsx+4-6| ... | ... | @@ -6,7 +6,6 @@ import { |
| 6 | 6 | type MessageId, |
| 7 | 7 | type OrchestrationReadModel, |
| 8 | 8 | type ProjectId, |
| 9 | type ProviderSessionId, | |
| 10 | 9 | type ServerConfig, |
| 11 | 10 | type ThreadId, |
| 12 | 11 | type WsWelcomePayload, |
| ... | ... | @@ -204,6 +203,8 @@ function createSnapshotForTargetUser(options: { |
| 204 | 203 | projectId: PROJECT_ID, |
| 205 | 204 | title: "Browser test thread", |
| 206 | 205 | model: "gpt-5", |
| 206 | interactionMode: "default", | |
| 207 | runtimeMode: "full-access", | |
| 207 | 208 | branch: "main", |
| 208 | 209 | worktreePath: null, |
| 209 | 210 | latestTurn: null, |
| ... | ... | @@ -212,15 +213,13 @@ function createSnapshotForTargetUser(options: { |
| 212 | 213 | deletedAt: null, |
| 213 | 214 | messages, |
| 214 | 215 | activities: [], |
| 216 | proposedPlans: [], | |
| 215 | 217 | checkpoints: [], |
| 216 | 218 | session: { |
| 217 | 219 | threadId: THREAD_ID, |
| 218 | 220 | status: "ready", |
| 219 | 221 | providerName: "codex", |
| 220 | providerSessionId: "session-1" as ProviderSessionId, | |
| 221 | providerThreadId: null, | |
| 222 | approvalPolicy: "on-failure", | |
| 223 | sandboxMode: "workspace-write", | |
| 222 | runtimeMode: "full-access", | |
| 224 | 223 | activeTurnId: null, |
| 225 | 224 | lastError: null, |
| 226 | 225 | updatedAt: NOW_ISO, |
| ... | ... | @@ -552,7 +551,6 @@ describe("ChatView timeline estimator parity (full app)", () => { |
| 552 | 551 | projects: [], |
| 553 | 552 | threads: [], |
| 554 | 553 | threadsHydrated: false, |
| 555 | runtimeMode: "full-access", | |
| 556 | 554 | }); |
| 557 | 555 | }); |
| 558 | 556 |
apps/web/src/components/ChatView.tsx-14| ... | ... | @@ -4716,20 +4716,6 @@ type TimelineRow = |
| 4716 | 4716 | } |
| 4717 | 4717 | | { kind: "working"; id: string; createdAt: string | null }; |
| 4718 | 4718 | |
| 4719 | function estimateTimelineMessageHeight(message: TimelineMessage): number { | |
| 4720 | const textLength = message.text.length; | |
| 4721 | if (message.role === "assistant") { | |
| 4722 | const estimatedLines = Math.max(1, Math.ceil(textLength / 72)); | |
| 4723 | return 78 + Math.min(estimatedLines * 22, 820); | |
| 4724 | } | |
| 4725 | ||
| 4726 | const estimatedLines = Math.max(1, Math.ceil(textLength / 56)); | |
| 4727 | const attachmentCount = message.attachments?.length ?? 0; | |
| 4728 | const attachmentRows = Math.ceil(attachmentCount / 2); | |
| 4729 | const attachmentHeight = attachmentRows * 124; | |
| 4730 | return 96 + Math.min(estimatedLines * 22, 620) + attachmentHeight; | |
| 4731 | } | |
| 4732 | ||
| 4733 | 4719 | function estimateTimelineProposedPlanHeight(proposedPlan: TimelineProposedPlan): number { |
| 4734 | 4720 | const estimatedLines = Math.max(1, Math.ceil(proposedPlan.planMarkdown.length / 72)); |
| 4735 | 4721 | return 120 + Math.min(estimatedLines * 22, 880); |
packages/contracts/src/orchestration.ts+3-3| ... | ... | @@ -263,7 +263,7 @@ export const OrchestrationReadModel = Schema.Struct({ |
| 263 | 263 | }); |
| 264 | 264 | export type OrchestrationReadModel = typeof OrchestrationReadModel.Type; |
| 265 | 265 | |
| 266 | const ProjectCreateCommand = Schema.Struct({ | |
| 266 | export const ProjectCreateCommand = Schema.Struct({ | |
| 267 | 267 | type: Schema.Literal("project.create"), |
| 268 | 268 | commandId: CommandId, |
| 269 | 269 | projectId: ProjectId, |
| ... | ... | @@ -337,7 +337,7 @@ const ThreadInteractionModeSetCommand = Schema.Struct({ |
| 337 | 337 | createdAt: IsoDateTime, |
| 338 | 338 | }); |
| 339 | 339 | |
| 340 | const ThreadTurnStartCommand = Schema.Struct({ | |
| 340 | export const ThreadTurnStartCommand = Schema.Struct({ | |
| 341 | 341 | type: Schema.Literal("thread.turn.start"), |
| 342 | 342 | commandId: CommandId, |
| 343 | 343 | threadId: ThreadId, |
| ... | ... | @@ -980,7 +980,7 @@ export const TurnCountRange = Schema.Struct({ |
| 980 | 980 | ), |
| 981 | 981 | ); |
| 982 | 982 | |
| 983 | const ThreadTurnDiff = TurnCountRange.mapFields( | |
| 983 | export const ThreadTurnDiff = TurnCountRange.mapFields( | |
| 984 | 984 | Struct.assign({ |
| 985 | 985 | threadId: ThreadId, |
| 986 | 986 | diff: Schema.String, |
packages/contracts/src/terminal.ts+1-1| ... | ... | @@ -23,7 +23,7 @@ const TerminalIdWithDefaultSchema = TerminalIdSchema.pipe( |
| 23 | 23 | Schema.withDecodingDefault(() => DEFAULT_TERMINAL_ID), |
| 24 | 24 | ); |
| 25 | 25 | |
| 26 | const TerminalThreadInput = Schema.Struct({ | |
| 26 | export const TerminalThreadInput = Schema.Struct({ | |
| 27 | 27 | threadId: TrimmedNonEmptyStringSchema, |
| 28 | 28 | }); |
| 29 | 29 | export type TerminalThreadInput = Schema.Codec.Encoded<typeof TerminalThreadInput>; |