claude-all-hands 1.0.0

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 (1463) hide show
  1. package/.claude/agents/curator.md +128 -0
  2. package/.claude/agents/explorer.md +70 -0
  3. package/.claude/agents/parallel-worker.md +104 -0
  4. package/.claude/agents/planner.md +131 -0
  5. package/.claude/agents/researcher.md +48 -0
  6. package/.claude/commands/curation-fix.md +68 -0
  7. package/.claude/commands/new-branch.md +11 -0
  8. package/.claude/commands/parallel-discovery.md +51 -0
  9. package/.claude/commands/parallel-orchestration.md +81 -0
  10. package/.claude/commands/plan-checkpoint.md +12 -0
  11. package/.claude/commands/plan.md +64 -0
  12. package/.claude/envoy/.venv/.requirements.txt +2 -0
  13. package/.claude/envoy/.venv/bin/Activate.ps1 +241 -0
  14. package/.claude/envoy/.venv/bin/activate +66 -0
  15. package/.claude/envoy/.venv/bin/activate.csh +25 -0
  16. package/.claude/envoy/.venv/bin/activate.fish +64 -0
  17. package/.claude/envoy/.venv/bin/httpx +8 -0
  18. package/.claude/envoy/.venv/bin/normalizer +8 -0
  19. package/.claude/envoy/.venv/bin/pip +8 -0
  20. package/.claude/envoy/.venv/bin/pip3 +8 -0
  21. package/.claude/envoy/.venv/bin/pip3.9 +8 -0
  22. package/.claude/envoy/.venv/bin/pyrsa-decrypt +8 -0
  23. package/.claude/envoy/.venv/bin/pyrsa-encrypt +8 -0
  24. package/.claude/envoy/.venv/bin/pyrsa-keygen +8 -0
  25. package/.claude/envoy/.venv/bin/pyrsa-priv2pub +8 -0
  26. package/.claude/envoy/.venv/bin/pyrsa-sign +8 -0
  27. package/.claude/envoy/.venv/bin/pyrsa-verify +8 -0
  28. package/.claude/envoy/.venv/bin/websockets +8 -0
  29. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py +128 -0
  30. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/override.py +1 -0
  31. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/__init__.py +432 -0
  32. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/py.typed +0 -0
  33. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/test_cases.py +151 -0
  34. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/INSTALLER +1 -0
  35. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/METADATA +295 -0
  36. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/RECORD +10 -0
  37. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/WHEEL +4 -0
  38. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE +21 -0
  39. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/__init__.py +111 -0
  40. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/__init__.py +0 -0
  41. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_asyncio.py +3007 -0
  42. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_trio.py +1384 -0
  43. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/__init__.py +0 -0
  44. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_asyncio_selector_thread.py +167 -0
  45. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_contextmanagers.py +200 -0
  46. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_eventloop.py +229 -0
  47. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_exceptions.py +153 -0
  48. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_fileio.py +797 -0
  49. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_resources.py +18 -0
  50. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_signals.py +27 -0
  51. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_sockets.py +991 -0
  52. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_streams.py +52 -0
  53. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_subprocesses.py +202 -0
  54. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_synchronization.py +753 -0
  55. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tasks.py +163 -0
  56. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tempfile.py +616 -0
  57. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_testing.py +78 -0
  58. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_typedattr.py +81 -0
  59. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/__init__.py +58 -0
  60. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_eventloop.py +420 -0
  61. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_resources.py +33 -0
  62. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_sockets.py +405 -0
  63. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_streams.py +239 -0
  64. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_subprocesses.py +79 -0
  65. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_tasks.py +117 -0
  66. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_testing.py +65 -0
  67. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/from_thread.py +570 -0
  68. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/functools.py +347 -0
  69. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/lowlevel.py +195 -0
  70. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/py.typed +0 -0
  71. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/pytest_plugin.py +302 -0
  72. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/__init__.py +0 -0
  73. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/buffered.py +188 -0
  74. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/file.py +154 -0
  75. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/memory.py +325 -0
  76. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/stapled.py +147 -0
  77. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/text.py +176 -0
  78. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/tls.py +424 -0
  79. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_interpreter.py +246 -0
  80. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_process.py +264 -0
  81. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_thread.py +74 -0
  82. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/INSTALLER +1 -0
  83. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/METADATA +96 -0
  84. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/RECORD +92 -0
  85. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/WHEEL +5 -0
  86. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/entry_points.txt +2 -0
  87. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/licenses/LICENSE +20 -0
  88. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/top_level.txt +1 -0
  89. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/__init__.py +718 -0
  90. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cached.py +247 -0
  91. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cachedmethod.py +128 -0
  92. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/func.py +102 -0
  93. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/keys.py +62 -0
  94. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/INSTALLER +1 -0
  95. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/METADATA +156 -0
  96. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/RECORD +16 -0
  97. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/WHEEL +5 -0
  98. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/licenses/LICENSE +20 -0
  99. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/top_level.txt +1 -0
  100. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__init__.py +4 -0
  101. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__main__.py +12 -0
  102. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/cacert.pem +4678 -0
  103. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/core.py +83 -0
  104. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/py.typed +0 -0
  105. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/INSTALLER +1 -0
  106. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/METADATA +78 -0
  107. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/RECORD +14 -0
  108. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/WHEEL +5 -0
  109. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/licenses/LICENSE +20 -0
  110. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/top_level.txt +1 -0
  111. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__init__.py +48 -0
  112. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__main__.py +6 -0
  113. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/api.py +669 -0
  114. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cd.py +395 -0
  115. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__init__.py +8 -0
  116. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__main__.py +381 -0
  117. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/constant.py +2015 -0
  118. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/legacy.py +80 -0
  119. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.cpython-39-darwin.so +0 -0
  120. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.py +635 -0
  121. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md__mypyc.cpython-39-darwin.so +0 -0
  122. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/models.py +360 -0
  123. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/py.typed +0 -0
  124. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/utils.py +414 -0
  125. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/version.py +8 -0
  126. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/INSTALLER +1 -0
  127. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/METADATA +764 -0
  128. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/RECORD +35 -0
  129. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/WHEEL +6 -0
  130. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/entry_points.txt +2 -0
  131. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/licenses/LICENSE +21 -0
  132. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/top_level.txt +1 -0
  133. package/.claude/envoy/.venv/lib/python3.9/site-packages/distutils-precedence.pth +1 -0
  134. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/__init__.py +46 -0
  135. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_catch.py +138 -0
  136. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_exceptions.py +336 -0
  137. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_formatting.py +602 -0
  138. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_suppress.py +55 -0
  139. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_version.py +34 -0
  140. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/py.typed +0 -0
  141. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/INSTALLER +1 -0
  142. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/METADATA +159 -0
  143. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/RECORD +18 -0
  144. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/WHEEL +4 -0
  145. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/licenses/LICENSE +73 -0
  146. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/__init__.py +53 -0
  147. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_cloud_sdk.py +153 -0
  148. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_constants.py +5 -0
  149. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_async.py +171 -0
  150. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_base.py +75 -0
  151. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default.py +739 -0
  152. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default_async.py +288 -0
  153. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_exponential_backoff.py +164 -0
  154. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_helpers.py +554 -0
  155. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_jwt_async.py +164 -0
  156. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_oauth2client.py +167 -0
  157. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_refresh_worker.py +109 -0
  158. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_service_account_info.py +80 -0
  159. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/__init__.py +25 -0
  160. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/_helpers.py +62 -0
  161. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/credentials.py +143 -0
  162. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/__init__.py +144 -0
  163. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/aiohttp.py +190 -0
  164. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/sessions.py +268 -0
  165. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/api_key.py +76 -0
  166. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/app_engine.py +180 -0
  167. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aws.py +861 -0
  168. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/__init__.py +22 -0
  169. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/_metadata.py +379 -0
  170. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/credentials.py +558 -0
  171. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/credentials.py +665 -0
  172. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/__init__.py +98 -0
  173. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_cryptography_rsa.py +151 -0
  174. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_helpers.py +0 -0
  175. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_python_rsa.py +175 -0
  176. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/base.py +127 -0
  177. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/es256.py +175 -0
  178. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/rsa.py +30 -0
  179. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/downscoped.py +512 -0
  180. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/environment_vars.py +88 -0
  181. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/exceptions.py +108 -0
  182. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account.py +708 -0
  183. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account_authorized_user.py +433 -0
  184. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/iam.py +136 -0
  185. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/identity_pool.py +552 -0
  186. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/impersonated_credentials.py +705 -0
  187. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/jwt.py +878 -0
  188. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/metrics.py +154 -0
  189. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/pluggable.py +453 -0
  190. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/py.typed +2 -0
  191. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/__init__.py +104 -0
  192. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_aiohttp_requests.py +398 -0
  193. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_custom_tls_signer.py +283 -0
  194. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_http_client.py +115 -0
  195. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_mtls_helper.py +446 -0
  196. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_requests_base.py +53 -0
  197. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/grpc.py +337 -0
  198. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/mtls.py +129 -0
  199. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/requests.py +597 -0
  200. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/urllib3.py +449 -0
  201. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/version.py +15 -0
  202. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/__init__.py +25 -0
  203. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_adapters.py +55 -0
  204. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_client.py +1840 -0
  205. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_module.py +29 -0
  206. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_automatic_function_calling_util.py +325 -0
  207. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_transformers.py +26 -0
  208. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_url.py +50 -0
  209. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_common.py +778 -0
  210. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_extra_utils.py +618 -0
  211. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_live_converters.py +1424 -0
  212. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_local_tokenizer_loader.py +223 -0
  213. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_mcp_utils.py +117 -0
  214. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_operations_converters.py +298 -0
  215. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_replay_api_client.py +686 -0
  216. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_test_api_client.py +149 -0
  217. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_tokens_converters.py +480 -0
  218. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_transformers.py +1368 -0
  219. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/batches.py +2461 -0
  220. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/caches.py +1489 -0
  221. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/chats.py +531 -0
  222. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/client.py +403 -0
  223. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/errors.py +202 -0
  224. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/files.py +1019 -0
  225. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live.py +1165 -0
  226. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live_music.py +197 -0
  227. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/local_tokenizer.py +395 -0
  228. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/models.py +7335 -0
  229. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/operations.py +498 -0
  230. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/pagers.py +262 -0
  231. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/py.typed +1 -0
  232. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tokens.py +362 -0
  233. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tunings.py +1970 -0
  234. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/types.py +16507 -0
  235. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/version.py +16 -0
  236. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/__init__.py +36 -0
  237. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client.py +625 -0
  238. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client_async.py +286 -0
  239. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_credentials_async.py +118 -0
  240. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_id_token_async.py +285 -0
  241. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_reauth_async.py +328 -0
  242. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_service_account_async.py +132 -0
  243. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/challenges.py +281 -0
  244. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/credentials.py +614 -0
  245. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/gdch_credentials.py +251 -0
  246. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/id_token.py +370 -0
  247. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/py.typed +2 -0
  248. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/reauth.py +369 -0
  249. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/service_account.py +881 -0
  250. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/sts.py +176 -0
  251. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/utils.py +168 -0
  252. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler.py +82 -0
  253. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler_factory.py +16 -0
  254. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_types.py +156 -0
  255. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/INSTALLER +1 -0
  256. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/METADATA +181 -0
  257. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/RECORD +154 -0
  258. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/WHEEL +6 -0
  259. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/licenses/LICENSE +201 -0
  260. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/top_level.txt +1 -0
  261. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/INSTALLER +1 -0
  262. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/METADATA +1864 -0
  263. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/RECORD +74 -0
  264. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/REQUESTED +0 -0
  265. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/WHEEL +5 -0
  266. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/licenses/LICENSE +202 -0
  267. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/top_level.txt +1 -0
  268. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/__init__.py +62 -0
  269. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_abnf.py +132 -0
  270. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_connection.py +659 -0
  271. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_events.py +369 -0
  272. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_headers.py +282 -0
  273. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_readers.py +250 -0
  274. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_receivebuffer.py +153 -0
  275. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_state.py +365 -0
  276. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_util.py +135 -0
  277. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_version.py +16 -0
  278. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_writers.py +145 -0
  279. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/py.typed +1 -0
  280. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/INSTALLER +1 -0
  281. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/METADATA +202 -0
  282. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/RECORD +29 -0
  283. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/WHEEL +5 -0
  284. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/licenses/LICENSE.txt +22 -0
  285. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/top_level.txt +1 -0
  286. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/__init__.py +141 -0
  287. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_api.py +94 -0
  288. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/__init__.py +39 -0
  289. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection.py +222 -0
  290. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection_pool.py +420 -0
  291. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http11.py +379 -0
  292. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http2.py +592 -0
  293. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http_proxy.py +367 -0
  294. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/interfaces.py +137 -0
  295. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/socks_proxy.py +341 -0
  296. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/__init__.py +0 -0
  297. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/anyio.py +146 -0
  298. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/auto.py +52 -0
  299. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/base.py +101 -0
  300. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/mock.py +143 -0
  301. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/sync.py +241 -0
  302. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/trio.py +159 -0
  303. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_exceptions.py +81 -0
  304. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_models.py +516 -0
  305. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_ssl.py +9 -0
  306. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/__init__.py +39 -0
  307. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection.py +222 -0
  308. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection_pool.py +420 -0
  309. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http11.py +379 -0
  310. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http2.py +592 -0
  311. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http_proxy.py +367 -0
  312. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/interfaces.py +137 -0
  313. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/socks_proxy.py +341 -0
  314. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_synchronization.py +318 -0
  315. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_trace.py +107 -0
  316. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_utils.py +37 -0
  317. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/py.typed +0 -0
  318. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/INSTALLER +1 -0
  319. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/METADATA +625 -0
  320. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/RECORD +68 -0
  321. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/WHEEL +4 -0
  322. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/licenses/LICENSE.md +27 -0
  323. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__init__.py +105 -0
  324. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__version__.py +3 -0
  325. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_api.py +438 -0
  326. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_auth.py +348 -0
  327. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_client.py +2019 -0
  328. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_config.py +248 -0
  329. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_content.py +240 -0
  330. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_decoders.py +393 -0
  331. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_exceptions.py +379 -0
  332. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_main.py +506 -0
  333. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_models.py +1277 -0
  334. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_multipart.py +300 -0
  335. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_status_codes.py +162 -0
  336. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/__init__.py +15 -0
  337. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/asgi.py +187 -0
  338. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/base.py +86 -0
  339. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/default.py +406 -0
  340. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/mock.py +43 -0
  341. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/wsgi.py +149 -0
  342. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_types.py +114 -0
  343. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urlparse.py +527 -0
  344. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urls.py +641 -0
  345. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_utils.py +242 -0
  346. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/py.typed +0 -0
  347. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/INSTALLER +1 -0
  348. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/METADATA +203 -0
  349. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/RECORD +54 -0
  350. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/WHEEL +4 -0
  351. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/entry_points.txt +2 -0
  352. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md +12 -0
  353. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/__init__.py +45 -0
  354. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/codec.py +122 -0
  355. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/compat.py +15 -0
  356. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/core.py +437 -0
  357. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/idnadata.py +4309 -0
  358. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/intranges.py +57 -0
  359. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/package_data.py +1 -0
  360. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/py.typed +0 -0
  361. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/uts46data.py +8841 -0
  362. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/INSTALLER +1 -0
  363. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/METADATA +209 -0
  364. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/RECORD +22 -0
  365. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/WHEEL +4 -0
  366. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/licenses/LICENSE.md +31 -0
  367. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__init__.py +13 -0
  368. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__main__.py +31 -0
  369. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py +19 -0
  370. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py +294 -0
  371. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cache.py +287 -0
  372. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py +4 -0
  373. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py +163 -0
  374. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py +214 -0
  375. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py +1009 -0
  376. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py +27 -0
  377. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py +70 -0
  378. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py +87 -0
  379. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py +292 -0
  380. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py +250 -0
  381. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py +453 -0
  382. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py +157 -0
  383. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py +6 -0
  384. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py +112 -0
  385. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py +216 -0
  386. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py +47 -0
  387. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py +91 -0
  388. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py +266 -0
  389. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py +204 -0
  390. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py +139 -0
  391. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py +84 -0
  392. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py +55 -0
  393. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py +41 -0
  394. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py +139 -0
  395. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py +750 -0
  396. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py +337 -0
  397. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py +164 -0
  398. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py +234 -0
  399. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py +100 -0
  400. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py +176 -0
  401. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py +403 -0
  402. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py +21 -0
  403. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py +38 -0
  404. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py +22 -0
  405. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py +95 -0
  406. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py +34 -0
  407. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py +397 -0
  408. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py +2 -0
  409. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py +534 -0
  410. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py +982 -0
  411. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py +224 -0
  412. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py +408 -0
  413. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py +169 -0
  414. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py +219 -0
  415. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py +52 -0
  416. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/main.py +13 -0
  417. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py +48 -0
  418. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py +242 -0
  419. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py +153 -0
  420. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py +2 -0
  421. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py +31 -0
  422. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py +220 -0
  423. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py +84 -0
  424. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py +32 -0
  425. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py +288 -0
  426. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py +31 -0
  427. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py +126 -0
  428. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py +46 -0
  429. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py +111 -0
  430. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py +92 -0
  431. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py +2 -0
  432. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py +316 -0
  433. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py +69 -0
  434. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py +184 -0
  435. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py +210 -0
  436. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py +454 -0
  437. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py +96 -0
  438. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py +60 -0
  439. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py +0 -0
  440. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  441. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py +35 -0
  442. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py +74 -0
  443. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py +38 -0
  444. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py +110 -0
  445. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py +153 -0
  446. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py +277 -0
  447. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py +2 -0
  448. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py +47 -0
  449. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py +132 -0
  450. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py +803 -0
  451. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py +655 -0
  452. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py +183 -0
  453. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py +94 -0
  454. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py +474 -0
  455. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py +528 -0
  456. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py +846 -0
  457. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py +190 -0
  458. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py +130 -0
  459. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py +629 -0
  460. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py +0 -0
  461. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py +18 -0
  462. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  463. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py +453 -0
  464. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  465. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py +144 -0
  466. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py +555 -0
  467. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py +700 -0
  468. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +142 -0
  469. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py +197 -0
  470. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py +69 -0
  471. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py +166 -0
  472. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py +272 -0
  473. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py +187 -0
  474. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py +0 -0
  475. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py +38 -0
  476. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py +35 -0
  477. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py +63 -0
  478. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py +168 -0
  479. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py +11 -0
  480. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py +104 -0
  481. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py +79 -0
  482. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py +42 -0
  483. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py +36 -0
  484. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py +27 -0
  485. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py +182 -0
  486. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py +28 -0
  487. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py +92 -0
  488. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py +165 -0
  489. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py +36 -0
  490. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py +391 -0
  491. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py +828 -0
  492. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py +47 -0
  493. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py +89 -0
  494. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py +101 -0
  495. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py +40 -0
  496. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py +173 -0
  497. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py +281 -0
  498. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py +260 -0
  499. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py +267 -0
  500. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py +65 -0
  501. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py +111 -0
  502. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py +189 -0
  503. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py +15 -0
  504. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py +96 -0
  505. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py +506 -0
  506. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py +158 -0
  507. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py +329 -0
  508. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py +722 -0
  509. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py +360 -0
  510. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py +111 -0
  511. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py +633 -0
  512. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
  513. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py +57 -0
  514. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py +133 -0
  515. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
  516. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
  517. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +146 -0
  518. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +33 -0
  519. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
  520. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py +376 -0
  521. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py +80 -0
  522. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py +135 -0
  523. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py +188 -0
  524. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py +29 -0
  525. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py +3 -0
  526. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  527. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem +4257 -0
  528. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py +76 -0
  529. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py +83 -0
  530. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
  531. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py +47 -0
  532. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py +233 -0
  533. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py +107 -0
  534. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
  535. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
  536. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py +84 -0
  537. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
  538. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py +36 -0
  539. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py +49 -0
  540. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py +76 -0
  541. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py +101 -0
  542. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py +246 -0
  543. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
  544. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
  545. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py +47 -0
  546. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py +387 -0
  547. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py +46 -0
  548. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py +283 -0
  549. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py +46 -0
  550. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py +292 -0
  551. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py +325 -0
  552. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py +233 -0
  553. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +4650 -0
  554. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py +4398 -0
  555. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py +4383 -0
  556. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py +4650 -0
  557. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py +5718 -0
  558. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py +4383 -0
  559. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py +4383 -0
  560. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py +145 -0
  561. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
  562. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +54 -0
  563. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
  564. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  565. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py +310 -0
  566. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py +145 -0
  567. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +83 -0
  568. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
  569. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
  570. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py +82 -0
  571. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py +9 -0
  572. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py +6 -0
  573. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py +102 -0
  574. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py +258 -0
  575. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py +80 -0
  576. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py +152 -0
  577. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py +169 -0
  578. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py +23 -0
  579. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -0
  580. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -0
  581. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py +764 -0
  582. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -0
  583. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +786 -0
  584. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -0
  585. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py +1120 -0
  586. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py +1339 -0
  587. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py +509 -0
  588. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py +1300 -0
  589. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py +393 -0
  590. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py +130 -0
  591. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py +1058 -0
  592. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py +358 -0
  593. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py +423 -0
  594. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  595. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  596. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py +1965 -0
  597. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py +739 -0
  598. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  599. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  600. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py +1056 -0
  601. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py +1230 -0
  602. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py +35 -0
  603. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py +289 -0
  604. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py +918 -0
  605. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py +1735 -0
  606. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py +5 -0
  607. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py +40 -0
  608. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py +67 -0
  609. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py +159 -0
  610. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py +2946 -0
  611. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  612. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -0
  613. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py +12 -0
  614. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -0
  615. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -0
  616. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -0
  617. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +916 -0
  618. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -0
  619. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py +2795 -0
  620. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
  621. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
  622. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
  623. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -0
  624. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -0
  625. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py +417 -0
  626. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +239 -0
  627. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +343 -0
  628. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +392 -0
  629. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -0
  630. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py +252 -0
  631. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -0
  632. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +131 -0
  633. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +215 -0
  634. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +69 -0
  635. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py +44 -0
  636. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py +117 -0
  637. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py +16 -0
  638. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py +409 -0
  639. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py +2050 -0
  640. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py +58 -0
  641. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py +2 -0
  642. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py +8438 -0
  643. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py +54 -0
  644. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py +1 -0
  645. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  646. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py +193 -0
  647. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py +1087 -0
  648. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py +26 -0
  649. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py +25 -0
  650. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py +301 -0
  651. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py +136 -0
  652. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py +67 -0
  653. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py +304 -0
  654. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py +146 -0
  655. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py +828 -0
  656. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py +484 -0
  657. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py +136 -0
  658. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py +504 -0
  659. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py +6 -0
  660. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py +127 -0
  661. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py +207 -0
  662. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py +115 -0
  663. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py +42 -0
  664. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py +44 -0
  665. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py +171 -0
  666. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py +17 -0
  667. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py +349 -0
  668. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py +92 -0
  669. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py +371 -0
  670. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py +3296 -0
  671. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py +23 -0
  672. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py +177 -0
  673. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py +91 -0
  674. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py +41 -0
  675. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py +43 -0
  676. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py +7107 -0
  677. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py +154 -0
  678. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py +14 -0
  679. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
  680. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py +533 -0
  681. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py +159 -0
  682. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py +305 -0
  683. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py +18 -0
  684. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py +76 -0
  685. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py +549 -0
  686. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py +127 -0
  687. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py +132 -0
  688. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py +34 -0
  689. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py +966 -0
  690. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py +16 -0
  691. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py +781 -0
  692. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py +123 -0
  693. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py +105 -0
  694. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py +1013 -0
  695. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py +26 -0
  696. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  697. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +6 -0
  698. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py +124 -0
  699. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py +37 -0
  700. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py +473 -0
  701. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py +165 -0
  702. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/six.py +998 -0
  703. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py +517 -0
  704. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py +92 -0
  705. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py +68 -0
  706. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py +46 -0
  707. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py +41 -0
  708. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py +58 -0
  709. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py +43 -0
  710. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py +213 -0
  711. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py +96 -0
  712. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py +59 -0
  713. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py +191 -0
  714. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py +6 -0
  715. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py +703 -0
  716. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py +83 -0
  717. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py +85 -0
  718. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py +337 -0
  719. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  720. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py +539 -0
  721. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py +1067 -0
  722. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  723. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  724. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  725. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  726. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +396 -0
  727. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  728. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  729. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +511 -0
  730. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +922 -0
  731. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  732. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  733. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  734. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  735. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py +5 -0
  736. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  737. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  738. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py +1077 -0
  739. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +24 -0
  740. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +160 -0
  741. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py +536 -0
  742. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py +170 -0
  743. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py +821 -0
  744. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  745. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py +150 -0
  746. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py +56 -0
  747. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  748. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py +143 -0
  749. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  750. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py +602 -0
  751. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py +495 -0
  752. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  753. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py +268 -0
  754. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py +432 -0
  755. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py +153 -0
  756. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt +22 -0
  757. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
  758. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py +231 -0
  759. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
  760. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py +153 -0
  761. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
  762. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/py.typed +4 -0
  763. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/INSTALLER +1 -0
  764. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/LICENSE.txt +20 -0
  765. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/METADATA +92 -0
  766. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD +795 -0
  767. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/REQUESTED +0 -0
  768. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/WHEEL +5 -0
  769. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/entry_points.txt +5 -0
  770. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/top_level.txt +1 -0
  771. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py +3288 -0
  772. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  773. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py +608 -0
  774. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py +27 -0
  775. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py +26 -0
  776. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py +38 -0
  777. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py +86 -0
  778. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py +48 -0
  779. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py +328 -0
  780. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py +145 -0
  781. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py +863 -0
  782. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py +751 -0
  783. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py +65 -0
  784. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py +535 -0
  785. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py +5742 -0
  786. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py +73 -0
  787. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +6 -0
  788. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/__init__.py +2 -0
  789. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/__init__.py +1 -0
  790. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/__init__.py +1 -0
  791. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/decoder.py +2189 -0
  792. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/encoder.py +954 -0
  793. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/eoo.py +28 -0
  794. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/__init__.py +1 -0
  795. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/decoder.py +149 -0
  796. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/encoder.py +331 -0
  797. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/__init__.py +1 -0
  798. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/decoder.py +120 -0
  799. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/encoder.py +126 -0
  800. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/__init__.py +1 -0
  801. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/decoder.py +244 -0
  802. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/encoder.py +285 -0
  803. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/streaming.py +234 -0
  804. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/__init__.py +4 -0
  805. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/integer.py +13 -0
  806. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/debug.py +146 -0
  807. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/error.py +116 -0
  808. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/__init__.py +1 -0
  809. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/base.py +699 -0
  810. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/char.py +288 -0
  811. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/constraint.py +751 -0
  812. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/error.py +11 -0
  813. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedtype.py +550 -0
  814. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedval.py +192 -0
  815. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/opentype.py +104 -0
  816. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tag.py +335 -0
  817. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tagmap.py +96 -0
  818. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/univ.py +3327 -0
  819. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/useful.py +189 -0
  820. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/INSTALLER +1 -0
  821. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/LICENSE.rst +24 -0
  822. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/METADATA +228 -0
  823. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/RECORD +71 -0
  824. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/WHEEL +5 -0
  825. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/top_level.txt +1 -0
  826. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/zip-safe +1 -0
  827. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/__init__.py +2 -0
  828. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/pem.py +58 -0
  829. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1155.py +96 -0
  830. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1157.py +126 -0
  831. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1901.py +22 -0
  832. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1902.py +129 -0
  833. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1905.py +135 -0
  834. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2251.py +563 -0
  835. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2314.py +48 -0
  836. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2315.py +294 -0
  837. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2437.py +69 -0
  838. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2459.py +1339 -0
  839. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2511.py +258 -0
  840. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2560.py +225 -0
  841. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2631.py +37 -0
  842. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2634.py +336 -0
  843. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2876.py +56 -0
  844. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2985.py +588 -0
  845. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2986.py +75 -0
  846. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3058.py +42 -0
  847. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3114.py +77 -0
  848. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3125.py +469 -0
  849. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3161.py +142 -0
  850. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3274.py +59 -0
  851. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3279.py +260 -0
  852. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3280.py +1543 -0
  853. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3281.py +331 -0
  854. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3370.py +146 -0
  855. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3412.py +53 -0
  856. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3414.py +28 -0
  857. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3447.py +45 -0
  858. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3537.py +34 -0
  859. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3560.py +74 -0
  860. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3565.py +57 -0
  861. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3657.py +66 -0
  862. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3709.py +207 -0
  863. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3739.py +203 -0
  864. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3770.py +75 -0
  865. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3779.py +137 -0
  866. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3820.py +65 -0
  867. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3852.py +706 -0
  868. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4010.py +58 -0
  869. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4043.py +43 -0
  870. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4055.py +258 -0
  871. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4073.py +59 -0
  872. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4108.py +350 -0
  873. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4210.py +803 -0
  874. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4211.py +396 -0
  875. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4334.py +75 -0
  876. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4357.py +477 -0
  877. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4387.py +23 -0
  878. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4476.py +93 -0
  879. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4490.py +113 -0
  880. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4491.py +44 -0
  881. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4683.py +72 -0
  882. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4985.py +49 -0
  883. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5035.py +199 -0
  884. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5083.py +52 -0
  885. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5084.py +97 -0
  886. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5126.py +577 -0
  887. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5208.py +56 -0
  888. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5275.py +404 -0
  889. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5280.py +1658 -0
  890. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5480.py +190 -0
  891. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5636.py +113 -0
  892. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5639.py +49 -0
  893. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5649.py +33 -0
  894. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5652.py +761 -0
  895. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5697.py +70 -0
  896. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5751.py +124 -0
  897. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5752.py +49 -0
  898. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5753.py +157 -0
  899. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5755.py +398 -0
  900. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5913.py +44 -0
  901. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5914.py +119 -0
  902. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5915.py +32 -0
  903. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5916.py +35 -0
  904. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5917.py +55 -0
  905. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5924.py +19 -0
  906. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5934.py +786 -0
  907. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5940.py +59 -0
  908. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5958.py +98 -0
  909. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5990.py +237 -0
  910. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6010.py +88 -0
  911. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6019.py +45 -0
  912. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6031.py +469 -0
  913. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6032.py +68 -0
  914. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6120.py +43 -0
  915. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6170.py +17 -0
  916. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6187.py +22 -0
  917. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6210.py +42 -0
  918. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6211.py +72 -0
  919. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6402.py +628 -0
  920. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6482.py +74 -0
  921. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6486.py +68 -0
  922. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6487.py +22 -0
  923. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6664.py +147 -0
  924. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6955.py +108 -0
  925. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6960.py +223 -0
  926. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7030.py +66 -0
  927. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7191.py +261 -0
  928. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7229.py +29 -0
  929. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7292.py +357 -0
  930. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7296.py +32 -0
  931. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7508.py +90 -0
  932. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7585.py +50 -0
  933. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7633.py +38 -0
  934. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7773.py +52 -0
  935. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7894.py +92 -0
  936. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7906.py +736 -0
  937. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7914.py +49 -0
  938. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8017.py +153 -0
  939. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8018.py +260 -0
  940. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8103.py +36 -0
  941. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8209.py +20 -0
  942. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8226.py +149 -0
  943. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8358.py +50 -0
  944. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8360.py +44 -0
  945. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8398.py +52 -0
  946. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8410.py +43 -0
  947. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8418.py +36 -0
  948. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8419.py +68 -0
  949. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8479.py +45 -0
  950. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8494.py +80 -0
  951. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8520.py +63 -0
  952. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8619.py +45 -0
  953. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8649.py +40 -0
  954. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8692.py +79 -0
  955. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8696.py +104 -0
  956. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8702.py +105 -0
  957. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8708.py +41 -0
  958. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8769.py +21 -0
  959. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/INSTALLER +1 -0
  960. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/METADATA +73 -0
  961. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/RECORD +271 -0
  962. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/WHEEL +5 -0
  963. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/licenses/LICENSE.txt +24 -0
  964. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/top_level.txt +1 -0
  965. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/zip-safe +1 -0
  966. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/__init__.py +456 -0
  967. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/__init__.py +0 -0
  968. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_config.py +383 -0
  969. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_metadata.py +97 -0
  970. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_utils.py +174 -0
  971. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_dataclasses.py +315 -0
  972. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators.py +858 -0
  973. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators_v1.py +174 -0
  974. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_discriminated_union.py +479 -0
  975. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_docs_extraction.py +113 -0
  976. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_fields.py +635 -0
  977. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_forward_ref.py +23 -0
  978. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py +2867 -0
  979. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generics.py +543 -0
  980. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_git.py +27 -0
  981. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_import_utils.py +20 -0
  982. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_internal_dataclass.py +7 -0
  983. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_known_annotated_metadata.py +401 -0
  984. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_mock_val_ser.py +228 -0
  985. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py +848 -0
  986. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_namespace_utils.py +293 -0
  987. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_repr.py +124 -0
  988. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_gather.py +209 -0
  989. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py +125 -0
  990. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_serializers.py +53 -0
  991. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_signature.py +188 -0
  992. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_typing_extra.py +760 -0
  993. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_utils.py +446 -0
  994. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validate_call.py +140 -0
  995. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validators.py +533 -0
  996. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_migration.py +316 -0
  997. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/alias_generators.py +62 -0
  998. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/aliases.py +135 -0
  999. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/annotated_handlers.py +122 -0
  1000. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/class_validators.py +5 -0
  1001. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/color.py +604 -0
  1002. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/config.py +1288 -0
  1003. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/dataclasses.py +413 -0
  1004. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/datetime_parse.py +5 -0
  1005. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/decorator.py +5 -0
  1006. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/__init__.py +0 -0
  1007. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/class_validators.py +256 -0
  1008. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/config.py +72 -0
  1009. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/copy_internals.py +224 -0
  1010. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/decorator.py +284 -0
  1011. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/json.py +141 -0
  1012. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/parse.py +80 -0
  1013. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/tools.py +103 -0
  1014. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/env_settings.py +5 -0
  1015. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/error_wrappers.py +5 -0
  1016. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/errors.py +189 -0
  1017. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/__init__.py +1 -0
  1018. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/arguments_schema.py +44 -0
  1019. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/missing_sentinel.py +5 -0
  1020. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/pipeline.py +654 -0
  1021. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/fields.py +1834 -0
  1022. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_serializers.py +451 -0
  1023. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_validators.py +893 -0
  1024. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/generics.py +5 -0
  1025. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json.py +5 -0
  1026. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json_schema.py +2854 -0
  1027. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/main.py +1819 -0
  1028. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/mypy.py +1374 -0
  1029. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/networks.py +1331 -0
  1030. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/parse.py +5 -0
  1031. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/__init__.py +193 -0
  1032. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_loader.py +58 -0
  1033. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_schema_validator.py +140 -0
  1034. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/py.typed +0 -0
  1035. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/root_model.py +155 -0
  1036. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/schema.py +5 -0
  1037. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/tools.py +5 -0
  1038. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/type_adapter.py +795 -0
  1039. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/types.py +3295 -0
  1040. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/typing.py +5 -0
  1041. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/utils.py +5 -0
  1042. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/__init__.py +142 -0
  1043. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/_hypothesis_plugin.py +391 -0
  1044. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/annotated_types.py +72 -0
  1045. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/class_validators.py +361 -0
  1046. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/color.py +494 -0
  1047. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/config.py +191 -0
  1048. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/dataclasses.py +500 -0
  1049. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/datetime_parse.py +248 -0
  1050. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/decorator.py +264 -0
  1051. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/env_settings.py +350 -0
  1052. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/error_wrappers.py +161 -0
  1053. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/errors.py +646 -0
  1054. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/fields.py +1253 -0
  1055. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/generics.py +400 -0
  1056. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/json.py +112 -0
  1057. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/main.py +1113 -0
  1058. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/mypy.py +949 -0
  1059. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/networks.py +747 -0
  1060. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/parse.py +66 -0
  1061. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/py.typed +0 -0
  1062. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/schema.py +1163 -0
  1063. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/tools.py +92 -0
  1064. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/types.py +1205 -0
  1065. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/typing.py +614 -0
  1066. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/utils.py +806 -0
  1067. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/validators.py +768 -0
  1068. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/version.py +38 -0
  1069. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validate_call_decorator.py +116 -0
  1070. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validators.py +5 -0
  1071. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/version.py +113 -0
  1072. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/warnings.py +122 -0
  1073. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/INSTALLER +1 -0
  1074. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/METADATA +1029 -0
  1075. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/RECORD +217 -0
  1076. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/WHEEL +4 -0
  1077. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/licenses/LICENSE +21 -0
  1078. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/__init__.py +171 -0
  1079. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.cpython-39-darwin.so +0 -0
  1080. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.pyi +1046 -0
  1081. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/core_schema.py +4435 -0
  1082. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/py.typed +0 -0
  1083. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/INSTALLER +1 -0
  1084. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/METADATA +180 -0
  1085. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/RECORD +12 -0
  1086. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/WHEEL +4 -0
  1087. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/licenses/LICENSE +21 -0
  1088. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__init__.py +184 -0
  1089. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__version__.py +14 -0
  1090. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/_internal_utils.py +50 -0
  1091. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/adapters.py +696 -0
  1092. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/api.py +157 -0
  1093. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/auth.py +314 -0
  1094. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/certs.py +17 -0
  1095. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/compat.py +106 -0
  1096. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/cookies.py +561 -0
  1097. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/exceptions.py +151 -0
  1098. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/help.py +134 -0
  1099. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/hooks.py +33 -0
  1100. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/models.py +1039 -0
  1101. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/packages.py +23 -0
  1102. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/sessions.py +831 -0
  1103. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/status_codes.py +128 -0
  1104. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/structures.py +99 -0
  1105. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/utils.py +1086 -0
  1106. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/INSTALLER +1 -0
  1107. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/METADATA +133 -0
  1108. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/RECORD +43 -0
  1109. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/REQUESTED +0 -0
  1110. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/WHEEL +5 -0
  1111. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/licenses/LICENSE +175 -0
  1112. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/top_level.txt +1 -0
  1113. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/__init__.py +60 -0
  1114. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/asn1.py +52 -0
  1115. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/cli.py +321 -0
  1116. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/common.py +184 -0
  1117. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/core.py +53 -0
  1118. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/key.py +858 -0
  1119. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/parallel.py +96 -0
  1120. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pem.py +134 -0
  1121. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1.py +485 -0
  1122. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1_v2.py +100 -0
  1123. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/prime.py +198 -0
  1124. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/py.typed +1 -0
  1125. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/randnum.py +95 -0
  1126. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/transform.py +72 -0
  1127. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/util.py +97 -0
  1128. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/INSTALLER +1 -0
  1129. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/LICENSE +13 -0
  1130. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/METADATA +140 -0
  1131. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/RECORD +41 -0
  1132. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/WHEEL +4 -0
  1133. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/entry_points.txt +8 -0
  1134. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/__init__.py +242 -0
  1135. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py +7 -0
  1136. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py +15 -0
  1137. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py +561 -0
  1138. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py +256 -0
  1139. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py +393 -0
  1140. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py +1123 -0
  1141. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py +403 -0
  1142. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py +31 -0
  1143. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py +143 -0
  1144. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py +123 -0
  1145. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py +749 -0
  1146. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py +579 -0
  1147. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py +377 -0
  1148. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py +157 -0
  1149. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py +209 -0
  1150. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py +757 -0
  1151. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py +392 -0
  1152. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py +152 -0
  1153. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py +148 -0
  1154. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py +76 -0
  1155. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py +344 -0
  1156. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py +677 -0
  1157. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py +79 -0
  1158. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py +77 -0
  1159. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py +47 -0
  1160. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py +217 -0
  1161. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py +60 -0
  1162. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py +30 -0
  1163. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py +304 -0
  1164. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py +494 -0
  1165. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py +214 -0
  1166. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py +130 -0
  1167. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py +234 -0
  1168. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py +414 -0
  1169. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py +5 -0
  1170. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py +92 -0
  1171. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py +210 -0
  1172. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py +1257 -0
  1173. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py +97 -0
  1174. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py +240 -0
  1175. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py +457 -0
  1176. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py +238 -0
  1177. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py +355 -0
  1178. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py +77 -0
  1179. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py +788 -0
  1180. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py +643 -0
  1181. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py +19 -0
  1182. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py +7 -0
  1183. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py +106 -0
  1184. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py +573 -0
  1185. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py +286 -0
  1186. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py +332 -0
  1187. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py +535 -0
  1188. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py +347 -0
  1189. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py +166 -0
  1190. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_imp.py +82 -0
  1191. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py +0 -0
  1192. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py +4 -0
  1193. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py +3825 -0
  1194. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py +620 -0
  1195. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py +488 -0
  1196. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py +27 -0
  1197. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py +26 -0
  1198. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py +38 -0
  1199. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py +86 -0
  1200. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py +48 -0
  1201. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py +328 -0
  1202. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py +145 -0
  1203. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py +863 -0
  1204. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py +751 -0
  1205. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py +65 -0
  1206. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py +535 -0
  1207. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py +5742 -0
  1208. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/archive_util.py +205 -0
  1209. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/build_meta.py +281 -0
  1210. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe +0 -0
  1211. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe +0 -0
  1212. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli.exe +0 -0
  1213. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py +8 -0
  1214. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/alias.py +78 -0
  1215. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py +456 -0
  1216. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py +31 -0
  1217. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py +101 -0
  1218. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py +328 -0
  1219. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py +232 -0
  1220. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/develop.py +193 -0
  1221. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py +36 -0
  1222. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py +2290 -0
  1223. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py +734 -0
  1224. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install.py +125 -0
  1225. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py +62 -0
  1226. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py +122 -0
  1227. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py +69 -0
  1228. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml +15 -0
  1229. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py +134 -0
  1230. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/register.py +18 -0
  1231. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py +64 -0
  1232. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py +22 -0
  1233. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py +189 -0
  1234. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py +149 -0
  1235. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/test.py +252 -0
  1236. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload.py +17 -0
  1237. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py +202 -0
  1238. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/config.py +749 -0
  1239. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dep_util.py +25 -0
  1240. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/depends.py +175 -0
  1241. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dist.py +1150 -0
  1242. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/errors.py +16 -0
  1243. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extension.py +55 -0
  1244. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py +73 -0
  1245. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/glob.py +167 -0
  1246. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe +0 -0
  1247. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe +0 -0
  1248. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui.exe +0 -0
  1249. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/installer.py +97 -0
  1250. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/launch.py +36 -0
  1251. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/monkey.py +177 -0
  1252. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/msvc.py +1805 -0
  1253. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/namespaces.py +107 -0
  1254. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/package_index.py +1119 -0
  1255. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/py34compat.py +13 -0
  1256. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/sandbox.py +530 -0
  1257. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl +6 -0
  1258. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script.tmpl +3 -0
  1259. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py +42 -0
  1260. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/version.py +6 -0
  1261. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/wheel.py +213 -0
  1262. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/windows_support.py +29 -0
  1263. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/INSTALLER +1 -0
  1264. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/LICENSE +19 -0
  1265. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/METADATA +119 -0
  1266. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/RECORD +296 -0
  1267. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/REQUESTED +0 -0
  1268. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/WHEEL +5 -0
  1269. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/entry_points.txt +56 -0
  1270. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/top_level.txt +3 -0
  1271. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/__init__.py +722 -0
  1272. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/_utils.py +101 -0
  1273. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/after.py +51 -0
  1274. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/__init__.py +206 -0
  1275. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/retry.py +125 -0
  1276. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before.py +48 -0
  1277. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before_sleep.py +72 -0
  1278. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/nap.py +43 -0
  1279. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/py.typed +0 -0
  1280. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/retry.py +282 -0
  1281. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/stop.py +130 -0
  1282. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/tornadoweb.py +63 -0
  1283. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/wait.py +234 -0
  1284. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/INSTALLER +1 -0
  1285. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/METADATA +31 -0
  1286. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/RECORD +31 -0
  1287. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/WHEEL +5 -0
  1288. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/licenses/LICENSE +202 -0
  1289. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/top_level.txt +1 -0
  1290. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER +1 -0
  1291. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/METADATA +72 -0
  1292. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/RECORD +7 -0
  1293. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/WHEEL +4 -0
  1294. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE +279 -0
  1295. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions.py +4317 -0
  1296. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/__init__.py +0 -0
  1297. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/introspection.py +587 -0
  1298. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/py.typed +0 -0
  1299. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.py +607 -0
  1300. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.pyi +417 -0
  1301. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/INSTALLER +1 -0
  1302. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/METADATA +49 -0
  1303. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/RECORD +13 -0
  1304. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/WHEEL +4 -0
  1305. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/licenses/LICENSE +21 -0
  1306. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/__init__.py +211 -0
  1307. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_base_connection.py +165 -0
  1308. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_collections.py +487 -0
  1309. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_request_methods.py +278 -0
  1310. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_version.py +34 -0
  1311. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connection.py +1099 -0
  1312. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py +1178 -0
  1313. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/__init__.py +0 -0
  1314. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/__init__.py +16 -0
  1315. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/connection.py +259 -0
  1316. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/emscripten_fetch_worker.js +110 -0
  1317. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/fetch.py +726 -0
  1318. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/request.py +22 -0
  1319. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/response.py +277 -0
  1320. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py +564 -0
  1321. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/socks.py +228 -0
  1322. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/exceptions.py +335 -0
  1323. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/fields.py +341 -0
  1324. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/filepost.py +89 -0
  1325. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/__init__.py +53 -0
  1326. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/connection.py +356 -0
  1327. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/probe.py +87 -0
  1328. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/poolmanager.py +651 -0
  1329. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/py.typed +2 -0
  1330. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/response.py +1465 -0
  1331. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/__init__.py +42 -0
  1332. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/connection.py +137 -0
  1333. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/proxy.py +43 -0
  1334. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/request.py +263 -0
  1335. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/response.py +101 -0
  1336. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/retry.py +533 -0
  1337. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_.py +527 -0
  1338. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_match_hostname.py +159 -0
  1339. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssltransport.py +271 -0
  1340. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/timeout.py +275 -0
  1341. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/url.py +469 -0
  1342. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/util.py +42 -0
  1343. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/wait.py +124 -0
  1344. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/INSTALLER +1 -0
  1345. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/METADATA +156 -0
  1346. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/RECORD +79 -0
  1347. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/WHEEL +4 -0
  1348. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/licenses/LICENSE.txt +21 -0
  1349. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__init__.py +236 -0
  1350. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__main__.py +5 -0
  1351. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/__init__.py +0 -0
  1352. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/async_timeout.py +282 -0
  1353. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/client.py +820 -0
  1354. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/compatibility.py +30 -0
  1355. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/connection.py +1237 -0
  1356. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/messages.py +314 -0
  1357. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/router.py +198 -0
  1358. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/server.py +981 -0
  1359. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/auth.py +18 -0
  1360. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/cli.py +178 -0
  1361. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/client.py +389 -0
  1362. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/connection.py +12 -0
  1363. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/datastructures.py +187 -0
  1364. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/exceptions.py +473 -0
  1365. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/__init__.py +4 -0
  1366. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/base.py +123 -0
  1367. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/permessage_deflate.py +697 -0
  1368. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/frames.py +430 -0
  1369. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/headers.py +586 -0
  1370. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http.py +20 -0
  1371. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http11.py +427 -0
  1372. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/imports.py +100 -0
  1373. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/__init__.py +11 -0
  1374. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/auth.py +190 -0
  1375. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/client.py +705 -0
  1376. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/exceptions.py +71 -0
  1377. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/framing.py +225 -0
  1378. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/handshake.py +158 -0
  1379. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/http.py +201 -0
  1380. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/protocol.py +1641 -0
  1381. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/server.py +1191 -0
  1382. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/protocol.py +758 -0
  1383. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/py.typed +0 -0
  1384. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/server.py +587 -0
  1385. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.c +222 -0
  1386. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.cpython-39-darwin.so +0 -0
  1387. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.pyi +1 -0
  1388. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/streams.py +151 -0
  1389. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/__init__.py +0 -0
  1390. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/client.py +648 -0
  1391. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/connection.py +1072 -0
  1392. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/messages.py +345 -0
  1393. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/router.py +192 -0
  1394. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/server.py +763 -0
  1395. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/utils.py +45 -0
  1396. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/typing.py +74 -0
  1397. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/uri.py +225 -0
  1398. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/utils.py +51 -0
  1399. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/version.py +92 -0
  1400. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/INSTALLER +1 -0
  1401. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/LICENSE +24 -0
  1402. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/METADATA +179 -0
  1403. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/RECORD +106 -0
  1404. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/WHEEL +5 -0
  1405. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/entry_points.txt +2 -0
  1406. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/top_level.txt +1 -0
  1407. package/.claude/envoy/.venv/pyvenv.cfg +3 -0
  1408. package/.claude/envoy/README.md +76 -0
  1409. package/.claude/envoy/claude-envoy.py +0 -0
  1410. package/.claude/envoy/commands/__init__.py +1 -0
  1411. package/.claude/envoy/commands/base.py +95 -0
  1412. package/.claude/envoy/commands/parallel.py +439 -0
  1413. package/.claude/envoy/commands/perplexity.py +86 -0
  1414. package/.claude/envoy/commands/plans.py +451 -0
  1415. package/.claude/envoy/commands/tavily.py +156 -0
  1416. package/.claude/envoy/commands/vertex.py +358 -0
  1417. package/.claude/envoy/commands/xai.py +124 -0
  1418. package/.claude/envoy/envoy +30 -0
  1419. package/.claude/envoy/envoy.py +122 -0
  1420. package/.claude/envoy/pyrightconfig.json +4 -0
  1421. package/.claude/envoy/requirements.txt +2 -0
  1422. package/.claude/hooks/capture-queries.sh +3 -0
  1423. package/.claude/hooks/scripts/enforce_planning.py +118 -0
  1424. package/.claude/hooks/scripts/enforce_research_fetch.py +17 -0
  1425. package/.claude/hooks/scripts/enforce_research_search.py +11 -0
  1426. package/.claude/hooks/scripts/enforce_rg.py +34 -0
  1427. package/.claude/hooks/scripts/github_url_to_gh.py +44 -0
  1428. package/.claude/hooks/scripts/scan_skills.py +89 -0
  1429. package/.claude/hooks/scripts/validate_skill.py +81 -0
  1430. package/.claude/hooks/startup.sh +57 -0
  1431. package/.claude/output-styles/systematic-bug-fixer.md +0 -0
  1432. package/.claude/plans/feat-npm-package-cli/plan.md +85 -0
  1433. package/.claude/plans/feat-specialist-builder-patterns/plan.md +298 -0
  1434. package/.claude/settings.json +145 -0
  1435. package/.claude/skills/claude-code-patterns/SKILL.md +51 -0
  1436. package/.claude/skills/claude-code-patterns/docs/context-hygiene.md +19 -0
  1437. package/.claude/skills/claude-envoy-curation/SKILL.md +99 -0
  1438. package/.claude/skills/claude-envoy-usage/SKILL.md +38 -0
  1439. package/.claude/skills/command-development/SKILL.md +216 -0
  1440. package/.claude/skills/command-development/examples/simple-commands.md +212 -0
  1441. package/.claude/skills/command-development/references/frontmatter-reference.md +221 -0
  1442. package/.claude/skills/git-ops/SKILL.md +137 -0
  1443. package/.claude/skills/hook-development/SKILL.md +103 -0
  1444. package/.claude/skills/hook-development/examples/command-hooks.md +301 -0
  1445. package/.claude/skills/hook-development/examples/prompt-hooks.md +114 -0
  1446. package/.claude/skills/hook-development/references/event-reference.md +226 -0
  1447. package/.claude/skills/orchestration-idols/SKILL.md +68 -0
  1448. package/.claude/skills/repomix-extraction/SKILL.md +89 -0
  1449. package/.claude/skills/research-tools/SKILL.md +129 -0
  1450. package/.claude/skills/skill-development/SKILL.md +236 -0
  1451. package/.claude/skills/skill-development/examples/complete-skill-examples.md +281 -0
  1452. package/.claude/skills/skill-development/references/progressive-disclosure.md +141 -0
  1453. package/.claude/skills/skill-development/references/writing-style.md +180 -0
  1454. package/.claude/skills/skill-development/scripts/validate-skill.sh +144 -0
  1455. package/.claude/skills/specialist-builder/SKILL.md +348 -0
  1456. package/.claude/skills/specialist-builder/docs/agent-catalog.md +28 -0
  1457. package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +206 -0
  1458. package/.claude/skills/specialist-builder/references/system-prompt-patterns.md +281 -0
  1459. package/.claude/skills/specialist-builder/references/triggering-examples.md +162 -0
  1460. package/.claude/skills/specialist-builder/scripts/validate-agent.sh +137 -0
  1461. package/README.md +94 -0
  1462. package/bin/cli.js +7326 -0
  1463. package/package.json +45 -0
@@ -0,0 +1,1970 @@
1
+ # Copyright 2025 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+
16
+ # Code generated by the Google Gen AI SDK generator DO NOT EDIT.
17
+
18
+ import json
19
+ import logging
20
+ from typing import Any, Optional, Union
21
+ from urllib.parse import urlencode
22
+
23
+ from . import _api_module
24
+ from . import _common
25
+ from . import _transformers as t
26
+ from . import types
27
+ from ._common import get_value_by_path as getv
28
+ from ._common import set_value_by_path as setv
29
+ from .pagers import AsyncPager, Pager
30
+
31
+
32
+ logger = logging.getLogger('google_genai.tunings')
33
+
34
+
35
+ def _CancelTuningJobParameters_to_mldev(
36
+ from_object: Union[dict[str, Any], object],
37
+ parent_object: Optional[dict[str, Any]] = None,
38
+ root_object: Optional[Union[dict[str, Any], object]] = None,
39
+ ) -> dict[str, Any]:
40
+ to_object: dict[str, Any] = {}
41
+ if getv(from_object, ['name']) is not None:
42
+ setv(to_object, ['_url', 'name'], getv(from_object, ['name']))
43
+
44
+ return to_object
45
+
46
+
47
+ def _CancelTuningJobParameters_to_vertex(
48
+ from_object: Union[dict[str, Any], object],
49
+ parent_object: Optional[dict[str, Any]] = None,
50
+ root_object: Optional[Union[dict[str, Any], object]] = None,
51
+ ) -> dict[str, Any]:
52
+ to_object: dict[str, Any] = {}
53
+ if getv(from_object, ['name']) is not None:
54
+ setv(to_object, ['_url', 'name'], getv(from_object, ['name']))
55
+
56
+ return to_object
57
+
58
+
59
+ def _CreateTuningJobConfig_to_mldev(
60
+ from_object: Union[dict[str, Any], object],
61
+ parent_object: Optional[dict[str, Any]] = None,
62
+ root_object: Optional[Union[dict[str, Any], object]] = None,
63
+ ) -> dict[str, Any]:
64
+ to_object: dict[str, Any] = {}
65
+
66
+ if getv(from_object, ['validation_dataset']) is not None:
67
+ raise ValueError(
68
+ 'validation_dataset parameter is not supported in Gemini API.'
69
+ )
70
+
71
+ if getv(from_object, ['tuned_model_display_name']) is not None:
72
+ setv(
73
+ parent_object,
74
+ ['displayName'],
75
+ getv(from_object, ['tuned_model_display_name']),
76
+ )
77
+
78
+ if getv(from_object, ['description']) is not None:
79
+ raise ValueError('description parameter is not supported in Gemini API.')
80
+
81
+ if getv(from_object, ['epoch_count']) is not None:
82
+ setv(
83
+ parent_object,
84
+ ['tuningTask', 'hyperparameters', 'epochCount'],
85
+ getv(from_object, ['epoch_count']),
86
+ )
87
+
88
+ if getv(from_object, ['learning_rate_multiplier']) is not None:
89
+ setv(
90
+ to_object,
91
+ ['tuningTask', 'hyperparameters', 'learningRateMultiplier'],
92
+ getv(from_object, ['learning_rate_multiplier']),
93
+ )
94
+
95
+ if getv(from_object, ['export_last_checkpoint_only']) is not None:
96
+ raise ValueError(
97
+ 'export_last_checkpoint_only parameter is not supported in Gemini API.'
98
+ )
99
+
100
+ if getv(from_object, ['pre_tuned_model_checkpoint_id']) is not None:
101
+ raise ValueError(
102
+ 'pre_tuned_model_checkpoint_id parameter is not supported in Gemini'
103
+ ' API.'
104
+ )
105
+
106
+ if getv(from_object, ['adapter_size']) is not None:
107
+ raise ValueError('adapter_size parameter is not supported in Gemini API.')
108
+
109
+ if getv(from_object, ['batch_size']) is not None:
110
+ setv(
111
+ parent_object,
112
+ ['tuningTask', 'hyperparameters', 'batchSize'],
113
+ getv(from_object, ['batch_size']),
114
+ )
115
+
116
+ if getv(from_object, ['learning_rate']) is not None:
117
+ setv(
118
+ parent_object,
119
+ ['tuningTask', 'hyperparameters', 'learningRate'],
120
+ getv(from_object, ['learning_rate']),
121
+ )
122
+
123
+ if getv(from_object, ['evaluation_config']) is not None:
124
+ raise ValueError(
125
+ 'evaluation_config parameter is not supported in Gemini API.'
126
+ )
127
+
128
+ if getv(from_object, ['labels']) is not None:
129
+ raise ValueError('labels parameter is not supported in Gemini API.')
130
+
131
+ if getv(from_object, ['beta']) is not None:
132
+ raise ValueError('beta parameter is not supported in Gemini API.')
133
+
134
+ return to_object
135
+
136
+
137
+ def _CreateTuningJobConfig_to_vertex(
138
+ from_object: Union[dict[str, Any], object],
139
+ parent_object: Optional[dict[str, Any]] = None,
140
+ root_object: Optional[Union[dict[str, Any], object]] = None,
141
+ ) -> dict[str, Any]:
142
+ to_object: dict[str, Any] = {}
143
+
144
+ discriminator = getv(root_object, ['config', 'method'])
145
+ if discriminator is None:
146
+ discriminator = 'SUPERVISED_FINE_TUNING'
147
+ if discriminator == 'SUPERVISED_FINE_TUNING':
148
+ if getv(from_object, ['validation_dataset']) is not None:
149
+ setv(
150
+ parent_object,
151
+ ['supervisedTuningSpec'],
152
+ _TuningValidationDataset_to_vertex(
153
+ getv(from_object, ['validation_dataset']), to_object, root_object
154
+ ),
155
+ )
156
+
157
+ elif discriminator == 'PREFERENCE_TUNING':
158
+ if getv(from_object, ['validation_dataset']) is not None:
159
+ setv(
160
+ parent_object,
161
+ ['preferenceOptimizationSpec'],
162
+ _TuningValidationDataset_to_vertex(
163
+ getv(from_object, ['validation_dataset']), to_object, root_object
164
+ ),
165
+ )
166
+
167
+ if getv(from_object, ['tuned_model_display_name']) is not None:
168
+ setv(
169
+ parent_object,
170
+ ['tunedModelDisplayName'],
171
+ getv(from_object, ['tuned_model_display_name']),
172
+ )
173
+
174
+ if getv(from_object, ['description']) is not None:
175
+ setv(parent_object, ['description'], getv(from_object, ['description']))
176
+
177
+ discriminator = getv(root_object, ['config', 'method'])
178
+ if discriminator is None:
179
+ discriminator = 'SUPERVISED_FINE_TUNING'
180
+ if discriminator == 'SUPERVISED_FINE_TUNING':
181
+ if getv(from_object, ['epoch_count']) is not None:
182
+ setv(
183
+ parent_object,
184
+ ['supervisedTuningSpec', 'hyperParameters', 'epochCount'],
185
+ getv(from_object, ['epoch_count']),
186
+ )
187
+
188
+ elif discriminator == 'PREFERENCE_TUNING':
189
+ if getv(from_object, ['epoch_count']) is not None:
190
+ setv(
191
+ parent_object,
192
+ ['preferenceOptimizationSpec', 'hyperParameters', 'epochCount'],
193
+ getv(from_object, ['epoch_count']),
194
+ )
195
+
196
+ discriminator = getv(root_object, ['config', 'method'])
197
+ if discriminator is None:
198
+ discriminator = 'SUPERVISED_FINE_TUNING'
199
+ if discriminator == 'SUPERVISED_FINE_TUNING':
200
+ if getv(from_object, ['learning_rate_multiplier']) is not None:
201
+ setv(
202
+ parent_object,
203
+ ['supervisedTuningSpec', 'hyperParameters', 'learningRateMultiplier'],
204
+ getv(from_object, ['learning_rate_multiplier']),
205
+ )
206
+
207
+ elif discriminator == 'PREFERENCE_TUNING':
208
+ if getv(from_object, ['learning_rate_multiplier']) is not None:
209
+ setv(
210
+ parent_object,
211
+ [
212
+ 'preferenceOptimizationSpec',
213
+ 'hyperParameters',
214
+ 'learningRateMultiplier',
215
+ ],
216
+ getv(from_object, ['learning_rate_multiplier']),
217
+ )
218
+
219
+ discriminator = getv(root_object, ['config', 'method'])
220
+ if discriminator is None:
221
+ discriminator = 'SUPERVISED_FINE_TUNING'
222
+ if discriminator == 'SUPERVISED_FINE_TUNING':
223
+ if getv(from_object, ['export_last_checkpoint_only']) is not None:
224
+ setv(
225
+ parent_object,
226
+ ['supervisedTuningSpec', 'exportLastCheckpointOnly'],
227
+ getv(from_object, ['export_last_checkpoint_only']),
228
+ )
229
+
230
+ elif discriminator == 'PREFERENCE_TUNING':
231
+ if getv(from_object, ['export_last_checkpoint_only']) is not None:
232
+ setv(
233
+ parent_object,
234
+ ['preferenceOptimizationSpec', 'exportLastCheckpointOnly'],
235
+ getv(from_object, ['export_last_checkpoint_only']),
236
+ )
237
+
238
+ discriminator = getv(root_object, ['config', 'method'])
239
+ if discriminator is None:
240
+ discriminator = 'SUPERVISED_FINE_TUNING'
241
+ if discriminator == 'SUPERVISED_FINE_TUNING':
242
+ if getv(from_object, ['adapter_size']) is not None:
243
+ setv(
244
+ parent_object,
245
+ ['supervisedTuningSpec', 'hyperParameters', 'adapterSize'],
246
+ getv(from_object, ['adapter_size']),
247
+ )
248
+
249
+ elif discriminator == 'PREFERENCE_TUNING':
250
+ if getv(from_object, ['adapter_size']) is not None:
251
+ setv(
252
+ parent_object,
253
+ ['preferenceOptimizationSpec', 'hyperParameters', 'adapterSize'],
254
+ getv(from_object, ['adapter_size']),
255
+ )
256
+
257
+ if getv(from_object, ['batch_size']) is not None:
258
+ raise ValueError('batch_size parameter is not supported in Vertex AI.')
259
+
260
+ if getv(from_object, ['learning_rate']) is not None:
261
+ raise ValueError('learning_rate parameter is not supported in Vertex AI.')
262
+
263
+ discriminator = getv(root_object, ['config', 'method'])
264
+ if discriminator is None:
265
+ discriminator = 'SUPERVISED_FINE_TUNING'
266
+ if discriminator == 'SUPERVISED_FINE_TUNING':
267
+ if getv(from_object, ['evaluation_config']) is not None:
268
+ setv(
269
+ parent_object,
270
+ ['supervisedTuningSpec', 'evaluationConfig'],
271
+ _EvaluationConfig_to_vertex(
272
+ getv(from_object, ['evaluation_config']), to_object, root_object
273
+ ),
274
+ )
275
+
276
+ elif discriminator == 'PREFERENCE_TUNING':
277
+ if getv(from_object, ['evaluation_config']) is not None:
278
+ setv(
279
+ parent_object,
280
+ ['preferenceOptimizationSpec', 'evaluationConfig'],
281
+ _EvaluationConfig_to_vertex(
282
+ getv(from_object, ['evaluation_config']), to_object, root_object
283
+ ),
284
+ )
285
+
286
+ if getv(from_object, ['labels']) is not None:
287
+ setv(parent_object, ['labels'], getv(from_object, ['labels']))
288
+
289
+ if getv(from_object, ['beta']) is not None:
290
+ setv(
291
+ parent_object,
292
+ ['preferenceOptimizationSpec', 'hyperParameters', 'beta'],
293
+ getv(from_object, ['beta']),
294
+ )
295
+
296
+ return to_object
297
+
298
+
299
+ def _CreateTuningJobParametersPrivate_to_mldev(
300
+ from_object: Union[dict[str, Any], object],
301
+ parent_object: Optional[dict[str, Any]] = None,
302
+ root_object: Optional[Union[dict[str, Any], object]] = None,
303
+ ) -> dict[str, Any]:
304
+ to_object: dict[str, Any] = {}
305
+ if getv(from_object, ['base_model']) is not None:
306
+ setv(to_object, ['baseModel'], getv(from_object, ['base_model']))
307
+
308
+ if getv(from_object, ['pre_tuned_model']) is not None:
309
+ setv(to_object, ['preTunedModel'], getv(from_object, ['pre_tuned_model']))
310
+
311
+ if getv(from_object, ['training_dataset']) is not None:
312
+ _TuningDataset_to_mldev(
313
+ getv(from_object, ['training_dataset']), to_object, root_object
314
+ )
315
+
316
+ if getv(from_object, ['config']) is not None:
317
+ _CreateTuningJobConfig_to_mldev(
318
+ getv(from_object, ['config']), to_object, root_object
319
+ )
320
+
321
+ return to_object
322
+
323
+
324
+ def _CreateTuningJobParametersPrivate_to_vertex(
325
+ from_object: Union[dict[str, Any], object],
326
+ parent_object: Optional[dict[str, Any]] = None,
327
+ root_object: Optional[Union[dict[str, Any], object]] = None,
328
+ ) -> dict[str, Any]:
329
+ to_object: dict[str, Any] = {}
330
+ if getv(from_object, ['base_model']) is not None:
331
+ setv(to_object, ['baseModel'], getv(from_object, ['base_model']))
332
+
333
+ if getv(from_object, ['pre_tuned_model']) is not None:
334
+ setv(to_object, ['preTunedModel'], getv(from_object, ['pre_tuned_model']))
335
+
336
+ if getv(from_object, ['training_dataset']) is not None:
337
+ _TuningDataset_to_vertex(
338
+ getv(from_object, ['training_dataset']), to_object, root_object
339
+ )
340
+
341
+ if getv(from_object, ['config']) is not None:
342
+ _CreateTuningJobConfig_to_vertex(
343
+ getv(from_object, ['config']), to_object, root_object
344
+ )
345
+
346
+ return to_object
347
+
348
+
349
+ def _EvaluationConfig_from_vertex(
350
+ from_object: Union[dict[str, Any], object],
351
+ parent_object: Optional[dict[str, Any]] = None,
352
+ root_object: Optional[Union[dict[str, Any], object]] = None,
353
+ ) -> dict[str, Any]:
354
+ to_object: dict[str, Any] = {}
355
+ if getv(from_object, ['metrics']) is not None:
356
+ setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics'])))
357
+
358
+ if getv(from_object, ['outputConfig']) is not None:
359
+ setv(to_object, ['output_config'], getv(from_object, ['outputConfig']))
360
+
361
+ if getv(from_object, ['autoraterConfig']) is not None:
362
+ setv(
363
+ to_object, ['autorater_config'], getv(from_object, ['autoraterConfig'])
364
+ )
365
+
366
+ return to_object
367
+
368
+
369
+ def _EvaluationConfig_to_vertex(
370
+ from_object: Union[dict[str, Any], object],
371
+ parent_object: Optional[dict[str, Any]] = None,
372
+ root_object: Optional[Union[dict[str, Any], object]] = None,
373
+ ) -> dict[str, Any]:
374
+ to_object: dict[str, Any] = {}
375
+ if getv(from_object, ['metrics']) is not None:
376
+ setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics'])))
377
+
378
+ if getv(from_object, ['output_config']) is not None:
379
+ setv(to_object, ['outputConfig'], getv(from_object, ['output_config']))
380
+
381
+ if getv(from_object, ['autorater_config']) is not None:
382
+ setv(
383
+ to_object, ['autoraterConfig'], getv(from_object, ['autorater_config'])
384
+ )
385
+
386
+ return to_object
387
+
388
+
389
+ def _GetTuningJobParameters_to_mldev(
390
+ from_object: Union[dict[str, Any], object],
391
+ parent_object: Optional[dict[str, Any]] = None,
392
+ root_object: Optional[Union[dict[str, Any], object]] = None,
393
+ ) -> dict[str, Any]:
394
+ to_object: dict[str, Any] = {}
395
+ if getv(from_object, ['name']) is not None:
396
+ setv(to_object, ['_url', 'name'], getv(from_object, ['name']))
397
+
398
+ return to_object
399
+
400
+
401
+ def _GetTuningJobParameters_to_vertex(
402
+ from_object: Union[dict[str, Any], object],
403
+ parent_object: Optional[dict[str, Any]] = None,
404
+ root_object: Optional[Union[dict[str, Any], object]] = None,
405
+ ) -> dict[str, Any]:
406
+ to_object: dict[str, Any] = {}
407
+ if getv(from_object, ['name']) is not None:
408
+ setv(to_object, ['_url', 'name'], getv(from_object, ['name']))
409
+
410
+ return to_object
411
+
412
+
413
+ def _ListTuningJobsConfig_to_mldev(
414
+ from_object: Union[dict[str, Any], object],
415
+ parent_object: Optional[dict[str, Any]] = None,
416
+ root_object: Optional[Union[dict[str, Any], object]] = None,
417
+ ) -> dict[str, Any]:
418
+ to_object: dict[str, Any] = {}
419
+
420
+ if getv(from_object, ['page_size']) is not None:
421
+ setv(
422
+ parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size'])
423
+ )
424
+
425
+ if getv(from_object, ['page_token']) is not None:
426
+ setv(
427
+ parent_object,
428
+ ['_query', 'pageToken'],
429
+ getv(from_object, ['page_token']),
430
+ )
431
+
432
+ if getv(from_object, ['filter']) is not None:
433
+ setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter']))
434
+
435
+ return to_object
436
+
437
+
438
+ def _ListTuningJobsConfig_to_vertex(
439
+ from_object: Union[dict[str, Any], object],
440
+ parent_object: Optional[dict[str, Any]] = None,
441
+ root_object: Optional[Union[dict[str, Any], object]] = None,
442
+ ) -> dict[str, Any]:
443
+ to_object: dict[str, Any] = {}
444
+
445
+ if getv(from_object, ['page_size']) is not None:
446
+ setv(
447
+ parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size'])
448
+ )
449
+
450
+ if getv(from_object, ['page_token']) is not None:
451
+ setv(
452
+ parent_object,
453
+ ['_query', 'pageToken'],
454
+ getv(from_object, ['page_token']),
455
+ )
456
+
457
+ if getv(from_object, ['filter']) is not None:
458
+ setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter']))
459
+
460
+ return to_object
461
+
462
+
463
+ def _ListTuningJobsParameters_to_mldev(
464
+ from_object: Union[dict[str, Any], object],
465
+ parent_object: Optional[dict[str, Any]] = None,
466
+ root_object: Optional[Union[dict[str, Any], object]] = None,
467
+ ) -> dict[str, Any]:
468
+ to_object: dict[str, Any] = {}
469
+ if getv(from_object, ['config']) is not None:
470
+ _ListTuningJobsConfig_to_mldev(
471
+ getv(from_object, ['config']), to_object, root_object
472
+ )
473
+
474
+ return to_object
475
+
476
+
477
+ def _ListTuningJobsParameters_to_vertex(
478
+ from_object: Union[dict[str, Any], object],
479
+ parent_object: Optional[dict[str, Any]] = None,
480
+ root_object: Optional[Union[dict[str, Any], object]] = None,
481
+ ) -> dict[str, Any]:
482
+ to_object: dict[str, Any] = {}
483
+ if getv(from_object, ['config']) is not None:
484
+ _ListTuningJobsConfig_to_vertex(
485
+ getv(from_object, ['config']), to_object, root_object
486
+ )
487
+
488
+ return to_object
489
+
490
+
491
+ def _ListTuningJobsResponse_from_mldev(
492
+ from_object: Union[dict[str, Any], object],
493
+ parent_object: Optional[dict[str, Any]] = None,
494
+ root_object: Optional[Union[dict[str, Any], object]] = None,
495
+ ) -> dict[str, Any]:
496
+ to_object: dict[str, Any] = {}
497
+ if getv(from_object, ['sdkHttpResponse']) is not None:
498
+ setv(
499
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
500
+ )
501
+
502
+ if getv(from_object, ['nextPageToken']) is not None:
503
+ setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken']))
504
+
505
+ if getv(from_object, ['tunedModels']) is not None:
506
+ setv(
507
+ to_object,
508
+ ['tuning_jobs'],
509
+ [
510
+ _TuningJob_from_mldev(item, to_object, root_object)
511
+ for item in getv(from_object, ['tunedModels'])
512
+ ],
513
+ )
514
+
515
+ return to_object
516
+
517
+
518
+ def _ListTuningJobsResponse_from_vertex(
519
+ from_object: Union[dict[str, Any], object],
520
+ parent_object: Optional[dict[str, Any]] = None,
521
+ root_object: Optional[Union[dict[str, Any], object]] = None,
522
+ ) -> dict[str, Any]:
523
+ to_object: dict[str, Any] = {}
524
+ if getv(from_object, ['sdkHttpResponse']) is not None:
525
+ setv(
526
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
527
+ )
528
+
529
+ if getv(from_object, ['nextPageToken']) is not None:
530
+ setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken']))
531
+
532
+ if getv(from_object, ['tuningJobs']) is not None:
533
+ setv(
534
+ to_object,
535
+ ['tuning_jobs'],
536
+ [
537
+ _TuningJob_from_vertex(item, to_object, root_object)
538
+ for item in getv(from_object, ['tuningJobs'])
539
+ ],
540
+ )
541
+
542
+ return to_object
543
+
544
+
545
+ def _TunedModel_from_mldev(
546
+ from_object: Union[dict[str, Any], object],
547
+ parent_object: Optional[dict[str, Any]] = None,
548
+ root_object: Optional[Union[dict[str, Any], object]] = None,
549
+ ) -> dict[str, Any]:
550
+ to_object: dict[str, Any] = {}
551
+ if getv(from_object, ['name']) is not None:
552
+ setv(to_object, ['model'], getv(from_object, ['name']))
553
+
554
+ if getv(from_object, ['name']) is not None:
555
+ setv(to_object, ['endpoint'], getv(from_object, ['name']))
556
+
557
+ return to_object
558
+
559
+
560
+ def _TuningDataset_to_mldev(
561
+ from_object: Union[dict[str, Any], object],
562
+ parent_object: Optional[dict[str, Any]] = None,
563
+ root_object: Optional[Union[dict[str, Any], object]] = None,
564
+ ) -> dict[str, Any]:
565
+ to_object: dict[str, Any] = {}
566
+ if getv(from_object, ['gcs_uri']) is not None:
567
+ raise ValueError('gcs_uri parameter is not supported in Gemini API.')
568
+
569
+ if getv(from_object, ['vertex_dataset_resource']) is not None:
570
+ raise ValueError(
571
+ 'vertex_dataset_resource parameter is not supported in Gemini API.'
572
+ )
573
+
574
+ if getv(from_object, ['examples']) is not None:
575
+ setv(
576
+ to_object,
577
+ ['examples', 'examples'],
578
+ [item for item in getv(from_object, ['examples'])],
579
+ )
580
+
581
+ return to_object
582
+
583
+
584
+ def _TuningDataset_to_vertex(
585
+ from_object: Union[dict[str, Any], object],
586
+ parent_object: Optional[dict[str, Any]] = None,
587
+ root_object: Optional[Union[dict[str, Any], object]] = None,
588
+ ) -> dict[str, Any]:
589
+ to_object: dict[str, Any] = {}
590
+
591
+ discriminator = getv(root_object, ['config', 'method'])
592
+ if discriminator is None:
593
+ discriminator = 'SUPERVISED_FINE_TUNING'
594
+ if discriminator == 'SUPERVISED_FINE_TUNING':
595
+ if getv(from_object, ['gcs_uri']) is not None:
596
+ setv(
597
+ parent_object,
598
+ ['supervisedTuningSpec', 'trainingDatasetUri'],
599
+ getv(from_object, ['gcs_uri']),
600
+ )
601
+
602
+ elif discriminator == 'PREFERENCE_TUNING':
603
+ if getv(from_object, ['gcs_uri']) is not None:
604
+ setv(
605
+ parent_object,
606
+ ['preferenceOptimizationSpec', 'trainingDatasetUri'],
607
+ getv(from_object, ['gcs_uri']),
608
+ )
609
+
610
+ discriminator = getv(root_object, ['config', 'method'])
611
+ if discriminator is None:
612
+ discriminator = 'SUPERVISED_FINE_TUNING'
613
+ if discriminator == 'SUPERVISED_FINE_TUNING':
614
+ if getv(from_object, ['vertex_dataset_resource']) is not None:
615
+ setv(
616
+ parent_object,
617
+ ['supervisedTuningSpec', 'trainingDatasetUri'],
618
+ getv(from_object, ['vertex_dataset_resource']),
619
+ )
620
+
621
+ elif discriminator == 'PREFERENCE_TUNING':
622
+ if getv(from_object, ['vertex_dataset_resource']) is not None:
623
+ setv(
624
+ parent_object,
625
+ ['preferenceOptimizationSpec', 'trainingDatasetUri'],
626
+ getv(from_object, ['vertex_dataset_resource']),
627
+ )
628
+
629
+ if getv(from_object, ['examples']) is not None:
630
+ raise ValueError('examples parameter is not supported in Vertex AI.')
631
+
632
+ return to_object
633
+
634
+
635
+ def _TuningJob_from_mldev(
636
+ from_object: Union[dict[str, Any], object],
637
+ parent_object: Optional[dict[str, Any]] = None,
638
+ root_object: Optional[Union[dict[str, Any], object]] = None,
639
+ ) -> dict[str, Any]:
640
+ to_object: dict[str, Any] = {}
641
+ if getv(from_object, ['sdkHttpResponse']) is not None:
642
+ setv(
643
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
644
+ )
645
+
646
+ if getv(from_object, ['name']) is not None:
647
+ setv(to_object, ['name'], getv(from_object, ['name']))
648
+
649
+ if getv(from_object, ['state']) is not None:
650
+ setv(
651
+ to_object,
652
+ ['state'],
653
+ t.t_tuning_job_status(getv(from_object, ['state'])),
654
+ )
655
+
656
+ if getv(from_object, ['createTime']) is not None:
657
+ setv(to_object, ['create_time'], getv(from_object, ['createTime']))
658
+
659
+ if getv(from_object, ['tuningTask', 'startTime']) is not None:
660
+ setv(
661
+ to_object,
662
+ ['start_time'],
663
+ getv(from_object, ['tuningTask', 'startTime']),
664
+ )
665
+
666
+ if getv(from_object, ['tuningTask', 'completeTime']) is not None:
667
+ setv(
668
+ to_object,
669
+ ['end_time'],
670
+ getv(from_object, ['tuningTask', 'completeTime']),
671
+ )
672
+
673
+ if getv(from_object, ['updateTime']) is not None:
674
+ setv(to_object, ['update_time'], getv(from_object, ['updateTime']))
675
+
676
+ if getv(from_object, ['description']) is not None:
677
+ setv(to_object, ['description'], getv(from_object, ['description']))
678
+
679
+ if getv(from_object, ['baseModel']) is not None:
680
+ setv(to_object, ['base_model'], getv(from_object, ['baseModel']))
681
+
682
+ if getv(from_object, ['_self']) is not None:
683
+ setv(
684
+ to_object,
685
+ ['tuned_model'],
686
+ _TunedModel_from_mldev(
687
+ getv(from_object, ['_self']), to_object, root_object
688
+ ),
689
+ )
690
+
691
+ return to_object
692
+
693
+
694
+ def _TuningJob_from_vertex(
695
+ from_object: Union[dict[str, Any], object],
696
+ parent_object: Optional[dict[str, Any]] = None,
697
+ root_object: Optional[Union[dict[str, Any], object]] = None,
698
+ ) -> dict[str, Any]:
699
+ to_object: dict[str, Any] = {}
700
+ if getv(from_object, ['sdkHttpResponse']) is not None:
701
+ setv(
702
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
703
+ )
704
+
705
+ if getv(from_object, ['name']) is not None:
706
+ setv(to_object, ['name'], getv(from_object, ['name']))
707
+
708
+ if getv(from_object, ['state']) is not None:
709
+ setv(
710
+ to_object,
711
+ ['state'],
712
+ t.t_tuning_job_status(getv(from_object, ['state'])),
713
+ )
714
+
715
+ if getv(from_object, ['createTime']) is not None:
716
+ setv(to_object, ['create_time'], getv(from_object, ['createTime']))
717
+
718
+ if getv(from_object, ['startTime']) is not None:
719
+ setv(to_object, ['start_time'], getv(from_object, ['startTime']))
720
+
721
+ if getv(from_object, ['endTime']) is not None:
722
+ setv(to_object, ['end_time'], getv(from_object, ['endTime']))
723
+
724
+ if getv(from_object, ['updateTime']) is not None:
725
+ setv(to_object, ['update_time'], getv(from_object, ['updateTime']))
726
+
727
+ if getv(from_object, ['error']) is not None:
728
+ setv(to_object, ['error'], getv(from_object, ['error']))
729
+
730
+ if getv(from_object, ['description']) is not None:
731
+ setv(to_object, ['description'], getv(from_object, ['description']))
732
+
733
+ if getv(from_object, ['baseModel']) is not None:
734
+ setv(to_object, ['base_model'], getv(from_object, ['baseModel']))
735
+
736
+ if getv(from_object, ['tunedModel']) is not None:
737
+ setv(to_object, ['tuned_model'], getv(from_object, ['tunedModel']))
738
+
739
+ if getv(from_object, ['preTunedModel']) is not None:
740
+ setv(to_object, ['pre_tuned_model'], getv(from_object, ['preTunedModel']))
741
+
742
+ if getv(from_object, ['supervisedTuningSpec']) is not None:
743
+ setv(
744
+ to_object,
745
+ ['supervised_tuning_spec'],
746
+ getv(from_object, ['supervisedTuningSpec']),
747
+ )
748
+
749
+ if getv(from_object, ['preferenceOptimizationSpec']) is not None:
750
+ setv(
751
+ to_object,
752
+ ['preference_optimization_spec'],
753
+ getv(from_object, ['preferenceOptimizationSpec']),
754
+ )
755
+
756
+ if getv(from_object, ['tuningDataStats']) is not None:
757
+ setv(
758
+ to_object, ['tuning_data_stats'], getv(from_object, ['tuningDataStats'])
759
+ )
760
+
761
+ if getv(from_object, ['encryptionSpec']) is not None:
762
+ setv(to_object, ['encryption_spec'], getv(from_object, ['encryptionSpec']))
763
+
764
+ if getv(from_object, ['partnerModelTuningSpec']) is not None:
765
+ setv(
766
+ to_object,
767
+ ['partner_model_tuning_spec'],
768
+ getv(from_object, ['partnerModelTuningSpec']),
769
+ )
770
+
771
+ if getv(from_object, ['evaluationConfig']) is not None:
772
+ setv(
773
+ to_object,
774
+ ['evaluation_config'],
775
+ _EvaluationConfig_from_vertex(
776
+ getv(from_object, ['evaluationConfig']), to_object, root_object
777
+ ),
778
+ )
779
+
780
+ if getv(from_object, ['customBaseModel']) is not None:
781
+ setv(
782
+ to_object, ['custom_base_model'], getv(from_object, ['customBaseModel'])
783
+ )
784
+
785
+ if getv(from_object, ['experiment']) is not None:
786
+ setv(to_object, ['experiment'], getv(from_object, ['experiment']))
787
+
788
+ if getv(from_object, ['labels']) is not None:
789
+ setv(to_object, ['labels'], getv(from_object, ['labels']))
790
+
791
+ if getv(from_object, ['outputUri']) is not None:
792
+ setv(to_object, ['output_uri'], getv(from_object, ['outputUri']))
793
+
794
+ if getv(from_object, ['pipelineJob']) is not None:
795
+ setv(to_object, ['pipeline_job'], getv(from_object, ['pipelineJob']))
796
+
797
+ if getv(from_object, ['serviceAccount']) is not None:
798
+ setv(to_object, ['service_account'], getv(from_object, ['serviceAccount']))
799
+
800
+ if getv(from_object, ['tunedModelDisplayName']) is not None:
801
+ setv(
802
+ to_object,
803
+ ['tuned_model_display_name'],
804
+ getv(from_object, ['tunedModelDisplayName']),
805
+ )
806
+
807
+ if getv(from_object, ['veoTuningSpec']) is not None:
808
+ setv(to_object, ['veo_tuning_spec'], getv(from_object, ['veoTuningSpec']))
809
+
810
+ return to_object
811
+
812
+
813
+ def _TuningOperation_from_mldev(
814
+ from_object: Union[dict[str, Any], object],
815
+ parent_object: Optional[dict[str, Any]] = None,
816
+ root_object: Optional[Union[dict[str, Any], object]] = None,
817
+ ) -> dict[str, Any]:
818
+ to_object: dict[str, Any] = {}
819
+ if getv(from_object, ['sdkHttpResponse']) is not None:
820
+ setv(
821
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
822
+ )
823
+
824
+ if getv(from_object, ['name']) is not None:
825
+ setv(to_object, ['name'], getv(from_object, ['name']))
826
+
827
+ if getv(from_object, ['metadata']) is not None:
828
+ setv(to_object, ['metadata'], getv(from_object, ['metadata']))
829
+
830
+ if getv(from_object, ['done']) is not None:
831
+ setv(to_object, ['done'], getv(from_object, ['done']))
832
+
833
+ if getv(from_object, ['error']) is not None:
834
+ setv(to_object, ['error'], getv(from_object, ['error']))
835
+
836
+ return to_object
837
+
838
+
839
+ def _TuningValidationDataset_to_vertex(
840
+ from_object: Union[dict[str, Any], object],
841
+ parent_object: Optional[dict[str, Any]] = None,
842
+ root_object: Optional[Union[dict[str, Any], object]] = None,
843
+ ) -> dict[str, Any]:
844
+ to_object: dict[str, Any] = {}
845
+ if getv(from_object, ['gcs_uri']) is not None:
846
+ setv(to_object, ['validationDatasetUri'], getv(from_object, ['gcs_uri']))
847
+
848
+ if getv(from_object, ['vertex_dataset_resource']) is not None:
849
+ setv(
850
+ to_object,
851
+ ['validationDatasetUri'],
852
+ getv(from_object, ['vertex_dataset_resource']),
853
+ )
854
+
855
+ return to_object
856
+
857
+
858
+ class Tunings(_api_module.BaseModule):
859
+
860
+ def _get(
861
+ self,
862
+ *,
863
+ name: str,
864
+ config: Optional[types.GetTuningJobConfigOrDict] = None,
865
+ ) -> types.TuningJob:
866
+ """Gets a TuningJob.
867
+
868
+ Args:
869
+ name: The resource name of the tuning job.
870
+
871
+ Returns:
872
+ A TuningJob object.
873
+ """
874
+
875
+ parameter_model = types._GetTuningJobParameters(
876
+ name=name,
877
+ config=config,
878
+ )
879
+
880
+ request_url_dict: Optional[dict[str, str]]
881
+
882
+ if self._api_client.vertexai:
883
+ request_dict = _GetTuningJobParameters_to_vertex(
884
+ parameter_model, None, parameter_model
885
+ )
886
+ request_url_dict = request_dict.get('_url')
887
+ if request_url_dict:
888
+ path = '{name}'.format_map(request_url_dict)
889
+ else:
890
+ path = '{name}'
891
+ else:
892
+ request_dict = _GetTuningJobParameters_to_mldev(
893
+ parameter_model, None, parameter_model
894
+ )
895
+ request_url_dict = request_dict.get('_url')
896
+ if request_url_dict:
897
+ path = '{name}'.format_map(request_url_dict)
898
+ else:
899
+ path = '{name}'
900
+ query_params = request_dict.get('_query')
901
+ if query_params:
902
+ path = f'{path}?{urlencode(query_params)}'
903
+ # TODO: remove the hack that pops config.
904
+ request_dict.pop('config', None)
905
+
906
+ http_options: Optional[types.HttpOptions] = None
907
+ if (
908
+ parameter_model.config is not None
909
+ and parameter_model.config.http_options is not None
910
+ ):
911
+ http_options = parameter_model.config.http_options
912
+
913
+ request_dict = _common.convert_to_dict(request_dict)
914
+ request_dict = _common.encode_unserializable_types(request_dict)
915
+
916
+ response = self._api_client.request('get', path, request_dict, http_options)
917
+
918
+ response_dict = {} if not response.body else json.loads(response.body)
919
+
920
+ if self._api_client.vertexai:
921
+ response_dict = _TuningJob_from_vertex(response_dict)
922
+
923
+ if not self._api_client.vertexai:
924
+ response_dict = _TuningJob_from_mldev(response_dict)
925
+
926
+ return_value = types.TuningJob._from_response(
927
+ response=response_dict, kwargs=parameter_model.model_dump()
928
+ )
929
+ return_value.sdk_http_response = types.HttpResponse(
930
+ headers=response.headers
931
+ )
932
+ self._api_client._verify_response(return_value)
933
+ return return_value
934
+
935
+ def _list(
936
+ self, *, config: Optional[types.ListTuningJobsConfigOrDict] = None
937
+ ) -> types.ListTuningJobsResponse:
938
+ """Lists `TuningJob` objects.
939
+
940
+ Args:
941
+ config: The configuration for the list request.
942
+
943
+ Returns:
944
+ A list of `TuningJob` objects.
945
+ """
946
+
947
+ parameter_model = types._ListTuningJobsParameters(
948
+ config=config,
949
+ )
950
+
951
+ request_url_dict: Optional[dict[str, str]]
952
+
953
+ if self._api_client.vertexai:
954
+ request_dict = _ListTuningJobsParameters_to_vertex(
955
+ parameter_model, None, parameter_model
956
+ )
957
+ request_url_dict = request_dict.get('_url')
958
+ if request_url_dict:
959
+ path = 'tuningJobs'.format_map(request_url_dict)
960
+ else:
961
+ path = 'tuningJobs'
962
+ else:
963
+ request_dict = _ListTuningJobsParameters_to_mldev(
964
+ parameter_model, None, parameter_model
965
+ )
966
+ request_url_dict = request_dict.get('_url')
967
+ if request_url_dict:
968
+ path = 'tunedModels'.format_map(request_url_dict)
969
+ else:
970
+ path = 'tunedModels'
971
+ query_params = request_dict.get('_query')
972
+ if query_params:
973
+ path = f'{path}?{urlencode(query_params)}'
974
+ # TODO: remove the hack that pops config.
975
+ request_dict.pop('config', None)
976
+
977
+ http_options: Optional[types.HttpOptions] = None
978
+ if (
979
+ parameter_model.config is not None
980
+ and parameter_model.config.http_options is not None
981
+ ):
982
+ http_options = parameter_model.config.http_options
983
+
984
+ request_dict = _common.convert_to_dict(request_dict)
985
+ request_dict = _common.encode_unserializable_types(request_dict)
986
+
987
+ response = self._api_client.request('get', path, request_dict, http_options)
988
+
989
+ response_dict = {} if not response.body else json.loads(response.body)
990
+
991
+ if self._api_client.vertexai:
992
+ response_dict = _ListTuningJobsResponse_from_vertex(response_dict)
993
+
994
+ if not self._api_client.vertexai:
995
+ response_dict = _ListTuningJobsResponse_from_mldev(response_dict)
996
+
997
+ return_value = types.ListTuningJobsResponse._from_response(
998
+ response=response_dict, kwargs=parameter_model.model_dump()
999
+ )
1000
+ return_value.sdk_http_response = types.HttpResponse(
1001
+ headers=response.headers
1002
+ )
1003
+ self._api_client._verify_response(return_value)
1004
+ return return_value
1005
+
1006
+ def cancel(
1007
+ self,
1008
+ *,
1009
+ name: str,
1010
+ config: Optional[types.CancelTuningJobConfigOrDict] = None,
1011
+ ) -> None:
1012
+ """Cancels a tuning job.
1013
+
1014
+ Args:
1015
+ name (str): TuningJob resource name.
1016
+ """
1017
+
1018
+ parameter_model = types._CancelTuningJobParameters(
1019
+ name=name,
1020
+ config=config,
1021
+ )
1022
+
1023
+ request_url_dict: Optional[dict[str, str]]
1024
+
1025
+ if self._api_client.vertexai:
1026
+ request_dict = _CancelTuningJobParameters_to_vertex(
1027
+ parameter_model, None, parameter_model
1028
+ )
1029
+ request_url_dict = request_dict.get('_url')
1030
+ if request_url_dict:
1031
+ path = '{name}:cancel'.format_map(request_url_dict)
1032
+ else:
1033
+ path = '{name}:cancel'
1034
+ else:
1035
+ request_dict = _CancelTuningJobParameters_to_mldev(
1036
+ parameter_model, None, parameter_model
1037
+ )
1038
+ request_url_dict = request_dict.get('_url')
1039
+ if request_url_dict:
1040
+ path = '{name}:cancel'.format_map(request_url_dict)
1041
+ else:
1042
+ path = '{name}:cancel'
1043
+ query_params = request_dict.get('_query')
1044
+ if query_params:
1045
+ path = f'{path}?{urlencode(query_params)}'
1046
+ # TODO: remove the hack that pops config.
1047
+ request_dict.pop('config', None)
1048
+
1049
+ http_options: Optional[types.HttpOptions] = None
1050
+ if (
1051
+ parameter_model.config is not None
1052
+ and parameter_model.config.http_options is not None
1053
+ ):
1054
+ http_options = parameter_model.config.http_options
1055
+
1056
+ request_dict = _common.convert_to_dict(request_dict)
1057
+ request_dict = _common.encode_unserializable_types(request_dict)
1058
+
1059
+ response = self._api_client.request(
1060
+ 'post', path, request_dict, http_options
1061
+ )
1062
+
1063
+ def _tune(
1064
+ self,
1065
+ *,
1066
+ base_model: Optional[str] = None,
1067
+ pre_tuned_model: Optional[types.PreTunedModelOrDict] = None,
1068
+ training_dataset: types.TuningDatasetOrDict,
1069
+ config: Optional[types.CreateTuningJobConfigOrDict] = None,
1070
+ ) -> types.TuningJob:
1071
+ """Creates a tuning job and returns the TuningJob object.
1072
+
1073
+ Args:
1074
+ base_model: The name of the model to tune.
1075
+ training_dataset: The training dataset to use.
1076
+ config: The configuration to use for the tuning job.
1077
+
1078
+ Returns:
1079
+ A TuningJob object.
1080
+ """
1081
+
1082
+ parameter_model = types._CreateTuningJobParametersPrivate(
1083
+ base_model=base_model,
1084
+ pre_tuned_model=pre_tuned_model,
1085
+ training_dataset=training_dataset,
1086
+ config=config,
1087
+ )
1088
+
1089
+ request_url_dict: Optional[dict[str, str]]
1090
+ if not self._api_client.vertexai:
1091
+ raise ValueError('This method is only supported in the Vertex AI client.')
1092
+ else:
1093
+ request_dict = _CreateTuningJobParametersPrivate_to_vertex(
1094
+ parameter_model, None, parameter_model
1095
+ )
1096
+ request_url_dict = request_dict.get('_url')
1097
+ if request_url_dict:
1098
+ path = 'tuningJobs'.format_map(request_url_dict)
1099
+ else:
1100
+ path = 'tuningJobs'
1101
+
1102
+ query_params = request_dict.get('_query')
1103
+ if query_params:
1104
+ path = f'{path}?{urlencode(query_params)}'
1105
+ # TODO: remove the hack that pops config.
1106
+ request_dict.pop('config', None)
1107
+
1108
+ http_options: Optional[types.HttpOptions] = None
1109
+ if (
1110
+ parameter_model.config is not None
1111
+ and parameter_model.config.http_options is not None
1112
+ ):
1113
+ http_options = parameter_model.config.http_options
1114
+
1115
+ request_dict = _common.convert_to_dict(request_dict)
1116
+ request_dict = _common.encode_unserializable_types(request_dict)
1117
+
1118
+ response = self._api_client.request(
1119
+ 'post', path, request_dict, http_options
1120
+ )
1121
+
1122
+ response_dict = {} if not response.body else json.loads(response.body)
1123
+
1124
+ if self._api_client.vertexai:
1125
+ response_dict = _TuningJob_from_vertex(response_dict)
1126
+
1127
+ return_value = types.TuningJob._from_response(
1128
+ response=response_dict, kwargs=parameter_model.model_dump()
1129
+ )
1130
+ return_value.sdk_http_response = types.HttpResponse(
1131
+ headers=response.headers
1132
+ )
1133
+ self._api_client._verify_response(return_value)
1134
+ return return_value
1135
+
1136
+ def _tune_mldev(
1137
+ self,
1138
+ *,
1139
+ base_model: Optional[str] = None,
1140
+ pre_tuned_model: Optional[types.PreTunedModelOrDict] = None,
1141
+ training_dataset: types.TuningDatasetOrDict,
1142
+ config: Optional[types.CreateTuningJobConfigOrDict] = None,
1143
+ ) -> types.TuningOperation:
1144
+ """Creates a tuning job and returns the TuningJob object.
1145
+
1146
+ Args:
1147
+ base_model: The name of the model to tune.
1148
+ training_dataset: The training dataset to use.
1149
+ config: The configuration to use for the tuning job.
1150
+
1151
+ Returns:
1152
+ A TuningJob operation.
1153
+ """
1154
+
1155
+ parameter_model = types._CreateTuningJobParametersPrivate(
1156
+ base_model=base_model,
1157
+ pre_tuned_model=pre_tuned_model,
1158
+ training_dataset=training_dataset,
1159
+ config=config,
1160
+ )
1161
+
1162
+ request_url_dict: Optional[dict[str, str]]
1163
+ if self._api_client.vertexai:
1164
+ raise ValueError(
1165
+ 'This method is only supported in the Gemini Developer client.'
1166
+ )
1167
+ else:
1168
+ request_dict = _CreateTuningJobParametersPrivate_to_mldev(
1169
+ parameter_model, None, parameter_model
1170
+ )
1171
+ request_url_dict = request_dict.get('_url')
1172
+ if request_url_dict:
1173
+ path = 'tunedModels'.format_map(request_url_dict)
1174
+ else:
1175
+ path = 'tunedModels'
1176
+
1177
+ query_params = request_dict.get('_query')
1178
+ if query_params:
1179
+ path = f'{path}?{urlencode(query_params)}'
1180
+ # TODO: remove the hack that pops config.
1181
+ request_dict.pop('config', None)
1182
+
1183
+ http_options: Optional[types.HttpOptions] = None
1184
+ if (
1185
+ parameter_model.config is not None
1186
+ and parameter_model.config.http_options is not None
1187
+ ):
1188
+ http_options = parameter_model.config.http_options
1189
+
1190
+ request_dict = _common.convert_to_dict(request_dict)
1191
+ request_dict = _common.encode_unserializable_types(request_dict)
1192
+
1193
+ response = self._api_client.request(
1194
+ 'post', path, request_dict, http_options
1195
+ )
1196
+
1197
+ response_dict = {} if not response.body else json.loads(response.body)
1198
+
1199
+ if not self._api_client.vertexai:
1200
+ response_dict = _TuningOperation_from_mldev(response_dict)
1201
+
1202
+ return_value = types.TuningOperation._from_response(
1203
+ response=response_dict, kwargs=parameter_model.model_dump()
1204
+ )
1205
+ return_value.sdk_http_response = types.HttpResponse(
1206
+ headers=response.headers
1207
+ )
1208
+ self._api_client._verify_response(return_value)
1209
+ return return_value
1210
+
1211
+ def list(
1212
+ self, *, config: Optional[types.ListTuningJobsConfigOrDict] = None
1213
+ ) -> Pager[types.TuningJob]:
1214
+ return Pager(
1215
+ 'tuning_jobs',
1216
+ self._list,
1217
+ self._list(config=config),
1218
+ config,
1219
+ )
1220
+
1221
+ def get(
1222
+ self,
1223
+ *,
1224
+ name: str,
1225
+ config: Optional[types.GetTuningJobConfigOrDict] = None,
1226
+ ) -> types.TuningJob:
1227
+ job = self._get(name=name, config=config)
1228
+ if (
1229
+ job.experiment
1230
+ and self._api_client.vertexai
1231
+ and self._api_client.project is not None
1232
+ ):
1233
+ _IpythonUtils.display_experiment_button(
1234
+ experiment=job.experiment,
1235
+ project=self._api_client.project,
1236
+ )
1237
+ return job
1238
+
1239
+ @_common.experimental_warning(
1240
+ "The SDK's tuning implementation is experimental, "
1241
+ 'and may change in future versions.',
1242
+ )
1243
+ def tune(
1244
+ self,
1245
+ *,
1246
+ base_model: str,
1247
+ training_dataset: types.TuningDatasetOrDict,
1248
+ config: Optional[types.CreateTuningJobConfigOrDict] = None,
1249
+ ) -> types.TuningJob:
1250
+ if self._api_client.vertexai:
1251
+ if base_model.startswith('projects/'): # Pre-tuned model
1252
+ checkpoint_id = None
1253
+ if config:
1254
+ checkpoint_id = getattr(config, 'pre_tuned_model_checkpoint_id', None)
1255
+ pre_tuned_model = types.PreTunedModel(
1256
+ tuned_model_name=base_model, checkpoint_id=checkpoint_id
1257
+ )
1258
+ tuning_job = self._tune(
1259
+ pre_tuned_model=pre_tuned_model,
1260
+ training_dataset=training_dataset,
1261
+ config=config,
1262
+ )
1263
+ else:
1264
+ validated_evaluation_config: Optional[types.EvaluationConfig] = None
1265
+ if (
1266
+ config is not None
1267
+ and getattr(config, 'evaluation_config', None) is not None
1268
+ ):
1269
+ evaluation_config = getattr(config, 'evaluation_config')
1270
+ if isinstance(evaluation_config, dict):
1271
+ evaluation_config = types.EvaluationConfig(**evaluation_config)
1272
+ if (
1273
+ not evaluation_config.metrics
1274
+ or not evaluation_config.output_config
1275
+ ):
1276
+ raise ValueError(
1277
+ 'Evaluation config must have at least one metric and an output'
1278
+ ' config.'
1279
+ )
1280
+ for i in range(len(evaluation_config.metrics)):
1281
+ if isinstance(evaluation_config.metrics[i], dict):
1282
+ evaluation_config.metrics[i] = types.Metric.model_validate(
1283
+ evaluation_config.metrics[i]
1284
+ )
1285
+ if isinstance(config, dict):
1286
+ config['evaluation_config'] = evaluation_config
1287
+ else:
1288
+ config.evaluation_config = evaluation_config
1289
+ validated_evaluation_config = evaluation_config
1290
+ tuning_job = self._tune(
1291
+ base_model=base_model,
1292
+ training_dataset=training_dataset,
1293
+ config=config,
1294
+ )
1295
+ if (
1296
+ config is not None
1297
+ and getattr(config, 'evaluation_config', None) is not None
1298
+ ):
1299
+ tuning_job.evaluation_config = validated_evaluation_config
1300
+ else:
1301
+ operation = self._tune_mldev(
1302
+ base_model=base_model,
1303
+ training_dataset=training_dataset,
1304
+ config=config,
1305
+ )
1306
+ if operation.metadata is not None and 'tunedModel' in operation.metadata:
1307
+ tuned_model_name = operation.metadata['tunedModel']
1308
+ else:
1309
+ if operation.name is None:
1310
+ raise ValueError('Operation name is required.')
1311
+ tuned_model_name = operation.name.partition('/operations/')[0]
1312
+ tuning_job = types.TuningJob(
1313
+ name=tuned_model_name,
1314
+ state=types.JobState.JOB_STATE_QUEUED,
1315
+ )
1316
+ if tuning_job.name and self._api_client.vertexai:
1317
+ _IpythonUtils.display_model_tuning_button(
1318
+ tuning_job_resource=tuning_job.name
1319
+ )
1320
+ return tuning_job
1321
+
1322
+
1323
+ class AsyncTunings(_api_module.BaseModule):
1324
+
1325
+ async def _get(
1326
+ self,
1327
+ *,
1328
+ name: str,
1329
+ config: Optional[types.GetTuningJobConfigOrDict] = None,
1330
+ ) -> types.TuningJob:
1331
+ """Gets a TuningJob.
1332
+
1333
+ Args:
1334
+ name: The resource name of the tuning job.
1335
+
1336
+ Returns:
1337
+ A TuningJob object.
1338
+ """
1339
+
1340
+ parameter_model = types._GetTuningJobParameters(
1341
+ name=name,
1342
+ config=config,
1343
+ )
1344
+
1345
+ request_url_dict: Optional[dict[str, str]]
1346
+
1347
+ if self._api_client.vertexai:
1348
+ request_dict = _GetTuningJobParameters_to_vertex(
1349
+ parameter_model, None, parameter_model
1350
+ )
1351
+ request_url_dict = request_dict.get('_url')
1352
+ if request_url_dict:
1353
+ path = '{name}'.format_map(request_url_dict)
1354
+ else:
1355
+ path = '{name}'
1356
+ else:
1357
+ request_dict = _GetTuningJobParameters_to_mldev(
1358
+ parameter_model, None, parameter_model
1359
+ )
1360
+ request_url_dict = request_dict.get('_url')
1361
+ if request_url_dict:
1362
+ path = '{name}'.format_map(request_url_dict)
1363
+ else:
1364
+ path = '{name}'
1365
+ query_params = request_dict.get('_query')
1366
+ if query_params:
1367
+ path = f'{path}?{urlencode(query_params)}'
1368
+ # TODO: remove the hack that pops config.
1369
+ request_dict.pop('config', None)
1370
+
1371
+ http_options: Optional[types.HttpOptions] = None
1372
+ if (
1373
+ parameter_model.config is not None
1374
+ and parameter_model.config.http_options is not None
1375
+ ):
1376
+ http_options = parameter_model.config.http_options
1377
+
1378
+ request_dict = _common.convert_to_dict(request_dict)
1379
+ request_dict = _common.encode_unserializable_types(request_dict)
1380
+
1381
+ response = await self._api_client.async_request(
1382
+ 'get', path, request_dict, http_options
1383
+ )
1384
+
1385
+ response_dict = {} if not response.body else json.loads(response.body)
1386
+
1387
+ if self._api_client.vertexai:
1388
+ response_dict = _TuningJob_from_vertex(response_dict)
1389
+
1390
+ if not self._api_client.vertexai:
1391
+ response_dict = _TuningJob_from_mldev(response_dict)
1392
+
1393
+ return_value = types.TuningJob._from_response(
1394
+ response=response_dict, kwargs=parameter_model.model_dump()
1395
+ )
1396
+ return_value.sdk_http_response = types.HttpResponse(
1397
+ headers=response.headers
1398
+ )
1399
+ self._api_client._verify_response(return_value)
1400
+ return return_value
1401
+
1402
+ async def _list(
1403
+ self, *, config: Optional[types.ListTuningJobsConfigOrDict] = None
1404
+ ) -> types.ListTuningJobsResponse:
1405
+ """Lists `TuningJob` objects.
1406
+
1407
+ Args:
1408
+ config: The configuration for the list request.
1409
+
1410
+ Returns:
1411
+ A list of `TuningJob` objects.
1412
+ """
1413
+
1414
+ parameter_model = types._ListTuningJobsParameters(
1415
+ config=config,
1416
+ )
1417
+
1418
+ request_url_dict: Optional[dict[str, str]]
1419
+
1420
+ if self._api_client.vertexai:
1421
+ request_dict = _ListTuningJobsParameters_to_vertex(
1422
+ parameter_model, None, parameter_model
1423
+ )
1424
+ request_url_dict = request_dict.get('_url')
1425
+ if request_url_dict:
1426
+ path = 'tuningJobs'.format_map(request_url_dict)
1427
+ else:
1428
+ path = 'tuningJobs'
1429
+ else:
1430
+ request_dict = _ListTuningJobsParameters_to_mldev(
1431
+ parameter_model, None, parameter_model
1432
+ )
1433
+ request_url_dict = request_dict.get('_url')
1434
+ if request_url_dict:
1435
+ path = 'tunedModels'.format_map(request_url_dict)
1436
+ else:
1437
+ path = 'tunedModels'
1438
+ query_params = request_dict.get('_query')
1439
+ if query_params:
1440
+ path = f'{path}?{urlencode(query_params)}'
1441
+ # TODO: remove the hack that pops config.
1442
+ request_dict.pop('config', None)
1443
+
1444
+ http_options: Optional[types.HttpOptions] = None
1445
+ if (
1446
+ parameter_model.config is not None
1447
+ and parameter_model.config.http_options is not None
1448
+ ):
1449
+ http_options = parameter_model.config.http_options
1450
+
1451
+ request_dict = _common.convert_to_dict(request_dict)
1452
+ request_dict = _common.encode_unserializable_types(request_dict)
1453
+
1454
+ response = await self._api_client.async_request(
1455
+ 'get', path, request_dict, http_options
1456
+ )
1457
+
1458
+ response_dict = {} if not response.body else json.loads(response.body)
1459
+
1460
+ if self._api_client.vertexai:
1461
+ response_dict = _ListTuningJobsResponse_from_vertex(response_dict)
1462
+
1463
+ if not self._api_client.vertexai:
1464
+ response_dict = _ListTuningJobsResponse_from_mldev(response_dict)
1465
+
1466
+ return_value = types.ListTuningJobsResponse._from_response(
1467
+ response=response_dict, kwargs=parameter_model.model_dump()
1468
+ )
1469
+ return_value.sdk_http_response = types.HttpResponse(
1470
+ headers=response.headers
1471
+ )
1472
+ self._api_client._verify_response(return_value)
1473
+ return return_value
1474
+
1475
+ async def cancel(
1476
+ self,
1477
+ *,
1478
+ name: str,
1479
+ config: Optional[types.CancelTuningJobConfigOrDict] = None,
1480
+ ) -> None:
1481
+ """Cancels a tuning job asynchronously.
1482
+
1483
+ Args:
1484
+ name (str): A TuningJob resource name.
1485
+ """
1486
+
1487
+ parameter_model = types._CancelTuningJobParameters(
1488
+ name=name,
1489
+ config=config,
1490
+ )
1491
+
1492
+ request_url_dict: Optional[dict[str, str]]
1493
+
1494
+ if self._api_client.vertexai:
1495
+ request_dict = _CancelTuningJobParameters_to_vertex(
1496
+ parameter_model, None, parameter_model
1497
+ )
1498
+ request_url_dict = request_dict.get('_url')
1499
+ if request_url_dict:
1500
+ path = '{name}:cancel'.format_map(request_url_dict)
1501
+ else:
1502
+ path = '{name}:cancel'
1503
+ else:
1504
+ request_dict = _CancelTuningJobParameters_to_mldev(
1505
+ parameter_model, None, parameter_model
1506
+ )
1507
+ request_url_dict = request_dict.get('_url')
1508
+ if request_url_dict:
1509
+ path = '{name}:cancel'.format_map(request_url_dict)
1510
+ else:
1511
+ path = '{name}:cancel'
1512
+ query_params = request_dict.get('_query')
1513
+ if query_params:
1514
+ path = f'{path}?{urlencode(query_params)}'
1515
+ # TODO: remove the hack that pops config.
1516
+ request_dict.pop('config', None)
1517
+
1518
+ http_options: Optional[types.HttpOptions] = None
1519
+ if (
1520
+ parameter_model.config is not None
1521
+ and parameter_model.config.http_options is not None
1522
+ ):
1523
+ http_options = parameter_model.config.http_options
1524
+
1525
+ request_dict = _common.convert_to_dict(request_dict)
1526
+ request_dict = _common.encode_unserializable_types(request_dict)
1527
+
1528
+ response = await self._api_client.async_request(
1529
+ 'post', path, request_dict, http_options
1530
+ )
1531
+
1532
+ async def _tune(
1533
+ self,
1534
+ *,
1535
+ base_model: Optional[str] = None,
1536
+ pre_tuned_model: Optional[types.PreTunedModelOrDict] = None,
1537
+ training_dataset: types.TuningDatasetOrDict,
1538
+ config: Optional[types.CreateTuningJobConfigOrDict] = None,
1539
+ ) -> types.TuningJob:
1540
+ """Creates a tuning job and returns the TuningJob object.
1541
+
1542
+ Args:
1543
+ base_model: The name of the model to tune.
1544
+ training_dataset: The training dataset to use.
1545
+ config: The configuration to use for the tuning job.
1546
+
1547
+ Returns:
1548
+ A TuningJob object.
1549
+ """
1550
+
1551
+ parameter_model = types._CreateTuningJobParametersPrivate(
1552
+ base_model=base_model,
1553
+ pre_tuned_model=pre_tuned_model,
1554
+ training_dataset=training_dataset,
1555
+ config=config,
1556
+ )
1557
+
1558
+ request_url_dict: Optional[dict[str, str]]
1559
+ if not self._api_client.vertexai:
1560
+ raise ValueError('This method is only supported in the Vertex AI client.')
1561
+ else:
1562
+ request_dict = _CreateTuningJobParametersPrivate_to_vertex(
1563
+ parameter_model, None, parameter_model
1564
+ )
1565
+ request_url_dict = request_dict.get('_url')
1566
+ if request_url_dict:
1567
+ path = 'tuningJobs'.format_map(request_url_dict)
1568
+ else:
1569
+ path = 'tuningJobs'
1570
+
1571
+ query_params = request_dict.get('_query')
1572
+ if query_params:
1573
+ path = f'{path}?{urlencode(query_params)}'
1574
+ # TODO: remove the hack that pops config.
1575
+ request_dict.pop('config', None)
1576
+
1577
+ http_options: Optional[types.HttpOptions] = None
1578
+ if (
1579
+ parameter_model.config is not None
1580
+ and parameter_model.config.http_options is not None
1581
+ ):
1582
+ http_options = parameter_model.config.http_options
1583
+
1584
+ request_dict = _common.convert_to_dict(request_dict)
1585
+ request_dict = _common.encode_unserializable_types(request_dict)
1586
+
1587
+ response = await self._api_client.async_request(
1588
+ 'post', path, request_dict, http_options
1589
+ )
1590
+
1591
+ response_dict = {} if not response.body else json.loads(response.body)
1592
+
1593
+ if self._api_client.vertexai:
1594
+ response_dict = _TuningJob_from_vertex(response_dict)
1595
+
1596
+ return_value = types.TuningJob._from_response(
1597
+ response=response_dict, kwargs=parameter_model.model_dump()
1598
+ )
1599
+ return_value.sdk_http_response = types.HttpResponse(
1600
+ headers=response.headers
1601
+ )
1602
+ self._api_client._verify_response(return_value)
1603
+ return return_value
1604
+
1605
+ async def _tune_mldev(
1606
+ self,
1607
+ *,
1608
+ base_model: Optional[str] = None,
1609
+ pre_tuned_model: Optional[types.PreTunedModelOrDict] = None,
1610
+ training_dataset: types.TuningDatasetOrDict,
1611
+ config: Optional[types.CreateTuningJobConfigOrDict] = None,
1612
+ ) -> types.TuningOperation:
1613
+ """Creates a tuning job and returns the TuningJob object.
1614
+
1615
+ Args:
1616
+ base_model: The name of the model to tune.
1617
+ training_dataset: The training dataset to use.
1618
+ config: The configuration to use for the tuning job.
1619
+
1620
+ Returns:
1621
+ A TuningJob operation.
1622
+ """
1623
+
1624
+ parameter_model = types._CreateTuningJobParametersPrivate(
1625
+ base_model=base_model,
1626
+ pre_tuned_model=pre_tuned_model,
1627
+ training_dataset=training_dataset,
1628
+ config=config,
1629
+ )
1630
+
1631
+ request_url_dict: Optional[dict[str, str]]
1632
+ if self._api_client.vertexai:
1633
+ raise ValueError(
1634
+ 'This method is only supported in the Gemini Developer client.'
1635
+ )
1636
+ else:
1637
+ request_dict = _CreateTuningJobParametersPrivate_to_mldev(
1638
+ parameter_model, None, parameter_model
1639
+ )
1640
+ request_url_dict = request_dict.get('_url')
1641
+ if request_url_dict:
1642
+ path = 'tunedModels'.format_map(request_url_dict)
1643
+ else:
1644
+ path = 'tunedModels'
1645
+
1646
+ query_params = request_dict.get('_query')
1647
+ if query_params:
1648
+ path = f'{path}?{urlencode(query_params)}'
1649
+ # TODO: remove the hack that pops config.
1650
+ request_dict.pop('config', None)
1651
+
1652
+ http_options: Optional[types.HttpOptions] = None
1653
+ if (
1654
+ parameter_model.config is not None
1655
+ and parameter_model.config.http_options is not None
1656
+ ):
1657
+ http_options = parameter_model.config.http_options
1658
+
1659
+ request_dict = _common.convert_to_dict(request_dict)
1660
+ request_dict = _common.encode_unserializable_types(request_dict)
1661
+
1662
+ response = await self._api_client.async_request(
1663
+ 'post', path, request_dict, http_options
1664
+ )
1665
+
1666
+ response_dict = {} if not response.body else json.loads(response.body)
1667
+
1668
+ if not self._api_client.vertexai:
1669
+ response_dict = _TuningOperation_from_mldev(response_dict)
1670
+
1671
+ return_value = types.TuningOperation._from_response(
1672
+ response=response_dict, kwargs=parameter_model.model_dump()
1673
+ )
1674
+ return_value.sdk_http_response = types.HttpResponse(
1675
+ headers=response.headers
1676
+ )
1677
+ self._api_client._verify_response(return_value)
1678
+ return return_value
1679
+
1680
+ async def list(
1681
+ self, *, config: Optional[types.ListTuningJobsConfigOrDict] = None
1682
+ ) -> AsyncPager[types.TuningJob]:
1683
+ return AsyncPager(
1684
+ 'tuning_jobs',
1685
+ self._list,
1686
+ await self._list(config=config),
1687
+ config,
1688
+ )
1689
+
1690
+ async def get(
1691
+ self,
1692
+ *,
1693
+ name: str,
1694
+ config: Optional[types.GetTuningJobConfigOrDict] = None,
1695
+ ) -> types.TuningJob:
1696
+ job = await self._get(name=name, config=config)
1697
+ if (
1698
+ job.experiment
1699
+ and self._api_client.vertexai
1700
+ and self._api_client.project is not None
1701
+ ):
1702
+ _IpythonUtils.display_experiment_button(
1703
+ experiment=job.experiment,
1704
+ project=self._api_client.project,
1705
+ )
1706
+ return job
1707
+
1708
+ @_common.experimental_warning(
1709
+ "The SDK's tuning implementation is experimental, "
1710
+ 'and may change in future versions.'
1711
+ )
1712
+ async def tune(
1713
+ self,
1714
+ *,
1715
+ base_model: str,
1716
+ training_dataset: types.TuningDatasetOrDict,
1717
+ config: Optional[types.CreateTuningJobConfigOrDict] = None,
1718
+ ) -> types.TuningJob:
1719
+ if self._api_client.vertexai:
1720
+ if base_model.startswith('projects/'): # Pre-tuned model
1721
+ checkpoint_id = None
1722
+ if config:
1723
+ checkpoint_id = getattr(config, 'pre_tuned_model_checkpoint_id', None)
1724
+ pre_tuned_model = types.PreTunedModel(
1725
+ tuned_model_name=base_model, checkpoint_id=checkpoint_id
1726
+ )
1727
+
1728
+ tuning_job = await self._tune(
1729
+ pre_tuned_model=pre_tuned_model,
1730
+ training_dataset=training_dataset,
1731
+ config=config,
1732
+ )
1733
+ else:
1734
+ if (
1735
+ config is not None
1736
+ and getattr(config, 'evaluation_config', None) is not None
1737
+ ):
1738
+ evaluation_config = getattr(config, 'evaluation_config')
1739
+ if isinstance(evaluation_config, dict):
1740
+ evaluation_config = types.EvaluationConfig(**evaluation_config)
1741
+ if (
1742
+ not evaluation_config.metrics
1743
+ or not evaluation_config.output_config
1744
+ ):
1745
+ raise ValueError(
1746
+ 'Evaluation config must have at least one metric and an output'
1747
+ ' config.'
1748
+ )
1749
+ for i in range(len(evaluation_config.metrics)):
1750
+ if isinstance(evaluation_config.metrics[i], dict):
1751
+ evaluation_config.metrics[i] = types.Metric.model_validate(
1752
+ evaluation_config.metrics[i]
1753
+ )
1754
+ if isinstance(config, dict):
1755
+ config['evaluation_config'] = evaluation_config
1756
+ else:
1757
+ config.evaluation_config = evaluation_config
1758
+ tuning_job = await self._tune(
1759
+ base_model=base_model,
1760
+ training_dataset=training_dataset,
1761
+ config=config,
1762
+ )
1763
+ else:
1764
+ operation = await self._tune_mldev(
1765
+ base_model=base_model,
1766
+ training_dataset=training_dataset,
1767
+ config=config,
1768
+ )
1769
+ if operation.metadata is not None and 'tunedModel' in operation.metadata:
1770
+ tuned_model_name = operation.metadata['tunedModel']
1771
+ else:
1772
+ if operation.name is None:
1773
+ raise ValueError('Operation name is required.')
1774
+ tuned_model_name = operation.name.partition('/operations/')[0]
1775
+ tuning_job = types.TuningJob(
1776
+ name=tuned_model_name,
1777
+ state=types.JobState.JOB_STATE_QUEUED,
1778
+ )
1779
+ if tuning_job.name and self._api_client.vertexai:
1780
+ _IpythonUtils.display_model_tuning_button(
1781
+ tuning_job_resource=tuning_job.name
1782
+ )
1783
+ return tuning_job
1784
+
1785
+
1786
+ class _IpythonUtils:
1787
+ """Temporary class to hold the IPython related functions."""
1788
+
1789
+ displayed_experiments: set[str] = set()
1790
+
1791
+ @staticmethod
1792
+ def _get_ipython_shell_name() -> Union[str, Any]:
1793
+ import sys
1794
+
1795
+ if 'IPython' in sys.modules:
1796
+ from IPython import get_ipython
1797
+
1798
+ return get_ipython().__class__.__name__
1799
+ return ''
1800
+
1801
+ @staticmethod
1802
+ def is_ipython_available() -> bool:
1803
+ return bool(_IpythonUtils._get_ipython_shell_name())
1804
+
1805
+ @staticmethod
1806
+ def _get_styles() -> str:
1807
+ """Returns the HTML style markup to support custom buttons."""
1808
+ return """
1809
+ <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
1810
+ <style>
1811
+ .view-vertex-resource,
1812
+ .view-vertex-resource:hover,
1813
+ .view-vertex-resource:visited {
1814
+ position: relative;
1815
+ display: inline-flex;
1816
+ flex-direction: row;
1817
+ height: 32px;
1818
+ padding: 0 12px;
1819
+ margin: 4px 18px;
1820
+ gap: 4px;
1821
+ border-radius: 4px;
1822
+
1823
+ align-items: center;
1824
+ justify-content: center;
1825
+ background-color: rgb(255, 255, 255);
1826
+ color: rgb(51, 103, 214);
1827
+
1828
+ font-family: Roboto,"Helvetica Neue",sans-serif;
1829
+ font-size: 13px;
1830
+ font-weight: 500;
1831
+ text-transform: uppercase;
1832
+ text-decoration: none !important;
1833
+
1834
+ transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1) 0s;
1835
+ box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12);
1836
+ }
1837
+ .view-vertex-resource:active {
1838
+ box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12);
1839
+ }
1840
+ .view-vertex-resource:active .view-vertex-ripple::before {
1841
+ position: absolute;
1842
+ top: 0;
1843
+ bottom: 0;
1844
+ left: 0;
1845
+ right: 0;
1846
+ border-radius: 4px;
1847
+ pointer-events: none;
1848
+
1849
+ content: '';
1850
+ background-color: rgb(51, 103, 214);
1851
+ opacity: 0.12;
1852
+ }
1853
+ .view-vertex-icon {
1854
+ font-size: 18px;
1855
+ }
1856
+ </style>
1857
+ """
1858
+
1859
+ @staticmethod
1860
+ def _parse_resource_name(marker: str, resource_parts: list[str]) -> str:
1861
+ """Returns the part after the marker text part."""
1862
+ for i in range(len(resource_parts)):
1863
+ if resource_parts[i] == marker and i + 1 < len(resource_parts):
1864
+ return resource_parts[i + 1]
1865
+ return ''
1866
+
1867
+ @staticmethod
1868
+ def _display_link(
1869
+ text: str, url: str, icon: Optional[str] = 'open_in_new'
1870
+ ) -> None:
1871
+ """Creates and displays the link to open the Vertex resource.
1872
+
1873
+ Args:
1874
+ text: The text displayed on the clickable button.
1875
+ url: The url that the button will lead to. Only cloud console URIs are
1876
+ allowed.
1877
+ icon: The icon name on the button (from material-icons library)
1878
+ """
1879
+ CLOUD_UI_URL = 'https://console.cloud.google.com' # pylint: disable=invalid-name
1880
+ if not url.startswith(CLOUD_UI_URL):
1881
+ raise ValueError(f'Only urls starting with {CLOUD_UI_URL} are allowed.')
1882
+
1883
+ import uuid
1884
+
1885
+ button_id = f'view-vertex-resource-{str(uuid.uuid4())}'
1886
+
1887
+ # Add the markup for the CSS and link component
1888
+ html = f"""
1889
+ {_IpythonUtils._get_styles()}
1890
+ <a class="view-vertex-resource" id="{button_id}" href="#view-{button_id}">
1891
+ <span class="material-icons view-vertex-icon">{icon}</span>
1892
+ <span>{text}</span>
1893
+ </a>
1894
+ """
1895
+
1896
+ # Add the click handler for the link
1897
+ html += f"""
1898
+ <script>
1899
+ (function () {{
1900
+ const link = document.getElementById('{button_id}');
1901
+ link.addEventListener('click', (e) => {{
1902
+ if (window.google?.colab?.openUrl) {{
1903
+ window.google.colab.openUrl('{url}');
1904
+ }} else {{
1905
+ window.open('{url}', '_blank');
1906
+ }}
1907
+ e.stopPropagation();
1908
+ e.preventDefault();
1909
+ }});
1910
+ }})();
1911
+ </script>
1912
+ """
1913
+
1914
+ from IPython.display import display
1915
+ from IPython.display import HTML
1916
+
1917
+ display(HTML(html))
1918
+
1919
+ @staticmethod
1920
+ def display_experiment_button(experiment: str, project: str) -> None:
1921
+ """Function to generate a link bound to the Vertex experiment.
1922
+
1923
+ Args:
1924
+ experiment: The Vertex experiment name. Example format:
1925
+ projects/{project_id}/locations/{location}/metadataStores/default/contexts/{experiment_name}
1926
+ project: The project (alphanumeric) name.
1927
+ """
1928
+ if (
1929
+ not _IpythonUtils.is_ipython_available()
1930
+ or experiment in _IpythonUtils.displayed_experiments
1931
+ ):
1932
+ return
1933
+ # Experiment gives the numeric id, but we need the alphanumeric project
1934
+ # name. So we get the project from the api client object as an argument.
1935
+ resource_parts = experiment.split('/')
1936
+ location = resource_parts[3]
1937
+ experiment_name = resource_parts[-1]
1938
+
1939
+ uri = (
1940
+ 'https://console.cloud.google.com/vertex-ai/experiments/locations/'
1941
+ + f'{location}/experiments/{experiment_name}/'
1942
+ + f'runs?project={project}'
1943
+ )
1944
+ _IpythonUtils._display_link('View Experiment', uri, 'science')
1945
+
1946
+ # Avoid repeatedly showing the button
1947
+ _IpythonUtils.displayed_experiments.add(experiment)
1948
+
1949
+ @staticmethod
1950
+ def display_model_tuning_button(tuning_job_resource: str) -> None:
1951
+ """Function to generate a link bound to the Vertex model tuning job.
1952
+
1953
+ Args:
1954
+ tuning_job_resource: The Vertex tuning job name. Example format:
1955
+ projects/{project_id}/locations/{location}/tuningJobs/{tuning_job_id}
1956
+ """
1957
+ if not _IpythonUtils.is_ipython_available():
1958
+ return
1959
+
1960
+ resource_parts = tuning_job_resource.split('/')
1961
+ project = resource_parts[1]
1962
+ location = resource_parts[3]
1963
+ tuning_job_id = resource_parts[-1]
1964
+
1965
+ uri = (
1966
+ 'https://console.cloud.google.com/vertex-ai/generative/language/'
1967
+ + f'locations/{location}/tuning/tuningJob/{tuning_job_id}'
1968
+ + f'?project={project}'
1969
+ )
1970
+ _IpythonUtils._display_link('View Tuning Job', uri, 'tune')