@shepai/cli 1.170.0-pr513.cff27cb → 1.171.0
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/Feature.yaml +5 -17
- package/apis/json-schema/SdlcLifecycle.yaml +0 -1
- package/apis/json-schema/WorkflowConfig.yaml +5 -10
- package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +2 -2
- package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +3 -4
- package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +2 -2
- package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +2 -2
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +2 -3
- package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +2 -2
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +7 -18
- package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -3
- package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +0 -13
- package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +2 -2
- package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +3 -5
- package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.d.ts +1 -0
- package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/upgrade/upgrade-cli.use-case.js +59 -2
- 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 +1 -2
- package/dist/packages/core/src/domain/generated/output.d.ts +4 -22
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +0 -7
- package/dist/packages/core/src/domain/lifecycle-gates.d.ts +6 -21
- package/dist/packages/core/src/domain/lifecycle-gates.d.ts.map +1 -1
- package/dist/packages/core/src/domain/lifecycle-gates.js +6 -25
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +0 -5
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -3
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -10
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -2
- 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 +2 -7
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +3 -5
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +0 -20
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +0 -68
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +2 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +3 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +2 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +8 -19
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.js +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +0 -4
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +0 -17
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +4 -7
- package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/index.js +1 -5
- package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/new.command.js +5 -18
- package/dist/src/presentation/cli/commands/upgrade.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/upgrade.command.js +68 -3
- package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -3
- package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/create-feature.js +3 -3
- package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -2
- 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 -2
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/agent-events/route.js +0 -1
- package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/build-feature-node-data.js +2 -4
- package/dist/src/presentation/web/app/build-graph-nodes.js +2 -4
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +0 -3
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +1 -65
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -3
- 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 +11 -15
- 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 -2
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +1 -6
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +4 -16
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -2
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -6
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +0 -12
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +2 -7
- 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 +6 -6
- package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +3 -3
- package/dist/translations/ar/cli.json +2 -24
- package/dist/translations/ar/web.json +2 -6
- package/dist/translations/de/cli.json +2 -24
- package/dist/translations/de/web.json +2 -6
- package/dist/translations/en/cli.json +2 -24
- package/dist/translations/en/web.json +2 -6
- package/dist/translations/es/cli.json +2 -24
- package/dist/translations/es/web.json +2 -6
- package/dist/translations/fr/cli.json +2 -24
- package/dist/translations/fr/web.json +2 -6
- package/dist/translations/he/cli.json +2 -24
- package/dist/translations/he/web.json +2 -6
- package/dist/translations/pt/cli.json +2 -24
- package/dist/translations/pt/web.json +2 -6
- package/dist/translations/ru/cli.json +2 -24
- package/dist/translations/ru/web.json +2 -6
- 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 +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- 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 +27 -27
- 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 +30 -30
- 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 +76 -121
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -2
- 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 +76 -121
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -2
- 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 +28 -28
- 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 +28 -28
- 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 +27 -27
- 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 +30 -30
- 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 +76 -121
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -2
- 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 +76 -121
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -2
- 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 +27 -27
- 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 +28 -28
- 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 +28 -28
- 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 +6 -6
- 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/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
- 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 +13 -13
- 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 +11 -11
- 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 +6 -6
- 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/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +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 +3 -3
- 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]__1cd4327c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.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]__4ed9b909._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__69dd3217._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__69dd3217._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__92ffd5ee._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b020c17d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c1262d08._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fa525872._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_02e01240._.js +1 -1
- package/web/.next/server/chunks/ssr/_02e01240._.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/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js +1 -1
- package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
- package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
- package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_cac4abe6._.js → _49447b3c._.js} +2 -2
- package/web/.next/server/chunks/ssr/_49447b3c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_5119a3df._.js +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/_a5a5901d._.js +1 -1
- package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a963dd3c._.js +3 -0
- package/web/.next/server/chunks/ssr/_a963dd3c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ad09f271._.js +1 -1
- package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
- package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_0fd635d7._.js → _d50cde79._.js} +2 -2
- package/web/.next/server/chunks/ssr/_d50cde79._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_df737cce._.js +1 -1
- package/web/.next/server/chunks/ssr/_e3f14907._.js +9 -0
- package/web/.next/server/chunks/ssr/_e3f14907._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_ea9e1556._.js +1 -1
- package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
- package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
- package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_34d897da._.js → _f778f3ef._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_34d897da._.js.map → _f778f3ef._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
- package/web/.next/server/chunks/ssr/_f8b45233._.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/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.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_ca99d62d._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +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/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.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 +202 -310
- package/web/.next/static/chunks/{9a78b4c5dcd28196.js → 02fe1303471793b9.js} +2 -2
- package/web/.next/static/chunks/0ce50b34df07306b.js +1 -0
- package/web/.next/static/chunks/18d4601f068c700d.js +1 -0
- package/web/.next/static/chunks/{52681a7f14138e48.js → 24dd6b3021c2d849.js} +1 -1
- package/web/.next/static/chunks/3d182168cdc4c15c.js +1 -0
- package/web/.next/static/chunks/{0769c695d6b663c7.js → 4383bcae769740e7.js} +1 -1
- package/web/.next/static/chunks/{5e20f692bbfcfb94.js → 4559a403ee40dd19.js} +1 -1
- package/web/.next/static/chunks/{e93ae5725b0babeb.js → 5983ef48d50d2d2a.js} +1 -1
- package/web/.next/static/chunks/{4219ddfde68a6d0b.js → 67a430796dea42a7.js} +1 -1
- package/web/.next/static/chunks/6ee5d45de67d3547.js +5 -0
- package/web/.next/static/chunks/{0f30a983f3467cd5.js → 9705f2a5695a4995.js} +1 -1
- package/web/.next/static/chunks/{d5bf9c963b5346e1.js → a80bbfca8ee3d79b.js} +1 -1
- package/web/.next/static/chunks/{37f9543560c58ea6.js → aa077ab14015a8fd.js} +1 -1
- package/web/.next/static/chunks/b14085e99b88e7f7.css +1 -0
- package/web/.next/static/chunks/b65e555419a0c664.js +1 -0
- package/web/.next/static/chunks/{478adf5d5156f002.js → b93a918712cd4987.js} +1 -1
- package/web/.next/static/chunks/{fc595d95626ac9bb.js → bb962a996814718a.js} +1 -1
- package/web/.next/static/chunks/{2a9af061f4fbe7f5.js → d5366257d6b9f855.js} +1 -1
- package/web/.next/static/chunks/{09a25231e5fc1ab8.js → eff45ffddd85918c.js} +1 -1
- package/apis/json-schema/FeatureMode.yaml +0 -8
- package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts +0 -40
- package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.js +0 -125
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts +0 -19
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.js +0 -46
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts +0 -17
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.js +0 -37
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts +0 -12
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.js +0 -17
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts +0 -362
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.js +0 -72
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts +0 -18
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.js +0 -52
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts +0 -24
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.js +0 -38
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts +0 -31
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.js +0 -240
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts +0 -21
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.js +0 -134
- package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts +0 -12
- package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/feat/feedback.command.js +0 -64
- package/dist/src/presentation/cli/commands/feat/promote.command.d.ts +0 -13
- package/dist/src/presentation/cli/commands/feat/promote.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/feat/promote.command.js +0 -41
- package/dist/src/presentation/web/app/actions/discard-exploration.d.ts +0 -9
- package/dist/src/presentation/web/app/actions/discard-exploration.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/discard-exploration.js +0 -29
- package/dist/src/presentation/web/app/actions/promote-exploration.d.ts +0 -11
- package/dist/src/presentation/web/app/actions/promote-exploration.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/promote-exploration.js +0 -21
- package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts +0 -12
- package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/submit-exploration-feedback.js +0 -40
- package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts +0 -8
- package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.js +0 -33
- package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts +0 -10
- package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.js +0 -33
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts +0 -11
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.js +0 -34
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts +0 -16
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts.map +0 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.js +0 -70
- package/dist/src/presentation/web/components/ui/toggle-group.d.ts +0 -10
- package/dist/src/presentation/web/components/ui/toggle-group.d.ts.map +0 -1
- package/dist/src/presentation/web/components/ui/toggle-group.js +0 -22
- package/dist/src/presentation/web/components/ui/toggle.d.ts +0 -10
- package/dist/src/presentation/web/components/ui/toggle.d.ts.map +0 -1
- package/dist/src/presentation/web/components/ui/toggle.js +0 -26
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03c66352._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03c66352._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__403afc23._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__403afc23._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__df550e85._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__df550e85._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__df5602bf._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__df5602bf._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e9f4767a._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e9f4767a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0fd635d7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_30ddea9d._.js +0 -9
- package/web/.next/server/chunks/ssr/_30ddea9d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_6e79a2cc._.js +0 -3
- package/web/.next/server/chunks/ssr/_6e79a2cc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_cac4abe6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js.map +0 -1
- package/web/.next/static/chunks/2ceebcc839ee0d4b.js +0 -1
- package/web/.next/static/chunks/5743a9c1c63e5261.js +0 -5
- package/web/.next/static/chunks/5cf9745e2ef3837c.js +0 -1
- package/web/.next/static/chunks/c80e8e3d0cf5baa6.css +0 -1
- package/web/.next/static/chunks/d60cee2e7318f425.js +0 -1
- package/web/.next/static/chunks/da565c85277c2461.js +0 -1
- package/web/.next/static/chunks/fb89cf91c10b2e8b.js +0 -1
- /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → akDn2qFk1krSwrjt4345P}/_buildManifest.js +0 -0
- /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → akDn2qFk1krSwrjt4345P}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{G895CgnbZl4YvWN_DaRC- → akDn2qFk1krSwrjt4345P}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94237,e=>{"use strict";var t=e.i(7284);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.clsx;e.s(["cva",0,(e,t)=>i=>{var o;if((null==t?void 0:t.variants)==null)return n(e,null==i?void 0:i.class,null==i?void 0:i.className);let{variants:s,defaultVariants:l}=t,a=Object.keys(s).map(e=>{let t=null==i?void 0:i[e],n=null==l?void 0:l[e];if(null===t)return null;let o=r(t)||r(n);return s[e][o]}),u=i&&Object.entries(i).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return n(e,a,null==t||null==(o=t.compoundVariants)?void 0:o.reduce((e,t)=>{let{class:r,className:n,...i}=t;return Object.entries(i).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...l,...u}[t]):({...l,...u})[t]===r})?[...e,r,n]:e},[]),null==i?void 0:i.class,null==i?void 0:i.className)}])},5978,e=>{"use strict";var t=e.i(79054);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(...e){return t=>{let n=!1,i=e.map(e=>{let i=r(e,t);return n||"function"!=typeof i||(n=!0),i});if(n)return()=>{for(let t=0;t<i.length;t++){let n=i[t];"function"==typeof n?n():r(e[t],null)}}}}function i(...e){return t.useCallback(n(...e),e)}e.s(["composeRefs",()=>n,"useComposedRefs",()=>i])},86874,e=>{"use strict";var t=e.i(79054),r=e.i(5978),n=e.i(20314);function i(e){var i;let o,s=(i=e,(o=t.forwardRef((e,n)=>{let{children:i,...o}=e;if(t.isValidElement(i)){var s;let e,l,a=(s=i,(l=(e=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.ref:(l=(e=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.props.ref:s.props.ref||s.ref),u=function(e,t){let r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(o,i.props);return i.type!==t.Fragment&&(u.ref=n?(0,r.composeRefs)(n,a):a),t.cloneElement(i,u)}return t.Children.count(i)>1?t.Children.only(null):null})).displayName=`${i}.SlotClone`,o),l=t.forwardRef((e,r)=>{let{children:i,...o}=e,l=t.Children.toArray(i),a=l.find(u);if(a){let e=a.props.children,i=l.map(r=>r!==a?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,n.jsx)(s,{...o,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,i):null})}return(0,n.jsx)(s,{...o,ref:r,children:i})});return l.displayName=`${e}.Slot`,l}var o=i("Slot"),s=Symbol("radix.slottable");function l(e){let t=({children:e})=>(0,n.jsx)(n.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=s,t}var a=l("Slottable");function u(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===s}e.s(["Root",()=>o,"Slot",()=>o,"Slottable",()=>a,"createSlot",()=>i,"createSlottable",()=>l])},35364,5240,e=>{"use strict";var t=e.i(20314),r=e.i(94237),n=e.i(86874);e.s(["Slot",0,n],5240);var n=n,i=e.i(31777);let o=(0,r.cva)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function s({className:e,variant:r="default",size:s="default",asChild:l=!1,...a}){let u=l?n.Root:"button";return(0,t.jsx)(u,{"data-slot":"button","data-variant":r,"data-size":s,className:(0,i.cn)(o({variant:r,size:s,className:e})),...a})}e.s(["Button",()=>s],35364)},87620,e=>{"use strict";var t=e.i(79054),r=e.i(26036),n=e.i(86874),i=e.i(20314),o=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let o=(0,n.createSlot)(`Primitive.${r}`),s=t.forwardRef((e,t)=>{let{asChild:n,...s}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,i.jsx)(n?o:r,{...s,ref:t})});return s.displayName=`Primitive.${r}`,{...e,[r]:s}},{});function s(e,t){e&&r.flushSync(()=>e.dispatchEvent(t))}e.s(["Primitive",()=>o,"dispatchDiscreteCustomEvent",()=>s])},91967,e=>{"use strict";function t(e,r,{checkForDefaultPrevented:n=!0}={}){return function(t){if(e?.(t),!1===n||!t.defaultPrevented)return r?.(t)}}"u">typeof window&&window.document&&window.document.createElement,e.s(["composeEventHandlers",()=>t])},22528,e=>{"use strict";var t=e.i(79054),r=e.i(20314);function n(e,n){let i=t.createContext(n),o=e=>{let{children:n,...o}=e,s=t.useMemo(()=>o,Object.values(o));return(0,r.jsx)(i.Provider,{value:s,children:n})};return o.displayName=e+"Provider",[o,function(r){let o=t.useContext(i);if(o)return o;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${e}\``)}]}function i(e,n=[]){let o=[],s=()=>{let r=o.map(e=>t.createContext(e));return function(n){let i=n?.[e]||r;return t.useMemo(()=>({[`__scope${e}`]:{...n,[e]:i}}),[n,i])}};return s.scopeName=e,[function(n,i){let s=t.createContext(i),l=o.length;o=[...o,i];let a=n=>{let{scope:i,children:o,...a}=n,u=i?.[e]?.[l]||s,c=t.useMemo(()=>a,Object.values(a));return(0,r.jsx)(u.Provider,{value:c,children:o})};return a.displayName=n+"Provider",[a,function(r,o){let a=o?.[e]?.[l]||s,u=t.useContext(a);if(u)return u;if(void 0!==i)return i;throw Error(`\`${r}\` must be used within \`${n}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let i=n.reduce((t,{useScope:r,scopeName:n})=>{let i=r(e)[`__scope${n}`];return{...t,...i}},{});return t.useMemo(()=>({[`__scope${r.scopeName}`]:i}),[i])}};return n.scopeName=r.scopeName,n}(s,...n)]}e.s(["createContext",()=>n,"createContextScope",()=>i])},5192,e=>{"use strict";var t=e.i(79054),r=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",()=>r])},13123,e=>{"use strict";var t=e.i(79054),r=e.i(5192),n=t[" useId ".trim().toString()]||(()=>void 0),i=0;function o(e){let[o,s]=t.useState(n());return(0,r.useLayoutEffect)(()=>{e||s(e=>e??String(i++))},[e]),e||(o?`radix-${o}`:"")}e.s(["useId",()=>o])},36589,e=>{"use strict";var t=e.i(79054),r=e.i(5192);t[" useEffectEvent ".trim().toString()],t[" useInsertionEffect ".trim().toString()];var n=t[" useInsertionEffect ".trim().toString()]||r.useLayoutEffect;function i({prop:e,defaultProp:r,onChange:i=()=>{},caller:o}){let[s,l,a]=function({defaultProp:e,onChange:r}){let[i,o]=t.useState(e),s=t.useRef(i),l=t.useRef(r);return n(()=>{l.current=r},[r]),t.useEffect(()=>{s.current!==i&&(l.current?.(i),s.current=i)},[i,s]),[i,o,l]}({defaultProp:r,onChange:i}),u=void 0!==e,c=u?e:s;{let r=t.useRef(void 0!==e);t.useEffect(()=>{let e=r.current;if(e!==u){let t=u?"controlled":"uncontrolled";console.warn(`${o} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}r.current=u},[u,o])}return[c,t.useCallback(t=>{if(u){let r="function"==typeof t?t(e):t;r!==e&&a.current?.(r)}else l(t)},[u,e,l,a])]}Symbol("RADIX:SYNC_STATE"),e.s(["useControllableState",()=>i],36589)},29297,e=>{"use strict";var t=e.i(79054);function r(e){let r=t.useRef(e);return t.useEffect(()=>{r.current=e}),t.useMemo(()=>(...e)=>r.current?.(...e),[])}e.s(["useCallbackRef",()=>r])},85995,e=>{"use strict";var t=e.i(79054),r=e.i(5978),n=e.i(5192),i=e=>{var i;let s,l,{present:a,children:u}=e,c=function(e){var r,i;let[s,l]=t.useState(),a=t.useRef(null),u=t.useRef(e),c=t.useRef("none"),[d,f]=(r=e?"mounted":"unmounted",i={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>i[e][t]??e,r));return t.useEffect(()=>{let e=o(a.current);c.current="mounted"===d?e:"none"},[d]),(0,n.useLayoutEffect)(()=>{let t=a.current,r=u.current;if(r!==e){let n=c.current,i=o(t);e?f("MOUNT"):"none"===i||t?.display==="none"?f("UNMOUNT"):r&&n!==i?f("ANIMATION_OUT"):f("UNMOUNT"),u.current=e}},[e,f]),(0,n.useLayoutEffect)(()=>{if(s){let e,t=s.ownerDocument.defaultView??window,r=r=>{let n=o(a.current).includes(CSS.escape(r.animationName));if(r.target===s&&n&&(f("ANIMATION_END"),!u.current)){let r=s.style.animationFillMode;s.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===s.style.animationFillMode&&(s.style.animationFillMode=r)})}},n=e=>{e.target===s&&(c.current=o(a.current))};return s.addEventListener("animationstart",n),s.addEventListener("animationcancel",r),s.addEventListener("animationend",r),()=>{t.clearTimeout(e),s.removeEventListener("animationstart",n),s.removeEventListener("animationcancel",r),s.removeEventListener("animationend",r)}}f("ANIMATION_END")},[s,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{a.current=e?getComputedStyle(e):null,l(e)},[])}}(a),d="function"==typeof u?u({present:c.isPresent}):t.Children.only(u),f=(0,r.useComposedRefs)(c.ref,(i=d,(l=(s=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?i.ref:(l=(s=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?i.props.ref:i.props.ref||i.ref));return"function"==typeof u||c.isPresent?t.cloneElement(d,{ref:f}):null};function o(e){return e?.animationName||"none"}i.displayName="Presence",e.s(["Presence",()=>i])},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},80764,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(79054);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47904,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:o}){let s=r?40*r:e,l=n?40*n:t,a=s&&l?`viewBox='0 0 ${s} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${a}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${a?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},49261,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return o},imageConfigDefault:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["default","imgix","cloudinary","akamai","custom"],s={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},81241,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return u}}),e.r(24270);let n=e.r(22193),i=e.r(47904),o=e.r(49261),s=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:c=!1,loading:d,className:f,quality:p,width:m,height:g,fill:h=!1,style:v,overrideSrc:y,onLoad:b,onLoadingComplete:x,placeholder:w="empty",blurDataURL:_,fetchPriority:C,decoding:j="async",layout:S,objectFit:E,objectPosition:O,lazyBoundary:P,lazyRoot:R,...N},M){var I;let k,A,z,{imgConf:T,showAltText:$,blurComplete:L,defaultLoader:D}=M,U=T||o.imageConfigDefault;if("allSizes"in U)k=U;else{let e=[...U.deviceSizes,...U.imageSizes].sort((e,t)=>e-t),t=U.deviceSizes.sort((e,t)=>e-t),r=U.qualities?.sort((e,t)=>e-t);k={...U,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===D)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=N.loader||D;delete N.loader,delete N.srcSet;let G="__next_img_default"in F;if(G){if("custom"===k.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
|
2
2
|
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...n}=t;return e(n)}}if(S){"fill"===S&&(h=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[S];e&&(v={...v,...e});let r={responsive:"100vw",fill:"100vw"}[S];r&&!t&&(t=r)}let W="",B=a(m),V=a(g);if((I=e)&&"object"==typeof I&&(l(I)||void 0!==I.src)){let t=l(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(A=t.blurWidth,z=t.blurHeight,_=_||t.blurDataURL,W=t.src,!h)if(B||V){if(B&&!V){let e=B/t.width;V=Math.round(t.height*e)}else if(!B&&V){let e=V/t.height;B=Math.round(t.width*e)}}else B=t.width,V=t.height}let q=!u&&!c&&("lazy"===d||void 0===d);(!(e="string"==typeof e?e:W)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,q=!1),k.unoptimized&&(r=!0),G&&!k.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let H=a(p),X=Object.assign(h?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:E,objectPosition:O}:{},$?{}:{color:"transparent"},v),Y=L||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:B,heightInt:V,blurWidth:A,blurHeight:z,blurDataURL:_||"",objectFit:X.objectFit})}")`:`url("${w}")`,J=s.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,K=Y?{backgroundSize:J,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Q=function({config:e,src:t,unoptimized:r,width:i,quality:o,sizes:s,loader:l}){if(r){let e=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:a,kind:u}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,s),c=a.length-1;return{sizes:s||"w"!==u?s:"100vw",srcSet:a.map((r,n)=>`${l({config:e,src:t,quality:o,width:r})} ${"w"===u?r:n+1}${u}`).join(", "),src:l({config:e,src:t,quality:o,width:a[c]})}}({config:k,src:e,unoptimized:r,width:B,quality:H,sizes:t,loader:F}),Z=q?"lazy":d;return{props:{...N,loading:Z,fetchPriority:C,width:B,height:V,decoding:j,className:f,style:{...X,...K},sizes:Q.sizes,srcSet:Q.srcSet,src:y||Q.src},meta:{unoptimized:r,preload:c||u,placeholder:w,fill:h}}}},38820,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(79054),i="u"<typeof window,o=i?()=>{}:n.useLayoutEffect,s=i?()=>{}:n.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),l()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),s(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},79646,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},defaultHead:function(){return d}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(81258),s=e.r(44066),l=e.r(20314),a=s._(e.r(79054)),u=o._(e.r(38820)),c=e.r(84210);function d(){return[(0,l.jsx)("meta",{charSet:"utf-8"},"charset"),(0,l.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(24270);let p=["name","httpEquiv","charSet","itemProp"];function m(e){let t,r,n,i;return e.reduce(f,[]).reverse().concat(d().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let o=!0,s=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){s=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?o=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?o=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?o=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;("name"!==r||!s)&&n.has(t)?o=!1:(n.add(t),i[r]=n)}}}return o})).reverse().map((e,t)=>{let r=e.key||t;return a.default.cloneElement(e,{key:r})})}let g=function({children:e}){let t=(0,a.useContext)(c.HeadManagerContext);return(0,l.jsx)(u.default,{reduceComponentsToState:m,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5160,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=e.r(81258)._(e.r(79054)),i=e.r(49261),o=n.default.createContext(i.imageConfigDefault)},2880,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(81258)._(e.r(79054)).default.createContext(null)},36200,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},78200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(36200),i=e.r(22193);function o({config:e,src:t,width:r,quality:o}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let s=(0,n.findClosestQuality)(o,e),l=(0,i.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${s}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}o.__next_img_default=!0;let s=o},81819,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return x}});let n=e.r(81258),i=e.r(44066),o=e.r(20314),s=i._(e.r(79054)),l=n._(e.r(26036)),a=n._(e.r(79646)),u=e.r(81241),c=e.r(49261),d=e.r(5160);e.r(24270);let f=e.r(2880),p=n._(e.r(78200)),m=e.r(80764),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,i,o,s){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return s.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,s.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:l,className:a,style:u,fetchPriority:c,placeholder:d,loading:f,unoptimized:p,fill:g,onLoadRef:y,onLoadingCompleteRef:b,setBlurComplete:x,setShowAltText:w,sizesInput:_,onLoad:C,onError:j,...S},E)=>{let O=(0,s.useCallback)(e=>{e&&(j&&(e.src=e.src),e.complete&&h(e,d,y,b,x,p,_))},[e,d,y,b,x,j,p,_]),P=(0,m.useMergedRef)(E,O);return(0,o.jsx)("img",{...S,...v(c),loading:f,width:i,height:n,decoding:l,"data-nimg":g?"fill":"1",className:a,style:u,sizes:r,srcSet:t,src:e,ref:P,onLoad:e=>{h(e.currentTarget,d,y,b,x,p,_)},onError:e=>{w(!0),"empty"!==d&&x(!0),j&&j(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,r),null):(0,o.jsx)(a.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let x=(0,s.forwardRef)((e,t)=>{let r=(0,s.useContext)(f.RouterContext),n=(0,s.useContext)(d.ImageConfigContext),i=(0,s.useMemo)(()=>{let e=g||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:l,onLoadingComplete:a}=e,m=(0,s.useRef)(l);(0,s.useEffect)(()=>{m.current=l},[l]);let h=(0,s.useRef)(a);(0,s.useEffect)(()=>{h.current=a},[a]);let[v,x]=(0,s.useState)(!1),[w,_]=(0,s.useState)(!1),{props:C,meta:j}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:v,showAltText:w});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(y,{...C,unoptimized:j.unoptimized,placeholder:j.placeholder,fill:j.fill,onLoadRef:m,onLoadingCompleteRef:h,setBlurComplete:x,setShowAltText:_,sizesInput:e.sizes,ref:t}),j.preload?(0,o.jsx)(b,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},78639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(81258),s=e.r(81241),l=e.r(81819),a=o._(e.r(78200));function u(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=l.Image},98804,(e,t,r)=>{t.exports=e.r(78639)},86782,e=>{"use strict";var t=e.i(20314),r=e.i(98804),n=e.i(31777);function i(e,i){function o({className:o}){return(0,t.jsx)(r.default,{src:e,alt:i,width:24,height:24,className:(0,n.cn)("rounded-sm object-contain",o)})}return o.displayName=`BrandIcon(${i})`,o}function o(e){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function s({className:e,...r}){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,n.cn)("h-6 w-6",e),...r,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dev-flask-grad",x1:"6",y1:"22",x2:"18",y2:"8",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"#8B5CF6"}),(0,t.jsx)("stop",{offset:"50%",stopColor:"#EC4899"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"#F59E0B"})]})}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",fill:"url(#dev-flask-grad)",opacity:"0.9"}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",stroke:"url(#dev-flask-grad)",strokeWidth:"1.5",fill:"none"}),(0,t.jsx)("circle",{cx:"10",cy:"14",r:"1.2",fill:"white",opacity:"0.7"}),(0,t.jsx)("circle",{cx:"13.5",cy:"16",r:"0.8",fill:"white",opacity:"0.5"}),(0,t.jsx)("circle",{cx:"11.5",cy:"17.5",r:"0.6",fill:"white",opacity:"0.4"}),(0,t.jsx)("path",{d:"M16 4l1-2 1 2-2 1 2 1-1 2-1-2-2-1z",fill:"#F59E0B"})]})}s.displayName="DevAgentIcon";let l={"claude-code":i("/icons/agents/claude-ai-icon.svg","Claude Code"),"codex-cli":i("/icons/agents/openai.svg","Codex CLI"),cursor:i("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":i("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:i("/icons/agents/aider.png","Aider"),continue:i("/icons/agents/continue.jpeg","Continue"),dev:s};function a(e){return e&&e in l?l[e]:o}e.s(["agentTypeLabels",0,{"claude-code":"Claude Code","codex-cli":"Codex CLI",cursor:"Cursor","gemini-cli":"Gemini CLI",aider:"Aider",continue:"Continue",dev:"Demo"},"getAgentTypeIcon",()=>a])},29847,e=>{"use strict";let t={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},r={displayName:"",description:""};function n(e){let n=t[e];return n||{...r,displayName:e.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}}e.s(["getModelMeta",()=>n])},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},
|
|
3
|
+
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let s=(0,n.findClosestQuality)(o,e),l=(0,i.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${s}${t.startsWith("/")&&l?`&dpl=${l}`:""}`}o.__next_img_default=!0;let s=o},81819,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return x}});let n=e.r(81258),i=e.r(44066),o=e.r(20314),s=i._(e.r(79054)),l=n._(e.r(26036)),a=n._(e.r(79646)),u=e.r(81241),c=e.r(49261),d=e.r(5160);e.r(24270);let f=e.r(2880),p=n._(e.r(78200)),m=e.r(80764),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,i,o,s){let l=e?.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function v(e){return s.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,s.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:l,className:a,style:u,fetchPriority:c,placeholder:d,loading:f,unoptimized:p,fill:g,onLoadRef:y,onLoadingCompleteRef:b,setBlurComplete:x,setShowAltText:w,sizesInput:_,onLoad:C,onError:j,...S},E)=>{let O=(0,s.useCallback)(e=>{e&&(j&&(e.src=e.src),e.complete&&h(e,d,y,b,x,p,_))},[e,d,y,b,x,j,p,_]),P=(0,m.useMergedRef)(E,O);return(0,o.jsx)("img",{...S,...v(c),loading:f,width:i,height:n,decoding:l,"data-nimg":g?"fill":"1",className:a,style:u,sizes:r,srcSet:t,src:e,ref:P,onLoad:e=>{h(e.currentTarget,d,y,b,x,p,_)},onError:e=>{w(!0),"empty"!==d&&x(!0),j&&j(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...v(t.fetchPriority)};return e&&l.default.preload?(l.default.preload(t.src,r),null):(0,o.jsx)(a.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let x=(0,s.forwardRef)((e,t)=>{let r=(0,s.useContext)(f.RouterContext),n=(0,s.useContext)(d.ImageConfigContext),i=(0,s.useMemo)(()=>{let e=g||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:l,onLoadingComplete:a}=e,m=(0,s.useRef)(l);(0,s.useEffect)(()=>{m.current=l},[l]);let h=(0,s.useRef)(a);(0,s.useEffect)(()=>{h.current=a},[a]);let[v,x]=(0,s.useState)(!1),[w,_]=(0,s.useState)(!1),{props:C,meta:j}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:v,showAltText:w});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(y,{...C,unoptimized:j.unoptimized,placeholder:j.placeholder,fill:j.fill,onLoadRef:m,onLoadingCompleteRef:h,setBlurComplete:x,setShowAltText:_,sizesInput:e.sizes,ref:t}),j.preload?(0,o.jsx)(b,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},78639,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(81258),s=e.r(81241),l=e.r(81819),a=o._(e.r(78200));function u(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=l.Image},98804,(e,t,r)=>{t.exports=e.r(78639)},86782,e=>{"use strict";var t=e.i(20314),r=e.i(98804),n=e.i(31777);function i(e,i){function o({className:o}){return(0,t.jsx)(r.default,{src:e,alt:i,width:24,height:24,className:(0,n.cn)("rounded-sm object-contain",o)})}return o.displayName=`BrandIcon(${i})`,o}function o(e){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"2"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor"})]})}function s({className:e,...r}){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,n.cn)("h-6 w-6",e),...r,children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dev-flask-grad",x1:"6",y1:"22",x2:"18",y2:"8",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"#8B5CF6"}),(0,t.jsx)("stop",{offset:"50%",stopColor:"#EC4899"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"#F59E0B"})]})}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",fill:"url(#dev-flask-grad)",opacity:"0.9"}),(0,t.jsx)("path",{d:"M9 2h6v6l4.5 9a2 2 0 0 1-1.79 2.89H6.29A2 2 0 0 1 4.5 17L9 8V2z",stroke:"url(#dev-flask-grad)",strokeWidth:"1.5",fill:"none"}),(0,t.jsx)("circle",{cx:"10",cy:"14",r:"1.2",fill:"white",opacity:"0.7"}),(0,t.jsx)("circle",{cx:"13.5",cy:"16",r:"0.8",fill:"white",opacity:"0.5"}),(0,t.jsx)("circle",{cx:"11.5",cy:"17.5",r:"0.6",fill:"white",opacity:"0.4"}),(0,t.jsx)("path",{d:"M16 4l1-2 1 2-2 1 2 1-1 2-1-2-2-1z",fill:"#F59E0B"})]})}s.displayName="DevAgentIcon";let l={"claude-code":i("/icons/agents/claude-ai-icon.svg","Claude Code"),"codex-cli":i("/icons/agents/openai.svg","Codex CLI"),cursor:i("/icons/agents/cursor.jpeg","Cursor"),"gemini-cli":i("/icons/agents/gemini-cli.jpeg","Gemini CLI"),aider:i("/icons/agents/aider.png","Aider"),continue:i("/icons/agents/continue.jpeg","Continue"),dev:s};function a(e){return e&&e in l?l[e]:o}e.s(["agentTypeLabels",0,{"claude-code":"Claude Code","codex-cli":"Codex CLI",cursor:"Cursor","gemini-cli":"Gemini CLI",aider:"Aider",continue:"Continue",dev:"Demo"},"getAgentTypeIcon",()=>a])},29847,e=>{"use strict";let t={"claude-opus-4-6":{displayName:"Opus 4.6",description:"Most capable, complex tasks"},"claude-sonnet-4-6":{displayName:"Sonnet 4.6",description:"Fast & balanced"},"claude-haiku-4-5":{displayName:"Haiku 4.5",description:"Lightweight & quick"},"gemini-3.1-pro":{displayName:"Gemini 3.1 Pro",description:"Advanced reasoning"},"gemini-3-flash":{displayName:"Gemini 3 Flash",description:"Ultra-fast responses"},"gemini-2.5-pro":{displayName:"Gemini 2.5 Pro",description:"Reliable workhorse"},"gemini-2.5-flash":{displayName:"Gemini 2.5 Flash",description:"Speed-optimized"},"gpt-5.4-high":{displayName:"GPT-5.4",description:"Latest reasoning model"},"gpt-5.2":{displayName:"GPT-5.2",description:"Flagship model"},"gpt-5.3-codex":{displayName:"GPT-5.3 Codex",description:"Code specialist"},"composer-1.5":{displayName:"Composer 1.5",description:"Multi-file editing"},"grok-code":{displayName:"Grok Code",description:"xAI code model"},"gpt-8":{displayName:"GPT-8",description:"Writes code before you think it"},"opus-7":{displayName:"Opus 7",description:"Achieved consciousness, ships on time"}},r={displayName:"",description:""};function n(e){let n=t[e];return n||{...r,displayName:e.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase())}}e.s(["getModelMeta",()=>n])},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},35374,80166,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("000cfa2292370a995d482ed1fa810074d629b447dc",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],35374);let n=(0,t.createServerReference)("6056d1dfcbf6e1b065f0d6a3edf49fb2aadc614847",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>n],80166)}]);
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Promote Exploration Use Case
|
|
3
|
-
*
|
|
4
|
-
* Transitions an exploration feature to Regular or Fast mode via in-place
|
|
5
|
-
* mode transition. Changes the mode field, transitions lifecycle from
|
|
6
|
-
* Exploring to Requirements (regular) or Implementation (fast), optionally
|
|
7
|
-
* scaffolds missing spec YAMLs when promoting to regular, and spawns the
|
|
8
|
-
* appropriate agent graph.
|
|
9
|
-
*
|
|
10
|
-
* Business Rules:
|
|
11
|
-
* - Feature must be in Exploration mode and Exploring lifecycle
|
|
12
|
-
* - Promotion preserves existing worktree and branch (prototype code)
|
|
13
|
-
* - Promoting to Regular scaffolds missing spec YAMLs (spec, research, plan, tasks)
|
|
14
|
-
* - Promoting to Fast does not scaffold spec YAMLs
|
|
15
|
-
* - Spawns the appropriate agent graph after transition
|
|
16
|
-
*/
|
|
17
|
-
import type { Feature } from '../../../../domain/generated/output.js';
|
|
18
|
-
import { FeatureMode } from '../../../../domain/generated/output.js';
|
|
19
|
-
import type { IFeatureRepository } from '../../../ports/output/repositories/feature-repository.interface.js';
|
|
20
|
-
import type { IFeatureAgentProcessService } from '../../../ports/output/agents/feature-agent-process.interface.js';
|
|
21
|
-
import type { IAgentRunRepository } from '../../../ports/output/agents/agent-run-repository.interface.js';
|
|
22
|
-
import type { ISpecInitializerService } from '../../../ports/output/services/spec-initializer.interface.js';
|
|
23
|
-
import type { IWorktreeService } from '../../../ports/output/services/worktree-service.interface.js';
|
|
24
|
-
export interface PromoteExplorationInput {
|
|
25
|
-
featureId: string;
|
|
26
|
-
targetMode: FeatureMode.Regular | FeatureMode.Fast;
|
|
27
|
-
}
|
|
28
|
-
export interface PromoteExplorationResult {
|
|
29
|
-
feature: Feature;
|
|
30
|
-
}
|
|
31
|
-
export declare class PromoteExplorationUseCase {
|
|
32
|
-
private readonly featureRepo;
|
|
33
|
-
private readonly processService;
|
|
34
|
-
private readonly runRepo;
|
|
35
|
-
private readonly specInitializer;
|
|
36
|
-
private readonly worktreeService;
|
|
37
|
-
constructor(featureRepo: IFeatureRepository, processService: IFeatureAgentProcessService, runRepo: IAgentRunRepository, specInitializer: ISpecInitializerService, worktreeService: IWorktreeService);
|
|
38
|
-
execute(input: PromoteExplorationInput): Promise<PromoteExplorationResult>;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=promote-exploration.use-case.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promote-exploration.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAiB,WAAW,EAAkB,MAAM,wCAAwC,CAAC;AAEpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAGrG,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBACa,yBAAyB;IAGlC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBARf,WAAW,EAAE,kBAAkB,EAE/B,cAAc,EAAE,2BAA2B,EAE3C,OAAO,EAAE,mBAAmB,EAE5B,eAAe,EAAE,uBAAuB,EAExC,eAAe,EAAE,gBAAgB;IAG9C,OAAO,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAiGjF"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Promote Exploration Use Case
|
|
3
|
-
*
|
|
4
|
-
* Transitions an exploration feature to Regular or Fast mode via in-place
|
|
5
|
-
* mode transition. Changes the mode field, transitions lifecycle from
|
|
6
|
-
* Exploring to Requirements (regular) or Implementation (fast), optionally
|
|
7
|
-
* scaffolds missing spec YAMLs when promoting to regular, and spawns the
|
|
8
|
-
* appropriate agent graph.
|
|
9
|
-
*
|
|
10
|
-
* Business Rules:
|
|
11
|
-
* - Feature must be in Exploration mode and Exploring lifecycle
|
|
12
|
-
* - Promotion preserves existing worktree and branch (prototype code)
|
|
13
|
-
* - Promoting to Regular scaffolds missing spec YAMLs (spec, research, plan, tasks)
|
|
14
|
-
* - Promoting to Fast does not scaffold spec YAMLs
|
|
15
|
-
* - Spawns the appropriate agent graph after transition
|
|
16
|
-
*/
|
|
17
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
-
};
|
|
23
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
-
};
|
|
26
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
27
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
28
|
-
};
|
|
29
|
-
import { injectable, inject } from 'tsyringe';
|
|
30
|
-
import { randomUUID } from 'node:crypto';
|
|
31
|
-
import { SdlcLifecycle, FeatureMode, AgentRunStatus } from '../../../../domain/generated/output.js';
|
|
32
|
-
import { EXPLORING_TRANSITIONS } from '../../../../domain/lifecycle-gates.js';
|
|
33
|
-
import { getSettings } from '../../../../infrastructure/services/settings.service.js';
|
|
34
|
-
let PromoteExplorationUseCase = class PromoteExplorationUseCase {
|
|
35
|
-
featureRepo;
|
|
36
|
-
processService;
|
|
37
|
-
runRepo;
|
|
38
|
-
specInitializer;
|
|
39
|
-
worktreeService;
|
|
40
|
-
constructor(featureRepo, processService, runRepo, specInitializer, worktreeService) {
|
|
41
|
-
this.featureRepo = featureRepo;
|
|
42
|
-
this.processService = processService;
|
|
43
|
-
this.runRepo = runRepo;
|
|
44
|
-
this.specInitializer = specInitializer;
|
|
45
|
-
this.worktreeService = worktreeService;
|
|
46
|
-
}
|
|
47
|
-
async execute(input) {
|
|
48
|
-
const feature = (await this.featureRepo.findById(input.featureId)) ??
|
|
49
|
-
(await this.featureRepo.findByIdPrefix(input.featureId));
|
|
50
|
-
if (!feature) {
|
|
51
|
-
throw new Error(`Feature not found: ${input.featureId}`);
|
|
52
|
-
}
|
|
53
|
-
if (feature.mode !== FeatureMode.Exploration) {
|
|
54
|
-
throw new Error(`Feature "${feature.name}" is not in Exploration mode (current: ${feature.mode}). Only exploration features can be promoted.`);
|
|
55
|
-
}
|
|
56
|
-
if (feature.lifecycle !== SdlcLifecycle.Exploring) {
|
|
57
|
-
throw new Error(`Feature "${feature.name}" is not in Exploring lifecycle (current: ${feature.lifecycle}). Only features in Exploring state can be promoted.`);
|
|
58
|
-
}
|
|
59
|
-
const targetLifecycle = input.targetMode === FeatureMode.Fast
|
|
60
|
-
? SdlcLifecycle.Implementation
|
|
61
|
-
: SdlcLifecycle.Requirements;
|
|
62
|
-
// Validate the transition is allowed
|
|
63
|
-
if (!EXPLORING_TRANSITIONS.has(targetLifecycle)) {
|
|
64
|
-
throw new Error(`Invalid promotion target lifecycle: ${targetLifecycle}`);
|
|
65
|
-
}
|
|
66
|
-
// Scaffold missing spec YAMLs when promoting to regular mode
|
|
67
|
-
if (input.targetMode === FeatureMode.Regular && feature.specPath) {
|
|
68
|
-
const worktreePath = feature.worktreePath ??
|
|
69
|
-
this.worktreeService.getWorktreePath(feature.repositoryPath, feature.branch);
|
|
70
|
-
await this.specInitializer.initialize(worktreePath, feature.slug, 0, // Feature number hint — resolveNextNumber will use existing dir
|
|
71
|
-
feature.userQuery);
|
|
72
|
-
}
|
|
73
|
-
// Create a new agent run for the promoted mode
|
|
74
|
-
const settings = getSettings();
|
|
75
|
-
const runId = randomUUID();
|
|
76
|
-
const agentRun = {
|
|
77
|
-
id: runId,
|
|
78
|
-
agentType: settings.agent.type,
|
|
79
|
-
agentName: 'feature-agent',
|
|
80
|
-
status: AgentRunStatus.pending,
|
|
81
|
-
prompt: feature.userQuery,
|
|
82
|
-
threadId: randomUUID(),
|
|
83
|
-
featureId: feature.id,
|
|
84
|
-
repositoryPath: feature.repositoryPath,
|
|
85
|
-
createdAt: new Date().toISOString(),
|
|
86
|
-
updatedAt: new Date().toISOString(),
|
|
87
|
-
};
|
|
88
|
-
await this.runRepo.create(agentRun);
|
|
89
|
-
// Update the feature: mode, lifecycle, and agent run reference
|
|
90
|
-
const updatedFeature = {
|
|
91
|
-
...feature,
|
|
92
|
-
mode: input.targetMode,
|
|
93
|
-
lifecycle: targetLifecycle,
|
|
94
|
-
agentRunId: runId,
|
|
95
|
-
updatedAt: new Date(),
|
|
96
|
-
};
|
|
97
|
-
await this.featureRepo.update(updatedFeature);
|
|
98
|
-
// Spawn the appropriate agent graph
|
|
99
|
-
const worktreePath = feature.worktreePath ??
|
|
100
|
-
this.worktreeService.getWorktreePath(feature.repositoryPath, feature.branch);
|
|
101
|
-
this.processService.spawn(feature.id, runId, feature.repositoryPath, feature.specPath ?? '', worktreePath, {
|
|
102
|
-
approvalGates: feature.approvalGates,
|
|
103
|
-
threadId: agentRun.threadId,
|
|
104
|
-
push: feature.push,
|
|
105
|
-
openPr: feature.openPr,
|
|
106
|
-
forkAndPr: feature.forkAndPr,
|
|
107
|
-
commitSpecs: feature.commitSpecs,
|
|
108
|
-
ciWatchEnabled: feature.ciWatchEnabled,
|
|
109
|
-
enableEvidence: feature.enableEvidence,
|
|
110
|
-
commitEvidence: feature.commitEvidence,
|
|
111
|
-
...(input.targetMode !== FeatureMode.Regular ? { mode: input.targetMode } : {}),
|
|
112
|
-
});
|
|
113
|
-
return { feature: updatedFeature };
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
PromoteExplorationUseCase = __decorate([
|
|
117
|
-
injectable(),
|
|
118
|
-
__param(0, inject('IFeatureRepository')),
|
|
119
|
-
__param(1, inject('IFeatureAgentProcessService')),
|
|
120
|
-
__param(2, inject('IAgentRunRepository')),
|
|
121
|
-
__param(3, inject('ISpecInitializerService')),
|
|
122
|
-
__param(4, inject('IWorktreeService')),
|
|
123
|
-
__metadata("design:paramtypes", [Object, Object, Object, Object, Object])
|
|
124
|
-
], PromoteExplorationUseCase);
|
|
125
|
-
export { PromoteExplorationUseCase };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 051: Replace boolean fast column with TEXT mode column on features table.
|
|
3
|
-
*
|
|
4
|
-
* Migrates the features.fast INTEGER column (0/1 boolean) to a TEXT mode column
|
|
5
|
-
* that stores FeatureMode enum values: 'Regular' (was 0), 'Fast' (was 1), 'Exploration'.
|
|
6
|
-
* Also adds iteration_count and max_iterations columns for exploration feedback loops.
|
|
7
|
-
*
|
|
8
|
-
* Transformation logic:
|
|
9
|
-
* - fast = 0 → mode = 'Regular'
|
|
10
|
-
* - fast = 1 → mode = 'Fast'
|
|
11
|
-
*
|
|
12
|
-
* Default for new rows: mode = 'Regular', iteration_count = 0, max_iterations = NULL.
|
|
13
|
-
* Guards against duplicate column/dropped column using PRAGMA table_info.
|
|
14
|
-
*/
|
|
15
|
-
import type { MigrationParams } from 'umzug';
|
|
16
|
-
import type Database from 'better-sqlite3';
|
|
17
|
-
export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
18
|
-
export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
19
|
-
//# sourceMappingURL=051-replace-fast-with-mode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"051-replace-fast-with-mode.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7F"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 051: Replace boolean fast column with TEXT mode column on features table.
|
|
3
|
-
*
|
|
4
|
-
* Migrates the features.fast INTEGER column (0/1 boolean) to a TEXT mode column
|
|
5
|
-
* that stores FeatureMode enum values: 'Regular' (was 0), 'Fast' (was 1), 'Exploration'.
|
|
6
|
-
* Also adds iteration_count and max_iterations columns for exploration feedback loops.
|
|
7
|
-
*
|
|
8
|
-
* Transformation logic:
|
|
9
|
-
* - fast = 0 → mode = 'Regular'
|
|
10
|
-
* - fast = 1 → mode = 'Fast'
|
|
11
|
-
*
|
|
12
|
-
* Default for new rows: mode = 'Regular', iteration_count = 0, max_iterations = NULL.
|
|
13
|
-
* Guards against duplicate column/dropped column using PRAGMA table_info.
|
|
14
|
-
*/
|
|
15
|
-
export async function up({ context: db }) {
|
|
16
|
-
const columns = db.pragma('table_info(features)');
|
|
17
|
-
const names = new Set(columns.map((c) => c.name));
|
|
18
|
-
// Step 1: Add new TEXT mode column with default 'Regular'
|
|
19
|
-
if (!names.has('mode')) {
|
|
20
|
-
db.exec("ALTER TABLE features ADD COLUMN mode TEXT NOT NULL DEFAULT 'Regular'");
|
|
21
|
-
}
|
|
22
|
-
// Step 2: Migrate data from fast → mode (only if fast column still exists)
|
|
23
|
-
if (names.has('fast')) {
|
|
24
|
-
db.exec(`
|
|
25
|
-
UPDATE features
|
|
26
|
-
SET mode = CASE
|
|
27
|
-
WHEN fast = 1 THEN 'Fast'
|
|
28
|
-
ELSE 'Regular'
|
|
29
|
-
END
|
|
30
|
-
`);
|
|
31
|
-
}
|
|
32
|
-
// Step 3: Drop old fast column
|
|
33
|
-
if (names.has('fast')) {
|
|
34
|
-
db.exec('ALTER TABLE features DROP COLUMN fast');
|
|
35
|
-
}
|
|
36
|
-
// Step 4: Add iteration tracking columns for exploration mode
|
|
37
|
-
if (!names.has('iteration_count')) {
|
|
38
|
-
db.exec('ALTER TABLE features ADD COLUMN iteration_count INTEGER NOT NULL DEFAULT 0');
|
|
39
|
-
}
|
|
40
|
-
if (!names.has('max_iterations')) {
|
|
41
|
-
db.exec('ALTER TABLE features ADD COLUMN max_iterations INTEGER');
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
export async function down({ context: db }) {
|
|
45
|
-
void db;
|
|
46
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 052: Replace boolean default_fast_mode column with TEXT default_mode column
|
|
3
|
-
* on the settings table.
|
|
4
|
-
*
|
|
5
|
-
* Migrates the settings.default_fast_mode INTEGER column (0/1 boolean) to a TEXT
|
|
6
|
-
* default_mode column that stores FeatureMode enum values:
|
|
7
|
-
* - default_fast_mode = 1 → default_mode = 'Fast'
|
|
8
|
-
* - default_fast_mode = 0 → default_mode = 'Regular'
|
|
9
|
-
*
|
|
10
|
-
* Default for new rows: default_mode = 'Fast' (preserves backward compatibility).
|
|
11
|
-
* Guards against duplicate column using PRAGMA table_info.
|
|
12
|
-
*/
|
|
13
|
-
import type { MigrationParams } from 'umzug';
|
|
14
|
-
import type Database from 'better-sqlite3';
|
|
15
|
-
export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
16
|
-
export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
17
|
-
//# sourceMappingURL=052-replace-default-fast-mode-with-default-mode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"052-replace-default-fast-mode-with-default-mode.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7F"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 052: Replace boolean default_fast_mode column with TEXT default_mode column
|
|
3
|
-
* on the settings table.
|
|
4
|
-
*
|
|
5
|
-
* Migrates the settings.default_fast_mode INTEGER column (0/1 boolean) to a TEXT
|
|
6
|
-
* default_mode column that stores FeatureMode enum values:
|
|
7
|
-
* - default_fast_mode = 1 → default_mode = 'Fast'
|
|
8
|
-
* - default_fast_mode = 0 → default_mode = 'Regular'
|
|
9
|
-
*
|
|
10
|
-
* Default for new rows: default_mode = 'Fast' (preserves backward compatibility).
|
|
11
|
-
* Guards against duplicate column using PRAGMA table_info.
|
|
12
|
-
*/
|
|
13
|
-
export async function up({ context: db }) {
|
|
14
|
-
const columns = db.pragma('table_info(settings)');
|
|
15
|
-
const names = new Set(columns.map((c) => c.name));
|
|
16
|
-
// Step 1: Add new TEXT default_mode column with default 'Fast'
|
|
17
|
-
if (!names.has('default_mode')) {
|
|
18
|
-
db.exec("ALTER TABLE settings ADD COLUMN default_mode TEXT NOT NULL DEFAULT 'Fast'");
|
|
19
|
-
}
|
|
20
|
-
// Step 2: Migrate data from default_fast_mode → default_mode
|
|
21
|
-
if (names.has('default_fast_mode')) {
|
|
22
|
-
db.exec(`
|
|
23
|
-
UPDATE settings
|
|
24
|
-
SET default_mode = CASE
|
|
25
|
-
WHEN default_fast_mode = 1 THEN 'Fast'
|
|
26
|
-
ELSE 'Regular'
|
|
27
|
-
END
|
|
28
|
-
`);
|
|
29
|
-
}
|
|
30
|
-
// Step 3: Drop old default_fast_mode column
|
|
31
|
-
if (names.has('default_fast_mode')) {
|
|
32
|
-
db.exec('ALTER TABLE settings DROP COLUMN default_fast_mode');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export async function down({ context: db }) {
|
|
36
|
-
void db;
|
|
37
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 053: Add exploration_max_iterations column to the settings table.
|
|
3
|
-
*
|
|
4
|
-
* Adds a nullable INTEGER column for the maximum number of feedback iterations
|
|
5
|
-
* in exploration mode. When NULL, the default of 10 is applied at the application layer.
|
|
6
|
-
* Guards against duplicate column using PRAGMA table_info.
|
|
7
|
-
*/
|
|
8
|
-
import type { MigrationParams } from 'umzug';
|
|
9
|
-
import type Database from 'better-sqlite3';
|
|
10
|
-
export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
11
|
-
export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
|
|
12
|
-
//# sourceMappingURL=053-add-exploration-max-iterations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"053-add-exploration-max-iterations.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7F"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Migration 053: Add exploration_max_iterations column to the settings table.
|
|
3
|
-
*
|
|
4
|
-
* Adds a nullable INTEGER column for the maximum number of feedback iterations
|
|
5
|
-
* in exploration mode. When NULL, the default of 10 is applied at the application layer.
|
|
6
|
-
* Guards against duplicate column using PRAGMA table_info.
|
|
7
|
-
*/
|
|
8
|
-
export async function up({ context: db }) {
|
|
9
|
-
const columns = db.pragma('table_info(settings)');
|
|
10
|
-
const names = new Set(columns.map((c) => c.name));
|
|
11
|
-
if (!names.has('exploration_max_iterations')) {
|
|
12
|
-
db.exec('ALTER TABLE settings ADD COLUMN exploration_max_iterations INTEGER');
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export async function down({ context: db }) {
|
|
16
|
-
void db;
|
|
17
|
-
}
|