kollabor 0.4.9__py3-none-any.whl → 0.4.15__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.
- agents/__init__.py +2 -0
- agents/coder/__init__.py +0 -0
- agents/coder/agent.json +4 -0
- agents/coder/api-integration.md +2150 -0
- agents/coder/cli-pretty.md +765 -0
- agents/coder/code-review.md +1092 -0
- agents/coder/database-design.md +1525 -0
- agents/coder/debugging.md +1102 -0
- agents/coder/dependency-management.md +1397 -0
- agents/coder/git-workflow.md +1099 -0
- agents/coder/refactoring.md +1454 -0
- agents/coder/security-hardening.md +1732 -0
- agents/coder/system_prompt.md +1448 -0
- agents/coder/tdd.md +1367 -0
- agents/creative-writer/__init__.py +0 -0
- agents/creative-writer/agent.json +4 -0
- agents/creative-writer/character-development.md +1852 -0
- agents/creative-writer/dialogue-craft.md +1122 -0
- agents/creative-writer/plot-structure.md +1073 -0
- agents/creative-writer/revision-editing.md +1484 -0
- agents/creative-writer/system_prompt.md +690 -0
- agents/creative-writer/worldbuilding.md +2049 -0
- agents/data-analyst/__init__.py +30 -0
- agents/data-analyst/agent.json +4 -0
- agents/data-analyst/data-visualization.md +992 -0
- agents/data-analyst/exploratory-data-analysis.md +1110 -0
- agents/data-analyst/pandas-data-manipulation.md +1081 -0
- agents/data-analyst/sql-query-optimization.md +881 -0
- agents/data-analyst/statistical-analysis.md +1118 -0
- agents/data-analyst/system_prompt.md +928 -0
- agents/default/__init__.py +0 -0
- agents/default/agent.json +4 -0
- agents/default/dead-code.md +794 -0
- agents/default/explore-agent-system.md +585 -0
- agents/default/system_prompt.md +1448 -0
- agents/kollabor/__init__.py +0 -0
- agents/kollabor/analyze-plugin-lifecycle.md +175 -0
- agents/kollabor/analyze-terminal-rendering.md +388 -0
- agents/kollabor/code-review.md +1092 -0
- agents/kollabor/debug-mcp-integration.md +521 -0
- agents/kollabor/debug-plugin-hooks.md +547 -0
- agents/kollabor/debugging.md +1102 -0
- agents/kollabor/dependency-management.md +1397 -0
- agents/kollabor/git-workflow.md +1099 -0
- agents/kollabor/inspect-llm-conversation.md +148 -0
- agents/kollabor/monitor-event-bus.md +558 -0
- agents/kollabor/profile-performance.md +576 -0
- agents/kollabor/refactoring.md +1454 -0
- agents/kollabor/system_prompt copy.md +1448 -0
- agents/kollabor/system_prompt.md +757 -0
- agents/kollabor/trace-command-execution.md +178 -0
- agents/kollabor/validate-config.md +879 -0
- agents/research/__init__.py +0 -0
- agents/research/agent.json +4 -0
- agents/research/architecture-mapping.md +1099 -0
- agents/research/codebase-analysis.md +1077 -0
- agents/research/dependency-audit.md +1027 -0
- agents/research/performance-profiling.md +1047 -0
- agents/research/security-review.md +1359 -0
- agents/research/system_prompt.md +492 -0
- agents/technical-writer/__init__.py +0 -0
- agents/technical-writer/agent.json +4 -0
- agents/technical-writer/api-documentation.md +2328 -0
- agents/technical-writer/changelog-management.md +1181 -0
- agents/technical-writer/readme-writing.md +1360 -0
- agents/technical-writer/style-guide.md +1410 -0
- agents/technical-writer/system_prompt.md +653 -0
- agents/technical-writer/tutorial-creation.md +1448 -0
- core/__init__.py +0 -2
- core/application.py +343 -88
- core/cli.py +229 -10
- core/commands/menu_renderer.py +463 -59
- core/commands/registry.py +14 -9
- core/commands/system_commands.py +2461 -14
- core/config/loader.py +151 -37
- core/config/service.py +18 -6
- core/events/bus.py +29 -9
- core/events/executor.py +205 -75
- core/events/models.py +27 -8
- core/fullscreen/command_integration.py +20 -24
- core/fullscreen/components/__init__.py +10 -1
- core/fullscreen/components/matrix_components.py +1 -2
- core/fullscreen/components/space_shooter_components.py +654 -0
- core/fullscreen/plugin.py +5 -0
- core/fullscreen/renderer.py +52 -13
- core/fullscreen/session.py +52 -15
- core/io/__init__.py +29 -5
- core/io/buffer_manager.py +6 -1
- core/io/config_status_view.py +7 -29
- core/io/core_status_views.py +267 -347
- core/io/input/__init__.py +25 -0
- core/io/input/command_mode_handler.py +711 -0
- core/io/input/display_controller.py +128 -0
- core/io/input/hook_registrar.py +286 -0
- core/io/input/input_loop_manager.py +421 -0
- core/io/input/key_press_handler.py +502 -0
- core/io/input/modal_controller.py +1011 -0
- core/io/input/paste_processor.py +339 -0
- core/io/input/status_modal_renderer.py +184 -0
- core/io/input_errors.py +5 -1
- core/io/input_handler.py +211 -2452
- core/io/key_parser.py +7 -0
- core/io/layout.py +15 -3
- core/io/message_coordinator.py +111 -2
- core/io/message_renderer.py +129 -4
- core/io/status_renderer.py +147 -607
- core/io/terminal_renderer.py +97 -51
- core/io/terminal_state.py +21 -4
- core/io/visual_effects.py +816 -165
- core/llm/agent_manager.py +1063 -0
- core/llm/api_adapters/__init__.py +44 -0
- core/llm/api_adapters/anthropic_adapter.py +432 -0
- core/llm/api_adapters/base.py +241 -0
- core/llm/api_adapters/openai_adapter.py +326 -0
- core/llm/api_communication_service.py +167 -113
- core/llm/conversation_logger.py +322 -16
- core/llm/conversation_manager.py +556 -30
- core/llm/file_operations_executor.py +84 -32
- core/llm/llm_service.py +934 -103
- core/llm/mcp_integration.py +541 -57
- core/llm/message_display_service.py +135 -18
- core/llm/plugin_sdk.py +1 -2
- core/llm/profile_manager.py +1183 -0
- core/llm/response_parser.py +274 -56
- core/llm/response_processor.py +16 -3
- core/llm/tool_executor.py +6 -1
- core/logging/__init__.py +2 -0
- core/logging/setup.py +34 -6
- core/models/resume.py +54 -0
- core/plugins/__init__.py +4 -2
- core/plugins/base.py +127 -0
- core/plugins/collector.py +23 -161
- core/plugins/discovery.py +37 -3
- core/plugins/factory.py +6 -12
- core/plugins/registry.py +5 -17
- core/ui/config_widgets.py +128 -28
- core/ui/live_modal_renderer.py +2 -1
- core/ui/modal_actions.py +5 -0
- core/ui/modal_overlay_renderer.py +0 -60
- core/ui/modal_renderer.py +268 -7
- core/ui/modal_state_manager.py +29 -4
- core/ui/widgets/base_widget.py +7 -0
- core/updates/__init__.py +10 -0
- core/updates/version_check_service.py +348 -0
- core/updates/version_comparator.py +103 -0
- core/utils/config_utils.py +685 -526
- core/utils/plugin_utils.py +1 -1
- core/utils/session_naming.py +111 -0
- fonts/LICENSE +21 -0
- fonts/README.md +46 -0
- fonts/SymbolsNerdFont-Regular.ttf +0 -0
- fonts/SymbolsNerdFontMono-Regular.ttf +0 -0
- fonts/__init__.py +44 -0
- {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/METADATA +54 -4
- kollabor-0.4.15.dist-info/RECORD +228 -0
- {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/top_level.txt +2 -0
- plugins/agent_orchestrator/__init__.py +39 -0
- plugins/agent_orchestrator/activity_monitor.py +181 -0
- plugins/agent_orchestrator/file_attacher.py +77 -0
- plugins/agent_orchestrator/message_injector.py +135 -0
- plugins/agent_orchestrator/models.py +48 -0
- plugins/agent_orchestrator/orchestrator.py +403 -0
- plugins/agent_orchestrator/plugin.py +976 -0
- plugins/agent_orchestrator/xml_parser.py +191 -0
- plugins/agent_orchestrator_plugin.py +9 -0
- plugins/enhanced_input/box_styles.py +1 -0
- plugins/enhanced_input/color_engine.py +19 -4
- plugins/enhanced_input/config.py +2 -2
- plugins/enhanced_input_plugin.py +61 -11
- plugins/fullscreen/__init__.py +6 -2
- plugins/fullscreen/example_plugin.py +1035 -222
- plugins/fullscreen/setup_wizard_plugin.py +592 -0
- plugins/fullscreen/space_shooter_plugin.py +131 -0
- plugins/hook_monitoring_plugin.py +436 -78
- plugins/query_enhancer_plugin.py +66 -30
- plugins/resume_conversation_plugin.py +1494 -0
- plugins/save_conversation_plugin.py +98 -32
- plugins/system_commands_plugin.py +70 -56
- plugins/tmux_plugin.py +154 -78
- plugins/workflow_enforcement_plugin.py +94 -92
- system_prompt/default.md +952 -886
- core/io/input_mode_manager.py +0 -402
- core/io/modal_interaction_handler.py +0 -315
- core/io/raw_input_processor.py +0 -946
- core/storage/__init__.py +0 -5
- core/storage/state_manager.py +0 -84
- core/ui/widget_integration.py +0 -222
- core/utils/key_reader.py +0 -171
- kollabor-0.4.9.dist-info/RECORD +0 -128
- {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/WHEEL +0 -0
- {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/entry_points.txt +0 -0
- {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/licenses/LICENSE +0 -0
core/utils/plugin_utils.py
CHANGED
|
@@ -159,7 +159,7 @@ def validate_plugin_interface(plugin_class: Type, required_methods: List[str] =
|
|
|
159
159
|
params = params[1:]
|
|
160
160
|
|
|
161
161
|
# Common expected parameters for plugins
|
|
162
|
-
expected_params = ["name", "
|
|
162
|
+
expected_params = ["name", "event_bus", "renderer", "config"]
|
|
163
163
|
missing_params = [p for p in expected_params if p not in params]
|
|
164
164
|
|
|
165
165
|
if missing_params:
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"""Session naming utilities for generating memorable session names.
|
|
2
|
+
|
|
3
|
+
Combines Tech/Code and Mythical/Epic themes for unique, memorable names.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import random
|
|
7
|
+
from datetime import datetime
|
|
8
|
+
from typing import Optional
|
|
9
|
+
|
|
10
|
+
# Tech/Code themed words
|
|
11
|
+
TECH_PREFIXES = [
|
|
12
|
+
"quantum", "neural", "cyber", "logic", "data",
|
|
13
|
+
"pixel", "vector", "binary", "nano", "crypto",
|
|
14
|
+
"hyper", "meta", "proto", "synth", "matrix",
|
|
15
|
+
"nexus", "alpha", "omega", "sigma", "delta",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
TECH_SUFFIXES = [
|
|
19
|
+
"spark", "pulse", "forge", "stream", "core",
|
|
20
|
+
"flux", "grid", "node", "link", "wave",
|
|
21
|
+
"byte", "code", "loop", "stack", "cache",
|
|
22
|
+
"sync", "burst", "drift", "surge", "arc",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
# Mythical/Epic themed words
|
|
26
|
+
MYTHIC_PREFIXES = [
|
|
27
|
+
"phoenix", "titan", "dragon", "kraken", "hydra",
|
|
28
|
+
"griffin", "sphinx", "oracle", "atlas", "chronos",
|
|
29
|
+
"void", "storm", "shadow", "frost", "ember",
|
|
30
|
+
"raven", "wolf", "serpent", "valkyrie", "wraith",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
MYTHIC_SUFFIXES = [
|
|
34
|
+
"rise", "forge", "spark", "deep", "flame",
|
|
35
|
+
"quest", "reign", "blade", "crown", "soul",
|
|
36
|
+
"heart", "wing", "claw", "fang", "eye",
|
|
37
|
+
"born", "fall", "strike", "call", "wake",
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def generate_session_name(theme: Optional[str] = None, include_timestamp: bool = True) -> str:
|
|
42
|
+
"""Generate a memorable session name.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
theme: 'tech', 'mythic', or None for random mix
|
|
46
|
+
include_timestamp: Whether to prepend timestamp
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
Generated session name like '2512111430-quantum-spark'
|
|
50
|
+
"""
|
|
51
|
+
if theme == "tech":
|
|
52
|
+
prefix = random.choice(TECH_PREFIXES)
|
|
53
|
+
suffix = random.choice(TECH_SUFFIXES)
|
|
54
|
+
elif theme == "mythic":
|
|
55
|
+
prefix = random.choice(MYTHIC_PREFIXES)
|
|
56
|
+
suffix = random.choice(MYTHIC_SUFFIXES)
|
|
57
|
+
else:
|
|
58
|
+
# Mix themes randomly
|
|
59
|
+
if random.choice([True, False]):
|
|
60
|
+
prefix = random.choice(TECH_PREFIXES)
|
|
61
|
+
suffix = random.choice(TECH_SUFFIXES)
|
|
62
|
+
else:
|
|
63
|
+
prefix = random.choice(MYTHIC_PREFIXES)
|
|
64
|
+
suffix = random.choice(MYTHIC_SUFFIXES)
|
|
65
|
+
|
|
66
|
+
name = f"{prefix}-{suffix}"
|
|
67
|
+
|
|
68
|
+
if include_timestamp:
|
|
69
|
+
# Prepend timestamp (YYMMDDHHMM) for sorting and uniqueness
|
|
70
|
+
timestamp = datetime.now().strftime("%y%m%d%H%M")
|
|
71
|
+
name = f"{timestamp}-{name}"
|
|
72
|
+
|
|
73
|
+
return name
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def generate_branch_name() -> str:
|
|
77
|
+
"""Generate a name for a branched session.
|
|
78
|
+
|
|
79
|
+
Returns:
|
|
80
|
+
Fresh session name like '2512111430-quantum-spark'
|
|
81
|
+
"""
|
|
82
|
+
return generate_session_name()
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def get_all_prefixes() -> list:
|
|
86
|
+
"""Get all available prefixes."""
|
|
87
|
+
return TECH_PREFIXES + MYTHIC_PREFIXES
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def get_all_suffixes() -> list:
|
|
91
|
+
"""Get all available suffixes."""
|
|
92
|
+
return TECH_SUFFIXES + MYTHIC_SUFFIXES
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
# Quick test
|
|
96
|
+
if __name__ == "__main__":
|
|
97
|
+
print("Tech themed:")
|
|
98
|
+
for _ in range(5):
|
|
99
|
+
print(f" {generate_session_name('tech')}")
|
|
100
|
+
|
|
101
|
+
print("\nMythic themed:")
|
|
102
|
+
for _ in range(5):
|
|
103
|
+
print(f" {generate_session_name('mythic')}")
|
|
104
|
+
|
|
105
|
+
print("\nMixed:")
|
|
106
|
+
for _ in range(5):
|
|
107
|
+
print(f" {generate_session_name()}")
|
|
108
|
+
|
|
109
|
+
print("\nBranch names:")
|
|
110
|
+
for _ in range(3):
|
|
111
|
+
print(f" {generate_branch_name('quantum-spark-1430')}")
|
fonts/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2014 Ryan L McIntyre
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
fonts/README.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Nerd Fonts
|
|
2
|
+
|
|
3
|
+
This is an archived font from the Nerd Fonts release v3.4.0.
|
|
4
|
+
|
|
5
|
+
For more information see:
|
|
6
|
+
* https://github.com/ryanoasis/nerd-fonts/
|
|
7
|
+
* https://github.com/ryanoasis/nerd-fonts/releases/latest/
|
|
8
|
+
|
|
9
|
+
# Symbols Only
|
|
10
|
+
|
|
11
|
+
This font contains (in the patched-fonts folder) all symbols and is intended to be used
|
|
12
|
+
as fallback or together with fontconfig - so that you do not need to individually
|
|
13
|
+
patch all the fonts. YMMV.
|
|
14
|
+
|
|
15
|
+
## Which font?
|
|
16
|
+
|
|
17
|
+
### TL;DR
|
|
18
|
+
|
|
19
|
+
* Pick your font family:
|
|
20
|
+
* If you are limited to monospaced fonts (because of your terminal, etc) then pick a font with `Nerd Font Mono` (or `NFM`).
|
|
21
|
+
* If you want to have bigger icons (usually around 1.5 normal letters wide) pick a font without `Mono` i.e. `Nerd Font` (or `NF`). Most terminals support this, but ymmv.
|
|
22
|
+
* If you work in a proportional context (GUI elements or edit a presentation etc) pick a font with `Nerd Font Propo` (or `NFP`).
|
|
23
|
+
|
|
24
|
+
### Ligatures
|
|
25
|
+
|
|
26
|
+
Ligatures are generally preserved in the patched fonts.
|
|
27
|
+
Nerd Fonts `v2.0.0` had no ligatures in the `Nerd Font Mono` fonts, this has been dropped with `v2.1.0`.
|
|
28
|
+
If you have a ligature-aware terminal and don't want ligatures you can (usually) disable them in the terminal settings.
|
|
29
|
+
|
|
30
|
+
### Explanation
|
|
31
|
+
|
|
32
|
+
Once you narrow down your font choice of family (`Droid Sans`, `Inconsolata`, etc) and style (`bold`, `italic`, etc) you have 2 main choices:
|
|
33
|
+
|
|
34
|
+
#### `Option 1: Download already patched font`
|
|
35
|
+
|
|
36
|
+
* For a stable version download a font package from the [release page](https://github.com/ryanoasis/nerd-fonts/releases)
|
|
37
|
+
* Or download the development version from the folders here
|
|
38
|
+
|
|
39
|
+
#### `Option 2: Patch your own font`
|
|
40
|
+
|
|
41
|
+
* Patch your own variations with the various options provided by the font patcher (i.e. not include all symbols for smaller font size)
|
|
42
|
+
|
|
43
|
+
For more information see: [The FAQ](https://github.com/ryanoasis/nerd-fonts/wiki/FAQ-and-Troubleshooting#which-font)
|
|
44
|
+
|
|
45
|
+
[SIL-RFN]:http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web_fonts_and_RFNs#14cbfd4a
|
|
46
|
+
|
|
Binary file
|
|
Binary file
|
fonts/__init__.py
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"""Bundled Nerd Fonts for terminal icon rendering.
|
|
2
|
+
|
|
3
|
+
This package includes Nerd Fonts Symbols Only, which provides the Powerline
|
|
4
|
+
and icon glyphs used in the Kollabor CLI status bar.
|
|
5
|
+
|
|
6
|
+
Usage with agg (asciinema gif generator):
|
|
7
|
+
agg --font-dir $(kollab --font-dir) recording.cast output.gif
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def get_font_dir() -> Path:
|
|
14
|
+
"""Get the path to the bundled fonts directory.
|
|
15
|
+
|
|
16
|
+
Returns:
|
|
17
|
+
Path to the fonts directory containing Nerd Font TTF files.
|
|
18
|
+
"""
|
|
19
|
+
return Path(__file__).parent
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def get_font_path(font_name: str = "SymbolsNerdFontMono-Regular.ttf") -> Path:
|
|
23
|
+
"""Get the path to a specific bundled font file.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
font_name: Name of the font file. Defaults to SymbolsNerdFontMono-Regular.ttf
|
|
27
|
+
|
|
28
|
+
Returns:
|
|
29
|
+
Path to the font file.
|
|
30
|
+
|
|
31
|
+
Raises:
|
|
32
|
+
FileNotFoundError: If the font file doesn't exist.
|
|
33
|
+
"""
|
|
34
|
+
font_path = get_font_dir() / font_name
|
|
35
|
+
if not font_path.exists():
|
|
36
|
+
raise FileNotFoundError(f"Font not found: {font_path}")
|
|
37
|
+
return font_path
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# Available fonts
|
|
41
|
+
AVAILABLE_FONTS = [
|
|
42
|
+
"SymbolsNerdFont-Regular.ttf",
|
|
43
|
+
"SymbolsNerdFontMono-Regular.ttf",
|
|
44
|
+
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kollabor
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.15
|
|
4
4
|
Summary: An advanced, highly customizable terminal-based chat application for interacting with LLMs
|
|
5
5
|
Author-email: Kollabor Contributors <contributors@example.com>
|
|
6
6
|
License: MIT
|
|
@@ -8,6 +8,7 @@ Project-URL: Homepage, https://github.com/kollaborai/kollabor-cli
|
|
|
8
8
|
Project-URL: Repository, https://github.com/kollaborai/kollabor-cli
|
|
9
9
|
Project-URL: Documentation, https://github.com/kollaborai/kollabor-cli/blob/main/docs/
|
|
10
10
|
Project-URL: Bug Tracker, https://github.com/kollaborai/kollabor-cli/issues
|
|
11
|
+
Project-URL: Homebrew Tap, https://github.com/kollaborai/homebrew-tap
|
|
11
12
|
Keywords: llm,cli,chat,terminal,ai,chatbot,assistant,kollabor,plugin-system,event-driven
|
|
12
13
|
Classifier: Development Status :: 4 - Beta
|
|
13
14
|
Classifier: Intended Audience :: Developers
|
|
@@ -27,6 +28,7 @@ Description-Content-Type: text/markdown
|
|
|
27
28
|
License-File: LICENSE
|
|
28
29
|
Requires-Dist: aiohttp>=3.10.11
|
|
29
30
|
Requires-Dist: psutil>=5.9.0
|
|
31
|
+
Requires-Dist: packaging>=23.0
|
|
30
32
|
Provides-Extra: dev
|
|
31
33
|
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
32
34
|
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
@@ -42,7 +44,8 @@ Dynamic: license-file
|
|
|
42
44
|
|
|
43
45
|
An advanced, highly customizable terminal-based chat application for interacting with Large Language Models (LLMs). Built with a powerful plugin system and comprehensive hook architecture for complete customization.
|
|
44
46
|
|
|
45
|
-
**
|
|
47
|
+
**macOS:** `brew install kollaborai/tap/kollabor`
|
|
48
|
+
**Other:** `curl -sS https://raw.githubusercontent.com/kollaborai/kollabor-cli/main/install.sh | bash`
|
|
46
49
|
**Run:** `kollab`
|
|
47
50
|
|
|
48
51
|
## Features
|
|
@@ -60,7 +63,54 @@ An advanced, highly customizable terminal-based chat application for interacting
|
|
|
60
63
|
|
|
61
64
|
## Installation
|
|
62
65
|
|
|
63
|
-
###
|
|
66
|
+
### macOS (Recommended)
|
|
67
|
+
|
|
68
|
+
Standard Homebrew installation - what most macOS users expect:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
brew install kollaborai/tap/kollabor
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
To upgrade:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
brew upgrade kollabor
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### One-Line Install (Cross-Platform)
|
|
81
|
+
|
|
82
|
+
Auto-detects the best method (uvx > pipx > pip):
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
curl -sS https://raw.githubusercontent.com/kollaborai/kollabor-cli/main/install.sh | bash
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Using uvx (Fastest, Isolated)
|
|
89
|
+
|
|
90
|
+
uvx runs the app in an isolated environment without installation:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
uvx --from kollabor kollab
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Or install to uv tool cache for instant startup:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
uv tool install kollabor
|
|
100
|
+
kollab
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Using pipx (Isolated, Clean)
|
|
104
|
+
|
|
105
|
+
Recommended for user-space installation without system conflicts:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
pipx install kollabor
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Using pip
|
|
112
|
+
|
|
113
|
+
Standard Python package installation:
|
|
64
114
|
|
|
65
115
|
```bash
|
|
66
116
|
pip install kollabor
|
|
@@ -69,7 +119,7 @@ pip install kollabor
|
|
|
69
119
|
### From Source
|
|
70
120
|
|
|
71
121
|
```bash
|
|
72
|
-
git clone https://github.com/
|
|
122
|
+
git clone https://github.com/kollaborai/kollabor-cli.git
|
|
73
123
|
cd kollabor-cli
|
|
74
124
|
pip install -e .
|
|
75
125
|
```
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
kollabor_cli_main.py,sha256=RdGu7KpBzzxuhvPUiB_lHYk3IeHL6VQlkv_PqDF2wHk,625
|
|
2
|
+
agents/__init__.py,sha256=NNFHaA7pGzb_9p0W3wrwy0FZCh05tXr3TQF76QXs-EE,90
|
|
3
|
+
agents/coder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
agents/coder/agent.json,sha256=BworCmRPBy8FD_IM35eysiBJ23xqXpokO0dEkGJnVhU,120
|
|
5
|
+
agents/coder/api-integration.md,sha256=3TWuP94LJ5c2G5C1ulPSECSSAXpyJwvmiJXvMKHKRt0,62095
|
|
6
|
+
agents/coder/cli-pretty.md,sha256=GSvlm_dz9KjkVfh50Oe_V_a-ZV-CfwO0pvA2obqzNgo,23886
|
|
7
|
+
agents/coder/code-review.md,sha256=3XFRoMeEDyP58cBGdWVT0haFsaQu29lm5fXUu2V7Vo4,23830
|
|
8
|
+
agents/coder/database-design.md,sha256=Yt87erm8TVGGMLZXQ674KLZWptZcp6nOu8eIX8L2bxg,39599
|
|
9
|
+
agents/coder/debugging.md,sha256=PhynIMR9Uegi-AG5MUmsE4Y1ZliEyAz_aP2Ndu6OZr4,22969
|
|
10
|
+
agents/coder/dependency-management.md,sha256=yh5ySCLf8lNP3244Fy9xI4gNJff_miHbb4PlknViPJM,28120
|
|
11
|
+
agents/coder/git-workflow.md,sha256=1-Gjg6mzrhFEHo0s3Kl2zijgDZlgo8QF61_LlYYoxxA,21442
|
|
12
|
+
agents/coder/refactoring.md,sha256=LjnQYyTQpcNzkaiK6P76DdycM1FawjVtrHxqidHO98o,32199
|
|
13
|
+
agents/coder/security-hardening.md,sha256=zgvrhRongzDnjV3eDnXhnRwrL6nCwWThgadwFS39ICc,43371
|
|
14
|
+
agents/coder/system_prompt.md,sha256=Rb63HuohRyJRhCKFzAN7_nS_4jW5puMWNeGqdn7artk,44927
|
|
15
|
+
agents/coder/tdd.md,sha256=1GozHdGcZIRNiMXTJpHylXei6dALYItZRIXUhAhztc0,32208
|
|
16
|
+
agents/creative-writer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
agents/creative-writer/agent.json,sha256=g2nxFZiCKMBJJp9m4X-J3nfA5Oe8AoDhe8rWo1GkxW4,104
|
|
18
|
+
agents/creative-writer/character-development.md,sha256=TJ-qEkXDqCREBqnyrQimyqmfvl0iPzdVEFNaMqB1AGY,45025
|
|
19
|
+
agents/creative-writer/dialogue-craft.md,sha256=XXeUaQw_tPv3rWv7c6cZikcupVIcbrbq81xzLtUMsps,26281
|
|
20
|
+
agents/creative-writer/plot-structure.md,sha256=Ym8kVUuvCRsTKUnhUduzeAx1uRvuhhGc7vaL2FMEFfE,27083
|
|
21
|
+
agents/creative-writer/revision-editing.md,sha256=QpYHF6nMIBCRqHRUapNyMkrVUFZ2uteKcS0L8Y5Y46I,32258
|
|
22
|
+
agents/creative-writer/system_prompt.md,sha256=cqyn15MYO-iptrB1h3POSk_V-rIqWWE8JQ8RfBj6-7I,20625
|
|
23
|
+
agents/creative-writer/worldbuilding.md,sha256=CK2TboUnhI_b1X-brTxlmZfu46PZh-vUfrAd3o91R78,50475
|
|
24
|
+
agents/data-analyst/__init__.py,sha256=tV8mS2r52YlGHodDvriIhds0faE-R77gRqYnrT-_7k0,890
|
|
25
|
+
agents/data-analyst/agent.json,sha256=1h3kqF_Qu7yBE4tuK2_hWU5SQbAWV-dc6_HActiJ_WY,128
|
|
26
|
+
agents/data-analyst/data-visualization.md,sha256=O6aQUVy5smDG0UzW1nlE_zTDwwqERyC8-VIk69jaPvE,25743
|
|
27
|
+
agents/data-analyst/exploratory-data-analysis.md,sha256=yUBA6uAi763dDaotWrc8za0T6nTJFHe6kdogHQQEvOw,28825
|
|
28
|
+
agents/data-analyst/pandas-data-manipulation.md,sha256=OM8QfPMg8W2bKXtuenUXFTVCOi-Zo68S_SiPvBlnGQI,20173
|
|
29
|
+
agents/data-analyst/sql-query-optimization.md,sha256=axyzT7ly_ZCFV47UVDuqJvF214oCZuJT9wUL3Tc6kY0,18733
|
|
30
|
+
agents/data-analyst/statistical-analysis.md,sha256=v573aE1qdfkqBUWGjT9BZDSGVYlZUYZvccXGsislp5U,27155
|
|
31
|
+
agents/data-analyst/system_prompt.md,sha256=C16RXf1FNpIeTXWax3fCfHGboY4sbXb-egOoFj8-DnU,29660
|
|
32
|
+
agents/default/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
agents/default/agent.json,sha256=uo9oPt0rWNS0qDEcaWYEbVd9WFuwom71-sX1bFDPCLg,114
|
|
34
|
+
agents/default/dead-code.md,sha256=LMJL_We9Isep8kjmAX41NtkQ42R3lbNtZDQswUDIITM,21913
|
|
35
|
+
agents/default/explore-agent-system.md,sha256=lQCSygDpKmk1vY5aCbslapvcsGNU0mJS94mNHQCvGnE,17897
|
|
36
|
+
agents/default/system_prompt.md,sha256=Rb63HuohRyJRhCKFzAN7_nS_4jW5puMWNeGqdn7artk,44927
|
|
37
|
+
agents/kollabor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
agents/kollabor/analyze-plugin-lifecycle.md,sha256=WA6NCV3Y5l-xxbOUSqj7-RLBsdpbVjct75xJWgPAKZ8,6332
|
|
39
|
+
agents/kollabor/analyze-terminal-rendering.md,sha256=Yr6LV6TpQnLUbuodFp87aQM7n4p1Uhdf4ZEnfxnsN0Y,11742
|
|
40
|
+
agents/kollabor/code-review.md,sha256=3XFRoMeEDyP58cBGdWVT0haFsaQu29lm5fXUu2V7Vo4,23830
|
|
41
|
+
agents/kollabor/debug-mcp-integration.md,sha256=_PgzcA3o-uv8zg2vvibp-TLwpeZJTNfbQECA5qHJ1CI,13266
|
|
42
|
+
agents/kollabor/debug-plugin-hooks.md,sha256=R4NqY-bdVqlxe12bxFihLDKZ09UlXYjMT21ktpJE1QU,14888
|
|
43
|
+
agents/kollabor/debugging.md,sha256=PhynIMR9Uegi-AG5MUmsE4Y1ZliEyAz_aP2Ndu6OZr4,22969
|
|
44
|
+
agents/kollabor/dependency-management.md,sha256=yh5ySCLf8lNP3244Fy9xI4gNJff_miHbb4PlknViPJM,28120
|
|
45
|
+
agents/kollabor/git-workflow.md,sha256=1-Gjg6mzrhFEHo0s3Kl2zijgDZlgo8QF61_LlYYoxxA,21442
|
|
46
|
+
agents/kollabor/inspect-llm-conversation.md,sha256=LO0FQiF0niefto9yNiH3rI3f0Tpy-1Gaib8NEnZxOeY,5334
|
|
47
|
+
agents/kollabor/monitor-event-bus.md,sha256=2_oVxMadC2Ao9uR0BnPXd3cfHaTmtFx1Z30ZEv7z8rU,16674
|
|
48
|
+
agents/kollabor/profile-performance.md,sha256=U5tdBX46HqGteD3tDU3PslUxOiePrLMdsP0MLOgnaMc,17233
|
|
49
|
+
agents/kollabor/refactoring.md,sha256=LjnQYyTQpcNzkaiK6P76DdycM1FawjVtrHxqidHO98o,32199
|
|
50
|
+
agents/kollabor/system_prompt copy.md,sha256=Rb63HuohRyJRhCKFzAN7_nS_4jW5puMWNeGqdn7artk,44927
|
|
51
|
+
agents/kollabor/system_prompt.md,sha256=c0_1AS7MyNGPzlL6K1J5uWdfPByjX7SR8CtsdNSTuOI,21249
|
|
52
|
+
agents/kollabor/trace-command-execution.md,sha256=4P0T4LV-Oa_KW7tBm4g0r80c5FHGCx0W3B4BODtXDoI,6343
|
|
53
|
+
agents/kollabor/validate-config.md,sha256=bnzWjUusKkU6hVoQyiM2Geiz7eOF7RpnnqTei0IVjg4,25553
|
|
54
|
+
agents/research/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
+
agents/research/agent.json,sha256=pvMhptqnAsD1MRAaLgey67zB4MQ05AdyHjg90Kj60HU,115
|
|
56
|
+
agents/research/architecture-mapping.md,sha256=FQ_DN_QiMtthSqOGVT_Vtqzt1r83au_GFUKUhD80Vn4,29615
|
|
57
|
+
agents/research/codebase-analysis.md,sha256=QKhQFlbo5FZDLRWbdwg-2SfUc0gBvLnEG8pKVuRBK9k,31301
|
|
58
|
+
agents/research/dependency-audit.md,sha256=RmFcGgaVS93NS37iZN-KfB3gbwHCN27dd057Wn0MiT4,27670
|
|
59
|
+
agents/research/performance-profiling.md,sha256=gIxx9WyWhbnc3LT0hQTBPtBfJboXqUsMPgS_MyDEaoQ,26135
|
|
60
|
+
agents/research/security-review.md,sha256=T9xF-dM9dAv3gUO3DEIvZf7jNxUnHXC_ukCJu2tAv7A,32807
|
|
61
|
+
agents/research/system_prompt.md,sha256=bu_0iWob3WstSbi-yukGQuiwiAAITsA5heFefWcvbiY,13328
|
|
62
|
+
agents/technical-writer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
agents/technical-writer/agent.json,sha256=ULwS07n_Hxf1mWzxerwqfnuUiVf8ytKVFISQiaZxPhY,104
|
|
64
|
+
agents/technical-writer/api-documentation.md,sha256=usCWfdCb-Zkrlj1qGbb0RAksQUNf93W2hTdpG_M42ug,57834
|
|
65
|
+
agents/technical-writer/changelog-management.md,sha256=M52H1NiyEL48wGucqh_NyVKcAnBhGcjQIVAMW4Fpubw,24271
|
|
66
|
+
agents/technical-writer/readme-writing.md,sha256=Wh-di5oAYsSJIzZvkWlAq_1XsJgXufH_XlvVpL--K1k,27556
|
|
67
|
+
agents/technical-writer/style-guide.md,sha256=P5YbdLJijtvVRG9Wu0JC2JQzuHLr9InhfgqagTqMTlI,31751
|
|
68
|
+
agents/technical-writer/system_prompt.md,sha256=2AMRNMDLtFkYRy6boGZ8orYerZIDMJuGd3_z2lCMLq4,14272
|
|
69
|
+
agents/technical-writer/tutorial-creation.md,sha256=vJry1K6sNNLgm1ArkJwrzHsZ1xFKGz3kpruJZsFW7sM,32217
|
|
70
|
+
core/__init__.py,sha256=_9XpGiOPL9xXDdWsEW-3SDsb_-m7G86c5GeGG9HybKg,516
|
|
71
|
+
core/application.py,sha256=F7i_U3YX_2yYmMi1aJWFURRSukLNR4EGSqTKQquXguw,35977
|
|
72
|
+
core/cli.py,sha256=OnjhcgPpOCs12UWwzHLwCwTkRnJzK2MDnRXc0s-ZDyE,14543
|
|
73
|
+
core/commands/__init__.py,sha256=vnmRPP1Z9w-uRVq25hSC6XA7-kQD5GeyntkqjwGQsGs,1067
|
|
74
|
+
core/commands/executor.py,sha256=n89GkS2uTi5UGUKlAV1YKQCs2ee8aIqS0ToXyyxBivM,10659
|
|
75
|
+
core/commands/menu_renderer.py,sha256=vtIzOPrDe8ZlKm_z6j8N2rAhBEnB55vyjJg_yXg8uJk,26829
|
|
76
|
+
core/commands/parser.py,sha256=QNQg6uLXGmrstGSVL3SZbzmuGFvBkyVnixksX8GmNV4,5804
|
|
77
|
+
core/commands/registry.py,sha256=uWbODyK4oKYoU1pjBxvz08vqeTkGatVPAi1LW0dTBmg,12302
|
|
78
|
+
core/commands/system_commands.py,sha256=4WndKxDlv2ugT-1CnPMtoYH0G-J6tQrgF48hycGZp8Q,118159
|
|
79
|
+
core/config/__init__.py,sha256=LzIghvi-CGT_C-Tpzjpwryu35dKhniWI_QH3s2XsyOk,213
|
|
80
|
+
core/config/llm_task_config.py,sha256=Ri-Vu1crP2zcrt9H_vytvxSTiMctmzWkO3IG-nGeSAg,4201
|
|
81
|
+
core/config/loader.py,sha256=B2w7p3qy6PnQSEMy8Ht3jyIbFiHzs4zZj62VDHzYgGg,24752
|
|
82
|
+
core/config/manager.py,sha256=f_qNV5BZ9Ee2wfWLntgw00NJiqudaVIvxnejWX8-HjQ,3359
|
|
83
|
+
core/config/plugin_config_manager.py,sha256=IqcrVOtqrM5R9rvZeiDsjJ4neFZkRtfNlTPJ5-OfIJg,13848
|
|
84
|
+
core/config/plugin_schema.py,sha256=Q6KjQc5r1sN48HDzNlv0fSH1MpCclgkdnDENUwxuF0Q,15013
|
|
85
|
+
core/config/service.py,sha256=503_kDFf_az8KnTgAMIZhr4OwxVFEtHP-PO0jgIr1zI,15597
|
|
86
|
+
core/effects/__init__.py,sha256=0dDDDiPEiauWQZBWWJ7XRhE_jGIRsxzPn0SD4BDMTjg,64
|
|
87
|
+
core/events/__init__.py,sha256=A6JciibuYZzmGqnhRlVu97LARiPHzRhN1zSh4_47uos,394
|
|
88
|
+
core/events/bus.py,sha256=xOS2UbTub0OSK5m7WKes0sauXVeM1a4F152Zl995BWQ,5147
|
|
89
|
+
core/events/executor.py,sha256=CXhER6Am-aMEC57dgBiT8v_tgvgJp9TvdyLUT90SbbI,12401
|
|
90
|
+
core/events/models.py,sha256=TQZITlHC9D7JZthvMaysYNy4VMYcbYKh6qbPfTja3vk,8884
|
|
91
|
+
core/events/processor.py,sha256=2GILZzv8bOc6RWB8i38SUdjw3O-zf83KGEyH3Crb38c,7023
|
|
92
|
+
core/events/registry.py,sha256=y4baUpj04_JLME9ZZZkFqH0pWBscm-GnBACfs1yCDxs,10508
|
|
93
|
+
core/fullscreen/__init__.py,sha256=RrZlDXqCNks7cmjimwpis7Yvo3lGCF-T3-kmVJf4BlM,558
|
|
94
|
+
core/fullscreen/command_integration.py,sha256=ye6MESTPIBEqgrjV70V6H3XJxo6AkAZdzvAR9J8FSZc,10763
|
|
95
|
+
core/fullscreen/manager.py,sha256=2aOBbRp2YG3gQSgBg_QKhtdL8qVOKIYF3maSZnDm-sg,10049
|
|
96
|
+
core/fullscreen/plugin.py,sha256=pQ9n_RokHSYPPStNh5AVpnlxtGqi0B2ZuLnyqGqoSnc,6560
|
|
97
|
+
core/fullscreen/renderer.py,sha256=PZDWpbroK6e3o4tKVDoH5ZIVWv3xPoaPT0zcaunTelI,11184
|
|
98
|
+
core/fullscreen/session.py,sha256=n3TqGp0tpfh_oCwW3K2NkSK8vNU6nrE9KbSI1Z9u6uE,13578
|
|
99
|
+
core/fullscreen/components/__init__.py,sha256=Qgj8RJ5NAKr3zKbf83kPPSjigmzOLCrtfrE6znI3py0,498
|
|
100
|
+
core/fullscreen/components/animation.py,sha256=f91iMDi-XnyuygP7FWO2LJZtgwbtoMv_n9guegYjwJ0,7078
|
|
101
|
+
core/fullscreen/components/drawing.py,sha256=yuZoY0tG04pWnA2YZqjkSB9mtn9bVc8SkdNcSwOCHfM,5885
|
|
102
|
+
core/fullscreen/components/matrix_components.py,sha256=M214FUjO09kUsratsW40kHgarXDkKyMCbV8Vlr69MOI,5911
|
|
103
|
+
core/fullscreen/components/space_shooter_components.py,sha256=y9AWwhN9Qh00V6cx6RJWwFNne7Z4Sat7MlhAB1i5odI,19974
|
|
104
|
+
core/io/__init__.py,sha256=7xLA5Y9xN6hv7I_XgD8Nf2HP35FuRjdfLnBFbeob28A,1995
|
|
105
|
+
core/io/buffer_manager.py,sha256=BD27Eh7C2rJQxp-RVhti-0Al26r07gdWX6JldBUcras,11130
|
|
106
|
+
core/io/config_status_view.py,sha256=egsuU8ivepR1lq7r85AkcuAwrU-xdW2csmtkhKKD3Fc,8567
|
|
107
|
+
core/io/core_status_views.py,sha256=94yGb_vDpCLStOzDxY7r43xyVL5HhcZEQL7JDm4bNlk,12190
|
|
108
|
+
core/io/input_errors.py,sha256=GBR_3VMMBFYBk8Yo6YzwikE49cJcjcsz9D4TkcYejjQ,10270
|
|
109
|
+
core/io/input_handler.py,sha256=MPU5fRDIWZ7EeH9UFACWt5ge7rPqU1NlCrnoLdDa7zQ,16559
|
|
110
|
+
core/io/key_parser.py,sha256=OlSQJZF650GCvNLtzznx3sRWb7wwfjyCgDRtQiub1Ps,10562
|
|
111
|
+
core/io/layout.py,sha256=NBKBpfhoGN3n_YHfr1_NCr6zQSz3dDPZdCTcTX-7y0k,18706
|
|
112
|
+
core/io/message_coordinator.py,sha256=tysu7cYM9mRm3Jlw9CZARowwAoW8dFCuyd7ZUtBS2eg,12644
|
|
113
|
+
core/io/message_renderer.py,sha256=j_SK3GYrYPePoNYJKNlMTfu6JKPvd0ouxxvkLt7gX5U,24078
|
|
114
|
+
core/io/status_renderer.py,sha256=NqdkBOwTC99V_6OmwF-MRoW-nKJsWjLbnnHCvMR1EdE,13643
|
|
115
|
+
core/io/terminal_renderer.py,sha256=jVO17oG9wviCFnIpHSOhdtv7OHIvs3bNFo9WUPp5SCc,25320
|
|
116
|
+
core/io/terminal_state.py,sha256=6INskkbRPzCOThMPHEz-ltf9dkmCTjVDIEy3AjeVjeA,18875
|
|
117
|
+
core/io/visual_effects.py,sha256=D06UiTlUf2LwOAdKO8H15eXoy2URnAUMws15phTmiVg,45803
|
|
118
|
+
core/io/input/__init__.py,sha256=FzOF7RpVuQpxbkzAqK0DZl_Lfqnf91_GYSCVSh23aXc,806
|
|
119
|
+
core/io/input/command_mode_handler.py,sha256=DrtG6m5qoRz7RXUrFI3rfMXtG-JOspJDVzExsYvyfFk,28234
|
|
120
|
+
core/io/input/display_controller.py,sha256=7yn7KESepQ0YaICQDLmEI9ft2wIYIBTF7PLoQWrpuwM,4545
|
|
121
|
+
core/io/input/hook_registrar.py,sha256=HJ50Ko2RyPMRRBTitM6vc_Ngi_uNKii6Nzu6zuoNuaw,12809
|
|
122
|
+
core/io/input/input_loop_manager.py,sha256=hyuUbiiLf5abN-YQvdgBq6tZBIqshKqaqF_jPpBoRWA,15406
|
|
123
|
+
core/io/input/key_press_handler.py,sha256=BtIZ_QnSs4fIGH-z6V-WMbm7NqIie0oO1foDDdog614,20505
|
|
124
|
+
core/io/input/modal_controller.py,sha256=BN_As84mnbNGabyMPkB-zRj16StEUaBkiQpG-TjVU6U,45638
|
|
125
|
+
core/io/input/paste_processor.py,sha256=XVMb5QxSHjKl_g3-14bUUC3PdDowMylMkSy1sFCCa9g,13237
|
|
126
|
+
core/io/input/status_modal_renderer.py,sha256=BPvwXTCevqORKJZfIARX5SiwSWZR1DZUNz_80gqxBRY,7636
|
|
127
|
+
core/llm/__init__.py,sha256=ygjaJOgIBqE3ExUMMiAJQ2E-yDm-IQZrj9uxlGuxBfo,801
|
|
128
|
+
core/llm/agent_manager.py,sha256=ZR3CU0LJiYOdvAsSHtyyVdt4BnhH-3US9vd6LDP4RwI,36776
|
|
129
|
+
core/llm/api_communication_service.py,sha256=wXeaGdj9efOIFdDynyI2_xGxU_H3qsVfuEfcHEQQHPg,35807
|
|
130
|
+
core/llm/conversation_logger.py,sha256=H_rGvZI3JXLWb-1ijXzac8TtCiVDWM05qaangMZgqQE,31444
|
|
131
|
+
core/llm/conversation_manager.py,sha256=Em30h1NaN3kFoxoiFKMuo7sH91HkR5o0yvnO6nRWU04,37417
|
|
132
|
+
core/llm/file_operations_executor.py,sha256=eU-RoDWLOrapK3oJCzFXX67P2XPqN4kdtN5nixEaSPU,48840
|
|
133
|
+
core/llm/hook_system.py,sha256=NwFfn4a-QSI17pK4ZHCVupfSEo4_iRstBwjOFuwDJKw,14006
|
|
134
|
+
core/llm/llm_service.py,sha256=wQto_R9I4bF02TslpkHaYeL0eRzED7my8Nz3pUNew0Y,110345
|
|
135
|
+
core/llm/mcp_integration.py,sha256=dkEfdrO8w--wIYyqCVoQeZxgexl0LpFMRyS7N-BSx3Q,33576
|
|
136
|
+
core/llm/message_display_service.py,sha256=XczfNU9hxWZSbcGdCmcenSd1THi1d83Li7nana7tWrw,24060
|
|
137
|
+
core/llm/model_router.py,sha256=oHbFyJGJvr1mW5MVZ4T2fHrwUy6IKXJijJ9jmPmTmP0,7062
|
|
138
|
+
core/llm/plugin_sdk.py,sha256=ZhItGThWyFI3kOdOqen8GsFZVjKxjlYlSNXt0O7iefU,13956
|
|
139
|
+
core/llm/profile_manager.py,sha256=jDzS4iQQThinmQ-pYJkCMjHud47y1zP8LkmiX-D1gec,42686
|
|
140
|
+
core/llm/response_parser.py,sha256=f5ZSac9dVyGS89E_YKtmV947NmApRGTOuNDiB-P41yE,40085
|
|
141
|
+
core/llm/response_processor.py,sha256=41mVUhQTrlMyBdgOHzvhSLTzCJwOmo5kjyF9KnKFT9s,12349
|
|
142
|
+
core/llm/tool_executor.py,sha256=PWl18JDT3S3nmF46hL4edhLMgKX2kde96aJ6bfXZe3M,19239
|
|
143
|
+
core/llm/api_adapters/__init__.py,sha256=1cVnKdRP7EB5Kr6CymIcTf8wNCPQlDBGt8yvsQea3AA,1124
|
|
144
|
+
core/llm/api_adapters/anthropic_adapter.py,sha256=oJwcEewiJ6oHEOFKtba069NWJkhNah-KLkWHD6bt9ow,13547
|
|
145
|
+
core/llm/api_adapters/base.py,sha256=B8opk_VNOtipmvbr5Wnyk66kwEbxWi_JvSgaSM4VaRM,6640
|
|
146
|
+
core/llm/api_adapters/openai_adapter.py,sha256=tj9-F0O4NjoseU5dsZmcN-9m6d8nRpyfqtpFJMFPSYQ,10084
|
|
147
|
+
core/logging/__init__.py,sha256=i5i615F60M7M-sRtC_qEnKAkEbPymlTOmXKX0n_81XY,410
|
|
148
|
+
core/logging/setup.py,sha256=WbN2MBYt88_DB8RbtFDUgcjd6tzQfGE7XDPYjrp-Tpc,7446
|
|
149
|
+
core/models/__init__.py,sha256=BXuQeabXxRPMvmymiOjQR44s2TchbZqx2XBbTx7HuoY,111
|
|
150
|
+
core/models/base.py,sha256=9tZwUb2VBWkX8YRLpnFSxb_GXmO92IBkwsqyRcOA1EI,711
|
|
151
|
+
core/models/resume.py,sha256=SQxcwIykiHYPybVcmy_Ll4UTTMX6vWr-KYX-Ug-R4mo,1358
|
|
152
|
+
core/plugins/__init__.py,sha256=AL4P2wmcUGRRTG_-Z1FH9RbeaNLYEWxXSADLb31eFxg,353
|
|
153
|
+
core/plugins/base.py,sha256=tVbkyVST1omanRRxa0JNHxn2Gj6dMP4L6WnRVS-ZvrE,4027
|
|
154
|
+
core/plugins/collector.py,sha256=18VkGw9BYbjC-x5Ff0o6pb7AdgYgcAJgSzudT3gLLcU,2392
|
|
155
|
+
core/plugins/discovery.py,sha256=VpTpk8bVdosjp7TMlYQ4NeIMTtednRK9kSFtWKvOn74,15984
|
|
156
|
+
core/plugins/factory.py,sha256=4lgSik_2llIh9Qx0rGgXvdHrS_UkkNPKRa019BQ4NvI,8730
|
|
157
|
+
core/plugins/registry.py,sha256=suJYHm3wf1iC8UJiOJQsfLbAW8ykxB09ABI44ycKkO0,4994
|
|
158
|
+
core/ui/__init__.py,sha256=CqoUMYHlKWQ6Xbx2RPAkna8Sdq2h8QgFlTcI2o1PMb4,219
|
|
159
|
+
core/ui/config_merger.py,sha256=_AAzknetfacw3dHj7MpsHVtvmXGjyrc4OP-_BkW5PWc,6805
|
|
160
|
+
core/ui/config_widgets.py,sha256=jb3UEaAFFh8Bfwk32TVPdfyG388Z0_B8y4HUlmnMYwM,19952
|
|
161
|
+
core/ui/live_modal_renderer.py,sha256=lK-CF6rLGPhrZZ9yf7rupRkxoxo5JVzYHb-CwmnWOcI,9976
|
|
162
|
+
core/ui/modal_actions.py,sha256=cyj2_jg9dM5Bp4vUfnuQ6tHvMiBsiCF-PWA2hgRZqiQ,5837
|
|
163
|
+
core/ui/modal_overlay_renderer.py,sha256=YPiN0YcaULPLNF5I0a_Ht0A3otYkE6gpqGAmomNyr-U,10234
|
|
164
|
+
core/ui/modal_renderer.py,sha256=hJFCdrmMaonsPc-HGmB-Q8yfRpxMWxtMbLd1agdJFD8,37723
|
|
165
|
+
core/ui/modal_state_manager.py,sha256=URTDDlOFzcHCEAg8Oezyk6sCbwL2AE23xnRNwMRoJZk,16574
|
|
166
|
+
core/ui/widgets/__init__.py,sha256=2FF0UzWwUIv8J8Ei_fcb0wZ8A-UsISZOmWBHti8vSmQ,799
|
|
167
|
+
core/ui/widgets/base_widget.py,sha256=C2cqxWAqMT1m8cpvWBY5ZFL1Mf7XL_5JXFxMzdp04ww,4646
|
|
168
|
+
core/ui/widgets/checkbox.py,sha256=SWKFGFbgBSWoz03Bdlfhhge2AiaMqio_0a_j8sGXXUY,3038
|
|
169
|
+
core/ui/widgets/dropdown.py,sha256=FeaxkZMIiIxYc83hmFS-Ik7H5eBTVbO4yaxmIU7E1GM,4492
|
|
170
|
+
core/ui/widgets/label.py,sha256=H1TNVFTPzfJLcu8K6yqlTMuX9s1orE91dSvyX-MBg2M,2290
|
|
171
|
+
core/ui/widgets/slider.py,sha256=ZuIv7ClkeeuBs2A8GHVA1AClmwJRw-Bbm-JHITBSJNA,6860
|
|
172
|
+
core/ui/widgets/text_input.py,sha256=o3yAN70856vKzpj2hewFGo-QXYPOjRPYZH39638x67Q,7916
|
|
173
|
+
core/updates/__init__.py,sha256=TStFsz-TrFcrPPXqsYQZ3kCxrcAwARJDPOiOa4-pE0g,414
|
|
174
|
+
core/updates/version_check_service.py,sha256=XIqi3hQoGaWllz-1QErrIc_ouR-8UCpru4rXOY2ufRc,12109
|
|
175
|
+
core/updates/version_comparator.py,sha256=Nb9Rc6xrDPp4nMWXc5xnUJ2IKpC0zmadouEMBXvucvg,2864
|
|
176
|
+
core/utils/__init__.py,sha256=f51izmJtTxFOscZANUX2KRmMq4zAHdIwJdtiR921Csk,391
|
|
177
|
+
core/utils/config_utils.py,sha256=rmhyB-iQUuaoKO6ZVxPDqQ79qc5K5-kzT_wPH3dvkqg,27578
|
|
178
|
+
core/utils/dict_utils.py,sha256=yxsrJFaW540qvxLqxF21sEm6paxxM2-C0V4N4qOEDWE,6153
|
|
179
|
+
core/utils/error_utils.py,sha256=JkIQk3x163rElse1MROssJROy6iHAIsfnYlLX6jfbcw,9799
|
|
180
|
+
core/utils/plugin_utils.py,sha256=KtxhzA5Fc2wBkK4nvnoUAkCinGFw6IrovZOIcnSXOHA,9424
|
|
181
|
+
core/utils/prompt_renderer.py,sha256=hCqrpGcRTFmDHiPUkjYG5OhGEurmw835o3JyUD-0Qog,5049
|
|
182
|
+
core/utils/session_naming.py,sha256=ROIEOgUEvHuLM4n-BmssSpvlm8fHbWqOwJ88WaztWN4,3159
|
|
183
|
+
fonts/LICENSE,sha256=hKepjIIUD7EsN_5CuTgFuqFgJMs-WsxZm3_-YSxV2Ec,1082
|
|
184
|
+
fonts/README.md,sha256=_pnSomaLCtZapUCiKXxevctqEj1bhaDtdHv-MiKoXFw,1978
|
|
185
|
+
fonts/SymbolsNerdFont-Regular.ttf,sha256=cdsQSqZlZ9Dv4LmHWPnfwYlVc6RT_oX7U9HDhUSlUQY,2440316
|
|
186
|
+
fonts/SymbolsNerdFontMono-Regular.ttf,sha256=8PYk2bR0vqFmLPfoYtRK6-GuH2x_nLegyl0OWslWHGA,2507556
|
|
187
|
+
fonts/__init__.py,sha256=spUWHCEPvu1fIsTibCLWvCllViMitCST7RYrWqt5V8c,1156
|
|
188
|
+
kollabor-0.4.15.dist-info/licenses/LICENSE,sha256=uWkgA9bNCoiOlyXN1KYAT8oSq6NbZ68EZDQ8nGlgHdQ,1078
|
|
189
|
+
plugins/__init__.py,sha256=cg-G1KOnSHMYazTkYu9otwKubVdNjda1jCO9F2Y0idY,39
|
|
190
|
+
plugins/agent_orchestrator_plugin.py,sha256=z0VH6hSENmfrdN6agG7HvpKjl6K9bEZY72QZyfFSmm4,322
|
|
191
|
+
plugins/enhanced_input_plugin.py,sha256=fgE9Zl3w4v2737dn1CB3WJtw0z7xPGE5r130UzJieGw,16671
|
|
192
|
+
plugins/hook_monitoring_plugin.py,sha256=G1PadayNEjrq6Oteel4c7pDYGIGiort9raMeU9jlBhw,75824
|
|
193
|
+
plugins/query_enhancer_plugin.py,sha256=sdth9Gx0LL4KL4J66iqPTGaGQQZzgSpnd8f2Q1jzsXk,16609
|
|
194
|
+
plugins/resume_conversation_plugin.py,sha256=x1TkVowXYzOUVE9BpEmDvHqarUCl7Gi3i7ldl8swn3U,61229
|
|
195
|
+
plugins/save_conversation_plugin.py,sha256=YHskVVN5A0RbK4qVg032xRiOvzRnLHj2E6PG5VY3oa4,20501
|
|
196
|
+
plugins/system_commands_plugin.py,sha256=k1TEjxHUFvimGqcXDSgcfm2oy6j80gcNlZEXGXReiIM,3858
|
|
197
|
+
plugins/tmux_plugin.py,sha256=v0bSr9ZIgthhsRSpJXSpTdl1N1q3KIIdkY1Ny0t2MXQ,33389
|
|
198
|
+
plugins/workflow_enforcement_plugin.py,sha256=d2w-kCesxMq2xYGY-jV3u_SEnMX5tG9Crf4cXt0yM7w,25992
|
|
199
|
+
plugins/agent_orchestrator/__init__.py,sha256=gnORkniPsOwSt7ZPAimoON0k2nHOq6q12-IW5r-WrLs,1328
|
|
200
|
+
plugins/agent_orchestrator/activity_monitor.py,sha256=9-CS3HlpONRkrhqiD15sIc3JAAEQ4mDyq8PMHo500rE,5711
|
|
201
|
+
plugins/agent_orchestrator/file_attacher.py,sha256=mOEwg6gmtQ9Rz00LItSKD8D6YxwvkFFPavXkYQGTQr4,2144
|
|
202
|
+
plugins/agent_orchestrator/message_injector.py,sha256=Ih6X8SdiU4qoJq3FG4wrD9VmrCqLXmG1dPYDMo20nKw,4402
|
|
203
|
+
plugins/agent_orchestrator/models.py,sha256=t0ZYb1jsIDJsCwGcTPZJ12MZ4QvrcD41PO5dXqYV8lg,1113
|
|
204
|
+
plugins/agent_orchestrator/orchestrator.py,sha256=k8F_X5RWYxL2COardd3f09ghQilmHjBwoEDpjUiPrhM,12441
|
|
205
|
+
plugins/agent_orchestrator/plugin.py,sha256=Br0y2ofvKRkSNvbq7TkjZ6Fr89WAVcNfpL2p2wziJsE,33540
|
|
206
|
+
plugins/agent_orchestrator/xml_parser.py,sha256=hm6e7oy6ph5EXm-OT4WTfQ2uVSTSHw43JcA8EMrP1Qw,6794
|
|
207
|
+
plugins/enhanced_input/__init__.py,sha256=GH0OHRYY1cdqXXu-0wX_TpEQj9H5lOUBUn50S76DhFc,603
|
|
208
|
+
plugins/enhanced_input/box_renderer.py,sha256=2f6gu1jIfsXDqnKA3pWXbqCOi2hi8bkolEbbaAvHiaw,3746
|
|
209
|
+
plugins/enhanced_input/box_styles.py,sha256=S8yoRvO1M_eP0DvCbgkTUtnhGnMAi_eL83n9-1X-fkg,5399
|
|
210
|
+
plugins/enhanced_input/color_engine.py,sha256=aWwXIW0eBuCSg0n624gi-PEIxi2__4dX1r-ybeLl2lU,5962
|
|
211
|
+
plugins/enhanced_input/config.py,sha256=ONBI9Rg1ZRDL6NW9OsPDtq1FsrXvqAs66VNN6C_BWoo,5756
|
|
212
|
+
plugins/enhanced_input/cursor_manager.py,sha256=iJoZTEUHtm--YrHRab1W_LkBsGy5Oz6Iw_h8NjnVRE0,2423
|
|
213
|
+
plugins/enhanced_input/geometry.py,sha256=6EFPKpaq-cZlaNF62DNKT5yQxFYd8MHK4mGO8pLJws0,2511
|
|
214
|
+
plugins/enhanced_input/state.py,sha256=hXUS66YguOasJxTgFlyr6mCtLOjsrSvGg1lWE8mCsKs,4149
|
|
215
|
+
plugins/enhanced_input/text_processor.py,sha256=QEP7xiA4Xvsf17SHJwF-FlqppvckG4nEO9z28bP7qbQ,3380
|
|
216
|
+
plugins/fullscreen/__init__.py,sha256=lkRQnJ5-XufO043f6r7VjAh5gRW8f933Sihg2HZJmrE,353
|
|
217
|
+
plugins/fullscreen/example_plugin.py,sha256=2ZeerYhnWxATw1AwMOscAMXDcPKVkezPJCO69aumnHc,46241
|
|
218
|
+
plugins/fullscreen/matrix_plugin.py,sha256=ZecJMLn22mDcwPmMLJbe9hrf6xo1NibaEnzaYxb4J84,4048
|
|
219
|
+
plugins/fullscreen/setup_wizard_plugin.py,sha256=ub2KnAYxw1bkczWw6QNj5xn1NTxlUFeumSGS_WjCi2k,23389
|
|
220
|
+
plugins/fullscreen/space_shooter_plugin.py,sha256=a5JYXNK_tS7tqkVV16kfZf3zt1r1mB_59swL8oDWUQs,3918
|
|
221
|
+
system_prompt/default.md,sha256=yIQcnyy_I5-ov7M1U-hQ95006zJ_LsxSD8S_S42cG4k,41999
|
|
222
|
+
system_prompt/default_win.md,sha256=DVG4SP6S24KXbY2I5qkzgbJpQuS-3DRayEv0TPgsw_o,11487
|
|
223
|
+
system_prompt/example_with_trender.md,sha256=DL0NcgXi-BNknSaPm2Vk9ro3tncKPYm0z-etpT9nxN0,1401
|
|
224
|
+
kollabor-0.4.15.dist-info/METADATA,sha256=OzH5uOLPQTt_DJWtil0PFj0NqDzQ1YyqZNAPvF80AXk,9765
|
|
225
|
+
kollabor-0.4.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
226
|
+
kollabor-0.4.15.dist-info/entry_points.txt,sha256=8VUD4TjPTE5aHr19bhfMiu9kX2lshLqUwRFr_8oPLos,54
|
|
227
|
+
kollabor-0.4.15.dist-info/top_level.txt,sha256=g3nGv8tNH7-RqL3XJX8xjrIW2v4jqINYylRG2MXAXP0,58
|
|
228
|
+
kollabor-0.4.15.dist-info/RECORD,,
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Agent Orchestrator Plugin for Kollabor CLI.
|
|
2
|
+
|
|
3
|
+
This plugin enables the LLM to spawn and manage parallel kollab sub-agents
|
|
4
|
+
via XML commands in its responses.
|
|
5
|
+
|
|
6
|
+
Features:
|
|
7
|
+
- Spawn agents: <agent><name><task>...</task><files>...</files></name></agent>
|
|
8
|
+
- Message agents: <message to="name">content</message>
|
|
9
|
+
- Stop agents: <stop>name</stop>
|
|
10
|
+
- Check status: <status />
|
|
11
|
+
- Capture output: <capture>name 200</capture>
|
|
12
|
+
- Clone with context: <clone>...</clone>
|
|
13
|
+
- Team lead: <team lead="name" workers="N">...</team>
|
|
14
|
+
- Broadcast: <broadcast to="pattern">content</broadcast>
|
|
15
|
+
|
|
16
|
+
Sub-agents run in tmux sessions and are monitored for completion via MD5 hashing.
|
|
17
|
+
When an agent's output stops changing (idle for 6 seconds), it's considered complete
|
|
18
|
+
and the output is injected back into the conversation.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
from .plugin import AgentOrchestratorPlugin
|
|
22
|
+
from .models import AgentTask, AgentSession, ParsedCommand
|
|
23
|
+
from .xml_parser import XMLCommandParser
|
|
24
|
+
from .orchestrator import AgentOrchestrator
|
|
25
|
+
from .activity_monitor import ActivityMonitor
|
|
26
|
+
from .message_injector import MessageInjector
|
|
27
|
+
from .file_attacher import FileAttacher
|
|
28
|
+
|
|
29
|
+
__all__ = [
|
|
30
|
+
"AgentOrchestratorPlugin",
|
|
31
|
+
"AgentTask",
|
|
32
|
+
"AgentSession",
|
|
33
|
+
"ParsedCommand",
|
|
34
|
+
"XMLCommandParser",
|
|
35
|
+
"AgentOrchestrator",
|
|
36
|
+
"ActivityMonitor",
|
|
37
|
+
"MessageInjector",
|
|
38
|
+
"FileAttacher",
|
|
39
|
+
]
|