superqode 0.1.5__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.
- superqode/__init__.py +33 -0
- superqode/acp/__init__.py +23 -0
- superqode/acp/client.py +913 -0
- superqode/acp/permission_screen.py +457 -0
- superqode/acp/types.py +480 -0
- superqode/acp_discovery.py +856 -0
- superqode/agent/__init__.py +22 -0
- superqode/agent/edit_strategies.py +334 -0
- superqode/agent/loop.py +892 -0
- superqode/agent/qe_report_templates.py +39 -0
- superqode/agent/system_prompts.py +353 -0
- superqode/agent_output.py +721 -0
- superqode/agent_stream.py +953 -0
- superqode/agents/__init__.py +59 -0
- superqode/agents/acp_registry.py +305 -0
- superqode/agents/client.py +249 -0
- superqode/agents/data/augmentcode.com.toml +51 -0
- superqode/agents/data/cagent.dev.toml +51 -0
- superqode/agents/data/claude.com.toml +60 -0
- superqode/agents/data/codeassistant.dev.toml +51 -0
- superqode/agents/data/codex.openai.com.toml +57 -0
- superqode/agents/data/fastagent.ai.toml +66 -0
- superqode/agents/data/geminicli.com.toml +77 -0
- superqode/agents/data/goose.block.xyz.toml +54 -0
- superqode/agents/data/junie.jetbrains.com.toml +56 -0
- superqode/agents/data/kimi.moonshot.cn.toml +57 -0
- superqode/agents/data/llmlingagent.dev.toml +51 -0
- superqode/agents/data/molt.bot.toml +49 -0
- superqode/agents/data/opencode.ai.toml +60 -0
- superqode/agents/data/stakpak.dev.toml +51 -0
- superqode/agents/data/vtcode.dev.toml +51 -0
- superqode/agents/discovery.py +266 -0
- superqode/agents/messaging.py +160 -0
- superqode/agents/persona.py +166 -0
- superqode/agents/registry.py +421 -0
- superqode/agents/schema.py +72 -0
- superqode/agents/unified.py +367 -0
- superqode/app/__init__.py +111 -0
- superqode/app/constants.py +314 -0
- superqode/app/css.py +366 -0
- superqode/app/models.py +118 -0
- superqode/app/suggester.py +125 -0
- superqode/app/widgets.py +1591 -0
- superqode/app_enhanced.py +399 -0
- superqode/app_main.py +17187 -0
- superqode/approval.py +312 -0
- superqode/atomic.py +296 -0
- superqode/commands/__init__.py +1 -0
- superqode/commands/acp.py +965 -0
- superqode/commands/agents.py +180 -0
- superqode/commands/auth.py +278 -0
- superqode/commands/config.py +374 -0
- superqode/commands/init.py +826 -0
- superqode/commands/providers.py +819 -0
- superqode/commands/qe.py +1145 -0
- superqode/commands/roles.py +380 -0
- superqode/commands/serve.py +172 -0
- superqode/commands/suggestions.py +127 -0
- superqode/commands/superqe.py +460 -0
- superqode/config/__init__.py +51 -0
- superqode/config/loader.py +812 -0
- superqode/config/schema.py +498 -0
- superqode/core/__init__.py +111 -0
- superqode/core/roles.py +281 -0
- superqode/danger.py +386 -0
- superqode/data/superqode-template.yaml +1522 -0
- superqode/design_system.py +1080 -0
- superqode/dialogs/__init__.py +6 -0
- superqode/dialogs/base.py +39 -0
- superqode/dialogs/model.py +130 -0
- superqode/dialogs/provider.py +870 -0
- superqode/diff_view.py +919 -0
- superqode/enterprise.py +21 -0
- superqode/evaluation/__init__.py +25 -0
- superqode/evaluation/adapters.py +93 -0
- superqode/evaluation/behaviors.py +89 -0
- superqode/evaluation/engine.py +209 -0
- superqode/evaluation/scenarios.py +96 -0
- superqode/execution/__init__.py +36 -0
- superqode/execution/linter.py +538 -0
- superqode/execution/modes.py +347 -0
- superqode/execution/resolver.py +283 -0
- superqode/execution/runner.py +642 -0
- superqode/file_explorer.py +811 -0
- superqode/file_viewer.py +471 -0
- superqode/flash.py +183 -0
- superqode/guidance/__init__.py +58 -0
- superqode/guidance/config.py +203 -0
- superqode/guidance/prompts.py +71 -0
- superqode/harness/__init__.py +54 -0
- superqode/harness/accelerator.py +291 -0
- superqode/harness/config.py +319 -0
- superqode/harness/validator.py +147 -0
- superqode/history.py +279 -0
- superqode/integrations/superopt_runner.py +124 -0
- superqode/logging/__init__.py +49 -0
- superqode/logging/adapters.py +219 -0
- superqode/logging/formatter.py +923 -0
- superqode/logging/integration.py +341 -0
- superqode/logging/sinks.py +170 -0
- superqode/logging/unified_log.py +417 -0
- superqode/lsp/__init__.py +26 -0
- superqode/lsp/client.py +544 -0
- superqode/main.py +1069 -0
- superqode/mcp/__init__.py +89 -0
- superqode/mcp/auth_storage.py +380 -0
- superqode/mcp/client.py +1236 -0
- superqode/mcp/config.py +319 -0
- superqode/mcp/integration.py +337 -0
- superqode/mcp/oauth.py +436 -0
- superqode/mcp/oauth_callback.py +385 -0
- superqode/mcp/types.py +290 -0
- superqode/memory/__init__.py +31 -0
- superqode/memory/feedback.py +342 -0
- superqode/memory/store.py +522 -0
- superqode/notifications.py +369 -0
- superqode/optimization/__init__.py +5 -0
- superqode/optimization/config.py +33 -0
- superqode/permissions/__init__.py +25 -0
- superqode/permissions/rules.py +488 -0
- superqode/plan.py +323 -0
- superqode/providers/__init__.py +33 -0
- superqode/providers/gateway/__init__.py +165 -0
- superqode/providers/gateway/base.py +228 -0
- superqode/providers/gateway/litellm_gateway.py +1170 -0
- superqode/providers/gateway/openresponses_gateway.py +436 -0
- superqode/providers/health.py +297 -0
- superqode/providers/huggingface/__init__.py +74 -0
- superqode/providers/huggingface/downloader.py +472 -0
- superqode/providers/huggingface/endpoints.py +442 -0
- superqode/providers/huggingface/hub.py +531 -0
- superqode/providers/huggingface/inference.py +394 -0
- superqode/providers/huggingface/transformers_runner.py +516 -0
- superqode/providers/local/__init__.py +100 -0
- superqode/providers/local/base.py +438 -0
- superqode/providers/local/discovery.py +418 -0
- superqode/providers/local/lmstudio.py +256 -0
- superqode/providers/local/mlx.py +457 -0
- superqode/providers/local/ollama.py +486 -0
- superqode/providers/local/sglang.py +268 -0
- superqode/providers/local/tgi.py +260 -0
- superqode/providers/local/tool_support.py +477 -0
- superqode/providers/local/vllm.py +258 -0
- superqode/providers/manager.py +1338 -0
- superqode/providers/models.py +1016 -0
- superqode/providers/models_dev.py +578 -0
- superqode/providers/openresponses/__init__.py +87 -0
- superqode/providers/openresponses/converters/__init__.py +17 -0
- superqode/providers/openresponses/converters/messages.py +343 -0
- superqode/providers/openresponses/converters/tools.py +268 -0
- superqode/providers/openresponses/schema/__init__.py +56 -0
- superqode/providers/openresponses/schema/models.py +585 -0
- superqode/providers/openresponses/streaming/__init__.py +5 -0
- superqode/providers/openresponses/streaming/parser.py +338 -0
- superqode/providers/openresponses/tools/__init__.py +21 -0
- superqode/providers/openresponses/tools/apply_patch.py +352 -0
- superqode/providers/openresponses/tools/code_interpreter.py +290 -0
- superqode/providers/openresponses/tools/file_search.py +333 -0
- superqode/providers/openresponses/tools/mcp_adapter.py +252 -0
- superqode/providers/registry.py +716 -0
- superqode/providers/usage.py +332 -0
- superqode/pure_mode.py +384 -0
- superqode/qr/__init__.py +23 -0
- superqode/qr/dashboard.py +781 -0
- superqode/qr/generator.py +1018 -0
- superqode/qr/templates.py +135 -0
- superqode/safety/__init__.py +41 -0
- superqode/safety/sandbox.py +413 -0
- superqode/safety/warnings.py +256 -0
- superqode/server/__init__.py +33 -0
- superqode/server/lsp_server.py +775 -0
- superqode/server/web.py +250 -0
- superqode/session/__init__.py +25 -0
- superqode/session/persistence.py +580 -0
- superqode/session/sharing.py +477 -0
- superqode/session.py +475 -0
- superqode/sidebar.py +2991 -0
- superqode/stream_view.py +648 -0
- superqode/styles/__init__.py +3 -0
- superqode/superqe/__init__.py +184 -0
- superqode/superqe/acp_runner.py +1064 -0
- superqode/superqe/constitution/__init__.py +62 -0
- superqode/superqe/constitution/evaluator.py +308 -0
- superqode/superqe/constitution/loader.py +432 -0
- superqode/superqe/constitution/schema.py +250 -0
- superqode/superqe/events.py +591 -0
- superqode/superqe/frameworks/__init__.py +65 -0
- superqode/superqe/frameworks/base.py +234 -0
- superqode/superqe/frameworks/e2e.py +263 -0
- superqode/superqe/frameworks/executor.py +237 -0
- superqode/superqe/frameworks/javascript.py +409 -0
- superqode/superqe/frameworks/python.py +373 -0
- superqode/superqe/frameworks/registry.py +92 -0
- superqode/superqe/mcp_tools/__init__.py +47 -0
- superqode/superqe/mcp_tools/core_tools.py +418 -0
- superqode/superqe/mcp_tools/registry.py +230 -0
- superqode/superqe/mcp_tools/testing_tools.py +167 -0
- superqode/superqe/noise.py +89 -0
- superqode/superqe/orchestrator.py +778 -0
- superqode/superqe/roles.py +609 -0
- superqode/superqe/session.py +713 -0
- superqode/superqe/skills/__init__.py +57 -0
- superqode/superqe/skills/base.py +106 -0
- superqode/superqe/skills/core_skills.py +899 -0
- superqode/superqe/skills/registry.py +90 -0
- superqode/superqe/verifier.py +101 -0
- superqode/superqe_cli.py +76 -0
- superqode/tool_call.py +358 -0
- superqode/tools/__init__.py +93 -0
- superqode/tools/agent_tools.py +496 -0
- superqode/tools/base.py +324 -0
- superqode/tools/batch_tool.py +133 -0
- superqode/tools/diagnostics.py +311 -0
- superqode/tools/edit_tools.py +653 -0
- superqode/tools/enhanced_base.py +515 -0
- superqode/tools/file_tools.py +269 -0
- superqode/tools/file_tracking.py +45 -0
- superqode/tools/lsp_tools.py +610 -0
- superqode/tools/network_tools.py +350 -0
- superqode/tools/permissions.py +400 -0
- superqode/tools/question_tool.py +324 -0
- superqode/tools/search_tools.py +598 -0
- superqode/tools/shell_tools.py +259 -0
- superqode/tools/todo_tools.py +121 -0
- superqode/tools/validation.py +80 -0
- superqode/tools/web_tools.py +639 -0
- superqode/tui.py +1152 -0
- superqode/tui_integration.py +875 -0
- superqode/tui_widgets/__init__.py +27 -0
- superqode/tui_widgets/widgets/__init__.py +18 -0
- superqode/tui_widgets/widgets/progress.py +185 -0
- superqode/tui_widgets/widgets/tool_display.py +188 -0
- superqode/undo_manager.py +574 -0
- superqode/utils/__init__.py +5 -0
- superqode/utils/error_handling.py +323 -0
- superqode/utils/fuzzy.py +257 -0
- superqode/widgets/__init__.py +477 -0
- superqode/widgets/agent_collab.py +390 -0
- superqode/widgets/agent_store.py +936 -0
- superqode/widgets/agent_switcher.py +395 -0
- superqode/widgets/animation_manager.py +284 -0
- superqode/widgets/code_context.py +356 -0
- superqode/widgets/command_palette.py +412 -0
- superqode/widgets/connection_status.py +537 -0
- superqode/widgets/conversation_history.py +470 -0
- superqode/widgets/diff_indicator.py +155 -0
- superqode/widgets/enhanced_status_bar.py +385 -0
- superqode/widgets/enhanced_toast.py +476 -0
- superqode/widgets/file_browser.py +809 -0
- superqode/widgets/file_reference.py +585 -0
- superqode/widgets/issue_timeline.py +340 -0
- superqode/widgets/leader_key.py +264 -0
- superqode/widgets/mode_switcher.py +445 -0
- superqode/widgets/model_picker.py +234 -0
- superqode/widgets/permission_preview.py +1205 -0
- superqode/widgets/prompt.py +358 -0
- superqode/widgets/provider_connect.py +725 -0
- superqode/widgets/pty_shell.py +587 -0
- superqode/widgets/qe_dashboard.py +321 -0
- superqode/widgets/resizable_sidebar.py +377 -0
- superqode/widgets/response_changes.py +218 -0
- superqode/widgets/response_display.py +528 -0
- superqode/widgets/rich_tool_display.py +613 -0
- superqode/widgets/sidebar_panels.py +1180 -0
- superqode/widgets/slash_complete.py +356 -0
- superqode/widgets/split_view.py +612 -0
- superqode/widgets/status_bar.py +273 -0
- superqode/widgets/superqode_display.py +786 -0
- superqode/widgets/thinking_display.py +815 -0
- superqode/widgets/throbber.py +87 -0
- superqode/widgets/toast.py +206 -0
- superqode/widgets/unified_output.py +1073 -0
- superqode/workspace/__init__.py +75 -0
- superqode/workspace/artifacts.py +472 -0
- superqode/workspace/coordinator.py +353 -0
- superqode/workspace/diff_tracker.py +429 -0
- superqode/workspace/git_guard.py +373 -0
- superqode/workspace/git_snapshot.py +526 -0
- superqode/workspace/manager.py +750 -0
- superqode/workspace/snapshot.py +357 -0
- superqode/workspace/watcher.py +535 -0
- superqode/workspace/worktree.py +440 -0
- superqode-0.1.5.dist-info/METADATA +204 -0
- superqode-0.1.5.dist-info/RECORD +288 -0
- superqode-0.1.5.dist-info/WHEEL +5 -0
- superqode-0.1.5.dist-info/entry_points.txt +3 -0
- superqode-0.1.5.dist-info/licenses/LICENSE +648 -0
- superqode-0.1.5.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,477 @@
|
|
|
1
|
+
"""SuperQode Textual widgets.
|
|
2
|
+
|
|
3
|
+
Core widgets are imported directly. QE-specific and advanced widgets
|
|
4
|
+
are available via lazy imports for performance.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from superqode.widgets.status_bar import StatusBar
|
|
8
|
+
from superqode.widgets.slash_complete import SlashComplete
|
|
9
|
+
from superqode.widgets.prompt import SmartPrompt
|
|
10
|
+
from superqode.widgets.command_palette import CommandPalette
|
|
11
|
+
from superqode.widgets.agent_switcher import AgentSwitcher
|
|
12
|
+
from superqode.widgets.throbber import Throbber
|
|
13
|
+
from superqode.widgets.toast import Toast, ToastContainer
|
|
14
|
+
|
|
15
|
+
# Core widgets (always imported)
|
|
16
|
+
__all__ = [
|
|
17
|
+
# Core widgets
|
|
18
|
+
"StatusBar",
|
|
19
|
+
"SlashComplete",
|
|
20
|
+
"SmartPrompt",
|
|
21
|
+
"CommandPalette",
|
|
22
|
+
"AgentSwitcher",
|
|
23
|
+
"Throbber",
|
|
24
|
+
"Toast",
|
|
25
|
+
"ToastContainer",
|
|
26
|
+
# QE widgets (lazy loaded)
|
|
27
|
+
"get_qe_dashboard",
|
|
28
|
+
"get_agent_collab",
|
|
29
|
+
"get_issue_timeline",
|
|
30
|
+
"get_code_context",
|
|
31
|
+
"get_animation_manager",
|
|
32
|
+
# Advanced widgets (lazy loaded)
|
|
33
|
+
"get_pty_shell",
|
|
34
|
+
"get_permission_preview",
|
|
35
|
+
"get_enhanced_toast",
|
|
36
|
+
"get_mode_switcher",
|
|
37
|
+
# TUI Enhancement widgets (lazy loaded)
|
|
38
|
+
"get_rich_tool_display",
|
|
39
|
+
"get_thinking_display",
|
|
40
|
+
"get_response_display",
|
|
41
|
+
"get_connection_status",
|
|
42
|
+
"get_conversation_history",
|
|
43
|
+
"get_enhanced_status_bar",
|
|
44
|
+
# SuperQode unique widgets (lazy loaded)
|
|
45
|
+
"get_superqode_display",
|
|
46
|
+
"get_split_view",
|
|
47
|
+
"get_resizable_sidebar",
|
|
48
|
+
"get_sidebar_panels",
|
|
49
|
+
"get_file_reference",
|
|
50
|
+
"get_leader_key",
|
|
51
|
+
# Unified output display (recommended for new code)
|
|
52
|
+
"get_unified_output",
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
# Lazy loaders for QE widgets (avoid import overhead until needed)
|
|
57
|
+
def get_qe_dashboard():
|
|
58
|
+
"""Lazy load the QE Dashboard widget."""
|
|
59
|
+
from superqode.widgets.qe_dashboard import QEDashboard, QualityMetric
|
|
60
|
+
|
|
61
|
+
return QEDashboard, QualityMetric
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def get_agent_collab():
|
|
65
|
+
"""Lazy load the Agent Collaboration view widget."""
|
|
66
|
+
from superqode.widgets.agent_collab import AgentCollabView, AgentNode, AgentState
|
|
67
|
+
|
|
68
|
+
return AgentCollabView, AgentNode, AgentState
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def get_issue_timeline():
|
|
72
|
+
"""Lazy load the Issue Timeline widget."""
|
|
73
|
+
from superqode.widgets.issue_timeline import (
|
|
74
|
+
IssueTimeline,
|
|
75
|
+
CompactIssueTimeline,
|
|
76
|
+
DiscoveredIssue,
|
|
77
|
+
IssueSeverity,
|
|
78
|
+
IssueCategory,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
return IssueTimeline, CompactIssueTimeline, DiscoveredIssue, IssueSeverity, IssueCategory
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def get_code_context():
|
|
85
|
+
"""Lazy load the Code Context viewer widget."""
|
|
86
|
+
from superqode.widgets.code_context import (
|
|
87
|
+
CodeContextViewer,
|
|
88
|
+
CompactCodeContext,
|
|
89
|
+
CodeContext,
|
|
90
|
+
CodeLine,
|
|
91
|
+
LineType,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
return CodeContextViewer, CompactCodeContext, CodeContext, CodeLine, LineType
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def get_animation_manager():
|
|
98
|
+
"""Lazy load the Animation Manager."""
|
|
99
|
+
from superqode.widgets.animation_manager import (
|
|
100
|
+
AnimationManager,
|
|
101
|
+
AnimationConfig,
|
|
102
|
+
AnimatedWidget,
|
|
103
|
+
ThrottledRefreshMixin,
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
return AnimationManager, AnimationConfig, AnimatedWidget, ThrottledRefreshMixin
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def get_pty_shell():
|
|
110
|
+
"""Lazy load the PTY Shell widget."""
|
|
111
|
+
from superqode.widgets.pty_shell import (
|
|
112
|
+
PTYShell,
|
|
113
|
+
PTYShellWidget,
|
|
114
|
+
ShellManager,
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
return PTYShell, PTYShellWidget, ShellManager
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def get_permission_preview():
|
|
121
|
+
"""Lazy load the Permission Preview widget."""
|
|
122
|
+
from superqode.widgets.permission_preview import (
|
|
123
|
+
PermissionPreview,
|
|
124
|
+
PermissionPreviewScreen,
|
|
125
|
+
PermissionContext,
|
|
126
|
+
PreviewType,
|
|
127
|
+
create_file_write_preview,
|
|
128
|
+
create_command_preview,
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
return (
|
|
132
|
+
PermissionPreview,
|
|
133
|
+
PermissionPreviewScreen,
|
|
134
|
+
PermissionContext,
|
|
135
|
+
PreviewType,
|
|
136
|
+
create_file_write_preview,
|
|
137
|
+
create_command_preview,
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def get_enhanced_toast():
|
|
142
|
+
"""Lazy load the Enhanced Toast system."""
|
|
143
|
+
from superqode.widgets.enhanced_toast import (
|
|
144
|
+
ToastType,
|
|
145
|
+
ToastConfig,
|
|
146
|
+
ToastWidget,
|
|
147
|
+
ToastContainer as EnhancedToastContainer,
|
|
148
|
+
toast_success,
|
|
149
|
+
toast_warning,
|
|
150
|
+
toast_error,
|
|
151
|
+
toast_info,
|
|
152
|
+
toast_progress,
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
return (
|
|
156
|
+
ToastType,
|
|
157
|
+
ToastConfig,
|
|
158
|
+
ToastWidget,
|
|
159
|
+
EnhancedToastContainer,
|
|
160
|
+
toast_success,
|
|
161
|
+
toast_warning,
|
|
162
|
+
toast_error,
|
|
163
|
+
toast_info,
|
|
164
|
+
toast_progress,
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
def get_mode_switcher():
|
|
169
|
+
"""Lazy load the Mode Switcher widget."""
|
|
170
|
+
from superqode.widgets.mode_switcher import (
|
|
171
|
+
AppMode,
|
|
172
|
+
ModeSwitcher,
|
|
173
|
+
ModeIndicator,
|
|
174
|
+
ModeTransition,
|
|
175
|
+
MODES,
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
return AppMode, ModeSwitcher, ModeIndicator, ModeTransition, MODES
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
def get_rich_tool_display():
|
|
182
|
+
"""Lazy load the Rich Tool Display widgets."""
|
|
183
|
+
from superqode.widgets.rich_tool_display import (
|
|
184
|
+
ToolCallPanel,
|
|
185
|
+
SingleToolDisplay,
|
|
186
|
+
ToolCallData,
|
|
187
|
+
ToolKind,
|
|
188
|
+
ToolState,
|
|
189
|
+
CompactToolIndicator,
|
|
190
|
+
create_file_read_tool,
|
|
191
|
+
create_file_write_tool,
|
|
192
|
+
create_shell_tool,
|
|
193
|
+
create_search_tool,
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
return (
|
|
197
|
+
ToolCallPanel,
|
|
198
|
+
SingleToolDisplay,
|
|
199
|
+
ToolCallData,
|
|
200
|
+
ToolKind,
|
|
201
|
+
ToolState,
|
|
202
|
+
CompactToolIndicator,
|
|
203
|
+
create_file_read_tool,
|
|
204
|
+
create_file_write_tool,
|
|
205
|
+
create_shell_tool,
|
|
206
|
+
create_search_tool,
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def get_thinking_display():
|
|
211
|
+
"""Lazy load the Thinking Display widgets."""
|
|
212
|
+
from superqode.widgets.thinking_display import (
|
|
213
|
+
ThinkingPanel,
|
|
214
|
+
ExtendedThinkingPanel,
|
|
215
|
+
ThinkingIndicator,
|
|
216
|
+
ThoughtChunk,
|
|
217
|
+
ThoughtType,
|
|
218
|
+
UnifiedThinkingManager,
|
|
219
|
+
ThinkingSource,
|
|
220
|
+
ThinkingStats,
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
return (
|
|
224
|
+
ThinkingPanel,
|
|
225
|
+
ExtendedThinkingPanel,
|
|
226
|
+
ThinkingIndicator,
|
|
227
|
+
ThoughtChunk,
|
|
228
|
+
ThoughtType,
|
|
229
|
+
UnifiedThinkingManager,
|
|
230
|
+
ThinkingSource,
|
|
231
|
+
ThinkingStats,
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
def get_response_display():
|
|
236
|
+
"""Lazy load the Response Display widgets."""
|
|
237
|
+
from superqode.widgets.response_display import (
|
|
238
|
+
ResponseDisplay,
|
|
239
|
+
StreamingText,
|
|
240
|
+
CodeBlockWidget,
|
|
241
|
+
ParsedResponse,
|
|
242
|
+
ResponseState,
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
return ResponseDisplay, StreamingText, CodeBlockWidget, ParsedResponse, ResponseState
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
def get_connection_status():
|
|
249
|
+
"""Lazy load the Connection Status widgets."""
|
|
250
|
+
from superqode.widgets.connection_status import (
|
|
251
|
+
ConnectionIndicator,
|
|
252
|
+
ConnectionPanel,
|
|
253
|
+
ModelSelector,
|
|
254
|
+
ConnectionInfo,
|
|
255
|
+
ConnectionType,
|
|
256
|
+
ConnectionState,
|
|
257
|
+
TokenUsage,
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
return (
|
|
261
|
+
ConnectionIndicator,
|
|
262
|
+
ConnectionPanel,
|
|
263
|
+
ModelSelector,
|
|
264
|
+
ConnectionInfo,
|
|
265
|
+
ConnectionType,
|
|
266
|
+
ConnectionState,
|
|
267
|
+
TokenUsage,
|
|
268
|
+
)
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
def get_conversation_history():
|
|
272
|
+
"""Lazy load the Conversation History widgets."""
|
|
273
|
+
from superqode.widgets.conversation_history import (
|
|
274
|
+
ConversationTimeline,
|
|
275
|
+
MessageDetail,
|
|
276
|
+
ConversationNavigator,
|
|
277
|
+
HistoryMessage,
|
|
278
|
+
MessageType,
|
|
279
|
+
)
|
|
280
|
+
|
|
281
|
+
return ConversationTimeline, MessageDetail, ConversationNavigator, HistoryMessage, MessageType
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
def get_enhanced_status_bar():
|
|
285
|
+
"""Lazy load the Enhanced Status Bar."""
|
|
286
|
+
from superqode.widgets.enhanced_status_bar import (
|
|
287
|
+
EnhancedStatusBar,
|
|
288
|
+
MiniStatusIndicator,
|
|
289
|
+
StatusBarState,
|
|
290
|
+
AgentStatus,
|
|
291
|
+
create_default_status_bar,
|
|
292
|
+
)
|
|
293
|
+
|
|
294
|
+
return (
|
|
295
|
+
EnhancedStatusBar,
|
|
296
|
+
MiniStatusIndicator,
|
|
297
|
+
StatusBarState,
|
|
298
|
+
AgentStatus,
|
|
299
|
+
create_default_status_bar,
|
|
300
|
+
)
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
def get_superqode_display():
|
|
304
|
+
"""Lazy load the SuperQode Display widgets (unique design system)."""
|
|
305
|
+
from superqode.widgets.superqode_display import (
|
|
306
|
+
EnhancedStatusHeader,
|
|
307
|
+
EnhancedToolPanel,
|
|
308
|
+
EnhancedThinkingBar,
|
|
309
|
+
ToolStatus,
|
|
310
|
+
AgentState,
|
|
311
|
+
ToolCallInfo,
|
|
312
|
+
SessionStats,
|
|
313
|
+
show_agent_header,
|
|
314
|
+
show_tool_call,
|
|
315
|
+
show_thinking,
|
|
316
|
+
show_response,
|
|
317
|
+
show_completion_summary,
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
return (
|
|
321
|
+
EnhancedStatusHeader,
|
|
322
|
+
EnhancedToolPanel,
|
|
323
|
+
EnhancedThinkingBar,
|
|
324
|
+
ToolStatus,
|
|
325
|
+
AgentState,
|
|
326
|
+
ToolCallInfo,
|
|
327
|
+
SessionStats,
|
|
328
|
+
show_agent_header,
|
|
329
|
+
show_tool_call,
|
|
330
|
+
show_thinking,
|
|
331
|
+
show_response,
|
|
332
|
+
show_completion_summary,
|
|
333
|
+
)
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
def get_split_view():
|
|
337
|
+
"""Lazy load the Split View widget."""
|
|
338
|
+
from superqode.widgets.split_view import (
|
|
339
|
+
SplitView,
|
|
340
|
+
CodeViewer,
|
|
341
|
+
TabBar,
|
|
342
|
+
FileTab,
|
|
343
|
+
SplitDivider,
|
|
344
|
+
)
|
|
345
|
+
|
|
346
|
+
return SplitView, CodeViewer, TabBar, FileTab, SplitDivider
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
def get_resizable_sidebar():
|
|
350
|
+
"""Lazy load the Resizable Sidebar components."""
|
|
351
|
+
from superqode.widgets.resizable_sidebar import (
|
|
352
|
+
ResizableDivider,
|
|
353
|
+
ResizableSidebarContainer,
|
|
354
|
+
SidebarTabBar,
|
|
355
|
+
)
|
|
356
|
+
|
|
357
|
+
return ResizableDivider, ResizableSidebarContainer, SidebarTabBar
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
def get_sidebar_panels():
|
|
361
|
+
"""Lazy load the Sidebar Panel widgets."""
|
|
362
|
+
from superqode.widgets.sidebar_panels import (
|
|
363
|
+
AgentPanel,
|
|
364
|
+
ContextPanel,
|
|
365
|
+
TerminalPanel,
|
|
366
|
+
DiffPanel,
|
|
367
|
+
HistoryPanel,
|
|
368
|
+
AgentInfo,
|
|
369
|
+
ContextFile,
|
|
370
|
+
FileDiff,
|
|
371
|
+
HistoryMessage,
|
|
372
|
+
)
|
|
373
|
+
|
|
374
|
+
return (
|
|
375
|
+
AgentPanel,
|
|
376
|
+
ContextPanel,
|
|
377
|
+
TerminalPanel,
|
|
378
|
+
DiffPanel,
|
|
379
|
+
HistoryPanel,
|
|
380
|
+
AgentInfo,
|
|
381
|
+
ContextFile,
|
|
382
|
+
FileDiff,
|
|
383
|
+
HistoryMessage,
|
|
384
|
+
)
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
def get_file_reference():
|
|
388
|
+
"""Lazy load the File Reference widgets."""
|
|
389
|
+
from superqode.widgets.file_reference import (
|
|
390
|
+
FileAutocomplete,
|
|
391
|
+
FileReferenceInput,
|
|
392
|
+
FileScanner,
|
|
393
|
+
parse_file_references,
|
|
394
|
+
expand_file_references,
|
|
395
|
+
format_file_context,
|
|
396
|
+
)
|
|
397
|
+
|
|
398
|
+
return (
|
|
399
|
+
FileAutocomplete,
|
|
400
|
+
FileReferenceInput,
|
|
401
|
+
FileScanner,
|
|
402
|
+
parse_file_references,
|
|
403
|
+
expand_file_references,
|
|
404
|
+
format_file_context,
|
|
405
|
+
)
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
def get_leader_key():
|
|
409
|
+
"""Lazy load the Leader Key widgets."""
|
|
410
|
+
from superqode.widgets.leader_key import (
|
|
411
|
+
LeaderKeyPopup,
|
|
412
|
+
LeaderKeyMixin,
|
|
413
|
+
LEADER_KEYS,
|
|
414
|
+
)
|
|
415
|
+
|
|
416
|
+
return LeaderKeyPopup, LeaderKeyMixin, LEADER_KEYS
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
def get_unified_output():
|
|
420
|
+
"""
|
|
421
|
+
Lazy load the Unified Output Display.
|
|
422
|
+
|
|
423
|
+
This is the recommended widget for displaying agent output.
|
|
424
|
+
It works consistently across BYOK, ACP, and Local modes,
|
|
425
|
+
and supports copy to clipboard.
|
|
426
|
+
|
|
427
|
+
Usage:
|
|
428
|
+
(
|
|
429
|
+
UnifiedOutputDisplay,
|
|
430
|
+
ThinkingSection,
|
|
431
|
+
ResponseSection,
|
|
432
|
+
OutputMode,
|
|
433
|
+
OutputStats,
|
|
434
|
+
copy_to_clipboard,
|
|
435
|
+
) = get_unified_output()
|
|
436
|
+
|
|
437
|
+
# In your app
|
|
438
|
+
output = UnifiedOutputDisplay(mode=OutputMode.BYOK)
|
|
439
|
+
output.set_agent_info("Claude", "claude-3-opus")
|
|
440
|
+
output.start_session()
|
|
441
|
+
|
|
442
|
+
# Handle streaming
|
|
443
|
+
output.start_thinking()
|
|
444
|
+
output.append_thinking("Analyzing the code...")
|
|
445
|
+
output.complete_thinking()
|
|
446
|
+
|
|
447
|
+
output.start_response()
|
|
448
|
+
output.append_response("Here's what I found...")
|
|
449
|
+
output.complete_response(prompt_tokens=100, completion_tokens=500)
|
|
450
|
+
"""
|
|
451
|
+
from superqode.widgets.unified_output import (
|
|
452
|
+
UnifiedOutputDisplay,
|
|
453
|
+
ThinkingSection,
|
|
454
|
+
ResponseSection,
|
|
455
|
+
OutputMode,
|
|
456
|
+
OutputState,
|
|
457
|
+
OutputStats,
|
|
458
|
+
ThinkingEntry,
|
|
459
|
+
Theme,
|
|
460
|
+
CopyRequested,
|
|
461
|
+
CopyComplete,
|
|
462
|
+
copy_to_clipboard,
|
|
463
|
+
)
|
|
464
|
+
|
|
465
|
+
return (
|
|
466
|
+
UnifiedOutputDisplay,
|
|
467
|
+
ThinkingSection,
|
|
468
|
+
ResponseSection,
|
|
469
|
+
OutputMode,
|
|
470
|
+
OutputState,
|
|
471
|
+
OutputStats,
|
|
472
|
+
ThinkingEntry,
|
|
473
|
+
Theme,
|
|
474
|
+
CopyRequested,
|
|
475
|
+
CopyComplete,
|
|
476
|
+
copy_to_clipboard,
|
|
477
|
+
)
|