direct-cli 0.4.2__tar.gz → 0.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. {direct_cli-0.4.2 → direct_cli-0.5.1}/.github/workflows/quality.yml +3 -1
  2. {direct_cli-0.4.2 → direct_cli-0.5.1}/.gitignore +3 -0
  3. {direct_cli-0.4.2 → direct_cli-0.5.1}/CHANGELOG.md +676 -0
  4. {direct_cli-0.4.2 → direct_cli-0.5.1}/CLAUDE.md +16 -3
  5. {direct_cli-0.4.2 → direct_cli-0.5.1}/PKG-INFO +241 -6
  6. {direct_cli-0.4.2 → direct_cli-0.5.1}/README.md +234 -3
  7. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_bidding_strategy.py +62 -235
  8. direct_cli-0.5.1/direct_cli/_captcha.py +43 -0
  9. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/resource_mapping.py +12 -4
  10. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/api.py +20 -0
  11. direct_cli-0.5.1/direct_cli/browser/__init__.py +24 -0
  12. direct_cli-0.5.1/direct_cli/browser/_chrome_crypto.py +458 -0
  13. direct_cli-0.5.1/direct_cli/browser/diagnostics.py +287 -0
  14. direct_cli-0.5.1/direct_cli/browser/masters.py +1497 -0
  15. direct_cli-0.5.1/direct_cli/browser/session.py +546 -0
  16. direct_cli-0.5.1/direct_cli/browser/store.py +214 -0
  17. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/cli.py +19 -2
  18. direct_cli-0.5.1/direct_cli/commands/_batch.py +181 -0
  19. direct_cli-0.5.1/direct_cli/commands/_campaigns_base.py +798 -0
  20. direct_cli-0.5.1/direct_cli/commands/_campaigns_cpm_banner.py +127 -0
  21. direct_cli-0.5.1/direct_cli/commands/_campaigns_dynamic.py +290 -0
  22. direct_cli-0.5.1/direct_cli/commands/_campaigns_mobile_app.py +198 -0
  23. direct_cli-0.5.1/direct_cli/commands/_campaigns_smart.py +429 -0
  24. direct_cli-0.5.1/direct_cli/commands/_campaigns_text.py +276 -0
  25. direct_cli-0.5.1/direct_cli/commands/_campaigns_unified.py +270 -0
  26. direct_cli-0.5.1/direct_cli/commands/_execute.py +30 -0
  27. direct_cli-0.5.1/direct_cli/commands/_get.py +259 -0
  28. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/_lifecycle.py +23 -1
  29. direct_cli-0.5.1/direct_cli/commands/adextensions.py +81 -0
  30. direct_cli-0.5.1/direct_cli/commands/adgroups.py +2032 -0
  31. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/adimages.py +23 -57
  32. direct_cli-0.5.1/direct_cli/commands/ads/__init__.py +22 -0
  33. direct_cli-0.5.1/direct_cli/commands/ads/_cli.py +1178 -0
  34. direct_cli-0.5.1/direct_cli/commands/ads/base.py +236 -0
  35. direct_cli-0.5.1/direct_cli/commands/ads/batch.py +467 -0
  36. direct_cli-0.5.1/direct_cli/commands/ads/builder.py +202 -0
  37. direct_cli-0.5.1/direct_cli/commands/ads/mobile_app.py +88 -0
  38. direct_cli-0.5.1/direct_cli/commands/ads/objects.py +823 -0
  39. direct_cli-0.5.1/direct_cli/commands/ads/responsive.py +96 -0
  40. direct_cli-0.5.1/direct_cli/commands/ads/shopping.py +142 -0
  41. direct_cli-0.5.1/direct_cli/commands/ads/text.py +153 -0
  42. direct_cli-0.5.1/direct_cli/commands/advideos.py +61 -0
  43. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/agencyclients.py +88 -148
  44. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/audiencetargets.py +77 -86
  45. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/balance.py +2 -10
  46. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/bidmodifiers.py +144 -224
  47. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/bids.py +51 -80
  48. direct_cli-0.5.1/direct_cli/commands/browser_session.py +175 -0
  49. direct_cli-0.5.1/direct_cli/commands/businesses.py +22 -0
  50. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/campaigns.py +206 -1885
  51. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/clients.py +61 -120
  52. direct_cli-0.5.1/direct_cli/commands/creatives.py +88 -0
  53. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/dictionaries.py +4 -3
  54. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/dynamicads.py +46 -95
  55. direct_cli-0.5.1/direct_cli/commands/dynamicfeedadtargets.py +140 -0
  56. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/feeds.py +34 -106
  57. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/keywordbids.py +26 -20
  58. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/keywords.py +112 -255
  59. direct_cli-0.5.1/direct_cli/commands/masters.py +794 -0
  60. direct_cli-0.5.1/direct_cli/commands/negativekeywordsharedsets.py +82 -0
  61. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/retargeting.py +25 -62
  62. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/sitelinks.py +23 -78
  63. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/smartadtargets.py +49 -103
  64. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/strategies.py +129 -257
  65. direct_cli-0.5.1/direct_cli/commands/trackingparams.py +24 -0
  66. direct_cli-0.5.1/direct_cli/commands/turbopages.py +44 -0
  67. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4account.py +19 -46
  68. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4adimage.py +20 -46
  69. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4events.py +2 -10
  70. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4finance.py +24 -91
  71. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4forecast.py +5 -37
  72. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4goals.py +9 -27
  73. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4keywords.py +2 -9
  74. direct_cli-0.5.1/direct_cli/commands/v4shells.py +54 -0
  75. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4tags.py +11 -61
  76. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/v4wordstat.py +5 -37
  77. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/vcards.py +15 -53
  78. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/output.py +74 -26
  79. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/reports_coverage.py +8 -9
  80. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/smoke_matrix.py +47 -1
  81. direct_cli-0.5.1/direct_cli/tracking_params.py +123 -0
  82. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/adgroups.json +42 -2
  83. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/ads.json +40 -3
  84. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/audiencetargets.json +2 -1
  85. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/common.json +2 -2
  86. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4finance.json +0 -1
  87. direct_cli-0.5.1/direct_cli/translations/v4shells.json +7 -0
  88. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/utils.py +140 -7
  89. direct_cli-0.5.1/direct_cli/v4/parse.py +135 -0
  90. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/wsdl_coverage.py +19 -9
  91. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli.egg-info/PKG-INFO +241 -6
  92. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli.egg-info/SOURCES.txt +62 -1
  93. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli.egg-info/requires.txt +7 -2
  94. {direct_cli-0.4.2 → direct_cli-0.5.1}/pyproject.toml +22 -3
  95. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/build_api_coverage_report.py +20 -6
  96. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/check_all_docs_urls.py +32 -13
  97. direct_cli-0.5.1/scripts/measure_criteria_limits.py +213 -0
  98. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/test_dangerous_commands.sh +19 -0
  99. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/WSDL_OPTIONAL_FIELD_AUDIT.md +3 -3
  100. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/api_coverage_payloads.py +4 -0
  101. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/conftest.py +42 -0
  102. direct_cli-0.5.1/tests/fixtures/masters_grid_campaigns.json +72 -0
  103. direct_cli-0.5.1/tests/fixtures/masters_wizard_create.html +279 -0
  104. direct_cli-0.5.1/tests/fixtures/masters_wizard_edit_stage_a.html +137 -0
  105. direct_cli-0.5.1/tests/fixtures/masters_wizard_overview.html +118 -0
  106. direct_cli-0.5.1/tests/test_adgroups_build_adgroup_object.py +215 -0
  107. direct_cli-0.5.1/tests/test_adgroups_build_adgroup_update_object.py +129 -0
  108. direct_cli-0.5.1/tests/test_ads_build_ad_object.py +201 -0
  109. direct_cli-0.5.1/tests/test_ads_build_ad_update_object.py +163 -0
  110. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_api_coverage.py +112 -31
  111. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_audit_wire_shape.py +43 -13
  112. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_cassette_integrity.py +3 -9
  113. direct_cli-0.5.1/tests/test_check_all_docs_urls.py +16 -0
  114. direct_cli-0.5.1/tests/test_chrome_crypto.py +452 -0
  115. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_cli.py +3 -3
  116. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_cli_contract.py +8 -0
  117. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_comprehensive.py +3 -0
  118. direct_cli-0.5.1/tests/test_dry_run.py +132 -0
  119. direct_cli-0.5.1/tests/test_dry_run_adgroups.py +2070 -0
  120. direct_cli-0.5.1/tests/test_dry_run_ads.py +3968 -0
  121. direct_cli-0.5.1/tests/test_dry_run_bids.py +892 -0
  122. direct_cli-0.5.1/tests/test_dry_run_campaigns.py +3657 -0
  123. direct_cli-0.5.1/tests/test_dry_run_clients.py +691 -0
  124. direct_cli-0.5.1/tests/test_dry_run_common.py +768 -0
  125. direct_cli-0.5.1/tests/test_dry_run_extensions.py +940 -0
  126. direct_cli-0.5.1/tests/test_dry_run_keywords.py +970 -0
  127. direct_cli-0.5.1/tests/test_dry_run_shared.py +66 -0
  128. direct_cli-0.5.1/tests/test_dry_run_strategies.py +608 -0
  129. direct_cli-0.5.1/tests/test_dry_run_strategy_smart.py +1949 -0
  130. direct_cli-0.5.1/tests/test_dry_run_strategy_text.py +5149 -0
  131. direct_cli-0.5.1/tests/test_dry_run_strategy_unified.py +2359 -0
  132. direct_cli-0.5.1/tests/test_dry_run_targets.py +612 -0
  133. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_integration.py +144 -0
  134. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_integration_write.py +6 -6
  135. direct_cli-0.5.1/tests/test_masters.py +3426 -0
  136. direct_cli-0.5.1/tests/test_playwright_session.py +306 -0
  137. direct_cli-0.5.1/tests/test_reference_output.py +104 -0
  138. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_reports_parsing.py +0 -1
  139. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_smoke_matrix.py +1 -1
  140. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_transport_contract.py +3 -3
  141. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4_live_contracts.py +6 -6
  142. direct_cli-0.5.1/tests/test_v4_output_options.py +134 -0
  143. direct_cli-0.5.1/tests/test_v4meta.py +71 -0
  144. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v5_live_write.py +12 -12
  145. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_wsdl_parity_gate.py +62 -9
  146. direct_cli-0.4.2/direct_cli/commands/adextensions.py +0 -124
  147. direct_cli-0.4.2/direct_cli/commands/adgroups.py +0 -1215
  148. direct_cli-0.4.2/direct_cli/commands/ads.py +0 -2322
  149. direct_cli-0.4.2/direct_cli/commands/advideos.py +0 -96
  150. direct_cli-0.4.2/direct_cli/commands/businesses.py +0 -57
  151. direct_cli-0.4.2/direct_cli/commands/creatives.py +0 -150
  152. direct_cli-0.4.2/direct_cli/commands/dynamicfeedadtargets.py +0 -190
  153. direct_cli-0.4.2/direct_cli/commands/negativekeywordsharedsets.py +0 -128
  154. direct_cli-0.4.2/direct_cli/commands/turbopages.py +0 -67
  155. direct_cli-0.4.2/direct_cli/commands/v4shells.py +0 -20
  156. direct_cli-0.4.2/direct_cli/translations/v4shells.json +0 -3
  157. direct_cli-0.4.2/tests/test_dry_run.py +0 -23114
  158. {direct_cli-0.4.2 → direct_cli-0.5.1}/.env.example +0 -0
  159. {direct_cli-0.4.2 → direct_cli-0.5.1}/.github/copilot-instructions.md +0 -0
  160. {direct_cli-0.4.2 → direct_cli-0.5.1}/.github/workflows/api-coverage.yml +0 -0
  161. {direct_cli-0.4.2 → direct_cli-0.5.1}/.github/workflows/claude.yml +0 -0
  162. {direct_cli-0.4.2 → direct_cli-0.5.1}/AGENTS.md +0 -0
  163. {direct_cli-0.4.2 → direct_cli-0.5.1}/MANIFEST.in +0 -0
  164. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/__init__.py +0 -0
  165. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_autotargeting.py +0 -0
  166. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_deprecated.py +0 -0
  167. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_flag_validation.py +0 -0
  168. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_smoke_probes.py +0 -0
  169. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/__init__.py +0 -0
  170. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/__init__.py +0 -0
  171. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/endpoints.py +0 -0
  172. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/exceptions.py +0 -0
  173. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/tapi_yandex_direct.py +0 -0
  174. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/tapi_yandex_direct.pyi +0 -0
  175. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/v4/__init__.py +0 -0
  176. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/v4/adapter.py +0 -0
  177. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/v4/adapter.pyi +0 -0
  178. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/_vendor/tapi_yandex_direct/v4/resource_mapping.py +0 -0
  179. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/auth.py +0 -0
  180. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/__init__.py +0 -0
  181. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/auth.py +0 -0
  182. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/changes.py +0 -0
  183. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/keywordsresearch.py +0 -0
  184. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/leads.py +0 -0
  185. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/commands/reports.py +0 -0
  186. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/i18n.py +0 -0
  187. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/adextensions.json +0 -0
  188. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/adimages.json +0 -0
  189. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/advideos.json +0 -0
  190. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/agencyclients.json +0 -0
  191. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/auth.json +0 -0
  192. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/balance.json +0 -0
  193. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/bidmodifiers.json +0 -0
  194. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/bids.json +0 -0
  195. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/businesses.json +0 -0
  196. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/campaigns.json +0 -0
  197. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/changes.json +0 -0
  198. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/clients.json +0 -0
  199. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/creatives.json +0 -0
  200. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/dictionaries.json +0 -0
  201. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/dynamicads.json +0 -0
  202. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/dynamicfeedadtargets.json +0 -0
  203. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/feeds.json +0 -0
  204. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/keywordbids.json +0 -0
  205. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/keywords.json +0 -0
  206. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/keywordsresearch.json +0 -0
  207. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/leads.json +0 -0
  208. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/negativekeywordsharedsets.json +0 -0
  209. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/reports.json +0 -0
  210. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/retargeting.json +0 -0
  211. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/sitelinks.json +0 -0
  212. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/smartadtargets.json +0 -0
  213. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/strategies.json +0 -0
  214. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/turbopages.json +0 -0
  215. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4account.json +0 -0
  216. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4adimage.json +0 -0
  217. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4events.json +0 -0
  218. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4forecast.json +0 -0
  219. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4goals.json +0 -0
  220. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4keywords.json +0 -0
  221. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4tags.json +0 -0
  222. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/v4wordstat.json +0 -0
  223. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/translations/vcards.json +0 -0
  224. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/v4/__init__.py +0 -0
  225. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/v4/emit.py +0 -0
  226. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/v4/money.py +0 -0
  227. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli/v4_contracts.py +0 -0
  228. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli.egg-info/dependency_links.txt +0 -0
  229. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli.egg-info/entry_points.txt +0 -0
  230. {direct_cli-0.4.2 → direct_cli-0.5.1}/direct_cli.egg-info/top_level.txt +0 -0
  231. {direct_cli-0.4.2 → direct_cli-0.5.1}/docs/audits/API_COVERAGE.md +0 -0
  232. {direct_cli-0.4.2 → direct_cli-0.5.1}/docs/audits/PROJECT_WIRE_SHAPE_AUDIT_2026-05-30.md +0 -0
  233. {direct_cli-0.4.2 → direct_cli-0.5.1}/docs/audits/WIRE_SHAPE_TRIAGE_2026-05-30.md +0 -0
  234. {direct_cli-0.4.2 → direct_cli-0.5.1}/docs/audits/issue-198-mutating-wsdl-audit.md +0 -0
  235. {direct_cli-0.4.2 → direct_cli-0.5.1}/docs/audits/wire_shape.json +0 -0
  236. {direct_cli-0.4.2 → direct_cli-0.5.1}/docs/superpowers/plans/2026-04-12-issue-32-completion.md +0 -0
  237. {direct_cli-0.4.2 → direct_cli-0.5.1}/docs/superpowers/specs/2026-04-23-vendor-tapi-yandex-direct-design.md +0 -0
  238. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/anonymize_cassettes.py +0 -0
  239. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/audit_wire_shape.py +0 -0
  240. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/build_api_coverage_checklist.py +0 -0
  241. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/build_wsdl_optional_field_audit.py +0 -0
  242. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/check_reports_drift.py +0 -0
  243. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/check_wsdl_drift.py +0 -0
  244. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/patch_vendor_imports.py +0 -0
  245. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/preflight_check.sh +0 -0
  246. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/probe_drift_urls.sh +0 -0
  247. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/refresh_reports_cache.py +0 -0
  248. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/refresh_wsdl_cache.py +0 -0
  249. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/release_pypi.sh +0 -0
  250. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/sandbox_write_audit.py +0 -0
  251. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/sandbox_write_live.py +0 -0
  252. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/test_safe_commands.sh +0 -0
  253. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/test_sandbox_write.sh +0 -0
  254. {direct_cli-0.4.2 → direct_cli-0.5.1}/scripts/update_vendor.sh +0 -0
  255. {direct_cli-0.4.2 → direct_cli-0.5.1}/setup.cfg +0 -0
  256. {direct_cli-0.4.2 → direct_cli-0.5.1}/setup.py +0 -0
  257. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/API_COVERAGE.md +0 -0
  258. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/API_ISSUE_AUDIT.md +0 -0
  259. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/MANUAL_COVERAGE.md +0 -0
  260. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/__init__.py +0 -0
  261. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/_orphan_store.py +0 -0
  262. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteAdExtensions.test_add_delete.yaml +0 -0
  263. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteAdGroups.test_add_update_delete.yaml +0 -0
  264. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteAdImages.test_add_delete.yaml +0 -0
  265. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteAds.test_add_text_ad_update_delete.yaml +0 -0
  266. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteAudienceTargets.test_add_delete.yaml +0 -0
  267. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteBidModifiersAdd.test_add_delete_mobile.yaml +0 -0
  268. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteBidModifiersSet.test_set_without_id_is_rejected.yaml +0 -0
  269. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteBids.test_set_bid.yaml +0 -0
  270. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteBidsRead.test_bids_get.yaml +0 -0
  271. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteBidsRead.test_bids_set_auto.yaml +0 -0
  272. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteCampaignDraftLifecycle.test_draft_create_get_delete.yaml +0 -0
  273. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteCampaigns.test_campaign_lifecycle.yaml +0 -0
  274. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteDynamicAds.test_add_update_delete.yaml +0 -0
  275. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteFeeds.test_add_update_delete.yaml +0 -0
  276. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteKeywordBids.test_set_keyword_bid.yaml +0 -0
  277. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteKeywords.test_add_update_delete.yaml +0 -0
  278. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteNegativeKeywordSharedSets.test_add_update_delete.yaml +0 -0
  279. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteRetargeting.test_add_delete.yaml +0 -0
  280. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteRetargetingUpdate.test_retargeting_update.yaml +0 -0
  281. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteSitelinks.test_add_delete.yaml +0 -0
  282. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteSmartAdTargets.test_add_update_delete.yaml +0 -0
  283. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteStrategies.test_strategies_lifecycle.yaml +0 -0
  284. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_integration_write/TestWriteVCards.test_add_delete.yaml +0 -0
  285. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[adextensions_get].yaml +0 -0
  286. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[adgroups_get].yaml +0 -0
  287. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[adimages_get].yaml +0 -0
  288. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[ads_get].yaml +0 -0
  289. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[advideos_get].yaml +0 -0
  290. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[audiencetargets_get].yaml +0 -0
  291. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[bidmodifiers_get].yaml +0 -0
  292. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[bids_get].yaml +0 -0
  293. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[businesses_get].yaml +0 -0
  294. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[campaigns_get].yaml +0 -0
  295. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[changes_check].yaml +0 -0
  296. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[changes_check_campaigns].yaml +0 -0
  297. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[changes_check_dictionaries].yaml +0 -0
  298. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[clients_get].yaml +0 -0
  299. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[creatives_get].yaml +0 -0
  300. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[dictionaries_get].yaml +0 -0
  301. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[dynamicads_get].yaml +0 -0
  302. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[dynamicfeedadtargets_get].yaml +0 -0
  303. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[feeds_get].yaml +0 -0
  304. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[keywordbids_get].yaml +0 -0
  305. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[keywords_get].yaml +0 -0
  306. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[keywordsresearch_deduplicate].yaml +0 -0
  307. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[keywordsresearch_has_search_volume].yaml +0 -0
  308. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[leads_get].yaml +0 -0
  309. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[negativekeywordsharedsets_get].yaml +0 -0
  310. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[reports_get].yaml +0 -0
  311. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[retargeting_get].yaml +0 -0
  312. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[sitelinks_get].yaml +0 -0
  313. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[smartadtargets_get].yaml +0 -0
  314. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[strategies_get].yaml +0 -0
  315. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[turbopages_get].yaml +0 -0
  316. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[v4events_get_events_log].yaml +0 -0
  317. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[v4finance_get_clients_units].yaml +0 -0
  318. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[v4forecast_list].yaml +0 -0
  319. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[v4goals_get_stat_goals].yaml +0 -0
  320. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[v4tags_get_campaigns].yaml +0 -0
  321. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[v4wordstat_list_reports].yaml +0 -0
  322. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_read_command[vcards_get].yaml +0 -0
  323. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_read_cassettes/test_v4finance_check_payment_unknown_transaction.yaml +0 -0
  324. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_adgroups_add_update_delete.yaml +0 -0
  325. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_adimages_add_get_delete.yaml +0 -0
  326. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_ads_add_update_delete.yaml +0 -0
  327. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_ads_suspend_resume_archive_unarchive.yaml +0 -0
  328. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_advideos_add_get.yaml +0 -0
  329. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_audiencetargets_add_delete.yaml +0 -0
  330. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_audiencetargets_suspend_resume.yaml +0 -0
  331. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_bids_set.yaml +0 -0
  332. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_campaign_create_get_delete.yaml +0 -0
  333. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_creatives_chain_advideo_to_creative.yaml +0 -0
  334. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_dynamicads_add_delete.yaml +0 -0
  335. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_dynamicads_suspend_resume.yaml +0 -0
  336. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_feeds_add_update_delete.yaml +0 -0
  337. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_keywordbids_set.yaml +0 -0
  338. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_keywords_add_update_delete.yaml +0 -0
  339. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_keywords_suspend_resume.yaml +0 -0
  340. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_retargeting_add_update_delete.yaml +0 -0
  341. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_sitelinks_add_get_delete.yaml +0 -0
  342. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_smartadtargets_add_update_delete.yaml +0 -0
  343. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_smartadtargets_suspend_resume.yaml +0 -0
  344. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/cassettes/test_v5_live_write/test_v5_live_draft_strategies_add_update_archive_unarchive.yaml +0 -0
  345. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/fixtures/test-video.mp4 +0 -0
  346. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/reports_cache/raw/fields-list.html +0 -0
  347. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/reports_cache/raw/headers.html +0 -0
  348. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/reports_cache/raw/period.html +0 -0
  349. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/reports_cache/raw/spec.html +0 -0
  350. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/reports_cache/raw/type.html +0 -0
  351. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/reports_cache/spec.json +0 -0
  352. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_auth_bw.py +0 -0
  353. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_auth_oauth.py +0 -0
  354. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_auth_op.py +0 -0
  355. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_auth_write_json.py +0 -0
  356. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_autotargeting.py +0 -0
  357. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_balance.py +0 -0
  358. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_bidding_strategy_constants.py +0 -0
  359. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_changes.py +0 -0
  360. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_env_loading.py +0 -0
  361. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_field_names_option.py +0 -0
  362. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_flag_validation.py +0 -0
  363. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_handle_api_errors.py +0 -0
  364. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_i18n.py +0 -0
  365. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_low_coverage_payloads.py +0 -0
  366. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_read_cassettes.py +0 -0
  367. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_reports_drift.py +0 -0
  368. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_sandbox_write_audit.py +0 -0
  369. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_unknown_option_hints.py +0 -0
  370. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4_contracts.py +0 -0
  371. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4_exit_codes.py +0 -0
  372. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4_foundation.py +0 -0
  373. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4_runtime_shape.py +0 -0
  374. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4_safety.py +0 -0
  375. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4account.py +0 -0
  376. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4adimage.py +0 -0
  377. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4events.py +0 -0
  378. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4finance_money.py +0 -0
  379. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4finance_read.py +0 -0
  380. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4forecast.py +0 -0
  381. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4goals.py +0 -0
  382. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4keywords.py +0 -0
  383. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4tags.py +0 -0
  384. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_v4wordstat.py +0 -0
  385. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/test_vendor_imports.py +0 -0
  386. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/adextensions.xml +0 -0
  387. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/adgroups.xml +0 -0
  388. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/adimages.xml +0 -0
  389. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/ads.xml +0 -0
  390. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/advideos.xml +0 -0
  391. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/agencyclients.xml +0 -0
  392. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/audiencetargets.xml +0 -0
  393. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/bidmodifiers.xml +0 -0
  394. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/bids.xml +0 -0
  395. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/businesses.xml +0 -0
  396. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/campaigns.xml +0 -0
  397. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/changes.xml +0 -0
  398. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/clients.xml +0 -0
  399. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/creatives.xml +0 -0
  400. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/dictionaries.xml +0 -0
  401. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/dynamicfeedadtargets.xml +0 -0
  402. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/dynamictextadtargets.xml +0 -0
  403. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/feeds.xml +0 -0
  404. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/imports/adextensiontypes.xsd +0 -0
  405. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/imports/general.xsd +0 -0
  406. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/imports/generalclients.xsd +0 -0
  407. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/keywordbids.xml +0 -0
  408. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/keywords.xml +0 -0
  409. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/keywordsresearch.xml +0 -0
  410. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/leads.xml +0 -0
  411. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/negativekeywordsharedsets.xml +0 -0
  412. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/retargetinglists.xml +0 -0
  413. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/sitelinks.xml +0 -0
  414. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/smartadtargets.xml +0 -0
  415. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/strategies.xml +0 -0
  416. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/turbopages.xml +0 -0
  417. {direct_cli-0.4.2 → direct_cli-0.5.1}/tests/wsdl_cache/vcards.xml +0 -0
@@ -30,4 +30,6 @@ jobs:
30
30
  run: mypy .
31
31
 
32
32
  - name: Run offline tests
33
- run: pytest -m "not integration"
33
+ # Offline default comes from pyproject addopts (skips the live-network
34
+ # markers). integration_write stays in — it replays VCR cassettes offline.
35
+ run: pytest
@@ -56,3 +56,6 @@ Thumbs.db
56
56
  *.log
57
57
  *.bak
58
58
  *.orig
59
+
60
+ # Local measurement artifacts (regenerated via scripts/measure_criteria_limits.py)
61
+ scripts/_criteria_limits_results.json