openhands 1.0.4__py3-none-any.whl → 1.0.5__py3-none-any.whl

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.

Potentially problematic release.


This version of openhands might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openhands
3
- Version: 1.0.4
3
+ Version: 1.0.5
4
4
  Summary: OpenHands CLI - Terminal User Interface for OpenHands AI Agent
5
5
  Author-email: OpenHands Team <contact@all-hands.dev>
6
6
  License: MIT
@@ -1,5 +1,5 @@
1
1
  openhands_cli/__init__.py,sha256=AqdjE-Up0uBSDyHvNjF0zWHNmA4ps-lsQWFpUWCWNEc,187
2
- openhands_cli/agent_chat.py,sha256=Jl6khJ-A8i0vQN_81fD28c0Kw_YSDyir7CPmv8dKi_g,7032
2
+ openhands_cli/agent_chat.py,sha256=SJcOq38fyOylSrwpoLcfwJZZtNSeim8TAXSU45B15vY,7059
3
3
  openhands_cli/gui_launcher.py,sha256=FtebC7ZXYvhqRzl-CXyacPes91D3OUInwZssC-LmcDw,7192
4
4
  openhands_cli/locations.py,sha256=zG5OnpJiX0kQ1fprEsOSi_cNqydEvxunPBCTpNrVaJ0,438
5
5
  openhands_cli/pt_style.py,sha256=ITu26EC-uMJdBdB5AGtB-3kdFqZvht7gGhoPJ__O0GY,1263
@@ -17,7 +17,7 @@ openhands_cli/tui/status.py,sha256=QNbS9OEK6d_c0P1eEQKfytuUF1R7uPxFl5nN-yv3cdA,3
17
17
  openhands_cli/tui/tui.py,sha256=JBahocaunF0LwJJLkcCmwSZN9xydb3SmH7fb8Jw8rFc,3545
18
18
  openhands_cli/tui/utils.py,sha256=t7vJHU_AcLzuLTPku88Aqd51jyWY8HwH5Y2n-Bpa-WU,536
19
19
  openhands_cli/tui/settings/mcp_screen.py,sha256=LMdcGD6DfwZQ4jnp-KM4gYiPXfNGHHPAqtEAXLKZtmA,8215
20
- openhands_cli/tui/settings/settings_screen.py,sha256=JCJl1ysd-JniiptMBIQxnNs7guH1Q0UTc3a4cYlKdNE,6964
20
+ openhands_cli/tui/settings/settings_screen.py,sha256=k0omTkjNg2uFvy6Z2WzxyysuK6JW4hSnFo0X2ChvbME,7276
21
21
  openhands_cli/tui/settings/store.py,sha256=bhQZ--grg4hi5g7uvmjkrBTVq16G4Ln_uXp_D-ADKPg,3481
22
22
  openhands_cli/user_actions/__init__.py,sha256=Tf-lQj7-6bNl5rohSdcAFApkKbQb-N9JcKZgHa1HF60,501
23
23
  openhands_cli/user_actions/agent_action.py,sha256=Q0nW6zv7j1D1ys95FCI13rqQhw0sXlw820Dp9qR4WyY,2704
@@ -25,7 +25,7 @@ openhands_cli/user_actions/exit_session.py,sha256=3u1CqWeYAEYfZi9BFh_dUwvy9aXXuv
25
25
  openhands_cli/user_actions/settings_action.py,sha256=QqWj37CAlrkV6FW9SEmmwsvKzdGyUYv4DlGjUweKsmg,5707
26
26
  openhands_cli/user_actions/types.py,sha256=zMHoJqxmtbxAIq6O3RC-XoGzgbZzWZvRFNMOGW4MViQ,407
27
27
  openhands_cli/user_actions/utils.py,sha256=qPTgP_1shnWgA7itrzTyfEGb_meXO-zq98JzFMUqCx4,6362
28
- openhands-1.0.4.dist-info/METADATA,sha256=kipycmHaOr210M3Rn09STPD27Sv4lEXnxDx849xXrzQ,1382
29
- openhands-1.0.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
30
- openhands-1.0.4.dist-info/entry_points.txt,sha256=CltyhTfx4lPndNPQXrZZDj5LmXrYXykVyIqoedPXsas,61
31
- openhands-1.0.4.dist-info/RECORD,,
28
+ openhands-1.0.5.dist-info/METADATA,sha256=Tf4hPScO-dXdUSjiCZoxRhzYNgbwOAk6pR8tWhrtg_M,1382
29
+ openhands-1.0.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
30
+ openhands-1.0.5.dist-info/entry_points.txt,sha256=CltyhTfx4lPndNPQXrZZDj5LmXrYXykVyIqoedPXsas,61
31
+ openhands-1.0.5.dist-info/RECORD,,
@@ -127,7 +127,7 @@ def run_cli_entry(resume_conversation_id: str | None = None) -> None:
127
127
  break
128
128
 
129
129
  elif command == '/settings':
130
- settings_screen = SettingsScreen(conversation)
130
+ settings_screen = SettingsScreen(runner.conversation if runner else None)
131
131
  settings_screen.display_settings()
132
132
  continue
133
133
 
@@ -1,6 +1,6 @@
1
1
  import os
2
2
 
3
- from openhands.sdk import LLM, BaseConversation, LocalFileStore
3
+ from openhands.sdk import LLM, BaseConversation, LLMSummarizingCondenser, LocalFileStore
4
4
  from prompt_toolkit import HTML, print_formatted_text
5
5
  from prompt_toolkit.shortcuts import print_container
6
6
  from prompt_toolkit.widgets import Frame, TextArea
@@ -33,9 +33,6 @@ class SettingsScreen:
33
33
  agent_spec = self.agent_store.load()
34
34
  if not agent_spec:
35
35
  return
36
- assert self.conversation is not None, (
37
- 'Conversation must be set to display settings.'
38
- )
39
36
 
40
37
  llm = agent_spec.llm
41
38
  advanced_llm_settings = True if llm.base_url else False
@@ -62,12 +59,20 @@ class SettingsScreen:
62
59
  labels_and_values.extend(
63
60
  [
64
61
  (' API Key', '********' if llm.api_key else 'Not Set'),
62
+ ]
63
+ )
64
+
65
+ if self.conversation:
66
+ labels_and_values.extend([
65
67
  (
66
68
  ' Confirmation Mode',
67
69
  'Enabled'
68
70
  if self.conversation.is_confirmation_mode_active
69
71
  else 'Disabled',
70
- ),
72
+ )
73
+ ])
74
+
75
+ labels_and_values.extend([
71
76
  (
72
77
  ' Memory Condensation',
73
78
  'Enabled' if agent_spec.condenser else 'Disabled',
@@ -153,7 +158,7 @@ class SettingsScreen:
153
158
  api_key = prompt_api_key(
154
159
  step_counter,
155
160
  custom_model.split('/')[0] if len(custom_model.split('/')) > 1 else '',
156
- self.conversation.agent.llm.api_key if self.conversation else None,
161
+ self.conversation.state.agent.llm.api_key if self.conversation else None,
157
162
  escapable=escapable,
158
163
  )
159
164
  memory_condensation = choose_memory_condensation(step_counter)
@@ -182,7 +187,14 @@ class SettingsScreen:
182
187
  if not agent:
183
188
  agent = get_default_cli_agent(llm=llm)
184
189
 
190
+ # Must update all LLMs
185
191
  agent = agent.model_copy(update={'llm': llm})
192
+ condenser = LLMSummarizingCondenser(
193
+ llm=llm.model_copy(
194
+ update={"usage_id": "condenser"}
195
+ )
196
+ )
197
+ agent = agent.model_copy(update={'condenser': condenser})
186
198
  self.agent_store.save(agent)
187
199
 
188
200
  def _save_advanced_settings(