diff --git a/bootstrap/bootstrap.go b/bootstrap/bootstrap.go index 13fdd57..2ee682f 100644 --- a/bootstrap/bootstrap.go +++ b/bootstrap/bootstrap.go @@ -8,6 +8,8 @@ import ( "os" "sort" "strings" + + "forge.lclr.dev/AI/mcp-framework/secretstore" ) const ( @@ -154,14 +156,24 @@ func Run(ctx context.Context, opts Options) error { } if handler == nil { - if command == CommandVersion { + switch command { + case CommandVersion: if strings.TrimSpace(normalized.Version) == "" { return ErrVersionRequired } _, err := fmt.Fprintln(normalized.Stdout, normalized.Version) return err + case CommandLogin: + _, err := secretstore.LoginBitwarden(secretstore.BitwardenLoginOptions{ + ServiceName: normalized.BinaryName, + Stdin: normalized.Stdin, + Stdout: normalized.Stdout, + Stderr: normalized.Stderr, + }) + return err + default: + return fmt.Errorf("%w: %s", ErrCommandNotConfigured, command) } - return fmt.Errorf("%w: %s", ErrCommandNotConfigured, command) } return handler(ctx, Invocation{