77
88 "github.com/sky-xo/june/internal/codex"
99 "github.com/sky-xo/june/internal/db"
10+ "github.com/sky-xo/june/internal/gemini"
1011 "github.com/spf13/cobra"
1112)
1213
@@ -48,25 +49,41 @@ func runPeek(name string) error {
4849 // Find session file if not set
4950 sessionFile := agent .SessionFile
5051 if sessionFile == "" {
51- found , err := codex .FindSessionFile (agent .ULID )
52- if err != nil {
52+ var findErr error
53+ if agent .Type == "gemini" {
54+ sessionFile , findErr = gemini .FindSessionFile (agent .ULID )
55+ } else {
56+ sessionFile , findErr = codex .FindSessionFile (agent .ULID )
57+ }
58+ if findErr != nil {
5359 return fmt .Errorf ("session file not found for agent %q" , name )
5460 }
55- sessionFile = found
56- // Update in database
57- if err := database .UpdateSessionFile (name , found ); err != nil {
58- // Log warning but continue - this is not fatal
61+ if err := database .UpdateSessionFile (name , sessionFile ); err != nil {
5962 fmt .Fprintf (os .Stderr , "warning: failed to update session file in database: %v\n " , err )
6063 }
6164 }
6265
63- // Read from cursor
64- entries , newCursor , err := codex .ReadTranscript (sessionFile , agent .Cursor )
65- if err != nil {
66- return fmt .Errorf ("failed to read transcript: %w" , err )
66+ // Read transcript based on agent type
67+ var output string
68+ var newCursor int
69+
70+ if agent .Type == "gemini" {
71+ entries , cursor , err := gemini .ReadTranscript (sessionFile , agent .Cursor )
72+ if err != nil {
73+ return fmt .Errorf ("failed to read transcript: %w" , err )
74+ }
75+ newCursor = cursor
76+ output = gemini .FormatEntries (entries )
77+ } else {
78+ entries , cursor , err := codex .ReadTranscript (sessionFile , agent .Cursor )
79+ if err != nil {
80+ return fmt .Errorf ("failed to read transcript: %w" , err )
81+ }
82+ newCursor = cursor
83+ output = codex .FormatEntries (entries )
6784 }
6885
69- if len ( entries ) == 0 {
86+ if output == "" {
7087 fmt .Println ("(no new output)" )
7188 return nil
7289 }
@@ -76,7 +93,6 @@ func runPeek(name string) error {
7693 return fmt .Errorf ("failed to update cursor: %w" , err )
7794 }
7895
79- // Print entries
80- fmt .Print (codex .FormatEntries (entries ))
96+ fmt .Print (output )
8197 return nil
8298}
0 commit comments