repr-cli 0.2.19__tar.gz → 0.2.20__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 (72) hide show
  1. {repr_cli-0.2.19 → repr_cli-0.2.20}/PKG-INFO +1 -1
  2. {repr_cli-0.2.19 → repr_cli-0.2.20}/pyproject.toml +1 -1
  3. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/cli.py +3 -0
  4. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/story_synthesis.py +6 -4
  5. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr_cli.egg-info/PKG-INFO +1 -1
  6. {repr_cli-0.2.19 → repr_cli-0.2.20}/LICENSE +0 -0
  7. {repr_cli-0.2.19 → repr_cli-0.2.20}/README.md +0 -0
  8. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/__init__.py +0 -0
  9. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/__main__.py +0 -0
  10. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/api.py +0 -0
  11. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/auth.py +0 -0
  12. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/change_synthesis.py +0 -0
  13. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/config.py +0 -0
  14. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/configure.py +0 -0
  15. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/cron.py +0 -0
  16. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/__init__.py +0 -0
  17. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/build.py +0 -0
  18. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-B-aCjaCw.js +0 -0
  19. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-BYFVbEev.css +0 -0
  20. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-BrrhyJFO.css +0 -0
  21. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-C7Gzxc4f.js +0 -0
  22. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-CQdMXo6g.js +0 -0
  23. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-CcEg74ts.js +0 -0
  24. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-Cerc-iA_.js +0 -0
  25. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-CjVcBW2L.css +0 -0
  26. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-Cs8ofFGd.js +0 -0
  27. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-Dfl3mR5E.js +0 -0
  28. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-DwN0SeMc.css +0 -0
  29. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/assets/index-YFch_e0S.js +0 -0
  30. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/favicon.svg +0 -0
  31. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/dist/index.html +0 -0
  32. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/manager.py +0 -0
  33. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/dashboard/server.py +0 -0
  34. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/db.py +0 -0
  35. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/discovery.py +0 -0
  36. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/doctor.py +0 -0
  37. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/extractor.py +0 -0
  38. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/hooks.py +0 -0
  39. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/keychain.py +0 -0
  40. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/llm.py +0 -0
  41. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/loaders/__init__.py +0 -0
  42. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/loaders/base.py +0 -0
  43. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/loaders/claude_code.py +0 -0
  44. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/loaders/clawdbot.py +0 -0
  45. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/loaders/gemini_antigravity.py +0 -0
  46. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/mcp_server.py +0 -0
  47. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/models.py +0 -0
  48. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/openai_analysis.py +0 -0
  49. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/privacy.py +0 -0
  50. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/session_extractor.py +0 -0
  51. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/storage.py +0 -0
  52. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/telemetry.py +0 -0
  53. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/templates.py +0 -0
  54. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/timeline.py +0 -0
  55. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/tools.py +0 -0
  56. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/ui.py +0 -0
  57. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr/updater.py +0 -0
  58. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr_cli.egg-info/SOURCES.txt +0 -0
  59. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr_cli.egg-info/dependency_links.txt +0 -0
  60. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr_cli.egg-info/entry_points.txt +0 -0
  61. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr_cli.egg-info/requires.txt +0 -0
  62. {repr_cli-0.2.19 → repr_cli-0.2.20}/repr_cli.egg-info/top_level.txt +0 -0
  63. {repr_cli-0.2.19 → repr_cli-0.2.20}/setup.cfg +0 -0
  64. {repr_cli-0.2.19 → repr_cli-0.2.20}/setup.py +0 -0
  65. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_deduplication.py +0 -0
  66. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_environment_variables.py +0 -0
  67. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_network_sandboxing.py +0 -0
  68. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_privacy_guarantees.py +0 -0
  69. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_profile_export.py +0 -0
  70. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_repo_identity.py +0 -0
  71. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_stories_review.py +0 -0
  72. {repr_cli-0.2.19 → repr_cli-0.2.20}/tests/test_token_budget.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: repr-cli
3
- Version: 0.2.19
3
+ Version: 0.2.20
4
4
  Summary: A beautiful, privacy-first CLI that analyzes your code repositories and generates a compelling developer profile
5
5
  Author-email: Repr <hello@repr.dev>
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "repr-cli"
7
- version = "0.2.19"
7
+ version = "0.2.20"
8
8
  description = "A beautiful, privacy-first CLI that analyzes your code repositories and generates a compelling developer profile"
9
9
  readme = "README.md"
10
10
  license = {file = "LICENSE"}
@@ -1136,6 +1136,9 @@ def generate(
1136
1136
  story.public_show = result.show
1137
1137
  story.internal_show = result.show
1138
1138
  except Exception as e:
1139
+ # Print error for visibility
1140
+ if not json_output:
1141
+ print_warning(f" Post generation failed: {e}")
1139
1142
  # Fallback: build from story data
1140
1143
  from .story_synthesis import _build_fallback_codex
1141
1144
  result = _build_fallback_codex(story, "internal")
@@ -683,10 +683,9 @@ class StorySynthesizer:
683
683
  analysis = BatchAnalysis.model_validate_json(content)
684
684
 
685
685
  except Exception as e:
686
- # Log the error for debugging
687
- import os
688
- if os.environ.get("REPR_DEBUG"):
689
- print(f"DEBUG: Exception in LLM call: {type(e).__name__}: {e}")
686
+ # Always print error for visibility
687
+ from rich.console import Console
688
+ Console(stderr=True).print(f"[yellow] LLM error: {type(e).__name__}: {e}[/]")
690
689
 
691
690
  # Fallback: each commit is its own story
692
691
  analysis = BatchAnalysis(stories=[
@@ -1095,6 +1094,9 @@ async def transform_story_for_feed(
1095
1094
  return result
1096
1095
 
1097
1096
  except Exception as e:
1097
+ # Print error for visibility
1098
+ from rich.console import Console
1099
+ Console(stderr=True).print(f"[yellow] Transform error: {type(e).__name__}: {e}[/]")
1098
1100
  # Fallback: construct structured content from available data
1099
1101
  return _build_fallback_codex(story, mode)
1100
1102
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: repr-cli
3
- Version: 0.2.19
3
+ Version: 0.2.20
4
4
  Summary: A beautiful, privacy-first CLI that analyzes your code repositories and generates a compelling developer profile
5
5
  Author-email: Repr <hello@repr.dev>
6
6
  License: MIT License
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes