puli-plg 0.1.28__tar.gz → 0.1.29__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. {puli_plg-0.1.28 → puli_plg-0.1.29}/.gitignore +3 -0
  2. {puli_plg-0.1.28 → puli_plg-0.1.29}/PKG-INFO +1 -1
  3. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/proxy_client/config.py +17 -3
  4. {puli_plg-0.1.28 → puli_plg-0.1.29}/pyproject.toml +2 -4
  5. puli_plg-0.1.28/puli_mcp_server/credentials/.gitkeep +0 -0
  6. puli_plg-0.1.28/puli_mcp_server/credentials/service-account.json +0 -13
  7. {puli_plg-0.1.28 → puli_plg-0.1.29}/LICENSE +0 -0
  8. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/__init__.py +0 -0
  9. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/embedding_client/__init__.py +0 -0
  10. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/embedding_client/client.py +0 -0
  11. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/embedding_client/config.py +0 -0
  12. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/llm_agent/__init__.py +0 -0
  13. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/llm_agent/config.py +0 -0
  14. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/llm_agent/llm_agent.py +0 -0
  15. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/llm_agent/models.py +0 -0
  16. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/mcp_server/__init__.py +0 -0
  17. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/mcp_server/models.py +0 -0
  18. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/mcp_server/server.py +0 -0
  19. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/proxy_client/__init__.py +0 -0
  20. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/proxy_client/client.py +0 -0
  21. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/proxy_client/token_manager.py +0 -0
  22. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_mcp_server/test_diff.json +0 -0
  23. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_models/__init__.py +0 -0
  24. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_models/chaos_patterns.py +0 -0
  25. {puli_plg-0.1.28 → puli_plg-0.1.29}/puli_models/incidents.py +0 -0
@@ -23,3 +23,6 @@ ENV/
23
23
 
24
24
  # uv
25
25
  .python-version
26
+
27
+ # Never commit service account credentials
28
+ src/puli_mcp_server/credentials/*.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: puli-plg
3
- Version: 0.1.28
3
+ Version: 0.1.29
4
4
  Summary: Zilliz vector database client for incident management
5
5
  License-File: LICENSE
6
6
  Requires-Python: <3.14,>=3.10
@@ -1,15 +1,20 @@
1
1
  import os
2
+ import logging
2
3
  from dataclasses import dataclass, field
3
4
  from pathlib import Path
4
5
 
5
6
  from google.auth.transport.requests import Request
6
7
  from google.oauth2 import service_account
8
+ from google.auth import exceptions as google_auth_exceptions
7
9
 
8
- # Bundled service account key path (inside the package)
10
+ logger = logging.getLogger(__name__)
11
+
12
+ # User-provided service account key path (optional, for GCP Cloud Run auth)
13
+ # Set GOOGLE_APPLICATION_CREDENTIALS env var to provide your own key
9
14
  _CREDENTIALS_PATH = Path(__file__).parent.parent / "credentials" / "service-account.json"
10
15
 
11
16
  # Default Cloud Run URL
12
- _DEFAULT_PROXY_URL = "https://puli-proxy-gpvaoh5hka-uw.a.run.app"
17
+ _DEFAULT_PROXY_URL = "http://34.111.149.123"
13
18
 
14
19
 
15
20
  def _load_credentials(target_audience: str) -> service_account.IDTokenCredentials | None:
@@ -42,7 +47,16 @@ class ProxyConfig:
42
47
  return None
43
48
 
44
49
  if not self._credentials.valid:
45
- self._credentials.refresh(Request())
50
+ try:
51
+ self._credentials.refresh(Request())
52
+ except google_auth_exceptions.RefreshError as e:
53
+ logger.warning(
54
+ "Failed to refresh GCP identity token: %s. "
55
+ "Continuing without GCP auth (may fail if proxy requires it).",
56
+ e
57
+ )
58
+ self._credentials = None
59
+ return None
46
60
 
47
61
  return self._credentials.token
48
62
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "puli-plg"
3
- version = "0.1.28"
3
+ version = "0.1.29"
4
4
  description = "Zilliz vector database client for incident management"
5
5
  requires-python = ">=3.10,<3.14"
6
6
  dependencies = [
@@ -28,11 +28,9 @@ build-backend = "hatchling.build"
28
28
  [tool.hatch.build.targets.wheel]
29
29
  packages = ["puli_mcp_server", "puli_models"]
30
30
 
31
- [tool.hatch.build.targets.wheel.force-include]
32
- "puli_mcp_server/credentials/service-account.json" = "puli_mcp_server/credentials/service-account.json"
33
-
34
31
  [tool.hatch.build.targets.sdist]
35
32
  include = ["puli_mcp_server/", "puli_models"]
33
+ exclude = ["puli_mcp_server/credentials/"]
36
34
 
37
35
  [tool.uv.sources]
38
36
 
File without changes
@@ -1,13 +0,0 @@
1
- {
2
- "type": "service_account",
3
- "project_id": "totemic-formula-484216-s6",
4
- "private_key_id": "8078be8f617d2c0c2c6e4cc7c94132135664c3c0",
5
- "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDNQfmPOGwiNCNu\njztooUcrhOG6upIdA8BZxFg7UJKa4UrugXowoUZyyu1E3JzMr7kNRZMa3perDDl6\nP04HtA8mtqdBEnJeNIQlwV0FiGHuPuzEQBpKBjz2LCPOHaG0m5tQZYPngynzHdF6\nGLgpMaYpnPZGsqpRi6F44zI2+wj4MsGyGuA+pukeMiS1fAhjMUDhHDpN6kryLU9D\nLSx79oY04I3SE/kroGhtH5BPmv/fxpkhM8e1KzvHeZ3FKosfCskzsdaCNR0xCNSi\n+8SXaq0SJrXIkDDxQ0W3pxmfH0y17hX8tJSbsyeiCg3/+mJpsEbO0Z6colmfoJu+\nIOmuyCA/AgMBAAECggEAWMEe+u2gYHfgHFYGD9uxLSHEA9zaAn7VRVuv9VIFWsBx\niMlm/zE1h7y0tVKZ4K5ZW+JKVlOLDLT4A6LtCEq1RH21u98QoiiePb8rjJFpGz6N\nXd0EIR8qbB4xC1bnzfN9SNnknA6s7Innwx5+P53O5m6PVYm7ORCiLWY8l+ab/coZ\npY82vMrO0ohQwIbFiJjgnL2rO/sF/Z3sKR4Iw6EUbLV/oY33geGJ45hqsmVOxQ3C\nvfDxxVbot1wdGMHuVDQrrcQx7pNcODVaDwQ47rHPNmCu12L4ZAHL5UWkhNtlGV1N\nbO+zJUOVhlUKbs3Y2aOg4Z0QpRSFp9k9h9I6P24NwQKBgQD8rTbExPCJYDpV6R63\ndY1cbQ6+L2kKLHFyoH7XuPZfa/Z6PCgL2Msdp20as1vCDRgzAjAeO69cSfzbxrxC\ngvymyLub9IegHBQjjvxQz/w/TyPS3jo/buCarv43HNhpQr8rOLbk4fqAblvcwrau\ngDIYlxA+Zqmes8IKdy49UG6VQQKBgQDP9RjTM6IrURWOu6y1MaRMCVzeRLSzLFkK\nUFHIT0NOoS9hK641Z4diKw5uz0hXZgK+T2//AKcYD5utA68BITBHNmH0AwIxxtmr\nbutCDK+Fg5iUuoEXESD/tvDk1caTMCsFW8XuFcbPjlGmNoAQcHglWDWQcv4MgWG4\nFKMhpX3VfwKBgQDQKUcQjgp3sm38rsPechqWRUY7CkXn2rtPqsc0oy1daU0yYHLB\nZ8XV1UO+FnsGf9Eq3KeVkKgkSNPmn3Ai/1RzdrWQgsBk+BzjOn3FecMeyO0DYI7u\nCUNCS94kuz/SX+msCtop7712pvRJB6SGWBhtR65bKiqdEwxNoOfYHXYswQKBgGKz\nQIoVSpXmkSXCe3EwU3tnQjWYRG95z/TuNDKvNBHgvL0Q30knjwEP0HTVWs9ockrj\nJxPPun7YAZo3Ultl5iUWcZ0/xE3dxDfymCQsIy5qTAPjFRvenFvh9ymVMP9w8CpF\n6YZbvZWLRcNuwI+M4elPmXSqr1s+GSQmX1q70iJ/AoGARTjZDvA3wV4Y6+lAhydV\niLtkCm99Bs5bn/Rqpg2dJpX6pnZIWJerDczFK6I3hdl2YZxXx0pvsKL61MPhrqMS\nL99SXviX0709DG48kytIrnJkBvZMTk2WQVWMmswzbpDBa9/KTheKkMJuSLu+VtxU\nghBOZjGr/hILrSuUeQ9eC68=\n-----END PRIVATE KEY-----\n",
6
- "client_email": "puli-mcp-client@totemic-formula-484216-s6.iam.gserviceaccount.com",
7
- "client_id": "115504467731897363185",
8
- "auth_uri": "https://accounts.google.com/o/oauth2/auth",
9
- "token_uri": "https://oauth2.googleapis.com/token",
10
- "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
11
- "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/puli-mcp-client%40totemic-formula-484216-s6.iam.gserviceaccount.com",
12
- "universe_domain": "googleapis.com"
13
- }
File without changes