thoughtleaders-cli 0.6.41__tar.gz → 0.6.42__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 (96) hide show
  1. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/.claude-plugin/plugin.json +1 -1
  2. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/PKG-INFO +10 -8
  3. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/README.md +9 -7
  4. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/pyproject.toml +1 -1
  5. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl/SKILL.md +3 -7
  6. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/SKILL.md +124 -492
  7. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/columns_brands.md +12 -36
  8. thoughtleaders_cli-0.6.42/skills/tl-report-builder/references/columns_channels.md +99 -0
  9. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/columns_content.md +12 -32
  10. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/columns_sponsorships.md +14 -34
  11. thoughtleaders_cli-0.6.42/skills/tl-report-builder/references/report_glossary.md +147 -0
  12. thoughtleaders_cli-0.6.42/skills/tl-report-builder/references/widgets.md +184 -0
  13. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/__init__.py +1 -1
  14. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/brands.py +13 -3
  15. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/channels.py +17 -3
  16. thoughtleaders_cli-0.6.41/skills/tl-report-builder/references/columns_channels.md +0 -131
  17. thoughtleaders_cli-0.6.41/skills/tl-report-builder/references/report_glossary.md +0 -184
  18. thoughtleaders_cli-0.6.41/skills/tl-report-builder/references/widgets.md +0 -252
  19. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/.claude-plugin/marketplace.json +0 -0
  20. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/.github/workflows/python-publish.yml +0 -0
  21. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/.gitignore +0 -0
  22. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/AGENTS.md +0 -0
  23. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/CLAUDE.md +0 -0
  24. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/LICENSE +0 -0
  25. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/agents/tl-analyst.md +0 -0
  26. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/docs/architecture.md +0 -0
  27. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/hooks/hooks.json +0 -0
  28. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/hooks/scripts/load-tl-skill.mjs +0 -0
  29. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/hooks/scripts/post-usage.sh +0 -0
  30. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/hooks/scripts/pre-check.sh +0 -0
  31. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl/references/business-glossary.md +0 -0
  32. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl/references/elasticsearch-schema.md +0 -0
  33. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl/references/firebolt-schema.md +0 -0
  34. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl/references/postgres-schema.md +0 -0
  35. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-import/SKILL.md +0 -0
  36. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/examples/e2e_findings.md +0 -0
  37. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/examples/golden_queries.md +0 -0
  38. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/intelligence_filterset_schema.json +0 -0
  39. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/intelligence_widget_schema.json +0 -0
  40. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/sortable_columns.json +0 -0
  41. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/sponsorship_filterset_schema.json +0 -0
  42. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/references/sponsorship_widget_schema.json +0 -0
  43. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/column_builder.md +0 -0
  44. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/database_query.md +0 -0
  45. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/keyword_research.md +0 -0
  46. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/name_resolver.md +0 -0
  47. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/sample_judge.md +0 -0
  48. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/similar_channels.md +0 -0
  49. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/topic_matcher.md +0 -0
  50. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/skills/tl-report-builder/tools/widget_builder.md +0 -0
  51. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/_completions.py +0 -0
  52. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/auth/__init__.py +0 -0
  53. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/auth/commands.py +0 -0
  54. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/auth/finalize.py +0 -0
  55. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/auth/login.py +0 -0
  56. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/auth/pkce.py +0 -0
  57. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/auth/token_store.py +0 -0
  58. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/client/__init__.py +0 -0
  59. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/client/errors.py +0 -0
  60. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/client/http.py +0 -0
  61. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/__init__.py +0 -0
  62. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/_comments_common.py +0 -0
  63. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/ask.py +0 -0
  64. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/balance.py +0 -0
  65. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/bulk_import.py +0 -0
  66. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/changelog.py +0 -0
  67. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/credits.py +0 -0
  68. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/db.py +0 -0
  69. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/deals.py +0 -0
  70. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/describe.py +0 -0
  71. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/doctor.py +0 -0
  72. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/matches.py +0 -0
  73. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/proposals.py +0 -0
  74. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/recommender.py +0 -0
  75. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/reports.py +0 -0
  76. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/schema.py +0 -0
  77. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/setup.py +0 -0
  78. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/snapshots.py +0 -0
  79. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/sponsorships.py +0 -0
  80. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/uploads.py +0 -0
  81. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/commands/whoami.py +0 -0
  82. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/config.py +0 -0
  83. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/filters.py +0 -0
  84. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/hints.py +0 -0
  85. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/main.py +0 -0
  86. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/output/__init__.py +0 -0
  87. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/output/formatter.py +0 -0
  88. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/src/tl_cli/self_update.py +0 -0
  89. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/tests/__init__.py +0 -0
  90. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/tests/test_auth.py +0 -0
  91. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/tests/test_filters.py +0 -0
  92. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/tests/test_http_auth.py +0 -0
  93. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/tests/test_output.py +0 -0
  94. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/tests/test_reports.py +0 -0
  95. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/tests/test_sponsorships.py +0 -0
  96. {thoughtleaders_cli-0.6.41 → thoughtleaders_cli-0.6.42}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tl-cli",
3
- "version": "0.6.41",
3
+ "version": "0.6.42",
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.4
2
2
  Name: thoughtleaders-cli
3
- Version: 0.6.41
3
+ Version: 0.6.42
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
@@ -30,6 +30,15 @@ Description-Content-Type: text/markdown
30
30
 
31
31
  ThoughtLeaders CLI — query sponsorship data, channels, brands, and intelligence from the terminal.
32
32
 
33
+ ## Requirements
34
+
35
+ - Python 3.12+
36
+ - [jq](https://stedolan.github.io/jq/)
37
+ - [ripgrep](https://github.com/BurntSushi/ripgrep)
38
+ - [duckdb](https://duckdb.org/)
39
+
40
+ For automated installs on MacOS, prefer installing Homebrew and use the pipx package manager, but ask the user if they have the admin access (sudo) password first. If not, proceed by using `uv` and installing everything locally.
41
+
33
42
  ## Install
34
43
 
35
44
  ### As a developer
@@ -168,13 +177,6 @@ the pool of Proposals is yet smaller, and the pool of Deals is the smallest.
168
177
 
169
178
  # Integrations
170
179
 
171
- ## Requirements
172
-
173
- - Python 3.12+
174
- - [jq](https://stedolan.github.io/jq/)
175
- - [ripgrep](https://github.com/BurntSushi/ripgrep)
176
- - [duckdb](https://duckdb.org/)
177
-
178
180
  ## Claude Code Integration
179
181
 
180
182
  If you use Claude Code, install the plugin for natural language access:
@@ -2,6 +2,15 @@
2
2
 
3
3
  ThoughtLeaders CLI — query sponsorship data, channels, brands, and intelligence from the terminal.
4
4
 
5
+ ## Requirements
6
+
7
+ - Python 3.12+
8
+ - [jq](https://stedolan.github.io/jq/)
9
+ - [ripgrep](https://github.com/BurntSushi/ripgrep)
10
+ - [duckdb](https://duckdb.org/)
11
+
12
+ For automated installs on MacOS, prefer installing Homebrew and use the pipx package manager, but ask the user if they have the admin access (sudo) password first. If not, proceed by using `uv` and installing everything locally.
13
+
5
14
  ## Install
6
15
 
7
16
  ### As a developer
@@ -140,13 +149,6 @@ the pool of Proposals is yet smaller, and the pool of Deals is the smallest.
140
149
 
141
150
  # Integrations
142
151
 
143
- ## Requirements
144
-
145
- - Python 3.12+
146
- - [jq](https://stedolan.github.io/jq/)
147
- - [ripgrep](https://github.com/BurntSushi/ripgrep)
148
- - [duckdb](https://duckdb.org/)
149
-
150
152
  ## Claude Code Integration
151
153
 
152
154
  If you use Claude Code, install the plugin for natural language access:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "thoughtleaders-cli"
7
- version = "0.6.41"
7
+ version = "0.6.42"
8
8
  description = "ThoughtLeaders CLI — query sponsorship data, channels, brands, and intelligence"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1,13 +1,7 @@
1
1
  ---
2
2
  name: tl
3
3
  description: |
4
- Query and analyze ThoughtLeaders business data using the `tl` CLI. Default to raw database queries via `tl db pg|fb|es` for anything non-trivial (joins, aggregations, multi-condition filters, anything that would otherwise need post-processing); use the structured resource commands (sponsorships, deals, channels, brands, uploads, snapshots, reports) only for trivially simple lookups (single-record show by ID, plain filtered lists). You ARE the AI layer do not use `tl ask`.
5
-
6
- **Use this skill for ANALYTICAL questions**: counts, metrics, trends, time-series, distributions, single-record drill-downs, revenue / pipeline-weighting math, view-curve analysis, cross-source business questions. *"How many deals did we close last quarter?"*, *"What's the weighted pipeline by sales owner?"*, *"Show me the view curve for video X"*, *"Find mentions of Surfshark in transcripts"*, *"Investigate this video"*.
7
-
8
- **DEFER to `tl-cli:tl-report-builder`** when the user wants a **LIST of entities with filters** — channels, videos, brands, or sponsorships shaped as a report deliverable, regardless of whether they say "report" or "campaign". *"Show me partnerships from last quarter for beauty creators"*, *"Find me gaming channels with 100K+ subs"*, *"List the brands flagged as Managed Services"*, *"All sponsorships for channel X"*, *"Build me a TPP fintech list"* — every one of these goes to `tl-cli:tl-report-builder`, not here. The report-builder owns the four report types (content / brands / channels / sponsorships) and the preview/save flow; using this skill instead produces ad-hoc data dumps that bypass the saved-report system.
9
-
10
- Quick routing test: *"would the answer to this prompt be a TL report (a list of entities I'd want to come back to)?"* — if yes, route to `tl-cli:tl-report-builder`. If no (it's a number, a chart, a single record, or an exploratory analysis), use this skill.
4
+ Query and analyze ThoughtLeaders business data using the `tl` CLI. Default to raw database queries via `tl db pg|fb|es` for anything non-trivial (joins, aggregations, multi-condition filters, anything that would otherwise need post-processing). Use this skill for ANALYTICAL questions about channels, brands and sponsorships: counts, metrics, trends, time-series, distributions, single-record drill-downs, revenue / pipeline-weighting math, view-curve analysis, cross-source business questions. Examples: "How many deals did we close last quarter?", "What's the weighted pipeline by sales owner?", "Show me the view curve for video X", "Find mentions of Surfshark in transcripts", "Investigate this video".
11
5
  ---
12
6
 
13
7
  # ThoughtLeaders Data Analyst
@@ -378,6 +372,8 @@ tl db pg "SELECT b.name, COUNT(*) AS deals
378
372
 
379
373
  See [references/postgres-schema.md](references/postgres-schema.md) for the accepted-SQL rules and the table/column catalogue. `tl schema pg` prints the live table/column listing visible to the caller.
380
374
 
375
+ **PG cost is per-query.** The credit rate for a `tl db pg` call equals a base rate plus a surcharge for every priced table referenced and every priced column referenced (additive on both sides). Most tables and columns carry no surcharge; sensitive ones (e.g. demographics, channel outreach emails) cost more. Run `tl describe show db --json` to see the live surcharge map, and check `usage.credit_rate` in the response envelope after a query to see what your query was actually charged.
376
+
381
377
  ### Three sources, each authoritative for different things
382
378
 
383
379
  - **Postgres** — deals, pipeline, brands, channels, users, organizations, profiles, revenue. Source of truth for deal state. Reachable via the structured `tl` commands or raw `tl db pg`.