app.json | 3 + apps/mobile/README.md | 24 + apps/mobile/app.config.ts | 84 +- apps/mobile/global.css | 4 +- apps/mobile/metro.config.js | 9 + apps/mobile/modules/t3-composer-editor/android/build.gradle | 19 + apps/mobile/modules/t3-composer-editor/android/src/main/AndroidManifest.xml | 1 + apps/mobile/modules/t3-composer-editor/android/src/main/java/expo/modules/t3composereditor/T3ComposerEditorModule.kt | 72 ++ apps/mobile/modules/t3-composer-editor/android/src/main/java/expo/modules/t3composereditor/T3ComposerEditorView.kt | 480 ++++++++++++ apps/mobile/modules/t3-composer-editor/expo-module.config.json | 5 +- apps/mobile/modules/t3-native-controls/android/build.gradle | 19 + apps/mobile/modules/t3-native-controls/android/src/main/AndroidManifest.xml | 1 + apps/mobile/modules/t3-native-controls/android/src/main/java/expo/modules/t3nativecontrols/T3HeaderButtonView.kt | 97 +++ apps/mobile/modules/t3-native-controls/android/src/main/java/expo/modules/t3nativecontrols/T3NativeControlsModule.kt | 21 + apps/mobile/modules/t3-native-controls/expo-module.config.json | 5 +- apps/mobile/modules/t3-review-diff/android/build.gradle | 19 + apps/mobile/modules/t3-review-diff/android/src/main/AndroidManifest.xml | 1 + apps/mobile/modules/t3-review-diff/android/src/main/java/expo/modules/t3reviewdiff/T3ReviewDiffModule.kt | 78 ++ apps/mobile/modules/t3-review-diff/android/src/main/java/expo/modules/t3reviewdiff/T3ReviewDiffView.kt | 1056 +++++++++++++++++++++++++ apps/mobile/modules/t3-review-diff/expo-module.config.json | 5 +- apps/mobile/modules/t3-review-diff/package.json | 5 + apps/mobile/modules/t3-terminal/README.md | 18 +- apps/mobile/modules/t3-terminal/THIRD_PARTY_NOTICES.md | 18 + apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/LICENSE | 21 + apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/VERSION | 1 + apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt.h | 154 ++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/allocator.h | 255 ++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/build_info.h | 150 ++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/color.h | 97 +++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/device.h | 151 ++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/focus.h | 76 ++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/formatter.h | 207 +++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/grid_ref.h | 212 +++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/grid_ref_tracked.h | 139 ++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/key.h | 73 ++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/key/encoder.h | 255 ++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/key/event.h | 482 ++++++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/kitty_graphics.h | 775 +++++++++++++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/modes.h | 198 +++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/mouse.h | 70 ++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/mouse/encoder.h | 214 ++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/mouse/event.h | 195 +++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/osc.h | 215 ++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/paste.h | 101 +++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/point.h | 89 +++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/render.h | 729 ++++++++++++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/screen.h | 400 ++++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/selection.h | 1061 +++++++++++++++++++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/sgr.h | 350 +++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/size_report.h | 101 +++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/style.h | 139 ++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/sys.h | 210 +++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/terminal.h | 1322 ++++++++++++++++++++++++++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/types.h | 335 ++++++++ apps/mobile/modules/t3-terminal/Vendor/libghostty-vt/include/ghostty/vt/wasm.h | 160 ++++ apps/mobile/modules/t3-terminal/android/.gitignore | 1 + apps/mobile/modules/t3-terminal/android/build.gradle | 14 + apps/mobile/modules/t3-terminal/android/src/main/assets/fonts/MesloLGS-NF-Bold.ttf | Bin 0 -> 2603868 bytes apps/mobile/modules/t3-terminal/android/src/main/assets/fonts/MesloLGS-NF-Regular.ttf | Bin 0 -> 2594368 bytes apps/mobile/modules/t3-terminal/android/src/main/cpp/CMakeLists.txt | 23 + apps/mobile/modules/t3-terminal/android/src/main/cpp/t3_terminal_jni.cpp | 516 +++++++++++++ apps/mobile/modules/t3-terminal/android/src/main/java/expo/modules/t3terminal/GhosttyBridge.kt | 64 ++ apps/mobile/modules/t3-terminal/android/src/main/java/expo/modules/t3terminal/T3TerminalModule.kt | 4 + apps/mobile/modules/t3-terminal/android/src/main/java/expo/modules/t3terminal/T3TerminalView.kt | 399 +++++++--- apps/mobile/modules/t3-terminal/android/src/main/java/expo/modules/t3terminal/TerminalCanvasView.kt | 628 +++++++++++++++ apps/mobile/modules/t3-terminal/android/src/main/java/expo/modules/t3terminal/TerminalFrame.kt | 82 ++ apps/mobile/modules/t3-terminal/android/src/main/jniLibs/arm64-v8a/libghostty-vt.so | Bin 0 -> 1100368 bytes apps/mobile/modules/t3-terminal/android/src/main/jniLibs/armeabi-v7a/libghostty-vt.so | Bin 0 -> 1249176 bytes apps/mobile/modules/t3-terminal/android/src/main/jniLibs/x86/libghostty-vt.so | Bin 0 -> 1105392 bytes apps/mobile/modules/t3-terminal/android/src/main/jniLibs/x86_64/libghostty-vt.so | Bin 0 -> 1194440 bytes apps/mobile/modules/t3-terminal/scripts/build-libghostty-android.sh | 152 ++++ apps/mobile/modules/t3-terminal/scripts/libghostty-android-patches/0001-link-android-libvt-with-libc.patch | 25 + apps/mobile/modules/t3-terminal/scripts/libghostty-android-patches/0002-align-android-libvt-to-16kb-pages.patch | 11 + apps/mobile/package.json | 8 +- apps/mobile/plugins/withAndroidGradleHeap.cjs | 22 + apps/mobile/plugins/withAndroidModernAlertDialog.cjs | 188 +++++ apps/mobile/plugins/withAndroidModernPopupMenu.cjs | 250 ++++++ apps/mobile/plugins/withAndroidPredictiveBackCompat.cjs | 104 +++ apps/mobile/plugins/withoutIosPersonalTeamCapabilities.cjs | 10 + apps/mobile/src/App.tsx | 26 +- apps/mobile/src/Stack.tsx | 47 +- apps/mobile/src/components/AndroidAnchoredMenu.tsx | 337 ++++++++ apps/mobile/src/components/AndroidScreenHeader.tsx | 110 +++ apps/mobile/src/components/AppSymbol.tsx | 202 +++++ apps/mobile/src/components/ComposerAttachmentStrip.tsx | 2 +- apps/mobile/src/components/ComposerToolbarTrigger.tsx | 12 +- apps/mobile/src/components/ConfirmDialogHost.tsx | 111 +++ apps/mobile/src/components/ControlPill.tsx | 62 +- apps/mobile/src/components/CopyTextButton.tsx | 8 +- apps/mobile/src/components/OverlayPortal.tsx | 69 ++ apps/mobile/src/components/PierreEntryIcon.tsx | 2 +- apps/mobile/src/components/ProjectFavicon.tsx | 7 +- apps/mobile/src/components/T3Wordmark.tsx | 23 + apps/mobile/src/features/agent-awareness/capabilities.ts | 5 + apps/mobile/src/features/agent-awareness/liveActivityPreferences.test.ts | 2 + apps/mobile/src/features/agent-awareness/registrationPayload.ts | 6 +- apps/mobile/src/features/agent-awareness/remoteRegistration.test.ts | 20 + apps/mobile/src/features/agent-awareness/remoteRegistration.ts | 3 +- apps/mobile/src/features/archive/ArchivedThreadsScreen.tsx | 187 ++++- apps/mobile/src/features/cloud/linkEnvironment.test.ts | 2 + apps/mobile/src/features/connection/CloudEnvironmentRows.tsx | 2 +- apps/mobile/src/features/connection/ConnectionEnvironmentRow.tsx | 2 +- apps/mobile/src/features/connection/ConnectionSheetButton.tsx | 2 +- apps/mobile/src/features/connection/ConnectionsNewRouteScreen.tsx | 51 +- apps/mobile/src/features/connection/ConnectionsRouteScreen.tsx | 31 +- apps/mobile/src/features/connection/EnvironmentConnectionNotice.tsx | 2 +- apps/mobile/src/features/files/FileMarkdownPreview.tsx | 3 + apps/mobile/src/features/files/FileTreeBrowser.tsx | 2 +- apps/mobile/src/features/files/ThreadFilesRouteScreen.tsx | 83 +- apps/mobile/src/features/files/thread-file-navigator-pane.tsx | 2 +- apps/mobile/src/features/home/AndroidHomeFab.tsx | 51 ++ apps/mobile/src/features/home/HomeHeader.tsx | 219 +++++- apps/mobile/src/features/home/HomeRouteScreen.tsx | 134 ++-- apps/mobile/src/features/home/HomeScreen.tsx | 23 +- apps/mobile/src/features/home/WorkspaceConnectionStatus.tsx | 2 +- apps/mobile/src/features/home/thread-swipe-actions.tsx | 11 +- apps/mobile/src/features/home/useThreadListActions.ts | 27 +- apps/mobile/src/features/layout/WorkspaceEmptyDetail.tsx | 2 +- apps/mobile/src/features/layout/workspace-sidebar-toolbar.tsx | 3 +- apps/mobile/src/features/projects/AddProjectScreen.tsx | 2 +- apps/mobile/src/features/review/ReviewCommentComposerSheet.tsx | 91 ++- apps/mobile/src/features/review/ReviewSheet.tsx | 112 ++- apps/mobile/src/features/settings/SettingsEnvironmentsRouteScreen.tsx | 44 +- apps/mobile/src/features/settings/SettingsRouteScreen.tsx | 63 +- apps/mobile/src/features/settings/appearance/components/FontSizeSliderRow.tsx | 2 +- apps/mobile/src/features/settings/appearance/sections/CodeAppearanceSection.tsx | 2 +- apps/mobile/src/features/settings/appearance/sections/TerminalAppearanceSection.tsx | 2 +- apps/mobile/src/features/settings/appearance/sections/TextAppearanceSection.tsx | 2 +- apps/mobile/src/features/settings/components/SettingsRow.tsx | 3 +- apps/mobile/src/features/settings/components/SettingsSection.tsx | 15 +- apps/mobile/src/features/settings/components/SettingsSwitchRow.tsx | 2 +- apps/mobile/src/features/shortcuts/appShortcuts.test.ts | 155 ++++ apps/mobile/src/features/shortcuts/appShortcuts.ts | 137 ++++ apps/mobile/src/features/shortcuts/useAppShortcuts.ts | 136 ++++ apps/mobile/src/features/terminal/ThreadTerminalPanel.tsx | 92 ++- apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx | 269 ++++++- apps/mobile/src/features/terminal/terminalMenu.test.ts | 70 ++ apps/mobile/src/features/terminal/terminalMenu.ts | 29 + apps/mobile/src/features/threads/ComposerCommandPopover.tsx | 2 +- apps/mobile/src/features/threads/GitActionProgressOverlay.tsx | 2 +- apps/mobile/src/features/threads/NewTaskDraftScreen.tsx | 296 ++++--- apps/mobile/src/features/threads/NewTaskRouteScreen.tsx | 49 +- apps/mobile/src/features/threads/ThreadComposer.tsx | 22 +- apps/mobile/src/features/threads/ThreadFeed.tsx | 203 +++-- apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx | 2 +- apps/mobile/src/features/threads/ThreadRouteScreen.tsx | 100 ++- apps/mobile/src/features/threads/git/GitBranchesSheet.tsx | 6 +- apps/mobile/src/features/threads/git/GitCommitSheet.tsx | 6 +- apps/mobile/src/features/threads/git/GitConfirmSheet.tsx | 1 + apps/mobile/src/features/threads/git/GitOverviewSheet.tsx | 84 +- apps/mobile/src/features/threads/git/gitSheetComponents.tsx | 2 +- apps/mobile/src/features/threads/markdownCodeHighlightState.ts | 87 +++ apps/mobile/src/features/threads/sidebar-filter-button.tsx | 2 +- apps/mobile/src/features/threads/sidebar-header-actions.android.tsx | 16 + apps/mobile/src/features/threads/sidebar-header-actions.tsx | 2 +- apps/mobile/src/features/threads/thread-list-items.tsx | 17 +- apps/mobile/src/features/threads/thread-work-log.tsx | 46 +- apps/mobile/src/lib/appBlurTarget.ts | 8 + apps/mobile/src/native/T3ComposerEditor.android.tsx | 6 + apps/mobile/src/native/T3ComposerEditor.native.tsx | 286 +++++++ apps/mobile/src/native/T3ComposerEditor.tsx | 1 + apps/mobile/src/native/T3ComposerEditor.types.ts | 2 + apps/mobile/src/native/T3HeaderButton.android.tsx | 26 + apps/mobile/src/persistence/imperative.ts | 8 +- apps/mobile/src/persistence/mobile-storage.ts | 39 + pnpm-lock.yaml | 114 +++ 166 files changed, 17354 insertions(+), 686 deletions(-)