2025-10-23 17:37:26,690 redis_manager.py [line:22] INFO Successfully connected to Redis at localhost:6379 2025-10-23 17:37:26,690 redis_manager.py [line:22] INFO Successfully connected to Redis at localhost:6379 2025-10-23 17:37:26,697 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 17:37:26,697 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 17:41:56,921 redis_manager.py [line:22] INFO Successfully connected to Redis at localhost:6379 2025-10-23 17:41:56,921 redis_manager.py [line:22] INFO Successfully connected to Redis at localhost:6379 2025-10-23 17:41:56,928 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 17:41:56,928 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:38:03,207 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:38:03,207 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:38:03,216 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:38:03,216 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:38:46,495 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:38:46,495 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:38:46,504 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:38:46,504 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:40:54,138 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:40:54,138 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:40:54,147 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:40:54,147 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:42:28,155 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 12:42:28,157 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 12:42:40,052 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=DefaultCredentialsError('Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.')> Traceback (most recent call last): File "/app/app/core/llm_interface.py", line 45, in generate_response response = await self.gemini_client.aio.models.generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 6757, in generate_content response = await self._generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 5592, in _generate_content response = await self._api_client.async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1341, in async_request result = await self._async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1286, in _async_request return await self._async_retry( # type: ignore[no-any-return] File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 111, in __call__ do = await self.iter(retry_state=retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 153, in iter result = await action(retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/_utils.py", line 99, in inner return call(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 420, in exc_check raise retry_exc.reraise() File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 187, in reraise raise self.last_attempt.result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result return self.__get_result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result raise self._exception File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 114, in __call__ result = await fn(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1153, in _async_request_once f'Bearer {await self._async_access_token()}' File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 970, in _async_access_token self._credentials, project = await asyncio.to_thread( File "/usr/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 184, in load_auth credentials, loaded_project_id = google.auth.default( # type: ignore[no-untyped-call] File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 739, in default raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS) google.auth.exceptions.DefaultCredentialsError: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/app/server/ChatbotAgent/agent_server.py", line 59, in background_run request_summary = await self.get_conversation_summary(request.user_id) File "/app/app/server/ChatbotAgent/agent_server.py", line 84, in get_conversation_summary summary = await self.llm.generate_response(history=[Message(role=Role.USER, content=input_message)], system_prompt=SUMMARY_PROMPT) File "/app/app/core/llm_interface.py", line 55, in generate_response raise type(e)(f"Gemini API call failed: {e}") google.auth.exceptions.DefaultCredentialsError: Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information. 2025-10-23 12:45:35,306 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:45:35,306 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:45:35,372 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:45:35,372 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:45:35,381 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:45:35,381 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:45:48,288 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:45:52,803 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 12:45:52,805 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 12:45:52,806 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=DefaultCredentialsError('Gemini API call failed: File /workspace/lc_stylist_agent/request.json was not found.')> Traceback (most recent call last): File "/app/app/core/llm_interface.py", line 45, in generate_response response = await self.gemini_client.aio.models.generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 6757, in generate_content response = await self._generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 5592, in _generate_content response = await self._api_client.async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1341, in async_request result = await self._async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1286, in _async_request return await self._async_retry( # type: ignore[no-any-return] File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 111, in __call__ do = await self.iter(retry_state=retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 153, in iter result = await action(retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/_utils.py", line 99, in inner return call(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 420, in exc_check raise retry_exc.reraise() File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 187, in reraise raise self.last_attempt.result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result return self.__get_result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result raise self._exception File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 114, in __call__ result = await fn(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1153, in _async_request_once f'Bearer {await self._async_access_token()}' File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 970, in _async_access_token self._credentials, project = await asyncio.to_thread( File "/usr/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 184, in load_auth credentials, loaded_project_id = google.auth.default( # type: ignore[no-untyped-call] File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 705, in default credentials, project_id = checker() File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 698, in lambda: _get_explicit_environ_credentials(quota_project_id=quota_project_id), File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 346, in _get_explicit_environ_credentials credentials, project_id = load_credentials_from_file( File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 173, in load_credentials_from_file raise exceptions.DefaultCredentialsError( google.auth.exceptions.DefaultCredentialsError: File /workspace/lc_stylist_agent/request.json was not found. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/app/server/ChatbotAgent/agent_server.py", line 59, in background_run request_summary = await self.get_conversation_summary(request.user_id) File "/app/app/server/ChatbotAgent/agent_server.py", line 84, in get_conversation_summary summary = await self.llm.generate_response(history=[Message(role=Role.USER, content=input_message)], system_prompt=SUMMARY_PROMPT) File "/app/app/core/llm_interface.py", line 55, in generate_response raise type(e)(f"Gemini API call failed: {e}") google.auth.exceptions.DefaultCredentialsError: Gemini API call failed: File /workspace/lc_stylist_agent/request.json was not found. 2025-10-23 12:49:03,747 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:49:03,747 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:49:03,814 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:49:03,814 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:49:03,823 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:49:03,823 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:49:22,244 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:49:29,263 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 12:49:29,264 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 12:49:29,266 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=DefaultCredentialsError('Gemini API call failed: File /app/app/request.json was not found.')> Traceback (most recent call last): File "/app/app/core/llm_interface.py", line 45, in generate_response response = await self.gemini_client.aio.models.generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 6757, in generate_content response = await self._generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 5592, in _generate_content response = await self._api_client.async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1341, in async_request result = await self._async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1286, in _async_request return await self._async_retry( # type: ignore[no-any-return] File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 111, in __call__ do = await self.iter(retry_state=retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 153, in iter result = await action(retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/_utils.py", line 99, in inner return call(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 420, in exc_check raise retry_exc.reraise() File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 187, in reraise raise self.last_attempt.result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result return self.__get_result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result raise self._exception File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 114, in __call__ result = await fn(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1153, in _async_request_once f'Bearer {await self._async_access_token()}' File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 970, in _async_access_token self._credentials, project = await asyncio.to_thread( File "/usr/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 184, in load_auth credentials, loaded_project_id = google.auth.default( # type: ignore[no-untyped-call] File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 705, in default credentials, project_id = checker() File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 698, in lambda: _get_explicit_environ_credentials(quota_project_id=quota_project_id), File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 346, in _get_explicit_environ_credentials credentials, project_id = load_credentials_from_file( File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 173, in load_credentials_from_file raise exceptions.DefaultCredentialsError( google.auth.exceptions.DefaultCredentialsError: File /app/app/request.json was not found. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/app/server/ChatbotAgent/agent_server.py", line 59, in background_run request_summary = await self.get_conversation_summary(request.user_id) File "/app/app/server/ChatbotAgent/agent_server.py", line 84, in get_conversation_summary summary = await self.llm.generate_response(history=[Message(role=Role.USER, content=input_message)], system_prompt=SUMMARY_PROMPT) File "/app/app/core/llm_interface.py", line 55, in generate_response raise type(e)(f"Gemini API call failed: {e}") google.auth.exceptions.DefaultCredentialsError: Gemini API call failed: File /app/app/request.json was not found. 2025-10-23 12:50:15,661 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:50:15,662 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:50:15,728 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:50:15,728 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:50:15,736 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:50:15,736 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:50:32,193 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:51:03,012 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 12:51:03,014 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 12:51:11,954 _client.py [line:1740] INFO HTTP Request: POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/aida-461108/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK" 2025-10-23 12:51:11,961 agent_server.py [line:60] INFO request_summary: ```json { "occasion": "Outdoor garden wedding", "style": "Elegant bohemian, flowy", "color_preference": "['Pale Blue', 'Mint Green'] (soft pastels preferred), avoid bright reds and oranges", "clothing_type": "Flowy, light, and airy maxi dress", "vibe_or_details": "Comfortable for walking" } ``` 2025-10-23 12:51:11,962 _api_client.py [line:619] INFO The user provided project/location will take precedence over the Vertex AI API key from the environment variable. 2025-10-23 12:51:11,997 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=RuntimeError("Failed to load credentials from file /workspace/lc_stylist_agent/request.json: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json'")> Traceback (most recent call last): File "/app/app/core/stylist_agent_server.py", line 38, in __init__ self.credentials = service_account.Credentials.from_service_account_file('/workspace/lc_stylist_agent/request.json') File "/usr/local/lib/python3.10/dist-packages/google/oauth2/service_account.py", line 264, in from_service_account_file info, signer = _service_account_info.from_filename( File "/usr/local/lib/python3.10/dist-packages/google/auth/_service_account_info.py", line 78, in from_filename with io.open(filename, "r", encoding="utf-8") as json_file: FileNotFoundError: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/app/server/ChatbotAgent/agent_server.py", line 63, in background_run recommendation_results = await self.recommend_outfit(request_summary=request_summary, File "/app/app/server/ChatbotAgent/agent_server.py", line 99, in recommend_outfit agent = AsyncStylistAgent(**self.stylist_agent_kwages) File "/app/app/core/stylist_agent_server.py", line 41, in __init__ raise RuntimeError(f"Failed to load credentials from file {'/workspace/lc_stylist_agent/request.json'}: {e}") RuntimeError: Failed to load credentials from file /workspace/lc_stylist_agent/request.json: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json' 2025-10-23 12:55:03,968 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:55:03,976 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:55:03,992 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:55:04,000 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:55:30,861 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 12:55:30,863 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 12:55:42,692 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=DefaultCredentialsError('Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.')> Traceback (most recent call last): File "/app/app/core/llm_interface.py", line 45, in generate_response response = await self.gemini_client.aio.models.generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 6757, in generate_content response = await self._generate_content( File "/usr/local/lib/python3.10/dist-packages/google/genai/models.py", line 5592, in _generate_content response = await self._api_client.async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1341, in async_request result = await self._async_request( File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1286, in _async_request return await self._async_retry( # type: ignore[no-any-return] File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 111, in __call__ do = await self.iter(retry_state=retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 153, in iter result = await action(retry_state) File "/usr/local/lib/python3.10/dist-packages/tenacity/_utils.py", line 99, in inner return call(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 420, in exc_check raise retry_exc.reraise() File "/usr/local/lib/python3.10/dist-packages/tenacity/__init__.py", line 187, in reraise raise self.last_attempt.result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result return self.__get_result() File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result raise self._exception File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/__init__.py", line 114, in __call__ result = await fn(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 1153, in _async_request_once f'Bearer {await self._async_access_token()}' File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 970, in _async_access_token self._credentials, project = await asyncio.to_thread( File "/usr/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.10/dist-packages/google/genai/_api_client.py", line 184, in load_auth credentials, loaded_project_id = google.auth.default( # type: ignore[no-untyped-call] File "/usr/local/lib/python3.10/dist-packages/google/auth/_default.py", line 739, in default raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS) google.auth.exceptions.DefaultCredentialsError: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/app/server/ChatbotAgent/agent_server.py", line 59, in background_run request_summary = await self.get_conversation_summary(request.user_id) File "/app/app/server/ChatbotAgent/agent_server.py", line 84, in get_conversation_summary summary = await self.llm.generate_response(history=[Message(role=Role.USER, content=input_message)], system_prompt=SUMMARY_PROMPT) File "/app/app/core/llm_interface.py", line 55, in generate_response raise type(e)(f"Gemini API call failed: {e}") google.auth.exceptions.DefaultCredentialsError: Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information. 2025-10-23 12:59:02,989 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:59:02,990 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 12:59:03,003 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:59:03,003 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 12:59:20,848 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 12:59:20,849 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 12:59:28,106 _client.py [line:1740] INFO HTTP Request: POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/aida-461108/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK" 2025-10-23 12:59:28,114 agent_server.py [line:60] INFO request_summary: ```json { "occasion": "", "style": "No preference", "color_preference": "No preference", "clothing_type": "No preference", "vibe_or_details": "No preference" } ``` 2025-10-23 12:59:28,150 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=RuntimeError("Failed to load credentials from file /workspace/lc_stylist_agent/request.json: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json'")> Traceback (most recent call last): File "/app/app/core/stylist_agent_server.py", line 38, in __init__ self.credentials = service_account.Credentials.from_service_account_file('/workspace/lc_stylist_agent/request.json') File "/usr/local/lib/python3.10/dist-packages/google/oauth2/service_account.py", line 264, in from_service_account_file info, signer = _service_account_info.from_filename( File "/usr/local/lib/python3.10/dist-packages/google/auth/_service_account_info.py", line 78, in from_filename with io.open(filename, "r", encoding="utf-8") as json_file: FileNotFoundError: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/app/server/ChatbotAgent/agent_server.py", line 63, in background_run recommendation_results = await self.recommend_outfit(request_summary=request_summary, File "/app/app/server/ChatbotAgent/agent_server.py", line 99, in recommend_outfit agent = AsyncStylistAgent(**self.stylist_agent_kwages) File "/app/app/core/stylist_agent_server.py", line 41, in __init__ raise RuntimeError(f"Failed to load credentials from file {'/workspace/lc_stylist_agent/request.json'}: {e}") RuntimeError: Failed to load credentials from file /workspace/lc_stylist_agent/request.json: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json' 2025-10-23 13:01:05,230 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:01:05,230 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:01:05,238 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:01:05,238 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:01:31,178 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:01:31,178 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:01:31,187 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:01:31,187 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:02:07,048 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 13:02:07,049 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 13:02:14,759 _client.py [line:1740] INFO HTTP Request: POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/aida-461108/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK" 2025-10-23 13:02:14,766 agent_server.py [line:60] INFO request_summary: ```json { "occasion": "Romantic date dinner", "style": "Classic elegance", "color_preference": [ "Cream", "Pale Blue" ], "clothing_type": "Lightweight maxi dress", "vibe_or_details": "Needs to be comfortable and breathable" } ``` 2025-10-23 13:02:14,806 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=RuntimeError("Failed to load credentials from file /workspace/lc_stylist_agent/request.json: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json'")> Traceback (most recent call last): File "/app/app/core/stylist_agent_server.py", line 38, in __init__ self.credentials = service_account.Credentials.from_service_account_file('/workspace/lc_stylist_agent/request.json') File "/usr/local/lib/python3.10/dist-packages/google/oauth2/service_account.py", line 264, in from_service_account_file info, signer = _service_account_info.from_filename( File "/usr/local/lib/python3.10/dist-packages/google/auth/_service_account_info.py", line 78, in from_filename with io.open(filename, "r", encoding="utf-8") as json_file: FileNotFoundError: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/app/app/server/ChatbotAgent/agent_server.py", line 63, in background_run recommendation_results = await self.recommend_outfit(request_summary=request_summary, File "/app/app/server/ChatbotAgent/agent_server.py", line 99, in recommend_outfit agent = AsyncStylistAgent(**self.stylist_agent_kwages) File "/app/app/core/stylist_agent_server.py", line 41, in __init__ raise RuntimeError(f"Failed to load credentials from file {'/workspace/lc_stylist_agent/request.json'}: {e}") RuntimeError: Failed to load credentials from file /workspace/lc_stylist_agent/request.json: [Errno 2] No such file or directory: '/workspace/lc_stylist_agent/request.json' 2025-10-23 13:04:34,790 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:04:34,798 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:04:34,822 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:04:34,831 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:04:49,159 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 13:04:49,161 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 13:04:52,924 _client.py [line:1740] INFO HTTP Request: POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/aida-461108/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK" 2025-10-23 13:04:52,930 agent_server.py [line:60] INFO request_summary: ```json { "occasion": "Outdoor summer wedding", "style": "Elegant and comfortable", "color_preference": "Light, pastel colors", "clothing_type": "Lightweight maxi dress", "vibe_or_details": "Needs to be breathable for hot weather, not too formal but elegant enough for a wedding, no specific pattern preference but open to subtle designs." } ``` 2025-10-23 13:04:53,112 stylist_agent_server.py [line:276] INFO {'status': '', 'message': '', 'path': '', 'outfit_id': 'd62c593f-ddcb-491d-ad83-6a1080dc4c35', 'items': []} 2025-10-23 13:04:53,115 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 13:04:57,361 _client.py [line:1740] INFO HTTP Request: POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/aida-461108/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK" 2025-10-23 13:04:57,425 agent_server.py [line:69] INFO --- Final Recommendation Results --- 2025-10-23 13:04:57,425 agent_server.py [line:73] ERROR ❌ Failed: 'NoneType' object has no attribute 'get' 2025-10-23 13:08:18,434 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:08:18,434 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-23 13:08:18,442 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:08:18,442 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-23 13:08:59,356 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-23 13:08:59,357 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 13:09:11,912 _client.py [line:1740] INFO HTTP Request: POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/aida-461108/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK" 2025-10-23 13:09:11,919 agent_server.py [line:60] INFO request_summary: ```json { "occasion": "", "style": "", "color_preference": "No preference", "clothing_type": "", "vibe_or_details": "" } ``` 2025-10-23 13:09:12,017 stylist_agent_server.py [line:276] INFO {'status': '', 'message': '', 'path': '', 'outfit_id': '4249f4c2-e7e1-432a-9f00-917cab8c3697', 'items': []} 2025-10-23 13:09:12,017 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-23 13:09:15,082 _client.py [line:1740] INFO HTTP Request: POST https://us-central1-aiplatform.googleapis.com/v1beta1/projects/aida-461108/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent "HTTP/1.1 200 OK" 2025-10-23 13:09:15,866 agent_server.py [line:69] INFO --- Final Recommendation Results --- 2025-10-23 13:09:15,866 agent_server.py [line:73] ERROR ❌ Failed: 'NoneType' object has no attribute 'get' 2025-10-24 10:22:10,296 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-24 10:22:10,297 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-24 10:22:10,305 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-24 10:22:10,305 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-24 10:22:16,926 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-24 10:22:16,928 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-24 10:22:29,130 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=DefaultCredentialsError('Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.')> Traceback (most recent call last): File "/workspace/lc_stylist_agent/app/core/llm_interface.py", line 45, in generate_response response = await self.gemini_client.aio.models.generate_content( File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/genai/models.py", line 6757, in generate_content response = await self._generate_content( File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/genai/models.py", line 5592, in _generate_content response = await self._api_client.async_request( File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/genai/_api_client.py", line 1341, in async_request result = await self._async_request( File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/genai/_api_client.py", line 1286, in _async_request return await self._async_retry( # type: ignore[no-any-return] File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/tenacity/_asyncio.py", line 58, in __call__ do = await self.iter(retry_state=retry_state) File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/tenacity/_asyncio.py", line 110, in iter result = await action(retry_state) File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/tenacity/_asyncio.py", line 78, in inner return fn(*args, **kwargs) File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/tenacity/__init__.py", line 410, in exc_check raise retry_exc.reraise() File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/tenacity/__init__.py", line 183, in reraise raise self.last_attempt.result() File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/concurrent/futures/_base.py", line 451, in result return self.__get_result() File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result raise self._exception File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/tenacity/_asyncio.py", line 61, in __call__ result = await fn(*args, **kwargs) File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/genai/_api_client.py", line 1153, in _async_request_once f'Bearer {await self._async_access_token()}' File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/genai/_api_client.py", line 970, in _async_access_token self._credentials, project = await asyncio.to_thread( File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/genai/_api_client.py", line 184, in load_auth credentials, loaded_project_id = google.auth.default( # type: ignore[no-untyped-call] File "/home/user/miniconda3/envs/lc_stylist_agent/lib/python3.10/site-packages/google/auth/_default.py", line 739, in default raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS) google.auth.exceptions.DefaultCredentialsError: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/workspace/lc_stylist_agent/app/server/ChatbotAgent/agent_server.py", line 59, in background_run request_summary = await self.get_conversation_summary(request.user_id) File "/workspace/lc_stylist_agent/app/server/ChatbotAgent/agent_server.py", line 84, in get_conversation_summary summary = await self.llm.generate_response(history=[Message(role=Role.USER, content=input_message)], system_prompt=SUMMARY_PROMPT) File "/workspace/lc_stylist_agent/app/core/llm_interface.py", line 55, in generate_response raise type(e)(f"Gemini API call failed: {e}") google.auth.exceptions.DefaultCredentialsError: Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information. 2025-10-24 10:35:27,496 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-24 10:35:27,500 redis_manager.py [line:22] INFO Successfully connected to Redis at 10.1.1.240:6379 2025-10-24 10:35:27,503 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-24 10:35:27,507 posthog.py [line:22] INFO Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information. 2025-10-24 10:35:32,549 agent_server.py [line:47] INFO request: {'user_id': 'string', 'num_outfits': 1, 'stylist_path': 'lanecarford/stylist_guide/crystal_en.md'} 2025-10-24 10:35:32,550 models.py [line:6751] INFO AFC is enabled with max remote calls: 10. 2025-10-24 10:35:44,514 base_events.py [line:1758] ERROR Task exception was never retrieved future: exception=DefaultCredentialsError('Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.')> Traceback (most recent call last): File "/workspace/lc_stylist_agent/app/core/llm_interface.py", line 45, in generate_response response = await self.gemini_client.aio.models.generate_content( File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/genai/models.py", line 6757, in generate_content response = await self._generate_content( File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/genai/models.py", line 5592, in _generate_content response = await self._api_client.async_request( File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/genai/_api_client.py", line 1341, in async_request result = await self._async_request( File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/genai/_api_client.py", line 1286, in _async_request return await self._async_retry( # type: ignore[no-any-return] File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/tenacity/_asyncio.py", line 58, in __call__ do = await self.iter(retry_state=retry_state) File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/tenacity/_asyncio.py", line 110, in iter result = await action(retry_state) File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/tenacity/_asyncio.py", line 78, in inner return fn(*args, **kwargs) File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/tenacity/__init__.py", line 410, in exc_check raise retry_exc.reraise() File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/tenacity/__init__.py", line 183, in reraise raise self.last_attempt.result() File "/home/user/miniconda3/envs/test2/lib/python3.10/concurrent/futures/_base.py", line 451, in result return self.__get_result() File "/home/user/miniconda3/envs/test2/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result raise self._exception File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/tenacity/_asyncio.py", line 61, in __call__ result = await fn(*args, **kwargs) File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/genai/_api_client.py", line 1153, in _async_request_once f'Bearer {await self._async_access_token()}' File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/genai/_api_client.py", line 970, in _async_access_token self._credentials, project = await asyncio.to_thread( File "/home/user/miniconda3/envs/test2/lib/python3.10/asyncio/threads.py", line 25, in to_thread return await loop.run_in_executor(None, func_call) File "/home/user/miniconda3/envs/test2/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/genai/_api_client.py", line 184, in load_auth credentials, loaded_project_id = google.auth.default( # type: ignore[no-untyped-call] File "/home/user/miniconda3/envs/test2/lib/python3.10/site-packages/google/auth/_default.py", line 739, in default raise exceptions.DefaultCredentialsError(_CLOUD_SDK_MISSING_CREDENTIALS) google.auth.exceptions.DefaultCredentialsError: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/workspace/lc_stylist_agent/app/server/ChatbotAgent/agent_server.py", line 59, in background_run request_summary = await self.get_conversation_summary(request.user_id) File "/workspace/lc_stylist_agent/app/server/ChatbotAgent/agent_server.py", line 84, in get_conversation_summary summary = await self.llm.generate_response(history=[Message(role=Role.USER, content=input_message)], system_prompt=SUMMARY_PROMPT) File "/workspace/lc_stylist_agent/app/core/llm_interface.py", line 55, in generate_response raise type(e)(f"Gemini API call failed: {e}") google.auth.exceptions.DefaultCredentialsError: Gemini API call failed: Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.