@shepai/cli 1.171.0-pr527.e2ee839 → 1.172.0-pr528.108a424

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 (501) hide show
  1. package/apis/json-schema/AgentType.yaml +1 -0
  2. package/apis/json-schema/Settings.yaml +0 -3
  3. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +1 -15
  4. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +1 -3
  6. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +0 -38
  8. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +0 -9
  10. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +0 -11
  11. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts.map +1 -1
  12. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +0 -2
  14. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  15. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +0 -2
  16. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.d.ts.map +1 -1
  17. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +0 -2
  18. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  19. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +0 -1
  20. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  21. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +0 -2
  22. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
  23. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +0 -2
  24. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  25. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -5
  26. package/dist/packages/core/src/domain/generated/output.d.ts +1 -259
  27. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  28. package/dist/packages/core/src/domain/generated/output.js +1 -43
  29. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/di/container.js +3 -57
  31. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -3
  32. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  33. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +0 -14
  34. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -12
  36. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +23 -0
  38. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.js +1 -0
  40. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +0 -2
  41. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  42. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +0 -12
  43. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts +63 -0
  44. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts.map +1 -0
  45. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.js +494 -0
  46. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +0 -10
  47. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  48. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +0 -34
  49. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +1 -3
  51. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  52. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +1 -7
  53. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +1 -3
  54. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  55. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +1 -32
  56. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  57. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +0 -19
  58. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -4
  59. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  60. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +0 -10
  61. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +1 -10
  62. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  63. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +1 -101
  64. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +0 -1
  65. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts.map +1 -1
  66. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +0 -61
  67. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/codex.json +32 -0
  68. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/copilot.json +32 -0
  69. package/dist/src/presentation/cli/index.js +0 -2
  70. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  71. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +5 -0
  72. package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
  73. package/dist/src/presentation/web/app/actions/check-agent-auth.js +18 -0
  74. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
  75. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +4 -2
  76. package/dist/src/presentation/web/app/build-graph-nodes.d.ts +1 -3
  77. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  78. package/dist/src/presentation/web/app/build-graph-nodes.js +0 -2
  79. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +1 -1
  80. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  81. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +2 -0
  82. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
  83. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.js +1 -0
  84. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -3
  85. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  86. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  87. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +1 -2
  88. package/dist/src/presentation/web/components/common/repo-group/repo-group.js +1 -1
  89. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts +1 -3
  90. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
  91. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +2 -3
  92. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +1 -0
  93. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
  94. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +7 -0
  95. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -1
  96. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +11 -3
  97. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +1 -0
  98. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
  99. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +8 -0
  100. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  101. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +3 -16
  102. package/dist/translations/ar/cli.json +0 -20
  103. package/dist/translations/ar/tui.json +4 -0
  104. package/dist/translations/ar/web.json +1 -43
  105. package/dist/translations/de/cli.json +0 -20
  106. package/dist/translations/de/tui.json +4 -0
  107. package/dist/translations/de/web.json +1 -43
  108. package/dist/translations/en/cli.json +0 -20
  109. package/dist/translations/en/tui.json +4 -0
  110. package/dist/translations/en/web.json +1 -43
  111. package/dist/translations/es/cli.json +0 -20
  112. package/dist/translations/es/tui.json +4 -0
  113. package/dist/translations/es/web.json +1 -43
  114. package/dist/translations/fr/cli.json +0 -20
  115. package/dist/translations/fr/tui.json +4 -0
  116. package/dist/translations/fr/web.json +1 -43
  117. package/dist/translations/he/cli.json +0 -20
  118. package/dist/translations/he/tui.json +4 -0
  119. package/dist/translations/he/web.json +1 -43
  120. package/dist/translations/pt/cli.json +0 -20
  121. package/dist/translations/pt/tui.json +4 -0
  122. package/dist/translations/pt/web.json +1 -43
  123. package/dist/translations/ru/cli.json +0 -20
  124. package/dist/translations/ru/tui.json +4 -0
  125. package/dist/translations/ru/web.json +1 -43
  126. package/dist/tsconfig.build.tsbuildinfo +1 -1
  127. package/package.json +1 -1
  128. package/web/.next/BUILD_ID +1 -1
  129. package/web/.next/build-manifest.json +2 -2
  130. package/web/.next/fallback-build-manifest.json +2 -2
  131. package/web/.next/prerender-manifest.json +3 -3
  132. package/web/.next/required-server-files.js +2 -2
  133. package/web/.next/required-server-files.json +2 -2
  134. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  135. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -2
  136. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  137. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  138. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  139. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -2
  140. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  141. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  142. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  143. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -2
  144. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  145. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  146. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  147. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -2
  148. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  149. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  150. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +38 -38
  151. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -2
  152. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  153. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  154. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  155. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -2
  156. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  157. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  158. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  159. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -2
  160. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  161. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  162. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  163. package/web/.next/server/app/(dashboard)/chat/page.js +1 -2
  164. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  165. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  166. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  167. package/web/.next/server/app/(dashboard)/create/page.js +1 -2
  168. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  169. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  170. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
  171. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -2
  172. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  173. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  174. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +38 -38
  175. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -2
  176. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  177. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  178. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  179. package/web/.next/server/app/(dashboard)/page.js +1 -2
  180. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  181. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  182. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  183. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -2
  184. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  185. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  186. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  187. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -2
  188. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  189. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  190. package/web/.next/server/app/_global-error.html +2 -2
  191. package/web/.next/server/app/_global-error.rsc +1 -1
  192. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  193. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  194. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  195. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  196. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  197. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  198. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  199. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  200. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  201. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  202. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  203. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  204. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  205. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  206. package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
  207. package/web/.next/server/app/features/page.js.nft.json +1 -1
  208. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  209. package/web/.next/server/app/settings/page/server-reference-manifest.json +18 -33
  210. package/web/.next/server/app/settings/page.js +1 -1
  211. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  212. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  213. package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
  214. package/web/.next/server/app/skills/page.js +1 -2
  215. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  216. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  217. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  218. package/web/.next/server/app/tools/page.js +1 -2
  219. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  220. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  221. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  222. package/web/.next/server/app/version/page.js.nft.json +1 -1
  223. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  224. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  225. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  226. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  227. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
  228. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  229. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  230. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  231. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  232. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  233. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  234. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  235. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +4 -0
  236. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -0
  237. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  238. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  239. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  240. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +4 -0
  241. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -0
  242. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
  243. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
  244. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +4 -0
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -0
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js +4 -0
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +1 -0
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +4 -0
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -0
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  252. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +4 -0
  253. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -0
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +4 -0
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -0
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js +3 -0
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js.map +1 -0
  258. package/web/.next/server/chunks/ssr/_02e01240._.js +4 -0
  259. package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -0
  260. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  261. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  262. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  263. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  264. package/web/.next/server/chunks/ssr/_18886033._.js +4 -0
  265. package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -0
  266. package/web/.next/server/chunks/ssr/_1e08a336._.js +1 -1
  267. package/web/.next/server/chunks/ssr/_22e00a14._.js +4 -0
  268. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -0
  269. package/web/.next/server/chunks/ssr/{_ee42a212._.js → _324beb75._.js} +2 -2
  270. package/web/.next/server/chunks/ssr/{_ee42a212._.js.map → _324beb75._.js.map} +1 -1
  271. package/web/.next/server/chunks/ssr/_43ba79e7._.js +3 -0
  272. package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +1 -0
  273. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  274. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  275. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
  276. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/_5119a3df._.js +1 -1
  278. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  279. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  280. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  281. package/web/.next/server/chunks/ssr/{_767748d2._.js → _5e3cb0a7._.js} +2 -2
  282. package/web/.next/server/chunks/ssr/_5e3cb0a7._.js.map +1 -0
  283. package/web/.next/server/chunks/ssr/_a5a5901d._.js +4 -0
  284. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -0
  285. package/web/.next/server/chunks/ssr/_a963dd3c._.js +3 -0
  286. package/web/.next/server/chunks/ssr/_a963dd3c._.js.map +1 -0
  287. package/web/.next/server/chunks/ssr/_ad09f271._.js +4 -0
  288. package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -0
  289. package/web/.next/server/chunks/ssr/_c3f595c6._.js +4 -0
  290. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -0
  291. package/web/.next/server/chunks/ssr/_c9d3f255._.js +3 -0
  292. package/web/.next/server/chunks/ssr/_c9d3f255._.js.map +1 -0
  293. package/web/.next/server/chunks/ssr/_df737cce._.js +1 -1
  294. package/web/.next/server/chunks/ssr/_e3f14907._.js +9 -0
  295. package/web/.next/server/chunks/ssr/_e3f14907._.js.map +1 -0
  296. package/web/.next/server/chunks/ssr/_ea9e1556._.js +4 -0
  297. package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -0
  298. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +6 -0
  299. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -0
  300. package/web/.next/server/chunks/ssr/_f33cd07e._.js +6 -0
  301. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -0
  302. package/web/.next/server/chunks/ssr/_f8b45233._.js +4 -0
  303. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -0
  304. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  305. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  307. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  308. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  311. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  313. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  315. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  316. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  317. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  318. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  319. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  320. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  321. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  322. package/web/.next/server/pages/500.html +2 -2
  323. package/web/.next/server/server-reference-manifest.js +1 -1
  324. package/web/.next/server/server-reference-manifest.json +59 -74
  325. package/web/.next/static/chunks/01d34ca202152b33.js +1 -0
  326. package/web/.next/static/chunks/120279c82aa8aa25.js +1 -0
  327. package/web/.next/static/chunks/2e32d8578aace93a.js +1 -0
  328. package/web/.next/static/chunks/{16fa4d3877c28fe2.js → 41f5bb33ac4f3c7d.js} +1 -1
  329. package/web/.next/static/chunks/{b9c62932ed987239.js → 43cf78a6c49eb7c1.js} +2 -2
  330. package/web/.next/static/chunks/4559a403ee40dd19.js +7 -0
  331. package/web/.next/static/chunks/{a8edb9423086e83f.js → 50b760a2c7ad03d3.js} +1 -1
  332. package/web/.next/static/chunks/{d1c3e0ee8e788c87.js → 6e10cf4513c1f54f.js} +1 -1
  333. package/web/.next/static/chunks/{39f6ad3f9005703a.js → 8a486366e2878cbc.js} +1 -1
  334. package/web/.next/static/chunks/8b0a9cb5109fe899.js +1 -0
  335. package/web/.next/static/chunks/{9374d251360e808b.js → 947678ada7948442.js} +1 -1
  336. package/web/.next/static/chunks/{7e05e7e25220ee9a.js → b1b0c8ff51c0c2fc.js} +3 -3
  337. package/web/.next/static/chunks/b65e555419a0c664.js +1 -0
  338. package/web/.next/static/chunks/{89dd90bf14488ec0.js → bd55a833b24ee17b.js} +1 -1
  339. package/web/.next/static/chunks/{e8c3c12f92e9a521.js → c91571264851a71e.js} +3 -3
  340. package/web/.next/static/chunks/cc832e47f53eb2c3.js +1 -0
  341. package/web/.next/static/chunks/{fb8dadb64c0ffc6b.js → d5366257d6b9f855.js} +1 -1
  342. package/web/.next/static/chunks/da504d7f1c40bce1.js +1 -0
  343. package/web/.next/static/chunks/dcf8bb4389557a76.css +1 -0
  344. package/web/.next/static/chunks/f8f647baf2e91a9d.js +1 -0
  345. package/web/public/icons/agents/copilot.svg +12 -0
  346. package/apis/json-schema/ActionDispositionEntry.yaml +0 -14
  347. package/apis/json-schema/DependencyFinding.yaml +0 -28
  348. package/apis/json-schema/DependencyRiskType.yaml +0 -11
  349. package/apis/json-schema/DependencyRules.yaml +0 -38
  350. package/apis/json-schema/EffectivePolicySnapshot.yaml +0 -24
  351. package/apis/json-schema/ReleaseIntegrityCheck.yaml +0 -22
  352. package/apis/json-schema/ReleaseIntegrityCheckType.yaml +0 -9
  353. package/apis/json-schema/ReleaseIntegrityResult.yaml +0 -16
  354. package/apis/json-schema/ReleaseRules.yaml +0 -21
  355. package/apis/json-schema/SecurityActionCategory.yaml +0 -10
  356. package/apis/json-schema/SecurityActionDisposition.yaml +0 -8
  357. package/apis/json-schema/SecurityConfig.yaml +0 -17
  358. package/apis/json-schema/SecurityEvent.yaml +0 -36
  359. package/apis/json-schema/SecurityMode.yaml +0 -8
  360. package/apis/json-schema/SecurityPolicy.yaml +0 -24
  361. package/apis/json-schema/SecuritySeverity.yaml +0 -9
  362. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts +0 -76
  363. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts.map +0 -1
  364. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.js +0 -11
  365. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts +0 -77
  366. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts.map +0 -1
  367. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.js +0 -13
  368. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts +0 -71
  369. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts.map +0 -1
  370. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.js +0 -215
  371. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts +0 -24
  372. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts.map +0 -1
  373. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.js +0 -56
  374. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts +0 -36
  375. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts.map +0 -1
  376. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.js +0 -76
  377. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts +0 -14
  378. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts.map +0 -1
  379. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.js +0 -46
  380. package/dist/packages/core/src/domain/errors/security-violation.error.d.ts +0 -15
  381. package/dist/packages/core/src/domain/errors/security-violation.error.d.ts.map +0 -1
  382. package/dist/packages/core/src/domain/errors/security-violation.error.js +0 -20
  383. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts +0 -44
  384. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts.map +0 -1
  385. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.js +0 -55
  386. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts +0 -18
  387. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts.map +0 -1
  388. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.js +0 -31
  389. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts +0 -29
  390. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts.map +0 -1
  391. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.js +0 -53
  392. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts +0 -24
  393. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts.map +0 -1
  394. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.js +0 -96
  395. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts +0 -22
  396. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts.map +0 -1
  397. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.js +0 -30
  398. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts +0 -45
  399. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts.map +0 -1
  400. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.js +0 -70
  401. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts +0 -53
  402. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts.map +0 -1
  403. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.js +0 -241
  404. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts +0 -44
  405. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts.map +0 -1
  406. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.js +0 -194
  407. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts +0 -28
  408. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts.map +0 -1
  409. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.js +0 -50
  410. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts +0 -26
  411. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts.map +0 -1
  412. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.js +0 -147
  413. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts +0 -44
  414. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts.map +0 -1
  415. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.js +0 -174
  416. package/dist/src/presentation/cli/commands/security.command.d.ts +0 -16
  417. package/dist/src/presentation/cli/commands/security.command.d.ts.map +0 -1
  418. package/dist/src/presentation/cli/commands/security.command.js +0 -118
  419. package/dist/src/presentation/web/app/actions/security.d.ts +0 -28
  420. package/dist/src/presentation/web/app/actions/security.d.ts.map +0 -1
  421. package/dist/src/presentation/web/app/actions/security.js +0 -59
  422. package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts +0 -6
  423. package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts.map +0 -1
  424. package/dist/src/presentation/web/components/common/repository-node/security-panel.js +0 -29
  425. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts +0 -10
  426. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts.map +0 -1
  427. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.js +0 -53
  428. package/dist/src/presentation/web/components/common/security-badge.d.ts +0 -7
  429. package/dist/src/presentation/web/components/common/security-badge.d.ts.map +0 -1
  430. package/dist/src/presentation/web/components/common/security-badge.js +0 -30
  431. package/dist/src/presentation/web/components/common/security-badge.stories.d.ts +0 -12
  432. package/dist/src/presentation/web/components/common/security-badge.stories.d.ts.map +0 -1
  433. package/dist/src/presentation/web/components/common/security-badge.stories.js +0 -20
  434. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts +0 -6
  435. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts.map +0 -1
  436. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.js +0 -60
  437. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts +0 -14
  438. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts.map +0 -1
  439. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.js +0 -116
  440. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +0 -3
  441. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +0 -1
  442. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +0 -3
  443. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +0 -1
  444. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +0 -3
  445. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +0 -1
  446. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +0 -3
  447. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +0 -1
  448. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +0 -4
  449. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js.map +0 -1
  450. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +0 -3
  451. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +0 -1
  452. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js +0 -3
  453. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js.map +0 -1
  454. package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js +0 -4
  455. package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js.map +0 -1
  456. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +0 -3
  457. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +0 -1
  458. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +0 -3
  459. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +0 -1
  460. package/web/.next/server/chunks/ssr/_02580450._.js +0 -3
  461. package/web/.next/server/chunks/ssr/_02580450._.js.map +0 -1
  462. package/web/.next/server/chunks/ssr/_1594e369._.js +0 -9
  463. package/web/.next/server/chunks/ssr/_1594e369._.js.map +0 -1
  464. package/web/.next/server/chunks/ssr/_21d37090._.js +0 -3
  465. package/web/.next/server/chunks/ssr/_21d37090._.js.map +0 -1
  466. package/web/.next/server/chunks/ssr/_767748d2._.js.map +0 -1
  467. package/web/.next/server/chunks/ssr/_f8c55130._.js +0 -4
  468. package/web/.next/server/chunks/ssr/_f8c55130._.js.map +0 -1
  469. package/web/.next/server/chunks/ssr/_ff04802c._.js +0 -3
  470. package/web/.next/server/chunks/ssr/_ff04802c._.js.map +0 -1
  471. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +0 -3
  472. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +0 -1
  473. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +0 -5
  474. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +0 -1
  475. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +0 -5
  476. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +0 -1
  477. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +0 -3
  478. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +0 -1
  479. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +0 -3
  480. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +0 -1
  481. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +0 -3
  482. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +0 -1
  483. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +0 -3
  484. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +0 -1
  485. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +0 -3
  486. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +0 -1
  487. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +0 -3
  488. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +0 -1
  489. package/web/.next/static/chunks/051873309d87fb45.css +0 -1
  490. package/web/.next/static/chunks/23d80bb760e7dc4c.js +0 -1
  491. package/web/.next/static/chunks/30a0ba9015f94405.js +0 -7
  492. package/web/.next/static/chunks/3aba9d2242420cb5.js +0 -1
  493. package/web/.next/static/chunks/7a6f56f37aaa17ea.js +0 -1
  494. package/web/.next/static/chunks/9423dc2310202fda.js +0 -1
  495. package/web/.next/static/chunks/a794cf7a1a5648dd.js +0 -1
  496. package/web/.next/static/chunks/ae81796726a9bba3.js +0 -1
  497. package/web/.next/static/chunks/f3d5e0ae13def35a.js +0 -1
  498. package/web/.next/static/chunks/fd232b88b5b50b2e.js +0 -1
  499. /package/web/.next/static/{t6SUt71jyk_PYf152Imog → S_u3qor6FkwObhA1F2xEj}/_buildManifest.js +0 -0
  500. /package/web/.next/static/{t6SUt71jyk_PYf152Imog → S_u3qor6FkwObhA1F2xEj}/_clientMiddlewareManifest.json +0 -0
  501. /package/web/.next/static/{t6SUt71jyk_PYf152Imog → S_u3qor6FkwObhA1F2xEj}/_ssgManifest.js +0 -0
@@ -1,215 +0,0 @@
1
- /**
2
- * Enforce Security Use Case
3
- *
4
- * Orchestrates the full security enforcement flow:
5
- * 1. Evaluate effective policy
6
- * 2. Run dependency-risk checks
7
- * 3. Run release-integrity checks
8
- * 4. Persist findings as security events
9
- * 5. Return structured enforcement result
10
- *
11
- * Supports Advisory (always pass) and Enforce (fail on violations) modes.
12
- * Disabled mode returns empty pass result.
13
- */
14
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- };
20
- var __metadata = (this && this.__metadata) || function (k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- };
23
- var __param = (this && this.__param) || function (paramIndex, decorator) {
24
- return function (target, key) { decorator(target, key, paramIndex); }
25
- };
26
- import { injectable, inject } from 'tsyringe';
27
- import { SecurityMode, SecurityActionCategory } from '../../../domain/generated/output.js';
28
- import { DependencyRiskEvaluator } from '../../../infrastructure/services/security/dependency-risk-evaluator.js';
29
- import { ReleaseIntegrityEvaluator } from '../../../infrastructure/services/security/release-integrity-evaluator.js';
30
- import { randomUUID } from 'node:crypto';
31
- import { execFile as execFileCb } from 'node:child_process';
32
- import { promisify } from 'node:util';
33
- const execFileAsync = promisify(execFileCb);
34
- /**
35
- * Default dependency rules when no policy file defines them.
36
- */
37
- const DEFAULT_DEPENDENCY_RULES = {
38
- checkLockfileConsistency: true,
39
- checkLifecycleScripts: true,
40
- checkNonRegistrySource: true,
41
- enforceStrictVersionRanges: false,
42
- allowlist: [],
43
- denylist: [],
44
- };
45
- /**
46
- * Default release rules when no policy file defines them.
47
- */
48
- const DEFAULT_RELEASE_RULES = {
49
- requireCiOnlyPublishing: true,
50
- requireProvenance: true,
51
- checkWorkflowIntegrity: true,
52
- };
53
- let EnforceSecurityUseCase = class EnforceSecurityUseCase {
54
- policyService;
55
- eventRepository;
56
- settingsRepository;
57
- dependencyEvaluator;
58
- releaseEvaluator;
59
- githubService;
60
- constructor(policyService, eventRepository, settingsRepository, dependencyEvaluator, releaseEvaluator, githubService) {
61
- this.policyService = policyService;
62
- this.eventRepository = eventRepository;
63
- this.settingsRepository = settingsRepository;
64
- this.dependencyEvaluator = dependencyEvaluator;
65
- this.releaseEvaluator = releaseEvaluator;
66
- this.githubService = githubService;
67
- }
68
- async execute(input) {
69
- // Evaluate effective policy
70
- const policy = await this.policyService.evaluatePolicy(input.repositoryPath);
71
- // Disabled mode — return empty pass result
72
- if (policy.mode === SecurityMode.Disabled) {
73
- return {
74
- passed: true,
75
- mode: SecurityMode.Disabled,
76
- policy,
77
- dependencyFindings: [],
78
- releaseIntegrity: { checks: [], passed: true },
79
- governanceFindings: [],
80
- totalFindings: 0,
81
- };
82
- }
83
- // Run dependency-risk checks
84
- const dependencyFindings = this.dependencyEvaluator.evaluate(input.repositoryPath, DEFAULT_DEPENDENCY_RULES);
85
- // Run release-integrity checks
86
- const releaseIntegrity = this.releaseEvaluator.evaluate(input.repositoryPath, DEFAULT_RELEASE_RULES);
87
- // Run governance audit (audit-only — does not affect pass/fail)
88
- const governanceFindings = await this.runGovernanceAudit(input.repositoryPath);
89
- // Count total findings (governance excluded — audit-only per FR-15)
90
- const failedReleaseChecks = releaseIntegrity.checks.filter((c) => !c.passed);
91
- const totalFindings = dependencyFindings.length + failedReleaseChecks.length;
92
- // Persist findings as security events
93
- await this.persistFindings(input.repositoryPath, dependencyFindings, releaseIntegrity, governanceFindings);
94
- // Update settings with evaluation timestamp
95
- await this.updateEvaluationTimestamp(policy.source);
96
- // Determine pass/fail based on mode (governance is always advisory)
97
- const hasFailures = totalFindings > 0;
98
- const passed = policy.mode === SecurityMode.Advisory ? true : !hasFailures;
99
- return {
100
- passed,
101
- mode: policy.mode,
102
- policy,
103
- dependencyFindings,
104
- releaseIntegrity,
105
- governanceFindings,
106
- totalFindings,
107
- };
108
- }
109
- /**
110
- * Resolve GitHub owner/repo from the repository's git remote and run governance audit.
111
- * Returns empty array if the remote cannot be resolved (not a GitHub repo, no remote, etc.).
112
- */
113
- async runGovernanceAudit(repositoryPath) {
114
- try {
115
- const { stdout } = await execFileAsync('git', ['remote', 'get-url', 'origin'], {
116
- cwd: repositoryPath,
117
- });
118
- const remoteUrl = stdout.trim();
119
- if (!remoteUrl)
120
- return [];
121
- const parsed = this.githubService.parseGitHubUrl(remoteUrl);
122
- return await this.githubService.auditRepositoryGovernance(parsed.owner, parsed.repo);
123
- }
124
- catch {
125
- // Not a GitHub repository, no remote configured, or parse failure — skip governance audit
126
- return [];
127
- }
128
- }
129
- /**
130
- * Persist dependency findings, failed release checks, and governance findings as security events.
131
- */
132
- async persistFindings(repositoryPath, depFindings, releaseResult, govFindings) {
133
- const now = new Date().toISOString();
134
- for (const finding of depFindings) {
135
- const event = {
136
- id: randomUUID(),
137
- repositoryPath,
138
- severity: finding.severity,
139
- category: SecurityActionCategory.DependencyInstall,
140
- disposition: 'Denied',
141
- message: finding.message,
142
- remediationSummary: finding.remediation,
143
- createdAt: now,
144
- updatedAt: now,
145
- };
146
- await this.eventRepository.save(event);
147
- }
148
- for (const check of releaseResult.checks) {
149
- if (!check.passed) {
150
- const event = {
151
- id: randomUUID(),
152
- repositoryPath,
153
- severity: check.severity,
154
- category: SecurityActionCategory.PublishRelease,
155
- disposition: 'Denied',
156
- message: check.message,
157
- createdAt: now,
158
- updatedAt: now,
159
- };
160
- await this.eventRepository.save(event);
161
- }
162
- }
163
- // Persist governance findings as advisory events
164
- for (const finding of govFindings) {
165
- // Map governance severity to SecuritySeverity (Unknown → Low for persistence)
166
- const severity = finding.severity === 'Unknown'
167
- ? 'Low'
168
- : finding.severity;
169
- const event = {
170
- id: randomUUID(),
171
- repositoryPath,
172
- severity,
173
- category: SecurityActionCategory.CiWorkflowModify,
174
- disposition: 'Allowed',
175
- message: `[Governance Audit] ${finding.message}`,
176
- remediationSummary: finding.remediation,
177
- createdAt: now,
178
- updatedAt: now,
179
- };
180
- await this.eventRepository.save(event);
181
- }
182
- }
183
- /**
184
- * Update settings with the latest evaluation timestamp and policy source.
185
- */
186
- async updateEvaluationTimestamp(policySource) {
187
- try {
188
- const settings = await this.settingsRepository.load();
189
- if (settings) {
190
- settings.security = {
191
- ...settings.security,
192
- mode: settings.security?.mode ?? SecurityMode.Advisory,
193
- lastEvaluationAt: new Date().toISOString(),
194
- policySource,
195
- };
196
- await this.settingsRepository.update(settings);
197
- }
198
- }
199
- catch {
200
- // Non-fatal — evaluation results are still returned even if settings update fails
201
- }
202
- }
203
- };
204
- EnforceSecurityUseCase = __decorate([
205
- injectable(),
206
- __param(0, inject('ISecurityPolicyService')),
207
- __param(1, inject('ISecurityEventRepository')),
208
- __param(2, inject('ISettingsRepository')),
209
- __param(3, inject('DependencyRiskEvaluator')),
210
- __param(4, inject('ReleaseIntegrityEvaluator')),
211
- __param(5, inject('IGitHubRepositoryService')),
212
- __metadata("design:paramtypes", [Object, Object, Object, DependencyRiskEvaluator,
213
- ReleaseIntegrityEvaluator, Object])
214
- ], EnforceSecurityUseCase);
215
- export { EnforceSecurityUseCase };
@@ -1,24 +0,0 @@
1
- /**
2
- * Evaluate Security Policy Use Case
3
- *
4
- * Wraps ISecurityPolicyService.evaluatePolicy() as a use case.
5
- * Updates settings with the latest evaluation timestamp and policy source.
6
- * Returns the effective policy snapshot.
7
- */
8
- import type { EffectivePolicySnapshot } from '../../../domain/generated/output.js';
9
- import type { ISecurityPolicyService } from '../../ports/output/services/security-policy-service.interface.js';
10
- import type { ISettingsRepository } from '../../ports/output/repositories/settings.repository.interface.js';
11
- /**
12
- * Input for the evaluate security policy use case.
13
- */
14
- export interface EvaluateSecurityPolicyInput {
15
- /** Absolute path to the repository to evaluate */
16
- repositoryPath: string;
17
- }
18
- export declare class EvaluateSecurityPolicyUseCase {
19
- private readonly policyService;
20
- private readonly settingsRepository;
21
- constructor(policyService: ISecurityPolicyService, settingsRepository: ISettingsRepository);
22
- execute(input: EvaluateSecurityPolicyInput): Promise<EffectivePolicySnapshot>;
23
- }
24
- //# sourceMappingURL=evaluate-security-policy.use-case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-security-policy.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAE5G;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBACa,6BAA6B;IAGtC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFlB,aAAa,EAAE,sBAAsB,EAErC,kBAAkB,EAAE,mBAAmB;IAGpD,OAAO,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAqBpF"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Evaluate Security Policy Use Case
3
- *
4
- * Wraps ISecurityPolicyService.evaluatePolicy() as a use case.
5
- * Updates settings with the latest evaluation timestamp and policy source.
6
- * Returns the effective policy snapshot.
7
- */
8
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
14
- var __metadata = (this && this.__metadata) || function (k, v) {
15
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16
- };
17
- var __param = (this && this.__param) || function (paramIndex, decorator) {
18
- return function (target, key) { decorator(target, key, paramIndex); }
19
- };
20
- import { injectable, inject } from 'tsyringe';
21
- import { SecurityMode } from '../../../domain/generated/output.js';
22
- let EvaluateSecurityPolicyUseCase = class EvaluateSecurityPolicyUseCase {
23
- policyService;
24
- settingsRepository;
25
- constructor(policyService, settingsRepository) {
26
- this.policyService = policyService;
27
- this.settingsRepository = settingsRepository;
28
- }
29
- async execute(input) {
30
- const policy = await this.policyService.evaluatePolicy(input.repositoryPath);
31
- // Update settings with evaluation timestamp and source
32
- try {
33
- const settings = await this.settingsRepository.load();
34
- if (settings) {
35
- settings.security = {
36
- ...settings.security,
37
- mode: settings.security?.mode ?? SecurityMode.Advisory,
38
- lastEvaluationAt: new Date().toISOString(),
39
- policySource: policy.source,
40
- };
41
- await this.settingsRepository.update(settings);
42
- }
43
- }
44
- catch {
45
- // Non-fatal — policy is still returned even if settings update fails
46
- }
47
- return policy;
48
- }
49
- };
50
- EvaluateSecurityPolicyUseCase = __decorate([
51
- injectable(),
52
- __param(0, inject('ISecurityPolicyService')),
53
- __param(1, inject('ISettingsRepository')),
54
- __metadata("design:paramtypes", [Object, Object])
55
- ], EvaluateSecurityPolicyUseCase);
56
- export { EvaluateSecurityPolicyUseCase };
@@ -1,36 +0,0 @@
1
- /**
2
- * Get Security State Use Case
3
- *
4
- * Returns the current security state for UI projection:
5
- * - Effective mode from settings
6
- * - Recent security events (limited)
7
- * - Highest-severity open finding
8
- * - Last evaluation timestamp
9
- */
10
- import { SecurityMode } from '../../../domain/generated/output.js';
11
- import type { SecurityEvent } from '../../../domain/generated/output.js';
12
- import type { ISecurityEventRepository } from '../../ports/output/repositories/security-event.repository.interface.js';
13
- import type { ISettingsRepository } from '../../ports/output/repositories/settings.repository.interface.js';
14
- /**
15
- * Security state summary for UI projection.
16
- */
17
- export interface SecurityState {
18
- /** Effective security mode */
19
- mode: SecurityMode;
20
- /** Last evaluation timestamp (ISO string) or null */
21
- lastEvaluationAt: string | null;
22
- /** Policy source or null */
23
- policySource: string | null;
24
- /** Recent security events (most recent first, limited) */
25
- recentEvents: SecurityEvent[];
26
- /** Highest-severity finding from recent events, or null */
27
- highestSeverityFinding: SecurityEvent | null;
28
- }
29
- export declare class GetSecurityStateUseCase {
30
- private readonly eventRepository;
31
- private readonly settingsRepository;
32
- constructor(eventRepository: ISecurityEventRepository, settingsRepository: ISettingsRepository);
33
- execute(repositoryPath: string): Promise<SecurityState>;
34
- private findHighestSeverity;
35
- }
36
- //# sourceMappingURL=get-security-state.use-case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-security-state.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/security/get-security-state.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAoB,MAAM,qCAAqC,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wEAAwE,CAAC;AACvH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAK5G;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,4BAA4B;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0DAA0D;IAC1D,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,2DAA2D;IAC3D,sBAAsB,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9C;AAUD,qBACa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFlB,eAAe,EAAE,wBAAwB,EAEzC,kBAAkB,EAAE,mBAAmB;IAGpD,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB7D,OAAO,CAAC,mBAAmB;CAgB5B"}
@@ -1,76 +0,0 @@
1
- /**
2
- * Get Security State Use Case
3
- *
4
- * Returns the current security state for UI projection:
5
- * - Effective mode from settings
6
- * - Recent security events (limited)
7
- * - Highest-severity open finding
8
- * - Last evaluation timestamp
9
- */
10
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
11
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
14
- return c > 3 && r && Object.defineProperty(target, key, r), r;
15
- };
16
- var __metadata = (this && this.__metadata) || function (k, v) {
17
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
18
- };
19
- var __param = (this && this.__param) || function (paramIndex, decorator) {
20
- return function (target, key) { decorator(target, key, paramIndex); }
21
- };
22
- import { injectable, inject } from 'tsyringe';
23
- import { SecurityMode, SecuritySeverity } from '../../../domain/generated/output.js';
24
- /** Maximum number of recent events returned. */
25
- const RECENT_EVENTS_LIMIT = 20;
26
- /** Severity ordering for comparison (higher = more severe). */
27
- const SEVERITY_RANK = {
28
- [SecuritySeverity.Low]: 0,
29
- [SecuritySeverity.Medium]: 1,
30
- [SecuritySeverity.High]: 2,
31
- [SecuritySeverity.Critical]: 3,
32
- };
33
- let GetSecurityStateUseCase = class GetSecurityStateUseCase {
34
- eventRepository;
35
- settingsRepository;
36
- constructor(eventRepository, settingsRepository) {
37
- this.eventRepository = eventRepository;
38
- this.settingsRepository = settingsRepository;
39
- }
40
- async execute(repositoryPath) {
41
- const settings = await this.settingsRepository.load();
42
- const securityConfig = settings?.security;
43
- const recentEvents = await this.eventRepository.findByRepository(repositoryPath, {
44
- limit: RECENT_EVENTS_LIMIT,
45
- });
46
- const highestSeverityFinding = this.findHighestSeverity(recentEvents);
47
- return {
48
- mode: securityConfig?.mode ?? SecurityMode.Advisory,
49
- lastEvaluationAt: securityConfig?.lastEvaluationAt ?? null,
50
- policySource: securityConfig?.policySource ?? null,
51
- recentEvents,
52
- highestSeverityFinding,
53
- };
54
- }
55
- findHighestSeverity(events) {
56
- if (events.length === 0) {
57
- return null;
58
- }
59
- let highest = events[0];
60
- for (const event of events) {
61
- const eventRank = SEVERITY_RANK[event.severity] ?? 0;
62
- const highestRank = SEVERITY_RANK[highest.severity] ?? 0;
63
- if (eventRank > highestRank) {
64
- highest = event;
65
- }
66
- }
67
- return highest;
68
- }
69
- };
70
- GetSecurityStateUseCase = __decorate([
71
- injectable(),
72
- __param(0, inject('ISecurityEventRepository')),
73
- __param(1, inject('ISettingsRepository')),
74
- __metadata("design:paramtypes", [Object, Object])
75
- ], GetSecurityStateUseCase);
76
- export { GetSecurityStateUseCase };
@@ -1,14 +0,0 @@
1
- /**
2
- * Record Security Event Use Case
3
- *
4
- * Persists a security event and triggers 90-day retention cleanup.
5
- * Used by runtime guardrails and enforcement flow to record findings.
6
- */
7
- import type { SecurityEvent } from '../../../domain/generated/output.js';
8
- import type { ISecurityEventRepository } from '../../ports/output/repositories/security-event.repository.interface.js';
9
- export declare class RecordSecurityEventUseCase {
10
- private readonly eventRepository;
11
- constructor(eventRepository: ISecurityEventRepository);
12
- execute(event: SecurityEvent): Promise<void>;
13
- }
14
- //# sourceMappingURL=record-security-event.use-case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record-security-event.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/security/record-security-event.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wEAAwE,CAAC;AAMvH,qBACa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,wBAAwB;IAGtD,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAcnD"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Record Security Event Use Case
3
- *
4
- * Persists a security event and triggers 90-day retention cleanup.
5
- * Used by runtime guardrails and enforcement flow to record findings.
6
- */
7
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
- return c > 3 && r && Object.defineProperty(target, key, r), r;
12
- };
13
- var __metadata = (this && this.__metadata) || function (k, v) {
14
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
- };
16
- var __param = (this && this.__param) || function (paramIndex, decorator) {
17
- return function (target, key) { decorator(target, key, paramIndex); }
18
- };
19
- import { injectable, inject } from 'tsyringe';
20
- import { randomUUID } from 'node:crypto';
21
- /** Retention window in days for security events. */
22
- const SECURITY_EVENT_RETENTION_DAYS = 90;
23
- let RecordSecurityEventUseCase = class RecordSecurityEventUseCase {
24
- eventRepository;
25
- constructor(eventRepository) {
26
- this.eventRepository = eventRepository;
27
- }
28
- async execute(event) {
29
- // Ensure the event has an ID
30
- const eventToSave = {
31
- ...event,
32
- id: event.id || randomUUID(),
33
- };
34
- await this.eventRepository.save(eventToSave);
35
- // Trigger 90-day retention cleanup
36
- const cutoff = new Date();
37
- cutoff.setDate(cutoff.getDate() - SECURITY_EVENT_RETENTION_DAYS);
38
- await this.eventRepository.deleteOlderThan(cutoff);
39
- }
40
- };
41
- RecordSecurityEventUseCase = __decorate([
42
- injectable(),
43
- __param(0, inject('ISecurityEventRepository')),
44
- __metadata("design:paramtypes", [Object])
45
- ], RecordSecurityEventUseCase);
46
- export { RecordSecurityEventUseCase };
@@ -1,15 +0,0 @@
1
- /**
2
- * Security Violation Error
3
- *
4
- * Thrown when a security policy constraint is violated during agent execution.
5
- * Contains structured information about the violated rule, the action category,
6
- * and actionable remediation guidance.
7
- */
8
- import type { SecurityActionCategory } from '../generated/output.js';
9
- export declare class SecurityViolationError extends Error {
10
- readonly rule: string;
11
- readonly category: SecurityActionCategory;
12
- readonly remediation: string;
13
- constructor(rule: string, category: SecurityActionCategory, remediation: string);
14
- }
15
- //# sourceMappingURL=security-violation.error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-violation.error.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/errors/security-violation.error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,qBAAa,sBAAuB,SAAQ,KAAK;aAE7B,IAAI,EAAE,MAAM;aACZ,QAAQ,EAAE,sBAAsB;aAChC,WAAW,EAAE,MAAM;gBAFnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,MAAM;CAMtC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Security Violation Error
3
- *
4
- * Thrown when a security policy constraint is violated during agent execution.
5
- * Contains structured information about the violated rule, the action category,
6
- * and actionable remediation guidance.
7
- */
8
- export class SecurityViolationError extends Error {
9
- rule;
10
- category;
11
- remediation;
12
- constructor(rule, category, remediation) {
13
- super(`Security policy violation: ${rule}`);
14
- this.rule = rule;
15
- this.category = category;
16
- this.remediation = remediation;
17
- this.name = 'SecurityViolationError';
18
- Object.setPrototypeOf(this, new.target.prototype);
19
- }
20
- }
@@ -1,44 +0,0 @@
1
- /**
2
- * Security Event Database Mapper
3
- *
4
- * Maps between SecurityEvent domain objects and SQLite database rows.
5
- *
6
- * Mapping Rules:
7
- * - TypeScript objects (camelCase) <-> SQL columns (snake_case)
8
- * - Dates stored as ISO 8601 strings (matching settings pattern)
9
- * - Optional fields stored as NULL when missing
10
- * - Enum values stored as string values
11
- */
12
- import type { SecurityEvent } from '../../../../domain/generated/output.js';
13
- /**
14
- * Database row type matching the security_events table schema.
15
- * Uses snake_case column names.
16
- */
17
- export interface SecurityEventRow {
18
- id: string;
19
- repository_path: string;
20
- feature_id: string | null;
21
- severity: string;
22
- category: string;
23
- disposition: string;
24
- actor: string | null;
25
- message: string | null;
26
- remediation_summary: string | null;
27
- created_at: string;
28
- }
29
- /**
30
- * Maps SecurityEvent domain object to database row.
31
- *
32
- * @param event - SecurityEvent domain object
33
- * @returns Database row object with snake_case columns
34
- */
35
- export declare function toDatabase(event: SecurityEvent): SecurityEventRow;
36
- /**
37
- * Maps database row to SecurityEvent domain object.
38
- * Converts ISO strings back to Date objects.
39
- *
40
- * @param row - Database row with snake_case columns
41
- * @returns SecurityEvent domain object with camelCase properties
42
- */
43
- export declare function fromDatabase(row: SecurityEventRow): SecurityEvent;
44
- //# sourceMappingURL=security-event.mapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-event.mapper.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAO5E;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAcjE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CAgBjE"}
@@ -1,55 +0,0 @@
1
- /**
2
- * Security Event Database Mapper
3
- *
4
- * Maps between SecurityEvent domain objects and SQLite database rows.
5
- *
6
- * Mapping Rules:
7
- * - TypeScript objects (camelCase) <-> SQL columns (snake_case)
8
- * - Dates stored as ISO 8601 strings (matching settings pattern)
9
- * - Optional fields stored as NULL when missing
10
- * - Enum values stored as string values
11
- */
12
- /**
13
- * Maps SecurityEvent domain object to database row.
14
- *
15
- * @param event - SecurityEvent domain object
16
- * @returns Database row object with snake_case columns
17
- */
18
- export function toDatabase(event) {
19
- return {
20
- id: event.id,
21
- repository_path: event.repositoryPath,
22
- feature_id: event.featureId ?? null,
23
- severity: event.severity,
24
- category: event.category,
25
- disposition: event.disposition,
26
- actor: event.actor ?? null,
27
- message: event.message ?? null,
28
- remediation_summary: event.remediationSummary ?? null,
29
- created_at: event.createdAt instanceof Date ? event.createdAt.toISOString() : String(event.createdAt),
30
- };
31
- }
32
- /**
33
- * Maps database row to SecurityEvent domain object.
34
- * Converts ISO strings back to Date objects.
35
- *
36
- * @param row - Database row with snake_case columns
37
- * @returns SecurityEvent domain object with camelCase properties
38
- */
39
- export function fromDatabase(row) {
40
- return {
41
- id: row.id,
42
- repositoryPath: row.repository_path,
43
- severity: row.severity,
44
- category: row.category,
45
- disposition: row.disposition,
46
- createdAt: new Date(row.created_at),
47
- updatedAt: new Date(row.created_at),
48
- ...(row.feature_id !== null && { featureId: row.feature_id }),
49
- ...(row.actor !== null && { actor: row.actor }),
50
- ...(row.message !== null && { message: row.message }),
51
- ...(row.remediation_summary !== null && {
52
- remediationSummary: row.remediation_summary,
53
- }),
54
- };
55
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Migration 053: Add security settings columns to the settings table.
3
- *
4
- * Adds three columns for supply-chain security configuration:
5
- * - security_mode TEXT NOT NULL DEFAULT 'Advisory'
6
- * - security_last_evaluation_at TEXT (nullable)
7
- * - security_policy_source TEXT (nullable)
8
- *
9
- * These columns store the effective security mode, last evaluation
10
- * timestamp, and policy source origin for the SecurityConfig model.
11
- *
12
- * Migration is idempotent: checks column existence before ALTER.
13
- */
14
- import type { MigrationParams } from 'umzug';
15
- import type Database from 'better-sqlite3';
16
- export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
17
- export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
18
- //# sourceMappingURL=053-add-security-settings-columns.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"053-add-security-settings-columns.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7F"}