codna 0.2.56__tar.gz → 0.2.57__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.
- {codna-0.2.56 → codna-0.2.57}/PKG-INFO +1 -1
- {codna-0.2.56 → codna-0.2.57}/codna/__init__.py +1 -1
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_SDK_AZ_INTEGRATION_PLAN.md +1 -1
- {codna-0.2.56 → codna-0.2.57}/codna/review.py +28 -1
- {codna-0.2.56 → codna-0.2.57}/codna/review_github.py +28 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_control.py +13 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_github.py +9 -5
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_pool.py +3 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_queue.py +33 -2
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_worker.py +136 -10
- {codna-0.2.56 → codna-0.2.57}/codna.egg-info/PKG-INFO +1 -1
- {codna-0.2.56 → codna-0.2.57}/pyproject.toml +1 -1
- {codna-0.2.56 → codna-0.2.57}/tests/test_review_findings.py +121 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_rules_and_review.py +23 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_github.py +14 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_queue.py +48 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_scheduling.py +11 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_worker.py +313 -0
- {codna-0.2.56 → codna-0.2.57}/MANIFEST.in +0 -0
- {codna-0.2.56 → codna-0.2.57}/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/_wheel_guard.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/admission_control.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_FORK.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_SDK_INTERFACE.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_SDK_RESEARCH.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/run-server.bundle.mjs +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/run-server.mjs +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/run-server.stub.mjs +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/.gitignore +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/LICENSE +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/NOTICE +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/UPSTREAM_COMMIT.txt +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/acp-editor.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/adapter.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/algenta-plugin.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/artifacts.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/execution.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/fallback.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/fallback.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/fix-runner.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/http.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/local-graph-tool.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/mojo-gate.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/mojo-gate.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/policy.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/postbuild.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proof-artifacts.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proof-provider.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proof-provider.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proofs.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/provider-key.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/raw-completions.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/review-policy.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/run-server.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/scheduled-agents.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/artifacts.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/contracts.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/execution.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/http.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/policy.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/state.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/streaming.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/utils.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/task-policy.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-localize.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-localize.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-worker.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-worker.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/tools.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/tools.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/usage-cost.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/usage-cost.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/write-scope.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/write-scope.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/biome.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/bun.lock +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/.cline/rules/worktree_dependency_hygiene.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/.cline/skills/plugin.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/.gitignore +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/AGENTS.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/ARCHITECTURE.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/CHANGELOG.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/CONTRIBUTING.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/biome.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/changelog-generator.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/code-style-audit.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/daily-code-review.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/dead-code-finder.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/dependency-check.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/documentation-check.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-manual-test.event.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-plugin-event.event.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-changelog-check.event.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-review.event.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-test-coverage.event.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/performance-baseline.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/test-coverage-report.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/type-check-strict.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/weekly-metrics-summary.cron.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_BlockDestructive.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectContext.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectFileContext.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_ModifyInput.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_RequireReview.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/SessionShutdown.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskComplete.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskStart.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/custom-compaction-hook.example.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/anvil.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/inquisitor.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/oracle.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/phantom.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/api-design.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/code-review.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/debugging.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/documentation.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/migration.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/refactoring.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/test-generation.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/automation-events.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/background-terminal.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/custom-compaction.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/env-blocker.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/gitignore-read-files-guard.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/mac-notify.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/openrouter-provider.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/weather-metrics.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/web-search.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/bun.mts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.provider-form.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.build.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.dev.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/vitest.config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/bun.mts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/docs/messages-contract-v1.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/fixtures/messages/success.messages.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke-host.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/featurebase-token.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/automation.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/runtime-services.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/start-input.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/telemetry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/cron-report-writer.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/resource-limiter.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/cron-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-command-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/cron-schema.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-plugin.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/agentic-compaction.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/basic-compaction.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction-shared.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.live.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/client.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/name-transform.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/policies.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/tools.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-load-report.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-module-import.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-targeting.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/constants.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch-parser.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/search.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/web-fetch.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/helpers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/schemas.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/delegated-agent.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.lifecycle.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/projections.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/runtime.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/subagent-prompts.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-extension.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess-runner.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/ui-client.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/entry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/runtime-handlers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/start-shared-server.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/workspace.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/remote-runtime-host.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/boundary.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/command-transport.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/fetch-wiring.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/approval-handlers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/capability-handlers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/client-handlers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/context.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-event-projector.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-handlers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-capability-tool-executors.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-client-contributions.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-notifications.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-schedule-events.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-logging.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-options.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-transport.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-session-records.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-websocket-server.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/native-transport.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/notification.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/ui-events.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/settings.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/remote-config/integration.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/normalize-runtime-capabilities.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/runtime-capabilities.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/agent-event-bridge.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-record.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-service-invoker.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/spawn-tool.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/user-files.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.e2e.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.team-persistence.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-parity.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/user-input-builder.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/loop-detection.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/mistake-tracker.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/tool-approval.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/agent-events.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/cline-recommended-models.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/configured-provider-registry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-registry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.startup.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-tools.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-registry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/model-source.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-artifacts.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-telemetry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/artifact-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/file-team-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/session-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-session-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-team-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/team-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/ITelemetryAdapter.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/tool-context.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manager.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manifest.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-graph.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-manifest.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-row.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/file-session-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.team-persistence.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-snapshot.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/conversation-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/session-manifest-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/team-persistence-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-child-session-manager.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-session-coordinator.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/chat-schema.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/common.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/events.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/provider-settings.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/session.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/sessions.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/storage.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/version.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.build.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.dev.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.smoke.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.e2e.config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/AGENTS.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/bun.mts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/fixtures/usage.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/fix-esm-imports.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/generate-models.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/models/generate-models-dev.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated-access.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.browser.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/models.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/async.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins-runtime.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/factory-registry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/handler.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/http.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/messages.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-facts.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-registry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/openai-codex-models.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/provider-keys.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/registry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/generic-compatible.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/glm-thinking.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/minimax-thinking.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-option-rules.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options-types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/reasoning-codecs.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/utils.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/stream.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/google.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/mistral.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai-compatible.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.browser.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.example.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.example.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.reasoning.example.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning-disabled.example.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning.example.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.tools.example.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-minimax-routing.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-reasoning.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-runner.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-tools.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/anthropic-claude-sonnet-4-6.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/cline-anthropic-sonnet.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-codex-gpt-5-4.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-compatible-deepseek-v4-pro.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.build.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.dev.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/vitest.config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/bun.mts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/src/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.build.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/README.md +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/bun.mts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/package.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agent.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/schemas.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/events.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/options.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/cron-spec-types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/dispose.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/context.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/plugin.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/contracts.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/events.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hub.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.browser.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/gateway.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/messages.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/model-info.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/reasoning-effort.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/requests.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tokens.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tools.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/logging/logger.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/error.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/headers/utils.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/string.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/time.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/zod.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/cline.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/system.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/artifact-store.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/blob-storage.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/bundle.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/constants.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/materializer.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/paths.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/telemetry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/runtime.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/team-progress.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry-config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/hook-context.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/records.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-env.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/workspace.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.home-dir.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/schema.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/types.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/auth.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/index.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/vcr.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.test.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.build.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/vitest.config.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/tsconfig.base.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/check-publish.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/ci-node-smoke.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/clean.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/release.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/run-vendored-tests.sh +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/version.ts +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/tsconfig.json +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/agent_core_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/byok_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/ci_admission.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/ci_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/cli_errors.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/cline_agent.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/codeunits.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/codeunits_treesitter.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/config_file.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/doctor.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/doctor_output.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/engine.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/evasion.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/evidence.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/findings.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/fix_inputs.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/fix_run.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/focus_paths.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/gate.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/gitpush.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/impact.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/impact_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/keystore.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/local_client.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/local_mojo_daemon.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/local_mojo_pool.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/local_repository_shims.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/local_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/localfix.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/login.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/manifest.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/mcp_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/mcp_install.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/mcp_server.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/memory.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/memory_manifest.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/memory_rerank.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/netjail.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/packaged_agent_runner.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/packaged_git.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/packaged_repository_advanced.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/packaged_repository_backend.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/patch_text.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/patchgen.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/policy.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/project_rules.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/python_import_paths.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/refengine.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/remote_http.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/repo_backend.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/report_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/repository_artifacts.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/review_budget.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/review_findings.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/runtime/__init__.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/runtime/config.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/runtime/health.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/runtime/local_stack.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/runtime/ports.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/runtime/processes.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/runtime_config.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/sandbox.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/sarif.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/scaffold.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/secure.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/secure_open_pr_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/status.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/supervisor.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/telys_onboarding.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/telys_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/testrun.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_ci_triage.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_metering.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_procs.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_resume.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/webhook_summaries.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/worker.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/worktree.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna/writer.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna.egg-info/SOURCES.txt +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna.egg-info/dependency_links.txt +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna.egg-info/entry_points.txt +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna.egg-info/requires.txt +0 -0
- {codna-0.2.56 → codna-0.2.57}/codna.egg-info/top_level.txt +0 -0
- {codna-0.2.56 → codna-0.2.57}/memengine/__init__.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/memengine/_validate.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/memengine/native_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/setup.cfg +0 -0
- {codna-0.2.56 → codna-0.2.57}/setup.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_admission_control.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_agent_core_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_bench_driver_lazy_resolution.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_bench_env.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_benchmark_parity_imports.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_benchmark_suite.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_ci_admission.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_cli_doctor.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_cli_fix.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_cli_parser.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_cli_register.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_cli_surface_parity.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_cline_agent_unparseable_details.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_cline_fork_guard.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_codeunits.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_codeunits_treesitter.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_config_file.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_dev_check_script.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_dockerfile_webhook.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_dockerignore.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_doctor.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_download_telys_runtime_bundle.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_engine.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_engine_contract_integration.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_evasion.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_evidence.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_evidence_io.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_extract_nul.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_fix_inputs_remote.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_fix_run.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_gate.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_gitpush.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_impact.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_impact_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_keys_file_dev_only.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_keystore.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_local_byok_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_local_client.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_local_mojo_daemon.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_local_mojo_pool_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_local_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_local_runtime_lifecycle.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_localfix.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_login.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_manifest.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_default_repo.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_enrich.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_install.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_recall.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_report_bug.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_secure.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_memory_errors.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_memory_hybrid.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_memory_incremental.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_memory_license.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_memory_rerank.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_memory_wordllama_rerank.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_memory_wrapper.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_modularity.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_netjail.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_confidence.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_git_clone.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_guidance.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_remote_pr.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_runner_review_terminal_state.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_test_fix_scope.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_packaging.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_patch_text.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_patchgen.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_policy.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_refengine.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_release_readiness.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_repo_backend.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_report_cli.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_repository_artifacts.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_review_budget.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_review_error_details.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_runtime_config.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_runtime_ports.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_runtime_processes.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_sandbox.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_sarif.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_scaffold_and_status.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_secure.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_stage_codna_telys_oem_license.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_stage_codna_telys_runtime.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_structured_error.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_supervisor.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_sync_wheel_memengine.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_telys_onboarding.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_telys_runtime_packaging.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_testrun.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_verify_pypi_trusted_publisher.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_ci_triage.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_feedback_dispatch.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_github_ci.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_metering.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_resume.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_worker_feedback_dispatch.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_wheel_guard.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_wheel_smoke_script.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_worker.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_workflows.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_worktree.py +0 -0
- {codna-0.2.56 → codna-0.2.57}/tests/test_writer.py +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Status: **proposal for review** (no code yet). Principle: drive the agent loop with the
|
|
4
4
|
> vendored Apache-2.0 Cline SDK end to end; plug the Algenta engine (250-language repo
|
|
5
|
-
> intelligence + the Mojo
|
|
5
|
+
> intelligence + the Mojo runtime + the capability plane) **behind** it as tools,
|
|
6
6
|
> hooks, and MCP — not a re-implementation. Boundary stays self-hosted HTTP
|
|
7
7
|
> (see `project_sdk_transport_boundary`): Cline (Node head) calls the Algenta engine over
|
|
8
8
|
> the local `/v1/repositories` + capability-plane API; no cloud.
|
|
@@ -9,6 +9,7 @@ triage (suspect files/symbols + context reduction).
|
|
|
9
9
|
from __future__ import annotations
|
|
10
10
|
|
|
11
11
|
import os
|
|
12
|
+
import re
|
|
12
13
|
import shutil
|
|
13
14
|
import subprocess
|
|
14
15
|
|
|
@@ -55,6 +56,30 @@ def _env_check_run_id() -> int | None:
|
|
|
55
56
|
return int(raw) if raw.isdigit() else None
|
|
56
57
|
|
|
57
58
|
|
|
59
|
+
_SHA_RE = re.compile(r"[0-9a-f]{7,40}")
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _env_check_run_head_sha() -> str | None:
|
|
63
|
+
"""``CODNA_CHECK_RUN_HEAD_SHA``: the commit the caller anchored that Check Run to, reported back
|
|
64
|
+
in ``--json`` (``posted.check_head_sha``) next to the head this review actually read, so a
|
|
65
|
+
caller can see the two disagree (thyn-ai/codna#569). Unset or not a SHA -> None."""
|
|
66
|
+
raw = os.environ.get("CODNA_CHECK_RUN_HEAD_SHA", "").strip().lower()
|
|
67
|
+
return raw if _SHA_RE.fullmatch(raw) else None
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def _pr_head_now(repo_slug: str | None, pr_number: int | None, token: str | None) -> str | None:
|
|
71
|
+
"""The pull request's head at this moment, or None when it cannot be read. Read right before
|
|
72
|
+
posting: a head that moved while the review ran must not receive the review's approval."""
|
|
73
|
+
if not (repo_slug and pr_number):
|
|
74
|
+
return None
|
|
75
|
+
from . import review_github as rg
|
|
76
|
+
|
|
77
|
+
try:
|
|
78
|
+
return rg.fetch_pr(repo_slug, pr_number, token).get("head_sha") or None
|
|
79
|
+
except Exception: # noqa: BLE001 -- best-effort; an unreadable head is reported as unknown, never as moved
|
|
80
|
+
return None
|
|
81
|
+
|
|
82
|
+
|
|
58
83
|
def _wrapped_details(exc: BaseException) -> dict[str, object]:
|
|
59
84
|
"""Structured detail carried by a wrapped error, if it has any.
|
|
60
85
|
|
|
@@ -294,7 +319,9 @@ def run_findings_review(args) -> dict:
|
|
|
294
319
|
_fail("--post needs a write token: pass --github-token or set GITHUB_TOKEN.")
|
|
295
320
|
try:
|
|
296
321
|
out["posted"] = rg.post_review(result, repo_slug=repo_slug, pr_number=pr_number, token=token,
|
|
297
|
-
check_run_id=_env_check_run_id(), approve=cfg.approve_clean
|
|
322
|
+
check_run_id=_env_check_run_id(), approve=cfg.approve_clean,
|
|
323
|
+
check_head_sha=_env_check_run_head_sha(),
|
|
324
|
+
pr_head_sha=_pr_head_now(repo_slug, pr_number, token))
|
|
298
325
|
except Exception as exc: # noqa: BLE001
|
|
299
326
|
_fail(f"posting the review failed: {exc}")
|
|
300
327
|
return out
|
|
@@ -431,9 +431,16 @@ def parse_pr_arg(value: str, repo_dir: str) -> tuple[str | None, int | None]:
|
|
|
431
431
|
return repo_slug_from_git(repo_dir), None
|
|
432
432
|
|
|
433
433
|
|
|
434
|
+
def head_moved_note(reviewed: str, current: str) -> str:
|
|
435
|
+
"""The approval line when the pull request's head is no longer the one this review read."""
|
|
436
|
+
return (f"⏸ Not approved: the pull request head moved from {reviewed[:8]} to {current[:8]} while this "
|
|
437
|
+
f"review ran; the current head gets a review of its own.")
|
|
438
|
+
|
|
439
|
+
|
|
434
440
|
def post_review(
|
|
435
441
|
result: ReviewResult, *, repo_slug: str, pr_number: int, token: str, dedup: bool = True,
|
|
436
442
|
check_run_id: int | None = None, approve: bool = True,
|
|
443
|
+
check_head_sha: str | None = None, pr_head_sha: str | None = None,
|
|
437
444
|
) -> dict:
|
|
438
445
|
"""Post ONE review (+ the "codna review" check) to the PR. Returns a small status dict.
|
|
439
446
|
|
|
@@ -441,6 +448,14 @@ def post_review(
|
|
|
441
448
|
APPROVE -- see :func:`review_event` for exactly when. A PR the App itself authored cannot be
|
|
442
449
|
approved by the App (GitHub answers 422); that case falls back to a COMMENT.
|
|
443
450
|
|
|
451
|
+
``pr_head_sha`` is the pull request's head as the caller read it right before posting. When it
|
|
452
|
+
differs from ``result.head_sha`` the head moved while the review ran: the review is still posted
|
|
453
|
+
against the commit it read, but never as an APPROVE -- a pull request approval counts for the
|
|
454
|
+
whole pull request, and nobody reviewed the new head (thyn-ai/codna#569). ``check_head_sha`` is
|
|
455
|
+
the commit the caller's ``check_run_id`` is anchored to. Both are returned as they are (None =
|
|
456
|
+
unknown), next to the reviewed head, so a caller of ``codna review --json`` can see the three
|
|
457
|
+
disagree; when this function creates the check itself, it is anchored to the reviewed head.
|
|
458
|
+
|
|
444
459
|
``dedup`` fetches existing PR review comments and skips fingerprints Codna already posted, so a
|
|
445
460
|
re-run on the same head does not duplicate threads. ``check_run_id`` (the webhook passes it as
|
|
446
461
|
``CODNA_CHECK_RUN_ID``) is a Check Run the caller already opened for this review: it is
|
|
@@ -484,6 +499,15 @@ def post_review(
|
|
|
484
499
|
# body is still a finding of this pass.
|
|
485
500
|
event = review_event(result, unresolved_blocking=unresolved, approve=approve)
|
|
486
501
|
note = approval_note(event, result, unresolved, approve=approve)
|
|
502
|
+
head_moved = bool(pr_head_sha and result.head_sha and pr_head_sha != result.head_sha)
|
|
503
|
+
if head_moved:
|
|
504
|
+
# The verdict is about the commit this review read; the pull request's head is another one.
|
|
505
|
+
# Findings still go up (they are anchored to the reviewed commit), an approval does not.
|
|
506
|
+
moved = head_moved_note(str(result.head_sha), str(pr_head_sha))
|
|
507
|
+
if event == "APPROVE":
|
|
508
|
+
event, note = "COMMENT", moved
|
|
509
|
+
else:
|
|
510
|
+
note = f"{note} {moved}"
|
|
487
511
|
|
|
488
512
|
inline_found = len(result.inline_findings)
|
|
489
513
|
demoted = 0
|
|
@@ -565,4 +589,8 @@ def post_review(
|
|
|
565
589
|
"skipped_duplicates": inline_found - len(payload["comments"]) - demoted,
|
|
566
590
|
"demoted_to_summary": demoted,
|
|
567
591
|
"check": check,
|
|
592
|
+
# The three commits a caller needs to compare: what the check is on, what was reviewed
|
|
593
|
+
# (``head_sha`` in the enclosing result) and where the pull request stands now.
|
|
594
|
+
"check_head_sha": check_head_sha if check_run_id is not None else result.head_sha,
|
|
595
|
+
"pr_head_sha": pr_head_sha,
|
|
568
596
|
}
|
|
@@ -137,6 +137,19 @@ class JobHandle:
|
|
|
137
137
|
self._token = token or self._token
|
|
138
138
|
self._check_run_id = check_run_id if check_run_id is not None else self._check_run_id
|
|
139
139
|
|
|
140
|
+
def retarget(self, ref: str) -> None:
|
|
141
|
+
"""Record the head this job actually works on, once the worker has resolved it.
|
|
142
|
+
|
|
143
|
+
A review job is registered with the head its EVENT carried, but it reviews the pull
|
|
144
|
+
request's head as of its start (``review._materialize_pr`` fetches ``pull/N/head``), and
|
|
145
|
+
the worker anchors its Check Run there (thyn-ai/codna#569). Superseding compares against
|
|
146
|
+
this ref, so it has to be the reviewed head: otherwise the late-delivered event for that
|
|
147
|
+
very head would cancel the job already reviewing it, and ``/healthz`` would name a commit
|
|
148
|
+
the job is not looking at.
|
|
149
|
+
"""
|
|
150
|
+
with self._lock:
|
|
151
|
+
self.ref = ref
|
|
152
|
+
|
|
140
153
|
def finalize(self) -> bool:
|
|
141
154
|
"""True for exactly one caller: whoever gets it owns writing this job's terminal queue row.
|
|
142
155
|
|
|
@@ -268,17 +268,21 @@ def complete_check_run_if_open(repo_full_name: str, token: str, check_run_id: in
|
|
|
268
268
|
|
|
269
269
|
|
|
270
270
|
def complete_stale_check_runs(
|
|
271
|
-
repo_full_name: str, token: str, *, head_sha: str, name: str, summary: str
|
|
271
|
+
repo_full_name: str, token: str, *, head_sha: str, name: str, summary: str,
|
|
272
|
+
conclusion: str = "cancelled",
|
|
272
273
|
) -> int:
|
|
273
|
-
"""Complete (as ``cancelled``) every still-``in_progress`` Check Run
|
|
274
|
-
``head_sha``. Returns how many were closed. Best-effort hygiene: never raises.
|
|
274
|
+
"""Complete (as ``conclusion``, default ``cancelled``) every still-``in_progress`` Check Run
|
|
275
|
+
named ``name`` on ``head_sha``. Returns how many were closed. Best-effort hygiene: never raises.
|
|
275
276
|
|
|
276
277
|
A run this worker opened and then lost -- killed mid-job by a redeploy, or a crash before
|
|
277
278
|
update_check_run -- stays "in progress" on that commit forever, because only the App that
|
|
278
279
|
created a Check Run may complete it and nothing else ever will. Observed live:
|
|
279
280
|
thyn-ai/algenta@cc26ddd6 `codna fix` in_progress from 2026-09-17 04:49 onward. Called right
|
|
280
281
|
before a fresh run is created for the same (sha, name), so a retry supersedes its dead
|
|
281
|
-
predecessor instead of stacking a second spinner next to it
|
|
282
|
+
predecessor instead of stacking a second spinner next to it -- and, as ``neutral``, on the
|
|
283
|
+
event SHA of a review whose pull request head had already moved when the job started
|
|
284
|
+
(thyn-ai/codna#569): a run left ``in_progress`` on a commit nobody is merging still strands
|
|
285
|
+
automation that waits for "all checks complete".
|
|
282
286
|
"""
|
|
283
287
|
try:
|
|
284
288
|
import httpx
|
|
@@ -306,7 +310,7 @@ def complete_stale_check_runs(
|
|
|
306
310
|
continue
|
|
307
311
|
try:
|
|
308
312
|
update_check_run(
|
|
309
|
-
repo_full_name, token, run_id, conclusion=
|
|
313
|
+
repo_full_name, token, run_id, conclusion=conclusion, summary=summary, name=name
|
|
310
314
|
)
|
|
311
315
|
closed += 1
|
|
312
316
|
except Exception: # noqa: BLE001 — someone else's run, already completed, or a transport error
|
|
@@ -226,6 +226,9 @@ class WorkerPool:
|
|
|
226
226
|
self._queue.complete(qjob.row_id, status="done" if result.ok else "failed",
|
|
227
227
|
result={"summary": result.summary, "attempt": qjob.attempts},
|
|
228
228
|
retry=result.retryable, retry_after_s=result.retry_after_s)
|
|
229
|
+
# A review whose pull request head moved while it ran: the head it did NOT review is
|
|
230
|
+
# queued now, after this row is terminal, so nothing about it can hold the row open.
|
|
231
|
+
webhook_worker.requeue_moved_head(qjob, result, self._queue)
|
|
229
232
|
except WebhookError as exc:
|
|
230
233
|
webhook_worker._log_worker_failure(qjob, code=exc.code, message=str(exc))
|
|
231
234
|
if self._may_finalize(handle):
|
|
@@ -155,11 +155,17 @@ class WebhookQueue:
|
|
|
155
155
|
)
|
|
156
156
|
return ids
|
|
157
157
|
|
|
158
|
-
def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0
|
|
158
|
+
def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0,
|
|
159
|
+
unless_pending: bool = False) -> bool:
|
|
159
160
|
"""Insert a job. Returns False if this delivery_id was already enqueued (dedup), or if it
|
|
160
161
|
is a CI-failure fix for a (repo, ref) that already has one queued, running, or finished in
|
|
161
162
|
the last 24 h -- every red check_suite on a PR head fires its own delivery, and one fix
|
|
162
|
-
attempt per head is all that can ever be useful.
|
|
163
|
+
attempt per head is all that can ever be useful.
|
|
164
|
+
|
|
165
|
+
``unless_pending`` also returns False when a job of this kind for exactly this pull request
|
|
166
|
+
head is already queued, retrying or running -- decided INSIDE the insert's own transaction,
|
|
167
|
+
so a delivery for that head landing between the check and the insert cannot slip a second
|
|
168
|
+
row in (the worker's requeue of a head that moved under a review, thyn-ai/codna#569)."""
|
|
163
169
|
if job.reason == "check_suite_failure" and job.ref:
|
|
164
170
|
cutoff = (datetime.now(timezone.utc) - timedelta(hours=24)).isoformat()
|
|
165
171
|
with self._conn() as conn:
|
|
@@ -176,6 +182,10 @@ class WebhookQueue:
|
|
|
176
182
|
# forever, and the pool would work through commits that no longer exist.
|
|
177
183
|
conn.execute("BEGIN IMMEDIATE")
|
|
178
184
|
try:
|
|
185
|
+
if unless_pending and self._pending_within(conn, repo=job.repo_full_name, pr_number=job.pr_number,
|
|
186
|
+
ref=job.ref, kind=job.kind):
|
|
187
|
+
conn.execute("COMMIT")
|
|
188
|
+
return False
|
|
179
189
|
cur = conn.execute(
|
|
180
190
|
"INSERT OR IGNORE INTO jobs "
|
|
181
191
|
"(delivery_id, kind, repo, ref, installation_id, issue_number, pr_number, context, "
|
|
@@ -207,6 +217,27 @@ class WebhookQueue:
|
|
|
207
217
|
raise
|
|
208
218
|
return inserted
|
|
209
219
|
|
|
220
|
+
@staticmethod
|
|
221
|
+
def _pending_within(conn: sqlite3.Connection, *, repo: str, pr_number: int | None, ref: str | None,
|
|
222
|
+
kind: str) -> bool:
|
|
223
|
+
"""The ``has_pending`` predicate inside a transaction the CALLER owns (see ``enqueue``)."""
|
|
224
|
+
if not repo or pr_number is None or not ref:
|
|
225
|
+
return False
|
|
226
|
+
row = conn.execute(
|
|
227
|
+
"SELECT 1 FROM jobs WHERE repo=? AND pr_number=? AND kind=? AND ref=? "
|
|
228
|
+
"AND status IN ('queued','retry','running') LIMIT 1",
|
|
229
|
+
(repo, pr_number, kind, ref),
|
|
230
|
+
).fetchone()
|
|
231
|
+
return row is not None
|
|
232
|
+
|
|
233
|
+
def has_pending(self, *, repo: str, pr_number: int | None, ref: str | None, kind: str) -> bool:
|
|
234
|
+
"""Whether a job of ``kind`` for exactly this pull request head is already waiting or
|
|
235
|
+
running (thyn-ai/codna#569: one review of a head is all that is ever useful). A read for
|
|
236
|
+
diagnostics and tests; a caller about to INSERT uses ``enqueue(unless_pending=True)``, which
|
|
237
|
+
asks the same question inside the insert's transaction."""
|
|
238
|
+
with self._conn() as conn:
|
|
239
|
+
return self._pending_within(conn, repo=repo, pr_number=pr_number, ref=ref, kind=kind)
|
|
240
|
+
|
|
210
241
|
def claim(self, *, reserve_priority: bool = False) -> QueuedJob | None:
|
|
211
242
|
"""Atomically claim the next runnable job (retryable rows included). None if empty.
|
|
212
243
|
|
|
@@ -26,7 +26,7 @@ import socket
|
|
|
26
26
|
import subprocess
|
|
27
27
|
import sys
|
|
28
28
|
import tempfile
|
|
29
|
-
from dataclasses import dataclass
|
|
29
|
+
from dataclasses import dataclass, replace
|
|
30
30
|
from pathlib import Path
|
|
31
31
|
from typing import Any, Callable
|
|
32
32
|
|
|
@@ -117,6 +117,9 @@ class JobResult:
|
|
|
117
117
|
check_completed: bool = False # the CLI already completed the job's Check Run (a review's findings)
|
|
118
118
|
neutral: bool = False # settled non-run (the sandbox cannot run the repo's tests): ok, check ends neutral
|
|
119
119
|
cancelled: bool = False # stopped from outside (head moved, or the job deadline): never a failure
|
|
120
|
+
# A review found the pull request head had moved while it ran: the check on the reviewed
|
|
121
|
+
# commit stands, and this head needs a review of its own. The pool queues it (requeue_moved_head).
|
|
122
|
+
requeue_head: str | None = None
|
|
120
123
|
|
|
121
124
|
@property
|
|
122
125
|
def conclusion(self) -> str:
|
|
@@ -281,7 +284,7 @@ def _job_env(
|
|
|
281
284
|
token: str | None, engine_key: str | None,
|
|
282
285
|
provider: str | None = None, provider_key: str | None = None,
|
|
283
286
|
*, tmp: str | None = None, git_identity: tuple[str, str] | None = None,
|
|
284
|
-
check_run_id: int | None = None,
|
|
287
|
+
check_run_id: int | None = None, check_head_sha: str | None = None,
|
|
285
288
|
) -> dict[str, str]:
|
|
286
289
|
"""Minimal allowlisted env + the scoped GitHub token, per-org Codna key, and (when the
|
|
287
290
|
linked org has configured one) their own BYOK provider key — set consistently regardless of
|
|
@@ -316,6 +319,10 @@ def _job_env(
|
|
|
316
319
|
# The Check Run this job opened. `codna review --post` completes THAT run with its findings
|
|
317
320
|
# instead of opening a second one, so a review shows as ONE "codna review" check.
|
|
318
321
|
env["CODNA_CHECK_RUN_ID"] = str(check_run_id)
|
|
322
|
+
if check_head_sha:
|
|
323
|
+
# The commit that run is anchored to, so the CLI's `--json` output can say whether the
|
|
324
|
+
# check, the reviewed head and the pull request's head agree (review_github.post_review).
|
|
325
|
+
env["CODNA_CHECK_RUN_HEAD_SHA"] = check_head_sha
|
|
319
326
|
return env
|
|
320
327
|
|
|
321
328
|
|
|
@@ -323,6 +330,7 @@ def run_codna_job(job: WebhookJob, *, token: str | None, engine_key: str | None,
|
|
|
323
330
|
provider: str | None = None, provider_key: str | None = None,
|
|
324
331
|
codna_bin: str = "codna", git_identity: tuple[str, str] | None = None,
|
|
325
332
|
check_run_id: int | None = None, control: JobHandle | None = None,
|
|
333
|
+
check_head_sha: str | None = None,
|
|
326
334
|
) -> JobResult:
|
|
327
335
|
"""Default runner: run packaged codna for the job in an isolated, scrubbed workspace.
|
|
328
336
|
|
|
@@ -379,7 +387,7 @@ def run_codna_job(job: WebhookJob, *, token: str | None, engine_key: str | None,
|
|
|
379
387
|
try:
|
|
380
388
|
proc = _run_job_process(
|
|
381
389
|
argv, env=_job_env(token, engine_key, provider, provider_key, tmp=tmp, git_identity=git_identity,
|
|
382
|
-
check_run_id=check_run_id),
|
|
390
|
+
check_run_id=check_run_id, check_head_sha=check_head_sha),
|
|
383
391
|
cwd=tmp, timeout=_JOB_TIMEOUT_S,
|
|
384
392
|
on_process=control.attach_process if control is not None else None,
|
|
385
393
|
)
|
|
@@ -422,6 +430,103 @@ def run_codna_job(job: WebhookJob, *, token: str | None, engine_key: str | None,
|
|
|
422
430
|
check_completed=completed)
|
|
423
431
|
|
|
424
432
|
|
|
433
|
+
def _current_pr_head(job: WebhookJob, token: str, github: Any) -> str | None:
|
|
434
|
+
"""The pull request's head right now, or None when the client cannot say (no helper, an API
|
|
435
|
+
error). Never raises: the caller falls back to the head the event carried."""
|
|
436
|
+
lookup = getattr(github, "pull_request_head_sha", None)
|
|
437
|
+
if not callable(lookup) or not job.pr_number:
|
|
438
|
+
return None
|
|
439
|
+
try:
|
|
440
|
+
head = lookup(job.repo_full_name, token, job.pr_number)
|
|
441
|
+
except Exception: # noqa: BLE001 -- a lookup hiccup must not fail the job; the event head still works
|
|
442
|
+
return None
|
|
443
|
+
return str(head) if head else None
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
def _review_head_at_start(qjob: QueuedJob, token: str, github: Any, control: JobHandle | None) -> str | None:
|
|
447
|
+
"""Resolve the head a review job is about to review, so its Check Run is anchored THERE.
|
|
448
|
+
|
|
449
|
+
The review reads the pull request's CURRENT head (``review._materialize_pr`` fetches
|
|
450
|
+
``pull/N/head``), not the SHA the queued event carried; when the head moved between the event
|
|
451
|
+
and this job starting -- a rebase while the queue was saturated, or a late delivery -- a check
|
|
452
|
+
created on the event SHA lands on a commit that is no longer the head. The branch ruleset then
|
|
453
|
+
sees the required `codna review` as ABSENT and an approved pull request stays BLOCKED
|
|
454
|
+
(thyn-ai/algenta#1085: event head 7679ecbe, reviewed head 5a3ba5ff, check on 7679ecbe;
|
|
455
|
+
thyn-ai/codna#569). Superseding covers the case where the NEW head's event arrives; this
|
|
456
|
+
covers the case where it does not.
|
|
457
|
+
|
|
458
|
+
When the head moved, any run this App still has ``in_progress`` on the event SHA is completed
|
|
459
|
+
``neutral`` -- left open it would strand automation waiting for "all checks complete" on a
|
|
460
|
+
commit nobody is merging -- and the job's cancellation handle is retargeted so the late event
|
|
461
|
+
for the resolved head does not supersede the job already reviewing it. Returns None when the
|
|
462
|
+
head cannot be read: the caller keeps the event head, which is today's behaviour.
|
|
463
|
+
"""
|
|
464
|
+
job = qjob.job
|
|
465
|
+
head = _current_pr_head(job, token, github)
|
|
466
|
+
if not head:
|
|
467
|
+
return None
|
|
468
|
+
name = check_run_name(job.kind)
|
|
469
|
+
if job.ref and head != job.ref:
|
|
470
|
+
_log_worker_phase(qjob, "head_moved_before_start", event_head=job.ref, head=head)
|
|
471
|
+
complete_stale = getattr(github, "complete_stale_check_runs", None)
|
|
472
|
+
if callable(complete_stale):
|
|
473
|
+
try:
|
|
474
|
+
complete_stale(
|
|
475
|
+
job.repo_full_name, token, head_sha=job.ref, name=name, conclusion="neutral",
|
|
476
|
+
summary=f"{name}: head moved to {head[:8]} before the review started; "
|
|
477
|
+
f"see the check on that commit.",
|
|
478
|
+
)
|
|
479
|
+
except Exception: # noqa: BLE001 -- hygiene on the stale commit must never block this job's own run
|
|
480
|
+
pass
|
|
481
|
+
if control is not None:
|
|
482
|
+
control.retarget(head)
|
|
483
|
+
return head
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
def _review_head_at_end(qjob: QueuedJob, token: str, github: Any, reviewed: str) -> str | None:
|
|
487
|
+
"""The pull request's head if it moved away from ``reviewed`` during the turn, else None.
|
|
488
|
+
|
|
489
|
+
The review just posted is valid evidence for ``reviewed`` and its check stays there; the new
|
|
490
|
+
head needs a review of its own, which the pool queues from the returned value. Only a head the
|
|
491
|
+
lookup could read counts: an unreadable head is not a moved one.
|
|
492
|
+
"""
|
|
493
|
+
head = _current_pr_head(qjob.job, token, github)
|
|
494
|
+
if not head or head == reviewed:
|
|
495
|
+
return None
|
|
496
|
+
_log_worker_phase(qjob, "head_moved_during_turn", reviewed_head=reviewed, head=head)
|
|
497
|
+
return head
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
def requeue_moved_head(qjob: QueuedJob, result: JobResult, queue: Any) -> bool:
|
|
501
|
+
"""Queue a review of the head a review job found had moved under it. True when a row was added.
|
|
502
|
+
|
|
503
|
+
Priority 1 within the merge-gating class, like the boot reconciler's requeue: that head is
|
|
504
|
+
already waiting on a check the ruleset requires. Skipped when a job for exactly that head is
|
|
505
|
+
already queued or running -- the new head's own event may have arrived meanwhile -- decided by
|
|
506
|
+
the queue inside the insert's own transaction (``enqueue(unless_pending=True)``), so a delivery
|
|
507
|
+
landing in between cannot make it two; the enqueue's supersede retires whatever older heads are
|
|
508
|
+
still waiting. Best-effort: never raises.
|
|
509
|
+
"""
|
|
510
|
+
head = result.requeue_head
|
|
511
|
+
job = qjob.job
|
|
512
|
+
if not head or job.kind != "review" or not job.pr_number or queue is None:
|
|
513
|
+
return False
|
|
514
|
+
enqueue = getattr(queue, "enqueue", None)
|
|
515
|
+
if not callable(enqueue):
|
|
516
|
+
return False
|
|
517
|
+
try:
|
|
518
|
+
added = bool(enqueue(
|
|
519
|
+
WebhookJob("review", job.repo_full_name, ref=head, pr_number=job.pr_number,
|
|
520
|
+
installation_id=job.installation_id, reason="head_moved_during_review"),
|
|
521
|
+
delivery_id=f"head-moved-{qjob.row_id}-{head}", priority=1, unless_pending=True,
|
|
522
|
+
))
|
|
523
|
+
except Exception as exc: # noqa: BLE001 -- the review that just posted must not fail over this
|
|
524
|
+
_log_worker_phase(qjob, "head_moved_requeue_failed", head=head, error=type(exc).__name__)
|
|
525
|
+
return False
|
|
526
|
+
_log_worker_phase(qjob, "head_moved_requeued" if added else "head_moved_requeue_skipped", head=head)
|
|
527
|
+
return added
|
|
528
|
+
|
|
529
|
+
|
|
425
530
|
def _inherit_review_for_merge_group(job: WebhookJob, token: str | None, github: Any) -> JobResult:
|
|
426
531
|
"""Post the PR head's completed ``codna review`` verdict as the merge group's own check.
|
|
427
532
|
|
|
@@ -645,7 +750,12 @@ def process_job(
|
|
|
645
750
|
|
|
646
751
|
ci_note: str | None = None
|
|
647
752
|
check_id = None
|
|
648
|
-
|
|
753
|
+
# The commit this job's Check Run is anchored to: the head the event carried -- except for a
|
|
754
|
+
# review, which reads the pull request's CURRENT head and must report there (#569).
|
|
755
|
+
check_sha = job.ref
|
|
756
|
+
if token and job.kind == "review" and job.pr_number:
|
|
757
|
+
check_sha = _review_head_at_start(qjob, token, github, control) or job.ref
|
|
758
|
+
if token and check_sha:
|
|
649
759
|
# A retry (recover_stale after a restart, or attempt 2/3 after a crash) must supersede the
|
|
650
760
|
# run its predecessor left "in progress" on this commit -- only this App can complete it,
|
|
651
761
|
# so otherwise it spins forever next to the new one (thyn-ai/algenta@cc26ddd6 `codna fix`,
|
|
@@ -657,14 +767,14 @@ def process_job(
|
|
|
657
767
|
# run of this name on the commit would be a concurrent sibling job's LIVE one.
|
|
658
768
|
try:
|
|
659
769
|
complete_stale(
|
|
660
|
-
job.repo_full_name, token, head_sha=
|
|
770
|
+
job.repo_full_name, token, head_sha=check_sha, name=check_run_name(job.kind),
|
|
661
771
|
summary=f"{check_run_name(job.kind)}: an earlier attempt was interrupted (worker restart); "
|
|
662
772
|
f"superseded by a new run ({job.reason}).",
|
|
663
773
|
)
|
|
664
774
|
except Exception: # noqa: BLE001 — hygiene must never block creating this job's own run
|
|
665
775
|
pass
|
|
666
776
|
check_id = github.create_check_run(
|
|
667
|
-
job.repo_full_name, token, name=check_run_name(job.kind), head_sha=
|
|
777
|
+
job.repo_full_name, token, name=check_run_name(job.kind), head_sha=check_sha,
|
|
668
778
|
summary=f"{check_run_name(job.kind)} started ({job.reason})",
|
|
669
779
|
)
|
|
670
780
|
if check_id and on_check_run:
|
|
@@ -691,7 +801,8 @@ def process_job(
|
|
|
691
801
|
identity_fn = getattr(github, "app_bot_identity", None)
|
|
692
802
|
git_identity = identity_fn(app_id, private_key) if callable(identity_fn) else None
|
|
693
803
|
result = runner(job, token=token, engine_key=engine_key, provider=provider, provider_key=provider_key,
|
|
694
|
-
git_identity=git_identity, check_run_id=check_id, control=control
|
|
804
|
+
git_identity=git_identity, check_run_id=check_id, control=control,
|
|
805
|
+
check_head_sha=check_sha if check_id else None)
|
|
695
806
|
except Exception as exc: # noqa: BLE001 — a check-run this function opened must always be
|
|
696
807
|
# completed, even on a crash the runner itself didn't turn into a JobResult (run_codna_job
|
|
697
808
|
# only catches subprocess.TimeoutExpired). Without this, check_id is created above but
|
|
@@ -705,13 +816,26 @@ def process_job(
|
|
|
705
816
|
# GitHub refused it and the failure was swallowed. Close it here, through the same
|
|
706
817
|
# never-clobber helper, so a cancelled job can never leave a required check `in_progress`.
|
|
707
818
|
webhook_control.close_check_run(control, summary=result.summary, github=github)
|
|
819
|
+
moved_note: str | None = None
|
|
820
|
+
if job.kind == "review" and token and check_sha and not result.cancelled:
|
|
821
|
+
# Did the head move while the review ran? The check on the reviewed commit stands -- the
|
|
822
|
+
# review is evidence for THAT commit -- and the new head gets a review of its own, queued
|
|
823
|
+
# by the pool from ``requeue_head``. Never an approval carried onto a head nobody reviewed:
|
|
824
|
+
# the CLI's own post-time head check downgrades one (review_github.post_review). A cancelled
|
|
825
|
+
# job is left alone: whatever superseded it is already driving the new head.
|
|
826
|
+
moved_to = _review_head_at_end(qjob, token, github, check_sha)
|
|
827
|
+
if moved_to:
|
|
828
|
+
result = replace(result, requeue_head=moved_to)
|
|
829
|
+
moved_note = (f"The pull request head has since moved to {moved_to[:8]}; that head is queued "
|
|
830
|
+
f"for its own {check_run_name(job.kind)} run.")
|
|
708
831
|
if check_id and token and not result.check_completed:
|
|
709
832
|
# A review's CLI already completed this run with its findings (see _job_env): overwriting it
|
|
710
833
|
# here would replace the findings with a one-line wrapper summary.
|
|
711
834
|
github.update_check_run(
|
|
712
835
|
job.repo_full_name, token, check_id,
|
|
713
836
|
conclusion=result.conclusion,
|
|
714
|
-
summary=result.summary + (f"\n\n{
|
|
837
|
+
summary=result.summary + "".join(f"\n\n{note}" for note in (ci_note, moved_note) if note),
|
|
838
|
+
name=check_run_name(job.kind),
|
|
715
839
|
)
|
|
716
840
|
# An issue-label fix has neither a commit (no check_id: job.ref is never set for this trigger)
|
|
717
841
|
# nor a comment thread (no reply_to) to report through, so the issue itself is the ONLY place it
|
|
@@ -821,15 +945,17 @@ def _log_worker_failure(qjob: QueuedJob, *, code: str, message: str) -> None:
|
|
|
821
945
|
print(json.dumps(payload, sort_keys=True), file=sys.stderr, flush=True)
|
|
822
946
|
|
|
823
947
|
|
|
824
|
-
def _log_worker_phase(qjob: QueuedJob, phase: str) -> None:
|
|
948
|
+
def _log_worker_phase(qjob: QueuedJob, phase: str, **fields: object) -> None:
|
|
825
949
|
"""One stderr JSON line per job phase, so a stalled job is locatable from `fly logs`.
|
|
826
950
|
|
|
827
951
|
Until now a job only ever logged its FAILURE. A job that wedged (or was killed) between claim
|
|
828
952
|
and its first visible action left no trace at all: on 2026-09-17 two `@codna fix` jobs sat
|
|
829
953
|
silent for hours with `/ready` green, and there was nothing to grep for. `event` differs from
|
|
830
|
-
the failure line's so the two never get confused in a filter.
|
|
954
|
+
the failure line's so the two never get confused in a filter. ``fields`` are extra keys a
|
|
955
|
+
phase wants on record (the two heads of a move, for one).
|
|
831
956
|
"""
|
|
832
957
|
payload = _job_log_context(qjob)
|
|
958
|
+
payload.update(fields)
|
|
833
959
|
payload["event"] = "job_phase"
|
|
834
960
|
payload["phase"] = phase
|
|
835
961
|
print(json.dumps(payload, sort_keys=True), file=sys.stderr, flush=True)
|
|
@@ -1255,3 +1255,124 @@ def test_post_review_retry_does_not_repeat_a_finding_already_threaded_on_the_pr(
|
|
|
1255
1255
|
assert "already threaded" not in posts[-1]["body"] and threaded.fingerprint not in posts[-1]["body"]
|
|
1256
1256
|
assert out["event"] == "COMMENT" # the medium finding still counts
|
|
1257
1257
|
assert (out["inline_posted"], out["skipped_duplicates"], out["demoted_to_summary"]) == (0, 1, 1)
|
|
1258
|
+
|
|
1259
|
+
|
|
1260
|
+
# ---- codna#569: the check's anchor, the reviewed head and the PR's head, side by side -------------
|
|
1261
|
+
_REVIEWED = "h" * 40 # _ar().head_sha
|
|
1262
|
+
_MOVED_TO = "5a3ba5ff" + "0" * 32
|
|
1263
|
+
|
|
1264
|
+
|
|
1265
|
+
def _capture_check_summaries(monkeypatch):
|
|
1266
|
+
from codna import webhook_github
|
|
1267
|
+
summaries = []
|
|
1268
|
+
monkeypatch.setattr(webhook_github, "create_check_run", lambda *a, **k: 777)
|
|
1269
|
+
monkeypatch.setattr(webhook_github, "update_check_run", lambda *a, **k: summaries.append(k["summary"]))
|
|
1270
|
+
monkeypatch.setattr(rg, "fetch_pr_files", lambda *a, **k: None)
|
|
1271
|
+
return summaries
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
def test_post_review_reports_the_check_anchor_and_the_pr_head_next_to_the_reviewed_head(monkeypatch):
|
|
1275
|
+
"""The three commits automation needs to compare (algenta#1085 had check != reviewed head)."""
|
|
1276
|
+
import httpx
|
|
1277
|
+
_stub_checks(monkeypatch)
|
|
1278
|
+
monkeypatch.setattr(rg, "unresolved_blocking_findings", lambda *a, **k: 0)
|
|
1279
|
+
class _Ok:
|
|
1280
|
+
status_code, text = 200, ""
|
|
1281
|
+
monkeypatch.setattr(httpx, "post", lambda url, **k: _Ok())
|
|
1282
|
+
# the webhook's run: the anchor is whatever the caller says, the PR head is what it read at post time
|
|
1283
|
+
out = rg.post_review(_ar(), repo_slug="o/r", pr_number=5, token="t", dedup=False, check_run_id=9001,
|
|
1284
|
+
check_head_sha=_REVIEWED, pr_head_sha=_REVIEWED)
|
|
1285
|
+
assert out["check_head_sha"] == _REVIEWED and out["pr_head_sha"] == _REVIEWED and out["event"] == "APPROVE"
|
|
1286
|
+
# the standalone CLI: post_review opens the run itself, on the reviewed head
|
|
1287
|
+
out = rg.post_review(_ar(), repo_slug="o/r", pr_number=5, token="t", dedup=False)
|
|
1288
|
+
assert out["check_head_sha"] == _REVIEWED and out["pr_head_sha"] is None
|
|
1289
|
+
# a caller that knows neither: unknown is reported as unknown, never guessed
|
|
1290
|
+
out = rg.post_review(_ar(), repo_slug="o/r", pr_number=5, token="t", dedup=False, check_run_id=9001)
|
|
1291
|
+
assert out["check_head_sha"] is None and out["pr_head_sha"] is None
|
|
1292
|
+
|
|
1293
|
+
|
|
1294
|
+
def test_post_review_never_approves_a_head_that_moved_while_the_review_ran(monkeypatch):
|
|
1295
|
+
"""An approval counts for the whole pull request, and nobody reviewed the new head: a clean
|
|
1296
|
+
review of the old one is posted as a COMMENT (or, with nothing else to say, not at all) and
|
|
1297
|
+
the check says why. Findings still go up -- they are anchored to the commit that was reviewed."""
|
|
1298
|
+
import httpx
|
|
1299
|
+
summaries = _capture_check_summaries(monkeypatch)
|
|
1300
|
+
monkeypatch.setattr(rg, "unresolved_blocking_findings", lambda *a, **k: 0)
|
|
1301
|
+
posts = []
|
|
1302
|
+
class _Ok:
|
|
1303
|
+
status_code, text = 200, ""
|
|
1304
|
+
monkeypatch.setattr(httpx, "post", lambda url, **k: posts.append(k["json"]) or _Ok())
|
|
1305
|
+
moved = dict(repo_slug="o/r", pr_number=5, token="t", dedup=False, check_run_id=9001,
|
|
1306
|
+
check_head_sha=_REVIEWED, pr_head_sha=_MOVED_TO)
|
|
1307
|
+
# clean: would have been an APPROVE
|
|
1308
|
+
out = rg.post_review(_ar(), **moved)
|
|
1309
|
+
assert out["event"] == "COMMENT" and out["posted_review"] is False and posts == []
|
|
1310
|
+
assert out["pr_head_sha"] == _MOVED_TO and out["check_head_sha"] == _REVIEWED
|
|
1311
|
+
assert f"head moved from {_REVIEWED[:8]} to {_MOVED_TO[:8]}" in summaries[-1] and "✅ Approved" not in summaries[-1]
|
|
1312
|
+
# low-only: still no approval, the finding is posted as a COMMENT that says why
|
|
1313
|
+
out = rg.post_review(_ar([_af("low")]), **moved)
|
|
1314
|
+
assert out["event"] == "COMMENT" and out["posted_review"] is True
|
|
1315
|
+
assert posts[-1]["event"] == "COMMENT" and f"moved from {_REVIEWED[:8]}" in posts[-1]["body"]
|
|
1316
|
+
assert posts[-1]["commit_id"] == _REVIEWED # the review is about the commit it read
|
|
1317
|
+
# medium: not approved anyway; the move is still on record next to the reason
|
|
1318
|
+
out = rg.post_review(_ar([_af("medium")]), **moved)
|
|
1319
|
+
assert out["event"] == "COMMENT" and "1 medium/high finding(s)" in posts[-1]["body"]
|
|
1320
|
+
assert f"moved from {_REVIEWED[:8]}" in posts[-1]["body"]
|
|
1321
|
+
# the same head at post time: nothing changes
|
|
1322
|
+
out = rg.post_review(_ar(), **{**moved, "pr_head_sha": _REVIEWED})
|
|
1323
|
+
assert out["event"] == "APPROVE" and posts[-1]["event"] == "APPROVE"
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
def test_env_check_run_head_sha_parses_only_a_sha(monkeypatch):
|
|
1327
|
+
from codna import review
|
|
1328
|
+
|
|
1329
|
+
monkeypatch.delenv("CODNA_CHECK_RUN_HEAD_SHA", raising=False)
|
|
1330
|
+
assert review._env_check_run_head_sha() is None
|
|
1331
|
+
monkeypatch.setenv("CODNA_CHECK_RUN_HEAD_SHA", _MOVED_TO.upper())
|
|
1332
|
+
assert review._env_check_run_head_sha() == _MOVED_TO
|
|
1333
|
+
monkeypatch.setenv("CODNA_CHECK_RUN_HEAD_SHA", "not-a-sha")
|
|
1334
|
+
assert review._env_check_run_head_sha() is None
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
def test_run_findings_review_hands_post_review_the_head_at_post_time_and_the_checks_anchor(monkeypatch, tmp_path):
|
|
1338
|
+
"""`codna review <url> --pr N --post --json`: the PR head is read AGAIN right before posting (the
|
|
1339
|
+
turn is minutes long), the check's anchor comes from the worker's env, and the JSON result carries
|
|
1340
|
+
what post_review reported."""
|
|
1341
|
+
from codna import review
|
|
1342
|
+
|
|
1343
|
+
heads = iter([_REVIEWED, _MOVED_TO]) # at turn start, then at post time
|
|
1344
|
+
monkeypatch.setattr(rg, "fetch_pr",
|
|
1345
|
+
lambda slug, n, tok: {"base_ref": "main", "head_sha": next(heads), "head_ref": "f", "is_fork": False})
|
|
1346
|
+
monkeypatch.setattr(rg, "fetch_review_context", lambda *a, **k: {"last_reviewed_head": None, "prior_feedback": None})
|
|
1347
|
+
monkeypatch.setattr(review, "_materialize_pr",
|
|
1348
|
+
lambda url, n, base, tok, incremental_base=None: (str(tmp_path), "origin/main...codna-pr-head", _REVIEWED, None))
|
|
1349
|
+
monkeypatch.setattr(rf, "run_diff_review", lambda local, **kw: _ar())
|
|
1350
|
+
posted = {}
|
|
1351
|
+
|
|
1352
|
+
def fake_post_review(result, **kw):
|
|
1353
|
+
posted.update(kw)
|
|
1354
|
+
return {"event": "COMMENT", "check": {"id": kw["check_run_id"], "updated_existing": True},
|
|
1355
|
+
"check_head_sha": kw["check_head_sha"], "pr_head_sha": kw["pr_head_sha"]}
|
|
1356
|
+
|
|
1357
|
+
monkeypatch.setattr(rg, "post_review", fake_post_review)
|
|
1358
|
+
anchor = "7679ecbe" + "0" * 32 # what the worker anchored CODNA_CHECK_RUN_ID to
|
|
1359
|
+
monkeypatch.setenv("CODNA_CHECK_RUN_ID", "9001")
|
|
1360
|
+
monkeypatch.setenv("CODNA_CHECK_RUN_HEAD_SHA", anchor)
|
|
1361
|
+
args = SimpleNamespace(repo="https://github.com/o/r.git", pr="o/r#5", diff=None, base=None, post=True,
|
|
1362
|
+
model=None, github_token="t", min_confidence=None, max_findings=None, blocking=False)
|
|
1363
|
+
out = review.run_findings_review(args)
|
|
1364
|
+
assert posted["check_run_id"] == 9001 and posted["check_head_sha"] == anchor
|
|
1365
|
+
assert posted["pr_head_sha"] == _MOVED_TO # the head at POST time, not at start
|
|
1366
|
+
assert out["head_sha"] == _REVIEWED
|
|
1367
|
+
assert out["posted"]["check_head_sha"] == anchor and out["posted"]["pr_head_sha"] == _MOVED_TO
|
|
1368
|
+
|
|
1369
|
+
|
|
1370
|
+
def test_pr_head_now_is_best_effort(monkeypatch):
|
|
1371
|
+
from codna import review
|
|
1372
|
+
|
|
1373
|
+
def boom(*a, **k):
|
|
1374
|
+
raise RuntimeError("fetch PR #5 failed: 502")
|
|
1375
|
+
|
|
1376
|
+
monkeypatch.setattr(rg, "fetch_pr", boom)
|
|
1377
|
+
assert review._pr_head_now("o/r", 5, "t") is None
|
|
1378
|
+
assert review._pr_head_now(None, 5, "t") is None and review._pr_head_now("o/r", None, "t") is None
|