Commit Graph
4 Commits
Author SHA1 Message Date
arkonandClaude Opus 4.5 384350f731 feat: add type-safe error handling utilities
- Add isError() type guard to check if value is Error instance
- Add getErrorMessage() utility for safe error message extraction
  in catch blocks (handles TypeScript 4.4+ unknown error type)
- Replace all (err as Error).message patterns with getErrorMessage(err)
  across server.ts, cli.ts, ralph-loop.ts, and screen-manager.ts
- Follows TypeScript best practice of treating caught errors as unknown

This improves code safety by properly handling the case where caught
values may not be Error instances (e.g., thrown strings or objects).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 14:07:04 +01:00
arkonandClaude Opus 4.5 c33d6e0987 refactor: improve code quality with stricter TypeScript and memory leak prevention
- Add stricter TypeScript compiler flags (noUnusedLocals, noUnusedParameters,
  noImplicitReturns, noImplicitOverride, noFallthroughCasesInSwitch,
  allowUnreachableCode, allowUnusedLabels)
- Remove unused variables caught by stricter flags:
  - Remove unused `renameSession` destructuring in App.tsx
  - Remove unused `BG_GRAY` constant in DirectAttach.ts
  - Remove unused `INPUT_BATCH_INTERVAL` constant in useSessionManager.ts
- Add proper EventEmitter cleanup to RalphLoop:
  - Store bound event handlers for cleanup
  - Add cleanupEventHandlers() method
  - Add destroy() method for complete cleanup
  - Add destroyRalphLoop() singleton cleanup function
- Update ralph-loop tests to use destroy() instead of stop() to prevent
  MaxListenersExceededWarning

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 14:01:47 +01:00
arkonandClaude Opus 4.5 5a20f85e05 docs: add JSDoc comments to ralph-loop.ts
Comprehensive documentation for RalphLoop:
- Module-level description explaining the loop concept
- Event interface documentation
- Options interface with descriptions
- Class-level lifecycle description
- Method documentation for public API

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 07:13:42 +01:00
arkonandClaude Opus 4.5 e1bb800473 feat: implement Claudeman - Claude session manager with Ralph Loop
Claudeman manages multiple Claude CLI sessions as subprocesses with:
- Session management (start/stop/list/logs)
- Priority-based task queue with dependency support
- Ralph Loop for autonomous task assignment and completion detection
- Time-aware loops for extended work sessions
- JSON file persistence to ~/.claudeman/state.json

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 04:50:46 +01:00