@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.
- package/apis/json-schema/WorkflowConfig.yaml +10 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts +30 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/auto-archive-completed.use-case.js +75 -0
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +2 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +8 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +5 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.d.ts +15 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-auto-archive-delay-minutes.js +20 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.d.ts +14 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/049-add-default-fast-mode.js +19 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +9 -5
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts +48 -0
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/auto-archive/auto-archive-watcher.service.js +101 -0
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +5 -0
- package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/new.command.js +12 -2
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +5 -0
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -0
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +1 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +5 -2
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +29 -2
- package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +3 -0
- package/dist/src/presentation/web/dev-server.js +10 -0
- package/dist/translations/ar/cli.json +2 -1
- package/dist/translations/ar/web.json +2 -0
- package/dist/translations/de/cli.json +2 -1
- package/dist/translations/de/web.json +2 -0
- package/dist/translations/en/cli.json +2 -1
- package/dist/translations/en/web.json +2 -0
- package/dist/translations/es/cli.json +2 -1
- package/dist/translations/es/web.json +2 -0
- package/dist/translations/fr/cli.json +2 -1
- package/dist/translations/fr/web.json +2 -0
- package/dist/translations/he/cli.json +2 -1
- package/dist/translations/he/web.json +2 -0
- package/dist/translations/pt/cli.json +2 -1
- package/dist/translations/pt/web.json +2 -0
- package/dist/translations/ru/cli.json +2 -1
- package/dist/translations/ru/web.json +2 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +5 -5
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +10 -10
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +5 -5
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__209c9597._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__27301e38._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6fecf886._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8d27866c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9f3504c7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd6ed91a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f8dd4422._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_c3f7938c._.js → _2ebb73f4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c3f7938c._.js.map → _2ebb73f4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_c5074ee2._.js → _3514c8c4._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c5074ee2._.js.map → _3514c8c4._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_3a0b989f._.js +2 -2
- package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js +1 -1
- package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_82c57f10._.js +1 -1
- package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js +1 -1
- package/web/.next/server/chunks/ssr/_9495d50b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +1 -1
- package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_2ed48c25._.js → _aa50246a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_2ed48c25._.js.map → _aa50246a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_ac4a3873._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +1 -1
- package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js +1 -1
- package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js +1 -1
- package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_fa7efce3._.js +2 -2
- package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +45 -45
- package/web/.next/static/chunks/{69c3b31bad28528e.js → 186729490e2be40c.js} +2 -2
- package/web/.next/static/chunks/{a345e293b60bfe46.js → 1d0f4a2bcef7746b.js} +1 -1
- package/web/.next/static/chunks/{133f712571b3feee.js → 3d5115acdf6e8df0.js} +2 -2
- package/web/.next/static/chunks/63b4954715fc3423.js +1 -0
- package/web/.next/static/chunks/{fa317df41d76a17b.js → 90dec548da16599d.js} +1 -1
- package/web/.next/static/chunks/{4e95f919ddb0f472.js → 92e4f7dd04a73141.js} +1 -1
- package/web/.next/static/chunks/{23a4ffedc9133310.js → 9a87bb6ecc6c6ecf.js} +2 -2
- package/web/.next/static/chunks/9d13adc0e259d473.js +1 -0
- package/web/.next/static/chunks/{5a0147256f9eb399.js → c014e6dbfafe7402.js} +1 -1
- package/web/.next/static/chunks/{0043f42554d30997.js → cbff94a67bd5afd4.js} +1 -1
- package/web/.next/static/chunks/{d34a0190d33d6133.js → cc106b4df2d3bd89.js} +1 -1
- package/web/.next/static/chunks/{25845c77794044d8.js → da09828114a01480.js} +1 -1
- package/web/.next/static/chunks/fbbb1c11387fc2ca.js +1 -0
- package/web/.next/static/chunks/39769b8d6061169f.js +0 -1
- package/web/.next/static/chunks/72b506a1c2568394.js +0 -1
- package/web/.next/static/chunks/93fabefcbc0ba71d.js +0 -1
- /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_buildManifest.js +0 -0
- /package/web/.next/static/{P8_TJYI2sruThm6-T7AfF → XJ_BPZ-H1OZsVM79e4LJ5}/_clientMiddlewareManifest.json +0 -0
- /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;
|
|
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 {
|
|
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
|
-
...(
|
|
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;
|
|
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;
|
|
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"}
|
|
@@ -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":"AA8BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAU5E,YAAY,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAE/F,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,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,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,YAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,eAAe,GAChB,EAAE,wBAAwB,
|
|
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":"AA8BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAU5E,YAAY,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAE/F,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,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,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,kGAAkG;IAClG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,YAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,eAAe,GAChB,EAAE,wBAAwB,2CA09B1B;AAsJD,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,EAAE,uBAAuB,2CAkNzB"}
|
package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js
CHANGED
|
@@ -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(
|
|
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(
|
|
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;
|
|
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"}
|
package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map
CHANGED
|
@@ -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,
|
|
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(
|
|
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
|
-
} })
|
|
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,
|
|
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"}
|
package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js
CHANGED
|
@@ -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": "Подтверждение",
|