clawdex-mobile 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/README.md +4 -0
  2. package/docs/setup-and-operations.md +3 -1
  3. package/docs/troubleshooting.md +1 -0
  4. package/package.json +18 -8
  5. package/scripts/setup-secure-dev.sh +26 -17
  6. package/services/rust-bridge/Cargo.lock +1 -1
  7. package/services/rust-bridge/Cargo.toml +1 -1
  8. package/vendor/bridge-binaries/darwin-arm64/codex-rust-bridge +0 -0
  9. package/vendor/bridge-binaries/darwin-x64/codex-rust-bridge +0 -0
  10. package/vendor/bridge-binaries/linux-x64/codex-rust-bridge +0 -0
  11. package/vendor/bridge-binaries/win32-x64/codex-rust-bridge.exe +0 -0
  12. package/.artifacts/bridge-binaries/bridge-binaries-darwin-arm64/codex-rust-bridge +0 -0
  13. package/.artifacts/bridge-binaries/bridge-binaries-darwin-x64/codex-rust-bridge +0 -0
  14. package/.artifacts/bridge-binaries/bridge-binaries-linux-x64/codex-rust-bridge +0 -0
  15. package/.artifacts/bridge-binaries/bridge-binaries-win32-x64/codex-rust-bridge.exe +0 -0
  16. package/.github/workflows/ci.yml +0 -80
  17. package/.github/workflows/npm-release.yml +0 -208
  18. package/.github/workflows/pages.yml +0 -41
  19. package/AGENTS.md +0 -273
  20. package/STATUS.md +0 -115
  21. package/apps/mobile/.env.example +0 -6
  22. package/apps/mobile/App.tsx +0 -943
  23. package/apps/mobile/app.json +0 -77
  24. package/apps/mobile/assets/brand/adaptive-icon.png +0 -0
  25. package/apps/mobile/assets/brand/app-icon.png +0 -0
  26. package/apps/mobile/assets/brand/favicon.png +0 -0
  27. package/apps/mobile/assets/brand/mark.png +0 -0
  28. package/apps/mobile/assets/brand/splash-icon-white.png +0 -0
  29. package/apps/mobile/assets/brand/splash-icon.png +0 -0
  30. package/apps/mobile/babel.config.js +0 -7
  31. package/apps/mobile/eas.json +0 -40
  32. package/apps/mobile/eslint.config.cjs +0 -28
  33. package/apps/mobile/index.js +0 -5
  34. package/apps/mobile/package.json +0 -57
  35. package/apps/mobile/plugins/withAndroidCleartextTraffic.js +0 -14
  36. package/apps/mobile/src/api/__tests__/chatMapping.test.ts +0 -351
  37. package/apps/mobile/src/api/__tests__/client.test.ts +0 -1494
  38. package/apps/mobile/src/api/__tests__/ws.test.ts +0 -640
  39. package/apps/mobile/src/api/account.ts +0 -47
  40. package/apps/mobile/src/api/chatMapping.ts +0 -1048
  41. package/apps/mobile/src/api/client.ts +0 -1430
  42. package/apps/mobile/src/api/rateLimits.ts +0 -143
  43. package/apps/mobile/src/api/types.ts +0 -435
  44. package/apps/mobile/src/api/ws.ts +0 -852
  45. package/apps/mobile/src/bridgeUrl.ts +0 -105
  46. package/apps/mobile/src/components/ActivityBar.tsx +0 -95
  47. package/apps/mobile/src/components/ApprovalBanner.tsx +0 -207
  48. package/apps/mobile/src/components/BrandMark.tsx +0 -43
  49. package/apps/mobile/src/components/ChatHeader.tsx +0 -107
  50. package/apps/mobile/src/components/ChatInput.tsx +0 -457
  51. package/apps/mobile/src/components/ChatMessage.tsx +0 -959
  52. package/apps/mobile/src/components/ComposerUsageLimits.tsx +0 -167
  53. package/apps/mobile/src/components/SelectionSheet.tsx +0 -466
  54. package/apps/mobile/src/components/StatusLine.tsx +0 -52
  55. package/apps/mobile/src/components/ToolBlock.tsx +0 -67
  56. package/apps/mobile/src/components/TypingIndicator.tsx +0 -64
  57. package/apps/mobile/src/components/VoiceRecordingWaveform.tsx +0 -181
  58. package/apps/mobile/src/components/WorkspacePickerModal.tsx +0 -812
  59. package/apps/mobile/src/components/__tests__/chat-input-layout.test.ts +0 -35
  60. package/apps/mobile/src/components/__tests__/chatImageSource.test.ts +0 -44
  61. package/apps/mobile/src/components/__tests__/composerUsageLimits.test.ts +0 -138
  62. package/apps/mobile/src/components/__tests__/voiceWaveform.test.ts +0 -31
  63. package/apps/mobile/src/components/chat-input-layout.ts +0 -59
  64. package/apps/mobile/src/components/chatImageSource.ts +0 -86
  65. package/apps/mobile/src/components/usageLimitBadges.ts +0 -109
  66. package/apps/mobile/src/components/voiceWaveform.ts +0 -46
  67. package/apps/mobile/src/config.ts +0 -64
  68. package/apps/mobile/src/hooks/useVoiceRecorder.ts +0 -271
  69. package/apps/mobile/src/navigation/DrawerContent.tsx +0 -1129
  70. package/apps/mobile/src/navigation/__tests__/chatThreadTree.test.ts +0 -89
  71. package/apps/mobile/src/navigation/__tests__/drawerChats.test.ts +0 -65
  72. package/apps/mobile/src/navigation/chatThreadTree.ts +0 -191
  73. package/apps/mobile/src/navigation/drawerChats.ts +0 -9
  74. package/apps/mobile/src/screens/GitScreen.tsx +0 -1489
  75. package/apps/mobile/src/screens/MainScreen.tsx +0 -10511
  76. package/apps/mobile/src/screens/OnboardingScreen.tsx +0 -1746
  77. package/apps/mobile/src/screens/PrivacyScreen.tsx +0 -196
  78. package/apps/mobile/src/screens/SettingsScreen.tsx +0 -870
  79. package/apps/mobile/src/screens/TerminalScreen.tsx +0 -248
  80. package/apps/mobile/src/screens/TermsScreen.tsx +0 -192
  81. package/apps/mobile/src/screens/__tests__/agentThreadDisplay.test.ts +0 -80
  82. package/apps/mobile/src/screens/__tests__/agentThreads.test.ts +0 -170
  83. package/apps/mobile/src/screens/__tests__/gitDiff.test.ts +0 -131
  84. package/apps/mobile/src/screens/__tests__/planCardState.test.ts +0 -88
  85. package/apps/mobile/src/screens/__tests__/subAgentTranscript.test.ts +0 -102
  86. package/apps/mobile/src/screens/__tests__/transcriptMessages.test.ts +0 -97
  87. package/apps/mobile/src/screens/agentThreadDisplay.ts +0 -261
  88. package/apps/mobile/src/screens/agentThreads.ts +0 -167
  89. package/apps/mobile/src/screens/gitDiff.ts +0 -380
  90. package/apps/mobile/src/screens/planCardState.ts +0 -40
  91. package/apps/mobile/src/screens/subAgentTranscript.ts +0 -149
  92. package/apps/mobile/src/screens/transcriptMessages.ts +0 -102
  93. package/apps/mobile/src/theme.ts +0 -106
  94. package/apps/mobile/src/types/assets.d.ts +0 -4
  95. package/apps/mobile/tsconfig.json +0 -33
  96. package/docs/app-review-notes.md +0 -116
  97. package/docs/codex-app-server-cli-gap-tracker.md +0 -90
  98. package/docs/eas-builds.md +0 -91
  99. package/docs/open-source-license-requirements.md +0 -32
  100. package/docs/plans/2026-02-20-codex-desktop-style-redesign.md +0 -190
  101. package/docs/plans/2026-02-20-codex-mobile-implementation.md +0 -1630
  102. package/docs/plans/2026-02-21-codex-ui-redesign-design.md +0 -101
  103. package/docs/plans/2026-02-21-codex-ui-redesign.md +0 -1229
  104. package/docs/privacy-policy.md +0 -54
  105. package/docs/realtime-streaming-limitations.md +0 -161
  106. package/docs/terms-of-service.md +0 -33
  107. package/docs/voice-transcription.md +0 -87
  108. package/scripts/codex-live-demo.sh +0 -69
  109. package/scripts/start-bridge-secure.sh +0 -5
  110. package/scripts/start-expo.sh +0 -176
  111. package/scripts/sync-versions.js +0 -63
  112. package/scripts/teardown.sh +0 -136
  113. package/services/mac-bridge/.env.example +0 -10
  114. package/services/mac-bridge/codex-types/AbsolutePathBuf.ts +0 -14
  115. package/services/mac-bridge/codex-types/AddConversationListenerParams.ts +0 -6
  116. package/services/mac-bridge/codex-types/AddConversationSubscriptionResponse.ts +0 -5
  117. package/services/mac-bridge/codex-types/AgentMessageContent.ts +0 -5
  118. package/services/mac-bridge/codex-types/AgentMessageContentDeltaEvent.ts +0 -5
  119. package/services/mac-bridge/codex-types/AgentMessageDeltaEvent.ts +0 -5
  120. package/services/mac-bridge/codex-types/AgentMessageEvent.ts +0 -5
  121. package/services/mac-bridge/codex-types/AgentMessageItem.ts +0 -21
  122. package/services/mac-bridge/codex-types/AgentReasoningDeltaEvent.ts +0 -5
  123. package/services/mac-bridge/codex-types/AgentReasoningEvent.ts +0 -5
  124. package/services/mac-bridge/codex-types/AgentReasoningRawContentDeltaEvent.ts +0 -5
  125. package/services/mac-bridge/codex-types/AgentReasoningRawContentEvent.ts +0 -5
  126. package/services/mac-bridge/codex-types/AgentReasoningSectionBreakEvent.ts +0 -5
  127. package/services/mac-bridge/codex-types/AgentStatus.ts +0 -8
  128. package/services/mac-bridge/codex-types/ApplyPatchApprovalParams.ts +0 -21
  129. package/services/mac-bridge/codex-types/ApplyPatchApprovalRequestEvent.ts +0 -23
  130. package/services/mac-bridge/codex-types/ApplyPatchApprovalResponse.ts +0 -6
  131. package/services/mac-bridge/codex-types/ArchiveConversationParams.ts +0 -6
  132. package/services/mac-bridge/codex-types/ArchiveConversationResponse.ts +0 -5
  133. package/services/mac-bridge/codex-types/AskForApproval.ts +0 -9
  134. package/services/mac-bridge/codex-types/AuthMode.ts +0 -8
  135. package/services/mac-bridge/codex-types/AuthStatusChangeNotification.ts +0 -9
  136. package/services/mac-bridge/codex-types/BackgroundEventEvent.ts +0 -5
  137. package/services/mac-bridge/codex-types/ByteRange.ts +0 -13
  138. package/services/mac-bridge/codex-types/CallToolResult.ts +0 -9
  139. package/services/mac-bridge/codex-types/CancelLoginChatGptParams.ts +0 -5
  140. package/services/mac-bridge/codex-types/CancelLoginChatGptResponse.ts +0 -5
  141. package/services/mac-bridge/codex-types/ClientInfo.ts +0 -5
  142. package/services/mac-bridge/codex-types/ClientNotification.ts +0 -5
  143. package/services/mac-bridge/codex-types/ClientRequest.ts +0 -60
  144. package/services/mac-bridge/codex-types/CodexErrorInfo.ts +0 -8
  145. package/services/mac-bridge/codex-types/CollabAgentInteractionBeginEvent.ts +0 -23
  146. package/services/mac-bridge/codex-types/CollabAgentInteractionEndEvent.ts +0 -28
  147. package/services/mac-bridge/codex-types/CollabAgentSpawnBeginEvent.ts +0 -19
  148. package/services/mac-bridge/codex-types/CollabAgentSpawnEndEvent.ts +0 -28
  149. package/services/mac-bridge/codex-types/CollabCloseBeginEvent.ts +0 -18
  150. package/services/mac-bridge/codex-types/CollabCloseEndEvent.ts +0 -24
  151. package/services/mac-bridge/codex-types/CollabResumeBeginEvent.ts +0 -18
  152. package/services/mac-bridge/codex-types/CollabResumeEndEvent.ts +0 -24
  153. package/services/mac-bridge/codex-types/CollabWaitingBeginEvent.ts +0 -18
  154. package/services/mac-bridge/codex-types/CollabWaitingEndEvent.ts +0 -19
  155. package/services/mac-bridge/codex-types/CollaborationMode.ts +0 -10
  156. package/services/mac-bridge/codex-types/CollaborationModeMask.ts +0 -11
  157. package/services/mac-bridge/codex-types/ContentItem.ts +0 -5
  158. package/services/mac-bridge/codex-types/ContextCompactedEvent.ts +0 -5
  159. package/services/mac-bridge/codex-types/ContextCompactionItem.ts +0 -5
  160. package/services/mac-bridge/codex-types/ConversationGitInfo.ts +0 -5
  161. package/services/mac-bridge/codex-types/ConversationSummary.ts +0 -8
  162. package/services/mac-bridge/codex-types/CreditsSnapshot.ts +0 -5
  163. package/services/mac-bridge/codex-types/CustomPrompt.ts +0 -5
  164. package/services/mac-bridge/codex-types/DeprecationNoticeEvent.ts +0 -13
  165. package/services/mac-bridge/codex-types/DynamicToolCallRequest.ts +0 -6
  166. package/services/mac-bridge/codex-types/ElicitationRequestEvent.ts +0 -5
  167. package/services/mac-bridge/codex-types/ErrorEvent.ts +0 -6
  168. package/services/mac-bridge/codex-types/EventMsg.ts +0 -78
  169. package/services/mac-bridge/codex-types/ExecApprovalRequestEvent.ts +0 -44
  170. package/services/mac-bridge/codex-types/ExecCommandApprovalParams.ts +0 -16
  171. package/services/mac-bridge/codex-types/ExecCommandApprovalResponse.ts +0 -6
  172. package/services/mac-bridge/codex-types/ExecCommandBeginEvent.ts +0 -35
  173. package/services/mac-bridge/codex-types/ExecCommandEndEvent.ts +0 -64
  174. package/services/mac-bridge/codex-types/ExecCommandOutputDeltaEvent.ts +0 -18
  175. package/services/mac-bridge/codex-types/ExecCommandSource.ts +0 -5
  176. package/services/mac-bridge/codex-types/ExecCommandStatus.ts +0 -5
  177. package/services/mac-bridge/codex-types/ExecOneOffCommandParams.ts +0 -6
  178. package/services/mac-bridge/codex-types/ExecOneOffCommandResponse.ts +0 -5
  179. package/services/mac-bridge/codex-types/ExecOutputStream.ts +0 -5
  180. package/services/mac-bridge/codex-types/ExecPolicyAmendment.ts +0 -12
  181. package/services/mac-bridge/codex-types/ExitedReviewModeEvent.ts +0 -6
  182. package/services/mac-bridge/codex-types/FileChange.ts +0 -5
  183. package/services/mac-bridge/codex-types/ForcedLoginMethod.ts +0 -5
  184. package/services/mac-bridge/codex-types/ForkConversationParams.ts +0 -7
  185. package/services/mac-bridge/codex-types/ForkConversationResponse.ts +0 -7
  186. package/services/mac-bridge/codex-types/FunctionCallOutputBody.ts +0 -6
  187. package/services/mac-bridge/codex-types/FunctionCallOutputContentItem.ts +0 -9
  188. package/services/mac-bridge/codex-types/FunctionCallOutputPayload.ts +0 -12
  189. package/services/mac-bridge/codex-types/FuzzyFileSearchParams.ts +0 -5
  190. package/services/mac-bridge/codex-types/FuzzyFileSearchResponse.ts +0 -6
  191. package/services/mac-bridge/codex-types/FuzzyFileSearchResult.ts +0 -8
  192. package/services/mac-bridge/codex-types/FuzzyFileSearchSessionCompletedNotification.ts +0 -5
  193. package/services/mac-bridge/codex-types/FuzzyFileSearchSessionUpdatedNotification.ts +0 -6
  194. package/services/mac-bridge/codex-types/GetAuthStatusParams.ts +0 -5
  195. package/services/mac-bridge/codex-types/GetAuthStatusResponse.ts +0 -6
  196. package/services/mac-bridge/codex-types/GetConversationSummaryParams.ts +0 -6
  197. package/services/mac-bridge/codex-types/GetConversationSummaryResponse.ts +0 -6
  198. package/services/mac-bridge/codex-types/GetHistoryEntryResponseEvent.ts +0 -10
  199. package/services/mac-bridge/codex-types/GetUserAgentResponse.ts +0 -5
  200. package/services/mac-bridge/codex-types/GetUserSavedConfigResponse.ts +0 -6
  201. package/services/mac-bridge/codex-types/GhostCommit.ts +0 -8
  202. package/services/mac-bridge/codex-types/GitDiffToRemoteParams.ts +0 -5
  203. package/services/mac-bridge/codex-types/GitDiffToRemoteResponse.ts +0 -6
  204. package/services/mac-bridge/codex-types/GitSha.ts +0 -5
  205. package/services/mac-bridge/codex-types/HistoryEntry.ts +0 -5
  206. package/services/mac-bridge/codex-types/InitializeCapabilities.ts +0 -17
  207. package/services/mac-bridge/codex-types/InitializeParams.ts +0 -7
  208. package/services/mac-bridge/codex-types/InitializeResponse.ts +0 -5
  209. package/services/mac-bridge/codex-types/InputItem.ts +0 -10
  210. package/services/mac-bridge/codex-types/InputModality.ts +0 -8
  211. package/services/mac-bridge/codex-types/InterruptConversationParams.ts +0 -6
  212. package/services/mac-bridge/codex-types/InterruptConversationResponse.ts +0 -6
  213. package/services/mac-bridge/codex-types/ItemCompletedEvent.ts +0 -7
  214. package/services/mac-bridge/codex-types/ItemStartedEvent.ts +0 -7
  215. package/services/mac-bridge/codex-types/ListConversationsParams.ts +0 -5
  216. package/services/mac-bridge/codex-types/ListConversationsResponse.ts +0 -6
  217. package/services/mac-bridge/codex-types/ListCustomPromptsResponseEvent.ts +0 -9
  218. package/services/mac-bridge/codex-types/ListRemoteSkillsResponseEvent.ts +0 -9
  219. package/services/mac-bridge/codex-types/ListSkillsResponseEvent.ts +0 -9
  220. package/services/mac-bridge/codex-types/LocalShellAction.ts +0 -6
  221. package/services/mac-bridge/codex-types/LocalShellExecAction.ts +0 -5
  222. package/services/mac-bridge/codex-types/LocalShellStatus.ts +0 -5
  223. package/services/mac-bridge/codex-types/LoginApiKeyParams.ts +0 -5
  224. package/services/mac-bridge/codex-types/LoginApiKeyResponse.ts +0 -5
  225. package/services/mac-bridge/codex-types/LoginChatGptCompleteNotification.ts +0 -8
  226. package/services/mac-bridge/codex-types/LoginChatGptResponse.ts +0 -5
  227. package/services/mac-bridge/codex-types/LogoutChatGptResponse.ts +0 -5
  228. package/services/mac-bridge/codex-types/McpAuthStatus.ts +0 -5
  229. package/services/mac-bridge/codex-types/McpInvocation.ts +0 -18
  230. package/services/mac-bridge/codex-types/McpListToolsResponseEvent.ts +0 -25
  231. package/services/mac-bridge/codex-types/McpStartupCompleteEvent.ts +0 -6
  232. package/services/mac-bridge/codex-types/McpStartupFailure.ts +0 -5
  233. package/services/mac-bridge/codex-types/McpStartupStatus.ts +0 -5
  234. package/services/mac-bridge/codex-types/McpStartupUpdateEvent.ts +0 -14
  235. package/services/mac-bridge/codex-types/McpToolCallBeginEvent.ts +0 -10
  236. package/services/mac-bridge/codex-types/McpToolCallEndEvent.ts +0 -15
  237. package/services/mac-bridge/codex-types/MessagePhase.ts +0 -11
  238. package/services/mac-bridge/codex-types/ModeKind.ts +0 -8
  239. package/services/mac-bridge/codex-types/ModelRerouteEvent.ts +0 -6
  240. package/services/mac-bridge/codex-types/ModelRerouteReason.ts +0 -5
  241. package/services/mac-bridge/codex-types/NetworkAccess.ts +0 -8
  242. package/services/mac-bridge/codex-types/NetworkApprovalContext.ts +0 -6
  243. package/services/mac-bridge/codex-types/NetworkApprovalProtocol.ts +0 -5
  244. package/services/mac-bridge/codex-types/NewConversationParams.ts +0 -8
  245. package/services/mac-bridge/codex-types/NewConversationResponse.ts +0 -7
  246. package/services/mac-bridge/codex-types/ParsedCommand.ts +0 -12
  247. package/services/mac-bridge/codex-types/PatchApplyBeginEvent.ts +0 -23
  248. package/services/mac-bridge/codex-types/PatchApplyEndEvent.ts +0 -36
  249. package/services/mac-bridge/codex-types/PatchApplyStatus.ts +0 -5
  250. package/services/mac-bridge/codex-types/Personality.ts +0 -5
  251. package/services/mac-bridge/codex-types/PlanDeltaEvent.ts +0 -5
  252. package/services/mac-bridge/codex-types/PlanItem.ts +0 -5
  253. package/services/mac-bridge/codex-types/PlanItemArg.ts +0 -6
  254. package/services/mac-bridge/codex-types/PlanType.ts +0 -5
  255. package/services/mac-bridge/codex-types/Profile.ts +0 -9
  256. package/services/mac-bridge/codex-types/RateLimitSnapshot.ts +0 -8
  257. package/services/mac-bridge/codex-types/RateLimitWindow.ts +0 -17
  258. package/services/mac-bridge/codex-types/RawResponseItemEvent.ts +0 -6
  259. package/services/mac-bridge/codex-types/ReadOnlyAccess.ts +0 -19
  260. package/services/mac-bridge/codex-types/ReasoningContentDeltaEvent.ts +0 -5
  261. package/services/mac-bridge/codex-types/ReasoningEffort.ts +0 -8
  262. package/services/mac-bridge/codex-types/ReasoningItem.ts +0 -5
  263. package/services/mac-bridge/codex-types/ReasoningItemContent.ts +0 -5
  264. package/services/mac-bridge/codex-types/ReasoningItemReasoningSummary.ts +0 -5
  265. package/services/mac-bridge/codex-types/ReasoningRawContentDeltaEvent.ts +0 -5
  266. package/services/mac-bridge/codex-types/ReasoningSummary.ts +0 -10
  267. package/services/mac-bridge/codex-types/RemoteSkillDownloadedEvent.ts +0 -8
  268. package/services/mac-bridge/codex-types/RemoteSkillSummary.ts +0 -5
  269. package/services/mac-bridge/codex-types/RemoveConversationListenerParams.ts +0 -5
  270. package/services/mac-bridge/codex-types/RemoveConversationSubscriptionResponse.ts +0 -5
  271. package/services/mac-bridge/codex-types/RequestId.ts +0 -5
  272. package/services/mac-bridge/codex-types/RequestUserInputEvent.ts +0 -15
  273. package/services/mac-bridge/codex-types/RequestUserInputQuestion.ts +0 -6
  274. package/services/mac-bridge/codex-types/RequestUserInputQuestionOption.ts +0 -5
  275. package/services/mac-bridge/codex-types/Resource.ts +0 -9
  276. package/services/mac-bridge/codex-types/ResourceTemplate.ts +0 -9
  277. package/services/mac-bridge/codex-types/ResponseItem.ts +0 -18
  278. package/services/mac-bridge/codex-types/ResumeConversationParams.ts +0 -8
  279. package/services/mac-bridge/codex-types/ResumeConversationResponse.ts +0 -7
  280. package/services/mac-bridge/codex-types/ReviewCodeLocation.ts +0 -9
  281. package/services/mac-bridge/codex-types/ReviewDecision.ts +0 -9
  282. package/services/mac-bridge/codex-types/ReviewFinding.ts +0 -9
  283. package/services/mac-bridge/codex-types/ReviewLineRange.ts +0 -8
  284. package/services/mac-bridge/codex-types/ReviewOutputEvent.ts +0 -9
  285. package/services/mac-bridge/codex-types/ReviewRequest.ts +0 -9
  286. package/services/mac-bridge/codex-types/ReviewTarget.ts +0 -9
  287. package/services/mac-bridge/codex-types/SandboxMode.ts +0 -5
  288. package/services/mac-bridge/codex-types/SandboxPolicy.ts +0 -44
  289. package/services/mac-bridge/codex-types/SandboxSettings.ts +0 -6
  290. package/services/mac-bridge/codex-types/SendUserMessageParams.ts +0 -7
  291. package/services/mac-bridge/codex-types/SendUserMessageResponse.ts +0 -5
  292. package/services/mac-bridge/codex-types/SendUserTurnParams.ts +0 -16
  293. package/services/mac-bridge/codex-types/SendUserTurnResponse.ts +0 -5
  294. package/services/mac-bridge/codex-types/ServerNotification.ts +0 -45
  295. package/services/mac-bridge/codex-types/ServerRequest.ts +0 -16
  296. package/services/mac-bridge/codex-types/SessionConfiguredEvent.ts +0 -57
  297. package/services/mac-bridge/codex-types/SessionConfiguredNotification.ts +0 -8
  298. package/services/mac-bridge/codex-types/SessionNetworkProxyRuntime.ts +0 -5
  299. package/services/mac-bridge/codex-types/SessionSource.ts +0 -6
  300. package/services/mac-bridge/codex-types/SetDefaultModelParams.ts +0 -6
  301. package/services/mac-bridge/codex-types/SetDefaultModelResponse.ts +0 -5
  302. package/services/mac-bridge/codex-types/Settings.ts +0 -9
  303. package/services/mac-bridge/codex-types/SkillDependencies.ts +0 -6
  304. package/services/mac-bridge/codex-types/SkillErrorInfo.ts +0 -5
  305. package/services/mac-bridge/codex-types/SkillInterface.ts +0 -5
  306. package/services/mac-bridge/codex-types/SkillMetadata.ts +0 -12
  307. package/services/mac-bridge/codex-types/SkillScope.ts +0 -5
  308. package/services/mac-bridge/codex-types/SkillToolDependency.ts +0 -5
  309. package/services/mac-bridge/codex-types/SkillsListEntry.ts +0 -7
  310. package/services/mac-bridge/codex-types/StepStatus.ts +0 -5
  311. package/services/mac-bridge/codex-types/StreamErrorEvent.ts +0 -12
  312. package/services/mac-bridge/codex-types/SubAgentSource.ts +0 -6
  313. package/services/mac-bridge/codex-types/TerminalInteractionEvent.ts +0 -17
  314. package/services/mac-bridge/codex-types/TextElement.ts +0 -14
  315. package/services/mac-bridge/codex-types/ThreadId.ts +0 -5
  316. package/services/mac-bridge/codex-types/ThreadNameUpdatedEvent.ts +0 -6
  317. package/services/mac-bridge/codex-types/ThreadRolledBackEvent.ts +0 -9
  318. package/services/mac-bridge/codex-types/TokenCountEvent.ts +0 -7
  319. package/services/mac-bridge/codex-types/TokenUsage.ts +0 -5
  320. package/services/mac-bridge/codex-types/TokenUsageInfo.ts +0 -6
  321. package/services/mac-bridge/codex-types/Tool.ts +0 -9
  322. package/services/mac-bridge/codex-types/Tools.ts +0 -5
  323. package/services/mac-bridge/codex-types/TurnAbortReason.ts +0 -5
  324. package/services/mac-bridge/codex-types/TurnAbortedEvent.ts +0 -6
  325. package/services/mac-bridge/codex-types/TurnCompleteEvent.ts +0 -5
  326. package/services/mac-bridge/codex-types/TurnDiffEvent.ts +0 -5
  327. package/services/mac-bridge/codex-types/TurnItem.ts +0 -11
  328. package/services/mac-bridge/codex-types/TurnStartedEvent.ts +0 -6
  329. package/services/mac-bridge/codex-types/UndoCompletedEvent.ts +0 -5
  330. package/services/mac-bridge/codex-types/UndoStartedEvent.ts +0 -5
  331. package/services/mac-bridge/codex-types/UpdatePlanArgs.ts +0 -10
  332. package/services/mac-bridge/codex-types/UserInfoResponse.ts +0 -5
  333. package/services/mac-bridge/codex-types/UserInput.ts +0 -16
  334. package/services/mac-bridge/codex-types/UserMessageEvent.ts +0 -22
  335. package/services/mac-bridge/codex-types/UserMessageItem.ts +0 -6
  336. package/services/mac-bridge/codex-types/UserSavedConfig.ts +0 -14
  337. package/services/mac-bridge/codex-types/Verbosity.ts +0 -9
  338. package/services/mac-bridge/codex-types/ViewImageToolCallEvent.ts +0 -13
  339. package/services/mac-bridge/codex-types/WarningEvent.ts +0 -5
  340. package/services/mac-bridge/codex-types/WebSearchAction.ts +0 -5
  341. package/services/mac-bridge/codex-types/WebSearchBeginEvent.ts +0 -5
  342. package/services/mac-bridge/codex-types/WebSearchEndEvent.ts +0 -6
  343. package/services/mac-bridge/codex-types/WebSearchItem.ts +0 -6
  344. package/services/mac-bridge/codex-types/WebSearchMode.ts +0 -5
  345. package/services/mac-bridge/codex-types/index.ts +0 -234
  346. package/services/mac-bridge/codex-types/serde_json/JsonValue.ts +0 -5
  347. package/services/mac-bridge/codex-types/v2/Account.ts +0 -6
  348. package/services/mac-bridge/codex-types/v2/AccountLoginCompletedNotification.ts +0 -5
  349. package/services/mac-bridge/codex-types/v2/AccountRateLimitsUpdatedNotification.ts +0 -6
  350. package/services/mac-bridge/codex-types/v2/AccountUpdatedNotification.ts +0 -6
  351. package/services/mac-bridge/codex-types/v2/AgentMessageDeltaNotification.ts +0 -5
  352. package/services/mac-bridge/codex-types/v2/AnalyticsConfig.ts +0 -6
  353. package/services/mac-bridge/codex-types/v2/AppBranding.ts +0 -8
  354. package/services/mac-bridge/codex-types/v2/AppDisabledReason.ts +0 -5
  355. package/services/mac-bridge/codex-types/v2/AppInfo.ts +0 -19
  356. package/services/mac-bridge/codex-types/v2/AppListUpdatedNotification.ts +0 -9
  357. package/services/mac-bridge/codex-types/v2/AppMetadata.ts +0 -7
  358. package/services/mac-bridge/codex-types/v2/AppReview.ts +0 -5
  359. package/services/mac-bridge/codex-types/v2/AppScreenshot.ts +0 -5
  360. package/services/mac-bridge/codex-types/v2/AppsConfig.ts +0 -6
  361. package/services/mac-bridge/codex-types/v2/AppsListParams.ts +0 -24
  362. package/services/mac-bridge/codex-types/v2/AppsListResponse.ts +0 -14
  363. package/services/mac-bridge/codex-types/v2/AskForApproval.ts +0 -5
  364. package/services/mac-bridge/codex-types/v2/ByteRange.ts +0 -5
  365. package/services/mac-bridge/codex-types/v2/CancelLoginAccountParams.ts +0 -5
  366. package/services/mac-bridge/codex-types/v2/CancelLoginAccountResponse.ts +0 -6
  367. package/services/mac-bridge/codex-types/v2/CancelLoginAccountStatus.ts +0 -5
  368. package/services/mac-bridge/codex-types/v2/ChatgptAuthTokensRefreshParams.ts +0 -16
  369. package/services/mac-bridge/codex-types/v2/ChatgptAuthTokensRefreshReason.ts +0 -5
  370. package/services/mac-bridge/codex-types/v2/ChatgptAuthTokensRefreshResponse.ts +0 -5
  371. package/services/mac-bridge/codex-types/v2/CodexErrorInfo.ts +0 -11
  372. package/services/mac-bridge/codex-types/v2/CollabAgentState.ts +0 -6
  373. package/services/mac-bridge/codex-types/v2/CollabAgentStatus.ts +0 -5
  374. package/services/mac-bridge/codex-types/v2/CollabAgentTool.ts +0 -5
  375. package/services/mac-bridge/codex-types/v2/CollabAgentToolCallStatus.ts +0 -5
  376. package/services/mac-bridge/codex-types/v2/CommandAction.ts +0 -5
  377. package/services/mac-bridge/codex-types/v2/CommandExecParams.ts +0 -6
  378. package/services/mac-bridge/codex-types/v2/CommandExecResponse.ts +0 -5
  379. package/services/mac-bridge/codex-types/v2/CommandExecutionApprovalDecision.ts +0 -6
  380. package/services/mac-bridge/codex-types/v2/CommandExecutionOutputDeltaNotification.ts +0 -5
  381. package/services/mac-bridge/codex-types/v2/CommandExecutionRequestApprovalParams.ts +0 -37
  382. package/services/mac-bridge/codex-types/v2/CommandExecutionRequestApprovalResponse.ts +0 -6
  383. package/services/mac-bridge/codex-types/v2/CommandExecutionStatus.ts +0 -5
  384. package/services/mac-bridge/codex-types/v2/Config.ts +0 -17
  385. package/services/mac-bridge/codex-types/v2/ConfigBatchWriteParams.ts +0 -10
  386. package/services/mac-bridge/codex-types/v2/ConfigEdit.ts +0 -7
  387. package/services/mac-bridge/codex-types/v2/ConfigLayer.ts +0 -7
  388. package/services/mac-bridge/codex-types/v2/ConfigLayerMetadata.ts +0 -6
  389. package/services/mac-bridge/codex-types/v2/ConfigLayerSource.ts +0 -16
  390. package/services/mac-bridge/codex-types/v2/ConfigReadParams.ts +0 -11
  391. package/services/mac-bridge/codex-types/v2/ConfigReadResponse.ts +0 -8
  392. package/services/mac-bridge/codex-types/v2/ConfigRequirements.ts +0 -9
  393. package/services/mac-bridge/codex-types/v2/ConfigRequirementsReadResponse.ts +0 -10
  394. package/services/mac-bridge/codex-types/v2/ConfigValueWriteParams.ts +0 -11
  395. package/services/mac-bridge/codex-types/v2/ConfigWarningNotification.ts +0 -22
  396. package/services/mac-bridge/codex-types/v2/ConfigWriteResponse.ts +0 -12
  397. package/services/mac-bridge/codex-types/v2/ContextCompactedNotification.ts +0 -8
  398. package/services/mac-bridge/codex-types/v2/CreditsSnapshot.ts +0 -5
  399. package/services/mac-bridge/codex-types/v2/DeprecationNoticeNotification.ts +0 -13
  400. package/services/mac-bridge/codex-types/v2/DynamicToolCallOutputContentItem.ts +0 -5
  401. package/services/mac-bridge/codex-types/v2/DynamicToolCallParams.ts +0 -6
  402. package/services/mac-bridge/codex-types/v2/DynamicToolCallResponse.ts +0 -6
  403. package/services/mac-bridge/codex-types/v2/DynamicToolSpec.ts +0 -6
  404. package/services/mac-bridge/codex-types/v2/ErrorNotification.ts +0 -6
  405. package/services/mac-bridge/codex-types/v2/ExecPolicyAmendment.ts +0 -5
  406. package/services/mac-bridge/codex-types/v2/ExperimentalFeature.ts +0 -37
  407. package/services/mac-bridge/codex-types/v2/ExperimentalFeatureListParams.ts +0 -13
  408. package/services/mac-bridge/codex-types/v2/ExperimentalFeatureListResponse.ts +0 -11
  409. package/services/mac-bridge/codex-types/v2/ExperimentalFeatureStage.ts +0 -5
  410. package/services/mac-bridge/codex-types/v2/FeedbackUploadParams.ts +0 -5
  411. package/services/mac-bridge/codex-types/v2/FeedbackUploadResponse.ts +0 -5
  412. package/services/mac-bridge/codex-types/v2/FileChangeApprovalDecision.ts +0 -5
  413. package/services/mac-bridge/codex-types/v2/FileChangeOutputDeltaNotification.ts +0 -5
  414. package/services/mac-bridge/codex-types/v2/FileChangeRequestApprovalParams.ts +0 -14
  415. package/services/mac-bridge/codex-types/v2/FileChangeRequestApprovalResponse.ts +0 -6
  416. package/services/mac-bridge/codex-types/v2/FileUpdateChange.ts +0 -6
  417. package/services/mac-bridge/codex-types/v2/GetAccountParams.ts +0 -13
  418. package/services/mac-bridge/codex-types/v2/GetAccountRateLimitsResponse.ts +0 -14
  419. package/services/mac-bridge/codex-types/v2/GetAccountResponse.ts +0 -6
  420. package/services/mac-bridge/codex-types/v2/GitInfo.ts +0 -5
  421. package/services/mac-bridge/codex-types/v2/HazelnutScope.ts +0 -5
  422. package/services/mac-bridge/codex-types/v2/ItemCompletedNotification.ts +0 -6
  423. package/services/mac-bridge/codex-types/v2/ItemStartedNotification.ts +0 -6
  424. package/services/mac-bridge/codex-types/v2/ListMcpServerStatusParams.ts +0 -13
  425. package/services/mac-bridge/codex-types/v2/ListMcpServerStatusResponse.ts +0 -11
  426. package/services/mac-bridge/codex-types/v2/LoginAccountParams.ts +0 -21
  427. package/services/mac-bridge/codex-types/v2/LoginAccountResponse.ts +0 -9
  428. package/services/mac-bridge/codex-types/v2/LogoutAccountResponse.ts +0 -5
  429. package/services/mac-bridge/codex-types/v2/McpAuthStatus.ts +0 -5
  430. package/services/mac-bridge/codex-types/v2/McpServerOauthLoginCompletedNotification.ts +0 -5
  431. package/services/mac-bridge/codex-types/v2/McpServerOauthLoginParams.ts +0 -5
  432. package/services/mac-bridge/codex-types/v2/McpServerOauthLoginResponse.ts +0 -5
  433. package/services/mac-bridge/codex-types/v2/McpServerRefreshResponse.ts +0 -5
  434. package/services/mac-bridge/codex-types/v2/McpServerStatus.ts +0 -9
  435. package/services/mac-bridge/codex-types/v2/McpToolCallError.ts +0 -5
  436. package/services/mac-bridge/codex-types/v2/McpToolCallProgressNotification.ts +0 -5
  437. package/services/mac-bridge/codex-types/v2/McpToolCallResult.ts +0 -6
  438. package/services/mac-bridge/codex-types/v2/McpToolCallStatus.ts +0 -5
  439. package/services/mac-bridge/codex-types/v2/MergeStrategy.ts +0 -5
  440. package/services/mac-bridge/codex-types/v2/Model.ts +0 -8
  441. package/services/mac-bridge/codex-types/v2/ModelListParams.ts +0 -17
  442. package/services/mac-bridge/codex-types/v2/ModelListResponse.ts +0 -11
  443. package/services/mac-bridge/codex-types/v2/ModelRerouteReason.ts +0 -5
  444. package/services/mac-bridge/codex-types/v2/ModelReroutedNotification.ts +0 -6
  445. package/services/mac-bridge/codex-types/v2/NetworkAccess.ts +0 -5
  446. package/services/mac-bridge/codex-types/v2/NetworkRequirements.ts +0 -5
  447. package/services/mac-bridge/codex-types/v2/OverriddenMetadata.ts +0 -7
  448. package/services/mac-bridge/codex-types/v2/PatchApplyStatus.ts +0 -5
  449. package/services/mac-bridge/codex-types/v2/PatchChangeKind.ts +0 -5
  450. package/services/mac-bridge/codex-types/v2/PlanDeltaNotification.ts +0 -9
  451. package/services/mac-bridge/codex-types/v2/ProductSurface.ts +0 -5
  452. package/services/mac-bridge/codex-types/v2/ProfileV2.ts +0 -11
  453. package/services/mac-bridge/codex-types/v2/RateLimitSnapshot.ts +0 -8
  454. package/services/mac-bridge/codex-types/v2/RateLimitWindow.ts +0 -5
  455. package/services/mac-bridge/codex-types/v2/RawResponseItemCompletedNotification.ts +0 -6
  456. package/services/mac-bridge/codex-types/v2/ReadOnlyAccess.ts +0 -6
  457. package/services/mac-bridge/codex-types/v2/ReasoningEffortOption.ts +0 -6
  458. package/services/mac-bridge/codex-types/v2/ReasoningSummaryPartAddedNotification.ts +0 -5
  459. package/services/mac-bridge/codex-types/v2/ReasoningSummaryTextDeltaNotification.ts +0 -5
  460. package/services/mac-bridge/codex-types/v2/ReasoningTextDeltaNotification.ts +0 -5
  461. package/services/mac-bridge/codex-types/v2/RemoteSkillSummary.ts +0 -5
  462. package/services/mac-bridge/codex-types/v2/ResidencyRequirement.ts +0 -5
  463. package/services/mac-bridge/codex-types/v2/ReviewDelivery.ts +0 -5
  464. package/services/mac-bridge/codex-types/v2/ReviewStartParams.ts +0 -12
  465. package/services/mac-bridge/codex-types/v2/ReviewStartResponse.ts +0 -13
  466. package/services/mac-bridge/codex-types/v2/ReviewTarget.ts +0 -9
  467. package/services/mac-bridge/codex-types/v2/SandboxMode.ts +0 -5
  468. package/services/mac-bridge/codex-types/v2/SandboxPolicy.ts +0 -8
  469. package/services/mac-bridge/codex-types/v2/SandboxWorkspaceWrite.ts +0 -5
  470. package/services/mac-bridge/codex-types/v2/SessionSource.ts +0 -6
  471. package/services/mac-bridge/codex-types/v2/SkillDependencies.ts +0 -6
  472. package/services/mac-bridge/codex-types/v2/SkillErrorInfo.ts +0 -5
  473. package/services/mac-bridge/codex-types/v2/SkillInterface.ts +0 -5
  474. package/services/mac-bridge/codex-types/v2/SkillMetadata.ts +0 -12
  475. package/services/mac-bridge/codex-types/v2/SkillScope.ts +0 -5
  476. package/services/mac-bridge/codex-types/v2/SkillToolDependency.ts +0 -5
  477. package/services/mac-bridge/codex-types/v2/SkillsConfigWriteParams.ts +0 -5
  478. package/services/mac-bridge/codex-types/v2/SkillsConfigWriteResponse.ts +0 -5
  479. package/services/mac-bridge/codex-types/v2/SkillsListEntry.ts +0 -7
  480. package/services/mac-bridge/codex-types/v2/SkillsListExtraRootsForCwd.ts +0 -5
  481. package/services/mac-bridge/codex-types/v2/SkillsListParams.ts +0 -18
  482. package/services/mac-bridge/codex-types/v2/SkillsListResponse.ts +0 -6
  483. package/services/mac-bridge/codex-types/v2/SkillsRemoteReadParams.ts +0 -7
  484. package/services/mac-bridge/codex-types/v2/SkillsRemoteReadResponse.ts +0 -6
  485. package/services/mac-bridge/codex-types/v2/SkillsRemoteWriteParams.ts +0 -5
  486. package/services/mac-bridge/codex-types/v2/SkillsRemoteWriteResponse.ts +0 -5
  487. package/services/mac-bridge/codex-types/v2/TerminalInteractionNotification.ts +0 -5
  488. package/services/mac-bridge/codex-types/v2/TextElement.ts +0 -14
  489. package/services/mac-bridge/codex-types/v2/TextPosition.ts +0 -13
  490. package/services/mac-bridge/codex-types/v2/TextRange.ts +0 -6
  491. package/services/mac-bridge/codex-types/v2/Thread.ts +0 -51
  492. package/services/mac-bridge/codex-types/v2/ThreadArchiveParams.ts +0 -5
  493. package/services/mac-bridge/codex-types/v2/ThreadArchiveResponse.ts +0 -5
  494. package/services/mac-bridge/codex-types/v2/ThreadArchivedNotification.ts +0 -5
  495. package/services/mac-bridge/codex-types/v2/ThreadCompactStartParams.ts +0 -5
  496. package/services/mac-bridge/codex-types/v2/ThreadCompactStartResponse.ts +0 -5
  497. package/services/mac-bridge/codex-types/v2/ThreadForkParams.ts +0 -28
  498. package/services/mac-bridge/codex-types/v2/ThreadForkResponse.ts +0 -9
  499. package/services/mac-bridge/codex-types/v2/ThreadItem.ts +0 -81
  500. package/services/mac-bridge/codex-types/v2/ThreadListParams.ts +0 -39
  501. package/services/mac-bridge/codex-types/v2/ThreadListResponse.ts +0 -11
  502. package/services/mac-bridge/codex-types/v2/ThreadLoadedListParams.ts +0 -13
  503. package/services/mac-bridge/codex-types/v2/ThreadLoadedListResponse.ts +0 -14
  504. package/services/mac-bridge/codex-types/v2/ThreadNameUpdatedNotification.ts +0 -5
  505. package/services/mac-bridge/codex-types/v2/ThreadReadParams.ts +0 -9
  506. package/services/mac-bridge/codex-types/v2/ThreadReadResponse.ts +0 -6
  507. package/services/mac-bridge/codex-types/v2/ThreadResumeParams.ts +0 -37
  508. package/services/mac-bridge/codex-types/v2/ThreadResumeResponse.ts +0 -9
  509. package/services/mac-bridge/codex-types/v2/ThreadRollbackParams.ts +0 -12
  510. package/services/mac-bridge/codex-types/v2/ThreadRollbackResponse.ts +0 -14
  511. package/services/mac-bridge/codex-types/v2/ThreadSetNameParams.ts +0 -5
  512. package/services/mac-bridge/codex-types/v2/ThreadSetNameResponse.ts +0 -5
  513. package/services/mac-bridge/codex-types/v2/ThreadSortKey.ts +0 -5
  514. package/services/mac-bridge/codex-types/v2/ThreadSourceKind.ts +0 -5
  515. package/services/mac-bridge/codex-types/v2/ThreadStartParams.ts +0 -17
  516. package/services/mac-bridge/codex-types/v2/ThreadStartResponse.ts +0 -9
  517. package/services/mac-bridge/codex-types/v2/ThreadStartedNotification.ts +0 -6
  518. package/services/mac-bridge/codex-types/v2/ThreadTokenUsage.ts +0 -6
  519. package/services/mac-bridge/codex-types/v2/ThreadTokenUsageUpdatedNotification.ts +0 -6
  520. package/services/mac-bridge/codex-types/v2/ThreadUnarchiveParams.ts +0 -5
  521. package/services/mac-bridge/codex-types/v2/ThreadUnarchiveResponse.ts +0 -6
  522. package/services/mac-bridge/codex-types/v2/ThreadUnarchivedNotification.ts +0 -5
  523. package/services/mac-bridge/codex-types/v2/TokenUsageBreakdown.ts +0 -5
  524. package/services/mac-bridge/codex-types/v2/ToolRequestUserInputAnswer.ts +0 -8
  525. package/services/mac-bridge/codex-types/v2/ToolRequestUserInputOption.ts +0 -8
  526. package/services/mac-bridge/codex-types/v2/ToolRequestUserInputParams.ts +0 -9
  527. package/services/mac-bridge/codex-types/v2/ToolRequestUserInputQuestion.ts +0 -9
  528. package/services/mac-bridge/codex-types/v2/ToolRequestUserInputResponse.ts +0 -9
  529. package/services/mac-bridge/codex-types/v2/ToolsV2.ts +0 -5
  530. package/services/mac-bridge/codex-types/v2/Turn.ts +0 -18
  531. package/services/mac-bridge/codex-types/v2/TurnCompletedNotification.ts +0 -6
  532. package/services/mac-bridge/codex-types/v2/TurnDiffUpdatedNotification.ts +0 -9
  533. package/services/mac-bridge/codex-types/v2/TurnError.ts +0 -6
  534. package/services/mac-bridge/codex-types/v2/TurnInterruptParams.ts +0 -5
  535. package/services/mac-bridge/codex-types/v2/TurnInterruptResponse.ts +0 -5
  536. package/services/mac-bridge/codex-types/v2/TurnPlanStep.ts +0 -6
  537. package/services/mac-bridge/codex-types/v2/TurnPlanStepStatus.ts +0 -5
  538. package/services/mac-bridge/codex-types/v2/TurnPlanUpdatedNotification.ts +0 -6
  539. package/services/mac-bridge/codex-types/v2/TurnStartParams.ts +0 -44
  540. package/services/mac-bridge/codex-types/v2/TurnStartResponse.ts +0 -6
  541. package/services/mac-bridge/codex-types/v2/TurnStartedNotification.ts +0 -6
  542. package/services/mac-bridge/codex-types/v2/TurnStatus.ts +0 -5
  543. package/services/mac-bridge/codex-types/v2/TurnSteerParams.ts +0 -11
  544. package/services/mac-bridge/codex-types/v2/TurnSteerResponse.ts +0 -5
  545. package/services/mac-bridge/codex-types/v2/UserInput.ts +0 -10
  546. package/services/mac-bridge/codex-types/v2/WebSearchAction.ts +0 -5
  547. package/services/mac-bridge/codex-types/v2/WindowsWorldWritableWarningNotification.ts +0 -5
  548. package/services/mac-bridge/codex-types/v2/WriteStatus.ts +0 -5
  549. package/services/mac-bridge/codex-types/v2/index.ts +0 -204
  550. package/services/mac-bridge/eslint.config.cjs +0 -22
  551. package/services/mac-bridge/package.json +0 -30
  552. package/services/mac-bridge/schema.ts +0 -0
  553. package/services/mac-bridge/src/index.ts +0 -18
  554. package/services/mac-bridge/src/server.ts +0 -426
  555. package/services/mac-bridge/src/services/__tests__/gitService.test.ts +0 -157
  556. package/services/mac-bridge/src/services/__tests__/realtimeHub.test.ts +0 -116
  557. package/services/mac-bridge/src/services/__tests__/terminalService.test.ts +0 -51
  558. package/services/mac-bridge/src/services/codexAppServerClient.ts +0 -507
  559. package/services/mac-bridge/src/services/codexCliAdapter.ts +0 -622
  560. package/services/mac-bridge/src/services/gitService.ts +0 -61
  561. package/services/mac-bridge/src/services/realtimeHub.ts +0 -25
  562. package/services/mac-bridge/src/services/terminalService.ts +0 -226
  563. package/services/mac-bridge/src/types.ts +0 -151
  564. package/services/mac-bridge/src/utils/__tests__/threadMapping.test.ts +0 -397
  565. package/services/mac-bridge/src/utils/threadMapping.ts +0 -176
  566. package/services/mac-bridge/tsconfig.json +0 -16
  567. package/services/mac-bridge/vitest.config.ts +0 -9
  568. package/services/rust-bridge/.env.example +0 -14
  569. package/services/rust-bridge/package.json +0 -13
  570. package/services/rust-bridge/security_best_practices_report.md +0 -24
  571. package/site/index.html +0 -54
  572. package/site/privacy/index.html +0 -80
  573. package/site/styles.css +0 -135
  574. package/site/support/index.html +0 -51
  575. package/site/terms/index.html +0 -68
  576. package/tsconfig.json +0 -4
@@ -1,870 +0,0 @@
1
- import { Ionicons } from '@expo/vector-icons';
2
- import { BlurView } from 'expo-blur';
3
- import { LinearGradient } from 'expo-linear-gradient';
4
- import { useCallback, useEffect, useMemo, useState } from 'react';
5
- import {
6
- ActivityIndicator,
7
- Pressable,
8
- ScrollView,
9
- StyleSheet,
10
- Switch,
11
- Text,
12
- View,
13
- } from 'react-native';
14
- import { SafeAreaView } from 'react-native-safe-area-context';
15
-
16
- import type { HostBridgeApiClient } from '../api/client';
17
- import type {
18
- AccountSnapshot,
19
- ApprovalMode,
20
- ModelOption,
21
- PlanType,
22
- ReasoningEffort,
23
- } from '../api/types';
24
- import type { HostBridgeWsClient } from '../api/ws';
25
- import { SelectionSheet, type SelectionSheetOption } from '../components/SelectionSheet';
26
- import { colors, radius, spacing, typography } from '../theme';
27
-
28
- interface SettingsScreenProps {
29
- api: HostBridgeApiClient;
30
- ws: HostBridgeWsClient;
31
- bridgeUrl: string;
32
- defaultModelId?: string | null;
33
- defaultReasoningEffort?: ReasoningEffort | null;
34
- approvalMode?: ApprovalMode;
35
- showToolCalls?: boolean;
36
- onDefaultModelSettingsChange?: (
37
- modelId: string | null,
38
- effort: ReasoningEffort | null
39
- ) => void;
40
- onApprovalModeChange?: (mode: ApprovalMode) => void;
41
- onShowToolCallsChange?: (value: boolean) => void;
42
- onEditBridgeUrl?: () => void;
43
- onResetOnboarding?: () => void;
44
- onOpenDrawer: () => void;
45
- onOpenPrivacy: () => void;
46
- onOpenTerms: () => void;
47
- }
48
-
49
- export function SettingsScreen({
50
- api,
51
- ws,
52
- bridgeUrl,
53
- defaultModelId,
54
- defaultReasoningEffort,
55
- approvalMode,
56
- showToolCalls = false,
57
- onDefaultModelSettingsChange,
58
- onApprovalModeChange,
59
- onShowToolCallsChange,
60
- onEditBridgeUrl,
61
- onResetOnboarding,
62
- onOpenDrawer,
63
- onOpenPrivacy,
64
- onOpenTerms,
65
- }: SettingsScreenProps) {
66
- const [healthyAt, setHealthyAt] = useState<string | null>(null);
67
- const [uptimeSec, setUptimeSec] = useState<number | null>(null);
68
- const [wsConnected, setWsConnected] = useState(ws.isConnected);
69
- const [error, setError] = useState<string | null>(null);
70
- const [modelOptions, setModelOptions] = useState<ModelOption[]>([]);
71
- const [loadingModels, setLoadingModels] = useState(false);
72
- const [modelModalVisible, setModelModalVisible] = useState(false);
73
- const [effortModalVisible, setEffortModalVisible] = useState(false);
74
- const [approvalModeModalVisible, setApprovalModeModalVisible] = useState(false);
75
- const [account, setAccount] = useState<AccountSnapshot | null>(null);
76
- const [accountLoading, setAccountLoading] = useState(false);
77
- const [accountError, setAccountError] = useState<string | null>(null);
78
-
79
- const normalizedDefaultModelId = normalizeModelId(defaultModelId);
80
- const normalizedDefaultEffort = normalizeReasoningEffort(defaultReasoningEffort);
81
- const selectedDefaultModel = useMemo(
82
- () =>
83
- normalizedDefaultModelId
84
- ? modelOptions.find((model) => model.id === normalizedDefaultModelId) ?? null
85
- : null,
86
- [modelOptions, normalizedDefaultModelId]
87
- );
88
- const selectedDefaultModelEfforts = selectedDefaultModel?.reasoningEffort ?? [];
89
- const canSelectDefaultEffort = Boolean(normalizedDefaultModelId);
90
- const defaultModelLabel = normalizedDefaultModelId
91
- ? selectedDefaultModel
92
- ? `${selectedDefaultModel.displayName} (${selectedDefaultModel.id})`
93
- : normalizedDefaultModelId
94
- : 'Server default';
95
- const defaultEffortLabel = normalizedDefaultModelId
96
- ? normalizedDefaultEffort
97
- ? formatReasoningEffort(normalizedDefaultEffort)
98
- : selectedDefaultModel?.defaultReasoningEffort
99
- ? `Default (${formatReasoningEffort(selectedDefaultModel.defaultReasoningEffort)})`
100
- : 'Model default'
101
- : 'Server default';
102
- const normalizedApprovalMode = approvalMode === 'yolo' ? 'yolo' : 'normal';
103
- const approvalModeLabel =
104
- normalizedApprovalMode === 'yolo'
105
- ? 'YOLO (no approval prompts)'
106
- : 'Normal (ask for approvals)';
107
-
108
- const checkHealth = useCallback(async () => {
109
- try {
110
- const h = await api.health();
111
- setHealthyAt(h.at);
112
- setUptimeSec(h.uptimeSec);
113
- setError(null);
114
- } catch (err) {
115
- setError((err as Error).message);
116
- }
117
- }, [api]);
118
-
119
- const refreshModelOptions = useCallback(async () => {
120
- setLoadingModels(true);
121
- try {
122
- const models = await api.listModels(false);
123
- setModelOptions(models);
124
- setError(null);
125
- } catch (err) {
126
- setError((err as Error).message);
127
- } finally {
128
- setLoadingModels(false);
129
- }
130
- }, [api]);
131
-
132
- const loadAccount = useCallback(async () => {
133
- setAccountLoading(true);
134
- try {
135
- const snapshot = await api.readAccount();
136
- setAccount(snapshot);
137
- setAccountError(null);
138
- } catch (err) {
139
- setAccountError((err as Error).message);
140
- } finally {
141
- setAccountLoading(false);
142
- }
143
- }, [api]);
144
-
145
- useEffect(() => {
146
- const t = setTimeout(() => {
147
- void checkHealth();
148
- void refreshModelOptions();
149
- void loadAccount();
150
- }, 0);
151
- return () => clearTimeout(t);
152
- }, [checkHealth, loadAccount, refreshModelOptions]);
153
-
154
- useEffect(
155
- () =>
156
- ws.onStatus((connected) => {
157
- setWsConnected(connected);
158
- if (connected) {
159
- void loadAccount();
160
- }
161
- }),
162
- [loadAccount, ws]
163
- );
164
-
165
- useEffect(
166
- () =>
167
- ws.onEvent((event) => {
168
- if (event.method === 'account/updated') {
169
- void loadAccount();
170
- }
171
- }),
172
- [loadAccount, ws]
173
- );
174
-
175
- const openModelModal = useCallback(() => {
176
- setModelModalVisible(true);
177
- if (modelOptions.length === 0 && !loadingModels) {
178
- void refreshModelOptions();
179
- }
180
- }, [loadingModels, modelOptions.length, refreshModelOptions]);
181
-
182
- const closeModelModal = useCallback(() => {
183
- if (loadingModels) {
184
- return;
185
- }
186
- setModelModalVisible(false);
187
- }, [loadingModels]);
188
-
189
- const openEffortModal = useCallback(() => {
190
- if (!normalizedDefaultModelId) {
191
- setError('Select a default model first');
192
- return;
193
- }
194
-
195
- const selectedModel =
196
- modelOptions.find((model) => model.id === normalizedDefaultModelId) ?? null;
197
- if (!selectedModel) {
198
- setError('Loading model info. Try again.');
199
- if (!loadingModels) {
200
- void refreshModelOptions();
201
- }
202
- return;
203
- }
204
-
205
- if ((selectedModel.reasoningEffort?.length ?? 0) === 0) {
206
- setError('Selected model does not expose reasoning levels');
207
- return;
208
- }
209
-
210
- setEffortModalVisible(true);
211
- setError(null);
212
- }, [
213
- loadingModels,
214
- modelOptions,
215
- normalizedDefaultModelId,
216
- refreshModelOptions,
217
- ]);
218
-
219
- const selectDefaultModel = useCallback(
220
- (modelId: string | null) => {
221
- const normalizedModel = normalizeModelId(modelId);
222
- const nextModel = normalizedModel
223
- ? modelOptions.find((model) => model.id === normalizedModel) ?? null
224
- : null;
225
- const currentEffort = normalizeReasoningEffort(defaultReasoningEffort);
226
-
227
- let nextEffort: ReasoningEffort | null = null;
228
- if (normalizedModel && nextModel) {
229
- const supportedEfforts = nextModel.reasoningEffort ?? [];
230
- nextEffort =
231
- currentEffort &&
232
- supportedEfforts.some((entry) => entry.effort === currentEffort)
233
- ? currentEffort
234
- : null;
235
- }
236
-
237
- onDefaultModelSettingsChange?.(normalizedModel, nextEffort);
238
- setModelModalVisible(false);
239
- setError(null);
240
-
241
- if (normalizedModel && nextModel && (nextModel.reasoningEffort?.length ?? 0) > 0) {
242
- setEffortModalVisible(true);
243
- } else {
244
- setEffortModalVisible(false);
245
- }
246
- },
247
- [defaultReasoningEffort, modelOptions, onDefaultModelSettingsChange]
248
- );
249
-
250
- const selectDefaultEffort = useCallback(
251
- (effort: ReasoningEffort | null) => {
252
- if (!normalizedDefaultModelId) {
253
- setError('Select a default model first');
254
- return;
255
- }
256
-
257
- onDefaultModelSettingsChange?.(normalizedDefaultModelId, effort);
258
- setEffortModalVisible(false);
259
- setError(null);
260
- },
261
- [normalizedDefaultModelId, onDefaultModelSettingsChange]
262
- );
263
-
264
- const selectApprovalMode = useCallback(
265
- (mode: ApprovalMode) => {
266
- onApprovalModeChange?.(mode);
267
- setApprovalModeModalVisible(false);
268
- setError(null);
269
- },
270
- [onApprovalModeChange]
271
- );
272
-
273
- const approvalModeOptions = useMemo<SelectionSheetOption[]>(
274
- () => [
275
- {
276
- key: 'normal',
277
- title: 'Normal approvals',
278
- description: 'Ask before commands and file-changing actions run.',
279
- icon: 'shield-checkmark-outline',
280
- selected: normalizedApprovalMode === 'normal',
281
- onPress: () => selectApprovalMode('normal'),
282
- },
283
- {
284
- key: 'yolo',
285
- title: 'YOLO approvals',
286
- description: 'Run commands without prompting for approval.',
287
- icon: 'flash-outline',
288
- meta: 'Unsafe',
289
- selected: normalizedApprovalMode === 'yolo',
290
- onPress: () => selectApprovalMode('yolo'),
291
- },
292
- ],
293
- [normalizedApprovalMode, selectApprovalMode]
294
- );
295
-
296
- const modelPickerOptions = useMemo<SelectionSheetOption[]>(
297
- () => [
298
- {
299
- key: 'server-default',
300
- title: 'Use server default',
301
- description: 'Follow the bridge default model for new chats.',
302
- icon: 'sparkles-outline',
303
- badge: 'Auto',
304
- selected: normalizedDefaultModelId === null,
305
- onPress: () => selectDefaultModel(null),
306
- },
307
- ...modelOptions.map((model) => ({
308
- key: model.id,
309
- title: model.displayName,
310
- description: model.description?.trim() || model.id,
311
- icon: 'hardware-chip-outline' as const,
312
- badge: model.isDefault ? 'Default' : undefined,
313
- meta: model.defaultReasoningEffort
314
- ? formatReasoningEffort(model.defaultReasoningEffort)
315
- : undefined,
316
- selected: model.id === normalizedDefaultModelId,
317
- onPress: () => selectDefaultModel(model.id),
318
- })),
319
- ],
320
- [modelOptions, normalizedDefaultModelId, selectDefaultModel]
321
- );
322
-
323
- const effortPickerOptions = useMemo<SelectionSheetOption[]>(
324
- () => [
325
- {
326
- key: 'model-default',
327
- title: 'Use model default',
328
- description: selectedDefaultModel
329
- ? `Follow ${selectedDefaultModel.displayName}'s default reasoning.`
330
- : 'Follow the model default reasoning level.',
331
- icon: 'sparkles-outline',
332
- badge: 'Auto',
333
- selected: normalizedDefaultEffort === null,
334
- onPress: () => selectDefaultEffort(null),
335
- },
336
- ...selectedDefaultModelEfforts.map((option) => ({
337
- key: option.effort,
338
- title: formatReasoningEffort(option.effort),
339
- description:
340
- option.description?.trim() ||
341
- 'Override the default reasoning depth for new chats.',
342
- icon: 'pulse-outline' as const,
343
- selected: option.effort === normalizedDefaultEffort,
344
- onPress: () => selectDefaultEffort(option.effort),
345
- })),
346
- ],
347
- [
348
- normalizedDefaultEffort,
349
- selectDefaultEffort,
350
- selectedDefaultModel,
351
- selectedDefaultModelEfforts,
352
- ]
353
- );
354
-
355
- return (
356
- <View style={styles.container}>
357
- <LinearGradient
358
- colors={[colors.bgMain, colors.bgMain, colors.bgMain]}
359
- style={StyleSheet.absoluteFill}
360
- />
361
- <SafeAreaView style={styles.safeArea}>
362
- <BlurView intensity={80} tint="dark" style={styles.header}>
363
- <Pressable onPress={onOpenDrawer} hitSlop={8} style={styles.menuBtn}>
364
- <Ionicons name="menu" size={22} color={colors.textPrimary} />
365
- </Pressable>
366
- <Ionicons name="settings" size={16} color={colors.textPrimary} />
367
- <Text style={styles.headerTitle}>Settings</Text>
368
- </BlurView>
369
-
370
- <ScrollView style={styles.body} contentContainerStyle={styles.bodyContent}>
371
- <Text style={styles.sectionLabel}>Chat Defaults</Text>
372
- <BlurView intensity={50} tint="dark" style={styles.card}>
373
- <Pressable
374
- onPress={openModelModal}
375
- style={({ pressed }) => [
376
- styles.settingRow,
377
- pressed && styles.linkRowPressed,
378
- ]}
379
- >
380
- <View style={styles.settingRowLeft}>
381
- <Text style={styles.rowLabel}>Default model</Text>
382
- <Text style={styles.settingValue} numberOfLines={1}>
383
- {defaultModelLabel}
384
- </Text>
385
- </View>
386
- <Ionicons name="chevron-forward" size={16} color={colors.textMuted} />
387
- </Pressable>
388
- <Pressable
389
- onPress={openEffortModal}
390
- disabled={!canSelectDefaultEffort}
391
- style={({ pressed }) => [
392
- styles.settingRow,
393
- styles.settingRowLast,
394
- pressed && canSelectDefaultEffort && styles.linkRowPressed,
395
- !canSelectDefaultEffort && styles.settingRowDisabled,
396
- ]}
397
- >
398
- <View style={styles.settingRowLeft}>
399
- <Text style={styles.rowLabel}>Default reasoning</Text>
400
- <Text style={styles.settingValue} numberOfLines={1}>
401
- {defaultEffortLabel}
402
- </Text>
403
- </View>
404
- <Ionicons name="chevron-forward" size={16} color={colors.textMuted} />
405
- </Pressable>
406
- </BlurView>
407
-
408
- <Text style={[styles.sectionLabel, styles.sectionLabelGap]}>Approvals & Permissions</Text>
409
- <BlurView intensity={50} tint="dark" style={styles.card}>
410
- <Pressable
411
- onPress={() => setApprovalModeModalVisible(true)}
412
- style={({ pressed }) => [
413
- styles.settingRow,
414
- styles.settingRowLast,
415
- pressed && styles.linkRowPressed,
416
- ]}
417
- >
418
- <View style={styles.settingRowLeft}>
419
- <Text style={styles.rowLabel}>Execution approval mode</Text>
420
- <Text style={styles.settingValue} numberOfLines={2}>
421
- {approvalModeLabel}
422
- </Text>
423
- </View>
424
- <Ionicons name="chevron-forward" size={16} color={colors.textMuted} />
425
- </Pressable>
426
- </BlurView>
427
- <Text style={styles.subtleHintText}>
428
- This controls command/file-change approvals only. It does not affect
429
- request_user_input questions. Mobile chats request full Codex sandbox
430
- access by default.
431
- </Text>
432
-
433
- <Text style={[styles.sectionLabel, styles.sectionLabelGap]}>Transcript</Text>
434
- <BlurView intensity={50} tint="dark" style={styles.card}>
435
- <View style={[styles.settingRow, styles.settingRowLast]}>
436
- <View style={styles.settingRowLeft}>
437
- <Text style={styles.rowLabel}>Show tool calls</Text>
438
- <Text style={styles.settingValue} numberOfLines={2}>
439
- Show web searches, MCP/OpenAI docs calls, commands, and file changes.
440
- </Text>
441
- </View>
442
- <Switch
443
- value={showToolCalls}
444
- onValueChange={(value) => onShowToolCallsChange?.(value)}
445
- trackColor={{ false: colors.borderLight, true: colors.accent }}
446
- thumbColor={colors.textPrimary}
447
- ios_backgroundColor={colors.borderLight}
448
- />
449
- </View>
450
- </BlurView>
451
- <Text style={styles.subtleHintText}>
452
- Live tool activity stays in a capped panel so the chat list does not
453
- start jumping while a turn is running.
454
- </Text>
455
-
456
- <Text style={[styles.sectionLabel, styles.sectionLabelGap]}>Account & Auth</Text>
457
- <BlurView intensity={50} tint="dark" style={styles.card}>
458
- {accountLoading ? (
459
- <View style={styles.accountLoadingState}>
460
- <ActivityIndicator color={colors.textPrimary} />
461
- <Text style={styles.settingValue}>Loading account details…</Text>
462
- </View>
463
- ) : (
464
- <>
465
- <Row
466
- label="Status"
467
- value={formatAccountType(account)}
468
- valueColor={account?.type ? colors.statusComplete : colors.textMuted}
469
- />
470
- {account?.email ? (
471
- <Row label="Email" value={account.email} />
472
- ) : null}
473
- {account?.planType ? (
474
- <Row label="Plan" value={formatPlanType(account.planType)} />
475
- ) : null}
476
- <Row
477
- label="Bridge auth"
478
- value={account?.requiresOpenaiAuth ? 'Required' : 'Optional'}
479
- isLast
480
- />
481
- </>
482
- )}
483
- </BlurView>
484
- {account?.type === null && account?.requiresOpenaiAuth ? (
485
- <Text style={styles.subtleHintText}>
486
- The bridge expects OpenAI auth, but mobile does not expose a login flow yet.
487
- </Text>
488
- ) : null}
489
- {accountError ? <Text style={styles.errorText}>{accountError}</Text> : null}
490
-
491
- <Text style={[styles.sectionLabel, styles.sectionLabelGap]}>Bridge</Text>
492
- <BlurView intensity={50} tint="dark" style={styles.card}>
493
- <Text selectable style={styles.valueText}>
494
- {bridgeUrl}
495
- </Text>
496
- <Pressable
497
- onPress={onEditBridgeUrl}
498
- style={({ pressed }) => [
499
- styles.bridgeEditBtn,
500
- pressed && styles.bridgeEditBtnPressed,
501
- ]}
502
- >
503
- <Ionicons name="swap-horizontal-outline" size={15} color={colors.textPrimary} />
504
- <Text style={styles.bridgeEditBtnText}>Change bridge URL</Text>
505
- </Pressable>
506
- <Pressable
507
- onPress={onResetOnboarding}
508
- style={({ pressed }) => [
509
- styles.bridgeResetBtn,
510
- pressed && styles.bridgeResetBtnPressed,
511
- ]}
512
- >
513
- <Ionicons name="refresh-circle-outline" size={15} color={colors.error} />
514
- <Text style={styles.bridgeResetBtnText}>Reset onboarding</Text>
515
- </Pressable>
516
- </BlurView>
517
-
518
- <Text style={[styles.sectionLabel, styles.sectionLabelGap]}>Health</Text>
519
- <BlurView intensity={50} tint="dark" style={styles.card}>
520
- <Row
521
- label="Status"
522
- value={healthyAt ? 'OK' : 'Unknown'}
523
- valueColor={healthyAt ? colors.statusComplete : colors.textMuted}
524
- />
525
- <Row label="Last seen" value={healthyAt ?? '—'} />
526
- <Row label="Uptime" value={uptimeSec !== null ? `${uptimeSec}s` : '—'} />
527
- <Row
528
- label="WebSocket"
529
- value={wsConnected ? 'Connected' : 'Disconnected'}
530
- valueColor={wsConnected ? colors.statusComplete : colors.statusError}
531
- isLast
532
- />
533
- </BlurView>
534
-
535
- <Pressable
536
- onPress={() => {
537
- void checkHealth();
538
- void refreshModelOptions();
539
- void loadAccount();
540
- }}
541
- style={({ pressed }) => [styles.refreshBtn, pressed && styles.refreshBtnPressed]}
542
- >
543
- <Ionicons name="refresh" size={16} color={colors.white} />
544
- <Text style={styles.refreshBtnText}>Refresh settings</Text>
545
- </Pressable>
546
-
547
- <Text style={[styles.sectionLabel, styles.sectionLabelGap]}>Legal</Text>
548
- <BlurView intensity={50} tint="dark" style={styles.card}>
549
- <Pressable
550
- onPress={onOpenPrivacy}
551
- style={({ pressed }) => [styles.linkRow, pressed && styles.linkRowPressed]}
552
- >
553
- <View style={styles.linkRowLeft}>
554
- <Ionicons name="shield-checkmark-outline" size={16} color={colors.textPrimary} />
555
- <Text style={styles.linkRowLabel}>Privacy details</Text>
556
- </View>
557
- <Ionicons name="chevron-forward" size={16} color={colors.textMuted} />
558
- </Pressable>
559
- <Pressable
560
- onPress={onOpenTerms}
561
- style={({ pressed }) => [styles.linkRow, pressed && styles.linkRowPressed]}
562
- >
563
- <View style={styles.linkRowLeft}>
564
- <Ionicons name="document-text-outline" size={16} color={colors.textPrimary} />
565
- <Text style={styles.linkRowLabel}>Terms of service</Text>
566
- </View>
567
- <Ionicons name="chevron-forward" size={16} color={colors.textMuted} />
568
- </Pressable>
569
- </BlurView>
570
-
571
- {error ? <Text style={styles.errorText}>{error}</Text> : null}
572
- </ScrollView>
573
- </SafeAreaView>
574
-
575
- <SelectionSheet
576
- visible={approvalModeModalVisible}
577
- eyebrow="Approvals"
578
- title="Execution approval mode"
579
- subtitle="This only affects command and file-change approvals."
580
- options={approvalModeOptions}
581
- onClose={() => setApprovalModeModalVisible(false)}
582
- />
583
-
584
- <SelectionSheet
585
- visible={modelModalVisible}
586
- eyebrow="Defaults"
587
- title="Default model"
588
- subtitle="Pick the model new chats should start with."
589
- options={modelPickerOptions}
590
- loading={loadingModels}
591
- loadingLabel="Refreshing available models…"
592
- presentation="expanded"
593
- onClose={closeModelModal}
594
- />
595
-
596
- <SelectionSheet
597
- visible={effortModalVisible}
598
- eyebrow="Defaults"
599
- title="Default reasoning"
600
- subtitle={
601
- selectedDefaultModel
602
- ? `Current model: ${selectedDefaultModel.displayName}`
603
- : 'Choose the default reasoning depth for new chats.'
604
- }
605
- options={effortPickerOptions}
606
- presentation="expanded"
607
- onClose={() => setEffortModalVisible(false)}
608
- />
609
- </View>
610
- );
611
- }
612
-
613
- function Row({
614
- label,
615
- value,
616
- valueColor,
617
- isLast,
618
- }: {
619
- label: string;
620
- value: string;
621
- valueColor?: string;
622
- isLast?: boolean;
623
- }) {
624
- return (
625
- <View style={[styles.row, isLast && styles.rowLast]}>
626
- <Text style={styles.rowLabel}>{label}</Text>
627
- <Text style={[styles.rowValue, valueColor ? { color: valueColor } : undefined]}>
628
- {value}
629
- </Text>
630
- </View>
631
- );
632
- }
633
-
634
- const styles = StyleSheet.create({
635
- container: { flex: 1, backgroundColor: colors.bgMain },
636
- safeArea: { flex: 1 },
637
- header: {
638
- flexDirection: 'row',
639
- alignItems: 'center',
640
- gap: spacing.sm,
641
- paddingHorizontal: spacing.lg,
642
- paddingVertical: spacing.md,
643
- borderBottomWidth: StyleSheet.hairlineWidth,
644
- borderBottomColor: colors.borderHighlight,
645
- },
646
- menuBtn: { padding: spacing.xs },
647
- headerTitle: { ...typography.headline, color: colors.textPrimary },
648
- body: { flex: 1 },
649
- bodyContent: { padding: spacing.lg },
650
- card: {
651
- borderRadius: radius.md,
652
- borderWidth: StyleSheet.hairlineWidth,
653
- borderColor: colors.borderHighlight,
654
- paddingHorizontal: spacing.lg,
655
- marginBottom: spacing.xs,
656
- overflow: 'hidden',
657
- },
658
- sectionLabel: {
659
- ...typography.caption,
660
- textTransform: 'uppercase',
661
- letterSpacing: 0.8,
662
- marginTop: spacing.sm,
663
- marginBottom: spacing.sm,
664
- color: colors.textMuted,
665
- marginLeft: spacing.xs,
666
- },
667
- sectionLabelGap: { marginTop: spacing.xl },
668
- valueText: {
669
- ...typography.mono,
670
- color: colors.textPrimary,
671
- paddingVertical: spacing.md,
672
- fontSize: 14,
673
- },
674
- bridgeEditBtn: {
675
- marginBottom: spacing.md,
676
- borderRadius: radius.md,
677
- borderWidth: 1,
678
- borderColor: colors.border,
679
- backgroundColor: colors.bgMain,
680
- flexDirection: 'row',
681
- alignItems: 'center',
682
- justifyContent: 'center',
683
- gap: spacing.xs,
684
- paddingVertical: spacing.sm,
685
- },
686
- bridgeEditBtnPressed: {
687
- opacity: 0.82,
688
- },
689
- bridgeEditBtnText: {
690
- ...typography.caption,
691
- color: colors.textPrimary,
692
- fontWeight: '600',
693
- },
694
- bridgeResetBtn: {
695
- marginBottom: spacing.md,
696
- borderRadius: radius.md,
697
- borderWidth: 1,
698
- borderColor: colors.error,
699
- backgroundColor: 'rgba(239, 68, 68, 0.08)',
700
- flexDirection: 'row',
701
- alignItems: 'center',
702
- justifyContent: 'center',
703
- gap: spacing.xs,
704
- paddingVertical: spacing.sm,
705
- },
706
- bridgeResetBtnPressed: {
707
- opacity: 0.82,
708
- },
709
- bridgeResetBtnText: {
710
- ...typography.caption,
711
- color: colors.error,
712
- fontWeight: '700',
713
- },
714
- row: {
715
- flexDirection: 'row',
716
- justifyContent: 'space-between',
717
- paddingVertical: spacing.md,
718
- borderBottomWidth: StyleSheet.hairlineWidth,
719
- borderBottomColor: colors.borderLight,
720
- },
721
- rowLast: {
722
- borderBottomWidth: 0,
723
- },
724
- rowLabel: { ...typography.body, color: colors.textMuted },
725
- rowValue: { ...typography.body, fontWeight: '600', color: colors.textPrimary },
726
- settingRow: {
727
- flexDirection: 'row',
728
- alignItems: 'center',
729
- justifyContent: 'space-between',
730
- gap: spacing.sm,
731
- paddingVertical: spacing.md,
732
- borderBottomWidth: StyleSheet.hairlineWidth,
733
- borderBottomColor: colors.borderLight,
734
- },
735
- settingRowLast: {
736
- borderBottomWidth: 0,
737
- },
738
- settingRowLeft: {
739
- flex: 1,
740
- gap: 3,
741
- },
742
- settingValue: {
743
- ...typography.caption,
744
- color: colors.textSecondary,
745
- },
746
- settingRowDisabled: {
747
- opacity: 0.45,
748
- },
749
- subtleHintText: {
750
- ...typography.caption,
751
- color: colors.textMuted,
752
- marginTop: spacing.xs,
753
- marginHorizontal: spacing.xs,
754
- },
755
- accountLoadingState: {
756
- minHeight: 88,
757
- alignItems: 'center',
758
- justifyContent: 'center',
759
- gap: spacing.sm,
760
- },
761
- refreshBtn: {
762
- flexDirection: 'row',
763
- alignItems: 'center',
764
- justifyContent: 'center',
765
- gap: spacing.sm,
766
- marginTop: spacing.xl,
767
- paddingVertical: spacing.md,
768
- paddingHorizontal: spacing.md,
769
- backgroundColor: colors.accent,
770
- borderRadius: radius.md,
771
- boxShadow: `0px 4px 8px ${colors.accent}4D`,
772
- },
773
- refreshBtnPressed: { backgroundColor: colors.accentPressed },
774
- refreshBtnText: { ...typography.headline, color: colors.white, fontSize: 15 },
775
- linkRow: {
776
- flexDirection: 'row',
777
- alignItems: 'center',
778
- justifyContent: 'space-between',
779
- paddingVertical: spacing.md,
780
- },
781
- linkRowPressed: {
782
- opacity: 0.75,
783
- },
784
- linkRowLeft: {
785
- flexDirection: 'row',
786
- alignItems: 'center',
787
- gap: spacing.sm,
788
- },
789
- linkRowLabel: {
790
- ...typography.body,
791
- color: colors.textPrimary,
792
- fontWeight: '600',
793
- },
794
- errorText: {
795
- ...typography.caption,
796
- color: colors.error,
797
- marginTop: spacing.md,
798
- textAlign: 'center',
799
- },
800
- });
801
-
802
- function normalizeModelId(value: string | null | undefined): string | null {
803
- if (typeof value !== 'string') {
804
- return null;
805
- }
806
-
807
- const trimmed = value.trim();
808
- return trimmed.length > 0 ? trimmed : null;
809
- }
810
-
811
- function normalizeReasoningEffort(
812
- effort: string | null | undefined
813
- ): ReasoningEffort | null {
814
- if (typeof effort !== 'string') {
815
- return null;
816
- }
817
-
818
- const normalized = effort.trim().toLowerCase();
819
- if (
820
- normalized === 'none' ||
821
- normalized === 'minimal' ||
822
- normalized === 'low' ||
823
- normalized === 'medium' ||
824
- normalized === 'high' ||
825
- normalized === 'xhigh'
826
- ) {
827
- return normalized;
828
- }
829
-
830
- return null;
831
- }
832
-
833
- function formatReasoningEffort(effort: ReasoningEffort): string {
834
- if (effort === 'xhigh') {
835
- return 'X-High';
836
- }
837
- if (effort === 'none') {
838
- return 'None';
839
- }
840
- if (effort === 'minimal') {
841
- return 'Minimal';
842
- }
843
-
844
- return effort.charAt(0).toUpperCase() + effort.slice(1);
845
- }
846
-
847
- function formatAccountType(account: AccountSnapshot | null): string {
848
- if (!account?.type) {
849
- return 'Signed out';
850
- }
851
-
852
- return account.type === 'chatgpt' ? 'ChatGPT' : 'API key';
853
- }
854
-
855
- function formatPlanType(planType: PlanType): string {
856
- if (planType === 'pro') {
857
- return 'Pro';
858
- }
859
- if (planType === 'plus') {
860
- return 'Plus';
861
- }
862
- if (planType === 'go') {
863
- return 'Go';
864
- }
865
- if (planType === 'edu') {
866
- return 'Edu';
867
- }
868
-
869
- return planType.charAt(0).toUpperCase() + planType.slice(1);
870
- }