vibecore 0.6.0__py3-none-any.whl → 0.6.1__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 vibecore might be problematic. Click here for more details.

vibecore/main.py CHANGED
@@ -13,6 +13,8 @@ from textual import log, work
13
13
  from textual.app import App, ComposeResult
14
14
  from textual.binding import Binding
15
15
  from textual.reactive import reactive
16
+ from textual.selection import Selection
17
+ from textual.widget import Widget
16
18
  from textual.widgets import Header
17
19
  from textual.worker import Worker
18
20
 
@@ -79,6 +81,23 @@ class VibecoreApp(App):
79
81
 
80
82
  super().__init__()
81
83
 
84
+ def on_mouse_up(self) -> None:
85
+ if not self.screen.selections:
86
+ return None
87
+
88
+ widget_text: list[str] = []
89
+ for widget, selection in self.screen.selections.items():
90
+ assert isinstance(widget, Widget) and isinstance(selection, Selection)
91
+ if "copy-button" in widget.classes: # Skip copy buttons
92
+ continue
93
+ selected_text_in_widget = widget.get_selection(selection)
94
+ if selected_text_in_widget is not None:
95
+ widget_text.extend(selected_text_in_widget)
96
+
97
+ selected_text = "".join(widget_text)
98
+ self.copy_to_clipboard(selected_text)
99
+ self.notify("Copied to clipboard")
100
+
82
101
  def compose(self) -> ComposeResult:
83
102
  """Create child widgets for the app."""
84
103
  yield Header()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vibecore
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: Build your own AI-powered automation tools in the terminal with this extensible agent framework
5
5
  Project-URL: Homepage, https://github.com/serialx/vibecore
6
6
  Project-URL: Repository, https://github.com/serialx/vibecore
@@ -2,7 +2,7 @@ vibecore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  vibecore/cli.py,sha256=_DUP66ICv383PtHJGp8FIGoN2K7ntc-ofZHW7XOgI1Y,8416
3
3
  vibecore/context.py,sha256=mfm3IBTnnoyfL3jDisr_B-z_44eanmXw6Lqz3tXw8Vg,3045
4
4
  vibecore/flow.py,sha256=beN1kgd4krhMoPia0m_ygveXX0JCw1K2LB05rh4syfU,13071
5
- vibecore/main.py,sha256=XuxDfTDESSQZTFC9r0VTQ64pFWj-FK9crtprJqsu3i8,11670
5
+ vibecore/main.py,sha256=mpmxFMc74gyC-wWhk2-y3Pw0notZnHcF4zJwxs7gx_s,12439
6
6
  vibecore/main.tcss,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  vibecore/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  vibecore/settings.py,sha256=0hugs44VOKB47ysmkJ1BqZnfR8-Lvm_8OmEt3VTUjak,8471
@@ -81,8 +81,8 @@ vibecore/widgets/messages.tcss,sha256=Dhz6X1Fkj2XN9bVGVH_hBelDF7WXNE6hHMkGQRQy1Q
81
81
  vibecore/widgets/tool_message_factory.py,sha256=yrZorT4HKo5b6rWUc0dgQle7q7cvLyq8JllE772RZS0,5730
82
82
  vibecore/widgets/tool_messages.py,sha256=hJOolN3iLTAjqfotfH1elXqsdDo1r_UHjsyRVH0GAeo,29415
83
83
  vibecore/widgets/tool_messages.tcss,sha256=gdChmHClURqn_sD9GkcOGQcQVYvUUl75mLUYp85sKz8,8442
84
- vibecore-0.6.0.dist-info/METADATA,sha256=T9Dx_4ZZUJF7WcK_vfqtdAztc-9W_KxxY3m-5Nqm9D8,22141
85
- vibecore-0.6.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
86
- vibecore-0.6.0.dist-info/entry_points.txt,sha256=i9mOKvpz07ciV_YYisxNCYZ53_Crjkn9mciiQ3aA6QM,51
87
- vibecore-0.6.0.dist-info/licenses/LICENSE,sha256=KXxxifvrcreHrZ4aOYgP-vA8DRHHueW389KKOeEbtjc,1069
88
- vibecore-0.6.0.dist-info/RECORD,,
84
+ vibecore-0.6.1.dist-info/METADATA,sha256=THwAYTUPeP8Gpnjd95N16rkIeas2_hIVhmNUQp5DYMY,22141
85
+ vibecore-0.6.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
86
+ vibecore-0.6.1.dist-info/entry_points.txt,sha256=i9mOKvpz07ciV_YYisxNCYZ53_Crjkn9mciiQ3aA6QM,51
87
+ vibecore-0.6.1.dist-info/licenses/LICENSE,sha256=KXxxifvrcreHrZ4aOYgP-vA8DRHHueW389KKOeEbtjc,1069
88
+ vibecore-0.6.1.dist-info/RECORD,,