codedna 0.8.3__tar.gz → 0.8.4__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 (86) hide show
  1. {codedna-0.8.3 → codedna-0.8.4}/PKG-INFO +1 -1
  2. {codedna-0.8.3 → codedna-0.8.4}/codedna/__init__.py +1 -1
  3. {codedna-0.8.3 → codedna-0.8.4}/codedna/cli.py +32 -1
  4. {codedna-0.8.3 → codedna-0.8.4}/pyproject.toml +1 -1
  5. {codedna-0.8.3 → codedna-0.8.4}/.gitignore +0 -0
  6. {codedna-0.8.3 → codedna-0.8.4}/LICENSE +0 -0
  7. {codedna-0.8.3 → codedna-0.8.4}/README.md +0 -0
  8. {codedna-0.8.3 → codedna-0.8.4}/codedna/ai.py +0 -0
  9. {codedna-0.8.3 → codedna-0.8.4}/codedna/ai_box.py +0 -0
  10. {codedna-0.8.3 → codedna-0.8.4}/codedna/ai_fingerprint.py +0 -0
  11. {codedna-0.8.3 → codedna-0.8.4}/codedna/analyzer.py +0 -0
  12. {codedna-0.8.3 → codedna-0.8.4}/codedna/api.py +0 -0
  13. {codedna-0.8.3 → codedna-0.8.4}/codedna/auth.py +0 -0
  14. {codedna-0.8.3 → codedna-0.8.4}/codedna/bus_factor.py +0 -0
  15. {codedna-0.8.3 → codedna-0.8.4}/codedna/db.py +0 -0
  16. {codedna-0.8.3 → codedna-0.8.4}/codedna/demo.py +0 -0
  17. {codedna-0.8.3 → codedna-0.8.4}/codedna/git_hook.py +0 -0
  18. {codedna-0.8.3 → codedna-0.8.4}/codedna/integrations/__init__.py +0 -0
  19. {codedna-0.8.3 → codedna-0.8.4}/codedna/integrations/github_bot.py +0 -0
  20. {codedna-0.8.3 → codedna-0.8.4}/codedna/integrations/jira.py +0 -0
  21. {codedna-0.8.3 → codedna-0.8.4}/codedna/integrations/lemonsqueezy.py +0 -0
  22. {codedna-0.8.3 → codedna-0.8.4}/codedna/interview.py +0 -0
  23. {codedna-0.8.3 → codedna-0.8.4}/codedna/onboarding.py +0 -0
  24. {codedna-0.8.3 → codedna-0.8.4}/codedna/plan.py +0 -0
  25. {codedna-0.8.3 → codedna-0.8.4}/codedna/protection.py +0 -0
  26. {codedna-0.8.3 → codedna-0.8.4}/codedna/rate_limit.py +0 -0
  27. {codedna-0.8.3 → codedna-0.8.4}/codedna/scorer.py +0 -0
  28. {codedna-0.8.3 → codedna-0.8.4}/codedna/sprint_health.py +0 -0
  29. {codedna-0.8.3 → codedna-0.8.4}/codedna/survey.py +0 -0
  30. {codedna-0.8.3 → codedna-0.8.4}/codedna/tech_debt.py +0 -0
  31. {codedna-0.8.3 → codedna-0.8.4}/dashboard/.env.local.example +0 -0
  32. {codedna-0.8.3 → codedna-0.8.4}/dashboard/.gitignore +0 -0
  33. {codedna-0.8.3 → codedna-0.8.4}/dashboard/README.md +0 -0
  34. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/ai-compare/page.tsx +0 -0
  35. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/api/auth/login/route.ts +0 -0
  36. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/api/auth/logout/route.ts +0 -0
  37. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/api/auth/me/route.ts +0 -0
  38. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/api/auth/register/route.ts +0 -0
  39. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/api/billing/checkout/route.ts +0 -0
  40. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/billing/page.tsx +0 -0
  41. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/bus-factor/page.tsx +0 -0
  42. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/commits/page.tsx +0 -0
  43. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/debt/page.tsx +0 -0
  44. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/favicon.ico +0 -0
  45. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/files/page.tsx +0 -0
  46. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/fonts/GeistMonoVF.woff +0 -0
  47. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/fonts/GeistVF.woff +0 -0
  48. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/globals.css +0 -0
  49. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/interview/page.tsx +0 -0
  50. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/layout.tsx +0 -0
  51. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/login/page.tsx +0 -0
  52. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/onboarding/page.tsx +0 -0
  53. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/page.tsx +0 -0
  54. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/pricing/page.tsx +0 -0
  55. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/protected/page.tsx +0 -0
  56. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/register/page.tsx +0 -0
  57. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/settings/integrations/page.tsx +0 -0
  58. {codedna-0.8.3 → codedna-0.8.4}/dashboard/app/sprints/page.tsx +0 -0
  59. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/AuthProvider.tsx +0 -0
  60. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/ClientProviders.tsx +0 -0
  61. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/CommitTable.tsx +0 -0
  62. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/CostInfoTooltip.tsx +0 -0
  63. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/ErrorBanner.tsx +0 -0
  64. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/FeatureGate.tsx +0 -0
  65. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/FileHeatmap.tsx +0 -0
  66. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/LanguageSwitcher.tsx +0 -0
  67. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/NavClient.tsx +0 -0
  68. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/OverviewTitles.tsx +0 -0
  69. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/QuickInsights.tsx +0 -0
  70. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/RiskBadge.tsx +0 -0
  71. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/SummaryCards.tsx +0 -0
  72. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/UnderstandingChart.tsx +0 -0
  73. {codedna-0.8.3 → codedna-0.8.4}/dashboard/components/UpgradeBanner.tsx +0 -0
  74. {codedna-0.8.3 → codedna-0.8.4}/dashboard/lib/api.ts +0 -0
  75. {codedna-0.8.3 → codedna-0.8.4}/dashboard/lib/auth.ts +0 -0
  76. {codedna-0.8.3 → codedna-0.8.4}/dashboard/lib/i18n/en.ts +0 -0
  77. {codedna-0.8.3 → codedna-0.8.4}/dashboard/lib/i18n/index.tsx +0 -0
  78. {codedna-0.8.3 → codedna-0.8.4}/dashboard/lib/i18n/tr.ts +0 -0
  79. {codedna-0.8.3 → codedna-0.8.4}/dashboard/lib/plan.ts +0 -0
  80. {codedna-0.8.3 → codedna-0.8.4}/dashboard/next-env.d.ts +0 -0
  81. {codedna-0.8.3 → codedna-0.8.4}/dashboard/next.config.mjs +0 -0
  82. {codedna-0.8.3 → codedna-0.8.4}/dashboard/package-lock.json +0 -0
  83. {codedna-0.8.3 → codedna-0.8.4}/dashboard/package.json +0 -0
  84. {codedna-0.8.3 → codedna-0.8.4}/dashboard/postcss.config.mjs +0 -0
  85. {codedna-0.8.3 → codedna-0.8.4}/dashboard/tailwind.config.ts +0 -0
  86. {codedna-0.8.3 → codedna-0.8.4}/dashboard/tsconfig.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codedna
3
- Version: 0.8.3
3
+ Version: 0.8.4
4
4
  Summary: AI Code Transparency Tool - detect AI-written code and measure developer understanding
5
5
  Project-URL: Homepage, https://codedna.dev
6
6
  Project-URL: Repository, https://github.com/natureco-official/codedna
@@ -1,4 +1,4 @@
1
1
  """CodeDNA — AI Code Transparency Tool."""
2
2
 
3
- __version__ = "0.8.3"
3
+ __version__ = "0.8.4"
4
4
  __app_name__ = "codedna"
@@ -217,6 +217,19 @@ def scan(
217
217
  f"Risk: [bold {risk_color}]{risk_label}[/bold {risk_color}]\n"
218
218
  )
219
219
 
220
+ # AI analysis box
221
+ try:
222
+ from codedna.ai_box import print_ai_box
223
+ summary = (
224
+ f"CodeDNA scan: {len(results)} files\n"
225
+ f"Avg AI probability: {avg_ai:.0f}%\n"
226
+ f"Risk level: {risk_label}\n"
227
+ f"Files: {', '.join(str(root / s.file_path) for s in results[:10])}"
228
+ )
229
+ print_ai_box("codedna scan", summary)
230
+ except Exception:
231
+ pass
232
+
220
233
 
221
234
  # ---------------------------------------------------------------------------
222
235
  # codedna status
@@ -283,8 +296,8 @@ def status(
283
296
  )
284
297
 
285
298
  # Show summary
299
+ avg_ai = sum(s.ai_probability for s in results) / len(results) if results else 0.0
286
300
  if results:
287
- avg_ai = sum(s.ai_probability for s in results) / len(results)
288
301
  risk_label, risk_color = _risk_label(avg_ai * 100)
289
302
 
290
303
  understanding_display = (
@@ -324,6 +337,24 @@ def status(
324
337
  "[dim]No supported code files found in this commit.[/dim]"
325
338
  )
326
339
 
340
+ # AI analysis box
341
+ try:
342
+ from codedna.ai_box import print_ai_box
343
+ if results:
344
+ status_summary = (
345
+ f"Commit: {commit_hash[:8]}\n"
346
+ f"Author: {author}\n"
347
+ f"Message: {message}\n"
348
+ f"Files changed: {len(results)}\n"
349
+ f"Avg AI probability: {avg_ai*100:.0f}%\n"
350
+ f"Files: {', '.join(s.file_path for s in results[:5])}"
351
+ )
352
+ else:
353
+ status_summary = f"Commit: {commit_hash[:8]}\nNo supported code files."
354
+ print_ai_box("codedna status", status_summary)
355
+ except Exception:
356
+ pass
357
+
327
358
 
328
359
  # ---------------------------------------------------------------------------
329
360
  # codedna history
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codedna"
3
- version = "0.8.3"
3
+ version = "0.8.4"
4
4
  description = "AI Code Transparency Tool - detect AI-written code and measure developer understanding"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
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
File without changes