codedna 0.3.0__tar.gz → 0.3.1__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.
- {codedna-0.3.0 → codedna-0.3.1}/CHANGELOG.md +18 -0
- {codedna-0.3.0 → codedna-0.3.1}/PKG-INFO +1 -1
- {codedna-0.3.0 → codedna-0.3.1}/codedna/__init__.py +1 -1
- {codedna-0.3.0 → codedna-0.3.1}/codedna/cli.py +185 -0
- {codedna-0.3.0 → codedna-0.3.1}/pyproject.toml +1 -1
- {codedna-0.3.0 → codedna-0.3.1}/.env.example +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/CODEOWNERS +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/dependabot.yml +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/workflows/codedna.yml +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/workflows/codeql.yml +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.github/workflows/test.yml +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.gitignore +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/.python-version +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/CONTRIBUTING.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/LICENSE +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/README.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/SECURITY.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/ai.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/ai_box.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/ai_fingerprint.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/analyzer.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/api.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/auth.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/bus_factor.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/db.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/git_hook.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/integrations/__init__.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/integrations/github_bot.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/integrations/jira.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/integrations/lemonsqueezy.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/interview.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/onboarding.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/plan.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/protection.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/rate_limit.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/scorer.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/sprint_health.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/survey.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/codedna/tech_debt.py +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/.env.local.example +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/.gitignore +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/README.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/ai-compare/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/api/auth/login/route.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/api/auth/logout/route.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/api/auth/me/route.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/api/auth/register/route.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/api/billing/checkout/route.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/billing/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/bus-factor/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/commits/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/debt/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/favicon.ico +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/files/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/fonts/GeistMonoVF.woff +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/fonts/GeistVF.woff +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/globals.css +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/interview/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/layout.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/login/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/onboarding/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/pricing/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/protected/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/register/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/settings/integrations/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/app/sprints/page.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/AuthProvider.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/ClientProviders.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/CommitTable.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/CostInfoTooltip.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/ErrorBanner.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/FeatureGate.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/FileHeatmap.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/LanguageSwitcher.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/NavClient.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/OverviewTitles.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/QuickInsights.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/RiskBadge.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/SummaryCards.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/UnderstandingChart.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/components/UpgradeBanner.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/lib/api.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/lib/auth.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/lib/i18n/en.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/lib/i18n/index.tsx +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/lib/i18n/tr.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/lib/plan.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/next-env.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/next.config.mjs +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/package-lock.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/package.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/postcss.config.mjs +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/tailwind.config.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/dashboard/tsconfig.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/hooks/post-commit +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/uv.lock +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/.bin/tsc +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/.bin/tsserver +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/.package-lock.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/LICENSE +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/README.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/assert/strict.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/assert.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/async_hooks.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/buffer.buffer.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/buffer.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/child_process.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/cluster.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/compatibility/disposable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/compatibility/index.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/compatibility/indexable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/compatibility/iterators.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/console.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/constants.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/crypto.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/dgram.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/diagnostics_channel.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/dns/promises.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/dns.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/domain.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/events.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/fs/promises.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/fs.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/globals.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/globals.typedarray.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/http.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/http2.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/https.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/index.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/inspector.generated.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/module.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/net.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/os.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/package.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/path.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/perf_hooks.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/process.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/punycode.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/querystring.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/readline/promises.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/readline.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/repl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/sea.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/stream/consumers.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/stream/promises.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/stream/web.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/stream.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/string_decoder.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/test.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/timers/promises.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/timers.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/tls.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/trace_events.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/ts5.6/index.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/tty.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/url.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/util.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/v8.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/vm.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/wasi.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/web-globals/domexception.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/web-globals/events.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/web-globals/fetch.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/worker_threads.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/zlib.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/vscode/LICENSE +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/vscode/README.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/vscode/index.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/vscode/package.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/LICENSE.txt +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/README.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/SECURITY.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/ThirdPartyNoticeText.txt +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/bin/tsc +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/bin/tsserver +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/_tsc.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/_tsserver.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/_typingsInstaller.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.decorators.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.dom.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2016.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2018.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2019.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2021.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2023.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es5.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.es6.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.scripthost.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.webworker.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/tsc.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/tsserver.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/tsserverlibrary.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/typesMap.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/typescript.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/typescript.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/typingsInstaller.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/watchGuard.js +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/typescript/package.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/LICENSE +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/README.md +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/agent.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/api.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/balanced-pool.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/cache.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/client.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/connector.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/content-type.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/cookies.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/diagnostics-channel.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/dispatcher.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/errors.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/eventsource.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/fetch.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/file.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/filereader.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/formdata.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/global-dispatcher.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/global-origin.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/handlers.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/header.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/index.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/interceptors.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/mock-agent.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/mock-client.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/mock-errors.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/mock-interceptor.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/mock-pool.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/package.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/patch.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/pool-stats.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/pool.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/proxy-agent.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/readable.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/retry-agent.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/retry-handler.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/util.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/webidl.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/undici-types/websocket.d.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/out/apiClient.js.map +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/out/decorations.js.map +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/out/extension.js.map +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/out/statusBar.js.map +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/package-lock.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/package.json +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/src/apiClient.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/src/decorations.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/src/extension.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/src/statusBar.ts +0 -0
- {codedna-0.3.0 → codedna-0.3.1}/vscode-extension/tsconfig.json +0 -0
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.1] - 2026-06-24 — "Doctor Added"
|
|
4
|
+
|
|
5
|
+
### ✨ Added
|
|
6
|
+
- **`codedna doctor` command** — System health check
|
|
7
|
+
- Python version (>= 3.10 required)
|
|
8
|
+
- CodeDNA installation
|
|
9
|
+
- Git integration
|
|
10
|
+
- 4 tree-sitter parsers (core, python, javascript, typescript)
|
|
11
|
+
- Local database (size, location)
|
|
12
|
+
- Git hook status
|
|
13
|
+
- 8 core dependencies (typer, rich, gitpython, fastapi, uvicorn, pydantic, pyjwt, bcrypt)
|
|
14
|
+
- License & plan
|
|
15
|
+
- Network reachability (PyPI)
|
|
16
|
+
- **`--fix` flag** — auto-creates database + installs hook when missing
|
|
17
|
+
- Color-coded output (✓ green, ! yellow, ✗ red)
|
|
18
|
+
- Exit 1 on critical issues
|
|
19
|
+
- Fully English output
|
|
20
|
+
|
|
3
21
|
## [0.3.0] - 2026-06-24 — "English First"
|
|
4
22
|
|
|
5
23
|
### 🌐 Internationalization
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codedna
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
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
|
|
@@ -1700,6 +1700,191 @@ def uninstall(
|
|
|
1700
1700
|
raise typer.Exit(1)
|
|
1701
1701
|
|
|
1702
1702
|
|
|
1703
|
+
# ---------------------------------------------------------------------------
|
|
1704
|
+
# codedna doctor (system health check)
|
|
1705
|
+
# ---------------------------------------------------------------------------
|
|
1706
|
+
@app.command()
|
|
1707
|
+
def doctor(
|
|
1708
|
+
fix: bool = typer.Option(False, "--fix", help="Attempt to auto-fix detected issues"),
|
|
1709
|
+
repo: Optional[Path] = typer.Option(None, "--repo", "-r", help="Git repo directory"),
|
|
1710
|
+
) -> None:
|
|
1711
|
+
"""Run a system health check (Python, Git, tree-sitter, DB, hook, API, network)."""
|
|
1712
|
+
|
|
1713
|
+
def _ok(msg: str) -> None:
|
|
1714
|
+
console.print(f" [green]✓[/green] {msg}")
|
|
1715
|
+
|
|
1716
|
+
def _warn(msg: str) -> None:
|
|
1717
|
+
console.print(f" [yellow]![/yellow] {msg}")
|
|
1718
|
+
|
|
1719
|
+
def _fail(msg: str) -> None:
|
|
1720
|
+
console.print(f" [red]✗[/red] {msg}")
|
|
1721
|
+
|
|
1722
|
+
console.print(Panel.fit("🧬 CodeDNA — System Health Check", style="bold cyan"))
|
|
1723
|
+
console.print()
|
|
1724
|
+
|
|
1725
|
+
issues: list[str] = []
|
|
1726
|
+
warnings: list[str] = []
|
|
1727
|
+
|
|
1728
|
+
# 1. Python version
|
|
1729
|
+
console.print("[bold]1. Python Environment[/bold]")
|
|
1730
|
+
py_ver = sys.version_info
|
|
1731
|
+
if py_ver >= (3, 10):
|
|
1732
|
+
_ok(f"Python {py_ver.major}.{py_ver.minor}.{py_ver.micro} (>= 3.10 required)")
|
|
1733
|
+
else:
|
|
1734
|
+
_fail(f"Python {py_ver.major}.{py_ver.minor}.{py_ver.micro} — 3.10+ required")
|
|
1735
|
+
issues.append("python_version")
|
|
1736
|
+
|
|
1737
|
+
# 2. CodeDNA installation
|
|
1738
|
+
try:
|
|
1739
|
+
import codedna
|
|
1740
|
+
_ok(f"CodeDNA {codedna.__version__} installed at {Path(codedna.__file__).parent}")
|
|
1741
|
+
except Exception as e:
|
|
1742
|
+
_fail(f"CodeDNA import failed: {e}")
|
|
1743
|
+
issues.append("codedna_import")
|
|
1744
|
+
|
|
1745
|
+
# 3. Git
|
|
1746
|
+
console.print()
|
|
1747
|
+
console.print("[bold]2. Git Integration[/bold]")
|
|
1748
|
+
try:
|
|
1749
|
+
import subprocess
|
|
1750
|
+
result = subprocess.run(["git", "--version"], capture_output=True, text=True, timeout=5)
|
|
1751
|
+
if result.returncode == 0:
|
|
1752
|
+
_ok(f"Git: {result.stdout.strip()}")
|
|
1753
|
+
else:
|
|
1754
|
+
_fail("Git not available")
|
|
1755
|
+
issues.append("git")
|
|
1756
|
+
except FileNotFoundError:
|
|
1757
|
+
_fail("Git not found on PATH")
|
|
1758
|
+
issues.append("git")
|
|
1759
|
+
except Exception as e:
|
|
1760
|
+
_warn(f"Git check failed: {e}")
|
|
1761
|
+
warnings.append("git_check")
|
|
1762
|
+
|
|
1763
|
+
# 4. Tree-sitter parsers
|
|
1764
|
+
console.print()
|
|
1765
|
+
console.print("[bold]3. Tree-sitter Parsers[/bold]")
|
|
1766
|
+
parsers = [
|
|
1767
|
+
("tree_sitter", "tree-sitter"),
|
|
1768
|
+
("tree_sitter_python", "tree-sitter-python"),
|
|
1769
|
+
("tree_sitter_javascript", "tree-sitter-javascript"),
|
|
1770
|
+
("tree_sitter_typescript", "tree-sitter-typescript"),
|
|
1771
|
+
]
|
|
1772
|
+
for mod_name, pkg_name in parsers:
|
|
1773
|
+
try:
|
|
1774
|
+
__import__(mod_name)
|
|
1775
|
+
_ok(f"{pkg_name}")
|
|
1776
|
+
except ImportError:
|
|
1777
|
+
_fail(f"{pkg_name} — not installed")
|
|
1778
|
+
issues.append(f"missing:{pkg_name}")
|
|
1779
|
+
|
|
1780
|
+
# 5. Database (only if in a git repo)
|
|
1781
|
+
console.print()
|
|
1782
|
+
console.print("[bold]4. Local Database[/bold]")
|
|
1783
|
+
try:
|
|
1784
|
+
root = repo or find_git_root()
|
|
1785
|
+
db_path = get_db_path(root)
|
|
1786
|
+
if db_path.exists():
|
|
1787
|
+
size_kb = db_path.stat().st_size / 1024
|
|
1788
|
+
_ok(f"Database at {db_path} ({size_kb:.1f} KB)")
|
|
1789
|
+
else:
|
|
1790
|
+
_warn(f"No database at {db_path} (run `codedna init` to create)")
|
|
1791
|
+
warnings.append("no_db")
|
|
1792
|
+
if fix:
|
|
1793
|
+
try:
|
|
1794
|
+
init_db(db_path)
|
|
1795
|
+
_ok("Database initialized")
|
|
1796
|
+
except Exception as e:
|
|
1797
|
+
_fail(f"Could not create database: {e}")
|
|
1798
|
+
issues.append("db_init_failed")
|
|
1799
|
+
except Exception:
|
|
1800
|
+
_warn("Not in a git repo — database check skipped")
|
|
1801
|
+
|
|
1802
|
+
# 6. Git hook
|
|
1803
|
+
console.print()
|
|
1804
|
+
console.print("[bold]5. Git Hook[/bold]")
|
|
1805
|
+
try:
|
|
1806
|
+
root = repo or find_git_root()
|
|
1807
|
+
if is_hook_installed(root):
|
|
1808
|
+
_ok("Post-commit hook installed")
|
|
1809
|
+
else:
|
|
1810
|
+
_warn("Post-commit hook not installed (run `codedna init`)")
|
|
1811
|
+
warnings.append("no_hook")
|
|
1812
|
+
if fix:
|
|
1813
|
+
try:
|
|
1814
|
+
install_hook(root)
|
|
1815
|
+
_ok("Hook installed")
|
|
1816
|
+
except Exception as e:
|
|
1817
|
+
_fail(f"Could not install hook: {e}")
|
|
1818
|
+
issues.append("hook_install_failed")
|
|
1819
|
+
except Exception:
|
|
1820
|
+
_warn("Not in a git repo — hook check skipped")
|
|
1821
|
+
|
|
1822
|
+
# 7. Dependencies
|
|
1823
|
+
console.print()
|
|
1824
|
+
console.print("[bold]6. Core Dependencies[/bold]")
|
|
1825
|
+
deps = [
|
|
1826
|
+
("typer", "CLI framework"),
|
|
1827
|
+
("rich", "Terminal UI"),
|
|
1828
|
+
("gitpython", "Git integration"),
|
|
1829
|
+
("fastapi", "REST API"),
|
|
1830
|
+
("uvicorn", "ASGI server"),
|
|
1831
|
+
("pydantic", "Data validation"),
|
|
1832
|
+
("pyjwt", "JWT auth"),
|
|
1833
|
+
("bcrypt", "Password hashing"),
|
|
1834
|
+
]
|
|
1835
|
+
for mod_name, desc in deps:
|
|
1836
|
+
try:
|
|
1837
|
+
m = __import__(mod_name)
|
|
1838
|
+
ver = getattr(m, "__version__", "?")
|
|
1839
|
+
_ok(f"{mod_name} {ver} ({desc})")
|
|
1840
|
+
except ImportError:
|
|
1841
|
+
_fail(f"{mod_name} — not installed ({desc})")
|
|
1842
|
+
issues.append(f"missing:{mod_name}")
|
|
1843
|
+
|
|
1844
|
+
# 8. License / plan
|
|
1845
|
+
console.print()
|
|
1846
|
+
console.print("[bold]7. License & Plan[/bold]")
|
|
1847
|
+
license_path = Path.home() / ".codedna" / "license.json"
|
|
1848
|
+
if license_path.exists():
|
|
1849
|
+
try:
|
|
1850
|
+
import json
|
|
1851
|
+
with open(license_path) as f:
|
|
1852
|
+
lic = json.load(f)
|
|
1853
|
+
plan = lic.get("plan", "free")
|
|
1854
|
+
_ok(f"Active plan: {plan.upper()}")
|
|
1855
|
+
except Exception as e:
|
|
1856
|
+
_warn(f"License file unreadable: {e}")
|
|
1857
|
+
warnings.append("license_unreadable")
|
|
1858
|
+
else:
|
|
1859
|
+
_warn(f"No license at {license_path} (running on FREE plan)")
|
|
1860
|
+
|
|
1861
|
+
# 9. Network
|
|
1862
|
+
console.print()
|
|
1863
|
+
console.print("[bold]8. Network[/bold]")
|
|
1864
|
+
try:
|
|
1865
|
+
import urllib.request
|
|
1866
|
+
urllib.request.urlopen("https://pypi.org/pypi/codedna/json", timeout=5)
|
|
1867
|
+
_ok("PyPI reachable")
|
|
1868
|
+
except Exception as e:
|
|
1869
|
+
_warn(f"PyPI unreachable: {type(e).__name__}")
|
|
1870
|
+
warnings.append("no_network")
|
|
1871
|
+
|
|
1872
|
+
# Summary
|
|
1873
|
+
console.print()
|
|
1874
|
+
console.print("[bold]Summary[/bold]")
|
|
1875
|
+
if not issues:
|
|
1876
|
+
if not warnings:
|
|
1877
|
+
console.print(" [bold green]✓ All checks passed — system healthy.[/bold green]")
|
|
1878
|
+
else:
|
|
1879
|
+
console.print(f" [bold yellow]![/bold yellow] {len(warnings)} warning(s), 0 critical issue(s)")
|
|
1880
|
+
console.print(" [dim]Run [bold]codedna doctor --fix[/bold] to attempt auto-fixes.[/dim]")
|
|
1881
|
+
else:
|
|
1882
|
+
console.print(f" [bold red]✗[/bold red] {len(issues)} critical issue(s), {len(warnings)} warning(s)")
|
|
1883
|
+
for issue in issues:
|
|
1884
|
+
console.print(f" [red]•[/red] {issue}")
|
|
1885
|
+
raise typer.Exit(1)
|
|
1886
|
+
|
|
1887
|
+
|
|
1703
1888
|
# ---------------------------------------------------------------------------
|
|
1704
1889
|
# Helper functions
|
|
1705
1890
|
# ---------------------------------------------------------------------------
|
|
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
|
|
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
|
|
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
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/assert/strict.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/buffer.buffer.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/child_process.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/compatibility/index.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/diagnostics_channel.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/globals.typedarray.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/inspector.generated.d.ts
RENAMED
|
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
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/readline/promises.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/stream/consumers.d.ts
RENAMED
|
File without changes
|
{codedna-0.3.0 → codedna-0.3.1}/vscode-extension/node_modules/@types/node/stream/promises.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|