codna 0.2.73__tar.gz → 0.2.74__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (960) hide show
  1. {codna-0.2.73 → codna-0.2.74}/PKG-INFO +1 -1
  2. {codna-0.2.73 → codna-0.2.74}/codna/__init__.py +1 -1
  3. {codna-0.2.73 → codna-0.2.74}/codna/webhook.py +63 -4
  4. {codna-0.2.73 → codna-0.2.74}/codna/webhook_backend.py +13 -3
  5. {codna-0.2.73 → codna-0.2.74}/codna/webhook_github.py +82 -28
  6. {codna-0.2.73 → codna-0.2.74}/codna/webhook_lease.py +15 -2
  7. {codna-0.2.73 → codna-0.2.74}/codna/webhook_pg_ops.py +36 -1
  8. {codna-0.2.73 → codna-0.2.74}/codna/webhook_pg_queue.py +67 -5
  9. {codna-0.2.73 → codna-0.2.74}/codna/webhook_pool.py +38 -0
  10. {codna-0.2.73 → codna-0.2.74}/codna/webhook_queue.py +6 -0
  11. codna-0.2.74/codna/webhook_queued_check.py +458 -0
  12. {codna-0.2.73 → codna-0.2.74}/codna/webhook_service.py +8 -1
  13. {codna-0.2.73 → codna-0.2.74}/codna/webhook_worker.py +26 -44
  14. {codna-0.2.73 → codna-0.2.74}/codna.egg-info/PKG-INFO +1 -1
  15. {codna-0.2.73 → codna-0.2.74}/codna.egg-info/SOURCES.txt +2 -0
  16. {codna-0.2.73 → codna-0.2.74}/pyproject.toml +1 -1
  17. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_github.py +87 -10
  18. codna-0.2.74/tests/test_webhook_queued_check.py +541 -0
  19. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_worker.py +229 -0
  20. {codna-0.2.73 → codna-0.2.74}/MANIFEST.in +0 -0
  21. {codna-0.2.73 → codna-0.2.74}/README.md +0 -0
  22. {codna-0.2.73 → codna-0.2.74}/codna/_wheel_guard.py +0 -0
  23. {codna-0.2.73 → codna-0.2.74}/codna/admission_control.py +0 -0
  24. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_FORK.md +0 -0
  25. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_SDK_AZ_INTEGRATION_PLAN.md +0 -0
  26. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_SDK_INTERFACE.md +0 -0
  27. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/CLINE_SDK_RESEARCH.md +0 -0
  28. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/package.json +0 -0
  29. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/run-server.bundle.mjs +0 -0
  30. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/run-server.mjs +0 -0
  31. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/run-server.stub.mjs +0 -0
  32. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/.gitignore +0 -0
  33. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/LICENSE +0 -0
  34. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/NOTICE +0 -0
  35. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/UPSTREAM_COMMIT.txt +0 -0
  36. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/README.md +0 -0
  37. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/acp-editor.ts +0 -0
  38. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/adapter.ts +0 -0
  39. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/algenta-plugin.ts +0 -0
  40. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/artifacts.test.ts +0 -0
  41. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/execution.test.ts +0 -0
  42. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/fallback.test.ts +0 -0
  43. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/fallback.ts +0 -0
  44. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/fix-runner.ts +0 -0
  45. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/http.test.ts +0 -0
  46. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/local-graph-tool.ts +0 -0
  47. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/mojo-gate.test.ts +0 -0
  48. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/mojo-gate.ts +0 -0
  49. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/policy.test.ts +0 -0
  50. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/postbuild.sh +0 -0
  51. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proof-artifacts.test.ts +0 -0
  52. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proof-provider.test.ts +0 -0
  53. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proof-provider.ts +0 -0
  54. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/proofs.ts +0 -0
  55. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/provider-key.test.ts +0 -0
  56. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/raw-completions.ts +0 -0
  57. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/review-policy.test.ts +0 -0
  58. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/run-server.ts +0 -0
  59. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/scheduled-agents.ts +0 -0
  60. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/artifacts.ts +0 -0
  61. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/contracts.ts +0 -0
  62. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/execution.ts +0 -0
  63. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/http.ts +0 -0
  64. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/policy.ts +0 -0
  65. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/state.ts +0 -0
  66. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/streaming.test.ts +0 -0
  67. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/server/utils.ts +0 -0
  68. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/task-policy.ts +0 -0
  69. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-localize.test.ts +0 -0
  70. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-localize.ts +0 -0
  71. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-worker.test.ts +0 -0
  72. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/telys-worker.ts +0 -0
  73. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/tools.test.ts +0 -0
  74. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/tools.ts +0 -0
  75. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/usage-cost.test.ts +0 -0
  76. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/usage-cost.ts +0 -0
  77. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/write-scope.test.ts +0 -0
  78. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/algenta/write-scope.ts +0 -0
  79. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/biome.json +0 -0
  80. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/bun.lock +0 -0
  81. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/package.json +0 -0
  82. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/.cline/rules/worktree_dependency_hygiene.md +0 -0
  83. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/.cline/skills/plugin.md +0 -0
  84. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/.gitignore +0 -0
  85. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/AGENTS.md +0 -0
  86. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/ARCHITECTURE.md +0 -0
  87. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/CHANGELOG.md +0 -0
  88. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/CONTRIBUTING.md +0 -0
  89. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/README.md +0 -0
  90. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/biome.json +0 -0
  91. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/README.md +0 -0
  92. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/README.md +0 -0
  93. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/changelog-generator.cron.md +0 -0
  94. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/code-style-audit.cron.md +0 -0
  95. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/daily-code-review.cron.md +0 -0
  96. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/dead-code-finder.cron.md +0 -0
  97. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/dependency-check.cron.md +0 -0
  98. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/documentation-check.cron.md +0 -0
  99. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-manual-test.event.md +0 -0
  100. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-plugin-event.event.md +0 -0
  101. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-changelog-check.event.md +0 -0
  102. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-review.event.md +0 -0
  103. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-test-coverage.event.md +0 -0
  104. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/performance-baseline.cron.md +0 -0
  105. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/test-coverage-report.cron.md +0 -0
  106. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/type-check-strict.cron.md +0 -0
  107. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/cron/weekly-metrics-summary.cron.md +0 -0
  108. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.py +0 -0
  109. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.sh +0 -0
  110. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.ts +0 -0
  111. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.py +0 -0
  112. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.sh +0 -0
  113. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.ts +0 -0
  114. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_BlockDestructive.sh +0 -0
  115. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectContext.py +0 -0
  116. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectFileContext.sh +0 -0
  117. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_ModifyInput.ts +0 -0
  118. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_RequireReview.sh +0 -0
  119. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/README.md +0 -0
  120. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/SessionShutdown.sh +0 -0
  121. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskComplete.sh +0 -0
  122. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskStart.sh +0 -0
  123. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/hooks/custom-compaction-hook.example.ts +0 -0
  124. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/package.json +0 -0
  125. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/README.md +0 -0
  126. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/README.md +0 -0
  127. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/anvil.md +0 -0
  128. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/inquisitor.md +0 -0
  129. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/oracle.md +0 -0
  130. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/phantom.md +0 -0
  131. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/index.ts +0 -0
  132. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/package.json +0 -0
  133. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/api-design.md +0 -0
  134. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/code-review.md +0 -0
  135. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/debugging.md +0 -0
  136. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/documentation.md +0 -0
  137. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/migration.md +0 -0
  138. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/refactoring.md +0 -0
  139. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/test-generation.md +0 -0
  140. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/tsconfig.json +0 -0
  141. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/automation-events.ts +0 -0
  142. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/background-terminal.ts +0 -0
  143. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/custom-compaction.ts +0 -0
  144. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/env-blocker.ts +0 -0
  145. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/gitignore-read-files-guard.ts +0 -0
  146. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/mac-notify.ts +0 -0
  147. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/openrouter-provider.ts +0 -0
  148. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/README.md +0 -0
  149. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/index.ts +0 -0
  150. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/weather-metrics.ts +0 -0
  151. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/plugins/web-search.ts +0 -0
  152. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/examples/tsconfig.json +0 -0
  153. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/README.md +0 -0
  154. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/README.md +0 -0
  155. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/bun.mts +0 -0
  156. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/package.json +0 -0
  157. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.provider-form.test.ts +0 -0
  158. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.test.ts +0 -0
  159. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.ts +0 -0
  160. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/src/index.ts +0 -0
  161. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.build.json +0 -0
  162. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.dev.json +0 -0
  163. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.json +0 -0
  164. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/agents/vitest.config.ts +0 -0
  165. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/README.md +0 -0
  166. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/bun.mts +0 -0
  167. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/docs/messages-contract-v1.md +0 -0
  168. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/fixtures/messages/success.messages.json +0 -0
  169. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/package.json +0 -0
  170. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke-host.ts +0 -0
  171. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke.ts +0 -0
  172. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.test.ts +0 -0
  173. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.ts +0 -0
  174. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.test.ts +0 -0
  175. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.ts +0 -0
  176. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/featurebase-token.test.ts +0 -0
  177. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/index.ts +0 -0
  178. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.test.ts +0 -0
  179. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.ts +0 -0
  180. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/types.ts +0 -0
  181. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.test.ts +0 -0
  182. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.ts +0 -0
  183. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.test.ts +0 -0
  184. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.ts +0 -0
  185. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.test.ts +0 -0
  186. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.ts +0 -0
  187. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.test.ts +0 -0
  188. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.ts +0 -0
  189. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.test.ts +0 -0
  190. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.ts +0 -0
  191. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.test.ts +0 -0
  192. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.ts +0 -0
  193. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/types.ts +0 -0
  194. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.test.ts +0 -0
  195. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.ts +0 -0
  196. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/automation.ts +0 -0
  197. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/runtime-services.ts +0 -0
  198. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/start-input.ts +0 -0
  199. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/telemetry.ts +0 -0
  200. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/types.ts +0 -0
  201. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.test.ts +0 -0
  202. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.ts +0 -0
  203. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/index.ts +0 -0
  204. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/index.ts +0 -0
  205. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/cron-report-writer.ts +0 -0
  206. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/index.ts +0 -0
  207. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.test.ts +0 -0
  208. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.ts +0 -0
  209. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.test.ts +0 -0
  210. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.ts +0 -0
  211. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/index.ts +0 -0
  212. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/resource-limiter.ts +0 -0
  213. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/index.ts +0 -0
  214. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.test.ts +0 -0
  215. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.ts +0 -0
  216. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/cron-service.ts +0 -0
  217. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/index.ts +0 -0
  218. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-command-service.ts +0 -0
  219. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.test.ts +0 -0
  220. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.ts +0 -0
  221. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.test.ts +0 -0
  222. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.ts +0 -0
  223. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.test.ts +0 -0
  224. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.ts +0 -0
  225. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.test.ts +0 -0
  226. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.ts +0 -0
  227. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/index.ts +0 -0
  228. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/cron-schema.ts +0 -0
  229. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/index.ts +0 -0
  230. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.test.ts +0 -0
  231. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.ts +0 -0
  232. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/index.ts +0 -0
  233. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.test.ts +0 -0
  234. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.ts +0 -0
  235. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.test.ts +0 -0
  236. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.ts +0 -0
  237. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.test.ts +0 -0
  238. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.ts +0 -0
  239. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.test.ts +0 -0
  240. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.ts +0 -0
  241. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-plugin.ts +0 -0
  242. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-service.ts +0 -0
  243. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/agentic-compaction.ts +0 -0
  244. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/basic-compaction.ts +0 -0
  245. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction-shared.ts +0 -0
  246. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.live.test.ts +0 -0
  247. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.test.ts +0 -0
  248. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.ts +0 -0
  249. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/index.ts +0 -0
  250. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/client.ts +0 -0
  251. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.test.ts +0 -0
  252. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.ts +0 -0
  253. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/index.ts +0 -0
  254. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.test.ts +0 -0
  255. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.ts +0 -0
  256. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/name-transform.ts +0 -0
  257. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.test.ts +0 -0
  258. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.ts +0 -0
  259. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/policies.ts +0 -0
  260. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/tools.ts +0 -0
  261. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/types.ts +0 -0
  262. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.test.ts +0 -0
  263. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.ts +0 -0
  264. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-load-report.ts +0 -0
  265. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.test.ts +0 -0
  266. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.ts +0 -0
  267. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-module-import.ts +0 -0
  268. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -0
  269. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.test.ts +0 -0
  270. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.ts +0 -0
  271. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-targeting.ts +0 -0
  272. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/constants.ts +0 -0
  273. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.test.ts +0 -0
  274. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.ts +0 -0
  275. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch-parser.ts +0 -0
  276. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.test.ts +0 -0
  277. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.ts +0 -0
  278. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.test.ts +0 -0
  279. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.ts +0 -0
  280. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.test.ts +0 -0
  281. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.ts +0 -0
  282. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.test.ts +0 -0
  283. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.ts +0 -0
  284. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/index.ts +0 -0
  285. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/search.ts +0 -0
  286. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/web-fetch.ts +0 -0
  287. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/helpers.ts +0 -0
  288. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/index.ts +0 -0
  289. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.test.ts +0 -0
  290. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.ts +0 -0
  291. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.test.ts +0 -0
  292. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.ts +0 -0
  293. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.test.ts +0 -0
  294. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.ts +0 -0
  295. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/schemas.ts +0 -0
  296. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/delegated-agent.ts +0 -0
  297. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/index.ts +0 -0
  298. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.lifecycle.test.ts +0 -0
  299. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.ts +0 -0
  300. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/projections.ts +0 -0
  301. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/runtime.ts +0 -0
  302. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.test.ts +0 -0
  303. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.ts +0 -0
  304. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/subagent-prompts.ts +0 -0
  305. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.test.ts +0 -0
  306. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.ts +0 -0
  307. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/types.ts +0 -0
  308. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.test.ts +0 -0
  309. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.ts +0 -0
  310. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-extension.ts +0 -0
  311. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.test.ts +0 -0
  312. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.ts +0 -0
  313. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.test.ts +0 -0
  314. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.ts +0 -0
  315. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/index.ts +0 -0
  316. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess-runner.ts +0 -0
  317. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess.ts +0 -0
  318. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.test.ts +0 -0
  319. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.ts +0 -0
  320. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.test.ts +0 -0
  321. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.ts +0 -0
  322. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.test.ts +0 -0
  323. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.ts +0 -0
  324. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/ui-client.ts +0 -0
  325. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/entry.ts +0 -0
  326. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.test.ts +0 -0
  327. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.ts +0 -0
  328. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/runtime-handlers.ts +0 -0
  329. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/start-shared-server.ts +0 -0
  330. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.test.ts +0 -0
  331. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.ts +0 -0
  332. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.test.ts +0 -0
  333. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.ts +0 -0
  334. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/workspace.ts +0 -0
  335. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/index.ts +0 -0
  336. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.test.ts +0 -0
  337. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.ts +0 -0
  338. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/remote-runtime-host.ts +0 -0
  339. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/boundary.test.ts +0 -0
  340. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.test.ts +0 -0
  341. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.ts +0 -0
  342. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/command-transport.ts +0 -0
  343. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/fetch-wiring.test.ts +0 -0
  344. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/approval-handlers.ts +0 -0
  345. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/capability-handlers.ts +0 -0
  346. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/client-handlers.ts +0 -0
  347. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/context.ts +0 -0
  348. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.test.ts +0 -0
  349. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.ts +0 -0
  350. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-event-projector.ts +0 -0
  351. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-handlers.ts +0 -0
  352. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-capability-tool-executors.test.ts +0 -0
  353. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-client-contributions.ts +0 -0
  354. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-notifications.ts +0 -0
  355. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-schedule-events.ts +0 -0
  356. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-logging.ts +0 -0
  357. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-options.ts +0 -0
  358. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-transport.ts +0 -0
  359. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-session-records.ts +0 -0
  360. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-websocket-server.ts +0 -0
  361. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.test.ts +0 -0
  362. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.ts +0 -0
  363. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/native-transport.ts +0 -0
  364. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/notification.test.ts +0 -0
  365. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/ui-events.test.ts +0 -0
  366. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/settings.test.ts +0 -0
  367. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/index.ts +0 -0
  368. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/remote-config/integration.ts +0 -0
  369. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/index.ts +0 -0
  370. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/normalize-runtime-capabilities.ts +0 -0
  371. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/runtime-capabilities.ts +0 -0
  372. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.test.ts +0 -0
  373. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.ts +0 -0
  374. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.test.ts +0 -0
  375. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.ts +0 -0
  376. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.test.ts +0 -0
  377. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.ts +0 -0
  378. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.test.ts +0 -0
  379. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.ts +0 -0
  380. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/agent-event-bridge.ts +0 -0
  381. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-record.ts +0 -0
  382. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-service-invoker.ts +0 -0
  383. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/spawn-tool.ts +0 -0
  384. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/user-files.ts +0 -0
  385. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.e2e.test.ts +0 -0
  386. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.test.ts +0 -0
  387. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.ts +0 -0
  388. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.test.ts +0 -0
  389. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.ts +0 -0
  390. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host.ts +0 -0
  391. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/index.ts +0 -0
  392. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.team-persistence.test.ts +0 -0
  393. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.test.ts +0 -0
  394. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.ts +0 -0
  395. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.test.ts +0 -0
  396. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.ts +0 -0
  397. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.test.ts +0 -0
  398. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.ts +0 -0
  399. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-parity.test.ts +0 -0
  400. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.test.ts +0 -0
  401. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.ts +0 -0
  402. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime.ts +0 -0
  403. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/user-input-builder.ts +0 -0
  404. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/loop-detection.ts +0 -0
  405. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/mistake-tracker.ts +0 -0
  406. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.test.ts +0 -0
  407. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.ts +0 -0
  408. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.test.ts +0 -0
  409. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.ts +0 -0
  410. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/tool-approval.ts +0 -0
  411. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.test.ts +0 -0
  412. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.ts +0 -0
  413. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/agent-events.ts +0 -0
  414. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/config.ts +0 -0
  415. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.test.ts +0 -0
  416. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.ts +0 -0
  417. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.test.ts +0 -0
  418. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.ts +0 -0
  419. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/cline-recommended-models.ts +0 -0
  420. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/configured-provider-registry.ts +0 -0
  421. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.test.ts +0 -0
  422. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.ts +0 -0
  423. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.test.ts +0 -0
  424. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.ts +0 -0
  425. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.test.ts +0 -0
  426. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.ts +0 -0
  427. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-config.ts +0 -0
  428. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-registry.ts +0 -0
  429. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-types.ts +0 -0
  430. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.startup.test.ts +0 -0
  431. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.test.ts +0 -0
  432. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.ts +0 -0
  433. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-tools.ts +0 -0
  434. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.test.ts +0 -0
  435. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.ts +0 -0
  436. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-registry.ts +0 -0
  437. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.test.ts +0 -0
  438. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.ts +0 -0
  439. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/model-source.ts +0 -0
  440. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.test.ts +0 -0
  441. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.ts +0 -0
  442. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-artifacts.ts +0 -0
  443. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.test.ts +0 -0
  444. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.ts +0 -0
  445. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-telemetry.ts +0 -0
  446. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/artifact-store.ts +0 -0
  447. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/file-team-store.ts +0 -0
  448. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/index.ts +0 -0
  449. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.test.ts +0 -0
  450. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.ts +0 -0
  451. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.test.ts +0 -0
  452. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.ts +0 -0
  453. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/session-store.ts +0 -0
  454. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-session-store.ts +0 -0
  455. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-team-store.ts +0 -0
  456. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/team-store.ts +0 -0
  457. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/ITelemetryAdapter.ts +0 -0
  458. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.test.ts +0 -0
  459. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.ts +0 -0
  460. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.test.ts +0 -0
  461. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.ts +0 -0
  462. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.test.ts +0 -0
  463. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.ts +0 -0
  464. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.test.ts +0 -0
  465. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.ts +0 -0
  466. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.test.ts +0 -0
  467. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.ts +0 -0
  468. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.test.ts +0 -0
  469. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.ts +0 -0
  470. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/index.ts +0 -0
  471. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/tool-context.ts +0 -0
  472. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.test.ts +0 -0
  473. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.ts +0 -0
  474. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.test.ts +0 -0
  475. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.ts +0 -0
  476. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/index.ts +0 -0
  477. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.test.ts +0 -0
  478. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.ts +0 -0
  479. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manager.ts +0 -0
  480. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manifest.ts +0 -0
  481. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.test.ts +0 -0
  482. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.ts +0 -0
  483. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.test.ts +0 -0
  484. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.ts +0 -0
  485. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/index.ts +0 -0
  486. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-graph.ts +0 -0
  487. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-manifest.ts +0 -0
  488. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-row.ts +0 -0
  489. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/file-session-service.ts +0 -0
  490. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.test.ts +0 -0
  491. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.ts +0 -0
  492. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.test.ts +0 -0
  493. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.ts +0 -0
  494. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.team-persistence.test.ts +0 -0
  495. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.ts +0 -0
  496. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-snapshot.ts +0 -0
  497. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.test.ts +0 -0
  498. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.ts +0 -0
  499. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/conversation-store.ts +0 -0
  500. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/session-manifest-store.ts +0 -0
  501. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/team-persistence-store.ts +0 -0
  502. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/index.ts +0 -0
  503. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-child-session-manager.ts +0 -0
  504. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-session-coordinator.ts +0 -0
  505. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/index.ts +0 -0
  506. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.test.ts +0 -0
  507. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.ts +0 -0
  508. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/types.ts +0 -0
  509. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/chat-schema.ts +0 -0
  510. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/common.ts +0 -0
  511. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/config.ts +0 -0
  512. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/events.ts +0 -0
  513. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/index.ts +0 -0
  514. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/provider-settings.ts +0 -0
  515. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/session.ts +0 -0
  516. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/sessions.ts +0 -0
  517. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/storage.ts +0 -0
  518. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/types.ts +0 -0
  519. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/src/version.ts +0 -0
  520. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.build.json +0 -0
  521. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.dev.json +0 -0
  522. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.json +0 -0
  523. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.smoke.json +0 -0
  524. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.config.ts +0 -0
  525. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.e2e.config.ts +0 -0
  526. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/AGENTS.md +0 -0
  527. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/README.md +0 -0
  528. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/bun.mts +0 -0
  529. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/fixtures/usage.json +0 -0
  530. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/package.json +0 -0
  531. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/fix-esm-imports.ts +0 -0
  532. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/generate-models.ts +0 -0
  533. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/models/generate-models-dev.ts +0 -0
  534. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/tsconfig.json +0 -0
  535. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/README.md +0 -0
  536. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.test.ts +0 -0
  537. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.ts +0 -0
  538. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated-access.ts +0 -0
  539. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated.ts +0 -0
  540. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/types.ts +0 -0
  541. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.browser.ts +0 -0
  542. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.ts +0 -0
  543. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/models.ts +0 -0
  544. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.test.ts +0 -0
  545. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.ts +0 -0
  546. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/async.ts +0 -0
  547. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.test.ts +0 -0
  548. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.ts +0 -0
  549. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins-runtime.ts +0 -0
  550. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.test.ts +0 -0
  551. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.ts +0 -0
  552. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.test.ts +0 -0
  553. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.ts +0 -0
  554. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/config.ts +0 -0
  555. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/factory-registry.ts +0 -0
  556. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.test.ts +0 -0
  557. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.ts +0 -0
  558. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.test.ts +0 -0
  559. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.ts +0 -0
  560. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/handler.ts +0 -0
  561. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/http.ts +0 -0
  562. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.test.ts +0 -0
  563. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.ts +0 -0
  564. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/messages.ts +0 -0
  565. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.test.ts +0 -0
  566. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.ts +0 -0
  567. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-facts.ts +0 -0
  568. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-registry.ts +0 -0
  569. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/openai-codex-models.ts +0 -0
  570. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/provider-keys.ts +0 -0
  571. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/registry.ts +0 -0
  572. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.test.ts +0 -0
  573. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.ts +0 -0
  574. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/generic-compatible.ts +0 -0
  575. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/glm-thinking.ts +0 -0
  576. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/minimax-thinking.ts +0 -0
  577. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-option-rules.ts +0 -0
  578. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options-types.ts +0 -0
  579. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.test.ts +0 -0
  580. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.ts +0 -0
  581. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/reasoning-codecs.ts +0 -0
  582. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/utils.ts +0 -0
  583. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/stream.ts +0 -0
  584. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/types.ts +0 -0
  585. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.test.ts +0 -0
  586. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.ts +0 -0
  587. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.test.ts +0 -0
  588. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.ts +0 -0
  589. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.test.ts +0 -0
  590. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.ts +0 -0
  591. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/google.ts +0 -0
  592. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.test.ts +0 -0
  593. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.ts +0 -0
  594. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/mistral.ts +0 -0
  595. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai-compatible.ts +0 -0
  596. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai.ts +0 -0
  597. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/types.ts +0 -0
  598. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.test.ts +0 -0
  599. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.ts +0 -0
  600. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.browser.ts +0 -0
  601. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.ts +0 -0
  602. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.test.ts +0 -0
  603. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.ts +0 -0
  604. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.example.json +0 -0
  605. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.example.json +0 -0
  606. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.reasoning.example.json +0 -0
  607. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning-disabled.example.json +0 -0
  608. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning.example.json +0 -0
  609. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.tools.example.json +0 -0
  610. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.test.ts +0 -0
  611. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.ts +0 -0
  612. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-minimax-routing.test.ts +0 -0
  613. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-reasoning.test.ts +0 -0
  614. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-runner.ts +0 -0
  615. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-tools.test.ts +0 -0
  616. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live.test.ts +0 -0
  617. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/README.md +0 -0
  618. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/anthropic-claude-sonnet-4-6.json +0 -0
  619. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/cline-anthropic-sonnet.json +0 -0
  620. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-codex-gpt-5-4.json +0 -0
  621. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-compatible-deepseek-v4-pro.json +0 -0
  622. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr.test.ts +0 -0
  623. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.build.json +0 -0
  624. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.dev.json +0 -0
  625. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.json +0 -0
  626. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/llms/vitest.config.ts +0 -0
  627. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/bun.mts +0 -0
  628. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/package.json +0 -0
  629. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/src/index.ts +0 -0
  630. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.build.json +0 -0
  631. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.json +0 -0
  632. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/README.md +0 -0
  633. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/bun.mts +0 -0
  634. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/package.json +0 -0
  635. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agent.ts +0 -0
  636. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/index.ts +0 -0
  637. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/types.ts +0 -0
  638. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/index.ts +0 -0
  639. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/schemas.ts +0 -0
  640. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/types.ts +0 -0
  641. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/events.ts +0 -0
  642. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/options.ts +0 -0
  643. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/cron-spec-types.ts +0 -0
  644. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/index.ts +0 -0
  645. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/index.ts +0 -0
  646. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.test.ts +0 -0
  647. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.ts +0 -0
  648. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/dispose.ts +0 -0
  649. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/context.ts +0 -0
  650. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.test.ts +0 -0
  651. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.ts +0 -0
  652. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/plugin.ts +0 -0
  653. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/contracts.ts +0 -0
  654. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/events.ts +0 -0
  655. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hub.ts +0 -0
  656. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.browser.ts +0 -0
  657. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.ts +0 -0
  658. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.test.ts +0 -0
  659. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.ts +0 -0
  660. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/gateway.ts +0 -0
  661. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/messages.ts +0 -0
  662. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/model-info.ts +0 -0
  663. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/reasoning-effort.ts +0 -0
  664. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/requests.ts +0 -0
  665. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tokens.ts +0 -0
  666. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tools.ts +0 -0
  667. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/logging/logger.ts +0 -0
  668. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/error.ts +0 -0
  669. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/headers/utils.ts +0 -0
  670. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.test.ts +0 -0
  671. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.ts +0 -0
  672. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.test.ts +0 -0
  673. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.ts +0 -0
  674. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/string.ts +0 -0
  675. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/time.ts +0 -0
  676. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/zod.ts +0 -0
  677. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/cline.ts +0 -0
  678. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.test.ts +0 -0
  679. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.ts +0 -0
  680. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/system.ts +0 -0
  681. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/artifact-store.ts +0 -0
  682. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/blob-storage.ts +0 -0
  683. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/bundle.ts +0 -0
  684. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/constants.ts +0 -0
  685. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/index.ts +0 -0
  686. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/materializer.ts +0 -0
  687. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/paths.ts +0 -0
  688. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.test.ts +0 -0
  689. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.ts +0 -0
  690. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.test.ts +0 -0
  691. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.ts +0 -0
  692. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/telemetry.ts +0 -0
  693. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/index.ts +0 -0
  694. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/runtime.ts +0 -0
  695. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/team-progress.ts +0 -0
  696. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.test.ts +0 -0
  697. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.ts +0 -0
  698. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.test.ts +0 -0
  699. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.ts +0 -0
  700. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.test.ts +0 -0
  701. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.ts +0 -0
  702. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry-config.ts +0 -0
  703. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.test.ts +0 -0
  704. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.ts +0 -0
  705. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/hook-context.ts +0 -0
  706. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/index.ts +0 -0
  707. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/records.ts +0 -0
  708. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-config.ts +0 -0
  709. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-env.ts +0 -0
  710. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/workspace.ts +0 -0
  711. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/index.ts +0 -0
  712. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.test.ts +0 -0
  713. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.ts +0 -0
  714. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.home-dir.test.ts +0 -0
  715. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.test.ts +0 -0
  716. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.ts +0 -0
  717. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/index.ts +0 -0
  718. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/schema.ts +0 -0
  719. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/types.ts +0 -0
  720. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.test.ts +0 -0
  721. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.ts +0 -0
  722. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/auth.ts +0 -0
  723. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/index.ts +0 -0
  724. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/vcr.ts +0 -0
  725. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.test.ts +0 -0
  726. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.ts +0 -0
  727. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.build.json +0 -0
  728. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.json +0 -0
  729. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/shared/vitest.config.ts +0 -0
  730. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/packages/tsconfig.base.json +0 -0
  731. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/check-publish.ts +0 -0
  732. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/ci-node-smoke.ts +0 -0
  733. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/clean.ts +0 -0
  734. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/release.ts +0 -0
  735. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/run-vendored-tests.sh +0 -0
  736. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/scripts/version.ts +0 -0
  737. {codna-0.2.73 → codna-0.2.74}/codna/agent-core/vendor/cline/sdk/tsconfig.json +0 -0
  738. {codna-0.2.73 → codna-0.2.74}/codna/agent_core_runtime.py +0 -0
  739. {codna-0.2.73 → codna-0.2.74}/codna/byok_cli.py +0 -0
  740. {codna-0.2.73 → codna-0.2.74}/codna/ci_admission.py +0 -0
  741. {codna-0.2.73 → codna-0.2.74}/codna/ci_cli.py +0 -0
  742. {codna-0.2.73 → codna-0.2.74}/codna/cli.py +0 -0
  743. {codna-0.2.73 → codna-0.2.74}/codna/cli_errors.py +0 -0
  744. {codna-0.2.73 → codna-0.2.74}/codna/cline_agent.py +0 -0
  745. {codna-0.2.73 → codna-0.2.74}/codna/codeunits.py +0 -0
  746. {codna-0.2.73 → codna-0.2.74}/codna/codeunits_treesitter.py +0 -0
  747. {codna-0.2.73 → codna-0.2.74}/codna/config_file.py +0 -0
  748. {codna-0.2.73 → codna-0.2.74}/codna/doctor.py +0 -0
  749. {codna-0.2.73 → codna-0.2.74}/codna/doctor_output.py +0 -0
  750. {codna-0.2.73 → codna-0.2.74}/codna/engine.py +0 -0
  751. {codna-0.2.73 → codna-0.2.74}/codna/evasion.py +0 -0
  752. {codna-0.2.73 → codna-0.2.74}/codna/evidence.py +0 -0
  753. {codna-0.2.73 → codna-0.2.74}/codna/findings.py +0 -0
  754. {codna-0.2.73 → codna-0.2.74}/codna/fix_inputs.py +0 -0
  755. {codna-0.2.73 → codna-0.2.74}/codna/fix_run.py +0 -0
  756. {codna-0.2.73 → codna-0.2.74}/codna/focus_paths.py +0 -0
  757. {codna-0.2.73 → codna-0.2.74}/codna/gate.py +0 -0
  758. {codna-0.2.73 → codna-0.2.74}/codna/gitpush.py +0 -0
  759. {codna-0.2.73 → codna-0.2.74}/codna/impact.py +0 -0
  760. {codna-0.2.73 → codna-0.2.74}/codna/impact_cli.py +0 -0
  761. {codna-0.2.73 → codna-0.2.74}/codna/keystore.py +0 -0
  762. {codna-0.2.73 → codna-0.2.74}/codna/local_client.py +0 -0
  763. {codna-0.2.73 → codna-0.2.74}/codna/local_mojo_daemon.py +0 -0
  764. {codna-0.2.73 → codna-0.2.74}/codna/local_mojo_pool.py +0 -0
  765. {codna-0.2.73 → codna-0.2.74}/codna/local_repository_shims.py +0 -0
  766. {codna-0.2.73 → codna-0.2.74}/codna/local_runtime.py +0 -0
  767. {codna-0.2.73 → codna-0.2.74}/codna/localfix.py +0 -0
  768. {codna-0.2.73 → codna-0.2.74}/codna/login.py +0 -0
  769. {codna-0.2.73 → codna-0.2.74}/codna/manifest.py +0 -0
  770. {codna-0.2.73 → codna-0.2.74}/codna/mcp_cli.py +0 -0
  771. {codna-0.2.73 → codna-0.2.74}/codna/mcp_install.py +0 -0
  772. {codna-0.2.73 → codna-0.2.74}/codna/mcp_server.py +0 -0
  773. {codna-0.2.73 → codna-0.2.74}/codna/memory.py +0 -0
  774. {codna-0.2.73 → codna-0.2.74}/codna/memory_manifest.py +0 -0
  775. {codna-0.2.73 → codna-0.2.74}/codna/memory_rerank.py +0 -0
  776. {codna-0.2.73 → codna-0.2.74}/codna/netjail.py +0 -0
  777. {codna-0.2.73 → codna-0.2.74}/codna/packaged_agent_runner.py +0 -0
  778. {codna-0.2.73 → codna-0.2.74}/codna/packaged_git.py +0 -0
  779. {codna-0.2.73 → codna-0.2.74}/codna/packaged_repository_advanced.py +0 -0
  780. {codna-0.2.73 → codna-0.2.74}/codna/packaged_repository_backend.py +0 -0
  781. {codna-0.2.73 → codna-0.2.74}/codna/patch_text.py +0 -0
  782. {codna-0.2.73 → codna-0.2.74}/codna/patchgen.py +0 -0
  783. {codna-0.2.73 → codna-0.2.74}/codna/policy.py +0 -0
  784. {codna-0.2.73 → codna-0.2.74}/codna/project_rules.py +0 -0
  785. {codna-0.2.73 → codna-0.2.74}/codna/python_import_paths.py +0 -0
  786. {codna-0.2.73 → codna-0.2.74}/codna/refengine.py +0 -0
  787. {codna-0.2.73 → codna-0.2.74}/codna/remote_http.py +0 -0
  788. {codna-0.2.73 → codna-0.2.74}/codna/repo_backend.py +0 -0
  789. {codna-0.2.73 → codna-0.2.74}/codna/report_cli.py +0 -0
  790. {codna-0.2.73 → codna-0.2.74}/codna/repository_artifacts.py +0 -0
  791. {codna-0.2.73 → codna-0.2.74}/codna/review.py +0 -0
  792. {codna-0.2.73 → codna-0.2.74}/codna/review_budget.py +0 -0
  793. {codna-0.2.73 → codna-0.2.74}/codna/review_findings.py +0 -0
  794. {codna-0.2.73 → codna-0.2.74}/codna/review_github.py +0 -0
  795. {codna-0.2.73 → codna-0.2.74}/codna/review_grounding.py +0 -0
  796. {codna-0.2.73 → codna-0.2.74}/codna/review_manifests.py +0 -0
  797. {codna-0.2.73 → codna-0.2.74}/codna/runtime/__init__.py +0 -0
  798. {codna-0.2.73 → codna-0.2.74}/codna/runtime/config.py +0 -0
  799. {codna-0.2.73 → codna-0.2.74}/codna/runtime/health.py +0 -0
  800. {codna-0.2.73 → codna-0.2.74}/codna/runtime/local_stack.py +0 -0
  801. {codna-0.2.73 → codna-0.2.74}/codna/runtime/ports.py +0 -0
  802. {codna-0.2.73 → codna-0.2.74}/codna/runtime/processes.py +0 -0
  803. {codna-0.2.73 → codna-0.2.74}/codna/runtime_config.py +0 -0
  804. {codna-0.2.73 → codna-0.2.74}/codna/sandbox.py +0 -0
  805. {codna-0.2.73 → codna-0.2.74}/codna/sarif.py +0 -0
  806. {codna-0.2.73 → codna-0.2.74}/codna/scaffold.py +0 -0
  807. {codna-0.2.73 → codna-0.2.74}/codna/secure.py +0 -0
  808. {codna-0.2.73 → codna-0.2.74}/codna/secure_open_pr_cli.py +0 -0
  809. {codna-0.2.73 → codna-0.2.74}/codna/status.py +0 -0
  810. {codna-0.2.73 → codna-0.2.74}/codna/supervisor.py +0 -0
  811. {codna-0.2.73 → codna-0.2.74}/codna/telys_onboarding.py +0 -0
  812. {codna-0.2.73 → codna-0.2.74}/codna/telys_runtime.py +0 -0
  813. {codna-0.2.73 → codna-0.2.74}/codna/testrun.py +0 -0
  814. {codna-0.2.73 → codna-0.2.74}/codna/webhook_ci_triage.py +0 -0
  815. {codna-0.2.73 → codna-0.2.74}/codna/webhook_cli.py +0 -0
  816. {codna-0.2.73 → codna-0.2.74}/codna/webhook_control.py +0 -0
  817. {codna-0.2.73 → codna-0.2.74}/codna/webhook_metering.py +0 -0
  818. {codna-0.2.73 → codna-0.2.74}/codna/webhook_metrics.py +0 -0
  819. {codna-0.2.73 → codna-0.2.74}/codna/webhook_ops.py +0 -0
  820. {codna-0.2.73 → codna-0.2.74}/codna/webhook_pg_schema.py +0 -0
  821. {codna-0.2.73 → codna-0.2.74}/codna/webhook_procs.py +0 -0
  822. {codna-0.2.73 → codna-0.2.74}/codna/webhook_redeliver.py +0 -0
  823. {codna-0.2.73 → codna-0.2.74}/codna/webhook_resume.py +0 -0
  824. {codna-0.2.73 → codna-0.2.74}/codna/webhook_retry.py +0 -0
  825. {codna-0.2.73 → codna-0.2.74}/codna/webhook_scaler.py +0 -0
  826. {codna-0.2.73 → codna-0.2.74}/codna/webhook_summaries.py +0 -0
  827. {codna-0.2.73 → codna-0.2.74}/codna/worker.py +0 -0
  828. {codna-0.2.73 → codna-0.2.74}/codna/worktree.py +0 -0
  829. {codna-0.2.73 → codna-0.2.74}/codna/writer.py +0 -0
  830. {codna-0.2.73 → codna-0.2.74}/codna.egg-info/dependency_links.txt +0 -0
  831. {codna-0.2.73 → codna-0.2.74}/codna.egg-info/entry_points.txt +0 -0
  832. {codna-0.2.73 → codna-0.2.74}/codna.egg-info/requires.txt +0 -0
  833. {codna-0.2.73 → codna-0.2.74}/codna.egg-info/top_level.txt +0 -0
  834. {codna-0.2.73 → codna-0.2.74}/memengine/__init__.py +0 -0
  835. {codna-0.2.73 → codna-0.2.74}/memengine/_validate.py +0 -0
  836. {codna-0.2.73 → codna-0.2.74}/memengine/native_runtime.py +0 -0
  837. {codna-0.2.73 → codna-0.2.74}/setup.cfg +0 -0
  838. {codna-0.2.73 → codna-0.2.74}/setup.py +0 -0
  839. {codna-0.2.73 → codna-0.2.74}/tests/test_admission_control.py +0 -0
  840. {codna-0.2.73 → codna-0.2.74}/tests/test_agent_core_runtime.py +0 -0
  841. {codna-0.2.73 → codna-0.2.74}/tests/test_bench_driver_lazy_resolution.py +0 -0
  842. {codna-0.2.73 → codna-0.2.74}/tests/test_bench_env.py +0 -0
  843. {codna-0.2.73 → codna-0.2.74}/tests/test_benchmark_parity_imports.py +0 -0
  844. {codna-0.2.73 → codna-0.2.74}/tests/test_benchmark_suite.py +0 -0
  845. {codna-0.2.73 → codna-0.2.74}/tests/test_ci_admission.py +0 -0
  846. {codna-0.2.73 → codna-0.2.74}/tests/test_cli_doctor.py +0 -0
  847. {codna-0.2.73 → codna-0.2.74}/tests/test_cli_fix.py +0 -0
  848. {codna-0.2.73 → codna-0.2.74}/tests/test_cli_parser.py +0 -0
  849. {codna-0.2.73 → codna-0.2.74}/tests/test_cli_register.py +0 -0
  850. {codna-0.2.73 → codna-0.2.74}/tests/test_cli_surface_parity.py +0 -0
  851. {codna-0.2.73 → codna-0.2.74}/tests/test_cline_agent_unparseable_details.py +0 -0
  852. {codna-0.2.73 → codna-0.2.74}/tests/test_cline_fork_guard.py +0 -0
  853. {codna-0.2.73 → codna-0.2.74}/tests/test_codeunits.py +0 -0
  854. {codna-0.2.73 → codna-0.2.74}/tests/test_codeunits_treesitter.py +0 -0
  855. {codna-0.2.73 → codna-0.2.74}/tests/test_config_file.py +0 -0
  856. {codna-0.2.73 → codna-0.2.74}/tests/test_dev_check_script.py +0 -0
  857. {codna-0.2.73 → codna-0.2.74}/tests/test_dockerfile_webhook.py +0 -0
  858. {codna-0.2.73 → codna-0.2.74}/tests/test_dockerignore.py +0 -0
  859. {codna-0.2.73 → codna-0.2.74}/tests/test_doctor.py +0 -0
  860. {codna-0.2.73 → codna-0.2.74}/tests/test_download_telys_runtime_bundle.py +0 -0
  861. {codna-0.2.73 → codna-0.2.74}/tests/test_engine.py +0 -0
  862. {codna-0.2.73 → codna-0.2.74}/tests/test_engine_contract_integration.py +0 -0
  863. {codna-0.2.73 → codna-0.2.74}/tests/test_evasion.py +0 -0
  864. {codna-0.2.73 → codna-0.2.74}/tests/test_evidence.py +0 -0
  865. {codna-0.2.73 → codna-0.2.74}/tests/test_evidence_io.py +0 -0
  866. {codna-0.2.73 → codna-0.2.74}/tests/test_extract_nul.py +0 -0
  867. {codna-0.2.73 → codna-0.2.74}/tests/test_fix_inputs_remote.py +0 -0
  868. {codna-0.2.73 → codna-0.2.74}/tests/test_fix_run.py +0 -0
  869. {codna-0.2.73 → codna-0.2.74}/tests/test_fly_toml.py +0 -0
  870. {codna-0.2.73 → codna-0.2.74}/tests/test_gate.py +0 -0
  871. {codna-0.2.73 → codna-0.2.74}/tests/test_gitpush.py +0 -0
  872. {codna-0.2.73 → codna-0.2.74}/tests/test_impact.py +0 -0
  873. {codna-0.2.73 → codna-0.2.74}/tests/test_impact_cli.py +0 -0
  874. {codna-0.2.73 → codna-0.2.74}/tests/test_keys_file_dev_only.py +0 -0
  875. {codna-0.2.73 → codna-0.2.74}/tests/test_keystore.py +0 -0
  876. {codna-0.2.73 → codna-0.2.74}/tests/test_local_byok_cli.py +0 -0
  877. {codna-0.2.73 → codna-0.2.74}/tests/test_local_client.py +0 -0
  878. {codna-0.2.73 → codna-0.2.74}/tests/test_local_mojo_daemon.py +0 -0
  879. {codna-0.2.73 → codna-0.2.74}/tests/test_local_mojo_pool_runtime.py +0 -0
  880. {codna-0.2.73 → codna-0.2.74}/tests/test_local_runtime.py +0 -0
  881. {codna-0.2.73 → codna-0.2.74}/tests/test_local_runtime_lifecycle.py +0 -0
  882. {codna-0.2.73 → codna-0.2.74}/tests/test_localfix.py +0 -0
  883. {codna-0.2.73 → codna-0.2.74}/tests/test_login.py +0 -0
  884. {codna-0.2.73 → codna-0.2.74}/tests/test_manifest.py +0 -0
  885. {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_default_repo.py +0 -0
  886. {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_enrich.py +0 -0
  887. {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_install.py +0 -0
  888. {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_recall.py +0 -0
  889. {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_report_bug.py +0 -0
  890. {codna-0.2.73 → codna-0.2.74}/tests/test_mcp_secure.py +0 -0
  891. {codna-0.2.73 → codna-0.2.74}/tests/test_memory_errors.py +0 -0
  892. {codna-0.2.73 → codna-0.2.74}/tests/test_memory_hybrid.py +0 -0
  893. {codna-0.2.73 → codna-0.2.74}/tests/test_memory_incremental.py +0 -0
  894. {codna-0.2.73 → codna-0.2.74}/tests/test_memory_license.py +0 -0
  895. {codna-0.2.73 → codna-0.2.74}/tests/test_memory_rerank.py +0 -0
  896. {codna-0.2.73 → codna-0.2.74}/tests/test_memory_wordllama_rerank.py +0 -0
  897. {codna-0.2.73 → codna-0.2.74}/tests/test_memory_wrapper.py +0 -0
  898. {codna-0.2.73 → codna-0.2.74}/tests/test_modularity.py +0 -0
  899. {codna-0.2.73 → codna-0.2.74}/tests/test_netjail.py +0 -0
  900. {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_confidence.py +0 -0
  901. {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_git_clone.py +0 -0
  902. {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_guidance.py +0 -0
  903. {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_remote_pr.py +0 -0
  904. {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_runner_review_terminal_state.py +0 -0
  905. {codna-0.2.73 → codna-0.2.74}/tests/test_packaged_test_fix_scope.py +0 -0
  906. {codna-0.2.73 → codna-0.2.74}/tests/test_packaging.py +0 -0
  907. {codna-0.2.73 → codna-0.2.74}/tests/test_patch_text.py +0 -0
  908. {codna-0.2.73 → codna-0.2.74}/tests/test_patchgen.py +0 -0
  909. {codna-0.2.73 → codna-0.2.74}/tests/test_policy.py +0 -0
  910. {codna-0.2.73 → codna-0.2.74}/tests/test_refengine.py +0 -0
  911. {codna-0.2.73 → codna-0.2.74}/tests/test_release_readiness.py +0 -0
  912. {codna-0.2.73 → codna-0.2.74}/tests/test_repo_backend.py +0 -0
  913. {codna-0.2.73 → codna-0.2.74}/tests/test_report_cli.py +0 -0
  914. {codna-0.2.73 → codna-0.2.74}/tests/test_repository_artifacts.py +0 -0
  915. {codna-0.2.73 → codna-0.2.74}/tests/test_review_budget.py +0 -0
  916. {codna-0.2.73 → codna-0.2.74}/tests/test_review_error_details.py +0 -0
  917. {codna-0.2.73 → codna-0.2.74}/tests/test_review_findings.py +0 -0
  918. {codna-0.2.73 → codna-0.2.74}/tests/test_review_grounding.py +0 -0
  919. {codna-0.2.73 → codna-0.2.74}/tests/test_review_red_head.py +0 -0
  920. {codna-0.2.73 → codna-0.2.74}/tests/test_review_run_marker.py +0 -0
  921. {codna-0.2.73 → codna-0.2.74}/tests/test_rules_and_review.py +0 -0
  922. {codna-0.2.73 → codna-0.2.74}/tests/test_runtime_config.py +0 -0
  923. {codna-0.2.73 → codna-0.2.74}/tests/test_runtime_ports.py +0 -0
  924. {codna-0.2.73 → codna-0.2.74}/tests/test_runtime_processes.py +0 -0
  925. {codna-0.2.73 → codna-0.2.74}/tests/test_sandbox.py +0 -0
  926. {codna-0.2.73 → codna-0.2.74}/tests/test_sarif.py +0 -0
  927. {codna-0.2.73 → codna-0.2.74}/tests/test_scaffold_and_status.py +0 -0
  928. {codna-0.2.73 → codna-0.2.74}/tests/test_secure.py +0 -0
  929. {codna-0.2.73 → codna-0.2.74}/tests/test_stage_codna_telys_oem_license.py +0 -0
  930. {codna-0.2.73 → codna-0.2.74}/tests/test_stage_codna_telys_runtime.py +0 -0
  931. {codna-0.2.73 → codna-0.2.74}/tests/test_structured_error.py +0 -0
  932. {codna-0.2.73 → codna-0.2.74}/tests/test_supervisor.py +0 -0
  933. {codna-0.2.73 → codna-0.2.74}/tests/test_sync_wheel_memengine.py +0 -0
  934. {codna-0.2.73 → codna-0.2.74}/tests/test_telys_onboarding.py +0 -0
  935. {codna-0.2.73 → codna-0.2.74}/tests/test_telys_runtime_packaging.py +0 -0
  936. {codna-0.2.73 → codna-0.2.74}/tests/test_testrun.py +0 -0
  937. {codna-0.2.73 → codna-0.2.74}/tests/test_verify_pypi_trusted_publisher.py +0 -0
  938. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook.py +0 -0
  939. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_backend_spool.py +0 -0
  940. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_ci_triage.py +0 -0
  941. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_feedback_dispatch.py +0 -0
  942. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_github_ci.py +0 -0
  943. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_lease.py +0 -0
  944. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_metering.py +0 -0
  945. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_ops.py +0 -0
  946. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_pg_queue.py +0 -0
  947. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_queue.py +0 -0
  948. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_redeliver.py +0 -0
  949. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_resume.py +0 -0
  950. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_retry.py +0 -0
  951. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_scaler.py +0 -0
  952. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_scheduling.py +0 -0
  953. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_service.py +0 -0
  954. {codna-0.2.73 → codna-0.2.74}/tests/test_webhook_worker_feedback_dispatch.py +0 -0
  955. {codna-0.2.73 → codna-0.2.74}/tests/test_wheel_guard.py +0 -0
  956. {codna-0.2.73 → codna-0.2.74}/tests/test_wheel_smoke_script.py +0 -0
  957. {codna-0.2.73 → codna-0.2.74}/tests/test_worker.py +0 -0
  958. {codna-0.2.73 → codna-0.2.74}/tests/test_workflows.py +0 -0
  959. {codna-0.2.73 → codna-0.2.74}/tests/test_worktree.py +0 -0
  960. {codna-0.2.73 → codna-0.2.74}/tests/test_writer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codna
3
- Version: 0.2.73
3
+ Version: 0.2.74
4
4
  Summary: Local-first repo intelligence and agent fixing for Codna.
5
5
  Author: Thyn
6
6
  Maintainer: Thyn
@@ -5,4 +5,4 @@ This package is the `codna` CLI. Users never touch "algenta" directly — the en
5
5
  is an internal dependency reached over HTTP.
6
6
  """
7
7
 
8
- __version__ = "0.2.73"
8
+ __version__ = "0.2.74"
@@ -29,6 +29,7 @@ import json
29
29
  import os
30
30
  import re
31
31
  import sys
32
+ import threading
32
33
  from dataclasses import dataclass
33
34
  from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
34
35
  from pathlib import Path
@@ -668,13 +669,14 @@ def default_queue_path() -> str:
668
669
 
669
670
  # --- self-hostable server: verify + enqueue (thin ingress) ----------------------------
670
671
  def _log_delivery(event: str, payload: Mapping[str, Any], delivery_id: str | None, outcome: str,
671
- job: WebhookJob | None = None) -> None:
672
+ job: WebhookJob | None = None, **fields: Any) -> None:
672
673
  """One stderr JSON line per verified delivery: what arrived and what became of it.
673
674
 
674
675
  Until now a delivery that classified as `ignored` or collapsed as a `duplicate` left no trace
675
676
  anywhere -- on 2026-09-17 a `@codna fix` reply produced neither a job nor a log line and the
676
677
  only way to tell "never delivered" from "delivered and dropped" was to guess. Same shape as the
677
678
  worker's lines so one grep covers ingress and processing (`"service": "codna-webhook"`).
679
+ ``fields`` are extra keys a path wants on record (the Check Run the ingress opened, for one).
678
680
  """
679
681
  repo = (payload.get("repository") or {}).get("full_name")
680
682
  line = {
@@ -688,6 +690,7 @@ def _log_delivery(event: str, payload: Mapping[str, Any], delivery_id: str | Non
688
690
  }
689
691
  if job is not None:
690
692
  line.update({"kind": job.kind, "reason": job.reason, "pr_number": job.pr_number})
693
+ line.update(fields)
691
694
  print(json.dumps(line, sort_keys=True), file=sys.stderr, flush=True)
692
695
 
693
696
 
@@ -797,7 +800,35 @@ class _Handler(BaseHTTPRequestHandler):
797
800
  _log_delivery(event, payload, delivery_id, "accepted", job)
798
801
  self._reply(202, {"status": "accepted", "kind": job.kind, "repo": job.repo_full_name})
799
802
  return
800
- fresh = queue.enqueue(job, delivery_id=delivery_id)
803
+ # The review's Check Run is opened `queued` HERE, before the row exists, so the tenant sees
804
+ # it the moment the delivery is accepted rather than when a worker slot frees (measured
805
+ # 2026-09-20: p95 23 s invisible during a 21-review fan-out). The row is born owning the
806
+ # run; the worker updates it. webhook_queued_check has the whole lifecycle; the service
807
+ # switches this on for the Postgres backend only (webhook_service.serve).
808
+ queued_check = bool(getattr(self.server, "queued_check_runs", False))
809
+ pre = None
810
+ late_gate: threading.Event | None = None
811
+ if queued_check:
812
+ from . import webhook_queued_check
813
+
814
+ late_gate = threading.Event()
815
+ pre = webhook_queued_check.precreate(
816
+ job, queue=queue, delivery_id=delivery_id, github=self._github(),
817
+ app_id=os.environ.get("GITHUB_APP_ID"), private_key=os.environ.get("GITHUB_APP_PRIVATE_KEY"),
818
+ late_gate=late_gate)
819
+ try:
820
+ if pre is not None:
821
+ fresh = queue.enqueue(job, delivery_id=delivery_id, check_run_id=pre.check_run_id)
822
+ else:
823
+ fresh = queue.enqueue(job, delivery_id=delivery_id)
824
+ finally:
825
+ if late_gate is not None:
826
+ late_gate.set() # a create that answers after the budget may now adopt onto this row
827
+ check_run: dict[str, Any] = {}
828
+ if pre is not None:
829
+ bound = webhook_queued_check.bind_or_close(pre, job=job, queue=queue, delivery_id=delivery_id,
830
+ fresh=fresh, github=self._github())
831
+ check_run = {"check_run_id": pre.check_run_id, "check_run": bound}
801
832
  # A new head retires the work the old one left behind. enqueue() already collapsed the
802
833
  # WAITING rows; this stops the ones already RUNNING, whose verdict would land on a commit
803
834
  # that no longer exists (thyn-ai/mojo-kernels#32, 2026-09-19: two reviews ran to completion
@@ -809,13 +840,41 @@ class _Handler(BaseHTTPRequestHandler):
809
840
  superseded = webhook_control.supersede_running(job, queue=queue)
810
841
  except Exception: # noqa: BLE001 -- a delivery must be accepted even if cancelling fails
811
842
  superseded = 0
812
- _log_delivery(event, payload, delivery_id, "accepted" if fresh else "duplicate", job)
843
+ if queued_check and job.pr_number is not None:
844
+ # ... and the WAITING rows enqueue() just retired had Check Runs of their own, opened
845
+ # queued by this ingress: complete them neutral ("superseded by <sha>") the way the
846
+ # running ones are, off the request thread. The reaper sweeps whatever this misses.
847
+ # The pre-create's token is scoped to this repository and may complete those runs;
848
+ # without one (a `fix` retiring a review's row) a token is minted per row.
849
+ token_for = webhook_queued_check.token_for(
850
+ github=self._github(), app_id=os.environ.get("GITHUB_APP_ID"),
851
+ private_key=os.environ.get("GITHUB_APP_PRIVATE_KEY"))
852
+ if pre is not None:
853
+ def token_for(_row: Any, _token: str = pre.token) -> str: # one token, one repository
854
+ return _token
855
+ try:
856
+ webhook_queued_check.settle_retired_in_background(
857
+ queue, github=self._github(), repo=job.repo_full_name, pr_number=job.pr_number,
858
+ token_for=token_for)
859
+ except Exception: # noqa: BLE001 -- the reaper's sweep is the backstop
860
+ pass
861
+ _log_delivery(event, payload, delivery_id, "accepted" if fresh else "duplicate", job, **check_run)
813
862
  self._reply(
814
863
  202 if fresh else 200,
815
864
  {"status": "accepted" if fresh else "duplicate", "kind": job.kind,
816
- "repo": job.repo_full_name, "reason": job.reason, "superseded_running": superseded},
865
+ "repo": job.repo_full_name, "reason": job.reason, "superseded_running": superseded, **check_run},
817
866
  )
818
867
 
868
+ def _github(self) -> Any:
869
+ """The GitHub client the ingress opens and closes Check Runs with: an object the service
870
+ (or a test) hung on the server, else the real module."""
871
+ client = getattr(self.server, "github", None)
872
+ if client is not None:
873
+ return client
874
+ from . import webhook_github
875
+
876
+ return webhook_github
877
+
819
878
 
820
879
  def require_webhook_secret(environ: Mapping[str, str] | None = None) -> str:
821
880
  """Return the configured webhook secret or fail before opening a listener."""
@@ -122,7 +122,11 @@ class ShadowQueue:
122
122
  def shadow(self) -> Any:
123
123
  return self._shadow
124
124
 
125
- def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False) -> bool:
125
+ def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False,
126
+ check_run_id: int | None = None) -> bool:
127
+ # check_run_id is accepted for signature parity with the Postgres queue and ignored: the
128
+ # ingress never pre-creates a Check Run on this backend (SQLite runs the job and creates
129
+ # the run at claim), so a caller can never hand one in.
126
130
  fresh = self._primary.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending)
127
131
  if fresh:
128
132
  try:
@@ -216,20 +220,26 @@ class SpoolingQueue:
216
220
  return sum(counts.get(k, 0) for k in ("queued", "retry", "running"))
217
221
 
218
222
  # -- enqueue: Postgres first, the file when it cannot answer ------------------------------------
219
- def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False) -> bool:
223
+ def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0, unless_pending: bool = False,
224
+ check_run_id: int | None = None) -> bool:
220
225
  # The late path (a Postgres write that answers after the timeout) retires the SPOOL copy,
221
226
  # so it must not look before that copy exists: it waits on this gate, which the timeout
222
227
  # branch below sets once its spool write is done (success or failure). Ordered, not timed.
223
228
  spool_written = threading.Event()
224
229
  try:
225
230
  fresh = _call_with_timeout(
226
- lambda: self._primary.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending),
231
+ lambda: self._primary.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending,
232
+ check_run_id=check_run_id),
227
233
  self._enqueue_timeout_s,
228
234
  on_late=lambda accepted: self._retire_spooled(delivery_id) if accepted else None,
229
235
  late_gate=spool_written)
230
236
  except Exception as exc: # noqa: BLE001 -- the file takes it; GitHub still gets its 202
231
237
  self._mark_down()
232
238
  try:
239
+ # The spool row does NOT carry the pre-created Check Run: the file has no owner for
240
+ # it (no reaper sweeps the spool), and the ingress, finding the run bound to no
241
+ # Postgres row, closes it at once (webhook_queued_check.bind_or_close). The worker
242
+ # that eventually claims the forwarded row creates the run then, as it always has.
233
243
  fresh = self._spool.enqueue(job, delivery_id=delivery_id, priority=priority, unless_pending=unless_pending)
234
244
  finally:
235
245
  spool_written.set()
@@ -158,8 +158,14 @@ def check_run_payload(name: str, head_sha: str, *, status: str, conclusion: str
158
158
  return body
159
159
 
160
160
 
161
- def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: str, summary: str) -> int | None:
162
- """Create an in_progress Check Run so status shows in the PR UI. Returns its id."""
161
+ def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: str, summary: str,
162
+ status: str = "in_progress") -> int | None:
163
+ """Create a Check Run so status shows in the PR UI. Returns its id.
164
+
165
+ ``in_progress`` by default (a worker that is about to run the job). The ingress creates a
166
+ review's run ``queued`` the moment the delivery is accepted, so the check is visible while
167
+ the job waits for a worker slot; ``start_check_run`` flips it when a worker claims the row.
168
+ """
163
169
  try:
164
170
  import httpx
165
171
  except Exception as exc: # noqa: BLE001
@@ -167,7 +173,7 @@ def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: st
167
173
  resp = httpx.post(
168
174
  f"{_API}/repos/{repo_full_name}/check-runs",
169
175
  headers={"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"},
170
- json=check_run_payload(name, head_sha, status="in_progress", conclusion=None, summary=summary),
176
+ json=check_run_payload(name, head_sha, status=status, conclusion=None, summary=summary),
171
177
  timeout=30.0, follow_redirects=True,
172
178
  )
173
179
  if resp.status_code >= 300:
@@ -178,6 +184,50 @@ def create_check_run(repo_full_name: str, token: str, *, name: str, head_sha: st
178
184
  return check_run_id
179
185
 
180
186
 
187
+ def start_check_run(repo_full_name: str, token: str, check_run_id: int, *, name: str, summary: str) -> None:
188
+ """Flip a ``queued`` Check Run to ``in_progress``: the worker that claimed its job is running it.
189
+
190
+ ``started_at`` is set to now, so the run's duration in the UI is the job's own, not the time
191
+ it waited in the queue (GitHub Actions stamps its job runs the same way)."""
192
+ try:
193
+ import httpx
194
+ except Exception as exc: # noqa: BLE001
195
+ raise WebhookError("check_run_unavailable", f"Check Run update needs httpx: {exc}") from exc
196
+ import time as _time
197
+
198
+ body = check_run_payload(name, "", status="in_progress", conclusion=None, summary=summary)
199
+ body.pop("head_sha", None) # a PATCH never re-anchors the run
200
+ body["started_at"] = _time.strftime("%Y-%m-%dT%H:%M:%SZ", _time.gmtime())
201
+ resp = httpx.patch(
202
+ f"{_API}/repos/{repo_full_name}/check-runs/{check_run_id}",
203
+ headers={"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"},
204
+ json=body, timeout=30.0, follow_redirects=True,
205
+ )
206
+ if resp.status_code >= 300:
207
+ raise WebhookError("check_run_update_failed", f"start check run: {resp.status_code} {resp.text[:200]}")
208
+
209
+
210
+ def check_run_status(repo_full_name: str, token: str, check_run_id: int) -> str | None:
211
+ """``queued`` / ``in_progress`` / ``completed`` for one Check Run, or None when it cannot be read
212
+ (not ours, gone, or a transport error). A retry asks this before reusing the run its row
213
+ carries: a run the previous attempt already completed is not reopened, a fresh one replaces it."""
214
+ try:
215
+ import httpx
216
+ except Exception: # noqa: BLE001
217
+ return None
218
+ try:
219
+ resp = httpx.get(
220
+ f"{_API}/repos/{repo_full_name}/check-runs/{int(check_run_id)}",
221
+ headers={"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"},
222
+ timeout=20.0, follow_redirects=True,
223
+ )
224
+ except Exception: # noqa: BLE001
225
+ return None
226
+ data = _check_run_json(resp)
227
+ status = data.get("status") if data else None
228
+ return str(status) if status else None
229
+
230
+
181
231
  def update_check_run(repo_full_name: str, token: str, check_run_id: int, *, conclusion: str, summary: str,
182
232
  name: str = "Codna") -> None:
183
233
  try:
@@ -271,8 +321,9 @@ def complete_stale_check_runs(
271
321
  repo_full_name: str, token: str, *, head_sha: str, name: str, summary: str,
272
322
  conclusion: str = "cancelled",
273
323
  ) -> int:
274
- """Complete (as ``conclusion``, default ``cancelled``) every still-``in_progress`` Check Run
275
- named ``name`` on ``head_sha``. Returns how many were closed. Best-effort hygiene: never raises.
324
+ """Complete (as ``conclusion``, default ``cancelled``) every still-open (``queued`` or
325
+ ``in_progress``) Check Run named ``name`` on ``head_sha``. Returns how many were closed.
326
+ Best-effort hygiene: never raises.
276
327
 
277
328
  A run this worker opened and then lost -- killed mid-job by a redeploy, or a crash before
278
329
  update_check_run -- stays "in progress" on that commit forever, because only the App that
@@ -282,39 +333,42 @@ def complete_stale_check_runs(
282
333
  predecessor instead of stacking a second spinner next to it -- and, as ``neutral``, on the
283
334
  event SHA of a review whose pull request head had already moved when the job started
284
335
  (thyn-ai/codna#569): a run left ``in_progress`` on a commit nobody is merging still strands
285
- automation that waits for "all checks complete".
336
+ automation that waits for "all checks complete". ``queued`` runs are swept too: the ingress
337
+ opens a review's run in that state, and one whose row never reached a worker is as stranded
338
+ as an ``in_progress`` one. The listing endpoint filters on one status per request.
286
339
  """
287
340
  try:
288
341
  import httpx
289
342
  except Exception: # noqa: BLE001
290
343
  return 0
291
344
  headers = {"Authorization": f"Bearer {token}", "Accept": "application/vnd.github+json"}
292
- try:
293
- resp = httpx.get(
294
- f"{_API}/repos/{repo_full_name}/commits/{head_sha}/check-runs",
295
- headers=headers, params={"check_name": name, "status": "in_progress", "per_page": 50},
296
- timeout=30.0, follow_redirects=True,
297
- )
298
- except Exception: # noqa: BLE001
299
- return 0
300
- if resp.status_code >= 300:
301
- return 0
302
345
  closed = 0
303
- try:
304
- runs = (resp.json() or {}).get("check_runs") or []
305
- except Exception: # noqa: BLE001
306
- return 0
307
- for run in runs:
308
- run_id = run.get("id")
309
- if not run_id:
310
- continue
346
+ for status in ("in_progress", "queued"):
311
347
  try:
312
- update_check_run(
313
- repo_full_name, token, run_id, conclusion=conclusion, summary=summary, name=name
348
+ resp = httpx.get(
349
+ f"{_API}/repos/{repo_full_name}/commits/{head_sha}/check-runs",
350
+ headers=headers, params={"check_name": name, "status": status, "per_page": 50},
351
+ timeout=30.0, follow_redirects=True,
314
352
  )
315
- closed += 1
316
- except Exception: # noqa: BLE001 — someone else's run, already completed, or a transport error
353
+ except Exception: # noqa: BLE001
317
354
  continue
355
+ if resp.status_code >= 300:
356
+ continue
357
+ try:
358
+ runs = (resp.json() or {}).get("check_runs") or []
359
+ except Exception: # noqa: BLE001
360
+ continue
361
+ for run in runs:
362
+ run_id = run.get("id")
363
+ if not run_id:
364
+ continue
365
+ try:
366
+ update_check_run(
367
+ repo_full_name, token, run_id, conclusion=conclusion, summary=summary, name=name
368
+ )
369
+ closed += 1
370
+ except Exception: # noqa: BLE001 — someone else's run, already completed, or a transport error
371
+ continue
318
372
  return closed
319
373
 
320
374
 
@@ -15,7 +15,11 @@ Two threads, both stdlib, both unit-tested with fakes:
15
15
  completed with the dead-letter conclusion, comment-fix thread replied to), never a silent drop
16
16
  and never a red check from our own outage; (3) once Postgres has been healthy again for
17
17
  ``outage_retry_after_s``, runs dead rows whose failure text names an outage one more time;
18
- (4) forgets workers whose heartbeat is long gone.
18
+ (4) forgets workers whose heartbeat is long gone; (5) completes the Check Runs of rows that were
19
+ retired before any worker touched them -- the ``queued`` run the ingress opens at enqueue, when
20
+ a newer head superseded the row, an operator cancelled it, a rollback exported it, or it failed
21
+ before the worker could report (``webhook_queued_check.settle_retired``; the ingress does the
22
+ same for the pull request it just retired rows on, this is the backstop).
19
23
  """
20
24
  from __future__ import annotations
21
25
 
@@ -26,7 +30,7 @@ import threading
26
30
  import time
27
31
  from typing import Any, Callable
28
32
 
29
- from . import webhook_github, webhook_pg_ops, webhook_retry
33
+ from . import webhook_github, webhook_pg_ops, webhook_queued_check, webhook_retry
30
34
  from .webhook import WebhookJob, check_run_name
31
35
  from .webhook_pg_queue import MAX_RESUMES, PostgresQueue
32
36
 
@@ -302,12 +306,21 @@ class Reaper:
302
306
  retried += 1
303
307
  return retried
304
308
 
309
+ # -- (5) the runs of rows retired before a worker saw them ----------------------------------------
310
+ def close_retired_check_runs(self) -> int:
311
+ """A ``queued`` Check Run the ingress opened belongs to a row; when that row ends without a
312
+ worker (superseded while waiting, cancelled by an operator, exported by a rollback, failed
313
+ before reporting) nothing else completes the run. Exactly once per row (``posted.check_closed``)."""
314
+ return webhook_queued_check.settle_retired(self._queue, github=self._github, token_for=self._token,
315
+ retrigger=RETRIGGER)
316
+
305
317
  # -- the loop --------------------------------------------------------------------------------------
306
318
  def tick(self) -> dict[str, int]:
307
319
  self.ticks += 1
308
320
  out = self.reap_expired()
309
321
  out["dead_letters_notified"] = self.notify_dead_letters()
310
322
  out["outage_retries"] = self.retry_after_outage()
323
+ out["retired_checks_closed"] = self.close_retired_check_runs()
311
324
  out["workers_pruned"] = webhook_pg_ops.prune_dead_workers(self._queue)
312
325
  self.last_outcome = out
313
326
  if any(out.values()):
@@ -99,10 +99,16 @@ def retry_now(queue: PostgresQueue, row_id: int, *, actor: str) -> dict[str, Any
99
99
  return {"id": row_id, "outcome": "not_found"}
100
100
  if row["status"] not in ("dead", "failed", "cancelled", "queued"):
101
101
  return {"id": row_id, "outcome": "not_retryable", "status": row["status"]}
102
+ # The row keeps its Check Run id: the worker that claims it asks GitHub whether that run is
103
+ # still open (webhook_queued_check.open_check_run) -- it continues one the sweep has not
104
+ # reached yet, and opens a fresh one when the verdict, the dead-letter notice or the sweep
105
+ # already completed it. Forgetting the id here would leave a still-open run with nothing
106
+ # pointing at it. `check_closed` is cleared so a later retirement of THIS row sweeps whatever
107
+ # run it then carries.
102
108
  conn.execute(
103
109
  f"UPDATE {_q(queue)}.jobs SET status='queued', attempts=0, max_attempts=%(budget)s, not_before=NULL, "
104
110
  f"finished_at=NULL, owner=NULL, lease_expires_at=NULL, cancel_requested=NULL, "
105
- f"posted = posted - 'dead_letter' WHERE id=%(id)s",
111
+ f"posted = posted - 'dead_letter' - 'check_closed' WHERE id=%(id)s",
106
112
  {"budget": queue.policy_for(row["kind"]).budget, "id": row_id})
107
113
  queue.event(row_id, "retry_now", actor=actor, detail={"from_status": row["status"]}, conn=conn)
108
114
  return {"id": row_id, "outcome": "queued"}
@@ -280,6 +286,35 @@ def unposted_dead(queue: PostgresQueue, *, limit: int = 50) -> list[dict[str, An
280
286
  return [dict(r) for r in rows]
281
287
 
282
288
 
289
+ # Terminal states a row can reach WITHOUT a worker ever closing the Check Run it owns: retired while
290
+ # waiting (a newer head, an operator's cancel, a rollback export) or failed before the worker could
291
+ # report (a token that would not mint, orphaned by a restart on its last attempt).
292
+ RETIRED_STATUSES = ("superseded", "cancelled", "exported", "failed")
293
+
294
+
295
+ def retired_check_runs(queue: PostgresQueue, *, repo: str | None = None, pr_number: int | None = None,
296
+ since_s: float = 7 * 24 * 3600, limit: int = 100) -> list[dict[str, Any]]:
297
+ """Rows in a ``RETIRED_STATUSES`` state that still carry a Check Run id and have not had that run
298
+ confirmed closed (``posted.check_closed`` unset), oldest first. The ingress asks for one pull
299
+ request right after its enqueue retired the older heads; the reaper asks for everything as the
300
+ backstop. The window bounds the one-time backfill over rows that predate the sweep."""
301
+ clauses = ["status = ANY(%(statuses)s)", "check_run_id IS NOT NULL", "NOT (posted ? 'check_closed')",
302
+ f"finished_at >= {_NOW} - make_interval(secs => %(since)s)"]
303
+ params: dict[str, Any] = {"statuses": list(RETIRED_STATUSES), "since": float(since_s), "limit": int(limit),
304
+ **_now_param(queue)}
305
+ if repo:
306
+ clauses.append("repo = %(repo)s")
307
+ params["repo"] = repo
308
+ if pr_number is not None:
309
+ clauses.append("pr_number = %(pr)s")
310
+ params["pr"] = int(pr_number)
311
+ with queue.connection() as conn:
312
+ rows = conn.execute(
313
+ f"SELECT id, kind, repo, ref, pr_number, installation_id, status, check_run_id, last_error, result, finished_at "
314
+ f"FROM {_q(queue)}.jobs WHERE {' AND '.join(clauses)} ORDER BY finished_at LIMIT %(limit)s", params).fetchall()
315
+ return [dict(r) for r in rows]
316
+
317
+
283
318
  def dead_after_outage(queue: PostgresQueue, *, since_s: float = 6 * 3600, limit: int = 200) -> list[dict[str, Any]]:
284
319
  """Dead rows from the last ``since_s`` whose failure text names an outage -- the candidates the
285
320
  post-outage sweep runs again (never those already retried by an operator)."""
@@ -234,7 +234,12 @@ class PostgresQueue:
234
234
  the reaper queueing the current head of a reaped job) -- any job of this kind for exactly
235
235
  this head that is waiting, running OR already finished: a head that has its review does not
236
236
  get a second one because an older head's job noticed, as it ended, that the head had moved
237
- (the older job is normally cancelled first; this closes the window in which it is not)."""
237
+ (the older job is normally cancelled first; this closes the window in which it is not).
238
+
239
+ ``check_run_id`` is the Check Run the ingress already opened ``queued`` for this job (see
240
+ ``webhook_queued_check``); the row is born owning it, ``check_started_at`` is stamped now
241
+ (the SLO clock: the tenant can see the check from this moment), and the worker that claims
242
+ the row updates that run instead of creating one."""
238
243
  if job.kind not in KINDS:
239
244
  raise ValueError(f"unknown job kind {job.kind!r}")
240
245
  if delivery_id is None:
@@ -265,10 +270,12 @@ class PostgresQueue:
265
270
  row = conn.execute(
266
271
  f"INSERT INTO {self._t('jobs')} (delivery_id, idempotency_key, kind, repo, ref, installation_id, "
267
272
  f"issue_number, pr_number, context, reason, priority, attempts, max_attempts, resumes, not_before, "
268
- f"check_run_id, created_at, src_sqlite_id) "
273
+ f"check_run_id, check_started_at, created_at, src_sqlite_id) "
269
274
  f"VALUES (%(delivery_id)s, %(key)s, %(kind)s, %(repo)s, %(ref)s, %(installation_id)s, %(issue_number)s, "
270
275
  f"%(pr_number)s, %(context)s::jsonb, %(reason)s, %(priority)s, %(attempts)s, %(max_attempts)s, "
271
- f"%(resumes)s, %(not_before)s, %(check_run_id)s, COALESCE(%(created_at)s::timestamptz, {_NOW}), %(src)s) "
276
+ f"%(resumes)s, %(not_before)s, %(check_run_id)s, "
277
+ f"CASE WHEN %(check_run_id)s::bigint IS NULL THEN NULL ELSE {_NOW} END, "
278
+ f"COALESCE(%(created_at)s::timestamptz, {_NOW}), %(src)s) "
272
279
  f"ON CONFLICT DO NOTHING RETURNING id",
273
280
  {
274
281
  "delivery_id": delivery_id, "key": idempotency_key(job), "kind": job.kind,
@@ -286,7 +293,8 @@ class PostgresQueue:
286
293
  new_id = int(row["id"])
287
294
  self.event(new_id, "enqueued", conn=conn,
288
295
  detail={"delivery_id": delivery_id, "kind": job.kind, "reason": job.reason,
289
- "priority": int(priority), "imported_from_sqlite": src_sqlite_id is not None})
296
+ "priority": int(priority), "imported_from_sqlite": src_sqlite_id is not None,
297
+ "check_run_id": check_run_id})
290
298
  if job.kind in SUPERSEDABLE_KINDS and job.pr_number is not None and job.ref:
291
299
  # A new head of this pull request retires the WAITING older heads in the same
292
300
  # transaction as its own insert -- the SQLite queue's rule (webhook_queue
@@ -334,6 +342,59 @@ class PostgresQueue:
334
342
  with self._pool.connection() as conn:
335
343
  return self._pending_within(conn, repo=repo, pr_number=pr_number, ref=ref, kind=kind)
336
344
 
345
+ # --- the Check Run the ingress opens at enqueue (webhook_queued_check) -----------------------
346
+ def has_delivery(self, delivery_id: str | None) -> bool:
347
+ """Whether a row for this ``delivery_id`` already exists, whatever its state. The ingress
348
+ asks before opening a queued Check Run for a delivery: a redelivery of an already-processed
349
+ GUID collapses in ``enqueue`` and must not leave a second run on the commit."""
350
+ if not delivery_id:
351
+ return False
352
+ with self._pool.connection() as conn:
353
+ row = conn.execute(f"SELECT 1 FROM {self._t('jobs')} WHERE delivery_id = %s LIMIT 1", (delivery_id,)).fetchone()
354
+ return row is not None
355
+
356
+ def check_run_bound(self, delivery_id: str | None) -> int | None:
357
+ """The Check Run id the row for this delivery carries, or None (no row, or none bound). The
358
+ ingress reads it right after ``enqueue`` to learn whether the run it opened is owned by a
359
+ row -- anything else is an orphan it must close at once."""
360
+ if not delivery_id:
361
+ return None
362
+ with self._pool.connection() as conn:
363
+ row = conn.execute(f"SELECT check_run_id FROM {self._t('jobs')} WHERE delivery_id = %s", (delivery_id,)).fetchone()
364
+ return int(row["check_run_id"]) if row and row.get("check_run_id") else None
365
+
366
+ def adopt_check_run(self, job: WebhookJob, check_run_id: int, *, delivery_id: str | None = None) -> bool:
367
+ """Hand an already-open Check Run to the WAITING row for exactly this head (or, with
368
+ ``delivery_id``, to this delivery's own waiting row) when that row carries none yet. True when
369
+ a row took it: the worker that claims it will update this run instead of creating one.
370
+
371
+ Two callers: the ingress whose insert collapsed onto a live row for the same head (a
372
+ second delivery for one commit) -- if that row was written without a run (by a worker's or
373
+ the reaper's requeue, or an older ingress) it adopts this one, and nothing is orphaned; and
374
+ the late path of a pre-create that outran the ingress's time budget, which adopts onto the
375
+ delivery's own row if no worker has claimed it. Conditional on ``status = 'queued'`` and
376
+ ``check_run_id IS NULL``, under the row lock the UPDATE takes, so a claim that lands first
377
+ wins and the caller closes the run instead."""
378
+ if not check_run_id:
379
+ return False
380
+ if delivery_id:
381
+ where, params = "delivery_id = %(d)s", {"d": delivery_id}
382
+ else:
383
+ if not job.ref:
384
+ return False
385
+ where = "repo = %(repo)s AND kind = %(kind)s AND pr_number IS NOT DISTINCT FROM %(pr)s AND ref = %(ref)s"
386
+ params = {"repo": job.repo_full_name, "kind": job.kind, "pr": job.pr_number, "ref": job.ref}
387
+ with self._pool.connection() as conn, conn.transaction():
388
+ row = conn.execute(
389
+ f"UPDATE {self._t('jobs')} SET check_run_id = %(cid)s, check_started_at = COALESCE(check_started_at, {_NOW}) "
390
+ f"WHERE {where} AND status = 'queued' AND check_run_id IS NULL RETURNING id",
391
+ {**params, "cid": int(check_run_id), "now": self._now()},
392
+ ).fetchone()
393
+ if row is None:
394
+ return False
395
+ self.event(int(row["id"]), "check_run_adopted", conn=conn, detail={"check_run_id": int(check_run_id)})
396
+ return True
397
+
337
398
  # --- claim + lease -------------------------------------------------------------------------
338
399
  def claim(self, *, reserve_priority: bool = False, classes: Iterable[int] | None = None,
339
400
  lease_s: float | None = None) -> QueuedJob | None:
@@ -363,7 +424,8 @@ class PostgresQueue:
363
424
  self.event(int(row["id"]), "claimed", conn=conn,
364
425
  detail={"owner": thread_owner, "attempt": int(row["attempts"]), "lease_s": lease})
365
426
  qjob = QueuedJob(row_id=int(row["id"]), delivery_id=row["delivery_id"], attempts=int(row["attempts"]),
366
- job=_job_from_row(row))
427
+ job=_job_from_row(row),
428
+ check_run_id=int(row["check_run_id"]) if row.get("check_run_id") else None)
367
429
  self._start_lease(qjob.row_id, thread_owner)
368
430
  return qjob
369
431
 
@@ -234,18 +234,56 @@ class WorkerPool:
234
234
  if self._may_finalize(handle):
235
235
  self._queue.complete(qjob.row_id, status="failed", result={"error": exc.code, "message": str(exc)})
236
236
  self._notify_terminal_comment_fix_failure(qjob, exc.code)
237
+ self._close_unreported_check_run(qjob, exc.code)
237
238
  except Exception as exc: # noqa: BLE001 — a worker must never die on one bad job
238
239
  webhook_worker._log_worker_failure(qjob, code="job_crashed", message=str(exc))
239
240
  if self._may_finalize(handle):
240
241
  self._queue.complete(qjob.row_id, status="failed",
241
242
  result={"error": "job_crashed", "message": str(exc)[:500]})
242
243
  self._notify_terminal_comment_fix_failure(qjob, "job_crashed")
244
+ self._close_unreported_check_run(qjob, "job_crashed")
243
245
 
244
246
  @staticmethod
245
247
  def _may_finalize(handle: JobHandle | None) -> bool:
246
248
  """Whether THIS thread should write the job's terminal row. Always true without a handle."""
247
249
  return True if handle is None else handle.finalize()
248
250
 
251
+ def _close_unreported_check_run(self, qjob: QueuedJob, code: str) -> None:
252
+ """A job that RAISED out of process_job may never have touched the Check Run the ingress
253
+ opened for its row (token minting is the usual point). When the queue has now ended the row
254
+ as ``failed`` -- deterministic, no further attempt -- that run is completed here so a
255
+ required check does not sit `queued` forever; a retry keeps the run for the next attempt,
256
+ and a `dead` row is told by the reaper's dead-letter notice. Best-effort (the failure may be
257
+ exactly that no token mints); the reaper's retired-run sweep is the backstop. Never raises.
258
+ """
259
+ if not qjob.check_run_id:
260
+ return
261
+ try:
262
+ state = self._queue.row_state(qjob.row_id)
263
+ except Exception: # noqa: BLE001
264
+ return
265
+ if state is None or state[0] != "failed":
266
+ return
267
+ job = qjob.job
268
+ token: str | None = None
269
+ try:
270
+ if job.installation_id and self._app_id and self._private_key:
271
+ token = webhook_github.installation_token(self._app_id, self._private_key, job.installation_id,
272
+ repo_full_name=job.repo_full_name, kind=job.kind)
273
+ except Exception: # noqa: BLE001 — minting may be the very failure being reported
274
+ token = None
275
+ token = token or os.environ.get("GITHUB_TOKEN")
276
+ if not token:
277
+ return
278
+ name = check_run_name(job.kind)
279
+ try:
280
+ webhook_github.complete_check_run_if_open(
281
+ job.repo_full_name, token, qjob.check_run_id, conclusion="failure", name=name,
282
+ summary=f"{name} failed before it could report ({code}) after {qjob.attempts} attempt(s). "
283
+ f"The worker logged the details; trigger it again to re-run it.")
284
+ except Exception: # noqa: BLE001 — never let the close take the worker down
285
+ return
286
+
249
287
  def _notify_terminal_comment_fix_failure(self, qjob: QueuedJob, code: str) -> None:
250
288
  """Keep the "a comment trigger never goes silent" promise when process_job itself RAISES.
251
289
 
@@ -76,6 +76,12 @@ class QueuedJob:
76
76
  job: WebhookJob
77
77
  delivery_id: str | None
78
78
  attempts: int
79
+ # The Check Run this row already owns, when the ingress opened one at enqueue (Postgres backend:
80
+ # a review's `codna review` run is created ``queued`` the moment the delivery is accepted, so it
81
+ # is visible while the job waits for a slot). The worker UPDATES that run instead of creating a
82
+ # second one. None on the SQLite queue and for rows an older ingress wrote: the worker then
83
+ # creates the run itself when it claims the job, as it always has.
84
+ check_run_id: int | None = None
79
85
 
80
86
 
81
87
  class WebhookQueue: