apps/mobile/src/features/projects/AddProjectScreen.test.ts | 273 ++++++++++++++++++++++++ apps/mobile/src/features/projects/AddProjectScreen.tsx | 93 +++++++-- apps/mobile/src/features/threads/NewTaskContextPickerScreens.tsx | 16 +- apps/mobile/src/features/threads/ThreadGitControls.tsx | 48 +++-- apps/mobile/src/features/threads/git/GitBranchesSheet.test.tsx | 172 ++++++++++++++++ apps/mobile/src/features/threads/git/GitBranchesSheet.tsx | 15 +- apps/mobile/src/features/threads/git/GitCommitSheet.tsx | 16 +- apps/mobile/src/features/threads/git/GitConfirmSheet.tsx | 21 +- apps/mobile/src/features/threads/git/GitOverviewSheet.tsx | 59 ++++-- apps/mobile/src/state/use-selected-thread-git-actions.test.ts | 283 +++++++++++++++++++++++++ apps/mobile/src/state/use-selected-thread-git-actions.ts | 82 ++++++-- apps/server/src/auth/RpcAuthorization.test.ts | 61 ++++++ apps/server/src/auth/RpcAuthorization.ts | 42 ++-- apps/server/src/auth/http.ts | 2 + apps/web/src/components/BranchPicker.tsx | 3 + apps/web/src/components/BranchToolbarBranchSelector.tsx | 56 ++++- apps/web/src/components/ChatView.tsx | 28 ++- apps/web/src/components/CommandPalette.tsx | 49 ++++- apps/web/src/components/GitActionsControl.test.ts | 295 ++++++++++++++++++++++++++ apps/web/src/components/GitActionsControl.tsx | 78 +++++-- apps/web/src/components/PullRequestThreadDialog.test.ts | 273 ++++++++++++++++++++++++ apps/web/src/components/PullRequestThreadDialog.tsx | 43 +++- apps/web/src/components/Sidebar.tsx | 244 ++++++++++++++++------ apps/web/src/components/chat/ChatHeader.tsx | 37 +++- apps/web/src/components/pullRequest/PullRequestCommentForm.tsx | 6 +- apps/web/src/components/pullRequest/PullRequestDetailPanel.test.tsx | 7 +- apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx | 71 +++++-- apps/web/src/components/pullRequest/PullRequestLabelPicker.tsx | 6 +- apps/web/src/components/pullRequest/PullRequestMarkdownEditor.test.tsx | 148 +++++++++++++ apps/web/src/components/pullRequest/PullRequestMarkdownEditor.tsx | 32 ++- apps/web/src/components/pullRequest/PullRequestReactions.tsx | 6 +- apps/web/src/components/pullRequest/PullRequestReviewForm.tsx | 2 +- apps/web/src/components/pullRequest/PullRequestReviewerPicker.tsx | 2 +- apps/web/src/components/pullRequest/PullRequestSpeedActions.tsx | 7 +- apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx | 2 +- apps/web/src/components/pullRequest/PullRequestTimelineTab.tsx | 2 +- apps/web/src/components/pullRequest/usePullRequestActions.ts | 6 +- apps/web/src/components/settings/ConnectionsSettings.tsx | 6 + apps/web/src/components/threadActionMenu.logic.test.ts | 52 +++++ apps/web/src/components/threadActionMenu.logic.ts | 29 ++- apps/web/src/hooks/useThreadActionMenu.test.ts | 221 ++++++++++++++++++++ apps/web/src/hooks/useThreadActionMenu.ts | 23 ++- apps/web/src/hooks/useThreadActions.permissions.test.ts | 354 ++++++++++++++++++++++++++++++++ apps/web/src/hooks/useThreadActions.ts | 115 ++++++++--- apps/web/src/hooks/useThreadActions.undo.test.ts | 5 + apps/web/src/state/sourceControlActions.test.ts | 209 +++++++++++++++++++ apps/web/src/state/sourceControlActions.ts | 51 ++++- docs/user/remote-access.md | 6 + packages/client-runtime/src/rpc/client.ts | 2 +- packages/client-runtime/src/state/commandPermissions.test.ts | 43 ++++ packages/client-runtime/src/state/pullRequests.test.ts | 91 ++++++++ packages/client-runtime/src/state/pullRequests.ts | 11 +- packages/client-runtime/src/state/runtime.ts | 19 +- packages/client-runtime/src/state/sourceControl.test.ts | 22 ++ packages/client-runtime/src/state/vcs.test.ts | 22 ++ packages/client-runtime/src/state/vcsAction.test.ts | 22 ++ packages/client-runtime/src/state/vcsAction.ts | 9 +- packages/contracts/src/auth.ts | 3 + packages/contracts/src/clientRpcPermissions.ts | 42 +++- 59 files changed, 3628 insertions(+), 315 deletions(-)