Conversation
f3910d8 to
4af7356
Compare
|
Rebased onto |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR adds Codex cold-compressed rollout support across discovery, parsing, bridging, and native-chat transcript reading. It updates managed configuration mirroring, credentials storage, profile overlays, path rewriting, hooks, and WSL home handling. Startup behavior now uses explicit shell-ready delivery, dual composer readiness markers, image-aware launch planning, and retryable delivery attempts. Codex status detection, rate-limit mapping, slash commands, and native chat skill suggestion handling are also expanded. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
src/main/codex/codex-session-bridge.ts (1)
226-231: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueOptional: avoid redundant marker write in copy fallback path.
tryCopySystemCodexSessionFilewrites a marker forreplacementPath, then afterrenameSyncthe marker is rewritten fortargetPath. Since rename preserves file stats on the same filesystem, the first marker write is redundant. Consider splitting the copy and marker write so the marker is only written once against the final path.♻️ Suggested refactor
function tryCopySystemCodexSessionFile( sourcePath: string, targetPath: string, relativePath: string ): boolean { try { copyFileSync(sourcePath, targetPath) - writeLegacyCopiedSessionMarker(relativePath, sourcePath, targetPath) return true } catch (error) { console.warn('[codex-session-bridge] Failed to copy system Codex session:', sourcePath, error) return false } }Then update
linkSystemCodexSessionFileto write the marker after a successful copy:function linkSystemCodexSessionFile( sourcePath: string, targetPath: string, relativePath: string ): boolean { if (tryHardlinkSystemCodexSessionFile(sourcePath, targetPath)) { clearLegacyCopiedSessionMarker(relativePath) return true } - return tryCopySystemCodexSessionFile(sourcePath, targetPath, relativePath) + if (tryCopySystemCodexSessionFile(sourcePath, targetPath, relativePath)) { + writeLegacyCopiedSessionMarker(relativePath, sourcePath, targetPath) + return true + } + return false }And in
replaceSymlinkSessionBridgeWithHardlink, the secondwriteLegacyCopiedSessionMarkercall at line 230 would no longer be needed since the marker is written after the rename against the final path.src/shared/tui-agent-draft-launch.ts (2)
16-23: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value
startupCommandDeliveryis declared but never set inbuildAgentDraftLaunchPlan.The
AgentDraftLaunchPlantype includesstartupCommandDelivery?: StartupCommandDelivery, butbuildAgentDraftLaunchPlannever assigns it in either thedraftPromptFlagordraftPromptEnvVarbranch. If no caller augments the plan with this field, consider removing it to avoid confusion about whether draft launches can opt into shell-ready delivery.
25-58: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winImport the shared launch helpers instead of keeping duplicates
src/shared/tui-agent-startup.tsstill definesresolveBaseCommandandbuildSleepingAgentLaunchConfiglocally, so the extraction is incomplete and the two copies can drift. Move them tosrc/shared/tui-agent-draft-launch.tsand import them here.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 99c19ed2-dd94-46ad-85c9-f5bc32195dda
📥 Commits
Reviewing files that changed from the base of the PR and between 8adfef4 and f3910d8fac1d7d3451faa16c01c933a56fe0a245.
📒 Files selected for processing (78)
config/tsconfig.cli.jsonsrc/main/ai-vault/session-scanner-codex-item-completed.tssrc/main/ai-vault/session-scanner-codex-parser.test.tssrc/main/ai-vault/session-scanner-codex-parser.tssrc/main/ai-vault/session-scanner-codex-paths.tssrc/main/ai-vault/session-scanner-codex-record-consume.tssrc/main/ai-vault/session-scanner-codex-rollout-read.tssrc/main/ai-vault/session-scanner-parse-cache.tssrc/main/ai-vault/session-scanner-source-discovery.tssrc/main/codex-accounts/runtime-home-service.test.tssrc/main/codex-accounts/service.test.tssrc/main/codex-accounts/service.tssrc/main/codex/codex-config-hooks-feature-normalize.tssrc/main/codex/codex-config-mirror.test.tssrc/main/codex/codex-config-mirror.tssrc/main/codex/codex-config-path-reference-rewrite.tssrc/main/codex/codex-profile-v2-config-overlay-mirror.tssrc/main/codex/codex-session-bridge.test.tssrc/main/codex/codex-session-bridge.tssrc/main/codex/codex-session-copy-markers.tssrc/main/codex/codex-session-file-listing.tssrc/main/codex/config-toml-trust.tssrc/main/codex/hook-service.test.tssrc/main/codex/hook-service.tssrc/main/codex/wsl-codex-session-bridge.test.tssrc/main/codex/wsl-codex-session-bridge.tssrc/main/daemon/pty-subprocess.test.tssrc/main/ipc/pty.test.tssrc/main/native-chat/session-file-resolver.test.tssrc/main/native-chat/session-file-resolver.tssrc/main/native-chat/transcript-codex-turn-items.tssrc/main/native-chat/transcript-line-decoders.tssrc/main/native-chat/transcript-reader.test.tssrc/main/native-chat/transcript-reader.tssrc/main/pty/codex-home-wsl-env.test.tssrc/main/pty/codex-home-wsl-env.tssrc/main/rate-limits/codex-auth-presence.tssrc/main/rate-limits/codex-fetcher-auth-errors.test.tssrc/main/rate-limits/codex-fetcher-pty-settle.test.tssrc/main/rate-limits/codex-fetcher.test.tssrc/main/rate-limits/codex-fetcher.tssrc/main/runtime/orca-runtime.test.tssrc/relay/pty-handler.test.tssrc/renderer/src/components/native-chat/NativeChatComposer.tsxsrc/renderer/src/components/native-chat/native-chat-composer-state.test.tssrc/renderer/src/components/native-chat/native-chat-composer-state.tssrc/renderer/src/components/native-chat/use-native-chat-composer-keydown.tssrc/renderer/src/components/right-sidebar/source-control-manual-review-url.tssrc/renderer/src/components/settings/codex-session-source-home-control.tsxsrc/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.test.tssrc/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.tssrc/renderer/src/components/terminal-pane/pty-connection.test.tssrc/renderer/src/lib/agent-paste-draft.test.tssrc/renderer/src/lib/agent-paste-draft.tssrc/renderer/src/lib/agent-startup-delayed-delivery.tssrc/renderer/src/lib/agent-status.test.tssrc/renderer/src/lib/launch-agent-background-session.test.tssrc/renderer/src/lib/new-workspace.tssrc/renderer/src/lib/tui-agent-startup.test.tssrc/shared/agent-detection.test.tssrc/shared/agent-detection.tssrc/shared/agent-hook-listener.test.tssrc/shared/agent-hook-listener.tssrc/shared/codex-startup-delivery.test.tssrc/shared/codex-startup-delivery.tssrc/shared/draft-paste-ready-scanner.test.tssrc/shared/draft-paste-ready-scanner.tssrc/shared/native-chat-slash-commands.test.tssrc/shared/native-chat-slash-commands.tssrc/shared/rate-limit-types.tssrc/shared/terminal-title-status.tssrc/shared/tui-agent-config.tssrc/shared/tui-agent-draft-launch.tssrc/shared/tui-agent-permissions.test.tssrc/shared/tui-agent-permissions.tssrc/shared/tui-agent-startup-codex-launch.tssrc/shared/tui-agent-startup.test.tssrc/shared/tui-agent-startup.ts
7328465 to
352af13
Compare
|
Rebased onto latest |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 77cd4e74-888f-400d-ab29-db81ffee8860
📥 Commits
Reviewing files that changed from the base of the PR and between 7328465389a8cd1fdaa2ed7a97ce3e2c0d76a7c8 and 352af1335b041b89e9ac2d561ae782bbf8e3b250.
📒 Files selected for processing (78)
config/tsconfig.cli.jsonsrc/main/ai-vault/session-scanner-codex-item-completed.tssrc/main/ai-vault/session-scanner-codex-parser.test.tssrc/main/ai-vault/session-scanner-codex-parser.tssrc/main/ai-vault/session-scanner-codex-paths.tssrc/main/ai-vault/session-scanner-codex-record-consume.tssrc/main/ai-vault/session-scanner-codex-rollout-read.tssrc/main/ai-vault/session-scanner-parse-cache.tssrc/main/ai-vault/session-scanner-source-discovery.tssrc/main/codex-accounts/runtime-home-service.test.tssrc/main/codex-accounts/service.test.tssrc/main/codex-accounts/service.tssrc/main/codex/codex-config-hooks-feature-normalize.tssrc/main/codex/codex-config-mirror.test.tssrc/main/codex/codex-config-mirror.tssrc/main/codex/codex-config-path-reference-rewrite.tssrc/main/codex/codex-hook-identity.tssrc/main/codex/codex-profile-v2-config-overlay-mirror.tssrc/main/codex/codex-session-bridge.test.tssrc/main/codex/codex-session-bridge.tssrc/main/codex/codex-session-copy-markers.tssrc/main/codex/codex-session-file-listing.tssrc/main/codex/config-toml-trust.tssrc/main/codex/hook-service.test.tssrc/main/codex/hook-service.tssrc/main/codex/wsl-codex-session-bridge.test.tssrc/main/codex/wsl-codex-session-bridge.tssrc/main/daemon/pty-subprocess.test.tssrc/main/ipc/pty.test.tssrc/main/native-chat/session-file-resolver.test.tssrc/main/native-chat/session-file-resolver.tssrc/main/native-chat/transcript-codex-turn-items.tssrc/main/native-chat/transcript-line-decoders.tssrc/main/native-chat/transcript-reader.test.tssrc/main/native-chat/transcript-reader.tssrc/main/pty/codex-home-wsl-env.test.tssrc/main/pty/codex-home-wsl-env.tssrc/main/rate-limits/codex-auth-presence.tssrc/main/rate-limits/codex-fetcher-auth-errors.test.tssrc/main/rate-limits/codex-fetcher-pty-settle.test.tssrc/main/rate-limits/codex-fetcher.test.tssrc/main/rate-limits/codex-fetcher.tssrc/main/runtime/orca-runtime.test.tssrc/relay/pty-handler.test.tssrc/renderer/src/components/native-chat/NativeChatComposer.tsxsrc/renderer/src/components/native-chat/native-chat-composer-state.test.tssrc/renderer/src/components/native-chat/native-chat-composer-state.tssrc/renderer/src/components/native-chat/use-native-chat-composer-keydown.tssrc/renderer/src/components/settings/codex-session-source-home-control.tsxsrc/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.test.tssrc/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.tssrc/renderer/src/components/terminal-pane/pty-connection.test.tssrc/renderer/src/lib/agent-paste-draft.test.tssrc/renderer/src/lib/agent-paste-draft.tssrc/renderer/src/lib/agent-startup-delayed-delivery.tssrc/renderer/src/lib/agent-status.test.tssrc/renderer/src/lib/launch-agent-background-session.test.tssrc/renderer/src/lib/new-workspace.tssrc/renderer/src/lib/tui-agent-startup.test.tssrc/shared/agent-detection.test.tssrc/shared/agent-detection.tssrc/shared/agent-hook-listener.test.tssrc/shared/agent-hook-listener.tssrc/shared/codex-startup-delivery.test.tssrc/shared/codex-startup-delivery.tssrc/shared/draft-paste-ready-scanner.test.tssrc/shared/draft-paste-ready-scanner.tssrc/shared/native-chat-slash-commands.test.tssrc/shared/native-chat-slash-commands.tssrc/shared/rate-limit-types.tssrc/shared/terminal-title-status.tssrc/shared/tui-agent-config.tssrc/shared/tui-agent-draft-launch.tssrc/shared/tui-agent-permissions.test.tssrc/shared/tui-agent-permissions.tssrc/shared/tui-agent-startup-codex-launch.tssrc/shared/tui-agent-startup.test.tssrc/shared/tui-agent-startup.ts
✅ Files skipped from review due to trivial changes (4)
- src/renderer/src/components/settings/codex-session-source-home-control.tsx
- src/shared/tui-agent-config.ts
- src/shared/rate-limit-types.ts
- src/main/rate-limits/codex-auth-presence.ts
🚧 Files skipped from review as they are similar to previous changes (70)
- src/main/runtime/orca-runtime.test.ts
- src/shared/tui-agent-permissions.test.ts
- config/tsconfig.cli.json
- src/main/codex-accounts/service.ts
- src/main/ai-vault/session-scanner-codex-item-completed.ts
- src/main/codex/wsl-codex-session-bridge.test.ts
- src/renderer/src/lib/agent-status.test.ts
- src/main/codex/codex-hook-identity.ts
- src/main/pty/codex-home-wsl-env.test.ts
- src/main/native-chat/session-file-resolver.test.ts
- src/main/ai-vault/session-scanner-parse-cache.ts
- src/main/codex/config-toml-trust.ts
- src/renderer/src/lib/new-workspace.ts
- src/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.ts
- src/main/codex/codex-config-path-reference-rewrite.ts
- src/main/rate-limits/codex-fetcher-auth-errors.test.ts
- src/main/daemon/pty-subprocess.test.ts
- src/renderer/src/lib/tui-agent-startup.test.ts
- src/main/native-chat/session-file-resolver.ts
- src/main/native-chat/transcript-reader.test.ts
- src/shared/tui-agent-startup.test.ts
- src/main/rate-limits/codex-fetcher-pty-settle.test.ts
- src/renderer/src/components/native-chat/NativeChatComposer.tsx
- src/main/codex/codex-config-hooks-feature-normalize.ts
- src/main/codex/codex-profile-v2-config-overlay-mirror.ts
- src/main/codex-accounts/runtime-home-service.test.ts
- src/renderer/src/components/native-chat/use-native-chat-composer-keydown.ts
- src/shared/draft-paste-ready-scanner.test.ts
- src/shared/native-chat-slash-commands.test.ts
- src/main/ipc/pty.test.ts
- src/shared/agent-detection.ts
- src/main/ai-vault/session-scanner-source-discovery.ts
- src/main/native-chat/transcript-reader.ts
- src/renderer/src/lib/agent-paste-draft.ts
- src/main/codex/codex-session-file-listing.ts
- src/renderer/src/components/native-chat/native-chat-composer-state.test.ts
- src/shared/agent-detection.test.ts
- src/main/codex/hook-service.test.ts
- src/shared/codex-startup-delivery.ts
- src/main/native-chat/transcript-codex-turn-items.ts
- src/shared/terminal-title-status.ts
- src/main/codex/hook-service.ts
- src/main/ai-vault/session-scanner-codex-paths.ts
- src/main/pty/codex-home-wsl-env.ts
- src/relay/pty-handler.test.ts
- src/shared/agent-hook-listener.test.ts
- src/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.test.ts
- src/main/codex/codex-session-copy-markers.ts
- src/shared/codex-startup-delivery.test.ts
- src/renderer/src/lib/launch-agent-background-session.test.ts
- src/main/native-chat/transcript-line-decoders.ts
- src/main/rate-limits/codex-fetcher.test.ts
- src/main/ai-vault/session-scanner-codex-rollout-read.ts
- src/renderer/src/lib/agent-paste-draft.test.ts
- src/shared/tui-agent-draft-launch.ts
- src/main/ai-vault/session-scanner-codex-parser.test.ts
- src/shared/tui-agent-permissions.ts
- src/shared/native-chat-slash-commands.ts
- src/shared/agent-hook-listener.ts
- src/main/codex-accounts/service.test.ts
- src/main/ai-vault/session-scanner-codex-parser.ts
- src/renderer/src/components/terminal-pane/pty-connection.test.ts
- src/main/ai-vault/session-scanner-codex-record-consume.ts
- src/main/codex/codex-config-mirror.test.ts
- src/renderer/src/components/native-chat/native-chat-composer-state.ts
- src/renderer/src/lib/agent-startup-delayed-delivery.ts
- src/main/codex/codex-session-bridge.test.ts
- src/main/codex/codex-session-bridge.ts
- src/shared/tui-agent-startup.ts
- src/shared/draft-paste-ready-scanner.ts
4a3af1d to
eac09eb
Compare
There was a problem hiding this comment.
Actionable comments posted: 5
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 1994f0fe-d64a-4576-b23c-9ed8e3f2e9f0
📥 Commits
Reviewing files that changed from the base of the PR and between 4a3af1dee88b403e9b839fb33f42bdf5a53ddccb and eac09ebc58ab17bd41424dbc20ae385a80a61e00.
📒 Files selected for processing (78)
config/tsconfig.cli.jsonsrc/main/ai-vault/session-scanner-codex-item-completed.tssrc/main/ai-vault/session-scanner-codex-parser.test.tssrc/main/ai-vault/session-scanner-codex-parser.tssrc/main/ai-vault/session-scanner-codex-paths.tssrc/main/ai-vault/session-scanner-codex-record-consume.tssrc/main/ai-vault/session-scanner-codex-rollout-read.tssrc/main/ai-vault/session-scanner-parse-cache.tssrc/main/ai-vault/session-scanner-source-discovery.tssrc/main/codex-accounts/runtime-home-service.test.tssrc/main/codex-accounts/service.test.tssrc/main/codex-accounts/service.tssrc/main/codex/codex-config-hooks-feature-normalize.tssrc/main/codex/codex-config-mirror.test.tssrc/main/codex/codex-config-mirror.tssrc/main/codex/codex-config-path-reference-rewrite.tssrc/main/codex/codex-hook-identity.tssrc/main/codex/codex-profile-v2-config-overlay-mirror.tssrc/main/codex/codex-session-bridge.test.tssrc/main/codex/codex-session-bridge.tssrc/main/codex/codex-session-copy-markers.tssrc/main/codex/codex-session-file-listing.tssrc/main/codex/config-toml-trust.tssrc/main/codex/hook-service.test.tssrc/main/codex/hook-service.tssrc/main/codex/wsl-codex-session-bridge.test.tssrc/main/codex/wsl-codex-session-bridge.tssrc/main/daemon/pty-subprocess.test.tssrc/main/ipc/pty.test.tssrc/main/native-chat/session-file-resolver.test.tssrc/main/native-chat/session-file-resolver.tssrc/main/native-chat/transcript-codex-turn-items.tssrc/main/native-chat/transcript-line-decoders.tssrc/main/native-chat/transcript-reader.test.tssrc/main/native-chat/transcript-reader.tssrc/main/pty/codex-home-wsl-env.test.tssrc/main/pty/codex-home-wsl-env.tssrc/main/rate-limits/codex-auth-presence.tssrc/main/rate-limits/codex-fetcher-auth-errors.test.tssrc/main/rate-limits/codex-fetcher-pty-settle.test.tssrc/main/rate-limits/codex-fetcher.test.tssrc/main/rate-limits/codex-fetcher.tssrc/main/runtime/orca-runtime.test.tssrc/relay/pty-handler.test.tssrc/renderer/src/components/native-chat/NativeChatComposer.tsxsrc/renderer/src/components/native-chat/native-chat-composer-state.test.tssrc/renderer/src/components/native-chat/native-chat-composer-state.tssrc/renderer/src/components/native-chat/use-native-chat-composer-keydown.tssrc/renderer/src/components/settings/codex-session-source-home-control.tsxsrc/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.test.tssrc/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.tssrc/renderer/src/components/terminal-pane/pty-connection.test.tssrc/renderer/src/lib/agent-paste-draft.test.tssrc/renderer/src/lib/agent-paste-draft.tssrc/renderer/src/lib/agent-startup-delayed-delivery.tssrc/renderer/src/lib/agent-status.test.tssrc/renderer/src/lib/launch-agent-background-session.test.tssrc/renderer/src/lib/new-workspace.tssrc/renderer/src/lib/tui-agent-startup.test.tssrc/shared/agent-detection.test.tssrc/shared/agent-detection.tssrc/shared/agent-hook-listener.test.tssrc/shared/agent-hook-listener.tssrc/shared/codex-startup-delivery.test.tssrc/shared/codex-startup-delivery.tssrc/shared/draft-paste-ready-scanner.test.tssrc/shared/draft-paste-ready-scanner.tssrc/shared/native-chat-slash-commands.test.tssrc/shared/native-chat-slash-commands.tssrc/shared/rate-limit-types.tssrc/shared/terminal-title-status.tssrc/shared/tui-agent-config.tssrc/shared/tui-agent-draft-launch.tssrc/shared/tui-agent-permissions.test.tssrc/shared/tui-agent-permissions.tssrc/shared/tui-agent-startup-codex-launch.tssrc/shared/tui-agent-startup.test.tssrc/shared/tui-agent-startup.ts
✅ Files skipped from review due to trivial changes (5)
- src/main/rate-limits/codex-auth-presence.ts
- src/renderer/src/components/settings/codex-session-source-home-control.tsx
- src/shared/tui-agent-config.ts
- src/shared/rate-limit-types.ts
- config/tsconfig.cli.json
🚧 Files skipped from review as they are similar to previous changes (69)
- src/shared/agent-detection.test.ts
- src/main/native-chat/transcript-reader.ts
- src/renderer/src/lib/agent-status.test.ts
- src/renderer/src/components/native-chat/NativeChatComposer.tsx
- src/shared/agent-detection.ts
- src/renderer/src/components/native-chat/use-native-chat-composer-keydown.ts
- src/shared/native-chat-slash-commands.test.ts
- src/main/native-chat/transcript-reader.test.ts
- src/renderer/src/lib/agent-startup-delayed-delivery.ts
- src/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.ts
- src/main/codex/codex-hook-identity.ts
- src/renderer/src/lib/launch-agent-background-session.test.ts
- src/shared/codex-startup-delivery.test.ts
- src/main/codex-accounts/service.ts
- src/main/codex/codex-profile-v2-config-overlay-mirror.ts
- src/main/ai-vault/session-scanner-parse-cache.ts
- src/main/ai-vault/session-scanner-codex-item-completed.ts
- src/main/runtime/orca-runtime.test.ts
- src/renderer/src/lib/tui-agent-startup.test.ts
- src/main/codex/wsl-codex-session-bridge.test.ts
- src/main/ai-vault/session-scanner-source-discovery.ts
- src/relay/pty-handler.test.ts
- src/shared/native-chat-slash-commands.ts
- src/main/rate-limits/codex-fetcher-pty-settle.test.ts
- src/main/ai-vault/session-scanner-codex-rollout-read.ts
- src/main/pty/codex-home-wsl-env.test.ts
- src/shared/draft-paste-ready-scanner.test.ts
- src/shared/tui-agent-permissions.test.ts
- src/shared/tui-agent-permissions.ts
- src/main/codex/config-toml-trust.ts
- src/shared/tui-agent-startup.test.ts
- src/main/codex/codex-config-path-reference-rewrite.ts
- src/main/ai-vault/session-scanner-codex-parser.test.ts
- src/shared/codex-startup-delivery.ts
- src/renderer/src/lib/agent-paste-draft.ts
- src/main/rate-limits/codex-fetcher-auth-errors.test.ts
- src/main/native-chat/session-file-resolver.test.ts
- src/main/ipc/pty.test.ts
- src/main/ai-vault/session-scanner-codex-paths.ts
- src/shared/terminal-title-status.ts
- src/main/codex/hook-service.ts
- src/main/native-chat/transcript-codex-turn-items.ts
- src/main/native-chat/transcript-line-decoders.ts
- src/main/codex/codex-session-file-listing.ts
- src/shared/tui-agent-startup-codex-launch.ts
- src/main/codex/codex-session-copy-markers.ts
- src/main/codex-accounts/runtime-home-service.test.ts
- src/main/codex/codex-config-hooks-feature-normalize.ts
- src/renderer/src/components/native-chat/native-chat-composer-state.test.ts
- src/main/codex/hook-service.test.ts
- src/renderer/src/lib/new-workspace.ts
- src/main/pty/codex-home-wsl-env.ts
- src/renderer/src/components/native-chat/native-chat-composer-state.ts
- src/shared/tui-agent-draft-launch.ts
- src/shared/draft-paste-ready-scanner.ts
- src/shared/agent-hook-listener.test.ts
- src/main/rate-limits/codex-fetcher.test.ts
- src/main/native-chat/session-file-resolver.ts
- src/renderer/src/lib/agent-paste-draft.test.ts
- src/renderer/src/components/terminal-pane/pty-connection.test.ts
- src/main/ai-vault/session-scanner-codex-record-consume.ts
- src/main/daemon/pty-subprocess.test.ts
- src/shared/agent-hook-listener.ts
- src/renderer/src/components/terminal-pane/codex-auto-approval-notification-suppression.test.ts
- src/shared/tui-agent-startup.ts
- src/main/ai-vault/session-scanner-codex-parser.ts
- src/main/codex/codex-config-mirror.test.ts
- src/main/codex-accounts/service.test.ts
- src/main/codex/codex-session-bridge.ts
|
Merged latest |
|
Merged latest |
|
Merged latest |
|
Resolved conflicts with latest Conflict files (reconciled):
Validation: focused vitest 55/55 ( Head: |
61e605d to
d4ec74d
Compare
Raise Orca's Codex integration to match current openai/codex behavior after a full source-level comparison (hooks, startup, CODEX_HOME, rollouts, TUI UX, usage). Status & hooks: - SessionStart no longer flashes working; SubagentStart/Stop installed and mapped - Remote managed hooks prepend like local; PostToolUse tool_response + better previews - Interrupt markers clear sticky working without inventing StopFailure Startup & drafts: - Composer-ready requires Ask Codex placeholder (not bare › during hooks review) - Drop dead Codex --prefill myth; Windows argv budget falls back to paste-submit - Optional -i/--image on startup plans; safer post-paste submit delay Auth, sessions, native chat: - Force cli_auth_credentials_store=file on managed/runtime homes - Decode item_completed TurnItems; read .jsonl.zst; hardlink→copy bridge UX / usage / config: - Native Action Required title mapping; slash catalog refresh; skill path plumbing - Multi-bucket rate limits; config base URL for reset credits; path rewrite keys - Profile-v2 overlay mirror; WSL host-home strip messaging
- Write .orca-session-copies markers after WSL cp -p session bridge fallback - Ignore whitespace-only YOLO arg constants (avoid vacuous every()) - Use a tighter inline draft limit when Windows startup shell is cmd.exe
session/weekly already surface the preferred primary/secondary; including them in buckets duplicated the same meter in tooltip/status-bar UI.
- Recognize quoted cli_auth_credentials_store keys - Compare copy-marker mtimes at second precision (WSL stat) - Scan top-level TOML keys with structural line state - Route ChatGPT backends via URL host parsing, not path includes - Prefer wrapper.rateLimits over first by-id snapshot
…erlays - Re-sync managed session copies when system source grows after hardlink fail - Re-queue startup prompt delivery after failed paste (not just clear guard) - Mirror profile-v2 *.config.toml with relative path rewrite into managed home - Infer additional rate-limit bucket windows from API remaining minutes
Rebase conflict resolution dropped the ChatGPT backend default constant used by normalizeCodexBackendBaseUrl, breaking reset-credit URL tests.
d4ec74d to
bea7270
Compare
|
Superseded by four focused, rebased PRs:
Each replacement targets current Closing this conflicting umbrella PR to avoid duplicate review and merge work. |
Summary
Full Codex CLI × Orca compatibility pass based on a source-level comparison against
openai/codex(local analysis under.tmp-codex-compat/, not committed). Covers hooks/status, startup delivery, managed auth, session rollouts/native chat, TUI catalogs, and usage/config.Status & hooks
SessionStartno longer maps toworking(avoids idle “running” flash);UserPromptSubmitremains the working boundarySubagentStart/SubagentStop(stayworking; only rootStop→done)groupIndex: 0)PostToolUsetool_responseinto assistant preview; richerBash/apply_patch/spawn_agentpreviewsworkingwithout inventing a non-existent CodexStopFailureStartup & drafts
›during hooks-review no longer unlocks paste)--prefillmyth; shell-ready only for explicit positional PROMPT delivery-i/--imageonbuildAgentStartupPlanAuth, sessions, native chat
cli_auth_credentials_store = "file"on managed + runtimeCODEX_HOME(multi-account vault requires file-backedauth.json)item_completedTurnItems (AI Vault + native chat)*.jsonl.zstvia Node zstdUX / usage / config
[ ! ] Action Required | projecttitles → permission without a"codex"title tokenbtw,apps,quit,debug-config,setup-default-sandbox, …)$name)rateLimitsByLimitId; preferchatgpt_base_urlfor reset-credits HTTP*.config.tomloverlay mirrorOther
source-control-manual-review-url(nullprovider)fetchunder fake timersScreenshots
No visual redesign. Behavior changes are Codex terminal status/hooks, startup paste readiness, account auth-store, session resume bridge, and status-bar usage multi-bucket display. Manual checklist is under Testing.
Testing
pnpm run typecheck(previously run on this branch)pnpm lint(rely on CI once approved)pnpm testfull suite (not run in this session — optional CI)pnpm build(not run)AI Review Report
CodeRabbit review threads on this PR: 0 unresolved at last check. Agent maintenance pass:
origin/mainwaves (latest85fb6e762) resolving conflicts incodex-config-mirror.ts,codex-auth-presence.ts, andcodex-fetcher.tswhile keeping PR auth-store/TOML/URL work + main multi-home changes.auth.json, zstd session discovery, session bridge hardlink→copy, WSL CODEX_HOME strip messaging.Cross-platform checks:
fetchunder fake timers.Security Audit
cli_auth_credentials_store = "file"for managed/runtimeCODEX_HOMEso multi-account vault has file-backedauth.json(no new secret channel).*.jsonl.zstdiscovery/read (existing stack patterns).action_requireduntil a maintainer approves workflow runs.Notes
mergeStateStatus: UNSTABLEwhen community CI is waiting on approval — not a merge conflict..tmp-codex-compat/are not committed.85fb6e762(merged main: CDP attach, HTML preview-to-side, Antigravity sandbox flag).