Repository: Azure/PyRIT

Issue:
BUG ZeroWidthConverter not included in pyrit.prompt_converter 's __init__.py
<!--
Before submitting a bug, please make sure the issue hasn't been already
addressed by searching through the past issues.
-->

#### Describe the bug
<!--
A clear and concise description of what the bug is.
-->

This must have been an oversight. Currently, I have to write
```
from pyrit.prompt_converter.zero_width_converter import ZeroWidthConverter
```
to import the converter, but I want to do
```
from pyrit.prompt_converter import ZeroWidthConverter
```

This means we have to include it in the corresponding __init__.py file.

Hints from issue comments:
@AnnaRevutsky: Hello! May I work on this bug?@romanlutz: Absolutely! Reach out if you have questions.@paulinek13: Hi!
@AnnaRevutsky 
Actually, there's one more missing - the `InsertPunctuationConverter`. I've noticed this while working on something else, so I'm just letting you know 😉 @romanlutz: Nice catch! Actually, I just noticed we forgot to add all the converters to `api.rst` as well. @AnnaRevutsky could you add them there as well? We need some kind of auto-check for that... (which isn't in scope for this issue)@AnnaRevutsky: Sure, no problem

Solution patch:
diff --git a/doc/api.rst b/doc/api.rst
index f4ee85d..7d9b07c 100644
--- a/doc/api.rst
+++ b/doc/api.rst
@@ -291,6 +291,7 @@ API Reference
     FuzzerShortenConverter
     FuzzerSimilarConverter
     HumanInTheLoopConverter
+    InsertPunctuationConverter
     LeetspeakConverter
     LLMGenericTextConverter
     MaliciousQuestionGeneratorConverter
@@ -313,6 +314,7 @@ API Reference
     UnicodeSubstitutionConverter
     UrlConverter
     VariationConverter
+    ZeroWidthConverter
 
 .. automodule:: pyrit.prompt_converter.fuzzer_converter
     :no-members:
diff --git a/pyrit/prompt_converter/__init__.py b/pyrit/prompt_converter/__init__.py
index 73b57bd..96bad41 100644
--- a/pyrit/prompt_converter/__init__.py
+++ b/pyrit/prompt_converter/__init__.py
@@ -32,6 +32,7 @@ from pyrit.prompt_converter.fuzzer_converter import (
     FuzzerSimilarConverter,
 )
 from pyrit.prompt_converter.human_in_the_loop_converter import HumanInTheLoopConverter
+from pyrit.prompt_converter.insert_punctuation_converter import InsertPunctuationConverter
 from pyrit.prompt_converter.leetspeak_converter import LeetspeakConverter
 from pyrit.prompt_converter.llm_generic_text_converter import LLMGenericTextConverter
 from pyrit.prompt_converter.malicious_question_generator_converter import MaliciousQuestionGeneratorConverter
@@ -56,6 +57,8 @@ from pyrit.prompt_converter.unicode_replacement_converter import UnicodeReplacem
 from pyrit.prompt_converter.unicode_sub_converter import UnicodeSubstitutionConverter
 from pyrit.prompt_converter.url_converter import UrlConverter
 from pyrit.prompt_converter.variation_converter import VariationConverter
+from pyrit.prompt_converter.zero_width_converter import ZeroWidthConverter
+
 
 __all__ = [
     "AddImageTextConverter",
@@ -86,6 +89,7 @@ __all__ = [
     "FuzzerShortenConverter",
     "FuzzerSimilarConverter",
     "HumanInTheLoopConverter",
+    "InsertPunctuationConverter",
     "LeetspeakConverter",
     "LLMGenericTextConverter",
     "MaliciousQuestionGeneratorConverter",
@@ -111,4 +115,5 @@ __all__ = [
     "UnicodeSubstitutionConverter",
     "UrlConverter",
     "VariationConverter",
+    "ZeroWidthConverter",
 ]
diff --git a/pyrit/prompt_converter/insert_punctuation_converter.py b/pyrit/prompt_converter/insert_punctuation_converter.py
index f630e66..52dee87 100644
--- a/pyrit/prompt_converter/insert_punctuation_converter.py
+++ b/pyrit/prompt_converter/insert_punctuation_converter.py
@@ -26,7 +26,7 @@ class InsertPunctuationConverter(PromptConverter):
         Args:
             word_swap_ratio (float): Percentage of words to perturb. Defaults to 0.2.
             between_words (bool): If True, insert punctuation only between words.
-                                  If False, insert punctuation within words. Defaults to True.
+            If False, insert punctuation within words. Defaults to True.
         """
         # Swap ratio cannot be 0 or larger than 1
         if not 0 < word_swap_ratio <= 1:


Test patch:
diff --git a/tests/unit/converter/test_insert_punctuation_converter.py b/tests/unit/converter/test_insert_punctuation_converter.py
index 66b178a..c0b3ad7 100644
--- a/tests/unit/converter/test_insert_punctuation_converter.py
+++ b/tests/unit/converter/test_insert_punctuation_converter.py
@@ -5,9 +5,7 @@ import re
 
 import pytest
 
-from pyrit.prompt_converter.insert_punctuation_converter import (
-    InsertPunctuationConverter,
-)
+from pyrit.prompt_converter import InsertPunctuationConverter
 
 
 # Test for correctness
diff --git a/tests/unit/converter/test_zero_width_converter.py b/tests/unit/converter/test_zero_width_converter.py
index 95655e7..342eaba 100644
--- a/tests/unit/converter/test_zero_width_converter.py
+++ b/tests/unit/converter/test_zero_width_converter.py
@@ -3,8 +3,7 @@
 
 import pytest
 
-from pyrit.prompt_converter import ConverterResult
-from pyrit.prompt_converter.zero_width_converter import ZeroWidthConverter
+from pyrit.prompt_converter import ConverterResult, ZeroWidthConverter
 
 
 @pytest.mark.asyncio