This document outlines the plan for enhancing the console output capabilities of `@push.rocks/smartlog` by creating a comprehensive interactive console module. This involves renaming the current `ts_source_ora` module to `ts_source_interactive`, implementing our own spinner functionality (removing the ora dependency), and adding new features like progress bars and other interactive elements.
## Implementation Steps
### 1. Rename and Restructure
- Rename directory from `ts_source_ora` to `ts_source_interactive`
- Update all imports, exports, and references
- Update package.json exports to reflect new module name
- Maintain backward compatibility through proper export paths
### 2. Custom Spinner Implementation
- Create a native spinner implementation to replace ora dependency
- Implement spinner frames and animation timing
- Maintain API compatibility with current spinner methods:
-`text(textArg)` - Set text and start spinner
-`stop()` - Stop the spinner
-`finishSuccess(textArg?)` - Mark as succeeded
-`finishFail(textArg?)` - Mark as failed
-`successAndNext(textArg)` - Success and start new spinner
-`failAndNext(textArg)` - Fail and start new spinner