overcode 0.1.2__py3-none-any.whl → 0.1.3__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.
- overcode/__init__.py +1 -1
- overcode/cli.py +147 -49
- overcode/config.py +66 -0
- overcode/daemon_claude_skill.md +36 -33
- overcode/history_reader.py +69 -8
- overcode/implementations.py +109 -84
- overcode/monitor_daemon.py +33 -38
- overcode/monitor_daemon_state.py +17 -15
- overcode/pid_utils.py +17 -3
- overcode/session_manager.py +53 -0
- overcode/settings.py +12 -0
- overcode/status_constants.py +1 -1
- overcode/status_detector.py +8 -2
- overcode/status_patterns.py +19 -0
- overcode/summarizer_client.py +72 -27
- overcode/summarizer_component.py +87 -107
- overcode/supervisor_daemon.py +21 -5
- overcode/tmux_manager.py +101 -91
- overcode/tui.py +829 -133
- overcode/tui_helpers.py +4 -3
- {overcode-0.1.2.dist-info → overcode-0.1.3.dist-info}/METADATA +2 -1
- overcode-0.1.3.dist-info/RECORD +45 -0
- {overcode-0.1.2.dist-info → overcode-0.1.3.dist-info}/WHEEL +1 -1
- overcode-0.1.2.dist-info/RECORD +0 -45
- {overcode-0.1.2.dist-info → overcode-0.1.3.dist-info}/entry_points.txt +0 -0
- {overcode-0.1.2.dist-info → overcode-0.1.3.dist-info}/licenses/LICENSE +0 -0
- {overcode-0.1.2.dist-info → overcode-0.1.3.dist-info}/top_level.txt +0 -0
overcode/tui_helpers.py
CHANGED
|
@@ -18,6 +18,7 @@ from .status_constants import (
|
|
|
18
18
|
get_presence_timeline_char as _get_presence_timeline_char,
|
|
19
19
|
get_presence_color as _get_presence_color,
|
|
20
20
|
get_daemon_status_style as _get_daemon_status_style,
|
|
21
|
+
STATUS_ASLEEP,
|
|
21
22
|
STATUS_RUNNING,
|
|
22
23
|
STATUS_TERMINATED,
|
|
23
24
|
)
|
|
@@ -254,10 +255,10 @@ def get_current_state_times(stats, now: Optional[datetime] = None) -> Tuple[floa
|
|
|
254
255
|
if current_elapsed > 0:
|
|
255
256
|
if stats.current_state == STATUS_RUNNING:
|
|
256
257
|
green_time += current_elapsed
|
|
257
|
-
elif stats.current_state
|
|
258
|
-
# Only count non-green time for non-terminated states
|
|
258
|
+
elif stats.current_state not in (STATUS_TERMINATED, STATUS_ASLEEP):
|
|
259
|
+
# Only count non-green time for non-terminated/non-asleep states (#68)
|
|
259
260
|
non_green_time += current_elapsed
|
|
260
|
-
# else: terminated
|
|
261
|
+
# else: terminated or asleep - time is frozen, don't accumulate
|
|
261
262
|
except (ValueError, AttributeError, TypeError):
|
|
262
263
|
pass
|
|
263
264
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: overcode
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: A supervisor for managing multiple Claude Code instances in tmux
|
|
5
5
|
Author: Mike Bond
|
|
6
6
|
Project-URL: Homepage, https://github.com/mkb23/overcode
|
|
@@ -23,6 +23,7 @@ Requires-Dist: textual>=0.40.0
|
|
|
23
23
|
Requires-Dist: rich>=13.0.0
|
|
24
24
|
Requires-Dist: typer>=0.9.0
|
|
25
25
|
Requires-Dist: pyyaml>=6.0
|
|
26
|
+
Requires-Dist: libtmux>=0.37.0
|
|
26
27
|
Provides-Extra: dev
|
|
27
28
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
28
29
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
overcode/__init__.py,sha256=k0UgFgXpc9IwrwwfYT1PMjPQhInprB1wGe-eqq2OeFo,100
|
|
2
|
+
overcode/cli.py,sha256=tQJuc_LF1zPm33n4OJGZP82OMmGUg6x_QAeFCYv0Lbg,32494
|
|
3
|
+
overcode/config.py,sha256=BoGxnDpiD1IYLS1gaw7NQyXrV_qoKBTKOio2Az46xUU,5416
|
|
4
|
+
overcode/daemon_claude_skill.md,sha256=kc3qTzQNvmJoaNfRqmAWN_iMSwkWnfYKzgN0DnexOeE,5614
|
|
5
|
+
overcode/daemon_logging.py,sha256=kfx52LpMhNl1C_Qg62cvQNRIEDisTOpp0-uCRkg-1_s,5275
|
|
6
|
+
overcode/daemon_utils.py,sha256=FoxxOcfbiG5YgkYiyJBOG8PNb0X-2NqHcXWQ_dv0cBs,2405
|
|
7
|
+
overcode/data_export.py,sha256=ZnPXZVh6WI1lzLz51dZIK6fYMXy9CyJsVAglmUQMNKo,8220
|
|
8
|
+
overcode/dependency_check.py,sha256=dAAtKigrAJTnED9_nyZGP39wR56wNJ6bD84iKrQkIMQ,6162
|
|
9
|
+
overcode/exceptions.py,sha256=_H-GtmDRuZQ1Fucbq6_T-4tmC9C706F18poqDs6q1Kw,4795
|
|
10
|
+
overcode/history_reader.py,sha256=gUWlGUk_2IfXWy0zYHve-7TFPaWDrn7y4-m-fYFuGPs,17398
|
|
11
|
+
overcode/implementations.py,sha256=CmT5M0U5y1YIa0omeqJ-J7Kbfw4xtfE6Olrk5Uzkirw,8315
|
|
12
|
+
overcode/interfaces.py,sha256=txVkMHHhQl7dpsBS2jx7sR-BHwKiqlAj-YRw7pFkZdg,1101
|
|
13
|
+
overcode/launcher.py,sha256=OUR3OZc0ZA9sbk1wZ_NzQ7aokI1M3j_oKtNaws1QskM,16127
|
|
14
|
+
overcode/logging_config.py,sha256=BuioELKEdfx_amx35sVIdR1tyf2nbhfmOPLp5778lcs,5755
|
|
15
|
+
overcode/mocks.py,sha256=7eAAdI3yPkModUbpaOp3Ul2nO7pJ6Tlz1L1qQH7nG_0,5289
|
|
16
|
+
overcode/monitor_daemon.py,sha256=roG2jzw4Osem4LqW84471E0P_RWUtuVRbwTMZPdXvGk,26946
|
|
17
|
+
overcode/monitor_daemon_state.py,sha256=aRSdT8rl47_LqmA0cxTd9PHzjXN9gG8Vn13mNz1K08E,15104
|
|
18
|
+
overcode/pid_utils.py,sha256=3sg0DkNXWJpKnGuGqwJAiA1lNB78grDILSDObXgTul0,7570
|
|
19
|
+
overcode/presence_logger.py,sha256=0jIUPrhbeU0CDL9W2J7CbDPbAc-WPD4n4LFJJbLZ7Tc,13338
|
|
20
|
+
overcode/protocols.py,sha256=NfSrm9F4h608eEFvs438KxFBg5r8E0Ni5etBWsS9IeY,4268
|
|
21
|
+
overcode/session_manager.py,sha256=PqdlcwVua6ktkn-soHNMTP5O8u5wRzf-Hf_dnVpnzVM,25235
|
|
22
|
+
overcode/settings.py,sha256=OvSrQr2DdozvI5SSgScAAYDLfjKJECk1CSQk6lOozbQ,14550
|
|
23
|
+
overcode/standing_instructions.py,sha256=F9zYuGY0A7V90-SL2e-kLySfJACJvVjlsDZpq3BEI9k,10034
|
|
24
|
+
overcode/status_constants.py,sha256=ejXJjWCtW7LSjlS0W2gKBPhFjhz3pIHZ_5XitEgnCqw,6317
|
|
25
|
+
overcode/status_detector.py,sha256=-hQgLuHAKVrWYMKKHNv629kmhMJMaY5he6ERsv4S3_U,16592
|
|
26
|
+
overcode/status_history.py,sha256=NzhVuTqHkSqgTTdwNfQ8wudCggYjhelZWxpZh6AmzCM,4778
|
|
27
|
+
overcode/status_patterns.py,sha256=qoXpwJ7Kz_1SLyKpim5dDYNIZWqKfgr-QoyYNK_0IzQ,9279
|
|
28
|
+
overcode/summarizer_client.py,sha256=KTC4Bos4BlMeEmf98ZgNg7LZ_gEl8rMj9Z0LyCtsn0Q,5586
|
|
29
|
+
overcode/summarizer_component.py,sha256=pBvlxxA2WnZ-DdmE_g_L9EMFToFCF3qGMguAiHxIa1o,9828
|
|
30
|
+
overcode/supervisor_daemon.py,sha256=1HITlgKDidtp9Z3FD6ncJTYDFWmhMZovQ1IVM5w2aWo,33325
|
|
31
|
+
overcode/supervisor_layout.sh,sha256=s0Fm4Fj7adv5IOsMx1JuA6OAXCoQx9OUnS1CmV0FOwI,1652
|
|
32
|
+
overcode/tmux_manager.py,sha256=U9MKXCm6-maHotcEeeK4M8LE69md5KZmUB3Tj_QSD20,7742
|
|
33
|
+
overcode/tui.py,sha256=O5k2O4rMnQ0HBACInFHrGuBV7VHBOLO7d4Ixm1-UHO0,151886
|
|
34
|
+
overcode/tui_helpers.py,sha256=9BuYG9bR5MHnoLHM5eair_DX7APV9KCMLrnnQongi_8,14873
|
|
35
|
+
overcode/web_api.py,sha256=L4shmXWpnPZA6DCeYFiVeLobxqFCSYlqbFG8fGupwqI,25815
|
|
36
|
+
overcode/web_chartjs.py,sha256=8wxfa9K0dXrcBOcPF7UkQFsCybNHDXEj9pEtnCDe-6g,205608
|
|
37
|
+
overcode/web_server.py,sha256=YFifXCx2MIJ6ca2c6bi5zKDlTjVgQmNBpkZ9o87kpp0,16674
|
|
38
|
+
overcode/web_server_runner.py,sha256=cRGeLAzsAF8B89SnK8MeFZ7vZCufjAcAiWhRjAtJ63A,3333
|
|
39
|
+
overcode/web_templates.py,sha256=GNqEyabj5-mqlNvw4lVHcNh18ofBLsKwxCUYS4JaKao,58882
|
|
40
|
+
overcode-0.1.3.dist-info/licenses/LICENSE,sha256=6C9I9dhq8QTa4P6LckWXugYJ3xm2ufZKrLymqOqRZFs,1066
|
|
41
|
+
overcode-0.1.3.dist-info/METADATA,sha256=UEhhgQSEAXR1HRRzX0ekruV4SaW92O4xsdsf2pP4_yc,3343
|
|
42
|
+
overcode-0.1.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
43
|
+
overcode-0.1.3.dist-info/entry_points.txt,sha256=EveN-QDOji1HFbJAsIH-djI_s0E4KQC6N144arLeRb0,47
|
|
44
|
+
overcode-0.1.3.dist-info/top_level.txt,sha256=5cfXcNbSNvigE7coZgIRPCl_NDWHu_5UIBmWi9Xiupo,9
|
|
45
|
+
overcode-0.1.3.dist-info/RECORD,,
|
overcode-0.1.2.dist-info/RECORD
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
overcode/__init__.py,sha256=ZruEjk2uKTCuffSqw8aToEfRa2SKr7VA37PhYVQZNRo,100
|
|
2
|
-
overcode/cli.py,sha256=w3GZrhGqLaUM_zR71rG8g3D1D0oD0JgPeZeKDcg9C5Q,29922
|
|
3
|
-
overcode/config.py,sha256=LiuG4HyOZB5GnkYfQmqkEIsIzNeIyUi0PIZc0dctds0,3447
|
|
4
|
-
overcode/daemon_claude_skill.md,sha256=74OoUARhconOTmfWQaHaDbWEPc7wZeywVNb6fIIuELE,5177
|
|
5
|
-
overcode/daemon_logging.py,sha256=kfx52LpMhNl1C_Qg62cvQNRIEDisTOpp0-uCRkg-1_s,5275
|
|
6
|
-
overcode/daemon_utils.py,sha256=FoxxOcfbiG5YgkYiyJBOG8PNb0X-2NqHcXWQ_dv0cBs,2405
|
|
7
|
-
overcode/data_export.py,sha256=ZnPXZVh6WI1lzLz51dZIK6fYMXy9CyJsVAglmUQMNKo,8220
|
|
8
|
-
overcode/dependency_check.py,sha256=dAAtKigrAJTnED9_nyZGP39wR56wNJ6bD84iKrQkIMQ,6162
|
|
9
|
-
overcode/exceptions.py,sha256=_H-GtmDRuZQ1Fucbq6_T-4tmC9C706F18poqDs6q1Kw,4795
|
|
10
|
-
overcode/history_reader.py,sha256=fI6lobFne_cM0y6BKMgxluWD3w2SVQ34souH7cUx6qE,14901
|
|
11
|
-
overcode/implementations.py,sha256=QpvNW7auQBVvK6VCi_B77kwNf-tz4XwILY_YCNsF1GQ,7931
|
|
12
|
-
overcode/interfaces.py,sha256=txVkMHHhQl7dpsBS2jx7sR-BHwKiqlAj-YRw7pFkZdg,1101
|
|
13
|
-
overcode/launcher.py,sha256=OUR3OZc0ZA9sbk1wZ_NzQ7aokI1M3j_oKtNaws1QskM,16127
|
|
14
|
-
overcode/logging_config.py,sha256=BuioELKEdfx_amx35sVIdR1tyf2nbhfmOPLp5778lcs,5755
|
|
15
|
-
overcode/mocks.py,sha256=7eAAdI3yPkModUbpaOp3Ul2nO7pJ6Tlz1L1qQH7nG_0,5289
|
|
16
|
-
overcode/monitor_daemon.py,sha256=tFeelz-fSI8g4z0uud6j6Hnj6Shqw8XqBlMGvxCLfEM,26965
|
|
17
|
-
overcode/monitor_daemon_state.py,sha256=wD7f2BuS6d7BUS66BtGBevhv_IU3fp9x_4omhV78arE,14856
|
|
18
|
-
overcode/pid_utils.py,sha256=CYgG1RBa_0E8DJGzAWYapzpMflEc6MQ0LM4-ttt9YBE,6867
|
|
19
|
-
overcode/presence_logger.py,sha256=0jIUPrhbeU0CDL9W2J7CbDPbAc-WPD4n4LFJJbLZ7Tc,13338
|
|
20
|
-
overcode/protocols.py,sha256=NfSrm9F4h608eEFvs438KxFBg5r8E0Ni5etBWsS9IeY,4268
|
|
21
|
-
overcode/session_manager.py,sha256=Bgp-eiPtyR2GF6i9OoIPsowC_5iGPggwvQYLnOBPEvo,23145
|
|
22
|
-
overcode/settings.py,sha256=NUCv1xkFxYvzck2KXQEWn0a98QEEtIG7HuSfPsW10N0,13710
|
|
23
|
-
overcode/standing_instructions.py,sha256=F9zYuGY0A7V90-SL2e-kLySfJACJvVjlsDZpq3BEI9k,10034
|
|
24
|
-
overcode/status_constants.py,sha256=iBV1ZJABwAam1Rn0a4nRA1iRSE3MOx5MBONmkzAgwqo,6294
|
|
25
|
-
overcode/status_detector.py,sha256=1E3qAu_ALIJq2vwvBls0b19kswWKRNaw64gLlz1V0Ig,16306
|
|
26
|
-
overcode/status_history.py,sha256=NzhVuTqHkSqgTTdwNfQ8wudCggYjhelZWxpZh6AmzCM,4778
|
|
27
|
-
overcode/status_patterns.py,sha256=6OA8mladX-CHtwr0N7c6qJC_ylGQxqjIz36wnAMcS1A,8722
|
|
28
|
-
overcode/summarizer_client.py,sha256=RBRx6FCaKzLGfnLb3fKOK1XxmYlqclHvt6O8pSSQFv0,4322
|
|
29
|
-
overcode/summarizer_component.py,sha256=IVLM-l2eOfiTAFQ_MX5jDm5lKBbe0nAVGkb0gMlxqhU,9797
|
|
30
|
-
overcode/supervisor_daemon.py,sha256=5uDpSsNb8Xv_H99A5hcwnZuH-absdlBzJYcOAEo6i8I,32746
|
|
31
|
-
overcode/supervisor_layout.sh,sha256=s0Fm4Fj7adv5IOsMx1JuA6OAXCoQx9OUnS1CmV0FOwI,1652
|
|
32
|
-
overcode/tmux_manager.py,sha256=SNqgQN-MLCIlpg1u4Zf0k6OX2uYryKpIZ3PPnF4Jwb0,7624
|
|
33
|
-
overcode/tui.py,sha256=M4UBZEKdw-pfU1sMpRJnBAFn117KwGTbQN5sy256VVA,123634
|
|
34
|
-
overcode/tui_helpers.py,sha256=U_Po2DEpvBt-4keZgiIld8WMcKWqSeaa-a8-hjP47ec,14812
|
|
35
|
-
overcode/web_api.py,sha256=L4shmXWpnPZA6DCeYFiVeLobxqFCSYlqbFG8fGupwqI,25815
|
|
36
|
-
overcode/web_chartjs.py,sha256=8wxfa9K0dXrcBOcPF7UkQFsCybNHDXEj9pEtnCDe-6g,205608
|
|
37
|
-
overcode/web_server.py,sha256=YFifXCx2MIJ6ca2c6bi5zKDlTjVgQmNBpkZ9o87kpp0,16674
|
|
38
|
-
overcode/web_server_runner.py,sha256=cRGeLAzsAF8B89SnK8MeFZ7vZCufjAcAiWhRjAtJ63A,3333
|
|
39
|
-
overcode/web_templates.py,sha256=GNqEyabj5-mqlNvw4lVHcNh18ofBLsKwxCUYS4JaKao,58882
|
|
40
|
-
overcode-0.1.2.dist-info/licenses/LICENSE,sha256=6C9I9dhq8QTa4P6LckWXugYJ3xm2ufZKrLymqOqRZFs,1066
|
|
41
|
-
overcode-0.1.2.dist-info/METADATA,sha256=EjDJkG0qvN-wLl1dUeslsvAOK-OBdmAUwRB7-wBvKSs,3312
|
|
42
|
-
overcode-0.1.2.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
43
|
-
overcode-0.1.2.dist-info/entry_points.txt,sha256=EveN-QDOji1HFbJAsIH-djI_s0E4KQC6N144arLeRb0,47
|
|
44
|
-
overcode-0.1.2.dist-info/top_level.txt,sha256=5cfXcNbSNvigE7coZgIRPCl_NDWHu_5UIBmWi9Xiupo,9
|
|
45
|
-
overcode-0.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|