AGENTS.md | 1 + apps/mobile/src/features/agent-awareness/liveActivityPreferences.test.ts | 115 +++++++- apps/mobile/src/features/agent-awareness/liveActivityPreferences.ts | 29 +- apps/mobile/src/features/archive/ArchivedThreadsScreen.tsx | 115 ++++---- apps/mobile/src/features/home/useThreadListActions.test.ts | 326 ++++++++++++++++++++++ apps/mobile/src/features/home/useThreadListActions.ts | 22 ++ apps/mobile/src/features/settings/SettingsEnvironmentDetailRouteScreen.tsx | 40 ++- apps/mobile/src/features/settings/SettingsNotificationsRouteScreen.tsx | 8 +- apps/mobile/src/features/settings/SettingsRouteScreen.logic.test.ts | 61 +++- apps/mobile/src/features/settings/SettingsRouteScreen.logic.ts | 16 ++ apps/mobile/src/features/settings/SettingsScheduledTasksRouteScreen.tsx | 34 ++- apps/mobile/src/features/settings/SettingsServerControlsRouteScreen.tsx | 29 +- apps/mobile/src/features/settings/SettingsThreadsRouteScreen.tsx | 26 +- apps/mobile/src/features/settings/components/SettingsProjectOverridesSection.tsx | 2 + apps/mobile/src/features/settings/environment-maintenance.test.ts | 23 ++ apps/mobile/src/features/settings/environment-maintenance.ts | 3 +- apps/mobile/src/features/threads/NewTaskDraftScreen.tsx | 20 ++ apps/mobile/src/features/threads/PendingApprovalCard.tsx | 8 +- apps/mobile/src/features/threads/PendingUserInputCard.tsx | 9 +- apps/mobile/src/features/threads/ThreadComposer.tsx | 10 + apps/mobile/src/features/threads/ThreadDetailScreen.tsx | 4 + apps/mobile/src/features/threads/ThreadRouteScreen.tsx | 13 +- apps/mobile/src/features/threads/thread-list-v2-items.tsx | 11 +- apps/mobile/src/features/usage/UsageLimitsSection.test.ts | 4 + apps/mobile/src/features/usage/UsageLimitsSection.tsx | 34 ++- apps/mobile/src/lib/attachmentUpload.test.ts | 77 ++++++ apps/mobile/src/lib/attachmentUpload.ts | 25 +- apps/mobile/src/state/attachments.test.ts | 99 +++++++ apps/mobile/src/state/attachments.ts | 36 ++- apps/mobile/src/state/composer-attachment-uploads.ts | 17 +- apps/mobile/src/state/session.test.ts | 100 +++++++ apps/mobile/src/state/session.ts | 62 ++++- apps/mobile/src/state/thread-task-permissions.test.ts | 260 +++++++++++++++++ apps/mobile/src/state/use-selected-thread-requests.test.tsx | 1 + apps/mobile/src/state/use-selected-thread-requests.ts | 16 +- apps/mobile/src/state/use-thread-composer-state.ts | 10 + apps/mobile/src/state/use-thread-outbox-drain.permissions.test.ts | 318 +++++++++++++++++++++ apps/mobile/src/state/use-thread-outbox-drain.test.ts | 28 ++ apps/mobile/src/state/use-thread-outbox-drain.ts | 28 ++ apps/server/src/auth/EnvironmentAuth.test.ts | 21 +- apps/server/src/auth/EnvironmentAuthAdmin.test.ts | 23 +- apps/server/src/auth/EnvironmentAuthPolicy.test.ts | 2 + apps/server/src/auth/EnvironmentAuthPolicy.ts | 3 +- apps/server/src/auth/McpOAuth.test.ts | 4 +- apps/server/src/auth/PairingGrantStore.test.ts | 20 +- apps/server/src/auth/RpcAuthorization.test.ts | 86 +++++- apps/server/src/auth/RpcAuthorization.ts | 107 ++++--- apps/server/src/auth/SessionStore.test.ts | 10 +- apps/server/src/auth/http.ts | 6 + apps/server/src/observability/RpcInstrumentation.test.ts | 4 +- apps/server/src/provider/ProviderRegistry.test.ts | 94 ++++++- apps/server/src/provider/ProviderRegistry.ts | 50 +++- apps/server/src/serverSettings.test.ts | 85 ++++++ apps/web/src/cloud/primaryCloudLinkState.ts | 24 +- apps/web/src/cloud/useCloudLinkController.test.tsx | 230 +++++++++++++++ apps/web/src/cloud/useCloudLinkController.ts | 38 ++- apps/web/src/components/ChatMarkdown.permissions.test.tsx | 299 ++++++++++++++++++++ apps/web/src/components/ChatMarkdown.test.tsx | 19 +- apps/web/src/components/ChatMarkdown.tsx | 28 +- apps/web/src/components/ChatView.tsx | 213 ++++++++++---- apps/web/src/components/KeybindingsConfigWarning.test.tsx | 119 ++++++++ apps/web/src/components/KeybindingsConfigWarning.tsx | 54 ++++ apps/web/src/components/LegacySidebar.tsx | 116 +++++++- apps/web/src/components/ProjectScriptsControl.tsx | 24 +- apps/web/src/components/ProviderUpdateEnvironmentRows.test.tsx | 14 + apps/web/src/components/ProviderUpdateEnvironmentRows.tsx | 18 +- apps/web/src/components/ProviderUpdatePrimaryNotification.tsx | 122 +++++--- apps/web/src/components/ServerUpdateAction.test.tsx | 88 +++++- apps/web/src/components/ServerUpdateAction.tsx | 39 ++- apps/web/src/components/chat/ChatComposer.tsx | 27 +- apps/web/src/components/chat/ComposerPendingApprovalActions.tsx | 19 +- apps/web/src/components/chat/ComposerPendingUserInputPanel.permissions.test.tsx | 93 +++++++ apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx | 23 +- apps/web/src/components/chat/ComposerPrimaryActions.test.tsx | 2 + apps/web/src/components/chat/ComposerPrimaryActions.tsx | 14 +- apps/web/src/components/chat/OpenInPicker.test.tsx | 226 +++++++++++++++ apps/web/src/components/chat/OpenInPicker.tsx | 36 ++- apps/web/src/components/chat/ThreadAutomationsPanel.permissions.test.tsx | 84 ++++++ apps/web/src/components/chat/ThreadAutomationsPanel.tsx | 30 +- apps/web/src/components/chat/ThreadDetailsPanel.tsx | 4 +- apps/web/src/components/chat/TraitsPicker.tsx | 7 +- apps/web/src/components/cloud/ConnectOnboardingDialog.tsx | 88 ++++-- apps/web/src/components/device/DeviceSetup.tsx | 10 +- apps/web/src/components/onboarding/WelcomeWizard.import.test.tsx | 403 +++++++++++++++++++++++++++ apps/web/src/components/onboarding/WelcomeWizard.test.tsx | 6 + apps/web/src/components/onboarding/WelcomeWizard.tsx | 40 ++- apps/web/src/components/projectScriptEditor.permissions.test.tsx | 340 +++++++++++++++++++++++ apps/web/src/components/projectScriptEditor.test.tsx | 6 + apps/web/src/components/projectScriptEditor.tsx | 60 +++- apps/web/src/components/settings/AcpRegistrySearchStep.test.tsx | 17 ++ apps/web/src/components/settings/AcpRegistrySearchStep.tsx | 6 +- apps/web/src/components/settings/AcpSessionManagementSection.test.tsx | 135 +++++---- apps/web/src/components/settings/AcpSessionManagementSection.tsx | 43 ++- apps/web/src/components/settings/AddCodexAccountDialog.tsx | 12 +- apps/web/src/components/settings/AddProviderInstanceDialog.environment.test.tsx | 101 +++++++ apps/web/src/components/settings/AddProviderInstanceDialog.tsx | 10 +- apps/web/src/components/settings/CodexSetupSection.tsx | 4 + apps/web/src/components/settings/ConnectionsSettings.logic.test.ts | 13 + apps/web/src/components/settings/ConnectionsSettings.logic.ts | 7 + apps/web/src/components/settings/ConnectionsSettings.tsx | 402 +++++++++++++++++++-------- apps/web/src/components/settings/DeviceHostsSettings.tsx | 12 +- apps/web/src/components/settings/DiagnosticsSettings.tsx | 57 ++-- apps/web/src/components/settings/EnvironmentIconPicker.test.ts | 4 +- apps/web/src/components/settings/EnvironmentIconPicker.tsx | 41 +-- apps/web/src/components/settings/IntegrationsSettings.test.tsx | 12 + apps/web/src/components/settings/IntegrationsSettings.tsx | 18 +- apps/web/src/components/settings/KeybindingsSettings.environment.test.tsx | 143 ++++++++++ apps/web/src/components/settings/KeybindingsSettings.tsx | 98 ++++--- apps/web/src/components/settings/ProjectActionsSettings.tsx | 31 ++- apps/web/src/components/settings/ProjectSettingsPanel.test.tsx | 476 ++++++++++++++++++++++++++++++++ apps/web/src/components/settings/ProjectSettingsPanel.tsx | 70 ++++- apps/web/src/components/settings/ProviderInstanceCard.tsx | 29 +- apps/web/src/components/settings/ProviderModelsSection.tsx | 32 ++- apps/web/src/components/settings/ProviderSettingsPanel.environment.test.tsx | 40 ++- apps/web/src/components/settings/ProviderSettingsPanel.logic.test.ts | 35 ++- apps/web/src/components/settings/ProviderSettingsPanel.logic.ts | 60 +--- apps/web/src/components/settings/ProviderSettingsPanel.tsx | 177 +++++------- apps/web/src/components/settings/ResourceTelemetryDiagnostics.tsx | 31 ++- apps/web/src/components/settings/ScheduledTasksSettings.tsx | 27 +- apps/web/src/components/settings/SettingsPanels.tsx | 12 +- apps/web/src/components/settings/SnapShotSettings.test.tsx | 4 + apps/web/src/components/settings/settingsLayout.tsx | 32 ++- apps/web/src/components/settings/settingsSearch.ts | 1 - apps/web/src/components/settings/useAvailableSettingsSearchItems.ts | 18 +- apps/web/src/components/settings/useHostConnectionChecks.ts | 5 + apps/web/src/components/settings/useProjectScriptSettings.ts | 18 ++ apps/web/src/components/settings/useScopedSettings.ts | 56 +++- apps/web/src/components/usage/UsageLimits.tsx | 27 +- apps/web/src/components/usage/UsageLimitsPooled.tsx | 3 +- apps/web/src/components/usage/UsagePriceOverrides.tsx | 34 +-- apps/web/src/editorPreferences.test.ts | 88 ++++++ apps/web/src/editorPreferences.ts | 24 +- apps/web/src/hooks/useSettings.sync.test.tsx | 201 ++++++++++++++ apps/web/src/hooks/useSettings.ts | 71 ++++- apps/web/src/keybindings.test.ts | 97 +++++++ apps/web/src/keybindings.ts | 19 ++ apps/web/src/lib/attachmentUploadQueue.test.ts | 111 ++++++++ apps/web/src/lib/attachmentUploadQueue.ts | 36 ++- apps/web/src/lib/resourceTelemetryState.ts | 5 + apps/web/src/routes/__root.tsx | 52 +--- apps/web/src/state/session.ts | 63 ++++- apps/web/src/state/use-orchestration-command.test.ts | 85 ++++++ apps/web/src/state/use-orchestration-command.ts | 43 +++ docs/internals/environment-auth.md | 5 + docs/user/remote-access.md | 10 + oxlint-plugin-t3code/index.ts | 2 + oxlint-plugin-t3code/rules/no-rpc-permission-bypass.test.ts | 69 +++++ oxlint-plugin-t3code/rules/no-rpc-permission-bypass.ts | 91 ++++++ packages/client-runtime/src/rpc/client.ts | 61 +++- packages/client-runtime/src/rpc/index.ts | 2 +- packages/client-runtime/src/state/commandPermissions.test.ts | 152 ++++++++++ packages/client-runtime/src/state/commandPermissions.ts | 97 +++++++ packages/client-runtime/src/state/environmentStreams.ts | 35 +++ packages/client-runtime/src/state/pullRequestRouting.ts | 2 +- packages/client-runtime/src/state/runtime.ts | 64 ++--- packages/client-runtime/src/state/session.ts | 35 ++- packages/client-runtime/src/state/usage.test.ts | 2 + packages/contracts/src/auth.ts | 11 + packages/contracts/src/clientRpcPermissions.ts | 21 ++ packages/contracts/src/index.ts | 1 + packages/contracts/src/settings.ts | 25 ++ vite.config.ts | 41 +++ 162 files changed, 8378 insertions(+), 1114 deletions(-)