SYMBOL INDEX (32 symbols across 6 files) FILE: src/openai_cli/cli.py function cli (line 30) | def cli(ctx, model: str, max_tokens: int, temperature: float, token: Opt... function complete (line 44) | def complete(ctx, source: io.TextIOWrapper) -> None: function repl (line 65) | def repl(ctx) -> None: FILE: src/openai_cli/client.py class OpenAIError (line 16) | class OpenAIError(Exception): function initialize_session (line 20) | def initialize_session() -> requests.Session: function generate_response (line 41) | def generate_response( function _extract_content (line 88) | def _extract_content(response: Dict[str, Any]) -> str: FILE: src/openai_cli/config.py function get_openai_api_key (line 10) | def get_openai_api_key() -> str: function set_openai_api_key (line 20) | def set_openai_api_key(api_key: str) -> None: function get_openai_api_url (line 30) | def get_openai_api_url() -> str: function set_openai_api_url (line 40) | def set_openai_api_url(api_url: str) -> None: FILE: src/openai_cli/test_cli.py class TestCLI (line 12) | class TestCLI(unittest.TestCase): method setUp (line 13) | def setUp(self): method test_complete_command (line 17) | def test_complete_command(self, mock_generate, mock_session, mock_url): method test_repl_command (line 34) | def test_repl_command(self, mock_generate, mock_session, mock_url): method test_model_option (line 52) | def test_model_option(self, mock_generate, mock_session, mock_url): method test_max_tokens_option (line 70) | def test_max_tokens_option(self, mock_generate, mock_session, mock_url): method test_temperature_option (line 86) | def test_temperature_option(self, mock_generate, mock_session, mock_url): method test_token_option (line 103) | def test_token_option(self, mock_generate, mock_set_key, mock_session,... FILE: src/openai_cli/test_client.py class TestClient (line 10) | class TestClient(unittest.TestCase): method test_generate_response_success (line 18) | def test_generate_response_success(self, mock_session_cls, mock_get_ke... method test_generate_response_error (line 40) | def test_generate_response_error(self, mock_session_cls, mock_get_key,... method test_generate_response_custom_url (line 55) | def test_generate_response_custom_url(self, mock_session_cls, mock_get... method test_initialize_session_success (line 75) | def test_initialize_session_success(self, mock_session_cls, mock_get_k... method test_initialize_session_no_key (line 86) | def test_initialize_session_no_key(self, mock_get_key): FILE: src/openai_cli/test_config.py class TestConfig (line 13) | class TestConfig(unittest.TestCase): method test_get_openai_api_key_set (line 15) | def test_get_openai_api_key_set(self, mock_getenv): method test_get_openai_api_key_not_set (line 20) | def test_get_openai_api_key_not_set(self, mock_getenv): method test_set_openai_api_key (line 25) | def test_set_openai_api_key(self, mock_environ): method test_get_openai_api_url_set (line 30) | def test_get_openai_api_url_set(self, mock_getenv): method test_get_openai_api_url_not_set (line 36) | def test_get_openai_api_url_not_set(self, mock_getenv): method test_set_openai_api_url (line 41) | def test_set_openai_api_url(self, mock_environ):