claude-code-workflow 6.3.18 → 6.3.20
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.
- package/.claude/CLAUDE.md +8 -5
- package/.claude/agents/action-planning-agent.md +26 -2
- package/.claude/agents/code-developer.md +132 -43
- package/.claude/agents/debug-explore-agent.md +434 -0
- package/.claude/agents/issue-plan-agent.md +31 -2
- package/.claude/agents/test-fix-agent.md +14 -0
- package/.claude/commands/issue/discover.md +41 -0
- package/.claude/commands/issue/execute.md +200 -19
- package/.claude/commands/issue/new.md +93 -3
- package/.claude/commands/issue/plan.md +9 -3
- package/.claude/commands/issue/queue.md +94 -39
- package/.claude/commands/memory/swagger-docs.md +773 -0
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +21 -21
- package/.claude/commands/workflow/execute.md +54 -34
- package/.claude/commands/workflow/lite-execute.md +48 -164
- package/.claude/commands/workflow/lite-fix.md +4 -4
- package/.claude/commands/workflow/lite-plan.md +5 -5
- package/.claude/commands/workflow/plan.md +27 -27
- package/.claude/commands/workflow/review.md +42 -17
- package/.claude/commands/workflow/tdd-plan.md +25 -25
- package/.claude/commands/workflow/test-fix-gen.md +10 -10
- package/.claude/commands/workflow/test-gen.md +14 -14
- package/.claude/commands/workflow/ui-design/explore-auto.md +21 -21
- package/.claude/commands/workflow/ui-design/imitate-auto.md +24 -24
- package/.claude/skills/_shared/SKILL-DESIGN-SPEC.md +693 -0
- package/.claude/skills/ccw/SKILL.md +462 -0
- package/.claude/skills/ccw/index/command-capabilities.json +127 -0
- package/.claude/skills/ccw/index/intent-rules.json +136 -0
- package/.claude/skills/ccw/index/workflow-chains.json +451 -0
- package/.claude/skills/ccw/phases/actions/bugfix.md +218 -0
- package/.claude/skills/ccw/phases/actions/coupled.md +194 -0
- package/.claude/skills/ccw/phases/actions/docs.md +93 -0
- package/.claude/skills/ccw/phases/actions/full.md +154 -0
- package/.claude/skills/ccw/phases/actions/issue.md +201 -0
- package/.claude/skills/ccw/phases/actions/rapid.md +104 -0
- package/.claude/skills/ccw/phases/actions/review-fix.md +84 -0
- package/.claude/skills/ccw/phases/actions/tdd.md +66 -0
- package/.claude/skills/ccw/phases/actions/ui.md +79 -0
- package/.claude/skills/ccw/phases/orchestrator.md +435 -0
- package/.claude/skills/ccw/specs/intent-classification.md +336 -0
- package/.claude/skills/ccw-help/SKILL.md +177 -0
- package/.claude/skills/ccw-help/index/all-agents.json +82 -0
- package/.claude/skills/{command-guide → ccw-help}/index/all-commands.json +183 -73
- package/.claude/skills/{command-guide → ccw-help}/index/by-category.json +187 -73
- package/.claude/skills/{command-guide → ccw-help}/index/by-use-case.json +295 -185
- package/.claude/skills/{command-guide → ccw-help}/index/command-relationships.json +19 -166
- package/.claude/skills/{command-guide → ccw-help}/index/essential-commands.json +10 -10
- package/.claude/skills/ccw-help/scripts/analyze_commands.py +337 -0
- package/.claude/skills/code-reviewer/README.md +340 -0
- package/.claude/skills/code-reviewer/SKILL.md +308 -0
- package/.claude/skills/code-reviewer/phases/01-code-discovery.md +246 -0
- package/.claude/skills/code-reviewer/phases/02-security-analysis.md +442 -0
- package/.claude/skills/code-reviewer/phases/03-best-practices-review.md +36 -0
- package/.claude/skills/code-reviewer/phases/04-report-generation.md +278 -0
- package/.claude/skills/code-reviewer/specs/best-practices-requirements.md +346 -0
- package/.claude/skills/code-reviewer/specs/quality-standards.md +252 -0
- package/.claude/skills/code-reviewer/specs/security-requirements.md +243 -0
- package/.claude/skills/code-reviewer/templates/best-practice-finding.md +234 -0
- package/.claude/skills/code-reviewer/templates/report-template.md +316 -0
- package/.claude/skills/code-reviewer/templates/security-finding.md +161 -0
- package/.claude/skills/skill-generator/SKILL.md +187 -0
- package/.claude/skills/skill-generator/phases/01-requirements-discovery.md +239 -0
- package/.claude/skills/skill-generator/phases/02-structure-generation.md +207 -0
- package/.claude/skills/skill-generator/phases/03-phase-generation.md +802 -0
- package/.claude/skills/skill-generator/phases/04-specs-templates.md +328 -0
- package/.claude/skills/skill-generator/phases/05-validation.md +334 -0
- package/.claude/skills/skill-generator/specs/cli-integration.md +448 -0
- package/.claude/skills/skill-generator/specs/execution-modes.md +396 -0
- package/.claude/skills/skill-generator/specs/scripting-integration.md +265 -0
- package/.claude/skills/skill-generator/specs/skill-requirements.md +466 -0
- package/.claude/skills/skill-generator/templates/autonomous-action.md +517 -0
- package/.claude/skills/skill-generator/templates/autonomous-orchestrator.md +276 -0
- package/.claude/skills/skill-generator/templates/code-analysis-action.md +503 -0
- package/.claude/skills/skill-generator/templates/llm-action.md +355 -0
- package/.claude/skills/skill-generator/templates/script-bash.md +277 -0
- package/.claude/skills/skill-generator/templates/script-python.md +198 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +441 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +156 -0
- package/.claude/workflows/chinese-response.md +15 -28
- package/.claude/workflows/cli-templates/prompts/documentation/swagger-api.txt +266 -0
- package/.claude/workflows/cli-tools-usage.md +221 -177
- package/.claude/workflows/windows-platform.md +13 -10
- package/.codex/prompts/issue-execute.md +310 -82
- package/.codex/prompts/issue-queue.md +22 -0
- package/.codex/prompts/lite-execute.md +36 -11
- package/README.md +309 -305
- package/ccw/README.md +10 -4
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +4 -1
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/cli.d.ts.map +1 -1
- package/ccw/dist/commands/cli.js +131 -34
- package/ccw/dist/commands/cli.js.map +1 -1
- package/ccw/dist/commands/issue.d.ts +152 -0
- package/ccw/dist/commands/issue.d.ts.map +1 -1
- package/ccw/dist/commands/issue.js +550 -85
- package/ccw/dist/commands/issue.js.map +1 -1
- package/ccw/dist/commands/serve.d.ts +1 -0
- package/ccw/dist/commands/serve.d.ts.map +1 -1
- package/ccw/dist/commands/serve.js +12 -5
- package/ccw/dist/commands/serve.js.map +1 -1
- package/ccw/dist/commands/stop.d.ts.map +1 -1
- package/ccw/dist/commands/stop.js +29 -5
- package/ccw/dist/commands/stop.js.map +1 -1
- package/ccw/dist/commands/tool.d.ts.map +1 -1
- package/ccw/dist/commands/tool.js +19 -2
- package/ccw/dist/commands/tool.js.map +1 -1
- package/ccw/dist/commands/view.d.ts +1 -0
- package/ccw/dist/commands/view.d.ts.map +1 -1
- package/ccw/dist/commands/view.js +10 -3
- package/ccw/dist/commands/view.js.map +1 -1
- package/ccw/dist/config/cli-settings-manager.d.ts +86 -0
- package/ccw/dist/config/cli-settings-manager.d.ts.map +1 -0
- package/ccw/dist/config/cli-settings-manager.js +392 -0
- package/ccw/dist/config/cli-settings-manager.js.map +1 -0
- package/ccw/dist/config/litellm-api-config-manager.d.ts +71 -5
- package/ccw/dist/config/litellm-api-config-manager.d.ts.map +1 -1
- package/ccw/dist/config/litellm-api-config-manager.js +290 -20
- package/ccw/dist/config/litellm-api-config-manager.js.map +1 -1
- package/ccw/dist/core/auth/csrf-manager.d.ts +18 -0
- package/ccw/dist/core/auth/csrf-manager.d.ts.map +1 -0
- package/ccw/dist/core/auth/csrf-manager.js +80 -0
- package/ccw/dist/core/auth/csrf-manager.js.map +1 -0
- package/ccw/dist/core/auth/csrf-middleware.d.ts +8 -0
- package/ccw/dist/core/auth/csrf-middleware.d.ts.map +1 -0
- package/ccw/dist/core/auth/csrf-middleware.js +141 -0
- package/ccw/dist/core/auth/csrf-middleware.js.map +1 -0
- package/ccw/dist/core/auth/middleware.d.ts +15 -0
- package/ccw/dist/core/auth/middleware.d.ts.map +1 -0
- package/ccw/dist/core/auth/middleware.js +76 -0
- package/ccw/dist/core/auth/middleware.js.map +1 -0
- package/ccw/dist/core/auth/token-manager.d.ts +41 -0
- package/ccw/dist/core/auth/token-manager.d.ts.map +1 -0
- package/ccw/dist/core/auth/token-manager.js +171 -0
- package/ccw/dist/core/auth/token-manager.js.map +1 -0
- package/ccw/dist/core/cache-manager.d.ts +6 -6
- package/ccw/dist/core/cache-manager.d.ts.map +1 -1
- package/ccw/dist/core/cache-manager.js +70 -48
- package/ccw/dist/core/cache-manager.js.map +1 -1
- package/ccw/dist/core/claude-freshness.d.ts.map +1 -1
- package/ccw/dist/core/claude-freshness.js +23 -3
- package/ccw/dist/core/claude-freshness.js.map +1 -1
- package/ccw/dist/core/core-memory-store.d.ts.map +1 -1
- package/ccw/dist/core/core-memory-store.js +2 -1
- package/ccw/dist/core/core-memory-store.js.map +1 -1
- package/ccw/dist/core/cors.d.ts +3 -0
- package/ccw/dist/core/cors.d.ts.map +1 -0
- package/ccw/dist/core/cors.js +10 -0
- package/ccw/dist/core/cors.js.map +1 -0
- package/ccw/dist/core/dashboard-generator-patch.js +0 -1
- package/ccw/dist/core/dashboard-generator-patch.js.map +1 -1
- package/ccw/dist/core/dashboard-generator.d.ts.map +1 -1
- package/ccw/dist/core/dashboard-generator.js +417 -416
- package/ccw/dist/core/dashboard-generator.js.map +1 -1
- package/ccw/dist/core/data-aggregator.js +2 -2
- package/ccw/dist/core/data-aggregator.js.map +1 -1
- package/ccw/dist/core/lite-scanner.d.ts +1 -1
- package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
- package/ccw/dist/core/lite-scanner.js +130 -127
- package/ccw/dist/core/lite-scanner.js.map +1 -1
- package/ccw/dist/core/routes/auth-routes.d.ts +12 -0
- package/ccw/dist/core/routes/auth-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/auth-routes.js +80 -0
- package/ccw/dist/core/routes/auth-routes.js.map +1 -0
- package/ccw/dist/core/routes/ccw-routes.d.ts +1 -14
- package/ccw/dist/core/routes/ccw-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/ccw-routes.js +9 -4
- package/ccw/dist/core/routes/ccw-routes.js.map +1 -1
- package/ccw/dist/core/routes/claude-routes.d.ts +1 -14
- package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/claude-routes.js +98 -39
- package/ccw/dist/core/routes/claude-routes.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts +14 -12
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +122 -43
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/cli-settings-routes.d.ts +11 -0
- package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/cli-settings-routes.js +204 -0
- package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.d.ts +6 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.js +1195 -0
- package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.d.ts +10 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.js +322 -0
- package/ccw/dist/core/routes/codexlens/index-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts +6 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.js +865 -0
- package/ccw/dist/core/routes/codexlens/semantic-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/utils.d.ts +23 -0
- package/ccw/dist/core/routes/codexlens/utils.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/utils.js +85 -0
- package/ccw/dist/core/routes/codexlens/utils.js.map +1 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.d.ts +13 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.d.ts.map +1 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.js +235 -0
- package/ccw/dist/core/routes/codexlens/watcher-handlers.js.map +1 -0
- package/ccw/dist/core/routes/codexlens-routes.d.ts +2 -11
- package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.js +10 -981
- package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
- package/ccw/dist/core/routes/discovery-routes.d.ts +1 -35
- package/ccw/dist/core/routes/discovery-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/discovery-routes.js +25 -0
- package/ccw/dist/core/routes/discovery-routes.js.map +1 -1
- package/ccw/dist/core/routes/files-routes.d.ts +1 -14
- package/ccw/dist/core/routes/files-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/files-routes.js +57 -14
- package/ccw/dist/core/routes/files-routes.js.map +1 -1
- package/ccw/dist/core/routes/graph-routes.d.ts +1 -14
- package/ccw/dist/core/routes/graph-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/graph-routes.js +36 -37
- package/ccw/dist/core/routes/graph-routes.js.map +1 -1
- package/ccw/dist/core/routes/help-routes.d.ts +1 -14
- package/ccw/dist/core/routes/help-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/help-routes.js +5 -0
- package/ccw/dist/core/routes/help-routes.js.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.d.ts +4 -14
- package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/hooks-routes.js +43 -21
- package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
- package/ccw/dist/core/routes/issue-routes.d.ts +1 -34
- package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/issue-routes.js +24 -0
- package/ccw/dist/core/routes/issue-routes.js.map +1 -1
- package/ccw/dist/core/routes/litellm-api-routes.d.ts +1 -14
- package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/litellm-api-routes.js +513 -48
- package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -1
- package/ccw/dist/core/routes/litellm-routes.d.ts +1 -14
- package/ccw/dist/core/routes/litellm-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/litellm-routes.js +28 -11
- package/ccw/dist/core/routes/litellm-routes.js.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.d.ts +1 -14
- package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/mcp-routes.js +99 -30
- package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
- package/ccw/dist/core/routes/mcp-templates-db.d.ts.map +1 -1
- package/ccw/dist/core/routes/mcp-templates-db.js +30 -31
- package/ccw/dist/core/routes/mcp-templates-db.js.map +1 -1
- package/ccw/dist/core/routes/memory-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/memory-routes.js +74 -24
- package/ccw/dist/core/routes/memory-routes.js.map +1 -1
- package/ccw/dist/core/routes/nav-status-routes.d.ts +3 -0
- package/ccw/dist/core/routes/nav-status-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/nav-status-routes.js +217 -0
- package/ccw/dist/core/routes/nav-status-routes.js.map +1 -0
- package/ccw/dist/core/routes/rules-routes.d.ts +1 -14
- package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/rules-routes.js +481 -58
- package/ccw/dist/core/routes/rules-routes.js.map +1 -1
- package/ccw/dist/core/routes/session-routes.d.ts +1 -14
- package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/session-routes.js +15 -3
- package/ccw/dist/core/routes/session-routes.js.map +1 -1
- package/ccw/dist/core/routes/skills-routes.d.ts +1 -14
- package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/skills-routes.js +394 -112
- package/ccw/dist/core/routes/skills-routes.js.map +1 -1
- package/ccw/dist/core/routes/status-routes.d.ts +1 -14
- package/ccw/dist/core/routes/status-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/status-routes.js +4 -0
- package/ccw/dist/core/routes/status-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.d.ts +4 -10
- package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +6 -4
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/dist/core/routes/types.d.ts +19 -0
- package/ccw/dist/core/routes/types.d.ts.map +1 -0
- package/ccw/dist/core/routes/types.js +2 -0
- package/ccw/dist/core/routes/types.js.map +1 -0
- package/ccw/dist/core/server.d.ts.map +1 -1
- package/ccw/dist/core/server.js +206 -29
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/core/services/api-key-tester.d.ts +42 -0
- package/ccw/dist/core/services/api-key-tester.d.ts.map +1 -0
- package/ccw/dist/core/services/api-key-tester.js +126 -0
- package/ccw/dist/core/services/api-key-tester.js.map +1 -0
- package/ccw/dist/core/services/health-check-service.d.ts +88 -0
- package/ccw/dist/core/services/health-check-service.d.ts.map +1 -0
- package/ccw/dist/core/services/health-check-service.js +293 -0
- package/ccw/dist/core/services/health-check-service.js.map +1 -0
- package/ccw/dist/core/websocket.d.ts +9 -7
- package/ccw/dist/core/websocket.d.ts.map +1 -1
- package/ccw/dist/core/websocket.js +9 -4
- package/ccw/dist/core/websocket.js.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.d.ts +152 -28
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.js +490 -100
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
- package/ccw/dist/tools/cli-config-manager.d.ts +24 -8
- package/ccw/dist/tools/cli-config-manager.d.ts.map +1 -1
- package/ccw/dist/tools/cli-config-manager.js +76 -156
- package/ccw/dist/tools/cli-config-manager.js.map +1 -1
- package/ccw/dist/tools/cli-executor-core.d.ts +85 -0
- package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -0
- package/ccw/dist/tools/cli-executor-core.js +1310 -0
- package/ccw/dist/tools/cli-executor-core.js.map +1 -0
- package/ccw/dist/tools/cli-executor-state.d.ts +241 -0
- package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -0
- package/ccw/dist/tools/cli-executor-state.js +392 -0
- package/ccw/dist/tools/cli-executor-state.js.map +1 -0
- package/ccw/dist/tools/cli-executor-utils.d.ts +36 -0
- package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -0
- package/ccw/dist/tools/cli-executor-utils.js +298 -0
- package/ccw/dist/tools/cli-executor-utils.js.map +1 -0
- package/ccw/dist/tools/cli-executor.d.ts +3 -377
- package/ccw/dist/tools/cli-executor.d.ts.map +1 -1
- package/ccw/dist/tools/cli-executor.js +3 -1884
- package/ccw/dist/tools/cli-executor.js.map +1 -1
- package/ccw/dist/tools/cli-history-store.d.ts +2 -0
- package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
- package/ccw/dist/tools/cli-history-store.js.map +1 -1
- package/ccw/dist/tools/cli-output-converter.d.ts +192 -0
- package/ccw/dist/tools/cli-output-converter.d.ts.map +1 -0
- package/ccw/dist/tools/cli-output-converter.js +1047 -0
- package/ccw/dist/tools/cli-output-converter.js.map +1 -0
- package/ccw/dist/tools/cli-prompt-builder.d.ts +113 -0
- package/ccw/dist/tools/cli-prompt-builder.d.ts.map +1 -0
- package/ccw/dist/tools/cli-prompt-builder.js +363 -0
- package/ccw/dist/tools/cli-prompt-builder.js.map +1 -0
- package/ccw/dist/tools/codex-lens.d.ts +15 -1
- package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
- package/ccw/dist/tools/codex-lens.js +289 -55
- package/ccw/dist/tools/codex-lens.js.map +1 -1
- package/ccw/dist/tools/detect-changed-modules.d.ts.map +1 -1
- package/ccw/dist/tools/detect-changed-modules.js +22 -4
- package/ccw/dist/tools/detect-changed-modules.js.map +1 -1
- package/ccw/dist/tools/index.d.ts.map +1 -1
- package/ccw/dist/tools/index.js +2 -0
- package/ccw/dist/tools/index.js.map +1 -1
- package/ccw/dist/tools/litellm-client.d.ts.map +1 -1
- package/ccw/dist/tools/litellm-client.js +10 -4
- package/ccw/dist/tools/litellm-client.js.map +1 -1
- package/ccw/dist/tools/litellm-executor.d.ts +2 -4
- package/ccw/dist/tools/litellm-executor.d.ts.map +1 -1
- package/ccw/dist/tools/litellm-executor.js +39 -8
- package/ccw/dist/tools/litellm-executor.js.map +1 -1
- package/ccw/dist/tools/native-session-discovery.d.ts +2 -0
- package/ccw/dist/tools/native-session-discovery.d.ts.map +1 -1
- package/ccw/dist/tools/native-session-discovery.js +197 -1
- package/ccw/dist/tools/native-session-discovery.js.map +1 -1
- package/ccw/dist/tools/session-manager.d.ts.map +1 -1
- package/ccw/dist/tools/session-manager.js +79 -0
- package/ccw/dist/tools/session-manager.js.map +1 -1
- package/ccw/dist/tools/skill-context-loader.d.ts +15 -0
- package/ccw/dist/tools/skill-context-loader.d.ts.map +1 -0
- package/ccw/dist/tools/skill-context-loader.js +198 -0
- package/ccw/dist/tools/skill-context-loader.js.map +1 -0
- package/ccw/dist/tools/smart-search.d.ts +8 -3
- package/ccw/dist/tools/smart-search.d.ts.map +1 -1
- package/ccw/dist/tools/smart-search.js +378 -75
- package/ccw/dist/tools/smart-search.js.map +1 -1
- package/ccw/dist/types/cli-settings.d.ts +86 -0
- package/ccw/dist/types/cli-settings.d.ts.map +1 -0
- package/ccw/dist/types/cli-settings.js +54 -0
- package/ccw/dist/types/cli-settings.js.map +1 -0
- package/ccw/dist/types/litellm-api-config.d.ts +40 -1
- package/ccw/dist/types/litellm-api-config.d.ts.map +1 -1
- package/ccw/dist/utils/exec-constants.d.ts +25 -0
- package/ccw/dist/utils/exec-constants.d.ts.map +1 -0
- package/ccw/dist/utils/exec-constants.js +25 -0
- package/ccw/dist/utils/exec-constants.js.map +1 -0
- package/ccw/dist/utils/path-resolver.d.ts +1 -0
- package/ccw/dist/utils/path-resolver.d.ts.map +1 -1
- package/ccw/dist/utils/path-resolver.js +48 -3
- package/ccw/dist/utils/path-resolver.js.map +1 -1
- package/ccw/dist/utils/path-validator.d.ts.map +1 -1
- package/ccw/dist/utils/path-validator.js +25 -6
- package/ccw/dist/utils/path-validator.js.map +1 -1
- package/ccw/dist/utils/python-utils.d.ts.map +1 -1
- package/ccw/dist/utils/python-utils.js +27 -7
- package/ccw/dist/utils/python-utils.js.map +1 -1
- package/ccw/dist/utils/shell-escape.d.ts +8 -0
- package/ccw/dist/utils/shell-escape.d.ts.map +1 -0
- package/ccw/dist/utils/shell-escape.js +24 -0
- package/ccw/dist/utils/shell-escape.js.map +1 -0
- package/ccw/dist/utils/uv-manager.d.ts +167 -0
- package/ccw/dist/utils/uv-manager.d.ts.map +1 -0
- package/ccw/dist/utils/uv-manager.js +644 -0
- package/ccw/dist/utils/uv-manager.js.map +1 -0
- package/ccw/src/cli.ts +4 -1
- package/ccw/src/commands/cli.ts +132 -34
- package/ccw/src/commands/issue.ts +605 -91
- package/ccw/src/commands/serve.ts +15 -5
- package/ccw/src/commands/stop.ts +32 -5
- package/ccw/src/commands/tool.ts +17 -2
- package/ccw/src/commands/view.ts +13 -3
- package/ccw/src/config/cli-settings-manager.ts +460 -0
- package/ccw/src/config/litellm-api-config-manager.ts +392 -57
- package/ccw/src/core/auth/csrf-manager.ts +104 -0
- package/ccw/src/core/auth/csrf-middleware.ts +159 -0
- package/ccw/src/core/auth/middleware.ts +94 -0
- package/ccw/src/core/auth/token-manager.ts +219 -0
- package/ccw/src/core/cache-manager.ts +64 -52
- package/ccw/src/core/claude-freshness.ts +26 -6
- package/ccw/src/core/core-memory-store.ts +2 -1
- package/ccw/src/core/cors.ts +10 -0
- package/ccw/src/core/dashboard-generator-patch.ts +47 -48
- package/ccw/src/core/dashboard-generator.ts +797 -744
- package/ccw/src/core/data-aggregator.ts +667 -667
- package/ccw/src/core/lite-scanner.ts +156 -140
- package/ccw/src/core/routes/auth-routes.ts +98 -0
- package/ccw/src/core/routes/ccw-routes.ts +10 -20
- package/ccw/src/core/routes/claude-routes.ts +101 -51
- package/ccw/src/core/routes/cli-routes.ts +152 -55
- package/ccw/src/core/routes/cli-settings-routes.ts +232 -0
- package/ccw/src/core/routes/codexlens/README.md +37 -0
- package/ccw/src/core/routes/codexlens/config-handlers.ts +1269 -0
- package/ccw/src/core/routes/codexlens/index-handlers.ts +354 -0
- package/ccw/src/core/routes/codexlens/semantic-handlers.ts +931 -0
- package/ccw/src/core/routes/codexlens/utils.ts +96 -0
- package/ccw/src/core/routes/codexlens/watcher-handlers.ts +265 -0
- package/ccw/src/core/routes/codexlens-routes.ts +11 -1044
- package/ccw/src/core/routes/discovery-routes.ts +1 -12
- package/ccw/src/core/routes/files-routes.ts +112 -40
- package/ccw/src/core/routes/graph-routes.ts +39 -46
- package/ccw/src/core/routes/help-routes.ts +2 -12
- package/ccw/src/core/routes/hooks-routes.ts +83 -44
- package/ccw/src/core/routes/issue-routes.ts +1 -12
- package/ccw/src/core/routes/litellm-api-routes.ts +574 -60
- package/ccw/src/core/routes/litellm-routes.ts +35 -27
- package/ccw/src/core/routes/mcp-routes.ts +157 -60
- package/ccw/src/core/routes/mcp-routes.ts.backup +549 -550
- package/ccw/src/core/routes/mcp-templates-db.ts +267 -268
- package/ccw/src/core/routes/memory-routes.ts +76 -22
- package/ccw/src/core/routes/nav-status-routes.ts +231 -0
- package/ccw/src/core/routes/rules-routes.ts +600 -81
- package/ccw/src/core/routes/session-routes.ts +28 -22
- package/ccw/src/core/routes/skills-routes.ts +452 -132
- package/ccw/src/core/routes/status-routes.ts +1 -12
- package/ccw/src/core/routes/system-routes.ts +15 -22
- package/ccw/src/core/routes/types.ts +25 -0
- package/ccw/src/core/server.ts +657 -468
- package/ccw/src/core/services/api-key-tester.ts +160 -0
- package/ccw/src/core/services/health-check-service.ts +366 -0
- package/ccw/src/core/websocket.ts +20 -12
- package/ccw/src/templates/dashboard-css/01-base.css +109 -0
- package/ccw/src/templates/dashboard-css/10-cli-status.css +202 -0
- package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +308 -0
- package/ccw/src/templates/dashboard-css/30-core-memory.css +20 -0
- package/ccw/src/templates/dashboard-css/31-api-settings.css +751 -14
- package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +230 -2
- package/ccw/src/templates/dashboard-js/api.js +5 -0
- package/ccw/src/templates/dashboard-js/components/cli-status.js +279 -107
- package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +262 -20
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +105 -5
- package/ccw/src/templates/dashboard-js/components/mcp-manager.js +317 -0
- package/ccw/src/templates/dashboard-js/components/navigation.js +45 -0
- package/ccw/src/templates/dashboard-js/components/notifications.js +128 -0
- package/ccw/src/templates/dashboard-js/i18n.js +4448 -3983
- package/ccw/src/templates/dashboard-js/main.js +71 -0
- package/ccw/src/templates/dashboard-js/services.js +289 -0
- package/ccw/src/templates/dashboard-js/views/api-settings.js +5613 -3361
- package/ccw/src/templates/dashboard-js/views/claude-manager.js +1 -7
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +581 -87
- package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +6101 -1965
- package/ccw/src/templates/dashboard-js/views/core-memory.js +129 -20
- package/ccw/src/templates/dashboard-js/views/hook-manager.js +17 -3
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js +63 -0
- package/ccw/src/templates/dashboard-js/views/project-overview.js +182 -37
- package/ccw/src/templates/dashboard-js/views/rules-manager.js +26 -3
- package/ccw/src/templates/dashboard-js/views/skills-manager.js +2 -42
- package/ccw/src/templates/dashboard.html +6 -0
- package/ccw/src/tools/README.md +29 -0
- package/ccw/src/tools/claude-cli-tools.ts +640 -125
- package/ccw/src/tools/cli-config-manager.ts +102 -172
- package/ccw/src/tools/cli-executor-core.ts +1533 -0
- package/ccw/src/tools/cli-executor-state.ts +560 -0
- package/ccw/src/tools/cli-executor-utils.ts +349 -0
- package/ccw/src/tools/cli-executor.ts +3 -2309
- package/ccw/src/tools/cli-history-store.ts +2 -0
- package/ccw/src/tools/cli-output-converter.ts +1237 -0
- package/ccw/src/tools/cli-prompt-builder.ts +487 -0
- package/ccw/src/tools/codex-lens.ts +324 -59
- package/ccw/src/tools/detect-changed-modules.ts +24 -6
- package/ccw/src/tools/index.ts +2 -0
- package/ccw/src/tools/litellm-client.ts +10 -4
- package/ccw/src/tools/litellm-executor.ts +146 -114
- package/ccw/src/tools/native-session-discovery.ts +209 -1
- package/ccw/src/tools/session-manager.ts +88 -0
- package/ccw/src/tools/skill-context-loader.ts +213 -0
- package/ccw/src/tools/smart-search.ts +427 -76
- package/ccw/src/types/cli-settings.ts +137 -0
- package/ccw/src/types/litellm-api-config.ts +55 -1
- package/ccw/src/utils/exec-constants.ts +24 -0
- package/ccw/src/utils/path-resolver.ts +49 -3
- package/ccw/src/utils/path-validator.ts +28 -6
- package/ccw/src/utils/python-utils.ts +140 -121
- package/ccw/src/utils/shell-escape.ts +30 -0
- package/ccw/src/utils/uv-manager.ts +796 -0
- package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/clients/litellm_embedder.py +270 -251
- package/ccw-litellm/src/ccw_litellm/clients/litellm_llm.py +33 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-313.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/config/loader.py +343 -316
- package/ccw-litellm/src/ccw_litellm/config/models.py +162 -130
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-312.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-310.pyc +0 -0
- package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-312.pyc +0 -0
- package/codex-lens/pyproject.toml +43 -0
- package/codex-lens/src/codexlens/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__main__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/__main__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/env_config.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/env_config.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/env_config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/cli/commands.py +4416 -2295
- package/codex-lens/src/codexlens/cli/embedding_manager.py +777 -15
- package/codex-lens/src/codexlens/cli/model_manager.py +676 -0
- package/codex-lens/src/codexlens/config.py +356 -12
- package/codex-lens/src/codexlens/entities.py +4 -1
- package/codex-lens/src/codexlens/env_config.py +304 -0
- package/codex-lens/src/codexlens/indexing/__init__.py +23 -1
- package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/embedding.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/indexing/embedding.py +582 -0
- package/codex-lens/src/codexlens/indexing/symbol_extractor.py +62 -28
- package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/parsers/factory.py +139 -10
- package/codex-lens/src/codexlens/parsers/treesitter_parser.py +487 -13
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/binary_searcher.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/graph_expander.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/binary_searcher.py +277 -0
- package/codex-lens/src/codexlens/search/chain_search.py +1652 -8
- package/codex-lens/src/codexlens/search/enrichment.py +21 -0
- package/codex-lens/src/codexlens/search/graph_expander.py +264 -0
- package/codex-lens/src/codexlens/search/hybrid_search.py +772 -37
- package/codex-lens/src/codexlens/search/ranking.py +397 -8
- package/codex-lens/src/codexlens/semantic/SPLADE_IMPLEMENTATION.md +225 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/ann_index.py +654 -0
- package/codex-lens/src/codexlens/semantic/chunker.py +328 -23
- package/codex-lens/src/codexlens/semantic/factory.py +63 -3
- package/codex-lens/src/codexlens/semantic/gpu_support.py +19 -2
- package/codex-lens/src/codexlens/semantic/litellm_embedder.py +144 -144
- package/codex-lens/src/codexlens/semantic/reranker/__init__.py +25 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/litellm_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/reranker/api_reranker.py +403 -0
- package/codex-lens/src/codexlens/semantic/reranker/base.py +46 -0
- package/codex-lens/src/codexlens/semantic/reranker/factory.py +159 -0
- package/codex-lens/src/codexlens/semantic/reranker/fastembed_reranker.py +257 -0
- package/codex-lens/src/codexlens/semantic/reranker/legacy.py +91 -0
- package/codex-lens/src/codexlens/semantic/reranker/litellm_reranker.py +214 -0
- package/codex-lens/src/codexlens/semantic/reranker/onnx_reranker.py +268 -0
- package/codex-lens/src/codexlens/semantic/splade_encoder.py +567 -0
- package/codex-lens/src/codexlens/semantic/vector_store.py +472 -352
- package/codex-lens/src/codexlens/storage/__init__.py +3 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/merkle_tree.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/dir_index.py +310 -12
- package/codex-lens/src/codexlens/storage/index_tree.py +240 -25
- package/codex-lens/src/codexlens/storage/merkle_tree.py +136 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_006_enhance_relationships.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_008_add_merkle_hashes.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_009_add_splade.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_010_add_multi_vector_chunks.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_006_enhance_relationships.py +37 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_007_add_graph_neighbors.py +47 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_008_add_merkle_hashes.py +81 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_009_add_splade.py +103 -0
- package/codex-lens/src/codexlens/storage/migrations/migration_010_add_multi_vector_chunks.py +162 -0
- package/codex-lens/src/codexlens/storage/splade_index.py +578 -0
- package/codex-lens/src/codexlens/storage/sqlite_store.py +508 -184
- package/codex-lens/src/codexlens/storage/vector_meta_store.py +415 -0
- package/codex-lens/src/codexlens/watcher/__init__.py +17 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-310.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-312.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/watcher/events.py +82 -0
- package/codex-lens/src/codexlens/watcher/file_watcher.py +347 -0
- package/codex-lens/src/codexlens/watcher/incremental_indexer.py +369 -0
- package/codex-lens/src/codexlens/watcher/manager.py +255 -0
- package/package.json +4 -1
- package/.claude/commands/workflow/docs/analyze.md +0 -1467
- package/.claude/commands/workflow/docs/copyright.md +0 -1265
- package/.claude/skills/command-guide/SKILL.md +0 -388
- package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +0 -592
- package/.claude/skills/command-guide/guides/cli-tools-guide.md +0 -410
- package/.claude/skills/command-guide/guides/examples.md +0 -537
- package/.claude/skills/command-guide/guides/getting-started.md +0 -242
- package/.claude/skills/command-guide/guides/implementation-details.md +0 -1010
- package/.claude/skills/command-guide/guides/index-structure.md +0 -326
- package/.claude/skills/command-guide/guides/troubleshooting.md +0 -92
- package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +0 -316
- package/.claude/skills/command-guide/guides/workflow-patterns.md +0 -662
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -855
- package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +0 -267
- package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +0 -182
- package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +0 -446
- package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +0 -558
- package/.claude/skills/command-guide/reference/agents/code-developer.md +0 -311
- package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +0 -308
- package/.claude/skills/command-guide/reference/agents/context-search-agent.md +0 -581
- package/.claude/skills/command-guide/reference/agents/doc-generator.md +0 -330
- package/.claude/skills/command-guide/reference/agents/memory-bridge.md +0 -94
- package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +0 -400
- package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +0 -344
- package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +0 -593
- package/.claude/skills/command-guide/reference/agents/universal-executor.md +0 -131
- package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +0 -440
- package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +0 -93
- package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +0 -687
- package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +0 -471
- package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +0 -386
- package/.claude/skills/command-guide/reference/commands/memory/docs.md +0 -616
- package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +0 -182
- package/.claude/skills/command-guide/reference/commands/memory/load.md +0 -240
- package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +0 -525
- package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +0 -396
- package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +0 -314
- package/.claude/skills/command-guide/reference/commands/memory/update-full.md +0 -332
- package/.claude/skills/command-guide/reference/commands/memory/update-related.md +0 -332
- package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +0 -517
- package/.claude/skills/command-guide/reference/commands/task/breakdown.md +0 -204
- package/.claude/skills/command-guide/reference/commands/task/create.md +0 -152
- package/.claude/skills/command-guide/reference/commands/task/execute.md +0 -270
- package/.claude/skills/command-guide/reference/commands/task/replan.md +0 -437
- package/.claude/skills/command-guide/reference/commands/version.md +0 -254
- package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +0 -447
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +0 -585
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +0 -452
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +0 -443
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +0 -220
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +0 -398
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +0 -387
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +0 -221
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +0 -221
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +0 -465
- package/.claude/skills/command-guide/reference/commands/workflow/init.md +0 -164
- package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +0 -748
- package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +0 -664
- package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +0 -645
- package/.claude/skills/command-guide/reference/commands/workflow/plan.md +0 -551
- package/.claude/skills/command-guide/reference/commands/workflow/replan.md +0 -515
- package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +0 -606
- package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +0 -765
- package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +0 -776
- package/.claude/skills/command-guide/reference/commands/workflow/review.md +0 -298
- package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +0 -547
- package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +0 -114
- package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +0 -77
- package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +0 -257
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +0 -460
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +0 -400
- package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +0 -498
- package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +0 -699
- package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +0 -529
- package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +0 -766
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +0 -433
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +0 -487
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +0 -518
- package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +0 -163
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +0 -232
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -254
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +0 -1150
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +0 -652
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +0 -454
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +0 -678
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +0 -504
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +0 -745
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +0 -537
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +0 -788
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +0 -356
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +0 -773
- package/.claude/skills/command-guide/scripts/analyze_commands.py +0 -502
- package/.claude/skills/command-guide/scripts/update-index.sh +0 -130
- package/.claude/skills/command-guide/templates/issue-bug.md +0 -104
- package/.claude/skills/command-guide/templates/issue-diagnosis.md +0 -275
- package/.claude/skills/command-guide/templates/issue-feature.md +0 -97
- package/.claude/skills/command-guide/templates/issue-question.md +0 -141
|
@@ -916,7 +916,7 @@ select.cli-input {
|
|
|
916
916
|
.cli-textarea {
|
|
917
917
|
resize: vertical;
|
|
918
918
|
min-height: 4rem;
|
|
919
|
-
max-height:
|
|
919
|
+
max-height: 20rem;
|
|
920
920
|
font-family: 'SF Mono', 'Consolas', 'Liberation Mono', monospace;
|
|
921
921
|
font-size: 0.8125rem;
|
|
922
922
|
}
|
|
@@ -972,27 +972,43 @@ select.cli-input {
|
|
|
972
972
|
|
|
973
973
|
.sidebar-tabs {
|
|
974
974
|
display: flex;
|
|
975
|
-
|
|
975
|
+
flex-wrap: nowrap;
|
|
976
|
+
gap: 0.125rem;
|
|
976
977
|
padding: 0.5rem;
|
|
977
978
|
background: hsl(var(--muted) / 0.3);
|
|
978
979
|
border-bottom: 1px solid hsl(var(--border));
|
|
980
|
+
overflow-x: auto;
|
|
979
981
|
}
|
|
980
982
|
|
|
981
983
|
.sidebar-tab {
|
|
982
|
-
flex: 1;
|
|
984
|
+
flex: 1 1 0;
|
|
983
985
|
display: flex;
|
|
986
|
+
flex-direction: column;
|
|
984
987
|
align-items: center;
|
|
985
988
|
justify-content: center;
|
|
986
|
-
gap: 0.
|
|
989
|
+
gap: 0.125rem;
|
|
987
990
|
padding: 0.5rem 0.25rem;
|
|
988
|
-
font-size: 0.
|
|
991
|
+
font-size: 0.7rem;
|
|
989
992
|
font-weight: 500;
|
|
990
993
|
color: hsl(var(--muted-foreground));
|
|
991
994
|
background: transparent;
|
|
992
|
-
border:
|
|
993
|
-
border-radius: 0.
|
|
995
|
+
border: 1px solid transparent;
|
|
996
|
+
border-radius: 0.5rem;
|
|
994
997
|
cursor: pointer;
|
|
995
998
|
transition: all 0.2s;
|
|
999
|
+
white-space: nowrap;
|
|
1000
|
+
overflow: hidden;
|
|
1001
|
+
text-overflow: ellipsis;
|
|
1002
|
+
min-width: 0;
|
|
1003
|
+
max-width: 100%;
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
.sidebar-tab span {
|
|
1007
|
+
display: block;
|
|
1008
|
+
width: 100%;
|
|
1009
|
+
text-align: center;
|
|
1010
|
+
overflow: hidden;
|
|
1011
|
+
text-overflow: ellipsis;
|
|
996
1012
|
}
|
|
997
1013
|
|
|
998
1014
|
.sidebar-tab:hover {
|
|
@@ -1002,12 +1018,14 @@ select.cli-input {
|
|
|
1002
1018
|
|
|
1003
1019
|
.sidebar-tab.active {
|
|
1004
1020
|
color: hsl(var(--primary));
|
|
1005
|
-
background: hsl(var(--
|
|
1021
|
+
background: hsl(var(--card));
|
|
1022
|
+
border-color: hsl(var(--border));
|
|
1023
|
+
box-shadow: 0 1px 3px hsl(var(--foreground) / 0.05);
|
|
1006
1024
|
}
|
|
1007
1025
|
|
|
1008
1026
|
.sidebar-tab i {
|
|
1009
|
-
width:
|
|
1010
|
-
height:
|
|
1027
|
+
width: 18px;
|
|
1028
|
+
height: 18px;
|
|
1011
1029
|
}
|
|
1012
1030
|
|
|
1013
1031
|
/* Sidebar content areas */
|
|
@@ -1104,16 +1122,65 @@ select.cli-input {
|
|
|
1104
1122
|
opacity: 0.5;
|
|
1105
1123
|
}
|
|
1106
1124
|
|
|
1125
|
+
/* ===========================
|
|
1126
|
+
Model Pools (High Availability)
|
|
1127
|
+
=========================== */
|
|
1128
|
+
|
|
1129
|
+
.model-pools-list {
|
|
1130
|
+
flex: 1;
|
|
1131
|
+
overflow-y: auto;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
.pool-type-group {
|
|
1135
|
+
margin-bottom: 1rem;
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
.pool-type-header {
|
|
1139
|
+
padding: 0.5rem 0.75rem;
|
|
1140
|
+
font-size: 0.7rem;
|
|
1141
|
+
font-weight: 600;
|
|
1142
|
+
text-transform: uppercase;
|
|
1143
|
+
color: hsl(var(--muted-foreground));
|
|
1144
|
+
background: hsl(var(--muted) / 0.3);
|
|
1145
|
+
border-bottom: 1px solid hsl(var(--border));
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
.pool-item {
|
|
1149
|
+
padding: 0.75rem;
|
|
1150
|
+
cursor: pointer;
|
|
1151
|
+
border-bottom: 1px solid hsl(var(--border));
|
|
1152
|
+
transition: background-color 0.15s;
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
.pool-item:hover {
|
|
1156
|
+
background: hsl(var(--muted) / 0.3);
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
.pool-item.selected {
|
|
1160
|
+
background: hsl(var(--primary) / 0.1);
|
|
1161
|
+
border-left: 3px solid hsl(var(--primary));
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
.pool-item .pool-name {
|
|
1165
|
+
font-weight: 500;
|
|
1166
|
+
margin-bottom: 0.25rem;
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
.pool-item .pool-target {
|
|
1170
|
+
font-size: 0.75rem;
|
|
1171
|
+
color: hsl(var(--muted-foreground));
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1107
1174
|
/* Responsive adjustments for tabs */
|
|
1108
1175
|
@media (max-width: 768px) {
|
|
1109
1176
|
.sidebar-tab {
|
|
1110
|
-
padding: 0.5rem 0.
|
|
1111
|
-
font-size: 0.
|
|
1177
|
+
padding: 0.5rem 0.625rem;
|
|
1178
|
+
font-size: 0.75rem;
|
|
1112
1179
|
}
|
|
1113
1180
|
|
|
1114
1181
|
.sidebar-tab i {
|
|
1115
|
-
width:
|
|
1116
|
-
height:
|
|
1182
|
+
width: 16px;
|
|
1183
|
+
height: 16px;
|
|
1117
1184
|
}
|
|
1118
1185
|
}
|
|
1119
1186
|
|
|
@@ -1205,9 +1272,100 @@ select.cli-input {
|
|
|
1205
1272
|
letter-spacing: 0.03em;
|
|
1206
1273
|
}
|
|
1207
1274
|
|
|
1275
|
+
/* Provider Item (used in CLI Settings list) */
|
|
1276
|
+
.provider-item {
|
|
1277
|
+
display: flex;
|
|
1278
|
+
align-items: center;
|
|
1279
|
+
justify-content: space-between;
|
|
1280
|
+
padding: 0.75rem;
|
|
1281
|
+
border-radius: 0.5rem;
|
|
1282
|
+
cursor: pointer;
|
|
1283
|
+
transition: background 0.15s ease;
|
|
1284
|
+
border: 1px solid transparent;
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
.provider-item:hover {
|
|
1288
|
+
background: hsl(var(--muted) / 0.5);
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
.provider-item.selected {
|
|
1292
|
+
background: hsl(var(--primary) / 0.1);
|
|
1293
|
+
border-color: hsl(var(--primary) / 0.3);
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
.provider-item-content {
|
|
1297
|
+
display: flex;
|
|
1298
|
+
align-items: center;
|
|
1299
|
+
gap: 0.75rem;
|
|
1300
|
+
min-width: 0;
|
|
1301
|
+
flex: 1;
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
.provider-icon {
|
|
1305
|
+
width: 2rem;
|
|
1306
|
+
height: 2rem;
|
|
1307
|
+
border-radius: 0.375rem;
|
|
1308
|
+
display: flex;
|
|
1309
|
+
align-items: center;
|
|
1310
|
+
justify-content: center;
|
|
1311
|
+
flex-shrink: 0;
|
|
1312
|
+
background: hsl(var(--muted) / 0.5);
|
|
1313
|
+
color: hsl(var(--muted-foreground));
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
.provider-icon i,
|
|
1317
|
+
.provider-icon svg {
|
|
1318
|
+
width: 1rem;
|
|
1319
|
+
height: 1rem;
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
.provider-info {
|
|
1323
|
+
flex: 1;
|
|
1324
|
+
min-width: 0;
|
|
1325
|
+
display: flex;
|
|
1326
|
+
flex-direction: column;
|
|
1327
|
+
gap: 0.125rem;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
.provider-name {
|
|
1331
|
+
font-size: 0.875rem;
|
|
1332
|
+
font-weight: 500;
|
|
1333
|
+
color: hsl(var(--foreground));
|
|
1334
|
+
white-space: nowrap;
|
|
1335
|
+
overflow: hidden;
|
|
1336
|
+
text-overflow: ellipsis;
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
.provider-type {
|
|
1340
|
+
font-size: 0.6875rem;
|
|
1341
|
+
color: hsl(var(--muted-foreground));
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
.provider-status {
|
|
1345
|
+
display: flex;
|
|
1346
|
+
align-items: center;
|
|
1347
|
+
flex-shrink: 0;
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
.provider-status .status-dot {
|
|
1351
|
+
width: 8px;
|
|
1352
|
+
height: 8px;
|
|
1353
|
+
border-radius: 50%;
|
|
1354
|
+
background: hsl(var(--muted-foreground));
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
.provider-status.enabled .status-dot {
|
|
1358
|
+
background: hsl(142 76% 36%);
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
.provider-status.disabled .status-dot {
|
|
1362
|
+
background: hsl(var(--muted-foreground) / 0.5);
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1208
1365
|
.provider-list-footer {
|
|
1209
1366
|
padding: 1rem;
|
|
1210
1367
|
border-top: 1px solid hsl(var(--border));
|
|
1368
|
+
margin-top: auto;
|
|
1211
1369
|
}
|
|
1212
1370
|
|
|
1213
1371
|
.btn-full {
|
|
@@ -1260,6 +1418,75 @@ select.cli-input {
|
|
|
1260
1418
|
gap: 1.5rem;
|
|
1261
1419
|
}
|
|
1262
1420
|
|
|
1421
|
+
/* Detail Section (for CLI Settings, etc.) */
|
|
1422
|
+
.detail-section {
|
|
1423
|
+
background: hsl(var(--card));
|
|
1424
|
+
border: 1px solid hsl(var(--border));
|
|
1425
|
+
border-radius: 0.5rem;
|
|
1426
|
+
padding: 1rem 1.25rem;
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
.detail-section h3 {
|
|
1430
|
+
margin: 0 0 1rem 0;
|
|
1431
|
+
font-size: 0.875rem;
|
|
1432
|
+
font-weight: 600;
|
|
1433
|
+
color: hsl(var(--foreground));
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
.detail-grid {
|
|
1437
|
+
display: grid;
|
|
1438
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
1439
|
+
gap: 1rem;
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
.detail-item {
|
|
1443
|
+
display: flex;
|
|
1444
|
+
flex-direction: column;
|
|
1445
|
+
gap: 0.25rem;
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
.detail-item label {
|
|
1449
|
+
font-size: 0.75rem;
|
|
1450
|
+
font-weight: 500;
|
|
1451
|
+
color: hsl(var(--muted-foreground));
|
|
1452
|
+
text-transform: uppercase;
|
|
1453
|
+
letter-spacing: 0.02em;
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
.detail-item span {
|
|
1457
|
+
font-size: 0.875rem;
|
|
1458
|
+
color: hsl(var(--foreground));
|
|
1459
|
+
word-break: break-all;
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
.detail-item span.mono {
|
|
1463
|
+
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
1464
|
+
font-size: 0.8125rem;
|
|
1465
|
+
background: hsl(var(--muted) / 0.3);
|
|
1466
|
+
padding: 0.25rem 0.5rem;
|
|
1467
|
+
border-radius: 0.25rem;
|
|
1468
|
+
}
|
|
1469
|
+
|
|
1470
|
+
.detail-item-full {
|
|
1471
|
+
grid-column: 1 / -1;
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
/* Code Block */
|
|
1475
|
+
.code-block {
|
|
1476
|
+
background: hsl(var(--muted) / 0.3);
|
|
1477
|
+
border: 1px solid hsl(var(--border));
|
|
1478
|
+
border-radius: 0.375rem;
|
|
1479
|
+
padding: 0.75rem 1rem;
|
|
1480
|
+
overflow-x: auto;
|
|
1481
|
+
}
|
|
1482
|
+
|
|
1483
|
+
.code-block code {
|
|
1484
|
+
font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
|
|
1485
|
+
font-size: 0.8125rem;
|
|
1486
|
+
color: hsl(var(--foreground));
|
|
1487
|
+
white-space: nowrap;
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1263
1490
|
/* Field Groups */
|
|
1264
1491
|
.field-group {
|
|
1265
1492
|
display: flex;
|
|
@@ -1860,6 +2087,26 @@ select.cli-input {
|
|
|
1860
2087
|
margin-bottom: 0.75rem;
|
|
1861
2088
|
}
|
|
1862
2089
|
|
|
2090
|
+
/* ===========================
|
|
2091
|
+
CLI Settings List in Sidebar
|
|
2092
|
+
=========================== */
|
|
2093
|
+
|
|
2094
|
+
.cli-settings-list {
|
|
2095
|
+
flex: 1;
|
|
2096
|
+
overflow-y: auto;
|
|
2097
|
+
padding: 0.5rem;
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
/* ===========================
|
|
2101
|
+
Model Pools List in Sidebar
|
|
2102
|
+
=========================== */
|
|
2103
|
+
|
|
2104
|
+
.model-pools-list {
|
|
2105
|
+
flex: 1;
|
|
2106
|
+
overflow-y: auto;
|
|
2107
|
+
padding: 0.5rem;
|
|
2108
|
+
}
|
|
2109
|
+
|
|
1863
2110
|
/* ===========================
|
|
1864
2111
|
Main Panel Sections
|
|
1865
2112
|
=========================== */
|
|
@@ -2262,4 +2509,494 @@ select.cli-input {
|
|
|
2262
2509
|
width: 1rem;
|
|
2263
2510
|
height: 1rem;
|
|
2264
2511
|
flex-shrink: 0;
|
|
2512
|
+
}
|
|
2513
|
+
|
|
2514
|
+
/* ===========================
|
|
2515
|
+
Model Pool Detail Info Grid
|
|
2516
|
+
=========================== */
|
|
2517
|
+
|
|
2518
|
+
.provider-detail {
|
|
2519
|
+
padding: 1.5rem;
|
|
2520
|
+
overflow-y: auto;
|
|
2521
|
+
}
|
|
2522
|
+
|
|
2523
|
+
.provider-detail .provider-detail-header {
|
|
2524
|
+
display: flex;
|
|
2525
|
+
align-items: flex-start;
|
|
2526
|
+
justify-content: space-between;
|
|
2527
|
+
margin-bottom: 1.5rem;
|
|
2528
|
+
padding-bottom: 1rem;
|
|
2529
|
+
border-bottom: 1px solid hsl(var(--border));
|
|
2530
|
+
}
|
|
2531
|
+
|
|
2532
|
+
.provider-detail .provider-detail-header h2 {
|
|
2533
|
+
margin: 0;
|
|
2534
|
+
font-size: 1.25rem;
|
|
2535
|
+
font-weight: 600;
|
|
2536
|
+
color: hsl(var(--foreground));
|
|
2537
|
+
}
|
|
2538
|
+
|
|
2539
|
+
.provider-detail .provider-detail-body {
|
|
2540
|
+
display: flex;
|
|
2541
|
+
flex-direction: column;
|
|
2542
|
+
gap: 1.5rem;
|
|
2543
|
+
}
|
|
2544
|
+
|
|
2545
|
+
.provider-detail .form-section {
|
|
2546
|
+
padding: 1.25rem;
|
|
2547
|
+
background: hsl(var(--card));
|
|
2548
|
+
border: 1px solid hsl(var(--border));
|
|
2549
|
+
border-radius: 0.75rem;
|
|
2550
|
+
}
|
|
2551
|
+
|
|
2552
|
+
.provider-detail .form-section h3 {
|
|
2553
|
+
margin: 0 0 1rem 0;
|
|
2554
|
+
font-size: 0.875rem;
|
|
2555
|
+
font-weight: 600;
|
|
2556
|
+
color: hsl(var(--muted-foreground));
|
|
2557
|
+
text-transform: uppercase;
|
|
2558
|
+
letter-spacing: 0.05em;
|
|
2559
|
+
}
|
|
2560
|
+
|
|
2561
|
+
.provider-detail .form-section p {
|
|
2562
|
+
margin: 0;
|
|
2563
|
+
font-size: 0.875rem;
|
|
2564
|
+
color: hsl(var(--foreground));
|
|
2565
|
+
line-height: 1.5;
|
|
2566
|
+
}
|
|
2567
|
+
|
|
2568
|
+
/* Info Grid - Used in Model Pool Detail */
|
|
2569
|
+
.info-grid {
|
|
2570
|
+
display: grid;
|
|
2571
|
+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
2572
|
+
gap: 1rem;
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2575
|
+
.info-item {
|
|
2576
|
+
display: flex;
|
|
2577
|
+
flex-direction: column;
|
|
2578
|
+
gap: 0.25rem;
|
|
2579
|
+
}
|
|
2580
|
+
|
|
2581
|
+
.info-item label {
|
|
2582
|
+
font-size: 0.75rem;
|
|
2583
|
+
font-weight: 500;
|
|
2584
|
+
color: hsl(var(--muted-foreground));
|
|
2585
|
+
text-transform: uppercase;
|
|
2586
|
+
letter-spacing: 0.03em;
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
.info-item span {
|
|
2590
|
+
font-size: 0.875rem;
|
|
2591
|
+
color: hsl(var(--foreground));
|
|
2592
|
+
}
|
|
2593
|
+
|
|
2594
|
+
/* Status badge inside info-item should not stretch */
|
|
2595
|
+
.info-item .status-badge {
|
|
2596
|
+
display: inline-flex;
|
|
2597
|
+
width: auto;
|
|
2598
|
+
}
|
|
2599
|
+
|
|
2600
|
+
/* Excluded Providers List */
|
|
2601
|
+
.excluded-providers-list {
|
|
2602
|
+
display: flex;
|
|
2603
|
+
flex-wrap: wrap;
|
|
2604
|
+
gap: 0.5rem;
|
|
2605
|
+
}
|
|
2606
|
+
|
|
2607
|
+
.excluded-providers-list .tag {
|
|
2608
|
+
display: inline-flex;
|
|
2609
|
+
align-items: center;
|
|
2610
|
+
padding: 0.25rem 0.625rem;
|
|
2611
|
+
font-size: 0.75rem;
|
|
2612
|
+
font-weight: 500;
|
|
2613
|
+
background: hsl(var(--muted) / 0.5);
|
|
2614
|
+
border: 1px solid hsl(var(--border));
|
|
2615
|
+
border-radius: 0.375rem;
|
|
2616
|
+
color: hsl(var(--muted-foreground));
|
|
2617
|
+
}
|
|
2618
|
+
|
|
2619
|
+
/* Provider Actions in Detail Header */
|
|
2620
|
+
.provider-actions {
|
|
2621
|
+
display: flex;
|
|
2622
|
+
align-items: center;
|
|
2623
|
+
gap: 0.5rem;
|
|
2624
|
+
}
|
|
2625
|
+
|
|
2626
|
+
@media (max-width: 640px) {
|
|
2627
|
+
.info-grid {
|
|
2628
|
+
grid-template-columns: 1fr;
|
|
2629
|
+
}
|
|
2630
|
+
|
|
2631
|
+
.provider-detail .provider-detail-header {
|
|
2632
|
+
flex-direction: column;
|
|
2633
|
+
gap: 1rem;
|
|
2634
|
+
}
|
|
2635
|
+
|
|
2636
|
+
.provider-actions {
|
|
2637
|
+
width: 100%;
|
|
2638
|
+
justify-content: flex-end;
|
|
2639
|
+
}
|
|
2640
|
+
}
|
|
2641
|
+
|
|
2642
|
+
/* ===========================
|
|
2643
|
+
CLI Settings Form
|
|
2644
|
+
=========================== */
|
|
2645
|
+
|
|
2646
|
+
/* Tool Detail Header */
|
|
2647
|
+
.tool-detail-header {
|
|
2648
|
+
display: flex;
|
|
2649
|
+
align-items: center;
|
|
2650
|
+
justify-content: space-between;
|
|
2651
|
+
padding: 1rem 1.5rem;
|
|
2652
|
+
border-bottom: 1px solid hsl(var(--border));
|
|
2653
|
+
background: hsl(var(--muted) / 0.2);
|
|
2654
|
+
flex-shrink: 0;
|
|
2655
|
+
}
|
|
2656
|
+
|
|
2657
|
+
.tool-detail-header h3 {
|
|
2658
|
+
display: flex;
|
|
2659
|
+
align-items: center;
|
|
2660
|
+
gap: 0.5rem;
|
|
2661
|
+
margin: 0;
|
|
2662
|
+
font-size: 1.125rem;
|
|
2663
|
+
font-weight: 600;
|
|
2664
|
+
color: hsl(var(--foreground));
|
|
2665
|
+
}
|
|
2666
|
+
|
|
2667
|
+
.tool-detail-header h3 svg,
|
|
2668
|
+
.tool-detail-header h3 i {
|
|
2669
|
+
width: 1.25rem;
|
|
2670
|
+
height: 1.25rem;
|
|
2671
|
+
color: hsl(var(--primary));
|
|
2672
|
+
}
|
|
2673
|
+
|
|
2674
|
+
/* Claude Config Form Container */
|
|
2675
|
+
.claude-config-form {
|
|
2676
|
+
flex: 1;
|
|
2677
|
+
overflow-y: auto;
|
|
2678
|
+
padding: 1.5rem;
|
|
2679
|
+
display: flex;
|
|
2680
|
+
flex-direction: column;
|
|
2681
|
+
gap: 1rem;
|
|
2682
|
+
}
|
|
2683
|
+
|
|
2684
|
+
/* Config Mode Toggle */
|
|
2685
|
+
.config-mode-toggle {
|
|
2686
|
+
display: flex;
|
|
2687
|
+
gap: 0.5rem;
|
|
2688
|
+
margin-bottom: 0.5rem;
|
|
2689
|
+
padding: 0.25rem;
|
|
2690
|
+
background: hsl(var(--muted) / 0.3);
|
|
2691
|
+
border-radius: 0.5rem;
|
|
2692
|
+
}
|
|
2693
|
+
|
|
2694
|
+
.config-mode-btn {
|
|
2695
|
+
flex: 1;
|
|
2696
|
+
display: flex;
|
|
2697
|
+
align-items: center;
|
|
2698
|
+
justify-content: center;
|
|
2699
|
+
gap: 0.5rem;
|
|
2700
|
+
padding: 0.625rem 1rem;
|
|
2701
|
+
font-size: 0.875rem;
|
|
2702
|
+
font-weight: 500;
|
|
2703
|
+
color: hsl(var(--muted-foreground));
|
|
2704
|
+
background: transparent;
|
|
2705
|
+
border: 1px solid transparent;
|
|
2706
|
+
border-radius: 0.375rem;
|
|
2707
|
+
cursor: pointer;
|
|
2708
|
+
transition: all 0.2s;
|
|
2709
|
+
}
|
|
2710
|
+
|
|
2711
|
+
.config-mode-btn:hover {
|
|
2712
|
+
color: hsl(var(--foreground));
|
|
2713
|
+
background: hsl(var(--muted) / 0.5);
|
|
2714
|
+
}
|
|
2715
|
+
|
|
2716
|
+
.config-mode-btn.active {
|
|
2717
|
+
color: hsl(var(--primary));
|
|
2718
|
+
background: hsl(var(--card));
|
|
2719
|
+
border-color: hsl(var(--border));
|
|
2720
|
+
box-shadow: 0 1px 3px hsl(var(--foreground) / 0.05);
|
|
2721
|
+
}
|
|
2722
|
+
|
|
2723
|
+
.config-mode-btn svg,
|
|
2724
|
+
.config-mode-btn i {
|
|
2725
|
+
width: 1rem;
|
|
2726
|
+
height: 1rem;
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2729
|
+
/* Model Config Section */
|
|
2730
|
+
.model-config-section {
|
|
2731
|
+
margin-top: 1rem;
|
|
2732
|
+
padding: 1rem;
|
|
2733
|
+
background: hsl(var(--muted) / 0.2);
|
|
2734
|
+
border: 1px solid hsl(var(--border));
|
|
2735
|
+
border-radius: 0.5rem;
|
|
2736
|
+
}
|
|
2737
|
+
|
|
2738
|
+
.model-config-section h4 {
|
|
2739
|
+
display: flex;
|
|
2740
|
+
align-items: center;
|
|
2741
|
+
gap: 0.5rem;
|
|
2742
|
+
margin: 0 0 1rem 0;
|
|
2743
|
+
font-size: 0.875rem;
|
|
2744
|
+
font-weight: 600;
|
|
2745
|
+
color: hsl(var(--foreground));
|
|
2746
|
+
}
|
|
2747
|
+
|
|
2748
|
+
.model-config-section h4 svg,
|
|
2749
|
+
.model-config-section h4 i {
|
|
2750
|
+
width: 1rem;
|
|
2751
|
+
height: 1rem;
|
|
2752
|
+
color: hsl(var(--primary));
|
|
2753
|
+
}
|
|
2754
|
+
|
|
2755
|
+
.model-config-grid {
|
|
2756
|
+
display: grid;
|
|
2757
|
+
grid-template-columns: repeat(2, 1fr);
|
|
2758
|
+
gap: 0.75rem;
|
|
2759
|
+
}
|
|
2760
|
+
|
|
2761
|
+
.model-config-grid .form-group {
|
|
2762
|
+
margin-bottom: 0;
|
|
2763
|
+
}
|
|
2764
|
+
|
|
2765
|
+
.model-config-grid .form-group label {
|
|
2766
|
+
font-size: 0.75rem;
|
|
2767
|
+
font-family: 'SF Mono', 'Consolas', 'Liberation Mono', monospace;
|
|
2768
|
+
color: hsl(var(--muted-foreground));
|
|
2769
|
+
}
|
|
2770
|
+
|
|
2771
|
+
/* Form Actions - Sticky at bottom */
|
|
2772
|
+
.claude-config-form .form-actions {
|
|
2773
|
+
position: sticky;
|
|
2774
|
+
bottom: 0;
|
|
2775
|
+
margin-top: auto;
|
|
2776
|
+
padding: 1rem 0 0;
|
|
2777
|
+
background: hsl(var(--card));
|
|
2778
|
+
border-top: 1px solid hsl(var(--border));
|
|
2779
|
+
}
|
|
2780
|
+
|
|
2781
|
+
/* Responsive adjustments */
|
|
2782
|
+
@media (max-width: 640px) {
|
|
2783
|
+
.model-config-grid {
|
|
2784
|
+
grid-template-columns: 1fr;
|
|
2785
|
+
}
|
|
2786
|
+
|
|
2787
|
+
.config-mode-toggle {
|
|
2788
|
+
flex-direction: column;
|
|
2789
|
+
}
|
|
2790
|
+
}
|
|
2791
|
+
|
|
2792
|
+
/* ===========================
|
|
2793
|
+
JSON Editor Section
|
|
2794
|
+
=========================== */
|
|
2795
|
+
|
|
2796
|
+
.json-editor-section {
|
|
2797
|
+
margin-top: 1rem;
|
|
2798
|
+
border: 1px solid hsl(var(--border));
|
|
2799
|
+
border-radius: 0.5rem;
|
|
2800
|
+
overflow: hidden;
|
|
2801
|
+
background: hsl(var(--card));
|
|
2802
|
+
}
|
|
2803
|
+
|
|
2804
|
+
.json-editor-header {
|
|
2805
|
+
display: flex;
|
|
2806
|
+
align-items: center;
|
|
2807
|
+
justify-content: space-between;
|
|
2808
|
+
padding: 0.75rem 1rem;
|
|
2809
|
+
background: hsl(var(--muted) / 0.3);
|
|
2810
|
+
border-bottom: 1px solid hsl(var(--border));
|
|
2811
|
+
}
|
|
2812
|
+
|
|
2813
|
+
.json-editor-header h4 {
|
|
2814
|
+
display: flex;
|
|
2815
|
+
align-items: center;
|
|
2816
|
+
gap: 0.5rem;
|
|
2817
|
+
margin: 0;
|
|
2818
|
+
font-size: 0.875rem;
|
|
2819
|
+
font-weight: 600;
|
|
2820
|
+
color: hsl(var(--foreground));
|
|
2821
|
+
}
|
|
2822
|
+
|
|
2823
|
+
.json-editor-header h4 svg,
|
|
2824
|
+
.json-editor-header h4 i {
|
|
2825
|
+
width: 1rem;
|
|
2826
|
+
height: 1rem;
|
|
2827
|
+
color: hsl(var(--primary));
|
|
2828
|
+
}
|
|
2829
|
+
|
|
2830
|
+
.json-editor-actions {
|
|
2831
|
+
display: flex;
|
|
2832
|
+
gap: 0.25rem;
|
|
2833
|
+
}
|
|
2834
|
+
|
|
2835
|
+
.json-editor-actions .btn-ghost {
|
|
2836
|
+
padding: 0.375rem 0.625rem;
|
|
2837
|
+
font-size: 0.75rem;
|
|
2838
|
+
background: transparent;
|
|
2839
|
+
border: none;
|
|
2840
|
+
color: hsl(var(--muted-foreground));
|
|
2841
|
+
cursor: pointer;
|
|
2842
|
+
border-radius: 0.25rem;
|
|
2843
|
+
display: inline-flex;
|
|
2844
|
+
align-items: center;
|
|
2845
|
+
gap: 0.25rem;
|
|
2846
|
+
transition: all 0.15s;
|
|
2847
|
+
}
|
|
2848
|
+
|
|
2849
|
+
.json-editor-actions .btn-ghost:hover {
|
|
2850
|
+
background: hsl(var(--muted) / 0.5);
|
|
2851
|
+
color: hsl(var(--foreground));
|
|
2852
|
+
}
|
|
2853
|
+
|
|
2854
|
+
.json-editor-actions .btn-ghost svg,
|
|
2855
|
+
.json-editor-actions .btn-ghost i {
|
|
2856
|
+
width: 0.875rem;
|
|
2857
|
+
height: 0.875rem;
|
|
2858
|
+
}
|
|
2859
|
+
|
|
2860
|
+
.json-editor-body {
|
|
2861
|
+
display: flex;
|
|
2862
|
+
position: relative;
|
|
2863
|
+
min-height: 200px;
|
|
2864
|
+
max-height: min(450px, 50vh);
|
|
2865
|
+
}
|
|
2866
|
+
|
|
2867
|
+
.json-line-numbers {
|
|
2868
|
+
width: 2.5rem;
|
|
2869
|
+
padding: 0.75rem 0.5rem;
|
|
2870
|
+
background: hsl(var(--muted) / 0.2);
|
|
2871
|
+
border-right: 1px solid hsl(var(--border));
|
|
2872
|
+
font-family: 'SF Mono', 'Consolas', 'Liberation Mono', monospace;
|
|
2873
|
+
font-size: 0.75rem;
|
|
2874
|
+
line-height: 1.5;
|
|
2875
|
+
color: hsl(var(--muted-foreground));
|
|
2876
|
+
text-align: right;
|
|
2877
|
+
user-select: none;
|
|
2878
|
+
overflow: hidden;
|
|
2879
|
+
flex-shrink: 0;
|
|
2880
|
+
}
|
|
2881
|
+
|
|
2882
|
+
.json-line-numbers span {
|
|
2883
|
+
display: block;
|
|
2884
|
+
}
|
|
2885
|
+
|
|
2886
|
+
.json-textarea {
|
|
2887
|
+
flex: 1;
|
|
2888
|
+
padding: 0.75rem;
|
|
2889
|
+
border: none;
|
|
2890
|
+
resize: none;
|
|
2891
|
+
font-family: 'SF Mono', 'Consolas', 'Liberation Mono', monospace;
|
|
2892
|
+
font-size: 0.8125rem;
|
|
2893
|
+
line-height: 1.5;
|
|
2894
|
+
color: hsl(var(--foreground));
|
|
2895
|
+
background: hsl(var(--background));
|
|
2896
|
+
outline: none;
|
|
2897
|
+
overflow-y: auto;
|
|
2898
|
+
tab-size: 2;
|
|
2899
|
+
}
|
|
2900
|
+
|
|
2901
|
+
.json-textarea::placeholder {
|
|
2902
|
+
color: hsl(var(--muted-foreground) / 0.5);
|
|
2903
|
+
}
|
|
2904
|
+
|
|
2905
|
+
.json-textarea.invalid {
|
|
2906
|
+
background: hsl(var(--destructive) / 0.05);
|
|
2907
|
+
border-left: 2px solid hsl(var(--destructive));
|
|
2908
|
+
}
|
|
2909
|
+
|
|
2910
|
+
.json-editor-footer {
|
|
2911
|
+
display: flex;
|
|
2912
|
+
align-items: center;
|
|
2913
|
+
justify-content: space-between;
|
|
2914
|
+
padding: 0.5rem 1rem;
|
|
2915
|
+
background: hsl(var(--muted) / 0.2);
|
|
2916
|
+
border-top: 1px solid hsl(var(--border));
|
|
2917
|
+
}
|
|
2918
|
+
|
|
2919
|
+
.json-status {
|
|
2920
|
+
display: inline-flex;
|
|
2921
|
+
align-items: center;
|
|
2922
|
+
gap: 0.25rem;
|
|
2923
|
+
font-size: 0.75rem;
|
|
2924
|
+
font-weight: 500;
|
|
2925
|
+
}
|
|
2926
|
+
|
|
2927
|
+
.json-status svg,
|
|
2928
|
+
.json-status i {
|
|
2929
|
+
width: 0.875rem;
|
|
2930
|
+
height: 0.875rem;
|
|
2931
|
+
}
|
|
2932
|
+
|
|
2933
|
+
.json-status.valid {
|
|
2934
|
+
color: hsl(142 76% 36%);
|
|
2935
|
+
}
|
|
2936
|
+
|
|
2937
|
+
.json-status.invalid {
|
|
2938
|
+
color: hsl(var(--destructive));
|
|
2939
|
+
}
|
|
2940
|
+
|
|
2941
|
+
.json-hint {
|
|
2942
|
+
font-size: 0.6875rem;
|
|
2943
|
+
color: hsl(var(--muted-foreground));
|
|
2944
|
+
}
|
|
2945
|
+
|
|
2946
|
+
/* Parse JSON link in footer */
|
|
2947
|
+
.json-parse-link {
|
|
2948
|
+
font-size: 0.75rem;
|
|
2949
|
+
color: hsl(var(--primary));
|
|
2950
|
+
text-decoration: none;
|
|
2951
|
+
cursor: pointer;
|
|
2952
|
+
transition: color 0.2s ease;
|
|
2953
|
+
}
|
|
2954
|
+
|
|
2955
|
+
.json-parse-link:hover {
|
|
2956
|
+
color: hsl(var(--primary) / 0.8);
|
|
2957
|
+
text-decoration: underline;
|
|
2958
|
+
}
|
|
2959
|
+
|
|
2960
|
+
/* Input with toggle button (for password visibility) */
|
|
2961
|
+
.input-with-toggle {
|
|
2962
|
+
position: relative;
|
|
2963
|
+
display: flex;
|
|
2964
|
+
align-items: center;
|
|
2965
|
+
}
|
|
2966
|
+
|
|
2967
|
+
.input-with-toggle .form-control {
|
|
2968
|
+
flex: 1;
|
|
2969
|
+
padding-right: 2.5rem;
|
|
2970
|
+
}
|
|
2971
|
+
|
|
2972
|
+
.input-with-toggle .toggle-password {
|
|
2973
|
+
position: absolute;
|
|
2974
|
+
right: 0.25rem;
|
|
2975
|
+
top: 50%;
|
|
2976
|
+
transform: translateY(-50%);
|
|
2977
|
+
padding: 0.25rem 0.5rem;
|
|
2978
|
+
background: transparent;
|
|
2979
|
+
border: none;
|
|
2980
|
+
color: hsl(var(--muted-foreground));
|
|
2981
|
+
cursor: pointer;
|
|
2982
|
+
display: flex;
|
|
2983
|
+
align-items: center;
|
|
2984
|
+
justify-content: center;
|
|
2985
|
+
}
|
|
2986
|
+
|
|
2987
|
+
.input-with-toggle .toggle-password:hover {
|
|
2988
|
+
color: hsl(var(--foreground));
|
|
2989
|
+
}
|
|
2990
|
+
|
|
2991
|
+
.input-with-toggle .toggle-password i,
|
|
2992
|
+
.input-with-toggle .toggle-password svg {
|
|
2993
|
+
width: 16px;
|
|
2994
|
+
height: 16px;
|
|
2995
|
+
}
|
|
2996
|
+
|
|
2997
|
+
/* Button styles for JSON editor */
|
|
2998
|
+
.btn-sm {
|
|
2999
|
+
padding: 0.375rem 0.75rem;
|
|
3000
|
+
font-size: 0.75rem;
|
|
3001
|
+
border-radius: 0.375rem;
|
|
2265
3002
|
}
|