What about argument 1 (the artifact type).  Don't we already have a completer we can use for that?  Perhaps leverage the one in the s-ramp:query command?