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.
Files changed (192) hide show
  1. agents/__init__.py +2 -0
  2. agents/coder/__init__.py +0 -0
  3. agents/coder/agent.json +4 -0
  4. agents/coder/api-integration.md +2150 -0
  5. agents/coder/cli-pretty.md +765 -0
  6. agents/coder/code-review.md +1092 -0
  7. agents/coder/database-design.md +1525 -0
  8. agents/coder/debugging.md +1102 -0
  9. agents/coder/dependency-management.md +1397 -0
  10. agents/coder/git-workflow.md +1099 -0
  11. agents/coder/refactoring.md +1454 -0
  12. agents/coder/security-hardening.md +1732 -0
  13. agents/coder/system_prompt.md +1448 -0
  14. agents/coder/tdd.md +1367 -0
  15. agents/creative-writer/__init__.py +0 -0
  16. agents/creative-writer/agent.json +4 -0
  17. agents/creative-writer/character-development.md +1852 -0
  18. agents/creative-writer/dialogue-craft.md +1122 -0
  19. agents/creative-writer/plot-structure.md +1073 -0
  20. agents/creative-writer/revision-editing.md +1484 -0
  21. agents/creative-writer/system_prompt.md +690 -0
  22. agents/creative-writer/worldbuilding.md +2049 -0
  23. agents/data-analyst/__init__.py +30 -0
  24. agents/data-analyst/agent.json +4 -0
  25. agents/data-analyst/data-visualization.md +992 -0
  26. agents/data-analyst/exploratory-data-analysis.md +1110 -0
  27. agents/data-analyst/pandas-data-manipulation.md +1081 -0
  28. agents/data-analyst/sql-query-optimization.md +881 -0
  29. agents/data-analyst/statistical-analysis.md +1118 -0
  30. agents/data-analyst/system_prompt.md +928 -0
  31. agents/default/__init__.py +0 -0
  32. agents/default/agent.json +4 -0
  33. agents/default/dead-code.md +794 -0
  34. agents/default/explore-agent-system.md +585 -0
  35. agents/default/system_prompt.md +1448 -0
  36. agents/kollabor/__init__.py +0 -0
  37. agents/kollabor/analyze-plugin-lifecycle.md +175 -0
  38. agents/kollabor/analyze-terminal-rendering.md +388 -0
  39. agents/kollabor/code-review.md +1092 -0
  40. agents/kollabor/debug-mcp-integration.md +521 -0
  41. agents/kollabor/debug-plugin-hooks.md +547 -0
  42. agents/kollabor/debugging.md +1102 -0
  43. agents/kollabor/dependency-management.md +1397 -0
  44. agents/kollabor/git-workflow.md +1099 -0
  45. agents/kollabor/inspect-llm-conversation.md +148 -0
  46. agents/kollabor/monitor-event-bus.md +558 -0
  47. agents/kollabor/profile-performance.md +576 -0
  48. agents/kollabor/refactoring.md +1454 -0
  49. agents/kollabor/system_prompt copy.md +1448 -0
  50. agents/kollabor/system_prompt.md +757 -0
  51. agents/kollabor/trace-command-execution.md +178 -0
  52. agents/kollabor/validate-config.md +879 -0
  53. agents/research/__init__.py +0 -0
  54. agents/research/agent.json +4 -0
  55. agents/research/architecture-mapping.md +1099 -0
  56. agents/research/codebase-analysis.md +1077 -0
  57. agents/research/dependency-audit.md +1027 -0
  58. agents/research/performance-profiling.md +1047 -0
  59. agents/research/security-review.md +1359 -0
  60. agents/research/system_prompt.md +492 -0
  61. agents/technical-writer/__init__.py +0 -0
  62. agents/technical-writer/agent.json +4 -0
  63. agents/technical-writer/api-documentation.md +2328 -0
  64. agents/technical-writer/changelog-management.md +1181 -0
  65. agents/technical-writer/readme-writing.md +1360 -0
  66. agents/technical-writer/style-guide.md +1410 -0
  67. agents/technical-writer/system_prompt.md +653 -0
  68. agents/technical-writer/tutorial-creation.md +1448 -0
  69. core/__init__.py +0 -2
  70. core/application.py +343 -88
  71. core/cli.py +229 -10
  72. core/commands/menu_renderer.py +463 -59
  73. core/commands/registry.py +14 -9
  74. core/commands/system_commands.py +2461 -14
  75. core/config/loader.py +151 -37
  76. core/config/service.py +18 -6
  77. core/events/bus.py +29 -9
  78. core/events/executor.py +205 -75
  79. core/events/models.py +27 -8
  80. core/fullscreen/command_integration.py +20 -24
  81. core/fullscreen/components/__init__.py +10 -1
  82. core/fullscreen/components/matrix_components.py +1 -2
  83. core/fullscreen/components/space_shooter_components.py +654 -0
  84. core/fullscreen/plugin.py +5 -0
  85. core/fullscreen/renderer.py +52 -13
  86. core/fullscreen/session.py +52 -15
  87. core/io/__init__.py +29 -5
  88. core/io/buffer_manager.py +6 -1
  89. core/io/config_status_view.py +7 -29
  90. core/io/core_status_views.py +267 -347
  91. core/io/input/__init__.py +25 -0
  92. core/io/input/command_mode_handler.py +711 -0
  93. core/io/input/display_controller.py +128 -0
  94. core/io/input/hook_registrar.py +286 -0
  95. core/io/input/input_loop_manager.py +421 -0
  96. core/io/input/key_press_handler.py +502 -0
  97. core/io/input/modal_controller.py +1011 -0
  98. core/io/input/paste_processor.py +339 -0
  99. core/io/input/status_modal_renderer.py +184 -0
  100. core/io/input_errors.py +5 -1
  101. core/io/input_handler.py +211 -2452
  102. core/io/key_parser.py +7 -0
  103. core/io/layout.py +15 -3
  104. core/io/message_coordinator.py +111 -2
  105. core/io/message_renderer.py +129 -4
  106. core/io/status_renderer.py +147 -607
  107. core/io/terminal_renderer.py +97 -51
  108. core/io/terminal_state.py +21 -4
  109. core/io/visual_effects.py +816 -165
  110. core/llm/agent_manager.py +1063 -0
  111. core/llm/api_adapters/__init__.py +44 -0
  112. core/llm/api_adapters/anthropic_adapter.py +432 -0
  113. core/llm/api_adapters/base.py +241 -0
  114. core/llm/api_adapters/openai_adapter.py +326 -0
  115. core/llm/api_communication_service.py +167 -113
  116. core/llm/conversation_logger.py +322 -16
  117. core/llm/conversation_manager.py +556 -30
  118. core/llm/file_operations_executor.py +84 -32
  119. core/llm/llm_service.py +934 -103
  120. core/llm/mcp_integration.py +541 -57
  121. core/llm/message_display_service.py +135 -18
  122. core/llm/plugin_sdk.py +1 -2
  123. core/llm/profile_manager.py +1183 -0
  124. core/llm/response_parser.py +274 -56
  125. core/llm/response_processor.py +16 -3
  126. core/llm/tool_executor.py +6 -1
  127. core/logging/__init__.py +2 -0
  128. core/logging/setup.py +34 -6
  129. core/models/resume.py +54 -0
  130. core/plugins/__init__.py +4 -2
  131. core/plugins/base.py +127 -0
  132. core/plugins/collector.py +23 -161
  133. core/plugins/discovery.py +37 -3
  134. core/plugins/factory.py +6 -12
  135. core/plugins/registry.py +5 -17
  136. core/ui/config_widgets.py +128 -28
  137. core/ui/live_modal_renderer.py +2 -1
  138. core/ui/modal_actions.py +5 -0
  139. core/ui/modal_overlay_renderer.py +0 -60
  140. core/ui/modal_renderer.py +268 -7
  141. core/ui/modal_state_manager.py +29 -4
  142. core/ui/widgets/base_widget.py +7 -0
  143. core/updates/__init__.py +10 -0
  144. core/updates/version_check_service.py +348 -0
  145. core/updates/version_comparator.py +103 -0
  146. core/utils/config_utils.py +685 -526
  147. core/utils/plugin_utils.py +1 -1
  148. core/utils/session_naming.py +111 -0
  149. fonts/LICENSE +21 -0
  150. fonts/README.md +46 -0
  151. fonts/SymbolsNerdFont-Regular.ttf +0 -0
  152. fonts/SymbolsNerdFontMono-Regular.ttf +0 -0
  153. fonts/__init__.py +44 -0
  154. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/METADATA +54 -4
  155. kollabor-0.4.15.dist-info/RECORD +228 -0
  156. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/top_level.txt +2 -0
  157. plugins/agent_orchestrator/__init__.py +39 -0
  158. plugins/agent_orchestrator/activity_monitor.py +181 -0
  159. plugins/agent_orchestrator/file_attacher.py +77 -0
  160. plugins/agent_orchestrator/message_injector.py +135 -0
  161. plugins/agent_orchestrator/models.py +48 -0
  162. plugins/agent_orchestrator/orchestrator.py +403 -0
  163. plugins/agent_orchestrator/plugin.py +976 -0
  164. plugins/agent_orchestrator/xml_parser.py +191 -0
  165. plugins/agent_orchestrator_plugin.py +9 -0
  166. plugins/enhanced_input/box_styles.py +1 -0
  167. plugins/enhanced_input/color_engine.py +19 -4
  168. plugins/enhanced_input/config.py +2 -2
  169. plugins/enhanced_input_plugin.py +61 -11
  170. plugins/fullscreen/__init__.py +6 -2
  171. plugins/fullscreen/example_plugin.py +1035 -222
  172. plugins/fullscreen/setup_wizard_plugin.py +592 -0
  173. plugins/fullscreen/space_shooter_plugin.py +131 -0
  174. plugins/hook_monitoring_plugin.py +436 -78
  175. plugins/query_enhancer_plugin.py +66 -30
  176. plugins/resume_conversation_plugin.py +1494 -0
  177. plugins/save_conversation_plugin.py +98 -32
  178. plugins/system_commands_plugin.py +70 -56
  179. plugins/tmux_plugin.py +154 -78
  180. plugins/workflow_enforcement_plugin.py +94 -92
  181. system_prompt/default.md +952 -886
  182. core/io/input_mode_manager.py +0 -402
  183. core/io/modal_interaction_handler.py +0 -315
  184. core/io/raw_input_processor.py +0 -946
  185. core/storage/__init__.py +0 -5
  186. core/storage/state_manager.py +0 -84
  187. core/ui/widget_integration.py +0 -222
  188. core/utils/key_reader.py +0 -171
  189. kollabor-0.4.9.dist-info/RECORD +0 -128
  190. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/WHEEL +0 -0
  191. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/entry_points.txt +0 -0
  192. {kollabor-0.4.9.dist-info → kollabor-0.4.15.dist-info}/licenses/LICENSE +0 -0
@@ -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", "state_manager", "event_bus", "renderer", "config"]
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.9
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
- **Install:** `pip install kollabor`
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
- ### From PyPI
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/malmazan/kollabor-cli.git
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,,
@@ -1,4 +1,6 @@
1
+ agents
1
2
  core
3
+ fonts
2
4
  kollabor_cli_main
3
5
  plugins
4
6
  system_prompt
@@ -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
+ ]