claude-all-hands 1.0.0 → 1.0.2

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 (1561) hide show
  1. package/.claude/agents/code-simplifier.md +52 -0
  2. package/.claude/agents/curator.md +195 -117
  3. package/.claude/agents/documentor.md +147 -0
  4. package/.claude/agents/planner.md +127 -125
  5. package/.claude/agents/researcher.md +59 -32
  6. package/.claude/agents/surveyor.md +81 -0
  7. package/.claude/agents/worker.md +74 -0
  8. package/.claude/commands/audit-docs.md +94 -0
  9. package/.claude/commands/continue.md +120 -0
  10. package/.claude/commands/create-docs.md +100 -0
  11. package/.claude/commands/create-skill.md +107 -0
  12. package/.claude/commands/create-specialist.md +111 -0
  13. package/.claude/commands/curator-audit.md +4 -0
  14. package/.claude/commands/debug.md +183 -0
  15. package/.claude/commands/plan.md +209 -61
  16. package/.claude/commands/validate.md +11 -0
  17. package/.claude/commands/whats-next.md +119 -0
  18. package/.claude/envoy/envoy +11 -14
  19. package/.claude/envoy/package-lock.json +1388 -0
  20. package/.claude/envoy/package.json +29 -0
  21. package/.claude/envoy/src/cli.ts +126 -0
  22. package/.claude/envoy/src/commands/base.ts +216 -0
  23. package/.claude/envoy/src/commands/gemini.ts +999 -0
  24. package/.claude/envoy/src/commands/git.ts +639 -0
  25. package/.claude/envoy/src/commands/index.ts +73 -0
  26. package/.claude/envoy/src/commands/knowledge.ts +187 -0
  27. package/.claude/envoy/src/commands/perplexity.ts +129 -0
  28. package/.claude/envoy/src/commands/plan/core.ts +134 -0
  29. package/.claude/envoy/src/commands/plan/findings.ts +446 -0
  30. package/.claude/envoy/src/commands/plan/gates.ts +672 -0
  31. package/.claude/envoy/src/commands/plan/index.ts +135 -0
  32. package/.claude/envoy/src/commands/plan/lifecycle.ts +648 -0
  33. package/.claude/envoy/src/commands/plan/plan-file.ts +138 -0
  34. package/.claude/envoy/src/commands/plan/prompts.ts +285 -0
  35. package/.claude/envoy/src/commands/plan/protocols.ts +166 -0
  36. package/.claude/envoy/src/commands/repomix.ts +99 -0
  37. package/.claude/envoy/src/commands/tavily.ts +220 -0
  38. package/.claude/envoy/src/commands/xai.ts +168 -0
  39. package/.claude/envoy/src/lib/design.ts +41 -0
  40. package/.claude/envoy/src/lib/feedback-schemas.ts +154 -0
  41. package/.claude/envoy/src/lib/findings.ts +215 -0
  42. package/.claude/envoy/src/lib/gates.ts +572 -0
  43. package/.claude/envoy/src/lib/git.ts +132 -0
  44. package/.claude/envoy/src/lib/index.ts +188 -0
  45. package/.claude/envoy/src/lib/knowledge.ts +594 -0
  46. package/.claude/envoy/src/lib/markdown.ts +75 -0
  47. package/.claude/envoy/src/lib/observability.ts +262 -0
  48. package/.claude/envoy/src/lib/paths.ts +130 -0
  49. package/.claude/envoy/src/lib/plan-io.ts +117 -0
  50. package/.claude/envoy/src/lib/prompts.ts +231 -0
  51. package/.claude/envoy/src/lib/protocols.ts +314 -0
  52. package/.claude/envoy/src/lib/repomix.ts +133 -0
  53. package/.claude/envoy/src/lib/retry.ts +138 -0
  54. package/.claude/envoy/src/lib/watcher.ts +167 -0
  55. package/.claude/envoy/tsconfig.json +21 -0
  56. package/.claude/hooks/scripts/scan_agents.py +62 -0
  57. package/.claude/hooks/scripts/scan_commands.py +50 -0
  58. package/.claude/hooks/scripts/scan_skills.py +46 -70
  59. package/.claude/hooks/scripts/validate_artifacts.py +128 -0
  60. package/.claude/hooks/startup.sh +26 -24
  61. package/.claude/protocols/bug-discovery.yaml +55 -0
  62. package/.claude/protocols/debugging.yaml +51 -0
  63. package/.claude/protocols/discovery.yaml +53 -0
  64. package/.claude/protocols/implementation.yaml +84 -0
  65. package/.claude/settings.json +37 -97
  66. package/.claude/skills/brainstorming/SKILL.md +54 -0
  67. package/.claude/skills/claude-code-patterns/SKILL.md +24 -11
  68. package/.claude/skills/commands-development/SKILL.md +630 -0
  69. package/.claude/skills/commands-development/references/arguments.md +252 -0
  70. package/.claude/skills/commands-development/references/patterns.md +796 -0
  71. package/.claude/skills/commands-development/references/tool-restrictions.md +376 -0
  72. package/.claude/skills/discovery-mode/SKILL.md +108 -0
  73. package/.claude/skills/git-ops/SKILL.md +48 -18
  74. package/.claude/skills/hooks-development/SKILL.md +332 -0
  75. package/.claude/skills/hooks-development/references/command-vs-prompt.md +269 -0
  76. package/.claude/skills/hooks-development/references/examples.md +658 -0
  77. package/.claude/skills/hooks-development/references/hook-types.md +463 -0
  78. package/.claude/skills/hooks-development/references/input-output-schemas.md +469 -0
  79. package/.claude/skills/hooks-development/references/matchers.md +470 -0
  80. package/.claude/skills/hooks-development/references/troubleshooting.md +587 -0
  81. package/.claude/skills/implementation-mode/SKILL.md +171 -0
  82. package/.claude/skills/orchestration-idols/SKILL.md +45 -27
  83. package/.claude/skills/research-tools/SKILL.md +68 -88
  84. package/.claude/skills/skills-development/SKILL.md +192 -0
  85. package/.claude/skills/skills-development/references/api-security.md +226 -0
  86. package/.claude/skills/skills-development/references/be-clear-and-direct.md +531 -0
  87. package/.claude/skills/skills-development/references/common-patterns.md +595 -0
  88. package/.claude/skills/skills-development/references/core-principles.md +437 -0
  89. package/.claude/skills/skills-development/references/executable-code.md +175 -0
  90. package/.claude/skills/skills-development/references/iteration-and-testing.md +474 -0
  91. package/.claude/skills/skills-development/references/recommended-structure.md +168 -0
  92. package/.claude/skills/skills-development/references/skill-structure.md +372 -0
  93. package/.claude/skills/skills-development/references/use-xml-tags.md +466 -0
  94. package/.claude/skills/skills-development/references/using-scripts.md +113 -0
  95. package/.claude/skills/skills-development/references/using-templates.md +112 -0
  96. package/.claude/skills/skills-development/references/workflows-and-validation.md +510 -0
  97. package/.claude/skills/skills-development/templates/router-skill.md +73 -0
  98. package/.claude/skills/skills-development/templates/simple-skill.md +33 -0
  99. package/.claude/skills/skills-development/workflows/add-reference.md +96 -0
  100. package/.claude/skills/skills-development/workflows/add-script.md +93 -0
  101. package/.claude/skills/skills-development/workflows/add-template.md +74 -0
  102. package/.claude/skills/skills-development/workflows/add-workflow.md +120 -0
  103. package/.claude/skills/skills-development/workflows/audit-skill.md +138 -0
  104. package/.claude/skills/skills-development/workflows/create-domain-expertise-skill.md +605 -0
  105. package/.claude/skills/skills-development/workflows/create-new-skill.md +191 -0
  106. package/.claude/skills/skills-development/workflows/get-guidance.md +121 -0
  107. package/.claude/skills/skills-development/workflows/upgrade-to-router.md +161 -0
  108. package/.claude/skills/skills-development/workflows/verify-skill.md +204 -0
  109. package/.claude/skills/subagents-development/SKILL.md +325 -0
  110. package/.claude/skills/subagents-development/references/context-management.md +567 -0
  111. package/.claude/skills/subagents-development/references/debugging-agents.md +714 -0
  112. package/.claude/skills/subagents-development/references/error-handling-and-recovery.md +502 -0
  113. package/.claude/skills/subagents-development/references/evaluation-and-testing.md +374 -0
  114. package/.claude/skills/subagents-development/references/orchestration-patterns.md +591 -0
  115. package/.claude/skills/subagents-development/references/subagents.md +508 -0
  116. package/.claude/skills/subagents-development/references/writing-subagent-prompts.md +517 -0
  117. package/.claude/statusline.sh +24 -0
  118. package/bin/cli.js +131 -108
  119. package/package.json +5 -1
  120. package/.claude/agents/explorer.md +0 -70
  121. package/.claude/agents/parallel-worker.md +0 -104
  122. package/.claude/commands/curation-fix.md +0 -68
  123. package/.claude/commands/new-branch.md +0 -11
  124. package/.claude/commands/parallel-discovery.md +0 -51
  125. package/.claude/commands/parallel-orchestration.md +0 -81
  126. package/.claude/commands/plan-checkpoint.md +0 -12
  127. package/.claude/envoy/.venv/.requirements.txt +0 -2
  128. package/.claude/envoy/.venv/bin/Activate.ps1 +0 -241
  129. package/.claude/envoy/.venv/bin/activate +0 -66
  130. package/.claude/envoy/.venv/bin/activate.csh +0 -25
  131. package/.claude/envoy/.venv/bin/activate.fish +0 -64
  132. package/.claude/envoy/.venv/bin/httpx +0 -8
  133. package/.claude/envoy/.venv/bin/normalizer +0 -8
  134. package/.claude/envoy/.venv/bin/pip +0 -8
  135. package/.claude/envoy/.venv/bin/pip3 +0 -8
  136. package/.claude/envoy/.venv/bin/pip3.9 +0 -8
  137. package/.claude/envoy/.venv/bin/pyrsa-decrypt +0 -8
  138. package/.claude/envoy/.venv/bin/pyrsa-encrypt +0 -8
  139. package/.claude/envoy/.venv/bin/pyrsa-keygen +0 -8
  140. package/.claude/envoy/.venv/bin/pyrsa-priv2pub +0 -8
  141. package/.claude/envoy/.venv/bin/pyrsa-sign +0 -8
  142. package/.claude/envoy/.venv/bin/pyrsa-verify +0 -8
  143. package/.claude/envoy/.venv/bin/websockets +0 -8
  144. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py +0 -128
  145. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/override.py +0 -1
  146. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/__init__.py +0 -432
  147. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/test_cases.py +0 -151
  148. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/INSTALLER +0 -1
  149. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/METADATA +0 -295
  150. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/RECORD +0 -10
  151. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/WHEEL +0 -4
  152. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE +0 -21
  153. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/__init__.py +0 -111
  154. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/__init__.py +0 -0
  155. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_asyncio.py +0 -3007
  156. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_trio.py +0 -1384
  157. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/__init__.py +0 -0
  158. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_asyncio_selector_thread.py +0 -167
  159. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_contextmanagers.py +0 -200
  160. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_eventloop.py +0 -229
  161. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_exceptions.py +0 -153
  162. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_fileio.py +0 -797
  163. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_resources.py +0 -18
  164. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_signals.py +0 -27
  165. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_sockets.py +0 -991
  166. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_streams.py +0 -52
  167. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_subprocesses.py +0 -202
  168. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_synchronization.py +0 -753
  169. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tasks.py +0 -163
  170. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tempfile.py +0 -616
  171. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_testing.py +0 -78
  172. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_typedattr.py +0 -81
  173. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/__init__.py +0 -58
  174. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_eventloop.py +0 -420
  175. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_resources.py +0 -33
  176. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_sockets.py +0 -405
  177. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_streams.py +0 -239
  178. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_subprocesses.py +0 -79
  179. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_tasks.py +0 -117
  180. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_testing.py +0 -65
  181. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/from_thread.py +0 -570
  182. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/functools.py +0 -347
  183. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/lowlevel.py +0 -195
  184. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/py.typed +0 -0
  185. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/pytest_plugin.py +0 -302
  186. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/__init__.py +0 -0
  187. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/buffered.py +0 -188
  188. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/file.py +0 -154
  189. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/memory.py +0 -325
  190. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/stapled.py +0 -147
  191. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/text.py +0 -176
  192. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/tls.py +0 -424
  193. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_interpreter.py +0 -246
  194. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_process.py +0 -264
  195. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_thread.py +0 -74
  196. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/INSTALLER +0 -1
  197. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/METADATA +0 -96
  198. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/RECORD +0 -92
  199. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/WHEEL +0 -5
  200. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/entry_points.txt +0 -2
  201. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/licenses/LICENSE +0 -20
  202. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/top_level.txt +0 -1
  203. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/__init__.py +0 -718
  204. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cached.py +0 -247
  205. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cachedmethod.py +0 -128
  206. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/func.py +0 -102
  207. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/keys.py +0 -62
  208. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/INSTALLER +0 -1
  209. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/METADATA +0 -156
  210. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/RECORD +0 -16
  211. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/WHEEL +0 -5
  212. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/licenses/LICENSE +0 -20
  213. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/top_level.txt +0 -1
  214. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__init__.py +0 -4
  215. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__main__.py +0 -12
  216. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/cacert.pem +0 -4678
  217. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/core.py +0 -83
  218. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/py.typed +0 -0
  219. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/INSTALLER +0 -1
  220. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/METADATA +0 -78
  221. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/RECORD +0 -14
  222. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/WHEEL +0 -5
  223. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/licenses/LICENSE +0 -20
  224. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/top_level.txt +0 -1
  225. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__init__.py +0 -48
  226. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__main__.py +0 -6
  227. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/api.py +0 -669
  228. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cd.py +0 -395
  229. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__init__.py +0 -8
  230. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__main__.py +0 -381
  231. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/constant.py +0 -2015
  232. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/legacy.py +0 -80
  233. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.cpython-39-darwin.so +0 -0
  234. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.py +0 -635
  235. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md__mypyc.cpython-39-darwin.so +0 -0
  236. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/models.py +0 -360
  237. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/py.typed +0 -0
  238. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/utils.py +0 -414
  239. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/version.py +0 -8
  240. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/INSTALLER +0 -1
  241. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/METADATA +0 -764
  242. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/RECORD +0 -35
  243. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/WHEEL +0 -6
  244. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/entry_points.txt +0 -2
  245. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/licenses/LICENSE +0 -21
  246. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/top_level.txt +0 -1
  247. package/.claude/envoy/.venv/lib/python3.9/site-packages/distutils-precedence.pth +0 -1
  248. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/__init__.py +0 -46
  249. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_catch.py +0 -138
  250. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_exceptions.py +0 -336
  251. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_formatting.py +0 -602
  252. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_suppress.py +0 -55
  253. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_version.py +0 -34
  254. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/py.typed +0 -0
  255. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/INSTALLER +0 -1
  256. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/METADATA +0 -159
  257. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/RECORD +0 -18
  258. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/WHEEL +0 -4
  259. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/licenses/LICENSE +0 -73
  260. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/__init__.py +0 -53
  261. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_cloud_sdk.py +0 -153
  262. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_constants.py +0 -5
  263. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_async.py +0 -171
  264. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_base.py +0 -75
  265. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default.py +0 -739
  266. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default_async.py +0 -288
  267. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_exponential_backoff.py +0 -164
  268. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_helpers.py +0 -554
  269. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_jwt_async.py +0 -164
  270. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_oauth2client.py +0 -167
  271. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_refresh_worker.py +0 -109
  272. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_service_account_info.py +0 -80
  273. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/__init__.py +0 -25
  274. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/_helpers.py +0 -62
  275. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/credentials.py +0 -143
  276. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/__init__.py +0 -144
  277. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/aiohttp.py +0 -190
  278. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/sessions.py +0 -268
  279. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/api_key.py +0 -76
  280. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/app_engine.py +0 -180
  281. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aws.py +0 -861
  282. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/__init__.py +0 -22
  283. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/_metadata.py +0 -379
  284. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/credentials.py +0 -558
  285. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/credentials.py +0 -665
  286. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/__init__.py +0 -98
  287. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_cryptography_rsa.py +0 -151
  288. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_helpers.py +0 -0
  289. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_python_rsa.py +0 -175
  290. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/base.py +0 -127
  291. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/es256.py +0 -175
  292. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/rsa.py +0 -30
  293. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/downscoped.py +0 -512
  294. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/environment_vars.py +0 -88
  295. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/exceptions.py +0 -108
  296. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account.py +0 -708
  297. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account_authorized_user.py +0 -433
  298. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/iam.py +0 -136
  299. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/identity_pool.py +0 -552
  300. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/impersonated_credentials.py +0 -705
  301. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/jwt.py +0 -878
  302. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/metrics.py +0 -154
  303. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/pluggable.py +0 -453
  304. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/py.typed +0 -2
  305. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/__init__.py +0 -104
  306. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_aiohttp_requests.py +0 -398
  307. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_custom_tls_signer.py +0 -283
  308. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_http_client.py +0 -115
  309. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_mtls_helper.py +0 -446
  310. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_requests_base.py +0 -53
  311. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/grpc.py +0 -337
  312. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/mtls.py +0 -129
  313. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/requests.py +0 -597
  314. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/urllib3.py +0 -449
  315. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/version.py +0 -15
  316. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/__init__.py +0 -25
  317. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_adapters.py +0 -55
  318. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_client.py +0 -1840
  319. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_module.py +0 -29
  320. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_automatic_function_calling_util.py +0 -325
  321. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_transformers.py +0 -26
  322. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_url.py +0 -50
  323. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_common.py +0 -778
  324. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_extra_utils.py +0 -618
  325. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_live_converters.py +0 -1424
  326. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_local_tokenizer_loader.py +0 -223
  327. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_mcp_utils.py +0 -117
  328. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_operations_converters.py +0 -298
  329. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_replay_api_client.py +0 -686
  330. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_test_api_client.py +0 -149
  331. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_tokens_converters.py +0 -480
  332. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_transformers.py +0 -1368
  333. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/batches.py +0 -2461
  334. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/caches.py +0 -1489
  335. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/chats.py +0 -531
  336. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/client.py +0 -403
  337. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/errors.py +0 -202
  338. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/files.py +0 -1019
  339. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live.py +0 -1165
  340. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live_music.py +0 -197
  341. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/local_tokenizer.py +0 -395
  342. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/models.py +0 -7335
  343. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/operations.py +0 -498
  344. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/pagers.py +0 -262
  345. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/py.typed +0 -1
  346. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tokens.py +0 -362
  347. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tunings.py +0 -1970
  348. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/types.py +0 -16507
  349. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/version.py +0 -16
  350. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/__init__.py +0 -36
  351. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client.py +0 -625
  352. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client_async.py +0 -286
  353. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_credentials_async.py +0 -118
  354. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_id_token_async.py +0 -285
  355. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_reauth_async.py +0 -328
  356. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_service_account_async.py +0 -132
  357. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/challenges.py +0 -281
  358. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/credentials.py +0 -614
  359. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/gdch_credentials.py +0 -251
  360. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/id_token.py +0 -370
  361. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/py.typed +0 -2
  362. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/reauth.py +0 -369
  363. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/service_account.py +0 -881
  364. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/sts.py +0 -176
  365. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/utils.py +0 -168
  366. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler.py +0 -82
  367. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler_factory.py +0 -16
  368. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_types.py +0 -156
  369. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/INSTALLER +0 -1
  370. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/METADATA +0 -181
  371. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/RECORD +0 -154
  372. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/WHEEL +0 -6
  373. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/licenses/LICENSE +0 -201
  374. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/top_level.txt +0 -1
  375. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/INSTALLER +0 -1
  376. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/METADATA +0 -1864
  377. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/RECORD +0 -74
  378. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/REQUESTED +0 -0
  379. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/WHEEL +0 -5
  380. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/licenses/LICENSE +0 -202
  381. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/top_level.txt +0 -1
  382. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/__init__.py +0 -62
  383. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_abnf.py +0 -132
  384. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_connection.py +0 -659
  385. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_events.py +0 -369
  386. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_headers.py +0 -282
  387. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_readers.py +0 -250
  388. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_receivebuffer.py +0 -153
  389. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_state.py +0 -365
  390. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_util.py +0 -135
  391. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_version.py +0 -16
  392. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_writers.py +0 -145
  393. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/py.typed +0 -1
  394. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/INSTALLER +0 -1
  395. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/METADATA +0 -202
  396. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/RECORD +0 -29
  397. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/WHEEL +0 -5
  398. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/licenses/LICENSE.txt +0 -22
  399. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/top_level.txt +0 -1
  400. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/__init__.py +0 -141
  401. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_api.py +0 -94
  402. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/__init__.py +0 -39
  403. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection.py +0 -222
  404. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection_pool.py +0 -420
  405. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http11.py +0 -379
  406. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http2.py +0 -592
  407. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http_proxy.py +0 -367
  408. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/interfaces.py +0 -137
  409. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/socks_proxy.py +0 -341
  410. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/__init__.py +0 -0
  411. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/anyio.py +0 -146
  412. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/auto.py +0 -52
  413. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/base.py +0 -101
  414. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/mock.py +0 -143
  415. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/sync.py +0 -241
  416. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/trio.py +0 -159
  417. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_exceptions.py +0 -81
  418. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_models.py +0 -516
  419. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_ssl.py +0 -9
  420. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/__init__.py +0 -39
  421. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection.py +0 -222
  422. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection_pool.py +0 -420
  423. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http11.py +0 -379
  424. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http2.py +0 -592
  425. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http_proxy.py +0 -367
  426. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/interfaces.py +0 -137
  427. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/socks_proxy.py +0 -341
  428. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_synchronization.py +0 -318
  429. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_trace.py +0 -107
  430. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_utils.py +0 -37
  431. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/py.typed +0 -0
  432. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/INSTALLER +0 -1
  433. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/METADATA +0 -625
  434. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/RECORD +0 -68
  435. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/WHEEL +0 -4
  436. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/licenses/LICENSE.md +0 -27
  437. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__init__.py +0 -105
  438. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__version__.py +0 -3
  439. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_api.py +0 -438
  440. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_auth.py +0 -348
  441. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_client.py +0 -2019
  442. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_config.py +0 -248
  443. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_content.py +0 -240
  444. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_decoders.py +0 -393
  445. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_exceptions.py +0 -379
  446. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_main.py +0 -506
  447. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_models.py +0 -1277
  448. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_multipart.py +0 -300
  449. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_status_codes.py +0 -162
  450. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/__init__.py +0 -15
  451. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/asgi.py +0 -187
  452. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/base.py +0 -86
  453. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/default.py +0 -406
  454. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/mock.py +0 -43
  455. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/wsgi.py +0 -149
  456. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_types.py +0 -114
  457. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urlparse.py +0 -527
  458. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urls.py +0 -641
  459. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_utils.py +0 -242
  460. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/py.typed +0 -0
  461. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/INSTALLER +0 -1
  462. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/METADATA +0 -203
  463. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/RECORD +0 -54
  464. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/WHEEL +0 -4
  465. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/entry_points.txt +0 -2
  466. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md +0 -12
  467. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/__init__.py +0 -45
  468. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/codec.py +0 -122
  469. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/compat.py +0 -15
  470. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/core.py +0 -437
  471. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/idnadata.py +0 -4309
  472. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/intranges.py +0 -57
  473. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/package_data.py +0 -1
  474. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/py.typed +0 -0
  475. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/uts46data.py +0 -8841
  476. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/INSTALLER +0 -1
  477. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/METADATA +0 -209
  478. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/RECORD +0 -22
  479. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/WHEEL +0 -4
  480. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/licenses/LICENSE.md +0 -31
  481. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__init__.py +0 -13
  482. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__main__.py +0 -31
  483. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py +0 -19
  484. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py +0 -294
  485. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cache.py +0 -287
  486. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py +0 -4
  487. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py +0 -163
  488. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py +0 -214
  489. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py +0 -1009
  490. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py +0 -27
  491. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py +0 -70
  492. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py +0 -87
  493. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py +0 -292
  494. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py +0 -250
  495. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py +0 -453
  496. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py +0 -157
  497. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py +0 -6
  498. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py +0 -112
  499. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py +0 -216
  500. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py +0 -47
  501. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py +0 -91
  502. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py +0 -266
  503. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py +0 -204
  504. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py +0 -139
  505. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py +0 -84
  506. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py +0 -55
  507. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py +0 -41
  508. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py +0 -139
  509. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py +0 -750
  510. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py +0 -337
  511. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py +0 -164
  512. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py +0 -234
  513. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py +0 -100
  514. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py +0 -176
  515. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py +0 -403
  516. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py +0 -21
  517. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py +0 -38
  518. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py +0 -22
  519. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py +0 -95
  520. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py +0 -34
  521. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py +0 -397
  522. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py +0 -2
  523. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py +0 -534
  524. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py +0 -982
  525. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py +0 -224
  526. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py +0 -408
  527. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py +0 -169
  528. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py +0 -219
  529. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py +0 -52
  530. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/main.py +0 -13
  531. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py +0 -48
  532. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py +0 -242
  533. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py +0 -153
  534. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py +0 -2
  535. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py +0 -31
  536. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py +0 -220
  537. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py +0 -84
  538. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py +0 -32
  539. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py +0 -288
  540. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py +0 -31
  541. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py +0 -126
  542. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py +0 -46
  543. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py +0 -111
  544. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py +0 -92
  545. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py +0 -2
  546. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py +0 -316
  547. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py +0 -69
  548. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py +0 -184
  549. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py +0 -210
  550. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py +0 -454
  551. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py +0 -96
  552. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py +0 -60
  553. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py +0 -0
  554. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  555. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py +0 -35
  556. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py +0 -74
  557. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py +0 -38
  558. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py +0 -110
  559. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py +0 -153
  560. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py +0 -277
  561. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py +0 -2
  562. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py +0 -47
  563. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py +0 -132
  564. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py +0 -803
  565. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py +0 -655
  566. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py +0 -183
  567. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py +0 -94
  568. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py +0 -474
  569. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py +0 -528
  570. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py +0 -846
  571. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py +0 -190
  572. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py +0 -130
  573. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py +0 -629
  574. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py +0 -0
  575. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py +0 -18
  576. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  577. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py +0 -453
  578. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  579. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py +0 -144
  580. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -555
  581. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py +0 -700
  582. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +0 -142
  583. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py +0 -197
  584. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py +0 -69
  585. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py +0 -166
  586. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py +0 -272
  587. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py +0 -187
  588. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py +0 -0
  589. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py +0 -38
  590. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py +0 -35
  591. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py +0 -63
  592. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py +0 -168
  593. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py +0 -11
  594. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py +0 -104
  595. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py +0 -79
  596. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py +0 -42
  597. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py +0 -36
  598. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py +0 -27
  599. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py +0 -182
  600. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py +0 -28
  601. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py +0 -92
  602. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py +0 -165
  603. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py +0 -36
  604. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py +0 -391
  605. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py +0 -828
  606. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py +0 -47
  607. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py +0 -89
  608. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py +0 -101
  609. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py +0 -40
  610. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py +0 -173
  611. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py +0 -281
  612. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py +0 -260
  613. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py +0 -267
  614. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py +0 -65
  615. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py +0 -111
  616. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py +0 -189
  617. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py +0 -15
  618. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py +0 -96
  619. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py +0 -506
  620. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py +0 -158
  621. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py +0 -329
  622. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py +0 -722
  623. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py +0 -360
  624. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py +0 -111
  625. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py +0 -633
  626. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py +0 -11
  627. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py +0 -57
  628. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py +0 -133
  629. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py +0 -39
  630. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +0 -2
  631. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +0 -146
  632. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +0 -33
  633. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py +0 -29
  634. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py +0 -376
  635. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py +0 -80
  636. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py +0 -135
  637. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py +0 -188
  638. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py +0 -29
  639. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py +0 -3
  640. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py +0 -12
  641. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem +0 -4257
  642. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py +0 -76
  643. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py +0 -83
  644. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py +0 -386
  645. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py +0 -47
  646. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py +0 -233
  647. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py +0 -107
  648. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py +0 -145
  649. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py +0 -1
  650. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py +0 -84
  651. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py +0 -88
  652. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py +0 -36
  653. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py +0 -49
  654. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py +0 -76
  655. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py +0 -101
  656. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py +0 -246
  657. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py +0 -92
  658. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py +0 -195
  659. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py +0 -47
  660. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py +0 -387
  661. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py +0 -46
  662. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py +0 -283
  663. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py +0 -46
  664. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py +0 -292
  665. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py +0 -325
  666. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py +0 -233
  667. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +0 -4650
  668. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py +0 -4398
  669. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py +0 -4383
  670. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py +0 -4650
  671. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py +0 -5718
  672. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py +0 -4383
  673. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py +0 -4383
  674. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py +0 -145
  675. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py +0 -91
  676. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +0 -54
  677. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py +0 -572
  678. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  679. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py +0 -310
  680. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py +0 -145
  681. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +0 -83
  682. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py +0 -92
  683. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py +0 -286
  684. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py +0 -82
  685. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py +0 -9
  686. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py +0 -6
  687. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py +0 -102
  688. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py +0 -258
  689. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py +0 -80
  690. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py +0 -152
  691. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py +0 -169
  692. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py +0 -23
  693. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py +0 -6
  694. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py +0 -41
  695. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py +0 -764
  696. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +0 -84
  697. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +0 -786
  698. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py +0 -2607
  699. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py +0 -1120
  700. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py +0 -1339
  701. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py +0 -509
  702. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py +0 -1300
  703. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py +0 -393
  704. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py +0 -130
  705. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py +0 -1058
  706. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py +0 -358
  707. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py +0 -423
  708. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  709. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  710. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py +0 -1965
  711. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py +0 -739
  712. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  713. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  714. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py +0 -1056
  715. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py +0 -1230
  716. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py +0 -35
  717. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py +0 -289
  718. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py +0 -918
  719. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py +0 -1735
  720. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py +0 -5
  721. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py +0 -40
  722. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py +0 -67
  723. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py +0 -159
  724. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py +0 -2946
  725. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  726. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +0 -29
  727. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py +0 -12
  728. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +0 -73
  729. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py +0 -93
  730. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +0 -207
  731. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +0 -916
  732. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py +0 -38
  733. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py +0 -2795
  734. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py +0 -409
  735. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +0 -30
  736. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +0 -54
  737. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +0 -50
  738. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +0 -88
  739. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py +0 -417
  740. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +0 -239
  741. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +0 -343
  742. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +0 -392
  743. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +0 -154
  744. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py +0 -252
  745. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +0 -43
  746. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +0 -131
  747. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +0 -215
  748. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +0 -69
  749. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py +0 -44
  750. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py +0 -117
  751. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py +0 -16
  752. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py +0 -409
  753. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py +0 -2050
  754. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py +0 -58
  755. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py +0 -2
  756. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py +0 -8438
  757. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py +0 -54
  758. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py +0 -1
  759. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py +0 -48
  760. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py +0 -193
  761. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py +0 -1087
  762. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py +0 -26
  763. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py +0 -25
  764. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py +0 -301
  765. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py +0 -136
  766. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py +0 -67
  767. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py +0 -304
  768. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py +0 -146
  769. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py +0 -828
  770. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py +0 -484
  771. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py +0 -136
  772. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py +0 -504
  773. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py +0 -6
  774. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py +0 -127
  775. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py +0 -207
  776. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py +0 -115
  777. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py +0 -42
  778. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py +0 -44
  779. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py +0 -171
  780. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py +0 -17
  781. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py +0 -349
  782. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py +0 -92
  783. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py +0 -371
  784. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py +0 -3296
  785. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py +0 -23
  786. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py +0 -177
  787. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py +0 -91
  788. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py +0 -41
  789. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py +0 -43
  790. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py +0 -7107
  791. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py +0 -154
  792. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py +0 -14
  793. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py +0 -42
  794. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py +0 -533
  795. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py +0 -159
  796. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py +0 -305
  797. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py +0 -18
  798. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py +0 -76
  799. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py +0 -549
  800. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py +0 -127
  801. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py +0 -132
  802. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py +0 -34
  803. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py +0 -966
  804. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py +0 -16
  805. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py +0 -781
  806. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py +0 -123
  807. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py +0 -105
  808. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py +0 -1013
  809. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py +0 -26
  810. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  811. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +0 -6
  812. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py +0 -124
  813. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py +0 -37
  814. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py +0 -473
  815. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py +0 -165
  816. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/six.py +0 -998
  817. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py +0 -517
  818. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py +0 -92
  819. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py +0 -68
  820. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py +0 -46
  821. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py +0 -41
  822. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py +0 -58
  823. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py +0 -43
  824. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py +0 -213
  825. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py +0 -96
  826. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py +0 -59
  827. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py +0 -191
  828. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py +0 -6
  829. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py +0 -703
  830. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py +0 -83
  831. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py +0 -85
  832. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py +0 -337
  833. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py +0 -2
  834. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py +0 -539
  835. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py +0 -1067
  836. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  837. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +0 -36
  838. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  839. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +0 -519
  840. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +0 -396
  841. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py +0 -314
  842. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +0 -130
  843. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +0 -511
  844. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +0 -922
  845. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py +0 -216
  846. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py +0 -323
  847. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py +0 -274
  848. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py +0 -98
  849. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -5
  850. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  851. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +0 -51
  852. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py +0 -1077
  853. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +0 -24
  854. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +0 -160
  855. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py +0 -536
  856. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py +0 -170
  857. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py +0 -821
  858. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py +0 -49
  859. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py +0 -150
  860. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py +0 -56
  861. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py +0 -22
  862. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py +0 -143
  863. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py +0 -107
  864. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py +0 -602
  865. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py +0 -495
  866. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py +0 -221
  867. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py +0 -268
  868. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py +0 -432
  869. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py +0 -153
  870. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt +0 -22
  871. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py +0 -342
  872. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py +0 -231
  873. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py +0 -59
  874. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py +0 -153
  875. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py +0 -325
  876. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/py.typed +0 -4
  877. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/INSTALLER +0 -1
  878. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/LICENSE.txt +0 -20
  879. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/METADATA +0 -92
  880. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD +0 -795
  881. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/REQUESTED +0 -0
  882. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/WHEEL +0 -5
  883. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/entry_points.txt +0 -5
  884. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/top_level.txt +0 -1
  885. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py +0 -3288
  886. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  887. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py +0 -608
  888. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py +0 -27
  889. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py +0 -26
  890. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py +0 -38
  891. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py +0 -86
  892. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py +0 -48
  893. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py +0 -328
  894. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py +0 -145
  895. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py +0 -863
  896. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py +0 -751
  897. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py +0 -65
  898. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py +0 -535
  899. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py +0 -5742
  900. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py +0 -73
  901. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +0 -6
  902. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/__init__.py +0 -2
  903. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/__init__.py +0 -1
  904. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/__init__.py +0 -1
  905. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/decoder.py +0 -2189
  906. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/encoder.py +0 -954
  907. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/eoo.py +0 -28
  908. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/__init__.py +0 -1
  909. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/decoder.py +0 -149
  910. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/encoder.py +0 -331
  911. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/__init__.py +0 -1
  912. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/decoder.py +0 -120
  913. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/encoder.py +0 -126
  914. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/__init__.py +0 -1
  915. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/decoder.py +0 -244
  916. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/encoder.py +0 -285
  917. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/streaming.py +0 -234
  918. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/__init__.py +0 -4
  919. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/integer.py +0 -13
  920. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/debug.py +0 -146
  921. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/error.py +0 -116
  922. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/__init__.py +0 -1
  923. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/base.py +0 -699
  924. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/char.py +0 -288
  925. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/constraint.py +0 -751
  926. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/error.py +0 -11
  927. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedtype.py +0 -550
  928. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedval.py +0 -192
  929. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/opentype.py +0 -104
  930. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tag.py +0 -335
  931. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tagmap.py +0 -96
  932. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/univ.py +0 -3327
  933. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/useful.py +0 -189
  934. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/INSTALLER +0 -1
  935. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/LICENSE.rst +0 -24
  936. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/METADATA +0 -228
  937. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/RECORD +0 -71
  938. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/WHEEL +0 -5
  939. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/top_level.txt +0 -1
  940. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/zip-safe +0 -1
  941. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/__init__.py +0 -2
  942. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/pem.py +0 -58
  943. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1155.py +0 -96
  944. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1157.py +0 -126
  945. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1901.py +0 -22
  946. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1902.py +0 -129
  947. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1905.py +0 -135
  948. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2251.py +0 -563
  949. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2314.py +0 -48
  950. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2315.py +0 -294
  951. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2437.py +0 -69
  952. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2459.py +0 -1339
  953. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2511.py +0 -258
  954. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2560.py +0 -225
  955. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2631.py +0 -37
  956. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2634.py +0 -336
  957. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2876.py +0 -56
  958. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2985.py +0 -588
  959. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2986.py +0 -75
  960. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3058.py +0 -42
  961. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3114.py +0 -77
  962. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3125.py +0 -469
  963. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3161.py +0 -142
  964. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3274.py +0 -59
  965. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3279.py +0 -260
  966. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3280.py +0 -1543
  967. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3281.py +0 -331
  968. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3370.py +0 -146
  969. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3412.py +0 -53
  970. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3414.py +0 -28
  971. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3447.py +0 -45
  972. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3537.py +0 -34
  973. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3560.py +0 -74
  974. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3565.py +0 -57
  975. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3657.py +0 -66
  976. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3709.py +0 -207
  977. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3739.py +0 -203
  978. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3770.py +0 -75
  979. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3779.py +0 -137
  980. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3820.py +0 -65
  981. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3852.py +0 -706
  982. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4010.py +0 -58
  983. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4043.py +0 -43
  984. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4055.py +0 -258
  985. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4073.py +0 -59
  986. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4108.py +0 -350
  987. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4210.py +0 -803
  988. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4211.py +0 -396
  989. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4334.py +0 -75
  990. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4357.py +0 -477
  991. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4387.py +0 -23
  992. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4476.py +0 -93
  993. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4490.py +0 -113
  994. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4491.py +0 -44
  995. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4683.py +0 -72
  996. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4985.py +0 -49
  997. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5035.py +0 -199
  998. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5083.py +0 -52
  999. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5084.py +0 -97
  1000. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5126.py +0 -577
  1001. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5208.py +0 -56
  1002. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5275.py +0 -404
  1003. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5280.py +0 -1658
  1004. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5480.py +0 -190
  1005. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5636.py +0 -113
  1006. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5639.py +0 -49
  1007. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5649.py +0 -33
  1008. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5652.py +0 -761
  1009. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5697.py +0 -70
  1010. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5751.py +0 -124
  1011. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5752.py +0 -49
  1012. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5753.py +0 -157
  1013. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5755.py +0 -398
  1014. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5913.py +0 -44
  1015. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5914.py +0 -119
  1016. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5915.py +0 -32
  1017. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5916.py +0 -35
  1018. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5917.py +0 -55
  1019. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5924.py +0 -19
  1020. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5934.py +0 -786
  1021. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5940.py +0 -59
  1022. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5958.py +0 -98
  1023. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5990.py +0 -237
  1024. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6010.py +0 -88
  1025. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6019.py +0 -45
  1026. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6031.py +0 -469
  1027. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6032.py +0 -68
  1028. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6120.py +0 -43
  1029. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6170.py +0 -17
  1030. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6187.py +0 -22
  1031. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6210.py +0 -42
  1032. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6211.py +0 -72
  1033. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6402.py +0 -628
  1034. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6482.py +0 -74
  1035. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6486.py +0 -68
  1036. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6487.py +0 -22
  1037. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6664.py +0 -147
  1038. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6955.py +0 -108
  1039. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6960.py +0 -223
  1040. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7030.py +0 -66
  1041. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7191.py +0 -261
  1042. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7229.py +0 -29
  1043. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7292.py +0 -357
  1044. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7296.py +0 -32
  1045. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7508.py +0 -90
  1046. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7585.py +0 -50
  1047. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7633.py +0 -38
  1048. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7773.py +0 -52
  1049. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7894.py +0 -92
  1050. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7906.py +0 -736
  1051. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7914.py +0 -49
  1052. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8017.py +0 -153
  1053. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8018.py +0 -260
  1054. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8103.py +0 -36
  1055. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8209.py +0 -20
  1056. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8226.py +0 -149
  1057. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8358.py +0 -50
  1058. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8360.py +0 -44
  1059. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8398.py +0 -52
  1060. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8410.py +0 -43
  1061. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8418.py +0 -36
  1062. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8419.py +0 -68
  1063. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8479.py +0 -45
  1064. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8494.py +0 -80
  1065. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8520.py +0 -63
  1066. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8619.py +0 -45
  1067. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8649.py +0 -40
  1068. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8692.py +0 -79
  1069. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8696.py +0 -104
  1070. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8702.py +0 -105
  1071. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8708.py +0 -41
  1072. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8769.py +0 -21
  1073. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/INSTALLER +0 -1
  1074. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/METADATA +0 -73
  1075. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/RECORD +0 -271
  1076. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/WHEEL +0 -5
  1077. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/licenses/LICENSE.txt +0 -24
  1078. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/top_level.txt +0 -1
  1079. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/zip-safe +0 -1
  1080. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/__init__.py +0 -456
  1081. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/__init__.py +0 -0
  1082. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_config.py +0 -383
  1083. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_metadata.py +0 -97
  1084. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_utils.py +0 -174
  1085. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_dataclasses.py +0 -315
  1086. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators.py +0 -858
  1087. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators_v1.py +0 -174
  1088. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_discriminated_union.py +0 -479
  1089. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_docs_extraction.py +0 -113
  1090. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_fields.py +0 -635
  1091. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_forward_ref.py +0 -23
  1092. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py +0 -2867
  1093. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generics.py +0 -543
  1094. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_git.py +0 -27
  1095. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_import_utils.py +0 -20
  1096. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_internal_dataclass.py +0 -7
  1097. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_known_annotated_metadata.py +0 -401
  1098. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_mock_val_ser.py +0 -228
  1099. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py +0 -848
  1100. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_namespace_utils.py +0 -293
  1101. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_repr.py +0 -124
  1102. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_gather.py +0 -209
  1103. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py +0 -125
  1104. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_serializers.py +0 -53
  1105. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_signature.py +0 -188
  1106. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_typing_extra.py +0 -760
  1107. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_utils.py +0 -446
  1108. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validate_call.py +0 -140
  1109. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validators.py +0 -533
  1110. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_migration.py +0 -316
  1111. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/alias_generators.py +0 -62
  1112. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/aliases.py +0 -135
  1113. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/annotated_handlers.py +0 -122
  1114. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/class_validators.py +0 -5
  1115. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/color.py +0 -604
  1116. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/config.py +0 -1288
  1117. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/dataclasses.py +0 -413
  1118. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/datetime_parse.py +0 -5
  1119. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/decorator.py +0 -5
  1120. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/__init__.py +0 -0
  1121. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/class_validators.py +0 -256
  1122. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/config.py +0 -72
  1123. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/copy_internals.py +0 -224
  1124. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/decorator.py +0 -284
  1125. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/json.py +0 -141
  1126. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/parse.py +0 -80
  1127. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/tools.py +0 -103
  1128. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/env_settings.py +0 -5
  1129. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/error_wrappers.py +0 -5
  1130. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/errors.py +0 -189
  1131. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/__init__.py +0 -1
  1132. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/arguments_schema.py +0 -44
  1133. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/missing_sentinel.py +0 -5
  1134. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/pipeline.py +0 -654
  1135. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/fields.py +0 -1834
  1136. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_serializers.py +0 -451
  1137. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_validators.py +0 -893
  1138. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/generics.py +0 -5
  1139. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json.py +0 -5
  1140. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json_schema.py +0 -2854
  1141. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/main.py +0 -1819
  1142. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/mypy.py +0 -1374
  1143. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/networks.py +0 -1331
  1144. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/parse.py +0 -5
  1145. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/__init__.py +0 -193
  1146. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_loader.py +0 -58
  1147. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_schema_validator.py +0 -140
  1148. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/py.typed +0 -0
  1149. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/root_model.py +0 -155
  1150. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/schema.py +0 -5
  1151. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/tools.py +0 -5
  1152. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/type_adapter.py +0 -795
  1153. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/types.py +0 -3295
  1154. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/typing.py +0 -5
  1155. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/utils.py +0 -5
  1156. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/__init__.py +0 -142
  1157. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/_hypothesis_plugin.py +0 -391
  1158. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/annotated_types.py +0 -72
  1159. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/class_validators.py +0 -361
  1160. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/color.py +0 -494
  1161. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/config.py +0 -191
  1162. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/dataclasses.py +0 -500
  1163. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/datetime_parse.py +0 -248
  1164. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/decorator.py +0 -264
  1165. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/env_settings.py +0 -350
  1166. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/error_wrappers.py +0 -161
  1167. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/errors.py +0 -646
  1168. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/fields.py +0 -1253
  1169. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/generics.py +0 -400
  1170. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/json.py +0 -112
  1171. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/main.py +0 -1113
  1172. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/mypy.py +0 -949
  1173. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/networks.py +0 -747
  1174. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/parse.py +0 -66
  1175. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/py.typed +0 -0
  1176. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/schema.py +0 -1163
  1177. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/tools.py +0 -92
  1178. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/types.py +0 -1205
  1179. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/typing.py +0 -614
  1180. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/utils.py +0 -806
  1181. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/validators.py +0 -768
  1182. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/version.py +0 -38
  1183. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validate_call_decorator.py +0 -116
  1184. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validators.py +0 -5
  1185. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/version.py +0 -113
  1186. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/warnings.py +0 -122
  1187. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/INSTALLER +0 -1
  1188. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/METADATA +0 -1029
  1189. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/RECORD +0 -217
  1190. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/WHEEL +0 -4
  1191. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/licenses/LICENSE +0 -21
  1192. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/__init__.py +0 -171
  1193. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.cpython-39-darwin.so +0 -0
  1194. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.pyi +0 -1046
  1195. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/core_schema.py +0 -4435
  1196. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/py.typed +0 -0
  1197. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/INSTALLER +0 -1
  1198. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/METADATA +0 -180
  1199. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/RECORD +0 -12
  1200. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/WHEEL +0 -4
  1201. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/licenses/LICENSE +0 -21
  1202. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__init__.py +0 -184
  1203. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__version__.py +0 -14
  1204. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/_internal_utils.py +0 -50
  1205. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/adapters.py +0 -696
  1206. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/api.py +0 -157
  1207. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/auth.py +0 -314
  1208. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/certs.py +0 -17
  1209. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/compat.py +0 -106
  1210. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/cookies.py +0 -561
  1211. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/exceptions.py +0 -151
  1212. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/help.py +0 -134
  1213. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/hooks.py +0 -33
  1214. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/models.py +0 -1039
  1215. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/packages.py +0 -23
  1216. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/sessions.py +0 -831
  1217. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/status_codes.py +0 -128
  1218. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/structures.py +0 -99
  1219. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/utils.py +0 -1086
  1220. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/INSTALLER +0 -1
  1221. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/METADATA +0 -133
  1222. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/RECORD +0 -43
  1223. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/REQUESTED +0 -0
  1224. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/WHEEL +0 -5
  1225. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/licenses/LICENSE +0 -175
  1226. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/top_level.txt +0 -1
  1227. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/__init__.py +0 -60
  1228. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/asn1.py +0 -52
  1229. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/cli.py +0 -321
  1230. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/common.py +0 -184
  1231. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/core.py +0 -53
  1232. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/key.py +0 -858
  1233. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/parallel.py +0 -96
  1234. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pem.py +0 -134
  1235. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1.py +0 -485
  1236. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1_v2.py +0 -100
  1237. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/prime.py +0 -198
  1238. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/py.typed +0 -1
  1239. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/randnum.py +0 -95
  1240. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/transform.py +0 -72
  1241. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/util.py +0 -97
  1242. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/INSTALLER +0 -1
  1243. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/LICENSE +0 -13
  1244. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/METADATA +0 -140
  1245. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/RECORD +0 -41
  1246. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/WHEEL +0 -4
  1247. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/entry_points.txt +0 -8
  1248. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/__init__.py +0 -242
  1249. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py +0 -7
  1250. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py +0 -15
  1251. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py +0 -561
  1252. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py +0 -256
  1253. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py +0 -393
  1254. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py +0 -1123
  1255. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py +0 -403
  1256. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py +0 -31
  1257. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py +0 -143
  1258. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py +0 -123
  1259. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py +0 -749
  1260. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py +0 -579
  1261. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py +0 -377
  1262. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py +0 -157
  1263. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py +0 -209
  1264. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py +0 -757
  1265. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py +0 -392
  1266. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py +0 -152
  1267. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py +0 -148
  1268. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py +0 -76
  1269. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py +0 -344
  1270. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py +0 -677
  1271. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py +0 -79
  1272. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py +0 -77
  1273. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py +0 -47
  1274. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py +0 -217
  1275. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py +0 -60
  1276. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py +0 -30
  1277. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py +0 -304
  1278. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py +0 -494
  1279. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py +0 -214
  1280. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py +0 -130
  1281. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py +0 -234
  1282. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py +0 -414
  1283. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py +0 -5
  1284. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py +0 -92
  1285. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py +0 -210
  1286. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py +0 -1257
  1287. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py +0 -97
  1288. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py +0 -240
  1289. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py +0 -457
  1290. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py +0 -238
  1291. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py +0 -355
  1292. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py +0 -77
  1293. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py +0 -788
  1294. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py +0 -643
  1295. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py +0 -19
  1296. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py +0 -7
  1297. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py +0 -106
  1298. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py +0 -573
  1299. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py +0 -286
  1300. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py +0 -332
  1301. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py +0 -535
  1302. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py +0 -347
  1303. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py +0 -166
  1304. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_imp.py +0 -82
  1305. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py +0 -0
  1306. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py +0 -4
  1307. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py +0 -3825
  1308. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py +0 -620
  1309. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py +0 -488
  1310. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py +0 -27
  1311. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py +0 -26
  1312. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py +0 -38
  1313. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py +0 -86
  1314. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py +0 -48
  1315. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py +0 -328
  1316. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py +0 -145
  1317. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py +0 -863
  1318. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py +0 -751
  1319. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py +0 -65
  1320. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py +0 -535
  1321. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py +0 -5742
  1322. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/archive_util.py +0 -205
  1323. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/build_meta.py +0 -281
  1324. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe +0 -0
  1325. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe +0 -0
  1326. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli.exe +0 -0
  1327. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py +0 -8
  1328. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/alias.py +0 -78
  1329. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py +0 -456
  1330. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py +0 -31
  1331. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py +0 -101
  1332. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py +0 -328
  1333. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py +0 -232
  1334. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/develop.py +0 -193
  1335. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py +0 -36
  1336. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py +0 -2290
  1337. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py +0 -734
  1338. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install.py +0 -125
  1339. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py +0 -62
  1340. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py +0 -122
  1341. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py +0 -69
  1342. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml +0 -15
  1343. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py +0 -134
  1344. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/register.py +0 -18
  1345. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py +0 -64
  1346. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py +0 -22
  1347. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py +0 -189
  1348. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py +0 -149
  1349. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/test.py +0 -252
  1350. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload.py +0 -17
  1351. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py +0 -202
  1352. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/config.py +0 -749
  1353. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dep_util.py +0 -25
  1354. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/depends.py +0 -175
  1355. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dist.py +0 -1150
  1356. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/errors.py +0 -16
  1357. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extension.py +0 -55
  1358. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py +0 -73
  1359. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/glob.py +0 -167
  1360. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe +0 -0
  1361. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe +0 -0
  1362. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui.exe +0 -0
  1363. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/installer.py +0 -97
  1364. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/launch.py +0 -36
  1365. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/monkey.py +0 -177
  1366. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/msvc.py +0 -1805
  1367. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/namespaces.py +0 -107
  1368. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/package_index.py +0 -1119
  1369. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/py34compat.py +0 -13
  1370. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/sandbox.py +0 -530
  1371. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl +0 -6
  1372. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script.tmpl +0 -3
  1373. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py +0 -42
  1374. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/version.py +0 -6
  1375. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/wheel.py +0 -213
  1376. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/windows_support.py +0 -29
  1377. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/INSTALLER +0 -1
  1378. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/LICENSE +0 -19
  1379. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/METADATA +0 -119
  1380. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/RECORD +0 -296
  1381. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/REQUESTED +0 -0
  1382. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/WHEEL +0 -5
  1383. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/entry_points.txt +0 -56
  1384. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/top_level.txt +0 -3
  1385. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/__init__.py +0 -722
  1386. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/_utils.py +0 -101
  1387. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/after.py +0 -51
  1388. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/__init__.py +0 -206
  1389. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/retry.py +0 -125
  1390. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before.py +0 -48
  1391. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before_sleep.py +0 -72
  1392. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/nap.py +0 -43
  1393. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/py.typed +0 -0
  1394. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/retry.py +0 -282
  1395. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/stop.py +0 -130
  1396. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/tornadoweb.py +0 -63
  1397. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/wait.py +0 -234
  1398. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/INSTALLER +0 -1
  1399. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/METADATA +0 -31
  1400. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/RECORD +0 -31
  1401. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/WHEEL +0 -5
  1402. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/licenses/LICENSE +0 -202
  1403. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/top_level.txt +0 -1
  1404. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER +0 -1
  1405. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/METADATA +0 -72
  1406. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/RECORD +0 -7
  1407. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/WHEEL +0 -4
  1408. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE +0 -279
  1409. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions.py +0 -4317
  1410. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/__init__.py +0 -0
  1411. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/introspection.py +0 -587
  1412. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/py.typed +0 -0
  1413. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.py +0 -607
  1414. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.pyi +0 -417
  1415. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/INSTALLER +0 -1
  1416. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/METADATA +0 -49
  1417. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/RECORD +0 -13
  1418. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/WHEEL +0 -4
  1419. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/licenses/LICENSE +0 -21
  1420. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/__init__.py +0 -211
  1421. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_base_connection.py +0 -165
  1422. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_collections.py +0 -487
  1423. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_request_methods.py +0 -278
  1424. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_version.py +0 -34
  1425. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connection.py +0 -1099
  1426. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py +0 -1178
  1427. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/__init__.py +0 -0
  1428. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/__init__.py +0 -16
  1429. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/connection.py +0 -259
  1430. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/emscripten_fetch_worker.js +0 -110
  1431. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/fetch.py +0 -726
  1432. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/request.py +0 -22
  1433. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/response.py +0 -277
  1434. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py +0 -564
  1435. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/socks.py +0 -228
  1436. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/exceptions.py +0 -335
  1437. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/fields.py +0 -341
  1438. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/filepost.py +0 -89
  1439. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/__init__.py +0 -53
  1440. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/connection.py +0 -356
  1441. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/probe.py +0 -87
  1442. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/poolmanager.py +0 -651
  1443. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/py.typed +0 -2
  1444. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/response.py +0 -1465
  1445. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/__init__.py +0 -42
  1446. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/connection.py +0 -137
  1447. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/proxy.py +0 -43
  1448. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/request.py +0 -263
  1449. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/response.py +0 -101
  1450. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/retry.py +0 -533
  1451. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_.py +0 -527
  1452. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_match_hostname.py +0 -159
  1453. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssltransport.py +0 -271
  1454. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/timeout.py +0 -275
  1455. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/url.py +0 -469
  1456. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/util.py +0 -42
  1457. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/wait.py +0 -124
  1458. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/INSTALLER +0 -1
  1459. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/METADATA +0 -156
  1460. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/RECORD +0 -79
  1461. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/WHEEL +0 -4
  1462. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/licenses/LICENSE.txt +0 -21
  1463. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__init__.py +0 -236
  1464. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__main__.py +0 -5
  1465. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/__init__.py +0 -0
  1466. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/async_timeout.py +0 -282
  1467. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/client.py +0 -820
  1468. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/compatibility.py +0 -30
  1469. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/connection.py +0 -1237
  1470. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/messages.py +0 -314
  1471. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/router.py +0 -198
  1472. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/server.py +0 -981
  1473. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/auth.py +0 -18
  1474. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/cli.py +0 -178
  1475. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/client.py +0 -389
  1476. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/connection.py +0 -12
  1477. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/datastructures.py +0 -187
  1478. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/exceptions.py +0 -473
  1479. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/__init__.py +0 -4
  1480. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/base.py +0 -123
  1481. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/permessage_deflate.py +0 -697
  1482. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/frames.py +0 -430
  1483. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/headers.py +0 -586
  1484. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http.py +0 -20
  1485. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http11.py +0 -427
  1486. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/imports.py +0 -100
  1487. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/__init__.py +0 -11
  1488. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/auth.py +0 -190
  1489. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/client.py +0 -705
  1490. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/exceptions.py +0 -71
  1491. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/framing.py +0 -225
  1492. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/handshake.py +0 -158
  1493. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/http.py +0 -201
  1494. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/protocol.py +0 -1641
  1495. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/server.py +0 -1191
  1496. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/protocol.py +0 -758
  1497. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/py.typed +0 -0
  1498. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/server.py +0 -587
  1499. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.c +0 -222
  1500. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.cpython-39-darwin.so +0 -0
  1501. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.pyi +0 -1
  1502. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/streams.py +0 -151
  1503. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/__init__.py +0 -0
  1504. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/client.py +0 -648
  1505. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/connection.py +0 -1072
  1506. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/messages.py +0 -345
  1507. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/router.py +0 -192
  1508. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/server.py +0 -763
  1509. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/utils.py +0 -45
  1510. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/typing.py +0 -74
  1511. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/uri.py +0 -225
  1512. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/utils.py +0 -51
  1513. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/version.py +0 -92
  1514. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/INSTALLER +0 -1
  1515. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/LICENSE +0 -24
  1516. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/METADATA +0 -179
  1517. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/RECORD +0 -106
  1518. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/WHEEL +0 -5
  1519. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/entry_points.txt +0 -2
  1520. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/top_level.txt +0 -1
  1521. package/.claude/envoy/.venv/pyvenv.cfg +0 -3
  1522. package/.claude/envoy/claude-envoy.py +0 -0
  1523. package/.claude/envoy/commands/__init__.py +0 -1
  1524. package/.claude/envoy/commands/base.py +0 -95
  1525. package/.claude/envoy/commands/parallel.py +0 -439
  1526. package/.claude/envoy/commands/perplexity.py +0 -86
  1527. package/.claude/envoy/commands/plans.py +0 -451
  1528. package/.claude/envoy/commands/tavily.py +0 -156
  1529. package/.claude/envoy/commands/vertex.py +0 -358
  1530. package/.claude/envoy/commands/xai.py +0 -124
  1531. package/.claude/envoy/envoy.py +0 -122
  1532. package/.claude/envoy/pyrightconfig.json +0 -4
  1533. package/.claude/envoy/requirements.txt +0 -2
  1534. package/.claude/hooks/capture-queries.sh +0 -3
  1535. package/.claude/hooks/scripts/enforce_planning.py +0 -118
  1536. package/.claude/hooks/scripts/enforce_rg.py +0 -34
  1537. package/.claude/hooks/scripts/validate_skill.py +0 -81
  1538. package/.claude/plans/feat-npm-package-cli/plan.md +0 -85
  1539. package/.claude/plans/feat-specialist-builder-patterns/plan.md +0 -298
  1540. package/.claude/skills/claude-envoy-curation/SKILL.md +0 -99
  1541. package/.claude/skills/claude-envoy-usage/SKILL.md +0 -38
  1542. package/.claude/skills/command-development/SKILL.md +0 -216
  1543. package/.claude/skills/command-development/examples/simple-commands.md +0 -212
  1544. package/.claude/skills/command-development/references/frontmatter-reference.md +0 -221
  1545. package/.claude/skills/hook-development/SKILL.md +0 -103
  1546. package/.claude/skills/hook-development/examples/command-hooks.md +0 -301
  1547. package/.claude/skills/hook-development/examples/prompt-hooks.md +0 -114
  1548. package/.claude/skills/hook-development/references/event-reference.md +0 -226
  1549. package/.claude/skills/repomix-extraction/SKILL.md +0 -89
  1550. package/.claude/skills/skill-development/SKILL.md +0 -236
  1551. package/.claude/skills/skill-development/examples/complete-skill-examples.md +0 -281
  1552. package/.claude/skills/skill-development/references/progressive-disclosure.md +0 -141
  1553. package/.claude/skills/skill-development/references/writing-style.md +0 -180
  1554. package/.claude/skills/skill-development/scripts/validate-skill.sh +0 -144
  1555. package/.claude/skills/specialist-builder/SKILL.md +0 -348
  1556. package/.claude/skills/specialist-builder/docs/agent-catalog.md +0 -28
  1557. package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +0 -206
  1558. package/.claude/skills/specialist-builder/references/system-prompt-patterns.md +0 -281
  1559. package/.claude/skills/specialist-builder/references/triggering-examples.md +0 -162
  1560. package/.claude/skills/specialist-builder/scripts/validate-agent.sh +0 -137
  1561. /package/.claude/{envoy/.venv/lib/python3.9/site-packages/annotated_types/py.typed → skills/claude-envoy-patterns/SKILL.md} +0 -0
@@ -1,1965 +0,0 @@
1
- #
2
- # Copyright (C) 2012-2021 The Python Software Foundation.
3
- # See LICENSE.txt and CONTRIBUTORS.txt.
4
- #
5
- import codecs
6
- from collections import deque
7
- import contextlib
8
- import csv
9
- from glob import iglob as std_iglob
10
- import io
11
- import json
12
- import logging
13
- import os
14
- import py_compile
15
- import re
16
- import socket
17
- try:
18
- import ssl
19
- except ImportError: # pragma: no cover
20
- ssl = None
21
- import subprocess
22
- import sys
23
- import tarfile
24
- import tempfile
25
- import textwrap
26
-
27
- try:
28
- import threading
29
- except ImportError: # pragma: no cover
30
- import dummy_threading as threading
31
- import time
32
-
33
- from . import DistlibException
34
- from .compat import (string_types, text_type, shutil, raw_input, StringIO,
35
- cache_from_source, urlopen, urljoin, httplib, xmlrpclib,
36
- splittype, HTTPHandler, BaseConfigurator, valid_ident,
37
- Container, configparser, URLError, ZipFile, fsdecode,
38
- unquote, urlparse)
39
-
40
- logger = logging.getLogger(__name__)
41
-
42
- #
43
- # Requirement parsing code as per PEP 508
44
- #
45
-
46
- IDENTIFIER = re.compile(r'^([\w\.-]+)\s*')
47
- VERSION_IDENTIFIER = re.compile(r'^([\w\.*+-]+)\s*')
48
- COMPARE_OP = re.compile(r'^(<=?|>=?|={2,3}|[~!]=)\s*')
49
- MARKER_OP = re.compile(r'^((<=?)|(>=?)|={2,3}|[~!]=|in|not\s+in)\s*')
50
- OR = re.compile(r'^or\b\s*')
51
- AND = re.compile(r'^and\b\s*')
52
- NON_SPACE = re.compile(r'(\S+)\s*')
53
- STRING_CHUNK = re.compile(r'([\s\w\.{}()*+#:;,/?!~`@$%^&=|<>\[\]-]+)')
54
-
55
-
56
- def parse_marker(marker_string):
57
- """
58
- Parse a marker string and return a dictionary containing a marker expression.
59
-
60
- The dictionary will contain keys "op", "lhs" and "rhs" for non-terminals in
61
- the expression grammar, or strings. A string contained in quotes is to be
62
- interpreted as a literal string, and a string not contained in quotes is a
63
- variable (such as os_name).
64
- """
65
- def marker_var(remaining):
66
- # either identifier, or literal string
67
- m = IDENTIFIER.match(remaining)
68
- if m:
69
- result = m.groups()[0]
70
- remaining = remaining[m.end():]
71
- elif not remaining:
72
- raise SyntaxError('unexpected end of input')
73
- else:
74
- q = remaining[0]
75
- if q not in '\'"':
76
- raise SyntaxError('invalid expression: %s' % remaining)
77
- oq = '\'"'.replace(q, '')
78
- remaining = remaining[1:]
79
- parts = [q]
80
- while remaining:
81
- # either a string chunk, or oq, or q to terminate
82
- if remaining[0] == q:
83
- break
84
- elif remaining[0] == oq:
85
- parts.append(oq)
86
- remaining = remaining[1:]
87
- else:
88
- m = STRING_CHUNK.match(remaining)
89
- if not m:
90
- raise SyntaxError('error in string literal: %s' % remaining)
91
- parts.append(m.groups()[0])
92
- remaining = remaining[m.end():]
93
- else:
94
- s = ''.join(parts)
95
- raise SyntaxError('unterminated string: %s' % s)
96
- parts.append(q)
97
- result = ''.join(parts)
98
- remaining = remaining[1:].lstrip() # skip past closing quote
99
- return result, remaining
100
-
101
- def marker_expr(remaining):
102
- if remaining and remaining[0] == '(':
103
- result, remaining = marker(remaining[1:].lstrip())
104
- if remaining[0] != ')':
105
- raise SyntaxError('unterminated parenthesis: %s' % remaining)
106
- remaining = remaining[1:].lstrip()
107
- else:
108
- lhs, remaining = marker_var(remaining)
109
- while remaining:
110
- m = MARKER_OP.match(remaining)
111
- if not m:
112
- break
113
- op = m.groups()[0]
114
- remaining = remaining[m.end():]
115
- rhs, remaining = marker_var(remaining)
116
- lhs = {'op': op, 'lhs': lhs, 'rhs': rhs}
117
- result = lhs
118
- return result, remaining
119
-
120
- def marker_and(remaining):
121
- lhs, remaining = marker_expr(remaining)
122
- while remaining:
123
- m = AND.match(remaining)
124
- if not m:
125
- break
126
- remaining = remaining[m.end():]
127
- rhs, remaining = marker_expr(remaining)
128
- lhs = {'op': 'and', 'lhs': lhs, 'rhs': rhs}
129
- return lhs, remaining
130
-
131
- def marker(remaining):
132
- lhs, remaining = marker_and(remaining)
133
- while remaining:
134
- m = OR.match(remaining)
135
- if not m:
136
- break
137
- remaining = remaining[m.end():]
138
- rhs, remaining = marker_and(remaining)
139
- lhs = {'op': 'or', 'lhs': lhs, 'rhs': rhs}
140
- return lhs, remaining
141
-
142
- return marker(marker_string)
143
-
144
-
145
- def parse_requirement(req):
146
- """
147
- Parse a requirement passed in as a string. Return a Container
148
- whose attributes contain the various parts of the requirement.
149
- """
150
- remaining = req.strip()
151
- if not remaining or remaining.startswith('#'):
152
- return None
153
- m = IDENTIFIER.match(remaining)
154
- if not m:
155
- raise SyntaxError('name expected: %s' % remaining)
156
- distname = m.groups()[0]
157
- remaining = remaining[m.end():]
158
- extras = mark_expr = versions = uri = None
159
- if remaining and remaining[0] == '[':
160
- i = remaining.find(']', 1)
161
- if i < 0:
162
- raise SyntaxError('unterminated extra: %s' % remaining)
163
- s = remaining[1:i]
164
- remaining = remaining[i + 1:].lstrip()
165
- extras = []
166
- while s:
167
- m = IDENTIFIER.match(s)
168
- if not m:
169
- raise SyntaxError('malformed extra: %s' % s)
170
- extras.append(m.groups()[0])
171
- s = s[m.end():]
172
- if not s:
173
- break
174
- if s[0] != ',':
175
- raise SyntaxError('comma expected in extras: %s' % s)
176
- s = s[1:].lstrip()
177
- if not extras:
178
- extras = None
179
- if remaining:
180
- if remaining[0] == '@':
181
- # it's a URI
182
- remaining = remaining[1:].lstrip()
183
- m = NON_SPACE.match(remaining)
184
- if not m:
185
- raise SyntaxError('invalid URI: %s' % remaining)
186
- uri = m.groups()[0]
187
- t = urlparse(uri)
188
- # there are issues with Python and URL parsing, so this test
189
- # is a bit crude. See bpo-20271, bpo-23505. Python doesn't
190
- # always parse invalid URLs correctly - it should raise
191
- # exceptions for malformed URLs
192
- if not (t.scheme and t.netloc):
193
- raise SyntaxError('Invalid URL: %s' % uri)
194
- remaining = remaining[m.end():].lstrip()
195
- else:
196
-
197
- def get_versions(ver_remaining):
198
- """
199
- Return a list of operator, version tuples if any are
200
- specified, else None.
201
- """
202
- m = COMPARE_OP.match(ver_remaining)
203
- versions = None
204
- if m:
205
- versions = []
206
- while True:
207
- op = m.groups()[0]
208
- ver_remaining = ver_remaining[m.end():]
209
- m = VERSION_IDENTIFIER.match(ver_remaining)
210
- if not m:
211
- raise SyntaxError('invalid version: %s' % ver_remaining)
212
- v = m.groups()[0]
213
- versions.append((op, v))
214
- ver_remaining = ver_remaining[m.end():]
215
- if not ver_remaining or ver_remaining[0] != ',':
216
- break
217
- ver_remaining = ver_remaining[1:].lstrip()
218
- m = COMPARE_OP.match(ver_remaining)
219
- if not m:
220
- raise SyntaxError('invalid constraint: %s' % ver_remaining)
221
- if not versions:
222
- versions = None
223
- return versions, ver_remaining
224
-
225
- if remaining[0] != '(':
226
- versions, remaining = get_versions(remaining)
227
- else:
228
- i = remaining.find(')', 1)
229
- if i < 0:
230
- raise SyntaxError('unterminated parenthesis: %s' % remaining)
231
- s = remaining[1:i]
232
- remaining = remaining[i + 1:].lstrip()
233
- # As a special diversion from PEP 508, allow a version number
234
- # a.b.c in parentheses as a synonym for ~= a.b.c (because this
235
- # is allowed in earlier PEPs)
236
- if COMPARE_OP.match(s):
237
- versions, _ = get_versions(s)
238
- else:
239
- m = VERSION_IDENTIFIER.match(s)
240
- if not m:
241
- raise SyntaxError('invalid constraint: %s' % s)
242
- v = m.groups()[0]
243
- s = s[m.end():].lstrip()
244
- if s:
245
- raise SyntaxError('invalid constraint: %s' % s)
246
- versions = [('~=', v)]
247
-
248
- if remaining:
249
- if remaining[0] != ';':
250
- raise SyntaxError('invalid requirement: %s' % remaining)
251
- remaining = remaining[1:].lstrip()
252
-
253
- mark_expr, remaining = parse_marker(remaining)
254
-
255
- if remaining and remaining[0] != '#':
256
- raise SyntaxError('unexpected trailing data: %s' % remaining)
257
-
258
- if not versions:
259
- rs = distname
260
- else:
261
- rs = '%s %s' % (distname, ', '.join(['%s %s' % con for con in versions]))
262
- return Container(name=distname, extras=extras, constraints=versions,
263
- marker=mark_expr, url=uri, requirement=rs)
264
-
265
-
266
- def get_resources_dests(resources_root, rules):
267
- """Find destinations for resources files"""
268
-
269
- def get_rel_path(root, path):
270
- # normalizes and returns a lstripped-/-separated path
271
- root = root.replace(os.path.sep, '/')
272
- path = path.replace(os.path.sep, '/')
273
- assert path.startswith(root)
274
- return path[len(root):].lstrip('/')
275
-
276
- destinations = {}
277
- for base, suffix, dest in rules:
278
- prefix = os.path.join(resources_root, base)
279
- for abs_base in iglob(prefix):
280
- abs_glob = os.path.join(abs_base, suffix)
281
- for abs_path in iglob(abs_glob):
282
- resource_file = get_rel_path(resources_root, abs_path)
283
- if dest is None: # remove the entry if it was here
284
- destinations.pop(resource_file, None)
285
- else:
286
- rel_path = get_rel_path(abs_base, abs_path)
287
- rel_dest = dest.replace(os.path.sep, '/').rstrip('/')
288
- destinations[resource_file] = rel_dest + '/' + rel_path
289
- return destinations
290
-
291
-
292
- def in_venv():
293
- if hasattr(sys, 'real_prefix'):
294
- # virtualenv venvs
295
- result = True
296
- else:
297
- # PEP 405 venvs
298
- result = sys.prefix != getattr(sys, 'base_prefix', sys.prefix)
299
- return result
300
-
301
-
302
- def get_executable():
303
- # The __PYVENV_LAUNCHER__ dance is apparently no longer needed, as
304
- # changes to the stub launcher mean that sys.executable always points
305
- # to the stub on OS X
306
- # if sys.platform == 'darwin' and ('__PYVENV_LAUNCHER__'
307
- # in os.environ):
308
- # result = os.environ['__PYVENV_LAUNCHER__']
309
- # else:
310
- # result = sys.executable
311
- # return result
312
- # Avoid normcasing: see issue #143
313
- # result = os.path.normcase(sys.executable)
314
- result = sys.executable
315
- if not isinstance(result, text_type):
316
- result = fsdecode(result)
317
- return result
318
-
319
-
320
- def proceed(prompt, allowed_chars, error_prompt=None, default=None):
321
- p = prompt
322
- while True:
323
- s = raw_input(p)
324
- p = prompt
325
- if not s and default:
326
- s = default
327
- if s:
328
- c = s[0].lower()
329
- if c in allowed_chars:
330
- break
331
- if error_prompt:
332
- p = '%c: %s\n%s' % (c, error_prompt, prompt)
333
- return c
334
-
335
-
336
- def extract_by_key(d, keys):
337
- if isinstance(keys, string_types):
338
- keys = keys.split()
339
- result = {}
340
- for key in keys:
341
- if key in d:
342
- result[key] = d[key]
343
- return result
344
-
345
- def read_exports(stream):
346
- if sys.version_info[0] >= 3:
347
- # needs to be a text stream
348
- stream = codecs.getreader('utf-8')(stream)
349
- # Try to load as JSON, falling back on legacy format
350
- data = stream.read()
351
- stream = StringIO(data)
352
- try:
353
- jdata = json.load(stream)
354
- result = jdata['extensions']['python.exports']['exports']
355
- for group, entries in result.items():
356
- for k, v in entries.items():
357
- s = '%s = %s' % (k, v)
358
- entry = get_export_entry(s)
359
- assert entry is not None
360
- entries[k] = entry
361
- return result
362
- except Exception:
363
- stream.seek(0, 0)
364
-
365
- def read_stream(cp, stream):
366
- if hasattr(cp, 'read_file'):
367
- cp.read_file(stream)
368
- else:
369
- cp.readfp(stream)
370
-
371
- cp = configparser.ConfigParser()
372
- try:
373
- read_stream(cp, stream)
374
- except configparser.MissingSectionHeaderError:
375
- stream.close()
376
- data = textwrap.dedent(data)
377
- stream = StringIO(data)
378
- read_stream(cp, stream)
379
-
380
- result = {}
381
- for key in cp.sections():
382
- result[key] = entries = {}
383
- for name, value in cp.items(key):
384
- s = '%s = %s' % (name, value)
385
- entry = get_export_entry(s)
386
- assert entry is not None
387
- #entry.dist = self
388
- entries[name] = entry
389
- return result
390
-
391
-
392
- def write_exports(exports, stream):
393
- if sys.version_info[0] >= 3:
394
- # needs to be a text stream
395
- stream = codecs.getwriter('utf-8')(stream)
396
- cp = configparser.ConfigParser()
397
- for k, v in exports.items():
398
- # TODO check k, v for valid values
399
- cp.add_section(k)
400
- for entry in v.values():
401
- if entry.suffix is None:
402
- s = entry.prefix
403
- else:
404
- s = '%s:%s' % (entry.prefix, entry.suffix)
405
- if entry.flags:
406
- s = '%s [%s]' % (s, ', '.join(entry.flags))
407
- cp.set(k, entry.name, s)
408
- cp.write(stream)
409
-
410
-
411
- @contextlib.contextmanager
412
- def tempdir():
413
- td = tempfile.mkdtemp()
414
- try:
415
- yield td
416
- finally:
417
- shutil.rmtree(td)
418
-
419
- @contextlib.contextmanager
420
- def chdir(d):
421
- cwd = os.getcwd()
422
- try:
423
- os.chdir(d)
424
- yield
425
- finally:
426
- os.chdir(cwd)
427
-
428
-
429
- @contextlib.contextmanager
430
- def socket_timeout(seconds=15):
431
- cto = socket.getdefaulttimeout()
432
- try:
433
- socket.setdefaulttimeout(seconds)
434
- yield
435
- finally:
436
- socket.setdefaulttimeout(cto)
437
-
438
-
439
- class cached_property(object):
440
- def __init__(self, func):
441
- self.func = func
442
- #for attr in ('__name__', '__module__', '__doc__'):
443
- # setattr(self, attr, getattr(func, attr, None))
444
-
445
- def __get__(self, obj, cls=None):
446
- if obj is None:
447
- return self
448
- value = self.func(obj)
449
- object.__setattr__(obj, self.func.__name__, value)
450
- #obj.__dict__[self.func.__name__] = value = self.func(obj)
451
- return value
452
-
453
- def convert_path(pathname):
454
- """Return 'pathname' as a name that will work on the native filesystem.
455
-
456
- The path is split on '/' and put back together again using the current
457
- directory separator. Needed because filenames in the setup script are
458
- always supplied in Unix style, and have to be converted to the local
459
- convention before we can actually use them in the filesystem. Raises
460
- ValueError on non-Unix-ish systems if 'pathname' either starts or
461
- ends with a slash.
462
- """
463
- if os.sep == '/':
464
- return pathname
465
- if not pathname:
466
- return pathname
467
- if pathname[0] == '/':
468
- raise ValueError("path '%s' cannot be absolute" % pathname)
469
- if pathname[-1] == '/':
470
- raise ValueError("path '%s' cannot end with '/'" % pathname)
471
-
472
- paths = pathname.split('/')
473
- while os.curdir in paths:
474
- paths.remove(os.curdir)
475
- if not paths:
476
- return os.curdir
477
- return os.path.join(*paths)
478
-
479
-
480
- class FileOperator(object):
481
- def __init__(self, dry_run=False):
482
- self.dry_run = dry_run
483
- self.ensured = set()
484
- self._init_record()
485
-
486
- def _init_record(self):
487
- self.record = False
488
- self.files_written = set()
489
- self.dirs_created = set()
490
-
491
- def record_as_written(self, path):
492
- if self.record:
493
- self.files_written.add(path)
494
-
495
- def newer(self, source, target):
496
- """Tell if the target is newer than the source.
497
-
498
- Returns true if 'source' exists and is more recently modified than
499
- 'target', or if 'source' exists and 'target' doesn't.
500
-
501
- Returns false if both exist and 'target' is the same age or younger
502
- than 'source'. Raise PackagingFileError if 'source' does not exist.
503
-
504
- Note that this test is not very accurate: files created in the same
505
- second will have the same "age".
506
- """
507
- if not os.path.exists(source):
508
- raise DistlibException("file '%r' does not exist" %
509
- os.path.abspath(source))
510
- if not os.path.exists(target):
511
- return True
512
-
513
- return os.stat(source).st_mtime > os.stat(target).st_mtime
514
-
515
- def copy_file(self, infile, outfile, check=True):
516
- """Copy a file respecting dry-run and force flags.
517
- """
518
- self.ensure_dir(os.path.dirname(outfile))
519
- logger.info('Copying %s to %s', infile, outfile)
520
- if not self.dry_run:
521
- msg = None
522
- if check:
523
- if os.path.islink(outfile):
524
- msg = '%s is a symlink' % outfile
525
- elif os.path.exists(outfile) and not os.path.isfile(outfile):
526
- msg = '%s is a non-regular file' % outfile
527
- if msg:
528
- raise ValueError(msg + ' which would be overwritten')
529
- shutil.copyfile(infile, outfile)
530
- self.record_as_written(outfile)
531
-
532
- def copy_stream(self, instream, outfile, encoding=None):
533
- assert not os.path.isdir(outfile)
534
- self.ensure_dir(os.path.dirname(outfile))
535
- logger.info('Copying stream %s to %s', instream, outfile)
536
- if not self.dry_run:
537
- if encoding is None:
538
- outstream = open(outfile, 'wb')
539
- else:
540
- outstream = codecs.open(outfile, 'w', encoding=encoding)
541
- try:
542
- shutil.copyfileobj(instream, outstream)
543
- finally:
544
- outstream.close()
545
- self.record_as_written(outfile)
546
-
547
- def write_binary_file(self, path, data):
548
- self.ensure_dir(os.path.dirname(path))
549
- if not self.dry_run:
550
- if os.path.exists(path):
551
- os.remove(path)
552
- with open(path, 'wb') as f:
553
- f.write(data)
554
- self.record_as_written(path)
555
-
556
- def write_text_file(self, path, data, encoding):
557
- self.write_binary_file(path, data.encode(encoding))
558
-
559
- def set_mode(self, bits, mask, files):
560
- if os.name == 'posix' or (os.name == 'java' and os._name == 'posix'):
561
- # Set the executable bits (owner, group, and world) on
562
- # all the files specified.
563
- for f in files:
564
- if self.dry_run:
565
- logger.info("changing mode of %s", f)
566
- else:
567
- mode = (os.stat(f).st_mode | bits) & mask
568
- logger.info("changing mode of %s to %o", f, mode)
569
- os.chmod(f, mode)
570
-
571
- set_executable_mode = lambda s, f: s.set_mode(0o555, 0o7777, f)
572
-
573
- def ensure_dir(self, path):
574
- path = os.path.abspath(path)
575
- if path not in self.ensured and not os.path.exists(path):
576
- self.ensured.add(path)
577
- d, f = os.path.split(path)
578
- self.ensure_dir(d)
579
- logger.info('Creating %s' % path)
580
- if not self.dry_run:
581
- os.mkdir(path)
582
- if self.record:
583
- self.dirs_created.add(path)
584
-
585
- def byte_compile(self, path, optimize=False, force=False, prefix=None, hashed_invalidation=False):
586
- dpath = cache_from_source(path, not optimize)
587
- logger.info('Byte-compiling %s to %s', path, dpath)
588
- if not self.dry_run:
589
- if force or self.newer(path, dpath):
590
- if not prefix:
591
- diagpath = None
592
- else:
593
- assert path.startswith(prefix)
594
- diagpath = path[len(prefix):]
595
- compile_kwargs = {}
596
- if hashed_invalidation and hasattr(py_compile, 'PycInvalidationMode'):
597
- compile_kwargs['invalidation_mode'] = py_compile.PycInvalidationMode.CHECKED_HASH
598
- py_compile.compile(path, dpath, diagpath, True, **compile_kwargs) # raise error
599
- self.record_as_written(dpath)
600
- return dpath
601
-
602
- def ensure_removed(self, path):
603
- if os.path.exists(path):
604
- if os.path.isdir(path) and not os.path.islink(path):
605
- logger.debug('Removing directory tree at %s', path)
606
- if not self.dry_run:
607
- shutil.rmtree(path)
608
- if self.record:
609
- if path in self.dirs_created:
610
- self.dirs_created.remove(path)
611
- else:
612
- if os.path.islink(path):
613
- s = 'link'
614
- else:
615
- s = 'file'
616
- logger.debug('Removing %s %s', s, path)
617
- if not self.dry_run:
618
- os.remove(path)
619
- if self.record:
620
- if path in self.files_written:
621
- self.files_written.remove(path)
622
-
623
- def is_writable(self, path):
624
- result = False
625
- while not result:
626
- if os.path.exists(path):
627
- result = os.access(path, os.W_OK)
628
- break
629
- parent = os.path.dirname(path)
630
- if parent == path:
631
- break
632
- path = parent
633
- return result
634
-
635
- def commit(self):
636
- """
637
- Commit recorded changes, turn off recording, return
638
- changes.
639
- """
640
- assert self.record
641
- result = self.files_written, self.dirs_created
642
- self._init_record()
643
- return result
644
-
645
- def rollback(self):
646
- if not self.dry_run:
647
- for f in list(self.files_written):
648
- if os.path.exists(f):
649
- os.remove(f)
650
- # dirs should all be empty now, except perhaps for
651
- # __pycache__ subdirs
652
- # reverse so that subdirs appear before their parents
653
- dirs = sorted(self.dirs_created, reverse=True)
654
- for d in dirs:
655
- flist = os.listdir(d)
656
- if flist:
657
- assert flist == ['__pycache__']
658
- sd = os.path.join(d, flist[0])
659
- os.rmdir(sd)
660
- os.rmdir(d) # should fail if non-empty
661
- self._init_record()
662
-
663
- def resolve(module_name, dotted_path):
664
- if module_name in sys.modules:
665
- mod = sys.modules[module_name]
666
- else:
667
- mod = __import__(module_name)
668
- if dotted_path is None:
669
- result = mod
670
- else:
671
- parts = dotted_path.split('.')
672
- result = getattr(mod, parts.pop(0))
673
- for p in parts:
674
- result = getattr(result, p)
675
- return result
676
-
677
-
678
- class ExportEntry(object):
679
- def __init__(self, name, prefix, suffix, flags):
680
- self.name = name
681
- self.prefix = prefix
682
- self.suffix = suffix
683
- self.flags = flags
684
-
685
- @cached_property
686
- def value(self):
687
- return resolve(self.prefix, self.suffix)
688
-
689
- def __repr__(self): # pragma: no cover
690
- return '<ExportEntry %s = %s:%s %s>' % (self.name, self.prefix,
691
- self.suffix, self.flags)
692
-
693
- def __eq__(self, other):
694
- if not isinstance(other, ExportEntry):
695
- result = False
696
- else:
697
- result = (self.name == other.name and
698
- self.prefix == other.prefix and
699
- self.suffix == other.suffix and
700
- self.flags == other.flags)
701
- return result
702
-
703
- __hash__ = object.__hash__
704
-
705
-
706
- ENTRY_RE = re.compile(r'''(?P<name>(\w|[-.+])+)
707
- \s*=\s*(?P<callable>(\w+)([:\.]\w+)*)
708
- \s*(\[\s*(?P<flags>[\w-]+(=\w+)?(,\s*\w+(=\w+)?)*)\s*\])?
709
- ''', re.VERBOSE)
710
-
711
- def get_export_entry(specification):
712
- m = ENTRY_RE.search(specification)
713
- if not m:
714
- result = None
715
- if '[' in specification or ']' in specification:
716
- raise DistlibException("Invalid specification "
717
- "'%s'" % specification)
718
- else:
719
- d = m.groupdict()
720
- name = d['name']
721
- path = d['callable']
722
- colons = path.count(':')
723
- if colons == 0:
724
- prefix, suffix = path, None
725
- else:
726
- if colons != 1:
727
- raise DistlibException("Invalid specification "
728
- "'%s'" % specification)
729
- prefix, suffix = path.split(':')
730
- flags = d['flags']
731
- if flags is None:
732
- if '[' in specification or ']' in specification:
733
- raise DistlibException("Invalid specification "
734
- "'%s'" % specification)
735
- flags = []
736
- else:
737
- flags = [f.strip() for f in flags.split(',')]
738
- result = ExportEntry(name, prefix, suffix, flags)
739
- return result
740
-
741
-
742
- def get_cache_base(suffix=None):
743
- """
744
- Return the default base location for distlib caches. If the directory does
745
- not exist, it is created. Use the suffix provided for the base directory,
746
- and default to '.distlib' if it isn't provided.
747
-
748
- On Windows, if LOCALAPPDATA is defined in the environment, then it is
749
- assumed to be a directory, and will be the parent directory of the result.
750
- On POSIX, and on Windows if LOCALAPPDATA is not defined, the user's home
751
- directory - using os.expanduser('~') - will be the parent directory of
752
- the result.
753
-
754
- The result is just the directory '.distlib' in the parent directory as
755
- determined above, or with the name specified with ``suffix``.
756
- """
757
- if suffix is None:
758
- suffix = '.distlib'
759
- if os.name == 'nt' and 'LOCALAPPDATA' in os.environ:
760
- result = os.path.expandvars('$localappdata')
761
- else:
762
- # Assume posix, or old Windows
763
- result = os.path.expanduser('~')
764
- # we use 'isdir' instead of 'exists', because we want to
765
- # fail if there's a file with that name
766
- if os.path.isdir(result):
767
- usable = os.access(result, os.W_OK)
768
- if not usable:
769
- logger.warning('Directory exists but is not writable: %s', result)
770
- else:
771
- try:
772
- os.makedirs(result)
773
- usable = True
774
- except OSError:
775
- logger.warning('Unable to create %s', result, exc_info=True)
776
- usable = False
777
- if not usable:
778
- result = tempfile.mkdtemp()
779
- logger.warning('Default location unusable, using %s', result)
780
- return os.path.join(result, suffix)
781
-
782
-
783
- def path_to_cache_dir(path):
784
- """
785
- Convert an absolute path to a directory name for use in a cache.
786
-
787
- The algorithm used is:
788
-
789
- #. On Windows, any ``':'`` in the drive is replaced with ``'---'``.
790
- #. Any occurrence of ``os.sep`` is replaced with ``'--'``.
791
- #. ``'.cache'`` is appended.
792
- """
793
- d, p = os.path.splitdrive(os.path.abspath(path))
794
- if d:
795
- d = d.replace(':', '---')
796
- p = p.replace(os.sep, '--')
797
- return d + p + '.cache'
798
-
799
-
800
- def ensure_slash(s):
801
- if not s.endswith('/'):
802
- return s + '/'
803
- return s
804
-
805
-
806
- def parse_credentials(netloc):
807
- username = password = None
808
- if '@' in netloc:
809
- prefix, netloc = netloc.rsplit('@', 1)
810
- if ':' not in prefix:
811
- username = prefix
812
- else:
813
- username, password = prefix.split(':', 1)
814
- if username:
815
- username = unquote(username)
816
- if password:
817
- password = unquote(password)
818
- return username, password, netloc
819
-
820
-
821
- def get_process_umask():
822
- result = os.umask(0o22)
823
- os.umask(result)
824
- return result
825
-
826
- def is_string_sequence(seq):
827
- result = True
828
- i = None
829
- for i, s in enumerate(seq):
830
- if not isinstance(s, string_types):
831
- result = False
832
- break
833
- assert i is not None
834
- return result
835
-
836
- PROJECT_NAME_AND_VERSION = re.compile('([a-z0-9_]+([.-][a-z_][a-z0-9_]*)*)-'
837
- '([a-z0-9_.+-]+)', re.I)
838
- PYTHON_VERSION = re.compile(r'-py(\d\.?\d?)')
839
-
840
-
841
- def split_filename(filename, project_name=None):
842
- """
843
- Extract name, version, python version from a filename (no extension)
844
-
845
- Return name, version, pyver or None
846
- """
847
- result = None
848
- pyver = None
849
- filename = unquote(filename).replace(' ', '-')
850
- m = PYTHON_VERSION.search(filename)
851
- if m:
852
- pyver = m.group(1)
853
- filename = filename[:m.start()]
854
- if project_name and len(filename) > len(project_name) + 1:
855
- m = re.match(re.escape(project_name) + r'\b', filename)
856
- if m:
857
- n = m.end()
858
- result = filename[:n], filename[n + 1:], pyver
859
- if result is None:
860
- m = PROJECT_NAME_AND_VERSION.match(filename)
861
- if m:
862
- result = m.group(1), m.group(3), pyver
863
- return result
864
-
865
- # Allow spaces in name because of legacy dists like "Twisted Core"
866
- NAME_VERSION_RE = re.compile(r'(?P<name>[\w .-]+)\s*'
867
- r'\(\s*(?P<ver>[^\s)]+)\)$')
868
-
869
- def parse_name_and_version(p):
870
- """
871
- A utility method used to get name and version from a string.
872
-
873
- From e.g. a Provides-Dist value.
874
-
875
- :param p: A value in a form 'foo (1.0)'
876
- :return: The name and version as a tuple.
877
- """
878
- m = NAME_VERSION_RE.match(p)
879
- if not m:
880
- raise DistlibException('Ill-formed name/version string: \'%s\'' % p)
881
- d = m.groupdict()
882
- return d['name'].strip().lower(), d['ver']
883
-
884
- def get_extras(requested, available):
885
- result = set()
886
- requested = set(requested or [])
887
- available = set(available or [])
888
- if '*' in requested:
889
- requested.remove('*')
890
- result |= available
891
- for r in requested:
892
- if r == '-':
893
- result.add(r)
894
- elif r.startswith('-'):
895
- unwanted = r[1:]
896
- if unwanted not in available:
897
- logger.warning('undeclared extra: %s' % unwanted)
898
- if unwanted in result:
899
- result.remove(unwanted)
900
- else:
901
- if r not in available:
902
- logger.warning('undeclared extra: %s' % r)
903
- result.add(r)
904
- return result
905
- #
906
- # Extended metadata functionality
907
- #
908
-
909
- def _get_external_data(url):
910
- result = {}
911
- try:
912
- # urlopen might fail if it runs into redirections,
913
- # because of Python issue #13696. Fixed in locators
914
- # using a custom redirect handler.
915
- resp = urlopen(url)
916
- headers = resp.info()
917
- ct = headers.get('Content-Type')
918
- if not ct.startswith('application/json'):
919
- logger.debug('Unexpected response for JSON request: %s', ct)
920
- else:
921
- reader = codecs.getreader('utf-8')(resp)
922
- #data = reader.read().decode('utf-8')
923
- #result = json.loads(data)
924
- result = json.load(reader)
925
- except Exception as e:
926
- logger.exception('Failed to get external data for %s: %s', url, e)
927
- return result
928
-
929
- _external_data_base_url = 'https://www.red-dove.com/pypi/projects/'
930
-
931
- def get_project_data(name):
932
- url = '%s/%s/project.json' % (name[0].upper(), name)
933
- url = urljoin(_external_data_base_url, url)
934
- result = _get_external_data(url)
935
- return result
936
-
937
- def get_package_data(name, version):
938
- url = '%s/%s/package-%s.json' % (name[0].upper(), name, version)
939
- url = urljoin(_external_data_base_url, url)
940
- return _get_external_data(url)
941
-
942
-
943
- class Cache(object):
944
- """
945
- A class implementing a cache for resources that need to live in the file system
946
- e.g. shared libraries. This class was moved from resources to here because it
947
- could be used by other modules, e.g. the wheel module.
948
- """
949
-
950
- def __init__(self, base):
951
- """
952
- Initialise an instance.
953
-
954
- :param base: The base directory where the cache should be located.
955
- """
956
- # we use 'isdir' instead of 'exists', because we want to
957
- # fail if there's a file with that name
958
- if not os.path.isdir(base): # pragma: no cover
959
- os.makedirs(base)
960
- if (os.stat(base).st_mode & 0o77) != 0:
961
- logger.warning('Directory \'%s\' is not private', base)
962
- self.base = os.path.abspath(os.path.normpath(base))
963
-
964
- def prefix_to_dir(self, prefix):
965
- """
966
- Converts a resource prefix to a directory name in the cache.
967
- """
968
- return path_to_cache_dir(prefix)
969
-
970
- def clear(self):
971
- """
972
- Clear the cache.
973
- """
974
- not_removed = []
975
- for fn in os.listdir(self.base):
976
- fn = os.path.join(self.base, fn)
977
- try:
978
- if os.path.islink(fn) or os.path.isfile(fn):
979
- os.remove(fn)
980
- elif os.path.isdir(fn):
981
- shutil.rmtree(fn)
982
- except Exception:
983
- not_removed.append(fn)
984
- return not_removed
985
-
986
-
987
- class EventMixin(object):
988
- """
989
- A very simple publish/subscribe system.
990
- """
991
- def __init__(self):
992
- self._subscribers = {}
993
-
994
- def add(self, event, subscriber, append=True):
995
- """
996
- Add a subscriber for an event.
997
-
998
- :param event: The name of an event.
999
- :param subscriber: The subscriber to be added (and called when the
1000
- event is published).
1001
- :param append: Whether to append or prepend the subscriber to an
1002
- existing subscriber list for the event.
1003
- """
1004
- subs = self._subscribers
1005
- if event not in subs:
1006
- subs[event] = deque([subscriber])
1007
- else:
1008
- sq = subs[event]
1009
- if append:
1010
- sq.append(subscriber)
1011
- else:
1012
- sq.appendleft(subscriber)
1013
-
1014
- def remove(self, event, subscriber):
1015
- """
1016
- Remove a subscriber for an event.
1017
-
1018
- :param event: The name of an event.
1019
- :param subscriber: The subscriber to be removed.
1020
- """
1021
- subs = self._subscribers
1022
- if event not in subs:
1023
- raise ValueError('No subscribers: %r' % event)
1024
- subs[event].remove(subscriber)
1025
-
1026
- def get_subscribers(self, event):
1027
- """
1028
- Return an iterator for the subscribers for an event.
1029
- :param event: The event to return subscribers for.
1030
- """
1031
- return iter(self._subscribers.get(event, ()))
1032
-
1033
- def publish(self, event, *args, **kwargs):
1034
- """
1035
- Publish a event and return a list of values returned by its
1036
- subscribers.
1037
-
1038
- :param event: The event to publish.
1039
- :param args: The positional arguments to pass to the event's
1040
- subscribers.
1041
- :param kwargs: The keyword arguments to pass to the event's
1042
- subscribers.
1043
- """
1044
- result = []
1045
- for subscriber in self.get_subscribers(event):
1046
- try:
1047
- value = subscriber(event, *args, **kwargs)
1048
- except Exception:
1049
- logger.exception('Exception during event publication')
1050
- value = None
1051
- result.append(value)
1052
- logger.debug('publish %s: args = %s, kwargs = %s, result = %s',
1053
- event, args, kwargs, result)
1054
- return result
1055
-
1056
- #
1057
- # Simple sequencing
1058
- #
1059
- class Sequencer(object):
1060
- def __init__(self):
1061
- self._preds = {}
1062
- self._succs = {}
1063
- self._nodes = set() # nodes with no preds/succs
1064
-
1065
- def add_node(self, node):
1066
- self._nodes.add(node)
1067
-
1068
- def remove_node(self, node, edges=False):
1069
- if node in self._nodes:
1070
- self._nodes.remove(node)
1071
- if edges:
1072
- for p in set(self._preds.get(node, ())):
1073
- self.remove(p, node)
1074
- for s in set(self._succs.get(node, ())):
1075
- self.remove(node, s)
1076
- # Remove empties
1077
- for k, v in list(self._preds.items()):
1078
- if not v:
1079
- del self._preds[k]
1080
- for k, v in list(self._succs.items()):
1081
- if not v:
1082
- del self._succs[k]
1083
-
1084
- def add(self, pred, succ):
1085
- assert pred != succ
1086
- self._preds.setdefault(succ, set()).add(pred)
1087
- self._succs.setdefault(pred, set()).add(succ)
1088
-
1089
- def remove(self, pred, succ):
1090
- assert pred != succ
1091
- try:
1092
- preds = self._preds[succ]
1093
- succs = self._succs[pred]
1094
- except KeyError: # pragma: no cover
1095
- raise ValueError('%r not a successor of anything' % succ)
1096
- try:
1097
- preds.remove(pred)
1098
- succs.remove(succ)
1099
- except KeyError: # pragma: no cover
1100
- raise ValueError('%r not a successor of %r' % (succ, pred))
1101
-
1102
- def is_step(self, step):
1103
- return (step in self._preds or step in self._succs or
1104
- step in self._nodes)
1105
-
1106
- def get_steps(self, final):
1107
- if not self.is_step(final):
1108
- raise ValueError('Unknown: %r' % final)
1109
- result = []
1110
- todo = []
1111
- seen = set()
1112
- todo.append(final)
1113
- while todo:
1114
- step = todo.pop(0)
1115
- if step in seen:
1116
- # if a step was already seen,
1117
- # move it to the end (so it will appear earlier
1118
- # when reversed on return) ... but not for the
1119
- # final step, as that would be confusing for
1120
- # users
1121
- if step != final:
1122
- result.remove(step)
1123
- result.append(step)
1124
- else:
1125
- seen.add(step)
1126
- result.append(step)
1127
- preds = self._preds.get(step, ())
1128
- todo.extend(preds)
1129
- return reversed(result)
1130
-
1131
- @property
1132
- def strong_connections(self):
1133
- #http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm
1134
- index_counter = [0]
1135
- stack = []
1136
- lowlinks = {}
1137
- index = {}
1138
- result = []
1139
-
1140
- graph = self._succs
1141
-
1142
- def strongconnect(node):
1143
- # set the depth index for this node to the smallest unused index
1144
- index[node] = index_counter[0]
1145
- lowlinks[node] = index_counter[0]
1146
- index_counter[0] += 1
1147
- stack.append(node)
1148
-
1149
- # Consider successors
1150
- try:
1151
- successors = graph[node]
1152
- except Exception:
1153
- successors = []
1154
- for successor in successors:
1155
- if successor not in lowlinks:
1156
- # Successor has not yet been visited
1157
- strongconnect(successor)
1158
- lowlinks[node] = min(lowlinks[node],lowlinks[successor])
1159
- elif successor in stack:
1160
- # the successor is in the stack and hence in the current
1161
- # strongly connected component (SCC)
1162
- lowlinks[node] = min(lowlinks[node],index[successor])
1163
-
1164
- # If `node` is a root node, pop the stack and generate an SCC
1165
- if lowlinks[node] == index[node]:
1166
- connected_component = []
1167
-
1168
- while True:
1169
- successor = stack.pop()
1170
- connected_component.append(successor)
1171
- if successor == node: break
1172
- component = tuple(connected_component)
1173
- # storing the result
1174
- result.append(component)
1175
-
1176
- for node in graph:
1177
- if node not in lowlinks:
1178
- strongconnect(node)
1179
-
1180
- return result
1181
-
1182
- @property
1183
- def dot(self):
1184
- result = ['digraph G {']
1185
- for succ in self._preds:
1186
- preds = self._preds[succ]
1187
- for pred in preds:
1188
- result.append(' %s -> %s;' % (pred, succ))
1189
- for node in self._nodes:
1190
- result.append(' %s;' % node)
1191
- result.append('}')
1192
- return '\n'.join(result)
1193
-
1194
- #
1195
- # Unarchiving functionality for zip, tar, tgz, tbz, whl
1196
- #
1197
-
1198
- ARCHIVE_EXTENSIONS = ('.tar.gz', '.tar.bz2', '.tar', '.zip',
1199
- '.tgz', '.tbz', '.whl')
1200
-
1201
- def unarchive(archive_filename, dest_dir, format=None, check=True):
1202
-
1203
- def check_path(path):
1204
- if not isinstance(path, text_type):
1205
- path = path.decode('utf-8')
1206
- p = os.path.abspath(os.path.join(dest_dir, path))
1207
- if not p.startswith(dest_dir) or p[plen] != os.sep:
1208
- raise ValueError('path outside destination: %r' % p)
1209
-
1210
- dest_dir = os.path.abspath(dest_dir)
1211
- plen = len(dest_dir)
1212
- archive = None
1213
- if format is None:
1214
- if archive_filename.endswith(('.zip', '.whl')):
1215
- format = 'zip'
1216
- elif archive_filename.endswith(('.tar.gz', '.tgz')):
1217
- format = 'tgz'
1218
- mode = 'r:gz'
1219
- elif archive_filename.endswith(('.tar.bz2', '.tbz')):
1220
- format = 'tbz'
1221
- mode = 'r:bz2'
1222
- elif archive_filename.endswith('.tar'):
1223
- format = 'tar'
1224
- mode = 'r'
1225
- else: # pragma: no cover
1226
- raise ValueError('Unknown format for %r' % archive_filename)
1227
- try:
1228
- if format == 'zip':
1229
- archive = ZipFile(archive_filename, 'r')
1230
- if check:
1231
- names = archive.namelist()
1232
- for name in names:
1233
- check_path(name)
1234
- else:
1235
- archive = tarfile.open(archive_filename, mode)
1236
- if check:
1237
- names = archive.getnames()
1238
- for name in names:
1239
- check_path(name)
1240
- if format != 'zip' and sys.version_info[0] < 3:
1241
- # See Python issue 17153. If the dest path contains Unicode,
1242
- # tarfile extraction fails on Python 2.x if a member path name
1243
- # contains non-ASCII characters - it leads to an implicit
1244
- # bytes -> unicode conversion using ASCII to decode.
1245
- for tarinfo in archive.getmembers():
1246
- if not isinstance(tarinfo.name, text_type):
1247
- tarinfo.name = tarinfo.name.decode('utf-8')
1248
- archive.extractall(dest_dir)
1249
-
1250
- finally:
1251
- if archive:
1252
- archive.close()
1253
-
1254
-
1255
- def zip_dir(directory):
1256
- """zip a directory tree into a BytesIO object"""
1257
- result = io.BytesIO()
1258
- dlen = len(directory)
1259
- with ZipFile(result, "w") as zf:
1260
- for root, dirs, files in os.walk(directory):
1261
- for name in files:
1262
- full = os.path.join(root, name)
1263
- rel = root[dlen:]
1264
- dest = os.path.join(rel, name)
1265
- zf.write(full, dest)
1266
- return result
1267
-
1268
- #
1269
- # Simple progress bar
1270
- #
1271
-
1272
- UNITS = ('', 'K', 'M', 'G','T','P')
1273
-
1274
-
1275
- class Progress(object):
1276
- unknown = 'UNKNOWN'
1277
-
1278
- def __init__(self, minval=0, maxval=100):
1279
- assert maxval is None or maxval >= minval
1280
- self.min = self.cur = minval
1281
- self.max = maxval
1282
- self.started = None
1283
- self.elapsed = 0
1284
- self.done = False
1285
-
1286
- def update(self, curval):
1287
- assert self.min <= curval
1288
- assert self.max is None or curval <= self.max
1289
- self.cur = curval
1290
- now = time.time()
1291
- if self.started is None:
1292
- self.started = now
1293
- else:
1294
- self.elapsed = now - self.started
1295
-
1296
- def increment(self, incr):
1297
- assert incr >= 0
1298
- self.update(self.cur + incr)
1299
-
1300
- def start(self):
1301
- self.update(self.min)
1302
- return self
1303
-
1304
- def stop(self):
1305
- if self.max is not None:
1306
- self.update(self.max)
1307
- self.done = True
1308
-
1309
- @property
1310
- def maximum(self):
1311
- return self.unknown if self.max is None else self.max
1312
-
1313
- @property
1314
- def percentage(self):
1315
- if self.done:
1316
- result = '100 %'
1317
- elif self.max is None:
1318
- result = ' ?? %'
1319
- else:
1320
- v = 100.0 * (self.cur - self.min) / (self.max - self.min)
1321
- result = '%3d %%' % v
1322
- return result
1323
-
1324
- def format_duration(self, duration):
1325
- if (duration <= 0) and self.max is None or self.cur == self.min:
1326
- result = '??:??:??'
1327
- #elif duration < 1:
1328
- # result = '--:--:--'
1329
- else:
1330
- result = time.strftime('%H:%M:%S', time.gmtime(duration))
1331
- return result
1332
-
1333
- @property
1334
- def ETA(self):
1335
- if self.done:
1336
- prefix = 'Done'
1337
- t = self.elapsed
1338
- #import pdb; pdb.set_trace()
1339
- else:
1340
- prefix = 'ETA '
1341
- if self.max is None:
1342
- t = -1
1343
- elif self.elapsed == 0 or (self.cur == self.min):
1344
- t = 0
1345
- else:
1346
- #import pdb; pdb.set_trace()
1347
- t = float(self.max - self.min)
1348
- t /= self.cur - self.min
1349
- t = (t - 1) * self.elapsed
1350
- return '%s: %s' % (prefix, self.format_duration(t))
1351
-
1352
- @property
1353
- def speed(self):
1354
- if self.elapsed == 0:
1355
- result = 0.0
1356
- else:
1357
- result = (self.cur - self.min) / self.elapsed
1358
- for unit in UNITS:
1359
- if result < 1000:
1360
- break
1361
- result /= 1000.0
1362
- return '%d %sB/s' % (result, unit)
1363
-
1364
- #
1365
- # Glob functionality
1366
- #
1367
-
1368
- RICH_GLOB = re.compile(r'\{([^}]*)\}')
1369
- _CHECK_RECURSIVE_GLOB = re.compile(r'[^/\\,{]\*\*|\*\*[^/\\,}]')
1370
- _CHECK_MISMATCH_SET = re.compile(r'^[^{]*\}|\{[^}]*$')
1371
-
1372
-
1373
- def iglob(path_glob):
1374
- """Extended globbing function that supports ** and {opt1,opt2,opt3}."""
1375
- if _CHECK_RECURSIVE_GLOB.search(path_glob):
1376
- msg = """invalid glob %r: recursive glob "**" must be used alone"""
1377
- raise ValueError(msg % path_glob)
1378
- if _CHECK_MISMATCH_SET.search(path_glob):
1379
- msg = """invalid glob %r: mismatching set marker '{' or '}'"""
1380
- raise ValueError(msg % path_glob)
1381
- return _iglob(path_glob)
1382
-
1383
-
1384
- def _iglob(path_glob):
1385
- rich_path_glob = RICH_GLOB.split(path_glob, 1)
1386
- if len(rich_path_glob) > 1:
1387
- assert len(rich_path_glob) == 3, rich_path_glob
1388
- prefix, set, suffix = rich_path_glob
1389
- for item in set.split(','):
1390
- for path in _iglob(''.join((prefix, item, suffix))):
1391
- yield path
1392
- else:
1393
- if '**' not in path_glob:
1394
- for item in std_iglob(path_glob):
1395
- yield item
1396
- else:
1397
- prefix, radical = path_glob.split('**', 1)
1398
- if prefix == '':
1399
- prefix = '.'
1400
- if radical == '':
1401
- radical = '*'
1402
- else:
1403
- # we support both
1404
- radical = radical.lstrip('/')
1405
- radical = radical.lstrip('\\')
1406
- for path, dir, files in os.walk(prefix):
1407
- path = os.path.normpath(path)
1408
- for fn in _iglob(os.path.join(path, radical)):
1409
- yield fn
1410
-
1411
- if ssl:
1412
- from .compat import (HTTPSHandler as BaseHTTPSHandler, match_hostname,
1413
- CertificateError)
1414
-
1415
-
1416
- #
1417
- # HTTPSConnection which verifies certificates/matches domains
1418
- #
1419
-
1420
- class HTTPSConnection(httplib.HTTPSConnection):
1421
- ca_certs = None # set this to the path to the certs file (.pem)
1422
- check_domain = True # only used if ca_certs is not None
1423
-
1424
- # noinspection PyPropertyAccess
1425
- def connect(self):
1426
- sock = socket.create_connection((self.host, self.port), self.timeout)
1427
- if getattr(self, '_tunnel_host', False):
1428
- self.sock = sock
1429
- self._tunnel()
1430
-
1431
- if not hasattr(ssl, 'SSLContext'):
1432
- # For 2.x
1433
- if self.ca_certs:
1434
- cert_reqs = ssl.CERT_REQUIRED
1435
- else:
1436
- cert_reqs = ssl.CERT_NONE
1437
- self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file,
1438
- cert_reqs=cert_reqs,
1439
- ssl_version=ssl.PROTOCOL_SSLv23,
1440
- ca_certs=self.ca_certs)
1441
- else: # pragma: no cover
1442
- context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
1443
- if hasattr(ssl, 'OP_NO_SSLv2'):
1444
- context.options |= ssl.OP_NO_SSLv2
1445
- if self.cert_file:
1446
- context.load_cert_chain(self.cert_file, self.key_file)
1447
- kwargs = {}
1448
- if self.ca_certs:
1449
- context.verify_mode = ssl.CERT_REQUIRED
1450
- context.load_verify_locations(cafile=self.ca_certs)
1451
- if getattr(ssl, 'HAS_SNI', False):
1452
- kwargs['server_hostname'] = self.host
1453
- self.sock = context.wrap_socket(sock, **kwargs)
1454
- if self.ca_certs and self.check_domain:
1455
- try:
1456
- match_hostname(self.sock.getpeercert(), self.host)
1457
- logger.debug('Host verified: %s', self.host)
1458
- except CertificateError: # pragma: no cover
1459
- self.sock.shutdown(socket.SHUT_RDWR)
1460
- self.sock.close()
1461
- raise
1462
-
1463
- class HTTPSHandler(BaseHTTPSHandler):
1464
- def __init__(self, ca_certs, check_domain=True):
1465
- BaseHTTPSHandler.__init__(self)
1466
- self.ca_certs = ca_certs
1467
- self.check_domain = check_domain
1468
-
1469
- def _conn_maker(self, *args, **kwargs):
1470
- """
1471
- This is called to create a connection instance. Normally you'd
1472
- pass a connection class to do_open, but it doesn't actually check for
1473
- a class, and just expects a callable. As long as we behave just as a
1474
- constructor would have, we should be OK. If it ever changes so that
1475
- we *must* pass a class, we'll create an UnsafeHTTPSConnection class
1476
- which just sets check_domain to False in the class definition, and
1477
- choose which one to pass to do_open.
1478
- """
1479
- result = HTTPSConnection(*args, **kwargs)
1480
- if self.ca_certs:
1481
- result.ca_certs = self.ca_certs
1482
- result.check_domain = self.check_domain
1483
- return result
1484
-
1485
- def https_open(self, req):
1486
- try:
1487
- return self.do_open(self._conn_maker, req)
1488
- except URLError as e:
1489
- if 'certificate verify failed' in str(e.reason):
1490
- raise CertificateError('Unable to verify server certificate '
1491
- 'for %s' % req.host)
1492
- else:
1493
- raise
1494
-
1495
- #
1496
- # To prevent against mixing HTTP traffic with HTTPS (examples: A Man-In-The-
1497
- # Middle proxy using HTTP listens on port 443, or an index mistakenly serves
1498
- # HTML containing a http://xyz link when it should be https://xyz),
1499
- # you can use the following handler class, which does not allow HTTP traffic.
1500
- #
1501
- # It works by inheriting from HTTPHandler - so build_opener won't add a
1502
- # handler for HTTP itself.
1503
- #
1504
- class HTTPSOnlyHandler(HTTPSHandler, HTTPHandler):
1505
- def http_open(self, req):
1506
- raise URLError('Unexpected HTTP request on what should be a secure '
1507
- 'connection: %s' % req)
1508
-
1509
- #
1510
- # XML-RPC with timeouts
1511
- #
1512
-
1513
- _ver_info = sys.version_info[:2]
1514
-
1515
- if _ver_info == (2, 6):
1516
- class HTTP(httplib.HTTP):
1517
- def __init__(self, host='', port=None, **kwargs):
1518
- if port == 0: # 0 means use port 0, not the default port
1519
- port = None
1520
- self._setup(self._connection_class(host, port, **kwargs))
1521
-
1522
-
1523
- if ssl:
1524
- class HTTPS(httplib.HTTPS):
1525
- def __init__(self, host='', port=None, **kwargs):
1526
- if port == 0: # 0 means use port 0, not the default port
1527
- port = None
1528
- self._setup(self._connection_class(host, port, **kwargs))
1529
-
1530
-
1531
- class Transport(xmlrpclib.Transport):
1532
- def __init__(self, timeout, use_datetime=0):
1533
- self.timeout = timeout
1534
- xmlrpclib.Transport.__init__(self, use_datetime)
1535
-
1536
- def make_connection(self, host):
1537
- h, eh, x509 = self.get_host_info(host)
1538
- if _ver_info == (2, 6):
1539
- result = HTTP(h, timeout=self.timeout)
1540
- else:
1541
- if not self._connection or host != self._connection[0]:
1542
- self._extra_headers = eh
1543
- self._connection = host, httplib.HTTPConnection(h)
1544
- result = self._connection[1]
1545
- return result
1546
-
1547
- if ssl:
1548
- class SafeTransport(xmlrpclib.SafeTransport):
1549
- def __init__(self, timeout, use_datetime=0):
1550
- self.timeout = timeout
1551
- xmlrpclib.SafeTransport.__init__(self, use_datetime)
1552
-
1553
- def make_connection(self, host):
1554
- h, eh, kwargs = self.get_host_info(host)
1555
- if not kwargs:
1556
- kwargs = {}
1557
- kwargs['timeout'] = self.timeout
1558
- if _ver_info == (2, 6):
1559
- result = HTTPS(host, None, **kwargs)
1560
- else:
1561
- if not self._connection or host != self._connection[0]:
1562
- self._extra_headers = eh
1563
- self._connection = host, httplib.HTTPSConnection(h, None,
1564
- **kwargs)
1565
- result = self._connection[1]
1566
- return result
1567
-
1568
-
1569
- class ServerProxy(xmlrpclib.ServerProxy):
1570
- def __init__(self, uri, **kwargs):
1571
- self.timeout = timeout = kwargs.pop('timeout', None)
1572
- # The above classes only come into play if a timeout
1573
- # is specified
1574
- if timeout is not None:
1575
- # scheme = splittype(uri) # deprecated as of Python 3.8
1576
- scheme = urlparse(uri)[0]
1577
- use_datetime = kwargs.get('use_datetime', 0)
1578
- if scheme == 'https':
1579
- tcls = SafeTransport
1580
- else:
1581
- tcls = Transport
1582
- kwargs['transport'] = t = tcls(timeout, use_datetime=use_datetime)
1583
- self.transport = t
1584
- xmlrpclib.ServerProxy.__init__(self, uri, **kwargs)
1585
-
1586
- #
1587
- # CSV functionality. This is provided because on 2.x, the csv module can't
1588
- # handle Unicode. However, we need to deal with Unicode in e.g. RECORD files.
1589
- #
1590
-
1591
- def _csv_open(fn, mode, **kwargs):
1592
- if sys.version_info[0] < 3:
1593
- mode += 'b'
1594
- else:
1595
- kwargs['newline'] = ''
1596
- # Python 3 determines encoding from locale. Force 'utf-8'
1597
- # file encoding to match other forced utf-8 encoding
1598
- kwargs['encoding'] = 'utf-8'
1599
- return open(fn, mode, **kwargs)
1600
-
1601
-
1602
- class CSVBase(object):
1603
- defaults = {
1604
- 'delimiter': str(','), # The strs are used because we need native
1605
- 'quotechar': str('"'), # str in the csv API (2.x won't take
1606
- 'lineterminator': str('\n') # Unicode)
1607
- }
1608
-
1609
- def __enter__(self):
1610
- return self
1611
-
1612
- def __exit__(self, *exc_info):
1613
- self.stream.close()
1614
-
1615
-
1616
- class CSVReader(CSVBase):
1617
- def __init__(self, **kwargs):
1618
- if 'stream' in kwargs:
1619
- stream = kwargs['stream']
1620
- if sys.version_info[0] >= 3:
1621
- # needs to be a text stream
1622
- stream = codecs.getreader('utf-8')(stream)
1623
- self.stream = stream
1624
- else:
1625
- self.stream = _csv_open(kwargs['path'], 'r')
1626
- self.reader = csv.reader(self.stream, **self.defaults)
1627
-
1628
- def __iter__(self):
1629
- return self
1630
-
1631
- def next(self):
1632
- result = next(self.reader)
1633
- if sys.version_info[0] < 3:
1634
- for i, item in enumerate(result):
1635
- if not isinstance(item, text_type):
1636
- result[i] = item.decode('utf-8')
1637
- return result
1638
-
1639
- __next__ = next
1640
-
1641
- class CSVWriter(CSVBase):
1642
- def __init__(self, fn, **kwargs):
1643
- self.stream = _csv_open(fn, 'w')
1644
- self.writer = csv.writer(self.stream, **self.defaults)
1645
-
1646
- def writerow(self, row):
1647
- if sys.version_info[0] < 3:
1648
- r = []
1649
- for item in row:
1650
- if isinstance(item, text_type):
1651
- item = item.encode('utf-8')
1652
- r.append(item)
1653
- row = r
1654
- self.writer.writerow(row)
1655
-
1656
- #
1657
- # Configurator functionality
1658
- #
1659
-
1660
- class Configurator(BaseConfigurator):
1661
-
1662
- value_converters = dict(BaseConfigurator.value_converters)
1663
- value_converters['inc'] = 'inc_convert'
1664
-
1665
- def __init__(self, config, base=None):
1666
- super(Configurator, self).__init__(config)
1667
- self.base = base or os.getcwd()
1668
-
1669
- def configure_custom(self, config):
1670
- def convert(o):
1671
- if isinstance(o, (list, tuple)):
1672
- result = type(o)([convert(i) for i in o])
1673
- elif isinstance(o, dict):
1674
- if '()' in o:
1675
- result = self.configure_custom(o)
1676
- else:
1677
- result = {}
1678
- for k in o:
1679
- result[k] = convert(o[k])
1680
- else:
1681
- result = self.convert(o)
1682
- return result
1683
-
1684
- c = config.pop('()')
1685
- if not callable(c):
1686
- c = self.resolve(c)
1687
- props = config.pop('.', None)
1688
- # Check for valid identifiers
1689
- args = config.pop('[]', ())
1690
- if args:
1691
- args = tuple([convert(o) for o in args])
1692
- items = [(k, convert(config[k])) for k in config if valid_ident(k)]
1693
- kwargs = dict(items)
1694
- result = c(*args, **kwargs)
1695
- if props:
1696
- for n, v in props.items():
1697
- setattr(result, n, convert(v))
1698
- return result
1699
-
1700
- def __getitem__(self, key):
1701
- result = self.config[key]
1702
- if isinstance(result, dict) and '()' in result:
1703
- self.config[key] = result = self.configure_custom(result)
1704
- return result
1705
-
1706
- def inc_convert(self, value):
1707
- """Default converter for the inc:// protocol."""
1708
- if not os.path.isabs(value):
1709
- value = os.path.join(self.base, value)
1710
- with codecs.open(value, 'r', encoding='utf-8') as f:
1711
- result = json.load(f)
1712
- return result
1713
-
1714
-
1715
- class SubprocessMixin(object):
1716
- """
1717
- Mixin for running subprocesses and capturing their output
1718
- """
1719
- def __init__(self, verbose=False, progress=None):
1720
- self.verbose = verbose
1721
- self.progress = progress
1722
-
1723
- def reader(self, stream, context):
1724
- """
1725
- Read lines from a subprocess' output stream and either pass to a progress
1726
- callable (if specified) or write progress information to sys.stderr.
1727
- """
1728
- progress = self.progress
1729
- verbose = self.verbose
1730
- while True:
1731
- s = stream.readline()
1732
- if not s:
1733
- break
1734
- if progress is not None:
1735
- progress(s, context)
1736
- else:
1737
- if not verbose:
1738
- sys.stderr.write('.')
1739
- else:
1740
- sys.stderr.write(s.decode('utf-8'))
1741
- sys.stderr.flush()
1742
- stream.close()
1743
-
1744
- def run_command(self, cmd, **kwargs):
1745
- p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
1746
- stderr=subprocess.PIPE, **kwargs)
1747
- t1 = threading.Thread(target=self.reader, args=(p.stdout, 'stdout'))
1748
- t1.start()
1749
- t2 = threading.Thread(target=self.reader, args=(p.stderr, 'stderr'))
1750
- t2.start()
1751
- p.wait()
1752
- t1.join()
1753
- t2.join()
1754
- if self.progress is not None:
1755
- self.progress('done.', 'main')
1756
- elif self.verbose:
1757
- sys.stderr.write('done.\n')
1758
- return p
1759
-
1760
-
1761
- def normalize_name(name):
1762
- """Normalize a python package name a la PEP 503"""
1763
- # https://www.python.org/dev/peps/pep-0503/#normalized-names
1764
- return re.sub('[-_.]+', '-', name).lower()
1765
-
1766
- # def _get_pypirc_command():
1767
- # """
1768
- # Get the distutils command for interacting with PyPI configurations.
1769
- # :return: the command.
1770
- # """
1771
- # from distutils.core import Distribution
1772
- # from distutils.config import PyPIRCCommand
1773
- # d = Distribution()
1774
- # return PyPIRCCommand(d)
1775
-
1776
- class PyPIRCFile(object):
1777
-
1778
- DEFAULT_REPOSITORY = 'https://upload.pypi.org/legacy/'
1779
- DEFAULT_REALM = 'pypi'
1780
-
1781
- def __init__(self, fn=None, url=None):
1782
- if fn is None:
1783
- fn = os.path.join(os.path.expanduser('~'), '.pypirc')
1784
- self.filename = fn
1785
- self.url = url
1786
-
1787
- def read(self):
1788
- result = {}
1789
-
1790
- if os.path.exists(self.filename):
1791
- repository = self.url or self.DEFAULT_REPOSITORY
1792
-
1793
- config = configparser.RawConfigParser()
1794
- config.read(self.filename)
1795
- sections = config.sections()
1796
- if 'distutils' in sections:
1797
- # let's get the list of servers
1798
- index_servers = config.get('distutils', 'index-servers')
1799
- _servers = [server.strip() for server in
1800
- index_servers.split('\n')
1801
- if server.strip() != '']
1802
- if _servers == []:
1803
- # nothing set, let's try to get the default pypi
1804
- if 'pypi' in sections:
1805
- _servers = ['pypi']
1806
- else:
1807
- for server in _servers:
1808
- result = {'server': server}
1809
- result['username'] = config.get(server, 'username')
1810
-
1811
- # optional params
1812
- for key, default in (('repository', self.DEFAULT_REPOSITORY),
1813
- ('realm', self.DEFAULT_REALM),
1814
- ('password', None)):
1815
- if config.has_option(server, key):
1816
- result[key] = config.get(server, key)
1817
- else:
1818
- result[key] = default
1819
-
1820
- # work around people having "repository" for the "pypi"
1821
- # section of their config set to the HTTP (rather than
1822
- # HTTPS) URL
1823
- if (server == 'pypi' and
1824
- repository in (self.DEFAULT_REPOSITORY, 'pypi')):
1825
- result['repository'] = self.DEFAULT_REPOSITORY
1826
- elif (result['server'] != repository and
1827
- result['repository'] != repository):
1828
- result = {}
1829
- elif 'server-login' in sections:
1830
- # old format
1831
- server = 'server-login'
1832
- if config.has_option(server, 'repository'):
1833
- repository = config.get(server, 'repository')
1834
- else:
1835
- repository = self.DEFAULT_REPOSITORY
1836
- result = {
1837
- 'username': config.get(server, 'username'),
1838
- 'password': config.get(server, 'password'),
1839
- 'repository': repository,
1840
- 'server': server,
1841
- 'realm': self.DEFAULT_REALM
1842
- }
1843
- return result
1844
-
1845
- def update(self, username, password):
1846
- # import pdb; pdb.set_trace()
1847
- config = configparser.RawConfigParser()
1848
- fn = self.filename
1849
- config.read(fn)
1850
- if not config.has_section('pypi'):
1851
- config.add_section('pypi')
1852
- config.set('pypi', 'username', username)
1853
- config.set('pypi', 'password', password)
1854
- with open(fn, 'w') as f:
1855
- config.write(f)
1856
-
1857
- def _load_pypirc(index):
1858
- """
1859
- Read the PyPI access configuration as supported by distutils.
1860
- """
1861
- return PyPIRCFile(url=index.url).read()
1862
-
1863
- def _store_pypirc(index):
1864
- PyPIRCFile().update(index.username, index.password)
1865
-
1866
- #
1867
- # get_platform()/get_host_platform() copied from Python 3.10.a0 source, with some minor
1868
- # tweaks
1869
- #
1870
-
1871
- def get_host_platform():
1872
- """Return a string that identifies the current platform. This is used mainly to
1873
- distinguish platform-specific build directories and platform-specific built
1874
- distributions. Typically includes the OS name and version and the
1875
- architecture (as supplied by 'os.uname()'), although the exact information
1876
- included depends on the OS; eg. on Linux, the kernel version isn't
1877
- particularly important.
1878
-
1879
- Examples of returned values:
1880
- linux-i586
1881
- linux-alpha (?)
1882
- solaris-2.6-sun4u
1883
-
1884
- Windows will return one of:
1885
- win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
1886
- win32 (all others - specifically, sys.platform is returned)
1887
-
1888
- For other non-POSIX platforms, currently just returns 'sys.platform'.
1889
-
1890
- """
1891
- if os.name == 'nt':
1892
- if 'amd64' in sys.version.lower():
1893
- return 'win-amd64'
1894
- if '(arm)' in sys.version.lower():
1895
- return 'win-arm32'
1896
- if '(arm64)' in sys.version.lower():
1897
- return 'win-arm64'
1898
- return sys.platform
1899
-
1900
- # Set for cross builds explicitly
1901
- if "_PYTHON_HOST_PLATFORM" in os.environ:
1902
- return os.environ["_PYTHON_HOST_PLATFORM"]
1903
-
1904
- if os.name != 'posix' or not hasattr(os, 'uname'):
1905
- # XXX what about the architecture? NT is Intel or Alpha,
1906
- # Mac OS is M68k or PPC, etc.
1907
- return sys.platform
1908
-
1909
- # Try to distinguish various flavours of Unix
1910
-
1911
- (osname, host, release, version, machine) = os.uname()
1912
-
1913
- # Convert the OS name to lowercase, remove '/' characters, and translate
1914
- # spaces (for "Power Macintosh")
1915
- osname = osname.lower().replace('/', '')
1916
- machine = machine.replace(' ', '_').replace('/', '-')
1917
-
1918
- if osname[:5] == 'linux':
1919
- # At least on Linux/Intel, 'machine' is the processor --
1920
- # i386, etc.
1921
- # XXX what about Alpha, SPARC, etc?
1922
- return "%s-%s" % (osname, machine)
1923
-
1924
- elif osname[:5] == 'sunos':
1925
- if release[0] >= '5': # SunOS 5 == Solaris 2
1926
- osname = 'solaris'
1927
- release = '%d.%s' % (int(release[0]) - 3, release[2:])
1928
- # We can't use 'platform.architecture()[0]' because a
1929
- # bootstrap problem. We use a dict to get an error
1930
- # if some suspicious happens.
1931
- bitness = {2147483647:'32bit', 9223372036854775807:'64bit'}
1932
- machine += '.%s' % bitness[sys.maxsize]
1933
- # fall through to standard osname-release-machine representation
1934
- elif osname[:3] == 'aix':
1935
- from _aix_support import aix_platform
1936
- return aix_platform()
1937
- elif osname[:6] == 'cygwin':
1938
- osname = 'cygwin'
1939
- rel_re = re.compile (r'[\d.]+', re.ASCII)
1940
- m = rel_re.match(release)
1941
- if m:
1942
- release = m.group()
1943
- elif osname[:6] == 'darwin':
1944
- import _osx_support, distutils.sysconfig
1945
- osname, release, machine = _osx_support.get_platform_osx(
1946
- distutils.sysconfig.get_config_vars(),
1947
- osname, release, machine)
1948
-
1949
- return '%s-%s-%s' % (osname, release, machine)
1950
-
1951
-
1952
- _TARGET_TO_PLAT = {
1953
- 'x86' : 'win32',
1954
- 'x64' : 'win-amd64',
1955
- 'arm' : 'win-arm32',
1956
- }
1957
-
1958
-
1959
- def get_platform():
1960
- if os.name != 'nt':
1961
- return get_host_platform()
1962
- cross_compilation_target = os.environ.get('VSCMD_ARG_TGT_ARCH')
1963
- if cross_compilation_target not in _TARGET_TO_PLAT:
1964
- return get_host_platform()
1965
- return _TARGET_TO_PLAT[cross_compilation_target]