codna 0.2.48__tar.gz → 0.2.50__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.48 → codna-0.2.50}/PKG-INFO +1 -1
- {codna-0.2.48 → codna-0.2.50}/codna/__init__.py +1 -1
- {codna-0.2.48 → codna-0.2.50}/codna/webhook.py +6 -1
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_github.py +74 -0
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_queue.py +12 -0
- codna-0.2.50/codna/webhook_resume.py +334 -0
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_worker.py +23 -2
- {codna-0.2.48 → codna-0.2.50}/codna.egg-info/PKG-INFO +1 -1
- {codna-0.2.48 → codna-0.2.50}/codna.egg-info/SOURCES.txt +2 -0
- {codna-0.2.48 → codna-0.2.50}/pyproject.toml +1 -1
- codna-0.2.50/tests/test_webhook_resume.py +641 -0
- {codna-0.2.48 → codna-0.2.50}/MANIFEST.in +0 -0
- {codna-0.2.48 → codna-0.2.50}/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/_wheel_guard.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/admission_control.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/CLINE_FORK.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/CLINE_SDK_AZ_INTEGRATION_PLAN.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/CLINE_SDK_INTERFACE.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/CLINE_SDK_RESEARCH.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/run-server.bundle.mjs +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/run-server.mjs +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/run-server.stub.mjs +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/.gitignore +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/LICENSE +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/NOTICE +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/UPSTREAM_COMMIT.txt +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/acp-editor.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/adapter.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/algenta-plugin.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/artifacts.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/execution.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/fallback.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/fallback.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/fix-runner.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/http.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/local-graph-tool.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/mojo-gate.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/mojo-gate.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/policy.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/postbuild.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/proof-artifacts.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/proof-provider.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/proof-provider.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/proofs.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/provider-key.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/raw-completions.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/review-policy.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/run-server.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/scheduled-agents.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/artifacts.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/contracts.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/execution.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/http.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/policy.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/state.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/streaming.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/server/utils.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/task-policy.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/telys-localize.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/telys-localize.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/telys-worker.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/telys-worker.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/tools.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/tools.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/usage-cost.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/usage-cost.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/write-scope.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/algenta/write-scope.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/biome.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/bun.lock +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/.cline/rules/worktree_dependency_hygiene.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/.cline/skills/plugin.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/.gitignore +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/AGENTS.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/ARCHITECTURE.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/CHANGELOG.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/CONTRIBUTING.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/biome.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/changelog-generator.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/code-style-audit.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/daily-code-review.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/dead-code-finder.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/dependency-check.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/documentation-check.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-manual-test.event.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-plugin-event.event.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-changelog-check.event.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-review.event.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-test-coverage.event.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/performance-baseline.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/test-coverage-report.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/type-check-strict.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/cron/weekly-metrics-summary.cron.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_BlockDestructive.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectContext.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectFileContext.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_ModifyInput.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_RequireReview.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/SessionShutdown.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskComplete.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskStart.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/hooks/custom-compaction-hook.example.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/anvil.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/inquisitor.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/oracle.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/phantom.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/api-design.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/code-review.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/debugging.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/documentation.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/migration.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/refactoring.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/test-generation.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/automation-events.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/background-terminal.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/custom-compaction.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/env-blocker.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/gitignore-read-files-guard.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/mac-notify.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/openrouter-provider.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/weather-metrics.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/plugins/web-search.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/examples/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/bun.mts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.provider-form.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/src/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.build.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.dev.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/agents/vitest.config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/bun.mts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/docs/messages-contract-v1.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/fixtures/messages/success.messages.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke-host.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/featurebase-token.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/automation.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/runtime-services.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/start-input.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/telemetry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/cron-report-writer.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/resource-limiter.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/cron-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-command-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/cron-schema.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-plugin.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/agentic-compaction.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/basic-compaction.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction-shared.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.live.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/client.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/name-transform.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/policies.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/tools.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-load-report.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-module-import.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-targeting.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/constants.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch-parser.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/search.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/web-fetch.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/helpers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/schemas.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/delegated-agent.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.lifecycle.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/projections.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/runtime.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/subagent-prompts.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-extension.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess-runner.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/ui-client.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/entry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/runtime-handlers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/start-shared-server.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/workspace.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/remote-runtime-host.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/boundary.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/command-transport.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/fetch-wiring.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/approval-handlers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/capability-handlers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/client-handlers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/context.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-event-projector.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-handlers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-capability-tool-executors.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-client-contributions.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-notifications.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-schedule-events.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-logging.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-options.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-transport.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-session-records.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-websocket-server.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/native-transport.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/notification.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/ui-events.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/settings.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/remote-config/integration.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/normalize-runtime-capabilities.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/runtime-capabilities.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/agent-event-bridge.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-record.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-service-invoker.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/spawn-tool.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/user-files.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.e2e.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.team-persistence.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-parity.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/user-input-builder.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/loop-detection.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/mistake-tracker.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/tool-approval.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/agent-events.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/cline-recommended-models.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/configured-provider-registry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-registry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.startup.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-tools.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-registry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/model-source.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-artifacts.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-telemetry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/artifact-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/file-team-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/session-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-session-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-team-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/team-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/ITelemetryAdapter.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/tool-context.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manager.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manifest.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-graph.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-manifest.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-row.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/file-session-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.team-persistence.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-snapshot.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/conversation-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/session-manifest-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/team-persistence-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-child-session-manager.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-session-coordinator.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/chat-schema.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/common.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/events.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/provider-settings.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/session.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/sessions.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/storage.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/src/version.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.build.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.dev.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.smoke.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.e2e.config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/AGENTS.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/bun.mts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/fixtures/usage.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/fix-esm-imports.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/generate-models.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/models/generate-models-dev.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated-access.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.browser.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/models.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/async.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins-runtime.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/factory-registry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/handler.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/http.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/messages.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-facts.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-registry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/openai-codex-models.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/provider-keys.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/registry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/generic-compatible.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/glm-thinking.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/minimax-thinking.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-option-rules.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options-types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/reasoning-codecs.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/utils.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/stream.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/google.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/mistral.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai-compatible.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.browser.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.example.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.example.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.reasoning.example.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning-disabled.example.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning.example.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.tools.example.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-minimax-routing.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-reasoning.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-runner.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-tools.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/anthropic-claude-sonnet-4-6.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/cline-anthropic-sonnet.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-codex-gpt-5-4.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-compatible-deepseek-v4-pro.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.build.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.dev.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/llms/vitest.config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/sdk/bun.mts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/sdk/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/sdk/src/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.build.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/README.md +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/bun.mts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/package.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agent.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/schemas.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/events.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/options.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/cron-spec-types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/dispose.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/context.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/plugin.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/contracts.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/events.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hub.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.browser.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/gateway.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/messages.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/model-info.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/reasoning-effort.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/requests.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tokens.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tools.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/logging/logger.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/error.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/headers/utils.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/string.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/time.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/zod.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/cline.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/system.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/artifact-store.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/blob-storage.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/bundle.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/constants.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/materializer.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/paths.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/telemetry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/runtime.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/team-progress.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry-config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/hook-context.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/records.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-env.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/workspace.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.home-dir.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/schema.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/types.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/auth.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/index.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/vcr.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.test.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.build.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/shared/vitest.config.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/packages/tsconfig.base.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/scripts/check-publish.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/scripts/ci-node-smoke.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/scripts/clean.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/scripts/release.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/scripts/run-vendored-tests.sh +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/scripts/version.ts +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent-core/vendor/cline/sdk/tsconfig.json +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/agent_core_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/byok_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/ci_admission.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/ci_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/cli_errors.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/cline_agent.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/codeunits.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/codeunits_treesitter.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/config_file.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/doctor.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/doctor_output.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/engine.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/evasion.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/evidence.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/findings.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/fix_inputs.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/fix_run.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/focus_paths.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/gate.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/gitpush.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/impact.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/impact_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/keystore.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/local_client.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/local_mojo_daemon.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/local_mojo_pool.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/local_repository_shims.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/local_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/localfix.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/login.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/manifest.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/mcp_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/mcp_install.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/mcp_server.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/memory.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/memory_manifest.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/memory_rerank.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/netjail.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/packaged_agent_runner.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/packaged_git.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/packaged_repository_advanced.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/packaged_repository_backend.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/patch_text.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/patchgen.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/policy.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/project_rules.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/python_import_paths.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/refengine.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/remote_http.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/repo_backend.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/report_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/repository_artifacts.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/review.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/review_findings.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/review_github.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/runtime/__init__.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/runtime/config.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/runtime/health.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/runtime/local_stack.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/runtime/ports.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/runtime/processes.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/runtime_config.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/sandbox.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/sarif.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/scaffold.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/secure.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/secure_open_pr_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/status.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/supervisor.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/telys_onboarding.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/telys_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/testrun.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_ci_triage.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_metering.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_procs.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/webhook_summaries.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/worker.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/worktree.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna/writer.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna.egg-info/dependency_links.txt +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna.egg-info/entry_points.txt +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna.egg-info/requires.txt +0 -0
- {codna-0.2.48 → codna-0.2.50}/codna.egg-info/top_level.txt +0 -0
- {codna-0.2.48 → codna-0.2.50}/memengine/__init__.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/memengine/_validate.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/memengine/native_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/setup.cfg +0 -0
- {codna-0.2.48 → codna-0.2.50}/setup.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_admission_control.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_agent_core_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_benchmark_parity_imports.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_benchmark_suite.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_ci_admission.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_cli_doctor.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_cli_fix.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_cli_parser.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_cli_register.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_cli_surface_parity.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_cline_agent_unparseable_details.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_cline_fork_guard.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_codeunits.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_codeunits_treesitter.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_config_file.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_dev_check_script.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_dockerfile_webhook.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_dockerignore.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_doctor.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_download_telys_runtime_bundle.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_engine.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_engine_contract_integration.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_evasion.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_evidence.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_evidence_io.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_extract_nul.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_fix_inputs_remote.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_fix_run.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_gate.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_gitpush.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_impact.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_impact_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_keys_file_dev_only.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_keystore.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_local_byok_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_local_client.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_local_mojo_daemon.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_local_mojo_pool_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_local_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_local_runtime_lifecycle.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_localfix.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_login.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_manifest.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_mcp_default_repo.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_mcp_enrich.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_mcp_install.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_mcp_recall.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_mcp_report_bug.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_mcp_secure.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_memory_errors.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_memory_hybrid.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_memory_incremental.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_memory_license.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_memory_rerank.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_memory_wordllama_rerank.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_memory_wrapper.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_modularity.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_netjail.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_packaged_confidence.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_packaged_git_clone.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_packaged_guidance.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_packaged_remote_pr.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_packaged_runner_review_terminal_state.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_packaged_test_fix_scope.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_packaging.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_patch_text.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_patchgen.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_policy.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_refengine.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_release_readiness.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_repo_backend.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_report_cli.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_repository_artifacts.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_review_error_details.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_review_findings.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_rules_and_review.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_runtime_config.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_runtime_ports.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_runtime_processes.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_sandbox.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_sarif.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_scaffold_and_status.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_secure.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_stage_codna_telys_oem_license.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_stage_codna_telys_runtime.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_structured_error.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_supervisor.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_sync_wheel_memengine.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_telys_onboarding.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_telys_runtime_packaging.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_testrun.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_verify_pypi_trusted_publisher.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_ci_triage.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_feedback_dispatch.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_github.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_github_ci.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_metering.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_queue.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_worker.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_webhook_worker_feedback_dispatch.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_wheel_guard.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_wheel_smoke_script.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_worker.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_workflows.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_worktree.py +0 -0
- {codna-0.2.48 → codna-0.2.50}/tests/test_writer.py +0 -0
|
@@ -820,16 +820,21 @@ def serve(host: str = "0.0.0.0", port: int = 8080) -> None:
|
|
|
820
820
|
|
|
821
821
|
from .webhook_procs import prepare_scratch_root
|
|
822
822
|
from .webhook_queue import WebhookQueue
|
|
823
|
+
from .webhook_resume import RunningJobRegistry, registry_dir_for
|
|
823
824
|
from .webhook_worker import WorkerPool
|
|
824
825
|
|
|
825
826
|
prepare_scratch_root() # before anything touches tempfile: job scratch lives on the volume
|
|
826
827
|
|
|
827
|
-
|
|
828
|
+
queue_path = default_queue_path()
|
|
829
|
+
queue = WebhookQueue(queue_path)
|
|
828
830
|
pool = WorkerPool(
|
|
829
831
|
queue,
|
|
830
832
|
concurrency=int(os.environ.get("CODNA_WEBHOOK_CONCURRENCY", "2")),
|
|
831
833
|
app_id=os.environ.get("GITHUB_APP_ID"),
|
|
832
834
|
private_key=os.environ.get("GITHUB_APP_PRIVATE_KEY"),
|
|
835
|
+
# Jobs in flight, beside the queue on the same volume: a redeploy mid-job is resumed once on
|
|
836
|
+
# the next boot (or its Check Run closed honestly) instead of spinning forever -- webhook_resume.
|
|
837
|
+
registry=RunningJobRegistry(registry_dir_for(queue_path)),
|
|
833
838
|
)
|
|
834
839
|
pool.start()
|
|
835
840
|
httpd = ThreadingHTTPServer((host, port), _Handler)
|
|
@@ -9,6 +9,7 @@ from __future__ import annotations
|
|
|
9
9
|
import json
|
|
10
10
|
import os
|
|
11
11
|
import re
|
|
12
|
+
import sys
|
|
12
13
|
from typing import Any, Mapping
|
|
13
14
|
|
|
14
15
|
from .webhook import WebhookError
|
|
@@ -193,6 +194,79 @@ def update_check_run(repo_full_name: str, token: str, check_run_id: int, *, conc
|
|
|
193
194
|
raise WebhookError("check_run_update_failed", f"update check run: {resp.status_code} {resp.text[:200]}")
|
|
194
195
|
|
|
195
196
|
|
|
197
|
+
def _warn(event: str, **fields: Any) -> None:
|
|
198
|
+
"""One JSON line on stderr, the worker's log shape, for a condition an operator must see."""
|
|
199
|
+
payload: dict[str, Any] = {"service": "codna-webhook-worker", "level": "warning", "event": event}
|
|
200
|
+
payload.update(fields)
|
|
201
|
+
print(json.dumps(payload, sort_keys=True), file=sys.stderr, flush=True)
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
def _check_run_json(resp: Any) -> dict[str, Any] | None:
|
|
205
|
+
"""The run a 2xx answer carries, else None (error status, or a body that is not the run)."""
|
|
206
|
+
if resp.status_code >= 300:
|
|
207
|
+
return None
|
|
208
|
+
try:
|
|
209
|
+
data = resp.json()
|
|
210
|
+
except Exception: # noqa: BLE001
|
|
211
|
+
return None
|
|
212
|
+
return data if isinstance(data, dict) else None
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def complete_check_run_if_open(repo_full_name: str, token: str, check_run_id: int, *, conclusion: str,
|
|
216
|
+
summary: str, name: str) -> bool:
|
|
217
|
+
"""Complete ONE known Check Run, but only while it is still open. Returns True if it did.
|
|
218
|
+
|
|
219
|
+
The restart reconciler (webhook_resume) knows the exact id of the run an interrupted job
|
|
220
|
+
opened. `codna review --post` completes that same run with its findings, and the kill can
|
|
221
|
+
land right after -- so the run is read first and left alone once it is ``completed``.
|
|
222
|
+
|
|
223
|
+
What that guarantee is worth, honestly. GitHub has no conditional update for Check Runs (no
|
|
224
|
+
If-Match, no status-guarded PATCH), and a PATCH by the owning App on an already-completed run
|
|
225
|
+
answers 200 and replaces its output. So a completion that lands between the read and the
|
|
226
|
+
write here is overwritten, and afterwards nothing on the API tells: the run simply carries
|
|
227
|
+
this summary. The window is kept as small as the API allows -- one request on an already-open
|
|
228
|
+
connection: read, then write on the same client, nothing in between. A completion that lands
|
|
229
|
+
right AFTER the write is visible: the run is read back once more and, when its output is not
|
|
230
|
+
what was written, a ``check_run_clobbered`` warning names the run and its suite so the race is
|
|
231
|
+
at least on record. Who could be writing at that moment: only a ``codna`` child of the
|
|
232
|
+
previous process that outlived it (``WorkerPool.stop`` joins its threads but never signals
|
|
233
|
+
the job's process group), and on the hosted app the machine replacement kills that child
|
|
234
|
+
before this process boots. Never raises (best-effort hygiene, same contract as
|
|
235
|
+
complete_stale_check_runs)."""
|
|
236
|
+
try:
|
|
237
|
+
import httpx
|
|
238
|
+
except Exception: # noqa: BLE001
|
|
239
|
+
return False
|
|
240
|
+
headers = {"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"}
|
|
241
|
+
url = f"{_API}/repos/{repo_full_name}/check-runs/{check_run_id}"
|
|
242
|
+
body = check_run_payload(name, "", status="completed", conclusion=conclusion, summary=summary)
|
|
243
|
+
try:
|
|
244
|
+
with httpx.Client(headers=headers, timeout=30.0, follow_redirects=True) as client:
|
|
245
|
+
before = _check_run_json(client.get(url))
|
|
246
|
+
if before is None or before.get("status") == "completed":
|
|
247
|
+
return False # missing, not ours to read, or already completed: its findings stay
|
|
248
|
+
if client.patch(url, json=body).status_code >= 300:
|
|
249
|
+
return False # completed by someone else in between (a 422), or not ours
|
|
250
|
+
try:
|
|
251
|
+
after = _check_run_json(client.get(url))
|
|
252
|
+
except Exception: # noqa: BLE001 -- the read-back is diagnostics only
|
|
253
|
+
after = None
|
|
254
|
+
except Exception: # noqa: BLE001 -- transport error at any step
|
|
255
|
+
return False
|
|
256
|
+
if after is not None and after.get("status") == "completed":
|
|
257
|
+
output = after.get("output") or {}
|
|
258
|
+
if (output.get("title"), output.get("summary")) != (name, summary):
|
|
259
|
+
# Someone completed this run right after this write (its content won, this
|
|
260
|
+
# cancellation note is gone): the interrupted job's own CLI, still alive somewhere.
|
|
261
|
+
_warn("check_run_clobbered", repo=repo_full_name, check_run_id=int(check_run_id),
|
|
262
|
+
check_suite_id=(after.get("check_suite") or {}).get("id"),
|
|
263
|
+
head_sha=after.get("head_sha"), name=name,
|
|
264
|
+
observed_title=str(output.get("title") or "")[:200],
|
|
265
|
+
observed_summary=str(output.get("summary") or "")[:200],
|
|
266
|
+
observed_conclusion=after.get("conclusion"), written_summary=summary[:200])
|
|
267
|
+
return True
|
|
268
|
+
|
|
269
|
+
|
|
196
270
|
def complete_stale_check_runs(
|
|
197
271
|
repo_full_name: str, token: str, *, head_sha: str, name: str, summary: str
|
|
198
272
|
) -> int:
|
|
@@ -73,6 +73,11 @@ class WebhookQueue:
|
|
|
73
73
|
conn.executescript(_SCHEMA)
|
|
74
74
|
self._migrate(conn)
|
|
75
75
|
|
|
76
|
+
@property
|
|
77
|
+
def path(self) -> str:
|
|
78
|
+
"""The database file; the restart registry (webhook_resume) lives in a sibling directory."""
|
|
79
|
+
return self._path
|
|
80
|
+
|
|
76
81
|
@staticmethod
|
|
77
82
|
def _migrate(conn: sqlite3.Connection) -> None:
|
|
78
83
|
"""Add any columns introduced after the table first shipped (idempotent)."""
|
|
@@ -211,6 +216,13 @@ class WebhookQueue:
|
|
|
211
216
|
).rowcount
|
|
212
217
|
return {"requeued": requeued, "failed": failed}
|
|
213
218
|
|
|
219
|
+
def row_state(self, row_id: int) -> tuple[str, int] | None:
|
|
220
|
+
"""``(status, attempts)`` of one row, or None if it does not exist. The restart reconciler
|
|
221
|
+
reads this right after recover_stale to decide whether a registered job runs again."""
|
|
222
|
+
with self._conn() as conn:
|
|
223
|
+
row = conn.execute("SELECT status, attempts FROM jobs WHERE id=?", (row_id,)).fetchone()
|
|
224
|
+
return None if row is None else (str(row["status"]), int(row["attempts"]))
|
|
225
|
+
|
|
214
226
|
def counts(self) -> dict[str, int]:
|
|
215
227
|
with self._conn() as conn:
|
|
216
228
|
rows = conn.execute("SELECT status, COUNT(*) c FROM jobs GROUP BY status").fetchall()
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
"""Resume, or honestly close, the jobs a webhook restart interrupted.
|
|
2
|
+
|
|
3
|
+
The hosted webhook is one Fly machine that every merge to ``main`` redeploys. A job running at
|
|
4
|
+
that moment is killed: ``WorkerPool.stop`` drains for the grace window, the process exits, and
|
|
5
|
+
the queue row stays ``running`` with its Check Run ``in_progress``. On the next boot
|
|
6
|
+
``WebhookQueue.recover_stale`` requeues the row -- but the Check Run's id lived only in a local
|
|
7
|
+
variable of ``process_job``, so the ONLY thing that could ever complete it was the retry reaching
|
|
8
|
+
``complete_stale_check_runs`` after token minting and the account bridge. When the retry died
|
|
9
|
+
before that point (or the row was already on its last attempt) the run spun forever, and since
|
|
10
|
+
``codna review`` is a required check the pull request could not merge until someone pushed again.
|
|
11
|
+
Live: thyn-ai/algenta#1056 head 13b07d1b, check run 105937057683 started 2026-09-19T17:27:51Z,
|
|
12
|
+
machine replaced 17:28:49Z-17:29:27Z, still ``in_progress`` at 17:44Z with one row gone
|
|
13
|
+
``failed`` and no second run.
|
|
14
|
+
|
|
15
|
+
Two pieces, both stdlib, both unit-tested with fakes:
|
|
16
|
+
|
|
17
|
+
* :class:`RunningJobRegistry` -- one small JSON file per claimed job, written on claim, updated
|
|
18
|
+
with the Check Run id the moment it exists, removed on finish, on the volume BESIDE the queue
|
|
19
|
+
(``<queue dir>/running/``) so it survives SIGTERM and SIGKILL alike. ``stop()`` marks whatever
|
|
20
|
+
is still registered as interrupted by ``sigterm`` so the next boot can say why.
|
|
21
|
+
* :func:`reconcile_interrupted` -- at startup, after ``recover_stale``, every registered job is
|
|
22
|
+
resolved exactly once: resumed (its stale run completed as ``cancelled`` and a fresh attempt
|
|
23
|
+
replaces it), superseded (the PR head moved: the stale head is not re-run), or cancelled with
|
|
24
|
+
the re-trigger comment (out of attempts, or already resumed once). Nothing this App opened is
|
|
25
|
+
left ``in_progress``.
|
|
26
|
+
"""
|
|
27
|
+
from __future__ import annotations
|
|
28
|
+
|
|
29
|
+
import json
|
|
30
|
+
import os
|
|
31
|
+
import sys
|
|
32
|
+
import tempfile
|
|
33
|
+
import threading
|
|
34
|
+
from dataclasses import asdict, dataclass, replace
|
|
35
|
+
from datetime import datetime, timezone
|
|
36
|
+
from pathlib import Path
|
|
37
|
+
from typing import Any
|
|
38
|
+
|
|
39
|
+
from . import webhook_github
|
|
40
|
+
from .webhook import check_run_name
|
|
41
|
+
from .webhook_queue import QueuedJob, WebhookQueue
|
|
42
|
+
|
|
43
|
+
# A job is brought back automatically after ONE restart. A second interruption of the same job
|
|
44
|
+
# (deploys 6 minutes apart on 2026-09-19 restarted the machine twice) is not re-run again: the
|
|
45
|
+
# check is completed as cancelled with the comment that re-triggers it, so a job that cannot
|
|
46
|
+
# finish between deploys never loops, and the queue's own attempt cap still bounds everything.
|
|
47
|
+
_MAX_RESUMES = 1
|
|
48
|
+
REGISTRY_DIRNAME = "running"
|
|
49
|
+
|
|
50
|
+
_RETRIGGER = {
|
|
51
|
+
"review": "Comment `@codna review` on the pull request to run it again.",
|
|
52
|
+
"fix": "Reply `@codna fix` on the finding (or re-apply the `codna-fix` label) to run it again.",
|
|
53
|
+
"secure": "Re-apply the `codna-secure` label to run it again.",
|
|
54
|
+
"queue": "Re-queue the pull request to run it again.",
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def registry_dir_for(queue_path: str | Path) -> Path:
|
|
59
|
+
"""Where the registry lives: beside the durable queue (``/data/running`` on the hosted app)."""
|
|
60
|
+
return Path(queue_path).parent / REGISTRY_DIRNAME
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def _utc_now() -> str:
|
|
64
|
+
return datetime.now(timezone.utc).isoformat(timespec="seconds")
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@dataclass(frozen=True)
|
|
68
|
+
class RunningJob:
|
|
69
|
+
"""What the next process needs to know about a job this one was running."""
|
|
70
|
+
|
|
71
|
+
row_id: int
|
|
72
|
+
kind: str
|
|
73
|
+
repo: str
|
|
74
|
+
ref: str | None
|
|
75
|
+
pr_number: int | None
|
|
76
|
+
installation_id: int | None
|
|
77
|
+
issue_number: int | None
|
|
78
|
+
reason: str
|
|
79
|
+
delivery_id: str | None
|
|
80
|
+
attempt: int
|
|
81
|
+
started_at: str
|
|
82
|
+
check_run_id: int | None = None
|
|
83
|
+
resumes: int = 0
|
|
84
|
+
interrupted_by: str | None = None
|
|
85
|
+
interrupted_at: str | None = None
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class RunningJobRegistry:
|
|
89
|
+
"""Per-job JSON files in one directory. Every method is best-effort and never raises: the
|
|
90
|
+
registry exists to make restarts honest, it must never take a live job down.
|
|
91
|
+
|
|
92
|
+
Three threads write it: the worker thread (``start`` on claim, ``record_check_run`` right
|
|
93
|
+
after ``create_check_run``, ``finish`` when the job ends), the main thread (``mark_interrupted``
|
|
94
|
+
from ``WorkerPool.stop`` once the drain grace runs out) and the reconcile thread
|
|
95
|
+
(``mark_resumed``). Every read-modify-write holds one lock, so a stamp landing while the run
|
|
96
|
+
id is being recorded cannot make either update disappear: the surviving file always carries
|
|
97
|
+
both. Each write stages through its own unique temp file, so two writers can never share a
|
|
98
|
+
staging path even outside the lock."""
|
|
99
|
+
|
|
100
|
+
def __init__(self, root: str | Path) -> None:
|
|
101
|
+
self._root = Path(root)
|
|
102
|
+
self._lock = threading.Lock() # serializes every read-modify-write of an entry
|
|
103
|
+
try:
|
|
104
|
+
self._root.mkdir(parents=True, exist_ok=True)
|
|
105
|
+
except OSError as exc:
|
|
106
|
+
_log("registry_unavailable", error=f"{type(exc).__name__}: {exc}")
|
|
107
|
+
|
|
108
|
+
@property
|
|
109
|
+
def root(self) -> Path:
|
|
110
|
+
return self._root
|
|
111
|
+
|
|
112
|
+
def _path(self, row_id: int) -> Path:
|
|
113
|
+
return self._root / f"{int(row_id)}.json"
|
|
114
|
+
|
|
115
|
+
def _write(self, entry: RunningJob) -> None:
|
|
116
|
+
"""Caller holds ``self._lock``. The staging file is unique per write (``mkstemp``): a
|
|
117
|
+
fixed ``{row_id}.json.tmp`` let two writers truncate and rename the same file."""
|
|
118
|
+
path = self._path(entry.row_id)
|
|
119
|
+
tmp: str | None = None
|
|
120
|
+
try:
|
|
121
|
+
fd, tmp = tempfile.mkstemp(dir=self._root, prefix=f"{int(entry.row_id)}.", suffix=".tmp")
|
|
122
|
+
with os.fdopen(fd, "w", encoding="utf-8") as handle:
|
|
123
|
+
handle.write(json.dumps(asdict(entry), sort_keys=True))
|
|
124
|
+
os.replace(tmp, path) # atomic: a crash mid-write leaves the old entry, never half a file
|
|
125
|
+
except OSError as exc:
|
|
126
|
+
if tmp is not None:
|
|
127
|
+
try:
|
|
128
|
+
os.unlink(tmp)
|
|
129
|
+
except OSError:
|
|
130
|
+
pass
|
|
131
|
+
_log("registry_write_failed", row_id=entry.row_id, error=f"{type(exc).__name__}: {exc}")
|
|
132
|
+
|
|
133
|
+
def get(self, row_id: int) -> RunningJob | None:
|
|
134
|
+
return self._read(self._path(row_id))
|
|
135
|
+
|
|
136
|
+
@staticmethod
|
|
137
|
+
def _read(path: Path) -> RunningJob | None:
|
|
138
|
+
try:
|
|
139
|
+
data = json.loads(path.read_text(encoding="utf-8"))
|
|
140
|
+
return RunningJob(**data)
|
|
141
|
+
except (OSError, ValueError, TypeError):
|
|
142
|
+
return None # missing, being written, or from an incompatible version: skip, don't crash
|
|
143
|
+
|
|
144
|
+
def entries(self) -> list[RunningJob]:
|
|
145
|
+
try:
|
|
146
|
+
paths = sorted(p for p in self._root.glob("*.json") if p.suffix == ".json")
|
|
147
|
+
except OSError:
|
|
148
|
+
return []
|
|
149
|
+
found = [self._read(p) for p in paths]
|
|
150
|
+
return sorted((e for e in found if e is not None), key=lambda e: e.row_id)
|
|
151
|
+
|
|
152
|
+
def start(self, qjob: QueuedJob) -> RunningJob:
|
|
153
|
+
"""Record a claimed job. The resume count of an earlier entry for the same row (the
|
|
154
|
+
attempt this one replaces) is carried forward, so the cap counts restarts, not attempts."""
|
|
155
|
+
job = qjob.job
|
|
156
|
+
with self._lock:
|
|
157
|
+
prior = self.get(qjob.row_id)
|
|
158
|
+
entry = RunningJob(
|
|
159
|
+
row_id=qjob.row_id, kind=job.kind, repo=job.repo_full_name, ref=job.ref,
|
|
160
|
+
pr_number=job.pr_number, installation_id=job.installation_id,
|
|
161
|
+
issue_number=job.issue_number, reason=job.reason, delivery_id=qjob.delivery_id,
|
|
162
|
+
attempt=qjob.attempts, started_at=_utc_now(),
|
|
163
|
+
resumes=prior.resumes if prior is not None else 0,
|
|
164
|
+
)
|
|
165
|
+
self._write(entry)
|
|
166
|
+
return entry
|
|
167
|
+
|
|
168
|
+
def record_check_run(self, row_id: int, check_run_id: int | None) -> None:
|
|
169
|
+
"""The job's Check Run exists now: from here on a restart must complete it."""
|
|
170
|
+
if not check_run_id:
|
|
171
|
+
return
|
|
172
|
+
with self._lock:
|
|
173
|
+
entry = self.get(row_id)
|
|
174
|
+
if entry is not None:
|
|
175
|
+
self._write(replace(entry, check_run_id=int(check_run_id)))
|
|
176
|
+
|
|
177
|
+
def finish(self, row_id: int) -> None:
|
|
178
|
+
with self._lock:
|
|
179
|
+
try:
|
|
180
|
+
self._path(row_id).unlink()
|
|
181
|
+
except FileNotFoundError:
|
|
182
|
+
pass
|
|
183
|
+
except OSError as exc:
|
|
184
|
+
_log("registry_clear_failed", row_id=row_id, error=f"{type(exc).__name__}: {exc}")
|
|
185
|
+
|
|
186
|
+
def mark_resumed(self, row_id: int) -> None:
|
|
187
|
+
with self._lock:
|
|
188
|
+
entry = self.get(row_id)
|
|
189
|
+
if entry is not None:
|
|
190
|
+
self._write(replace(entry, resumes=entry.resumes + 1, check_run_id=None,
|
|
191
|
+
interrupted_by=None, interrupted_at=None))
|
|
192
|
+
|
|
193
|
+
def mark_interrupted(self, reason: str) -> int:
|
|
194
|
+
"""Stamp every job still registered (the drain grace ran out on it) with why it is about
|
|
195
|
+
to die. Returns how many. Called from ``WorkerPool.stop`` on SIGTERM. Holds the lock for
|
|
196
|
+
the whole pass: a worker recording its run id, or finishing, in the middle of it lands
|
|
197
|
+
strictly before or strictly after, never inside a stale snapshot."""
|
|
198
|
+
stamped = 0
|
|
199
|
+
with self._lock:
|
|
200
|
+
for entry in self.entries():
|
|
201
|
+
self._write(replace(entry, interrupted_by=reason, interrupted_at=_utc_now()))
|
|
202
|
+
stamped += 1
|
|
203
|
+
return stamped
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
def _log(event: str, **fields: Any) -> None:
|
|
207
|
+
payload: dict[str, Any] = {"service": "codna-webhook-worker", "event": event}
|
|
208
|
+
payload.update(fields)
|
|
209
|
+
print(json.dumps(payload, sort_keys=True), file=sys.stderr, flush=True)
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def _token_for(entry: RunningJob, *, app_id: str | None, private_key: str | None, github: Any,
|
|
213
|
+
environ: Any) -> str | None:
|
|
214
|
+
"""The same scope the job itself ran with (it created the run, so it may complete it)."""
|
|
215
|
+
if entry.installation_id and app_id and private_key:
|
|
216
|
+
try:
|
|
217
|
+
return github.installation_token(app_id, private_key, entry.installation_id,
|
|
218
|
+
repo_full_name=entry.repo, kind=entry.kind)
|
|
219
|
+
except Exception as exc: # noqa: BLE001 -- minting may be exactly what a fresh boot cannot do yet
|
|
220
|
+
_log("job_resume_token_failed", row_id=entry.row_id, error=type(exc).__name__)
|
|
221
|
+
return None
|
|
222
|
+
return environ.get("GITHUB_TOKEN") or None
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def _close(entry: RunningJob, token: str, github: Any, *, conclusion: str, summary: str) -> int | None:
|
|
226
|
+
"""Complete the job's own Check Run if it is still open. Returns the id of the run this call
|
|
227
|
+
completed, or None when there was nothing to close (no run recorded, already completed by the
|
|
228
|
+
job's own CLI -- its findings stay -- or a transport error). The residual race between the
|
|
229
|
+
read and the write lives in ``webhook_github.complete_check_run_if_open``."""
|
|
230
|
+
if not entry.check_run_id:
|
|
231
|
+
return None
|
|
232
|
+
try:
|
|
233
|
+
closed = bool(github.complete_check_run_if_open(
|
|
234
|
+
entry.repo, token, entry.check_run_id, conclusion=conclusion, summary=summary,
|
|
235
|
+
name=check_run_name(entry.kind),
|
|
236
|
+
))
|
|
237
|
+
except Exception as exc: # noqa: BLE001 -- a transport error must not stop the other entries
|
|
238
|
+
_log("job_resume_close_failed", row_id=entry.row_id, error=type(exc).__name__)
|
|
239
|
+
return None
|
|
240
|
+
return int(entry.check_run_id) if closed else None
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
def _reconcile_one(entry: RunningJob, queue: WebhookQueue, registry: RunningJobRegistry, *,
|
|
244
|
+
app_id: str | None, private_key: str | None, github: Any,
|
|
245
|
+
environ: Any) -> tuple[str, int | None]:
|
|
246
|
+
"""One entry's verdict and the id of the Check Run this boot actually completed (None when
|
|
247
|
+
none was): ``mark_resumed`` clears the id from the entry, so it is captured here, not read
|
|
248
|
+
back later."""
|
|
249
|
+
state = queue.row_state(entry.row_id)
|
|
250
|
+
if state is None or state[0] == "done":
|
|
251
|
+
registry.finish(entry.row_id) # finished right before the kill, or the row is gone
|
|
252
|
+
return "finished", None
|
|
253
|
+
status, attempts = state
|
|
254
|
+
token = _token_for(entry, app_id=app_id, private_key=private_key, github=github, environ=environ)
|
|
255
|
+
if token is None:
|
|
256
|
+
return "skipped", None # entry kept: the next boot tries again; the retry's own hygiene still applies
|
|
257
|
+
name = check_run_name(entry.kind)
|
|
258
|
+
cause = "a redeploy" if entry.interrupted_by == "sigterm" else "a service restart"
|
|
259
|
+
hint = _RETRIGGER.get(entry.kind, "Trigger it again to run it.")
|
|
260
|
+
if status == "failed":
|
|
261
|
+
# recover_stale found no attempts left (or the last attempt failed on its own): terminal.
|
|
262
|
+
closed = _close(entry, token, github, conclusion="cancelled",
|
|
263
|
+
summary=f"{name}: interrupted by {cause} with no attempts left. {hint}")
|
|
264
|
+
registry.finish(entry.row_id)
|
|
265
|
+
return "cancelled", closed
|
|
266
|
+
if entry.resumes >= _MAX_RESUMES:
|
|
267
|
+
queue.complete(entry.row_id, status="failed", retry=False,
|
|
268
|
+
result={"error": "interrupted_after_resume", "attempt": attempts})
|
|
269
|
+
closed = _close(entry, token, github, conclusion="cancelled",
|
|
270
|
+
summary=f"{name}: interrupted by {cause} again after one automatic resume; "
|
|
271
|
+
f"not re-run automatically. {hint}")
|
|
272
|
+
registry.finish(entry.row_id)
|
|
273
|
+
return "cancelled", closed
|
|
274
|
+
if entry.pr_number and entry.ref:
|
|
275
|
+
head = github.pull_request_head_sha(entry.repo, token, entry.pr_number)
|
|
276
|
+
if head and head != entry.ref:
|
|
277
|
+
queue.complete(entry.row_id, status="done", retry=False,
|
|
278
|
+
result={"summary": f"superseded: PR head moved to {head[:8]} across a restart"})
|
|
279
|
+
closed = _close(entry, token, github, conclusion="cancelled",
|
|
280
|
+
summary=f"{name}: interrupted by {cause}; the pull request head has since "
|
|
281
|
+
f"moved to {head[:8]}, which gets its own run. This commit was not re-run.")
|
|
282
|
+
registry.finish(entry.row_id)
|
|
283
|
+
return "superseded", closed
|
|
284
|
+
closed = _close(entry, token, github, conclusion="cancelled",
|
|
285
|
+
summary=f"{name}: interrupted by {cause}; re-queued automatically as attempt {attempts + 1}. "
|
|
286
|
+
f"A new `{name}` run replaces this one. If none appears: {hint}")
|
|
287
|
+
registry.mark_resumed(entry.row_id) # the row is already 'retry' (recover_stale) -- it runs again
|
|
288
|
+
return "resumed", closed
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
def reconcile_interrupted(queue: WebhookQueue, registry: RunningJobRegistry, *,
|
|
292
|
+
app_id: str | None, private_key: str | None,
|
|
293
|
+
github: Any = None, environ: Any = None) -> dict[str, int]:
|
|
294
|
+
"""Resolve every job the previous process left registered. Call AFTER ``queue.recover_stale``
|
|
295
|
+
and BEFORE any worker claims: the decisions here (run again / do not) are made on rows that
|
|
296
|
+
recover_stale has just put back in ``retry``. Returns counts per verdict. Never raises."""
|
|
297
|
+
github = github or webhook_github
|
|
298
|
+
environ = os.environ if environ is None else environ
|
|
299
|
+
outcome = {"resumed": 0, "superseded": 0, "cancelled": 0, "finished": 0, "skipped": 0}
|
|
300
|
+
for entry in registry.entries():
|
|
301
|
+
closed: int | None = None
|
|
302
|
+
try:
|
|
303
|
+
verdict, closed = _reconcile_one(entry, queue, registry, app_id=app_id,
|
|
304
|
+
private_key=private_key, github=github, environ=environ)
|
|
305
|
+
except Exception as exc: # noqa: BLE001 -- one bad entry must not strand the others
|
|
306
|
+
_log("job_resume_error", row_id=entry.row_id, error=f"{type(exc).__name__}: {str(exc)[:200]}")
|
|
307
|
+
verdict = "skipped"
|
|
308
|
+
outcome[verdict] += 1
|
|
309
|
+
# check_run_id: the run the job had opened. closed_check_run_id: the one THIS boot completed
|
|
310
|
+
# (None: none recorded, the job's own CLI had already completed it, or the close failed).
|
|
311
|
+
_log("job_resume", row_id=entry.row_id, kind=entry.kind, repo=entry.repo, ref=entry.ref,
|
|
312
|
+
check_run_id=entry.check_run_id, closed_check_run_id=closed,
|
|
313
|
+
interrupted_by=entry.interrupted_by, resumes=entry.resumes, verdict=verdict)
|
|
314
|
+
return outcome
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
def reconcile_in_background(queue: WebhookQueue, registry: RunningJobRegistry, *,
|
|
318
|
+
app_id: str | None, private_key: str | None,
|
|
319
|
+
done: threading.Event) -> threading.Thread:
|
|
320
|
+
"""Run :func:`reconcile_interrupted` on its own thread and set ``done`` when it has finished
|
|
321
|
+
(or failed). Off the startup path because each GitHub call may take up to its 30 s timeout
|
|
322
|
+
and ``/health`` must answer at once after a deploy; the pool holds every claim on ``done``."""
|
|
323
|
+
|
|
324
|
+
def _run() -> None:
|
|
325
|
+
try:
|
|
326
|
+
reconcile_interrupted(queue, registry, app_id=app_id, private_key=private_key)
|
|
327
|
+
except Exception as exc: # noqa: BLE001 -- reconciliation must never keep the pool from starting
|
|
328
|
+
_log("job_resume_error", error=f"{type(exc).__name__}: {str(exc)[:200]}")
|
|
329
|
+
finally:
|
|
330
|
+
done.set()
|
|
331
|
+
|
|
332
|
+
thread = threading.Thread(target=_run, name="codna-webhook-reconcile", daemon=True)
|
|
333
|
+
thread.start()
|
|
334
|
+
return thread
|
|
@@ -44,6 +44,7 @@ from .webhook import (
|
|
|
44
44
|
webhook_marker,
|
|
45
45
|
)
|
|
46
46
|
from .webhook_queue import _MAX_ATTEMPTS, QueuedJob, WebhookQueue
|
|
47
|
+
from .webhook_resume import RunningJobRegistry, reconcile_in_background
|
|
47
48
|
from .webhook_summaries import ( # noqa: F401 -- re-exported: callers and tests address these via this module
|
|
48
49
|
_CLI_SUMMARY,
|
|
49
50
|
_NON_RETRYABLE_CODES,
|
|
@@ -415,6 +416,7 @@ def process_job(
|
|
|
415
416
|
[int | None], tuple[str | None, str | None]
|
|
416
417
|
] = webhook_metering.resolve_provider_credentials,
|
|
417
418
|
resolve_fix_enabled: Callable[[int | None], bool] = webhook_metering.resolve_fix_enabled,
|
|
419
|
+
on_check_run: Callable[[int], None] | None = None,
|
|
418
420
|
) -> JobResult:
|
|
419
421
|
"""Resolve the org credential (fail closed), mint a GitHub token, open a Check Run, run, report."""
|
|
420
422
|
job = qjob.job
|
|
@@ -615,6 +617,8 @@ def process_job(
|
|
|
615
617
|
job.repo_full_name, token, name=check_run_name(job.kind), head_sha=job.ref,
|
|
616
618
|
summary=f"{check_run_name(job.kind)} started ({job.reason})",
|
|
617
619
|
)
|
|
620
|
+
if check_id and on_check_run:
|
|
621
|
+
on_check_run(check_id) # restart registry: a killed job's run is completed on the next boot
|
|
618
622
|
if job.kind == "fix" and job.reason == "check_suite_failure" and token and job.ref:
|
|
619
623
|
# Before spending a metered run on a red check suite: is the failure still current, and is
|
|
620
624
|
# it a code defect at all? A `bun install` tarball error or a runner that died is fixed by a
|
|
@@ -780,8 +784,11 @@ class WorkerPool:
|
|
|
780
784
|
def __init__(self, queue: WebhookQueue, *, concurrency: int = 2, poll_interval: float = 1.0,
|
|
781
785
|
app_id: str | None = None, private_key: str | None = None,
|
|
782
786
|
drain_timeout: float | None = None,
|
|
783
|
-
process: Callable[..., JobResult] | None = None
|
|
787
|
+
process: Callable[..., JobResult] | None = None,
|
|
788
|
+
registry: RunningJobRegistry | None = None) -> None:
|
|
784
789
|
self._queue = queue
|
|
790
|
+
self._registry = registry # None: no restart bookkeeping (bare pools in tests / embedders)
|
|
791
|
+
self._reconciled = threading.Event() # start(): claims wait until interrupted jobs are resolved
|
|
785
792
|
self._concurrency = max(1, concurrency)
|
|
786
793
|
self._poll = poll_interval
|
|
787
794
|
self._app_id = app_id
|
|
@@ -795,13 +802,16 @@ class WorkerPool:
|
|
|
795
802
|
self._busy_since: dict[str, float] = {} # thread name -> monotonic start of its current job
|
|
796
803
|
|
|
797
804
|
def _default_process(self, qjob: QueuedJob) -> JobResult:
|
|
798
|
-
|
|
805
|
+
record = (lambda cid: self._registry.record_check_run(qjob.row_id, cid)) if self._registry else None
|
|
806
|
+
return process_job(qjob, app_id=self._app_id, private_key=self._private_key, on_check_run=record)
|
|
799
807
|
|
|
800
808
|
def _loop(self) -> None:
|
|
801
809
|
# MC-predictive admission (admission_control): thread count is only the ceiling on CLAIMERS;
|
|
802
810
|
# how many fixes actually run at once is decided per-fix against the observed duration
|
|
803
811
|
# distribution, so a fix that would breach the SLA under current contention waits instead.
|
|
804
812
|
admitter = get_admitter()
|
|
813
|
+
while not self._stop.is_set() and not self._reconciled.wait(self._poll):
|
|
814
|
+
pass # start() is still deciding which requeued rows run again: claim nothing yet
|
|
805
815
|
while not self._stop.is_set():
|
|
806
816
|
# ADMIT BEFORE CLAIMING. A claimed row is status='running', which claim() excludes
|
|
807
817
|
# (webhook_queue.py:122, inside BEGIN IMMEDIATE) — so parking a claimed job while waiting
|
|
@@ -845,11 +855,15 @@ class WorkerPool:
|
|
|
845
855
|
me = threading.current_thread().name
|
|
846
856
|
with self._busy_lock:
|
|
847
857
|
self._busy_since[me] = time.monotonic()
|
|
858
|
+
if self._registry:
|
|
859
|
+
self._registry.start(qjob) # on the volume: a restart from here on finds this job
|
|
848
860
|
try:
|
|
849
861
|
self._run_claimed_inner(qjob)
|
|
850
862
|
finally:
|
|
851
863
|
with self._busy_lock:
|
|
852
864
|
self._busy_since.pop(me, None)
|
|
865
|
+
if self._registry:
|
|
866
|
+
self._registry.finish(qjob.row_id)
|
|
853
867
|
|
|
854
868
|
def _run_claimed_inner(self, qjob: QueuedJob) -> None:
|
|
855
869
|
"""Process one claimed job and mark its queue row terminal. A worker must never die on one
|
|
@@ -912,6 +926,11 @@ class WorkerPool:
|
|
|
912
926
|
|
|
913
927
|
def start(self) -> None:
|
|
914
928
|
self._queue.recover_stale()
|
|
929
|
+
if self._registry is None:
|
|
930
|
+
self._reconciled.set()
|
|
931
|
+
else: # resolve every job the previous process left registered; _loop claims only after this
|
|
932
|
+
reconcile_in_background(self._queue, self._registry, app_id=self._app_id,
|
|
933
|
+
private_key=self._private_key, done=self._reconciled)
|
|
915
934
|
for i in range(self._concurrency):
|
|
916
935
|
t = threading.Thread(target=self._loop, name=f"codna-webhook-worker-{i}", daemon=True)
|
|
917
936
|
t.start()
|
|
@@ -959,3 +978,5 @@ class WorkerPool:
|
|
|
959
978
|
deadline = time.monotonic() + max(0.0, grace)
|
|
960
979
|
for t in self._threads:
|
|
961
980
|
t.join(timeout=max(0.0, deadline - time.monotonic()))
|
|
981
|
+
if self._registry: # whatever is still registered outlived the grace: say so for the next boot
|
|
982
|
+
self._registry.mark_interrupted("sigterm")
|
|
@@ -79,6 +79,7 @@ codna/webhook_github.py
|
|
|
79
79
|
codna/webhook_metering.py
|
|
80
80
|
codna/webhook_procs.py
|
|
81
81
|
codna/webhook_queue.py
|
|
82
|
+
codna/webhook_resume.py
|
|
82
83
|
codna/webhook_summaries.py
|
|
83
84
|
codna/webhook_worker.py
|
|
84
85
|
codna/worker.py
|
|
@@ -198,6 +199,7 @@ tests/test_webhook_github.py
|
|
|
198
199
|
tests/test_webhook_github_ci.py
|
|
199
200
|
tests/test_webhook_metering.py
|
|
200
201
|
tests/test_webhook_queue.py
|
|
202
|
+
tests/test_webhook_resume.py
|
|
201
203
|
tests/test_webhook_worker.py
|
|
202
204
|
tests/test_webhook_worker_feedback_dispatch.py
|
|
203
205
|
tests/test_wheel_guard.py
|