optio-opencode 0.2.3__tar.gz → 0.2.4__tar.gz

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.
Files changed (50) hide show
  1. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/PKG-INFO +1 -1
  2. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/pyproject.toml +1 -1
  3. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/prompt.py +1 -1
  4. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/session.py +1 -0
  5. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/types.py +14 -0
  6. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode.egg-info/PKG-INFO +1 -1
  7. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_conversation_ui_model.py +1 -0
  8. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/README.md +0 -0
  9. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/setup.cfg +0 -0
  10. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/__init__.py +0 -0
  11. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/conversation.py +0 -0
  12. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/cred_watcher.py +0 -0
  13. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/host_actions.py +0 -0
  14. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/seed_manifest.py +0 -0
  15. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/snapshots.py +0 -0
  16. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode/verify.py +0 -0
  17. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode.egg-info/SOURCES.txt +0 -0
  18. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode.egg-info/dependency_links.txt +0 -0
  19. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode.egg-info/requires.txt +0 -0
  20. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/src/optio_opencode.egg-info/top_level.txt +0 -0
  21. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_agent_sender_opencode.py +0 -0
  22. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_conversation_config.py +0 -0
  23. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_conversation_driver.py +0 -0
  24. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_conversation_session.py +0 -0
  25. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_conversation_ui_session.py +0 -0
  26. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_cred_watcher.py +0 -0
  27. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_file_download.py +0 -0
  28. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_file_upload.py +0 -0
  29. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_host_actions.py +0 -0
  30. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_host_local.py +0 -0
  31. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_host_primitives_local.py +0 -0
  32. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_host_primitives_remote.py +0 -0
  33. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_host_remote_resume.py +0 -0
  34. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_host_resume.py +0 -0
  35. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_prompt.py +0 -0
  36. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_purge_seed.py +0 -0
  37. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_resume_sentence_opencode.py +0 -0
  38. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_sanity.py +0 -0
  39. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_seed_config.py +0 -0
  40. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_session_blob_hooks.py +0 -0
  41. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_session_hooks.py +0 -0
  42. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_session_local.py +0 -0
  43. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_session_remote.py +0 -0
  44. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_session_resume.py +0 -0
  45. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_session_seed.py +0 -0
  46. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_session_seed_saveback.py +0 -0
  47. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_smart_install.py +0 -0
  48. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_snapshots.py +0 -0
  49. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_types.py +0 -0
  50. {optio_opencode-0.2.3 → optio_opencode-0.2.4}/tests/test_verify_seed.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optio-opencode
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: Run opencode web as an optio task; local subprocess or remote via SSH.
5
5
  Author-email: Kristof Csillag <kristof.csillag@deai-labs.com>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "optio-opencode"
7
- version = "0.2.3"
7
+ version = "0.2.4"
8
8
  description = "Run opencode web as an optio task; local subprocess or remote via SSH."
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -11,7 +11,7 @@ from optio_agents.prompt import downloadables_block
11
11
  from optio_agents.protocol import ProtocolFeatures, build_log_channel_prompt
12
12
 
13
13
 
14
- _OPENCODE_INTRO = """# Coordination protocol with the host (optio-opencode)
14
+ _OPENCODE_INTRO = """# Coordination protocol with the host harness
15
15
 
16
16
  You are running inside a coordination harness. Follow these conventions
17
17
  throughout the session.
@@ -84,6 +84,7 @@ def conversation_widget_data(config: "OpencodeTaskConfig", *, session_id: str, d
84
84
  "sessionID": session_id,
85
85
  "directory": directory,
86
86
  "toolVerbosity": config.tool_verbosity,
87
+ "thinkingVerbosity": config.thinking_verbosity,
87
88
  "showModelSelector": config.show_model_selector,
88
89
  "defaultModel": config.default_model,
89
90
  "showFileUpload": config.show_file_upload,
@@ -29,6 +29,11 @@ SeedProvider = Callable[[str], Awaitable[str]]
29
29
  ConversationMode = Literal["iframe", "conversation"]
30
30
  ToolVerbosity = Literal["silent", "description-only", "verbose"]
31
31
  _VALID_TOOL_VERBOSITY = {"silent", "description-only", "verbose"}
32
+ # Visibility of reasoning/thinking traces in the conversation widget. Task-level,
33
+ # mirrors ToolVerbosity; the UI never decides. (opencode reasoning is not yet wired
34
+ # to a distinct thinking row, but the option ships for cross-engine parity.)
35
+ ThinkingVerbosity = Literal["hidden", "visible"]
36
+ _VALID_THINKING_VERBOSITY = {"hidden", "visible"}
32
37
 
33
38
 
34
39
  __all__ = [
@@ -39,6 +44,7 @@ __all__ = [
39
44
  "SeedProvider",
40
45
  "ConversationMode",
41
46
  "ToolVerbosity",
47
+ "ThinkingVerbosity",
42
48
  "OpencodeTaskConfig",
43
49
  ]
44
50
 
@@ -126,6 +132,9 @@ class OpencodeTaskConfig:
126
132
  # Rendering hint forwarded to the widget via widgetData; only affects
127
133
  # conversation_ui rendering.
128
134
  tool_verbosity: ToolVerbosity = "description-only"
135
+ # Whether the conversation widget shows the agent's reasoning/thinking traces.
136
+ # Default hidden — thinking is noisy; opt in per task.
137
+ thinking_verbosity: ThinkingVerbosity = "hidden"
129
138
  # Default model for a fresh conversation session, "providerID/modelID".
130
139
  # Forwarded to the widget, which applies it once at the start of a non-
131
140
  # resumed session (history empty) and only if present in the live model
@@ -193,3 +202,8 @@ class OpencodeTaskConfig:
193
202
  f"OpencodeTaskConfig.tool_verbosity={self.tool_verbosity!r} "
194
203
  f"is not one of {sorted(_VALID_TOOL_VERBOSITY)}"
195
204
  )
205
+ if self.thinking_verbosity not in _VALID_THINKING_VERBOSITY:
206
+ raise ValueError(
207
+ f"OpencodeTaskConfig.thinking_verbosity={self.thinking_verbosity!r} "
208
+ f"is not one of {sorted(_VALID_THINKING_VERBOSITY)}"
209
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: optio-opencode
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Summary: Run opencode web as an optio task; local subprocess or remote via SSH.
5
5
  Author-email: Kristof Csillag <kristof.csillag@deai-labs.com>
6
6
  License-Expression: Apache-2.0
@@ -59,6 +59,7 @@ def test_widget_data_carries_model_fields():
59
59
  "sessionID": "s1",
60
60
  "directory": "/wd",
61
61
  "toolVerbosity": "verbose",
62
+ "thinkingVerbosity": "hidden",
62
63
  "showModelSelector": True,
63
64
  "defaultModel": "opencode/big-pickle",
64
65
  "showFileUpload": False,
File without changes
File without changes