codedna 0.5.2__tar.gz → 0.6.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 (366) hide show
  1. {codedna-0.5.2 → codedna-0.6.0}/CHANGELOG.md +27 -0
  2. {codedna-0.5.2 → codedna-0.6.0}/PKG-INFO +1 -1
  3. {codedna-0.5.2 → codedna-0.6.0}/codedna/__init__.py +1 -1
  4. {codedna-0.5.2 → codedna-0.6.0}/codedna/cli.py +108 -0
  5. codedna-0.6.0/codedna/mail.py +335 -0
  6. {codedna-0.5.2 → codedna-0.6.0}/pyproject.toml +1 -1
  7. {codedna-0.5.2 → codedna-0.6.0}/.env.example +0 -0
  8. {codedna-0.5.2 → codedna-0.6.0}/.github/CODEOWNERS +0 -0
  9. {codedna-0.5.2 → codedna-0.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  10. {codedna-0.5.2 → codedna-0.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  11. {codedna-0.5.2 → codedna-0.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  12. {codedna-0.5.2 → codedna-0.6.0}/.github/dependabot.yml +0 -0
  13. {codedna-0.5.2 → codedna-0.6.0}/.github/workflows/codedna.yml +0 -0
  14. {codedna-0.5.2 → codedna-0.6.0}/.github/workflows/codeql.yml +0 -0
  15. {codedna-0.5.2 → codedna-0.6.0}/.github/workflows/test.yml +0 -0
  16. {codedna-0.5.2 → codedna-0.6.0}/.gitignore +0 -0
  17. {codedna-0.5.2 → codedna-0.6.0}/.python-version +0 -0
  18. {codedna-0.5.2 → codedna-0.6.0}/CONTRIBUTING.md +0 -0
  19. {codedna-0.5.2 → codedna-0.6.0}/LICENSE +0 -0
  20. {codedna-0.5.2 → codedna-0.6.0}/README.md +0 -0
  21. {codedna-0.5.2 → codedna-0.6.0}/SECURITY.md +0 -0
  22. {codedna-0.5.2 → codedna-0.6.0}/codedna/ai.py +0 -0
  23. {codedna-0.5.2 → codedna-0.6.0}/codedna/ai_box.py +0 -0
  24. {codedna-0.5.2 → codedna-0.6.0}/codedna/ai_fingerprint.py +0 -0
  25. {codedna-0.5.2 → codedna-0.6.0}/codedna/analyzer.py +0 -0
  26. {codedna-0.5.2 → codedna-0.6.0}/codedna/api.py +0 -0
  27. {codedna-0.5.2 → codedna-0.6.0}/codedna/auth.py +0 -0
  28. {codedna-0.5.2 → codedna-0.6.0}/codedna/bus_factor.py +0 -0
  29. {codedna-0.5.2 → codedna-0.6.0}/codedna/db.py +0 -0
  30. {codedna-0.5.2 → codedna-0.6.0}/codedna/demo.py +0 -0
  31. {codedna-0.5.2 → codedna-0.6.0}/codedna/git_hook.py +0 -0
  32. {codedna-0.5.2 → codedna-0.6.0}/codedna/integrations/__init__.py +0 -0
  33. {codedna-0.5.2 → codedna-0.6.0}/codedna/integrations/github_bot.py +0 -0
  34. {codedna-0.5.2 → codedna-0.6.0}/codedna/integrations/jira.py +0 -0
  35. {codedna-0.5.2 → codedna-0.6.0}/codedna/integrations/lemonsqueezy.py +0 -0
  36. {codedna-0.5.2 → codedna-0.6.0}/codedna/interview.py +0 -0
  37. {codedna-0.5.2 → codedna-0.6.0}/codedna/onboarding.py +0 -0
  38. {codedna-0.5.2 → codedna-0.6.0}/codedna/plan.py +0 -0
  39. {codedna-0.5.2 → codedna-0.6.0}/codedna/protection.py +0 -0
  40. {codedna-0.5.2 → codedna-0.6.0}/codedna/rate_limit.py +0 -0
  41. {codedna-0.5.2 → codedna-0.6.0}/codedna/scorer.py +0 -0
  42. {codedna-0.5.2 → codedna-0.6.0}/codedna/sprint_health.py +0 -0
  43. {codedna-0.5.2 → codedna-0.6.0}/codedna/survey.py +0 -0
  44. {codedna-0.5.2 → codedna-0.6.0}/codedna/tech_debt.py +0 -0
  45. {codedna-0.5.2 → codedna-0.6.0}/dashboard/.env.local.example +0 -0
  46. {codedna-0.5.2 → codedna-0.6.0}/dashboard/.gitignore +0 -0
  47. {codedna-0.5.2 → codedna-0.6.0}/dashboard/README.md +0 -0
  48. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/ai-compare/page.tsx +0 -0
  49. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/api/auth/login/route.ts +0 -0
  50. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/api/auth/logout/route.ts +0 -0
  51. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/api/auth/me/route.ts +0 -0
  52. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/api/auth/register/route.ts +0 -0
  53. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/api/billing/checkout/route.ts +0 -0
  54. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/billing/page.tsx +0 -0
  55. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/bus-factor/page.tsx +0 -0
  56. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/commits/page.tsx +0 -0
  57. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/debt/page.tsx +0 -0
  58. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/favicon.ico +0 -0
  59. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/files/page.tsx +0 -0
  60. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/fonts/GeistMonoVF.woff +0 -0
  61. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/fonts/GeistVF.woff +0 -0
  62. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/globals.css +0 -0
  63. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/interview/page.tsx +0 -0
  64. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/layout.tsx +0 -0
  65. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/login/page.tsx +0 -0
  66. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/onboarding/page.tsx +0 -0
  67. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/page.tsx +0 -0
  68. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/pricing/page.tsx +0 -0
  69. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/protected/page.tsx +0 -0
  70. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/register/page.tsx +0 -0
  71. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/settings/integrations/page.tsx +0 -0
  72. {codedna-0.5.2 → codedna-0.6.0}/dashboard/app/sprints/page.tsx +0 -0
  73. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/AuthProvider.tsx +0 -0
  74. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/ClientProviders.tsx +0 -0
  75. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/CommitTable.tsx +0 -0
  76. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/CostInfoTooltip.tsx +0 -0
  77. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/ErrorBanner.tsx +0 -0
  78. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/FeatureGate.tsx +0 -0
  79. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/FileHeatmap.tsx +0 -0
  80. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/LanguageSwitcher.tsx +0 -0
  81. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/NavClient.tsx +0 -0
  82. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/OverviewTitles.tsx +0 -0
  83. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/QuickInsights.tsx +0 -0
  84. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/RiskBadge.tsx +0 -0
  85. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/SummaryCards.tsx +0 -0
  86. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/UnderstandingChart.tsx +0 -0
  87. {codedna-0.5.2 → codedna-0.6.0}/dashboard/components/UpgradeBanner.tsx +0 -0
  88. {codedna-0.5.2 → codedna-0.6.0}/dashboard/lib/api.ts +0 -0
  89. {codedna-0.5.2 → codedna-0.6.0}/dashboard/lib/auth.ts +0 -0
  90. {codedna-0.5.2 → codedna-0.6.0}/dashboard/lib/i18n/en.ts +0 -0
  91. {codedna-0.5.2 → codedna-0.6.0}/dashboard/lib/i18n/index.tsx +0 -0
  92. {codedna-0.5.2 → codedna-0.6.0}/dashboard/lib/i18n/tr.ts +0 -0
  93. {codedna-0.5.2 → codedna-0.6.0}/dashboard/lib/plan.ts +0 -0
  94. {codedna-0.5.2 → codedna-0.6.0}/dashboard/next-env.d.ts +0 -0
  95. {codedna-0.5.2 → codedna-0.6.0}/dashboard/next.config.mjs +0 -0
  96. {codedna-0.5.2 → codedna-0.6.0}/dashboard/package-lock.json +0 -0
  97. {codedna-0.5.2 → codedna-0.6.0}/dashboard/package.json +0 -0
  98. {codedna-0.5.2 → codedna-0.6.0}/dashboard/postcss.config.mjs +0 -0
  99. {codedna-0.5.2 → codedna-0.6.0}/dashboard/tailwind.config.ts +0 -0
  100. {codedna-0.5.2 → codedna-0.6.0}/dashboard/tsconfig.json +0 -0
  101. {codedna-0.5.2 → codedna-0.6.0}/hooks/post-commit +0 -0
  102. {codedna-0.5.2 → codedna-0.6.0}/uv.lock +0 -0
  103. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/.vscodeignore +0 -0
  104. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/MARKETPLACE_README.md +0 -0
  105. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/PUBLISH.md +0 -0
  106. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/images/icon.png +0 -0
  107. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/.bin/tsc +0 -0
  108. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/.bin/tsserver +0 -0
  109. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/.package-lock.json +0 -0
  110. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/LICENSE +0 -0
  111. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/README.md +0 -0
  112. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/assert/strict.d.ts +0 -0
  113. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/assert.d.ts +0 -0
  114. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/async_hooks.d.ts +0 -0
  115. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/buffer.buffer.d.ts +0 -0
  116. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/buffer.d.ts +0 -0
  117. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/child_process.d.ts +0 -0
  118. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/cluster.d.ts +0 -0
  119. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/compatibility/disposable.d.ts +0 -0
  120. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/compatibility/index.d.ts +0 -0
  121. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/compatibility/indexable.d.ts +0 -0
  122. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/compatibility/iterators.d.ts +0 -0
  123. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/console.d.ts +0 -0
  124. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/constants.d.ts +0 -0
  125. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/crypto.d.ts +0 -0
  126. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/dgram.d.ts +0 -0
  127. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
  128. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/dns/promises.d.ts +0 -0
  129. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/dns.d.ts +0 -0
  130. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/domain.d.ts +0 -0
  131. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/events.d.ts +0 -0
  132. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/fs/promises.d.ts +0 -0
  133. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/fs.d.ts +0 -0
  134. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/globals.d.ts +0 -0
  135. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/globals.typedarray.d.ts +0 -0
  136. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/http.d.ts +0 -0
  137. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/http2.d.ts +0 -0
  138. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/https.d.ts +0 -0
  139. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/index.d.ts +0 -0
  140. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/inspector.generated.d.ts +0 -0
  141. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/module.d.ts +0 -0
  142. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/net.d.ts +0 -0
  143. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/os.d.ts +0 -0
  144. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/package.json +0 -0
  145. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/path.d.ts +0 -0
  146. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/perf_hooks.d.ts +0 -0
  147. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/process.d.ts +0 -0
  148. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/punycode.d.ts +0 -0
  149. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/querystring.d.ts +0 -0
  150. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/readline/promises.d.ts +0 -0
  151. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/readline.d.ts +0 -0
  152. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/repl.d.ts +0 -0
  153. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/sea.d.ts +0 -0
  154. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/stream/consumers.d.ts +0 -0
  155. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/stream/promises.d.ts +0 -0
  156. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/stream/web.d.ts +0 -0
  157. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/stream.d.ts +0 -0
  158. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/string_decoder.d.ts +0 -0
  159. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/test.d.ts +0 -0
  160. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/timers/promises.d.ts +0 -0
  161. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/timers.d.ts +0 -0
  162. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/tls.d.ts +0 -0
  163. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/trace_events.d.ts +0 -0
  164. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -0
  165. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -0
  166. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/ts5.6/index.d.ts +0 -0
  167. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/tty.d.ts +0 -0
  168. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/url.d.ts +0 -0
  169. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/util.d.ts +0 -0
  170. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/v8.d.ts +0 -0
  171. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/vm.d.ts +0 -0
  172. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/wasi.d.ts +0 -0
  173. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -0
  174. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/web-globals/domexception.d.ts +0 -0
  175. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/web-globals/events.d.ts +0 -0
  176. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/web-globals/fetch.d.ts +0 -0
  177. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/worker_threads.d.ts +0 -0
  178. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/node/zlib.d.ts +0 -0
  179. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/vscode/LICENSE +0 -0
  180. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/vscode/README.md +0 -0
  181. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/vscode/index.d.ts +0 -0
  182. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/@types/vscode/package.json +0 -0
  183. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/LICENSE.txt +0 -0
  184. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/README.md +0 -0
  185. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/SECURITY.md +0 -0
  186. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/ThirdPartyNoticeText.txt +0 -0
  187. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/bin/tsc +0 -0
  188. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/bin/tsserver +0 -0
  189. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/_tsc.js +0 -0
  190. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/_tsserver.js +0 -0
  191. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/_typingsInstaller.js +0 -0
  192. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -0
  193. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -0
  194. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -0
  195. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -0
  196. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -0
  197. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -0
  198. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -0
  199. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.d.ts +0 -0
  200. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.decorators.d.ts +0 -0
  201. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -0
  202. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -0
  203. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.dom.d.ts +0 -0
  204. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -0
  205. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -0
  206. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -0
  207. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.d.ts +0 -0
  208. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -0
  209. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -0
  210. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -0
  211. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -0
  212. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -0
  213. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -0
  214. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
  215. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -0
  216. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.d.ts +0 -0
  217. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -0
  218. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -0
  219. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -0
  220. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.d.ts +0 -0
  221. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -0
  222. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -0
  223. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -0
  224. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -0
  225. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
  226. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -0
  227. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
  228. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
  229. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
  230. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.d.ts +0 -0
  231. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -0
  232. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -0
  233. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -0
  234. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -0
  235. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -0
  236. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.d.ts +0 -0
  237. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -0
  238. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -0
  239. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -0
  240. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -0
  241. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -0
  242. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -0
  243. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.d.ts +0 -0
  244. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -0
  245. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -0
  246. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -0
  247. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -0
  248. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -0
  249. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
  250. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -0
  251. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
  252. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.d.ts +0 -0
  253. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -0
  254. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -0
  255. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -0
  256. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -0
  257. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -0
  258. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -0
  259. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.d.ts +0 -0
  260. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -0
  261. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -0
  262. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -0
  263. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -0
  264. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -0
  265. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -0
  266. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -0
  267. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -0
  268. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.d.ts +0 -0
  269. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -0
  270. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -0
  271. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -0
  272. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -0
  273. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.d.ts +0 -0
  274. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -0
  275. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -0
  276. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -0
  277. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -0
  278. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -0
  279. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -0
  280. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es5.d.ts +0 -0
  281. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.es6.d.ts +0 -0
  282. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -0
  283. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -0
  284. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.d.ts +0 -0
  285. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -0
  286. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -0
  287. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -0
  288. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -0
  289. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -0
  290. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -0
  291. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -0
  292. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -0
  293. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -0
  294. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.scripthost.d.ts +0 -0
  295. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -0
  296. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.d.ts +0 -0
  297. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -0
  298. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -0
  299. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -0
  300. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
  301. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -0
  302. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -0
  303. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/tsc.js +0 -0
  304. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/tsserver.js +0 -0
  305. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -0
  306. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.js +0 -0
  307. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/typesMap.json +0 -0
  308. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/typescript.d.ts +0 -0
  309. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/typescript.js +0 -0
  310. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/typingsInstaller.js +0 -0
  311. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/watchGuard.js +0 -0
  312. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
  313. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
  314. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/typescript/package.json +0 -0
  315. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/LICENSE +0 -0
  316. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/README.md +0 -0
  317. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/agent.d.ts +0 -0
  318. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/api.d.ts +0 -0
  319. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/balanced-pool.d.ts +0 -0
  320. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/cache.d.ts +0 -0
  321. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/client.d.ts +0 -0
  322. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/connector.d.ts +0 -0
  323. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/content-type.d.ts +0 -0
  324. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/cookies.d.ts +0 -0
  325. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
  326. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/dispatcher.d.ts +0 -0
  327. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
  328. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/errors.d.ts +0 -0
  329. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/eventsource.d.ts +0 -0
  330. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/fetch.d.ts +0 -0
  331. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/file.d.ts +0 -0
  332. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/filereader.d.ts +0 -0
  333. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/formdata.d.ts +0 -0
  334. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/global-dispatcher.d.ts +0 -0
  335. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/global-origin.d.ts +0 -0
  336. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/handlers.d.ts +0 -0
  337. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/header.d.ts +0 -0
  338. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/index.d.ts +0 -0
  339. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/interceptors.d.ts +0 -0
  340. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/mock-agent.d.ts +0 -0
  341. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/mock-client.d.ts +0 -0
  342. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/mock-errors.d.ts +0 -0
  343. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/mock-interceptor.d.ts +0 -0
  344. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/mock-pool.d.ts +0 -0
  345. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/package.json +0 -0
  346. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/patch.d.ts +0 -0
  347. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/pool-stats.d.ts +0 -0
  348. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/pool.d.ts +0 -0
  349. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/proxy-agent.d.ts +0 -0
  350. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/readable.d.ts +0 -0
  351. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/retry-agent.d.ts +0 -0
  352. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/retry-handler.d.ts +0 -0
  353. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/util.d.ts +0 -0
  354. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/webidl.d.ts +0 -0
  355. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/node_modules/undici-types/websocket.d.ts +0 -0
  356. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/out/apiClient.js.map +0 -0
  357. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/out/decorations.js.map +0 -0
  358. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/out/extension.js.map +0 -0
  359. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/out/statusBar.js.map +0 -0
  360. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/package-lock.json +0 -0
  361. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/package.json +0 -0
  362. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/src/apiClient.ts +0 -0
  363. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/src/decorations.ts +0 -0
  364. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/src/extension.ts +0 -0
  365. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/src/statusBar.ts +0 -0
  366. {codedna-0.5.2 → codedna-0.6.0}/vscode-extension/tsconfig.json +0 -0
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.0] - 2026-06-24 - "MAIL MONITOR" (MINOR)
4
+
5
+ ### Added
6
+ - **`codedna mail` command** - Gmail monitor with importance scoring
7
+ - Reads `timurhanhz3@gmail.com` via IMAP + App Password
8
+ - App Password stored at `~/.codedna/gmail_app_password` (chmod 600)
9
+ - State persisted at `~/.codedna/mail_state.json` (last UID, incremental check)
10
+ - 6 importance categories with scoring:
11
+ - `security` (10): token found, breach, 2FA, compromised
12
+ - `security` (9): password reset, suspicious login, locked account
13
+ - `infra` (8): deploy fail, build fail, crash, outage, domain expire
14
+ - `billing` (8): invoice, payment failed, subscription, card declined
15
+ - `business` (6): meeting, call, proposal, contract
16
+ - `project` (4): published, release, deploy success
17
+ - Noise detection auto-skips: `Re:`, newsletter, marketing, noreply
18
+ - Options:
19
+ - `--since N` (default 7): look back N days
20
+ - `--threshold N` (default 5): min importance score
21
+ - `--new-only`: only show messages newer than last check (uses UID tracking)
22
+ - `--show-noise`: also display noise/promo messages
23
+ - `--reset`: reset state and re-check all messages
24
+ - Output: legacy CLI aesthetic (bold cyan header, category-colored boxes, summary panel)
25
+ - Use case: cron `codedna mail --new-only` for daily digest
26
+
27
+ ### Changed
28
+ - Minor version bump 0.5.2 -> 0.6.0 (new user-facing command)
29
+
3
30
  ## [0.5.2] - 2026-06-24 - "SECURITY CHECK"
4
31
 
5
32
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codedna
3
- Version: 0.5.2
3
+ Version: 0.6.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.5.2"
3
+ __version__ = "0.6.0"
4
4
  __app_name__ = "codedna"
@@ -2146,6 +2146,114 @@ def demo(
2146
2146
  console.print()
2147
2147
 
2148
2148
 
2149
+ # ---------------------------------------------------------------------------
2150
+ # codedna mail (Gmail monitor with importance scoring)
2151
+ # ---------------------------------------------------------------------------
2152
+ @app.command()
2153
+ def mail(
2154
+ since: int = typer.Option(7, "--since", "-s", help="Look back N days (default: 7)"),
2155
+ threshold: int = typer.Option(5, "--threshold", "-t", help="Min importance score (default: 5)"),
2156
+ new_only: bool = typer.Option(False, "--new-only", help="Only show messages newer than last check"),
2157
+ show_noise: bool = typer.Option(False, "--show-noise", help="Also show noise/promo messages"),
2158
+ reset_state: bool = typer.Option(False, "--reset", help="Reset state and re-check all messages"),
2159
+ ) -> None:
2160
+ """Check Gmail for new important messages (security, billing, infra).
2161
+
2162
+ Reads from timurhanhz3@gmail.com via IMAP + App Password.
2163
+ Scores each message by category and prints only those above threshold.
2164
+
2165
+ State is persisted at ~/.codedna/mail_state.json so subsequent runs only
2166
+ show new messages.
2167
+ """
2168
+ from codedna.mail import (
2169
+ check_mail, format_report, get_new_since_last_check,
2170
+ _load_state, _save_state, MailMessage,
2171
+ )
2172
+
2173
+ console.print()
2174
+ console.print("[bold cyan]🧬 CodeDNA[/bold cyan] — Mail monitor: [dim]timurhanhz3@gmail.com[/dim]\n")
2175
+
2176
+ if reset_state:
2177
+ from codedna.mail import _load_state
2178
+ state = _load_state()
2179
+ state["last_uid"] = "0"
2180
+ _save_state(state)
2181
+ console.print(" [green]✓[/green] Mail state reset")
2182
+ console.print()
2183
+ return
2184
+
2185
+ if new_only:
2186
+ # Use UID-based check (only new since last run)
2187
+ result = get_new_since_last_check()
2188
+ else:
2189
+ # Full check (look back N days)
2190
+ result = check_mail(since_days=since, threshold=threshold)
2191
+
2192
+ # ── Render: legacy CLI aesthetic ──────────────────────────────────
2193
+ console.print(f"[bold]─── Summary ───[/bold]")
2194
+ console.print(f" Total new: [cyan]{result.total_new}[/cyan] message(s)")
2195
+ console.print(f" Important: [bold {'red' if result.important else 'green'}]{len(result.important)}[/bold {'red' if result.important else 'green'}] (threshold ≥ {threshold})")
2196
+ console.print(f" Noise: [dim]{len(result.noise)}[/dim] skipped")
2197
+ console.print()
2198
+
2199
+ if result.errors:
2200
+ console.print("[bold red]─── Errors ───[/bold]")
2201
+ for err in result.errors:
2202
+ console.print(f" [red]✗[/red] {err}")
2203
+ console.print()
2204
+
2205
+ if result.important:
2206
+ console.print("[bold]─── Important Messages ───[/bold]")
2207
+ for m in result.important:
2208
+ cat_color = {
2209
+ "security": "red",
2210
+ "billing": "yellow",
2211
+ "infra": "yellow",
2212
+ "project": "cyan",
2213
+ "business": "magenta",
2214
+ }.get(m.importance_category, "white")
2215
+ console.print(f" [{cat_color}]■[/{cat_color}] [bold {cat_color}][{m.importance_category}][/bold {cat_color}] score={m.importance_score}")
2216
+ console.print(f" From: {m.from_addr}")
2217
+ console.print(f" Subject: [bold]{m.subject}[/bold]")
2218
+ console.print(f" Date: [dim]{m.date}[/dim]")
2219
+ if m.body_preview:
2220
+ preview = m.body_preview[:200].replace("\n", " ").strip()
2221
+ console.print(f" Preview: [dim]{preview}…[/dim]")
2222
+ console.print()
2223
+
2224
+ if show_noise and result.noise:
2225
+ console.print("[bold dim]─── Noise (skipped) ───[/bold dim]")
2226
+ for m in result.noise[:10]: # limit to first 10
2227
+ console.print(f" [dim]— {m.subject[:80]} ({m.from_addr})[/dim]")
2228
+ if len(result.noise) > 10:
2229
+ console.print(f" [dim]… and {len(result.noise) - 10} more[/dim]")
2230
+ console.print()
2231
+
2232
+ # ── Summary panel ────────────────────────────────────────────────
2233
+ if result.important:
2234
+ border = "red"
2235
+ title = f"[bold red]🔥 {len(result.important)} Important Message(s) Found[/bold red]"
2236
+ body = (
2237
+ f"[red]Action needed: review the messages above.[/red]\n\n"
2238
+ f"[dim]Next: run[/dim] [cyan]codedna mail --new-only[/cyan] [dim]for incremental updates.[/dim]"
2239
+ )
2240
+ elif result.total_new > 0:
2241
+ border = "green"
2242
+ title = "[bold green]✓ No important messages[/bold green]"
2243
+ body = (
2244
+ f"[green]{result.total_new} new message(s) checked, all noise/promo.[/green]\n\n"
2245
+ f"[dim]Run[/dim] [cyan]codedna mail --show-noise[/cyan] [dim]to see all.[/dim]"
2246
+ )
2247
+ else:
2248
+ border = "cyan"
2249
+ title = "[bold cyan]✓ No new messages[/bold cyan]"
2250
+ body = "[dim]Mailbox is up to date.[/dim]"
2251
+
2252
+ console.print()
2253
+ console.print(Panel(body, title=title, border_style=border, padding=(1, 2)))
2254
+ console.print()
2255
+
2256
+
2149
2257
  # ---------------------------------------------------------------------------
2150
2258
  # codedna security-check (pre-release secret & personal path scanner)
2151
2259
  # ---------------------------------------------------------------------------
@@ -0,0 +1,335 @@
1
+ """
2
+ Mail monitor — checks Gmail for new important messages.
3
+
4
+ Uses Gmail IMAP + App Password (stored at ~/.codedna/gmail_app_password, chmod 600).
5
+ State persisted at ~/.codedna/mail_state.json (last checked UID + notified count).
6
+ """
7
+ from __future__ import annotations
8
+
9
+ import email
10
+ import imaplib
11
+ import json
12
+ import os
13
+ import re
14
+ import subprocess
15
+ from dataclasses import dataclass, field
16
+ from datetime import datetime, timedelta
17
+ from email import policy
18
+ from pathlib import Path
19
+ from typing import Optional
20
+
21
+ GMAIL_IMAP_HOST = "imap.gmail.com"
22
+ GMAIL_IMAP_PORT = 993
23
+ APP_PASSWORD_PATH = Path.home() / ".codedna" / "gmail_app_password"
24
+ STATE_PATH = Path.home() / ".codedna" / "mail_state.json"
25
+ DEFAULT_USER = "timurhanhz3@gmail.com"
26
+
27
+ # Keywords that mark a message as important (case-insensitive).
28
+ # Each entry: (category, regex pattern, score 1-10)
29
+ IMPORTANCE_RULES = [
30
+ # SECURITY (highest priority)
31
+ ("security", r"security alert|token found|token leaked|compromised|breach|vulnerability", 10),
32
+ ("security", r"password.*reset|2fa|two[- ]factor|authentication.*fail", 9),
33
+ ("security", r"suspicious|unauthorized|locked.*account", 9),
34
+
35
+ # BILLING / PAYMENTS
36
+ ("billing", r"invoice|payment.*failed|payment.*due|subscription.*renew|billing", 8),
37
+ ("billing", r"expired.*card|card.*declined|refund", 8),
38
+
39
+ # INFRASTRUCTURE / DEPLOYMENT
40
+ ("infra", r"deploy.*fail|build.*fail|crash|error.*production|outage|downtime", 8),
41
+ ("infra", r"ci.*fail|github actions.*fail|vercel.*deploy|cloudflare.*error", 7),
42
+ ("infra", r"domain.*expire|ssl.*expir|renew.*domain", 7),
43
+
44
+ # PROJECT NOTIFICATIONS (npm, PyPI, GitHub)
45
+ ("project", r"npm security alert|npm token found", 10), # explicit override
46
+ ("project", r"published|release|deployment|build success", 4),
47
+ ("project", r"github|npm|pypi|docker|vercel", 3),
48
+
49
+ # BUSINESS / CLIENT
50
+ ("business", r"meeting|call|interview|proposal|contract|client", 6),
51
+ ("business", r"invoice.*sent|quote|estimate", 5),
52
+
53
+ # SOCIAL (low priority)
54
+ ("social", r"@.*|commented|liked|shared|invited", 1),
55
+ ]
56
+
57
+ # Noise keywords (auto-skip)
58
+ NOISE_PATTERNS = [
59
+ r"^Re: ",
60
+ r"newsletter|digest|weekly update",
61
+ r"marketing|promotion|sale \d+%",
62
+ r"noreply|no-reply@",
63
+ r"verify your email|confirm your email", # Often auto-generated
64
+ ]
65
+
66
+
67
+ @dataclass
68
+ class MailMessage:
69
+ """A parsed Gmail message."""
70
+ uid: str
71
+ from_addr: str
72
+ subject: str
73
+ date: str
74
+ body_preview: str
75
+ importance_score: int = 0
76
+ importance_category: str = ""
77
+ is_noise: bool = False
78
+
79
+
80
+ @dataclass
81
+ class MailCheckResult:
82
+ """Result of mail check operation."""
83
+ total_new: int = 0
84
+ important: list[MailMessage] = field(default_factory=list)
85
+ noise: list[MailMessage] = field(default_factory=list)
86
+ errors: list[str] = field(default_factory=list)
87
+
88
+
89
+ def _load_state() -> dict:
90
+ """Load mail check state (last UID, etc.)."""
91
+ if not STATE_PATH.exists():
92
+ return {"last_uid": "0", "last_check": None, "history": []}
93
+ try:
94
+ return json.loads(STATE_PATH.read_text())
95
+ except Exception:
96
+ return {"last_uid": "0", "last_check": None, "history": []}
97
+
98
+
99
+ def _save_state(state: dict) -> None:
100
+ """Persist mail check state."""
101
+ STATE_PATH.parent.mkdir(parents=True, exist_ok=True)
102
+ STATE_PATH.write_text(json.dumps(state, ensure_ascii=False, indent=2))
103
+ try:
104
+ os.chmod(STATE_PATH, 0o600)
105
+ except OSError:
106
+ pass
107
+
108
+
109
+ def _score_message(msg: MailMessage) -> None:
110
+ """Score a message for importance based on subject + body."""
111
+ text = f"{msg.subject} {msg.body_preview}".lower()
112
+
113
+ # Noise detection
114
+ for pat in NOISE_PATTERNS:
115
+ if re.search(pat, text, re.IGNORECASE):
116
+ msg.is_noise = True
117
+ return
118
+
119
+ # Importance scoring (take max)
120
+ max_score = 0
121
+ best_cat = ""
122
+ for cat, pat, score in IMPORTANCE_RULES:
123
+ if re.search(pat, text, re.IGNORECASE):
124
+ if score > max_score:
125
+ max_score = score
126
+ best_cat = cat
127
+ msg.importance_score = max_score
128
+ msg.importance_category = best_cat
129
+
130
+
131
+ def _connect(user: str = DEFAULT_USER) -> imaplib.IMAP4_SSL:
132
+ """Connect to Gmail IMAP using App Password."""
133
+ if not APP_PASSWORD_PATH.exists():
134
+ raise FileNotFoundError(
135
+ f"Gmail App Password not found at {APP_PASSWORD_PATH}. "
136
+ f"Save the 16-char app password there with chmod 600."
137
+ )
138
+ password = APP_PASSWORD_PATH.read_text().strip()
139
+ imap = imaplib.IMAP4_SSL(GMAIL_IMAP_HOST, GMAIL_IMAP_PORT)
140
+ imap.login(user, password)
141
+ return imap
142
+
143
+
144
+ def _fetch_new_messages(imap: imaplib.IMAP4_SSL, since_days: int = 1) -> list[MailMessage]:
145
+ """Fetch new messages from the last N days."""
146
+ imap.select("INBOX")
147
+ since_date = (datetime.now() - timedelta(days=since_days)).strftime("%d-%b-%Y")
148
+ status, msg_ids = imap.search(None, f"SINCE {since_date}")
149
+ if not msg_ids[0]:
150
+ return []
151
+
152
+ messages = []
153
+ for mid_bytes in msg_ids[0].split():
154
+ mid = mid_bytes.decode()
155
+ status, msg_data = imap.fetch(mid_bytes, "(RFC822)")
156
+ if not msg_data or not msg_data[0]:
157
+ continue
158
+ raw = msg_data[0][1]
159
+ try:
160
+ parsed = email.message_from_bytes(raw, policy=policy.default)
161
+ except Exception:
162
+ continue
163
+
164
+ # Body preview (first 500 chars of text/plain)
165
+ body_preview = ""
166
+ if parsed.is_multipart():
167
+ for part in parsed.walk():
168
+ if part.get_content_type() == "text/plain":
169
+ try:
170
+ body_preview = (part.get_content() or "")[:500]
171
+ break
172
+ except Exception:
173
+ pass
174
+ else:
175
+ try:
176
+ body_preview = (parsed.get_content() or "")[:500]
177
+ except Exception:
178
+ pass
179
+
180
+ msg = MailMessage(
181
+ uid=mid,
182
+ from_addr=parsed.get("From", "?"),
183
+ subject=parsed.get("Subject", "(no subject)"),
184
+ date=parsed.get("Date", "?"),
185
+ body_preview=body_preview,
186
+ )
187
+ _score_message(msg)
188
+ messages.append(msg)
189
+ return messages
190
+
191
+
192
+ def check_mail(since_days: int = 1, threshold: int = 5) -> MailCheckResult:
193
+ """Check Gmail for new important messages.
194
+
195
+ Args:
196
+ since_days: Look back N days (default: 1)
197
+ threshold: Min importance score to be "important" (default: 5)
198
+
199
+ Returns:
200
+ MailCheckResult with total count, important, and noise messages.
201
+ """
202
+ result = MailCheckResult()
203
+ try:
204
+ imap = _connect()
205
+ except Exception as e:
206
+ result.errors.append(f"connect failed: {e}")
207
+ return result
208
+
209
+ try:
210
+ all_msgs = _fetch_new_messages(imap, since_days=since_days)
211
+ except Exception as e:
212
+ result.errors.append(f"fetch failed: {e}")
213
+ imap.logout()
214
+ return result
215
+
216
+ imap.logout()
217
+
218
+ # Filter: noise skipped, important >= threshold
219
+ for m in all_msgs:
220
+ if m.is_noise:
221
+ result.noise.append(m)
222
+ elif m.importance_score >= threshold:
223
+ result.important.append(m)
224
+ else:
225
+ result.noise.append(m)
226
+
227
+ result.total_new = len(all_msgs)
228
+ return result
229
+
230
+
231
+ def format_report(result: MailCheckResult, threshold: int = 5) -> str:
232
+ """Format mail check result as a readable report."""
233
+ lines = []
234
+ lines.append(f"📬 Mail Check — {result.total_new} new message(s)")
235
+ if result.errors:
236
+ lines.append(f"⚠ Errors: {len(result.errors)}")
237
+ for e in result.errors:
238
+ lines.append(f" - {e}")
239
+ if result.important:
240
+ lines.append(f"\n🔥 Important ({len(result.important)}):")
241
+ for m in result.important:
242
+ lines.append(f" [{m.importance_category}] score={m.importance_score}")
243
+ lines.append(f" From: {m.from_addr}")
244
+ lines.append(f" Subject: {m.subject}")
245
+ lines.append(f" Date: {m.date}")
246
+ if m.body_preview:
247
+ preview = m.body_preview[:200].replace("\n", " ")
248
+ lines.append(f" Preview: {preview}...")
249
+ if result.noise:
250
+ lines.append(f"\n📭 Noise ({len(result.noise)}): skipped")
251
+ return "\n".join(lines)
252
+
253
+
254
+ def get_new_since_last_check() -> MailCheckResult:
255
+ """Check Gmail for messages newer than the last seen UID."""
256
+ state = _load_state()
257
+ last_uid = state.get("last_uid", "0")
258
+
259
+ result = MailCheckResult()
260
+ try:
261
+ imap = _connect()
262
+ imap.select("INBOX")
263
+ # Get all UIDs
264
+ status, all_uids = imap.uid("SEARCH", None, "ALL")
265
+ if not all_uids[0]:
266
+ imap.logout()
267
+ return result
268
+
269
+ uids = all_uids[0].split()
270
+ if last_uid in uids:
271
+ # Find new ones after last_uid
272
+ last_idx = uids.index(last_uid)
273
+ new_uids = uids[last_idx + 1:]
274
+ else:
275
+ new_uids = uids
276
+
277
+ if not new_uids:
278
+ imap.logout()
279
+ return result
280
+
281
+ # Fetch new ones
282
+ for uid_bytes in new_uids:
283
+ uid_str = uid_bytes.decode()
284
+ status, msg_data = imap.uid("FETCH", uid_bytes, "(RFC822)")
285
+ if not msg_data or not msg_data[0]:
286
+ continue
287
+ raw = msg_data[0][1]
288
+ try:
289
+ parsed = email.message_from_bytes(raw, policy=policy.default)
290
+ except Exception:
291
+ continue
292
+
293
+ body_preview = ""
294
+ if parsed.is_multipart():
295
+ for part in parsed.walk():
296
+ if part.get_content_type() == "text/plain":
297
+ try:
298
+ body_preview = (part.get_content() or "")[:500]
299
+ break
300
+ except Exception:
301
+ pass
302
+ else:
303
+ try:
304
+ body_preview = (parsed.get_content() or "")[:500]
305
+ except Exception:
306
+ pass
307
+
308
+ msg = MailMessage(
309
+ uid=uid_str,
310
+ from_addr=parsed.get("From", "?"),
311
+ subject=parsed.get("Subject", "(no subject)"),
312
+ date=parsed.get("Date", "?"),
313
+ body_preview=body_preview,
314
+ )
315
+ _score_message(msg)
316
+
317
+ if msg.is_noise:
318
+ result.noise.append(msg)
319
+ elif msg.importance_score >= 5:
320
+ result.important.append(msg)
321
+ else:
322
+ result.noise.append(msg)
323
+
324
+ # Update state to highest UID
325
+ new_max = max(int(u) for u in uids)
326
+ state["last_uid"] = str(new_max)
327
+ state["last_check"] = datetime.now().isoformat()
328
+ _save_state(state)
329
+
330
+ imap.logout()
331
+ except Exception as e:
332
+ result.errors.append(f"check failed: {e}")
333
+
334
+ result.total_new = len(result.important) + len(result.noise)
335
+ return result
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codedna"
3
- version = "0.5.2"
3
+ version = "0.6.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