codedna 0.3.4__tar.gz → 0.4.0__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 (360) hide show
  1. {codedna-0.3.4 → codedna-0.4.0}/CHANGELOG.md +17 -0
  2. {codedna-0.3.4 → codedna-0.4.0}/PKG-INFO +1 -1
  3. {codedna-0.3.4 → codedna-0.4.0}/codedna/__init__.py +1 -1
  4. {codedna-0.3.4 → codedna-0.4.0}/codedna/cli.py +145 -0
  5. {codedna-0.3.4 → codedna-0.4.0}/pyproject.toml +1 -1
  6. {codedna-0.3.4 → codedna-0.4.0}/.env.example +0 -0
  7. {codedna-0.3.4 → codedna-0.4.0}/.github/CODEOWNERS +0 -0
  8. {codedna-0.3.4 → codedna-0.4.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {codedna-0.3.4 → codedna-0.4.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  10. {codedna-0.3.4 → codedna-0.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  11. {codedna-0.3.4 → codedna-0.4.0}/.github/dependabot.yml +0 -0
  12. {codedna-0.3.4 → codedna-0.4.0}/.github/workflows/codedna.yml +0 -0
  13. {codedna-0.3.4 → codedna-0.4.0}/.github/workflows/codeql.yml +0 -0
  14. {codedna-0.3.4 → codedna-0.4.0}/.github/workflows/test.yml +0 -0
  15. {codedna-0.3.4 → codedna-0.4.0}/.gitignore +0 -0
  16. {codedna-0.3.4 → codedna-0.4.0}/.python-version +0 -0
  17. {codedna-0.3.4 → codedna-0.4.0}/CONTRIBUTING.md +0 -0
  18. {codedna-0.3.4 → codedna-0.4.0}/LICENSE +0 -0
  19. {codedna-0.3.4 → codedna-0.4.0}/README.md +0 -0
  20. {codedna-0.3.4 → codedna-0.4.0}/SECURITY.md +0 -0
  21. {codedna-0.3.4 → codedna-0.4.0}/codedna/ai.py +0 -0
  22. {codedna-0.3.4 → codedna-0.4.0}/codedna/ai_box.py +0 -0
  23. {codedna-0.3.4 → codedna-0.4.0}/codedna/ai_fingerprint.py +0 -0
  24. {codedna-0.3.4 → codedna-0.4.0}/codedna/analyzer.py +0 -0
  25. {codedna-0.3.4 → codedna-0.4.0}/codedna/api.py +0 -0
  26. {codedna-0.3.4 → codedna-0.4.0}/codedna/auth.py +0 -0
  27. {codedna-0.3.4 → codedna-0.4.0}/codedna/bus_factor.py +0 -0
  28. {codedna-0.3.4 → codedna-0.4.0}/codedna/db.py +0 -0
  29. {codedna-0.3.4 → codedna-0.4.0}/codedna/git_hook.py +0 -0
  30. {codedna-0.3.4 → codedna-0.4.0}/codedna/integrations/__init__.py +0 -0
  31. {codedna-0.3.4 → codedna-0.4.0}/codedna/integrations/github_bot.py +0 -0
  32. {codedna-0.3.4 → codedna-0.4.0}/codedna/integrations/jira.py +0 -0
  33. {codedna-0.3.4 → codedna-0.4.0}/codedna/integrations/lemonsqueezy.py +0 -0
  34. {codedna-0.3.4 → codedna-0.4.0}/codedna/interview.py +0 -0
  35. {codedna-0.3.4 → codedna-0.4.0}/codedna/onboarding.py +0 -0
  36. {codedna-0.3.4 → codedna-0.4.0}/codedna/plan.py +0 -0
  37. {codedna-0.3.4 → codedna-0.4.0}/codedna/protection.py +0 -0
  38. {codedna-0.3.4 → codedna-0.4.0}/codedna/rate_limit.py +0 -0
  39. {codedna-0.3.4 → codedna-0.4.0}/codedna/scorer.py +0 -0
  40. {codedna-0.3.4 → codedna-0.4.0}/codedna/sprint_health.py +0 -0
  41. {codedna-0.3.4 → codedna-0.4.0}/codedna/survey.py +0 -0
  42. {codedna-0.3.4 → codedna-0.4.0}/codedna/tech_debt.py +0 -0
  43. {codedna-0.3.4 → codedna-0.4.0}/dashboard/.env.local.example +0 -0
  44. {codedna-0.3.4 → codedna-0.4.0}/dashboard/.gitignore +0 -0
  45. {codedna-0.3.4 → codedna-0.4.0}/dashboard/README.md +0 -0
  46. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/ai-compare/page.tsx +0 -0
  47. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/api/auth/login/route.ts +0 -0
  48. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/api/auth/logout/route.ts +0 -0
  49. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/api/auth/me/route.ts +0 -0
  50. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/api/auth/register/route.ts +0 -0
  51. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/api/billing/checkout/route.ts +0 -0
  52. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/billing/page.tsx +0 -0
  53. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/bus-factor/page.tsx +0 -0
  54. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/commits/page.tsx +0 -0
  55. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/debt/page.tsx +0 -0
  56. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/favicon.ico +0 -0
  57. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/files/page.tsx +0 -0
  58. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/fonts/GeistMonoVF.woff +0 -0
  59. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/fonts/GeistVF.woff +0 -0
  60. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/globals.css +0 -0
  61. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/interview/page.tsx +0 -0
  62. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/layout.tsx +0 -0
  63. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/login/page.tsx +0 -0
  64. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/onboarding/page.tsx +0 -0
  65. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/page.tsx +0 -0
  66. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/pricing/page.tsx +0 -0
  67. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/protected/page.tsx +0 -0
  68. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/register/page.tsx +0 -0
  69. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/settings/integrations/page.tsx +0 -0
  70. {codedna-0.3.4 → codedna-0.4.0}/dashboard/app/sprints/page.tsx +0 -0
  71. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/AuthProvider.tsx +0 -0
  72. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/ClientProviders.tsx +0 -0
  73. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/CommitTable.tsx +0 -0
  74. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/CostInfoTooltip.tsx +0 -0
  75. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/ErrorBanner.tsx +0 -0
  76. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/FeatureGate.tsx +0 -0
  77. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/FileHeatmap.tsx +0 -0
  78. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/LanguageSwitcher.tsx +0 -0
  79. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/NavClient.tsx +0 -0
  80. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/OverviewTitles.tsx +0 -0
  81. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/QuickInsights.tsx +0 -0
  82. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/RiskBadge.tsx +0 -0
  83. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/SummaryCards.tsx +0 -0
  84. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/UnderstandingChart.tsx +0 -0
  85. {codedna-0.3.4 → codedna-0.4.0}/dashboard/components/UpgradeBanner.tsx +0 -0
  86. {codedna-0.3.4 → codedna-0.4.0}/dashboard/lib/api.ts +0 -0
  87. {codedna-0.3.4 → codedna-0.4.0}/dashboard/lib/auth.ts +0 -0
  88. {codedna-0.3.4 → codedna-0.4.0}/dashboard/lib/i18n/en.ts +0 -0
  89. {codedna-0.3.4 → codedna-0.4.0}/dashboard/lib/i18n/index.tsx +0 -0
  90. {codedna-0.3.4 → codedna-0.4.0}/dashboard/lib/i18n/tr.ts +0 -0
  91. {codedna-0.3.4 → codedna-0.4.0}/dashboard/lib/plan.ts +0 -0
  92. {codedna-0.3.4 → codedna-0.4.0}/dashboard/next-env.d.ts +0 -0
  93. {codedna-0.3.4 → codedna-0.4.0}/dashboard/next.config.mjs +0 -0
  94. {codedna-0.3.4 → codedna-0.4.0}/dashboard/package-lock.json +0 -0
  95. {codedna-0.3.4 → codedna-0.4.0}/dashboard/package.json +0 -0
  96. {codedna-0.3.4 → codedna-0.4.0}/dashboard/postcss.config.mjs +0 -0
  97. {codedna-0.3.4 → codedna-0.4.0}/dashboard/tailwind.config.ts +0 -0
  98. {codedna-0.3.4 → codedna-0.4.0}/dashboard/tsconfig.json +0 -0
  99. {codedna-0.3.4 → codedna-0.4.0}/hooks/post-commit +0 -0
  100. {codedna-0.3.4 → codedna-0.4.0}/uv.lock +0 -0
  101. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/.bin/tsc +0 -0
  102. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/.bin/tsserver +0 -0
  103. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/.package-lock.json +0 -0
  104. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/LICENSE +0 -0
  105. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/README.md +0 -0
  106. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/assert/strict.d.ts +0 -0
  107. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/assert.d.ts +0 -0
  108. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/async_hooks.d.ts +0 -0
  109. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/buffer.buffer.d.ts +0 -0
  110. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/buffer.d.ts +0 -0
  111. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/child_process.d.ts +0 -0
  112. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/cluster.d.ts +0 -0
  113. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/compatibility/disposable.d.ts +0 -0
  114. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/compatibility/index.d.ts +0 -0
  115. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/compatibility/indexable.d.ts +0 -0
  116. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/compatibility/iterators.d.ts +0 -0
  117. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/console.d.ts +0 -0
  118. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/constants.d.ts +0 -0
  119. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/crypto.d.ts +0 -0
  120. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/dgram.d.ts +0 -0
  121. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  122. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/dns/promises.d.ts +0 -0
  123. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/dns.d.ts +0 -0
  124. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/domain.d.ts +0 -0
  125. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/events.d.ts +0 -0
  126. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/fs/promises.d.ts +0 -0
  127. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/fs.d.ts +0 -0
  128. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/globals.d.ts +0 -0
  129. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/globals.typedarray.d.ts +0 -0
  130. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/http.d.ts +0 -0
  131. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/http2.d.ts +0 -0
  132. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/https.d.ts +0 -0
  133. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/index.d.ts +0 -0
  134. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/inspector.generated.d.ts +0 -0
  135. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/module.d.ts +0 -0
  136. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/net.d.ts +0 -0
  137. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/os.d.ts +0 -0
  138. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/package.json +0 -0
  139. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/path.d.ts +0 -0
  140. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/perf_hooks.d.ts +0 -0
  141. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/process.d.ts +0 -0
  142. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/punycode.d.ts +0 -0
  143. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/querystring.d.ts +0 -0
  144. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/readline/promises.d.ts +0 -0
  145. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/readline.d.ts +0 -0
  146. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/repl.d.ts +0 -0
  147. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/sea.d.ts +0 -0
  148. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/stream/consumers.d.ts +0 -0
  149. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/stream/promises.d.ts +0 -0
  150. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/stream/web.d.ts +0 -0
  151. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/stream.d.ts +0 -0
  152. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/string_decoder.d.ts +0 -0
  153. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/test.d.ts +0 -0
  154. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/timers/promises.d.ts +0 -0
  155. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/timers.d.ts +0 -0
  156. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/tls.d.ts +0 -0
  157. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/trace_events.d.ts +0 -0
  158. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -0
  159. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -0
  160. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/ts5.6/index.d.ts +0 -0
  161. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/tty.d.ts +0 -0
  162. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/url.d.ts +0 -0
  163. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/util.d.ts +0 -0
  164. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/v8.d.ts +0 -0
  165. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/vm.d.ts +0 -0
  166. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/wasi.d.ts +0 -0
  167. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -0
  168. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/web-globals/domexception.d.ts +0 -0
  169. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/web-globals/events.d.ts +0 -0
  170. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/web-globals/fetch.d.ts +0 -0
  171. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/worker_threads.d.ts +0 -0
  172. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/node/zlib.d.ts +0 -0
  173. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/vscode/LICENSE +0 -0
  174. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/vscode/README.md +0 -0
  175. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/vscode/index.d.ts +0 -0
  176. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/@types/vscode/package.json +0 -0
  177. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/LICENSE.txt +0 -0
  178. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/README.md +0 -0
  179. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/SECURITY.md +0 -0
  180. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/ThirdPartyNoticeText.txt +0 -0
  181. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/bin/tsc +0 -0
  182. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/bin/tsserver +0 -0
  183. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/_tsc.js +0 -0
  184. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/_tsserver.js +0 -0
  185. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/_typingsInstaller.js +0 -0
  186. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -0
  187. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -0
  188. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -0
  189. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -0
  190. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -0
  191. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -0
  192. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -0
  193. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.d.ts +0 -0
  194. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.decorators.d.ts +0 -0
  195. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -0
  196. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -0
  197. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.dom.d.ts +0 -0
  198. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -0
  199. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -0
  200. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -0
  201. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.d.ts +0 -0
  202. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -0
  203. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -0
  204. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -0
  205. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -0
  206. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -0
  207. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -0
  208. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
  209. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -0
  210. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.d.ts +0 -0
  211. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -0
  212. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -0
  213. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -0
  214. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.d.ts +0 -0
  215. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -0
  216. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -0
  217. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -0
  218. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -0
  219. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
  220. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -0
  221. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
  222. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
  223. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
  224. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.d.ts +0 -0
  225. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -0
  226. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -0
  227. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -0
  228. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -0
  229. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -0
  230. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.d.ts +0 -0
  231. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -0
  232. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -0
  233. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -0
  234. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -0
  235. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -0
  236. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -0
  237. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.d.ts +0 -0
  238. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -0
  239. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -0
  240. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -0
  241. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -0
  242. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -0
  243. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
  244. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -0
  245. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
  246. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.d.ts +0 -0
  247. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -0
  248. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -0
  249. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -0
  250. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -0
  251. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -0
  252. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -0
  253. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.d.ts +0 -0
  254. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -0
  255. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -0
  256. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -0
  257. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -0
  258. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -0
  259. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -0
  260. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -0
  261. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -0
  262. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.d.ts +0 -0
  263. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -0
  264. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -0
  265. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -0
  266. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -0
  267. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.d.ts +0 -0
  268. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -0
  269. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -0
  270. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -0
  271. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -0
  272. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -0
  273. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -0
  274. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es5.d.ts +0 -0
  275. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.es6.d.ts +0 -0
  276. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -0
  277. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -0
  278. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.d.ts +0 -0
  279. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -0
  280. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -0
  281. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -0
  282. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -0
  283. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -0
  284. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -0
  285. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -0
  286. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -0
  287. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -0
  288. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.scripthost.d.ts +0 -0
  289. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -0
  290. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.d.ts +0 -0
  291. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -0
  292. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -0
  293. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -0
  294. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
  295. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -0
  296. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -0
  297. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/tsc.js +0 -0
  298. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/tsserver.js +0 -0
  299. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -0
  300. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.js +0 -0
  301. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/typesMap.json +0 -0
  302. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/typescript.d.ts +0 -0
  303. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/typescript.js +0 -0
  304. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/typingsInstaller.js +0 -0
  305. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/watchGuard.js +0 -0
  306. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
  307. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
  308. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/typescript/package.json +0 -0
  309. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/LICENSE +0 -0
  310. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/README.md +0 -0
  311. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/agent.d.ts +0 -0
  312. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/api.d.ts +0 -0
  313. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/balanced-pool.d.ts +0 -0
  314. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/cache.d.ts +0 -0
  315. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/client.d.ts +0 -0
  316. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/connector.d.ts +0 -0
  317. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/content-type.d.ts +0 -0
  318. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/cookies.d.ts +0 -0
  319. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  320. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/dispatcher.d.ts +0 -0
  321. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
  322. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/errors.d.ts +0 -0
  323. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/eventsource.d.ts +0 -0
  324. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/fetch.d.ts +0 -0
  325. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/file.d.ts +0 -0
  326. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/filereader.d.ts +0 -0
  327. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/formdata.d.ts +0 -0
  328. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  329. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/global-origin.d.ts +0 -0
  330. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/handlers.d.ts +0 -0
  331. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/header.d.ts +0 -0
  332. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/index.d.ts +0 -0
  333. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/interceptors.d.ts +0 -0
  334. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/mock-agent.d.ts +0 -0
  335. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/mock-client.d.ts +0 -0
  336. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/mock-errors.d.ts +0 -0
  337. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  338. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/mock-pool.d.ts +0 -0
  339. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/package.json +0 -0
  340. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/patch.d.ts +0 -0
  341. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/pool-stats.d.ts +0 -0
  342. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/pool.d.ts +0 -0
  343. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/proxy-agent.d.ts +0 -0
  344. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/readable.d.ts +0 -0
  345. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/retry-agent.d.ts +0 -0
  346. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/retry-handler.d.ts +0 -0
  347. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/util.d.ts +0 -0
  348. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/webidl.d.ts +0 -0
  349. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/node_modules/undici-types/websocket.d.ts +0 -0
  350. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/out/apiClient.js.map +0 -0
  351. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/out/decorations.js.map +0 -0
  352. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/out/extension.js.map +0 -0
  353. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/out/statusBar.js.map +0 -0
  354. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/package-lock.json +0 -0
  355. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/package.json +0 -0
  356. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/src/apiClient.ts +0 -0
  357. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/src/decorations.ts +0 -0
  358. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/src/extension.ts +0 -0
  359. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/src/statusBar.ts +0 -0
  360. {codedna-0.3.4 → codedna-0.4.0}/vscode-extension/tsconfig.json +0 -0
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.0] - 2026-06-24 — "Setup Wizard"
4
+
5
+ ### ✨ Added
6
+ - **`codedna setup` command** — interactive AI analysis configuration wizard
7
+ - Provider selection (Anthropic / OpenAI / MiniMax)
8
+ - API key entry (with secure file storage at `~/.codedna/ai_config.json`, chmod 600)
9
+ - Model selection with sensible defaults
10
+ - Enable/disable AI analysis toggle
11
+ - Live connectivity test after save ("test ping" prompt)
12
+ - Reconfigure existing setup (`codedna setup --reset`)
13
+ - Reuses existing `codedna.ai` module — no new dependencies
14
+ - **`--reset` flag** — clear existing AI config and start fresh
15
+ - **`--show` flag** — display current AI configuration (no edits)
16
+
17
+ ### 🔄 Changed
18
+ - Minor version bump (0.3.4 → 0.4.0) because `setup` is a new user-facing command
19
+
3
20
  ## [0.3.4] - 2026-06-24 — "Doctor Redesign"
4
21
 
5
22
  ### 🎨 Redesigned
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codedna
3
- Version: 0.3.4
3
+ Version: 0.4.0
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.3.4"
3
+ __version__ = "0.4.0"
4
4
  __app_name__ = "codedna"
@@ -2017,6 +2017,151 @@ def update(
2017
2017
  console.print(f" [dim]Restart your shell to pick up the new binary.[/dim]")
2018
2018
 
2019
2019
 
2020
+ # ---------------------------------------------------------------------------
2021
+ # codedna setup (interactive AI analysis configuration wizard)
2022
+ # ---------------------------------------------------------------------------
2023
+ @app.command()
2024
+ def setup(
2025
+ reset: bool = typer.Option(False, "--reset", help="Clear existing AI config and reconfigure"),
2026
+ show: bool = typer.Option(False, "--show", help="Show current AI configuration"),
2027
+ ) -> None:
2028
+ """Configure AI analysis provider, API key, and model."""
2029
+ from codedna.ai import AIConfig, AI_CONFIG_PATH, PROVIDERS, DEFAULT_MODELS, ai_analyze
2030
+
2031
+ # ── --show: just display current config ────────────────────────────
2032
+ if show:
2033
+ cfg = AIConfig.load()
2034
+ if not cfg:
2035
+ console.print(Panel("[yellow]No AI configuration found.[/yellow]\n\nRun [bold]codedna setup[/bold] to create one.", border_style="yellow"))
2036
+ return
2037
+ table = Table(title="[bold]Current AI Configuration[/bold]", border_style="dim", show_lines=True, header_style="bold cyan")
2038
+ table.add_column("Field", style="bold white")
2039
+ table.add_column("Value")
2040
+ table.add_row("Provider", cfg.provider)
2041
+ table.add_row("Model", cfg.model)
2042
+ table.add_row("API key", f"{cfg.api_key[:8]}...{cfg.api_key[-4:]}" if len(cfg.api_key) > 12 else "(set)")
2043
+ table.add_row("Enabled", "yes" if cfg.enabled else "no")
2044
+ table.add_row("Config file", str(AI_CONFIG_PATH))
2045
+ console.print(table)
2046
+ return
2047
+
2048
+ # ── Welcome panel ──────────────────────────────────────────────────
2049
+ console.print()
2050
+ console.print(
2051
+ Panel.fit(
2052
+ "[bold cyan]🧬 CodeDNA — Setup Wizard[/bold cyan]\n"
2053
+ "[dim]Configure AI analysis for commit interpretation.[/dim]",
2054
+ border_style="cyan",
2055
+ padding=(1, 4),
2056
+ )
2057
+ )
2058
+ console.print()
2059
+
2060
+ # ── --reset: clear existing ───────────────────────────────────────
2061
+ existing = AIConfig.load()
2062
+ if existing and not reset:
2063
+ console.print(
2064
+ Panel(
2065
+ f"[yellow]Existing configuration found:[/yellow]\n"
2066
+ f" Provider : {existing.provider}\n"
2067
+ f" Model : {existing.model}\n"
2068
+ f" API key : {existing.api_key[:8]}...{existing.api_key[-4:]}\n\n"
2069
+ f"[dim]Run [bold]codedna setup --reset[/bold] to reconfigure.[/dim]\n"
2070
+ f"[dim]Run [bold]codedna setup --show[/bold] for details.[/dim]",
2071
+ border_style="yellow",
2072
+ )
2073
+ )
2074
+ return
2075
+
2076
+ if existing and reset:
2077
+ console.print(f" [yellow]![/yellow] Resetting existing configuration...")
2078
+ AIConfig.clear()
2079
+ console.print(f" [green]✓[/green] Old config cleared")
2080
+ console.print()
2081
+
2082
+ # ── Step 1: Provider ──────────────────────────────────────────────
2083
+ console.print("[bold]Step 1/4 — Choose AI provider[/bold]")
2084
+ for i, p in enumerate(PROVIDERS, 1):
2085
+ default_model = DEFAULT_MODELS.get(p, "?")
2086
+ console.print(f" [cyan]{i}[/cyan]) {p} [dim](default model: {default_model})[/dim]")
2087
+ console.print()
2088
+
2089
+ while True:
2090
+ choice = typer.prompt(" Select provider (1-3)", default="1")
2091
+ try:
2092
+ idx = int(choice) - 1
2093
+ if 0 <= idx < len(PROVIDERS):
2094
+ provider = PROVIDERS[idx]
2095
+ break
2096
+ except ValueError:
2097
+ pass
2098
+ console.print(f" [red]✗[/red] Invalid choice '{choice}'. Try 1, 2, or 3.")
2099
+
2100
+ console.print(f" [green]✓[/green] Provider: [bold]{provider}[/bold]")
2101
+ console.print()
2102
+
2103
+ # ── Step 2: API key ───────────────────────────────────────────────
2104
+ console.print("[bold]Step 2/4 — Enter API key[/bold]")
2105
+ env_var = {"anthropic": "ANTHROPIC_API_KEY", "openai": "OPENAI_API_KEY", "minimax": "MINIMAX_API_KEY"}.get(provider, "API_KEY")
2106
+ console.print(f" [dim]Tip: leave blank to use ${env_var} environment variable[/dim]")
2107
+ while True:
2108
+ api_key = typer.prompt(f" {provider} API key", hide_input=True, default="")
2109
+ if api_key:
2110
+ break
2111
+ import os
2112
+ env_val = os.environ.get(env_var, "").strip()
2113
+ if env_val:
2114
+ api_key = env_val
2115
+ console.print(f" [green]✓[/green] Using ${env_var} from environment")
2116
+ break
2117
+ console.print(f" [red]✗[/red] API key is required. Press Ctrl+C to abort.")
2118
+ console.print()
2119
+
2120
+ # ── Step 3: Model ──────────────────────────────────────────────────
2121
+ console.print("[bold]Step 3/4 — Choose model[/bold]")
2122
+ default_model = DEFAULT_MODELS.get(provider, "")
2123
+ model = typer.prompt(f" Model", default=default_model)
2124
+ console.print(f" [green]✓[/green] Model: [bold]{model}[/bold]")
2125
+ console.print()
2126
+
2127
+ # ── Step 4: Enable + save ─────────────────────────────────────────
2128
+ console.print("[bold]Step 4/4 — Enable & save[/bold]")
2129
+ enabled = typer.confirm(" Enable AI analysis?", default=True)
2130
+
2131
+ cfg = AIConfig(provider=provider, api_key=api_key, model=model, enabled=enabled)
2132
+ cfg.save()
2133
+
2134
+ console.print()
2135
+ console.print(
2136
+ Panel(
2137
+ f"[bold green]✓ Configuration saved![/bold green]\n\n"
2138
+ f" Provider : {provider}\n"
2139
+ f" Model : {model}\n"
2140
+ f" Enabled : {'yes' if enabled else 'no'}\n"
2141
+ f" Location : {AI_CONFIG_PATH} [dim](chmod 600)[/dim]",
2142
+ border_style="green",
2143
+ padding=(1, 2),
2144
+ )
2145
+ )
2146
+
2147
+ # ── Optional: test the connection ─────────────────────────────────
2148
+ if enabled and typer.confirm("\n Run a quick connectivity test?", default=True):
2149
+ console.print(f" [dim]Pinging {provider}...[/dim]")
2150
+ try:
2151
+ result = ai_analyze(command="ping", output="Reply with just the word 'pong' and nothing else.")
2152
+ console.print(f" [green]✓[/green] Connection OK — response: [dim]{(result or '').strip()[:80]}[/dim]")
2153
+ except Exception as e:
2154
+ console.print(f" [yellow]![/yellow] Connection test failed: {type(e).__name__}: {e}")
2155
+ console.print(f" [dim]Your config is saved, but the API key may be invalid.[/dim]")
2156
+
2157
+ console.print()
2158
+ console.print("[dim]Next steps:[/dim]")
2159
+ console.print(" • [cyan]codedna setup --show[/cyan] view current config")
2160
+ console.print(" • [cyan]codedna setup --reset[/cyan] reconfigure")
2161
+ console.print(" • [cyan]codedna scan[/cyan] start analyzing your repo")
2162
+ console.print()
2163
+
2164
+
2020
2165
  # ---------------------------------------------------------------------------
2021
2166
  # Helper functions
2022
2167
  # ---------------------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codedna"
3
- version = "0.3.4"
3
+ version = "0.4.0"
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes