@navios/commander-tui 1.0.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 +25 -0
- package/README.md +275 -0
- package/coverage/__tests__/utils/factories.ts.html +1147 -0
- package/coverage/__tests__/utils/index.html +131 -0
- package/coverage/__tests__/utils/render-utils.tsx.html +202 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/clover.xml +959 -0
- package/coverage/components/filter/filter_bar.tsx.html +322 -0
- package/coverage/components/filter/index.html +116 -0
- package/coverage/components/log/index.html +131 -0
- package/coverage/components/log/index.ts.html +88 -0
- package/coverage/components/log/log_message.tsx.html +391 -0
- package/coverage/components/prompt/index.html +116 -0
- package/coverage/components/prompt/prompt_renderer.tsx.html +1123 -0
- package/coverage/components/screen/index.html +131 -0
- package/coverage/components/screen/loading_message.tsx.html +217 -0
- package/coverage/components/screen/progress_message.tsx.html +265 -0
- package/coverage/components/sidebar/index.html +146 -0
- package/coverage/components/sidebar/sidebar.tsx.html +391 -0
- package/coverage/components/sidebar/sidebar_item.tsx.html +235 -0
- package/coverage/components/sidebar/sidebar_separator.tsx.html +124 -0
- package/coverage/context/index.html +131 -0
- package/coverage/context/index.ts.html +88 -0
- package/coverage/context/logger_context.tsx.html +412 -0
- package/coverage/coverage-final.json +55 -0
- package/coverage/favicon.png +0 -0
- package/coverage/filter/filter_engine.ts.html +424 -0
- package/coverage/filter/index.html +116 -0
- package/coverage/hooks/index.html +131 -0
- package/coverage/hooks/index.ts.html +88 -0
- package/coverage/hooks/use_theme.ts.html +121 -0
- package/coverage/index.html +356 -0
- package/coverage/keyboard/index.html +116 -0
- package/coverage/keyboard/keyboard_manager.ts.html +784 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/schemas/index.html +161 -0
- package/coverage/schemas/index.ts.html +94 -0
- package/coverage/schemas/logger-options.ts.html +124 -0
- package/coverage/schemas/prompt-options.ts.html +112 -0
- package/coverage/schemas/screen-options.ts.html +127 -0
- package/coverage/services/index.html +146 -0
- package/coverage/services/logger.ts.html +1192 -0
- package/coverage/services/prompt.ts.html +568 -0
- package/coverage/services/screen.ts.html +1804 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +210 -0
- package/coverage/themes/dark.ts.html +604 -0
- package/coverage/themes/high-contrast.ts.html +619 -0
- package/coverage/themes/index.html +176 -0
- package/coverage/themes/index.ts.html +97 -0
- package/coverage/themes/light.ts.html +601 -0
- package/coverage/themes/utils.ts.html +334 -0
- package/coverage/tokens/index.html +161 -0
- package/coverage/tokens/index.ts.html +94 -0
- package/coverage/tokens/logger.ts.html +115 -0
- package/coverage/tokens/prompt.ts.html +115 -0
- package/coverage/tokens/screen.ts.html +115 -0
- package/coverage/types/file.types.ts.html +265 -0
- package/coverage/types/filter.types.ts.html +238 -0
- package/coverage/types/index.html +236 -0
- package/coverage/types/index.ts.html +151 -0
- package/coverage/types/keyboard.types.ts.html +364 -0
- package/coverage/types/log.types.ts.html +268 -0
- package/coverage/types/message.types.ts.html +445 -0
- package/coverage/types/prompt.types.ts.html +403 -0
- package/coverage/types/screen.types.ts.html +451 -0
- package/coverage/types/theme.types.ts.html +841 -0
- package/coverage/utils/colors/file-colors.ts.html +112 -0
- package/coverage/utils/colors/helpers.ts.html +235 -0
- package/coverage/utils/colors/index.html +221 -0
- package/coverage/utils/colors/index.ts.html +145 -0
- package/coverage/utils/colors/log-colors.ts.html +253 -0
- package/coverage/utils/colors/progress-colors.ts.html +160 -0
- package/coverage/utils/colors/prompt-colors.ts.html +175 -0
- package/coverage/utils/colors/sidebar-colors.ts.html +241 -0
- package/coverage/utils/colors/table-colors.ts.html +118 -0
- package/coverage/utils/filetype.ts.html +277 -0
- package/coverage/utils/format.ts.html +241 -0
- package/coverage/utils/index.html +161 -0
- package/coverage/utils/index.ts.html +118 -0
- package/coverage/utils/stdout-printer.ts.html +523 -0
- package/dist/src/components/file/file_log.d.ts +35 -0
- package/dist/src/components/file/file_log.d.ts.map +1 -0
- package/dist/src/components/file/index.d.ts +2 -0
- package/dist/src/components/file/index.d.ts.map +1 -0
- package/dist/src/components/filter/filter_bar.d.ts +10 -0
- package/dist/src/components/filter/filter_bar.d.ts.map +1 -0
- package/dist/src/components/filter/index.d.ts +2 -0
- package/dist/src/components/filter/index.d.ts.map +1 -0
- package/dist/src/components/help/help_overlay.d.ts +10 -0
- package/dist/src/components/help/help_overlay.d.ts.map +1 -0
- package/dist/src/components/help/index.d.ts +2 -0
- package/dist/src/components/help/index.d.ts.map +1 -0
- package/dist/src/components/index.d.ts +27 -0
- package/dist/src/components/index.d.ts.map +1 -0
- package/dist/src/components/log/debug_log.d.ts +3 -0
- package/dist/src/components/log/debug_log.d.ts.map +1 -0
- package/dist/src/components/log/error_log.d.ts +3 -0
- package/dist/src/components/log/error_log.d.ts.map +1 -0
- package/dist/src/components/log/fatal_log.d.ts +3 -0
- package/dist/src/components/log/fatal_log.d.ts.map +1 -0
- package/dist/src/components/log/index.d.ts +9 -0
- package/dist/src/components/log/index.d.ts.map +1 -0
- package/dist/src/components/log/info_log.d.ts +3 -0
- package/dist/src/components/log/info_log.d.ts.map +1 -0
- package/dist/src/components/log/log_message.d.ts +33 -0
- package/dist/src/components/log/log_message.d.ts.map +1 -0
- package/dist/src/components/log/success_log.d.ts +3 -0
- package/dist/src/components/log/success_log.d.ts.map +1 -0
- package/dist/src/components/log/trace_log.d.ts +3 -0
- package/dist/src/components/log/trace_log.d.ts.map +1 -0
- package/dist/src/components/log/warning_log.d.ts +3 -0
- package/dist/src/components/log/warning_log.d.ts.map +1 -0
- package/dist/src/components/prompt/index.d.ts +3 -0
- package/dist/src/components/prompt/index.d.ts.map +1 -0
- package/dist/src/components/prompt/prompt_renderer.d.ts +6 -0
- package/dist/src/components/prompt/prompt_renderer.d.ts.map +1 -0
- package/dist/src/components/screen/group_renderer.d.ts +19 -0
- package/dist/src/components/screen/group_renderer.d.ts.map +1 -0
- package/dist/src/components/screen/index.d.ts +13 -0
- package/dist/src/components/screen/index.d.ts.map +1 -0
- package/dist/src/components/screen/loading_message.d.ts +6 -0
- package/dist/src/components/screen/loading_message.d.ts.map +1 -0
- package/dist/src/components/screen/message_renderer.d.ts +8 -0
- package/dist/src/components/screen/message_renderer.d.ts.map +1 -0
- package/dist/src/components/screen/progress_message.d.ts +8 -0
- package/dist/src/components/screen/progress_message.d.ts.map +1 -0
- package/dist/src/components/screen/screen_bridge.d.ts +20 -0
- package/dist/src/components/screen/screen_bridge.d.ts.map +1 -0
- package/dist/src/components/screen/table_message.d.ts +6 -0
- package/dist/src/components/screen/table_message.d.ts.map +1 -0
- package/dist/src/components/screen_manager_bridge.d.ts +11 -0
- package/dist/src/components/screen_manager_bridge.d.ts.map +1 -0
- package/dist/src/components/sidebar/index.d.ts +6 -0
- package/dist/src/components/sidebar/index.d.ts.map +1 -0
- package/dist/src/components/sidebar/sidebar.d.ts +18 -0
- package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/src/components/sidebar/sidebar_item.d.ts +14 -0
- package/dist/src/components/sidebar/sidebar_item.d.ts.map +1 -0
- package/dist/src/components/sidebar/sidebar_separator.d.ts +2 -0
- package/dist/src/components/sidebar/sidebar_separator.d.ts.map +1 -0
- package/dist/src/context/logger_context.d.ts +60 -0
- package/dist/src/context/logger_context.d.ts.map +1 -0
- package/dist/src/filter/filter_engine.d.ts +20 -0
- package/dist/src/filter/filter_engine.d.ts.map +1 -0
- package/dist/src/filter/index.d.ts +4 -0
- package/dist/src/filter/index.d.ts.map +1 -0
- package/dist/src/hooks/index.d.ts +2 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/use_theme.d.ts +7 -0
- package/dist/src/hooks/use_theme.d.ts.map +1 -0
- package/dist/src/index.d.ts +88 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/keyboard/create_bindings.d.ts +31 -0
- package/dist/src/keyboard/create_bindings.d.ts.map +1 -0
- package/dist/src/keyboard/index.d.ts +12 -0
- package/dist/src/keyboard/index.d.ts.map +1 -0
- package/dist/src/keyboard/keyboard_manager.d.ts +69 -0
- package/dist/src/keyboard/keyboard_manager.d.ts.map +1 -0
- package/dist/src/services/index.d.ts +5 -0
- package/dist/src/services/index.d.ts.map +1 -0
- package/dist/src/services/logger.d.ts +61 -0
- package/dist/src/services/logger.d.ts.map +1 -0
- package/dist/src/services/prompt.d.ts +37 -0
- package/dist/src/services/prompt.d.ts.map +1 -0
- package/dist/src/services/screen.d.ts +165 -0
- package/dist/src/services/screen.d.ts.map +1 -0
- package/dist/src/services/screen_manager.d.ts +124 -0
- package/dist/src/services/screen_manager.d.ts.map +1 -0
- package/dist/src/themes/dark.d.ts +7 -0
- package/dist/src/themes/dark.d.ts.map +1 -0
- package/dist/src/themes/high-contrast.d.ts +7 -0
- package/dist/src/themes/high-contrast.d.ts.map +1 -0
- package/dist/src/themes/index.d.ts +18 -0
- package/dist/src/themes/index.d.ts.map +1 -0
- package/dist/src/themes/light.d.ts +6 -0
- package/dist/src/themes/light.d.ts.map +1 -0
- package/dist/src/themes/utils.d.ts +22 -0
- package/dist/src/themes/utils.d.ts.map +1 -0
- package/dist/src/types/file.types.d.ts +40 -0
- package/dist/src/types/file.types.d.ts.map +1 -0
- package/dist/src/types/filter.types.d.ts +31 -0
- package/dist/src/types/filter.types.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +81 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/keyboard.types.d.ts +83 -0
- package/dist/src/types/keyboard.types.d.ts.map +1 -0
- package/dist/src/types/log.types.d.ts +32 -0
- package/dist/src/types/log.types.d.ts.map +1 -0
- package/dist/src/types/message.types.d.ts +91 -0
- package/dist/src/types/message.types.d.ts.map +1 -0
- package/dist/src/types/prompt.types.d.ts +89 -0
- package/dist/src/types/prompt.types.d.ts.map +1 -0
- package/dist/src/types/screen.types.d.ts +85 -0
- package/dist/src/types/screen.types.d.ts.map +1 -0
- package/dist/src/types/theme.types.d.ts +216 -0
- package/dist/src/types/theme.types.d.ts.map +1 -0
- package/dist/src/utils/colors/file-colors.d.ts +10 -0
- package/dist/src/utils/colors/file-colors.d.ts.map +1 -0
- package/dist/src/utils/colors/helpers.d.ts +29 -0
- package/dist/src/utils/colors/helpers.d.ts.map +1 -0
- package/dist/src/utils/colors/index.d.ts +13 -0
- package/dist/src/utils/colors/index.d.ts.map +1 -0
- package/dist/src/utils/colors/log-colors.d.ts +15 -0
- package/dist/src/utils/colors/log-colors.d.ts.map +1 -0
- package/dist/src/utils/colors/progress-colors.d.ts +25 -0
- package/dist/src/utils/colors/progress-colors.d.ts.map +1 -0
- package/dist/src/utils/colors/prompt-colors.d.ts +22 -0
- package/dist/src/utils/colors/prompt-colors.d.ts.map +1 -0
- package/dist/src/utils/colors/sidebar-colors.d.ts +50 -0
- package/dist/src/utils/colors/sidebar-colors.d.ts.map +1 -0
- package/dist/src/utils/colors/table-colors.d.ts +12 -0
- package/dist/src/utils/colors/table-colors.d.ts.map +1 -0
- package/dist/src/utils/filetype.d.ts +19 -0
- package/dist/src/utils/filetype.d.ts.map +1 -0
- package/dist/src/utils/format.d.ts +9 -0
- package/dist/src/utils/format.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +20 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/stdout-printer.d.ts +10 -0
- package/dist/src/utils/stdout-printer.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/tsdown.config.d.mts +5 -0
- package/dist/tsdown.config.d.mts.map +1 -0
- package/dist/vitest.config.d.mts +3 -0
- package/dist/vitest.config.d.mts.map +1 -0
- package/lib/index.cjs +6349 -0
- package/lib/index.cjs.map +1 -0
- package/lib/index.d.cts +1720 -0
- package/lib/index.d.cts.map +1 -0
- package/lib/index.d.mts +1720 -0
- package/lib/index.d.mts.map +1 -0
- package/lib/index.mjs +6264 -0
- package/lib/index.mjs.map +1 -0
- package/lib/screen_manager_bridge-BpDgVu3e.cjs +3357 -0
- package/lib/screen_manager_bridge-BpDgVu3e.cjs.map +1 -0
- package/lib/screen_manager_bridge-CkV7637i.cjs +3 -0
- package/lib/screen_manager_bridge-DN2J6_k1.mjs +3 -0
- package/lib/screen_manager_bridge-Dfg4QUrl.mjs +3034 -0
- package/lib/screen_manager_bridge-Dfg4QUrl.mjs.map +1 -0
- package/package.json +43 -0
- package/project.json +60 -0
- package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +2245 -0
- package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +1382 -0
- package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +3169 -0
- package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +1743 -0
- package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +3135 -0
- package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +2617 -0
- package/src/__tests__/components/filter_bar.spec.tsx +190 -0
- package/src/__tests__/components/loading_message.spec.tsx +110 -0
- package/src/__tests__/components/log_message.spec.tsx +166 -0
- package/src/__tests__/components/progress_message.spec.tsx +147 -0
- package/src/__tests__/components/prompt_renderer.spec.tsx +274 -0
- package/src/__tests__/components/sidebar.spec.tsx +305 -0
- package/src/__tests__/filter/filter_engine.spec.ts +325 -0
- package/src/__tests__/keyboard/keyboard_manager.spec.ts +557 -0
- package/src/__tests__/mocks/scm-mock.ts +5 -0
- package/src/__tests__/services/logger.spec.ts +630 -0
- package/src/__tests__/services/prompt.spec.ts +411 -0
- package/src/__tests__/services/screen.spec.ts +721 -0
- package/src/__tests__/setup.ts +43 -0
- package/src/__tests__/utils/factories.ts +354 -0
- package/src/__tests__/utils/filetype.spec.ts +195 -0
- package/src/__tests__/utils/format.spec.ts +178 -0
- package/src/__tests__/utils/render-utils.tsx +39 -0
- package/src/__tests__/utils/test-container.ts +48 -0
- package/src/components/file/file_log.tsx +241 -0
- package/src/components/file/index.ts +1 -0
- package/src/components/filter/filter_bar.tsx +79 -0
- package/src/components/filter/index.ts +1 -0
- package/src/components/help/help_overlay.tsx +100 -0
- package/src/components/help/index.ts +1 -0
- package/src/components/index.ts +15 -0
- package/src/components/log/index.ts +1 -0
- package/src/components/log/log_message.tsx +102 -0
- package/src/components/prompt/index.ts +2 -0
- package/src/components/prompt/prompt_renderer.tsx +346 -0
- package/src/components/screen/group_renderer.tsx +64 -0
- package/src/components/screen/index.ts +6 -0
- package/src/components/screen/loading_message.tsx +44 -0
- package/src/components/screen/message_renderer.tsx +108 -0
- package/src/components/screen/progress_message.tsx +60 -0
- package/src/components/screen/screen_bridge.tsx +149 -0
- package/src/components/screen/table_message.tsx +57 -0
- package/src/components/screen_manager_bridge.tsx +245 -0
- package/src/components/sidebar/index.ts +3 -0
- package/src/components/sidebar/sidebar.tsx +102 -0
- package/src/components/sidebar/sidebar_item.tsx +50 -0
- package/src/components/sidebar/sidebar_separator.tsx +13 -0
- package/src/context/index.ts +1 -0
- package/src/context/logger_context.tsx +109 -0
- package/src/factories/index.ts +1 -0
- package/src/factories/screen.factory.ts +22 -0
- package/src/filter/filter_engine.ts +113 -0
- package/src/filter/index.ts +1 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use_theme.ts +12 -0
- package/src/index.ts +64 -0
- package/src/keyboard/create_bindings.ts +457 -0
- package/src/keyboard/index.ts +2 -0
- package/src/keyboard/keyboard_manager.ts +233 -0
- package/src/overrides/console.logger.override.ts +61 -0
- package/src/overrides/index.ts +1 -0
- package/src/schemas/index.ts +3 -0
- package/src/schemas/logger-options.ts +13 -0
- package/src/schemas/prompt-options.ts +9 -0
- package/src/schemas/screen-options.ts +14 -0
- package/src/services/index.ts +4 -0
- package/src/services/logger.ts +369 -0
- package/src/services/prompt.ts +169 -0
- package/src/services/screen.ts +590 -0
- package/src/services/screen_manager.tsx +390 -0
- package/src/themes/dark.ts +173 -0
- package/src/themes/high-contrast.ts +178 -0
- package/src/themes/index.ts +4 -0
- package/src/themes/light.ts +172 -0
- package/src/themes/utils.ts +83 -0
- package/src/tokens/index.ts +3 -0
- package/src/tokens/logger.ts +10 -0
- package/src/tokens/prompt.ts +10 -0
- package/src/tokens/screen.ts +10 -0
- package/src/types/file.types.ts +60 -0
- package/src/types/filter.types.ts +51 -0
- package/src/types/index.ts +22 -0
- package/src/types/keyboard.types.ts +93 -0
- package/src/types/log.types.ts +61 -0
- package/src/types/message.types.ts +120 -0
- package/src/types/prompt.types.ts +106 -0
- package/src/types/screen.types.ts +124 -0
- package/src/types/theme.types.ts +252 -0
- package/src/utils/colors/file-colors.ts +9 -0
- package/src/utils/colors/helpers.ts +50 -0
- package/src/utils/colors/index.ts +20 -0
- package/src/utils/colors/log-colors.ts +56 -0
- package/src/utils/colors/progress-colors.ts +25 -0
- package/src/utils/colors/prompt-colors.ts +30 -0
- package/src/utils/colors/sidebar-colors.ts +52 -0
- package/src/utils/colors/table-colors.ts +11 -0
- package/src/utils/filetype.ts +64 -0
- package/src/utils/format.ts +52 -0
- package/src/utils/index.ts +11 -0
- package/src/utils/stdout-printer.ts +255 -0
- package/tsconfig.json +14 -0
- package/tsdown.config.mts +34 -0
- package/vitest.config.mts +10 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { LogLevel } from './log.types.ts'
|
|
2
|
+
/**
|
|
3
|
+
* Filter state for log filtering.
|
|
4
|
+
*/
|
|
5
|
+
export interface FilterState {
|
|
6
|
+
/** Which log levels are enabled (shown) */
|
|
7
|
+
enabledLevels: Set<LogLevel>
|
|
8
|
+
/** Text search query */
|
|
9
|
+
searchQuery: string
|
|
10
|
+
/** Whether the filter bar is visible */
|
|
11
|
+
isVisible: boolean
|
|
12
|
+
/** Which filter field is focused */
|
|
13
|
+
focusedField: 'search' | 'levels'
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* All log levels in order.
|
|
17
|
+
*/
|
|
18
|
+
export declare const ALL_LOG_LEVELS: LogLevel[]
|
|
19
|
+
/**
|
|
20
|
+
* Create a default filter state.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createDefaultFilterState(): FilterState
|
|
23
|
+
/**
|
|
24
|
+
* Check if any filtering is active.
|
|
25
|
+
*/
|
|
26
|
+
export declare function hasActiveFilter(filter: FilterState): boolean
|
|
27
|
+
/**
|
|
28
|
+
* Level counts for display.
|
|
29
|
+
*/
|
|
30
|
+
export type LevelCounts = Record<LogLevel, number>
|
|
31
|
+
//# sourceMappingURL=filter.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../../src/types/filter.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7B,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,EAQpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAOtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAK5D;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export type { LogLevel, LogLevelColors, LogLevelColorMap, LogMessageProps } from './log.types.ts'
|
|
2
|
+
export type {
|
|
3
|
+
FileLogMode,
|
|
4
|
+
FileLogProps,
|
|
5
|
+
FileLogBaseProps,
|
|
6
|
+
FileLogFullProps,
|
|
7
|
+
FileLogDiffProps,
|
|
8
|
+
FileLogPartialProps,
|
|
9
|
+
} from './file.types.ts'
|
|
10
|
+
export type {
|
|
11
|
+
ScreenProps,
|
|
12
|
+
ScreenDefinition,
|
|
13
|
+
ScreenManagerProps,
|
|
14
|
+
FocusArea,
|
|
15
|
+
LoggerContextValue,
|
|
16
|
+
ScreenStatus,
|
|
17
|
+
ScreenOptions,
|
|
18
|
+
BindOptions,
|
|
19
|
+
} from './screen.types.ts'
|
|
20
|
+
export type {
|
|
21
|
+
MessageType,
|
|
22
|
+
BaseMessage,
|
|
23
|
+
MessageData,
|
|
24
|
+
LogMessageData,
|
|
25
|
+
FileMessageData,
|
|
26
|
+
DiffMessageData,
|
|
27
|
+
FileErrorMessageData,
|
|
28
|
+
LoadingMessageData,
|
|
29
|
+
ProgressMessageData,
|
|
30
|
+
GroupMessageData,
|
|
31
|
+
TableMessageData,
|
|
32
|
+
PromiseOptions,
|
|
33
|
+
LoadingHandle,
|
|
34
|
+
ProgressHandle,
|
|
35
|
+
} from './message.types.ts'
|
|
36
|
+
export type {
|
|
37
|
+
ChoiceOption,
|
|
38
|
+
BasePromptData,
|
|
39
|
+
ChoicePromptData,
|
|
40
|
+
ConfirmPromptData,
|
|
41
|
+
InputPromptData,
|
|
42
|
+
MultiChoicePromptData,
|
|
43
|
+
PromptData,
|
|
44
|
+
ChoiceOptions,
|
|
45
|
+
ConfirmOptions,
|
|
46
|
+
InputOptions,
|
|
47
|
+
MultiChoiceOptions,
|
|
48
|
+
} from './prompt.types.ts'
|
|
49
|
+
export type {
|
|
50
|
+
Theme,
|
|
51
|
+
ThemePreset,
|
|
52
|
+
PartialTheme,
|
|
53
|
+
DeepPartial,
|
|
54
|
+
LogLevelTheme,
|
|
55
|
+
SidebarTheme,
|
|
56
|
+
HeaderTheme,
|
|
57
|
+
StatusIndicator,
|
|
58
|
+
StatusIndicatorsTheme,
|
|
59
|
+
SeparatorTheme,
|
|
60
|
+
ProgressTheme,
|
|
61
|
+
GroupTheme,
|
|
62
|
+
TableTheme,
|
|
63
|
+
FileTheme,
|
|
64
|
+
PromptTheme,
|
|
65
|
+
ErrorHighlightTheme,
|
|
66
|
+
FilterTheme,
|
|
67
|
+
HelpTheme,
|
|
68
|
+
SemanticColors,
|
|
69
|
+
} from './theme.types.ts'
|
|
70
|
+
export type {
|
|
71
|
+
KeyEvent,
|
|
72
|
+
KeyBinding,
|
|
73
|
+
KeyboardContext,
|
|
74
|
+
KeyBindingsConfig,
|
|
75
|
+
KeyBindingCategory,
|
|
76
|
+
KeyBindingCondition,
|
|
77
|
+
KeyHandler,
|
|
78
|
+
} from './keyboard.types.ts'
|
|
79
|
+
export type { FilterState, LevelCounts } from './filter.types.ts'
|
|
80
|
+
export { ALL_LOG_LEVELS, createDefaultFilterState, hasActiveFilter } from './filter.types.ts'
|
|
81
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,KAAK,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { FocusArea } from './screen.types.ts'
|
|
2
|
+
/**
|
|
3
|
+
* Key event from the terminal.
|
|
4
|
+
*/
|
|
5
|
+
export interface KeyEvent {
|
|
6
|
+
name: string
|
|
7
|
+
sequence?: string
|
|
8
|
+
ctrl?: boolean
|
|
9
|
+
meta?: boolean
|
|
10
|
+
shift?: boolean
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Context available to keyboard handlers.
|
|
14
|
+
*/
|
|
15
|
+
export interface KeyboardContext {
|
|
16
|
+
/** Has multiple screens (sidebar visible) */
|
|
17
|
+
hasSidebar: boolean
|
|
18
|
+
/** Currently focused area */
|
|
19
|
+
focusArea: FocusArea
|
|
20
|
+
/** Whether a prompt is active */
|
|
21
|
+
hasPrompt: boolean
|
|
22
|
+
/** Whether prompt is in text input mode */
|
|
23
|
+
inInputMode: boolean
|
|
24
|
+
/** Whether filter bar is visible */
|
|
25
|
+
isFilterActive: boolean
|
|
26
|
+
/** Whether help overlay is visible */
|
|
27
|
+
isHelpVisible: boolean
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Handler function for a key binding.
|
|
31
|
+
* Return true to prevent further processing, false/void to continue.
|
|
32
|
+
*/
|
|
33
|
+
export type KeyHandler = (key: KeyEvent, context: KeyboardContext) => boolean | void
|
|
34
|
+
/**
|
|
35
|
+
* Category for organizing bindings in help overlay.
|
|
36
|
+
*/
|
|
37
|
+
export type KeyBindingCategory = 'general' | 'navigation' | 'screen' | 'prompt' | 'filter'
|
|
38
|
+
/**
|
|
39
|
+
* Condition for when a binding is active.
|
|
40
|
+
*/
|
|
41
|
+
export interface KeyBindingCondition {
|
|
42
|
+
hasPrompt?: boolean
|
|
43
|
+
inInputMode?: boolean
|
|
44
|
+
focusArea?: FocusArea
|
|
45
|
+
isFilterActive?: boolean
|
|
46
|
+
isHelpVisible?: boolean
|
|
47
|
+
hasSidebar?: boolean
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* A single key binding definition.
|
|
51
|
+
*/
|
|
52
|
+
export interface KeyBinding {
|
|
53
|
+
/** Key name(s) that trigger this binding */
|
|
54
|
+
key: string | string[]
|
|
55
|
+
/** Require Ctrl modifier */
|
|
56
|
+
ctrl?: boolean
|
|
57
|
+
/** Require Meta/Cmd modifier */
|
|
58
|
+
meta?: boolean
|
|
59
|
+
/** Require Shift modifier (for capital letters) */
|
|
60
|
+
shift?: boolean
|
|
61
|
+
/** Handler function */
|
|
62
|
+
handler: KeyHandler
|
|
63
|
+
/** Description for help overlay */
|
|
64
|
+
description: string
|
|
65
|
+
/** Category for grouping in help */
|
|
66
|
+
category: KeyBindingCategory
|
|
67
|
+
/** Condition when this binding is active */
|
|
68
|
+
when?: KeyBindingCondition
|
|
69
|
+
/** Priority (higher = checked first, default 0) */
|
|
70
|
+
priority?: number
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Configuration for the keyboard manager.
|
|
74
|
+
*/
|
|
75
|
+
export interface KeyBindingsConfig {
|
|
76
|
+
/** Custom bindings (added to defaults) */
|
|
77
|
+
bindings?: KeyBinding[]
|
|
78
|
+
/** Override specific default bindings by key */
|
|
79
|
+
overrides?: Record<string, Partial<KeyBinding>>
|
|
80
|
+
/** Disable specific keys */
|
|
81
|
+
disabled?: string[]
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=keyboard.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard.types.d.ts","sourceRoot":"","sources":["../../../src/types/keyboard.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,GAAG,IAAI,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uBAAuB;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { RGBA } from '@opentui/core'
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
|
+
export type LogLevel = 'trace' | 'debug' | 'info' | 'success' | 'warning' | 'error' | 'fatal'
|
|
4
|
+
export interface LogLevelColors {
|
|
5
|
+
border: string
|
|
6
|
+
background: string
|
|
7
|
+
text?: string
|
|
8
|
+
}
|
|
9
|
+
export type LogLevelColorMap = Record<LogLevel, LogLevelColors>
|
|
10
|
+
export interface LogMessageProps {
|
|
11
|
+
/** Log level determines the color scheme */
|
|
12
|
+
level: LogLevel
|
|
13
|
+
/** Message content - can be string or React nodes */
|
|
14
|
+
children: ReactNode
|
|
15
|
+
/** Optional timestamp to display */
|
|
16
|
+
timestamp?: Date | string
|
|
17
|
+
/** Optional label/prefix (e.g., "API", "Database") */
|
|
18
|
+
label?: string
|
|
19
|
+
/** Optional stack trace to display (for trace level) */
|
|
20
|
+
trace?: string
|
|
21
|
+
/** Optional custom border color (overrides level color) */
|
|
22
|
+
borderColor?: string | RGBA
|
|
23
|
+
/** Optional custom background color (overrides level color) */
|
|
24
|
+
backgroundColor?: string | RGBA
|
|
25
|
+
/** Border width style - 'thin' uses left border only, 'thick' uses left+top+bottom */
|
|
26
|
+
borderStyle?: 'thin' | 'thick'
|
|
27
|
+
/** Padding inside the message box */
|
|
28
|
+
padding?: number
|
|
29
|
+
/** Margin around the message */
|
|
30
|
+
margin?: number
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=log.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.types.d.ts","sourceRoot":"","sources":["../../../src/types/log.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,OAAO,GACP,OAAO,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAMhE,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,KAAK,EAAE,QAAQ,CAAC;IAEhB,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;IAEpB,oCAAoC;IACpC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAE1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { LogLevel } from './log.types.ts'
|
|
2
|
+
export type MessageType =
|
|
3
|
+
| 'log'
|
|
4
|
+
| 'file'
|
|
5
|
+
| 'diff'
|
|
6
|
+
| 'fileError'
|
|
7
|
+
| 'loading'
|
|
8
|
+
| 'progress'
|
|
9
|
+
| 'group'
|
|
10
|
+
| 'table'
|
|
11
|
+
export interface BaseMessage {
|
|
12
|
+
id: string
|
|
13
|
+
type: MessageType
|
|
14
|
+
timestamp: Date
|
|
15
|
+
}
|
|
16
|
+
export interface LogMessageData extends BaseMessage {
|
|
17
|
+
type: 'log'
|
|
18
|
+
level: LogLevel
|
|
19
|
+
/** Content is always a string - objects are formatted before storage */
|
|
20
|
+
content: string
|
|
21
|
+
label?: string
|
|
22
|
+
trace?: string
|
|
23
|
+
}
|
|
24
|
+
export interface FileMessageData extends BaseMessage {
|
|
25
|
+
type: 'file'
|
|
26
|
+
filePath: string
|
|
27
|
+
content: string
|
|
28
|
+
}
|
|
29
|
+
export interface DiffMessageData extends BaseMessage {
|
|
30
|
+
type: 'diff'
|
|
31
|
+
filePath: string
|
|
32
|
+
diff: string
|
|
33
|
+
view?: 'unified' | 'split'
|
|
34
|
+
}
|
|
35
|
+
export interface FileErrorMessageData extends BaseMessage {
|
|
36
|
+
type: 'fileError'
|
|
37
|
+
filePath: string
|
|
38
|
+
content: string
|
|
39
|
+
errorLines: number[]
|
|
40
|
+
startLine: number
|
|
41
|
+
}
|
|
42
|
+
export interface LoadingMessageData extends BaseMessage {
|
|
43
|
+
type: 'loading'
|
|
44
|
+
content: string
|
|
45
|
+
status: 'loading' | 'success' | 'fail'
|
|
46
|
+
resolvedContent?: string
|
|
47
|
+
}
|
|
48
|
+
export interface ProgressMessageData extends BaseMessage {
|
|
49
|
+
type: 'progress'
|
|
50
|
+
label: string
|
|
51
|
+
current: number
|
|
52
|
+
total: number
|
|
53
|
+
status: 'active' | 'complete' | 'failed'
|
|
54
|
+
resolvedContent?: string
|
|
55
|
+
}
|
|
56
|
+
export interface GroupMessageData extends BaseMessage {
|
|
57
|
+
type: 'group'
|
|
58
|
+
label: string
|
|
59
|
+
collapsed: boolean
|
|
60
|
+
isEnd: boolean
|
|
61
|
+
}
|
|
62
|
+
export interface TableMessageData extends BaseMessage {
|
|
63
|
+
type: 'table'
|
|
64
|
+
headers: string[]
|
|
65
|
+
rows: string[][]
|
|
66
|
+
title?: string
|
|
67
|
+
}
|
|
68
|
+
export type MessageData =
|
|
69
|
+
| LogMessageData
|
|
70
|
+
| FileMessageData
|
|
71
|
+
| DiffMessageData
|
|
72
|
+
| FileErrorMessageData
|
|
73
|
+
| LoadingMessageData
|
|
74
|
+
| ProgressMessageData
|
|
75
|
+
| GroupMessageData
|
|
76
|
+
| TableMessageData
|
|
77
|
+
export interface PromiseOptions<T> {
|
|
78
|
+
loading: string
|
|
79
|
+
success: string | ((data: T) => string)
|
|
80
|
+
error: string | ((error: Error) => string)
|
|
81
|
+
}
|
|
82
|
+
export interface LoadingHandle {
|
|
83
|
+
success: (message: string) => void
|
|
84
|
+
fail: (message: string) => void
|
|
85
|
+
}
|
|
86
|
+
export interface ProgressHandle {
|
|
87
|
+
update: (current: number, label?: string) => void
|
|
88
|
+
complete: (message?: string) => void
|
|
89
|
+
fail: (message?: string) => void
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=message.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.types.d.ts","sourceRoot":"","sources":["../../../src/types/message.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export interface ChoiceOption {
|
|
2
|
+
label: string
|
|
3
|
+
value: string
|
|
4
|
+
/** If true, this option allows text input */
|
|
5
|
+
input?: boolean
|
|
6
|
+
}
|
|
7
|
+
export interface BasePromptData {
|
|
8
|
+
id: string
|
|
9
|
+
timestamp: Date
|
|
10
|
+
resolved: boolean
|
|
11
|
+
/** Auto-resolve timeout in ms */
|
|
12
|
+
timeout?: number
|
|
13
|
+
/** Timestamp when timeout started */
|
|
14
|
+
timeoutStarted?: number
|
|
15
|
+
}
|
|
16
|
+
export interface ChoicePromptData extends BasePromptData {
|
|
17
|
+
type: 'choice'
|
|
18
|
+
question: string
|
|
19
|
+
choices: ChoiceOption[]
|
|
20
|
+
defaultChoice: string
|
|
21
|
+
selectedIndex: number
|
|
22
|
+
inputMode: boolean
|
|
23
|
+
inputValue: string
|
|
24
|
+
resolvedValue?: string
|
|
25
|
+
}
|
|
26
|
+
export interface ConfirmPromptData extends BasePromptData {
|
|
27
|
+
type: 'confirm'
|
|
28
|
+
question: string
|
|
29
|
+
confirmText: string
|
|
30
|
+
cancelText: string
|
|
31
|
+
defaultValue: boolean
|
|
32
|
+
selectedValue: boolean
|
|
33
|
+
resolvedValue?: boolean
|
|
34
|
+
}
|
|
35
|
+
export interface InputPromptData extends BasePromptData {
|
|
36
|
+
type: 'input'
|
|
37
|
+
question: string
|
|
38
|
+
placeholder: string
|
|
39
|
+
defaultValue: string
|
|
40
|
+
value: string
|
|
41
|
+
resolvedValue?: string
|
|
42
|
+
}
|
|
43
|
+
export interface MultiChoicePromptData extends BasePromptData {
|
|
44
|
+
type: 'multiChoice'
|
|
45
|
+
question: string
|
|
46
|
+
choices: ChoiceOption[]
|
|
47
|
+
selectedIndices: Set<number>
|
|
48
|
+
focusedIndex: number
|
|
49
|
+
minSelect: number
|
|
50
|
+
maxSelect: number
|
|
51
|
+
resolvedValues?: string[]
|
|
52
|
+
}
|
|
53
|
+
export type PromptData =
|
|
54
|
+
| ChoicePromptData
|
|
55
|
+
| ConfirmPromptData
|
|
56
|
+
| InputPromptData
|
|
57
|
+
| MultiChoicePromptData
|
|
58
|
+
export interface ChoiceOptions {
|
|
59
|
+
question: string
|
|
60
|
+
choices: ChoiceOption[]
|
|
61
|
+
defaultChoice?: string
|
|
62
|
+
/** Auto-resolve with default after timeout (ms) */
|
|
63
|
+
timeout?: number
|
|
64
|
+
}
|
|
65
|
+
export interface ConfirmOptions {
|
|
66
|
+
question: string
|
|
67
|
+
confirmText?: string
|
|
68
|
+
cancelText?: string
|
|
69
|
+
defaultValue?: boolean
|
|
70
|
+
/** Auto-resolve with default after timeout (ms) */
|
|
71
|
+
timeout?: number
|
|
72
|
+
}
|
|
73
|
+
export interface InputOptions {
|
|
74
|
+
question: string
|
|
75
|
+
placeholder?: string
|
|
76
|
+
defaultValue?: string
|
|
77
|
+
/** Auto-resolve with default after timeout (ms) */
|
|
78
|
+
timeout?: number
|
|
79
|
+
}
|
|
80
|
+
export interface MultiChoiceOptions {
|
|
81
|
+
question: string
|
|
82
|
+
choices: ChoiceOption[]
|
|
83
|
+
defaultChoices?: string[]
|
|
84
|
+
minSelect?: number
|
|
85
|
+
maxSelect?: number
|
|
86
|
+
/** Auto-resolve with default after timeout (ms) */
|
|
87
|
+
timeout?: number
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=prompt.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.types.d.ts","sourceRoot":"","sources":["../../../src/types/prompt.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { RGBA, SyntaxStyle, TreeSitterClient } from '@opentui/core'
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
|
+
|
|
4
|
+
import type { LogLevelColorMap } from './log.types.ts'
|
|
5
|
+
import type { Theme, ThemePreset } from './theme.types.ts'
|
|
6
|
+
export interface ScreenProps {
|
|
7
|
+
/** Screen title/name displayed in header */
|
|
8
|
+
name: string
|
|
9
|
+
/** Child log messages/file logs */
|
|
10
|
+
children: ReactNode
|
|
11
|
+
/** Enable auto-scroll to bottom on new content */
|
|
12
|
+
stickyScroll?: boolean
|
|
13
|
+
/** Show scroll position indicator */
|
|
14
|
+
showScrollIndicator?: boolean
|
|
15
|
+
/** Screen header background color */
|
|
16
|
+
headerBackgroundColor?: string | RGBA
|
|
17
|
+
/** Screen header text color */
|
|
18
|
+
headerTextColor?: string | RGBA
|
|
19
|
+
/** Whether this screen is currently focused */
|
|
20
|
+
focused?: boolean
|
|
21
|
+
/** Callback when screen is scrolled */
|
|
22
|
+
onScroll?: (scrollTop: number, scrollHeight: number) => void
|
|
23
|
+
}
|
|
24
|
+
export interface ScreenDefinition {
|
|
25
|
+
/** Unique screen identifier */
|
|
26
|
+
id: string
|
|
27
|
+
/** Display name for sidebar */
|
|
28
|
+
name: string
|
|
29
|
+
/** Optional icon/badge character */
|
|
30
|
+
icon?: string
|
|
31
|
+
/** Unread/notification count */
|
|
32
|
+
badgeCount?: number
|
|
33
|
+
}
|
|
34
|
+
export interface ScreenManagerProps {
|
|
35
|
+
/** Screen definitions for the sidebar */
|
|
36
|
+
screens: ScreenDefinition[]
|
|
37
|
+
/** Currently active screen ID */
|
|
38
|
+
activeScreenId: string
|
|
39
|
+
/** Callback when screen selection changes */
|
|
40
|
+
onScreenChange?: (screenId: string) => void
|
|
41
|
+
/** Screen content - should be conditionally rendered based on activeScreenId */
|
|
42
|
+
children: ReactNode
|
|
43
|
+
/** Force show/hide sidebar (overrides auto behavior) */
|
|
44
|
+
sidebarVisible?: boolean
|
|
45
|
+
/** Callback when sidebar visibility changes */
|
|
46
|
+
onSidebarVisibilityChange?: (visible: boolean) => void
|
|
47
|
+
/** Sidebar width (columns) */
|
|
48
|
+
sidebarWidth?: number
|
|
49
|
+
/** Sidebar position */
|
|
50
|
+
sidebarPosition?: 'left' | 'right'
|
|
51
|
+
/** Key to toggle sidebar visibility */
|
|
52
|
+
toggleSidebarKey?: string
|
|
53
|
+
/** Sidebar header title */
|
|
54
|
+
sidebarTitle?: string
|
|
55
|
+
}
|
|
56
|
+
export type FocusArea = 'sidebar' | 'content'
|
|
57
|
+
export interface LoggerContextValue {
|
|
58
|
+
/** Shared SyntaxStyle instance for code highlighting */
|
|
59
|
+
syntaxStyle?: SyntaxStyle
|
|
60
|
+
/** Shared TreeSitterClient for parsing */
|
|
61
|
+
treeSitterClient?: TreeSitterClient
|
|
62
|
+
/** Default colors for log levels (derived from theme for backwards compatibility) */
|
|
63
|
+
levelColors: LogLevelColorMap
|
|
64
|
+
/** Current theme */
|
|
65
|
+
theme: Theme
|
|
66
|
+
}
|
|
67
|
+
export type ScreenStatus = 'waiting' | 'pending' | 'success' | 'fail'
|
|
68
|
+
export interface ScreenOptions {
|
|
69
|
+
name: string
|
|
70
|
+
icon?: string
|
|
71
|
+
badgeCount?: number
|
|
72
|
+
/** Whether the screen is hidden from the sidebar and navigation */
|
|
73
|
+
hidden?: boolean
|
|
74
|
+
}
|
|
75
|
+
export interface BindOptions {
|
|
76
|
+
exitOnCtrlC?: boolean
|
|
77
|
+
sidebarWidth?: number
|
|
78
|
+
sidebarPosition?: 'left' | 'right'
|
|
79
|
+
sidebarTitle?: string
|
|
80
|
+
/** Auto close after all screens complete successfully (delay in ms, default 5000) */
|
|
81
|
+
autoClose?: boolean | number
|
|
82
|
+
/** Theme to use for the TUI (theme object or preset name) */
|
|
83
|
+
theme?: Theme | ThemePreset
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=screen.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../src/types/screen.types.ts"],"names":[],"mappings":"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"}
|