prediction-market-agent-tooling 0.57.19.dev351__tar.gz → 0.58.0__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 (123) hide show
  1. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/PKG-INFO +3 -1
  2. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/config.py +32 -1
  3. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/agent.py +2 -5
  4. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -14
  5. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/pyproject.toml +3 -1
  6. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/LICENSE +0 -0
  7. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/README.md +0 -0
  8. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/agentcommunication.abi.json +0 -0
  9. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
  10. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/erc721.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_agentresultmapping.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  19. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  20. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  21. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  22. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  23. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/ownable.abi.json +0 -0
  24. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
  25. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  26. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/seer_market_factory.abi.json +0 -0
  27. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/abis/simpletreasury.abi.json +0 -0
  28. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  29. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  30. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  31. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  32. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  33. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
  34. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  35. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  36. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  37. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
  38. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/gtypes.py +0 -0
  39. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
  40. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
  41. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
  42. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/loggers.py +0 -0
  43. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  44. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
  45. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  46. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  47. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  48. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  49. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  50. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  51. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  52. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
  53. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/markets.py +0 -0
  54. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  55. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  56. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  57. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  58. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  59. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  60. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/omen/omen_constants.py +0 -0
  61. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  62. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  63. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  64. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  65. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  66. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  67. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  68. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  69. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/seer/data_models.py +0 -0
  70. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/seer/seer.py +0 -0
  71. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/seer/seer_contracts.py +0 -0
  72. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +0 -0
  73. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py +0 -0
  74. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  75. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  76. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  77. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  78. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  79. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  80. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  81. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/py.typed +0 -0
  82. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/balances.py +0 -0
  83. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  84. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  85. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  86. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  87. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
  88. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/caches/db_cache.py +0 -0
  89. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
  90. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
  91. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/contract.py +0 -0
  92. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/costs.py +0 -0
  93. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/cow/cow_order.py +0 -0
  94. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
  95. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/data_models.py +0 -0
  96. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
  97. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
  98. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
  99. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  100. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
  101. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  102. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  103. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
  104. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
  105. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  106. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
  107. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +0 -0
  108. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
  109. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  110. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
  111. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
  112. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
  113. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/safe.py +0 -0
  114. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  115. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  116. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
  117. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
  118. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/tokens/auto_deposit.py +0 -0
  119. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/tokens/auto_withdraw.py +0 -0
  120. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/tokens/main_token.py +0 -0
  121. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
  122. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/utils.py +0 -0
  123. {prediction_market_agent_tooling-0.57.19.dev351 → prediction_market_agent_tooling-0.58.0}/prediction_market_agent_tooling/tools/web3_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.57.19.dev351
3
+ Version: 0.58.0
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.13
@@ -38,6 +38,8 @@ Requires-Dist: openai (>=1.0.0,<2.0.0) ; extra == "openai"
38
38
  Requires-Dist: optuna (>=4.1.0,<5.0.0) ; extra == "optuna"
39
39
  Requires-Dist: pinatapy-vourhey (>=0.2.0,<0.3.0)
40
40
  Requires-Dist: prompt-toolkit (>=3.0.43,<4.0.0)
41
+ Requires-Dist: proto-plus (>=1.0.0,<2.0.0)
42
+ Requires-Dist: protobuf (>=4.0.0,<5.0.0)
41
43
  Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0)
42
44
  Requires-Dist: pydantic (>=2.6.1,<3.0.0)
43
45
  Requires-Dist: pydantic-settings (>=2.4.0,<3.0.0)
@@ -1,7 +1,9 @@
1
+ import json
1
2
  import typing as t
3
+ from copy import deepcopy
2
4
 
3
5
  from eth_account.signers.local import LocalAccount
4
- from pydantic import Field
6
+ from pydantic import Field, model_validator
5
7
  from pydantic.types import SecretStr
6
8
  from pydantic.v1.types import SecretStr as SecretStrV1
7
9
  from pydantic_settings import BaseSettings, SettingsConfigDict
@@ -9,6 +11,7 @@ from safe_eth.eth import EthereumClient
9
11
  from safe_eth.safe.safe import SafeV141
10
12
  from web3 import Account
11
13
 
14
+ from prediction_market_agent_tooling.deploy.gcp.utils import gcp_get_secret_value
12
15
  from prediction_market_agent_tooling.gtypes import (
13
16
  ChainID,
14
17
  ChecksumAddress,
@@ -60,6 +63,34 @@ class APIKeys(BaseSettings):
60
63
  ENABLE_CACHE: bool = False
61
64
  CACHE_DIR: str = "./.cache"
62
65
 
66
+ @model_validator(mode="before")
67
+ @classmethod
68
+ def _model_validator(cls, data: t.Any) -> t.Any:
69
+ data = deepcopy(data)
70
+ data = cls._replace_gcp_secrets(data)
71
+ return data
72
+
73
+ @staticmethod
74
+ def _replace_gcp_secrets(data: t.Any) -> t.Any:
75
+ if isinstance(data, dict):
76
+ for k, v in data.items():
77
+ # Check if the value is meant to be fetched from GCP Secret Manager, if so, replace it with it.
78
+ if isinstance(v, (str, SecretStr)):
79
+ secret_value = (
80
+ v.get_secret_value() if isinstance(v, SecretStr) else v
81
+ )
82
+ if secret_value.startswith("gcps:"):
83
+ # We assume that secrets are dictionaries and the value is a key in the dictionary,
84
+ # example usage: `BET_FROM_PRIVATE_KEY=gcps:my-agent:private_key`
85
+ _, secret_name, key_name = secret_value.split(":")
86
+ secret_data = json.loads(gcp_get_secret_value(secret_name))[
87
+ key_name
88
+ ]
89
+ data[k] = secret_data
90
+ else:
91
+ raise ValueError("Data must be a dictionary.")
92
+ return data
93
+
63
94
  @property
64
95
  def manifold_user_id(self) -> str:
65
96
  return get_authenticated_user(
@@ -25,10 +25,7 @@ from prediction_market_agent_tooling.deploy.gcp.deploy import (
25
25
  run_deployed_gcp_function,
26
26
  schedule_deployed_gcp_function,
27
27
  )
28
- from prediction_market_agent_tooling.deploy.gcp.utils import (
29
- gcp_function_is_active,
30
- gcp_resolve_api_keys_secrets,
31
- )
28
+ from prediction_market_agent_tooling.deploy.gcp.utils import gcp_function_is_active
32
29
  from prediction_market_agent_tooling.deploy.trade_interval import (
33
30
  FixedInterval,
34
31
  TradeInterval,
@@ -228,7 +225,7 @@ def {entrypoint_function_name}(request) -> str:
228
225
  monitor_agent = MARKET_TYPE_TO_DEPLOYED_AGENT[market_type].from_api_keys(
229
226
  name=gcp_fname,
230
227
  start_time=start_time or utcnow(),
231
- api_keys=gcp_resolve_api_keys_secrets(api_keys),
228
+ api_keys=api_keys,
232
229
  )
233
230
  env_vars |= monitor_agent.model_dump_prefixed()
234
231
 
@@ -8,7 +8,6 @@ from google.cloud.functions_v2.services.function_service.client import (
8
8
  from google.cloud.functions_v2.types.functions import Function
9
9
  from google.cloud.secretmanager import SecretManagerServiceClient
10
10
 
11
- from prediction_market_agent_tooling.config import APIKeys
12
11
  from prediction_market_agent_tooling.deploy.gcp.kubernetes_models import (
13
12
  KubernetesCronJobsModel,
14
13
  )
@@ -203,16 +202,3 @@ def gcp_get_secret_value(name: str, version: str = "latest") -> str:
203
202
  return client.access_secret_version(
204
203
  name=f"projects/{get_gcloud_project_id()}/secrets/{name}/versions/{version}"
205
204
  ).payload.data.decode("utf-8")
206
-
207
-
208
- def gcp_resolve_api_keys_secrets(api_keys: APIKeys) -> APIKeys:
209
- return APIKeys.model_validate(
210
- api_keys.model_dump_public()
211
- | {
212
- k: gcp_get_secret_value(
213
- name=v.rsplit(":", 1)[0],
214
- version=v.rsplit(":", 1)[1],
215
- )
216
- for k, v in api_keys.model_dump_secrets().items()
217
- }
218
- )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.57.19.dev351"
3
+ version = "0.58.0"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"
@@ -57,6 +57,8 @@ optuna = { version = "^4.1.0", optional = true}
57
57
  httpx = ">=0.25.2,<1.0.0"
58
58
  cowdao-cowpy = "^1.0.0rc1"
59
59
  eth-keys = "^0.6.1"
60
+ proto-plus = "^1.0.0"
61
+ protobuf = "^4.0.0"
60
62
 
61
63
  [tool.poetry.extras]
62
64
  openai = ["openai"]