claude-code-plus-plus 0.1.1 → 0.2.1
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/dist/app.d.ts +52 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +318 -0
- package/dist/app.js.map +1 -0
- package/dist/cli/commands/index.d.ts +5 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +9 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/start.d.ts +16 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +23 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +22 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/parser.d.ts +31 -0
- package/dist/cli/parser.d.ts.map +1 -0
- package/dist/cli/parser.js +117 -0
- package/dist/cli/parser.js.map +1 -0
- package/dist/cli/validators.d.ts +46 -0
- package/dist/cli/validators.d.ts.map +1 -0
- package/dist/cli/validators.js +159 -0
- package/dist/cli/validators.js.map +1 -0
- package/dist/config/defaults.d.ts +14 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +32 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +32 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +38 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +116 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/paths.d.ts +47 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +95 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/schema.d.ts +15 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +36 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/index.d.ts +13 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +13 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/session/index.d.ts +7 -0
- package/dist/core/session/index.d.ts.map +1 -0
- package/dist/core/session/index.js +6 -0
- package/dist/core/session/index.js.map +1 -0
- package/dist/core/session/session-manager.d.ts +46 -0
- package/dist/core/session/session-manager.d.ts.map +1 -0
- package/dist/core/session/session-manager.js +245 -0
- package/dist/core/session/session-manager.js.map +1 -0
- package/dist/core/session/session.d.ts +44 -0
- package/dist/core/session/session.d.ts.map +1 -0
- package/dist/core/session/session.js +78 -0
- package/dist/core/session/session.js.map +1 -0
- package/dist/core/terminal/index.d.ts +7 -0
- package/dist/core/terminal/index.d.ts.map +1 -0
- package/dist/core/terminal/index.js +6 -0
- package/dist/core/terminal/index.js.map +1 -0
- package/dist/core/terminal/terminal-manager.d.ts +36 -0
- package/dist/core/terminal/terminal-manager.d.ts.map +1 -0
- package/dist/core/terminal/terminal-manager.js +182 -0
- package/dist/core/terminal/terminal-manager.js.map +1 -0
- package/dist/core/terminal/terminal.d.ts +27 -0
- package/dist/core/terminal/terminal.d.ts.map +1 -0
- package/dist/core/terminal/terminal.js +38 -0
- package/dist/core/terminal/terminal.js.map +1 -0
- package/dist/core/workspace/index.d.ts +7 -0
- package/dist/core/workspace/index.d.ts.map +1 -0
- package/dist/core/workspace/index.js +6 -0
- package/dist/core/workspace/index.js.map +1 -0
- package/dist/core/workspace/workspace-manager.d.ts +59 -0
- package/dist/core/workspace/workspace-manager.d.ts.map +1 -0
- package/dist/core/workspace/workspace-manager.js +224 -0
- package/dist/core/workspace/workspace-manager.js.map +1 -0
- package/dist/core/workspace/workspace.d.ts +56 -0
- package/dist/core/workspace/workspace.d.ts.map +1 -0
- package/dist/core/workspace/workspace.js +96 -0
- package/dist/core/workspace/workspace.js.map +1 -0
- package/dist/core/worktree/index.d.ts +7 -0
- package/dist/core/worktree/index.d.ts.map +1 -0
- package/dist/core/worktree/index.js +6 -0
- package/dist/core/worktree/index.js.map +1 -0
- package/dist/core/worktree/worktree-manager.d.ts +47 -0
- package/dist/core/worktree/worktree-manager.d.ts.map +1 -0
- package/dist/core/worktree/worktree-manager.js +170 -0
- package/dist/core/worktree/worktree-manager.js.map +1 -0
- package/dist/core/worktree/worktree.d.ts +35 -0
- package/dist/core/worktree/worktree.d.ts.map +1 -0
- package/dist/core/worktree/worktree.js +50 -0
- package/dist/core/worktree/worktree.js.map +1 -0
- package/dist/events/bus.d.ts +76 -0
- package/dist/events/bus.d.ts.map +1 -0
- package/dist/events/bus.js +223 -0
- package/dist/events/bus.js.map +1 -0
- package/dist/events/handlers/index.d.ts +28 -0
- package/dist/events/handlers/index.d.ts.map +1 -0
- package/dist/events/handlers/index.js +44 -0
- package/dist/events/handlers/index.js.map +1 -0
- package/dist/events/handlers/session-events.d.ts +12 -0
- package/dist/events/handlers/session-events.d.ts.map +1 -0
- package/dist/events/handlers/session-events.js +38 -0
- package/dist/events/handlers/session-events.js.map +1 -0
- package/dist/events/handlers/terminal-events.d.ts +12 -0
- package/dist/events/handlers/terminal-events.d.ts.map +1 -0
- package/dist/events/handlers/terminal-events.js +37 -0
- package/dist/events/handlers/terminal-events.js.map +1 -0
- package/dist/events/handlers/ui-events.d.ts +11 -0
- package/dist/events/handlers/ui-events.d.ts.map +1 -0
- package/dist/events/handlers/ui-events.js +202 -0
- package/dist/events/handlers/ui-events.js.map +1 -0
- package/dist/events/index.d.ts +9 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +10 -0
- package/dist/events/index.js.map +1 -0
- package/dist/git/index.d.ts +5 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +10 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/worktree.d.ts +44 -0
- package/dist/git/worktree.d.ts.map +1 -0
- package/dist/git/worktree.js +163 -0
- package/dist/git/worktree.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -145
- package/dist/index.js.map +1 -1
- package/dist/launcher/index.d.ts +24 -0
- package/dist/launcher/index.d.ts.map +1 -0
- package/dist/launcher/index.js +260 -0
- package/dist/launcher/index.js.map +1 -0
- package/dist/multiplexer/base.d.ts +73 -0
- package/dist/multiplexer/base.d.ts.map +1 -0
- package/dist/multiplexer/base.js +68 -0
- package/dist/multiplexer/base.js.map +1 -0
- package/dist/multiplexer/factory.d.ts +28 -0
- package/dist/multiplexer/factory.d.ts.map +1 -0
- package/dist/multiplexer/factory.js +72 -0
- package/dist/multiplexer/factory.js.map +1 -0
- package/dist/multiplexer/index.d.ts +14 -0
- package/dist/multiplexer/index.d.ts.map +1 -0
- package/dist/multiplexer/index.js +15 -0
- package/dist/multiplexer/index.js.map +1 -0
- package/dist/multiplexer/tmux/index.d.ts +9 -0
- package/dist/multiplexer/tmux/index.d.ts.map +1 -0
- package/dist/multiplexer/tmux/index.js +7 -0
- package/dist/multiplexer/tmux/index.js.map +1 -0
- package/dist/multiplexer/tmux/tmux-commands.d.ts +96 -0
- package/dist/multiplexer/tmux/tmux-commands.d.ts.map +1 -0
- package/dist/multiplexer/tmux/tmux-commands.js +282 -0
- package/dist/multiplexer/tmux/tmux-commands.js.map +1 -0
- package/dist/multiplexer/tmux/tmux-config.d.ts +57 -0
- package/dist/multiplexer/tmux/tmux-config.d.ts.map +1 -0
- package/dist/multiplexer/tmux/tmux-config.js +103 -0
- package/dist/multiplexer/tmux/tmux-config.js.map +1 -0
- package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +94 -0
- package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +1 -0
- package/dist/multiplexer/tmux/tmux-multiplexer.js +302 -0
- package/dist/multiplexer/tmux/tmux-multiplexer.js.map +1 -0
- package/dist/multiplexer/windows/index.d.ts +5 -0
- package/dist/multiplexer/windows/index.d.ts.map +1 -0
- package/dist/multiplexer/windows/index.js +5 -0
- package/dist/multiplexer/windows/index.js.map +1 -0
- package/dist/multiplexer/windows/windows-multiplexer.d.ts +61 -0
- package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +1 -0
- package/dist/multiplexer/windows/windows-multiplexer.js +151 -0
- package/dist/multiplexer/windows/windows-multiplexer.js.map +1 -0
- package/dist/platform/clipboard.d.ts +26 -0
- package/dist/platform/clipboard.d.ts.map +1 -0
- package/dist/platform/clipboard.js +161 -0
- package/dist/platform/clipboard.js.map +1 -0
- package/dist/platform/detector.d.ts +78 -0
- package/dist/platform/detector.d.ts.map +1 -0
- package/dist/platform/detector.js +184 -0
- package/dist/platform/detector.js.map +1 -0
- package/dist/platform/index.d.ts +14 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/index.js +53 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/paths.d.ts +63 -0
- package/dist/platform/paths.d.ts.map +1 -0
- package/dist/platform/paths.js +162 -0
- package/dist/platform/paths.js.map +1 -0
- package/dist/platform/shell.d.ts +43 -0
- package/dist/platform/shell.d.ts.map +1 -0
- package/dist/platform/shell.js +195 -0
- package/dist/platform/shell.js.map +1 -0
- package/dist/services/claude/claude-detector.d.ts +37 -0
- package/dist/services/claude/claude-detector.d.ts.map +1 -0
- package/dist/services/claude/claude-detector.js +83 -0
- package/dist/services/claude/claude-detector.js.map +1 -0
- package/dist/services/claude/claude-service.d.ts +57 -0
- package/dist/services/claude/claude-service.d.ts.map +1 -0
- package/dist/services/claude/claude-service.js +108 -0
- package/dist/services/claude/claude-service.js.map +1 -0
- package/dist/services/claude/index.d.ts +7 -0
- package/dist/services/claude/index.d.ts.map +1 -0
- package/dist/services/claude/index.js +6 -0
- package/dist/services/claude/index.js.map +1 -0
- package/dist/services/git/branch-service.d.ts +64 -0
- package/dist/services/git/branch-service.d.ts.map +1 -0
- package/dist/services/git/branch-service.js +217 -0
- package/dist/services/git/branch-service.js.map +1 -0
- package/dist/services/git/git-service.d.ts +44 -0
- package/dist/services/git/git-service.d.ts.map +1 -0
- package/dist/services/git/git-service.js +145 -0
- package/dist/services/git/git-service.js.map +1 -0
- package/dist/services/git/index.d.ts +8 -0
- package/dist/services/git/index.d.ts.map +1 -0
- package/dist/services/git/index.js +7 -0
- package/dist/services/git/index.js.map +1 -0
- package/dist/services/git/worktree-service.d.ts +61 -0
- package/dist/services/git/worktree-service.d.ts.map +1 -0
- package/dist/services/git/worktree-service.js +243 -0
- package/dist/services/git/worktree-service.js.map +1 -0
- package/dist/services/index.d.ts +12 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +12 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/process/index.d.ts +8 -0
- package/dist/services/process/index.d.ts.map +1 -0
- package/dist/services/process/index.js +6 -0
- package/dist/services/process/index.js.map +1 -0
- package/dist/services/process/process-monitor.d.ts +98 -0
- package/dist/services/process/process-monitor.d.ts.map +1 -0
- package/dist/services/process/process-monitor.js +173 -0
- package/dist/services/process/process-monitor.js.map +1 -0
- package/dist/services/process/process-spawner.d.ts +55 -0
- package/dist/services/process/process-spawner.d.ts.map +1 -0
- package/dist/services/process/process-spawner.js +93 -0
- package/dist/services/process/process-spawner.js.map +1 -0
- package/dist/sidebar/app.d.ts +70 -0
- package/dist/sidebar/app.d.ts.map +1 -0
- package/dist/sidebar/app.js +1237 -0
- package/dist/sidebar/app.js.map +1 -0
- package/dist/sidebar/index.d.ts +8 -0
- package/dist/sidebar/index.d.ts.map +1 -0
- package/dist/sidebar/index.js +28 -0
- package/dist/sidebar/index.js.map +1 -0
- package/dist/sidebar/input.d.ts +33 -0
- package/dist/sidebar/input.d.ts.map +1 -0
- package/dist/sidebar/input.js +160 -0
- package/dist/sidebar/input.js.map +1 -0
- package/dist/sidebar/render.d.ts +73 -0
- package/dist/sidebar/render.d.ts.map +1 -0
- package/dist/sidebar/render.js +415 -0
- package/dist/sidebar/render.js.map +1 -0
- package/dist/state/actions.d.ts +49 -0
- package/dist/state/actions.d.ts.map +1 -0
- package/dist/state/actions.js +512 -0
- package/dist/state/actions.js.map +1 -0
- package/dist/state/index.d.ts +16 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +28 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/middleware/index.d.ts +7 -0
- package/dist/state/middleware/index.d.ts.map +1 -0
- package/dist/state/middleware/index.js +6 -0
- package/dist/state/middleware/index.js.map +1 -0
- package/dist/state/middleware/logger.d.ts +22 -0
- package/dist/state/middleware/logger.d.ts.map +1 -0
- package/dist/state/middleware/logger.js +45 -0
- package/dist/state/middleware/logger.js.map +1 -0
- package/dist/state/middleware/persistence.d.ts +29 -0
- package/dist/state/middleware/persistence.d.ts.map +1 -0
- package/dist/state/middleware/persistence.js +71 -0
- package/dist/state/middleware/persistence.js.map +1 -0
- package/dist/state/persistence/file-adapter.d.ts +48 -0
- package/dist/state/persistence/file-adapter.d.ts.map +1 -0
- package/dist/state/persistence/file-adapter.js +96 -0
- package/dist/state/persistence/file-adapter.js.map +1 -0
- package/dist/state/persistence/index.d.ts +8 -0
- package/dist/state/persistence/index.d.ts.map +1 -0
- package/dist/state/persistence/index.js +6 -0
- package/dist/state/persistence/index.js.map +1 -0
- package/dist/state/persistence/serializer.d.ts +41 -0
- package/dist/state/persistence/serializer.d.ts.map +1 -0
- package/dist/state/persistence/serializer.js +114 -0
- package/dist/state/persistence/serializer.js.map +1 -0
- package/dist/state/selectors.d.ts +67 -0
- package/dist/state/selectors.d.ts.map +1 -0
- package/dist/state/selectors.js +177 -0
- package/dist/state/selectors.js.map +1 -0
- package/dist/state/store.d.ts +86 -0
- package/dist/state/store.d.ts.map +1 -0
- package/dist/state/store.js +161 -0
- package/dist/state/store.js.map +1 -0
- package/dist/state/types.d.ts +269 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +7 -0
- package/dist/state/types.js.map +1 -0
- package/dist/terminal/bar-handler.d.ts +15 -0
- package/dist/terminal/bar-handler.d.ts.map +1 -0
- package/dist/terminal/bar-handler.js +244 -0
- package/dist/terminal/bar-handler.js.map +1 -0
- package/dist/terminal/bar-render.d.ts +33 -0
- package/dist/terminal/bar-render.d.ts.map +1 -0
- package/dist/terminal/bar-render.js +126 -0
- package/dist/terminal/bar-render.js.map +1 -0
- package/dist/terminal/index.d.ts +8 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +14 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/tmux/commands.d.ts +26 -0
- package/dist/tmux/commands.d.ts.map +1 -0
- package/dist/tmux/commands.js +74 -0
- package/dist/tmux/commands.js.map +1 -0
- package/dist/tmux/index.d.ts +6 -0
- package/dist/tmux/index.d.ts.map +1 -0
- package/dist/tmux/index.js +42 -0
- package/dist/tmux/index.js.map +1 -0
- package/dist/tmux/pane.d.ts +111 -0
- package/dist/tmux/pane.d.ts.map +1 -0
- package/dist/tmux/pane.js +231 -0
- package/dist/tmux/pane.js.map +1 -0
- package/dist/types/config.d.ts +103 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +7 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/entities.d.ts +88 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/entities.js +8 -0
- package/dist/types/entities.js.map +1 -0
- package/dist/types/events.d.ts +156 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +8 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/multiplexer.d.ts +238 -0
- package/dist/types/multiplexer.d.ts.map +1 -0
- package/dist/types/multiplexer.js +8 -0
- package/dist/types/multiplexer.js.map +1 -0
- package/dist/types.d.ts +67 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -3
- package/dist/types.js.map +1 -1
- package/dist/ui/components/base.d.ts +155 -0
- package/dist/ui/components/base.d.ts.map +1 -0
- package/dist/ui/components/base.js +269 -0
- package/dist/ui/components/base.js.map +1 -0
- package/dist/ui/components/index.d.ts +10 -0
- package/dist/ui/components/index.d.ts.map +1 -0
- package/dist/ui/components/index.js +10 -0
- package/dist/ui/components/index.js.map +1 -0
- package/dist/ui/components/input-field.d.ts +98 -0
- package/dist/ui/components/input-field.d.ts.map +1 -0
- package/dist/ui/components/input-field.js +274 -0
- package/dist/ui/components/input-field.js.map +1 -0
- package/dist/ui/components/list.d.ts +94 -0
- package/dist/ui/components/list.d.ts.map +1 -0
- package/dist/ui/components/list.js +294 -0
- package/dist/ui/components/list.js.map +1 -0
- package/dist/ui/components/modal.d.ts +83 -0
- package/dist/ui/components/modal.d.ts.map +1 -0
- package/dist/ui/components/modal.js +249 -0
- package/dist/ui/components/modal.js.map +1 -0
- package/dist/ui/components/tabs.d.ts +97 -0
- package/dist/ui/components/tabs.d.ts.map +1 -0
- package/dist/ui/components/tabs.js +252 -0
- package/dist/ui/components/tabs.js.map +1 -0
- package/dist/ui/components/text.d.ts +60 -0
- package/dist/ui/components/text.d.ts.map +1 -0
- package/dist/ui/components/text.js +224 -0
- package/dist/ui/components/text.js.map +1 -0
- package/dist/ui/index.d.ts +12 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +18 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/input/index.d.ts +8 -0
- package/dist/ui/input/index.d.ts.map +1 -0
- package/dist/ui/input/index.js +8 -0
- package/dist/ui/input/index.js.map +1 -0
- package/dist/ui/input/input-manager.d.ts +83 -0
- package/dist/ui/input/input-manager.d.ts.map +1 -0
- package/dist/ui/input/input-manager.js +200 -0
- package/dist/ui/input/input-manager.js.map +1 -0
- package/dist/ui/input/keybindings.d.ts +47 -0
- package/dist/ui/input/keybindings.d.ts.map +1 -0
- package/dist/ui/input/keybindings.js +168 -0
- package/dist/ui/input/keybindings.js.map +1 -0
- package/dist/ui/input/keyboard.d.ts +24 -0
- package/dist/ui/input/keyboard.d.ts.map +1 -0
- package/dist/ui/input/keyboard.js +230 -0
- package/dist/ui/input/keyboard.js.map +1 -0
- package/dist/ui/input/mouse.d.ts +44 -0
- package/dist/ui/input/mouse.d.ts.map +1 -0
- package/dist/ui/input/mouse.js +161 -0
- package/dist/ui/input/mouse.js.map +1 -0
- package/dist/ui/layout/box.d.ts +63 -0
- package/dist/ui/layout/box.d.ts.map +1 -0
- package/dist/ui/layout/box.js +160 -0
- package/dist/ui/layout/box.js.map +1 -0
- package/dist/ui/layout/constraints.d.ts +77 -0
- package/dist/ui/layout/constraints.d.ts.map +1 -0
- package/dist/ui/layout/constraints.js +154 -0
- package/dist/ui/layout/constraints.js.map +1 -0
- package/dist/ui/layout/flex.d.ts +59 -0
- package/dist/ui/layout/flex.d.ts.map +1 -0
- package/dist/ui/layout/flex.js +163 -0
- package/dist/ui/layout/flex.js.map +1 -0
- package/dist/ui/layout/index.d.ts +7 -0
- package/dist/ui/layout/index.d.ts.map +1 -0
- package/dist/ui/layout/index.js +7 -0
- package/dist/ui/layout/index.js.map +1 -0
- package/dist/ui/modals/delete-modal.d.ts +27 -0
- package/dist/ui/modals/delete-modal.d.ts.map +1 -0
- package/dist/ui/modals/delete-modal.js +59 -0
- package/dist/ui/modals/delete-modal.js.map +1 -0
- package/dist/ui/modals/index.d.ts +7 -0
- package/dist/ui/modals/index.d.ts.map +1 -0
- package/dist/ui/modals/index.js +7 -0
- package/dist/ui/modals/index.js.map +1 -0
- package/dist/ui/modals/input-modal.d.ts +66 -0
- package/dist/ui/modals/input-modal.d.ts.map +1 -0
- package/dist/ui/modals/input-modal.js +185 -0
- package/dist/ui/modals/input-modal.js.map +1 -0
- package/dist/ui/modals/quit-modal.d.ts +30 -0
- package/dist/ui/modals/quit-modal.d.ts.map +1 -0
- package/dist/ui/modals/quit-modal.js +65 -0
- package/dist/ui/modals/quit-modal.js.map +1 -0
- package/dist/ui/renderer/ansi.d.ts +206 -0
- package/dist/ui/renderer/ansi.d.ts.map +1 -0
- package/dist/ui/renderer/ansi.js +318 -0
- package/dist/ui/renderer/ansi.js.map +1 -0
- package/dist/ui/renderer/canvas.d.ts +126 -0
- package/dist/ui/renderer/canvas.d.ts.map +1 -0
- package/dist/ui/renderer/canvas.js +346 -0
- package/dist/ui/renderer/canvas.js.map +1 -0
- package/dist/ui/renderer/colors.d.ts +65 -0
- package/dist/ui/renderer/colors.d.ts.map +1 -0
- package/dist/ui/renderer/colors.js +260 -0
- package/dist/ui/renderer/colors.js.map +1 -0
- package/dist/ui/renderer/index.d.ts +8 -0
- package/dist/ui/renderer/index.d.ts.map +1 -0
- package/dist/ui/renderer/index.js +8 -0
- package/dist/ui/renderer/index.js.map +1 -0
- package/dist/ui/renderer/symbols.d.ts +176 -0
- package/dist/ui/renderer/symbols.d.ts.map +1 -0
- package/dist/ui/renderer/symbols.js +246 -0
- package/dist/ui/renderer/symbols.js.map +1 -0
- package/dist/ui/views/index.d.ts +7 -0
- package/dist/ui/views/index.d.ts.map +1 -0
- package/dist/ui/views/index.js +7 -0
- package/dist/ui/views/index.js.map +1 -0
- package/dist/ui/views/sidebar-view.d.ts +89 -0
- package/dist/ui/views/sidebar-view.d.ts.map +1 -0
- package/dist/ui/views/sidebar-view.js +259 -0
- package/dist/ui/views/sidebar-view.js.map +1 -0
- package/dist/ui/views/terminal-bar-view.d.ts +67 -0
- package/dist/ui/views/terminal-bar-view.d.ts.map +1 -0
- package/dist/ui/views/terminal-bar-view.js +172 -0
- package/dist/ui/views/terminal-bar-view.js.map +1 -0
- package/dist/ui/views/welcome-view.d.ts +34 -0
- package/dist/ui/views/welcome-view.d.ts.map +1 -0
- package/dist/ui/views/welcome-view.js +116 -0
- package/dist/ui/views/welcome-view.js.map +1 -0
- package/dist/utils/async.d.ts +68 -0
- package/dist/utils/async.d.ts.map +1 -0
- package/dist/utils/async.js +147 -0
- package/dist/utils/async.js.map +1 -0
- package/dist/utils/errors.d.ts +136 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +241 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/id.d.ts +51 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +88 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +78 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +75 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +219 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/string.d.ts +71 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +175 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/validation.d.ts +72 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +211 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Domain-specific errors for better error handling and debugging.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Base error class for the application
|
|
8
|
+
*/
|
|
9
|
+
export declare class AppError extends Error {
|
|
10
|
+
readonly code: string;
|
|
11
|
+
readonly context?: Record<string, unknown>;
|
|
12
|
+
readonly cause?: Error;
|
|
13
|
+
constructor(message: string, code: string, options?: {
|
|
14
|
+
context?: Record<string, unknown>;
|
|
15
|
+
cause?: Error;
|
|
16
|
+
});
|
|
17
|
+
toJSON(): Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Error for configuration-related issues
|
|
21
|
+
*/
|
|
22
|
+
export declare class ConfigError extends AppError {
|
|
23
|
+
constructor(message: string, context?: Record<string, unknown>);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Error for multiplexer operations (tmux, etc.)
|
|
27
|
+
*/
|
|
28
|
+
export declare class MultiplexerError extends AppError {
|
|
29
|
+
readonly command?: string;
|
|
30
|
+
readonly exitCode?: number;
|
|
31
|
+
readonly stderr?: string;
|
|
32
|
+
constructor(message: string, options?: {
|
|
33
|
+
command?: string;
|
|
34
|
+
exitCode?: number;
|
|
35
|
+
stderr?: string;
|
|
36
|
+
cause?: Error;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Error for Git operations
|
|
41
|
+
*/
|
|
42
|
+
export declare class GitError extends AppError {
|
|
43
|
+
readonly command?: string;
|
|
44
|
+
readonly exitCode?: number;
|
|
45
|
+
constructor(message: string, options?: {
|
|
46
|
+
command?: string;
|
|
47
|
+
exitCode?: number;
|
|
48
|
+
cause?: Error;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Error for worktree operations
|
|
53
|
+
*/
|
|
54
|
+
export declare class WorktreeError extends AppError {
|
|
55
|
+
readonly worktreePath?: string;
|
|
56
|
+
readonly branch?: string;
|
|
57
|
+
constructor(message: string, options?: {
|
|
58
|
+
worktreePath?: string;
|
|
59
|
+
branch?: string;
|
|
60
|
+
cause?: Error;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Error for session operations
|
|
65
|
+
*/
|
|
66
|
+
export declare class SessionError extends AppError {
|
|
67
|
+
readonly sessionId?: string;
|
|
68
|
+
constructor(message: string, options?: {
|
|
69
|
+
sessionId?: string;
|
|
70
|
+
cause?: Error;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Error for terminal operations
|
|
75
|
+
*/
|
|
76
|
+
export declare class TerminalError extends AppError {
|
|
77
|
+
readonly terminalId?: string;
|
|
78
|
+
readonly paneId?: string;
|
|
79
|
+
constructor(message: string, options?: {
|
|
80
|
+
terminalId?: string;
|
|
81
|
+
paneId?: string;
|
|
82
|
+
cause?: Error;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Error for state/persistence operations
|
|
87
|
+
*/
|
|
88
|
+
export declare class StateError extends AppError {
|
|
89
|
+
readonly statePath?: string;
|
|
90
|
+
constructor(message: string, options?: {
|
|
91
|
+
statePath?: string;
|
|
92
|
+
cause?: Error;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Error for UI operations
|
|
97
|
+
*/
|
|
98
|
+
export declare class UIError extends AppError {
|
|
99
|
+
readonly component?: string;
|
|
100
|
+
constructor(message: string, options?: {
|
|
101
|
+
component?: string;
|
|
102
|
+
cause?: Error;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Error for validation failures
|
|
107
|
+
*/
|
|
108
|
+
export declare class ValidationError extends AppError {
|
|
109
|
+
readonly field?: string;
|
|
110
|
+
readonly value?: unknown;
|
|
111
|
+
constructor(message: string, options?: {
|
|
112
|
+
field?: string;
|
|
113
|
+
value?: unknown;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Error for when a required resource is not found
|
|
118
|
+
*/
|
|
119
|
+
export declare class NotFoundError extends AppError {
|
|
120
|
+
readonly resourceType: string;
|
|
121
|
+
readonly resourceId?: string;
|
|
122
|
+
constructor(resourceType: string, resourceId?: string, message?: string);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Check if an error is an AppError
|
|
126
|
+
*/
|
|
127
|
+
export declare function isAppError(error: unknown): error is AppError;
|
|
128
|
+
/**
|
|
129
|
+
* Wrap an unknown error in an AppError
|
|
130
|
+
*/
|
|
131
|
+
export declare function wrapError(error: unknown, message?: string, code?: string): AppError;
|
|
132
|
+
/**
|
|
133
|
+
* Extract error message from any error type
|
|
134
|
+
*/
|
|
135
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
136
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Custom Error Classes
|
|
4
|
+
*
|
|
5
|
+
* Domain-specific errors for better error handling and debugging.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.NotFoundError = exports.ValidationError = exports.UIError = exports.StateError = exports.TerminalError = exports.SessionError = exports.WorktreeError = exports.GitError = exports.MultiplexerError = exports.ConfigError = exports.AppError = void 0;
|
|
9
|
+
exports.isAppError = isAppError;
|
|
10
|
+
exports.wrapError = wrapError;
|
|
11
|
+
exports.getErrorMessage = getErrorMessage;
|
|
12
|
+
/**
|
|
13
|
+
* Base error class for the application
|
|
14
|
+
*/
|
|
15
|
+
class AppError extends Error {
|
|
16
|
+
code;
|
|
17
|
+
context;
|
|
18
|
+
cause;
|
|
19
|
+
constructor(message, code, options) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.name = 'AppError';
|
|
22
|
+
this.code = code;
|
|
23
|
+
this.context = options?.context;
|
|
24
|
+
this.cause = options?.cause;
|
|
25
|
+
// Maintains proper stack trace for where error was thrown
|
|
26
|
+
Error.captureStackTrace?.(this, this.constructor);
|
|
27
|
+
}
|
|
28
|
+
toJSON() {
|
|
29
|
+
return {
|
|
30
|
+
name: this.name,
|
|
31
|
+
message: this.message,
|
|
32
|
+
code: this.code,
|
|
33
|
+
context: this.context,
|
|
34
|
+
stack: this.stack,
|
|
35
|
+
cause: this.cause?.message,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.AppError = AppError;
|
|
40
|
+
/**
|
|
41
|
+
* Error for configuration-related issues
|
|
42
|
+
*/
|
|
43
|
+
class ConfigError extends AppError {
|
|
44
|
+
constructor(message, context) {
|
|
45
|
+
super(message, 'CONFIG_ERROR', { context });
|
|
46
|
+
this.name = 'ConfigError';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.ConfigError = ConfigError;
|
|
50
|
+
/**
|
|
51
|
+
* Error for multiplexer operations (tmux, etc.)
|
|
52
|
+
*/
|
|
53
|
+
class MultiplexerError extends AppError {
|
|
54
|
+
command;
|
|
55
|
+
exitCode;
|
|
56
|
+
stderr;
|
|
57
|
+
constructor(message, options) {
|
|
58
|
+
super(message, 'MULTIPLEXER_ERROR', {
|
|
59
|
+
context: {
|
|
60
|
+
command: options?.command,
|
|
61
|
+
exitCode: options?.exitCode,
|
|
62
|
+
stderr: options?.stderr,
|
|
63
|
+
},
|
|
64
|
+
cause: options?.cause,
|
|
65
|
+
});
|
|
66
|
+
this.name = 'MultiplexerError';
|
|
67
|
+
this.command = options?.command;
|
|
68
|
+
this.exitCode = options?.exitCode;
|
|
69
|
+
this.stderr = options?.stderr;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.MultiplexerError = MultiplexerError;
|
|
73
|
+
/**
|
|
74
|
+
* Error for Git operations
|
|
75
|
+
*/
|
|
76
|
+
class GitError extends AppError {
|
|
77
|
+
command;
|
|
78
|
+
exitCode;
|
|
79
|
+
constructor(message, options) {
|
|
80
|
+
super(message, 'GIT_ERROR', {
|
|
81
|
+
context: {
|
|
82
|
+
command: options?.command,
|
|
83
|
+
exitCode: options?.exitCode,
|
|
84
|
+
},
|
|
85
|
+
cause: options?.cause,
|
|
86
|
+
});
|
|
87
|
+
this.name = 'GitError';
|
|
88
|
+
this.command = options?.command;
|
|
89
|
+
this.exitCode = options?.exitCode;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.GitError = GitError;
|
|
93
|
+
/**
|
|
94
|
+
* Error for worktree operations
|
|
95
|
+
*/
|
|
96
|
+
class WorktreeError extends AppError {
|
|
97
|
+
worktreePath;
|
|
98
|
+
branch;
|
|
99
|
+
constructor(message, options) {
|
|
100
|
+
super(message, 'WORKTREE_ERROR', {
|
|
101
|
+
context: {
|
|
102
|
+
worktreePath: options?.worktreePath,
|
|
103
|
+
branch: options?.branch,
|
|
104
|
+
},
|
|
105
|
+
cause: options?.cause,
|
|
106
|
+
});
|
|
107
|
+
this.name = 'WorktreeError';
|
|
108
|
+
this.worktreePath = options?.worktreePath;
|
|
109
|
+
this.branch = options?.branch;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.WorktreeError = WorktreeError;
|
|
113
|
+
/**
|
|
114
|
+
* Error for session operations
|
|
115
|
+
*/
|
|
116
|
+
class SessionError extends AppError {
|
|
117
|
+
sessionId;
|
|
118
|
+
constructor(message, options) {
|
|
119
|
+
super(message, 'SESSION_ERROR', {
|
|
120
|
+
context: { sessionId: options?.sessionId },
|
|
121
|
+
cause: options?.cause,
|
|
122
|
+
});
|
|
123
|
+
this.name = 'SessionError';
|
|
124
|
+
this.sessionId = options?.sessionId;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.SessionError = SessionError;
|
|
128
|
+
/**
|
|
129
|
+
* Error for terminal operations
|
|
130
|
+
*/
|
|
131
|
+
class TerminalError extends AppError {
|
|
132
|
+
terminalId;
|
|
133
|
+
paneId;
|
|
134
|
+
constructor(message, options) {
|
|
135
|
+
super(message, 'TERMINAL_ERROR', {
|
|
136
|
+
context: {
|
|
137
|
+
terminalId: options?.terminalId,
|
|
138
|
+
paneId: options?.paneId,
|
|
139
|
+
},
|
|
140
|
+
cause: options?.cause,
|
|
141
|
+
});
|
|
142
|
+
this.name = 'TerminalError';
|
|
143
|
+
this.terminalId = options?.terminalId;
|
|
144
|
+
this.paneId = options?.paneId;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.TerminalError = TerminalError;
|
|
148
|
+
/**
|
|
149
|
+
* Error for state/persistence operations
|
|
150
|
+
*/
|
|
151
|
+
class StateError extends AppError {
|
|
152
|
+
statePath;
|
|
153
|
+
constructor(message, options) {
|
|
154
|
+
super(message, 'STATE_ERROR', {
|
|
155
|
+
context: { statePath: options?.statePath },
|
|
156
|
+
cause: options?.cause,
|
|
157
|
+
});
|
|
158
|
+
this.name = 'StateError';
|
|
159
|
+
this.statePath = options?.statePath;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.StateError = StateError;
|
|
163
|
+
/**
|
|
164
|
+
* Error for UI operations
|
|
165
|
+
*/
|
|
166
|
+
class UIError extends AppError {
|
|
167
|
+
component;
|
|
168
|
+
constructor(message, options) {
|
|
169
|
+
super(message, 'UI_ERROR', {
|
|
170
|
+
context: { component: options?.component },
|
|
171
|
+
cause: options?.cause,
|
|
172
|
+
});
|
|
173
|
+
this.name = 'UIError';
|
|
174
|
+
this.component = options?.component;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.UIError = UIError;
|
|
178
|
+
/**
|
|
179
|
+
* Error for validation failures
|
|
180
|
+
*/
|
|
181
|
+
class ValidationError extends AppError {
|
|
182
|
+
field;
|
|
183
|
+
value;
|
|
184
|
+
constructor(message, options) {
|
|
185
|
+
super(message, 'VALIDATION_ERROR', {
|
|
186
|
+
context: {
|
|
187
|
+
field: options?.field,
|
|
188
|
+
value: options?.value,
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
this.name = 'ValidationError';
|
|
192
|
+
this.field = options?.field;
|
|
193
|
+
this.value = options?.value;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
exports.ValidationError = ValidationError;
|
|
197
|
+
/**
|
|
198
|
+
* Error for when a required resource is not found
|
|
199
|
+
*/
|
|
200
|
+
class NotFoundError extends AppError {
|
|
201
|
+
resourceType;
|
|
202
|
+
resourceId;
|
|
203
|
+
constructor(resourceType, resourceId, message) {
|
|
204
|
+
super(message || `${resourceType} not found${resourceId ? `: ${resourceId}` : ''}`, 'NOT_FOUND_ERROR', {
|
|
205
|
+
context: { resourceType, resourceId },
|
|
206
|
+
});
|
|
207
|
+
this.name = 'NotFoundError';
|
|
208
|
+
this.resourceType = resourceType;
|
|
209
|
+
this.resourceId = resourceId;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.NotFoundError = NotFoundError;
|
|
213
|
+
/**
|
|
214
|
+
* Check if an error is an AppError
|
|
215
|
+
*/
|
|
216
|
+
function isAppError(error) {
|
|
217
|
+
return error instanceof AppError;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Wrap an unknown error in an AppError
|
|
221
|
+
*/
|
|
222
|
+
function wrapError(error, message, code = 'UNKNOWN_ERROR') {
|
|
223
|
+
if (error instanceof AppError) {
|
|
224
|
+
return error;
|
|
225
|
+
}
|
|
226
|
+
const cause = error instanceof Error ? error : new Error(String(error));
|
|
227
|
+
return new AppError(message || cause.message, code, { cause });
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Extract error message from any error type
|
|
231
|
+
*/
|
|
232
|
+
function getErrorMessage(error) {
|
|
233
|
+
if (error instanceof Error) {
|
|
234
|
+
return error.message;
|
|
235
|
+
}
|
|
236
|
+
if (typeof error === 'string') {
|
|
237
|
+
return error;
|
|
238
|
+
}
|
|
239
|
+
return String(error);
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Generation Utilities
|
|
3
|
+
*
|
|
4
|
+
* Functions for generating unique identifiers.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generate a random ID using crypto random bytes
|
|
8
|
+
* @param length - Length of the ID (default: 8)
|
|
9
|
+
* @returns Random alphanumeric string
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateId(length?: number): string;
|
|
12
|
+
/**
|
|
13
|
+
* Generate a short random ID suitable for display
|
|
14
|
+
* @returns 6-character alphanumeric string
|
|
15
|
+
*/
|
|
16
|
+
export declare function generateShortId(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Generate a session-safe ID (alphanumeric, starts with letter)
|
|
19
|
+
* Useful for tmux session names which have restrictions
|
|
20
|
+
* @returns Session-safe ID string
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateSessionId(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Create a deterministic hash from a string
|
|
25
|
+
* @param input - String to hash
|
|
26
|
+
* @param length - Length of output hash (default: 8)
|
|
27
|
+
* @returns Hex hash string
|
|
28
|
+
*/
|
|
29
|
+
export declare function hashString(input: string, length?: number): string;
|
|
30
|
+
/**
|
|
31
|
+
* Create a unique project identifier from a path
|
|
32
|
+
* Format: basename-hash
|
|
33
|
+
* @param projectPath - Full path to the project
|
|
34
|
+
* @returns Unique project identifier
|
|
35
|
+
*/
|
|
36
|
+
export declare function createProjectId(projectPath: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Sanitize a string to be safe for use in IDs
|
|
39
|
+
* Replaces non-alphanumeric characters with dashes
|
|
40
|
+
* @param input - String to sanitize
|
|
41
|
+
* @returns Sanitized string
|
|
42
|
+
*/
|
|
43
|
+
export declare function sanitizeForId(input: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Create a tmux-safe session name
|
|
46
|
+
* @param projectName - Name of the project
|
|
47
|
+
* @param projectPath - Full path to the project
|
|
48
|
+
* @returns Tmux-safe session name
|
|
49
|
+
*/
|
|
50
|
+
export declare function createTmuxSessionName(projectName: string, projectPath: string): string;
|
|
51
|
+
//# sourceMappingURL=id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM,CAGrD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,CAIR"}
|
package/dist/utils/id.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ID Generation Utilities
|
|
4
|
+
*
|
|
5
|
+
* Functions for generating unique identifiers.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.generateId = generateId;
|
|
9
|
+
exports.generateShortId = generateShortId;
|
|
10
|
+
exports.generateSessionId = generateSessionId;
|
|
11
|
+
exports.hashString = hashString;
|
|
12
|
+
exports.createProjectId = createProjectId;
|
|
13
|
+
exports.sanitizeForId = sanitizeForId;
|
|
14
|
+
exports.createTmuxSessionName = createTmuxSessionName;
|
|
15
|
+
const crypto_1 = require("crypto");
|
|
16
|
+
/**
|
|
17
|
+
* Generate a random ID using crypto random bytes
|
|
18
|
+
* @param length - Length of the ID (default: 8)
|
|
19
|
+
* @returns Random alphanumeric string
|
|
20
|
+
*/
|
|
21
|
+
function generateId(length = 8) {
|
|
22
|
+
const bytes = (0, crypto_1.randomBytes)(Math.ceil(length / 2));
|
|
23
|
+
return bytes.toString('hex').slice(0, length);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Generate a short random ID suitable for display
|
|
27
|
+
* @returns 6-character alphanumeric string
|
|
28
|
+
*/
|
|
29
|
+
function generateShortId() {
|
|
30
|
+
return generateId(6);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Generate a session-safe ID (alphanumeric, starts with letter)
|
|
34
|
+
* Useful for tmux session names which have restrictions
|
|
35
|
+
* @returns Session-safe ID string
|
|
36
|
+
*/
|
|
37
|
+
function generateSessionId() {
|
|
38
|
+
const chars = 'abcdefghijklmnopqrstuvwxyz';
|
|
39
|
+
const firstChar = chars[Math.floor(Math.random() * chars.length)];
|
|
40
|
+
return firstChar + generateId(7);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Create a deterministic hash from a string
|
|
44
|
+
* @param input - String to hash
|
|
45
|
+
* @param length - Length of output hash (default: 8)
|
|
46
|
+
* @returns Hex hash string
|
|
47
|
+
*/
|
|
48
|
+
function hashString(input, length = 8) {
|
|
49
|
+
const hash = (0, crypto_1.createHash)('md5').update(input).digest('hex');
|
|
50
|
+
return hash.slice(0, length);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create a unique project identifier from a path
|
|
54
|
+
* Format: basename-hash
|
|
55
|
+
* @param projectPath - Full path to the project
|
|
56
|
+
* @returns Unique project identifier
|
|
57
|
+
*/
|
|
58
|
+
function createProjectId(projectPath) {
|
|
59
|
+
const basename = projectPath.split('/').pop() || 'project';
|
|
60
|
+
const hash = hashString(projectPath, 6);
|
|
61
|
+
return `${sanitizeForId(basename)}-${hash}`;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Sanitize a string to be safe for use in IDs
|
|
65
|
+
* Replaces non-alphanumeric characters with dashes
|
|
66
|
+
* @param input - String to sanitize
|
|
67
|
+
* @returns Sanitized string
|
|
68
|
+
*/
|
|
69
|
+
function sanitizeForId(input) {
|
|
70
|
+
return input
|
|
71
|
+
.toLowerCase()
|
|
72
|
+
.replace(/[^a-z0-9]/g, '-')
|
|
73
|
+
.replace(/-+/g, '-')
|
|
74
|
+
.replace(/^-|-$/g, '')
|
|
75
|
+
.slice(0, 32);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create a tmux-safe session name
|
|
79
|
+
* @param projectName - Name of the project
|
|
80
|
+
* @param projectPath - Full path to the project
|
|
81
|
+
* @returns Tmux-safe session name
|
|
82
|
+
*/
|
|
83
|
+
function createTmuxSessionName(projectName, projectPath) {
|
|
84
|
+
const sanitized = sanitizeForId(projectName);
|
|
85
|
+
const hash = hashString(projectPath, 6);
|
|
86
|
+
return `cpp-${sanitized}-${hash}`;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AASH,gCAGC;AAMD,0CAEC;AAOD,8CAIC;AAQD,gCAGC;AAQD,0CAIC;AAQD,sCAOC;AAQD,sDAOC;AAlFD,mCAAiD;AAEjD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,SAAiB,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,OAAO,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,KAAa,EAAE,SAAiB,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,WAAmB;IACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;SAC1B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,WAAmB;IAEnB,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,OAAO,SAAS,IAAI,IAAI,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utils Module
|
|
3
|
+
*
|
|
4
|
+
* Shared utility functions used across the application.
|
|
5
|
+
* This module depends only on the types module.
|
|
6
|
+
*/
|
|
7
|
+
export { generateId, generateShortId, generateSessionId, hashString, createProjectId, sanitizeForId, createTmuxSessionName, } from './id';
|
|
8
|
+
export { truncate, pad, wrap, slugify, stripAnsi, visibleWidth, indent, dedent, capitalize, titleCase, } from './string';
|
|
9
|
+
export { delay, debounce, throttle, retry, withTimeout, mapWithConcurrency, createDeferred, } from './async';
|
|
10
|
+
export type { Unsubscribe } from './async';
|
|
11
|
+
export { AppError, ConfigError, MultiplexerError, GitError, WorktreeError, SessionError, TerminalError, StateError, UIError, ValidationError, NotFoundError, isAppError, wrapError, getErrorMessage, } from './errors';
|
|
12
|
+
export { Logger, getLogger, setDefaultLogger, initializeLogger, } from './logger';
|
|
13
|
+
export type { LogLevel, LoggerOptions } from './logger';
|
|
14
|
+
export { isValidBranchName, isValidSessionName, isValidTmuxSessionName, isValidPath, isValidTerminalTitle, sanitizeBranchName, sanitizeSessionName, isDefined, isNonEmptyString, isPositiveInteger, isNonNegativeInteger, assert, assertDefined, } from './validation';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,MAAM,CAAC;AAGd,OAAO,EACL,QAAQ,EACR,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,GACV,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGxD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utils Module
|
|
4
|
+
*
|
|
5
|
+
* Shared utility functions used across the application.
|
|
6
|
+
* This module depends only on the types module.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.isDefined = exports.sanitizeSessionName = exports.sanitizeBranchName = exports.isValidTerminalTitle = exports.isValidPath = exports.isValidTmuxSessionName = exports.isValidSessionName = exports.isValidBranchName = exports.initializeLogger = exports.setDefaultLogger = exports.getLogger = exports.Logger = exports.getErrorMessage = exports.wrapError = exports.isAppError = exports.NotFoundError = exports.ValidationError = exports.UIError = exports.StateError = exports.TerminalError = exports.SessionError = exports.WorktreeError = exports.GitError = exports.MultiplexerError = exports.ConfigError = exports.AppError = exports.createDeferred = exports.mapWithConcurrency = exports.withTimeout = exports.retry = exports.throttle = exports.debounce = exports.delay = exports.titleCase = exports.capitalize = exports.dedent = exports.indent = exports.visibleWidth = exports.stripAnsi = exports.slugify = exports.wrap = exports.pad = exports.truncate = exports.createTmuxSessionName = exports.sanitizeForId = exports.createProjectId = exports.hashString = exports.generateSessionId = exports.generateShortId = exports.generateId = void 0;
|
|
10
|
+
exports.assertDefined = exports.assert = exports.isNonNegativeInteger = exports.isPositiveInteger = exports.isNonEmptyString = void 0;
|
|
11
|
+
// ID generation
|
|
12
|
+
var id_1 = require("./id");
|
|
13
|
+
Object.defineProperty(exports, "generateId", { enumerable: true, get: function () { return id_1.generateId; } });
|
|
14
|
+
Object.defineProperty(exports, "generateShortId", { enumerable: true, get: function () { return id_1.generateShortId; } });
|
|
15
|
+
Object.defineProperty(exports, "generateSessionId", { enumerable: true, get: function () { return id_1.generateSessionId; } });
|
|
16
|
+
Object.defineProperty(exports, "hashString", { enumerable: true, get: function () { return id_1.hashString; } });
|
|
17
|
+
Object.defineProperty(exports, "createProjectId", { enumerable: true, get: function () { return id_1.createProjectId; } });
|
|
18
|
+
Object.defineProperty(exports, "sanitizeForId", { enumerable: true, get: function () { return id_1.sanitizeForId; } });
|
|
19
|
+
Object.defineProperty(exports, "createTmuxSessionName", { enumerable: true, get: function () { return id_1.createTmuxSessionName; } });
|
|
20
|
+
// String manipulation
|
|
21
|
+
var string_1 = require("./string");
|
|
22
|
+
Object.defineProperty(exports, "truncate", { enumerable: true, get: function () { return string_1.truncate; } });
|
|
23
|
+
Object.defineProperty(exports, "pad", { enumerable: true, get: function () { return string_1.pad; } });
|
|
24
|
+
Object.defineProperty(exports, "wrap", { enumerable: true, get: function () { return string_1.wrap; } });
|
|
25
|
+
Object.defineProperty(exports, "slugify", { enumerable: true, get: function () { return string_1.slugify; } });
|
|
26
|
+
Object.defineProperty(exports, "stripAnsi", { enumerable: true, get: function () { return string_1.stripAnsi; } });
|
|
27
|
+
Object.defineProperty(exports, "visibleWidth", { enumerable: true, get: function () { return string_1.visibleWidth; } });
|
|
28
|
+
Object.defineProperty(exports, "indent", { enumerable: true, get: function () { return string_1.indent; } });
|
|
29
|
+
Object.defineProperty(exports, "dedent", { enumerable: true, get: function () { return string_1.dedent; } });
|
|
30
|
+
Object.defineProperty(exports, "capitalize", { enumerable: true, get: function () { return string_1.capitalize; } });
|
|
31
|
+
Object.defineProperty(exports, "titleCase", { enumerable: true, get: function () { return string_1.titleCase; } });
|
|
32
|
+
// Async utilities
|
|
33
|
+
var async_1 = require("./async");
|
|
34
|
+
Object.defineProperty(exports, "delay", { enumerable: true, get: function () { return async_1.delay; } });
|
|
35
|
+
Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return async_1.debounce; } });
|
|
36
|
+
Object.defineProperty(exports, "throttle", { enumerable: true, get: function () { return async_1.throttle; } });
|
|
37
|
+
Object.defineProperty(exports, "retry", { enumerable: true, get: function () { return async_1.retry; } });
|
|
38
|
+
Object.defineProperty(exports, "withTimeout", { enumerable: true, get: function () { return async_1.withTimeout; } });
|
|
39
|
+
Object.defineProperty(exports, "mapWithConcurrency", { enumerable: true, get: function () { return async_1.mapWithConcurrency; } });
|
|
40
|
+
Object.defineProperty(exports, "createDeferred", { enumerable: true, get: function () { return async_1.createDeferred; } });
|
|
41
|
+
// Error handling
|
|
42
|
+
var errors_1 = require("./errors");
|
|
43
|
+
Object.defineProperty(exports, "AppError", { enumerable: true, get: function () { return errors_1.AppError; } });
|
|
44
|
+
Object.defineProperty(exports, "ConfigError", { enumerable: true, get: function () { return errors_1.ConfigError; } });
|
|
45
|
+
Object.defineProperty(exports, "MultiplexerError", { enumerable: true, get: function () { return errors_1.MultiplexerError; } });
|
|
46
|
+
Object.defineProperty(exports, "GitError", { enumerable: true, get: function () { return errors_1.GitError; } });
|
|
47
|
+
Object.defineProperty(exports, "WorktreeError", { enumerable: true, get: function () { return errors_1.WorktreeError; } });
|
|
48
|
+
Object.defineProperty(exports, "SessionError", { enumerable: true, get: function () { return errors_1.SessionError; } });
|
|
49
|
+
Object.defineProperty(exports, "TerminalError", { enumerable: true, get: function () { return errors_1.TerminalError; } });
|
|
50
|
+
Object.defineProperty(exports, "StateError", { enumerable: true, get: function () { return errors_1.StateError; } });
|
|
51
|
+
Object.defineProperty(exports, "UIError", { enumerable: true, get: function () { return errors_1.UIError; } });
|
|
52
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_1.ValidationError; } });
|
|
53
|
+
Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } });
|
|
54
|
+
Object.defineProperty(exports, "isAppError", { enumerable: true, get: function () { return errors_1.isAppError; } });
|
|
55
|
+
Object.defineProperty(exports, "wrapError", { enumerable: true, get: function () { return errors_1.wrapError; } });
|
|
56
|
+
Object.defineProperty(exports, "getErrorMessage", { enumerable: true, get: function () { return errors_1.getErrorMessage; } });
|
|
57
|
+
// Logging
|
|
58
|
+
var logger_1 = require("./logger");
|
|
59
|
+
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
|
|
60
|
+
Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return logger_1.getLogger; } });
|
|
61
|
+
Object.defineProperty(exports, "setDefaultLogger", { enumerable: true, get: function () { return logger_1.setDefaultLogger; } });
|
|
62
|
+
Object.defineProperty(exports, "initializeLogger", { enumerable: true, get: function () { return logger_1.initializeLogger; } });
|
|
63
|
+
// Validation
|
|
64
|
+
var validation_1 = require("./validation");
|
|
65
|
+
Object.defineProperty(exports, "isValidBranchName", { enumerable: true, get: function () { return validation_1.isValidBranchName; } });
|
|
66
|
+
Object.defineProperty(exports, "isValidSessionName", { enumerable: true, get: function () { return validation_1.isValidSessionName; } });
|
|
67
|
+
Object.defineProperty(exports, "isValidTmuxSessionName", { enumerable: true, get: function () { return validation_1.isValidTmuxSessionName; } });
|
|
68
|
+
Object.defineProperty(exports, "isValidPath", { enumerable: true, get: function () { return validation_1.isValidPath; } });
|
|
69
|
+
Object.defineProperty(exports, "isValidTerminalTitle", { enumerable: true, get: function () { return validation_1.isValidTerminalTitle; } });
|
|
70
|
+
Object.defineProperty(exports, "sanitizeBranchName", { enumerable: true, get: function () { return validation_1.sanitizeBranchName; } });
|
|
71
|
+
Object.defineProperty(exports, "sanitizeSessionName", { enumerable: true, get: function () { return validation_1.sanitizeSessionName; } });
|
|
72
|
+
Object.defineProperty(exports, "isDefined", { enumerable: true, get: function () { return validation_1.isDefined; } });
|
|
73
|
+
Object.defineProperty(exports, "isNonEmptyString", { enumerable: true, get: function () { return validation_1.isNonEmptyString; } });
|
|
74
|
+
Object.defineProperty(exports, "isPositiveInteger", { enumerable: true, get: function () { return validation_1.isPositiveInteger; } });
|
|
75
|
+
Object.defineProperty(exports, "isNonNegativeInteger", { enumerable: true, get: function () { return validation_1.isNonNegativeInteger; } });
|
|
76
|
+
Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return validation_1.assert; } });
|
|
77
|
+
Object.defineProperty(exports, "assertDefined", { enumerable: true, get: function () { return validation_1.assertDefined; } });
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,gBAAgB;AAChB,2BAQc;AAPZ,gGAAA,UAAU,OAAA;AACV,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,gGAAA,UAAU,OAAA;AACV,qGAAA,eAAe,OAAA;AACf,mGAAA,aAAa,OAAA;AACb,2GAAA,qBAAqB,OAAA;AAGvB,sBAAsB;AACtB,mCAWkB;AAVhB,kGAAA,QAAQ,OAAA;AACR,6FAAA,GAAG,OAAA;AACH,8FAAA,IAAI,OAAA;AACJ,iGAAA,OAAO,OAAA;AACP,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,gGAAA,MAAM,OAAA;AACN,gGAAA,MAAM,OAAA;AACN,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AAGX,kBAAkB;AAClB,iCAQiB;AAPf,8FAAA,KAAK,OAAA;AACL,iGAAA,QAAQ,OAAA;AACR,iGAAA,QAAQ,OAAA;AACR,8FAAA,KAAK,OAAA;AACL,oGAAA,WAAW,OAAA;AACX,2GAAA,kBAAkB,OAAA;AAClB,uGAAA,cAAc,OAAA;AAIhB,iBAAiB;AACjB,mCAekB;AAdhB,kGAAA,QAAQ,OAAA;AACR,qGAAA,WAAW,OAAA;AACX,0GAAA,gBAAgB,OAAA;AAChB,kGAAA,QAAQ,OAAA;AACR,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,iGAAA,OAAO,OAAA;AACP,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,yGAAA,eAAe,OAAA;AAGjB,UAAU;AACV,mCAKkB;AAJhB,gGAAA,MAAM,OAAA;AACN,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAIlB,aAAa;AACb,2CAcsB;AAbpB,+GAAA,iBAAiB,OAAA;AACjB,gHAAA,kBAAkB,OAAA;AAClB,oHAAA,sBAAsB,OAAA;AACtB,yGAAA,WAAW,OAAA;AACX,kHAAA,oBAAoB,OAAA;AACpB,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,uGAAA,SAAS,OAAA;AACT,8GAAA,gBAAgB,OAAA;AAChB,+GAAA,iBAAiB,OAAA;AACjB,kHAAA,oBAAoB,OAAA;AACpB,oGAAA,MAAM,OAAA;AACN,2GAAA,aAAa,OAAA"}
|