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.
- package/README.md +4 -0
- package/docs/setup-and-operations.md +3 -1
- package/docs/troubleshooting.md +1 -0
- package/package.json +18 -8
- package/scripts/setup-secure-dev.sh +26 -17
- package/services/rust-bridge/Cargo.lock +1 -1
- package/services/rust-bridge/Cargo.toml +1 -1
- package/vendor/bridge-binaries/darwin-arm64/codex-rust-bridge +0 -0
- package/vendor/bridge-binaries/darwin-x64/codex-rust-bridge +0 -0
- package/vendor/bridge-binaries/linux-x64/codex-rust-bridge +0 -0
- package/vendor/bridge-binaries/win32-x64/codex-rust-bridge.exe +0 -0
- package/.artifacts/bridge-binaries/bridge-binaries-darwin-arm64/codex-rust-bridge +0 -0
- package/.artifacts/bridge-binaries/bridge-binaries-darwin-x64/codex-rust-bridge +0 -0
- package/.artifacts/bridge-binaries/bridge-binaries-linux-x64/codex-rust-bridge +0 -0
- package/.artifacts/bridge-binaries/bridge-binaries-win32-x64/codex-rust-bridge.exe +0 -0
- package/.github/workflows/ci.yml +0 -80
- package/.github/workflows/npm-release.yml +0 -208
- package/.github/workflows/pages.yml +0 -41
- package/AGENTS.md +0 -273
- package/STATUS.md +0 -115
- package/apps/mobile/.env.example +0 -6
- package/apps/mobile/App.tsx +0 -943
- package/apps/mobile/app.json +0 -77
- package/apps/mobile/assets/brand/adaptive-icon.png +0 -0
- package/apps/mobile/assets/brand/app-icon.png +0 -0
- package/apps/mobile/assets/brand/favicon.png +0 -0
- package/apps/mobile/assets/brand/mark.png +0 -0
- package/apps/mobile/assets/brand/splash-icon-white.png +0 -0
- package/apps/mobile/assets/brand/splash-icon.png +0 -0
- package/apps/mobile/babel.config.js +0 -7
- package/apps/mobile/eas.json +0 -40
- package/apps/mobile/eslint.config.cjs +0 -28
- package/apps/mobile/index.js +0 -5
- package/apps/mobile/package.json +0 -57
- package/apps/mobile/plugins/withAndroidCleartextTraffic.js +0 -14
- package/apps/mobile/src/api/__tests__/chatMapping.test.ts +0 -351
- package/apps/mobile/src/api/__tests__/client.test.ts +0 -1494
- package/apps/mobile/src/api/__tests__/ws.test.ts +0 -640
- package/apps/mobile/src/api/account.ts +0 -47
- package/apps/mobile/src/api/chatMapping.ts +0 -1048
- package/apps/mobile/src/api/client.ts +0 -1430
- package/apps/mobile/src/api/rateLimits.ts +0 -143
- package/apps/mobile/src/api/types.ts +0 -435
- package/apps/mobile/src/api/ws.ts +0 -852
- package/apps/mobile/src/bridgeUrl.ts +0 -105
- package/apps/mobile/src/components/ActivityBar.tsx +0 -95
- package/apps/mobile/src/components/ApprovalBanner.tsx +0 -207
- package/apps/mobile/src/components/BrandMark.tsx +0 -43
- package/apps/mobile/src/components/ChatHeader.tsx +0 -107
- package/apps/mobile/src/components/ChatInput.tsx +0 -457
- package/apps/mobile/src/components/ChatMessage.tsx +0 -959
- package/apps/mobile/src/components/ComposerUsageLimits.tsx +0 -167
- package/apps/mobile/src/components/SelectionSheet.tsx +0 -466
- package/apps/mobile/src/components/StatusLine.tsx +0 -52
- package/apps/mobile/src/components/ToolBlock.tsx +0 -67
- package/apps/mobile/src/components/TypingIndicator.tsx +0 -64
- package/apps/mobile/src/components/VoiceRecordingWaveform.tsx +0 -181
- package/apps/mobile/src/components/WorkspacePickerModal.tsx +0 -812
- package/apps/mobile/src/components/__tests__/chat-input-layout.test.ts +0 -35
- package/apps/mobile/src/components/__tests__/chatImageSource.test.ts +0 -44
- package/apps/mobile/src/components/__tests__/composerUsageLimits.test.ts +0 -138
- package/apps/mobile/src/components/__tests__/voiceWaveform.test.ts +0 -31
- package/apps/mobile/src/components/chat-input-layout.ts +0 -59
- package/apps/mobile/src/components/chatImageSource.ts +0 -86
- package/apps/mobile/src/components/usageLimitBadges.ts +0 -109
- package/apps/mobile/src/components/voiceWaveform.ts +0 -46
- package/apps/mobile/src/config.ts +0 -64
- package/apps/mobile/src/hooks/useVoiceRecorder.ts +0 -271
- package/apps/mobile/src/navigation/DrawerContent.tsx +0 -1129
- package/apps/mobile/src/navigation/__tests__/chatThreadTree.test.ts +0 -89
- package/apps/mobile/src/navigation/__tests__/drawerChats.test.ts +0 -65
- package/apps/mobile/src/navigation/chatThreadTree.ts +0 -191
- package/apps/mobile/src/navigation/drawerChats.ts +0 -9
- package/apps/mobile/src/screens/GitScreen.tsx +0 -1489
- package/apps/mobile/src/screens/MainScreen.tsx +0 -10511
- package/apps/mobile/src/screens/OnboardingScreen.tsx +0 -1746
- package/apps/mobile/src/screens/PrivacyScreen.tsx +0 -196
- package/apps/mobile/src/screens/SettingsScreen.tsx +0 -870
- package/apps/mobile/src/screens/TerminalScreen.tsx +0 -248
- package/apps/mobile/src/screens/TermsScreen.tsx +0 -192
- package/apps/mobile/src/screens/__tests__/agentThreadDisplay.test.ts +0 -80
- package/apps/mobile/src/screens/__tests__/agentThreads.test.ts +0 -170
- package/apps/mobile/src/screens/__tests__/gitDiff.test.ts +0 -131
- package/apps/mobile/src/screens/__tests__/planCardState.test.ts +0 -88
- package/apps/mobile/src/screens/__tests__/subAgentTranscript.test.ts +0 -102
- package/apps/mobile/src/screens/__tests__/transcriptMessages.test.ts +0 -97
- package/apps/mobile/src/screens/agentThreadDisplay.ts +0 -261
- package/apps/mobile/src/screens/agentThreads.ts +0 -167
- package/apps/mobile/src/screens/gitDiff.ts +0 -380
- package/apps/mobile/src/screens/planCardState.ts +0 -40
- package/apps/mobile/src/screens/subAgentTranscript.ts +0 -149
- package/apps/mobile/src/screens/transcriptMessages.ts +0 -102
- package/apps/mobile/src/theme.ts +0 -106
- package/apps/mobile/src/types/assets.d.ts +0 -4
- package/apps/mobile/tsconfig.json +0 -33
- package/docs/app-review-notes.md +0 -116
- package/docs/codex-app-server-cli-gap-tracker.md +0 -90
- package/docs/eas-builds.md +0 -91
- package/docs/open-source-license-requirements.md +0 -32
- package/docs/plans/2026-02-20-codex-desktop-style-redesign.md +0 -190
- package/docs/plans/2026-02-20-codex-mobile-implementation.md +0 -1630
- package/docs/plans/2026-02-21-codex-ui-redesign-design.md +0 -101
- package/docs/plans/2026-02-21-codex-ui-redesign.md +0 -1229
- package/docs/privacy-policy.md +0 -54
- package/docs/realtime-streaming-limitations.md +0 -161
- package/docs/terms-of-service.md +0 -33
- package/docs/voice-transcription.md +0 -87
- package/scripts/codex-live-demo.sh +0 -69
- package/scripts/start-bridge-secure.sh +0 -5
- package/scripts/start-expo.sh +0 -176
- package/scripts/sync-versions.js +0 -63
- package/scripts/teardown.sh +0 -136
- package/services/mac-bridge/.env.example +0 -10
- package/services/mac-bridge/codex-types/AbsolutePathBuf.ts +0 -14
- package/services/mac-bridge/codex-types/AddConversationListenerParams.ts +0 -6
- package/services/mac-bridge/codex-types/AddConversationSubscriptionResponse.ts +0 -5
- package/services/mac-bridge/codex-types/AgentMessageContent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentMessageContentDeltaEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentMessageDeltaEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentMessageEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentMessageItem.ts +0 -21
- package/services/mac-bridge/codex-types/AgentReasoningDeltaEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentReasoningEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentReasoningRawContentDeltaEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentReasoningRawContentEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentReasoningSectionBreakEvent.ts +0 -5
- package/services/mac-bridge/codex-types/AgentStatus.ts +0 -8
- package/services/mac-bridge/codex-types/ApplyPatchApprovalParams.ts +0 -21
- package/services/mac-bridge/codex-types/ApplyPatchApprovalRequestEvent.ts +0 -23
- package/services/mac-bridge/codex-types/ApplyPatchApprovalResponse.ts +0 -6
- package/services/mac-bridge/codex-types/ArchiveConversationParams.ts +0 -6
- package/services/mac-bridge/codex-types/ArchiveConversationResponse.ts +0 -5
- package/services/mac-bridge/codex-types/AskForApproval.ts +0 -9
- package/services/mac-bridge/codex-types/AuthMode.ts +0 -8
- package/services/mac-bridge/codex-types/AuthStatusChangeNotification.ts +0 -9
- package/services/mac-bridge/codex-types/BackgroundEventEvent.ts +0 -5
- package/services/mac-bridge/codex-types/ByteRange.ts +0 -13
- package/services/mac-bridge/codex-types/CallToolResult.ts +0 -9
- package/services/mac-bridge/codex-types/CancelLoginChatGptParams.ts +0 -5
- package/services/mac-bridge/codex-types/CancelLoginChatGptResponse.ts +0 -5
- package/services/mac-bridge/codex-types/ClientInfo.ts +0 -5
- package/services/mac-bridge/codex-types/ClientNotification.ts +0 -5
- package/services/mac-bridge/codex-types/ClientRequest.ts +0 -60
- package/services/mac-bridge/codex-types/CodexErrorInfo.ts +0 -8
- package/services/mac-bridge/codex-types/CollabAgentInteractionBeginEvent.ts +0 -23
- package/services/mac-bridge/codex-types/CollabAgentInteractionEndEvent.ts +0 -28
- package/services/mac-bridge/codex-types/CollabAgentSpawnBeginEvent.ts +0 -19
- package/services/mac-bridge/codex-types/CollabAgentSpawnEndEvent.ts +0 -28
- package/services/mac-bridge/codex-types/CollabCloseBeginEvent.ts +0 -18
- package/services/mac-bridge/codex-types/CollabCloseEndEvent.ts +0 -24
- package/services/mac-bridge/codex-types/CollabResumeBeginEvent.ts +0 -18
- package/services/mac-bridge/codex-types/CollabResumeEndEvent.ts +0 -24
- package/services/mac-bridge/codex-types/CollabWaitingBeginEvent.ts +0 -18
- package/services/mac-bridge/codex-types/CollabWaitingEndEvent.ts +0 -19
- package/services/mac-bridge/codex-types/CollaborationMode.ts +0 -10
- package/services/mac-bridge/codex-types/CollaborationModeMask.ts +0 -11
- package/services/mac-bridge/codex-types/ContentItem.ts +0 -5
- package/services/mac-bridge/codex-types/ContextCompactedEvent.ts +0 -5
- package/services/mac-bridge/codex-types/ContextCompactionItem.ts +0 -5
- package/services/mac-bridge/codex-types/ConversationGitInfo.ts +0 -5
- package/services/mac-bridge/codex-types/ConversationSummary.ts +0 -8
- package/services/mac-bridge/codex-types/CreditsSnapshot.ts +0 -5
- package/services/mac-bridge/codex-types/CustomPrompt.ts +0 -5
- package/services/mac-bridge/codex-types/DeprecationNoticeEvent.ts +0 -13
- package/services/mac-bridge/codex-types/DynamicToolCallRequest.ts +0 -6
- package/services/mac-bridge/codex-types/ElicitationRequestEvent.ts +0 -5
- package/services/mac-bridge/codex-types/ErrorEvent.ts +0 -6
- package/services/mac-bridge/codex-types/EventMsg.ts +0 -78
- package/services/mac-bridge/codex-types/ExecApprovalRequestEvent.ts +0 -44
- package/services/mac-bridge/codex-types/ExecCommandApprovalParams.ts +0 -16
- package/services/mac-bridge/codex-types/ExecCommandApprovalResponse.ts +0 -6
- package/services/mac-bridge/codex-types/ExecCommandBeginEvent.ts +0 -35
- package/services/mac-bridge/codex-types/ExecCommandEndEvent.ts +0 -64
- package/services/mac-bridge/codex-types/ExecCommandOutputDeltaEvent.ts +0 -18
- package/services/mac-bridge/codex-types/ExecCommandSource.ts +0 -5
- package/services/mac-bridge/codex-types/ExecCommandStatus.ts +0 -5
- package/services/mac-bridge/codex-types/ExecOneOffCommandParams.ts +0 -6
- package/services/mac-bridge/codex-types/ExecOneOffCommandResponse.ts +0 -5
- package/services/mac-bridge/codex-types/ExecOutputStream.ts +0 -5
- package/services/mac-bridge/codex-types/ExecPolicyAmendment.ts +0 -12
- package/services/mac-bridge/codex-types/ExitedReviewModeEvent.ts +0 -6
- package/services/mac-bridge/codex-types/FileChange.ts +0 -5
- package/services/mac-bridge/codex-types/ForcedLoginMethod.ts +0 -5
- package/services/mac-bridge/codex-types/ForkConversationParams.ts +0 -7
- package/services/mac-bridge/codex-types/ForkConversationResponse.ts +0 -7
- package/services/mac-bridge/codex-types/FunctionCallOutputBody.ts +0 -6
- package/services/mac-bridge/codex-types/FunctionCallOutputContentItem.ts +0 -9
- package/services/mac-bridge/codex-types/FunctionCallOutputPayload.ts +0 -12
- package/services/mac-bridge/codex-types/FuzzyFileSearchParams.ts +0 -5
- package/services/mac-bridge/codex-types/FuzzyFileSearchResponse.ts +0 -6
- package/services/mac-bridge/codex-types/FuzzyFileSearchResult.ts +0 -8
- package/services/mac-bridge/codex-types/FuzzyFileSearchSessionCompletedNotification.ts +0 -5
- package/services/mac-bridge/codex-types/FuzzyFileSearchSessionUpdatedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/GetAuthStatusParams.ts +0 -5
- package/services/mac-bridge/codex-types/GetAuthStatusResponse.ts +0 -6
- package/services/mac-bridge/codex-types/GetConversationSummaryParams.ts +0 -6
- package/services/mac-bridge/codex-types/GetConversationSummaryResponse.ts +0 -6
- package/services/mac-bridge/codex-types/GetHistoryEntryResponseEvent.ts +0 -10
- package/services/mac-bridge/codex-types/GetUserAgentResponse.ts +0 -5
- package/services/mac-bridge/codex-types/GetUserSavedConfigResponse.ts +0 -6
- package/services/mac-bridge/codex-types/GhostCommit.ts +0 -8
- package/services/mac-bridge/codex-types/GitDiffToRemoteParams.ts +0 -5
- package/services/mac-bridge/codex-types/GitDiffToRemoteResponse.ts +0 -6
- package/services/mac-bridge/codex-types/GitSha.ts +0 -5
- package/services/mac-bridge/codex-types/HistoryEntry.ts +0 -5
- package/services/mac-bridge/codex-types/InitializeCapabilities.ts +0 -17
- package/services/mac-bridge/codex-types/InitializeParams.ts +0 -7
- package/services/mac-bridge/codex-types/InitializeResponse.ts +0 -5
- package/services/mac-bridge/codex-types/InputItem.ts +0 -10
- package/services/mac-bridge/codex-types/InputModality.ts +0 -8
- package/services/mac-bridge/codex-types/InterruptConversationParams.ts +0 -6
- package/services/mac-bridge/codex-types/InterruptConversationResponse.ts +0 -6
- package/services/mac-bridge/codex-types/ItemCompletedEvent.ts +0 -7
- package/services/mac-bridge/codex-types/ItemStartedEvent.ts +0 -7
- package/services/mac-bridge/codex-types/ListConversationsParams.ts +0 -5
- package/services/mac-bridge/codex-types/ListConversationsResponse.ts +0 -6
- package/services/mac-bridge/codex-types/ListCustomPromptsResponseEvent.ts +0 -9
- package/services/mac-bridge/codex-types/ListRemoteSkillsResponseEvent.ts +0 -9
- package/services/mac-bridge/codex-types/ListSkillsResponseEvent.ts +0 -9
- package/services/mac-bridge/codex-types/LocalShellAction.ts +0 -6
- package/services/mac-bridge/codex-types/LocalShellExecAction.ts +0 -5
- package/services/mac-bridge/codex-types/LocalShellStatus.ts +0 -5
- package/services/mac-bridge/codex-types/LoginApiKeyParams.ts +0 -5
- package/services/mac-bridge/codex-types/LoginApiKeyResponse.ts +0 -5
- package/services/mac-bridge/codex-types/LoginChatGptCompleteNotification.ts +0 -8
- package/services/mac-bridge/codex-types/LoginChatGptResponse.ts +0 -5
- package/services/mac-bridge/codex-types/LogoutChatGptResponse.ts +0 -5
- package/services/mac-bridge/codex-types/McpAuthStatus.ts +0 -5
- package/services/mac-bridge/codex-types/McpInvocation.ts +0 -18
- package/services/mac-bridge/codex-types/McpListToolsResponseEvent.ts +0 -25
- package/services/mac-bridge/codex-types/McpStartupCompleteEvent.ts +0 -6
- package/services/mac-bridge/codex-types/McpStartupFailure.ts +0 -5
- package/services/mac-bridge/codex-types/McpStartupStatus.ts +0 -5
- package/services/mac-bridge/codex-types/McpStartupUpdateEvent.ts +0 -14
- package/services/mac-bridge/codex-types/McpToolCallBeginEvent.ts +0 -10
- package/services/mac-bridge/codex-types/McpToolCallEndEvent.ts +0 -15
- package/services/mac-bridge/codex-types/MessagePhase.ts +0 -11
- package/services/mac-bridge/codex-types/ModeKind.ts +0 -8
- package/services/mac-bridge/codex-types/ModelRerouteEvent.ts +0 -6
- package/services/mac-bridge/codex-types/ModelRerouteReason.ts +0 -5
- package/services/mac-bridge/codex-types/NetworkAccess.ts +0 -8
- package/services/mac-bridge/codex-types/NetworkApprovalContext.ts +0 -6
- package/services/mac-bridge/codex-types/NetworkApprovalProtocol.ts +0 -5
- package/services/mac-bridge/codex-types/NewConversationParams.ts +0 -8
- package/services/mac-bridge/codex-types/NewConversationResponse.ts +0 -7
- package/services/mac-bridge/codex-types/ParsedCommand.ts +0 -12
- package/services/mac-bridge/codex-types/PatchApplyBeginEvent.ts +0 -23
- package/services/mac-bridge/codex-types/PatchApplyEndEvent.ts +0 -36
- package/services/mac-bridge/codex-types/PatchApplyStatus.ts +0 -5
- package/services/mac-bridge/codex-types/Personality.ts +0 -5
- package/services/mac-bridge/codex-types/PlanDeltaEvent.ts +0 -5
- package/services/mac-bridge/codex-types/PlanItem.ts +0 -5
- package/services/mac-bridge/codex-types/PlanItemArg.ts +0 -6
- package/services/mac-bridge/codex-types/PlanType.ts +0 -5
- package/services/mac-bridge/codex-types/Profile.ts +0 -9
- package/services/mac-bridge/codex-types/RateLimitSnapshot.ts +0 -8
- package/services/mac-bridge/codex-types/RateLimitWindow.ts +0 -17
- package/services/mac-bridge/codex-types/RawResponseItemEvent.ts +0 -6
- package/services/mac-bridge/codex-types/ReadOnlyAccess.ts +0 -19
- package/services/mac-bridge/codex-types/ReasoningContentDeltaEvent.ts +0 -5
- package/services/mac-bridge/codex-types/ReasoningEffort.ts +0 -8
- package/services/mac-bridge/codex-types/ReasoningItem.ts +0 -5
- package/services/mac-bridge/codex-types/ReasoningItemContent.ts +0 -5
- package/services/mac-bridge/codex-types/ReasoningItemReasoningSummary.ts +0 -5
- package/services/mac-bridge/codex-types/ReasoningRawContentDeltaEvent.ts +0 -5
- package/services/mac-bridge/codex-types/ReasoningSummary.ts +0 -10
- package/services/mac-bridge/codex-types/RemoteSkillDownloadedEvent.ts +0 -8
- package/services/mac-bridge/codex-types/RemoteSkillSummary.ts +0 -5
- package/services/mac-bridge/codex-types/RemoveConversationListenerParams.ts +0 -5
- package/services/mac-bridge/codex-types/RemoveConversationSubscriptionResponse.ts +0 -5
- package/services/mac-bridge/codex-types/RequestId.ts +0 -5
- package/services/mac-bridge/codex-types/RequestUserInputEvent.ts +0 -15
- package/services/mac-bridge/codex-types/RequestUserInputQuestion.ts +0 -6
- package/services/mac-bridge/codex-types/RequestUserInputQuestionOption.ts +0 -5
- package/services/mac-bridge/codex-types/Resource.ts +0 -9
- package/services/mac-bridge/codex-types/ResourceTemplate.ts +0 -9
- package/services/mac-bridge/codex-types/ResponseItem.ts +0 -18
- package/services/mac-bridge/codex-types/ResumeConversationParams.ts +0 -8
- package/services/mac-bridge/codex-types/ResumeConversationResponse.ts +0 -7
- package/services/mac-bridge/codex-types/ReviewCodeLocation.ts +0 -9
- package/services/mac-bridge/codex-types/ReviewDecision.ts +0 -9
- package/services/mac-bridge/codex-types/ReviewFinding.ts +0 -9
- package/services/mac-bridge/codex-types/ReviewLineRange.ts +0 -8
- package/services/mac-bridge/codex-types/ReviewOutputEvent.ts +0 -9
- package/services/mac-bridge/codex-types/ReviewRequest.ts +0 -9
- package/services/mac-bridge/codex-types/ReviewTarget.ts +0 -9
- package/services/mac-bridge/codex-types/SandboxMode.ts +0 -5
- package/services/mac-bridge/codex-types/SandboxPolicy.ts +0 -44
- package/services/mac-bridge/codex-types/SandboxSettings.ts +0 -6
- package/services/mac-bridge/codex-types/SendUserMessageParams.ts +0 -7
- package/services/mac-bridge/codex-types/SendUserMessageResponse.ts +0 -5
- package/services/mac-bridge/codex-types/SendUserTurnParams.ts +0 -16
- package/services/mac-bridge/codex-types/SendUserTurnResponse.ts +0 -5
- package/services/mac-bridge/codex-types/ServerNotification.ts +0 -45
- package/services/mac-bridge/codex-types/ServerRequest.ts +0 -16
- package/services/mac-bridge/codex-types/SessionConfiguredEvent.ts +0 -57
- package/services/mac-bridge/codex-types/SessionConfiguredNotification.ts +0 -8
- package/services/mac-bridge/codex-types/SessionNetworkProxyRuntime.ts +0 -5
- package/services/mac-bridge/codex-types/SessionSource.ts +0 -6
- package/services/mac-bridge/codex-types/SetDefaultModelParams.ts +0 -6
- package/services/mac-bridge/codex-types/SetDefaultModelResponse.ts +0 -5
- package/services/mac-bridge/codex-types/Settings.ts +0 -9
- package/services/mac-bridge/codex-types/SkillDependencies.ts +0 -6
- package/services/mac-bridge/codex-types/SkillErrorInfo.ts +0 -5
- package/services/mac-bridge/codex-types/SkillInterface.ts +0 -5
- package/services/mac-bridge/codex-types/SkillMetadata.ts +0 -12
- package/services/mac-bridge/codex-types/SkillScope.ts +0 -5
- package/services/mac-bridge/codex-types/SkillToolDependency.ts +0 -5
- package/services/mac-bridge/codex-types/SkillsListEntry.ts +0 -7
- package/services/mac-bridge/codex-types/StepStatus.ts +0 -5
- package/services/mac-bridge/codex-types/StreamErrorEvent.ts +0 -12
- package/services/mac-bridge/codex-types/SubAgentSource.ts +0 -6
- package/services/mac-bridge/codex-types/TerminalInteractionEvent.ts +0 -17
- package/services/mac-bridge/codex-types/TextElement.ts +0 -14
- package/services/mac-bridge/codex-types/ThreadId.ts +0 -5
- package/services/mac-bridge/codex-types/ThreadNameUpdatedEvent.ts +0 -6
- package/services/mac-bridge/codex-types/ThreadRolledBackEvent.ts +0 -9
- package/services/mac-bridge/codex-types/TokenCountEvent.ts +0 -7
- package/services/mac-bridge/codex-types/TokenUsage.ts +0 -5
- package/services/mac-bridge/codex-types/TokenUsageInfo.ts +0 -6
- package/services/mac-bridge/codex-types/Tool.ts +0 -9
- package/services/mac-bridge/codex-types/Tools.ts +0 -5
- package/services/mac-bridge/codex-types/TurnAbortReason.ts +0 -5
- package/services/mac-bridge/codex-types/TurnAbortedEvent.ts +0 -6
- package/services/mac-bridge/codex-types/TurnCompleteEvent.ts +0 -5
- package/services/mac-bridge/codex-types/TurnDiffEvent.ts +0 -5
- package/services/mac-bridge/codex-types/TurnItem.ts +0 -11
- package/services/mac-bridge/codex-types/TurnStartedEvent.ts +0 -6
- package/services/mac-bridge/codex-types/UndoCompletedEvent.ts +0 -5
- package/services/mac-bridge/codex-types/UndoStartedEvent.ts +0 -5
- package/services/mac-bridge/codex-types/UpdatePlanArgs.ts +0 -10
- package/services/mac-bridge/codex-types/UserInfoResponse.ts +0 -5
- package/services/mac-bridge/codex-types/UserInput.ts +0 -16
- package/services/mac-bridge/codex-types/UserMessageEvent.ts +0 -22
- package/services/mac-bridge/codex-types/UserMessageItem.ts +0 -6
- package/services/mac-bridge/codex-types/UserSavedConfig.ts +0 -14
- package/services/mac-bridge/codex-types/Verbosity.ts +0 -9
- package/services/mac-bridge/codex-types/ViewImageToolCallEvent.ts +0 -13
- package/services/mac-bridge/codex-types/WarningEvent.ts +0 -5
- package/services/mac-bridge/codex-types/WebSearchAction.ts +0 -5
- package/services/mac-bridge/codex-types/WebSearchBeginEvent.ts +0 -5
- package/services/mac-bridge/codex-types/WebSearchEndEvent.ts +0 -6
- package/services/mac-bridge/codex-types/WebSearchItem.ts +0 -6
- package/services/mac-bridge/codex-types/WebSearchMode.ts +0 -5
- package/services/mac-bridge/codex-types/index.ts +0 -234
- package/services/mac-bridge/codex-types/serde_json/JsonValue.ts +0 -5
- package/services/mac-bridge/codex-types/v2/Account.ts +0 -6
- package/services/mac-bridge/codex-types/v2/AccountLoginCompletedNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/AccountRateLimitsUpdatedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/AccountUpdatedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/AgentMessageDeltaNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/AnalyticsConfig.ts +0 -6
- package/services/mac-bridge/codex-types/v2/AppBranding.ts +0 -8
- package/services/mac-bridge/codex-types/v2/AppDisabledReason.ts +0 -5
- package/services/mac-bridge/codex-types/v2/AppInfo.ts +0 -19
- package/services/mac-bridge/codex-types/v2/AppListUpdatedNotification.ts +0 -9
- package/services/mac-bridge/codex-types/v2/AppMetadata.ts +0 -7
- package/services/mac-bridge/codex-types/v2/AppReview.ts +0 -5
- package/services/mac-bridge/codex-types/v2/AppScreenshot.ts +0 -5
- package/services/mac-bridge/codex-types/v2/AppsConfig.ts +0 -6
- package/services/mac-bridge/codex-types/v2/AppsListParams.ts +0 -24
- package/services/mac-bridge/codex-types/v2/AppsListResponse.ts +0 -14
- package/services/mac-bridge/codex-types/v2/AskForApproval.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ByteRange.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CancelLoginAccountParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CancelLoginAccountResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/CancelLoginAccountStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ChatgptAuthTokensRefreshParams.ts +0 -16
- package/services/mac-bridge/codex-types/v2/ChatgptAuthTokensRefreshReason.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ChatgptAuthTokensRefreshResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CodexErrorInfo.ts +0 -11
- package/services/mac-bridge/codex-types/v2/CollabAgentState.ts +0 -6
- package/services/mac-bridge/codex-types/v2/CollabAgentStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CollabAgentTool.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CollabAgentToolCallStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CommandAction.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CommandExecParams.ts +0 -6
- package/services/mac-bridge/codex-types/v2/CommandExecResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CommandExecutionApprovalDecision.ts +0 -6
- package/services/mac-bridge/codex-types/v2/CommandExecutionOutputDeltaNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/CommandExecutionRequestApprovalParams.ts +0 -37
- package/services/mac-bridge/codex-types/v2/CommandExecutionRequestApprovalResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/CommandExecutionStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/Config.ts +0 -17
- package/services/mac-bridge/codex-types/v2/ConfigBatchWriteParams.ts +0 -10
- package/services/mac-bridge/codex-types/v2/ConfigEdit.ts +0 -7
- package/services/mac-bridge/codex-types/v2/ConfigLayer.ts +0 -7
- package/services/mac-bridge/codex-types/v2/ConfigLayerMetadata.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ConfigLayerSource.ts +0 -16
- package/services/mac-bridge/codex-types/v2/ConfigReadParams.ts +0 -11
- package/services/mac-bridge/codex-types/v2/ConfigReadResponse.ts +0 -8
- package/services/mac-bridge/codex-types/v2/ConfigRequirements.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ConfigRequirementsReadResponse.ts +0 -10
- package/services/mac-bridge/codex-types/v2/ConfigValueWriteParams.ts +0 -11
- package/services/mac-bridge/codex-types/v2/ConfigWarningNotification.ts +0 -22
- package/services/mac-bridge/codex-types/v2/ConfigWriteResponse.ts +0 -12
- package/services/mac-bridge/codex-types/v2/ContextCompactedNotification.ts +0 -8
- package/services/mac-bridge/codex-types/v2/CreditsSnapshot.ts +0 -5
- package/services/mac-bridge/codex-types/v2/DeprecationNoticeNotification.ts +0 -13
- package/services/mac-bridge/codex-types/v2/DynamicToolCallOutputContentItem.ts +0 -5
- package/services/mac-bridge/codex-types/v2/DynamicToolCallParams.ts +0 -6
- package/services/mac-bridge/codex-types/v2/DynamicToolCallResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/DynamicToolSpec.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ErrorNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ExecPolicyAmendment.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ExperimentalFeature.ts +0 -37
- package/services/mac-bridge/codex-types/v2/ExperimentalFeatureListParams.ts +0 -13
- package/services/mac-bridge/codex-types/v2/ExperimentalFeatureListResponse.ts +0 -11
- package/services/mac-bridge/codex-types/v2/ExperimentalFeatureStage.ts +0 -5
- package/services/mac-bridge/codex-types/v2/FeedbackUploadParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/FeedbackUploadResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/FileChangeApprovalDecision.ts +0 -5
- package/services/mac-bridge/codex-types/v2/FileChangeOutputDeltaNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/FileChangeRequestApprovalParams.ts +0 -14
- package/services/mac-bridge/codex-types/v2/FileChangeRequestApprovalResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/FileUpdateChange.ts +0 -6
- package/services/mac-bridge/codex-types/v2/GetAccountParams.ts +0 -13
- package/services/mac-bridge/codex-types/v2/GetAccountRateLimitsResponse.ts +0 -14
- package/services/mac-bridge/codex-types/v2/GetAccountResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/GitInfo.ts +0 -5
- package/services/mac-bridge/codex-types/v2/HazelnutScope.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ItemCompletedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ItemStartedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ListMcpServerStatusParams.ts +0 -13
- package/services/mac-bridge/codex-types/v2/ListMcpServerStatusResponse.ts +0 -11
- package/services/mac-bridge/codex-types/v2/LoginAccountParams.ts +0 -21
- package/services/mac-bridge/codex-types/v2/LoginAccountResponse.ts +0 -9
- package/services/mac-bridge/codex-types/v2/LogoutAccountResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpAuthStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpServerOauthLoginCompletedNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpServerOauthLoginParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpServerOauthLoginResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpServerRefreshResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpServerStatus.ts +0 -9
- package/services/mac-bridge/codex-types/v2/McpToolCallError.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpToolCallProgressNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/McpToolCallResult.ts +0 -6
- package/services/mac-bridge/codex-types/v2/McpToolCallStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/MergeStrategy.ts +0 -5
- package/services/mac-bridge/codex-types/v2/Model.ts +0 -8
- package/services/mac-bridge/codex-types/v2/ModelListParams.ts +0 -17
- package/services/mac-bridge/codex-types/v2/ModelListResponse.ts +0 -11
- package/services/mac-bridge/codex-types/v2/ModelRerouteReason.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ModelReroutedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/NetworkAccess.ts +0 -5
- package/services/mac-bridge/codex-types/v2/NetworkRequirements.ts +0 -5
- package/services/mac-bridge/codex-types/v2/OverriddenMetadata.ts +0 -7
- package/services/mac-bridge/codex-types/v2/PatchApplyStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/PatchChangeKind.ts +0 -5
- package/services/mac-bridge/codex-types/v2/PlanDeltaNotification.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ProductSurface.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ProfileV2.ts +0 -11
- package/services/mac-bridge/codex-types/v2/RateLimitSnapshot.ts +0 -8
- package/services/mac-bridge/codex-types/v2/RateLimitWindow.ts +0 -5
- package/services/mac-bridge/codex-types/v2/RawResponseItemCompletedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ReadOnlyAccess.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ReasoningEffortOption.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ReasoningSummaryPartAddedNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ReasoningSummaryTextDeltaNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ReasoningTextDeltaNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/RemoteSkillSummary.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ResidencyRequirement.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ReviewDelivery.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ReviewStartParams.ts +0 -12
- package/services/mac-bridge/codex-types/v2/ReviewStartResponse.ts +0 -13
- package/services/mac-bridge/codex-types/v2/ReviewTarget.ts +0 -9
- package/services/mac-bridge/codex-types/v2/SandboxMode.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SandboxPolicy.ts +0 -8
- package/services/mac-bridge/codex-types/v2/SandboxWorkspaceWrite.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SessionSource.ts +0 -6
- package/services/mac-bridge/codex-types/v2/SkillDependencies.ts +0 -6
- package/services/mac-bridge/codex-types/v2/SkillErrorInfo.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillInterface.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillMetadata.ts +0 -12
- package/services/mac-bridge/codex-types/v2/SkillScope.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillToolDependency.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillsConfigWriteParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillsConfigWriteResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillsListEntry.ts +0 -7
- package/services/mac-bridge/codex-types/v2/SkillsListExtraRootsForCwd.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillsListParams.ts +0 -18
- package/services/mac-bridge/codex-types/v2/SkillsListResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/SkillsRemoteReadParams.ts +0 -7
- package/services/mac-bridge/codex-types/v2/SkillsRemoteReadResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/SkillsRemoteWriteParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/SkillsRemoteWriteResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/TerminalInteractionNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/TextElement.ts +0 -14
- package/services/mac-bridge/codex-types/v2/TextPosition.ts +0 -13
- package/services/mac-bridge/codex-types/v2/TextRange.ts +0 -6
- package/services/mac-bridge/codex-types/v2/Thread.ts +0 -51
- package/services/mac-bridge/codex-types/v2/ThreadArchiveParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadArchiveResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadArchivedNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadCompactStartParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadCompactStartResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadForkParams.ts +0 -28
- package/services/mac-bridge/codex-types/v2/ThreadForkResponse.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ThreadItem.ts +0 -81
- package/services/mac-bridge/codex-types/v2/ThreadListParams.ts +0 -39
- package/services/mac-bridge/codex-types/v2/ThreadListResponse.ts +0 -11
- package/services/mac-bridge/codex-types/v2/ThreadLoadedListParams.ts +0 -13
- package/services/mac-bridge/codex-types/v2/ThreadLoadedListResponse.ts +0 -14
- package/services/mac-bridge/codex-types/v2/ThreadNameUpdatedNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadReadParams.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ThreadReadResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ThreadResumeParams.ts +0 -37
- package/services/mac-bridge/codex-types/v2/ThreadResumeResponse.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ThreadRollbackParams.ts +0 -12
- package/services/mac-bridge/codex-types/v2/ThreadRollbackResponse.ts +0 -14
- package/services/mac-bridge/codex-types/v2/ThreadSetNameParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadSetNameResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadSortKey.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadSourceKind.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadStartParams.ts +0 -17
- package/services/mac-bridge/codex-types/v2/ThreadStartResponse.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ThreadStartedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ThreadTokenUsage.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ThreadTokenUsageUpdatedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ThreadUnarchiveParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ThreadUnarchiveResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/ThreadUnarchivedNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/TokenUsageBreakdown.ts +0 -5
- package/services/mac-bridge/codex-types/v2/ToolRequestUserInputAnswer.ts +0 -8
- package/services/mac-bridge/codex-types/v2/ToolRequestUserInputOption.ts +0 -8
- package/services/mac-bridge/codex-types/v2/ToolRequestUserInputParams.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ToolRequestUserInputQuestion.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ToolRequestUserInputResponse.ts +0 -9
- package/services/mac-bridge/codex-types/v2/ToolsV2.ts +0 -5
- package/services/mac-bridge/codex-types/v2/Turn.ts +0 -18
- package/services/mac-bridge/codex-types/v2/TurnCompletedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/TurnDiffUpdatedNotification.ts +0 -9
- package/services/mac-bridge/codex-types/v2/TurnError.ts +0 -6
- package/services/mac-bridge/codex-types/v2/TurnInterruptParams.ts +0 -5
- package/services/mac-bridge/codex-types/v2/TurnInterruptResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/TurnPlanStep.ts +0 -6
- package/services/mac-bridge/codex-types/v2/TurnPlanStepStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/TurnPlanUpdatedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/TurnStartParams.ts +0 -44
- package/services/mac-bridge/codex-types/v2/TurnStartResponse.ts +0 -6
- package/services/mac-bridge/codex-types/v2/TurnStartedNotification.ts +0 -6
- package/services/mac-bridge/codex-types/v2/TurnStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/TurnSteerParams.ts +0 -11
- package/services/mac-bridge/codex-types/v2/TurnSteerResponse.ts +0 -5
- package/services/mac-bridge/codex-types/v2/UserInput.ts +0 -10
- package/services/mac-bridge/codex-types/v2/WebSearchAction.ts +0 -5
- package/services/mac-bridge/codex-types/v2/WindowsWorldWritableWarningNotification.ts +0 -5
- package/services/mac-bridge/codex-types/v2/WriteStatus.ts +0 -5
- package/services/mac-bridge/codex-types/v2/index.ts +0 -204
- package/services/mac-bridge/eslint.config.cjs +0 -22
- package/services/mac-bridge/package.json +0 -30
- package/services/mac-bridge/schema.ts +0 -0
- package/services/mac-bridge/src/index.ts +0 -18
- package/services/mac-bridge/src/server.ts +0 -426
- package/services/mac-bridge/src/services/__tests__/gitService.test.ts +0 -157
- package/services/mac-bridge/src/services/__tests__/realtimeHub.test.ts +0 -116
- package/services/mac-bridge/src/services/__tests__/terminalService.test.ts +0 -51
- package/services/mac-bridge/src/services/codexAppServerClient.ts +0 -507
- package/services/mac-bridge/src/services/codexCliAdapter.ts +0 -622
- package/services/mac-bridge/src/services/gitService.ts +0 -61
- package/services/mac-bridge/src/services/realtimeHub.ts +0 -25
- package/services/mac-bridge/src/services/terminalService.ts +0 -226
- package/services/mac-bridge/src/types.ts +0 -151
- package/services/mac-bridge/src/utils/__tests__/threadMapping.test.ts +0 -397
- package/services/mac-bridge/src/utils/threadMapping.ts +0 -176
- package/services/mac-bridge/tsconfig.json +0 -16
- package/services/mac-bridge/vitest.config.ts +0 -9
- package/services/rust-bridge/.env.example +0 -14
- package/services/rust-bridge/package.json +0 -13
- package/services/rust-bridge/security_best_practices_report.md +0 -24
- package/site/index.html +0 -54
- package/site/privacy/index.html +0 -80
- package/site/styles.css +0 -135
- package/site/support/index.html +0 -51
- package/site/terms/index.html +0 -68
- package/tsconfig.json +0 -4
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import type { ChatMessage } from '../api/types';
|
|
2
|
-
|
|
3
|
-
export interface TrimmedSubAgentTranscript {
|
|
4
|
-
messages: ChatMessage[];
|
|
5
|
-
hiddenInheritedMessageCount: number;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function trimInheritedParentMessages(
|
|
9
|
-
parentMessages: ChatMessage[],
|
|
10
|
-
childMessages: ChatMessage[],
|
|
11
|
-
childThreadId?: string | null
|
|
12
|
-
): TrimmedSubAgentTranscript {
|
|
13
|
-
const normalizedChildThreadId = childThreadId?.trim() ?? '';
|
|
14
|
-
if (normalizedChildThreadId) {
|
|
15
|
-
const startIndex = findSpawnPromptStartIndex(
|
|
16
|
-
parentMessages,
|
|
17
|
-
childMessages,
|
|
18
|
-
normalizedChildThreadId
|
|
19
|
-
);
|
|
20
|
-
if (startIndex > 0 && startIndex < childMessages.length) {
|
|
21
|
-
return {
|
|
22
|
-
messages: childMessages.slice(startIndex),
|
|
23
|
-
hiddenInheritedMessageCount: startIndex,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const sharedLeadingCount = sharedLeadingMessageCount(parentMessages, childMessages);
|
|
29
|
-
if (sharedLeadingCount <= 0 || sharedLeadingCount >= childMessages.length) {
|
|
30
|
-
return {
|
|
31
|
-
messages: childMessages,
|
|
32
|
-
hiddenInheritedMessageCount: 0,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return {
|
|
37
|
-
messages: childMessages.slice(sharedLeadingCount),
|
|
38
|
-
hiddenInheritedMessageCount: sharedLeadingCount,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function findSpawnPromptStartIndex(
|
|
43
|
-
parentMessages: ChatMessage[],
|
|
44
|
-
childMessages: ChatMessage[],
|
|
45
|
-
childThreadId: string
|
|
46
|
-
): number {
|
|
47
|
-
const prompt = findSpawnPrompt(parentMessages, childThreadId);
|
|
48
|
-
if (!prompt) {
|
|
49
|
-
return -1;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const normalizedPrompt = normalizeMessageContent(prompt);
|
|
53
|
-
if (!normalizedPrompt) {
|
|
54
|
-
return -1;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const sharedLeadingCount = sharedLeadingMessageCount(parentMessages, childMessages);
|
|
58
|
-
return childMessages.findIndex((message, index) => {
|
|
59
|
-
if (index < sharedLeadingCount) {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
if (message.role !== 'user') {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const candidate = normalizeUserPromptContent(message.content);
|
|
67
|
-
if (!candidate) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return (
|
|
72
|
-
candidate === normalizedPrompt ||
|
|
73
|
-
candidate.includes(normalizedPrompt) ||
|
|
74
|
-
normalizedPrompt.includes(candidate)
|
|
75
|
-
);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function findSpawnPrompt(
|
|
80
|
-
parentMessages: ChatMessage[],
|
|
81
|
-
childThreadId: string
|
|
82
|
-
): string | null {
|
|
83
|
-
let fallbackPrompt: string | null = null;
|
|
84
|
-
|
|
85
|
-
for (const message of parentMessages) {
|
|
86
|
-
if (message.systemKind !== 'subAgent') {
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const meta = message.subAgentMeta;
|
|
91
|
-
if (!meta) {
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const receiverThreadIds = meta.receiverThreadIds ?? [];
|
|
96
|
-
if (!receiverThreadIds.includes(childThreadId)) {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const prompt = meta.prompt?.trim();
|
|
101
|
-
if (!prompt) {
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
const normalizedTool = normalizeMessageContent(meta.tool ?? '');
|
|
106
|
-
if (normalizedTool === 'spawn_agent' || normalizedTool === 'spawnagent') {
|
|
107
|
-
return prompt;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (!fallbackPrompt) {
|
|
111
|
-
fallbackPrompt = prompt;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return fallbackPrompt;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function sharedLeadingMessageCount(left: ChatMessage[], right: ChatMessage[]): number {
|
|
119
|
-
const max = Math.min(left.length, right.length);
|
|
120
|
-
let count = 0;
|
|
121
|
-
|
|
122
|
-
while (count < max && messagesMatch(left[count], right[count])) {
|
|
123
|
-
count += 1;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return count;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function messagesMatch(left: ChatMessage, right: ChatMessage): boolean {
|
|
130
|
-
return (
|
|
131
|
-
left.role === right.role &&
|
|
132
|
-
left.systemKind === right.systemKind &&
|
|
133
|
-
normalizeMessageContent(left.content) === normalizeMessageContent(right.content)
|
|
134
|
-
);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function normalizeUserPromptContent(value: string): string {
|
|
138
|
-
const lines = value
|
|
139
|
-
.split('\n')
|
|
140
|
-
.map((line) => line.trim())
|
|
141
|
-
.filter((line) => line.length > 0)
|
|
142
|
-
.filter((line) => !/^\[(file|image|local image):/i.test(line));
|
|
143
|
-
|
|
144
|
-
return normalizeMessageContent(lines.join('\n'));
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function normalizeMessageContent(value: string): string {
|
|
148
|
-
return value.replace(/\s+/g, ' ').trim();
|
|
149
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import type { ChatMessage, ChatStatus } from '../api/types';
|
|
2
|
-
|
|
3
|
-
export function getVisibleTranscriptMessages(
|
|
4
|
-
messages: ChatMessage[],
|
|
5
|
-
showToolCalls: boolean
|
|
6
|
-
): ChatMessage[] {
|
|
7
|
-
const filtered = messages.filter((msg) => {
|
|
8
|
-
const text = msg.content || '';
|
|
9
|
-
if (!showToolCalls && msg.role === 'system' && msg.systemKind !== 'subAgent') {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
if (text.includes('FINAL_TASK_RESULT_JSON')) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
if (text.includes('Current working directory is:')) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
if (text.includes('You are operating in task worktree')) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
if (msg.role === 'assistant' && !text.trim()) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
return true;
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
return filtered.filter((msg, index) => {
|
|
28
|
-
if (msg.role !== 'assistant') {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const next = filtered[index + 1];
|
|
33
|
-
return !next || next.role !== 'assistant';
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function syncVisibleSubAgentStatuses(
|
|
38
|
-
messages: ChatMessage[],
|
|
39
|
-
threadStatuses: ReadonlyMap<string, ChatStatus>
|
|
40
|
-
): ChatMessage[] {
|
|
41
|
-
if (threadStatuses.size === 0) {
|
|
42
|
-
return messages;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return messages.map((message) => syncSubAgentMessageStatus(message, threadStatuses));
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function syncSubAgentMessageStatus(
|
|
49
|
-
message: ChatMessage,
|
|
50
|
-
threadStatuses: ReadonlyMap<string, ChatStatus>
|
|
51
|
-
): ChatMessage {
|
|
52
|
-
if (message.systemKind !== 'subAgent' || !message.subAgentMeta) {
|
|
53
|
-
return message;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const receiverThreadIds = message.subAgentMeta.receiverThreadIds ?? [];
|
|
57
|
-
const nextStatus =
|
|
58
|
-
receiverThreadIds
|
|
59
|
-
.map((threadId) => threadStatuses.get(threadId))
|
|
60
|
-
.find((status): status is ChatStatus => typeof status === 'string') ?? null;
|
|
61
|
-
|
|
62
|
-
if (!nextStatus) {
|
|
63
|
-
return message;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const nextContent = replaceSubAgentStatusLine(message.content, nextStatus);
|
|
67
|
-
const previousStatus = message.subAgentMeta.agentStatus;
|
|
68
|
-
if (nextContent === message.content && previousStatus === nextStatus) {
|
|
69
|
-
return message;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return {
|
|
73
|
-
...message,
|
|
74
|
-
content: nextContent,
|
|
75
|
-
subAgentMeta: {
|
|
76
|
-
...message.subAgentMeta,
|
|
77
|
-
agentStatus: nextStatus,
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function replaceSubAgentStatusLine(content: string, status: ChatStatus): string {
|
|
83
|
-
const statusLine = `Status: ${status}`;
|
|
84
|
-
const lines = content.split('\n');
|
|
85
|
-
let replaced = false;
|
|
86
|
-
|
|
87
|
-
const nextLines = lines.map((line) => {
|
|
88
|
-
if (!/^\s*Status:\s*/i.test(line)) {
|
|
89
|
-
return line;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
replaced = true;
|
|
93
|
-
const indentation = line.match(/^\s*/)?.[0] ?? '';
|
|
94
|
-
return `${indentation}${statusLine}`;
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
if (replaced) {
|
|
98
|
-
return nextLines.join('\n');
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return [...nextLines, ` ${statusLine}`].join('\n');
|
|
102
|
-
}
|
package/apps/mobile/src/theme.ts
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { Platform } from 'react-native';
|
|
2
|
-
|
|
3
|
-
export const colors = {
|
|
4
|
-
// Backgrounds
|
|
5
|
-
bgMain: '#000000',
|
|
6
|
-
bgSidebar: '#0C0D10',
|
|
7
|
-
bgItem: '#1B1D21',
|
|
8
|
-
bgInput: '#23262B',
|
|
9
|
-
|
|
10
|
-
// Borders
|
|
11
|
-
border: 'rgba(255, 255, 255, 0.18)',
|
|
12
|
-
borderLight: 'rgba(255, 255, 255, 0.12)',
|
|
13
|
-
borderHighlight: 'rgba(255, 255, 255, 0.28)',
|
|
14
|
-
|
|
15
|
-
// Text
|
|
16
|
-
textPrimary: '#F3F4F8',
|
|
17
|
-
textSecondary: '#D0D5DF',
|
|
18
|
-
textMuted: 'rgba(232, 236, 244, 0.74)',
|
|
19
|
-
|
|
20
|
-
// Accent
|
|
21
|
-
accent: '#B5BDCC',
|
|
22
|
-
accentPressed: '#9CA5B7',
|
|
23
|
-
|
|
24
|
-
// User bubble
|
|
25
|
-
userBubble: '#262A31',
|
|
26
|
-
userBubbleBorder: 'rgba(212, 219, 232, 0.32)',
|
|
27
|
-
|
|
28
|
-
// Assistant — no bubble
|
|
29
|
-
assistantBubbleBg: 'transparent',
|
|
30
|
-
assistantBubbleBorder: 'transparent',
|
|
31
|
-
|
|
32
|
-
// Inline/code highlight
|
|
33
|
-
inlineCodeBg: '#2A303A',
|
|
34
|
-
inlineCodeBorder: 'rgba(197, 206, 223, 0.42)',
|
|
35
|
-
inlineCodeText: '#EEF2FB',
|
|
36
|
-
|
|
37
|
-
// Tool block
|
|
38
|
-
toolBlockBg: 'rgba(255, 255, 255, 0.09)',
|
|
39
|
-
toolBlockBorder: '#5A6376',
|
|
40
|
-
|
|
41
|
-
// Status
|
|
42
|
-
statusRunning: '#C2C9D8',
|
|
43
|
-
statusComplete: '#C6CDD9',
|
|
44
|
-
statusError: '#EF4444',
|
|
45
|
-
statusIdle: '#B4BCCB',
|
|
46
|
-
|
|
47
|
-
// Misc
|
|
48
|
-
error: '#EF4444',
|
|
49
|
-
errorBg: 'rgba(239, 68, 68, 0.15)',
|
|
50
|
-
white: '#FFFFFF',
|
|
51
|
-
black: '#000000',
|
|
52
|
-
transparent: 'transparent',
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export const spacing = {
|
|
56
|
-
xs: 4,
|
|
57
|
-
sm: 8,
|
|
58
|
-
md: 12,
|
|
59
|
-
lg: 16,
|
|
60
|
-
xl: 20,
|
|
61
|
-
xxl: 24,
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export const radius = {
|
|
65
|
-
sm: 8,
|
|
66
|
-
md: 12,
|
|
67
|
-
lg: 16,
|
|
68
|
-
full: 999,
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
export const shadow = {
|
|
72
|
-
sm: {
|
|
73
|
-
boxShadow: '0px 2px 6px rgba(0, 0, 0, 0.3)',
|
|
74
|
-
},
|
|
75
|
-
} as const;
|
|
76
|
-
|
|
77
|
-
export const typography = {
|
|
78
|
-
largeTitle: {
|
|
79
|
-
fontSize: 24,
|
|
80
|
-
fontWeight: '700' as const,
|
|
81
|
-
color: colors.textPrimary,
|
|
82
|
-
letterSpacing: -0.3,
|
|
83
|
-
},
|
|
84
|
-
headline: {
|
|
85
|
-
fontSize: 15,
|
|
86
|
-
fontWeight: '600' as const,
|
|
87
|
-
color: colors.textPrimary,
|
|
88
|
-
},
|
|
89
|
-
body: {
|
|
90
|
-
fontSize: 14,
|
|
91
|
-
fontWeight: '400' as const,
|
|
92
|
-
color: colors.textPrimary,
|
|
93
|
-
lineHeight: 20,
|
|
94
|
-
},
|
|
95
|
-
caption: {
|
|
96
|
-
fontSize: 12,
|
|
97
|
-
fontWeight: '400' as const,
|
|
98
|
-
color: colors.textMuted,
|
|
99
|
-
},
|
|
100
|
-
mono: {
|
|
101
|
-
fontSize: 12,
|
|
102
|
-
fontFamily: Platform.select({ ios: 'Menlo', default: 'monospace' }),
|
|
103
|
-
color: colors.textPrimary,
|
|
104
|
-
lineHeight: 18,
|
|
105
|
-
},
|
|
106
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "ESNext",
|
|
5
|
-
"moduleResolution": "Bundler",
|
|
6
|
-
"jsx": "react-jsx",
|
|
7
|
-
"strict": true,
|
|
8
|
-
"allowSyntheticDefaultImports": true,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"skipLibCheck": true,
|
|
11
|
-
"baseUrl": ".",
|
|
12
|
-
"lib": [
|
|
13
|
-
"ES2022",
|
|
14
|
-
"DOM"
|
|
15
|
-
],
|
|
16
|
-
"types": [
|
|
17
|
-
"node",
|
|
18
|
-
"jest"
|
|
19
|
-
],
|
|
20
|
-
"paths": {
|
|
21
|
-
"@/*": [
|
|
22
|
-
"src/*"
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"include": [
|
|
27
|
-
"App.tsx",
|
|
28
|
-
"src/**/*.ts",
|
|
29
|
-
"src/**/*.tsx",
|
|
30
|
-
"src/**/*.d.ts"
|
|
31
|
-
],
|
|
32
|
-
"extends": "expo/tsconfig.base"
|
|
33
|
-
}
|
package/docs/app-review-notes.md
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# App Review Notes (Template)
|
|
2
|
-
|
|
3
|
-
Use this file as the source for App Store Connect "Notes for Review" and internal submission prep.
|
|
4
|
-
|
|
5
|
-
Related engineering reference:
|
|
6
|
-
|
|
7
|
-
- `docs/realtime-streaming-limitations.md`
|
|
8
|
-
|
|
9
|
-
## Submission Snapshot
|
|
10
|
-
|
|
11
|
-
- App name: Clawdex Mobile
|
|
12
|
-
- Build: [fill in build/version]
|
|
13
|
-
- Date prepared: February 21, 2026
|
|
14
|
-
- Primary reviewer contact: [name + email + phone]
|
|
15
|
-
- Time zone for live support: [time zone]
|
|
16
|
-
|
|
17
|
-
## What The App Does
|
|
18
|
-
|
|
19
|
-
Clawdex Mobile is a client for a user-owned host machine.
|
|
20
|
-
The iOS app connects to a bridge service running on the user's own machine and lets the user:
|
|
21
|
-
|
|
22
|
-
- View and continue assistant threads
|
|
23
|
-
- Review Git status and diffs
|
|
24
|
-
- Create Git commits
|
|
25
|
-
- Execute approved terminal commands on the user-owned host
|
|
26
|
-
|
|
27
|
-
The app does not provide a public multi-tenant cloud shell.
|
|
28
|
-
|
|
29
|
-
## Test Setup For Review
|
|
30
|
-
|
|
31
|
-
Reviewer can use either of the following:
|
|
32
|
-
|
|
33
|
-
1. Dedicated review host (recommended for first submission)
|
|
34
|
-
|
|
35
|
-
- We provide a reachable test host bridge URL and token directly to App Review.
|
|
36
|
-
- This host stays online during review hours.
|
|
37
|
-
|
|
38
|
-
2. Local host setup (fallback)
|
|
39
|
-
|
|
40
|
-
- Start bridge service on the host machine:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npm install
|
|
44
|
-
cp apps/mobile/.env.example apps/mobile/.env
|
|
45
|
-
cp services/mac-bridge/.env.example services/mac-bridge/.env
|
|
46
|
-
npm run bridge
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
- In `services/mac-bridge/.env`, set:
|
|
50
|
-
|
|
51
|
-
```env
|
|
52
|
-
BRIDGE_AUTH_TOKEN=<review-token>
|
|
53
|
-
BRIDGE_HOST=0.0.0.0
|
|
54
|
-
BRIDGE_CORS_ORIGINS=http://localhost:19006,http://localhost:8081
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
- In `apps/mobile/.env`, set:
|
|
58
|
-
|
|
59
|
-
```env
|
|
60
|
-
EXPO_PUBLIC_HOST_BRIDGE_TOKEN=<review-token>
|
|
61
|
-
EXPO_PUBLIC_PRIVACY_POLICY_URL=https://<your-policy-url>
|
|
62
|
-
EXPO_PUBLIC_TERMS_OF_SERVICE_URL=https://<your-terms-url>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
- In app onboarding, enter:
|
|
66
|
-
|
|
67
|
-
```text
|
|
68
|
-
http://<mac-lan-ip>:8787
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Reviewer Walkthrough
|
|
72
|
-
|
|
73
|
-
1. Launch app.
|
|
74
|
-
2. Open Drawer and choose "Settings" to confirm bridge health is "OK".
|
|
75
|
-
3. Open Drawer and choose "Privacy" to view in-app privacy details and policy URL.
|
|
76
|
-
4. Open Drawer and choose "Terms" to view in-app terms information and terms URL.
|
|
77
|
-
5. Open Drawer and choose "Terminal". Run `pwd` to confirm command execution flow.
|
|
78
|
-
6. Open Drawer and choose "Git". Verify status/diff render and commit action path.
|
|
79
|
-
7. Open a thread in Main and send a message to validate thread streaming behavior.
|
|
80
|
-
|
|
81
|
-
## Security And Privacy Notes For Review
|
|
82
|
-
|
|
83
|
-
- Bridge auth token is required by default.
|
|
84
|
-
- WebSocket auth uses Authorization headers and supports query-token fallback for Android compatibility.
|
|
85
|
-
- Bridge can be run localhost-only; LAN mode is user-configured.
|
|
86
|
-
- Terminal commands are constrained by server-side allowlist and can be fully disabled.
|
|
87
|
-
- Requested command working directory is constrained within configured bridge root.
|
|
88
|
-
- In-app Privacy and Terms screens are available at all times from Drawer and Settings.
|
|
89
|
-
|
|
90
|
-
## Guideline Positioning Notes
|
|
91
|
-
|
|
92
|
-
- The app is intended for access to user-owned host infrastructure, not a shared cloud shell.
|
|
93
|
-
- Any remote execution happens on infrastructure controlled by the user or review account owner.
|
|
94
|
-
- App requires host setup details disclosed above and does not hide companion dependency.
|
|
95
|
-
|
|
96
|
-
## What To Provide In App Store Connect
|
|
97
|
-
|
|
98
|
-
- Privacy Policy URL: [required final URL]
|
|
99
|
-
- Terms of Service URL: [recommended final URL]
|
|
100
|
-
- Demo host details for review: [URL + token + availability window]
|
|
101
|
-
- Support contact reachable during review: [contact details]
|
|
102
|
-
- Any temporary review credentials: [if applicable]
|
|
103
|
-
|
|
104
|
-
## Open Source License Requirements
|
|
105
|
-
|
|
106
|
-
- Ensure release/app-review artifacts follow `docs/open-source-license-requirements.md`.
|
|
107
|
-
- Keep third-party notices available for review/legal requests.
|
|
108
|
-
|
|
109
|
-
## Final Pre-Submit Checklist
|
|
110
|
-
|
|
111
|
-
- [ ] Privacy Policy URL is live and matches in-app link.
|
|
112
|
-
- [ ] Terms URL is live and matches in-app link.
|
|
113
|
-
- [ ] Review host is reachable from external network used by App Review.
|
|
114
|
-
- [ ] BRIDGE_AUTH_TOKEN set and validated.
|
|
115
|
-
- [ ] Terminal allowlist reviewed for least privilege.
|
|
116
|
-
- [ ] Notes for Review copied from this document and updated placeholders removed.
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# Codex App-Server + CLI Gap Tracker
|
|
2
|
-
|
|
3
|
-
Last updated: March 20, 2026
|
|
4
|
-
|
|
5
|
-
## Scope
|
|
6
|
-
This tracker compares `clawdex-mobile` against current Codex app-server + CLI capabilities and records what still needs to be added.
|
|
7
|
-
|
|
8
|
-
## Gap 1: App-Server Protocol Parity
|
|
9
|
-
Status: In progress (first implementation pass completed)
|
|
10
|
-
|
|
11
|
-
### Implemented in this pass
|
|
12
|
-
- Expanded rust-bridge forwarded app-server client methods to include newer slash/API endpoints.
|
|
13
|
-
- Added legacy approval request compatibility for `applyPatchApproval` and `execCommandApproval`.
|
|
14
|
-
- Added decision translation between modern and legacy approval response formats.
|
|
15
|
-
- Added explicit handling for `item/tool/call` server requests (returns structured unsupported result instead of generic method-not-found).
|
|
16
|
-
- Added explicit handling for `account/chatgptAuthTokens/refresh` server requests:
|
|
17
|
-
- Uses `BRIDGE_CHATGPT_ACCESS_TOKEN` + `BRIDGE_CHATGPT_ACCOUNT_ID` when present.
|
|
18
|
-
- Emits descriptive error when not configured.
|
|
19
|
-
|
|
20
|
-
### Forwarded methods added
|
|
21
|
-
- `account/login/cancel`
|
|
22
|
-
- `account/login/start`
|
|
23
|
-
- `account/logout`
|
|
24
|
-
- `account/rateLimits/read`
|
|
25
|
-
- `account/read`
|
|
26
|
-
- `collaborationMode/list`
|
|
27
|
-
- `config/batchWrite`
|
|
28
|
-
- `config/mcpServer/reload`
|
|
29
|
-
- `config/read`
|
|
30
|
-
- `config/value/write`
|
|
31
|
-
- `configRequirements/read`
|
|
32
|
-
- `experimentalFeature/list`
|
|
33
|
-
- `feedback/upload`
|
|
34
|
-
- `fuzzyFileSearch/sessionStart`
|
|
35
|
-
- `fuzzyFileSearch/sessionStop`
|
|
36
|
-
- `fuzzyFileSearch/sessionUpdate`
|
|
37
|
-
- `mcpServer/oauth/login`
|
|
38
|
-
- `mcpServerStatus/list`
|
|
39
|
-
- `mock/experimentalMethod`
|
|
40
|
-
- `skills/config/write`
|
|
41
|
-
- `skills/remote/export`
|
|
42
|
-
- `skills/remote/list`
|
|
43
|
-
- `thread/backgroundTerminals/clean`
|
|
44
|
-
|
|
45
|
-
### Remaining inside Gap 1
|
|
46
|
-
- Native execution of dynamic tool calls (`item/tool/call`) is still not implemented in mobile/bridge; currently returns `success: false`.
|
|
47
|
-
- Token refresh relies on environment variables; no mobile UI flow exists yet for account token refresh.
|
|
48
|
-
|
|
49
|
-
## Remaining Gaps (Beyond Gap 1)
|
|
50
|
-
|
|
51
|
-
### Gap 2: Slash Command Coverage in Mobile
|
|
52
|
-
- Status: In progress
|
|
53
|
-
- Mobile now supports `/agent` thread switching, sub-agent transcript cards, and nested sub-agent rows in the drawer so spawned workers are visible in the main conversation model instead of being hidden behind generic tool-call traces.
|
|
54
|
-
- Mobile still does not expose the full Codex desktop slash-command surface as dedicated UI actions.
|
|
55
|
-
- Agent management remains lightweight:
|
|
56
|
-
- no dedicated create/configure sub-agent surface beyond `/agent`
|
|
57
|
-
- no richer per-agent live status/dashboard view
|
|
58
|
-
|
|
59
|
-
### Gap 3: Account/Auth UX
|
|
60
|
-
- Status: In progress
|
|
61
|
-
- Mobile Settings now exposes read-only account state via `account/read`, including ChatGPT email + plan type when available.
|
|
62
|
-
- Remaining:
|
|
63
|
-
- no dedicated standalone account screen outside Settings
|
|
64
|
-
- login/logout is not user-driven in mobile UI yet
|
|
65
|
-
- auth refresh is still operationally env-driven in bridge, not user-driven in app
|
|
66
|
-
- no API-key entry flow in mobile UI
|
|
67
|
-
|
|
68
|
-
### Gap 4: MCP + Tooling UX
|
|
69
|
-
- No end-to-end UI for MCP server status, reload, OAuth login, or remote skills list/export.
|
|
70
|
-
- Dynamic tool calls do not execute on mobile yet.
|
|
71
|
-
|
|
72
|
-
### Gap 5: Collaboration/Plan Mode UX
|
|
73
|
-
- `collaborationMode/list` can now be forwarded, but there is no complete plan-mode UX in mobile.
|
|
74
|
-
- `request_user_input` has baseline support, but no richer structured workflows.
|
|
75
|
-
|
|
76
|
-
### Gap 6: Resilience + Reconnect
|
|
77
|
-
- WebSocket reconnect/backoff behavior is still limited on mobile.
|
|
78
|
-
- Slow/broken client recovery remains a known risk path.
|
|
79
|
-
|
|
80
|
-
### Gap 7: Security Hardening
|
|
81
|
-
- Bridge remains trusted-network oriented with optional no-auth local mode.
|
|
82
|
-
- High-risk endpoints (`bridge/terminal/exec`, `bridge/git/*`) need stronger authz controls for wider deployment.
|
|
83
|
-
|
|
84
|
-
### Gap 8: Contract/Regression Testing
|
|
85
|
-
- No automated contract sync against generated app-server schema.
|
|
86
|
-
- Missing CI guardrails to detect newly added app-server methods or server-request variants.
|
|
87
|
-
|
|
88
|
-
### Gap 9: Docs and Operator Runbooks
|
|
89
|
-
- Need user-facing docs for new app-server capabilities as they are surfaced in mobile.
|
|
90
|
-
- Need operational docs for auth/token refresh and MCP/OAuth troubleshooting.
|
package/docs/eas-builds.md
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
# EAS Builds and Distribution
|
|
2
|
-
|
|
3
|
-
Use this guide for standalone app builds/distribution.
|
|
4
|
-
|
|
5
|
-
## Where To Run EAS Commands
|
|
6
|
-
|
|
7
|
-
Run EAS commands from `apps/mobile`.
|
|
8
|
-
|
|
9
|
-
Why:
|
|
10
|
-
|
|
11
|
-
- Expo app config is in `apps/mobile/app.json`
|
|
12
|
-
- EAS config is in `apps/mobile/eas.json`
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
cd apps/mobile
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
You can also run from repo root with workspace scoping:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npm exec --workspace apps/mobile -- eas <command>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Prerequisites
|
|
25
|
-
|
|
26
|
-
- `eas-cli` installed (`npm install -g eas-cli`)
|
|
27
|
-
- Logged in (`eas login`)
|
|
28
|
-
- Expo project linked (`eas project:info`)
|
|
29
|
-
|
|
30
|
-
## Build Profiles
|
|
31
|
-
|
|
32
|
-
Current profiles in `apps/mobile/eas.json`:
|
|
33
|
-
|
|
34
|
-
- `development` (dev client, internal distribution)
|
|
35
|
-
- `preview` (internal distribution)
|
|
36
|
-
- `production` (store/prod, auto-increment)
|
|
37
|
-
|
|
38
|
-
## Common Build Commands
|
|
39
|
-
|
|
40
|
-
From `apps/mobile`:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Internal/dev-client builds
|
|
44
|
-
eas build --platform ios --profile development
|
|
45
|
-
eas build --platform android --profile development
|
|
46
|
-
|
|
47
|
-
# Internal preview builds
|
|
48
|
-
eas build --platform ios --profile preview
|
|
49
|
-
eas build --platform android --profile preview
|
|
50
|
-
|
|
51
|
-
# Production builds
|
|
52
|
-
eas build --platform ios --profile production
|
|
53
|
-
eas build --platform android --profile production
|
|
54
|
-
|
|
55
|
-
# Both platforms
|
|
56
|
-
eas build --platform all --profile preview
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Track builds:
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
eas build:list --limit 10
|
|
63
|
-
eas build:view <BUILD_ID>
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Submit To Stores
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
eas submit --platform ios --latest --profile production
|
|
70
|
-
eas submit --platform android --latest --profile production
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Local Native Build Option (No EAS Cloud)
|
|
74
|
-
|
|
75
|
-
If you want local native builds instead:
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
npx expo run:ios
|
|
79
|
-
npx expo run:android
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
For iOS local device/signed builds, Apple signing/tooling is still required.
|
|
83
|
-
|
|
84
|
-
## iOS Distribution Reality
|
|
85
|
-
|
|
86
|
-
Without a public App Store release, iOS distribution still requires Apple provisioning paths:
|
|
87
|
-
|
|
88
|
-
1. Internal/dev provisioning with device allowlist
|
|
89
|
-
2. TestFlight private testing
|
|
90
|
-
|
|
91
|
-
Cloud builds are possible without public App Store listing, but signing/provisioning requirements still apply.
|