feat(extension): add extension type option