@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,12 @@
|
|
|
1
|
+
export { KeyboardManager, formatKeyBinding } from './keyboard_manager.ts'
|
|
2
|
+
export { createDefaultBindings, handlePrintableInput } from './create_bindings.ts'
|
|
3
|
+
export type {
|
|
4
|
+
KeyEvent,
|
|
5
|
+
KeyBinding,
|
|
6
|
+
KeyboardContext,
|
|
7
|
+
KeyBindingsConfig,
|
|
8
|
+
KeyBindingCategory,
|
|
9
|
+
KeyBindingCondition,
|
|
10
|
+
KeyHandler,
|
|
11
|
+
} from '../types/keyboard.types.ts'
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keyboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
KeyEvent,
|
|
3
|
+
KeyBinding,
|
|
4
|
+
KeyboardContext,
|
|
5
|
+
KeyBindingsConfig,
|
|
6
|
+
KeyBindingCategory,
|
|
7
|
+
} from '../types/keyboard.types.ts'
|
|
8
|
+
/**
|
|
9
|
+
* Manages keyboard bindings and dispatches key events to handlers.
|
|
10
|
+
*/
|
|
11
|
+
export declare class KeyboardManager {
|
|
12
|
+
private bindings
|
|
13
|
+
private disabled
|
|
14
|
+
constructor(config?: KeyBindingsConfig)
|
|
15
|
+
/**
|
|
16
|
+
* Add bindings to the manager.
|
|
17
|
+
*/
|
|
18
|
+
addBindings(bindings: KeyBinding[]): void
|
|
19
|
+
/**
|
|
20
|
+
* Remove a binding by key name.
|
|
21
|
+
*/
|
|
22
|
+
removeBinding(key: string): void
|
|
23
|
+
/**
|
|
24
|
+
* Disable a key (prevents it from being matched).
|
|
25
|
+
*/
|
|
26
|
+
disableKey(key: string): void
|
|
27
|
+
/**
|
|
28
|
+
* Enable a previously disabled key.
|
|
29
|
+
*/
|
|
30
|
+
enableKey(key: string): void
|
|
31
|
+
/**
|
|
32
|
+
* Handle a key event, dispatching to the appropriate handler.
|
|
33
|
+
* Returns true if a handler consumed the event.
|
|
34
|
+
*/
|
|
35
|
+
handleKey(key: KeyEvent, context: KeyboardContext): boolean
|
|
36
|
+
/**
|
|
37
|
+
* Get all bindings for display in help overlay.
|
|
38
|
+
*/
|
|
39
|
+
getBindingsForHelp(): KeyBinding[]
|
|
40
|
+
/**
|
|
41
|
+
* Get bindings grouped by category.
|
|
42
|
+
*/
|
|
43
|
+
getBindingsByCategory(): Record<KeyBindingCategory, KeyBinding[]>
|
|
44
|
+
/**
|
|
45
|
+
* Find a matching binding for the given key and context.
|
|
46
|
+
*/
|
|
47
|
+
private findMatchingBinding
|
|
48
|
+
/**
|
|
49
|
+
* Check if a key event matches a binding's key specification.
|
|
50
|
+
*/
|
|
51
|
+
private keyMatches
|
|
52
|
+
/**
|
|
53
|
+
* Check if context matches a binding's condition.
|
|
54
|
+
*/
|
|
55
|
+
private conditionMatches
|
|
56
|
+
/**
|
|
57
|
+
* Check if a binding is disabled.
|
|
58
|
+
*/
|
|
59
|
+
private isDisabled
|
|
60
|
+
/**
|
|
61
|
+
* Sort bindings by priority (higher first).
|
|
62
|
+
*/
|
|
63
|
+
private sortBindings
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Format a key binding for display.
|
|
67
|
+
*/
|
|
68
|
+
export declare function formatKeyBinding(binding: KeyBinding): string
|
|
69
|
+
//# sourceMappingURL=keyboard_manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard_manager.d.ts","sourceRoot":"","sources":["../../../src/keyboard/keyboard_manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,MAAM,CAAC,EAAE,iBAAiB;IAatC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOhC;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAS3D;;OAEG;IACH,kBAAkB,IAAI,UAAU,EAAE;IAIlC;;OAEG;IACH,qBAAqB,IAAI,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC;IAkBjE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAsC5D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { LogLevel } from '../types/index.ts'
|
|
2
|
+
import type { LoadingHandle, ProgressHandle, PromiseOptions } from '../types/index.ts'
|
|
3
|
+
|
|
4
|
+
import type { Screen } from './screen.ts'
|
|
5
|
+
export interface LoggerOptions {
|
|
6
|
+
context?: string
|
|
7
|
+
enabledLevels?: LogLevel[]
|
|
8
|
+
}
|
|
9
|
+
export declare class Logger {
|
|
10
|
+
private screen
|
|
11
|
+
private context?
|
|
12
|
+
private enabledLevels
|
|
13
|
+
constructor(screen: Screen, options?: LoggerOptions | string)
|
|
14
|
+
private isLevelEnabled
|
|
15
|
+
trace(msg: string | object, label?: string): this
|
|
16
|
+
debug(msg: string | object, label?: string): this
|
|
17
|
+
info(msg: string | object, label?: string): this
|
|
18
|
+
success(msg: string | object, label?: string): this
|
|
19
|
+
warn(msg: string | object, label?: string): this
|
|
20
|
+
error(msg: string | object, label?: string): this
|
|
21
|
+
fatal(msg: string | object, label?: string): this
|
|
22
|
+
private log
|
|
23
|
+
file(path: string, content: string): this
|
|
24
|
+
diff(path: string, diffContent: string, view?: 'unified' | 'split'): this
|
|
25
|
+
fileError(path: string, content: string, errorLines: number[], startLine?: number): this
|
|
26
|
+
/**
|
|
27
|
+
* Sonner-like promise handling
|
|
28
|
+
*/
|
|
29
|
+
promise<T>(promise: Promise<T>, options: PromiseOptions<T>): Promise<T>
|
|
30
|
+
/**
|
|
31
|
+
* Create a loading message with manual resolution
|
|
32
|
+
*/
|
|
33
|
+
loading(message: string): LoadingHandle
|
|
34
|
+
/**
|
|
35
|
+
* Create a progress bar with manual updates
|
|
36
|
+
*/
|
|
37
|
+
progress(
|
|
38
|
+
label: string,
|
|
39
|
+
options: {
|
|
40
|
+
total: number
|
|
41
|
+
},
|
|
42
|
+
): ProgressHandle
|
|
43
|
+
/**
|
|
44
|
+
* Start a collapsible log group
|
|
45
|
+
*/
|
|
46
|
+
group(label: string): this
|
|
47
|
+
/**
|
|
48
|
+
* End the current log group
|
|
49
|
+
*/
|
|
50
|
+
groupEnd(): this
|
|
51
|
+
/**
|
|
52
|
+
* Display tabular data
|
|
53
|
+
*/
|
|
54
|
+
table(
|
|
55
|
+
data: Record<string, unknown>[],
|
|
56
|
+
options?: {
|
|
57
|
+
title?: string
|
|
58
|
+
},
|
|
59
|
+
): this
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/services/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EASV,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC5B;AAID,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,aAAa,CAAgB;gBAEzB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAa5D,OAAO,CAAC,cAAc;IAQtB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAKjD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAInD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD,OAAO,CAAC,GAAG;IAuBX,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAgBzC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI;IAiBzE,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,GAAE,MAAU,GACpB,IAAI;IAsBP;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA6C7E;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAgCvC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IAyCnE;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAa1B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAiBhB;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAyB3E"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ChoiceOptions,
|
|
3
|
+
ConfirmOptions,
|
|
4
|
+
InputOptions,
|
|
5
|
+
MultiChoiceOptions,
|
|
6
|
+
} from '../types/index.ts'
|
|
7
|
+
|
|
8
|
+
import type { Screen } from './screen.ts'
|
|
9
|
+
/**
|
|
10
|
+
* Prompt class for interactive user input.
|
|
11
|
+
* Similar to Logger, but for prompts that require user interaction.
|
|
12
|
+
*/
|
|
13
|
+
export declare class Prompt {
|
|
14
|
+
private screen
|
|
15
|
+
constructor(screen: Screen)
|
|
16
|
+
/**
|
|
17
|
+
* Display a choice prompt and wait for user selection.
|
|
18
|
+
* Returns the selected value (or input text if an input option was selected).
|
|
19
|
+
*/
|
|
20
|
+
choice(options: ChoiceOptions): Promise<string>
|
|
21
|
+
/**
|
|
22
|
+
* Display a confirmation prompt and wait for user response.
|
|
23
|
+
* Returns true for confirm, false for cancel.
|
|
24
|
+
*/
|
|
25
|
+
confirm(options: ConfirmOptions): Promise<boolean>
|
|
26
|
+
/**
|
|
27
|
+
* Display a text input prompt and wait for user input.
|
|
28
|
+
* Returns the entered text.
|
|
29
|
+
*/
|
|
30
|
+
input(options: InputOptions): Promise<string>
|
|
31
|
+
/**
|
|
32
|
+
* Display a multi-select choice prompt.
|
|
33
|
+
* Returns an array of selected values.
|
|
34
|
+
*/
|
|
35
|
+
multiChoice(options: MultiChoiceOptions): Promise<string[]>
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/services/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,EAKnB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BrD;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BxD;;;OAGG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBnD;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAoClE"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ScreenOptions,
|
|
3
|
+
ScreenStatus,
|
|
4
|
+
MessageData,
|
|
5
|
+
LoadingMessageData,
|
|
6
|
+
ProgressMessageData,
|
|
7
|
+
PromptData,
|
|
8
|
+
} from '../types/index.ts'
|
|
9
|
+
|
|
10
|
+
import type { ScreenManager } from './screen_manager.tsx'
|
|
11
|
+
export declare class Screen {
|
|
12
|
+
private id
|
|
13
|
+
private name
|
|
14
|
+
private icon?
|
|
15
|
+
private badgeCount
|
|
16
|
+
private status
|
|
17
|
+
private hidden
|
|
18
|
+
private messages
|
|
19
|
+
private manager
|
|
20
|
+
private changeListeners
|
|
21
|
+
private printFn
|
|
22
|
+
private hasPrinted
|
|
23
|
+
private promptQueue
|
|
24
|
+
private activePrompt
|
|
25
|
+
constructor(id: string, options: ScreenOptions)
|
|
26
|
+
/**
|
|
27
|
+
* Internal: Set the manager reference
|
|
28
|
+
*/
|
|
29
|
+
_setManager(manager: ScreenManager): void
|
|
30
|
+
/**
|
|
31
|
+
* Internal: Set the print function for stdout output
|
|
32
|
+
*/
|
|
33
|
+
_setPrintFn(fn: (messages: MessageData[], name: string, isError: boolean) => void): void
|
|
34
|
+
getId(): string
|
|
35
|
+
getName(): string
|
|
36
|
+
getIcon(): string | undefined
|
|
37
|
+
getBadgeCount(): number
|
|
38
|
+
setBadgeCount(count: number): this
|
|
39
|
+
isHidden(): boolean
|
|
40
|
+
setHidden(hidden: boolean): this
|
|
41
|
+
show(): this
|
|
42
|
+
hide(): this
|
|
43
|
+
getStatus(): ScreenStatus
|
|
44
|
+
/**
|
|
45
|
+
* Set screen status. When success/fail and TUI is not bound, prints to stdout/stderr
|
|
46
|
+
*/
|
|
47
|
+
setStatus(status: ScreenStatus): this
|
|
48
|
+
/**
|
|
49
|
+
* Check if this screen is complete (success or fail)
|
|
50
|
+
*/
|
|
51
|
+
isComplete(): boolean
|
|
52
|
+
/**
|
|
53
|
+
* Check if this screen has been printed to console
|
|
54
|
+
*/
|
|
55
|
+
hasPrintedToConsole(): boolean
|
|
56
|
+
/**
|
|
57
|
+
* Force print to console (called when TUI unbinds)
|
|
58
|
+
*/
|
|
59
|
+
_flushToConsole(): void
|
|
60
|
+
/**
|
|
61
|
+
* Get all messages for rendering
|
|
62
|
+
*/
|
|
63
|
+
getMessages(): MessageData[]
|
|
64
|
+
/**
|
|
65
|
+
* Add a message to the screen (internal use by Logger)
|
|
66
|
+
*/
|
|
67
|
+
addMessage(message: MessageData): void
|
|
68
|
+
/**
|
|
69
|
+
* Update a loading message (internal use by Logger)
|
|
70
|
+
*/
|
|
71
|
+
updateMessage(id: string, updates: Partial<LoadingMessageData>): void
|
|
72
|
+
/**
|
|
73
|
+
* Update a progress message (internal use by Logger)
|
|
74
|
+
*/
|
|
75
|
+
updateProgressMessage(id: string, updates: Partial<ProgressMessageData>): void
|
|
76
|
+
/**
|
|
77
|
+
* Clear all messages
|
|
78
|
+
*/
|
|
79
|
+
clear(): this
|
|
80
|
+
/**
|
|
81
|
+
* Add a prompt to the queue (internal use by Prompt class)
|
|
82
|
+
* Returns a promise that resolves when the user responds
|
|
83
|
+
*/
|
|
84
|
+
_addPrompt(prompt: PromptData): Promise<string | boolean | string[]>
|
|
85
|
+
/**
|
|
86
|
+
* Resolve a prompt with its default value
|
|
87
|
+
*/
|
|
88
|
+
private resolvePromptWithDefault
|
|
89
|
+
/**
|
|
90
|
+
* Get the currently active prompt (for rendering)
|
|
91
|
+
*/
|
|
92
|
+
getActivePrompt(): PromptData | null
|
|
93
|
+
/**
|
|
94
|
+
* Check if this screen has an active prompt
|
|
95
|
+
*/
|
|
96
|
+
hasActivePrompt(): boolean
|
|
97
|
+
/**
|
|
98
|
+
* Update prompt selection (for keyboard navigation)
|
|
99
|
+
*/
|
|
100
|
+
updatePromptSelection(index: number): void
|
|
101
|
+
/**
|
|
102
|
+
* Navigate prompt selection up
|
|
103
|
+
*/
|
|
104
|
+
promptNavigateUp(): void
|
|
105
|
+
/**
|
|
106
|
+
* Navigate prompt selection down
|
|
107
|
+
*/
|
|
108
|
+
promptNavigateDown(): void
|
|
109
|
+
/**
|
|
110
|
+
* Toggle left/right for confirm prompts
|
|
111
|
+
*/
|
|
112
|
+
promptNavigateLeft(): void
|
|
113
|
+
promptNavigateRight(): void
|
|
114
|
+
/**
|
|
115
|
+
* Toggle selection for multiChoice prompts
|
|
116
|
+
*/
|
|
117
|
+
promptToggleSelection(): void
|
|
118
|
+
/**
|
|
119
|
+
* Enter input mode for choice prompts (if current selection allows input)
|
|
120
|
+
* or for input prompts (always)
|
|
121
|
+
*/
|
|
122
|
+
promptEnterInputMode(): boolean
|
|
123
|
+
/**
|
|
124
|
+
* Exit input mode for choice prompts
|
|
125
|
+
*/
|
|
126
|
+
promptExitInputMode(): void
|
|
127
|
+
/**
|
|
128
|
+
* Check if prompt is in input mode
|
|
129
|
+
*/
|
|
130
|
+
isPromptInInputMode(): boolean
|
|
131
|
+
/**
|
|
132
|
+
* Update input value for choice prompts
|
|
133
|
+
*/
|
|
134
|
+
promptUpdateInput(value: string): void
|
|
135
|
+
/**
|
|
136
|
+
* Append character to input
|
|
137
|
+
*/
|
|
138
|
+
promptAppendInput(char: string): void
|
|
139
|
+
/**
|
|
140
|
+
* Delete last character from input
|
|
141
|
+
*/
|
|
142
|
+
promptDeleteLastChar(): void
|
|
143
|
+
/**
|
|
144
|
+
* Check if multiChoice prompt can be submitted (meets minSelect requirement)
|
|
145
|
+
*/
|
|
146
|
+
canSubmitPrompt(): boolean
|
|
147
|
+
/**
|
|
148
|
+
* Submit the current prompt selection
|
|
149
|
+
*/
|
|
150
|
+
promptSubmit(): void
|
|
151
|
+
/**
|
|
152
|
+
* Activate the next prompt in the queue
|
|
153
|
+
*/
|
|
154
|
+
private activateNextPrompt
|
|
155
|
+
/**
|
|
156
|
+
* Register a change listener for re-renders
|
|
157
|
+
*/
|
|
158
|
+
onChange(listener: () => void): () => void
|
|
159
|
+
private notifyChange
|
|
160
|
+
/**
|
|
161
|
+
* Print all messages to stdout/stderr with ANSI colors
|
|
162
|
+
*/
|
|
163
|
+
private printToConsole
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../src/services/screen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { ScreenOptions, BindOptions, FocusArea, Theme } from '../types/index.ts'
|
|
2
|
+
|
|
3
|
+
import { Screen } from './screen.ts'
|
|
4
|
+
export declare class ScreenManager {
|
|
5
|
+
private screens
|
|
6
|
+
private screenOrder
|
|
7
|
+
private activeScreenId
|
|
8
|
+
private renderer
|
|
9
|
+
private root
|
|
10
|
+
private isBound
|
|
11
|
+
private changeListeners
|
|
12
|
+
private bindOptions
|
|
13
|
+
private autoCloseTimer
|
|
14
|
+
private theme
|
|
15
|
+
focusArea: FocusArea
|
|
16
|
+
selectedIndex: number
|
|
17
|
+
/**
|
|
18
|
+
* Create a new screen and return it
|
|
19
|
+
*/
|
|
20
|
+
createScreen(options: ScreenOptions): Screen
|
|
21
|
+
/**
|
|
22
|
+
* Remove a screen dynamically
|
|
23
|
+
*/
|
|
24
|
+
removeScreen(screen: Screen): void
|
|
25
|
+
/**
|
|
26
|
+
* Non-blocking bind - starts TUI rendering in background
|
|
27
|
+
*/
|
|
28
|
+
bind(options?: BindOptions): Promise<void>
|
|
29
|
+
/**
|
|
30
|
+
* Get the configured theme
|
|
31
|
+
*/
|
|
32
|
+
getTheme(): Theme | undefined
|
|
33
|
+
/**
|
|
34
|
+
* Stop TUI rendering and cleanup
|
|
35
|
+
* Flushes all completed screens to stdout/stderr
|
|
36
|
+
*/
|
|
37
|
+
unbind(): void
|
|
38
|
+
/**
|
|
39
|
+
* Print all completed screens that haven't been printed yet
|
|
40
|
+
*/
|
|
41
|
+
private flushCompletedScreens
|
|
42
|
+
/**
|
|
43
|
+
* Check if TUI is currently bound
|
|
44
|
+
*/
|
|
45
|
+
isTuiBound(): boolean
|
|
46
|
+
/**
|
|
47
|
+
* Called by Screen when a prompt becomes active
|
|
48
|
+
* Focuses the screen and switches to content area
|
|
49
|
+
*/
|
|
50
|
+
onScreenPromptActivated(screen: Screen): void
|
|
51
|
+
/**
|
|
52
|
+
* Check if any screen has an active prompt
|
|
53
|
+
*/
|
|
54
|
+
hasActivePrompt(): boolean
|
|
55
|
+
/**
|
|
56
|
+
* Get the screen with an active prompt (if any)
|
|
57
|
+
*/
|
|
58
|
+
getScreenWithActivePrompt(): Screen | null
|
|
59
|
+
/**
|
|
60
|
+
* Called by Screen when visibility changes
|
|
61
|
+
* Handles switching active screen if needed
|
|
62
|
+
*/
|
|
63
|
+
onScreenVisibilityChanged(screen: Screen): void
|
|
64
|
+
/**
|
|
65
|
+
* Called by Screen when status becomes success/fail
|
|
66
|
+
* Moves completed screens to end of sidebar list
|
|
67
|
+
*/
|
|
68
|
+
onScreenCompleted(screen: Screen): void
|
|
69
|
+
/**
|
|
70
|
+
* Check if all screens are successful and start auto-close timer if enabled
|
|
71
|
+
*/
|
|
72
|
+
private checkAutoClose
|
|
73
|
+
/**
|
|
74
|
+
* Get visible screens in display order (excludes hidden screens)
|
|
75
|
+
*/
|
|
76
|
+
getScreens(): Screen[]
|
|
77
|
+
/**
|
|
78
|
+
* Get all screens in display order (includes hidden screens)
|
|
79
|
+
*/
|
|
80
|
+
getAllScreens(): Screen[]
|
|
81
|
+
/**
|
|
82
|
+
* Get the active screen
|
|
83
|
+
*/
|
|
84
|
+
getActiveScreen(): Screen | null
|
|
85
|
+
/**
|
|
86
|
+
* Set the active screen
|
|
87
|
+
*/
|
|
88
|
+
setActiveScreen(screen: Screen): void
|
|
89
|
+
/**
|
|
90
|
+
* Get bind options
|
|
91
|
+
*/
|
|
92
|
+
getBindOptions(): BindOptions
|
|
93
|
+
/**
|
|
94
|
+
* Set focus area (sidebar or content)
|
|
95
|
+
*/
|
|
96
|
+
setFocusArea(area: FocusArea): void
|
|
97
|
+
/**
|
|
98
|
+
* Set selected index in sidebar
|
|
99
|
+
*/
|
|
100
|
+
setSelectedIndex(index: number): void
|
|
101
|
+
/**
|
|
102
|
+
* Navigate sidebar up
|
|
103
|
+
*/
|
|
104
|
+
navigateUp(): void
|
|
105
|
+
/**
|
|
106
|
+
* Navigate sidebar down
|
|
107
|
+
*/
|
|
108
|
+
navigateDown(): void
|
|
109
|
+
/**
|
|
110
|
+
* Select the currently highlighted screen
|
|
111
|
+
*/
|
|
112
|
+
selectCurrent(): void
|
|
113
|
+
/**
|
|
114
|
+
* Toggle focus between sidebar and content
|
|
115
|
+
*/
|
|
116
|
+
toggleFocus(): void
|
|
117
|
+
/**
|
|
118
|
+
* Register a change listener for re-renders
|
|
119
|
+
*/
|
|
120
|
+
onChange(listener: () => void): () => void
|
|
121
|
+
private notifyChange
|
|
122
|
+
private render
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=screen_manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen_manager.d.ts","sourceRoot":"","sources":["../../../src/services/screen_manager.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAEnG,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,IAAI,CAA8C;IAC1D,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,KAAK,CAAoB;IAG1B,SAAS,EAAE,SAAS,CAAa;IACjC,aAAa,EAAE,MAAM,CAAK;IAEjC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IAuB5C;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsBlC;;OAEG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhD;;OAEG;IACH,QAAQ,IAAI,KAAK,GAAG,SAAS;IAI7B;;;OAGG;IACH,MAAM,IAAI,IAAI;IAoBd;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7C;;OAEG;IACH,eAAe,IAAI,OAAO;IAS1B;;OAEG;IACH,yBAAyB,IAAI,MAAM,GAAG,IAAI;IAS1C;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB/C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAuBvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAMtB;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAMzB;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI;IAMhC;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAKnC;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMrC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,aAAa,IAAI,IAAI;IAQrB;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK1C,OAAO,CAAC,YAAY;YAKN,MAAM;CAOrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dark.d.ts","sourceRoot":"","sources":["../../../src/themes/dark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KA0KvB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Theme } from '../types/theme.types.ts'
|
|
2
|
+
/**
|
|
3
|
+
* High contrast theme for accessibility.
|
|
4
|
+
* Uses pure black/white with saturated colors for maximum visibility.
|
|
5
|
+
*/
|
|
6
|
+
export declare const highContrastTheme: Theme
|
|
7
|
+
//# sourceMappingURL=high-contrast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"high-contrast.d.ts","sourceRoot":"","sources":["../../../src/themes/high-contrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAgL/B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { darkTheme } from './dark.ts'
|
|
2
|
+
export { lightTheme } from './light.ts'
|
|
3
|
+
export { highContrastTheme } from './high-contrast.ts'
|
|
4
|
+
export { createTheme, createThemeFrom, mergeThemes, getThemePreset, resolveTheme } from './utils.ts'
|
|
5
|
+
export type {
|
|
6
|
+
Theme,
|
|
7
|
+
ThemePreset,
|
|
8
|
+
PartialTheme,
|
|
9
|
+
LogLevelTheme,
|
|
10
|
+
SidebarTheme,
|
|
11
|
+
HeaderTheme,
|
|
12
|
+
ProgressTheme,
|
|
13
|
+
PromptTheme,
|
|
14
|
+
FilterTheme,
|
|
15
|
+
HelpTheme,
|
|
16
|
+
SemanticColors,
|
|
17
|
+
} from '../types/theme.types.ts'
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,KAAK,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,cAAc,GACf,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../../src/themes/light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KA0KxB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Theme, PartialTheme, ThemePreset } from '../types/theme.types.ts'
|
|
2
|
+
/**
|
|
3
|
+
* Get a theme by preset name.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getThemePreset(preset: ThemePreset): Theme
|
|
6
|
+
/**
|
|
7
|
+
* Merge a base theme with partial overrides.
|
|
8
|
+
*/
|
|
9
|
+
export declare function mergeThemes(base: Theme, overrides: PartialTheme): Theme
|
|
10
|
+
/**
|
|
11
|
+
* Create a custom theme by extending the dark theme with overrides.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createTheme(overrides: PartialTheme): Theme
|
|
14
|
+
/**
|
|
15
|
+
* Create a custom theme by extending a specific base theme.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createThemeFrom(base: Theme | ThemePreset, overrides: PartialTheme): Theme
|
|
18
|
+
/**
|
|
19
|
+
* Resolve a theme value which can be a Theme object or a preset name.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveTheme(theme: Theme | ThemePreset): Theme
|
|
22
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/themes/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsChF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAWzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,GAAG,KAAK,CAEvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,YAAY,GAAG,KAAK,CAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,GAAG,WAAW,EACzB,SAAS,EAAE,YAAY,GACtB,KAAK,CAGP;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,KAAK,CAE9D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { RGBA } from '@opentui/core'
|
|
2
|
+
export type FileLogMode = 'full' | 'diff' | 'partial'
|
|
3
|
+
export interface FileLogBaseProps {
|
|
4
|
+
/** File path or name to display in header */
|
|
5
|
+
filePath: string
|
|
6
|
+
/** Override auto-detected filetype for syntax highlighting */
|
|
7
|
+
filetype?: string
|
|
8
|
+
/** Show line numbers */
|
|
9
|
+
showLineNumbers?: boolean
|
|
10
|
+
/** Show header with file path */
|
|
11
|
+
showHeader?: boolean
|
|
12
|
+
/** Custom header background color */
|
|
13
|
+
headerBackgroundColor?: string | RGBA
|
|
14
|
+
}
|
|
15
|
+
export interface FileLogFullProps extends FileLogBaseProps {
|
|
16
|
+
mode: 'full'
|
|
17
|
+
/** The complete file content */
|
|
18
|
+
content: string
|
|
19
|
+
}
|
|
20
|
+
export interface FileLogDiffProps extends FileLogBaseProps {
|
|
21
|
+
mode: 'diff'
|
|
22
|
+
/** Unified diff string */
|
|
23
|
+
diff: string
|
|
24
|
+
/** Diff view mode */
|
|
25
|
+
view?: 'unified' | 'split'
|
|
26
|
+
}
|
|
27
|
+
export interface FileLogPartialProps extends FileLogBaseProps {
|
|
28
|
+
mode: 'partial'
|
|
29
|
+
/** File content (full or partial) */
|
|
30
|
+
content: string
|
|
31
|
+
/** Starting line number of the content (1-indexed) */
|
|
32
|
+
startLine: number
|
|
33
|
+
/** Lines to highlight as errors */
|
|
34
|
+
errorLines?: number[]
|
|
35
|
+
/** Error highlighting colors */
|
|
36
|
+
errorLineBackground?: string | RGBA
|
|
37
|
+
errorLineBorderColor?: string | RGBA
|
|
38
|
+
}
|
|
39
|
+
export type FileLogProps = FileLogFullProps | FileLogDiffProps | FileLogPartialProps
|
|
40
|
+
//# sourceMappingURL=file.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.types.d.ts","sourceRoot":"","sources":["../../../src/types/file.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAM1C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qCAAqC;IACrC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,qBAAqB;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,SAAS,CAAC;IAEhB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,gCAAgC;IAChC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,CAAC"}
|