feat: Nano Claw Code provider (stream-json harness)#141
Conversation
7d8a8b2 to
bf4af03
Compare
PR Review: Nano Claw Code Provider & System ConsolidationThis PR introduces the Nano Claw Code provider and consolidates the system by removing legacy research pipeline components (~70k lines). The implementation is high-quality and significantly improves maintainability. Key Findings:
Note on Rebase:I have successfully rebased this PR onto Status: Approve with minor suggestions. |
76b032f to
2c6f4ae
Compare
Rename: nano-claw-code → nano-claude-codeThis push completes the full rename from nano-claw-code to nano-claude-code across both this repo and the upstream nano-claude-code project. Changes in this commitServer:
Frontend:
Shared:
Bug fixed
Upstream (nano-claude-code repo)Pushed rename commit to OpenLAIR/nano-claude-code main — Python package, imports, configs, tests, docs, and assets all renamed. |
2c6f4ae to
329d3bd
Compare
Review follow-up — remaining items before mergeCurrent status: 🔴 CI
|
Complete rename of all nano-claw-code references to nano-claude-code: Server: - Rename server/nano-claw-code.js to server/nano-claude-code.js - Remove legacy NANO_CLAW_CODE_* env var fallbacks - Update cli-auth.js: remove legacy command/env detection fallbacks - Update .env.example: remove legacy env var comment Frontend: - Add NanoClaudeLogo component with rounded-rect PNG icon - Register nano provider in SessionProviderLogo.tsx - Update chatStorage: remove legacy nano-claw-code-settings fallback - Update useChatProviderState: remove nano-claw-code-model fallback Shared: - Update modelConstants.js: remove NANO_CLAW_CODE_MODEL fallback - Update nanoSessionPaths.js comment - Update brainstorm doc file path references Fixes: .env NANO_CLAW_CODE_COMMAND -> NANO_CLAUDE_CODE_COMMAND
Remove old-style SkillShortcutsPanel + ChatTaskProgressPill row that was left over from a rebase conflict. Skill shortcuts are already integrated into ChatComposer via SkillDropdown. Also removes the unused ChatTaskProgressPill in the no-project-selected state and cleans up dead imports (SkillShortcutsPanel, ChatTaskProgressPill, useTasksSettings).
- Add onOpenAutoResearch and onOpenCompute handlers to sidebarSharedProps (fixes SidebarProps type mismatch in AppContent.tsx) - Add onOpenShellForSession to ChatInterfaceProps - Pass setInput prop to ChatComposer - Widen sidebarTab state type to include 'shell' and 'git' tabs - Remove duplicate SkillShortcutsPanel and stale ChatTaskProgressPill - Remove unused imports: CLAUDE_MODELS, CURSOR_MODELS from agent.js; ChatTaskProgressPill, useTasksSettings from ChatInterface.tsx - Fix remaining nano-claw-code references to nano-claude-code
329d3bd to
85f640b
Compare
Fixes applied — all review items resolvedRebased onto latest 🔴 CI typecheck fixes
🟡 Unused importsRemoved Also cleaned up dead imports in Additional
|
The rebase in #141 (Nano Claude Code provider) incorrectly resolved conflicts in the chat empty-state components, replacing the clean Gemini-style greeting layout with the old verbose provider-selection cards. This restores the pre-#141 UI for ProviderSelectionEmptyState, ChatMessagesPane, and ChatInterface, then re-adds the minimal nano provider wiring (types, availability, model config) needed for compile compatibility. Nano Claude Code is commented out in the composer provider list for now. Made-with: Cursor
Adds a nano chat provider that runs the nano-claw-code CLI in --output-format stream-json\ mode and maps NDJSON lines to existing \claude-response\ / \claude-complete\ WebSocket messages so the current chat UI works without a parallel renderer.
Server
ano-command, abort/status/active-sessions wiring, REST agent route \provider: nano, /api/cli/nano/status.
UI
Harness
ano-claude-code/\ checkout in this workspace includes companion changes (--session-file, --resume\ with -p\ for json/stream-json,
ano_session_file\ on result events). Those files live in a separate git repo; merge them into nano-claw-code (or install from a branch that contains them) for multi-turn persistence. Dr. Claw works with a single-shot nano install but will not resume conversations until the CLI supports the new flags.
drclaw Python CLI
ano\ → websocket
ano-command.
Made with Cursor