@@ -66,15 +66,15 @@ func resolveInput(opts Options) (*resolvedInput, error) {
6666 sessionManager := storage .NewManager (config .SessionsDir (cwd ))
6767 sessionStore , err := resolveSession (sessionManager , cwd , opts .Continue , opts .Resume , opts .NonTTYMode )
6868 if err != nil {
69- return nil , fmt . Errorf ( "session: %w " , err )
69+ return nil , apperr . WrapKind ( apperr . KindSession , "session setup failed " , err )
7070 }
7171
7272 var sessionSnapshot storage.ContextSnapshot
7373 if opts .Continue || opts .Resume {
7474 sessionSnapshot , err = sessionStore .BuildSnapshot ()
7575 if err != nil {
7676 _ = sessionStore .Close ()
77- return nil , fmt . Errorf ( "restore context: %w " , err )
77+ return nil , apperr . WrapKind ( apperr . KindSession , "restore context failed " , err )
7878 }
7979 }
8080
@@ -98,7 +98,7 @@ func ensureProviderSetup(cwd string, settings config.Resolved, nonTTY bool) (con
9898 if hasConfiguredProviderCredentials (settings , settings .Provider ) {
9999 return settings , "" , nil
100100 }
101- return settings , "" , apperr .Newf ( "configuration error: settings.provider=%q is missing or not configured in settings.json" , settings .Provider )
101+ return settings , "" , apperr .NewKindf ( apperr . KindConfig , "configuration error: settings.provider=%q is missing or not configured in settings.json" , settings .Provider )
102102 }
103103
104104 apiKey , _ := settings .ProviderCredentials (settings .Provider )
@@ -114,12 +114,12 @@ func ensureProviderSetup(cwd string, settings config.Resolved, nonTTY bool) (con
114114 }
115115
116116 if nonTTY {
117- return settings , "" , fmt . Errorf ( "api key not set; set %s or configure providers in %s" ,
117+ return settings , "" , apperr . NewKindf ( apperr . KindConfig , "api key not set; set %s or configure providers in %s" ,
118118 config .ProviderEnvKey (settings .Provider ), filepath .Join (config .UserConfigDir (), "settings.json" ))
119119 }
120120
121121 if err := config .RunSetup (settings ); err != nil {
122- return settings , "" , fmt . Errorf ( "setup: %w " , err )
122+ return settings , "" , apperr . WrapKind ( apperr . KindConfig , "setup failed " , err )
123123 }
124124 resolved , err := config .ResolveAllStrict (cwd )
125125 if err != nil {
@@ -160,7 +160,7 @@ func resolveSession(mgr *storage.Manager, cwd string, cont, resume, nonTTY bool)
160160 return mgr .Create (cwd )
161161 }
162162 if nonTTY {
163- return nil , fmt . Errorf ( "-r requires interactive terminal, use -c or -session in non-interactive mode" )
163+ return nil , apperr . NewKind ( apperr . KindSession , "-r requires interactive terminal, use -c or -session in non-interactive mode" )
164164 }
165165
166166 fmt .Fprintf (os .Stderr , "Available sessions:\n " )
@@ -177,11 +177,11 @@ func resolveSession(mgr *storage.Manager, cwd string, cont, resume, nonTTY bool)
177177 reader := bufio .NewReader (os .Stdin )
178178 raw , err := reader .ReadString ('\n' )
179179 if err != nil && ! errors .Is (err , io .EOF ) {
180- return nil , fmt . Errorf ( "read session selection: %w " , err )
180+ return nil , apperr . WrapKind ( apperr . KindSession , "read session selection failed " , err )
181181 }
182182 choice := strings .TrimSpace (raw )
183183 if choice == "" {
184- return nil , fmt . Errorf ( "no session selected" )
184+ return nil , apperr . NewKind ( apperr . KindSession , "no session selected" )
185185 }
186186
187187 for _ , s := range sessions {
@@ -192,11 +192,11 @@ func resolveSession(mgr *storage.Manager, cwd string, cont, resume, nonTTY bool)
192192
193193 if idx , convErr := strconv .Atoi (choice ); convErr == nil {
194194 if idx < 1 || idx > len (sessions ) {
195- return nil , fmt . Errorf ( "invalid session index %d (range: 1-%d)" , idx , len (sessions ))
195+ return nil , apperr . NewKindf ( apperr . KindSession , "invalid session index %d (range: 1-%d)" , idx , len (sessions ))
196196 }
197197 return mgr .OpenPath (sessions [idx - 1 ].Path )
198198 }
199- return nil , fmt . Errorf ( "invalid session selection %q" , choice )
199+ return nil , apperr . NewKindf ( apperr . KindSession , "invalid session selection %q" , choice )
200200 default :
201201 return mgr .Create (cwd )
202202 }
0 commit comments