@navios/commander-tui 1.0.0 → 1.2.0
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/CHANGELOG.md +35 -0
- package/README.md +27 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/lib/index.cjs +338 -22
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +161 -118
- package/lib/index.d.cts.map +1 -1
- package/lib/index.d.mts +176 -133
- package/lib/index.d.mts.map +1 -1
- package/lib/index.mjs +333 -24
- package/lib/index.mjs.map +1 -1
- package/lib/{screen_manager_bridge-DN2J6_k1.mjs → screen_manager_bridge-Bk1i53h5.mjs} +1 -1
- package/lib/{screen_manager_bridge-Dfg4QUrl.mjs → screen_manager_bridge-BwPVr0bX.mjs} +17 -3
- package/lib/screen_manager_bridge-BwPVr0bX.mjs.map +1 -0
- package/lib/{screen_manager_bridge-BpDgVu3e.cjs → screen_manager_bridge-CWxLO0CK.cjs} +17 -3
- package/lib/screen_manager_bridge-CWxLO0CK.cjs.map +1 -0
- package/lib/{screen_manager_bridge-CkV7637i.cjs → screen_manager_bridge-DXc57iXW.cjs} +1 -1
- package/package.json +1 -1
- package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +2604 -0
- package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +1621 -0
- package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +3757 -0
- package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +2042 -0
- package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +3652 -0
- package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +3426 -0
- package/src/__tests__/components/sidebar.spec.tsx +17 -0
- package/src/__tests__/services/logger.spec.ts +5 -3
- package/src/factories/index.ts +1 -0
- package/src/factories/isomorphic-logger.factory.ts +23 -0
- package/src/index.ts +5 -0
- package/src/interfaces/index.ts +1 -0
- package/src/interfaces/isomorphic-logger.ts +9 -0
- package/src/overrides/console.logger.override.ts +8 -1
- package/src/schemas/screen-options.ts +2 -0
- package/src/services/logger.ts +1 -1
- package/src/services/screen.ts +3 -0
- package/src/services/screen_manager.tsx +16 -12
- package/src/themes/dark.ts +4 -0
- package/src/themes/high-contrast.ts +4 -0
- package/src/themes/light.ts +4 -0
- package/src/tokens/logger.ts +9 -0
- package/src/types/screen.types.ts +2 -2
- package/src/types/theme.types.ts +1 -0
- package/src/utils/format.ts +3 -2
- package/lib/screen_manager_bridge-BpDgVu3e.cjs.map +0 -1
- package/lib/screen_manager_bridge-Dfg4QUrl.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,41 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.2.0] - 2026-01-11
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Isomorphic Logger** - New `IsomorphicLogger` token and factory for unified logging across TUI and server environments
|
|
13
|
+
- `IsomorphicLoggerInterface` type that works with both `ScreenLogger` (TUI) and standard `Logger` (server)
|
|
14
|
+
- `IsomorphicLoggerFactory` automatically selects the appropriate logger based on TUI availability
|
|
15
|
+
- **Interfaces Export** - New `interfaces` module export for public type definitions
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **Mouse Support Default** - `useMouse` option now defaults to `true` (previously `false`)
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- **Stack Trace Capture** - Improved `captureTrace()` to dynamically find the correct stack frame offset, ensuring accurate trace output regardless of call depth
|
|
24
|
+
|
|
25
|
+
## [1.1.0] - 2026-01-10
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- **Static screen status** - New `static` status for screens that persist without affecting auto-close behavior
|
|
30
|
+
- **Static screen option** - `static: boolean` option in screen configuration to mark screens as static
|
|
31
|
+
- **Logger setup method** - Added `setup()` method to console logger override for configuring log levels
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- **Auto-close behavior** - Static screens are now excluded from auto-close calculations. Auto-close triggers when all non-static screens succeed, or after delay if only static screens exist
|
|
36
|
+
- **Console logger screen** - Default console logger screen renamed from 'default' to 'internal' and marked as static
|
|
37
|
+
- **Auto-close timer** - Timer now resets on any screen activity via `notifyChange()`
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- **Theme consistency** - Added `static` status indicator to all themes (dark, light, high-contrast)
|
|
42
|
+
|
|
8
43
|
## [1.0.0] - 2025-01-10
|
|
9
44
|
|
|
10
45
|
### Added
|
package/README.md
CHANGED
|
@@ -99,6 +99,33 @@ logger.fatal('Fatal error')
|
|
|
99
99
|
logger.log('Step 1').log('Step 2').success('Done!')
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
+
### IsomorphicLogger
|
|
103
|
+
|
|
104
|
+
A unified logger that automatically switches between `ScreenLogger` (TUI mode) and standard `Logger` (server mode) based on the environment. This is useful when writing code that needs to work both in TUI and non-TUI contexts.
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
import { IsomorphicLogger } from '@navios/commander-tui'
|
|
108
|
+
import { inject, Injectable } from '@navios/core'
|
|
109
|
+
|
|
110
|
+
@Injectable()
|
|
111
|
+
class MyService {
|
|
112
|
+
// Will use ScreenLogger when TUI is bound, otherwise standard Logger
|
|
113
|
+
private logger = inject(IsomorphicLogger, { context: 'MyService' })
|
|
114
|
+
|
|
115
|
+
doWork() {
|
|
116
|
+
this.logger.log('Processing...')
|
|
117
|
+
this.logger.debug('Debug info')
|
|
118
|
+
this.logger.error('Something went wrong')
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The `IsomorphicLoggerFactory` checks if the `ScreenManager` has an active TUI binding:
|
|
124
|
+
- **TUI bound**: Returns a `ScreenLogger` instance with full TUI features
|
|
125
|
+
- **TUI not bound**: Returns a standard `Logger` instance for console output
|
|
126
|
+
|
|
127
|
+
This makes it easy to write services that can be used in both CLI tools with TUI and background server processes.
|
|
128
|
+
|
|
102
129
|
#### Loading Indicators
|
|
103
130
|
|
|
104
131
|
```typescript
|