@automagik/genie 3.260322.1 → 3.260322.2

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.
@@ -1,24 +1,7 @@
1
1
 
2
2
 
3
- ### 🚀 Features
4
- - **core:** auto-create tmux session in ensureTeamWindow for --session flag ([`90fa22b`](https://github.com/automagik-dev/genie/commit/90fa22b2363a69e732f96daddc38347a730f2ff8))
5
- - **session:** replace --resume UUID with --continue by session name (#663) ([`6ccaff5`](https://github.com/automagik-dev/genie/commit/6ccaff512b36b02d7af5f92fc639bf4a742c6f4b))
6
- - **core:** folder-based sessions, run-in-current-tab, agent bottom bar ([`4d15229`](https://github.com/automagik-dev/genie/commit/4d15229d6f7c4eee9fd207a4c0401ef2b8f83897))
7
- - **history:** provider-agnostic transcript reader (#670) ([`d289fef`](https://github.com/automagik-dev/genie/commit/d289fef8c54a7ab1f0d2c1d32ba7c66a8bea8c0d))
8
-
9
3
  ### 🐛 Bug Fixes
10
- - **core:** add missing filterBySession and getTeamLeadEntry to agent-registry ([`45d01a6`](https://github.com/automagik-dev/genie/commit/45d01a6d4404de040ce7879f7a8e47f968f5413f))
11
- - **test:** update protocol-router-session tests for --continue (was --resume) ([`e9db2cb`](https://github.com/automagik-dev/genie/commit/e9db2cb10fca4e3bc069d5a785f3c5418766c2b9))
12
- - **core:** resolve lint errors from cherry-pick conflicts ([`155570d`](https://github.com/automagik-dev/genie/commit/155570d57e31a629a6cd17dac22769b0fb4de697))
13
- - **claude-logs:** replace dots with dashes in project path hash ([`8230d58`](https://github.com/automagik-dev/genie/commit/8230d58544895c394249f7752cdae13571dcda26))
14
- - **session:** remove remaining hardcoded 'genie' session references ([`e376ef0`](https://github.com/automagik-dev/genie/commit/e376ef0848511f03735954ea554ff580ceaf2319))
15
- - **session:** drop hardcoded 'genie' session name and UUID session IDs ([`c299737`](https://github.com/automagik-dev/genie/commit/c299737537fa2c2bc35c1910ffc26f1c08dbba63))
16
-
17
- ### 📚 Documentation
18
- - **core:** update skills and agent docs for transcript system ([`e835ce1`](https://github.com/automagik-dev/genie/commit/e835ce188dc838eedba941d236008097a783d057))
4
+ - **tmux:** rebuild TUI 3-bar layout with clickable sessions and windows ([`710851d`](https://github.com/automagik-dev/genie/commit/710851dd552f16b3473efda136f9f4362414c8d2))
19
5
 
20
6
  ### 👥 Contributors
21
7
  - [@genie](https://github.com/genie) 🤖
22
- - Luís Sousa
23
- - [@namastex888](https://github.com/namastex888)
24
- - Luís
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automagik/genie",
3
- "version": "3.260322.1",
3
+ "version": "3.260322.2",
4
4
  "description": "Collaborative terminal toolkit for human + AI workflows",
5
5
  "type": "module",
6
6
  "bin": {
@@ -46,7 +46,9 @@
46
46
  "url": "git+https://github.com/automagik-dev/genie.git"
47
47
  },
48
48
  "openclaw": {
49
- "extensions": ["./plugins/genie/index.ts"]
49
+ "extensions": [
50
+ "./plugins/genie/index.ts"
51
+ ]
50
52
  },
51
53
  "engines": {
52
54
  "bun": ">=1.3.10"
@@ -54,5 +56,7 @@
54
56
  "publishConfig": {
55
57
  "access": "public"
56
58
  },
57
- "trustedDependencies": ["@biomejs/biome"]
59
+ "trustedDependencies": [
60
+ "@biomejs/biome"
61
+ ]
58
62
  }
@@ -1,7 +1,12 @@
1
1
  # ============================================================================
2
2
  # Genie TUI — tmux configuration
3
3
  # Dark theme with purple/cyan/gold palette
4
- # Native tmux, zero plugins
4
+ # Native tmux 3.3+, zero plugins
5
+ #
6
+ # Layout:
7
+ # TOP: pane-border — left: version + folder | right: git, CPU, RAM, time
8
+ # BOTTOM: status line 0 — window tabs for current session (clickable)
9
+ # status line 1 — agent sessions list (clickable to switch)
5
10
  # ============================================================================
6
11
 
7
12
  # --- Terminal & basics ---
@@ -45,45 +50,44 @@ setw -g mode-style "bg=#7b2ff7,fg=#e0e0e0"
45
50
  setw -g clock-mode-colour "#7b2ff7"
46
51
 
47
52
  # ============================================================================
48
- # STATUS BAR — Top: info + clickable window tabs | Bottom: session switcher
53
+ # TOP BAR — pane-border: left = branding + folder | right = git, CPU, RAM, time
49
54
  # ============================================================================
50
- set -g status on
51
- set -g status-interval 5
52
- set -g status-position top
53
- set -g status-justify left
54
- set -g status-style "bg=#1a1a2e,fg=#e0e0e0"
55
-
56
- # --- Top bar (native line 0): branding + clickable window tabs + system info ---
57
- set -g status-left-length 40
58
- set -g status-left "#[bg=#7b2ff7,fg=#e0e0e0,bold] #(genie --version 2>/dev/null | head -1 || echo 'Genie') #[bg=#1a1a2e,fg=#7b2ff7]"
59
-
60
- set -g status-right-length 100
61
- set -g status-right "#[fg=#6c6c8a]#($HOME/.genie/scripts/genie-git.sh) #[fg=#0f3460]| #[fg=#00d2ff]CPU #($HOME/.genie/scripts/cpu-info.sh) #[fg=#0f3460]| #[fg=#00d2ff]RAM #($HOME/.genie/scripts/ram-info.sh) #[fg=#0f3460]| #[fg=#e0e0e0]%H:%M "
55
+ set -g pane-border-status top
56
+ set -g pane-border-lines heavy
57
+ set -g pane-border-format "\
58
+ #[align=left,bg=#16213e,fg=#e0e0e0]\
59
+ #[fg=#7b2ff7,bold]Genie#[fg=#6c6c8a,nobold] #(genie --version 2>/dev/null | head -1 || echo '?') \
60
+ #[fg=#0f3460]│ \
61
+ #[fg=#b8a9c9]#{pane_current_path}\
62
+ #[align=right,bg=#16213e]\
63
+ #[fg=#f5a623]#($HOME/.genie/scripts/genie-git.sh) \
64
+ #[fg=#0f3460]│ \
65
+ #[fg=#00d2ff]CPU #($HOME/.genie/scripts/cpu-info.sh) \
66
+ #[fg=#0f3460] \
67
+ #[fg=#00d2ff]RAM #($HOME/.genie/scripts/ram-info.sh) \
68
+ #[fg=#0f3460]│ \
69
+ #[fg=#e0e0e0]%H:%M "
62
70
 
63
71
  # ============================================================================
64
- # WINDOW (TAB) STYLING clickable tabs in top bar
72
+ # BOTTOM BARSdual status lines (status 2)
73
+ # Line 0 (top): windows in current session (clickable tabs)
74
+ # Line 1 (bottom): agents = tmux sessions (clickable to switch)
65
75
  # ============================================================================
76
+ set -g status on
77
+ set -g status 2
78
+ set -g status-interval 5
79
+ set -g status-position bottom
80
+ set -g status-style "bg=#1a1a2e,fg=#e0e0e0"
66
81
 
67
- # Tab separator
68
- set -g window-status-separator ""
69
-
70
- # Inactive tabs: lavender text on dark bg
71
- set -g window-status-format "#[fg=#b8a9c9,bg=#1a1a2e] #I:#W "
82
+ # --- Line 0 (very bottom): Window tabs for current session ---
83
+ set -g status-format[0] "#[align=left,bg=#1a1a2e,fg=#e0e0e0] #{W:#[range=window|#{window_index}]#{?#{window_active},#[bg=#7b2ff7#,fg=#e0e0e0#,bold] #{window_index}:#{window_name} #[bg=#1a1a2e#,fg=#7b2ff7#,nobold],#[bg=#1a1a2e#,fg=#b8a9c9] #{window_index}:#{window_name} }#[norange default]}#[align=right,bg=#1a1a2e,fg=#6c6c8a]#{session_name} "
72
84
 
73
- # Active tab: purple bg, white text, bold
74
- set -g window-status-current-format "#[fg=#1a1a2e,bg=#7b2ff7]#[fg=#e0e0e0,bg=#7b2ff7,bold] #I:#W #[fg=#7b2ff7,bg=#1a1a2e]"
85
+ # --- Line 1 (above, closer to content): Agent sessions ---
86
+ set -g status-format[1] "#[align=left,bg=#16213e,fg=#b8a9c9] #[fg=#6c6c8a]Agents: #{S:#[range=session|#{session_name}]#{?#{==:#{session_name},#{client_session}},#[bg=#7b2ff7#,fg=#e0e0e0#,bold] #{session_name} #[bg=#16213e#,nobold],#[bg=#16213e#,fg=#b8a9c9] #{session_name} }#[norange default]}"
75
87
 
76
88
  # Activity monitoring
77
89
  setw -g monitor-activity on
78
90
  set -g visual-activity off
79
- set -g window-status-activity-style "fg=#f5a623,bg=#1a1a2e"
80
-
81
- # ============================================================================
82
- # BOTTOM BAR — Session list via pane borders
83
- # ============================================================================
84
- set -g pane-border-status bottom
85
- set -g pane-border-format "#[align=left,bg=#16213e,fg=#b8a9c9] Agents: #($HOME/.genie/scripts/genie-sessions.sh #{session_name})"
86
- set -g pane-border-lines heavy
87
91
 
88
92
  # ============================================================================
89
93
  # KEYBINDINGS
@@ -92,19 +96,29 @@ set -g pane-border-lines heavy
92
96
  # Reload config
93
97
  bind r source-file ~/.tmux.conf \; display-message "Config reloaded"
94
98
 
95
- # Ctrl+T — new tab in current session, using session start directory
96
- # Uses #{session_path} (the directory where the session was created)
97
- # Falls back to #{pane_current_path} if session_path is empty
99
+ # Ctrl+T — new tab in current session
98
100
  bind -n C-t new-window -c "#{?session_path,#{session_path},#{pane_current_path}}"
99
101
 
100
102
  # Vi copy mode bindings
101
103
  bind -T copy-mode-vi v send-keys -X begin-selection
102
104
  bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel
103
105
 
104
- # Session switching — Ctrl+( / Ctrl+) cycle through sessions
105
- bind -n C-) switch-client -n
106
- bind -n C-( switch-client -p
106
+ # Session switching — Alt+[ / Alt+] cycle sessions (works in all terminals)
107
+ bind -n M-] switch-client -n
108
+ bind -n M-[ switch-client -p
109
+
110
+ # Window switching — Alt+left / Alt+right cycle windows
111
+ bind -n M-Left previous-window
112
+ bind -n M-Right next-window
113
+
114
+ # Interactive picker — prefix+s for sessions, prefix+w for windows
115
+ bind s choose-tree -s
116
+ bind w choose-tree -w
117
+
118
+ # Single-click on status bar: switch to clicked window/session via range= targets
119
+ bind -n MouseDown1Status select-window -t =
120
+ bind -n MouseDown1StatusDefault select-window -t =
107
121
 
108
- # Double-click anywhere opens interactive session/window picker
122
+ # Double-click on pane opens interactive session/window picker
109
123
  bind -n DoubleClick1Pane choose-tree -s
110
- bind -n DoubleClick1StatusDefault choose-tree -s
124
+ bind -n DoubleClick1Status choose-tree -s