codna 0.2.56__tar.gz → 0.2.57__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (933) hide show
  1. {codna-0.2.56 → codna-0.2.57}/PKG-INFO +1 -1
  2. {codna-0.2.56 → codna-0.2.57}/codna/__init__.py +1 -1
  3. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_SDK_AZ_INTEGRATION_PLAN.md +1 -1
  4. {codna-0.2.56 → codna-0.2.57}/codna/review.py +28 -1
  5. {codna-0.2.56 → codna-0.2.57}/codna/review_github.py +28 -0
  6. {codna-0.2.56 → codna-0.2.57}/codna/webhook_control.py +13 -0
  7. {codna-0.2.56 → codna-0.2.57}/codna/webhook_github.py +9 -5
  8. {codna-0.2.56 → codna-0.2.57}/codna/webhook_pool.py +3 -0
  9. {codna-0.2.56 → codna-0.2.57}/codna/webhook_queue.py +33 -2
  10. {codna-0.2.56 → codna-0.2.57}/codna/webhook_worker.py +136 -10
  11. {codna-0.2.56 → codna-0.2.57}/codna.egg-info/PKG-INFO +1 -1
  12. {codna-0.2.56 → codna-0.2.57}/pyproject.toml +1 -1
  13. {codna-0.2.56 → codna-0.2.57}/tests/test_review_findings.py +121 -0
  14. {codna-0.2.56 → codna-0.2.57}/tests/test_rules_and_review.py +23 -0
  15. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_github.py +14 -0
  16. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_queue.py +48 -0
  17. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_scheduling.py +11 -0
  18. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_worker.py +313 -0
  19. {codna-0.2.56 → codna-0.2.57}/MANIFEST.in +0 -0
  20. {codna-0.2.56 → codna-0.2.57}/README.md +0 -0
  21. {codna-0.2.56 → codna-0.2.57}/codna/_wheel_guard.py +0 -0
  22. {codna-0.2.56 → codna-0.2.57}/codna/admission_control.py +0 -0
  23. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_FORK.md +0 -0
  24. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_SDK_INTERFACE.md +0 -0
  25. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/CLINE_SDK_RESEARCH.md +0 -0
  26. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/package.json +0 -0
  27. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/run-server.bundle.mjs +0 -0
  28. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/run-server.mjs +0 -0
  29. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/run-server.stub.mjs +0 -0
  30. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/.gitignore +0 -0
  31. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/LICENSE +0 -0
  32. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/NOTICE +0 -0
  33. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/UPSTREAM_COMMIT.txt +0 -0
  34. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/README.md +0 -0
  35. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/acp-editor.ts +0 -0
  36. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/adapter.ts +0 -0
  37. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/algenta-plugin.ts +0 -0
  38. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/artifacts.test.ts +0 -0
  39. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/execution.test.ts +0 -0
  40. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/fallback.test.ts +0 -0
  41. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/fallback.ts +0 -0
  42. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/fix-runner.ts +0 -0
  43. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/http.test.ts +0 -0
  44. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/local-graph-tool.ts +0 -0
  45. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/mojo-gate.test.ts +0 -0
  46. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/mojo-gate.ts +0 -0
  47. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/policy.test.ts +0 -0
  48. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/postbuild.sh +0 -0
  49. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proof-artifacts.test.ts +0 -0
  50. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proof-provider.test.ts +0 -0
  51. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proof-provider.ts +0 -0
  52. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/proofs.ts +0 -0
  53. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/provider-key.test.ts +0 -0
  54. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/raw-completions.ts +0 -0
  55. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/review-policy.test.ts +0 -0
  56. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/run-server.ts +0 -0
  57. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/scheduled-agents.ts +0 -0
  58. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/artifacts.ts +0 -0
  59. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/contracts.ts +0 -0
  60. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/execution.ts +0 -0
  61. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/http.ts +0 -0
  62. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/policy.ts +0 -0
  63. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/state.ts +0 -0
  64. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/streaming.test.ts +0 -0
  65. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/server/utils.ts +0 -0
  66. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/task-policy.ts +0 -0
  67. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-localize.test.ts +0 -0
  68. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-localize.ts +0 -0
  69. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-worker.test.ts +0 -0
  70. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/telys-worker.ts +0 -0
  71. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/tools.test.ts +0 -0
  72. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/tools.ts +0 -0
  73. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/usage-cost.test.ts +0 -0
  74. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/usage-cost.ts +0 -0
  75. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/write-scope.test.ts +0 -0
  76. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/algenta/write-scope.ts +0 -0
  77. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/biome.json +0 -0
  78. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/bun.lock +0 -0
  79. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/package.json +0 -0
  80. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/.cline/rules/worktree_dependency_hygiene.md +0 -0
  81. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/.cline/skills/plugin.md +0 -0
  82. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/.gitignore +0 -0
  83. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/AGENTS.md +0 -0
  84. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/ARCHITECTURE.md +0 -0
  85. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/CHANGELOG.md +0 -0
  86. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/CONTRIBUTING.md +0 -0
  87. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/README.md +0 -0
  88. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/biome.json +0 -0
  89. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/README.md +0 -0
  90. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/README.md +0 -0
  91. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/changelog-generator.cron.md +0 -0
  92. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/code-style-audit.cron.md +0 -0
  93. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/daily-code-review.cron.md +0 -0
  94. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/dead-code-finder.cron.md +0 -0
  95. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/dependency-check.cron.md +0 -0
  96. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/documentation-check.cron.md +0 -0
  97. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-manual-test.event.md +0 -0
  98. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/local-plugin-event.event.md +0 -0
  99. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-changelog-check.event.md +0 -0
  100. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-review.event.md +0 -0
  101. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-test-coverage.event.md +0 -0
  102. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/performance-baseline.cron.md +0 -0
  103. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/test-coverage-report.cron.md +0 -0
  104. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/type-check-strict.cron.md +0 -0
  105. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/cron/weekly-metrics-summary.cron.md +0 -0
  106. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.py +0 -0
  107. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.sh +0 -0
  108. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.ts +0 -0
  109. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.py +0 -0
  110. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.sh +0 -0
  111. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.ts +0 -0
  112. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_BlockDestructive.sh +0 -0
  113. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectContext.py +0 -0
  114. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectFileContext.sh +0 -0
  115. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_ModifyInput.ts +0 -0
  116. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_RequireReview.sh +0 -0
  117. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/README.md +0 -0
  118. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/SessionShutdown.sh +0 -0
  119. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskComplete.sh +0 -0
  120. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/TaskStart.sh +0 -0
  121. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/hooks/custom-compaction-hook.example.ts +0 -0
  122. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/package.json +0 -0
  123. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/README.md +0 -0
  124. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/README.md +0 -0
  125. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/anvil.md +0 -0
  126. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/inquisitor.md +0 -0
  127. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/oracle.md +0 -0
  128. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/phantom.md +0 -0
  129. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/index.ts +0 -0
  130. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/package.json +0 -0
  131. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/api-design.md +0 -0
  132. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/code-review.md +0 -0
  133. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/debugging.md +0 -0
  134. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/documentation.md +0 -0
  135. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/migration.md +0 -0
  136. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/refactoring.md +0 -0
  137. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/test-generation.md +0 -0
  138. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/tsconfig.json +0 -0
  139. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/automation-events.ts +0 -0
  140. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/background-terminal.ts +0 -0
  141. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/custom-compaction.ts +0 -0
  142. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/env-blocker.ts +0 -0
  143. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/gitignore-read-files-guard.ts +0 -0
  144. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/mac-notify.ts +0 -0
  145. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/openrouter-provider.ts +0 -0
  146. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/README.md +0 -0
  147. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/index.ts +0 -0
  148. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/weather-metrics.ts +0 -0
  149. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/plugins/web-search.ts +0 -0
  150. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/examples/tsconfig.json +0 -0
  151. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/README.md +0 -0
  152. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/README.md +0 -0
  153. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/bun.mts +0 -0
  154. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/package.json +0 -0
  155. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.provider-form.test.ts +0 -0
  156. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.test.ts +0 -0
  157. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.ts +0 -0
  158. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/src/index.ts +0 -0
  159. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.build.json +0 -0
  160. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.dev.json +0 -0
  161. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.json +0 -0
  162. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/agents/vitest.config.ts +0 -0
  163. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/README.md +0 -0
  164. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/bun.mts +0 -0
  165. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/docs/messages-contract-v1.md +0 -0
  166. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/fixtures/messages/success.messages.json +0 -0
  167. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/package.json +0 -0
  168. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke-host.ts +0 -0
  169. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke.ts +0 -0
  170. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.test.ts +0 -0
  171. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.ts +0 -0
  172. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.test.ts +0 -0
  173. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.ts +0 -0
  174. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/featurebase-token.test.ts +0 -0
  175. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/index.ts +0 -0
  176. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.test.ts +0 -0
  177. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.ts +0 -0
  178. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/account/types.ts +0 -0
  179. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.test.ts +0 -0
  180. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.ts +0 -0
  181. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.test.ts +0 -0
  182. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.ts +0 -0
  183. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.test.ts +0 -0
  184. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.ts +0 -0
  185. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.test.ts +0 -0
  186. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.ts +0 -0
  187. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.test.ts +0 -0
  188. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.ts +0 -0
  189. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.test.ts +0 -0
  190. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.ts +0 -0
  191. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/types.ts +0 -0
  192. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.test.ts +0 -0
  193. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.ts +0 -0
  194. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/automation.ts +0 -0
  195. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/runtime-services.ts +0 -0
  196. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/start-input.ts +0 -0
  197. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/telemetry.ts +0 -0
  198. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/types.ts +0 -0
  199. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.test.ts +0 -0
  200. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.ts +0 -0
  201. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/index.ts +0 -0
  202. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/index.ts +0 -0
  203. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/cron-report-writer.ts +0 -0
  204. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/index.ts +0 -0
  205. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.test.ts +0 -0
  206. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.ts +0 -0
  207. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.test.ts +0 -0
  208. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.ts +0 -0
  209. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/index.ts +0 -0
  210. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/resource-limiter.ts +0 -0
  211. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/index.ts +0 -0
  212. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.test.ts +0 -0
  213. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.ts +0 -0
  214. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/cron-service.ts +0 -0
  215. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/index.ts +0 -0
  216. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-command-service.ts +0 -0
  217. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.test.ts +0 -0
  218. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.ts +0 -0
  219. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.test.ts +0 -0
  220. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.ts +0 -0
  221. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.test.ts +0 -0
  222. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.ts +0 -0
  223. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.test.ts +0 -0
  224. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.ts +0 -0
  225. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/index.ts +0 -0
  226. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/cron-schema.ts +0 -0
  227. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/index.ts +0 -0
  228. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.test.ts +0 -0
  229. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.ts +0 -0
  230. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/index.ts +0 -0
  231. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.test.ts +0 -0
  232. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.ts +0 -0
  233. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.test.ts +0 -0
  234. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.ts +0 -0
  235. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.test.ts +0 -0
  236. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.ts +0 -0
  237. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.test.ts +0 -0
  238. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.ts +0 -0
  239. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-plugin.ts +0 -0
  240. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-service.ts +0 -0
  241. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/agentic-compaction.ts +0 -0
  242. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/basic-compaction.ts +0 -0
  243. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction-shared.ts +0 -0
  244. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.live.test.ts +0 -0
  245. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.test.ts +0 -0
  246. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.ts +0 -0
  247. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/index.ts +0 -0
  248. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/client.ts +0 -0
  249. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.test.ts +0 -0
  250. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.ts +0 -0
  251. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/index.ts +0 -0
  252. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.test.ts +0 -0
  253. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.ts +0 -0
  254. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/name-transform.ts +0 -0
  255. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.test.ts +0 -0
  256. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.ts +0 -0
  257. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/policies.ts +0 -0
  258. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/tools.ts +0 -0
  259. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/types.ts +0 -0
  260. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.test.ts +0 -0
  261. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.ts +0 -0
  262. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-load-report.ts +0 -0
  263. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.test.ts +0 -0
  264. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.ts +0 -0
  265. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-module-import.ts +0 -0
  266. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox-bootstrap.ts +0 -0
  267. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.test.ts +0 -0
  268. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.ts +0 -0
  269. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-targeting.ts +0 -0
  270. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/constants.ts +0 -0
  271. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.test.ts +0 -0
  272. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.ts +0 -0
  273. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch-parser.ts +0 -0
  274. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.test.ts +0 -0
  275. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.ts +0 -0
  276. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.test.ts +0 -0
  277. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.ts +0 -0
  278. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.test.ts +0 -0
  279. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.ts +0 -0
  280. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.test.ts +0 -0
  281. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.ts +0 -0
  282. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/index.ts +0 -0
  283. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/search.ts +0 -0
  284. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/web-fetch.ts +0 -0
  285. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/helpers.ts +0 -0
  286. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/index.ts +0 -0
  287. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.test.ts +0 -0
  288. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.ts +0 -0
  289. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.test.ts +0 -0
  290. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.ts +0 -0
  291. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.test.ts +0 -0
  292. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.ts +0 -0
  293. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/schemas.ts +0 -0
  294. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/delegated-agent.ts +0 -0
  295. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/index.ts +0 -0
  296. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.lifecycle.test.ts +0 -0
  297. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.ts +0 -0
  298. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/projections.ts +0 -0
  299. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/runtime.ts +0 -0
  300. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.test.ts +0 -0
  301. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.ts +0 -0
  302. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/subagent-prompts.ts +0 -0
  303. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.test.ts +0 -0
  304. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.ts +0 -0
  305. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/types.ts +0 -0
  306. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.test.ts +0 -0
  307. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.ts +0 -0
  308. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-extension.ts +0 -0
  309. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.test.ts +0 -0
  310. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.ts +0 -0
  311. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.test.ts +0 -0
  312. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.ts +0 -0
  313. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/index.ts +0 -0
  314. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess-runner.ts +0 -0
  315. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess.ts +0 -0
  316. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.test.ts +0 -0
  317. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.ts +0 -0
  318. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.test.ts +0 -0
  319. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.ts +0 -0
  320. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.test.ts +0 -0
  321. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.ts +0 -0
  322. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/ui-client.ts +0 -0
  323. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/entry.ts +0 -0
  324. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.test.ts +0 -0
  325. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.ts +0 -0
  326. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/runtime-handlers.ts +0 -0
  327. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/start-shared-server.ts +0 -0
  328. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.test.ts +0 -0
  329. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.ts +0 -0
  330. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.test.ts +0 -0
  331. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.ts +0 -0
  332. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/workspace.ts +0 -0
  333. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/index.ts +0 -0
  334. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.test.ts +0 -0
  335. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.ts +0 -0
  336. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/remote-runtime-host.ts +0 -0
  337. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/boundary.test.ts +0 -0
  338. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.test.ts +0 -0
  339. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.ts +0 -0
  340. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/command-transport.ts +0 -0
  341. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/fetch-wiring.test.ts +0 -0
  342. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/approval-handlers.ts +0 -0
  343. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/capability-handlers.ts +0 -0
  344. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/client-handlers.ts +0 -0
  345. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/context.ts +0 -0
  346. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.test.ts +0 -0
  347. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.ts +0 -0
  348. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-event-projector.ts +0 -0
  349. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-handlers.ts +0 -0
  350. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-capability-tool-executors.test.ts +0 -0
  351. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-client-contributions.ts +0 -0
  352. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-notifications.ts +0 -0
  353. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-schedule-events.ts +0 -0
  354. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-logging.ts +0 -0
  355. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-options.ts +0 -0
  356. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-transport.ts +0 -0
  357. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-session-records.ts +0 -0
  358. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-websocket-server.ts +0 -0
  359. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.test.ts +0 -0
  360. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.ts +0 -0
  361. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/native-transport.ts +0 -0
  362. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/notification.test.ts +0 -0
  363. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/ui-events.test.ts +0 -0
  364. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/hub/settings.test.ts +0 -0
  365. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/index.ts +0 -0
  366. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/remote-config/integration.ts +0 -0
  367. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/index.ts +0 -0
  368. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/normalize-runtime-capabilities.ts +0 -0
  369. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/runtime-capabilities.ts +0 -0
  370. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.test.ts +0 -0
  371. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.ts +0 -0
  372. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.test.ts +0 -0
  373. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.ts +0 -0
  374. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.test.ts +0 -0
  375. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.ts +0 -0
  376. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.test.ts +0 -0
  377. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.ts +0 -0
  378. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/agent-event-bridge.ts +0 -0
  379. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-record.ts +0 -0
  380. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-service-invoker.ts +0 -0
  381. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/spawn-tool.ts +0 -0
  382. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/user-files.ts +0 -0
  383. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.e2e.test.ts +0 -0
  384. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.test.ts +0 -0
  385. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.ts +0 -0
  386. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.test.ts +0 -0
  387. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.ts +0 -0
  388. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host.ts +0 -0
  389. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/index.ts +0 -0
  390. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.team-persistence.test.ts +0 -0
  391. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.test.ts +0 -0
  392. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.ts +0 -0
  393. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.test.ts +0 -0
  394. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.ts +0 -0
  395. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.test.ts +0 -0
  396. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.ts +0 -0
  397. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-parity.test.ts +0 -0
  398. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.test.ts +0 -0
  399. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.ts +0 -0
  400. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime.ts +0 -0
  401. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/user-input-builder.ts +0 -0
  402. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/loop-detection.ts +0 -0
  403. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/mistake-tracker.ts +0 -0
  404. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.test.ts +0 -0
  405. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.ts +0 -0
  406. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.test.ts +0 -0
  407. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.ts +0 -0
  408. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/tool-approval.ts +0 -0
  409. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.test.ts +0 -0
  410. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.ts +0 -0
  411. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/agent-events.ts +0 -0
  412. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/config.ts +0 -0
  413. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.test.ts +0 -0
  414. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.ts +0 -0
  415. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.test.ts +0 -0
  416. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.ts +0 -0
  417. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/cline-recommended-models.ts +0 -0
  418. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/configured-provider-registry.ts +0 -0
  419. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.test.ts +0 -0
  420. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.ts +0 -0
  421. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.test.ts +0 -0
  422. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.ts +0 -0
  423. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.test.ts +0 -0
  424. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.ts +0 -0
  425. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-config.ts +0 -0
  426. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-registry.ts +0 -0
  427. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-types.ts +0 -0
  428. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.startup.test.ts +0 -0
  429. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.test.ts +0 -0
  430. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.ts +0 -0
  431. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-tools.ts +0 -0
  432. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.test.ts +0 -0
  433. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.ts +0 -0
  434. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-registry.ts +0 -0
  435. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.test.ts +0 -0
  436. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.ts +0 -0
  437. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/model-source.ts +0 -0
  438. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.test.ts +0 -0
  439. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.ts +0 -0
  440. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-artifacts.ts +0 -0
  441. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.test.ts +0 -0
  442. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.ts +0 -0
  443. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-telemetry.ts +0 -0
  444. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/artifact-store.ts +0 -0
  445. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/file-team-store.ts +0 -0
  446. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/index.ts +0 -0
  447. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.test.ts +0 -0
  448. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.ts +0 -0
  449. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.test.ts +0 -0
  450. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.ts +0 -0
  451. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/session-store.ts +0 -0
  452. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-session-store.ts +0 -0
  453. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-team-store.ts +0 -0
  454. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/team-store.ts +0 -0
  455. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/ITelemetryAdapter.ts +0 -0
  456. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.test.ts +0 -0
  457. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.ts +0 -0
  458. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.test.ts +0 -0
  459. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.ts +0 -0
  460. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.test.ts +0 -0
  461. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.ts +0 -0
  462. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.test.ts +0 -0
  463. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.ts +0 -0
  464. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.test.ts +0 -0
  465. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.ts +0 -0
  466. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.test.ts +0 -0
  467. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.ts +0 -0
  468. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/index.ts +0 -0
  469. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/tool-context.ts +0 -0
  470. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.test.ts +0 -0
  471. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.ts +0 -0
  472. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.test.ts +0 -0
  473. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.ts +0 -0
  474. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/index.ts +0 -0
  475. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.test.ts +0 -0
  476. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.ts +0 -0
  477. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manager.ts +0 -0
  478. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manifest.ts +0 -0
  479. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.test.ts +0 -0
  480. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.ts +0 -0
  481. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.test.ts +0 -0
  482. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.ts +0 -0
  483. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/index.ts +0 -0
  484. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-graph.ts +0 -0
  485. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-manifest.ts +0 -0
  486. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-row.ts +0 -0
  487. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/file-session-service.ts +0 -0
  488. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.test.ts +0 -0
  489. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.ts +0 -0
  490. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.test.ts +0 -0
  491. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.ts +0 -0
  492. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.team-persistence.test.ts +0 -0
  493. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.ts +0 -0
  494. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-snapshot.ts +0 -0
  495. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.test.ts +0 -0
  496. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.ts +0 -0
  497. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/conversation-store.ts +0 -0
  498. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/session-manifest-store.ts +0 -0
  499. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/team-persistence-store.ts +0 -0
  500. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/index.ts +0 -0
  501. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-child-session-manager.ts +0 -0
  502. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-session-coordinator.ts +0 -0
  503. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/index.ts +0 -0
  504. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.test.ts +0 -0
  505. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.ts +0 -0
  506. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/settings/types.ts +0 -0
  507. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/chat-schema.ts +0 -0
  508. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/common.ts +0 -0
  509. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/config.ts +0 -0
  510. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/events.ts +0 -0
  511. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/index.ts +0 -0
  512. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/provider-settings.ts +0 -0
  513. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/session.ts +0 -0
  514. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/sessions.ts +0 -0
  515. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types/storage.ts +0 -0
  516. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/types.ts +0 -0
  517. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/src/version.ts +0 -0
  518. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.build.json +0 -0
  519. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.dev.json +0 -0
  520. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.json +0 -0
  521. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.smoke.json +0 -0
  522. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.config.ts +0 -0
  523. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/core/vitest.e2e.config.ts +0 -0
  524. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/AGENTS.md +0 -0
  525. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/README.md +0 -0
  526. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/bun.mts +0 -0
  527. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/fixtures/usage.json +0 -0
  528. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/package.json +0 -0
  529. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/fix-esm-imports.ts +0 -0
  530. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/generate-models.ts +0 -0
  531. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/models/generate-models-dev.ts +0 -0
  532. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/scripts/tsconfig.json +0 -0
  533. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/README.md +0 -0
  534. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.test.ts +0 -0
  535. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.ts +0 -0
  536. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated-access.ts +0 -0
  537. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated.ts +0 -0
  538. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/types.ts +0 -0
  539. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.browser.ts +0 -0
  540. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/index.ts +0 -0
  541. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/models.ts +0 -0
  542. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.test.ts +0 -0
  543. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.ts +0 -0
  544. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/async.ts +0 -0
  545. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.test.ts +0 -0
  546. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.ts +0 -0
  547. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins-runtime.ts +0 -0
  548. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.test.ts +0 -0
  549. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.ts +0 -0
  550. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.test.ts +0 -0
  551. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.ts +0 -0
  552. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/config.ts +0 -0
  553. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/factory-registry.ts +0 -0
  554. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.test.ts +0 -0
  555. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.ts +0 -0
  556. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.test.ts +0 -0
  557. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.ts +0 -0
  558. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/handler.ts +0 -0
  559. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/http.ts +0 -0
  560. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.test.ts +0 -0
  561. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.ts +0 -0
  562. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/messages.ts +0 -0
  563. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.test.ts +0 -0
  564. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.ts +0 -0
  565. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-facts.ts +0 -0
  566. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-registry.ts +0 -0
  567. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/openai-codex-models.ts +0 -0
  568. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/provider-keys.ts +0 -0
  569. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/registry.ts +0 -0
  570. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.test.ts +0 -0
  571. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.ts +0 -0
  572. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/generic-compatible.ts +0 -0
  573. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/glm-thinking.ts +0 -0
  574. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/minimax-thinking.ts +0 -0
  575. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-option-rules.ts +0 -0
  576. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options-types.ts +0 -0
  577. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.test.ts +0 -0
  578. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.ts +0 -0
  579. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/reasoning-codecs.ts +0 -0
  580. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/utils.ts +0 -0
  581. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/stream.ts +0 -0
  582. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/types.ts +0 -0
  583. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.test.ts +0 -0
  584. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.ts +0 -0
  585. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.test.ts +0 -0
  586. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.ts +0 -0
  587. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.test.ts +0 -0
  588. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.ts +0 -0
  589. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/google.ts +0 -0
  590. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.test.ts +0 -0
  591. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.ts +0 -0
  592. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/mistral.ts +0 -0
  593. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai-compatible.ts +0 -0
  594. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai.ts +0 -0
  595. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/types.ts +0 -0
  596. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.test.ts +0 -0
  597. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.ts +0 -0
  598. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.browser.ts +0 -0
  599. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.ts +0 -0
  600. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.test.ts +0 -0
  601. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.ts +0 -0
  602. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.example.json +0 -0
  603. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.example.json +0 -0
  604. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.reasoning.example.json +0 -0
  605. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning-disabled.example.json +0 -0
  606. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning.example.json +0 -0
  607. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.tools.example.json +0 -0
  608. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.test.ts +0 -0
  609. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.ts +0 -0
  610. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-minimax-routing.test.ts +0 -0
  611. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-reasoning.test.ts +0 -0
  612. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-runner.ts +0 -0
  613. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-tools.test.ts +0 -0
  614. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live.test.ts +0 -0
  615. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/README.md +0 -0
  616. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/anthropic-claude-sonnet-4-6.json +0 -0
  617. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/cline-anthropic-sonnet.json +0 -0
  618. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-codex-gpt-5-4.json +0 -0
  619. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-compatible-deepseek-v4-pro.json +0 -0
  620. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr.test.ts +0 -0
  621. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.build.json +0 -0
  622. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.dev.json +0 -0
  623. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.json +0 -0
  624. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/llms/vitest.config.ts +0 -0
  625. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/bun.mts +0 -0
  626. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/package.json +0 -0
  627. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/src/index.ts +0 -0
  628. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.build.json +0 -0
  629. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.json +0 -0
  630. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/README.md +0 -0
  631. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/bun.mts +0 -0
  632. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/package.json +0 -0
  633. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agent.ts +0 -0
  634. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/index.ts +0 -0
  635. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/types.ts +0 -0
  636. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/index.ts +0 -0
  637. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/schemas.ts +0 -0
  638. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/types.ts +0 -0
  639. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/events.ts +0 -0
  640. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/options.ts +0 -0
  641. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/cron-spec-types.ts +0 -0
  642. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/index.ts +0 -0
  643. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/index.ts +0 -0
  644. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.test.ts +0 -0
  645. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.ts +0 -0
  646. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/dispose.ts +0 -0
  647. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/context.ts +0 -0
  648. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.test.ts +0 -0
  649. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.ts +0 -0
  650. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/plugin.ts +0 -0
  651. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/contracts.ts +0 -0
  652. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/events.ts +0 -0
  653. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/hub.ts +0 -0
  654. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.browser.ts +0 -0
  655. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/index.ts +0 -0
  656. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.test.ts +0 -0
  657. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.ts +0 -0
  658. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/gateway.ts +0 -0
  659. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/messages.ts +0 -0
  660. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/model-info.ts +0 -0
  661. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/reasoning-effort.ts +0 -0
  662. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/requests.ts +0 -0
  663. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tokens.ts +0 -0
  664. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tools.ts +0 -0
  665. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/logging/logger.ts +0 -0
  666. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/error.ts +0 -0
  667. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/headers/utils.ts +0 -0
  668. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.test.ts +0 -0
  669. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.ts +0 -0
  670. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.test.ts +0 -0
  671. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.ts +0 -0
  672. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/string.ts +0 -0
  673. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/time.ts +0 -0
  674. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/zod.ts +0 -0
  675. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/cline.ts +0 -0
  676. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.test.ts +0 -0
  677. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.ts +0 -0
  678. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/system.ts +0 -0
  679. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/artifact-store.ts +0 -0
  680. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/blob-storage.ts +0 -0
  681. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/bundle.ts +0 -0
  682. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/constants.ts +0 -0
  683. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/index.ts +0 -0
  684. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/materializer.ts +0 -0
  685. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/paths.ts +0 -0
  686. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.test.ts +0 -0
  687. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.ts +0 -0
  688. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.test.ts +0 -0
  689. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.ts +0 -0
  690. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/telemetry.ts +0 -0
  691. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/index.ts +0 -0
  692. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/runtime.ts +0 -0
  693. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/team-progress.ts +0 -0
  694. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.test.ts +0 -0
  695. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.ts +0 -0
  696. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.test.ts +0 -0
  697. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.ts +0 -0
  698. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.test.ts +0 -0
  699. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.ts +0 -0
  700. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry-config.ts +0 -0
  701. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.test.ts +0 -0
  702. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.ts +0 -0
  703. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/hook-context.ts +0 -0
  704. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/index.ts +0 -0
  705. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/records.ts +0 -0
  706. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-config.ts +0 -0
  707. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-env.ts +0 -0
  708. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/session/workspace.ts +0 -0
  709. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/index.ts +0 -0
  710. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.test.ts +0 -0
  711. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.ts +0 -0
  712. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.home-dir.test.ts +0 -0
  713. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.test.ts +0 -0
  714. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.ts +0 -0
  715. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/index.ts +0 -0
  716. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/schema.ts +0 -0
  717. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/team/types.ts +0 -0
  718. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.test.ts +0 -0
  719. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.ts +0 -0
  720. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/auth.ts +0 -0
  721. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/index.ts +0 -0
  722. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/types/vcr.ts +0 -0
  723. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.test.ts +0 -0
  724. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.ts +0 -0
  725. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.build.json +0 -0
  726. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.json +0 -0
  727. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/shared/vitest.config.ts +0 -0
  728. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/packages/tsconfig.base.json +0 -0
  729. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/check-publish.ts +0 -0
  730. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/ci-node-smoke.ts +0 -0
  731. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/clean.ts +0 -0
  732. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/release.ts +0 -0
  733. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/run-vendored-tests.sh +0 -0
  734. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/scripts/version.ts +0 -0
  735. {codna-0.2.56 → codna-0.2.57}/codna/agent-core/vendor/cline/sdk/tsconfig.json +0 -0
  736. {codna-0.2.56 → codna-0.2.57}/codna/agent_core_runtime.py +0 -0
  737. {codna-0.2.56 → codna-0.2.57}/codna/byok_cli.py +0 -0
  738. {codna-0.2.56 → codna-0.2.57}/codna/ci_admission.py +0 -0
  739. {codna-0.2.56 → codna-0.2.57}/codna/ci_cli.py +0 -0
  740. {codna-0.2.56 → codna-0.2.57}/codna/cli.py +0 -0
  741. {codna-0.2.56 → codna-0.2.57}/codna/cli_errors.py +0 -0
  742. {codna-0.2.56 → codna-0.2.57}/codna/cline_agent.py +0 -0
  743. {codna-0.2.56 → codna-0.2.57}/codna/codeunits.py +0 -0
  744. {codna-0.2.56 → codna-0.2.57}/codna/codeunits_treesitter.py +0 -0
  745. {codna-0.2.56 → codna-0.2.57}/codna/config_file.py +0 -0
  746. {codna-0.2.56 → codna-0.2.57}/codna/doctor.py +0 -0
  747. {codna-0.2.56 → codna-0.2.57}/codna/doctor_output.py +0 -0
  748. {codna-0.2.56 → codna-0.2.57}/codna/engine.py +0 -0
  749. {codna-0.2.56 → codna-0.2.57}/codna/evasion.py +0 -0
  750. {codna-0.2.56 → codna-0.2.57}/codna/evidence.py +0 -0
  751. {codna-0.2.56 → codna-0.2.57}/codna/findings.py +0 -0
  752. {codna-0.2.56 → codna-0.2.57}/codna/fix_inputs.py +0 -0
  753. {codna-0.2.56 → codna-0.2.57}/codna/fix_run.py +0 -0
  754. {codna-0.2.56 → codna-0.2.57}/codna/focus_paths.py +0 -0
  755. {codna-0.2.56 → codna-0.2.57}/codna/gate.py +0 -0
  756. {codna-0.2.56 → codna-0.2.57}/codna/gitpush.py +0 -0
  757. {codna-0.2.56 → codna-0.2.57}/codna/impact.py +0 -0
  758. {codna-0.2.56 → codna-0.2.57}/codna/impact_cli.py +0 -0
  759. {codna-0.2.56 → codna-0.2.57}/codna/keystore.py +0 -0
  760. {codna-0.2.56 → codna-0.2.57}/codna/local_client.py +0 -0
  761. {codna-0.2.56 → codna-0.2.57}/codna/local_mojo_daemon.py +0 -0
  762. {codna-0.2.56 → codna-0.2.57}/codna/local_mojo_pool.py +0 -0
  763. {codna-0.2.56 → codna-0.2.57}/codna/local_repository_shims.py +0 -0
  764. {codna-0.2.56 → codna-0.2.57}/codna/local_runtime.py +0 -0
  765. {codna-0.2.56 → codna-0.2.57}/codna/localfix.py +0 -0
  766. {codna-0.2.56 → codna-0.2.57}/codna/login.py +0 -0
  767. {codna-0.2.56 → codna-0.2.57}/codna/manifest.py +0 -0
  768. {codna-0.2.56 → codna-0.2.57}/codna/mcp_cli.py +0 -0
  769. {codna-0.2.56 → codna-0.2.57}/codna/mcp_install.py +0 -0
  770. {codna-0.2.56 → codna-0.2.57}/codna/mcp_server.py +0 -0
  771. {codna-0.2.56 → codna-0.2.57}/codna/memory.py +0 -0
  772. {codna-0.2.56 → codna-0.2.57}/codna/memory_manifest.py +0 -0
  773. {codna-0.2.56 → codna-0.2.57}/codna/memory_rerank.py +0 -0
  774. {codna-0.2.56 → codna-0.2.57}/codna/netjail.py +0 -0
  775. {codna-0.2.56 → codna-0.2.57}/codna/packaged_agent_runner.py +0 -0
  776. {codna-0.2.56 → codna-0.2.57}/codna/packaged_git.py +0 -0
  777. {codna-0.2.56 → codna-0.2.57}/codna/packaged_repository_advanced.py +0 -0
  778. {codna-0.2.56 → codna-0.2.57}/codna/packaged_repository_backend.py +0 -0
  779. {codna-0.2.56 → codna-0.2.57}/codna/patch_text.py +0 -0
  780. {codna-0.2.56 → codna-0.2.57}/codna/patchgen.py +0 -0
  781. {codna-0.2.56 → codna-0.2.57}/codna/policy.py +0 -0
  782. {codna-0.2.56 → codna-0.2.57}/codna/project_rules.py +0 -0
  783. {codna-0.2.56 → codna-0.2.57}/codna/python_import_paths.py +0 -0
  784. {codna-0.2.56 → codna-0.2.57}/codna/refengine.py +0 -0
  785. {codna-0.2.56 → codna-0.2.57}/codna/remote_http.py +0 -0
  786. {codna-0.2.56 → codna-0.2.57}/codna/repo_backend.py +0 -0
  787. {codna-0.2.56 → codna-0.2.57}/codna/report_cli.py +0 -0
  788. {codna-0.2.56 → codna-0.2.57}/codna/repository_artifacts.py +0 -0
  789. {codna-0.2.56 → codna-0.2.57}/codna/review_budget.py +0 -0
  790. {codna-0.2.56 → codna-0.2.57}/codna/review_findings.py +0 -0
  791. {codna-0.2.56 → codna-0.2.57}/codna/runtime/__init__.py +0 -0
  792. {codna-0.2.56 → codna-0.2.57}/codna/runtime/config.py +0 -0
  793. {codna-0.2.56 → codna-0.2.57}/codna/runtime/health.py +0 -0
  794. {codna-0.2.56 → codna-0.2.57}/codna/runtime/local_stack.py +0 -0
  795. {codna-0.2.56 → codna-0.2.57}/codna/runtime/ports.py +0 -0
  796. {codna-0.2.56 → codna-0.2.57}/codna/runtime/processes.py +0 -0
  797. {codna-0.2.56 → codna-0.2.57}/codna/runtime_config.py +0 -0
  798. {codna-0.2.56 → codna-0.2.57}/codna/sandbox.py +0 -0
  799. {codna-0.2.56 → codna-0.2.57}/codna/sarif.py +0 -0
  800. {codna-0.2.56 → codna-0.2.57}/codna/scaffold.py +0 -0
  801. {codna-0.2.56 → codna-0.2.57}/codna/secure.py +0 -0
  802. {codna-0.2.56 → codna-0.2.57}/codna/secure_open_pr_cli.py +0 -0
  803. {codna-0.2.56 → codna-0.2.57}/codna/status.py +0 -0
  804. {codna-0.2.56 → codna-0.2.57}/codna/supervisor.py +0 -0
  805. {codna-0.2.56 → codna-0.2.57}/codna/telys_onboarding.py +0 -0
  806. {codna-0.2.56 → codna-0.2.57}/codna/telys_runtime.py +0 -0
  807. {codna-0.2.56 → codna-0.2.57}/codna/testrun.py +0 -0
  808. {codna-0.2.56 → codna-0.2.57}/codna/webhook.py +0 -0
  809. {codna-0.2.56 → codna-0.2.57}/codna/webhook_ci_triage.py +0 -0
  810. {codna-0.2.56 → codna-0.2.57}/codna/webhook_cli.py +0 -0
  811. {codna-0.2.56 → codna-0.2.57}/codna/webhook_metering.py +0 -0
  812. {codna-0.2.56 → codna-0.2.57}/codna/webhook_procs.py +0 -0
  813. {codna-0.2.56 → codna-0.2.57}/codna/webhook_resume.py +0 -0
  814. {codna-0.2.56 → codna-0.2.57}/codna/webhook_summaries.py +0 -0
  815. {codna-0.2.56 → codna-0.2.57}/codna/worker.py +0 -0
  816. {codna-0.2.56 → codna-0.2.57}/codna/worktree.py +0 -0
  817. {codna-0.2.56 → codna-0.2.57}/codna/writer.py +0 -0
  818. {codna-0.2.56 → codna-0.2.57}/codna.egg-info/SOURCES.txt +0 -0
  819. {codna-0.2.56 → codna-0.2.57}/codna.egg-info/dependency_links.txt +0 -0
  820. {codna-0.2.56 → codna-0.2.57}/codna.egg-info/entry_points.txt +0 -0
  821. {codna-0.2.56 → codna-0.2.57}/codna.egg-info/requires.txt +0 -0
  822. {codna-0.2.56 → codna-0.2.57}/codna.egg-info/top_level.txt +0 -0
  823. {codna-0.2.56 → codna-0.2.57}/memengine/__init__.py +0 -0
  824. {codna-0.2.56 → codna-0.2.57}/memengine/_validate.py +0 -0
  825. {codna-0.2.56 → codna-0.2.57}/memengine/native_runtime.py +0 -0
  826. {codna-0.2.56 → codna-0.2.57}/setup.cfg +0 -0
  827. {codna-0.2.56 → codna-0.2.57}/setup.py +0 -0
  828. {codna-0.2.56 → codna-0.2.57}/tests/test_admission_control.py +0 -0
  829. {codna-0.2.56 → codna-0.2.57}/tests/test_agent_core_runtime.py +0 -0
  830. {codna-0.2.56 → codna-0.2.57}/tests/test_bench_driver_lazy_resolution.py +0 -0
  831. {codna-0.2.56 → codna-0.2.57}/tests/test_bench_env.py +0 -0
  832. {codna-0.2.56 → codna-0.2.57}/tests/test_benchmark_parity_imports.py +0 -0
  833. {codna-0.2.56 → codna-0.2.57}/tests/test_benchmark_suite.py +0 -0
  834. {codna-0.2.56 → codna-0.2.57}/tests/test_ci_admission.py +0 -0
  835. {codna-0.2.56 → codna-0.2.57}/tests/test_cli_doctor.py +0 -0
  836. {codna-0.2.56 → codna-0.2.57}/tests/test_cli_fix.py +0 -0
  837. {codna-0.2.56 → codna-0.2.57}/tests/test_cli_parser.py +0 -0
  838. {codna-0.2.56 → codna-0.2.57}/tests/test_cli_register.py +0 -0
  839. {codna-0.2.56 → codna-0.2.57}/tests/test_cli_surface_parity.py +0 -0
  840. {codna-0.2.56 → codna-0.2.57}/tests/test_cline_agent_unparseable_details.py +0 -0
  841. {codna-0.2.56 → codna-0.2.57}/tests/test_cline_fork_guard.py +0 -0
  842. {codna-0.2.56 → codna-0.2.57}/tests/test_codeunits.py +0 -0
  843. {codna-0.2.56 → codna-0.2.57}/tests/test_codeunits_treesitter.py +0 -0
  844. {codna-0.2.56 → codna-0.2.57}/tests/test_config_file.py +0 -0
  845. {codna-0.2.56 → codna-0.2.57}/tests/test_dev_check_script.py +0 -0
  846. {codna-0.2.56 → codna-0.2.57}/tests/test_dockerfile_webhook.py +0 -0
  847. {codna-0.2.56 → codna-0.2.57}/tests/test_dockerignore.py +0 -0
  848. {codna-0.2.56 → codna-0.2.57}/tests/test_doctor.py +0 -0
  849. {codna-0.2.56 → codna-0.2.57}/tests/test_download_telys_runtime_bundle.py +0 -0
  850. {codna-0.2.56 → codna-0.2.57}/tests/test_engine.py +0 -0
  851. {codna-0.2.56 → codna-0.2.57}/tests/test_engine_contract_integration.py +0 -0
  852. {codna-0.2.56 → codna-0.2.57}/tests/test_evasion.py +0 -0
  853. {codna-0.2.56 → codna-0.2.57}/tests/test_evidence.py +0 -0
  854. {codna-0.2.56 → codna-0.2.57}/tests/test_evidence_io.py +0 -0
  855. {codna-0.2.56 → codna-0.2.57}/tests/test_extract_nul.py +0 -0
  856. {codna-0.2.56 → codna-0.2.57}/tests/test_fix_inputs_remote.py +0 -0
  857. {codna-0.2.56 → codna-0.2.57}/tests/test_fix_run.py +0 -0
  858. {codna-0.2.56 → codna-0.2.57}/tests/test_gate.py +0 -0
  859. {codna-0.2.56 → codna-0.2.57}/tests/test_gitpush.py +0 -0
  860. {codna-0.2.56 → codna-0.2.57}/tests/test_impact.py +0 -0
  861. {codna-0.2.56 → codna-0.2.57}/tests/test_impact_cli.py +0 -0
  862. {codna-0.2.56 → codna-0.2.57}/tests/test_keys_file_dev_only.py +0 -0
  863. {codna-0.2.56 → codna-0.2.57}/tests/test_keystore.py +0 -0
  864. {codna-0.2.56 → codna-0.2.57}/tests/test_local_byok_cli.py +0 -0
  865. {codna-0.2.56 → codna-0.2.57}/tests/test_local_client.py +0 -0
  866. {codna-0.2.56 → codna-0.2.57}/tests/test_local_mojo_daemon.py +0 -0
  867. {codna-0.2.56 → codna-0.2.57}/tests/test_local_mojo_pool_runtime.py +0 -0
  868. {codna-0.2.56 → codna-0.2.57}/tests/test_local_runtime.py +0 -0
  869. {codna-0.2.56 → codna-0.2.57}/tests/test_local_runtime_lifecycle.py +0 -0
  870. {codna-0.2.56 → codna-0.2.57}/tests/test_localfix.py +0 -0
  871. {codna-0.2.56 → codna-0.2.57}/tests/test_login.py +0 -0
  872. {codna-0.2.56 → codna-0.2.57}/tests/test_manifest.py +0 -0
  873. {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_default_repo.py +0 -0
  874. {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_enrich.py +0 -0
  875. {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_install.py +0 -0
  876. {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_recall.py +0 -0
  877. {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_report_bug.py +0 -0
  878. {codna-0.2.56 → codna-0.2.57}/tests/test_mcp_secure.py +0 -0
  879. {codna-0.2.56 → codna-0.2.57}/tests/test_memory_errors.py +0 -0
  880. {codna-0.2.56 → codna-0.2.57}/tests/test_memory_hybrid.py +0 -0
  881. {codna-0.2.56 → codna-0.2.57}/tests/test_memory_incremental.py +0 -0
  882. {codna-0.2.56 → codna-0.2.57}/tests/test_memory_license.py +0 -0
  883. {codna-0.2.56 → codna-0.2.57}/tests/test_memory_rerank.py +0 -0
  884. {codna-0.2.56 → codna-0.2.57}/tests/test_memory_wordllama_rerank.py +0 -0
  885. {codna-0.2.56 → codna-0.2.57}/tests/test_memory_wrapper.py +0 -0
  886. {codna-0.2.56 → codna-0.2.57}/tests/test_modularity.py +0 -0
  887. {codna-0.2.56 → codna-0.2.57}/tests/test_netjail.py +0 -0
  888. {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_confidence.py +0 -0
  889. {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_git_clone.py +0 -0
  890. {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_guidance.py +0 -0
  891. {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_remote_pr.py +0 -0
  892. {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_runner_review_terminal_state.py +0 -0
  893. {codna-0.2.56 → codna-0.2.57}/tests/test_packaged_test_fix_scope.py +0 -0
  894. {codna-0.2.56 → codna-0.2.57}/tests/test_packaging.py +0 -0
  895. {codna-0.2.56 → codna-0.2.57}/tests/test_patch_text.py +0 -0
  896. {codna-0.2.56 → codna-0.2.57}/tests/test_patchgen.py +0 -0
  897. {codna-0.2.56 → codna-0.2.57}/tests/test_policy.py +0 -0
  898. {codna-0.2.56 → codna-0.2.57}/tests/test_refengine.py +0 -0
  899. {codna-0.2.56 → codna-0.2.57}/tests/test_release_readiness.py +0 -0
  900. {codna-0.2.56 → codna-0.2.57}/tests/test_repo_backend.py +0 -0
  901. {codna-0.2.56 → codna-0.2.57}/tests/test_report_cli.py +0 -0
  902. {codna-0.2.56 → codna-0.2.57}/tests/test_repository_artifacts.py +0 -0
  903. {codna-0.2.56 → codna-0.2.57}/tests/test_review_budget.py +0 -0
  904. {codna-0.2.56 → codna-0.2.57}/tests/test_review_error_details.py +0 -0
  905. {codna-0.2.56 → codna-0.2.57}/tests/test_runtime_config.py +0 -0
  906. {codna-0.2.56 → codna-0.2.57}/tests/test_runtime_ports.py +0 -0
  907. {codna-0.2.56 → codna-0.2.57}/tests/test_runtime_processes.py +0 -0
  908. {codna-0.2.56 → codna-0.2.57}/tests/test_sandbox.py +0 -0
  909. {codna-0.2.56 → codna-0.2.57}/tests/test_sarif.py +0 -0
  910. {codna-0.2.56 → codna-0.2.57}/tests/test_scaffold_and_status.py +0 -0
  911. {codna-0.2.56 → codna-0.2.57}/tests/test_secure.py +0 -0
  912. {codna-0.2.56 → codna-0.2.57}/tests/test_stage_codna_telys_oem_license.py +0 -0
  913. {codna-0.2.56 → codna-0.2.57}/tests/test_stage_codna_telys_runtime.py +0 -0
  914. {codna-0.2.56 → codna-0.2.57}/tests/test_structured_error.py +0 -0
  915. {codna-0.2.56 → codna-0.2.57}/tests/test_supervisor.py +0 -0
  916. {codna-0.2.56 → codna-0.2.57}/tests/test_sync_wheel_memengine.py +0 -0
  917. {codna-0.2.56 → codna-0.2.57}/tests/test_telys_onboarding.py +0 -0
  918. {codna-0.2.56 → codna-0.2.57}/tests/test_telys_runtime_packaging.py +0 -0
  919. {codna-0.2.56 → codna-0.2.57}/tests/test_testrun.py +0 -0
  920. {codna-0.2.56 → codna-0.2.57}/tests/test_verify_pypi_trusted_publisher.py +0 -0
  921. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook.py +0 -0
  922. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_ci_triage.py +0 -0
  923. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_feedback_dispatch.py +0 -0
  924. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_github_ci.py +0 -0
  925. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_metering.py +0 -0
  926. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_resume.py +0 -0
  927. {codna-0.2.56 → codna-0.2.57}/tests/test_webhook_worker_feedback_dispatch.py +0 -0
  928. {codna-0.2.56 → codna-0.2.57}/tests/test_wheel_guard.py +0 -0
  929. {codna-0.2.56 → codna-0.2.57}/tests/test_wheel_smoke_script.py +0 -0
  930. {codna-0.2.56 → codna-0.2.57}/tests/test_worker.py +0 -0
  931. {codna-0.2.56 → codna-0.2.57}/tests/test_workflows.py +0 -0
  932. {codna-0.2.56 → codna-0.2.57}/tests/test_worktree.py +0 -0
  933. {codna-0.2.56 → codna-0.2.57}/tests/test_writer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codna
3
- Version: 0.2.56
3
+ Version: 0.2.57
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.56"
8
+ __version__ = "0.2.57"
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Status: **proposal for review** (no code yet). Principle: drive the agent loop with the
4
4
  > vendored Apache-2.0 Cline SDK end to end; plug the Algenta engine (250-language repo
5
- > intelligence + the Mojo decision engine + the capability plane) **behind** it as tools,
5
+ > intelligence + the Mojo runtime + the capability plane) **behind** it as tools,
6
6
  > hooks, and MCP — not a re-implementation. Boundary stays self-hosted HTTP
7
7
  > (see `project_sdk_transport_boundary`): Cline (Node head) calls the Algenta engine over
8
8
  > the local `/v1/repositories` + capability-plane API; no cloud.
@@ -9,6 +9,7 @@ triage (suspect files/symbols + context reduction).
9
9
  from __future__ import annotations
10
10
 
11
11
  import os
12
+ import re
12
13
  import shutil
13
14
  import subprocess
14
15
 
@@ -55,6 +56,30 @@ def _env_check_run_id() -> int | None:
55
56
  return int(raw) if raw.isdigit() else None
56
57
 
57
58
 
59
+ _SHA_RE = re.compile(r"[0-9a-f]{7,40}")
60
+
61
+
62
+ def _env_check_run_head_sha() -> str | None:
63
+ """``CODNA_CHECK_RUN_HEAD_SHA``: the commit the caller anchored that Check Run to, reported back
64
+ in ``--json`` (``posted.check_head_sha``) next to the head this review actually read, so a
65
+ caller can see the two disagree (thyn-ai/codna#569). Unset or not a SHA -> None."""
66
+ raw = os.environ.get("CODNA_CHECK_RUN_HEAD_SHA", "").strip().lower()
67
+ return raw if _SHA_RE.fullmatch(raw) else None
68
+
69
+
70
+ def _pr_head_now(repo_slug: str | None, pr_number: int | None, token: str | None) -> str | None:
71
+ """The pull request's head at this moment, or None when it cannot be read. Read right before
72
+ posting: a head that moved while the review ran must not receive the review's approval."""
73
+ if not (repo_slug and pr_number):
74
+ return None
75
+ from . import review_github as rg
76
+
77
+ try:
78
+ return rg.fetch_pr(repo_slug, pr_number, token).get("head_sha") or None
79
+ except Exception: # noqa: BLE001 -- best-effort; an unreadable head is reported as unknown, never as moved
80
+ return None
81
+
82
+
58
83
  def _wrapped_details(exc: BaseException) -> dict[str, object]:
59
84
  """Structured detail carried by a wrapped error, if it has any.
60
85
 
@@ -294,7 +319,9 @@ def run_findings_review(args) -> dict:
294
319
  _fail("--post needs a write token: pass --github-token or set GITHUB_TOKEN.")
295
320
  try:
296
321
  out["posted"] = rg.post_review(result, repo_slug=repo_slug, pr_number=pr_number, token=token,
297
- check_run_id=_env_check_run_id(), approve=cfg.approve_clean)
322
+ check_run_id=_env_check_run_id(), approve=cfg.approve_clean,
323
+ check_head_sha=_env_check_run_head_sha(),
324
+ pr_head_sha=_pr_head_now(repo_slug, pr_number, token))
298
325
  except Exception as exc: # noqa: BLE001
299
326
  _fail(f"posting the review failed: {exc}")
300
327
  return out
@@ -431,9 +431,16 @@ def parse_pr_arg(value: str, repo_dir: str) -> tuple[str | None, int | None]:
431
431
  return repo_slug_from_git(repo_dir), None
432
432
 
433
433
 
434
+ def head_moved_note(reviewed: str, current: str) -> str:
435
+ """The approval line when the pull request's head is no longer the one this review read."""
436
+ return (f"⏸ Not approved: the pull request head moved from {reviewed[:8]} to {current[:8]} while this "
437
+ f"review ran; the current head gets a review of its own.")
438
+
439
+
434
440
  def post_review(
435
441
  result: ReviewResult, *, repo_slug: str, pr_number: int, token: str, dedup: bool = True,
436
442
  check_run_id: int | None = None, approve: bool = True,
443
+ check_head_sha: str | None = None, pr_head_sha: str | None = None,
437
444
  ) -> dict:
438
445
  """Post ONE review (+ the "codna review" check) to the PR. Returns a small status dict.
439
446
 
@@ -441,6 +448,14 @@ def post_review(
441
448
  APPROVE -- see :func:`review_event` for exactly when. A PR the App itself authored cannot be
442
449
  approved by the App (GitHub answers 422); that case falls back to a COMMENT.
443
450
 
451
+ ``pr_head_sha`` is the pull request's head as the caller read it right before posting. When it
452
+ differs from ``result.head_sha`` the head moved while the review ran: the review is still posted
453
+ against the commit it read, but never as an APPROVE -- a pull request approval counts for the
454
+ whole pull request, and nobody reviewed the new head (thyn-ai/codna#569). ``check_head_sha`` is
455
+ the commit the caller's ``check_run_id`` is anchored to. Both are returned as they are (None =
456
+ unknown), next to the reviewed head, so a caller of ``codna review --json`` can see the three
457
+ disagree; when this function creates the check itself, it is anchored to the reviewed head.
458
+
444
459
  ``dedup`` fetches existing PR review comments and skips fingerprints Codna already posted, so a
445
460
  re-run on the same head does not duplicate threads. ``check_run_id`` (the webhook passes it as
446
461
  ``CODNA_CHECK_RUN_ID``) is a Check Run the caller already opened for this review: it is
@@ -484,6 +499,15 @@ def post_review(
484
499
  # body is still a finding of this pass.
485
500
  event = review_event(result, unresolved_blocking=unresolved, approve=approve)
486
501
  note = approval_note(event, result, unresolved, approve=approve)
502
+ head_moved = bool(pr_head_sha and result.head_sha and pr_head_sha != result.head_sha)
503
+ if head_moved:
504
+ # The verdict is about the commit this review read; the pull request's head is another one.
505
+ # Findings still go up (they are anchored to the reviewed commit), an approval does not.
506
+ moved = head_moved_note(str(result.head_sha), str(pr_head_sha))
507
+ if event == "APPROVE":
508
+ event, note = "COMMENT", moved
509
+ else:
510
+ note = f"{note} {moved}"
487
511
 
488
512
  inline_found = len(result.inline_findings)
489
513
  demoted = 0
@@ -565,4 +589,8 @@ def post_review(
565
589
  "skipped_duplicates": inline_found - len(payload["comments"]) - demoted,
566
590
  "demoted_to_summary": demoted,
567
591
  "check": check,
592
+ # The three commits a caller needs to compare: what the check is on, what was reviewed
593
+ # (``head_sha`` in the enclosing result) and where the pull request stands now.
594
+ "check_head_sha": check_head_sha if check_run_id is not None else result.head_sha,
595
+ "pr_head_sha": pr_head_sha,
568
596
  }
@@ -137,6 +137,19 @@ class JobHandle:
137
137
  self._token = token or self._token
138
138
  self._check_run_id = check_run_id if check_run_id is not None else self._check_run_id
139
139
 
140
+ def retarget(self, ref: str) -> None:
141
+ """Record the head this job actually works on, once the worker has resolved it.
142
+
143
+ A review job is registered with the head its EVENT carried, but it reviews the pull
144
+ request's head as of its start (``review._materialize_pr`` fetches ``pull/N/head``), and
145
+ the worker anchors its Check Run there (thyn-ai/codna#569). Superseding compares against
146
+ this ref, so it has to be the reviewed head: otherwise the late-delivered event for that
147
+ very head would cancel the job already reviewing it, and ``/healthz`` would name a commit
148
+ the job is not looking at.
149
+ """
150
+ with self._lock:
151
+ self.ref = ref
152
+
140
153
  def finalize(self) -> bool:
141
154
  """True for exactly one caller: whoever gets it owns writing this job's terminal queue row.
142
155
 
@@ -268,17 +268,21 @@ def complete_check_run_if_open(repo_full_name: str, token: str, check_run_id: in
268
268
 
269
269
 
270
270
  def complete_stale_check_runs(
271
- repo_full_name: str, token: str, *, head_sha: str, name: str, summary: str
271
+ repo_full_name: str, token: str, *, head_sha: str, name: str, summary: str,
272
+ conclusion: str = "cancelled",
272
273
  ) -> int:
273
- """Complete (as ``cancelled``) every still-``in_progress`` Check Run named ``name`` on
274
- ``head_sha``. Returns how many were closed. Best-effort hygiene: never raises.
274
+ """Complete (as ``conclusion``, default ``cancelled``) every still-``in_progress`` Check Run
275
+ named ``name`` on ``head_sha``. Returns how many were closed. Best-effort hygiene: never raises.
275
276
 
276
277
  A run this worker opened and then lost -- killed mid-job by a redeploy, or a crash before
277
278
  update_check_run -- stays "in progress" on that commit forever, because only the App that
278
279
  created a Check Run may complete it and nothing else ever will. Observed live:
279
280
  thyn-ai/algenta@cc26ddd6 `codna fix` in_progress from 2026-09-17 04:49 onward. Called right
280
281
  before a fresh run is created for the same (sha, name), so a retry supersedes its dead
281
- predecessor instead of stacking a second spinner next to it.
282
+ predecessor instead of stacking a second spinner next to it -- and, as ``neutral``, on the
283
+ event SHA of a review whose pull request head had already moved when the job started
284
+ (thyn-ai/codna#569): a run left ``in_progress`` on a commit nobody is merging still strands
285
+ automation that waits for "all checks complete".
282
286
  """
283
287
  try:
284
288
  import httpx
@@ -306,7 +310,7 @@ def complete_stale_check_runs(
306
310
  continue
307
311
  try:
308
312
  update_check_run(
309
- repo_full_name, token, run_id, conclusion="cancelled", summary=summary, name=name
313
+ repo_full_name, token, run_id, conclusion=conclusion, summary=summary, name=name
310
314
  )
311
315
  closed += 1
312
316
  except Exception: # noqa: BLE001 — someone else's run, already completed, or a transport error
@@ -226,6 +226,9 @@ class WorkerPool:
226
226
  self._queue.complete(qjob.row_id, status="done" if result.ok else "failed",
227
227
  result={"summary": result.summary, "attempt": qjob.attempts},
228
228
  retry=result.retryable, retry_after_s=result.retry_after_s)
229
+ # A review whose pull request head moved while it ran: the head it did NOT review is
230
+ # queued now, after this row is terminal, so nothing about it can hold the row open.
231
+ webhook_worker.requeue_moved_head(qjob, result, self._queue)
229
232
  except WebhookError as exc:
230
233
  webhook_worker._log_worker_failure(qjob, code=exc.code, message=str(exc))
231
234
  if self._may_finalize(handle):
@@ -155,11 +155,17 @@ class WebhookQueue:
155
155
  )
156
156
  return ids
157
157
 
158
- def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0) -> bool:
158
+ def enqueue(self, job: WebhookJob, *, delivery_id: str | None, priority: int = 0,
159
+ unless_pending: bool = False) -> bool:
159
160
  """Insert a job. Returns False if this delivery_id was already enqueued (dedup), or if it
160
161
  is a CI-failure fix for a (repo, ref) that already has one queued, running, or finished in
161
162
  the last 24 h -- every red check_suite on a PR head fires its own delivery, and one fix
162
- attempt per head is all that can ever be useful."""
163
+ attempt per head is all that can ever be useful.
164
+
165
+ ``unless_pending`` also returns False when a job of this kind for exactly this pull request
166
+ head is already queued, retrying or running -- decided INSIDE the insert's own transaction,
167
+ so a delivery for that head landing between the check and the insert cannot slip a second
168
+ row in (the worker's requeue of a head that moved under a review, thyn-ai/codna#569)."""
163
169
  if job.reason == "check_suite_failure" and job.ref:
164
170
  cutoff = (datetime.now(timezone.utc) - timedelta(hours=24)).isoformat()
165
171
  with self._conn() as conn:
@@ -176,6 +182,10 @@ class WebhookQueue:
176
182
  # forever, and the pool would work through commits that no longer exist.
177
183
  conn.execute("BEGIN IMMEDIATE")
178
184
  try:
185
+ if unless_pending and self._pending_within(conn, repo=job.repo_full_name, pr_number=job.pr_number,
186
+ ref=job.ref, kind=job.kind):
187
+ conn.execute("COMMIT")
188
+ return False
179
189
  cur = conn.execute(
180
190
  "INSERT OR IGNORE INTO jobs "
181
191
  "(delivery_id, kind, repo, ref, installation_id, issue_number, pr_number, context, "
@@ -207,6 +217,27 @@ class WebhookQueue:
207
217
  raise
208
218
  return inserted
209
219
 
220
+ @staticmethod
221
+ def _pending_within(conn: sqlite3.Connection, *, repo: str, pr_number: int | None, ref: str | None,
222
+ kind: str) -> bool:
223
+ """The ``has_pending`` predicate inside a transaction the CALLER owns (see ``enqueue``)."""
224
+ if not repo or pr_number is None or not ref:
225
+ return False
226
+ row = conn.execute(
227
+ "SELECT 1 FROM jobs WHERE repo=? AND pr_number=? AND kind=? AND ref=? "
228
+ "AND status IN ('queued','retry','running') LIMIT 1",
229
+ (repo, pr_number, kind, ref),
230
+ ).fetchone()
231
+ return row is not None
232
+
233
+ def has_pending(self, *, repo: str, pr_number: int | None, ref: str | None, kind: str) -> bool:
234
+ """Whether a job of ``kind`` for exactly this pull request head is already waiting or
235
+ running (thyn-ai/codna#569: one review of a head is all that is ever useful). A read for
236
+ diagnostics and tests; a caller about to INSERT uses ``enqueue(unless_pending=True)``, which
237
+ asks the same question inside the insert's transaction."""
238
+ with self._conn() as conn:
239
+ return self._pending_within(conn, repo=repo, pr_number=pr_number, ref=ref, kind=kind)
240
+
210
241
  def claim(self, *, reserve_priority: bool = False) -> QueuedJob | None:
211
242
  """Atomically claim the next runnable job (retryable rows included). None if empty.
212
243
 
@@ -26,7 +26,7 @@ import socket
26
26
  import subprocess
27
27
  import sys
28
28
  import tempfile
29
- from dataclasses import dataclass
29
+ from dataclasses import dataclass, replace
30
30
  from pathlib import Path
31
31
  from typing import Any, Callable
32
32
 
@@ -117,6 +117,9 @@ class JobResult:
117
117
  check_completed: bool = False # the CLI already completed the job's Check Run (a review's findings)
118
118
  neutral: bool = False # settled non-run (the sandbox cannot run the repo's tests): ok, check ends neutral
119
119
  cancelled: bool = False # stopped from outside (head moved, or the job deadline): never a failure
120
+ # A review found the pull request head had moved while it ran: the check on the reviewed
121
+ # commit stands, and this head needs a review of its own. The pool queues it (requeue_moved_head).
122
+ requeue_head: str | None = None
120
123
 
121
124
  @property
122
125
  def conclusion(self) -> str:
@@ -281,7 +284,7 @@ def _job_env(
281
284
  token: str | None, engine_key: str | None,
282
285
  provider: str | None = None, provider_key: str | None = None,
283
286
  *, tmp: str | None = None, git_identity: tuple[str, str] | None = None,
284
- check_run_id: int | None = None,
287
+ check_run_id: int | None = None, check_head_sha: str | None = None,
285
288
  ) -> dict[str, str]:
286
289
  """Minimal allowlisted env + the scoped GitHub token, per-org Codna key, and (when the
287
290
  linked org has configured one) their own BYOK provider key — set consistently regardless of
@@ -316,6 +319,10 @@ def _job_env(
316
319
  # The Check Run this job opened. `codna review --post` completes THAT run with its findings
317
320
  # instead of opening a second one, so a review shows as ONE "codna review" check.
318
321
  env["CODNA_CHECK_RUN_ID"] = str(check_run_id)
322
+ if check_head_sha:
323
+ # The commit that run is anchored to, so the CLI's `--json` output can say whether the
324
+ # check, the reviewed head and the pull request's head agree (review_github.post_review).
325
+ env["CODNA_CHECK_RUN_HEAD_SHA"] = check_head_sha
319
326
  return env
320
327
 
321
328
 
@@ -323,6 +330,7 @@ def run_codna_job(job: WebhookJob, *, token: str | None, engine_key: str | None,
323
330
  provider: str | None = None, provider_key: str | None = None,
324
331
  codna_bin: str = "codna", git_identity: tuple[str, str] | None = None,
325
332
  check_run_id: int | None = None, control: JobHandle | None = None,
333
+ check_head_sha: str | None = None,
326
334
  ) -> JobResult:
327
335
  """Default runner: run packaged codna for the job in an isolated, scrubbed workspace.
328
336
 
@@ -379,7 +387,7 @@ def run_codna_job(job: WebhookJob, *, token: str | None, engine_key: str | None,
379
387
  try:
380
388
  proc = _run_job_process(
381
389
  argv, env=_job_env(token, engine_key, provider, provider_key, tmp=tmp, git_identity=git_identity,
382
- check_run_id=check_run_id),
390
+ check_run_id=check_run_id, check_head_sha=check_head_sha),
383
391
  cwd=tmp, timeout=_JOB_TIMEOUT_S,
384
392
  on_process=control.attach_process if control is not None else None,
385
393
  )
@@ -422,6 +430,103 @@ def run_codna_job(job: WebhookJob, *, token: str | None, engine_key: str | None,
422
430
  check_completed=completed)
423
431
 
424
432
 
433
+ def _current_pr_head(job: WebhookJob, token: str, github: Any) -> str | None:
434
+ """The pull request's head right now, or None when the client cannot say (no helper, an API
435
+ error). Never raises: the caller falls back to the head the event carried."""
436
+ lookup = getattr(github, "pull_request_head_sha", None)
437
+ if not callable(lookup) or not job.pr_number:
438
+ return None
439
+ try:
440
+ head = lookup(job.repo_full_name, token, job.pr_number)
441
+ except Exception: # noqa: BLE001 -- a lookup hiccup must not fail the job; the event head still works
442
+ return None
443
+ return str(head) if head else None
444
+
445
+
446
+ def _review_head_at_start(qjob: QueuedJob, token: str, github: Any, control: JobHandle | None) -> str | None:
447
+ """Resolve the head a review job is about to review, so its Check Run is anchored THERE.
448
+
449
+ The review reads the pull request's CURRENT head (``review._materialize_pr`` fetches
450
+ ``pull/N/head``), not the SHA the queued event carried; when the head moved between the event
451
+ and this job starting -- a rebase while the queue was saturated, or a late delivery -- a check
452
+ created on the event SHA lands on a commit that is no longer the head. The branch ruleset then
453
+ sees the required `codna review` as ABSENT and an approved pull request stays BLOCKED
454
+ (thyn-ai/algenta#1085: event head 7679ecbe, reviewed head 5a3ba5ff, check on 7679ecbe;
455
+ thyn-ai/codna#569). Superseding covers the case where the NEW head's event arrives; this
456
+ covers the case where it does not.
457
+
458
+ When the head moved, any run this App still has ``in_progress`` on the event SHA is completed
459
+ ``neutral`` -- left open it would strand automation waiting for "all checks complete" on a
460
+ commit nobody is merging -- and the job's cancellation handle is retargeted so the late event
461
+ for the resolved head does not supersede the job already reviewing it. Returns None when the
462
+ head cannot be read: the caller keeps the event head, which is today's behaviour.
463
+ """
464
+ job = qjob.job
465
+ head = _current_pr_head(job, token, github)
466
+ if not head:
467
+ return None
468
+ name = check_run_name(job.kind)
469
+ if job.ref and head != job.ref:
470
+ _log_worker_phase(qjob, "head_moved_before_start", event_head=job.ref, head=head)
471
+ complete_stale = getattr(github, "complete_stale_check_runs", None)
472
+ if callable(complete_stale):
473
+ try:
474
+ complete_stale(
475
+ job.repo_full_name, token, head_sha=job.ref, name=name, conclusion="neutral",
476
+ summary=f"{name}: head moved to {head[:8]} before the review started; "
477
+ f"see the check on that commit.",
478
+ )
479
+ except Exception: # noqa: BLE001 -- hygiene on the stale commit must never block this job's own run
480
+ pass
481
+ if control is not None:
482
+ control.retarget(head)
483
+ return head
484
+
485
+
486
+ def _review_head_at_end(qjob: QueuedJob, token: str, github: Any, reviewed: str) -> str | None:
487
+ """The pull request's head if it moved away from ``reviewed`` during the turn, else None.
488
+
489
+ The review just posted is valid evidence for ``reviewed`` and its check stays there; the new
490
+ head needs a review of its own, which the pool queues from the returned value. Only a head the
491
+ lookup could read counts: an unreadable head is not a moved one.
492
+ """
493
+ head = _current_pr_head(qjob.job, token, github)
494
+ if not head or head == reviewed:
495
+ return None
496
+ _log_worker_phase(qjob, "head_moved_during_turn", reviewed_head=reviewed, head=head)
497
+ return head
498
+
499
+
500
+ def requeue_moved_head(qjob: QueuedJob, result: JobResult, queue: Any) -> bool:
501
+ """Queue a review of the head a review job found had moved under it. True when a row was added.
502
+
503
+ Priority 1 within the merge-gating class, like the boot reconciler's requeue: that head is
504
+ already waiting on a check the ruleset requires. Skipped when a job for exactly that head is
505
+ already queued or running -- the new head's own event may have arrived meanwhile -- decided by
506
+ the queue inside the insert's own transaction (``enqueue(unless_pending=True)``), so a delivery
507
+ landing in between cannot make it two; the enqueue's supersede retires whatever older heads are
508
+ still waiting. Best-effort: never raises.
509
+ """
510
+ head = result.requeue_head
511
+ job = qjob.job
512
+ if not head or job.kind != "review" or not job.pr_number or queue is None:
513
+ return False
514
+ enqueue = getattr(queue, "enqueue", None)
515
+ if not callable(enqueue):
516
+ return False
517
+ try:
518
+ added = bool(enqueue(
519
+ WebhookJob("review", job.repo_full_name, ref=head, pr_number=job.pr_number,
520
+ installation_id=job.installation_id, reason="head_moved_during_review"),
521
+ delivery_id=f"head-moved-{qjob.row_id}-{head}", priority=1, unless_pending=True,
522
+ ))
523
+ except Exception as exc: # noqa: BLE001 -- the review that just posted must not fail over this
524
+ _log_worker_phase(qjob, "head_moved_requeue_failed", head=head, error=type(exc).__name__)
525
+ return False
526
+ _log_worker_phase(qjob, "head_moved_requeued" if added else "head_moved_requeue_skipped", head=head)
527
+ return added
528
+
529
+
425
530
  def _inherit_review_for_merge_group(job: WebhookJob, token: str | None, github: Any) -> JobResult:
426
531
  """Post the PR head's completed ``codna review`` verdict as the merge group's own check.
427
532
 
@@ -645,7 +750,12 @@ def process_job(
645
750
 
646
751
  ci_note: str | None = None
647
752
  check_id = None
648
- if token and job.ref:
753
+ # The commit this job's Check Run is anchored to: the head the event carried -- except for a
754
+ # review, which reads the pull request's CURRENT head and must report there (#569).
755
+ check_sha = job.ref
756
+ if token and job.kind == "review" and job.pr_number:
757
+ check_sha = _review_head_at_start(qjob, token, github, control) or job.ref
758
+ if token and check_sha:
649
759
  # A retry (recover_stale after a restart, or attempt 2/3 after a crash) must supersede the
650
760
  # run its predecessor left "in progress" on this commit -- only this App can complete it,
651
761
  # so otherwise it spins forever next to the new one (thyn-ai/algenta@cc26ddd6 `codna fix`,
@@ -657,14 +767,14 @@ def process_job(
657
767
  # run of this name on the commit would be a concurrent sibling job's LIVE one.
658
768
  try:
659
769
  complete_stale(
660
- job.repo_full_name, token, head_sha=job.ref, name=check_run_name(job.kind),
770
+ job.repo_full_name, token, head_sha=check_sha, name=check_run_name(job.kind),
661
771
  summary=f"{check_run_name(job.kind)}: an earlier attempt was interrupted (worker restart); "
662
772
  f"superseded by a new run ({job.reason}).",
663
773
  )
664
774
  except Exception: # noqa: BLE001 — hygiene must never block creating this job's own run
665
775
  pass
666
776
  check_id = github.create_check_run(
667
- job.repo_full_name, token, name=check_run_name(job.kind), head_sha=job.ref,
777
+ job.repo_full_name, token, name=check_run_name(job.kind), head_sha=check_sha,
668
778
  summary=f"{check_run_name(job.kind)} started ({job.reason})",
669
779
  )
670
780
  if check_id and on_check_run:
@@ -691,7 +801,8 @@ def process_job(
691
801
  identity_fn = getattr(github, "app_bot_identity", None)
692
802
  git_identity = identity_fn(app_id, private_key) if callable(identity_fn) else None
693
803
  result = runner(job, token=token, engine_key=engine_key, provider=provider, provider_key=provider_key,
694
- git_identity=git_identity, check_run_id=check_id, control=control)
804
+ git_identity=git_identity, check_run_id=check_id, control=control,
805
+ check_head_sha=check_sha if check_id else None)
695
806
  except Exception as exc: # noqa: BLE001 — a check-run this function opened must always be
696
807
  # completed, even on a crash the runner itself didn't turn into a JobResult (run_codna_job
697
808
  # only catches subprocess.TimeoutExpired). Without this, check_id is created above but
@@ -705,13 +816,26 @@ def process_job(
705
816
  # GitHub refused it and the failure was swallowed. Close it here, through the same
706
817
  # never-clobber helper, so a cancelled job can never leave a required check `in_progress`.
707
818
  webhook_control.close_check_run(control, summary=result.summary, github=github)
819
+ moved_note: str | None = None
820
+ if job.kind == "review" and token and check_sha and not result.cancelled:
821
+ # Did the head move while the review ran? The check on the reviewed commit stands -- the
822
+ # review is evidence for THAT commit -- and the new head gets a review of its own, queued
823
+ # by the pool from ``requeue_head``. Never an approval carried onto a head nobody reviewed:
824
+ # the CLI's own post-time head check downgrades one (review_github.post_review). A cancelled
825
+ # job is left alone: whatever superseded it is already driving the new head.
826
+ moved_to = _review_head_at_end(qjob, token, github, check_sha)
827
+ if moved_to:
828
+ result = replace(result, requeue_head=moved_to)
829
+ moved_note = (f"The pull request head has since moved to {moved_to[:8]}; that head is queued "
830
+ f"for its own {check_run_name(job.kind)} run.")
708
831
  if check_id and token and not result.check_completed:
709
832
  # A review's CLI already completed this run with its findings (see _job_env): overwriting it
710
833
  # here would replace the findings with a one-line wrapper summary.
711
834
  github.update_check_run(
712
835
  job.repo_full_name, token, check_id,
713
836
  conclusion=result.conclusion,
714
- summary=result.summary + (f"\n\n{ci_note}" if ci_note else ""), name=check_run_name(job.kind),
837
+ summary=result.summary + "".join(f"\n\n{note}" for note in (ci_note, moved_note) if note),
838
+ name=check_run_name(job.kind),
715
839
  )
716
840
  # An issue-label fix has neither a commit (no check_id: job.ref is never set for this trigger)
717
841
  # nor a comment thread (no reply_to) to report through, so the issue itself is the ONLY place it
@@ -821,15 +945,17 @@ def _log_worker_failure(qjob: QueuedJob, *, code: str, message: str) -> None:
821
945
  print(json.dumps(payload, sort_keys=True), file=sys.stderr, flush=True)
822
946
 
823
947
 
824
- def _log_worker_phase(qjob: QueuedJob, phase: str) -> None:
948
+ def _log_worker_phase(qjob: QueuedJob, phase: str, **fields: object) -> None:
825
949
  """One stderr JSON line per job phase, so a stalled job is locatable from `fly logs`.
826
950
 
827
951
  Until now a job only ever logged its FAILURE. A job that wedged (or was killed) between claim
828
952
  and its first visible action left no trace at all: on 2026-09-17 two `@codna fix` jobs sat
829
953
  silent for hours with `/ready` green, and there was nothing to grep for. `event` differs from
830
- the failure line's so the two never get confused in a filter.
954
+ the failure line's so the two never get confused in a filter. ``fields`` are extra keys a
955
+ phase wants on record (the two heads of a move, for one).
831
956
  """
832
957
  payload = _job_log_context(qjob)
958
+ payload.update(fields)
833
959
  payload["event"] = "job_phase"
834
960
  payload["phase"] = phase
835
961
  print(json.dumps(payload, sort_keys=True), file=sys.stderr, flush=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codna
3
- Version: 0.2.56
3
+ Version: 0.2.57
4
4
  Summary: Local-first repo intelligence and agent fixing for Codna.
5
5
  Author: Thyn
6
6
  Maintainer: Thyn
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codna"
3
- version = "0.2.56"
3
+ version = "0.2.57"
4
4
  description = "Local-first repo intelligence and agent fixing for Codna."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -1255,3 +1255,124 @@ def test_post_review_retry_does_not_repeat_a_finding_already_threaded_on_the_pr(
1255
1255
  assert "already threaded" not in posts[-1]["body"] and threaded.fingerprint not in posts[-1]["body"]
1256
1256
  assert out["event"] == "COMMENT" # the medium finding still counts
1257
1257
  assert (out["inline_posted"], out["skipped_duplicates"], out["demoted_to_summary"]) == (0, 1, 1)
1258
+
1259
+
1260
+ # ---- codna#569: the check's anchor, the reviewed head and the PR's head, side by side -------------
1261
+ _REVIEWED = "h" * 40 # _ar().head_sha
1262
+ _MOVED_TO = "5a3ba5ff" + "0" * 32
1263
+
1264
+
1265
+ def _capture_check_summaries(monkeypatch):
1266
+ from codna import webhook_github
1267
+ summaries = []
1268
+ monkeypatch.setattr(webhook_github, "create_check_run", lambda *a, **k: 777)
1269
+ monkeypatch.setattr(webhook_github, "update_check_run", lambda *a, **k: summaries.append(k["summary"]))
1270
+ monkeypatch.setattr(rg, "fetch_pr_files", lambda *a, **k: None)
1271
+ return summaries
1272
+
1273
+
1274
+ def test_post_review_reports_the_check_anchor_and_the_pr_head_next_to_the_reviewed_head(monkeypatch):
1275
+ """The three commits automation needs to compare (algenta#1085 had check != reviewed head)."""
1276
+ import httpx
1277
+ _stub_checks(monkeypatch)
1278
+ monkeypatch.setattr(rg, "unresolved_blocking_findings", lambda *a, **k: 0)
1279
+ class _Ok:
1280
+ status_code, text = 200, ""
1281
+ monkeypatch.setattr(httpx, "post", lambda url, **k: _Ok())
1282
+ # the webhook's run: the anchor is whatever the caller says, the PR head is what it read at post time
1283
+ out = rg.post_review(_ar(), repo_slug="o/r", pr_number=5, token="t", dedup=False, check_run_id=9001,
1284
+ check_head_sha=_REVIEWED, pr_head_sha=_REVIEWED)
1285
+ assert out["check_head_sha"] == _REVIEWED and out["pr_head_sha"] == _REVIEWED and out["event"] == "APPROVE"
1286
+ # the standalone CLI: post_review opens the run itself, on the reviewed head
1287
+ out = rg.post_review(_ar(), repo_slug="o/r", pr_number=5, token="t", dedup=False)
1288
+ assert out["check_head_sha"] == _REVIEWED and out["pr_head_sha"] is None
1289
+ # a caller that knows neither: unknown is reported as unknown, never guessed
1290
+ out = rg.post_review(_ar(), repo_slug="o/r", pr_number=5, token="t", dedup=False, check_run_id=9001)
1291
+ assert out["check_head_sha"] is None and out["pr_head_sha"] is None
1292
+
1293
+
1294
+ def test_post_review_never_approves_a_head_that_moved_while_the_review_ran(monkeypatch):
1295
+ """An approval counts for the whole pull request, and nobody reviewed the new head: a clean
1296
+ review of the old one is posted as a COMMENT (or, with nothing else to say, not at all) and
1297
+ the check says why. Findings still go up -- they are anchored to the commit that was reviewed."""
1298
+ import httpx
1299
+ summaries = _capture_check_summaries(monkeypatch)
1300
+ monkeypatch.setattr(rg, "unresolved_blocking_findings", lambda *a, **k: 0)
1301
+ posts = []
1302
+ class _Ok:
1303
+ status_code, text = 200, ""
1304
+ monkeypatch.setattr(httpx, "post", lambda url, **k: posts.append(k["json"]) or _Ok())
1305
+ moved = dict(repo_slug="o/r", pr_number=5, token="t", dedup=False, check_run_id=9001,
1306
+ check_head_sha=_REVIEWED, pr_head_sha=_MOVED_TO)
1307
+ # clean: would have been an APPROVE
1308
+ out = rg.post_review(_ar(), **moved)
1309
+ assert out["event"] == "COMMENT" and out["posted_review"] is False and posts == []
1310
+ assert out["pr_head_sha"] == _MOVED_TO and out["check_head_sha"] == _REVIEWED
1311
+ assert f"head moved from {_REVIEWED[:8]} to {_MOVED_TO[:8]}" in summaries[-1] and "✅ Approved" not in summaries[-1]
1312
+ # low-only: still no approval, the finding is posted as a COMMENT that says why
1313
+ out = rg.post_review(_ar([_af("low")]), **moved)
1314
+ assert out["event"] == "COMMENT" and out["posted_review"] is True
1315
+ assert posts[-1]["event"] == "COMMENT" and f"moved from {_REVIEWED[:8]}" in posts[-1]["body"]
1316
+ assert posts[-1]["commit_id"] == _REVIEWED # the review is about the commit it read
1317
+ # medium: not approved anyway; the move is still on record next to the reason
1318
+ out = rg.post_review(_ar([_af("medium")]), **moved)
1319
+ assert out["event"] == "COMMENT" and "1 medium/high finding(s)" in posts[-1]["body"]
1320
+ assert f"moved from {_REVIEWED[:8]}" in posts[-1]["body"]
1321
+ # the same head at post time: nothing changes
1322
+ out = rg.post_review(_ar(), **{**moved, "pr_head_sha": _REVIEWED})
1323
+ assert out["event"] == "APPROVE" and posts[-1]["event"] == "APPROVE"
1324
+
1325
+
1326
+ def test_env_check_run_head_sha_parses_only_a_sha(monkeypatch):
1327
+ from codna import review
1328
+
1329
+ monkeypatch.delenv("CODNA_CHECK_RUN_HEAD_SHA", raising=False)
1330
+ assert review._env_check_run_head_sha() is None
1331
+ monkeypatch.setenv("CODNA_CHECK_RUN_HEAD_SHA", _MOVED_TO.upper())
1332
+ assert review._env_check_run_head_sha() == _MOVED_TO
1333
+ monkeypatch.setenv("CODNA_CHECK_RUN_HEAD_SHA", "not-a-sha")
1334
+ assert review._env_check_run_head_sha() is None
1335
+
1336
+
1337
+ def test_run_findings_review_hands_post_review_the_head_at_post_time_and_the_checks_anchor(monkeypatch, tmp_path):
1338
+ """`codna review <url> --pr N --post --json`: the PR head is read AGAIN right before posting (the
1339
+ turn is minutes long), the check's anchor comes from the worker's env, and the JSON result carries
1340
+ what post_review reported."""
1341
+ from codna import review
1342
+
1343
+ heads = iter([_REVIEWED, _MOVED_TO]) # at turn start, then at post time
1344
+ monkeypatch.setattr(rg, "fetch_pr",
1345
+ lambda slug, n, tok: {"base_ref": "main", "head_sha": next(heads), "head_ref": "f", "is_fork": False})
1346
+ monkeypatch.setattr(rg, "fetch_review_context", lambda *a, **k: {"last_reviewed_head": None, "prior_feedback": None})
1347
+ monkeypatch.setattr(review, "_materialize_pr",
1348
+ lambda url, n, base, tok, incremental_base=None: (str(tmp_path), "origin/main...codna-pr-head", _REVIEWED, None))
1349
+ monkeypatch.setattr(rf, "run_diff_review", lambda local, **kw: _ar())
1350
+ posted = {}
1351
+
1352
+ def fake_post_review(result, **kw):
1353
+ posted.update(kw)
1354
+ return {"event": "COMMENT", "check": {"id": kw["check_run_id"], "updated_existing": True},
1355
+ "check_head_sha": kw["check_head_sha"], "pr_head_sha": kw["pr_head_sha"]}
1356
+
1357
+ monkeypatch.setattr(rg, "post_review", fake_post_review)
1358
+ anchor = "7679ecbe" + "0" * 32 # what the worker anchored CODNA_CHECK_RUN_ID to
1359
+ monkeypatch.setenv("CODNA_CHECK_RUN_ID", "9001")
1360
+ monkeypatch.setenv("CODNA_CHECK_RUN_HEAD_SHA", anchor)
1361
+ args = SimpleNamespace(repo="https://github.com/o/r.git", pr="o/r#5", diff=None, base=None, post=True,
1362
+ model=None, github_token="t", min_confidence=None, max_findings=None, blocking=False)
1363
+ out = review.run_findings_review(args)
1364
+ assert posted["check_run_id"] == 9001 and posted["check_head_sha"] == anchor
1365
+ assert posted["pr_head_sha"] == _MOVED_TO # the head at POST time, not at start
1366
+ assert out["head_sha"] == _REVIEWED
1367
+ assert out["posted"]["check_head_sha"] == anchor and out["posted"]["pr_head_sha"] == _MOVED_TO
1368
+
1369
+
1370
+ def test_pr_head_now_is_best_effort(monkeypatch):
1371
+ from codna import review
1372
+
1373
+ def boom(*a, **k):
1374
+ raise RuntimeError("fetch PR #5 failed: 502")
1375
+
1376
+ monkeypatch.setattr(rg, "fetch_pr", boom)
1377
+ assert review._pr_head_now("o/r", 5, "t") is None
1378
+ assert review._pr_head_now(None, 5, "t") is None and review._pr_head_now("o/r", None, "t") is None