@shepai/cli 1.159.0 → 1.160.0-pr496.02f70d8

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 (223) hide show
  1. package/apis/json-schema/WorkflowConfig.yaml +10 -0
  2. package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts +30 -0
  3. package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts.map +1 -0
  4. package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.js +75 -0
  5. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  6. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +2 -0
  7. package/dist/packages/core/src/domain/generated/output.d.ts +8 -0
  8. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +2 -0
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +5 -0
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.d.ts +15 -0
  13. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.d.ts.map +1 -0
  14. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.js +20 -0
  15. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.d.ts +14 -0
  16. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.d.ts.map +1 -0
  17. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.js +19 -0
  18. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +9 -5
  20. package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts +48 -0
  21. package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts.map +1 -0
  22. package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js +101 -0
  23. package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
  24. package/dist/src/presentation/cli/commands/_serve.command.js +5 -0
  25. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  26. package/dist/src/presentation/cli/commands/feat/new.command.js +12 -2
  27. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  28. package/dist/src/presentation/cli/commands/ui.command.js +5 -0
  29. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -0
  30. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
  31. package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +1 -0
  32. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  33. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +5 -2
  34. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  35. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -0
  36. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +29 -2
  38. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +1 -1
  39. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +3 -0
  40. package/dist/src/presentation/web/dev-server.js +10 -0
  41. package/dist/translations/ar/cli.json +2 -1
  42. package/dist/translations/ar/web.json +2 -0
  43. package/dist/translations/de/cli.json +2 -1
  44. package/dist/translations/de/web.json +2 -0
  45. package/dist/translations/en/cli.json +2 -1
  46. package/dist/translations/en/web.json +2 -0
  47. package/dist/translations/es/cli.json +2 -1
  48. package/dist/translations/es/web.json +2 -0
  49. package/dist/translations/fr/cli.json +2 -1
  50. package/dist/translations/fr/web.json +2 -0
  51. package/dist/translations/he/cli.json +2 -1
  52. package/dist/translations/he/web.json +2 -0
  53. package/dist/translations/pt/cli.json +2 -1
  54. package/dist/translations/pt/web.json +2 -0
  55. package/dist/translations/ru/cli.json +2 -1
  56. package/dist/translations/ru/web.json +2 -0
  57. package/dist/tsconfig.build.tsbuildinfo +1 -1
  58. package/package.json +1 -1
  59. package/web/.next/BUILD_ID +1 -1
  60. package/web/.next/build-manifest.json +2 -2
  61. package/web/.next/fallback-build-manifest.json +2 -2
  62. package/web/.next/prerender-manifest.json +3 -3
  63. package/web/.next/required-server-files.js +3 -3
  64. package/web/.next/required-server-files.json +3 -3
  65. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  66. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  67. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  68. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
  69. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  70. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
  72. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  73. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  75. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  76. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  78. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  79. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  81. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  82. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  83. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  84. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  85. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
  87. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
  90. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  91. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  93. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  94. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  96. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  97. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
  99. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  100. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
  102. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  103. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  105. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  106. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/_global-error.html +2 -2
  108. package/web/.next/server/app/_global-error.rsc +1 -1
  109. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  110. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  111. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  112. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  113. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  114. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
  115. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  116. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  118. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  119. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  120. package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
  121. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  122. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  123. package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
  124. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  125. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
  127. package/web/.next/server/app/version/page.js.nft.json +1 -1
  128. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  129. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  130. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
  131. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  133. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  135. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js +1 -1
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js +2 -2
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +2 -2
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  157. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  160. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/{_c3f7938c._.js → _2ebb73f4._.js} +2 -2
  162. package/web/.next/server/chunks/ssr/{_c3f7938c._.js.map → _2ebb73f4._.js.map} +1 -1
  163. package/web/.next/server/chunks/ssr/{_c5074ee2._.js → _3514c8c4._.js} +2 -2
  164. package/web/.next/server/chunks/ssr/{_c5074ee2._.js.map → _3514c8c4._.js.map} +1 -1
  165. package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
  166. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  168. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  169. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
  171. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
  173. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
  174. package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
  175. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
  176. package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
  177. package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
  179. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
  180. package/web/.next/server/chunks/ssr/{_2ed48c25._.js → _aa50246a._.js} +2 -2
  181. package/web/.next/server/chunks/ssr/{_2ed48c25._.js.map → _aa50246a._.js.map} +1 -1
  182. package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
  183. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
  184. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
  186. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
  187. package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
  188. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
  189. package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
  190. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
  192. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
  193. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  194. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  195. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  197. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  199. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  200. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  201. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  202. package/web/.next/server/pages/500.html +2 -2
  203. package/web/.next/server/server-reference-manifest.js +1 -1
  204. package/web/.next/server/server-reference-manifest.json +45 -45
  205. package/web/.next/static/chunks/{69c3b31bad28528e.js → 186729490e2be40c.js} +2 -2
  206. package/web/.next/static/chunks/{a345e293b60bfe46.js → 1d0f4a2bcef7746b.js} +1 -1
  207. package/web/.next/static/chunks/{133f712571b3feee.js → 3d5115acdf6e8df0.js} +2 -2
  208. package/web/.next/static/chunks/63b4954715fc3423.js +1 -0
  209. package/web/.next/static/chunks/{fa317df41d76a17b.js → 90dec548da16599d.js} +1 -1
  210. package/web/.next/static/chunks/{4e95f919ddb0f472.js → 92e4f7dd04a73141.js} +1 -1
  211. package/web/.next/static/chunks/{23a4ffedc9133310.js → 9a87bb6ecc6c6ecf.js} +2 -2
  212. package/web/.next/static/chunks/9d13adc0e259d473.js +1 -0
  213. package/web/.next/static/chunks/{5a0147256f9eb399.js → c014e6dbfafe7402.js} +1 -1
  214. package/web/.next/static/chunks/{0043f42554d30997.js → cbff94a67bd5afd4.js} +1 -1
  215. package/web/.next/static/chunks/{d34a0190d33d6133.js → cc106b4df2d3bd89.js} +1 -1
  216. package/web/.next/static/chunks/{25845c77794044d8.js → da09828114a01480.js} +1 -1
  217. package/web/.next/static/chunks/fbbb1c11387fc2ca.js +1 -0
  218. package/web/.next/static/chunks/39769b8d6061169f.js +0 -1
  219. package/web/.next/static/chunks/72b506a1c2568394.js +0 -1
  220. package/web/.next/static/chunks/93fabefcbc0ba71d.js +0 -1
  221. /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_buildManifest.js +0 -0
  222. /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_clientMiddlewareManifest.json +0 -0
  223. /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_ssgManifest.js +0 -0
@@ -29,6 +29,7 @@ import { container } from '../../../../packages/core/src/infrastructure/di/conta
29
29
  import { setVersionEnvVars } from '../../../../packages/core/src/infrastructure/services/version.service.js';
30
30
  import { resolveWebDir } from '../../../../packages/core/src/infrastructure/services/web-server.service.js';
31
31
  import { initializeNotificationWatcher, getNotificationWatcher, } from '../../../../packages/core/src/infrastructure/services/notifications/notification-watcher.service.js';
32
+ import { initializeAutoArchiveWatcher, getAutoArchiveWatcher, } from '../../../../packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js';
32
33
  import { getCliI18n } from '../i18n.js';
33
34
  function parsePort(value) {
34
35
  const port = parseInt(value, 10);
@@ -64,6 +65,9 @@ export function createServeCommand() {
64
65
  const notificationService = container.resolve('INotificationService');
65
66
  initializeNotificationWatcher(runRepo, phaseTimingRepo, featureRepo, notificationService);
66
67
  getNotificationWatcher().start();
68
+ // Start auto-archive watcher
69
+ initializeAutoArchiveWatcher(featureRepo);
70
+ getAutoArchiveWatcher().start();
67
71
  // Graceful shutdown handler — identical pattern to ui.command.ts
68
72
  let isShuttingDown = false;
69
73
  const shutdown = async () => {
@@ -74,6 +78,7 @@ export function createServeCommand() {
74
78
  const forceExit = setTimeout(() => process.exit(0), 5000);
75
79
  forceExit.unref();
76
80
  getNotificationWatcher().stop();
81
+ getAutoArchiveWatcher().stop();
77
82
  const deploymentService = container.resolve('IDeploymentService');
78
83
  deploymentService.stopAll();
79
84
  await service.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"new.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/feat/new.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAgK1C"}
1
+ {"version":3,"file":"new.command.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/feat/new.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwEpC;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAmK1C"}
@@ -28,7 +28,14 @@ function collect(value, previous) {
28
28
  }
29
29
  function getWorkflowDefaults() {
30
30
  if (!hasSettings()) {
31
- return { openPr: false, allowPrd: false, allowPlan: false, allowMerge: false, push: false };
31
+ return {
32
+ openPr: false,
33
+ allowPrd: false,
34
+ allowPlan: false,
35
+ allowMerge: false,
36
+ push: false,
37
+ fast: true,
38
+ };
32
39
  }
33
40
  const settings = getSettings();
34
41
  const gates = settings.workflow.approvalGateDefaults;
@@ -38,6 +45,7 @@ function getWorkflowDefaults() {
38
45
  allowPlan: gates.allowPlan,
39
46
  allowMerge: gates.allowMerge,
40
47
  push: gates.pushOnImplementationComplete,
48
+ fast: settings.workflow.defaultFastMode,
41
49
  };
42
50
  }
43
51
  /**
@@ -59,6 +67,7 @@ export function createNewCommand() {
59
67
  .option('--parent <fid>', t('cli:commands.feat.new.parentOption'))
60
68
  .option('--pending', t('cli:commands.feat.new.pendingOption'))
61
69
  .option('--fast', t('cli:commands.feat.new.fastOption'))
70
+ .option('--no-fast', t('cli:commands.feat.new.noFastOption'))
62
71
  .option('--model <model>', t('cli:commands.feat.new.modelOption'))
63
72
  .option('--no-rebase', t('cli:commands.feat.new.noRebaseOption'))
64
73
  .option('--attach <path>', t('cli:commands.feat.new.attachOption'), collect, [])
@@ -110,6 +119,7 @@ export function createNewCommand() {
110
119
  attachmentPaths.push(resolved);
111
120
  }
112
121
  }
122
+ const fast = options.fast ?? defaults.fast;
113
123
  const result = await spinner(t('cli:commands.feat.new.spinnerText'), () => useCase.execute({
114
124
  userInput: description,
115
125
  repositoryPath: repoPath,
@@ -118,7 +128,7 @@ export function createNewCommand() {
118
128
  openPr,
119
129
  ...(parentId !== undefined && { parentId }),
120
130
  ...(options.pending && { pending: true }),
121
- ...(options.fast && { fast: true }),
131
+ ...(fast && { fast: true }),
122
132
  ...(options.model !== undefined && { model: options.model }),
123
133
  ...(attachmentPaths.length > 0 && { attachmentPaths }),
124
134
  rebaseBeforeBranch: options.rebase,
@@ -1 +1 @@
1
- {"version":3,"file":"ui.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/ui.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAkC1D;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CA+FzC"}
1
+ {"version":3,"file":"ui.command.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/cli/commands/ui.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAsC1D;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAoGzC"}
@@ -21,6 +21,7 @@ import { setVersionEnvVars } from '../../../../packages/core/src/infrastructure/
21
21
  import { resolveWebDir } from '../../../../packages/core/src/infrastructure/services/web-server.service.js';
22
22
  import { initializeNotificationWatcher, getNotificationWatcher, } from '../../../../packages/core/src/infrastructure/services/notifications/notification-watcher.service.js';
23
23
  import { initializePrSyncWatcher, getPrSyncWatcher, } from '../../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js';
24
+ import { initializeAutoArchiveWatcher, getAutoArchiveWatcher, } from '../../../../packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js';
24
25
  import { getExistingConnection } from '../../../../packages/core/src/infrastructure/persistence/sqlite/connection.js';
25
26
  import { BrowserOpenerService } from '../../../../packages/core/src/infrastructure/services/browser-opener.service.js';
26
27
  import { colors, fmt, messages } from '../ui/index.js';
@@ -73,6 +74,9 @@ Examples:
73
74
  const db = getExistingConnection();
74
75
  initializePrSyncWatcher(featureRepo, runRepo, gitPrService, notificationService, undefined, db, gitForkService);
75
76
  getPrSyncWatcher().start();
77
+ // Start auto-archive watcher for completed features
78
+ initializeAutoArchiveWatcher(featureRepo);
79
+ getAutoArchiveWatcher().start();
76
80
  const url = `http://localhost:${port}`;
77
81
  messages.success(t('cli:commands.ui.serverReady', { url: fmt.code(url) }));
78
82
  messages.info(t('cli:commands.ui.pressCtrlC'));
@@ -96,6 +100,7 @@ Examples:
96
100
  forceExit.unref();
97
101
  getPrSyncWatcher().stop();
98
102
  getNotificationWatcher().stop();
103
+ getAutoArchiveWatcher().stop();
99
104
  await service.stop();
100
105
  process.exit(0);
101
106
  };
@@ -9,6 +9,7 @@ export interface WorkflowDefaults {
9
9
  ciWatchEnabled: boolean;
10
10
  enableEvidence: boolean;
11
11
  commitEvidence: boolean;
12
+ fast: boolean;
12
13
  }
13
14
  export declare function getWorkflowDefaults(): Promise<WorkflowDefaults>;
14
15
  //# sourceMappingURL=get-workflow-defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-workflow-defaults.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAgBrE"}
1
+ {"version":3,"file":"get-workflow-defaults.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAiBrE"}
@@ -14,5 +14,6 @@ export async function getWorkflowDefaults() {
14
14
  ciWatchEnabled: workflow.ciWatchEnabled,
15
15
  enableEvidence: workflow.enableEvidence,
16
16
  commitEvidence: workflow.commitEvidence,
17
+ fast: workflow.defaultFastMode,
17
18
  };
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"feature-create-drawer.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-create-drawer.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx"],"names":[],"mappings":"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"}
@@ -112,6 +112,7 @@ export function FeatureCreateDrawer({ open, onClose, onSubmit, repositoryPath, i
112
112
  const defaultCiWatch = workflowDefaults?.ciWatchEnabled !== false;
113
113
  const defaultEnableEvidence = workflowDefaults?.enableEvidence ?? false;
114
114
  const defaultCommitEvidence = workflowDefaults?.commitEvidence ?? false;
115
+ const defaultFast = workflowDefaults?.fast !== false;
115
116
  const [description, setDescription] = useState(initialDescription ?? '');
116
117
  // Sync description when initialDescription prop changes (e.g. from session context)
117
118
  useEffect(() => {
@@ -127,7 +128,7 @@ export function FeatureCreateDrawer({ open, onClose, onSubmit, repositoryPath, i
127
128
  const [enableEvidence, setEnableEvidence] = useState(defaultEnableEvidence);
128
129
  const [commitEvidence, setCommitEvidence] = useState(defaultCommitEvidence);
129
130
  const [parentId, setParentId] = useState(undefined);
130
- const [fast, setFast] = useState(false);
131
+ const [fast, setFast] = useState(defaultFast);
131
132
  const [pending, setPending] = useState(false);
132
133
  const [forkAndPr, setForkAndPr] = useState(false);
133
134
  const [commitSpecs, setCommitSpecs] = useState(true);
@@ -152,6 +153,7 @@ export function FeatureCreateDrawer({ open, onClose, onSubmit, repositoryPath, i
152
153
  setCiWatchEnabled(workflowDefaults.ciWatchEnabled !== false);
153
154
  setEnableEvidence(workflowDefaults.enableEvidence);
154
155
  setCommitEvidence(workflowDefaults.commitEvidence);
156
+ setFast(workflowDefaults.fast !== false);
155
157
  }
156
158
  }, [workflowDefaults]);
157
159
  // Sync localRepos when repositories prop changes
@@ -201,7 +203,7 @@ export function FeatureCreateDrawer({ open, onClose, onSubmit, repositoryPath, i
201
203
  setParentId(undefined);
202
204
  setSelectedRepoPath(validRepoPath || undefined);
203
205
  setLocalRepos(repositories ?? []);
204
- setFast(false);
206
+ setFast(defaultFast);
205
207
  setPending(false);
206
208
  setForkAndPr(false);
207
209
  setCommitSpecs(true);
@@ -218,6 +220,7 @@ export function FeatureCreateDrawer({ open, onClose, onSubmit, repositoryPath, i
218
220
  defaultEnableEvidence,
219
221
  defaultCiWatch,
220
222
  defaultCommitEvidence,
223
+ defaultFast,
221
224
  validRepoPath,
222
225
  repositories,
223
226
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"feature-create-drawer.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAU9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,mBAAmB,CAgC1C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAsDlD,uFAAuF;AACvF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAiBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAMhC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAgBjC,CAAC;AAeF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAWlC,CAAC;AAkDF,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAwCF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAM/B,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAgBjC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAY3B,CAAC;AAMF,eAAO,MAAM,WAAW,EAAE,KAwCzB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAW3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAU9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAatC,CAAC;AAuCF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AA6BF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAMnC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAa9B,CAAC"}
1
+ {"version":3,"file":"feature-create-drawer.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAU9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,mBAAmB,CAgC1C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAsDlD,uFAAuF;AACvF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAiBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAMhC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAgBjC,CAAC;AAgBF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAWlC,CAAC;AAkDF,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAwCF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAM/B,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAgBjC,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAY3B,CAAC;AAMF,eAAO,MAAM,WAAW,EAAE,KAwCzB,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAW3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAU9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAatC,CAAC;AAuCF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAM9B,CAAC;AA6BF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAMnC,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAU/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAa9B,CAAC"}
@@ -271,6 +271,7 @@ const SAMPLE_WORKFLOW_DEFAULTS = {
271
271
  ciWatchEnabled: true,
272
272
  enableEvidence: true,
273
273
  commitEvidence: false,
274
+ fast: true,
274
275
  };
275
276
  /**
276
277
  * Drawer pre-populated from workflow settings — PRD and Plan approval gates
@@ -1 +1 @@
1
- {"version":3,"file":"settings-page-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/settings-page-client.tsx"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EACV,QAAQ,EAIT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA6B/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AA+QD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,kBAAkB,GACnB,EAAE,uBAAuB,2CA8wCzB"}
1
+ {"version":3,"file":"settings-page-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/settings-page-client.tsx"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EACV,QAAQ,EAIT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA6B/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AA+QD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,kBAAkB,GACnB,EAAE,uBAAuB,2CAm1CzB"}
@@ -157,6 +157,10 @@ export function SettingsPageClient({ settings, shepHome, dbFileSize, availableTe
157
157
  const [commitEvidence, setCommitEvidence] = useState(settings.workflow.commitEvidence);
158
158
  const [ciWatchEnabled, setCiWatchEnabled] = useState(settings.workflow.ciWatchEnabled !== false);
159
159
  const [hideCiStatus, setHideCiStatus] = useState(settings.workflow.hideCiStatus !== false);
160
+ const [defaultFastMode, setDefaultFastMode] = useState(settings.workflow.defaultFastMode !== false);
161
+ // Auto-archive state
162
+ const [autoArchiveEnabled, setAutoArchiveEnabled] = useState((settings.workflow.autoArchiveDelayMinutes ?? 10) > 0);
163
+ const [autoArchiveDelay, setAutoArchiveDelay] = useState(String(settings.workflow.autoArchiveDelayMinutes ?? 10));
160
164
  const [ciMaxFix, setCiMaxFix] = useState(settings.workflow.ciMaxFixAttempts != null ? String(settings.workflow.ciMaxFixAttempts) : '');
161
165
  const [ciTimeout, setCiTimeout] = useState(settings.workflow.ciWatchTimeoutMs != null
162
166
  ? String(Math.round(settings.workflow.ciWatchTimeoutMs / 1000))
@@ -236,6 +240,8 @@ export function SettingsPageClient({ settings, shepHome, dbFileSize, availableTe
236
240
  // Workflow helpers
237
241
  function buildWorkflowPayload(overrides = {}) {
238
242
  const timeoutSeconds = parseOptionalInt(overrides.ciTimeout ?? ciTimeout);
243
+ const archiveEnabled = overrides.autoArchiveEnabled ?? autoArchiveEnabled;
244
+ const archiveDelay = parseInt(overrides.autoArchiveDelay ?? autoArchiveDelay, 10);
239
245
  return {
240
246
  workflow: {
241
247
  openPrOnImplementationComplete: overrides.openPr ?? openPr,
@@ -249,6 +255,12 @@ export function SettingsPageClient({ settings, shepHome, dbFileSize, availableTe
249
255
  commitEvidence: overrides.commitEvidence ?? commitEvidence,
250
256
  ciWatchEnabled: overrides.ciWatchEnabled ?? ciWatchEnabled,
251
257
  hideCiStatus: overrides.hideCiStatus ?? hideCiStatus,
258
+ defaultFastMode: overrides.defaultFastMode ?? defaultFastMode,
259
+ autoArchiveDelayMinutes: archiveEnabled
260
+ ? Number.isNaN(archiveDelay) || archiveDelay < 1
261
+ ? 10
262
+ : archiveDelay
263
+ : 0,
252
264
  ciMaxFixAttempts: parseOptionalInt(overrides.ciMaxFix ?? ciMaxFix),
253
265
  ciWatchTimeoutMs: timeoutSeconds != null ? timeoutSeconds * 1000 : undefined,
254
266
  ciLogMaxChars: parseOptionalInt(overrides.ciLogMax ?? ciLogMax),
@@ -358,7 +370,10 @@ export function SettingsPageClient({ settings, shepHome, dbFileSize, availableTe
358
370
  label: t('settings.environment.links.configurationGuide'),
359
371
  href: 'https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md',
360
372
  },
361
- ], children: t('settings.environment.hint') })] }), _jsxs("div", { id: "section-workflow", className: "grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]", children: [_jsxs(SettingsSection, { icon: GitBranch, title: t('settings.workflow.title'), description: t('settings.workflow.sectionDescription'), testId: "workflow-settings-section", children: [_jsx(SubsectionLabel, { children: t('settings.workflow.subsections.approve') }), _jsx(SwitchRow, { label: t('settings.workflow.autoApprovePrd'), description: t('settings.workflow.autoApprovePrdDescription'), id: "allow-prd", testId: "switch-allow-prd", checked: allowPrd, onChange: (v) => {
373
+ ], children: t('settings.environment.hint') })] }), _jsxs("div", { id: "section-workflow", className: "grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]", children: [_jsxs(SettingsSection, { icon: GitBranch, title: t('settings.workflow.title'), description: t('settings.workflow.sectionDescription'), testId: "workflow-settings-section", children: [_jsx(SwitchRow, { label: t('settings.workflow.defaultFastMode'), description: t('settings.workflow.defaultFastModeDescription'), id: "default-fast-mode", testId: "switch-default-fast-mode", checked: defaultFastMode, onChange: (v) => {
374
+ setDefaultFastMode(v);
375
+ save(buildWorkflowPayload({ defaultFastMode: v }));
376
+ } }), _jsx(SubsectionLabel, { children: t('settings.workflow.subsections.approve') }), _jsx(SwitchRow, { label: t('settings.workflow.autoApprovePrd'), description: t('settings.workflow.autoApprovePrdDescription'), id: "allow-prd", testId: "switch-allow-prd", checked: allowPrd, onChange: (v) => {
362
377
  setAllowPrd(v);
363
378
  save(buildWorkflowPayload({ allowPrd: v }));
364
379
  } }), _jsx(SwitchRow, { label: t('settings.workflow.autoApprovePlan'), description: t('settings.workflow.autoApprovePlanDescription'), id: "allow-plan", testId: "switch-allow-plan", checked: allowPlan, onChange: (v) => {
@@ -394,7 +409,19 @@ export function SettingsPageClient({ settings, shepHome, dbFileSize, availableTe
394
409
  } }), _jsx(SwitchRow, { label: t('settings.workflow.watchCiAfterPush'), description: t('settings.workflow.watchCiAfterPushDescription'), id: "ci-watch-enabled", testId: "switch-ci-watch-enabled", checked: ciWatchEnabled, onChange: (v) => {
395
410
  setCiWatchEnabled(v);
396
411
  save(buildWorkflowPayload({ ciWatchEnabled: v }));
397
- } })] }), _jsx(SectionHint, { links: [
412
+ } }), _jsx(SubsectionLabel, { children: "Archive" }), _jsx(SwitchRow, { label: "Auto-archive completed", description: "Automatically archive features after they reach the completed state", id: "auto-archive-enabled", testId: "switch-auto-archive-enabled", checked: autoArchiveEnabled, onChange: (v) => {
413
+ setAutoArchiveEnabled(v);
414
+ save(buildWorkflowPayload({ autoArchiveEnabled: v }));
415
+ } }), _jsx(SettingsRow, { label: "Archive delay", description: "Minutes to wait after completion before archiving (1\u20131440)", htmlFor: "auto-archive-delay", children: _jsx(NumberStepper, { id: "auto-archive-delay", testId: "input-auto-archive-delay", value: autoArchiveDelay, placeholder: "10", min: 1, max: 1440, suffix: "min", onChange: (v) => {
416
+ setAutoArchiveDelay(v);
417
+ }, onBlur: () => {
418
+ if (!autoArchiveEnabled)
419
+ return;
420
+ const n = parseInt(autoArchiveDelay, 10);
421
+ const clamped = Number.isNaN(n) ? 10 : Math.min(1440, Math.max(1, n));
422
+ setAutoArchiveDelay(String(clamped));
423
+ save(buildWorkflowPayload({ autoArchiveDelay: String(clamped) }));
424
+ } }) })] }), _jsx(SectionHint, { links: [
398
425
  {
399
426
  label: t('settings.workflow.links.approvalGates'),
400
427
  href: 'https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml',
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/workflow-settings-section.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,QAAA,MAAM,IAAI;;;;;;;CAOsC,CAAC;AAEjD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAerB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KA6BxB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KA6B5B,CAAC"}
1
+ {"version":3,"file":"workflow-settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/settings/workflow-settings-section.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,QAAA,MAAM,IAAI;;;;;;;CAOsC,CAAC;AAEjD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAgBrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KA8BxB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KA8B5B,CAAC"}
@@ -21,6 +21,7 @@ export const Default = {
21
21
  ciWatchEnabled: true,
22
22
  enableEvidence: false,
23
23
  commitEvidence: false,
24
+ defaultFastMode: true,
24
25
  },
25
26
  },
26
27
  };
@@ -51,6 +52,7 @@ export const AllEnabled = {
51
52
  ciWatchEnabled: true,
52
53
  enableEvidence: true,
53
54
  commitEvidence: true,
55
+ defaultFastMode: true,
54
56
  },
55
57
  },
56
58
  };
@@ -81,6 +83,7 @@ export const WithCiSettings = {
81
83
  ciWatchEnabled: true,
82
84
  enableEvidence: false,
83
85
  commitEvidence: false,
86
+ defaultFastMode: true,
84
87
  },
85
88
  },
86
89
  };
@@ -20,6 +20,7 @@ import { initializeSettings } from '../../../packages/core/src/infrastructure/se
20
20
  import { initializeNotificationWatcher, getNotificationWatcher, } from '../../../packages/core/src/infrastructure/services/notifications/notification-watcher.service.js';
21
21
  import { initializePrSyncWatcher, getPrSyncWatcher, } from '../../../packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js';
22
22
  import { getExistingConnection } from '../../../packages/core/src/infrastructure/persistence/sqlite/connection.js';
23
+ import { initializeAutoArchiveWatcher, getAutoArchiveWatcher, } from '../../../packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js';
23
24
  const DEFAULT_PORT = 3000;
24
25
  async function isPortAvailable(port) {
25
26
  return new Promise((resolve) => {
@@ -69,6 +70,9 @@ async function main() {
69
70
  const db = getExistingConnection();
70
71
  initializePrSyncWatcher(featureRepo, runRepo, gitPrService, notificationService, undefined, db, gitForkService);
71
72
  getPrSyncWatcher().start();
73
+ // Start auto-archive watcher for completed features
74
+ initializeAutoArchiveWatcher(featureRepo);
75
+ getAutoArchiveWatcher().start();
72
76
  }
73
77
  catch (error) {
74
78
  console.warn('[dev-server] DI initialization failed — features will be empty:', error);
@@ -127,6 +131,12 @@ async function main() {
127
131
  catch {
128
132
  /* not initialized */
129
133
  }
134
+ try {
135
+ getAutoArchiveWatcher().stop();
136
+ }
137
+ catch {
138
+ /* not initialized */
139
+ }
130
140
  server.closeAllConnections();
131
141
  await Promise.all([
132
142
  new Promise((resolve) => server.close(() => resolve())),
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "التشغيل بشكل مستقل بالكامل (بدون توقف للموافقة)",
203
203
  "parentOption": "معرّف الميزة الأصلية (كامل أو بادئة جزئية)",
204
204
  "pendingOption": "إنشاء الميزة بدون بدء الوكيل",
205
- "fastOption": "تخطي مراحل SDLC والتنفيذ مباشرة من الأمر",
205
+ "fastOption": "تخطي مراحل SDLC والتنفيذ مباشرة من الأمر (الافتراضي: مفعّل)",
206
+ "noFastOption": "تشغيل جميع مراحل SDLC (تحليل → متطلبات → خطة → تنفيذ)",
206
207
  "modelOption": "معرّف نموذج LLM لهذا التشغيل (مثال: claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "إرفاق ملف (قابل للتكرار)",
@@ -67,6 +67,8 @@
67
67
  "title": "سير العمل",
68
68
  "description": "تكوين سلوك PR وبوابات الموافقة وإعدادات CI",
69
69
  "sectionDescription": "سلوك الأتمتة بعد التنفيذ",
70
+ "defaultFastMode": "الوضع السريع كافتراضي",
71
+ "defaultFastModeDescription": "تخطي مراحل SDLC والتنفيذ مباشرة من الأمر",
70
72
  "subsections": {
71
73
  "approve": "الموافقة",
72
74
  "evidence": "الأدلة",
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "Vollständig autonom ausführen (keine Genehmigungspausen)",
203
203
  "parentOption": "Übergeordnete Feature-ID (vollständig oder Teilpräfix)",
204
204
  "pendingOption": "Feature erstellen, ohne den Agenten zu starten",
205
- "fastOption": "SDLC-Phasen überspringen und direkt nach Ihrem Prompt implementieren",
205
+ "fastOption": "SDLC-Phasen überspringen und direkt nach Ihrem Prompt implementieren (Standard: ein)",
206
+ "noFastOption": "Alle SDLC-Phasen durchlaufen (Analyse → Anforderungen → Plan → Implementierung)",
206
207
  "modelOption": "LLM-Modellbezeichnung für diesen Lauf (z.B. claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "Eine Datei anhängen (wiederholbar)",
@@ -65,6 +65,8 @@
65
65
  "title": "Workflow",
66
66
  "description": "Konfigurieren Sie PR-Verhalten, Genehmigungsstufen und CI-Einstellungen",
67
67
  "sectionDescription": "Automatisierungsverhalten nach der Implementierung",
68
+ "defaultFastMode": "Schnellmodus als Standard",
69
+ "defaultFastModeDescription": "SDLC-Phasen überspringen und direkt aus dem Prompt implementieren",
68
70
  "subsections": { "approve": "Genehmigen", "evidence": "Nachweise", "git": "Git" },
69
71
  "autoApprovePrd": "PRD automatisch genehmigen",
70
72
  "autoApprovePrdDescription": "Manuelle Überprüfung der Anforderungen überspringen",
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "Run fully autonomous (no approval pauses)",
203
203
  "parentOption": "Parent feature ID (full or partial prefix)",
204
204
  "pendingOption": "Create feature without starting the agent",
205
- "fastOption": "Skip SDLC phases and implement directly from your prompt",
205
+ "fastOption": "Skip SDLC phases and implement directly from your prompt (default: on)",
206
+ "noFastOption": "Run full SDLC phases (analyze → requirements → plan → implement)",
206
207
  "modelOption": "LLM model identifier for this run (e.g. claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "Attach a file (repeatable)",
@@ -67,6 +67,8 @@
67
67
  "title": "Workflow",
68
68
  "description": "Configure PR behavior, approval gates, and CI settings",
69
69
  "sectionDescription": "Automation behavior after implementation",
70
+ "defaultFastMode": "Fast mode by default",
71
+ "defaultFastModeDescription": "Skip SDLC phases and implement directly from prompt",
70
72
  "subsections": {
71
73
  "approve": "Approve",
72
74
  "evidence": "Evidence",
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "Ejecutar completamente autónomo (sin pausas de aprobación)",
203
203
  "parentOption": "ID de funcionalidad padre (completo o prefijo parcial)",
204
204
  "pendingOption": "Crear funcionalidad sin iniciar el agente",
205
- "fastOption": "Omitir las fases SDLC e implementar directamente desde tu prompt",
205
+ "fastOption": "Omitir las fases SDLC e implementar directamente desde tu prompt (predeterminado: activado)",
206
+ "noFastOption": "Ejecutar todas las fases SDLC (analizar → requisitos → plan → implementar)",
206
207
  "modelOption": "Identificador del modelo LLM para esta ejecución (ej., claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "Adjuntar un archivo (repetible)",
@@ -67,6 +67,8 @@
67
67
  "title": "Flujo de trabajo",
68
68
  "description": "Configura el comportamiento de PR, puertas de aprobación y configuración de CI",
69
69
  "sectionDescription": "Comportamiento de automatización después de la implementación",
70
+ "defaultFastMode": "Modo rápido por defecto",
71
+ "defaultFastModeDescription": "Omitir fases SDLC e implementar directamente desde el prompt",
70
72
  "subsections": {
71
73
  "approve": "Aprobar",
72
74
  "evidence": "Evidencia",
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "Exécuter de manière entièrement autonome (sans pause d'approbation)",
203
203
  "parentOption": "ID de fonctionnalité parente (préfixe complet ou partiel)",
204
204
  "pendingOption": "Créer la fonctionnalité sans démarrer l'agent",
205
- "fastOption": "Ignorer les phases SDLC et implémenter directement à partir de votre invite",
205
+ "fastOption": "Ignorer les phases SDLC et implémenter directement à partir de votre invite (par défaut: activé)",
206
+ "noFastOption": "Exécuter toutes les phases SDLC (analyser → exigences → plan → implémenter)",
206
207
  "modelOption": "Identifiant du modèle LLM pour cette exécution (par ex. claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "Joindre un fichier (répétable)",
@@ -67,6 +67,8 @@
67
67
  "title": "Workflow",
68
68
  "description": "Configurez le comportement des PR, les portes d'approbation et les paramètres CI",
69
69
  "sectionDescription": "Comportement d'automatisation après l'implémentation",
70
+ "defaultFastMode": "Mode rapide par défaut",
71
+ "defaultFastModeDescription": "Ignorer les phases SDLC et implémenter directement depuis le prompt",
70
72
  "subsections": {
71
73
  "approve": "Approuver",
72
74
  "evidence": "Preuves",
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "הרץ באופן אוטונומי מלא (ללא עצירות אישור)",
203
203
  "parentOption": "מזהה פיצ'ר הורה (מלא או קידומת חלקית)",
204
204
  "pendingOption": "צור פיצ'ר מבלי להפעיל את הסוכן",
205
- "fastOption": "דלג על שלבי SDLC ומימש ישירות מההנחיה שלך",
205
+ "fastOption": "דלג על שלבי SDLC ומימש ישירות מההנחיה שלך (ברירת מחדל: מופעל)",
206
+ "noFastOption": "הרץ את כל שלבי ה-SDLC (ניתוח → דרישות → תוכנית → מימוש)",
206
207
  "modelOption": "מזהה מודל LLM להרצה זו (לדוגמה claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "צרף קובץ (ניתן לחזור)",
@@ -67,6 +67,8 @@
67
67
  "title": "תהליך עבודה",
68
68
  "description": "הגדר התנהגות PR, שערי אישור והגדרות CI",
69
69
  "sectionDescription": "התנהגות אוטומציה לאחר מימוש",
70
+ "defaultFastMode": "מצב מהיר כברירת מחדל",
71
+ "defaultFastModeDescription": "דילוג על שלבי SDLC ויישום ישירות מהפרומפט",
70
72
  "subsections": {
71
73
  "approve": "אישור",
72
74
  "evidence": "ראיות",
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "Executar totalmente autônomo (sem pausas de aprovação)",
203
203
  "parentOption": "ID do recurso pai (prefixo completo ou parcial)",
204
204
  "pendingOption": "Criar recurso sem iniciar o agente",
205
- "fastOption": "Pular fases do SDLC e implementar diretamente a partir do seu prompt",
205
+ "fastOption": "Pular fases do SDLC e implementar diretamente a partir do seu prompt (padrão: ativado)",
206
+ "noFastOption": "Executar todas as fases do SDLC (analisar → requisitos → plano → implementar)",
206
207
  "modelOption": "Identificador do modelo LLM para esta execução (ex: claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "Anexar um arquivo (repetível)",
@@ -67,6 +67,8 @@
67
67
  "title": "Fluxo de Trabalho",
68
68
  "description": "Configure o comportamento de PR, portas de aprovação e configurações de CI",
69
69
  "sectionDescription": "Comportamento de automação após a implementação",
70
+ "defaultFastMode": "Modo rápido por padrão",
71
+ "defaultFastModeDescription": "Pular fases SDLC e implementar direto do prompt",
70
72
  "subsections": {
71
73
  "approve": "Aprovar",
72
74
  "evidence": "Evidência",
@@ -202,7 +202,8 @@
202
202
  "allowAllOption": "Запуск полностью автономно (без пауз для одобрения)",
203
203
  "parentOption": "Идентификатор родительской функции (полный или частичный префикс)",
204
204
  "pendingOption": "Создать функцию без запуска агента",
205
- "fastOption": "Пропустить фазы SDLC и реализовать непосредственно из вашего промпта",
205
+ "fastOption": "Пропустить фазы SDLC и реализовать непосредственно из вашего промпта (по умолчанию: вкл.)",
206
+ "noFastOption": "Выполнить все фазы SDLC (анализ → требования → план → реализация)",
206
207
  "modelOption": "Идентификатор модели LLM для этого запуска (например, claude-opus-4-6)",
207
208
  "noRebaseOption": "Skip syncing main from remote before creating the feature branch",
208
209
  "attachOption": "Прикрепить файл (можно повторять)",
@@ -67,6 +67,8 @@
67
67
  "title": "Рабочий процесс",
68
68
  "description": "Настройте поведение PR, этапы одобрения и параметры CI",
69
69
  "sectionDescription": "Поведение автоматизации после реализации",
70
+ "defaultFastMode": "Быстрый режим по умолчанию",
71
+ "defaultFastModeDescription": "Пропустить фазы SDLC и реализовать напрямую из промпта",
70
72
  "subsections": {
71
73
  "approve": "Одобрение",
72
74
  "evidence": "Подтверждение",