codna 0.1.0__py3-none-any.whl

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 (761) hide show
  1. codna/__init__.py +8 -0
  2. codna/_wheel_guard.py +28 -0
  3. codna/admission_control.py +275 -0
  4. codna/agent-core/CLINE_FORK.md +55 -0
  5. codna/agent-core/CLINE_SDK_AZ_INTEGRATION_PLAN.md +191 -0
  6. codna/agent-core/CLINE_SDK_INTERFACE.md +655 -0
  7. codna/agent-core/CLINE_SDK_RESEARCH.md +104 -0
  8. codna/agent-core/package.json +12 -0
  9. codna/agent-core/run-server.mjs +87 -0
  10. codna/agent-core/run-server.stub.mjs +149 -0
  11. codna/agent-core/vendor/cline/.gitignore +3 -0
  12. codna/agent-core/vendor/cline/LICENSE +201 -0
  13. codna/agent-core/vendor/cline/NOTICE +24 -0
  14. codna/agent-core/vendor/cline/UPSTREAM_COMMIT.txt +1 -0
  15. codna/agent-core/vendor/cline/algenta/README.md +27 -0
  16. codna/agent-core/vendor/cline/algenta/acp-editor.ts +176 -0
  17. codna/agent-core/vendor/cline/algenta/adapter.ts +452 -0
  18. codna/agent-core/vendor/cline/algenta/algenta-plugin.ts +30 -0
  19. codna/agent-core/vendor/cline/algenta/artifacts.test.ts +133 -0
  20. codna/agent-core/vendor/cline/algenta/execution.test.ts +63 -0
  21. codna/agent-core/vendor/cline/algenta/fallback.test.ts +73 -0
  22. codna/agent-core/vendor/cline/algenta/fallback.ts +83 -0
  23. codna/agent-core/vendor/cline/algenta/fix-runner.ts +27 -0
  24. codna/agent-core/vendor/cline/algenta/http.test.ts +48 -0
  25. codna/agent-core/vendor/cline/algenta/mojo-gate.test.ts +76 -0
  26. codna/agent-core/vendor/cline/algenta/mojo-gate.ts +151 -0
  27. codna/agent-core/vendor/cline/algenta/policy.test.ts +260 -0
  28. codna/agent-core/vendor/cline/algenta/postbuild.sh +31 -0
  29. codna/agent-core/vendor/cline/algenta/proof-artifacts.test.ts +55 -0
  30. codna/agent-core/vendor/cline/algenta/proof-provider.ts +301 -0
  31. codna/agent-core/vendor/cline/algenta/proofs.ts +311 -0
  32. codna/agent-core/vendor/cline/algenta/provider-key.test.ts +197 -0
  33. codna/agent-core/vendor/cline/algenta/run-server.ts +645 -0
  34. codna/agent-core/vendor/cline/algenta/scheduled-agents.ts +430 -0
  35. codna/agent-core/vendor/cline/algenta/server/artifacts.ts +532 -0
  36. codna/agent-core/vendor/cline/algenta/server/contracts.ts +254 -0
  37. codna/agent-core/vendor/cline/algenta/server/execution.ts +284 -0
  38. codna/agent-core/vendor/cline/algenta/server/http.ts +146 -0
  39. codna/agent-core/vendor/cline/algenta/server/policy.ts +391 -0
  40. codna/agent-core/vendor/cline/algenta/server/state.ts +21 -0
  41. codna/agent-core/vendor/cline/algenta/server/utils.ts +508 -0
  42. codna/agent-core/vendor/cline/algenta/task-policy.ts +82 -0
  43. codna/agent-core/vendor/cline/algenta/telys-localize.test.ts +416 -0
  44. codna/agent-core/vendor/cline/algenta/telys-localize.ts +608 -0
  45. codna/agent-core/vendor/cline/algenta/telys-worker.test.ts +99 -0
  46. codna/agent-core/vendor/cline/algenta/telys-worker.ts +245 -0
  47. codna/agent-core/vendor/cline/algenta/tools.test.ts +59 -0
  48. codna/agent-core/vendor/cline/algenta/tools.ts +196 -0
  49. codna/agent-core/vendor/cline/algenta/write-scope.test.ts +26 -0
  50. codna/agent-core/vendor/cline/algenta/write-scope.ts +60 -0
  51. codna/agent-core/vendor/cline/biome.json +19 -0
  52. codna/agent-core/vendor/cline/bun.lock +1179 -0
  53. codna/agent-core/vendor/cline/package.json +60 -0
  54. codna/agent-core/vendor/cline/sdk/.cline/rules/worktree_dependency_hygiene.md +15 -0
  55. codna/agent-core/vendor/cline/sdk/.cline/skills/plugin.md +892 -0
  56. codna/agent-core/vendor/cline/sdk/.gitignore +69 -0
  57. codna/agent-core/vendor/cline/sdk/AGENTS.md +109 -0
  58. codna/agent-core/vendor/cline/sdk/ARCHITECTURE.md +525 -0
  59. codna/agent-core/vendor/cline/sdk/CHANGELOG.md +32 -0
  60. codna/agent-core/vendor/cline/sdk/CONTRIBUTING.md +196 -0
  61. codna/agent-core/vendor/cline/sdk/README.md +273 -0
  62. codna/agent-core/vendor/cline/sdk/biome.json +140 -0
  63. codna/agent-core/vendor/cline/sdk/examples/README.md +196 -0
  64. codna/agent-core/vendor/cline/sdk/examples/cron/README.md +419 -0
  65. codna/agent-core/vendor/cline/sdk/examples/cron/changelog-generator.cron.md +37 -0
  66. codna/agent-core/vendor/cline/sdk/examples/cron/code-style-audit.cron.md +47 -0
  67. codna/agent-core/vendor/cline/sdk/examples/cron/daily-code-review.cron.md +28 -0
  68. codna/agent-core/vendor/cline/sdk/examples/cron/dead-code-finder.cron.md +58 -0
  69. codna/agent-core/vendor/cline/sdk/examples/cron/dependency-check.cron.md +35 -0
  70. codna/agent-core/vendor/cline/sdk/examples/cron/documentation-check.cron.md +66 -0
  71. codna/agent-core/vendor/cline/sdk/examples/cron/events/local-manual-test.event.md +28 -0
  72. codna/agent-core/vendor/cline/sdk/examples/cron/events/local-plugin-event.event.md +20 -0
  73. codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-changelog-check.event.md +42 -0
  74. codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-review.event.md +32 -0
  75. codna/agent-core/vendor/cline/sdk/examples/cron/events/pr-test-coverage.event.md +55 -0
  76. codna/agent-core/vendor/cline/sdk/examples/cron/performance-baseline.cron.md +45 -0
  77. codna/agent-core/vendor/cline/sdk/examples/cron/test-coverage-report.cron.md +41 -0
  78. codna/agent-core/vendor/cline/sdk/examples/cron/type-check-strict.cron.md +44 -0
  79. codna/agent-core/vendor/cline/sdk/examples/cron/weekly-metrics-summary.cron.md +67 -0
  80. codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.py +62 -0
  81. codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.sh +17 -0
  82. codna/agent-core/vendor/cline/sdk/examples/hooks/PostToolUse.ts +86 -0
  83. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.py +34 -0
  84. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.sh +16 -0
  85. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse.ts +66 -0
  86. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_BlockDestructive.sh +25 -0
  87. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectContext.py +116 -0
  88. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_InjectFileContext.sh +57 -0
  89. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_ModifyInput.ts +125 -0
  90. codna/agent-core/vendor/cline/sdk/examples/hooks/PreToolUse_RequireReview.sh +19 -0
  91. codna/agent-core/vendor/cline/sdk/examples/hooks/README.md +435 -0
  92. codna/agent-core/vendor/cline/sdk/examples/hooks/SessionShutdown.sh +14 -0
  93. codna/agent-core/vendor/cline/sdk/examples/hooks/TaskComplete.sh +27 -0
  94. codna/agent-core/vendor/cline/sdk/examples/hooks/TaskStart.sh +14 -0
  95. codna/agent-core/vendor/cline/sdk/examples/hooks/custom-compaction-hook.example.ts +246 -0
  96. codna/agent-core/vendor/cline/sdk/examples/package.json +19 -0
  97. codna/agent-core/vendor/cline/sdk/examples/plugins/README.md +203 -0
  98. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/README.md +122 -0
  99. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/anvil.md +16 -0
  100. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/inquisitor.md +18 -0
  101. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/oracle.md +18 -0
  102. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/agents/phantom.md +17 -0
  103. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/index.ts +831 -0
  104. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/package.json +39 -0
  105. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/api-design.md +63 -0
  106. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/code-review.md +61 -0
  107. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/debugging.md +62 -0
  108. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/documentation.md +83 -0
  109. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/migration.md +77 -0
  110. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/refactoring.md +58 -0
  111. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/skills/test-generation.md +76 -0
  112. codna/agent-core/vendor/cline/sdk/examples/plugins/agents-squad/tsconfig.json +4 -0
  113. codna/agent-core/vendor/cline/sdk/examples/plugins/automation-events.ts +91 -0
  114. codna/agent-core/vendor/cline/sdk/examples/plugins/background-terminal.ts +444 -0
  115. codna/agent-core/vendor/cline/sdk/examples/plugins/custom-compaction.ts +225 -0
  116. codna/agent-core/vendor/cline/sdk/examples/plugins/env-blocker.ts +118 -0
  117. codna/agent-core/vendor/cline/sdk/examples/plugins/gitignore-read-files-guard.ts +270 -0
  118. codna/agent-core/vendor/cline/sdk/examples/plugins/mac-notify.ts +67 -0
  119. codna/agent-core/vendor/cline/sdk/examples/plugins/openrouter-provider.ts +144 -0
  120. codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/README.md +106 -0
  121. codna/agent-core/vendor/cline/sdk/examples/plugins/typescript-lsp/index.ts +298 -0
  122. codna/agent-core/vendor/cline/sdk/examples/plugins/weather-metrics.ts +151 -0
  123. codna/agent-core/vendor/cline/sdk/examples/plugins/web-search.ts +324 -0
  124. codna/agent-core/vendor/cline/sdk/examples/tsconfig.json +58 -0
  125. codna/agent-core/vendor/cline/sdk/packages/README.md +44 -0
  126. codna/agent-core/vendor/cline/sdk/packages/agents/README.md +278 -0
  127. codna/agent-core/vendor/cline/sdk/packages/agents/bun.mts +29 -0
  128. codna/agent-core/vendor/cline/sdk/packages/agents/package.json +45 -0
  129. codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.provider-form.test.ts +210 -0
  130. codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.test.ts +1427 -0
  131. codna/agent-core/vendor/cline/sdk/packages/agents/src/agent-runtime.ts +1558 -0
  132. codna/agent-core/vendor/cline/sdk/packages/agents/src/index.ts +57 -0
  133. codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.build.json +13 -0
  134. codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.dev.json +13 -0
  135. codna/agent-core/vendor/cline/sdk/packages/agents/tsconfig.json +9 -0
  136. codna/agent-core/vendor/cline/sdk/packages/agents/vitest.config.ts +10 -0
  137. codna/agent-core/vendor/cline/sdk/packages/core/README.md +110 -0
  138. codna/agent-core/vendor/cline/sdk/packages/core/bun.mts +75 -0
  139. codna/agent-core/vendor/cline/sdk/packages/core/docs/messages-contract-v1.md +148 -0
  140. codna/agent-core/vendor/cline/sdk/packages/core/fixtures/messages/success.messages.json +72 -0
  141. codna/agent-core/vendor/cline/sdk/packages/core/package.json +80 -0
  142. codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke-host.ts +204 -0
  143. codna/agent-core/vendor/cline/sdk/packages/core/scripts/telemetry-smoke.ts +431 -0
  144. codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.test.ts +607 -0
  145. codna/agent-core/vendor/cline/sdk/packages/core/src/ClineCore.ts +566 -0
  146. codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.test.ts +217 -0
  147. codna/agent-core/vendor/cline/sdk/packages/core/src/account/cline-account-service.ts +338 -0
  148. codna/agent-core/vendor/cline/sdk/packages/core/src/account/featurebase-token.test.ts +175 -0
  149. codna/agent-core/vendor/cline/sdk/packages/core/src/account/index.ts +24 -0
  150. codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.test.ts +63 -0
  151. codna/agent-core/vendor/cline/sdk/packages/core/src/account/rpc.ts +185 -0
  152. codna/agent-core/vendor/cline/sdk/packages/core/src/account/types.ts +108 -0
  153. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.test.ts +38 -0
  154. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/bounded-ttl-cache.ts +53 -0
  155. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.test.ts +93 -0
  156. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/client.ts +50 -0
  157. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.test.ts +233 -0
  158. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/cline.ts +722 -0
  159. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.test.ts +170 -0
  160. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/codex.ts +491 -0
  161. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.test.ts +340 -0
  162. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/oca.ts +588 -0
  163. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.test.ts +319 -0
  164. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/server.ts +265 -0
  165. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/types.ts +110 -0
  166. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.test.ts +128 -0
  167. codna/agent-core/vendor/cline/sdk/packages/core/src/auth/utils.ts +247 -0
  168. codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/automation.ts +250 -0
  169. codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/runtime-services.ts +75 -0
  170. codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/start-input.ts +91 -0
  171. codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/telemetry.ts +39 -0
  172. codna/agent-core/vendor/cline/sdk/packages/core/src/cline-core/types.ts +274 -0
  173. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.test.ts +255 -0
  174. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/cron-event-ingress.ts +357 -0
  175. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/events/index.ts +1 -0
  176. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/index.ts +7 -0
  177. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/cron-report-writer.ts +153 -0
  178. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/reports/index.ts +1 -0
  179. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.test.ts +152 -0
  180. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-materializer.ts +100 -0
  181. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.test.ts +342 -0
  182. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/cron-runner.ts +547 -0
  183. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/index.ts +3 -0
  184. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/runner/resource-limiter.ts +46 -0
  185. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/index.ts +1 -0
  186. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.test.ts +16 -0
  187. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/schedule/scheduler.ts +373 -0
  188. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/cron-service.ts +163 -0
  189. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/index.ts +3 -0
  190. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-command-service.ts +198 -0
  191. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.test.ts +213 -0
  192. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/service/schedule-service.ts +416 -0
  193. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.test.ts +138 -0
  194. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-reconciler.ts +241 -0
  195. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.test.ts +198 -0
  196. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-spec-parser.ts +489 -0
  197. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.test.ts +87 -0
  198. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/cron-watcher.ts +102 -0
  199. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/specs/index.ts +3 -0
  200. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/cron-schema.ts +127 -0
  201. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/index.ts +2 -0
  202. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.test.ts +354 -0
  203. codna/agent-core/vendor/cline/sdk/packages/core/src/cron/store/sqlite-cron-store.ts +1552 -0
  204. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/index.ts +46 -0
  205. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.test.ts +185 -0
  206. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/runtime-commands.ts +92 -0
  207. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.test.ts +109 -0
  208. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/skill-frontmatter-toggle.ts +83 -0
  209. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.test.ts +193 -0
  210. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/unified-config-file-watcher.ts +496 -0
  211. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.test.ts +424 -0
  212. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-config-loader.ts +628 -0
  213. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-plugin.ts +277 -0
  214. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/config/user-instruction-service.ts +128 -0
  215. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/agentic-compaction.ts +153 -0
  216. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/basic-compaction.ts +419 -0
  217. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction-shared.ts +511 -0
  218. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.live.test.ts +346 -0
  219. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.test.ts +1729 -0
  220. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/context/compaction.ts +430 -0
  221. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/index.ts +19 -0
  222. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/client.ts +579 -0
  223. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.test.ts +402 -0
  224. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/config-loader.ts +446 -0
  225. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/index.ts +57 -0
  226. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.test.ts +105 -0
  227. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/manager.ts +260 -0
  228. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/name-transform.ts +33 -0
  229. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.test.ts +79 -0
  230. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/oauth.ts +401 -0
  231. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/policies.ts +47 -0
  232. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/tools.ts +47 -0
  233. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/mcp/types.ts +135 -0
  234. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.test.ts +480 -0
  235. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-config-loader.ts +313 -0
  236. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-load-report.ts +20 -0
  237. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.test.ts +473 -0
  238. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-loader.ts +214 -0
  239. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-module-import.ts +682 -0
  240. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox-bootstrap.ts +781 -0
  241. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.test.ts +810 -0
  242. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-sandbox.ts +640 -0
  243. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/plugin/plugin-targeting.ts +32 -0
  244. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/constants.ts +37 -0
  245. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.test.ts +1408 -0
  246. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/definitions.ts +863 -0
  247. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch-parser.ts +520 -0
  248. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.test.ts +147 -0
  249. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/apply-patch.ts +348 -0
  250. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.test.ts +108 -0
  251. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/bash.ts +211 -0
  252. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.test.ts +113 -0
  253. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/editor.ts +220 -0
  254. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.test.ts +167 -0
  255. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/file-read.ts +140 -0
  256. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/index.ts +87 -0
  257. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/search.ts +471 -0
  258. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/executors/web-fetch.ts +259 -0
  259. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/helpers.ts +126 -0
  260. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/index.ts +183 -0
  261. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.test.ts +86 -0
  262. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/model-tool-routing.ts +134 -0
  263. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.test.ts +72 -0
  264. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/presets.ts +190 -0
  265. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.test.ts +74 -0
  266. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/runtime.ts +261 -0
  267. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/schemas.ts +345 -0
  268. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/delegated-agent.ts +136 -0
  269. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/index.ts +5 -0
  270. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.lifecycle.test.ts +649 -0
  271. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/multi-agent.ts +1845 -0
  272. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/projections.ts +283 -0
  273. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/runtime.ts +54 -0
  274. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.test.ts +378 -0
  275. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/spawn-agent-tool.ts +203 -0
  276. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/subagent-prompts.ts +41 -0
  277. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.test.ts +991 -0
  278. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/team/team-tools.ts +912 -0
  279. codna/agent-core/vendor/cline/sdk/packages/core/src/extensions/tools/types.ts +358 -0
  280. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.test.ts +276 -0
  281. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/checkpoint-hooks.ts +291 -0
  282. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-extension.ts +15 -0
  283. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.test.ts +17 -0
  284. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-config.ts +117 -0
  285. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.test.ts +593 -0
  286. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/hook-file-hooks.ts +1140 -0
  287. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/index.ts +34 -0
  288. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess-runner.ts +196 -0
  289. codna/agent-core/vendor/cline/sdk/packages/core/src/hooks/subprocess.ts +543 -0
  290. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.test.ts +74 -0
  291. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/connect.ts +187 -0
  292. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.test.ts +994 -0
  293. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/index.ts +1087 -0
  294. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.test.ts +310 -0
  295. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/session-client.ts +734 -0
  296. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/client/ui-client.ts +128 -0
  297. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/entry.ts +129 -0
  298. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.test.ts +357 -0
  299. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/index.ts +345 -0
  300. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/runtime-handlers.ts +144 -0
  301. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/daemon/start-shared-server.ts +61 -0
  302. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.test.ts +122 -0
  303. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/defaults.ts +70 -0
  304. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.test.ts +91 -0
  305. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/index.ts +260 -0
  306. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/discovery/workspace.ts +19 -0
  307. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/index.ts +37 -0
  308. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.test.ts +1485 -0
  309. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/hub-runtime-host.ts +1948 -0
  310. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/runtime-host/remote-runtime-host.ts +27 -0
  311. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/boundary.test.ts +1142 -0
  312. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.test.ts +173 -0
  313. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/browser-websocket.ts +295 -0
  314. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/command-transport.ts +14 -0
  315. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/fetch-wiring.test.ts +102 -0
  316. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/approval-handlers.ts +133 -0
  317. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/capability-handlers.ts +278 -0
  318. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/client-handlers.ts +86 -0
  319. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/context.ts +211 -0
  320. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.test.ts +186 -0
  321. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/run-handlers.ts +337 -0
  322. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-event-projector.ts +355 -0
  323. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/handlers/session-handlers.ts +842 -0
  324. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-capability-tool-executors.test.ts +215 -0
  325. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-client-contributions.ts +687 -0
  326. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-notifications.ts +94 -0
  327. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-schedule-events.ts +20 -0
  328. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-logging.ts +69 -0
  329. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-options.ts +66 -0
  330. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-server-transport.ts +593 -0
  331. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-session-records.ts +99 -0
  332. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/hub-websocket-server.ts +562 -0
  333. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.test.ts +358 -0
  334. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/index.ts +4 -0
  335. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/native-transport.ts +31 -0
  336. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/notification.test.ts +21 -0
  337. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/server/ui-events.test.ts +232 -0
  338. codna/agent-core/vendor/cline/sdk/packages/core/src/hub/settings.test.ts +143 -0
  339. codna/agent-core/vendor/cline/sdk/packages/core/src/index.ts +789 -0
  340. codna/agent-core/vendor/cline/sdk/packages/core/src/remote-config/integration.ts +133 -0
  341. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/index.ts +2 -0
  342. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/normalize-runtime-capabilities.ts +33 -0
  343. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/capabilities/runtime-capabilities.ts +9 -0
  344. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.test.ts +171 -0
  345. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-message-codec.ts +301 -0
  346. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.test.ts +268 -0
  347. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/config/agent-runtime-config-builder.ts +181 -0
  348. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.test.ts +573 -0
  349. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/history.ts +516 -0
  350. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.test.ts +297 -0
  351. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/host.ts +248 -0
  352. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/agent-event-bridge.ts +231 -0
  353. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-record.ts +52 -0
  354. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/session-service-invoker.ts +40 -0
  355. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/spawn-tool.ts +162 -0
  356. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local/user-files.ts +18 -0
  357. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.e2e.test.ts +576 -0
  358. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.test.ts +5167 -0
  359. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/local-runtime-host.ts +1755 -0
  360. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.test.ts +55 -0
  361. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host-support.ts +140 -0
  362. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/host/runtime-host.ts +323 -0
  363. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/index.ts +24 -0
  364. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.team-persistence.test.ts +290 -0
  365. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.test.ts +887 -0
  366. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-builder.ts +637 -0
  367. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.test.ts +901 -0
  368. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-event-adapter.ts +426 -0
  369. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.test.ts +137 -0
  370. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-oauth-token-manager.ts +269 -0
  371. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/runtime-parity.test.ts +165 -0
  372. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.test.ts +1900 -0
  373. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime-orchestrator.ts +1334 -0
  374. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/session-runtime.ts +73 -0
  375. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/orchestration/user-input-builder.ts +159 -0
  376. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/loop-detection.ts +162 -0
  377. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/mistake-tracker.ts +221 -0
  378. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.test.ts +22 -0
  379. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/safety/rules.ts +49 -0
  380. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.test.ts +81 -0
  381. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/subprocess-sandbox.ts +333 -0
  382. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/tools/tool-approval.ts +102 -0
  383. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.test.ts +168 -0
  384. codna/agent-core/vendor/cline/sdk/packages/core/src/runtime/turn-queue/pending-prompt-service.ts +381 -0
  385. codna/agent-core/vendor/cline/sdk/packages/core/src/services/agent-events.ts +321 -0
  386. codna/agent-core/vendor/cline/sdk/packages/core/src/services/config.ts +5 -0
  387. codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.test.ts +352 -0
  388. codna/agent-core/vendor/cline/sdk/packages/core/src/services/global-settings.ts +324 -0
  389. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.test.ts +229 -0
  390. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/apihandler-agent-model-adapter.ts +170 -0
  391. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/cline-recommended-models.ts +168 -0
  392. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/configured-provider-registry.ts +193 -0
  393. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.test.ts +288 -0
  394. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/handler-factory.ts +197 -0
  395. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.test.ts +260 -0
  396. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-defaults.ts +887 -0
  397. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.test.ts +26 -0
  398. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/provider-settings.ts +322 -0
  399. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-config.ts +43 -0
  400. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-registry.ts +172 -0
  401. codna/agent-core/vendor/cline/sdk/packages/core/src/services/llms/runtime-types.ts +121 -0
  402. codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.startup.test.ts +249 -0
  403. codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.test.ts +543 -0
  404. codna/agent-core/vendor/cline/sdk/packages/core/src/services/local-runtime-bootstrap.ts +470 -0
  405. codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-tools.ts +230 -0
  406. codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.test.ts +165 -0
  407. codna/agent-core/vendor/cline/sdk/packages/core/src/services/plugin-uninstall.ts +425 -0
  408. codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-registry.ts +468 -0
  409. codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.test.ts +1358 -0
  410. codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/local-provider-service.ts +948 -0
  411. codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/model-source.ts +105 -0
  412. codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.test.ts +137 -0
  413. codna/agent-core/vendor/cline/sdk/packages/core/src/services/providers/provider-config-fields.ts +211 -0
  414. codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-artifacts.ts +138 -0
  415. codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.test.ts +307 -0
  416. codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-data.ts +405 -0
  417. codna/agent-core/vendor/cline/sdk/packages/core/src/services/session-telemetry.ts +89 -0
  418. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/artifact-store.ts +1 -0
  419. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/file-team-store.ts +250 -0
  420. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/index.ts +11 -0
  421. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.test.ts +656 -0
  422. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-legacy-migration.ts +798 -0
  423. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.test.ts +354 -0
  424. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/provider-settings-manager.ts +194 -0
  425. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/session-store.ts +1 -0
  426. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-session-store.ts +272 -0
  427. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/sqlite-team-store.ts +537 -0
  428. codna/agent-core/vendor/cline/sdk/packages/core/src/services/storage/team-store.ts +36 -0
  429. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/ITelemetryAdapter.ts +94 -0
  430. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.test.ts +157 -0
  431. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryAdapter.ts +348 -0
  432. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.test.ts +401 -0
  433. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/OpenTelemetryProvider.ts +545 -0
  434. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.test.ts +42 -0
  435. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryLoggerSink.ts +121 -0
  436. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.test.ts +134 -0
  437. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/TelemetryService.ts +139 -0
  438. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.test.ts +696 -0
  439. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/core-events.ts +680 -0
  440. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.test.ts +57 -0
  441. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/distinct-id.ts +69 -0
  442. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/index.ts +22 -0
  443. codna/agent-core/vendor/cline/sdk/packages/core/src/services/telemetry/tool-context.ts +15 -0
  444. codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.test.ts +75 -0
  445. codna/agent-core/vendor/cline/sdk/packages/core/src/services/usage.ts +87 -0
  446. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.test.ts +156 -0
  447. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/file-indexer.ts +362 -0
  448. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/index.ts +7 -0
  449. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.test.ts +106 -0
  450. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/mention-enricher.ts +122 -0
  451. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manager.ts +100 -0
  452. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-manifest.ts +129 -0
  453. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.test.ts +166 -0
  454. codna/agent-core/vendor/cline/sdk/packages/core/src/services/workspace/workspace-telemetry.ts +70 -0
  455. codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.test.ts +154 -0
  456. codna/agent-core/vendor/cline/sdk/packages/core/src/session/checkpoint-restore.ts +189 -0
  457. codna/agent-core/vendor/cline/sdk/packages/core/src/session/index.ts +32 -0
  458. codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-graph.ts +92 -0
  459. codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-manifest.ts +29 -0
  460. codna/agent-core/vendor/cline/sdk/packages/core/src/session/models/session-row.ts +199 -0
  461. codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/file-session-service.ts +284 -0
  462. codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.test.ts +375 -0
  463. codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/message-builder.ts +976 -0
  464. codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.test.ts +553 -0
  465. codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/persistence-service.ts +582 -0
  466. codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.team-persistence.test.ts +48 -0
  467. codna/agent-core/vendor/cline/sdk/packages/core/src/session/services/session-service.ts +326 -0
  468. codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-snapshot.ts +208 -0
  469. codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.test.ts +195 -0
  470. codna/agent-core/vendor/cline/sdk/packages/core/src/session/session-versioning-service.ts +245 -0
  471. codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/conversation-store.ts +77 -0
  472. codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/session-manifest-store.ts +160 -0
  473. codna/agent-core/vendor/cline/sdk/packages/core/src/session/stores/team-persistence-store.ts +176 -0
  474. codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/index.ts +12 -0
  475. codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-child-session-manager.ts +415 -0
  476. codna/agent-core/vendor/cline/sdk/packages/core/src/session/team/team-session-coordinator.ts +240 -0
  477. codna/agent-core/vendor/cline/sdk/packages/core/src/settings/index.ts +15 -0
  478. codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.test.ts +303 -0
  479. codna/agent-core/vendor/cline/sdk/packages/core/src/settings/settings-service.ts +317 -0
  480. codna/agent-core/vendor/cline/sdk/packages/core/src/settings/types.ts +67 -0
  481. codna/agent-core/vendor/cline/sdk/packages/core/src/types/chat-schema.ts +90 -0
  482. codna/agent-core/vendor/cline/sdk/packages/core/src/types/common.ts +54 -0
  483. codna/agent-core/vendor/cline/sdk/packages/core/src/types/config.ts +220 -0
  484. codna/agent-core/vendor/cline/sdk/packages/core/src/types/events.ts +88 -0
  485. codna/agent-core/vendor/cline/sdk/packages/core/src/types/index.ts +26 -0
  486. codna/agent-core/vendor/cline/sdk/packages/core/src/types/provider-settings.ts +56 -0
  487. codna/agent-core/vendor/cline/sdk/packages/core/src/types/session.ts +134 -0
  488. codna/agent-core/vendor/cline/sdk/packages/core/src/types/sessions.ts +45 -0
  489. codna/agent-core/vendor/cline/sdk/packages/core/src/types/storage.ts +56 -0
  490. codna/agent-core/vendor/cline/sdk/packages/core/src/types.ts +184 -0
  491. codna/agent-core/vendor/cline/sdk/packages/core/src/version.ts +3 -0
  492. codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.build.json +18 -0
  493. codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.dev.json +8 -0
  494. codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.json +24 -0
  495. codna/agent-core/vendor/cline/sdk/packages/core/tsconfig.smoke.json +18 -0
  496. codna/agent-core/vendor/cline/sdk/packages/core/vitest.config.ts +9 -0
  497. codna/agent-core/vendor/cline/sdk/packages/core/vitest.e2e.config.ts +10 -0
  498. codna/agent-core/vendor/cline/sdk/packages/llms/AGENTS.md +39 -0
  499. codna/agent-core/vendor/cline/sdk/packages/llms/README.md +227 -0
  500. codna/agent-core/vendor/cline/sdk/packages/llms/bun.mts +49 -0
  501. codna/agent-core/vendor/cline/sdk/packages/llms/fixtures/usage.json +308 -0
  502. codna/agent-core/vendor/cline/sdk/packages/llms/package.json +73 -0
  503. codna/agent-core/vendor/cline/sdk/packages/llms/scripts/fix-esm-imports.ts +109 -0
  504. codna/agent-core/vendor/cline/sdk/packages/llms/scripts/generate-models.ts +136 -0
  505. codna/agent-core/vendor/cline/sdk/packages/llms/scripts/models/generate-models-dev.ts +24 -0
  506. codna/agent-core/vendor/cline/sdk/packages/llms/scripts/tsconfig.json +14 -0
  507. codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/README.md +165 -0
  508. codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.test.ts +275 -0
  509. codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog-live.ts +186 -0
  510. codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated-access.ts +41 -0
  511. codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/catalog.generated.ts +22756 -0
  512. codna/agent-core/vendor/cline/sdk/packages/llms/src/catalog/types.ts +97 -0
  513. codna/agent-core/vendor/cline/sdk/packages/llms/src/index.browser.ts +33 -0
  514. codna/agent-core/vendor/cline/sdk/packages/llms/src/index.ts +74 -0
  515. codna/agent-core/vendor/cline/sdk/packages/llms/src/models.ts +31 -0
  516. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.test.ts +371 -0
  517. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ai-sdk.ts +1012 -0
  518. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/async.ts +7 -0
  519. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.test.ts +28 -0
  520. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/billing.ts +23 -0
  521. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins-runtime.ts +101 -0
  522. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.test.ts +137 -0
  523. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/builtins.ts +1084 -0
  524. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.test.ts +562 -0
  525. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/compat.ts +669 -0
  526. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/config.ts +429 -0
  527. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/factory-registry.ts +161 -0
  528. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.test.ts +43 -0
  529. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/format.ts +70 -0
  530. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.test.ts +3575 -0
  531. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/gateway.ts +310 -0
  532. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/handler.ts +91 -0
  533. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/http.ts +121 -0
  534. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.test.ts +143 -0
  535. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/ids.ts +95 -0
  536. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/messages.ts +17 -0
  537. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.test.ts +504 -0
  538. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/middleware/split-tool-images.ts +293 -0
  539. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-facts.ts +270 -0
  540. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/model-registry.ts +122 -0
  541. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/openai-codex-models.ts +35 -0
  542. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/provider-keys.ts +153 -0
  543. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/registry.ts +279 -0
  544. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.test.ts +503 -0
  545. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/anthropic-compatible.ts +602 -0
  546. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/generic-compatible.ts +151 -0
  547. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/glm-thinking.ts +106 -0
  548. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/minimax-thinking.ts +78 -0
  549. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-option-rules.ts +546 -0
  550. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options-types.ts +92 -0
  551. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.test.ts +1872 -0
  552. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/provider-options.ts +119 -0
  553. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/reasoning-codecs.ts +40 -0
  554. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/routing/utils.ts +47 -0
  555. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/stream.ts +117 -0
  556. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/types.ts +77 -0
  557. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.test.ts +90 -0
  558. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/anthropic.ts +39 -0
  559. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.test.ts +201 -0
  560. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/bedrock.ts +171 -0
  561. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.test.ts +55 -0
  562. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/community.ts +207 -0
  563. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/google.ts +61 -0
  564. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.test.ts +69 -0
  565. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/minimax-thinking.ts +104 -0
  566. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/mistral.ts +31 -0
  567. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai-compatible.ts +49 -0
  568. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/openai.ts +24 -0
  569. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/types.ts +141 -0
  570. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.test.ts +125 -0
  571. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers/vendors/vertex.ts +56 -0
  572. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.browser.ts +5 -0
  573. codna/agent-core/vendor/cline/sdk/packages/llms/src/providers.ts +106 -0
  574. codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.test.ts +90 -0
  575. codna/agent-core/vendor/cline/sdk/packages/llms/src/services/langfuse-telemetry.ts +187 -0
  576. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.example.json +254 -0
  577. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.example.json +19 -0
  578. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.openai-codex.reasoning.example.json +22 -0
  579. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning-disabled.example.json +423 -0
  580. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.reasoning.example.json +349 -0
  581. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/live-providers.tools.example.json +199 -0
  582. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.test.ts +98 -0
  583. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-config.ts +193 -0
  584. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-minimax-routing.test.ts +264 -0
  585. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-reasoning.test.ts +290 -0
  586. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-runner.ts +47 -0
  587. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live-tools.test.ts +265 -0
  588. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-live.test.ts +350 -0
  589. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/README.md +31 -0
  590. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/anthropic-claude-sonnet-4-6.json +12 -0
  591. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/cline-anthropic-sonnet.json +12 -0
  592. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-codex-gpt-5-4.json +11 -0
  593. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr/openai-compatible-deepseek-v4-pro.json +12 -0
  594. codna/agent-core/vendor/cline/sdk/packages/llms/src/tests/provider-vcr.test.ts +450 -0
  595. codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.build.json +19 -0
  596. codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.dev.json +12 -0
  597. codna/agent-core/vendor/cline/sdk/packages/llms/tsconfig.json +11 -0
  598. codna/agent-core/vendor/cline/sdk/packages/llms/vitest.config.ts +24 -0
  599. codna/agent-core/vendor/cline/sdk/packages/sdk/bun.mts +18 -0
  600. codna/agent-core/vendor/cline/sdk/packages/sdk/package.json +37 -0
  601. codna/agent-core/vendor/cline/sdk/packages/sdk/src/index.ts +1 -0
  602. codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.build.json +12 -0
  603. codna/agent-core/vendor/cline/sdk/packages/sdk/tsconfig.json +11 -0
  604. codna/agent-core/vendor/cline/sdk/packages/shared/README.md +47 -0
  605. codna/agent-core/vendor/cline/sdk/packages/shared/bun.mts +70 -0
  606. codna/agent-core/vendor/cline/sdk/packages/shared/package.json +63 -0
  607. codna/agent-core/vendor/cline/sdk/packages/shared/src/agent.ts +561 -0
  608. codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/index.ts +1 -0
  609. codna/agent-core/vendor/cline/sdk/packages/shared/src/agents/types.ts +1055 -0
  610. codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/index.ts +31 -0
  611. codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/schemas.ts +99 -0
  612. codna/agent-core/vendor/cline/sdk/packages/shared/src/automation/types.ts +187 -0
  613. codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/events.ts +73 -0
  614. codna/agent-core/vendor/cline/sdk/packages/shared/src/connectors/options.ts +190 -0
  615. codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/cron-spec-types.ts +104 -0
  616. codna/agent-core/vendor/cline/sdk/packages/shared/src/cron/index.ts +13 -0
  617. codna/agent-core/vendor/cline/sdk/packages/shared/src/db/index.ts +14 -0
  618. codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.test.ts +155 -0
  619. codna/agent-core/vendor/cline/sdk/packages/shared/src/db/sqlite-db.ts +381 -0
  620. codna/agent-core/vendor/cline/sdk/packages/shared/src/dispose.ts +31 -0
  621. codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/context.ts +92 -0
  622. codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.test.ts +156 -0
  623. codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/contribution-registry.ts +524 -0
  624. codna/agent-core/vendor/cline/sdk/packages/shared/src/extensions/plugin.ts +1 -0
  625. codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/contracts.ts +9 -0
  626. codna/agent-core/vendor/cline/sdk/packages/shared/src/hooks/events.ts +327 -0
  627. codna/agent-core/vendor/cline/sdk/packages/shared/src/hub.ts +723 -0
  628. codna/agent-core/vendor/cline/sdk/packages/shared/src/index.browser.ts +355 -0
  629. codna/agent-core/vendor/cline/sdk/packages/shared/src/index.ts +405 -0
  630. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.test.ts +898 -0
  631. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/ai-sdk-format.ts +389 -0
  632. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/gateway.ts +202 -0
  633. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/messages.ts +168 -0
  634. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/model-info.ts +94 -0
  635. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/reasoning-effort.ts +73 -0
  636. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/requests.ts +12 -0
  637. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tokens.ts +12 -0
  638. codna/agent-core/vendor/cline/sdk/packages/shared/src/llms/tools.ts +96 -0
  639. codna/agent-core/vendor/cline/sdk/packages/shared/src/logging/logger.ts +45 -0
  640. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/error.ts +18 -0
  641. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/headers/utils.ts +28 -0
  642. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.test.ts +14 -0
  643. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/json.ts +86 -0
  644. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.test.ts +46 -0
  645. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/shell.ts +32 -0
  646. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/string.ts +29 -0
  647. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/time.ts +39 -0
  648. codna/agent-core/vendor/cline/sdk/packages/shared/src/parse/zod.ts +23 -0
  649. codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/cline.ts +117 -0
  650. codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.test.ts +39 -0
  651. codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/format.ts +99 -0
  652. codna/agent-core/vendor/cline/sdk/packages/shared/src/prompt/system.ts +64 -0
  653. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/artifact-store.ts +70 -0
  654. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/blob-storage.ts +416 -0
  655. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/bundle.ts +181 -0
  656. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/constants.ts +5 -0
  657. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/index.ts +9 -0
  658. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/materializer.ts +165 -0
  659. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/paths.ts +33 -0
  660. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.test.ts +102 -0
  661. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/runtime.ts +236 -0
  662. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.test.ts +977 -0
  663. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/schema.ts +262 -0
  664. codna/agent-core/vendor/cline/sdk/packages/shared/src/remote-config/telemetry.ts +124 -0
  665. codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/index.ts +5 -0
  666. codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/runtime.ts +429 -0
  667. codna/agent-core/vendor/cline/sdk/packages/shared/src/rpc/team-progress.ts +71 -0
  668. codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.test.ts +115 -0
  669. codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/build-env.ts +183 -0
  670. codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.test.ts +106 -0
  671. codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/cline-environment.ts +88 -0
  672. codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.test.ts +20 -0
  673. codna/agent-core/vendor/cline/sdk/packages/shared/src/runtime/hub-daemon-env.ts +7 -0
  674. codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry-config.ts +58 -0
  675. codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.test.ts +66 -0
  676. codna/agent-core/vendor/cline/sdk/packages/shared/src/services/telemetry.ts +295 -0
  677. codna/agent-core/vendor/cline/sdk/packages/shared/src/session/hook-context.ts +45 -0
  678. codna/agent-core/vendor/cline/sdk/packages/shared/src/session/index.ts +6 -0
  679. codna/agent-core/vendor/cline/sdk/packages/shared/src/session/records.ts +41 -0
  680. codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-config.ts +69 -0
  681. codna/agent-core/vendor/cline/sdk/packages/shared/src/session/runtime-env.ts +8 -0
  682. codna/agent-core/vendor/cline/sdk/packages/shared/src/session/workspace.ts +45 -0
  683. codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/index.ts +47 -0
  684. codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.test.ts +63 -0
  685. codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/path-resolution.ts +114 -0
  686. codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.home-dir.test.ts +61 -0
  687. codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.test.ts +180 -0
  688. codna/agent-core/vendor/cline/sdk/packages/shared/src/storage/paths.ts +588 -0
  689. codna/agent-core/vendor/cline/sdk/packages/shared/src/team/index.ts +2 -0
  690. codna/agent-core/vendor/cline/sdk/packages/shared/src/team/schema.ts +452 -0
  691. codna/agent-core/vendor/cline/sdk/packages/shared/src/team/types.ts +235 -0
  692. codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.test.ts +201 -0
  693. codna/agent-core/vendor/cline/sdk/packages/shared/src/tools/create.ts +130 -0
  694. codna/agent-core/vendor/cline/sdk/packages/shared/src/types/auth.ts +41 -0
  695. codna/agent-core/vendor/cline/sdk/packages/shared/src/types/index.ts +2 -0
  696. codna/agent-core/vendor/cline/sdk/packages/shared/src/types/vcr.ts +14 -0
  697. codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.test.ts +229 -0
  698. codna/agent-core/vendor/cline/sdk/packages/shared/src/vcr.ts +900 -0
  699. codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.build.json +7 -0
  700. codna/agent-core/vendor/cline/sdk/packages/shared/tsconfig.json +9 -0
  701. codna/agent-core/vendor/cline/sdk/packages/shared/vitest.config.ts +9 -0
  702. codna/agent-core/vendor/cline/sdk/packages/tsconfig.base.json +22 -0
  703. codna/agent-core/vendor/cline/sdk/scripts/check-publish.ts +351 -0
  704. codna/agent-core/vendor/cline/sdk/scripts/ci-node-smoke.ts +155 -0
  705. codna/agent-core/vendor/cline/sdk/scripts/clean.ts +91 -0
  706. codna/agent-core/vendor/cline/sdk/scripts/release.ts +548 -0
  707. codna/agent-core/vendor/cline/sdk/scripts/run-vendored-tests.sh +44 -0
  708. codna/agent-core/vendor/cline/sdk/scripts/version.ts +120 -0
  709. codna/agent-core/vendor/cline/sdk/tsconfig.json +53 -0
  710. codna/agent_core_runtime.py +816 -0
  711. codna/cli.py +921 -0
  712. codna/cli_errors.py +50 -0
  713. codna/cline_agent.py +90 -0
  714. codna/codeunits.py +221 -0
  715. codna/codeunits_treesitter.py +148 -0
  716. codna/doctor.py +212 -0
  717. codna/doctor_output.py +61 -0
  718. codna/engine.py +149 -0
  719. codna/evasion.py +192 -0
  720. codna/evidence.py +163 -0
  721. codna/findings.py +272 -0
  722. codna/gate.py +132 -0
  723. codna/gitpush.py +57 -0
  724. codna/local_client.py +932 -0
  725. codna/local_mojo_daemon.py +568 -0
  726. codna/local_mojo_pool.py +861 -0
  727. codna/local_repository_shims.py +419 -0
  728. codna/local_runtime.py +650 -0
  729. codna/localfix.py +121 -0
  730. codna/manifest.py +164 -0
  731. codna/mcp_server.py +155 -0
  732. codna/memory.py +885 -0
  733. codna/netjail.py +68 -0
  734. codna/packaged_agent_runner.py +354 -0
  735. codna/packaged_git.py +378 -0
  736. codna/packaged_repository_advanced.py +618 -0
  737. codna/packaged_repository_backend.py +887 -0
  738. codna/patchgen.py +115 -0
  739. codna/policy.py +85 -0
  740. codna/refengine.py +132 -0
  741. codna/repo_backend.py +78 -0
  742. codna/repository_artifacts.py +291 -0
  743. codna/runtime/__init__.py +17 -0
  744. codna/runtime/config.py +394 -0
  745. codna/runtime/health.py +130 -0
  746. codna/runtime/local_stack.py +978 -0
  747. codna/runtime/ports.py +137 -0
  748. codna/runtime/processes.py +199 -0
  749. codna/runtime_config.py +94 -0
  750. codna/sandbox.py +111 -0
  751. codna/sarif.py +610 -0
  752. codna/secure.py +250 -0
  753. codna/supervisor.py +108 -0
  754. codna/worker.py +161 -0
  755. codna/worktree.py +73 -0
  756. codna/writer.py +169 -0
  757. codna-0.1.0.dist-info/METADATA +153 -0
  758. codna-0.1.0.dist-info/RECORD +761 -0
  759. codna-0.1.0.dist-info/WHEEL +5 -0
  760. codna-0.1.0.dist-info/entry_points.txt +2 -0
  761. codna-0.1.0.dist-info/top_level.txt +1 -0
codna/evidence.py ADDED
@@ -0,0 +1,163 @@
1
+ """Evidence attestation — the signed, replay-resistant handoff between the analysis worker
2
+ and the PR writer (gate condition G9).
3
+
4
+ The worker binds the original commit, patch digest, resulting tree, scanner outputs, proof
5
+ results, test logs, Mojo verdict, and policy decision into one payload, stamps a single-use
6
+ nonce, and signs it. The writer (which cannot execute repo code) re-verifies the signature,
7
+ checks every required field is present, and consumes the nonce so a prior valid attestation
8
+ cannot be replayed against a moved base or an already-opened PR (ATT-REPLAY).
9
+
10
+ The signer is pluggable (`Signer` protocol). `HmacSigner` (stdlib `hmac`) is used for tests
11
+ and self-hosted runs; a production deployment can swap an ed25519/KMS/Sigstore signer — the
12
+ verify/binding/replay logic is identical. Key custody for the real signer is out of scope
13
+ here (see the plan's residual-risks section).
14
+ """
15
+ from __future__ import annotations
16
+
17
+ import hmac
18
+ import json
19
+ import os
20
+ from dataclasses import dataclass
21
+ from hashlib import sha256
22
+ from typing import Protocol
23
+
24
+ from .findings import stable_json
25
+
26
+ REQUIRED_FIELDS = (
27
+ "original_commit",
28
+ "patch_digest",
29
+ "resulting_tree",
30
+ "scanner_outputs",
31
+ "proof_results",
32
+ "test_logs",
33
+ "mojo_verdict",
34
+ "policy_decision",
35
+ "nonce",
36
+ )
37
+
38
+
39
+ class AttestationError(Exception):
40
+ pass
41
+
42
+
43
+ class Signer(Protocol):
44
+ @property
45
+ def key_id(self) -> str: ...
46
+ def sign(self, data: bytes) -> str: ...
47
+ def verify(self, data: bytes, signature: str) -> bool: ...
48
+
49
+
50
+ class HmacSigner:
51
+ """Deterministic keyed-MAC signer (stdlib). Same payload + key -> same signature."""
52
+
53
+ def __init__(self, key: bytes, key_id: str = "worker-key"):
54
+ self._key = key
55
+ self._key_id = key_id
56
+
57
+ @property
58
+ def key_id(self) -> str:
59
+ return self._key_id
60
+
61
+ def sign(self, data: bytes) -> str:
62
+ return hmac.new(self._key, data, sha256).hexdigest()
63
+
64
+ def verify(self, data: bytes, signature: str) -> bool:
65
+ return hmac.compare_digest(self.sign(data), signature or "")
66
+
67
+
68
+ def new_nonce() -> str:
69
+ """Fresh single-use nonce. Injected explicitly in tests for determinism."""
70
+ return os.urandom(16).hex()
71
+
72
+
73
+ @dataclass(frozen=True)
74
+ class Attestation:
75
+ payload: dict
76
+ signature: str
77
+ signer_id: str
78
+
79
+ def to_dict(self) -> dict:
80
+ return {"payload": self.payload, "signature": self.signature, "signer_id": self.signer_id}
81
+
82
+
83
+ def _signing_bytes(payload: dict) -> bytes:
84
+ # Canonical (sorted-key) serialization -> order-independent, deterministic (ATT-05).
85
+ return stable_json(payload).encode("utf-8")
86
+
87
+
88
+ def build_attestation(signer: Signer, *, nonce: str, **fields) -> Attestation:
89
+ missing = [f for f in REQUIRED_FIELDS if f != "nonce" and f not in fields]
90
+ if missing:
91
+ raise AttestationError(f"cannot build attestation, missing fields: {missing}")
92
+ payload = {**fields, "nonce": nonce}
93
+ return Attestation(payload, signer.sign(_signing_bytes(payload)), signer.key_id)
94
+
95
+
96
+ class NonceStore:
97
+ """Single-use enforcement. `use` returns False if the nonce was already consumed."""
98
+
99
+ def __init__(self):
100
+ self._seen: set[str] = set()
101
+
102
+ def use(self, nonce: str) -> bool:
103
+ if nonce in self._seen:
104
+ return False
105
+ self._seen.add(nonce)
106
+ return True
107
+
108
+
109
+ def attestation_from_dict(d: dict) -> Attestation:
110
+ return Attestation(d["payload"], d["signature"], d["signer_id"])
111
+
112
+
113
+ def write_evidence(evidence_dir: str, *, attestation: Attestation, patch_diff: str, finding=None) -> None:
114
+ """Persist the worker's signed handoff so a separate, unprivileged writer job can consume
115
+ it: the attestation, the patch, and a minimal finding descriptor (identity for the branch)."""
116
+ os.makedirs(evidence_dir, exist_ok=True)
117
+ with open(os.path.join(evidence_dir, "attestation.json"), "w", encoding="utf-8") as fh:
118
+ fh.write(stable_json(attestation.to_dict()))
119
+ with open(os.path.join(evidence_dir, "patch.diff"), "w", encoding="utf-8") as fh:
120
+ fh.write(patch_diff)
121
+ if finding is not None:
122
+ with open(os.path.join(evidence_dir, "finding.json"), "w", encoding="utf-8") as fh:
123
+ fh.write(stable_json({
124
+ "canonical_id": finding.canonical_id,
125
+ "rule_id": finding.rule_id,
126
+ "finding_kind": finding.finding_kind.value,
127
+ }))
128
+
129
+
130
+ def read_evidence(evidence_dir: str) -> tuple[Attestation, str, dict]:
131
+ """Inverse of `write_evidence`: (attestation, patch_diff, finding_descriptor)."""
132
+ with open(os.path.join(evidence_dir, "attestation.json"), encoding="utf-8") as fh:
133
+ att = attestation_from_dict(json.load(fh))
134
+ with open(os.path.join(evidence_dir, "patch.diff"), encoding="utf-8") as fh:
135
+ diff = fh.read()
136
+ descriptor: dict = {}
137
+ fpath = os.path.join(evidence_dir, "finding.json")
138
+ if os.path.exists(fpath):
139
+ with open(fpath, encoding="utf-8") as fh:
140
+ descriptor = json.load(fh)
141
+ return att, diff, descriptor
142
+
143
+
144
+ def verify_attestation(
145
+ att: Attestation,
146
+ *,
147
+ trusted_signers: dict[str, Signer],
148
+ nonce_store: NonceStore | None = None,
149
+ ) -> tuple[bool, str]:
150
+ """Verify an attestation before the writer acts on it. Checks: all required fields
151
+ present, signer is trusted, signature valid over the canonical payload, and (if a
152
+ nonce store is given) the nonce is fresh. Returns (ok, reason)."""
153
+ for f in REQUIRED_FIELDS:
154
+ if f not in att.payload:
155
+ return False, f"missing required field {f!r}"
156
+ signer = trusted_signers.get(att.signer_id)
157
+ if signer is None:
158
+ return False, f"untrusted signer {att.signer_id!r}"
159
+ if not signer.verify(_signing_bytes(att.payload), att.signature):
160
+ return False, "signature invalid (payload tampered or wrong key)"
161
+ if nonce_store is not None and not nonce_store.use(att.payload["nonce"]):
162
+ return False, "attestation replayed / nonce already used"
163
+ return True, "ok"
codna/findings.py ADDED
@@ -0,0 +1,272 @@
1
+ """Data models for codna's security-proof pipeline.
2
+
3
+ `NormalizedFinding` is the canonical, scanner-agnostic representation produced by
4
+ `codna.sarif.ingest_sarif`. Everything downstream (reachability proof, remediation,
5
+ the PR-open gate) keys off `canonical_id` — a deterministic content hash over a
6
+ finding's SEMANTIC identity (rule + sink + dataflow paths), NEVER over volatile fields
7
+ (result/run order, message text, tool fingerprints, column offsets). See the A–Z test
8
+ plan (SAR-*, RPRV-*) for the contract these models must satisfy.
9
+
10
+ Pure stdlib, no engine/http/llm imports — this module is the bottom of the dependency
11
+ graph and stays trivially testable offline.
12
+ """
13
+ from __future__ import annotations
14
+
15
+ import hashlib
16
+ import json
17
+ from dataclasses import dataclass, field
18
+ from enum import Enum
19
+ from typing import Any
20
+
21
+
22
+ def stable_json(obj: Any) -> str:
23
+ """The ONE canonical serialization used for every digest/id: sorted keys, compact,
24
+ UTF-8 preserved. Same input -> byte-identical output, so runs are reproducible."""
25
+ return json.dumps(obj, sort_keys=True, separators=(",", ":"), ensure_ascii=False)
26
+
27
+
28
+ def sha256_hex(data: bytes) -> str:
29
+ return hashlib.sha256(data).hexdigest()
30
+
31
+
32
+ def digest_of(obj: Any) -> str:
33
+ """sha256: over the canonical JSON of `obj`."""
34
+ return "sha256:" + sha256_hex(stable_json(obj).encode("utf-8"))
35
+
36
+
37
+ class Severity(str, Enum):
38
+ CRITICAL = "critical"
39
+ HIGH = "high"
40
+ MEDIUM = "medium"
41
+ LOW = "low"
42
+ INFO = "info"
43
+ UNKNOWN = "unknown"
44
+
45
+
46
+ _SEV_ORDER = {
47
+ Severity.UNKNOWN: -1,
48
+ Severity.INFO: 0,
49
+ Severity.LOW: 1,
50
+ Severity.MEDIUM: 2,
51
+ Severity.HIGH: 3,
52
+ Severity.CRITICAL: 4,
53
+ }
54
+
55
+
56
+ def severity_at_least(a: Severity, b: Severity) -> bool:
57
+ """True if band `a` is >= band `b`. UNKNOWN is below everything (never gates on
58
+ severity alone — it must be surfaced, not silently treated as low)."""
59
+ return _SEV_ORDER[a] >= _SEV_ORDER[b]
60
+
61
+
62
+ class FindingKind(str, Enum):
63
+ TAINT = "taint"
64
+ SCA = "sca"
65
+ CONTROL_FLOW = "control_flow"
66
+ CONFIG = "config"
67
+ SECRET = "secret"
68
+ UNSUPPORTED = "unsupported"
69
+
70
+
71
+ class Classification(str, Enum):
72
+ """Pre-patch reachability verdict for the ORIGINAL finding. `EXPLOITABLE` requires a
73
+ validated source→sink dataflow; `UNREACHABLE` requires a *complete* analysis envelope —
74
+ "no path found" in an incomplete envelope is `UNKNOWN`, never `UNREACHABLE`."""
75
+
76
+ EXPLOITABLE = "exploitable"
77
+ PRODUCTION_REACHABLE = "production-reachable"
78
+ UNREACHABLE = "unreachable"
79
+ UNKNOWN = "unknown"
80
+
81
+
82
+ class ClosureStatus(str, Enum):
83
+ """Post-patch verdict — a SEPARATE judgment from reachability. `CLOSED` means the
84
+ original semantic proof obligation is no longer violated (a sanitizer/barrier can close
85
+ it even while the operation stays production-reachable) and no alternate path was found."""
86
+
87
+ CLOSED = "closed"
88
+ OPEN = "open"
89
+ UNKNOWN = "unknown"
90
+
91
+
92
+ @dataclass(frozen=True)
93
+ class Location:
94
+ """A physical/logical code location. `start_column` is deliberately EXCLUDED from
95
+ identity (`key()`) — it is too volatile across scanner versions."""
96
+
97
+ uri: str
98
+ start_line: int | None = None
99
+ start_column: int | None = None
100
+ logical: str | None = None # logicalLocation fullyQualifiedName / symbol
101
+
102
+ def key(self) -> dict:
103
+ return {"uri": self.uri, "line": self.start_line, "logical": self.logical}
104
+
105
+ def to_dict(self) -> dict:
106
+ return {
107
+ "uri": self.uri,
108
+ "start_line": self.start_line,
109
+ "start_column": self.start_column,
110
+ "logical": self.logical,
111
+ }
112
+
113
+
114
+ def compute_canonical_id(
115
+ rule_id: str,
116
+ kind: "FindingKind | str",
117
+ primary: Location | None,
118
+ code_flows: list[list[Location]],
119
+ ) -> str:
120
+ """Deterministic semantic identity. Two byte-identical findings collapse to the same
121
+ id (dedupe); two findings sharing a sink but with DISTINCT dataflows get DIFFERENT
122
+ ids (so distinct flows are never merged away — SAR-21/SAR-22). Volatile fields are
123
+ excluded so the id is stable under result/run reordering (SAR-25/SAR-26)."""
124
+ flows = sorted(
125
+ ([loc.key() for loc in flow] for flow in code_flows),
126
+ key=stable_json,
127
+ )
128
+ ident = {
129
+ "rule_id": rule_id,
130
+ "kind": kind.value if isinstance(kind, FindingKind) else kind,
131
+ "primary": primary.key() if primary else None,
132
+ "flows": flows,
133
+ }
134
+ return digest_of(ident)
135
+
136
+
137
+ @dataclass
138
+ class NormalizedFinding:
139
+ rule_id: str
140
+ message: str
141
+ scanner: str
142
+ finding_kind: FindingKind
143
+ severity: Severity
144
+ original_severity: str | None
145
+ severity_rationale: str
146
+ primary_location: Location | None
147
+ locations: list[Location] = field(default_factory=list)
148
+ related_locations: list[Location] = field(default_factory=list)
149
+ code_flows: list[list[Location]] = field(default_factory=list)
150
+ fingerprints: dict = field(default_factory=dict)
151
+ partial_fingerprints: dict = field(default_factory=dict)
152
+ suppressions: list = field(default_factory=list)
153
+ baseline_state: str | None = None
154
+ logical_locations: list = field(default_factory=list)
155
+ properties: dict = field(default_factory=dict)
156
+ run_index: int = 0
157
+ occurrence_count: int = 1
158
+ quarantined: bool = False
159
+ quarantine_reason: str | None = None
160
+ canonical_id: str = ""
161
+
162
+ @classmethod
163
+ def minimal(cls, *, canonical_id: str, rule_id: str, finding_kind: "FindingKind | str") -> "NormalizedFinding":
164
+ """Reconstruct a lightweight finding from an evidence descriptor (the writer only needs
165
+ identity + rule + kind to name the branch/PR; the full finding lives in the attestation)."""
166
+ kind = finding_kind if isinstance(finding_kind, FindingKind) else FindingKind(str(finding_kind))
167
+ f = cls(
168
+ rule_id=rule_id, message="", scanner="", finding_kind=kind,
169
+ severity=Severity.UNKNOWN, original_severity=None, severity_rationale="",
170
+ primary_location=None,
171
+ )
172
+ f.canonical_id = canonical_id
173
+ return f
174
+
175
+ @property
176
+ def is_actively_suppressed(self) -> bool:
177
+ """SARIF suppression is "active" unless explicitly rejected. An unsuppressed
178
+ occurrence must never be shadowed by a suppressed duplicate (SAR-23/24)."""
179
+ if not self.suppressions:
180
+ return False
181
+ for s in self.suppressions:
182
+ status = s.get("status") if isinstance(s, dict) else None
183
+ if status in (None, "accepted"):
184
+ return True
185
+ return False
186
+
187
+ def to_dict(self) -> dict:
188
+ return {
189
+ "canonical_id": self.canonical_id,
190
+ "rule_id": self.rule_id,
191
+ "message": self.message,
192
+ "scanner": self.scanner,
193
+ "finding_kind": self.finding_kind.value,
194
+ "severity": self.severity.value,
195
+ "original_severity": self.original_severity,
196
+ "severity_rationale": self.severity_rationale,
197
+ "primary_location": self.primary_location.to_dict() if self.primary_location else None,
198
+ "locations": [loc.to_dict() for loc in self.locations],
199
+ "related_locations": [loc.to_dict() for loc in self.related_locations],
200
+ "code_flows": [[loc.to_dict() for loc in flow] for flow in self.code_flows],
201
+ "fingerprints": self.fingerprints,
202
+ "partial_fingerprints": self.partial_fingerprints,
203
+ "suppressions": self.suppressions,
204
+ "baseline_state": self.baseline_state,
205
+ "logical_locations": self.logical_locations,
206
+ "properties": self.properties,
207
+ "run_index": self.run_index,
208
+ "occurrence_count": self.occurrence_count,
209
+ "quarantined": self.quarantined,
210
+ "quarantine_reason": self.quarantine_reason,
211
+ }
212
+
213
+
214
+ @dataclass
215
+ class ScannerIdentity:
216
+ name: str # canonical: codeql|semgrep|snyk|trivy|...
217
+ raw_name: str
218
+ version: str | None
219
+ guid: str | None
220
+ rules_count: int
221
+ rules_digest: str
222
+
223
+ def to_dict(self) -> dict:
224
+ return {
225
+ "name": self.name,
226
+ "raw_name": self.raw_name,
227
+ "version": self.version,
228
+ "guid": self.guid,
229
+ "rules_count": self.rules_count,
230
+ "rules_digest": self.rules_digest,
231
+ }
232
+
233
+
234
+ @dataclass
235
+ class IngestResult:
236
+ schema_version: str
237
+ sarif_digest: str
238
+ scanner: ScannerIdentity
239
+ findings: list[NormalizedFinding]
240
+ provenance_valid: bool
241
+ provenance_errors: list[str]
242
+ commit: str | None
243
+ tree_digest: str | None
244
+ repo_uri: str | None
245
+ scanner_self_report: dict
246
+ # Scanner-reported success (exitCode/executionSuccessful) is NEVER authoritative —
247
+ # codna reruns the scanner itself under a pinned manifest (G2/G6). Always False.
248
+ scanner_self_report_trusted: bool
249
+ quarantined_artifacts: list[dict]
250
+ raw_result_count: int
251
+
252
+ def to_dict(self) -> dict:
253
+ return {
254
+ "schema_version": self.schema_version,
255
+ "sarif_digest": self.sarif_digest,
256
+ "scanner": self.scanner.to_dict(),
257
+ "findings": [f.to_dict() for f in self.findings],
258
+ "provenance_valid": self.provenance_valid,
259
+ "provenance_errors": list(self.provenance_errors),
260
+ "commit": self.commit,
261
+ "tree_digest": self.tree_digest,
262
+ "repo_uri": self.repo_uri,
263
+ "scanner_self_report": self.scanner_self_report,
264
+ "scanner_self_report_trusted": self.scanner_self_report_trusted,
265
+ "quarantined_artifacts": self.quarantined_artifacts,
266
+ "raw_result_count": self.raw_result_count,
267
+ }
268
+
269
+ def to_canonical_json(self) -> str:
270
+ """Byte-reproducible serialization — no clock/uuid/random leak (SAR-35,
271
+ INFRA-DETERMINISM)."""
272
+ return stable_json(self.to_dict())
codna/gate.py ADDED
@@ -0,0 +1,132 @@
1
+ """The PR-open gate — the nine conditions that must ALL hold before codna opens a draft PR.
2
+
3
+ This is the decision core: pure logic that composes already-computed verdicts (provenance,
4
+ baseline reproduction, reachability classification, patch integrity, regression safety,
5
+ scanner confirmation, closure, alternate/new findings, attestation) into one auditable
6
+ `GateDecision`. A PR opens only on a logical-AND of every condition; a single failure blocks
7
+ it and the failing condition is named (BRCP-38/39).
8
+
9
+ Note the separation the spec insists on: G6 (scanner confirmation, non-degraded) is about
10
+ the scan; G7 (closure) requires `closure_status == CLOSED` and is satisfied by a sanitizer
11
+ even when the operation stays production-reachable — closure is NOT "all reachability gone".
12
+
13
+ Pure stdlib, no engine/http/subprocess — the gate is decided from inputs, never by executing
14
+ anything. Producing those inputs is the worker's job (a different privilege domain).
15
+ """
16
+ from __future__ import annotations
17
+
18
+ from dataclasses import dataclass, field
19
+
20
+ from .findings import Classification, ClosureStatus
21
+ from .policy import Policy
22
+
23
+ GATE_ORDER = ("G1", "G2", "G3", "G4", "G5", "G6", "G7", "G8", "G9")
24
+
25
+
26
+ @dataclass
27
+ class GateInput:
28
+ # G1 immutable provenance (all digests bound, commit pinned)
29
+ provenance_valid: bool
30
+ # G2 baseline reproduction on the exact unpatched snapshot
31
+ baseline_reproduced: bool
32
+ # G3 policy-eligible proof
33
+ classification: Classification
34
+ # G4 patch integrity (no verification-evasion, within change scope)
35
+ patch_integrity_ok: bool
36
+ # G5 regression safety
37
+ build_passed: bool
38
+ tests_passed: bool
39
+ mojo_ok: bool
40
+ # G6 scanner confirmation under an identical, non-degraded config
41
+ scanner_confirms_gone: bool
42
+ scan_not_degraded: bool
43
+ # G7 independent closure proof
44
+ closure_status: ClosureStatus
45
+ # G8 no alternate / newly-introduced vulnerability
46
+ alternate_path_found: bool
47
+ new_blocking_findings: list = field(default_factory=list)
48
+ # G9 attested handoff (signature/digests verified) + base unchanged at open time
49
+ attestation_ok: bool = False
50
+ base_unchanged: bool = False
51
+
52
+
53
+ @dataclass
54
+ class ConditionResult:
55
+ gate: str
56
+ passed: bool
57
+ reason: str
58
+
59
+
60
+ @dataclass
61
+ class GateDecision:
62
+ conditions: list[ConditionResult]
63
+ should_open_pr: bool
64
+
65
+ @property
66
+ def failed(self) -> list[str]:
67
+ return [c.gate for c in self.conditions if not c.passed]
68
+
69
+ def reason_for(self, gate: str) -> str:
70
+ for c in self.conditions:
71
+ if c.gate == gate:
72
+ return c.reason
73
+ raise KeyError(gate)
74
+
75
+
76
+ def _cond(gate: str, passed: bool, ok_reason: str, fail_reason: str) -> ConditionResult:
77
+ return ConditionResult(gate, passed, ok_reason if passed else fail_reason)
78
+
79
+
80
+ def evaluate_gate(inp: GateInput, policy: Policy) -> GateDecision:
81
+ """Evaluate all nine conditions. `should_open_pr` is the logical-AND — every condition
82
+ must pass; otherwise the PR is blocked and `.failed` lists the offending gate(s)."""
83
+ eligible, elig_reason = policy.is_autofix_eligible(inp.classification)
84
+
85
+ g5 = inp.build_passed and inp.tests_passed and inp.mojo_ok
86
+ g5_fail = "; ".join(
87
+ r
88
+ for r, ok in (
89
+ ("build failed", inp.build_passed),
90
+ ("tests failed", inp.tests_passed),
91
+ ("Mojo verdict below threshold", inp.mojo_ok),
92
+ )
93
+ if not ok
94
+ )
95
+
96
+ g6 = inp.scanner_confirms_gone and inp.scan_not_degraded
97
+ g6_fail = (
98
+ "originating scanner still reports the finding"
99
+ if not inp.scanner_confirms_gone
100
+ else "patched scan is degraded vs baseline (fewer rules/files/queries)"
101
+ )
102
+
103
+ g8 = (not inp.alternate_path_found) and (not inp.new_blocking_findings)
104
+ g8_fail = (
105
+ "an equivalent alternate violating path remains"
106
+ if inp.alternate_path_found
107
+ else f"patch introduces {len(inp.new_blocking_findings)} new policy-blocking finding(s)"
108
+ )
109
+
110
+ g9 = inp.attestation_ok and inp.base_unchanged
111
+ g9_fail = (
112
+ "evidence attestation failed verification"
113
+ if not inp.attestation_ok
114
+ else "base commit changed before PR open (proof bound to a stale tree)"
115
+ )
116
+
117
+ conditions = [
118
+ _cond("G1", inp.provenance_valid, "provenance digest-bound", "incomplete/unbound provenance"),
119
+ _cond("G2", inp.baseline_reproduced, "baseline reproduced on unpatched snapshot",
120
+ "could not reproduce a semantically-equivalent finding on the unpatched snapshot"),
121
+ _cond("G3", eligible, elig_reason, elig_reason),
122
+ _cond("G4", inp.patch_integrity_ok, "patch integrity ok",
123
+ "patch weakens verification or escapes the permitted change scope"),
124
+ _cond("G5", g5, "build/tests pass and Mojo meets threshold", g5_fail),
125
+ _cond("G6", g6, "scanner confirms finding gone under identical config", g6_fail),
126
+ _cond("G7", inp.closure_status == ClosureStatus.CLOSED,
127
+ "obligation closed (sanitizer/barrier or path removed)",
128
+ f"closure_status is {inp.closure_status.value} (need 'closed')"),
129
+ _cond("G8", g8, "no alternate path and no new blocking findings", g8_fail),
130
+ _cond("G9", g9, "attested handoff verified and base unchanged", g9_fail),
131
+ ]
132
+ return GateDecision(conditions, should_open_pr=all(c.passed for c in conditions))
codna/gitpush.py ADDED
@@ -0,0 +1,57 @@
1
+ """Git push backend — turns a verified patch into a pushed branch for the PR writer.
2
+
3
+ The writer (GitHubWriter) opens the PR via the API; the actual "branch from diff" is this
4
+ backend's job: from a clean checkout it creates the branch at the base, applies the unified
5
+ diff, commits, and pushes. Kept separate from writer.py so the writer's "executes no
6
+ repository code" property stays clear — this runs only git plumbing (never the project's
7
+ build/test/scanner code), and is exercised offline against a local bare remote in tests.
8
+ """
9
+ from __future__ import annotations
10
+
11
+ import subprocess
12
+
13
+
14
+ class GitPushError(Exception):
15
+ pass
16
+
17
+
18
+ def _git(repo_dir: str, *args: str, stdin: str | None = None) -> str:
19
+ proc = subprocess.run(
20
+ ["git", "-C", repo_dir, *args],
21
+ input=stdin, capture_output=True, text=True,
22
+ )
23
+ if proc.returncode != 0:
24
+ raise GitPushError(f"git {' '.join(args)} -> {proc.returncode}: {proc.stderr.strip()}")
25
+ return proc.stdout
26
+
27
+
28
+ class GitBranchBuilder:
29
+ def __init__(self, repo_dir: str, remote: str = "origin"):
30
+ self.repo_dir = repo_dir
31
+ self.remote = remote
32
+
33
+ def build_and_push(
34
+ self,
35
+ *,
36
+ branch: str,
37
+ base: str,
38
+ patch_diff: str,
39
+ commit_message: str,
40
+ push_url: str | None = None,
41
+ ) -> str:
42
+ """Create `branch` at `base`, apply `patch_diff`, commit, and push. `push_url` (with an
43
+ embedded token) overrides the named remote. Returns the branch name."""
44
+ if not patch_diff.strip():
45
+ raise GitPushError("empty patch")
46
+ base_sha = _git(self.repo_dir, "rev-parse", base).strip()
47
+ _git(self.repo_dir, "checkout", "-B", branch, base_sha)
48
+ apply = subprocess.run(
49
+ ["git", "-C", self.repo_dir, "apply", "--index", "--whitespace=nowarn", "-"],
50
+ input=patch_diff, capture_output=True, text=True,
51
+ )
52
+ if apply.returncode != 0:
53
+ raise GitPushError(f"git apply failed: {apply.stderr.strip()}")
54
+ _git(self.repo_dir, "-c", "user.email=codna@codna.ai", "-c", "user.name=codna",
55
+ "commit", "-m", commit_message)
56
+ _git(self.repo_dir, "push", push_url or self.remote, f"HEAD:refs/heads/{branch}")
57
+ return branch