codna 0.2.73__tar.gz → 0.2.74__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.73 → codna-0.2.74}/PKG-INFO +1 -1
- {codna-0.2.73 → codna-0.2.74}/codna/__init__.py +1 -1
- {codna-0.2.73 → codna-0.2.74}/codna/webhook.py +63 -4
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_backend.py +13 -3
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_github.py +82 -28
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_lease.py +15 -2
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_pg_ops.py +36 -1
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_pg_queue.py +67 -5
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_pool.py +38 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_queue.py +6 -0
- codna-0.2.74/codna/webhook_queued_check.py +458 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_service.py +8 -1
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_worker.py +26 -44
- {codna-0.2.73 → codna-0.2.74}/codna.egg-info/PKG-INFO +1 -1
- {codna-0.2.73 → codna-0.2.74}/codna.egg-info/SOURCES.txt +2 -0
- {codna-0.2.73 → codna-0.2.74}/pyproject.toml +1 -1
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_github.py +87 -10
- codna-0.2.74/tests/test_webhook_queued_check.py +541 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_worker.py +229 -0
- {codna-0.2.73 → codna-0.2.74}/MANIFEST.in +0 -0
- {codna-0.2.73 → codna-0.2.74}/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/_wheel_guard.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/admission_control.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_FORK.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_SDK_AZ_INTEGRATION_PLAN.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_SDK_INTERFACE.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_SDK_RESEARCH.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/run-server.bundle.mjs +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/run-server.mjs +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/run-server.stub.mjs +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/.gitignore +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/LICENSE +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/NOTICE +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/UPSTREAM_COMMIT.txt +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/acp-editor.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/adapter.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/algenta-plugin.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/artifacts.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/execution.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/fallback.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/fallback.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/fix-runner.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/http.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/local-graph-tool.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/mojo-gate.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/mojo-gate.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/policy.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/postbuild.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proof-artifacts.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proof-provider.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proof-provider.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proofs.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/provider-key.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/raw-completions.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/review-policy.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/run-server.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/scheduled-agents.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/artifacts.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/contracts.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/execution.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/http.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/policy.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/state.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/streaming.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/utils.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/task-policy.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-localize.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-localize.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-worker.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-worker.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/tools.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/tools.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/usage-cost.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/usage-cost.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/write-scope.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/write-scope.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/biome.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/bun.lock +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/.cline/rules/worktree_dependency_hygiene.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/.cline/skills/plugin.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/.gitignore +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/AGENTS.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/ARCHITECTURE.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/CHANGELOG.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/CONTRIBUTING.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/biome.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/changelog-generator.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/code-style-audit.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/daily-code-review.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/dead-code-finder.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/dependency-check.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/documentation-check.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-manual-test.event.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-plugin-event.event.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-changelog-check.event.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-review.event.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-test-coverage.event.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/performance-baseline.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/test-coverage-report.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/type-check-strict.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/weekly-metrics-summary.cron.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_BlockDestructive.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectContext.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectFileContext.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_ModifyInput.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_RequireReview.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/SessionShutdown.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskComplete.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskStart.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/custom-compaction-hook.example.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/anvil.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/inquisitor.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/oracle.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/phantom.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/api-design.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/code-review.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/debugging.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/documentation.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/migration.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/refactoring.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/test-generation.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/automation-events.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/background-terminal.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/custom-compaction.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/env-blocker.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/gitignore-read-files-guard.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/mac-notify.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/openrouter-provider.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/weather-metrics.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/web-search.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/bun.mts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.provider-form.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.build.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.dev.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/vitest.config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/bun.mts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/docs/messages-contract-v1.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/fixtures/messages/success.messages.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke-host.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/featurebase-token.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/automation.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/runtime-services.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/start-input.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/telemetry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/cron-report-writer.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/resource-limiter.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/cron-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-command-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/cron-schema.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-plugin.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/agentic-compaction.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/basic-compaction.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction-shared.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.live.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/client.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/name-transform.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/policies.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/tools.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-load-report.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-module-import.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-targeting.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/constants.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch-parser.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/search.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/web-fetch.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/helpers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/schemas.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/delegated-agent.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.lifecycle.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/projections.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/runtime.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/subagent-prompts.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-extension.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess-runner.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/ui-client.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/entry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/runtime-handlers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/start-shared-server.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/workspace.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/remote-runtime-host.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/boundary.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/command-transport.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/fetch-wiring.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/approval-handlers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/capability-handlers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/client-handlers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/context.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-event-projector.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-handlers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-capability-tool-executors.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-client-contributions.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-notifications.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-schedule-events.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-logging.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-options.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-transport.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-session-records.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-websocket-server.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/native-transport.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/notification.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/ui-events.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/settings.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/remote-config/integration.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/normalize-runtime-capabilities.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/runtime-capabilities.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/agent-event-bridge.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-record.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-service-invoker.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/spawn-tool.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/user-files.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.e2e.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.team-persistence.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-parity.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/user-input-builder.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/loop-detection.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/mistake-tracker.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/tool-approval.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/agent-events.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/cline-recommended-models.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/configured-provider-registry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-registry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.startup.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-tools.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-registry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/model-source.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-artifacts.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-telemetry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/artifact-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/file-team-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/session-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-session-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-team-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/team-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/ITelemetryAdapter.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/tool-context.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manager.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manifest.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-graph.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-manifest.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-row.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/file-session-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.team-persistence.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-snapshot.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/conversation-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/session-manifest-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/team-persistence-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-child-session-manager.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-session-coordinator.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/chat-schema.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/common.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/events.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/provider-settings.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/session.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/sessions.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/storage.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/version.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.build.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.dev.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.smoke.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.e2e.config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/AGENTS.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/bun.mts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/fixtures/usage.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/fix-esm-imports.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/generate-models.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/models/generate-models-dev.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated-access.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.browser.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/models.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/async.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins-runtime.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/factory-registry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/handler.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/http.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/messages.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-facts.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-registry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/openai-codex-models.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/provider-keys.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/registry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/generic-compatible.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/glm-thinking.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/minimax-thinking.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-option-rules.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options-types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/reasoning-codecs.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/utils.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/stream.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/google.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/mistral.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai-compatible.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.browser.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.example.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.example.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.reasoning.example.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning-disabled.example.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning.example.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.tools.example.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-minimax-routing.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-reasoning.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-runner.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-tools.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/anthropic-claude-sonnet-4-6.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/cline-anthropic-sonnet.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-codex-gpt-5-4.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-compatible-deepseek-v4-pro.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.build.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.dev.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/vitest.config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/bun.mts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/src/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.build.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/README.md +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/bun.mts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/package.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agent.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/schemas.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/events.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/options.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/cron-spec-types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/dispose.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/context.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/plugin.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/contracts.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/events.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hub.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.browser.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/gateway.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/messages.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/model-info.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/reasoning-effort.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/requests.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tokens.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tools.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/logging/logger.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/error.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/headers/utils.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/string.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/time.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/zod.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/cline.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/system.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/artifact-store.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/blob-storage.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/bundle.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/constants.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/materializer.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/paths.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/telemetry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/runtime.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/team-progress.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry-config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/hook-context.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/records.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-env.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/workspace.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.home-dir.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/schema.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/types.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/auth.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/index.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/vcr.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.test.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.build.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/vitest.config.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/tsconfig.base.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/check-publish.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/ci-node-smoke.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/clean.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/release.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/run-vendored-tests.sh +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/version.ts +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/tsconfig.json +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/agent_core_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/byok_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/ci_admission.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/ci_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/cli_errors.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/cline_agent.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/codeunits.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/codeunits_treesitter.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/config_file.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/doctor.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/doctor_output.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/engine.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/evasion.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/evidence.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/findings.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/fix_inputs.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/fix_run.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/focus_paths.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/gate.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/gitpush.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/impact.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/impact_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/keystore.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/local_client.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/local_mojo_daemon.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/local_mojo_pool.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/local_repository_shims.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/local_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/localfix.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/login.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/manifest.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/mcp_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/mcp_install.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/mcp_server.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/memory.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/memory_manifest.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/memory_rerank.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/netjail.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/packaged_agent_runner.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/packaged_git.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/packaged_repository_advanced.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/packaged_repository_backend.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/patch_text.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/patchgen.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/policy.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/project_rules.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/python_import_paths.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/refengine.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/remote_http.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/repo_backend.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/report_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/repository_artifacts.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/review.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/review_budget.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/review_findings.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/review_github.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/review_grounding.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/review_manifests.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/runtime/__init__.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/runtime/config.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/runtime/health.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/runtime/local_stack.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/runtime/ports.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/runtime/processes.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/runtime_config.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/sandbox.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/sarif.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/scaffold.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/secure.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/secure_open_pr_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/status.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/supervisor.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/telys_onboarding.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/telys_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/testrun.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_ci_triage.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_control.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_metering.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_metrics.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_ops.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_pg_schema.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_procs.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_redeliver.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_resume.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_retry.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_scaler.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/webhook_summaries.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/worker.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/worktree.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna/writer.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna.egg-info/dependency_links.txt +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna.egg-info/entry_points.txt +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna.egg-info/requires.txt +0 -0
- {codna-0.2.73 → codna-0.2.74}/codna.egg-info/top_level.txt +0 -0
- {codna-0.2.73 → codna-0.2.74}/memengine/__init__.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/memengine/_validate.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/memengine/native_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/setup.cfg +0 -0
- {codna-0.2.73 → codna-0.2.74}/setup.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_admission_control.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_agent_core_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_bench_driver_lazy_resolution.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_bench_env.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_benchmark_parity_imports.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_benchmark_suite.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_ci_admission.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_cli_doctor.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_cli_fix.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_cli_parser.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_cli_register.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_cli_surface_parity.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_cline_agent_unparseable_details.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_cline_fork_guard.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_codeunits.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_codeunits_treesitter.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_config_file.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_dev_check_script.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_dockerfile_webhook.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_dockerignore.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_doctor.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_download_telys_runtime_bundle.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_engine.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_engine_contract_integration.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_evasion.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_evidence.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_evidence_io.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_extract_nul.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_fix_inputs_remote.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_fix_run.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_fly_toml.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_gate.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_gitpush.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_impact.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_impact_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_keys_file_dev_only.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_keystore.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_local_byok_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_local_client.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_local_mojo_daemon.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_local_mojo_pool_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_local_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_local_runtime_lifecycle.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_localfix.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_login.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_manifest.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_default_repo.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_enrich.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_install.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_recall.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_report_bug.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_secure.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_memory_errors.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_memory_hybrid.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_memory_incremental.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_memory_license.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_memory_rerank.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_memory_wordllama_rerank.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_memory_wrapper.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_modularity.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_netjail.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_confidence.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_git_clone.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_guidance.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_remote_pr.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_runner_review_terminal_state.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_test_fix_scope.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_packaging.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_patch_text.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_patchgen.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_policy.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_refengine.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_release_readiness.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_repo_backend.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_report_cli.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_repository_artifacts.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_review_budget.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_review_error_details.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_review_findings.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_review_grounding.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_review_red_head.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_review_run_marker.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_rules_and_review.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_runtime_config.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_runtime_ports.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_runtime_processes.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_sandbox.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_sarif.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_scaffold_and_status.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_secure.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_stage_codna_telys_oem_license.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_stage_codna_telys_runtime.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_structured_error.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_supervisor.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_sync_wheel_memengine.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_telys_onboarding.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_telys_runtime_packaging.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_testrun.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_verify_pypi_trusted_publisher.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_backend_spool.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_ci_triage.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_feedback_dispatch.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_github_ci.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_lease.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_metering.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_ops.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_pg_queue.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_queue.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_redeliver.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_resume.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_retry.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_scaler.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_scheduling.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_service.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_worker_feedback_dispatch.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_wheel_guard.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_wheel_smoke_script.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_worker.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_workflows.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_worktree.py +0 -0
- {codna-0.2.73 → codna-0.2.74}/tests/test_writer.py +0 -0
|
@@ -29,6 +29,7 @@ import json
|
|
|
29
29
|
import os
|
|
30
30
|
import re
|
|
31
31
|
import sys
|
|
32
|
+
import threading
|
|
32
33
|
from dataclasses import dataclass
|
|
33
34
|
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
|
|
34
35
|
from pathlib import Path
|
|
@@ -668,13 +669,14 @@ def default_queue_path() -> str:
|
|
|
668
669
|
|
|
669
670
|
# --- self-hostable server: verify + enqueue (thin ingress) ----------------------------
|
|
670
671
|
def _log_delivery(event: str, payload: Mapping[str, Any], delivery_id: str | None, outcome: str,
|
|
671
|
-
job: WebhookJob | None = None) -> None:
|
|
672
|
+
job: WebhookJob | None = None, **fields: Any) -> None:
|
|
672
673
|
"""One stderr JSON line per verified delivery: what arrived and what became of it.
|
|
673
674
|
|
|
674
675
|
Until now a delivery that classified as `ignored` or collapsed as a `duplicate` left no trace
|
|
675
676
|
anywhere -- on 2026-09-17 a `@codna fix` reply produced neither a job nor a log line and the
|
|
676
677
|
only way to tell "never delivered" from "delivered and dropped" was to guess. Same shape as the
|
|
677
678
|
worker's lines so one grep covers ingress and processing (`"service": "codna-webhook"`).
|
|
679
|
+
``fields`` are extra keys a path wants on record (the Check Run the ingress opened, for one).
|
|
678
680
|
"""
|
|
679
681
|
repo = (payload.get("repository") or {}).get("full_name")
|
|
680
682
|
line = {
|
|
@@ -688,6 +690,7 @@ def _log_delivery(event: str, payload: Mapping[str, Any], delivery_id: str | Non
|
|
|
688
690
|
}
|
|
689
691
|
if job is not None:
|
|
690
692
|
line.update({"kind": job.kind, "reason": job.reason, "pr_number": job.pr_number})
|
|
693
|
+
line.update(fields)
|
|
691
694
|
print(json.dumps(line, sort_keys=True), file=sys.stderr, flush=True)
|
|
692
695
|
|
|
693
696
|
|
|
@@ -797,7 +800,35 @@ class _Handler(BaseHTTPRequestHandler):
|
|
|
797
800
|
_log_delivery(event, payload, delivery_id, "accepted", job)
|
|
798
801
|
self._reply(202, {"status": "accepted", "kind": job.kind, "repo": job.repo_full_name})
|
|
799
802
|
return
|
|
800
|
-
|
|
803
|
+
# The review's Check Run is opened `queued` HERE, before the row exists, so the tenant sees
|
|
804
|
+
# it the moment the delivery is accepted rather than when a worker slot frees (measured
|
|
805
|
+
# 2026-09-20: p95 23 s invisible during a 21-review fan-out). The row is born owning the
|
|
806
|
+
# run; the worker updates it. webhook_queued_check has the whole lifecycle; the service
|
|
807
|
+
# switches this on for the Postgres backend only (webhook_service.serve).
|
|
808
|
+
queued_check = bool(getattr(self.server, "queued_check_runs", False))
|
|
809
|
+
pre = None
|
|
810
|
+
late_gate: threading.Event | None = None
|
|
811
|
+
if queued_check:
|
|
812
|
+
from . import webhook_queued_check
|
|
813
|
+
|
|
814
|
+
late_gate = threading.Event()
|
|
815
|
+
pre = webhook_queued_check.precreate(
|
|
816
|
+
job, queue=queue, delivery_id=delivery_id, github=self._github(),
|
|
817
|
+
app_id=os.environ.get("GITHUB_APP_ID"), private_key=os.environ.get("GITHUB_APP_PRIVATE_KEY"),
|
|
818
|
+
late_gate=late_gate)
|
|
819
|
+
try:
|
|
820
|
+
if pre is not None:
|
|
821
|
+
fresh = queue.enqueue(job, delivery_id=delivery_id, check_run_id=pre.check_run_id)
|
|
822
|
+
else:
|
|
823
|
+
fresh = queue.enqueue(job, delivery_id=delivery_id)
|
|
824
|
+
finally:
|
|
825
|
+
if late_gate is not None:
|
|
826
|
+
late_gate.set() # a create that answers after the budget may now adopt onto this row
|
|
827
|
+
check_run: dict[str, Any] = {}
|
|
828
|
+
if pre is not None:
|
|
829
|
+
bound = webhook_queued_check.bind_or_close(pre, job=job, queue=queue, delivery_id=delivery_id,
|
|
830
|
+
fresh=fresh, github=self._github())
|
|
831
|
+
check_run = {"check_run_id": pre.check_run_id, "check_run": bound}
|
|
801
832
|
# A new head retires the work the old one left behind. enqueue() already collapsed the
|
|
802
833
|
# WAITING rows; this stops the ones already RUNNING, whose verdict would land on a commit
|
|
803
834
|
# that no longer exists (thyn-ai/mojo-kernels#32, 2026-09-19: two reviews ran to completion
|
|
@@ -809,13 +840,41 @@ class _Handler(BaseHTTPRequestHandler):
|
|
|
809
840
|
superseded = webhook_control.supersede_running(job, queue=queue)
|
|
810
841
|
except Exception: # noqa: BLE001 -- a delivery must be accepted even if cancelling fails
|
|
811
842
|
superseded = 0
|
|
812
|
-
|
|
843
|
+
if queued_check and job.pr_number is not None:
|
|
844
|
+
# ... and the WAITING rows enqueue() just retired had Check Runs of their own, opened
|
|
845
|
+
# queued by this ingress: complete them neutral ("superseded by <sha>") the way the
|
|
846
|
+
# running ones are, off the request thread. The reaper sweeps whatever this misses.
|
|
847
|
+
# The pre-create's token is scoped to this repository and may complete those runs;
|
|
848
|
+
# without one (a `fix` retiring a review's row) a token is minted per row.
|
|
849
|
+
token_for = webhook_queued_check.token_for(
|
|
850
|
+
github=self._github(), app_id=os.environ.get("GITHUB_APP_ID"),
|
|
851
|
+
private_key=os.environ.get("GITHUB_APP_PRIVATE_KEY"))
|
|
852
|
+
if pre is not None:
|
|
853
|
+
def token_for(_row: Any, _token: str = pre.token) -> str: # one token, one repository
|
|
854
|
+
return _token
|
|
855
|
+
try:
|
|
856
|
+
webhook_queued_check.settle_retired_in_background(
|
|
857
|
+
queue, github=self._github(), repo=job.repo_full_name, pr_number=job.pr_number,
|
|
858
|
+
token_for=token_for)
|
|
859
|
+
except Exception: # noqa: BLE001 -- the reaper's sweep is the backstop
|
|
860
|
+
pass
|
|
861
|
+
_log_delivery(event, payload, delivery_id, "accepted" if fresh else "duplicate", job, **check_run)
|
|
813
862
|
self._reply(
|
|
814
863
|
202 if fresh else 200,
|
|
815
864
|
{"status": "accepted" if fresh else "duplicate", "kind": job.kind,
|
|
816
|
-
"repo": job.repo_full_name, "reason": job.reason, "superseded_running": superseded},
|
|
865
|
+
"repo": job.repo_full_name, "reason": job.reason, "superseded_running": superseded, **check_run},
|
|
817
866
|
)
|
|
818
867
|
|
|
868
|
+
def _github(self) -> Any:
|
|
869
|
+
"""The GitHub client the ingress opens and closes Check Runs with: an object the service
|
|
870
|
+
(or a test) hung on the server, else the real module."""
|
|
871
|
+
client = getattr(self.server, "github", None)
|
|
872
|
+
if client is not None:
|
|
873
|
+
return client
|
|
874
|
+
from . import webhook_github
|
|
875
|
+
|
|
876
|
+
return webhook_github
|
|
877
|
+
|
|
819
878
|
|
|
820
879
|
def require_webhook_secret(environ: Mapping[str, str] | None = None) -> str:
|
|
821
880
|
"""Return the configured webhook secret or fail before opening a listener."""
|
|
@@ -122,7 +122,11 @@ class ShadowQueue:
|
|
|
122
122
|
def shadow(self) -> Any:
|
|
123
123
|
return self._shadow
|
|
124
124
|
|
|
125
|
-
def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False
|
|
125
|
+
def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False,
|
|
126
|
+
check_run_id: int | None = None) -> bool:
|
|
127
|
+
# check_run_id is accepted for signature parity with the Postgres queue and ignored: the
|
|
128
|
+
# ingress never pre-creates a Check Run on this backend (SQLite runs the job and creates
|
|
129
|
+
# the run at claim), so a caller can never hand one in.
|
|
126
130
|
fresh = self._primary.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending)
|
|
127
131
|
if fresh:
|
|
128
132
|
try:
|
|
@@ -216,20 +220,26 @@ class SpoolingQueue:
|
|
|
216
220
|
return sum(counts.get(k, 0) for k in ("queued", "retry", "running"))
|
|
217
221
|
|
|
218
222
|
# -- enqueue: Postgres first, the file when it cannot answer ------------------------------------
|
|
219
|
-
def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False
|
|
223
|
+
def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False,
|
|
224
|
+
check_run_id: int | None = None) -> bool:
|
|
220
225
|
# The late path (a Postgres write that answers after the timeout) retires the SPOOL copy,
|
|
221
226
|
# so it must not look before that copy exists: it waits on this gate, which the timeout
|
|
222
227
|
# branch below sets once its spool write is done (success or failure). Ordered, not timed.
|
|
223
228
|
spool_written = threading.Event()
|
|
224
229
|
try:
|
|
225
230
|
fresh = _call_with_timeout(
|
|
226
|
-
lambda: self._primary.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending
|
|
231
|
+
lambda: self._primary.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending,
|
|
232
|
+
check_run_id=check_run_id),
|
|
227
233
|
self._enqueue_timeout_s,
|
|
228
234
|
on_late=lambda accepted: self._retire_spooled(delivery_id) if accepted else None,
|
|
229
235
|
late_gate=spool_written)
|
|
230
236
|
except Exception as exc: # noqa: BLE001 -- the file takes it; GitHub still gets its 202
|
|
231
237
|
self._mark_down()
|
|
232
238
|
try:
|
|
239
|
+
# The spool row does NOT carry the pre-created Check Run: the file has no owner for
|
|
240
|
+
# it (no reaper sweeps the spool), and the ingress, finding the run bound to no
|
|
241
|
+
# Postgres row, closes it at once (webhook_queued_check.bind_or_close). The worker
|
|
242
|
+
# that eventually claims the forwarded row creates the run then, as it always has.
|
|
233
243
|
fresh = self._spool.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending)
|
|
234
244
|
finally:
|
|
235
245
|
spool_written.set()
|
|
@@ -158,8 +158,14 @@ def check_run_payload(name: str, head_sha: str, *, status: str, conclusion: str
|
|
|
158
158
|
return body
|
|
159
159
|
|
|
160
160
|
|
|
161
|
-
def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: str, summary: str
|
|
162
|
-
|
|
161
|
+
def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: str, summary: str,
|
|
162
|
+
status: str = "in_progress") -> int | None:
|
|
163
|
+
"""Create a Check Run so status shows in the PR UI. Returns its id.
|
|
164
|
+
|
|
165
|
+
``in_progress`` by default (a worker that is about to run the job). The ingress creates a
|
|
166
|
+
review's run ``queued`` the moment the delivery is accepted, so the check is visible while
|
|
167
|
+
the job waits for a worker slot; ``start_check_run`` flips it when a worker claims the row.
|
|
168
|
+
"""
|
|
163
169
|
try:
|
|
164
170
|
import httpx
|
|
165
171
|
except Exception as exc: # noqa: BLE001
|
|
@@ -167,7 +173,7 @@ def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: st
|
|
|
167
173
|
resp = httpx.post(
|
|
168
174
|
f"{_API}/repos/{repo_full_name}/check-runs",
|
|
169
175
|
headers={"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"},
|
|
170
|
-
json=check_run_payload(name, head_sha, status=
|
|
176
|
+
json=check_run_payload(name, head_sha, status=status, conclusion=None, summary=summary),
|
|
171
177
|
timeout=30.0, follow_redirects=True,
|
|
172
178
|
)
|
|
173
179
|
if resp.status_code >= 300:
|
|
@@ -178,6 +184,50 @@ def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: st
|
|
|
178
184
|
return check_run_id
|
|
179
185
|
|
|
180
186
|
|
|
187
|
+
def start_check_run(repo_full_name: str, token: str, check_run_id: int, *, name: str, summary: str) -> None:
|
|
188
|
+
"""Flip a ``queued`` Check Run to ``in_progress``: the worker that claimed its job is running it.
|
|
189
|
+
|
|
190
|
+
``started_at`` is set to now, so the run's duration in the UI is the job's own, not the time
|
|
191
|
+
it waited in the queue (GitHub Actions stamps its job runs the same way)."""
|
|
192
|
+
try:
|
|
193
|
+
import httpx
|
|
194
|
+
except Exception as exc: # noqa: BLE001
|
|
195
|
+
raise WebhookError("check_run_unavailable", f"Check Run update needs httpx: {exc}") from exc
|
|
196
|
+
import time as _time
|
|
197
|
+
|
|
198
|
+
body = check_run_payload(name, "", status="in_progress", conclusion=None, summary=summary)
|
|
199
|
+
body.pop("head_sha", None) # a PATCH never re-anchors the run
|
|
200
|
+
body["started_at"] = _time.strftime("%Y-%m-%dT%H:%M:%SZ", _time.gmtime())
|
|
201
|
+
resp = httpx.patch(
|
|
202
|
+
f"{_API}/repos/{repo_full_name}/check-runs/{check_run_id}",
|
|
203
|
+
headers={"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"},
|
|
204
|
+
json=body, timeout=30.0, follow_redirects=True,
|
|
205
|
+
)
|
|
206
|
+
if resp.status_code >= 300:
|
|
207
|
+
raise WebhookError("check_run_update_failed", f"start check run: {resp.status_code} {resp.text[:200]}")
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
def check_run_status(repo_full_name: str, token: str, check_run_id: int) -> str | None:
|
|
211
|
+
"""``queued`` / ``in_progress`` / ``completed`` for one Check Run, or None when it cannot be read
|
|
212
|
+
(not ours, gone, or a transport error). A retry asks this before reusing the run its row
|
|
213
|
+
carries: a run the previous attempt already completed is not reopened, a fresh one replaces it."""
|
|
214
|
+
try:
|
|
215
|
+
import httpx
|
|
216
|
+
except Exception: # noqa: BLE001
|
|
217
|
+
return None
|
|
218
|
+
try:
|
|
219
|
+
resp = httpx.get(
|
|
220
|
+
f"{_API}/repos/{repo_full_name}/check-runs/{int(check_run_id)}",
|
|
221
|
+
headers={"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"},
|
|
222
|
+
timeout=20.0, follow_redirects=True,
|
|
223
|
+
)
|
|
224
|
+
except Exception: # noqa: BLE001
|
|
225
|
+
return None
|
|
226
|
+
data = _check_run_json(resp)
|
|
227
|
+
status = data.get("status") if data else None
|
|
228
|
+
return str(status) if status else None
|
|
229
|
+
|
|
230
|
+
|
|
181
231
|
def update_check_run(repo_full_name: str, token: str, check_run_id: int, *, conclusion: str, summary: str,
|
|
182
232
|
name: str = "Codna") -> None:
|
|
183
233
|
try:
|
|
@@ -271,8 +321,9 @@ def complete_stale_check_runs(
|
|
|
271
321
|
repo_full_name: str, token: str, *, head_sha: str, name: str, summary: str,
|
|
272
322
|
conclusion: str = "cancelled",
|
|
273
323
|
) -> int:
|
|
274
|
-
"""Complete (as ``conclusion``, default ``cancelled``) every still
|
|
275
|
-
named ``name`` on ``head_sha``. Returns how many were closed.
|
|
324
|
+
"""Complete (as ``conclusion``, default ``cancelled``) every still-open (``queued`` or
|
|
325
|
+
``in_progress``) Check Run named ``name`` on ``head_sha``. Returns how many were closed.
|
|
326
|
+
Best-effort hygiene: never raises.
|
|
276
327
|
|
|
277
328
|
A run this worker opened and then lost -- killed mid-job by a redeploy, or a crash before
|
|
278
329
|
update_check_run -- stays "in progress" on that commit forever, because only the App that
|
|
@@ -282,39 +333,42 @@ def complete_stale_check_runs(
|
|
|
282
333
|
predecessor instead of stacking a second spinner next to it -- and, as ``neutral``, on the
|
|
283
334
|
event SHA of a review whose pull request head had already moved when the job started
|
|
284
335
|
(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".
|
|
336
|
+
automation that waits for "all checks complete". ``queued`` runs are swept too: the ingress
|
|
337
|
+
opens a review's run in that state, and one whose row never reached a worker is as stranded
|
|
338
|
+
as an ``in_progress`` one. The listing endpoint filters on one status per request.
|
|
286
339
|
"""
|
|
287
340
|
try:
|
|
288
341
|
import httpx
|
|
289
342
|
except Exception: # noqa: BLE001
|
|
290
343
|
return 0
|
|
291
344
|
headers = {"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"}
|
|
292
|
-
try:
|
|
293
|
-
resp = httpx.get(
|
|
294
|
-
f"{_API}/repos/{repo_full_name}/commits/{head_sha}/check-runs",
|
|
295
|
-
headers=headers, params={"check_name": name, "status": "in_progress", "per_page": 50},
|
|
296
|
-
timeout=30.0, follow_redirects=True,
|
|
297
|
-
)
|
|
298
|
-
except Exception: # noqa: BLE001
|
|
299
|
-
return 0
|
|
300
|
-
if resp.status_code >= 300:
|
|
301
|
-
return 0
|
|
302
345
|
closed = 0
|
|
303
|
-
|
|
304
|
-
runs = (resp.json() or {}).get("check_runs") or []
|
|
305
|
-
except Exception: # noqa: BLE001
|
|
306
|
-
return 0
|
|
307
|
-
for run in runs:
|
|
308
|
-
run_id = run.get("id")
|
|
309
|
-
if not run_id:
|
|
310
|
-
continue
|
|
346
|
+
for status in ("in_progress", "queued"):
|
|
311
347
|
try:
|
|
312
|
-
|
|
313
|
-
repo_full_name,
|
|
348
|
+
resp = httpx.get(
|
|
349
|
+
f"{_API}/repos/{repo_full_name}/commits/{head_sha}/check-runs",
|
|
350
|
+
headers=headers, params={"check_name": name, "status": status, "per_page": 50},
|
|
351
|
+
timeout=30.0, follow_redirects=True,
|
|
314
352
|
)
|
|
315
|
-
|
|
316
|
-
except Exception: # noqa: BLE001 — someone else's run, already completed, or a transport error
|
|
353
|
+
except Exception: # noqa: BLE001
|
|
317
354
|
continue
|
|
355
|
+
if resp.status_code >= 300:
|
|
356
|
+
continue
|
|
357
|
+
try:
|
|
358
|
+
runs = (resp.json() or {}).get("check_runs") or []
|
|
359
|
+
except Exception: # noqa: BLE001
|
|
360
|
+
continue
|
|
361
|
+
for run in runs:
|
|
362
|
+
run_id = run.get("id")
|
|
363
|
+
if not run_id:
|
|
364
|
+
continue
|
|
365
|
+
try:
|
|
366
|
+
update_check_run(
|
|
367
|
+
repo_full_name, token, run_id, conclusion=conclusion, summary=summary, name=name
|
|
368
|
+
)
|
|
369
|
+
closed += 1
|
|
370
|
+
except Exception: # noqa: BLE001 — someone else's run, already completed, or a transport error
|
|
371
|
+
continue
|
|
318
372
|
return closed
|
|
319
373
|
|
|
320
374
|
|
|
@@ -15,7 +15,11 @@ Two threads, both stdlib, both unit-tested with fakes:
|
|
|
15
15
|
completed with the dead-letter conclusion, comment-fix thread replied to), never a silent drop
|
|
16
16
|
and never a red check from our own outage; (3) once Postgres has been healthy again for
|
|
17
17
|
``outage_retry_after_s``, runs dead rows whose failure text names an outage one more time;
|
|
18
|
-
(4) forgets workers whose heartbeat is long gone
|
|
18
|
+
(4) forgets workers whose heartbeat is long gone; (5) completes the Check Runs of rows that were
|
|
19
|
+
retired before any worker touched them -- the ``queued`` run the ingress opens at enqueue, when
|
|
20
|
+
a newer head superseded the row, an operator cancelled it, a rollback exported it, or it failed
|
|
21
|
+
before the worker could report (``webhook_queued_check.settle_retired``; the ingress does the
|
|
22
|
+
same for the pull request it just retired rows on, this is the backstop).
|
|
19
23
|
"""
|
|
20
24
|
from __future__ import annotations
|
|
21
25
|
|
|
@@ -26,7 +30,7 @@ import threading
|
|
|
26
30
|
import time
|
|
27
31
|
from typing import Any, Callable
|
|
28
32
|
|
|
29
|
-
from . import webhook_github, webhook_pg_ops, webhook_retry
|
|
33
|
+
from . import webhook_github, webhook_pg_ops, webhook_queued_check, webhook_retry
|
|
30
34
|
from .webhook import WebhookJob, check_run_name
|
|
31
35
|
from .webhook_pg_queue import MAX_RESUMES, PostgresQueue
|
|
32
36
|
|
|
@@ -302,12 +306,21 @@ class Reaper:
|
|
|
302
306
|
retried += 1
|
|
303
307
|
return retried
|
|
304
308
|
|
|
309
|
+
# -- (5) the runs of rows retired before a worker saw them ----------------------------------------
|
|
310
|
+
def close_retired_check_runs(self) -> int:
|
|
311
|
+
"""A ``queued`` Check Run the ingress opened belongs to a row; when that row ends without a
|
|
312
|
+
worker (superseded while waiting, cancelled by an operator, exported by a rollback, failed
|
|
313
|
+
before reporting) nothing else completes the run. Exactly once per row (``posted.check_closed``)."""
|
|
314
|
+
return webhook_queued_check.settle_retired(self._queue, github=self._github, token_for=self._token,
|
|
315
|
+
retrigger=RETRIGGER)
|
|
316
|
+
|
|
305
317
|
# -- the loop --------------------------------------------------------------------------------------
|
|
306
318
|
def tick(self) -> dict[str, int]:
|
|
307
319
|
self.ticks += 1
|
|
308
320
|
out = self.reap_expired()
|
|
309
321
|
out["dead_letters_notified"] = self.notify_dead_letters()
|
|
310
322
|
out["outage_retries"] = self.retry_after_outage()
|
|
323
|
+
out["retired_checks_closed"] = self.close_retired_check_runs()
|
|
311
324
|
out["workers_pruned"] = webhook_pg_ops.prune_dead_workers(self._queue)
|
|
312
325
|
self.last_outcome = out
|
|
313
326
|
if any(out.values()):
|
|
@@ -99,10 +99,16 @@ def retry_now(queue: PostgresQueue, row_id: int, *, actor: str) -> dict[str, Any
|
|
|
99
99
|
return {"id": row_id, "outcome": "not_found"}
|
|
100
100
|
if row["status"] not in ("dead", "failed", "cancelled", "queued"):
|
|
101
101
|
return {"id": row_id, "outcome": "not_retryable", "status": row["status"]}
|
|
102
|
+
# The row keeps its Check Run id: the worker that claims it asks GitHub whether that run is
|
|
103
|
+
# still open (webhook_queued_check.open_check_run) -- it continues one the sweep has not
|
|
104
|
+
# reached yet, and opens a fresh one when the verdict, the dead-letter notice or the sweep
|
|
105
|
+
# already completed it. Forgetting the id here would leave a still-open run with nothing
|
|
106
|
+
# pointing at it. `check_closed` is cleared so a later retirement of THIS row sweeps whatever
|
|
107
|
+
# run it then carries.
|
|
102
108
|
conn.execute(
|
|
103
109
|
f"UPDATE {_q(queue)}.jobs SET status='queued', attempts=0, max_attempts=%(budget)s, not_before=NULL, "
|
|
104
110
|
f"finished_at=NULL, owner=NULL, lease_expires_at=NULL, cancel_requested=NULL, "
|
|
105
|
-
f"posted = posted - 'dead_letter' WHERE id=%(id)s",
|
|
111
|
+
f"posted = posted - 'dead_letter' - 'check_closed' WHERE id=%(id)s",
|
|
106
112
|
{"budget": queue.policy_for(row["kind"]).budget, "id": row_id})
|
|
107
113
|
queue.event(row_id, "retry_now", actor=actor, detail={"from_status": row["status"]}, conn=conn)
|
|
108
114
|
return {"id": row_id, "outcome": "queued"}
|
|
@@ -280,6 +286,35 @@ def unposted_dead(queue: PostgresQueue, *, limit: int = 50) -> list[dict[str, An
|
|
|
280
286
|
return [dict(r) for r in rows]
|
|
281
287
|
|
|
282
288
|
|
|
289
|
+
# Terminal states a row can reach WITHOUT a worker ever closing the Check Run it owns: retired while
|
|
290
|
+
# waiting (a newer head, an operator's cancel, a rollback export) or failed before the worker could
|
|
291
|
+
# report (a token that would not mint, orphaned by a restart on its last attempt).
|
|
292
|
+
RETIRED_STATUSES = ("superseded", "cancelled", "exported", "failed")
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
def retired_check_runs(queue: PostgresQueue, *, repo: str | None = None, pr_number: int | None = None,
|
|
296
|
+
since_s: float = 7 * 24 * 3600, limit: int = 100) -> list[dict[str, Any]]:
|
|
297
|
+
"""Rows in a ``RETIRED_STATUSES`` state that still carry a Check Run id and have not had that run
|
|
298
|
+
confirmed closed (``posted.check_closed`` unset), oldest first. The ingress asks for one pull
|
|
299
|
+
request right after its enqueue retired the older heads; the reaper asks for everything as the
|
|
300
|
+
backstop. The window bounds the one-time backfill over rows that predate the sweep."""
|
|
301
|
+
clauses = ["status = ANY(%(statuses)s)", "check_run_id IS NOT NULL", "NOT (posted ? 'check_closed')",
|
|
302
|
+
f"finished_at >= {_NOW} - make_interval(secs => %(since)s)"]
|
|
303
|
+
params: dict[str, Any] = {"statuses": list(RETIRED_STATUSES), "since": float(since_s), "limit": int(limit),
|
|
304
|
+
**_now_param(queue)}
|
|
305
|
+
if repo:
|
|
306
|
+
clauses.append("repo = %(repo)s")
|
|
307
|
+
params["repo"] = repo
|
|
308
|
+
if pr_number is not None:
|
|
309
|
+
clauses.append("pr_number = %(pr)s")
|
|
310
|
+
params["pr"] = int(pr_number)
|
|
311
|
+
with queue.connection() as conn:
|
|
312
|
+
rows = conn.execute(
|
|
313
|
+
f"SELECT id, kind, repo, ref, pr_number, installation_id, status, check_run_id, last_error, result, finished_at "
|
|
314
|
+
f"FROM {_q(queue)}.jobs WHERE {' AND '.join(clauses)} ORDER BY finished_at LIMIT %(limit)s", params).fetchall()
|
|
315
|
+
return [dict(r) for r in rows]
|
|
316
|
+
|
|
317
|
+
|
|
283
318
|
def dead_after_outage(queue: PostgresQueue, *, since_s: float = 6 * 3600, limit: int = 200) -> list[dict[str, Any]]:
|
|
284
319
|
"""Dead rows from the last ``since_s`` whose failure text names an outage -- the candidates the
|
|
285
320
|
post-outage sweep runs again (never those already retried by an operator)."""
|
|
@@ -234,7 +234,12 @@ class PostgresQueue:
|
|
|
234
234
|
the reaper queueing the current head of a reaped job) -- any job of this kind for exactly
|
|
235
235
|
this head that is waiting, running OR already finished: a head that has its review does not
|
|
236
236
|
get a second one because an older head's job noticed, as it ended, that the head had moved
|
|
237
|
-
(the older job is normally cancelled first; this closes the window in which it is not).
|
|
237
|
+
(the older job is normally cancelled first; this closes the window in which it is not).
|
|
238
|
+
|
|
239
|
+
``check_run_id`` is the Check Run the ingress already opened ``queued`` for this job (see
|
|
240
|
+
``webhook_queued_check``); the row is born owning it, ``check_started_at`` is stamped now
|
|
241
|
+
(the SLO clock: the tenant can see the check from this moment), and the worker that claims
|
|
242
|
+
the row updates that run instead of creating one."""
|
|
238
243
|
if job.kind not in KINDS:
|
|
239
244
|
raise ValueError(f"unknown job kind {job.kind!r}")
|
|
240
245
|
if delivery_id is None:
|
|
@@ -265,10 +270,12 @@ class PostgresQueue:
|
|
|
265
270
|
row = conn.execute(
|
|
266
271
|
f"INSERT INTO {self._t('jobs')} (delivery_id, idempotency_key, kind, repo, ref, installation_id, "
|
|
267
272
|
f"issue_number, pr_number, context, reason, priority, attempts, max_attempts, resumes, not_before, "
|
|
268
|
-
f"check_run_id, created_at, src_sqlite_id) "
|
|
273
|
+
f"check_run_id, check_started_at, created_at, src_sqlite_id) "
|
|
269
274
|
f"VALUES (%(delivery_id)s, %(key)s, %(kind)s, %(repo)s, %(ref)s, %(installation_id)s, %(issue_number)s, "
|
|
270
275
|
f"%(pr_number)s, %(context)s::jsonb, %(reason)s, %(priority)s, %(attempts)s, %(max_attempts)s, "
|
|
271
|
-
f"%(resumes)s, %(not_before)s, %(check_run_id)s,
|
|
276
|
+
f"%(resumes)s, %(not_before)s, %(check_run_id)s, "
|
|
277
|
+
f"CASE WHEN %(check_run_id)s::bigint IS NULL THEN NULL ELSE {_NOW} END, "
|
|
278
|
+
f"COALESCE(%(created_at)s::timestamptz, {_NOW}), %(src)s) "
|
|
272
279
|
f"ON CONFLICT DO NOTHING RETURNING id",
|
|
273
280
|
{
|
|
274
281
|
"delivery_id": delivery_id, "key": idempotency_key(job), "kind": job.kind,
|
|
@@ -286,7 +293,8 @@ class PostgresQueue:
|
|
|
286
293
|
new_id = int(row["id"])
|
|
287
294
|
self.event(new_id, "enqueued", conn=conn,
|
|
288
295
|
detail={"delivery_id": delivery_id, "kind": job.kind, "reason": job.reason,
|
|
289
|
-
"priority": int(priority), "imported_from_sqlite": src_sqlite_id is not None
|
|
296
|
+
"priority": int(priority), "imported_from_sqlite": src_sqlite_id is not None,
|
|
297
|
+
"check_run_id": check_run_id})
|
|
290
298
|
if job.kind in SUPERSEDABLE_KINDS and job.pr_number is not None and job.ref:
|
|
291
299
|
# A new head of this pull request retires the WAITING older heads in the same
|
|
292
300
|
# transaction as its own insert -- the SQLite queue's rule (webhook_queue
|
|
@@ -334,6 +342,59 @@ class PostgresQueue:
|
|
|
334
342
|
with self._pool.connection() as conn:
|
|
335
343
|
return self._pending_within(conn, repo=repo, pr_number=pr_number, ref=ref, kind=kind)
|
|
336
344
|
|
|
345
|
+
# --- the Check Run the ingress opens at enqueue (webhook_queued_check) -----------------------
|
|
346
|
+
def has_delivery(self, delivery_id: str | None) -> bool:
|
|
347
|
+
"""Whether a row for this ``delivery_id`` already exists, whatever its state. The ingress
|
|
348
|
+
asks before opening a queued Check Run for a delivery: a redelivery of an already-processed
|
|
349
|
+
GUID collapses in ``enqueue`` and must not leave a second run on the commit."""
|
|
350
|
+
if not delivery_id:
|
|
351
|
+
return False
|
|
352
|
+
with self._pool.connection() as conn:
|
|
353
|
+
row = conn.execute(f"SELECT 1 FROM {self._t('jobs')} WHERE delivery_id = %s LIMIT 1", (delivery_id,)).fetchone()
|
|
354
|
+
return row is not None
|
|
355
|
+
|
|
356
|
+
def check_run_bound(self, delivery_id: str | None) -> int | None:
|
|
357
|
+
"""The Check Run id the row for this delivery carries, or None (no row, or none bound). The
|
|
358
|
+
ingress reads it right after ``enqueue`` to learn whether the run it opened is owned by a
|
|
359
|
+
row -- anything else is an orphan it must close at once."""
|
|
360
|
+
if not delivery_id:
|
|
361
|
+
return None
|
|
362
|
+
with self._pool.connection() as conn:
|
|
363
|
+
row = conn.execute(f"SELECT check_run_id FROM {self._t('jobs')} WHERE delivery_id = %s", (delivery_id,)).fetchone()
|
|
364
|
+
return int(row["check_run_id"]) if row and row.get("check_run_id") else None
|
|
365
|
+
|
|
366
|
+
def adopt_check_run(self, job: WebhookJob, check_run_id: int, *, delivery_id: str | None = None) -> bool:
|
|
367
|
+
"""Hand an already-open Check Run to the WAITING row for exactly this head (or, with
|
|
368
|
+
``delivery_id``, to this delivery's own waiting row) when that row carries none yet. True when
|
|
369
|
+
a row took it: the worker that claims it will update this run instead of creating one.
|
|
370
|
+
|
|
371
|
+
Two callers: the ingress whose insert collapsed onto a live row for the same head (a
|
|
372
|
+
second delivery for one commit) -- if that row was written without a run (by a worker's or
|
|
373
|
+
the reaper's requeue, or an older ingress) it adopts this one, and nothing is orphaned; and
|
|
374
|
+
the late path of a pre-create that outran the ingress's time budget, which adopts onto the
|
|
375
|
+
delivery's own row if no worker has claimed it. Conditional on ``status = 'queued'`` and
|
|
376
|
+
``check_run_id IS NULL``, under the row lock the UPDATE takes, so a claim that lands first
|
|
377
|
+
wins and the caller closes the run instead."""
|
|
378
|
+
if not check_run_id:
|
|
379
|
+
return False
|
|
380
|
+
if delivery_id:
|
|
381
|
+
where, params = "delivery_id = %(d)s", {"d": delivery_id}
|
|
382
|
+
else:
|
|
383
|
+
if not job.ref:
|
|
384
|
+
return False
|
|
385
|
+
where = "repo = %(repo)s AND kind = %(kind)s AND pr_number IS NOT DISTINCT FROM %(pr)s AND ref = %(ref)s"
|
|
386
|
+
params = {"repo": job.repo_full_name, "kind": job.kind, "pr": job.pr_number, "ref": job.ref}
|
|
387
|
+
with self._pool.connection() as conn, conn.transaction():
|
|
388
|
+
row = conn.execute(
|
|
389
|
+
f"UPDATE {self._t('jobs')} SET check_run_id = %(cid)s, check_started_at = COALESCE(check_started_at, {_NOW}) "
|
|
390
|
+
f"WHERE {where} AND status = 'queued' AND check_run_id IS NULL RETURNING id",
|
|
391
|
+
{**params, "cid": int(check_run_id), "now": self._now()},
|
|
392
|
+
).fetchone()
|
|
393
|
+
if row is None:
|
|
394
|
+
return False
|
|
395
|
+
self.event(int(row["id"]), "check_run_adopted", conn=conn, detail={"check_run_id": int(check_run_id)})
|
|
396
|
+
return True
|
|
397
|
+
|
|
337
398
|
# --- claim + lease -------------------------------------------------------------------------
|
|
338
399
|
def claim(self, *, reserve_priority: bool = False, classes: Iterable[int] | None = None,
|
|
339
400
|
lease_s: float | None = None) -> QueuedJob | None:
|
|
@@ -363,7 +424,8 @@ class PostgresQueue:
|
|
|
363
424
|
self.event(int(row["id"]), "claimed", conn=conn,
|
|
364
425
|
detail={"owner": thread_owner, "attempt": int(row["attempts"]), "lease_s": lease})
|
|
365
426
|
qjob = QueuedJob(row_id=int(row["id"]), delivery_id=row["delivery_id"], attempts=int(row["attempts"]),
|
|
366
|
-
job=_job_from_row(row)
|
|
427
|
+
job=_job_from_row(row),
|
|
428
|
+
check_run_id=int(row["check_run_id"]) if row.get("check_run_id") else None)
|
|
367
429
|
self._start_lease(qjob.row_id, thread_owner)
|
|
368
430
|
return qjob
|
|
369
431
|
|
|
@@ -234,18 +234,56 @@ class WorkerPool:
|
|
|
234
234
|
if self._may_finalize(handle):
|
|
235
235
|
self._queue.complete(qjob.row_id, status="failed", result={"error": exc.code, "message": str(exc)})
|
|
236
236
|
self._notify_terminal_comment_fix_failure(qjob, exc.code)
|
|
237
|
+
self._close_unreported_check_run(qjob, exc.code)
|
|
237
238
|
except Exception as exc: # noqa: BLE001 — a worker must never die on one bad job
|
|
238
239
|
webhook_worker._log_worker_failure(qjob, code="job_crashed", message=str(exc))
|
|
239
240
|
if self._may_finalize(handle):
|
|
240
241
|
self._queue.complete(qjob.row_id, status="failed",
|
|
241
242
|
result={"error": "job_crashed", "message": str(exc)[:500]})
|
|
242
243
|
self._notify_terminal_comment_fix_failure(qjob, "job_crashed")
|
|
244
|
+
self._close_unreported_check_run(qjob, "job_crashed")
|
|
243
245
|
|
|
244
246
|
@staticmethod
|
|
245
247
|
def _may_finalize(handle: JobHandle | None) -> bool:
|
|
246
248
|
"""Whether THIS thread should write the job's terminal row. Always true without a handle."""
|
|
247
249
|
return True if handle is None else handle.finalize()
|
|
248
250
|
|
|
251
|
+
def _close_unreported_check_run(self, qjob: QueuedJob, code: str) -> None:
|
|
252
|
+
"""A job that RAISED out of process_job may never have touched the Check Run the ingress
|
|
253
|
+
opened for its row (token minting is the usual point). When the queue has now ended the row
|
|
254
|
+
as ``failed`` -- deterministic, no further attempt -- that run is completed here so a
|
|
255
|
+
required check does not sit `queued` forever; a retry keeps the run for the next attempt,
|
|
256
|
+
and a `dead` row is told by the reaper's dead-letter notice. Best-effort (the failure may be
|
|
257
|
+
exactly that no token mints); the reaper's retired-run sweep is the backstop. Never raises.
|
|
258
|
+
"""
|
|
259
|
+
if not qjob.check_run_id:
|
|
260
|
+
return
|
|
261
|
+
try:
|
|
262
|
+
state = self._queue.row_state(qjob.row_id)
|
|
263
|
+
except Exception: # noqa: BLE001
|
|
264
|
+
return
|
|
265
|
+
if state is None or state[0] != "failed":
|
|
266
|
+
return
|
|
267
|
+
job = qjob.job
|
|
268
|
+
token: str | None = None
|
|
269
|
+
try:
|
|
270
|
+
if job.installation_id and self._app_id and self._private_key:
|
|
271
|
+
token = webhook_github.installation_token(self._app_id, self._private_key, job.installation_id,
|
|
272
|
+
repo_full_name=job.repo_full_name, kind=job.kind)
|
|
273
|
+
except Exception: # noqa: BLE001 — minting may be the very failure being reported
|
|
274
|
+
token = None
|
|
275
|
+
token = token or os.environ.get("GITHUB_TOKEN")
|
|
276
|
+
if not token:
|
|
277
|
+
return
|
|
278
|
+
name = check_run_name(job.kind)
|
|
279
|
+
try:
|
|
280
|
+
webhook_github.complete_check_run_if_open(
|
|
281
|
+
job.repo_full_name, token, qjob.check_run_id, conclusion="failure", name=name,
|
|
282
|
+
summary=f"{name} failed before it could report ({code}) after {qjob.attempts} attempt(s). "
|
|
283
|
+
f"The worker logged the details; trigger it again to re-run it.")
|
|
284
|
+
except Exception: # noqa: BLE001 — never let the close take the worker down
|
|
285
|
+
return
|
|
286
|
+
|
|
249
287
|
def _notify_terminal_comment_fix_failure(self, qjob: QueuedJob, code: str) -> None:
|
|
250
288
|
"""Keep the "a comment trigger never goes silent" promise when process_job itself RAISES.
|
|
251
289
|
|
|
@@ -76,6 +76,12 @@ class QueuedJob:
|
|
|
76
76
|
job: WebhookJob
|
|
77
77
|
delivery_id: str | None
|
|
78
78
|
attempts: int
|
|
79
|
+
# The Check Run this row already owns, when the ingress opened one at enqueue (Postgres backend:
|
|
80
|
+
# a review's `codna review` run is created ``queued`` the moment the delivery is accepted, so it
|
|
81
|
+
# is visible while the job waits for a slot). The worker UPDATES that run instead of creating a
|
|
82
|
+
# second one. None on the SQLite queue and for rows an older ingress wrote: the worker then
|
|
83
|
+
# creates the run itself when it claims the job, as it always has.
|
|
84
|
+
check_run_id: int | None = None
|
|
79
85
|
|
|
80
86
|
|
|
81
87
|
class WebhookQueue:
|