thoughtleaders-cli 0.9.22__tar.gz → 0.9.23__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 (218) hide show
  1. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/.claude-plugin/plugin.json +1 -1
  2. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/PKG-INFO +1 -1
  3. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/pyproject.toml +1 -1
  4. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl/SKILL.md +2 -2
  5. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl/references/business-glossary.md +2 -2
  6. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl/references/postgres-schema.md +3 -2
  7. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/sortable_columns.json +1 -1
  8. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/__init__.py +1 -1
  9. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/channels.py +1 -1
  10. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/uv.lock +1 -1
  11. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/.claude-plugin/marketplace.json +0 -0
  12. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/.github/dependabot.yml +0 -0
  13. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/.github/workflows/ci.yml +0 -0
  14. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/.github/workflows/cli-integration.yml +0 -0
  15. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/.github/workflows/python-publish.yml +0 -0
  16. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/.gitignore +0 -0
  17. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/AGENTS.md +0 -0
  18. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/API.md +0 -0
  19. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/CLAUDE.md +0 -0
  20. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/LICENSE +0 -0
  21. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/README.md +0 -0
  22. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/cast-sheet.md +0 -0
  23. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/gem-classifier.md +0 -0
  24. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/keyword-context-classifier.md +0 -0
  25. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/keyword-entity-resolver.md +0 -0
  26. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/keyword-relevance-validator.md +0 -0
  27. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/merge-shard.md +0 -0
  28. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/tl-analyst.md +0 -0
  29. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/agents/youtube-comment-classifier.md +0 -0
  30. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/hooks/hooks.json +0 -0
  31. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/hooks/scripts/load-tl-skill.mjs +0 -0
  32. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/hooks/scripts/post-usage.sh +0 -0
  33. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/hooks/scripts/pre-check.sh +0 -0
  34. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/_shared/tl_data.py +0 -0
  35. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/connector-impact/SKILL.md +0 -0
  36. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/connector-impact/references/help.md +0 -0
  37. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/connector-impact/references/impact-schema.md +0 -0
  38. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/connector-impact/references/impact-to-tl-mapping.md +0 -0
  39. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl/references/elasticsearch-schema.md +0 -0
  40. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl/references/firebolt-schema.md +0 -0
  41. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/SKILL.md +0 -0
  42. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/cast-sheet.md +0 -0
  43. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/creator-brief-template.md +0 -0
  44. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/cue-phrases.txt +0 -0
  45. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/evidence-rules.md +0 -0
  46. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/extractor-rubric.md +0 -0
  47. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/identity-lane.md +0 -0
  48. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/profile-spec.md +0 -0
  49. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/references/transcript-mining.md +0 -0
  50. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/assemble_extracts.py +0 -0
  51. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/authenticate.py +0 -0
  52. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/bio_lane.py +0 -0
  53. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/brand_reads.py +0 -0
  54. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/build_html.py +0 -0
  55. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/cast_sheet.py +0 -0
  56. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/channel_context.py +0 -0
  57. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/cluster_gems.py +0 -0
  58. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/extractor_prompt.py +0 -0
  59. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/fetch_cues.py +0 -0
  60. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/identity_prompt.py +0 -0
  61. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/ledger_meta.py +0 -0
  62. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/merge_pass.py +0 -0
  63. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/moment_check.py +0 -0
  64. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/page.css +0 -0
  65. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/start_run.py +0 -0
  66. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/store_io.py +0 -0
  67. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/tier_hint.py +0 -0
  68. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-brand-creator-connection/scripts/verify_quotes.py +0 -0
  69. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/.gitignore +0 -0
  70. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/SKILL.md +0 -0
  71. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/references/comment-patterns.md +0 -0
  72. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/references/peer-cohort.md +0 -0
  73. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/references/red-flags.md +0 -0
  74. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/references/scoring.md +0 -0
  75. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/_io_utf8.py +0 -0
  76. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/analyze_channel.py +0 -0
  77. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/anomaly_detector.py +0 -0
  78. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/channel_lookup.py +0 -0
  79. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/comment_analyzer.py +0 -0
  80. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/comment_scraper.py +0 -0
  81. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/engagement_ratios.py +0 -0
  82. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/peer_cohort.py +0 -0
  83. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/report.py +0 -0
  84. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/resolve_channel.py +0 -0
  85. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/score.py +0 -0
  86. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/video_integrity.py +0 -0
  87. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-channel-authenticity/scripts/view_curves.py +0 -0
  88. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-create-workflow/SKILL.md +0 -0
  89. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-create-workflow/references/creating-in-app.md +0 -0
  90. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-create-workflow/references/methodology.md +0 -0
  91. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-create-workflow/references/pitfalls.md +0 -0
  92. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-create-workflow/references/workflow-model.md +0 -0
  93. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/SKILL.md +0 -0
  94. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/references/elasticsearch-content-search.md +0 -0
  95. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/references/help.md +0 -0
  96. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/scripts/build_report.py +0 -0
  97. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/scripts/expand_entities.py +0 -0
  98. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/scripts/fetch_context.py +0 -0
  99. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/scripts/probe.py +0 -0
  100. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/scripts/search_channels.py +0 -0
  101. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/scripts/search_videos.py +0 -0
  102. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-keyword-research/scripts/select_keywords.py +0 -0
  103. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/SKILL.md +0 -0
  104. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/columns_brands.md +0 -0
  105. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/columns_channels.md +0 -0
  106. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/columns_content.md +0 -0
  107. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/columns_sponsorships.md +0 -0
  108. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/intelligence_filterset_schema.json +0 -0
  109. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/intelligence_widget_schema.json +0 -0
  110. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/report_glossary.md +0 -0
  111. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/sponsorship_filterset_schema.json +0 -0
  112. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/sponsorship_widget_schema.json +0 -0
  113. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-save-report/references/widgets.md +0 -0
  114. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-top-partnerships/SKILL.md +0 -0
  115. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-top-partnerships/scripts/top_partnerships.py +0 -0
  116. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-views-guarantee/SKILL.md +0 -0
  117. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/skills/tl-views-guarantee/scripts/vg.py +0 -0
  118. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/__main__.py +0 -0
  119. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/_completions.py +0 -0
  120. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/_typer_utils.py +0 -0
  121. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/auth/__init__.py +0 -0
  122. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/auth/commands.py +0 -0
  123. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/auth/login.py +0 -0
  124. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/auth/pkce.py +0 -0
  125. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/auth/token_store.py +0 -0
  126. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/client/__init__.py +0 -0
  127. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/client/errors.py +0 -0
  128. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/client/http.py +0 -0
  129. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/__init__.py +0 -0
  130. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/_comments_common.py +0 -0
  131. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/agent.py +0 -0
  132. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/balance.py +0 -0
  133. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/brands.py +0 -0
  134. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/bulk_import.py +0 -0
  135. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/changelog.py +0 -0
  136. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/credits.py +0 -0
  137. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/db.py +0 -0
  138. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/deals.py +0 -0
  139. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/describe.py +0 -0
  140. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/doctor.py +0 -0
  141. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/matches.py +0 -0
  142. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/memory.py +0 -0
  143. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/profiles.py +0 -0
  144. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/proposals.py +0 -0
  145. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/recommender.py +0 -0
  146. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/reports.py +0 -0
  147. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/schema.py +0 -0
  148. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/setup.py +0 -0
  149. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/skills.py +0 -0
  150. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/snapshots.py +0 -0
  151. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/sponsorships.py +0 -0
  152. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/uploads.py +0 -0
  153. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/whoami.py +0 -0
  154. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/commands/workflows.py +0 -0
  155. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/config.py +0 -0
  156. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/filters.py +0 -0
  157. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/hints.py +0 -0
  158. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/main.py +0 -0
  159. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/output/__init__.py +0 -0
  160. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/output/formatter.py +0 -0
  161. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/query_history.py +0 -0
  162. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/self_update.py +0 -0
  163. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/src/tl_cli/skill_registry.py +0 -0
  164. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/__init__.py +0 -0
  165. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_agent_complete.py +0 -0
  166. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_assemble_extracts.py +0 -0
  167. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_auth.py +0 -0
  168. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_bio_lane.py +0 -0
  169. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_brands_winner_channels.py +0 -0
  170. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_build_report.py +0 -0
  171. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_cast_sheet.py +0 -0
  172. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_channels_lookalike.py +0 -0
  173. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_cluster_gems.py +0 -0
  174. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_connections_map_rules.py +0 -0
  175. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_creator_brief_accuracy.py +0 -0
  176. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_creator_brief_scripts.py +0 -0
  177. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_db_repeat_warning.py +0 -0
  178. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_describe.py +0 -0
  179. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_error_hints.py +0 -0
  180. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_expand_entities.py +0 -0
  181. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_extractor_prompt.py +0 -0
  182. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_fetch_cues.py +0 -0
  183. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_filters.py +0 -0
  184. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_http_auth.py +0 -0
  185. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_ledger_meta.py +0 -0
  186. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_memory.py +0 -0
  187. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_merge_pass.py +0 -0
  188. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_output.py +0 -0
  189. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_probe.py +0 -0
  190. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_probe_matching.py +0 -0
  191. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_profiles.py +0 -0
  192. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_quota_refusal_message.py +0 -0
  193. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_refusal_rendering.py +0 -0
  194. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_reports.py +0 -0
  195. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_scripts_executable.py +0 -0
  196. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_search_channels.py +0 -0
  197. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_search_videos.py +0 -0
  198. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_select_keywords.py +0 -0
  199. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_setup.py +0 -0
  200. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_setup_marker_respect.py +0 -0
  201. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_shared_tl_data.py +0 -0
  202. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_skill_registry.py +0 -0
  203. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_skills_command.py +0 -0
  204. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_sponsorships.py +0 -0
  205. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_start_run.py +0 -0
  206. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_whoami_newsletter.py +0 -0
  207. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests/test_workflows.py +0 -0
  208. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/AGENTS.md +0 -0
  209. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/conftest.py +0 -0
  210. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/test_balance.py +0 -0
  211. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/test_db_es.py +0 -0
  212. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/test_db_fb.py +0 -0
  213. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/test_db_pg.py +0 -0
  214. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/test_schema.py +0 -0
  215. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tests_cli/test_whoami.py +0 -0
  216. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tools/tl-brand-creator-connection/references/cue-phrases.trained-2026-09-15.txt +0 -0
  217. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tools/tl-brand-creator-connection/references/cue-training.md +0 -0
  218. {thoughtleaders_cli-0.9.22 → thoughtleaders_cli-0.9.23}/tools/tl-brand-creator-connection/scripts/train_cues.py +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tl-cli",
3
- "version": "0.9.22",
3
+ "version": "0.9.23",
4
4
  "description": "ThoughtLeaders CLI — query sponsorship deals, channels, brands, uploads, and intelligence from the terminal",
5
5
  "author": {
6
6
  "name": "ThoughtLeaders",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: thoughtleaders-cli
3
- Version: 0.9.22
3
+ Version: 0.9.23
4
4
  Summary: ThoughtLeaders CLI — query sponsorship data, channels, brands, and intelligence
5
5
  Project-URL: Homepage, https://thoughtleaders.io
6
6
  Project-URL: Repository, https://github.com/ThoughtLeaders-io/thoughtleaders-cli
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "thoughtleaders-cli"
7
- version = "0.9.22"
7
+ version = "0.9.23"
8
8
  description = "ThoughtLeaders CLI — query sponsorship data, channels, brands, and intelligence"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -95,7 +95,7 @@ Other key concepts:
95
95
  - Org scoping for sponsorships is profile-mediated: a sponsorship belongs to your org if **either** `advertiser_profile.organization` (brand side) **or** the adspot seller's organization — `ad_spot.publisher` → that user's profile → `organization` (publisher side) — matches yours. Representing the channel does not surface its deals.
96
96
  - **MSN** (Media Selling Network) — the ~12k YouTube channels that have opted in to receive sponsorship offers. A channels is in the MSN group if the `channel.media_selling_network_join_date` field is not null.
97
97
  - **MBN** (Media Buying Network) — the brand-side counterpart to MSN: brand profiles that have opted in to receive proposed sponsorships. A profile is in the MBN group if the `profile.media_buying_network_join_date` field is not null.
98
- - **TPP** (ThoughtLeaders Partner Program, a.k.a. "TL channels") — the ~170 channels TL has the closest working relationship with. A channel is in the TPP group if `channel.is_tpp` is True. **Prefer TPP channels when booking**: they respond fastest, are the easiest to close, and don't need an outreach round-trip — treat them as immediately bookable. TPP is a strict subset of MSN, so the same booking rules (one active mention adspot, etc.) apply.
98
+ - **TPP** (ThoughtLeaders Partner Program, a.k.a. "TL channels") — the ~170 channels TL has the closest working relationship with. A channel is in the TPP group if `channel.is_tpp` is True. **Prefer TPP channels when booking**: they respond fastest, are the easiest to close, and don't need an outreach round-trip — treat them as immediately bookable. TPP is a strict subset of MSN, so the same booking rules (one preferred mention adspot, etc.) apply.
99
99
  - **`demographics_updated_at`** (on channels) — If non-null, the channel has demographics screenshots on file. If null, no demographics screenshots have been uploaded. Use this to check whether a channel has demographics data from screenshots.
100
100
  - **`subscribers`** (on channels) — the channel's subscriber count.
101
101
  - **`projected_views`** (on channels) — projected views per video on that channel. Forward-looking estimate. May be null when not yet computed. ⚠️ NOT actual views and NOT ad-industry "impressions" (ads served).
@@ -103,7 +103,7 @@ Other key concepts:
103
103
  - **`views_guarantee`** (on sponsorships) — projected/guaranteed impressions for the sponsorship. Numeric.
104
104
  - **Sponsorship detail fields** (returned by `tl sponsorships show <id> --json`) — the detail payload includes `integration` (raw int), `publish_count`, `common_name`, `outreach_email`, nested `publisher` (`first_name`, `last_name`, `email`), nested `brand_contact` (`first_name`, `last_name`, `email`), and `brand.organization_name`. Use these when generating IOs, contracts, or outreach.
105
105
  - **CPM** has two distinct meanings depending on level — pick the one the user actually wants:
106
- - **Channel CPM** = `(adspot.price / channel.projected_views) * 1000` — projected price per thousand projected views. Used for pricing decisions **before** a sponsorship is sold. Available for channels with active adspots via `tl channels show <channel_id>`.
106
+ - **Channel CPM** = `(adspot.price / channel.projected_views) * 1000` — projected price per thousand projected views. Used for pricing decisions **before** a sponsorship is sold. Available for channels with preferred adspots via `tl channels show <channel_id>`.
107
107
  - **Sponsorship CPM** = calculated in either of two ways: if `views` is present, then CPM is `(sponsorship.price / sponsorship.views) × 1000`, meaning realized cost per thousand actual views, computed post-publication. If `views` is null, Compute from the sponsorship's `price` and the channel's `projected_views` fields.
108
108
  - Where possible, calculate the correct CPM in a SQL expression.
109
109
  - **Sponsorship dates** — each sponsorship has four distinct dates, useful for different queries:
@@ -56,7 +56,7 @@ Maps business terms to database concepts.
56
56
  - A channel can have **multiple ad spots** because different people sell the same channel (talent manager, direct, multiple agencies)
57
57
  - Ad spots are the **catalogue** — adlinks are **instances** of catalogue items
58
58
  - Price/cost on adspot = list/catalog values; price/cost on adlink = actual deal values
59
- - **Only one active adspot with integration=mention per channel at any time** (MSN rule)
59
+ - **Only one preferred adspot with integration=mention per channel at any time** (MSN rule)
60
60
 
61
61
  ## Ownership & Accountability
62
62
 
@@ -79,7 +79,7 @@ Maps business terms to database concepts.
79
79
  - Key data: **who is the contact** to buy the ad from
80
80
  - `thoughtleaders_channel.media_selling_network_join_date` = when channel joined MSN
81
81
  - `thoughtleaders_channel.is_tpp` = TPP channel — TL's closest partners, a strict subset of MSN. **Prefer when booking**: fastest response, easiest to close. Not a gating flag; not a process barrier.
82
- - **Rule:** Only one active adspot with `integration=mention` per channel at any time
82
+ - **Rule:** Only one preferred adspot with `integration=mention` per channel at any time
83
83
  - MSN quality depends on having current, accurate contact info
84
84
 
85
85
  ## Channels & Audience
@@ -165,8 +165,9 @@ A channel can have multiple adspots (different sellers: talent manager, direct,
165
165
  | `channel_id` | int FK | → `thoughtleaders_channel.id` |
166
166
  | `price` | numeric | List/catalogue price |
167
167
  | `cost` | numeric | List/catalogue cost |
168
- | `integration` | int | 1=YouTube Mentions (live reads). Only one active mention-type adspot per channel. |
169
- | `is_active` | boolean | Active flag |
168
+ | `integration` | int | 1=YouTube Mentions (live reads). Only one preferred mention-type adspot per channel. |
169
+ | `is_preferred` | boolean | The channel's preferred spot, the one new proposals are booked on |
170
+ | `is_active` | boolean | False = deactivated, unusable, kept only for its AdLinks. Client sandboxes never show deactivated spots or their AdLinks |
170
171
  | `publisher_id` | int FK | → `auth_user.id` (NOT `thoughtleaders_profile.id` — see gotcha below) |
171
172
 
172
173
  ### Key columns for the `thoughtleaders_channel` table
@@ -41,7 +41,7 @@
41
41
  {"name": "Avg. Comments", "backend_code": "comments_avg", "sortability": "both", "description": "Average comments per YouTube video."},
42
42
  {"name": "Median Evergreenness", "backend_code": "evergreenness_median", "sortability": "both", "description": "Median evergreenness for the channel."},
43
43
  {"name": "Avg. Evergreenness", "backend_code": "evergreenness_avg", "sortability": "both", "description": "Average evergreenness for the channel."},
44
- {"name": "Latest AdSpot Price", "backend_code": "latest_adspot_price", "sortability": "both", "description": "Price from the latest active AdSpot."},
44
+ {"name": "Latest AdSpot Price", "backend_code": "latest_adspot_price", "sortability": "both", "description": "Price from the latest preferred AdSpot."},
45
45
  {"name": "Subscribers", "backend_code": "subscribers", "sortability": "both", "description": "Channel subscriber count."},
46
46
  {"name": "Projected Views", "backend_code": "projected_views", "sortability": "both", "description": "Projected views for the channel's next video."},
47
47
  {"name": "Trend", "backend_code": "trend", "sortability": "both", "description": "Growth trend score — higher means faster-growing channel."}
@@ -1,3 +1,3 @@
1
1
  """ThoughtLeaders CLI — query sponsorship data, channels, brands, and intelligence."""
2
2
 
3
- __version__ = "0.9.22"
3
+ __version__ = "0.9.23"
@@ -71,7 +71,7 @@ def show_cmd(
71
71
  csv_output: bool = typer.Option(False, "--csv", help="CSV output (flattens adspots: one row per adspot)"),
72
72
  toon_output: bool = typer.Option(False, "--toon", help="TOON output (token-efficient for LLMs)"),
73
73
  ) -> None:
74
- """Show channel detail by ID or name (includes active adspots).
74
+ """Show channel detail by ID or name (includes preferred adspots).
75
75
 
76
76
  Accepts either a numeric channel ID or a partial name. Names that
77
77
  match more than one active channel return a 400 with the candidate
@@ -422,7 +422,7 @@ wheels = [
422
422
 
423
423
  [[package]]
424
424
  name = "thoughtleaders-cli"
425
- version = "0.9.22"
425
+ version = "0.9.23"
426
426
  source = { editable = "." }
427
427
  dependencies = [
428
428
  { name = "authlib" },