@shepai/cli 1.170.0-pr513.cff27cb → 1.171.0-pr527.e2ee839

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 (588) hide show
  1. package/apis/json-schema/ActionDispositionEntry.yaml +14 -0
  2. package/apis/json-schema/DependencyFinding.yaml +28 -0
  3. package/apis/json-schema/DependencyRiskType.yaml +11 -0
  4. package/apis/json-schema/DependencyRules.yaml +38 -0
  5. package/apis/json-schema/EffectivePolicySnapshot.yaml +24 -0
  6. package/apis/json-schema/Feature.yaml +5 -17
  7. package/apis/json-schema/ReleaseIntegrityCheck.yaml +22 -0
  8. package/apis/json-schema/ReleaseIntegrityCheckType.yaml +9 -0
  9. package/apis/json-schema/ReleaseIntegrityResult.yaml +16 -0
  10. package/apis/json-schema/ReleaseRules.yaml +21 -0
  11. package/apis/json-schema/SdlcLifecycle.yaml +0 -1
  12. package/apis/json-schema/SecurityActionCategory.yaml +10 -0
  13. package/apis/json-schema/SecurityActionDisposition.yaml +8 -0
  14. package/apis/json-schema/SecurityConfig.yaml +17 -0
  15. package/apis/json-schema/SecurityEvent.yaml +36 -0
  16. package/apis/json-schema/SecurityMode.yaml +8 -0
  17. package/apis/json-schema/SecurityPolicy.yaml +24 -0
  18. package/apis/json-schema/SecuritySeverity.yaml +9 -0
  19. package/apis/json-schema/Settings.yaml +3 -0
  20. package/apis/json-schema/WorkflowConfig.yaml +5 -10
  21. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +15 -1
  22. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
  23. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +4 -2
  24. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  25. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts +76 -0
  26. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.d.ts.map +1 -0
  27. package/dist/packages/core/src/application/ports/output/repositories/security-event.repository.interface.js +11 -0
  28. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +38 -0
  29. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
  30. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +9 -0
  31. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts +77 -0
  32. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.d.ts.map +1 -0
  33. package/dist/packages/core/src/application/ports/output/services/security-policy-service.interface.js +13 -0
  34. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +14 -4
  35. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts.map +1 -1
  36. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  37. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +4 -2
  38. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  39. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +4 -2
  40. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -1
  41. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +2 -3
  42. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.d.ts.map +1 -1
  43. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +4 -2
  44. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  45. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +8 -18
  46. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -3
  47. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  48. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
  49. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +0 -13
  50. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  51. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +4 -2
  52. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
  53. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +5 -5
  54. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts +71 -0
  55. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.d.ts.map +1 -0
  56. package/dist/packages/core/src/application/use-cases/security/enforce-security.use-case.js +215 -0
  57. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts +24 -0
  58. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.d.ts.map +1 -0
  59. package/dist/packages/core/src/application/use-cases/security/evaluate-security-policy.use-case.js +56 -0
  60. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts +36 -0
  61. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.d.ts.map +1 -0
  62. package/dist/packages/core/src/application/use-cases/security/get-security-state.use-case.js +76 -0
  63. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts +14 -0
  64. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.d.ts.map +1 -0
  65. package/dist/packages/core/src/application/use-cases/security/record-security-event.use-case.js +46 -0
  66. package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.d.ts +1 -0
  67. package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.d.ts.map +1 -1
  68. package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.js +59 -2
  69. package/dist/packages/core/src/domain/errors/security-violation.error.d.ts +15 -0
  70. package/dist/packages/core/src/domain/errors/security-violation.error.d.ts.map +1 -0
  71. package/dist/packages/core/src/domain/errors/security-violation.error.js +20 -0
  72. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  73. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +6 -3
  74. package/dist/packages/core/src/domain/generated/output.d.ts +263 -22
  75. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  76. package/dist/packages/core/src/domain/generated/output.js +43 -7
  77. package/dist/packages/core/src/domain/lifecycle-gates.d.ts +6 -21
  78. package/dist/packages/core/src/domain/lifecycle-gates.d.ts.map +1 -1
  79. package/dist/packages/core/src/domain/lifecycle-gates.js +6 -25
  80. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  81. package/dist/packages/core/src/infrastructure/di/container.js +57 -5
  82. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -3
  83. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  84. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -10
  85. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts +44 -0
  86. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.d.ts.map +1 -0
  87. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/security-event.mapper.js +55 -0
  88. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -2
  89. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  90. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +16 -7
  91. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts +18 -0
  92. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.d.ts.map +1 -0
  93. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-security-settings-columns.js +31 -0
  94. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts +29 -0
  95. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.d.ts.map +1 -0
  96. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/054-create-security-events-table.js +53 -0
  97. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  98. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +3 -5
  99. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts +24 -0
  100. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.d.ts.map +1 -0
  101. package/dist/packages/core/src/infrastructure/repositories/sqlite-security-event.repository.js +96 -0
  102. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  103. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +15 -6
  104. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +2 -0
  105. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  106. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +12 -0
  107. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts +22 -0
  108. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.d.ts.map +1 -0
  109. package/dist/packages/core/src/infrastructure/services/agents/common/executors/security-constraint-validator.js +30 -0
  110. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +10 -20
  111. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  112. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +34 -68
  113. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  114. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +4 -2
  115. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  116. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +9 -3
  117. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +4 -2
  118. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  119. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +39 -19
  120. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.d.ts.map +1 -1
  121. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.js +0 -1
  122. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  123. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +19 -1
  124. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts +45 -0
  125. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.d.ts.map +1 -0
  126. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/security-pre-check.js +70 -0
  127. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +4 -5
  128. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  129. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +6 -13
  130. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +10 -1
  131. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  132. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +101 -1
  133. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts +53 -0
  134. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.d.ts.map +1 -0
  135. package/dist/packages/core/src/infrastructure/services/security/dependency-risk-evaluator.js +241 -0
  136. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts +44 -0
  137. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.d.ts.map +1 -0
  138. package/dist/packages/core/src/infrastructure/services/security/release-integrity-evaluator.js +194 -0
  139. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts +28 -0
  140. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.d.ts.map +1 -0
  141. package/dist/packages/core/src/infrastructure/services/security/security-policy-file-reader.js +50 -0
  142. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts +26 -0
  143. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.d.ts.map +1 -0
  144. package/dist/packages/core/src/infrastructure/services/security/security-policy-validator.js +147 -0
  145. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts +44 -0
  146. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.d.ts.map +1 -0
  147. package/dist/packages/core/src/infrastructure/services/security/security-policy.service.js +174 -0
  148. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +2 -1
  149. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts.map +1 -1
  150. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +65 -7
  151. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  152. package/dist/src/presentation/cli/commands/feat/index.js +1 -5
  153. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  154. package/dist/src/presentation/cli/commands/feat/new.command.js +5 -18
  155. package/dist/src/presentation/cli/commands/security.command.d.ts +16 -0
  156. package/dist/src/presentation/cli/commands/security.command.d.ts.map +1 -0
  157. package/dist/src/presentation/cli/commands/security.command.js +118 -0
  158. package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
  159. package/dist/src/presentation/cli/commands/upgrade.command.js +68 -3
  160. package/dist/src/presentation/cli/index.js +2 -0
  161. package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -3
  162. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  163. package/dist/src/presentation/web/app/actions/create-feature.js +3 -3
  164. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -2
  165. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
  166. package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +1 -2
  167. package/dist/src/presentation/web/app/actions/security.d.ts +28 -0
  168. package/dist/src/presentation/web/app/actions/security.d.ts.map +1 -0
  169. package/dist/src/presentation/web/app/actions/security.js +59 -0
  170. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  171. package/dist/src/presentation/web/app/api/agent-events/route.js +0 -1
  172. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  173. package/dist/src/presentation/web/app/build-feature-node-data.js +2 -4
  174. package/dist/src/presentation/web/app/build-graph-nodes.d.ts +3 -1
  175. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  176. package/dist/src/presentation/web/app/build-graph-nodes.js +4 -4
  177. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +1 -1
  178. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  179. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +0 -3
  180. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  181. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +1 -65
  182. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -3
  183. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  184. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +11 -15
  185. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  186. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -2
  187. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +1 -6
  188. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  189. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +4 -16
  190. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  191. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -2
  192. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +4 -6
  193. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  194. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +0 -12
  195. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  196. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +3 -7
  197. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts +3 -1
  198. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
  199. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +3 -2
  200. package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts +6 -0
  201. package/dist/src/presentation/web/components/common/repository-node/security-panel.d.ts.map +1 -0
  202. package/dist/src/presentation/web/components/common/repository-node/security-panel.js +29 -0
  203. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts +10 -0
  204. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.d.ts.map +1 -0
  205. package/dist/src/presentation/web/components/common/repository-node/security-panel.stories.js +53 -0
  206. package/dist/src/presentation/web/components/common/security-badge.d.ts +7 -0
  207. package/dist/src/presentation/web/components/common/security-badge.d.ts.map +1 -0
  208. package/dist/src/presentation/web/components/common/security-badge.js +30 -0
  209. package/dist/src/presentation/web/components/common/security-badge.stories.d.ts +12 -0
  210. package/dist/src/presentation/web/components/common/security-badge.stories.d.ts.map +1 -0
  211. package/dist/src/presentation/web/components/common/security-badge.stories.js +20 -0
  212. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  213. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +22 -9
  214. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts +6 -0
  215. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.d.ts.map +1 -0
  216. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.js +60 -0
  217. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts +14 -0
  218. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.d.ts.map +1 -0
  219. package/dist/src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.js +116 -0
  220. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +3 -3
  221. package/dist/translations/ar/cli.json +22 -24
  222. package/dist/translations/ar/web.json +45 -7
  223. package/dist/translations/de/cli.json +22 -24
  224. package/dist/translations/de/web.json +45 -7
  225. package/dist/translations/en/cli.json +22 -24
  226. package/dist/translations/en/web.json +45 -7
  227. package/dist/translations/es/cli.json +22 -24
  228. package/dist/translations/es/web.json +45 -7
  229. package/dist/translations/fr/cli.json +22 -24
  230. package/dist/translations/fr/web.json +45 -7
  231. package/dist/translations/he/cli.json +22 -24
  232. package/dist/translations/he/web.json +45 -7
  233. package/dist/translations/pt/cli.json +22 -24
  234. package/dist/translations/pt/web.json +45 -7
  235. package/dist/translations/ru/cli.json +22 -24
  236. package/dist/translations/ru/web.json +45 -7
  237. package/dist/tsconfig.build.tsbuildinfo +1 -1
  238. package/package.json +1 -1
  239. package/web/.next/BUILD_ID +1 -1
  240. package/web/.next/build-manifest.json +2 -2
  241. package/web/.next/fallback-build-manifest.json +2 -2
  242. package/web/.next/prerender-manifest.json +3 -3
  243. package/web/.next/required-server-files.js +2 -2
  244. package/web/.next/required-server-files.json +2 -2
  245. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  246. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -1
  247. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  248. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  249. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  250. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +2 -1
  251. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  252. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  253. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  254. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -1
  255. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  256. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  257. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +76 -121
  258. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  259. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  260. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  261. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +76 -121
  262. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  263. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  264. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  265. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  266. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +2 -1
  267. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  268. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  269. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  270. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -1
  271. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  272. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  273. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  274. package/web/.next/server/app/(dashboard)/chat/page.js +2 -1
  275. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  276. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  277. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  278. package/web/.next/server/app/(dashboard)/create/page.js +2 -1
  279. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  280. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  281. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +76 -121
  282. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  283. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  284. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  285. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +76 -121
  286. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  287. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  288. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  289. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  290. package/web/.next/server/app/(dashboard)/page.js +2 -1
  291. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  292. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  293. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  294. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +2 -1
  295. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  296. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  297. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  298. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -1
  299. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  300. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  301. package/web/.next/server/app/_global-error.html +2 -2
  302. package/web/.next/server/app/_global-error.rsc +1 -1
  303. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  304. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  305. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  306. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  307. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  308. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  309. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  310. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  311. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  312. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  313. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  314. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  315. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  316. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  317. package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
  318. package/web/.next/server/app/features/page.js.nft.json +1 -1
  319. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  320. package/web/.next/server/app/settings/page/server-reference-manifest.json +33 -18
  321. package/web/.next/server/app/settings/page.js +1 -1
  322. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  323. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  324. package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
  325. package/web/.next/server/app/skills/page.js +2 -1
  326. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  327. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  328. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  329. package/web/.next/server/app/tools/page.js +2 -1
  330. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  331. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  332. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  333. package/web/.next/server/app/version/page.js.nft.json +1 -1
  334. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  335. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  336. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  337. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +1 -1
  338. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  339. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  340. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
  341. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  342. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  343. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  344. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +3 -0
  345. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -0
  346. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +3 -0
  347. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -0
  348. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +3 -0
  349. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +1 -0
  350. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  351. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  352. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  353. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  354. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  355. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  356. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  357. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ed9b909._.js +1 -1
  358. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +3 -0
  359. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -0
  360. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +4 -0
  361. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js.map +1 -0
  362. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +3 -0
  363. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +1 -0
  364. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js +1 -1
  365. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js.map +1 -1
  366. package/web/.next/server/chunks/ssr/[root-of-the-server]__69dd3217._.js +1 -1
  367. package/web/.next/server/chunks/ssr/[root-of-the-server]__69dd3217._.js.map +1 -1
  368. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
  369. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
  370. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js +3 -0
  371. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a9cb046._.js.map +1 -0
  372. package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js +4 -0
  373. package/web/.next/server/chunks/ssr/[root-of-the-server]__a2d6c0ac._.js.map +1 -0
  374. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +3 -0
  375. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -0
  376. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +3 -0
  377. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +1 -0
  378. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  379. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  380. package/web/.next/server/chunks/ssr/[root-of-the-server]__c1262d08._.js +1 -1
  381. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js +1 -1
  382. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js.map +1 -1
  383. package/web/.next/server/chunks/ssr/_02580450._.js +3 -0
  384. package/web/.next/server/chunks/ssr/_02580450._.js.map +1 -0
  385. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  386. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  387. package/web/.next/server/chunks/ssr/_1594e369._.js +9 -0
  388. package/web/.next/server/chunks/ssr/_1594e369._.js.map +1 -0
  389. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  390. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  391. package/web/.next/server/chunks/ssr/_21d37090._.js +3 -0
  392. package/web/.next/server/chunks/ssr/_21d37090._.js.map +1 -0
  393. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  394. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  395. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
  396. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
  397. package/web/.next/server/chunks/ssr/_5119a3df._.js +1 -1
  398. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  399. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  400. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  401. package/web/.next/server/chunks/ssr/{_0fd635d7._.js → _767748d2._.js} +2 -2
  402. package/web/.next/server/chunks/ssr/_767748d2._.js.map +1 -0
  403. package/web/.next/server/chunks/ssr/_df737cce._.js +1 -1
  404. package/web/.next/server/chunks/ssr/{_34d897da._.js → _ee42a212._.js} +2 -2
  405. package/web/.next/server/chunks/ssr/{_34d897da._.js.map → _ee42a212._.js.map} +1 -1
  406. package/web/.next/server/chunks/ssr/_f8c55130._.js +4 -0
  407. package/web/.next/server/chunks/ssr/_f8c55130._.js.map +1 -0
  408. package/web/.next/server/chunks/ssr/_ff04802c._.js +3 -0
  409. package/web/.next/server/chunks/ssr/_ff04802c._.js.map +1 -0
  410. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  411. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  412. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  413. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  414. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +3 -0
  415. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -0
  416. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +5 -0
  417. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -0
  418. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +5 -0
  419. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -0
  420. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +3 -0
  421. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -0
  422. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +3 -0
  423. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -0
  424. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +3 -0
  425. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -0
  426. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +3 -0
  427. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -0
  428. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  429. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  430. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  431. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  432. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  433. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  434. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  435. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  436. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  437. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  438. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js.map +1 -1
  439. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +3 -0
  440. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -0
  441. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +3 -0
  442. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +1 -0
  443. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  444. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  445. package/web/.next/server/pages/500.html +2 -2
  446. package/web/.next/server/server-reference-manifest.js +1 -1
  447. package/web/.next/server/server-reference-manifest.json +226 -319
  448. package/web/.next/static/chunks/051873309d87fb45.css +1 -0
  449. package/web/.next/static/chunks/{52681a7f14138e48.js → 16fa4d3877c28fe2.js} +1 -1
  450. package/web/.next/static/chunks/23d80bb760e7dc4c.js +1 -0
  451. package/web/.next/static/chunks/30a0ba9015f94405.js +7 -0
  452. package/web/.next/static/chunks/{0f30a983f3467cd5.js → 39f6ad3f9005703a.js} +1 -1
  453. package/web/.next/static/chunks/3aba9d2242420cb5.js +1 -0
  454. package/web/.next/static/chunks/{d5bf9c963b5346e1.js → 7a6f56f37aaa17ea.js} +1 -1
  455. package/web/.next/static/chunks/{09a25231e5fc1ab8.js → 7e05e7e25220ee9a.js} +1 -1
  456. package/web/.next/static/chunks/{4219ddfde68a6d0b.js → 89dd90bf14488ec0.js} +1 -1
  457. package/web/.next/static/chunks/{e93ae5725b0babeb.js → 9374d251360e808b.js} +1 -1
  458. package/web/.next/static/chunks/{fc595d95626ac9bb.js → 9423dc2310202fda.js} +1 -1
  459. package/web/.next/static/chunks/a794cf7a1a5648dd.js +1 -0
  460. package/web/.next/static/chunks/{37f9543560c58ea6.js → a8edb9423086e83f.js} +1 -1
  461. package/web/.next/static/chunks/ae81796726a9bba3.js +1 -0
  462. package/web/.next/static/chunks/{9a78b4c5dcd28196.js → b9c62932ed987239.js} +2 -2
  463. package/web/.next/static/chunks/{478adf5d5156f002.js → d1c3e0ee8e788c87.js} +1 -1
  464. package/web/.next/static/chunks/e8c3c12f92e9a521.js +5 -0
  465. package/web/.next/static/chunks/f3d5e0ae13def35a.js +1 -0
  466. package/web/.next/static/chunks/{2a9af061f4fbe7f5.js → fb8dadb64c0ffc6b.js} +1 -1
  467. package/web/.next/static/chunks/fd232b88b5b50b2e.js +1 -0
  468. package/apis/json-schema/FeatureMode.yaml +0 -8
  469. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts +0 -40
  470. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts.map +0 -1
  471. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.js +0 -125
  472. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts +0 -19
  473. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts.map +0 -1
  474. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.js +0 -46
  475. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts +0 -17
  476. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts.map +0 -1
  477. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.js +0 -37
  478. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts +0 -12
  479. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts.map +0 -1
  480. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.js +0 -17
  481. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts +0 -362
  482. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts.map +0 -1
  483. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.js +0 -72
  484. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts +0 -18
  485. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts.map +0 -1
  486. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.js +0 -52
  487. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts +0 -24
  488. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts.map +0 -1
  489. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.js +0 -38
  490. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts +0 -31
  491. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts.map +0 -1
  492. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.js +0 -240
  493. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts +0 -21
  494. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts.map +0 -1
  495. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.js +0 -134
  496. package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts +0 -12
  497. package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts.map +0 -1
  498. package/dist/src/presentation/cli/commands/feat/feedback.command.js +0 -64
  499. package/dist/src/presentation/cli/commands/feat/promote.command.d.ts +0 -13
  500. package/dist/src/presentation/cli/commands/feat/promote.command.d.ts.map +0 -1
  501. package/dist/src/presentation/cli/commands/feat/promote.command.js +0 -41
  502. package/dist/src/presentation/web/app/actions/discard-exploration.d.ts +0 -9
  503. package/dist/src/presentation/web/app/actions/discard-exploration.d.ts.map +0 -1
  504. package/dist/src/presentation/web/app/actions/discard-exploration.js +0 -29
  505. package/dist/src/presentation/web/app/actions/promote-exploration.d.ts +0 -11
  506. package/dist/src/presentation/web/app/actions/promote-exploration.d.ts.map +0 -1
  507. package/dist/src/presentation/web/app/actions/promote-exploration.js +0 -21
  508. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts +0 -12
  509. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts.map +0 -1
  510. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.js +0 -40
  511. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts +0 -8
  512. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts.map +0 -1
  513. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.js +0 -33
  514. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts +0 -10
  515. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts.map +0 -1
  516. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.js +0 -33
  517. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts +0 -11
  518. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts.map +0 -1
  519. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.js +0 -34
  520. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts +0 -16
  521. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts.map +0 -1
  522. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.js +0 -70
  523. package/dist/src/presentation/web/components/ui/toggle-group.d.ts +0 -10
  524. package/dist/src/presentation/web/components/ui/toggle-group.d.ts.map +0 -1
  525. package/dist/src/presentation/web/components/ui/toggle-group.js +0 -22
  526. package/dist/src/presentation/web/components/ui/toggle.d.ts +0 -10
  527. package/dist/src/presentation/web/components/ui/toggle.d.ts.map +0 -1
  528. package/dist/src/presentation/web/components/ui/toggle.js +0 -26
  529. package/web/.next/server/chunks/ssr/[root-of-the-server]__03c66352._.js +0 -4
  530. package/web/.next/server/chunks/ssr/[root-of-the-server]__03c66352._.js.map +0 -1
  531. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +0 -4
  532. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +0 -1
  533. package/web/.next/server/chunks/ssr/[root-of-the-server]__403afc23._.js +0 -4
  534. package/web/.next/server/chunks/ssr/[root-of-the-server]__403afc23._.js.map +0 -1
  535. package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js +0 -4
  536. package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +0 -1
  537. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +0 -4
  538. package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +0 -1
  539. package/web/.next/server/chunks/ssr/[root-of-the-server]__df550e85._.js +0 -3
  540. package/web/.next/server/chunks/ssr/[root-of-the-server]__df550e85._.js.map +0 -1
  541. package/web/.next/server/chunks/ssr/[root-of-the-server]__df5602bf._.js +0 -4
  542. package/web/.next/server/chunks/ssr/[root-of-the-server]__df5602bf._.js.map +0 -1
  543. package/web/.next/server/chunks/ssr/[root-of-the-server]__e9f4767a._.js +0 -4
  544. package/web/.next/server/chunks/ssr/[root-of-the-server]__e9f4767a._.js.map +0 -1
  545. package/web/.next/server/chunks/ssr/_02e01240._.js +0 -4
  546. package/web/.next/server/chunks/ssr/_02e01240._.js.map +0 -1
  547. package/web/.next/server/chunks/ssr/_0fd635d7._.js.map +0 -1
  548. package/web/.next/server/chunks/ssr/_18886033._.js +0 -4
  549. package/web/.next/server/chunks/ssr/_18886033._.js.map +0 -1
  550. package/web/.next/server/chunks/ssr/_22e00a14._.js +0 -4
  551. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +0 -1
  552. package/web/.next/server/chunks/ssr/_30ddea9d._.js +0 -9
  553. package/web/.next/server/chunks/ssr/_30ddea9d._.js.map +0 -1
  554. package/web/.next/server/chunks/ssr/_43ba79e7._.js +0 -3
  555. package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +0 -1
  556. package/web/.next/server/chunks/ssr/_6e79a2cc._.js +0 -3
  557. package/web/.next/server/chunks/ssr/_6e79a2cc._.js.map +0 -1
  558. package/web/.next/server/chunks/ssr/_a5a5901d._.js +0 -4
  559. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +0 -1
  560. package/web/.next/server/chunks/ssr/_ad09f271._.js +0 -4
  561. package/web/.next/server/chunks/ssr/_ad09f271._.js.map +0 -1
  562. package/web/.next/server/chunks/ssr/_c3f595c6._.js +0 -4
  563. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +0 -1
  564. package/web/.next/server/chunks/ssr/_cac4abe6._.js +0 -3
  565. package/web/.next/server/chunks/ssr/_cac4abe6._.js.map +0 -1
  566. package/web/.next/server/chunks/ssr/_ea9e1556._.js +0 -4
  567. package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +0 -1
  568. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +0 -6
  569. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +0 -1
  570. package/web/.next/server/chunks/ssr/_f33cd07e._.js +0 -6
  571. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +0 -1
  572. package/web/.next/server/chunks/ssr/_f8b45233._.js +0 -4
  573. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +0 -1
  574. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +0 -3
  575. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js.map +0 -1
  576. package/web/.next/static/chunks/0769c695d6b663c7.js +0 -1
  577. package/web/.next/static/chunks/2ceebcc839ee0d4b.js +0 -1
  578. package/web/.next/static/chunks/5743a9c1c63e5261.js +0 -5
  579. package/web/.next/static/chunks/5cf9745e2ef3837c.js +0 -1
  580. package/web/.next/static/chunks/5e20f692bbfcfb94.js +0 -7
  581. package/web/.next/static/chunks/8b0a9cb5109fe899.js +0 -1
  582. package/web/.next/static/chunks/c80e8e3d0cf5baa6.css +0 -1
  583. package/web/.next/static/chunks/d60cee2e7318f425.js +0 -1
  584. package/web/.next/static/chunks/da565c85277c2461.js +0 -1
  585. package/web/.next/static/chunks/fb89cf91c10b2e8b.js +0 -1
  586. /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → t6SUt71jyk_PYf152Imog}/_buildManifest.js +0 -0
  587. /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → t6SUt71jyk_PYf152Imog}/_clientMiddlewareManifest.json +0 -0
  588. /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → t6SUt71jyk_PYf152Imog}/_ssgManifest.js +0 -0
@@ -0,0 +1,60 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, useTransition, useRef, useEffect } from 'react';
4
+ import { Shield, Check, AlertTriangle, ShieldAlert, ShieldOff } from 'lucide-react';
5
+ import { toast } from 'sonner';
6
+ import { useTranslation } from 'react-i18next';
7
+ import { cn } from '../../../lib/utils.js';
8
+ import { Badge } from '../../ui/badge.js';
9
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../ui/select.js';
10
+ import { updateSecurityModeAction } from '../../../app/actions/security.js';
11
+ import { SecurityMode } from '../../../../../../packages/core/src/domain/generated/output.js';
12
+ const MODE_OPTIONS = [
13
+ { value: SecurityMode.Disabled, icon: ShieldOff },
14
+ { value: SecurityMode.Advisory, icon: Shield },
15
+ { value: SecurityMode.Enforce, icon: ShieldAlert },
16
+ ];
17
+ const SEVERITY_COLORS = {
18
+ Low: 'bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300',
19
+ Medium: 'bg-yellow-100 text-yellow-700 dark:bg-yellow-900/40 dark:text-yellow-300',
20
+ High: 'bg-orange-100 text-orange-700 dark:bg-orange-900/40 dark:text-orange-300',
21
+ Critical: 'bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300',
22
+ };
23
+ export function SupplyChainSecuritySettingsSection({ securityState, }) {
24
+ const { t } = useTranslation('web');
25
+ const [mode, setMode] = useState(securityState.mode);
26
+ const [isPending, startTransition] = useTransition();
27
+ const [showSaved, setShowSaved] = useState(false);
28
+ const prevPendingRef = useRef(false);
29
+ useEffect(() => {
30
+ if (prevPendingRef.current && !isPending) {
31
+ setShowSaved(true);
32
+ const timer = setTimeout(() => setShowSaved(false), 2000);
33
+ return () => clearTimeout(timer);
34
+ }
35
+ prevPendingRef.current = isPending;
36
+ }, [isPending]);
37
+ function handleModeChange(value) {
38
+ const newMode = value;
39
+ setMode(newMode);
40
+ startTransition(async () => {
41
+ const result = await updateSecurityModeAction(newMode);
42
+ if (!result.success) {
43
+ toast.error(result.error ?? t('settings.failedToSave'));
44
+ setMode(securityState.mode);
45
+ }
46
+ });
47
+ }
48
+ const lastEvalDisplay = securityState.lastEvaluationAt
49
+ ? new Date(securityState.lastEvaluationAt).toLocaleString()
50
+ : t('settings.security.lastEvaluationNever');
51
+ const policySourceDisplay = securityState.policySource ?? t('settings.security.policySourceNone');
52
+ return (_jsxs("div", { className: "bg-background rounded-lg border", "data-testid": "security-settings-section", children: [_jsxs("div", { className: "bg-muted/30 border-b px-4 py-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Shield, { className: "text-muted-foreground h-3.5 w-3.5" }), _jsx("h2", { className: "text-sm font-semibold", children: t('settings.security.sectionTitle') }), isPending ? (_jsx("span", { className: "text-muted-foreground text-xs", children: t('settings.saving') })) : null, showSaved && !isPending ? (_jsxs("span", { className: "flex items-center gap-1 text-xs text-green-600", children: [_jsx(Check, { className: "h-3 w-3" }), t('settings.saved')] })) : null] }), _jsx("p", { className: "text-muted-foreground mt-0.5 text-[11px]", children: t('settings.security.sectionDescription') })] }), _jsxs("div", { className: "px-4", children: [_jsxs("div", { className: "flex items-center justify-between gap-4 border-b py-2.5", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("label", { htmlFor: "security-mode", className: "cursor-pointer text-sm font-normal whitespace-nowrap", children: t('settings.security.mode') }), _jsx("p", { className: "text-muted-foreground text-[11px] leading-tight", children: t('settings.security.modeDescription') })] }), _jsx("div", { className: "flex shrink-0 items-center gap-2", children: _jsxs(Select, { value: mode, onValueChange: handleModeChange, children: [_jsx(SelectTrigger, { id: "security-mode", "data-testid": "security-mode-select", className: "w-40 cursor-pointer text-xs", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: MODE_OPTIONS.map((opt) => {
53
+ const Icon = opt.icon;
54
+ return (_jsx(SelectItem, { value: opt.value, children: _jsxs("span", { className: "flex items-center gap-2 text-xs", children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0" }), t(`settings.security.mode${opt.value}`)] }) }, opt.value));
55
+ }) })] }) })] }), _jsxs("div", { className: "flex items-center justify-between gap-4 border-b py-2.5", children: [_jsx("div", { className: "min-w-0", children: _jsx("span", { className: "text-sm font-normal whitespace-nowrap", children: t('settings.security.policySource') }) }), _jsx("span", { className: "text-muted-foreground max-w-50 truncate font-mono text-xs", children: policySourceDisplay })] }), _jsxs("div", { className: "flex items-center justify-between gap-4 border-b py-2.5", children: [_jsx("div", { className: "min-w-0", children: _jsx("span", { className: "text-sm font-normal whitespace-nowrap", children: t('settings.security.lastEvaluation') }) }), _jsx("span", { className: "text-muted-foreground text-xs", children: lastEvalDisplay })] }), _jsxs("div", { className: "py-2.5 last:border-b-0", children: [_jsx("div", { className: "mb-2", children: _jsx("span", { className: "text-sm font-normal", children: t('settings.security.recentFindings') }) }), securityState.recentEvents.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-xs", children: t('settings.security.noFindings') })) : (_jsx("div", { className: "flex flex-col gap-1.5", children: securityState.recentEvents.slice(0, 5).map((event) => (_jsxs("div", { className: "flex items-start gap-2 rounded-md border px-2.5 py-1.5", children: [_jsx(AlertTriangle, { className: cn('mt-0.5 h-3 w-3 shrink-0', event.severity === 'Critical' || event.severity === 'High'
56
+ ? 'text-red-500'
57
+ : event.severity === 'Medium'
58
+ ? 'text-yellow-500'
59
+ : 'text-blue-500') }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(Badge, { variant: "secondary", className: cn('px-1 py-0 text-[9px]', SEVERITY_COLORS[event.severity]), children: t(`settings.security.severity.${event.severity}`) }), _jsx("span", { className: "text-muted-foreground text-[10px]", children: event.category })] }), _jsx("p", { className: "mt-0.5 truncate text-[11px]", children: event.message })] })] }, event.id))) }))] })] })] }));
60
+ }
@@ -0,0 +1,14 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { SupplyChainSecuritySettingsSection } from './supply-chain-security-settings-section.js';
3
+ declare const meta: Meta<typeof SupplyChainSecuritySettingsSection>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof SupplyChainSecuritySettingsSection>;
6
+ /** Advisory mode with no findings — default posture for new repositories. */
7
+ export declare const AdvisoryNoFindings: Story;
8
+ /** Disabled mode — security enforcement is turned off. */
9
+ export declare const Disabled: Story;
10
+ /** Enforce mode with a critical finding. */
11
+ export declare const EnforceWithCriticalFinding: Story;
12
+ /** Advisory mode with multiple findings of varying severity. */
13
+ export declare const AdvisoryWithMultipleFindings: Story;
14
+ //# sourceMappingURL=supply-chain-security-settings-section.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supply-chain-security-settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/supply-chain-security-settings-section.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAG9F,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kCAAkC,CAIzD,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAUjE,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,EAAE,KAIhC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,0BAA0B,EAAE,KAgCxC,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,4BAA4B,EAAE,KAkD1C,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { SecurityMode, SecuritySeverity, SecurityActionCategory, SecurityActionDisposition, } from '../../../../../../packages/core/src/domain/generated/output.js';
2
+ import { SupplyChainSecuritySettingsSection } from './supply-chain-security-settings-section.js';
3
+ const meta = {
4
+ title: 'Settings/SupplyChainSecuritySettingsSection',
5
+ component: SupplyChainSecuritySettingsSection,
6
+ tags: ['autodocs'],
7
+ };
8
+ export default meta;
9
+ const baseState = {
10
+ mode: SecurityMode.Advisory,
11
+ lastEvaluationAt: null,
12
+ policySource: null,
13
+ recentEvents: [],
14
+ highestSeverityFinding: null,
15
+ };
16
+ /** Advisory mode with no findings — default posture for new repositories. */
17
+ export const AdvisoryNoFindings = {
18
+ args: {
19
+ securityState: baseState,
20
+ },
21
+ };
22
+ /** Disabled mode — security enforcement is turned off. */
23
+ export const Disabled = {
24
+ args: {
25
+ securityState: {
26
+ ...baseState,
27
+ mode: SecurityMode.Disabled,
28
+ },
29
+ },
30
+ };
31
+ /** Enforce mode with a critical finding. */
32
+ export const EnforceWithCriticalFinding = {
33
+ args: {
34
+ securityState: {
35
+ mode: SecurityMode.Enforce,
36
+ lastEvaluationAt: new Date().toISOString(),
37
+ policySource: 'shep.security.yaml',
38
+ recentEvents: [
39
+ {
40
+ id: 'evt-1',
41
+ repositoryPath: '/path/to/repo',
42
+ severity: SecuritySeverity.Critical,
43
+ category: SecurityActionCategory.PublishRelease,
44
+ disposition: SecurityActionDisposition.Denied,
45
+ message: 'Missing npm provenance configuration in release workflow',
46
+ remediationSummary: 'Add --provenance flag to npm publish step',
47
+ createdAt: new Date().toISOString(),
48
+ updatedAt: new Date().toISOString(),
49
+ },
50
+ ],
51
+ highestSeverityFinding: {
52
+ id: 'evt-1',
53
+ repositoryPath: '/path/to/repo',
54
+ severity: SecuritySeverity.Critical,
55
+ category: SecurityActionCategory.PublishRelease,
56
+ disposition: SecurityActionDisposition.Denied,
57
+ message: 'Missing npm provenance configuration in release workflow',
58
+ remediationSummary: 'Add --provenance flag to npm publish step',
59
+ createdAt: new Date().toISOString(),
60
+ updatedAt: new Date().toISOString(),
61
+ },
62
+ },
63
+ },
64
+ };
65
+ /** Advisory mode with multiple findings of varying severity. */
66
+ export const AdvisoryWithMultipleFindings = {
67
+ args: {
68
+ securityState: {
69
+ mode: SecurityMode.Advisory,
70
+ lastEvaluationAt: new Date(Date.now() - 3600000).toISOString(),
71
+ policySource: 'shep.security.yaml',
72
+ recentEvents: [
73
+ {
74
+ id: 'evt-1',
75
+ repositoryPath: '/path/to/repo',
76
+ severity: SecuritySeverity.High,
77
+ category: SecurityActionCategory.DependencyInstall,
78
+ disposition: SecurityActionDisposition.Denied,
79
+ message: 'Package has postinstall lifecycle script: malicious-pkg@1.0.0',
80
+ createdAt: new Date().toISOString(),
81
+ updatedAt: new Date().toISOString(),
82
+ },
83
+ {
84
+ id: 'evt-2',
85
+ repositoryPath: '/path/to/repo',
86
+ severity: SecuritySeverity.Medium,
87
+ category: SecurityActionCategory.CiWorkflowModify,
88
+ disposition: SecurityActionDisposition.Allowed,
89
+ message: '[Governance Audit] Branch protection not enabled on main',
90
+ createdAt: new Date().toISOString(),
91
+ updatedAt: new Date().toISOString(),
92
+ },
93
+ {
94
+ id: 'evt-3',
95
+ repositoryPath: '/path/to/repo',
96
+ severity: SecuritySeverity.Low,
97
+ category: SecurityActionCategory.DependencyInstall,
98
+ disposition: SecurityActionDisposition.Allowed,
99
+ message: 'Dependency uses git source instead of registry: lodash@git+https://...',
100
+ createdAt: new Date().toISOString(),
101
+ updatedAt: new Date().toISOString(),
102
+ },
103
+ ],
104
+ highestSeverityFinding: {
105
+ id: 'evt-1',
106
+ repositoryPath: '/path/to/repo',
107
+ severity: SecuritySeverity.High,
108
+ category: SecurityActionCategory.DependencyInstall,
109
+ disposition: SecurityActionDisposition.Denied,
110
+ message: 'Package has postinstall lifecycle script: malicious-pkg@1.0.0',
111
+ createdAt: new Date().toISOString(),
112
+ updatedAt: new Date().toISOString(),
113
+ },
114
+ },
115
+ },
116
+ };
@@ -21,7 +21,7 @@ export const Default = {
21
21
  ciWatchEnabled: true,
22
22
  enableEvidence: false,
23
23
  commitEvidence: false,
24
- defaultMode: 'Fast',
24
+ defaultFastMode: true,
25
25
  },
26
26
  },
27
27
  };
@@ -53,7 +53,7 @@ export const AllEnabled = {
53
53
  ciWatchEnabled: true,
54
54
  enableEvidence: true,
55
55
  commitEvidence: true,
56
- defaultMode: 'Fast',
56
+ defaultFastMode: true,
57
57
  },
58
58
  },
59
59
  };
@@ -85,7 +85,7 @@ export const WithCiSettings = {
85
85
  ciWatchEnabled: true,
86
86
  enableEvidence: false,
87
87
  commitEvidence: false,
88
- defaultMode: 'Fast',
88
+ defaultFastMode: true,
89
89
  },
90
90
  },
91
91
  };
@@ -187,6 +187,26 @@
187
187
  "failedToList": "خطأ في عرض الأدوات: {{error}}"
188
188
  }
189
189
  },
190
+ "security": {
191
+ "description": "Supply-chain security policy management",
192
+ "enforce": {
193
+ "description": "Evaluate repository security posture and enforce policy",
194
+ "repoOption": "Repository path (defaults to current directory)",
195
+ "outputOption": "Output format (table, json, yaml)",
196
+ "passed": "Security enforcement passed",
197
+ "failed": "Security enforcement failed",
198
+ "advisoryNote": "Mode is Advisory — findings are reported but do not block",
199
+ "disabledNote": "Security mode is Disabled — no checks performed",
200
+ "modeLabel": "Mode",
201
+ "sourceLabel": "Source",
202
+ "dependencyFindingsLabel": "Dependency Findings",
203
+ "releaseIntegrityLabel": "Release Integrity",
204
+ "totalFindingsLabel": "Total Findings",
205
+ "governanceFindingsLabel": "GitHub Governance (audit-only)",
206
+ "noFindings": "No findings",
207
+ "failedToEnforce": "Failed to evaluate security posture"
208
+ }
209
+ },
190
210
  "feat": {
191
211
  "description": "إدارة الميزات عبر دورة حياة تطوير البرمجيات",
192
212
  "new": {
@@ -204,8 +224,6 @@
204
224
  "pendingOption": "إنشاء الميزة بدون بدء الوكيل",
205
225
  "fastOption": "تخطي مراحل SDLC والتنفيذ مباشرة من الأمر (الافتراضي: مفعّل)",
206
226
  "noFastOption": "تشغيل جميع مراحل SDLC (تحليل → متطلبات → خطة → تنفيذ)",
207
- "exploreOption": "Start an exploration/prototyping session for iterative design",
208
- "exploreAndFastConflict": "Cannot use --explore and --fast together. Choose one mode.",
209
227
  "modelOption": "معرّف نموذج LLM لهذا التشغيل (مثال: claude-opus-4-6)",
210
228
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
211
229
  "injectSkillsOption": "Inject curated skills into the worktree",
@@ -418,28 +436,6 @@
418
436
  "restoredLabel": "تمت الاستعادة:",
419
437
  "failedToUnarchive": "فشل إلغاء أرشفة الميزة"
420
438
  },
421
- "feedback": {
422
- "description": "Send feedback on an exploration prototype to iterate",
423
- "idArgument": "Feature ID or prefix",
424
- "feedbackArgument": "Feedback text for the next iteration",
425
- "feedbackSubmitted": "Feedback submitted for: {{name}}",
426
- "iterationLabel": "Iteration:",
427
- "agentLabel": "Agent:",
428
- "agentIterating": "iterating on feedback",
429
- "notExploration": "Feature \"{{name}}\" is not in exploration mode (mode: {{mode}}, lifecycle: {{lifecycle}})",
430
- "failedToSubmit": "Failed to submit feedback"
431
- },
432
- "promote": {
433
- "description": "Promote an exploration feature to Regular or Fast mode",
434
- "idArgument": "Feature ID or prefix",
435
- "fastOption": "Promote to Fast mode (skip SDLC phases)",
436
- "promoted": "Exploration promoted: {{name}}",
437
- "modeLabel": "Mode:",
438
- "statusLabel": "Status:",
439
- "agentLabel": "Agent:",
440
- "agentSpawned": "spawned for {{mode}} mode",
441
- "failedToPromote": "Failed to promote exploration"
442
- },
443
439
  "resolveWaiting": {
444
440
  "featureNotFound": "الميزة غير موجودة: \"{{id}}\"",
445
441
  "noAgentRun": "الميزة \"{{name}}\" ليس لديها تشغيل وكيل",
@@ -591,6 +587,8 @@
591
587
  "alreadyUpToDate": "محدّث بالفعل (v{{version}})",
592
588
  "upgradingFromTo": "الترقية من v{{current}} إلى v{{latest}}",
593
589
  "upgradingToLatest": "الترقية من v{{current}} إلى الأحدث",
590
+ "downloadingPackage": "جارٍ تنزيل الإصدار الجديد...",
591
+ "downloadFailed": "لم يكتمل التنزيل المسبق — المتابعة بالتثبيت",
594
592
  "stoppingDaemon": "جارٍ إيقاف الخدمة الخلفية قبل الترقية...",
595
593
  "restartingDaemon": "جارٍ إعادة تشغيل الخدمة الخلفية...",
596
594
  "daemonRestarted": "تمت إعادة تشغيل الخدمة الخلفية بنجاح.",
@@ -15,7 +15,8 @@
15
15
  "flags": "العلامات",
16
16
  "chat": "المحادثة",
17
17
  "layout": "التخطيط",
18
- "database": "قاعدة البيانات"
18
+ "database": "قاعدة البيانات",
19
+ "security": "Security"
19
20
  },
20
21
  "language": {
21
22
  "title": "اللغة",
@@ -68,11 +69,8 @@
68
69
  "title": "سير العمل",
69
70
  "description": "تكوين سلوك PR وبوابات الموافقة وإعدادات CI",
70
71
  "sectionDescription": "سلوك الأتمتة بعد التنفيذ",
71
- "defaultMode": "وضع الميزة الافتراضي",
72
- "defaultModeDescription": "الوضع الافتراضي للميزات الجديدة المنشأة عبر CLI أو واجهة الويب",
73
- "modeRegular": "عادي",
74
- "modeFast": "سريع",
75
- "modeExploration": "استكشاف",
72
+ "defaultFastMode": "الوضع السريع كافتراضي",
73
+ "defaultFastModeDescription": "تخطي مراحل SDLC والتنفيذ مباشرة من الأمر",
76
74
  "subsections": {
77
75
  "approve": "الموافقة",
78
76
  "evidence": "الأدلة",
@@ -227,6 +225,47 @@
227
225
  "swapPositionDescription": "نقل زر المحادثة إلى اليسار وزر الإنشاء إلى اليمين",
228
226
  "hint": "يوجد زران عائمان (إنشاء ومحادثة) في الزوايا السفلية لمركز التحكم. قم بتفعيل هذا الخيار لتبديل مواضعهما."
229
227
  },
228
+ "security": {
229
+ "title": "Supply Chain Security",
230
+ "sectionTitle": "Supply Chain Security",
231
+ "sectionDescription": "Configure security mode and review policy enforcement findings",
232
+ "mode": "Security mode",
233
+ "modeDescription": "Controls how the policy engine responds to violations",
234
+ "modeDisabled": "Disabled",
235
+ "modeAdvisory": "Advisory",
236
+ "modeEnforce": "Enforce",
237
+ "policySource": "Policy source",
238
+ "policySourceNone": "No policy loaded",
239
+ "lastEvaluation": "Last evaluation",
240
+ "lastEvaluationNever": "Never",
241
+ "recentFindings": "Recent findings",
242
+ "noFindings": "No security findings recorded",
243
+ "runEnforcement": "Run enforcement",
244
+ "running": "Running...",
245
+ "severity": {
246
+ "Low": "Low",
247
+ "Medium": "Medium",
248
+ "High": "High",
249
+ "Critical": "Critical"
250
+ },
251
+ "hint": "Security mode controls how the policy engine handles violations. Advisory mode logs findings without blocking. Enforce mode blocks risky actions and fails builds.",
252
+ "links": {
253
+ "securitySpec": "Security spec"
254
+ },
255
+ "badge": {
256
+ "advisory": "Security: Advisory",
257
+ "enforce": "Security: Enforce",
258
+ "disabled": "Security: Disabled"
259
+ },
260
+ "panel": {
261
+ "title": "Security",
262
+ "governance": "Governance",
263
+ "dependencies": "Dependencies",
264
+ "noFindings": "No security findings",
265
+ "findingsByCategory": "Findings by category",
266
+ "totalFindings": "{{count}} finding(s)"
267
+ }
268
+ },
230
269
  "database": {
231
270
  "title": "قاعدة البيانات",
232
271
  "description": "مسار قاعدة البيانات وإدارتها",
@@ -350,7 +389,6 @@
350
389
  "cancel": "إلغاء",
351
390
  "archive": "أرشفة",
352
391
  "fastMode": "الوضع السريع",
353
- "explorationMode": "Exploration Mode",
354
392
  "specDriven": "مبني على المواصفات",
355
393
  "copied": "تم النسخ!",
356
394
  "chatWithAgent": "محادثة مع الوكيل",
@@ -187,6 +187,26 @@
187
187
  "failedToList": "Fehler beim Auflisten der Tools: {{error}}"
188
188
  }
189
189
  },
190
+ "security": {
191
+ "description": "Supply-chain security policy management",
192
+ "enforce": {
193
+ "description": "Evaluate repository security posture and enforce policy",
194
+ "repoOption": "Repository path (defaults to current directory)",
195
+ "outputOption": "Output format (table, json, yaml)",
196
+ "passed": "Security enforcement passed",
197
+ "failed": "Security enforcement failed",
198
+ "advisoryNote": "Mode is Advisory — findings are reported but do not block",
199
+ "disabledNote": "Security mode is Disabled — no checks performed",
200
+ "modeLabel": "Mode",
201
+ "sourceLabel": "Source",
202
+ "dependencyFindingsLabel": "Dependency Findings",
203
+ "releaseIntegrityLabel": "Release Integrity",
204
+ "totalFindingsLabel": "Total Findings",
205
+ "governanceFindingsLabel": "GitHub Governance (audit-only)",
206
+ "noFindings": "No findings",
207
+ "failedToEnforce": "Failed to evaluate security posture"
208
+ }
209
+ },
190
210
  "feat": {
191
211
  "description": "Features durch den SDLC-Lebenszyklus verwalten",
192
212
  "new": {
@@ -204,8 +224,6 @@
204
224
  "pendingOption": "Feature erstellen, ohne den Agenten zu starten",
205
225
  "fastOption": "SDLC-Phasen überspringen und direkt nach Ihrem Prompt implementieren (Standard: ein)",
206
226
  "noFastOption": "Alle SDLC-Phasen durchlaufen (Analyse → Anforderungen → Plan → Implementierung)",
207
- "exploreOption": "Start an exploration/prototyping session for iterative design",
208
- "exploreAndFastConflict": "Cannot use --explore and --fast together. Choose one mode.",
209
227
  "modelOption": "LLM-Modellbezeichnung für diesen Lauf (z.B. claude-opus-4-6)",
210
228
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
211
229
  "injectSkillsOption": "Inject curated skills into the worktree",
@@ -418,28 +436,6 @@
418
436
  "restoredLabel": "Wiederhergestellt:",
419
437
  "failedToUnarchive": "Feature konnte nicht wiederhergestellt werden"
420
438
  },
421
- "feedback": {
422
- "description": "Send feedback on an exploration prototype to iterate",
423
- "idArgument": "Feature ID or prefix",
424
- "feedbackArgument": "Feedback text for the next iteration",
425
- "feedbackSubmitted": "Feedback submitted for: {{name}}",
426
- "iterationLabel": "Iteration:",
427
- "agentLabel": "Agent:",
428
- "agentIterating": "iterating on feedback",
429
- "notExploration": "Feature \"{{name}}\" is not in exploration mode (mode: {{mode}}, lifecycle: {{lifecycle}})",
430
- "failedToSubmit": "Failed to submit feedback"
431
- },
432
- "promote": {
433
- "description": "Promote an exploration feature to Regular or Fast mode",
434
- "idArgument": "Feature ID or prefix",
435
- "fastOption": "Promote to Fast mode (skip SDLC phases)",
436
- "promoted": "Exploration promoted: {{name}}",
437
- "modeLabel": "Mode:",
438
- "statusLabel": "Status:",
439
- "agentLabel": "Agent:",
440
- "agentSpawned": "spawned for {{mode}} mode",
441
- "failedToPromote": "Failed to promote exploration"
442
- },
443
439
  "resolveWaiting": {
444
440
  "featureNotFound": "Feature nicht gefunden: \"{{id}}\"",
445
441
  "noAgentRun": "Feature \"{{name}}\" hat keinen Agentlauf",
@@ -591,6 +587,8 @@
591
587
  "alreadyUpToDate": "Bereits aktuell (v{{version}})",
592
588
  "upgradingFromTo": "Aktualisierung von v{{current}} auf v{{latest}}",
593
589
  "upgradingToLatest": "Aktualisierung von v{{current}} auf die neueste Version",
590
+ "downloadingPackage": "Neue Version wird heruntergeladen...",
591
+ "downloadFailed": "Vorab-Download nicht abgeschlossen — Installation wird fortgesetzt",
594
592
  "stoppingDaemon": "Dienst wird vor Aktualisierung gestoppt...",
595
593
  "restartingDaemon": "Dienst wird neu gestartet...",
596
594
  "daemonRestarted": "Dienst erfolgreich neu gestartet.",
@@ -15,7 +15,8 @@
15
15
  "flags": "Flags",
16
16
  "chat": "Chat",
17
17
  "layout": "Layout",
18
- "database": "Datenbank"
18
+ "database": "Datenbank",
19
+ "security": "Security"
19
20
  },
20
21
  "language": {
21
22
  "title": "Sprache",
@@ -68,11 +69,8 @@
68
69
  "title": "Workflow",
69
70
  "description": "Konfigurieren Sie PR-Verhalten, Genehmigungsstufen und CI-Einstellungen",
70
71
  "sectionDescription": "Automatisierungsverhalten nach der Implementierung",
71
- "defaultMode": "Standard-Feature-Modus",
72
- "defaultModeDescription": "Standardmodus für neue Features, die über CLI oder Web-UI erstellt werden",
73
- "modeRegular": "Standard",
74
- "modeFast": "Schnell",
75
- "modeExploration": "Erkundung",
72
+ "defaultFastMode": "Schnellmodus als Standard",
73
+ "defaultFastModeDescription": "SDLC-Phasen überspringen und direkt aus dem Prompt implementieren",
76
74
  "subsections": {
77
75
  "approve": "Genehmigen",
78
76
  "evidence": "Nachweise",
@@ -227,6 +225,47 @@
227
225
  "swapPositionDescription": "Chat-Button nach links und Erstellen-Button nach rechts verschieben",
228
226
  "hint": "Die zwei schwebenden Aktionsschaltflächen (Erstellen und Chat) befinden sich in den unteren Ecken des Kontrollzentrums. Aktivieren Sie diese Option, um ihre Positionen zu tauschen."
229
227
  },
228
+ "security": {
229
+ "title": "Supply Chain Security",
230
+ "sectionTitle": "Supply Chain Security",
231
+ "sectionDescription": "Configure security mode and review policy enforcement findings",
232
+ "mode": "Security mode",
233
+ "modeDescription": "Controls how the policy engine responds to violations",
234
+ "modeDisabled": "Disabled",
235
+ "modeAdvisory": "Advisory",
236
+ "modeEnforce": "Enforce",
237
+ "policySource": "Policy source",
238
+ "policySourceNone": "No policy loaded",
239
+ "lastEvaluation": "Last evaluation",
240
+ "lastEvaluationNever": "Never",
241
+ "recentFindings": "Recent findings",
242
+ "noFindings": "No security findings recorded",
243
+ "runEnforcement": "Run enforcement",
244
+ "running": "Running...",
245
+ "severity": {
246
+ "Low": "Low",
247
+ "Medium": "Medium",
248
+ "High": "High",
249
+ "Critical": "Critical"
250
+ },
251
+ "hint": "Security mode controls how the policy engine handles violations. Advisory mode logs findings without blocking. Enforce mode blocks risky actions and fails builds.",
252
+ "links": {
253
+ "securitySpec": "Security spec"
254
+ },
255
+ "badge": {
256
+ "advisory": "Security: Advisory",
257
+ "enforce": "Security: Enforce",
258
+ "disabled": "Security: Disabled"
259
+ },
260
+ "panel": {
261
+ "title": "Security",
262
+ "governance": "Governance",
263
+ "dependencies": "Dependencies",
264
+ "noFindings": "No security findings",
265
+ "findingsByCategory": "Findings by category",
266
+ "totalFindings": "{{count}} finding(s)"
267
+ }
268
+ },
230
269
  "database": {
231
270
  "title": "Datenbank",
232
271
  "description": "Datenbankpfad und -verwaltung",
@@ -350,7 +389,6 @@
350
389
  "cancel": "Abbrechen",
351
390
  "archive": "Archivieren",
352
391
  "fastMode": "Schnellmodus",
353
- "explorationMode": "Exploration Mode",
354
392
  "specDriven": "Spezifikationsbasiert",
355
393
  "copied": "Kopiert!",
356
394
  "chatWithAgent": "Chat mit Agent",
@@ -187,6 +187,26 @@
187
187
  "failedToList": "Error listing tools: {{error}}"
188
188
  }
189
189
  },
190
+ "security": {
191
+ "description": "Supply-chain security policy management",
192
+ "enforce": {
193
+ "description": "Evaluate repository security posture and enforce policy",
194
+ "repoOption": "Repository path (defaults to current directory)",
195
+ "outputOption": "Output format (table, json, yaml)",
196
+ "passed": "Security enforcement passed",
197
+ "failed": "Security enforcement failed",
198
+ "advisoryNote": "Mode is Advisory — findings are reported but do not block",
199
+ "disabledNote": "Security mode is Disabled — no checks performed",
200
+ "modeLabel": "Mode",
201
+ "sourceLabel": "Source",
202
+ "dependencyFindingsLabel": "Dependency Findings",
203
+ "releaseIntegrityLabel": "Release Integrity",
204
+ "totalFindingsLabel": "Total Findings",
205
+ "governanceFindingsLabel": "GitHub Governance (audit-only)",
206
+ "noFindings": "No findings",
207
+ "failedToEnforce": "Failed to evaluate security posture"
208
+ }
209
+ },
190
210
  "feat": {
191
211
  "description": "Manage features through the SDLC lifecycle",
192
212
  "new": {
@@ -204,8 +224,6 @@
204
224
  "pendingOption": "Create feature without starting the agent",
205
225
  "fastOption": "Skip SDLC phases and implement directly from your prompt (default: on)",
206
226
  "noFastOption": "Run full SDLC phases (analyze → requirements → plan → implement)",
207
- "exploreOption": "Start an exploration/prototyping session for iterative design",
208
- "exploreAndFastConflict": "Cannot use --explore and --fast together. Choose one mode.",
209
227
  "modelOption": "LLM model identifier for this run (e.g. claude-opus-4-6)",
210
228
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
211
229
  "injectSkillsOption": "Inject curated skills into the worktree",
@@ -418,28 +436,6 @@
418
436
  "restoredLabel": "Restored:",
419
437
  "failedToUnarchive": "Failed to unarchive feature"
420
438
  },
421
- "feedback": {
422
- "description": "Send feedback on an exploration prototype to iterate",
423
- "idArgument": "Feature ID or prefix",
424
- "feedbackArgument": "Feedback text for the next iteration",
425
- "feedbackSubmitted": "Feedback submitted for: {{name}}",
426
- "iterationLabel": "Iteration:",
427
- "agentLabel": "Agent:",
428
- "agentIterating": "iterating on feedback",
429
- "notExploration": "Feature \"{{name}}\" is not in exploration mode (mode: {{mode}}, lifecycle: {{lifecycle}})",
430
- "failedToSubmit": "Failed to submit feedback"
431
- },
432
- "promote": {
433
- "description": "Promote an exploration feature to Regular or Fast mode",
434
- "idArgument": "Feature ID or prefix",
435
- "fastOption": "Promote to Fast mode (skip SDLC phases)",
436
- "promoted": "Exploration promoted: {{name}}",
437
- "modeLabel": "Mode:",
438
- "statusLabel": "Status:",
439
- "agentLabel": "Agent:",
440
- "agentSpawned": "spawned for {{mode}} mode",
441
- "failedToPromote": "Failed to promote exploration"
442
- },
443
439
  "resolveWaiting": {
444
440
  "featureNotFound": "Feature not found: \"{{id}}\"",
445
441
  "noAgentRun": "Feature \"{{name}}\" has no agent run",
@@ -591,6 +587,8 @@
591
587
  "alreadyUpToDate": "Already up to date (v{{version}})",
592
588
  "upgradingFromTo": "Upgrading from v{{current}} to v{{latest}}",
593
589
  "upgradingToLatest": "Upgrading from v{{current}} to latest",
590
+ "downloadingPackage": "Downloading new version...",
591
+ "downloadFailed": "Pre-download did not complete — proceeding with install",
594
592
  "stoppingDaemon": "Stopping daemon before upgrade...",
595
593
  "restartingDaemon": "Restarting daemon...",
596
594
  "daemonRestarted": "Daemon restarted successfully.",