mirror of
https://github.com/OpenHands/OpenHands.git
synced 2026-03-22 13:47:19 +08:00
Add "Setting up workspace..." status message during repo cloning and setup (#7424)
Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
@@ -222,6 +222,7 @@ export enum I18nKey {
|
||||
STATUS$STARTING_CONTAINER = "STATUS$STARTING_CONTAINER",
|
||||
STATUS$PREPARING_CONTAINER = "STATUS$PREPARING_CONTAINER",
|
||||
STATUS$CONTAINER_STARTED = "STATUS$CONTAINER_STARTED",
|
||||
STATUS$SETTING_UP_WORKSPACE = "STATUS$SETTING_UP_WORKSPACE",
|
||||
ACCOUNT_SETTINGS_MODAL$DISCONNECT = "ACCOUNT_SETTINGS_MODAL$DISCONNECT",
|
||||
ACCOUNT_SETTINGS_MODAL$SAVE = "ACCOUNT_SETTINGS_MODAL$SAVE",
|
||||
ACCOUNT_SETTINGS_MODAL$CLOSE = "ACCOUNT_SETTINGS_MODAL$CLOSE",
|
||||
|
||||
@@ -3308,6 +3308,21 @@
|
||||
"tr": "Konteyner başlatıldı.",
|
||||
"ja": "コンテナが開始されました"
|
||||
},
|
||||
"STATUS$SETTING_UP_WORKSPACE": {
|
||||
"en": "Setting up workspace...",
|
||||
"zh-CN": "正在设置工作区...",
|
||||
"zh-TW": "正在設置工作區...",
|
||||
"de": "Arbeitsbereich wird eingerichtet...",
|
||||
"ko-KR": "작업 공간을 설정하는 중...",
|
||||
"no": "Setter opp arbeidsområde...",
|
||||
"it": "Configurazione dell'area di lavoro...",
|
||||
"pt": "Configurando espaço de trabalho...",
|
||||
"es": "Configurando espacio de trabajo...",
|
||||
"ar": "جاري إعداد مساحة العمل...",
|
||||
"fr": "Configuration de l'espace de travail...",
|
||||
"tr": "Çalışma alanı ayarlanıyor...",
|
||||
"ja": "ワークスペースを設定中..."
|
||||
},
|
||||
"ACCOUNT_SETTINGS_MODAL$DISCONNECT": {
|
||||
"en": "Disconnect",
|
||||
"es": "Desconectar",
|
||||
|
||||
@@ -69,6 +69,7 @@ STATUS_MESSAGES = {
|
||||
'STATUS$PREPARING_CONTAINER': 'Preparing container...',
|
||||
'STATUS$CONTAINER_STARTED': 'Container started.',
|
||||
'STATUS$WAITING_FOR_CLIENT': 'Waiting for client...',
|
||||
'STATUS$SETTING_UP_WORKSPACE': 'Setting up workspace...',
|
||||
}
|
||||
|
||||
|
||||
@@ -335,6 +336,11 @@ class Runtime(FileEditRuntimeMixin):
|
||||
'github_token and selected_repository must be provided to clone a repository'
|
||||
)
|
||||
|
||||
if self.status_callback:
|
||||
self.status_callback(
|
||||
'info', 'STATUS$SETTING_UP_WORKSPACE', 'Setting up workspace...'
|
||||
)
|
||||
|
||||
github_token: SecretStr = git_provider_tokens[ProviderType.GITHUB].token
|
||||
url = f'https://{github_token.get_secret_value()}@github.com/{selected_repository}.git'
|
||||
dir_name = selected_repository.split('/')[-1]
|
||||
@@ -369,6 +375,11 @@ class Runtime(FileEditRuntimeMixin):
|
||||
if isinstance(read_obs, ErrorObservation):
|
||||
return
|
||||
|
||||
if self.status_callback:
|
||||
self.status_callback(
|
||||
'info', 'STATUS$SETTING_UP_WORKSPACE', 'Setting up workspace...'
|
||||
)
|
||||
|
||||
action = CmdRunAction(f'chmod +x {setup_script} && source {setup_script}')
|
||||
obs = self.run_action(action)
|
||||
if isinstance(obs, CmdOutputObservation) and obs.exit_code != 0:
|
||||
|
||||
@@ -139,9 +139,7 @@ class AgentSession:
|
||||
|
||||
if git_provider_tokens:
|
||||
provider_handler = ProviderHandler(provider_tokens=git_provider_tokens)
|
||||
await provider_handler.set_event_stream_secrets(
|
||||
self.event_stream
|
||||
)
|
||||
await provider_handler.set_event_stream_secrets(self.event_stream)
|
||||
|
||||
if not self._closed:
|
||||
if initial_message:
|
||||
@@ -243,12 +241,15 @@ class AgentSession:
|
||||
headless_mode=False,
|
||||
attach_to_existing=False,
|
||||
git_provider_tokens=git_provider_tokens,
|
||||
user_id=self.user_id
|
||||
user_id=self.user_id,
|
||||
)
|
||||
else:
|
||||
provider_handler = ProviderHandler(provider_tokens=git_provider_tokens or cast(PROVIDER_TOKEN_TYPE, MappingProxyType({})))
|
||||
provider_handler = ProviderHandler(
|
||||
provider_tokens=git_provider_tokens
|
||||
or cast(PROVIDER_TOKEN_TYPE, MappingProxyType({}))
|
||||
)
|
||||
env_vars = await provider_handler.get_env_vars(expose_secrets=True)
|
||||
|
||||
|
||||
self.runtime = runtime_cls(
|
||||
config=config,
|
||||
event_stream=self.event_stream,
|
||||
@@ -257,7 +258,7 @@ class AgentSession:
|
||||
status_callback=self._status_callback,
|
||||
headless_mode=False,
|
||||
attach_to_existing=False,
|
||||
env_vars=env_vars
|
||||
env_vars=env_vars,
|
||||
)
|
||||
|
||||
# FIXME: this sleep is a terrible hack.
|
||||
|
||||
Reference in New Issue
Block a user