@shepai/cli 1.129.3 → 1.129.4-pr396.5d604d5
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/FeatureFlags.yaml +5 -0
- package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts +1 -1
- package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +73 -5
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.js +6 -4
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts +28 -0
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js +81 -0
- package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.d.ts +16 -0
- package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/repositories/sync-repository-main.use-case.js +43 -0
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +4 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +15 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/042-add-feature-flag-git-rebase-sync.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/042-add-feature-flag-git-rebase-sync.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/042-add-feature-flag-git-rebase-sync.js +17 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.d.ts +35 -0
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.prompt.js +66 -0
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts +42 -0
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.js +169 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence.node.js +21 -5
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/fast-implement.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/fast-implement.node.js +20 -4
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/implement.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/implement.node.js +71 -10
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +2 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.d.ts +8 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.js +16 -0
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +6 -0
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +134 -0
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +5 -12
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts +1 -0
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-feature-phase-timings.js +1 -0
- package/dist/src/presentation/web/app/actions/rebase-feature.d.ts +5 -0
- package/dist/src/presentation/web/app/actions/rebase-feature.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/rebase-feature.js +16 -0
- package/dist/src/presentation/web/app/actions/sync-repository.d.ts +5 -0
- package/dist/src/presentation/web/app/actions/sync-repository.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/sync-repository.js +16 -0
- 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 +22 -5
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +4 -4
- package/dist/src/presentation/web/components/common/control-center-drawer/use-artifact-fetch.d.ts +2 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/use-artifact-fetch.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/use-artifact-fetch.js +3 -2
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts +4 -0
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.js +32 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +17 -4
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +4 -1
- 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 +3 -3
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts +4 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +8 -3
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +6 -0
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +30 -0
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/open-action-menu/open-action-menu.stories.js +3 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +5 -3
- package/dist/src/presentation/web/components/common/repository-node/repository-node.js +1 -1
- package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.d.ts +4 -0
- package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.js +11 -0
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +3 -0
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +3 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +5 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
- package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
- package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
- package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/feature-flags.js +5 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +63 -48
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
- 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/create/page/server-reference-manifest.json +63 -48
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
- 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 +90 -60
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -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 +90 -60
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -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]/page/server-reference-manifest.json +59 -44
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
- 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)/create/page/server-reference-manifest.json +63 -48
- package/web/.next/server/app/(dashboard)/create/page.js +2 -2
- 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 +90 -60
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -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 +90 -60
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -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 +59 -44
- package/web/.next/server/app/(dashboard)/page.js +2 -2
- 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]/page/server-reference-manifest.json +59 -44
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
- 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 +3 -3
- 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/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
- 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 +8 -8
- 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 +3 -3
- 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/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__bc532286._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.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]__39ecb785._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__39ecb785._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__465c0deb._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__465c0deb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__60684242._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__60684242._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__62cdea24._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b6d1e18._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8b6d1e18._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8f6c27af._.js +6 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8f6c27af._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__910e9de5._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__910e9de5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a04af228._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a04af228._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a21eef5a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a32728d0._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a32728d0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6ab9c36._.js +6 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6ab9c36._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f2eb7d62._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f2eb7d62._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3036814._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3036814._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0020fddd._.js +1 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_01046927._.js +2 -2
- package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6f295a50._.js +3 -0
- package/web/.next/server/chunks/ssr/_6f295a50._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_324f08fa._.js → _b09cd608._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_324f08fa._.js.map → _b09cd608._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.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__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a751c99b._.js +3 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_79c5e358._.js.map → src_presentation_web_a751c99b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -0
- 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_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.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/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +410 -296
- package/web/.next/static/chunks/{a4d0f5c8adbd573e.js → 1469da8ddd6eea90.js} +1 -1
- package/web/.next/static/chunks/1642a69a3baf7820.js +2 -0
- package/web/.next/static/chunks/31ddce9ebee38ab1.css +1 -0
- package/web/.next/static/chunks/{75424b9eb679261a.js → 4aeed32883643436.js} +1 -1
- package/web/.next/static/chunks/{4d40135dc75a7412.js → 74fde105df75b977.js} +1 -1
- package/web/.next/static/chunks/{97778646dde1a546.js → 997a568d8ad04a23.js} +1 -1
- package/web/.next/static/chunks/{ef48a6beeb40b304.js → a063447a4428f722.js} +1 -1
- package/web/.next/static/chunks/{d2b3baac392d5097.js → a495659415f138d6.js} +1 -1
- package/web/.next/static/chunks/{21a98ed37526a704.js → b9e557204db8d0b3.js} +1 -1
- package/web/.next/static/chunks/bfda4e4194a4a633.js +1 -0
- package/web/.next/static/chunks/{140810c2538c85aa.js → df75002e2d1c7531.js} +2 -2
- package/web/.next/static/chunks/{a36ddda5a860c371.js → e5c346dccbba2214.js} +1 -1
- package/web/.next/static/chunks/{d1238d67f4b7fa61.js → f1801a777780b4e9.js} +1 -1
- package/web/.next/static/chunks/{d34a91958ca566fa.js → fb3e66702c475c87.js} +1 -1
- package/web/.next/static/chunks/{d0fb8a76a89bd016.js → febbfdc31eef505b.js} +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +0 -3
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +0 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +0 -3
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +0 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +0 -3
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__755cfe02._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__99ab2519._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__99ab2519._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a628fb91._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bfba58e6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c3ab8422._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_8302fcae._.js +0 -3
- package/web/.next/server/chunks/ssr/_8302fcae._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_79c5e358._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js.map +0 -1
- package/web/.next/static/chunks/da484d44874006a2.css +0 -1
- package/web/.next/static/chunks/dc314fb7519088cf.js +0 -2
- package/web/.next/static/chunks/eb9841ec4d80af01.js +0 -1
- /package/web/.next/static/{8qbj3kELZ61JA30sTIVee → 9XEfk6BBAe6EEGca_Yisr}/_buildManifest.js +0 -0
- /package/web/.next/static/{8qbj3kELZ61JA30sTIVee → 9XEfk6BBAe6EEGca_Yisr}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{8qbj3kELZ61JA30sTIVee → 9XEfk6BBAe6EEGca_Yisr}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},68304,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(91967),i=e.i(22528),o=e.i(51080),s=e.i(85995),a=e.i(87620),l=e.i(66033),u=e.i(36589),c=e.i(13123),f="Tabs",[d,p]=(0,i.createContextScope)(f,[o.createRovingFocusGroupScope]),h=(0,o.createRovingFocusGroupScope)(),[v,y]=d(f),g=r.forwardRef((e,r)=>{let{__scopeTabs:n,value:i,onValueChange:o,defaultValue:s,orientation:d="horizontal",dir:p,activationMode:h="automatic",...y}=e,g=(0,l.useDirection)(p),[m,b]=(0,u.useControllableState)({prop:i,onChange:o,defaultProp:s??"",caller:f});return(0,t.jsx)(v,{scope:n,baseId:(0,c.useId)(),value:m,onValueChange:b,orientation:d,dir:g,activationMode:h,children:(0,t.jsx)(a.Primitive.div,{dir:g,"data-orientation":d,...y,ref:r})})});g.displayName=f;var m="TabsList",b=r.forwardRef((e,r)=>{let{__scopeTabs:n,loop:i=!0,...s}=e,l=y(m,n),u=h(n);return(0,t.jsx)(o.Root,{asChild:!0,...u,orientation:l.orientation,dir:l.dir,loop:i,children:(0,t.jsx)(a.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...s,ref:r})})});b.displayName=m;var x="TabsTrigger",k=r.forwardRef((e,r)=>{let{__scopeTabs:i,value:s,disabled:l=!1,...u}=e,c=y(x,i),f=h(i),d=C(c.baseId,s),p=S(c.baseId,s),v=s===c.value;return(0,t.jsx)(o.Item,{asChild:!0,...f,focusable:!l,active:v,children:(0,t.jsx)(a.Primitive.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":p,"data-state":v?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:d,...u,ref:r,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(s)}),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(s)}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;v||l||!e||c.onValueChange(s)})})})});k.displayName=x;var w="TabsContent",R=r.forwardRef((e,n)=>{let{__scopeTabs:i,value:o,forceMount:l,children:u,...c}=e,f=y(w,i),d=C(f.baseId,o),p=S(f.baseId,o),h=o===f.value,v=r.useRef(h);return r.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(s.Presence,{present:l||h,children:({present:r})=>(0,t.jsx)(a.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":f.orientation,role:"tabpanel","aria-labelledby":d,hidden:!r,id:p,tabIndex:0,...c,ref:n,style:{...e.style,animationDuration:v.current?"0s":void 0},children:r&&u})})});function C(e,t){return`${e}-trigger-${t}`}function S(e,t){return`${e}-content-${t}`}R.displayName=w,e.s(["Content",()=>R,"List",()=>b,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>R,"TabsList",()=>b,"TabsTrigger",()=>k,"Trigger",()=>k,"createTabsScope",()=>p],43133);var E=e.i(43133),E=E,P=e.i(31777);let T=E.Root,j=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(E.List,{ref:n,className:(0,P.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));j.displayName=E.List.displayName;let A=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(E.Trigger,{ref:n,className:(0,P.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...r}));A.displayName=E.Trigger.displayName;let M=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(E.Content,{ref:n,className:(0,P.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...r}));M.displayName=E.Content.displayName,e.s(["Tabs",()=>T,"TabsContent",()=>M,"TabsList",()=>j,"TabsTrigger",()=>A],68304)},10942,94819,e=>{"use strict";var t=e.i(80986);e.s(["CircleCheck",()=>t.default],10942);let r=(0,e.i(3645).default)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Ban",()=>r],94819)},32494,e=>{"use strict";let t=(0,e.i(3645).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],32494)},79687,e=>{"use strict";var t=e.i(14748);e.s(["AlertCircle",()=>t.default])},39443,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let n=(0,e.i(18354).createLogger)("[SSE]");function i(e,t,r,n){if("u"<typeof EventSource)return()=>{};let i=null,o=!1,s=1e3,a=null,l=null;return!function u(){o||(i=new EventSource(e?`/api/agent-events?runId=${encodeURIComponent(e)}`:"/api/agent-events"),n("connecting"),i.onopen=()=>{n("connected"),l=setTimeout(()=>{l=null,s=1e3},5e3)},i.onerror=()=>{i?.close(),i=null,n("disconnected"),null!==l&&(clearTimeout(l),l=null);let e=s;s=Math.min(2*e,3e4),a=setTimeout(()=>{a=null,u()},e)},i.addEventListener("notification",e=>{let n=JSON.parse(e.data);t(e=>{let t=[...e,n];return t.length>500?t.slice(-250):t}),r(n)}))}(),()=>{o=!0,null!==a&&(clearTimeout(a),a=null),null!==l&&(clearTimeout(l),l=null),i&&(i.close(),i=null)}}let o=(0,r.createContext)(null);function s({children:e,runId:s}){let{events:a,lastEvent:l,connectionStatus:u}=function(e){let[t,o]=(0,r.useState)([]),[s,a]=(0,r.useState)(null),[l,u]=(0,r.useState)("disconnected"),c=e?.runId,f=(0,r.useRef)(null),d=(0,r.useCallback)(e=>{let t=e.data;if(t&&"object"==typeof t)if("notification"===t.type){let e=t.data;n.debug("event received:",e.eventType,e),o(t=>{let r=[...t,e];return r.length>500?r.slice(-250):r}),a(e)}else"status"===t.type&&u(t.status)},[]);return(0,r.useEffect)(()=>{let e="u">typeof location&&new URLSearchParams(location.search).has("sse");if(!navigator.serviceWorker||e)return i(c,o,a,u);let t=!1,r={current:void 0};function n(e){t||(f.current=e,e.postMessage({type:"subscribe",runId:c}),u("connecting"))}function s(){if(t)return;let e=navigator.serviceWorker.controller;e&&(f.current=e,e.postMessage({type:"subscribe",runId:c}),u("connecting"))}return navigator.serviceWorker.addEventListener("message",d),navigator.serviceWorker.addEventListener("controllerchange",s),navigator.serviceWorker.register("/agent-events-sw.js",{scope:"/"}).then(e=>{if(t)return;let s=e.active??e.installing??e.waiting;if(!s){r.current=i(c,o,a,u);return}if("activated"===s.state)n(s);else{let e=()=>{"activated"===s.state&&(s.removeEventListener("statechange",e),n(s))};s.addEventListener("statechange",e)}}).catch(()=>{t||(r.current=i(c,o,a,u))}),()=>{t=!0,navigator.serviceWorker.removeEventListener("message",d),navigator.serviceWorker.removeEventListener("controllerchange",s),f.current?.postMessage({type:"unsubscribe"}),f.current=null,r.current?.()}},[c,d]),{events:t,lastEvent:s,connectionStatus:l}}({runId:s}),c=(0,r.useMemo)(()=>({events:a,lastEvent:l,connectionStatus:u}),[a,l,u]);return(0,t.jsx)(o.Provider,{value:c,children:e})}function a(){let e=(0,r.useContext)(o);if(!e)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return e}e.s(["AgentEventsProvider",()=>s,"useAgentEventsContext",()=>a],39443)},3214,e=>{"use strict";let t=(0,e.i(3645).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],3214)},81975,e=>{"use strict";let t=(0,e.i(3645).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["Wrench",()=>t],81975)},80986,e=>{"use strict";let t=(0,e.i(3645).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>t])},30090,e=>{"use strict";let t=(0,e.i(3645).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["default",()=>t])},54277,e=>{"use strict";var t=e.i(30090);e.s(["CircleX",()=>t.default])},51080,e=>{"use strict";var t=e.i(79054),r=e.i(91967),n=e.i(87342),i=e.i(5978),o=e.i(22528),s=e.i(13123),a=e.i(87620),l=e.i(29297),u=e.i(36589),c=e.i(66033),f=e.i(20314),d="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[v,y,g]=(0,n.createCollection)(h),[m,b]=(0,o.createContextScope)(h,[g]),[x,k]=m(h),w=t.forwardRef((e,t)=>(0,f.jsx)(v.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(v.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(R,{...e,ref:t})})}));w.displayName=h;var R=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,orientation:s,loop:v=!1,dir:g,currentTabStopId:m,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:k,onEntryFocus:w,preventScrollOnEntryFocus:R=!1,...C}=e,S=t.useRef(null),E=(0,i.useComposedRefs)(n,S),T=(0,c.useDirection)(g),[j,A]=(0,u.useControllableState)({prop:m,defaultProp:b??null,onChange:k,caller:h}),[M,O]=t.useState(!1),I=(0,l.useCallbackRef)(w),L=y(o),N=t.useRef(!1),[F,_]=t.useState(0);return t.useEffect(()=>{let e=S.current;if(e)return e.addEventListener(d,I),()=>e.removeEventListener(d,I)},[I]),(0,f.jsx)(x,{scope:o,orientation:s,dir:T,loop:v,currentTabStopId:j,onItemFocus:t.useCallback(e=>A(e),[A]),onItemShiftTab:t.useCallback(()=>O(!0),[]),onFocusableItemAdd:t.useCallback(()=>_(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>_(e=>e-1),[]),children:(0,f.jsx)(a.Primitive.div,{tabIndex:M||0===F?-1:0,"data-orientation":s,...C,ref:E,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{N.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!M){let t=new CustomEvent(d,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=L().filter(e=>e.focusable);P([e.find(e=>e.active),e.find(e=>e.id===j),...e].filter(Boolean).map(e=>e.ref.current),R)}}N.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>O(!1))})})}),C="RovingFocusGroupItem",S=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:i,focusable:o=!0,active:l=!1,tabStopId:u,children:c,...d}=e,p=(0,s.useId)(),h=u||p,g=k(C,i),m=g.currentTabStopId===h,b=y(i),{onFocusableItemAdd:x,onFocusableItemRemove:w,currentTabStopId:R}=g;return t.useEffect(()=>{if(o)return x(),()=>w()},[o,x,w]),(0,f.jsx)(v.ItemSlot,{scope:i,id:h,focusable:o,active:l,children:(0,f.jsx)(a.Primitive.span,{tabIndex:m?0:-1,"data-orientation":g.orientation,...d,ref:n,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{o?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let i=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return E[i]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&i.reverse();let o=i.indexOf(e.currentTarget);i=g.loop?(r=i,n=o+1,r.map((e,t)=>r[(n+t)%r.length])):i.slice(o+1)}setTimeout(()=>P(i))}}),children:"function"==typeof c?c({isCurrentTabStop:m,hasTabStop:null!=R}):c})})});S.displayName=C;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function P(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>S,"Root",()=>w,"createRovingFocusGroupScope",()=>b])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},66033,e=>{"use strict";var t=e.i(79054);e.i(20314);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])},87342,e=>{"use strict";var t=e.i(79054),r=e.i(22528),n=e.i(5978),i=e.i(86874),o=e.i(20314);function s(e){let s=e+"CollectionProvider",[a,l]=(0,r.createContextScope)(s),[u,c]=a(s,{collectionRef:{current:null},itemMap:new Map}),f=e=>{let{scope:r,children:n}=e,i=t.default.useRef(null),s=t.default.useRef(new Map).current;return(0,o.jsx)(u,{scope:r,itemMap:s,collectionRef:i,children:n})};f.displayName=s;let d=e+"CollectionSlot",p=(0,i.createSlot)(d),h=t.default.forwardRef((e,t)=>{let{scope:r,children:i}=e,s=c(d,r),a=(0,n.useComposedRefs)(t,s.collectionRef);return(0,o.jsx)(p,{ref:a,children:i})});h.displayName=d;let v=e+"CollectionItemSlot",y="data-radix-collection-item",g=(0,i.createSlot)(v),m=t.default.forwardRef((e,r)=>{let{scope:i,children:s,...a}=e,l=t.default.useRef(null),u=(0,n.useComposedRefs)(r,l),f=c(v,i);return t.default.useEffect(()=>(f.itemMap.set(l,{ref:l,...a}),()=>void f.itemMap.delete(l))),(0,o.jsx)(g,{...{[y]:""},ref:u,children:s})});return m.displayName=v,[{Provider:f,Slot:h,ItemSlot:m},function(r){let n=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${y}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},l]}var a=new WeakMap;function l(e,t){var r,n;let i,o,s;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let a=(r=e,n=t,i=r.length,(s=(o=u(n))>=0?o:i+o)<0||s>=i?-1:s);return -1===a?void 0:e[a]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],a.set(this,!0)}set(e,t){return a.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,i=this.has(t),o=this.#e.length,s=u(e),a=s>=0?s:o+s,l=a<0||a>=o?-1:a;if(l===this.size||i&&l===this.size-1||-1===l)return this.set(t,r),this;let c=this.size+ +!i;s<0&&a++;let f=[...this.#e],d=!1;for(let e=a;e<c;e++)if(a===e){let o=f[e];f[e]===t&&(o=f[e+1]),i&&this.delete(t),n=this.get(o),this.set(t,r)}else{d||f[e-1]!==t||(d=!0);let r=f[d?e:e-1],i=n;n=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,n){let i=new e(this);return i.insert(t,r,n),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=l(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=l(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return l(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&n.push(e),i++;return new e(n)}map(t,r){let n=[],i=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(n)}reduce(...e){let[t,r]=e,n=0,i=r??this.at(0);for(let r of this)i=0===n&&1===e.length?r:Reflect.apply(t,this,[i,r,n,this]),n++;return i}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);n=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[n,i,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,i=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>s])},27069,e=>{"use strict";function t(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["clamp",()=>t])},78521,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("00d96a34729ed5633372e1bd544ffdb39b4ca29e56",t.callServer,void 0,t.findSourceMapURL,"pickFolder");async function n(){let e=await r();if(e.error)throw Error(e.error);return e.path}e.s(["pickFolder",()=>n],78521)},91925,e=>{"use strict";let t=(0,e.i(3645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],91925)},82569,5147,e=>{"use strict";let t=(0,e.i(3645).default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);e.s(["Github",()=>t],82569);var r=e.i(20314),n=e.i(79054);let i={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"blocked",pending:"pending",error:"error",creating:null,deleting:null};function o(e){return i[e]}let s=(0,n.createContext)(null);function a({children:e}){let[t,i]=(0,n.useState)([]),[o,a]=(0,n.useState)(!1),l=(0,n.useMemo)(()=>({features:t,setFeatures:i,hasRepositories:o,setHasRepositories:a}),[t,o]);return(0,r.jsx)(s.Provider,{value:l,children:e})}function l(){let e=(0,n.useContext)(s);if(!e)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return e}e.s(["SidebarFeaturesProvider",()=>a,"mapNodeStateToSidebarStatus",()=>o,"useSidebarFeaturesContext",()=>l],5147)},98127,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function n({className:e,type:n,...i}){return(0,t.jsx)("input",{type:n,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...i})}e.s(["Input",()=>n])},66459,e=>{"use strict";let t=(0,e.i(3645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],66459)},12103,e=>{"use strict";let t=(0,e.i(3645).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",()=>t],12103)},76314,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95889,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(44066)._(e.r(76314)),s=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",a=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==u?(u="//"+(u||""),i&&"/"!==i[0]&&(i="/"+i)):u||(u=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${i}${c}${a}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},58464,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return x},NormalizeError:function(){return m},PageNotFoundError:function(){return b},SP:function(){return v},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return f},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>a.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let v="u">typeof performance,y=v&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},51380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(58464),i=e.r(53626);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},38670,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},24035,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return b}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(44066),s=e.r(20314),a=o._(e.r(79054)),l=e.r(95889),u=e.r(18152),c=e.r(80764),f=e.r(58464),d=e.r(99267);e.r(24270);let p=e.r(59624),h=e.r(51380),v=e.r(95555);function y(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let n,i,o,[l,g]=(0,a.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,a.useRef)(null),{href:x,as:k,children:w,prefetch:R=null,passHref:C,replace:S,shallow:E,scroll:P,onClick:T,onMouseEnter:j,onTouchStart:A,legacyBehavior:M=!1,onNavigate:O,ref:I,unstable_dynamicOnHover:L,...N}=t;n=w,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,s.jsx)("a",{children:n}));let F=a.default.useContext(u.AppRouterContext),_=!1!==R,z=!1!==R?null===(r=R)||"auto"===r?v.FetchStrategy.PPR:v.FetchStrategy.Full:v.FetchStrategy.PPR,{href:D,as:U}=a.default.useMemo(()=>{let e=y(x);return{href:e,as:k?y(k):e}},[x,k]);if(M){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=a.default.Children.only(n)}let $=M?i&&"object"==typeof i&&i.ref:I,K=a.default.useCallback(e=>(null!==F&&(b.current=(0,p.mountLinkInstance)(e,D,F,z,_,g)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[_,D,F,z,g]),B={ref:(0,c.useMergedRef)(K,$),onClick(t){M||"function"!=typeof T||T(t),M&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!F||t.defaultPrevented||function(t,r,n,i,o,s,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(81574);a.default.startTransition(()=>{f(n||r,o?"replace":"push",s??!0,i.current)})}}(t,D,U,b,S,P,O)},onMouseEnter(e){M||"function"!=typeof j||j(e),M&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),F&&_&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){M||"function"!=typeof A||A(e),M&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),F&&_&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,f.isAbsoluteUrl)(U)?B.href=U:M&&!C&&("a"!==i.type||"href"in i.props)||(B.href=(0,d.addBasePath)(U)),o=M?a.default.cloneElement(i,B):(0,s.jsx)("a",{...N,...B,children:n}),(0,s.jsx)(m.Provider,{value:l,children:o})}e.r(38670);let m=(0,a.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(m);("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)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},68304,e=>{"use strict";var t=e.i(20314),r=e.i(79054),n=e.i(91967),i=e.i(22528),o=e.i(51080),s=e.i(85995),a=e.i(87620),l=e.i(66033),u=e.i(36589),c=e.i(13123),f="Tabs",[d,p]=(0,i.createContextScope)(f,[o.createRovingFocusGroupScope]),h=(0,o.createRovingFocusGroupScope)(),[v,y]=d(f),g=r.forwardRef((e,r)=>{let{__scopeTabs:n,value:i,onValueChange:o,defaultValue:s,orientation:d="horizontal",dir:p,activationMode:h="automatic",...y}=e,g=(0,l.useDirection)(p),[m,b]=(0,u.useControllableState)({prop:i,onChange:o,defaultProp:s??"",caller:f});return(0,t.jsx)(v,{scope:n,baseId:(0,c.useId)(),value:m,onValueChange:b,orientation:d,dir:g,activationMode:h,children:(0,t.jsx)(a.Primitive.div,{dir:g,"data-orientation":d,...y,ref:r})})});g.displayName=f;var m="TabsList",b=r.forwardRef((e,r)=>{let{__scopeTabs:n,loop:i=!0,...s}=e,l=y(m,n),u=h(n);return(0,t.jsx)(o.Root,{asChild:!0,...u,orientation:l.orientation,dir:l.dir,loop:i,children:(0,t.jsx)(a.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...s,ref:r})})});b.displayName=m;var x="TabsTrigger",k=r.forwardRef((e,r)=>{let{__scopeTabs:i,value:s,disabled:l=!1,...u}=e,c=y(x,i),f=h(i),d=C(c.baseId,s),p=S(c.baseId,s),v=s===c.value;return(0,t.jsx)(o.Item,{asChild:!0,...f,focusable:!l,active:v,children:(0,t.jsx)(a.Primitive.button,{type:"button",role:"tab","aria-selected":v,"aria-controls":p,"data-state":v?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:d,...u,ref:r,onMouseDown:(0,n.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(s)}),onKeyDown:(0,n.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(s)}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;v||l||!e||c.onValueChange(s)})})})});k.displayName=x;var w="TabsContent",R=r.forwardRef((e,n)=>{let{__scopeTabs:i,value:o,forceMount:l,children:u,...c}=e,f=y(w,i),d=C(f.baseId,o),p=S(f.baseId,o),h=o===f.value,v=r.useRef(h);return r.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(s.Presence,{present:l||h,children:({present:r})=>(0,t.jsx)(a.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":f.orientation,role:"tabpanel","aria-labelledby":d,hidden:!r,id:p,tabIndex:0,...c,ref:n,style:{...e.style,animationDuration:v.current?"0s":void 0},children:r&&u})})});function C(e,t){return`${e}-trigger-${t}`}function S(e,t){return`${e}-content-${t}`}R.displayName=w,e.s(["Content",()=>R,"List",()=>b,"Root",()=>g,"Tabs",()=>g,"TabsContent",()=>R,"TabsList",()=>b,"TabsTrigger",()=>k,"Trigger",()=>k,"createTabsScope",()=>p],43133);var E=e.i(43133),E=E,P=e.i(31777);let T=E.Root,j=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(E.List,{ref:n,className:(0,P.cn)("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1",e),...r}));j.displayName=E.List.displayName;let A=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(E.Trigger,{ref:n,className:(0,P.cn)("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow",e),...r}));A.displayName=E.Trigger.displayName;let M=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(E.Content,{ref:n,className:(0,P.cn)("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",e),...r}));M.displayName=E.Content.displayName,e.s(["Tabs",()=>T,"TabsContent",()=>M,"TabsList",()=>j,"TabsTrigger",()=>A],68304)},10942,94819,e=>{"use strict";var t=e.i(80986);e.s(["CircleCheck",()=>t.default],10942);let r=(0,e.i(3645).default)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Ban",()=>r],94819)},32494,e=>{"use strict";let t=(0,e.i(3645).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],32494)},79687,e=>{"use strict";var t=e.i(14748);e.s(["AlertCircle",()=>t.default])},39443,e=>{"use strict";var t=e.i(20314),r=e.i(79054);let n=(0,e.i(18354).createLogger)("[SSE]");function i(e,t,r,n){if("u"<typeof EventSource)return()=>{};let i=null,o=!1,s=1e3,a=null,l=null;return!function u(){o||(i=new EventSource(e?`/api/agent-events?runId=${encodeURIComponent(e)}`:"/api/agent-events"),n("connecting"),i.onopen=()=>{n("connected"),l=setTimeout(()=>{l=null,s=1e3},5e3)},i.onerror=()=>{i?.close(),i=null,n("disconnected"),null!==l&&(clearTimeout(l),l=null);let e=s;s=Math.min(2*e,3e4),a=setTimeout(()=>{a=null,u()},e)},i.addEventListener("notification",e=>{let n=JSON.parse(e.data);t(e=>{let t=[...e,n];return t.length>500?t.slice(-250):t}),r(n)}))}(),()=>{o=!0,null!==a&&(clearTimeout(a),a=null),null!==l&&(clearTimeout(l),l=null),i&&(i.close(),i=null)}}let o=(0,r.createContext)(null);function s({children:e,runId:s}){let{events:a,lastEvent:l,connectionStatus:u}=function(e){let[t,o]=(0,r.useState)([]),[s,a]=(0,r.useState)(null),[l,u]=(0,r.useState)("disconnected"),c=e?.runId,f=(0,r.useRef)(null),d=(0,r.useCallback)(e=>{let t=e.data;if(t&&"object"==typeof t)if("notification"===t.type){let e=t.data;n.debug("event received:",e.eventType,e),o(t=>{let r=[...t,e];return r.length>500?r.slice(-250):r}),a(e)}else"status"===t.type&&u(t.status)},[]);return(0,r.useEffect)(()=>{let e="u">typeof location&&new URLSearchParams(location.search).has("sse");if(!navigator.serviceWorker||e)return i(c,o,a,u);let t=!1,r={current:void 0};function n(e){t||(f.current=e,e.postMessage({type:"subscribe",runId:c}),u("connecting"))}function s(){if(t)return;let e=navigator.serviceWorker.controller;e&&(f.current=e,e.postMessage({type:"subscribe",runId:c}),u("connecting"))}return navigator.serviceWorker.addEventListener("message",d),navigator.serviceWorker.addEventListener("controllerchange",s),navigator.serviceWorker.register("/agent-events-sw.js",{scope:"/"}).then(e=>{if(t)return;let s=e.active??e.installing??e.waiting;if(!s){r.current=i(c,o,a,u);return}if("activated"===s.state)n(s);else{let e=()=>{"activated"===s.state&&(s.removeEventListener("statechange",e),n(s))};s.addEventListener("statechange",e)}}).catch(()=>{t||(r.current=i(c,o,a,u))}),()=>{t=!0,navigator.serviceWorker.removeEventListener("message",d),navigator.serviceWorker.removeEventListener("controllerchange",s),f.current?.postMessage({type:"unsubscribe"}),f.current=null,r.current?.()}},[c,d]),{events:t,lastEvent:s,connectionStatus:l}}({runId:s}),c=(0,r.useMemo)(()=>({events:a,lastEvent:l,connectionStatus:u}),[a,l,u]);return(0,t.jsx)(o.Provider,{value:c,children:e})}function a(){let e=(0,r.useContext)(o);if(!e)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return e}e.s(["AgentEventsProvider",()=>s,"useAgentEventsContext",()=>a],39443)},3214,e=>{"use strict";let t=(0,e.i(3645).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],3214)},81975,e=>{"use strict";let t=(0,e.i(3645).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["Wrench",()=>t],81975)},80986,e=>{"use strict";let t=(0,e.i(3645).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>t])},30090,e=>{"use strict";let t=(0,e.i(3645).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["default",()=>t])},54277,e=>{"use strict";var t=e.i(30090);e.s(["CircleX",()=>t.default])},51080,e=>{"use strict";var t=e.i(79054),r=e.i(91967),n=e.i(87342),i=e.i(5978),o=e.i(22528),s=e.i(13123),a=e.i(87620),l=e.i(29297),u=e.i(36589),c=e.i(66033),f=e.i(20314),d="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[v,y,g]=(0,n.createCollection)(h),[m,b]=(0,o.createContextScope)(h,[g]),[x,k]=m(h),w=t.forwardRef((e,t)=>(0,f.jsx)(v.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(v.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(R,{...e,ref:t})})}));w.displayName=h;var R=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,orientation:s,loop:v=!1,dir:g,currentTabStopId:m,defaultCurrentTabStopId:b,onCurrentTabStopIdChange:k,onEntryFocus:w,preventScrollOnEntryFocus:R=!1,...C}=e,S=t.useRef(null),E=(0,i.useComposedRefs)(n,S),T=(0,c.useDirection)(g),[j,A]=(0,u.useControllableState)({prop:m,defaultProp:b??null,onChange:k,caller:h}),[M,O]=t.useState(!1),I=(0,l.useCallbackRef)(w),L=y(o),N=t.useRef(!1),[F,_]=t.useState(0);return t.useEffect(()=>{let e=S.current;if(e)return e.addEventListener(d,I),()=>e.removeEventListener(d,I)},[I]),(0,f.jsx)(x,{scope:o,orientation:s,dir:T,loop:v,currentTabStopId:j,onItemFocus:t.useCallback(e=>A(e),[A]),onItemShiftTab:t.useCallback(()=>O(!0),[]),onFocusableItemAdd:t.useCallback(()=>_(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>_(e=>e-1),[]),children:(0,f.jsx)(a.Primitive.div,{tabIndex:M||0===F?-1:0,"data-orientation":s,...C,ref:E,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{N.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!M){let t=new CustomEvent(d,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=L().filter(e=>e.focusable);P([e.find(e=>e.active),e.find(e=>e.id===j),...e].filter(Boolean).map(e=>e.ref.current),R)}}N.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>O(!1))})})}),C="RovingFocusGroupItem",S=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:i,focusable:o=!0,active:l=!1,tabStopId:u,children:c,...d}=e,p=(0,s.useId)(),h=u||p,g=k(C,i),m=g.currentTabStopId===h,b=y(i),{onFocusableItemAdd:x,onFocusableItemRemove:w,currentTabStopId:R}=g;return t.useEffect(()=>{if(o)return x(),()=>w()},[o,x,w]),(0,f.jsx)(v.ItemSlot,{scope:i,id:h,focusable:o,active:l,children:(0,f.jsx)(a.Primitive.span,{tabIndex:m?0:-1,"data-orientation":g.orientation,...d,ref:n,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{o?g.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void g.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let i=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return E[i]}(e,g.orientation,g.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=b().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&i.reverse();let o=i.indexOf(e.currentTarget);i=g.loop?(r=i,n=o+1,r.map((e,t)=>r[(n+t)%r.length])):i.slice(o+1)}setTimeout(()=>P(i))}}),children:"function"==typeof c?c({isCurrentTabStop:m,hasTabStop:null!=R}):c})})});S.displayName=C;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function P(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>S,"Root",()=>w,"createRovingFocusGroupScope",()=>b])},49228,e=>{"use strict";let t=(0,e.i(3645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],49228)},66033,e=>{"use strict";var t=e.i(79054);e.i(20314);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])},87342,e=>{"use strict";var t=e.i(79054),r=e.i(22528),n=e.i(5978),i=e.i(86874),o=e.i(20314);function s(e){let s=e+"CollectionProvider",[a,l]=(0,r.createContextScope)(s),[u,c]=a(s,{collectionRef:{current:null},itemMap:new Map}),f=e=>{let{scope:r,children:n}=e,i=t.default.useRef(null),s=t.default.useRef(new Map).current;return(0,o.jsx)(u,{scope:r,itemMap:s,collectionRef:i,children:n})};f.displayName=s;let d=e+"CollectionSlot",p=(0,i.createSlot)(d),h=t.default.forwardRef((e,t)=>{let{scope:r,children:i}=e,s=c(d,r),a=(0,n.useComposedRefs)(t,s.collectionRef);return(0,o.jsx)(p,{ref:a,children:i})});h.displayName=d;let v=e+"CollectionItemSlot",y="data-radix-collection-item",g=(0,i.createSlot)(v),m=t.default.forwardRef((e,r)=>{let{scope:i,children:s,...a}=e,l=t.default.useRef(null),u=(0,n.useComposedRefs)(r,l),f=c(v,i);return t.default.useEffect(()=>(f.itemMap.set(l,{ref:l,...a}),()=>void f.itemMap.delete(l))),(0,o.jsx)(g,{...{[y]:""},ref:u,children:s})});return m.displayName=v,[{Provider:f,Slot:h,ItemSlot:m},function(r){let n=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${y}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},l]}var a=new WeakMap;function l(e,t){var r,n;let i,o,s;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let a=(r=e,n=t,i=r.length,(s=(o=u(n))>=0?o:i+o)<0||s>=i?-1:s);return -1===a?void 0:e[a]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],a.set(this,!0)}set(e,t){return a.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,i=this.has(t),o=this.#e.length,s=u(e),a=s>=0?s:o+s,l=a<0||a>=o?-1:a;if(l===this.size||i&&l===this.size-1||-1===l)return this.set(t,r),this;let c=this.size+ +!i;s<0&&a++;let f=[...this.#e],d=!1;for(let e=a;e<c;e++)if(a===e){let o=f[e];f[e]===t&&(o=f[e+1]),i&&this.delete(t),n=this.get(o),this.set(t,r)}else{d||f[e-1]!==t||(d=!0);let r=f[d?e:e-1],i=n;n=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,n){let i=new e(this);return i.insert(t,r,n),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=l(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=l(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return l(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&n.push(e),i++;return new e(n)}map(t,r){let n=[],i=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(n)}reduce(...e){let[t,r]=e,n=0,i=r??this.at(0);for(let r of this)i=0===n&&1===e.length?r:Reflect.apply(t,this,[i,r,n,this]),n++;return i}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);n=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[n,i,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,i=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>s])},27069,e=>{"use strict";function t(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["clamp",()=>t])},78521,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("002fb1be73d30cc3d301ba4d717ddc895f8a99cc94",t.callServer,void 0,t.findSourceMapURL,"pickFolder");async function n(){let e=await r();if(e.error)throw Error(e.error);return e.path}e.s(["pickFolder",()=>n],78521)},91925,e=>{"use strict";let t=(0,e.i(3645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],91925)},82569,5147,e=>{"use strict";let t=(0,e.i(3645).default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);e.s(["Github",()=>t],82569);var r=e.i(20314),n=e.i(79054);let i={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"blocked",pending:"pending",error:"error",creating:null,deleting:null};function o(e){return i[e]}let s=(0,n.createContext)(null);function a({children:e}){let[t,i]=(0,n.useState)([]),[o,a]=(0,n.useState)(!1),l=(0,n.useMemo)(()=>({features:t,setFeatures:i,hasRepositories:o,setHasRepositories:a}),[t,o]);return(0,r.jsx)(s.Provider,{value:l,children:e})}function l(){let e=(0,n.useContext)(s);if(!e)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return e}e.s(["SidebarFeaturesProvider",()=>a,"mapNodeStateToSidebarStatus",()=>o,"useSidebarFeaturesContext",()=>l],5147)},98127,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function n({className:e,type:n,...i}){return(0,t.jsx)("input",{type:n,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...i})}e.s(["Input",()=>n])},66459,e=>{"use strict";let t=(0,e.i(3645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],66459)},12103,e=>{"use strict";let t=(0,e.i(3645).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",()=>t],12103)},76314,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95889,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(44066)._(e.r(76314)),s=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",a=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==u?(u="//"+(u||""),i&&"/"!==i[0]&&(i="/"+i)):u||(u=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${i}${c}${a}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return a(e)}},58464,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return x},NormalizeError:function(){return m},PageNotFoundError:function(){return b},SP:function(){return v},ST:function(){return y},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return f},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>a.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let v="u">typeof performance,y=v&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},51380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(58464),i=e.r(53626);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},38670,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},24035,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return b}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(44066),s=e.r(20314),a=o._(e.r(79054)),l=e.r(95889),u=e.r(18152),c=e.r(80764),f=e.r(58464),d=e.r(99267);e.r(24270);let p=e.r(59624),h=e.r(51380),v=e.r(95555);function y(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let n,i,o,[l,g]=(0,a.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,a.useRef)(null),{href:x,as:k,children:w,prefetch:R=null,passHref:C,replace:S,shallow:E,scroll:P,onClick:T,onMouseEnter:j,onTouchStart:A,legacyBehavior:M=!1,onNavigate:O,ref:I,unstable_dynamicOnHover:L,...N}=t;n=w,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,s.jsx)("a",{children:n}));let F=a.default.useContext(u.AppRouterContext),_=!1!==R,z=!1!==R?null===(r=R)||"auto"===r?v.FetchStrategy.PPR:v.FetchStrategy.Full:v.FetchStrategy.PPR,{href:D,as:U}=a.default.useMemo(()=>{let e=y(x);return{href:e,as:k?y(k):e}},[x,k]);if(M){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=a.default.Children.only(n)}let $=M?i&&"object"==typeof i&&i.ref:I,K=a.default.useCallback(e=>(null!==F&&(b.current=(0,p.mountLinkInstance)(e,D,F,z,_,g)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[_,D,F,z,g]),B={ref:(0,c.useMergedRef)(K,$),onClick(t){M||"function"!=typeof T||T(t),M&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!F||t.defaultPrevented||function(t,r,n,i,o,s,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(81574);a.default.startTransition(()=>{f(n||r,o?"replace":"push",s??!0,i.current)})}}(t,D,U,b,S,P,O)},onMouseEnter(e){M||"function"!=typeof j||j(e),M&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),F&&_&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){M||"function"!=typeof A||A(e),M&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),F&&_&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,f.isAbsoluteUrl)(U)?B.href=U:M&&!C&&("a"!==i.type||"href"in i.props)||(B.href=(0,d.addBasePath)(U)),o=M?a.default.cloneElement(i,B):(0,s.jsx)("a",{...N,...B,children:n}),(0,s.jsx)(m.Provider,{value:l,children:o})}e.r(38670);let m=(0,a.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(m);("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)}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[70500,a=>{"use strict";var b=a.i(12513),c=a.i(73101),d=a.i(65324),e=a.i(33841),f=a.i(46646),g=a.i(68670),h=a.i(85321),i=a.i(84095),j=a.i(56799),k=a.i(80496),l=a.i(94691),m=a.i(41872),n=a.i(9959),o=a.i(23504),p=a.i(27900),q=a.i(50845),r=a.i(26604),s=a.i(54723),t=a.i(18942),u=a.i(49560),v=a.i(39353),w=a.i(29207),x=a.i(92658),y=a.i(96380),z=a.i(12581);async function A(a){let{branchName:b,repositoryPath:c}=a;if(!b?.trim())return{error:"Branch name is required"};if(!c?.trim())return{error:"Repository path is required"};try{let a=(0,y.resolve)("AdoptBranchUseCase");return{feature:(await a.execute({branchName:b,repositoryPath:c})).feature}}catch(a){return{error:a instanceof Error?a.message:"Failed to adopt branch"}}}async function B(a){if(!a?.trim())return[];try{let b=(0,y.resolve)("IWorktreeService");return await b.listBranches(a)}catch{return[]}}(0,z.ensureServerEntryExports)([A]),(0,x.registerServerReference)(A,"40ec5283ff233228a92408825df394ec32f982f28d",null),(0,z.ensureServerEntryExports)([B]),(0,x.registerServerReference)(B,"40e11e6d8bdca1fb34394743d030c8410ec2f1e097",null),a.s([],80106),a.i(80106),a.s(["0029717d586a3ccff31d1c60b603e278dfc31e0316",()=>n.checkAgentAuth,"009b5b35105507d1cdfb56593dbb0996938f42f059",()=>m.isAgentSetupComplete,"00d96a34729ed5633372e1bd544ffdb39b4ca29e56",()=>b.pickFolder,"00e601010536bd09f231c963a14e2b6f64ce22c06c",()=>o.getAllAgentModels,"4034be93f330af78d856628a9ba3b414066e564ccf",()=>e.deployFeature,"403f5ed8462e450071414167cf27d6eeb1048a36e0",()=>w.getFeatureMetadata,"4042ee8d3715988e287c0f6b2c7f815230f43bc954",()=>v.deleteRepository,"40484664471ef0cb22a20a3225d11bd3028b0883a6",()=>c.listGitHubRepositories,"406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d",()=>h.getDeploymentStatus,"40710d870101f1510327d157746477b078d2e29926",()=>r.resumeFeature,"40735a0481fdca2463aa08cfd7f431661dc389d80f",()=>f.deployRepository,"407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e",()=>k.openFolder,"407fcfcdabc779597832e0b3b1c614d12670e51885",()=>d.importGitHubRepository,"408d12c2dd281b16d6e6b576486e1d1701c0f65a74",()=>j.openShell,"40981154352488d908a63de659d7132cc74ccf7720",()=>g.stopDeployment,"40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac",()=>t.stopFeature,"40a7e96351418e768354c2f7087009e428d24d68f9",()=>u.addRepository,"40aad7b781e2cfe61d1d3621b88eb36f26abb633b7",()=>s.startFeature,"40dc0ea2e4c57b47a9276cb40f224c95ef81662595",()=>l.getDeploymentLogs,"40e11e6d8bdca1fb34394743d030c8410ec2f1e097",()=>B,"40ec5283ff233228a92408825df394ec32f982f28d",()=>A,"40f0a55d32d2697506f0c9918b457ce71915c4f839",()=>i.openIde,"607280abfc80dd6156d653dd49c4b99f3ede5f6c33",()=>p.updateAgentAndModel,"7845d699799c3ea150236d58fe3605cdf17f863aee",()=>q.deleteFeature],70500)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=744ca_web__next-internal_server_app_%28dashboard%29_%40drawer_adopt_page_actions_4e741df2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/adopt/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/adopt-branch.ts","../../../../../../../src/presentation/web/app/actions/list-branches.ts"],"sourcesContent":["export {pickFolder as '00d96a34729ed5633372e1bd544ffdb39b4ca29e56'} from 'ACTIONS_MODULE0'\nexport {listGitHubRepositories as '40484664471ef0cb22a20a3225d11bd3028b0883a6'} from 'ACTIONS_MODULE1'\nexport {importGitHubRepository as '407fcfcdabc779597832e0b3b1c614d12670e51885'} from 'ACTIONS_MODULE2'\nexport {deployFeature as '4034be93f330af78d856628a9ba3b414066e564ccf'} from 'ACTIONS_MODULE3'\nexport {deployRepository as '40735a0481fdca2463aa08cfd7f431661dc389d80f'} from 'ACTIONS_MODULE4'\nexport {stopDeployment as '40981154352488d908a63de659d7132cc74ccf7720'} from 'ACTIONS_MODULE5'\nexport {getDeploymentStatus as '406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d'} from 'ACTIONS_MODULE6'\nexport {openIde as '40f0a55d32d2697506f0c9918b457ce71915c4f839'} from 'ACTIONS_MODULE7'\nexport {openShell as '408d12c2dd281b16d6e6b576486e1d1701c0f65a74'} from 'ACTIONS_MODULE8'\nexport {openFolder as '407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e'} from 'ACTIONS_MODULE9'\nexport {getDeploymentLogs as '40dc0ea2e4c57b47a9276cb40f224c95ef81662595'} from 'ACTIONS_MODULE10'\nexport {isAgentSetupComplete as '009b5b35105507d1cdfb56593dbb0996938f42f059'} from 'ACTIONS_MODULE11'\nexport {checkAgentAuth as '0029717d586a3ccff31d1c60b603e278dfc31e0316'} from 'ACTIONS_MODULE12'\nexport {getAllAgentModels as '00e601010536bd09f231c963a14e2b6f64ce22c06c'} from 'ACTIONS_MODULE13'\nexport {updateAgentAndModel as '607280abfc80dd6156d653dd49c4b99f3ede5f6c33'} from 'ACTIONS_MODULE14'\nexport {deleteFeature as '7845d699799c3ea150236d58fe3605cdf17f863aee'} from 'ACTIONS_MODULE15'\nexport {resumeFeature as '40710d870101f1510327d157746477b078d2e29926'} from 'ACTIONS_MODULE16'\nexport {startFeature as '40aad7b781e2cfe61d1d3621b88eb36f26abb633b7'} from 'ACTIONS_MODULE17'\nexport {stopFeature as '40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac'} from 'ACTIONS_MODULE18'\nexport {addRepository as '40a7e96351418e768354c2f7087009e428d24d68f9'} from 'ACTIONS_MODULE19'\nexport {deleteRepository as '4042ee8d3715988e287c0f6b2c7f815230f43bc954'} from 'ACTIONS_MODULE20'\nexport {getFeatureMetadata as '403f5ed8462e450071414167cf27d6eeb1048a36e0'} from 'ACTIONS_MODULE21'\nexport {adoptBranch as '40ec5283ff233228a92408825df394ec32f982f28d'} from 'ACTIONS_MODULE22'\nexport {listBranches as '40e11e6d8bdca1fb34394743d030c8410ec2f1e097'} from 'ACTIONS_MODULE23'\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { AdoptBranchUseCase } from '@shepai/core/application/use-cases/features/adopt-branch.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\ninterface AdoptBranchInput {\n branchName: string;\n repositoryPath: string;\n}\n\nexport async function adoptBranch(\n input: AdoptBranchInput\n): Promise<{ feature?: Feature; error?: string }> {\n const { branchName, repositoryPath } = input;\n\n if (!branchName?.trim()) {\n return { error: 'Branch name is required' };\n }\n if (!repositoryPath?.trim()) {\n return { error: 'Repository path is required' };\n }\n\n try {\n const useCase = resolve<AdoptBranchUseCase>('AdoptBranchUseCase');\n const result = await useCase.execute({ branchName, repositoryPath });\n return { feature: result.feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to adopt branch';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IWorktreeService } from '@shepai/core/application/ports/output/services/worktree-service.interface';\n\n/**\n * Server action that returns all branch names (local + remote) for a repository.\n * Used by the adopt branch drawer to populate the branch combobox.\n */\nexport async function listBranches(repositoryPath: string): Promise<string[]> {\n if (!repositoryPath?.trim()) {\n return [];\n }\n\n try {\n const worktreeService = resolve<IWorktreeService>('IWorktreeService');\n return await worktreeService.listBranches(repositoryPath);\n } catch {\n return [];\n }\n}\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,oBCnBA,EAAA,EAAA,CAAA,CAAA,oBASO,eAAe,EACpB,CAAuB,EAEvB,GAAM,YAAE,CAAU,gBAAE,CAAc,CAAE,CAAG,EAEvC,GAAI,CAAC,GAAY,OACf,CADuB,KAChB,CAAE,MAAO,yBAA0B,EAE5C,GAAI,CAAC,GAAgB,OACnB,CAD2B,KACpB,CAAE,MAAO,6BAA8B,EAGhD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAqB,sBAE5C,MAAO,CAAE,QAAS,CADH,MAAM,EAAQ,OAAO,CAAC,YAAE,iBAAY,CAAe,EAAA,EACzC,OAAO,AAAC,CACnC,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,CCtBO,eAAe,EAAa,CAAsB,EACvD,GAAI,CAAC,GAAgB,OACnB,CAD2B,KACpB,EAAE,CAGX,GAAI,CACF,IAAM,EAAkB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAmB,oBAClD,OAAO,MAAM,EAAgB,YAAY,CAAC,EAC5C,CAAE,KAAM,CACN,MAAO,EAAE,AACX,CACF,iCDTsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCFA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[4585,a=>{"use strict";var b=a.i(12513),c=a.i(73101),d=a.i(65324),e=a.i(33841),f=a.i(46646),g=a.i(68670),h=a.i(85321),i=a.i(84095),j=a.i(56799),k=a.i(80496),l=a.i(94691),m=a.i(41872),n=a.i(9959),o=a.i(23504),p=a.i(27900),q=a.i(50845),r=a.i(26604),s=a.i(54723),t=a.i(18942),u=a.i(49560),v=a.i(39353),w=a.i(29207);a.s([],78424),a.i(78424),a.s(["0029717d586a3ccff31d1c60b603e278dfc31e0316",()=>n.checkAgentAuth,"009b5b35105507d1cdfb56593dbb0996938f42f059",()=>m.isAgentSetupComplete,"00d96a34729ed5633372e1bd544ffdb39b4ca29e56",()=>b.pickFolder,"00e601010536bd09f231c963a14e2b6f64ce22c06c",()=>o.getAllAgentModels,"4034be93f330af78d856628a9ba3b414066e564ccf",()=>e.deployFeature,"403f5ed8462e450071414167cf27d6eeb1048a36e0",()=>w.getFeatureMetadata,"4042ee8d3715988e287c0f6b2c7f815230f43bc954",()=>v.deleteRepository,"40484664471ef0cb22a20a3225d11bd3028b0883a6",()=>c.listGitHubRepositories,"406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d",()=>h.getDeploymentStatus,"40710d870101f1510327d157746477b078d2e29926",()=>r.resumeFeature,"40735a0481fdca2463aa08cfd7f431661dc389d80f",()=>f.deployRepository,"407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e",()=>k.openFolder,"407fcfcdabc779597832e0b3b1c614d12670e51885",()=>d.importGitHubRepository,"408d12c2dd281b16d6e6b576486e1d1701c0f65a74",()=>j.openShell,"40981154352488d908a63de659d7132cc74ccf7720",()=>g.stopDeployment,"40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac",()=>t.stopFeature,"40a7e96351418e768354c2f7087009e428d24d68f9",()=>u.addRepository,"40aad7b781e2cfe61d1d3621b88eb36f26abb633b7",()=>s.startFeature,"40dc0ea2e4c57b47a9276cb40f224c95ef81662595",()=>l.getDeploymentLogs,"40f0a55d32d2697506f0c9918b457ce71915c4f839",()=>i.openIde,"607280abfc80dd6156d653dd49c4b99f3ede5f6c33",()=>p.updateAgentAndModel,"7845d699799c3ea150236d58fe3605cdf17f863aee",()=>q.deleteFeature],4585)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=8ba4b_server_app_%28dashboard%29_%40drawer_repository_%5BrepositoryId%5D_page_actions_026fdffa.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {pickFolder as '00d96a34729ed5633372e1bd544ffdb39b4ca29e56'} from 'ACTIONS_MODULE0'\nexport {listGitHubRepositories as '40484664471ef0cb22a20a3225d11bd3028b0883a6'} from 'ACTIONS_MODULE1'\nexport {importGitHubRepository as '407fcfcdabc779597832e0b3b1c614d12670e51885'} from 'ACTIONS_MODULE2'\nexport {deployFeature as '4034be93f330af78d856628a9ba3b414066e564ccf'} from 'ACTIONS_MODULE3'\nexport {deployRepository as '40735a0481fdca2463aa08cfd7f431661dc389d80f'} from 'ACTIONS_MODULE4'\nexport {stopDeployment as '40981154352488d908a63de659d7132cc74ccf7720'} from 'ACTIONS_MODULE5'\nexport {getDeploymentStatus as '406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d'} from 'ACTIONS_MODULE6'\nexport {openIde as '40f0a55d32d2697506f0c9918b457ce71915c4f839'} from 'ACTIONS_MODULE7'\nexport {openShell as '408d12c2dd281b16d6e6b576486e1d1701c0f65a74'} from 'ACTIONS_MODULE8'\nexport {openFolder as '407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e'} from 'ACTIONS_MODULE9'\nexport {getDeploymentLogs as '40dc0ea2e4c57b47a9276cb40f224c95ef81662595'} from 'ACTIONS_MODULE10'\nexport {isAgentSetupComplete as '009b5b35105507d1cdfb56593dbb0996938f42f059'} from 'ACTIONS_MODULE11'\nexport {checkAgentAuth as '0029717d586a3ccff31d1c60b603e278dfc31e0316'} from 'ACTIONS_MODULE12'\nexport {getAllAgentModels as '00e601010536bd09f231c963a14e2b6f64ce22c06c'} from 'ACTIONS_MODULE13'\nexport {updateAgentAndModel as '607280abfc80dd6156d653dd49c4b99f3ede5f6c33'} from 'ACTIONS_MODULE14'\nexport {deleteFeature as '7845d699799c3ea150236d58fe3605cdf17f863aee'} from 'ACTIONS_MODULE15'\nexport {resumeFeature as '40710d870101f1510327d157746477b078d2e29926'} from 'ACTIONS_MODULE16'\nexport {startFeature as '40aad7b781e2cfe61d1d3621b88eb36f26abb633b7'} from 'ACTIONS_MODULE17'\nexport {stopFeature as '40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac'} from 'ACTIONS_MODULE18'\nexport {addRepository as '40a7e96351418e768354c2f7087009e428d24d68f9'} from 'ACTIONS_MODULE19'\nexport {deleteRepository as '4042ee8d3715988e287c0f6b2c7f815230f43bc954'} from 'ACTIONS_MODULE20'\nexport {getFeatureMetadata as '403f5ed8462e450071414167cf27d6eeb1048a36e0'} from 'ACTIONS_MODULE21'\n"],"names":[],"mappings":"sCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[73261,a=>{"use strict";var b=a.i(12513),c=a.i(73101),d=a.i(65324),e=a.i(33841),f=a.i(46646),g=a.i(68670),h=a.i(85321),i=a.i(84095),j=a.i(56799),k=a.i(80496),l=a.i(94691),m=a.i(41872),n=a.i(9959),o=a.i(23504),p=a.i(27900),q=a.i(50845),r=a.i(26604),s=a.i(54723),t=a.i(18942),u=a.i(49560),v=a.i(39353),w=a.i(29207);a.s([],37240),a.i(37240),a.s(["0029717d586a3ccff31d1c60b603e278dfc31e0316",()=>n.checkAgentAuth,"009b5b35105507d1cdfb56593dbb0996938f42f059",()=>m.isAgentSetupComplete,"00d96a34729ed5633372e1bd544ffdb39b4ca29e56",()=>b.pickFolder,"00e601010536bd09f231c963a14e2b6f64ce22c06c",()=>o.getAllAgentModels,"4034be93f330af78d856628a9ba3b414066e564ccf",()=>e.deployFeature,"403f5ed8462e450071414167cf27d6eeb1048a36e0",()=>w.getFeatureMetadata,"4042ee8d3715988e287c0f6b2c7f815230f43bc954",()=>v.deleteRepository,"40484664471ef0cb22a20a3225d11bd3028b0883a6",()=>c.listGitHubRepositories,"406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d",()=>h.getDeploymentStatus,"40710d870101f1510327d157746477b078d2e29926",()=>r.resumeFeature,"40735a0481fdca2463aa08cfd7f431661dc389d80f",()=>f.deployRepository,"407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e",()=>k.openFolder,"407fcfcdabc779597832e0b3b1c614d12670e51885",()=>d.importGitHubRepository,"408d12c2dd281b16d6e6b576486e1d1701c0f65a74",()=>j.openShell,"40981154352488d908a63de659d7132cc74ccf7720",()=>g.stopDeployment,"40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac",()=>t.stopFeature,"40a7e96351418e768354c2f7087009e428d24d68f9",()=>u.addRepository,"40aad7b781e2cfe61d1d3621b88eb36f26abb633b7",()=>s.startFeature,"40dc0ea2e4c57b47a9276cb40f224c95ef81662595",()=>l.getDeploymentLogs,"40f0a55d32d2697506f0c9918b457ce71915c4f839",()=>i.openIde,"607280abfc80dd6156d653dd49c4b99f3ede5f6c33",()=>p.updateAgentAndModel,"7845d699799c3ea150236d58fe3605cdf17f863aee",()=>q.deleteFeature],73261)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=8ba4b_server_app_%28dashboard%29_repository_%5BrepositoryId%5D_page_actions_8b91e197.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {pickFolder as '00d96a34729ed5633372e1bd544ffdb39b4ca29e56'} from 'ACTIONS_MODULE0'\nexport {listGitHubRepositories as '40484664471ef0cb22a20a3225d11bd3028b0883a6'} from 'ACTIONS_MODULE1'\nexport {importGitHubRepository as '407fcfcdabc779597832e0b3b1c614d12670e51885'} from 'ACTIONS_MODULE2'\nexport {deployFeature as '4034be93f330af78d856628a9ba3b414066e564ccf'} from 'ACTIONS_MODULE3'\nexport {deployRepository as '40735a0481fdca2463aa08cfd7f431661dc389d80f'} from 'ACTIONS_MODULE4'\nexport {stopDeployment as '40981154352488d908a63de659d7132cc74ccf7720'} from 'ACTIONS_MODULE5'\nexport {getDeploymentStatus as '406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d'} from 'ACTIONS_MODULE6'\nexport {openIde as '40f0a55d32d2697506f0c9918b457ce71915c4f839'} from 'ACTIONS_MODULE7'\nexport {openShell as '408d12c2dd281b16d6e6b576486e1d1701c0f65a74'} from 'ACTIONS_MODULE8'\nexport {openFolder as '407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e'} from 'ACTIONS_MODULE9'\nexport {getDeploymentLogs as '40dc0ea2e4c57b47a9276cb40f224c95ef81662595'} from 'ACTIONS_MODULE10'\nexport {isAgentSetupComplete as '009b5b35105507d1cdfb56593dbb0996938f42f059'} from 'ACTIONS_MODULE11'\nexport {checkAgentAuth as '0029717d586a3ccff31d1c60b603e278dfc31e0316'} from 'ACTIONS_MODULE12'\nexport {getAllAgentModels as '00e601010536bd09f231c963a14e2b6f64ce22c06c'} from 'ACTIONS_MODULE13'\nexport {updateAgentAndModel as '607280abfc80dd6156d653dd49c4b99f3ede5f6c33'} from 'ACTIONS_MODULE14'\nexport {deleteFeature as '7845d699799c3ea150236d58fe3605cdf17f863aee'} from 'ACTIONS_MODULE15'\nexport {resumeFeature as '40710d870101f1510327d157746477b078d2e29926'} from 'ACTIONS_MODULE16'\nexport {startFeature as '40aad7b781e2cfe61d1d3621b88eb36f26abb633b7'} from 'ACTIONS_MODULE17'\nexport {stopFeature as '40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac'} from 'ACTIONS_MODULE18'\nexport {addRepository as '40a7e96351418e768354c2f7087009e428d24d68f9'} from 'ACTIONS_MODULE19'\nexport {deleteRepository as '4042ee8d3715988e287c0f6b2c7f815230f43bc954'} from 'ACTIONS_MODULE20'\nexport {getFeatureMetadata as '403f5ed8462e450071414167cf27d6eeb1048a36e0'} from 'ACTIONS_MODULE21'\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[31747,a=>{"use strict";var b=a.i(81719),c=a.i(14703),d=a.i(79372);function e(a,e,f){let g=(e?.status===b.AgentRunStatus.running||e?.status===b.AgentRunStatus.pending)&&e?.pid?(0,d.isProcessAlive)(e.pid):void 0;return{name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:(0,c.deriveLifecycle)(a,e),repositoryPath:a.repositoryPath,branch:a.branch,specPath:a.specPath,state:(0,c.deriveNodeState)(a,e,void 0!==g?{isPidAlive:g}:void 0),progress:(0,c.deriveProgress)(a),summary:a.description,userQuery:a.userQuery,createdAt:a.createdAt instanceof Date?a.createdAt.getTime():a.createdAt,...a.fast&&{fastMode:!0},approvalGates:a.approvalGates,push:a.push,openPr:a.openPr,...f?.enableEvidence!=null&&{enableEvidence:f.enableEvidence},...f?.commitEvidence!=null&&{commitEvidence:f.commitEvidence},...f?.ciWatchEnabled!=null&&{ciWatchEnabled:f.ciWatchEnabled},...f?.repositoryName&&{repositoryName:f.repositoryName},...f?.baseBranch&&{baseBranch:f.baseBranch},...f?.oneLiner&&{oneLiner:f.oneLiner},...f?.remoteUrl&&{remoteUrl:f.remoteUrl},...e?.agentType&&{agentType:e.agentType},...e?.modelId&&{modelId:e.modelId},...e?.error&&{errorMessage:e.error},...null!=a.agentRunId&&{hasAgentRun:!0},...null!=a.plan&&{hasPlan:!0},...a.pr&&{pr:{url:a.pr.url,number:a.pr.number,status:a.pr.status,ciStatus:a.pr.ciStatus,commitHash:a.pr.commitHash,mergeable:a.pr.mergeable}}}}a.s(["buildFeatureNodeData",()=>e])},61402,76052,13008,74607,6542,740,12104,54433,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b,d){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let e=(0,c.resolve)("IFeatureRepository"),f=await e.findById(a);if(!f)return{rejected:!1,error:"Feature not found"};if(!f.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let g=(0,c.resolve)("RejectAgentRunUseCase"),h=await g.execute(f.agentRunId,b,d);if(!h.rejected)return{rejected:!1,error:h.reason};return{rejected:!0,iteration:h.iteration,iterationWarning:h.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a),e={question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},f={question:"Goal",context:d.oneLiner,questions:d.openQuestions.filter(a=>a.resolved).map(a=>{let b=a.options?.find(a=>a.selected);return{question:a.question,selectedOption:b?.option??a.answer??"N/A",rationale:a.selectionRationale??b?.description??"",wasRecommended:!1}})};return{questionnaire:e,productDecisions:f,artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60875ed91f96becd75ecee56b775794a319531044e",null),a.s(["approveFeature",()=>e],61402),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"702de0b77af3b5897f8a40ab861ee7e39b0ee14177",null),a.s(["rejectFeature",()=>f],76052),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"404e5378a46036cff1b6c251b2438c5d1fc14f4311",null),a.s(["getFeatureArtifact",()=>g],13008),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"401e9b8b531a65df556305f1eb1078ff6c4183d7eb",null),a.s(["getResearchArtifact",()=>h],74607);var i=a.i(66680),j=a.i(2157),k=a.i(50227),l=a.i(29918),m=a.i(32278);async function n(a){if(!a.trim())return{error:"Feature id is required"};try{var b,d;let e,f,g=(0,c.resolve)("IFeatureRepository"),h=await g.findById(a);if(!h)return{error:"Feature not found"};let n=h.pr?{url:h.pr.url,number:h.pr.number,status:h.pr.status,commitHash:h.pr.commitHash,ciStatus:h.pr.ciStatus,mergeable:h.pr.mergeable}:void 0,o=h.branch?{source:h.branch,target:"main"}:void 0,p=h.worktreePath??(h.repositoryPath&&h.branch?(0,l.computeWorktreePath)(h.repositoryPath,h.branch):null),q=h.repositoryPath?(b=h.repositoryPath,f=(0,i.createHash)("sha256").update(b).digest("hex").slice(0,16),(0,k.join)((0,m.getShepHomeDir)(),"repos",f,"evidence",a).replace(/\\/g,"/")):p?(0,k.join)((0,k.dirname)((0,k.dirname)(p)),"evidence",a).replace(/\\/g,"/"):null;if(q)try{let a=(0,k.join)(q,"manifest.json");(0,j.existsSync)(a)&&(d=JSON.parse((0,j.readFileSync)(a,"utf-8")),e=d.map(a=>{if(a.relativePath.startsWith("/")){if((0,j.existsSync)(a.relativePath))return a;let b=(0,k.join)(q,(0,k.basename)(a.relativePath)).replace(/\\/g,"/");return(0,j.existsSync)(b)?{...a,relativePath:b}:a}let b=(0,k.join)(q,(0,k.basename)(a.relativePath)).replace(/\\/g,"/");return{...a,relativePath:b}}))}catch{}if(!p)return{pr:n,branch:o,evidence:e,warning:n?void 0:"No PR or diff data available"};try{let a=(0,c.resolve)("IGitPrService"),[b,d]=await Promise.all([a.getPrDiffSummary(p,"main"),a.getFileDiffs(p,"main").catch(()=>void 0)]);return{pr:n,branch:o,diffSummary:b,fileDiffs:d,evidence:e}}catch{return{pr:n,branch:o,evidence:e,warning:"Diff statistics unavailable"}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}async function o(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("IPhaseTimingRepository"),d=(await b.findByFeatureId(a)).map(a=>({agentRunId:a.agentRunId,phase:a.phase,startedAt:a.startedAt,completedAt:a.completedAt,durationMs:null!=a.durationMs?Number(a.durationMs):void 0,waitingApprovalAt:a.waitingApprovalAt,approvalWaitMs:null!=a.approvalWaitMs?Number(a.approvalWaitMs):void 0,inputTokens:null!=a.inputTokens?Number(a.inputTokens):void 0,outputTokens:null!=a.outputTokens?Number(a.outputTokens):void 0,cacheCreationInputTokens:null!=a.cacheCreationInputTokens?Number(a.cacheCreationInputTokens):void 0,cacheReadInputTokens:null!=a.cacheReadInputTokens?Number(a.cacheReadInputTokens):void 0,costUsd:null!=a.costUsd?Number(a.costUsd):void 0,numTurns:a.numTurns??void 0,durationApiMs:null!=a.durationApiMs?Number(a.durationApiMs):void 0,exitCode:a.exitCode??void 0,errorMessage:a.errorMessage??void 0})),e=await p(a);return{timings:d,rejectionFeedback:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to load phase timings"}}}async function p(b){try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(b);if(!e?.specPath)return[];let{readFileSync:f}=await a.A(6714),{join:g}=await a.A(11105),h=(await a.A(29718)).default,i=f(g(e.specPath,"spec.yaml"),"utf-8"),j=h.load(i);if(!Array.isArray(j?.rejectionFeedback))return[];return j.rejectionFeedback.map(a=>({iteration:Number(a.iteration??1),message:String(a.message??""),phase:a.phase?String(a.phase):void 0,timestamp:a.timestamp?String(a.timestamp):void 0,attachments:Array.isArray(a.attachments)?a.attachments.map(String):void 0}))}catch{return[]}}async function q(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return{error:"Feature not found"};if(!d.plan)return{plan:void 0};return{plan:{state:d.plan.state,overview:d.plan.overview,tasks:d.plan.tasks.map(a=>({title:a.title??"",description:a.description??"",state:a.state,actionItems:(a.actionItems??[]).map(a=>({name:a.name,description:a.description,acceptanceCriteria:(a.acceptanceCriteria??[]).map(a=>({description:a.description,verified:a.verified}))}))}))}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature plan"}}}(0,d.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"400bb8b935a05e741f1ca8e1b8100a96b4dc69b536",null),a.s(["getMergeReviewData",()=>n],6542),(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"402688d46a7bcf7580cddd7efbe0c2dd77f890daed",null),a.s(["getFeaturePhaseTimings",()=>o],740),(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40f039807a476e78b31e1e50a0cd07fdee9065befd",null),a.s(["getFeaturePlan",()=>q],12104);var r=a.i(31747),s=a.i(33244);async function t(a){try{let b=(0,c.resolve)("IFeatureRepository"),d=(0,c.resolve)("IAgentRunRepository"),e=(0,c.resolve)("IRepositoryRepository"),f=(0,c.resolve)("IGitPrService"),g=(0,c.resolve)("GetFeatureArtifactUseCase"),h=await b.findById(a);if(!h)return null;let i=h.agentRunId?await d.findById(h.agentRunId):null,[j,k,l,m]=await Promise.all([e.findByPath(h.repositoryPath).catch(()=>null),f.getDefaultBranch(h.repositoryPath).catch(()=>"main"),g.execute(a).catch(()=>null),f.getRemoteUrl(h.repositoryPath).catch(()=>null)]),{workflow:n}=(0,s.getSettings)();return(0,r.buildFeatureNodeData)(h,i,{repositoryName:j?.name,baseBranch:k,oneLiner:l?.oneLiner,remoteUrl:m??void 0,enableEvidence:n.enableEvidence,commitEvidence:n.commitEvidence})}catch{return null}}(0,d.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"402de5b85f9df9426b00410b98ca4b9342c302fd9d",null),a.s(["getFeatureDrawerData",()=>t],54433)},94383,a=>{"use strict";var b=a.i(12513),c=a.i(73101),d=a.i(65324),e=a.i(33841),f=a.i(46646),g=a.i(68670),h=a.i(85321),i=a.i(84095),j=a.i(56799),k=a.i(80496),l=a.i(94691),m=a.i(41872),n=a.i(9959),o=a.i(23504),p=a.i(27900),q=a.i(50845),r=a.i(26604),s=a.i(54723),t=a.i(18942),u=a.i(49560),v=a.i(39353),w=a.i(29207),x=a.i(61402),y=a.i(76052),z=a.i(13008),A=a.i(74607),B=a.i(6542),C=a.i(740),D=a.i(12104),E=a.i(54433);a.s([],97984),a.i(97984),a.s(["0029717d586a3ccff31d1c60b603e278dfc31e0316",()=>n.checkAgentAuth,"009b5b35105507d1cdfb56593dbb0996938f42f059",()=>m.isAgentSetupComplete,"00d96a34729ed5633372e1bd544ffdb39b4ca29e56",()=>b.pickFolder,"00e601010536bd09f231c963a14e2b6f64ce22c06c",()=>o.getAllAgentModels,"400bb8b935a05e741f1ca8e1b8100a96b4dc69b536",()=>B.getMergeReviewData,"401e9b8b531a65df556305f1eb1078ff6c4183d7eb",()=>A.getResearchArtifact,"402688d46a7bcf7580cddd7efbe0c2dd77f890daed",()=>C.getFeaturePhaseTimings,"402de5b85f9df9426b00410b98ca4b9342c302fd9d",()=>E.getFeatureDrawerData,"4034be93f330af78d856628a9ba3b414066e564ccf",()=>e.deployFeature,"403f5ed8462e450071414167cf27d6eeb1048a36e0",()=>w.getFeatureMetadata,"4042ee8d3715988e287c0f6b2c7f815230f43bc954",()=>v.deleteRepository,"40484664471ef0cb22a20a3225d11bd3028b0883a6",()=>c.listGitHubRepositories,"404e5378a46036cff1b6c251b2438c5d1fc14f4311",()=>z.getFeatureArtifact,"406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d",()=>h.getDeploymentStatus,"40710d870101f1510327d157746477b078d2e29926",()=>r.resumeFeature,"40735a0481fdca2463aa08cfd7f431661dc389d80f",()=>f.deployRepository,"407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e",()=>k.openFolder,"407fcfcdabc779597832e0b3b1c614d12670e51885",()=>d.importGitHubRepository,"408d12c2dd281b16d6e6b576486e1d1701c0f65a74",()=>j.openShell,"40981154352488d908a63de659d7132cc74ccf7720",()=>g.stopDeployment,"40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac",()=>t.stopFeature,"40a7e96351418e768354c2f7087009e428d24d68f9",()=>u.addRepository,"40aad7b781e2cfe61d1d3621b88eb36f26abb633b7",()=>s.startFeature,"40dc0ea2e4c57b47a9276cb40f224c95ef81662595",()=>l.getDeploymentLogs,"40f039807a476e78b31e1e50a0cd07fdee9065befd",()=>D.getFeaturePlan,"40f0a55d32d2697506f0c9918b457ce71915c4f839",()=>i.openIde,"607280abfc80dd6156d653dd49c4b99f3ede5f6c33",()=>p.updateAgentAndModel,"60875ed91f96becd75ecee56b775794a319531044e",()=>x.approveFeature,"702de0b77af3b5897f8a40ab861ee7e39b0ee14177",()=>y.rejectFeature,"7845d699799c3ea150236d58fe3605cdf17f863aee",()=>q.deleteFeature],94383)},6714,a=>{a.v(a=>Promise.resolve().then(()=>a(2157)))},11105,a=>{a.v(a=>Promise.resolve().then(()=>a(50227)))},29718,a=>{a.v(b=>Promise.all(["server/chunks/ssr/90b01_js-yaml_dist_js-yaml_mjs_c897fb57._.js"].map(b=>a.l(b))).then(()=>b(32996)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__755cfe02._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/app/build-feature-node-data.ts","../../../../../../../src/presentation/web/app/actions/approve-feature.ts","../../../../../../../src/presentation/web/app/actions/reject-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-research-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-merge-review-data.ts","../../../../../../../src/presentation/web/app/actions/get-feature-phase-timings.ts","../../../../../../../src/presentation/web/app/actions/get-feature-plan.ts","../../../../../../../src/presentation/web/app/actions/get-feature-drawer-data.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/feature/%5BfeatureId%5D/%5Btab%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["import type { Feature, AgentRun } from '@shepai/core/domain/generated/output';\nimport { AgentRunStatus } from '@shepai/core/domain/generated/output';\nimport {\n deriveNodeState,\n deriveProgress,\n deriveLifecycle,\n} from '@/components/common/feature-node/derive-feature-state';\nimport { isProcessAlive } from '@shepai/core/infrastructure/services/process/is-process-alive';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\nexport interface BuildFeatureNodeDataOptions {\n baseBranch?: string;\n repositoryName?: string;\n /** AI-generated one-liner from FeatureArtifact */\n oneLiner?: string;\n /** Remote URL for the repository (HTTPS) */\n remoteUrl?: string;\n /** Whether evidence collection is enabled (global workflow setting) */\n enableEvidence?: boolean;\n /** Whether evidence is committed to the PR body (global workflow setting) */\n commitEvidence?: boolean;\n /** Whether CI watch/fix loop is enabled (global workflow setting) */\n ciWatchEnabled?: boolean;\n}\n\n/**\n * Builds a FeatureNodeData object from a Feature entity and optional AgentRun.\n * This is the single-feature version of the logic in `buildGraphNodes`.\n */\nexport function buildFeatureNodeData(\n feature: Feature,\n run: AgentRun | null,\n options?: BuildFeatureNodeDataOptions\n): FeatureNodeData {\n // Detect crashed agents: DB says running/pending but PID is dead\n const isActive = run?.status === AgentRunStatus.running || run?.status === AgentRunStatus.pending;\n const pidAlive = isActive && run?.pid ? isProcessAlive(run.pid) : undefined;\n\n return {\n name: feature.name,\n description: feature.description ?? feature.slug,\n featureId: feature.id,\n lifecycle: deriveLifecycle(feature, run),\n repositoryPath: feature.repositoryPath,\n branch: feature.branch,\n specPath: feature.specPath,\n state: deriveNodeState(\n feature,\n run,\n pidAlive !== undefined ? { isPidAlive: pidAlive } : undefined\n ),\n progress: deriveProgress(feature),\n summary: feature.description,\n userQuery: feature.userQuery,\n createdAt: feature.createdAt instanceof Date ? feature.createdAt.getTime() : feature.createdAt,\n ...(feature.fast && { fastMode: true }),\n approvalGates: feature.approvalGates,\n push: feature.push,\n openPr: feature.openPr,\n ...(options?.enableEvidence != null && { enableEvidence: options.enableEvidence }),\n ...(options?.commitEvidence != null && { commitEvidence: options.commitEvidence }),\n ...(options?.ciWatchEnabled != null && { ciWatchEnabled: options.ciWatchEnabled }),\n ...(options?.repositoryName && { repositoryName: options.repositoryName }),\n ...(options?.baseBranch && { baseBranch: options.baseBranch }),\n ...(options?.oneLiner && { oneLiner: options.oneLiner }),\n ...(options?.remoteUrl && { remoteUrl: options.remoteUrl }),\n ...(run?.agentType && { agentType: run.agentType as FeatureNodeData['agentType'] }),\n ...(run?.modelId && { modelId: run.modelId }),\n ...(run?.error && { errorMessage: run.error }),\n ...(feature.agentRunId != null && { hasAgentRun: true }),\n ...(feature.plan != null && { hasPlan: true }),\n ...(feature.pr && {\n pr: {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n ciStatus: feature.pr.ciStatus,\n commitHash: feature.pr.commitHash,\n mergeable: feature.pr.mergeable,\n },\n }),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ApproveAgentRunUseCase } from '@shepai/core/application/use-cases/agents/approve-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { PrdApprovalPayload } from '@shepai/core/domain/generated/output';\n\nexport async function approveFeature(\n featureId: string,\n payload?: PrdApprovalPayload\n): Promise<{ approved: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { approved: false, error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { approved: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { approved: false, error: 'Feature has no agent run' };\n }\n\n // Always use ApproveAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures approval is propagated via\n // Command({update: {_approvalAction: 'approved'}}) so the graph node\n // receives it on resume.\n const approveUseCase = resolve<ApproveAgentRunUseCase>('ApproveAgentRunUseCase');\n const result = await approveUseCase.execute(feature.agentRunId, payload);\n\n if (!result.approved) {\n return { approved: false, error: result.reason };\n }\n\n return { approved: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to approve feature';\n return { approved: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { RejectAgentRunUseCase } from '@shepai/core/application/use-cases/agents/reject-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport async function rejectFeature(\n featureId: string,\n feedback: string,\n attachments?: string[]\n): Promise<{\n rejected: boolean;\n iteration?: number;\n iterationWarning?: boolean;\n error?: string;\n}> {\n if (!featureId.trim()) {\n return { rejected: false, error: 'Feature id is required' };\n }\n\n if (!feedback.trim()) {\n return { rejected: false, error: 'Feedback is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { rejected: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { rejected: false, error: 'Feature has no agent run' };\n }\n\n // Always use RejectAgentRunUseCase — it handles waitingApproval, failed,\n // and interrupted statuses. This ensures rejection feedback is propagated\n // via Command({update: {_approvalAction, _rejectionFeedback}}) so the\n // graph node receives the feedback on resume.\n const rejectUseCase = resolve<RejectAgentRunUseCase>('RejectAgentRunUseCase');\n const result = await rejectUseCase.execute(feature.agentRunId, feedback, attachments);\n\n if (!result.rejected) {\n return { rejected: false, error: result.reason };\n }\n\n return {\n rejected: true,\n iteration: result.iteration,\n iterationWarning: result.iterationWarning,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to reject feature';\n return { rejected: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport type { FeatureArtifact } from '@shepai/core/domain/generated/output';\nimport type { PrdQuestionnaireData } from '@shepai/core/domain/generated/output';\nimport type { ProductDecisionsSummaryData } from '@/components/common/product-decisions-summary';\n\ninterface GetFeatureArtifactResult {\n questionnaire?: PrdQuestionnaireData;\n productDecisions?: ProductDecisionsSummaryData;\n artifact?: FeatureArtifact;\n error?: string;\n}\n\n/**\n * Map FeatureArtifact openQuestions into the PrdQuestionnaireData shape\n * expected by the PrdQuestionnaireDrawer component.\n */\nfunction toQuestionnaireData(artifact: FeatureArtifact): PrdQuestionnaireData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions.map((oq, idx) => ({\n id: `q-${idx}`,\n question: oq.question,\n type: 'select' as const,\n options: (oq.options ?? []).map((opt, optIdx) => ({\n id: `q-${idx}-opt-${optIdx}`,\n label: opt.option,\n rationale: opt.description,\n ...(opt.selected ? { recommended: true } : {}),\n })),\n })),\n finalAction: {\n id: 'approve-reqs',\n label: 'Approve Requirements',\n description: 'Finalize and lock the requirements for implementation',\n },\n };\n}\n\n/**\n * Map FeatureArtifact openQuestions into a read-only summary for the\n * Product Decisions tab in the tech review drawer.\n */\nfunction toProductDecisionsData(artifact: FeatureArtifact): ProductDecisionsSummaryData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions\n .filter((oq) => oq.resolved)\n .map((oq) => {\n const selected = oq.options?.find((o) => o.selected);\n return {\n question: oq.question,\n selectedOption: selected?.option ?? oq.answer ?? 'N/A',\n rationale: oq.selectionRationale ?? selected?.description ?? '',\n wasRecommended: false,\n };\n }),\n };\n}\n\nexport async function getFeatureArtifact(featureId: string): Promise<GetFeatureArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const questionnaire = toQuestionnaireData(artifact);\n const productDecisions = toProductDecisionsData(artifact);\n return { questionnaire, productDecisions, artifact };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetResearchArtifactUseCase } from '@shepai/core/application/use-cases/features/get-research-artifact.use-case';\nimport type { ResearchArtifact, TechDecision } from '@shepai/core/domain/generated/output';\n\nexport interface TechDecisionsReviewData {\n name: string;\n summary: string;\n decisions: TechDecision[];\n technologies: string[];\n}\n\ninterface GetResearchArtifactResult {\n techDecisions?: TechDecisionsReviewData;\n error?: string;\n}\n\nfunction toTechDecisionsData(artifact: ResearchArtifact): TechDecisionsReviewData {\n return {\n name: artifact.name,\n summary: artifact.summary,\n decisions: artifact.decisions,\n technologies: artifact.technologies,\n };\n}\n\nexport async function getResearchArtifact(featureId: string): Promise<GetResearchArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetResearchArtifactUseCase>('GetResearchArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const techDecisions = toTechDecisionsData(artifact);\n return { techDecisions };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load research artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { createHash } from 'node:crypto';\nimport { readFileSync, existsSync } from 'node:fs';\nimport { basename, join, dirname } from 'node:path';\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type {\n MergeReviewData,\n MergeReviewEvidence,\n} from '@/components/common/merge-review/merge-review-config';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\n\ntype GetMergeReviewDataResult = MergeReviewData | { error: string };\n\n/**\n * Compute the shep evidence directory for a given repository and feature.\n * Path: ~/.shep/repos/<sha256-hash-prefix>/evidence/<featureId>/\n */\nfunction computeEvidenceDir(repositoryPath: string, featureId: string): string {\n const repoHash = createHash('sha256').update(repositoryPath).digest('hex').slice(0, 16);\n return join(getShepHomeDir(), 'repos', repoHash, 'evidence', featureId).replace(/\\\\/g, '/');\n}\n\n/**\n * Normalize evidence paths so they all point to the shep evidence directory.\n * When commitEvidence was enabled, the manifest may contain relative paths\n * (e.g. \"specs/066-feature/evidence/file.png\"). After merge the worktree is\n * deleted so those paths no longer resolve. The evidence files were also saved\n * to the shep evidence dir with the same filename, so we map relative paths\n * to absolute paths there.\n */\nfunction normalizeEvidencePaths(\n evidence: MergeReviewEvidence[],\n evidenceDir: string\n): MergeReviewEvidence[] {\n return evidence.map((e) => {\n if (e.relativePath.startsWith('/')) {\n // Already absolute — check if the file exists; if not, try the evidence dir\n if (existsSync(e.relativePath)) return e;\n const fallback = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n if (existsSync(fallback)) return { ...e, relativePath: fallback };\n return e;\n }\n // Relative path — resolve to evidence dir using the filename\n const absolutePath = join(evidenceDir, basename(e.relativePath)).replace(/\\\\/g, '/');\n return { ...e, relativePath: absolutePath };\n });\n}\n\nexport async function getMergeReviewData(featureId: string): Promise<GetMergeReviewDataResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n const pr = feature.pr\n ? {\n url: feature.pr.url,\n number: feature.pr.number,\n status: feature.pr.status,\n commitHash: feature.pr.commitHash,\n ciStatus: feature.pr.ciStatus,\n mergeable: feature.pr.mergeable,\n }\n : undefined;\n\n const branch = feature.branch ? { source: feature.branch, target: 'main' } : undefined;\n\n const worktreePath =\n feature.worktreePath ??\n (feature.repositoryPath && feature.branch\n ? computeWorktreePath(feature.repositoryPath, feature.branch)\n : null);\n\n // Load evidence manifest (best-effort).\n // Evidence is stored independently of the worktree at:\n // ~/.shep/repos/<hash>/evidence/<featureId>/manifest.json\n // We compute this path from repositoryPath so evidence is accessible\n // even after the worktree has been deleted post-merge.\n let evidence: MergeReviewEvidence[] | undefined;\n const evidenceDir = feature.repositoryPath\n ? computeEvidenceDir(feature.repositoryPath, featureId)\n : worktreePath\n ? join(dirname(dirname(worktreePath)), 'evidence', featureId).replace(/\\\\/g, '/')\n : null;\n\n if (evidenceDir) {\n try {\n const manifestPath = join(evidenceDir, 'manifest.json');\n if (existsSync(manifestPath)) {\n const raw: MergeReviewEvidence[] = JSON.parse(readFileSync(manifestPath, 'utf-8'));\n evidence = normalizeEvidencePaths(raw, evidenceDir);\n }\n } catch {\n // Evidence unavailable — not critical\n }\n }\n\n if (!worktreePath) {\n return {\n pr,\n branch,\n evidence,\n warning: pr ? undefined : 'No PR or diff data available',\n };\n }\n\n try {\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const [diffSummary, fileDiffs] = await Promise.all([\n gitPrService.getPrDiffSummary(worktreePath, 'main'),\n gitPrService.getFileDiffs(worktreePath, 'main').catch(() => undefined),\n ]);\n return { pr, branch, diffSummary, fileDiffs, evidence };\n } catch {\n return {\n pr,\n branch,\n evidence,\n warning: 'Diff statistics unavailable',\n };\n }\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load merge review data';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IPhaseTimingRepository } from '@shepai/core/application/ports/output/agents/phase-timing-repository.interface';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface PhaseTimingData {\n agentRunId: string;\n phase: string;\n startedAt: string;\n completedAt?: string;\n durationMs?: number;\n waitingApprovalAt?: string;\n approvalWaitMs?: number;\n inputTokens?: number;\n outputTokens?: number;\n cacheCreationInputTokens?: number;\n cacheReadInputTokens?: number;\n costUsd?: number;\n numTurns?: number;\n durationApiMs?: number;\n exitCode?: string;\n errorMessage?: string;\n}\n\nexport interface RejectionFeedbackData {\n iteration: number;\n message: string;\n phase?: string;\n timestamp?: string;\n attachments?: string[];\n}\n\ntype GetPhaseTimingsResult =\n | { timings: PhaseTimingData[]; rejectionFeedback: RejectionFeedbackData[] }\n | { error: string };\n\nexport async function getFeaturePhaseTimings(featureId: string): Promise<GetPhaseTimingsResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IPhaseTimingRepository>('IPhaseTimingRepository');\n const phaseTimings = await repo.findByFeatureId(featureId);\n\n const timings: PhaseTimingData[] = phaseTimings.map((t) => ({\n agentRunId: t.agentRunId,\n phase: t.phase,\n startedAt: t.startedAt,\n completedAt: t.completedAt,\n durationMs: t.durationMs != null ? Number(t.durationMs) : undefined,\n waitingApprovalAt: t.waitingApprovalAt,\n approvalWaitMs: t.approvalWaitMs != null ? Number(t.approvalWaitMs) : undefined,\n inputTokens: t.inputTokens != null ? Number(t.inputTokens) : undefined,\n outputTokens: t.outputTokens != null ? Number(t.outputTokens) : undefined,\n cacheCreationInputTokens:\n t.cacheCreationInputTokens != null ? Number(t.cacheCreationInputTokens) : undefined,\n cacheReadInputTokens:\n t.cacheReadInputTokens != null ? Number(t.cacheReadInputTokens) : undefined,\n costUsd: t.costUsd != null ? Number(t.costUsd) : undefined,\n numTurns: t.numTurns ?? undefined,\n durationApiMs: t.durationApiMs != null ? Number(t.durationApiMs) : undefined,\n exitCode: t.exitCode ?? undefined,\n errorMessage: t.errorMessage ?? undefined,\n }));\n\n // Read rejection feedback from spec.yaml\n const rejectionFeedback = await readRejectionFeedback(featureId);\n\n return { timings, rejectionFeedback };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load phase timings';\n return { error: message };\n }\n}\n\nasync function readRejectionFeedback(featureId: string): Promise<RejectionFeedbackData[]> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n if (!feature?.specPath) return [];\n\n const { readFileSync } = await import('node:fs');\n const { join } = await import('node:path');\n const yaml = (await import('js-yaml')).default;\n\n const specContent = readFileSync(join(feature.specPath, 'spec.yaml'), 'utf-8');\n const spec = yaml.load(specContent) as Record<string, unknown>;\n\n if (!Array.isArray(spec?.rejectionFeedback)) return [];\n\n return (spec.rejectionFeedback as Record<string, unknown>[]).map((entry) => ({\n iteration: Number(entry.iteration ?? 1),\n message: String(entry.message ?? ''),\n phase: entry.phase ? String(entry.phase) : undefined,\n timestamp: entry.timestamp ? String(entry.timestamp) : undefined,\n attachments: Array.isArray(entry.attachments)\n ? (entry.attachments as unknown[]).map(String)\n : undefined,\n }));\n } catch {\n return [];\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport interface AcceptanceCriterionData {\n description: string;\n verified: boolean;\n}\n\nexport interface ActionItemData {\n name: string;\n description: string;\n acceptanceCriteria: AcceptanceCriterionData[];\n}\n\nexport interface PlanTaskData {\n title: string;\n description: string;\n state: string;\n actionItems: ActionItemData[];\n}\n\nexport interface PlanData {\n state: string;\n overview: string;\n tasks: PlanTaskData[];\n}\n\ntype GetPlanResult = { plan: PlanData | undefined } | { error: string };\n\nexport async function getFeaturePlan(featureId: string): Promise<GetPlanResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const repo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await repo.findById(featureId);\n\n if (!feature) {\n return { error: 'Feature not found' };\n }\n\n if (!feature.plan) {\n return { plan: undefined };\n }\n\n const plan: PlanData = {\n state: feature.plan.state,\n overview: feature.plan.overview,\n tasks: feature.plan.tasks.map((t) => ({\n title: t.title ?? '',\n description: t.description ?? '',\n state: t.state,\n actionItems: (t.actionItems ?? []).map((ai) => ({\n name: ai.name,\n description: ai.description,\n acceptanceCriteria: (ai.acceptanceCriteria ?? []).map((ac) => ({\n description: ac.description,\n verified: ac.verified,\n })),\n })),\n })),\n };\n\n return { plan };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature plan';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\nimport type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';\nimport type { IRepositoryRepository } from '@shepai/core/application/ports/output/repositories/repository-repository.interface';\nimport type { IGitPrService } from '@shepai/core/application/ports/output/services/git-pr-service.interface';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport { buildFeatureNodeData } from '@/app/build-feature-node-data';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { FeatureNodeData } from '@/components/common/feature-node';\n\n/**\n * Fetches full FeatureNodeData for a given feature ID.\n * Used by the drawer for targeted data syncing without triggering\n * a full router.refresh() / server component re-render.\n *\n * CI status and mergeable status are read from the DB (already updated\n * by PrSyncWatcherService) instead of making duplicate GitHub API calls.\n */\nexport async function getFeatureDrawerData(featureId: string): Promise<FeatureNodeData | null> {\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const agentRunRepo = resolve<IAgentRunRepository>('IAgentRunRepository');\n const repoRepo = resolve<IRepositoryRepository>('IRepositoryRepository');\n const gitPrService = resolve<IGitPrService>('IGitPrService');\n const getArtifact = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n\n const feature = await featureRepo.findById(featureId);\n if (!feature) return null;\n\n const run = feature.agentRunId ? await agentRunRepo.findById(feature.agentRunId) : null;\n\n // CI status and mergeable status are read from the feature record (updated by\n // PrSyncWatcherService every 30s) — no duplicate GitHub API calls needed.\n // Only getDefaultBranch and getRemoteUrl are kept as they are local git operations.\n const [repo, baseBranch, artifact, remoteUrl] = await Promise.all([\n repoRepo.findByPath(feature.repositoryPath).catch(() => null),\n gitPrService.getDefaultBranch(feature.repositoryPath).catch(() => 'main'),\n getArtifact.execute(featureId).catch(() => null),\n gitPrService.getRemoteUrl(feature.repositoryPath).catch(() => null),\n ]);\n\n const { workflow } = getSettings();\n\n return buildFeatureNodeData(feature, run, {\n repositoryName: repo?.name,\n baseBranch,\n oneLiner: artifact?.oneLiner,\n remoteUrl: remoteUrl ?? undefined,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n });\n } catch {\n return null;\n }\n}\n","export {pickFolder as '00d96a34729ed5633372e1bd544ffdb39b4ca29e56'} from 'ACTIONS_MODULE0'\nexport {listGitHubRepositories as '40484664471ef0cb22a20a3225d11bd3028b0883a6'} from 'ACTIONS_MODULE1'\nexport {importGitHubRepository as '407fcfcdabc779597832e0b3b1c614d12670e51885'} from 'ACTIONS_MODULE2'\nexport {deployFeature as '4034be93f330af78d856628a9ba3b414066e564ccf'} from 'ACTIONS_MODULE3'\nexport {deployRepository as '40735a0481fdca2463aa08cfd7f431661dc389d80f'} from 'ACTIONS_MODULE4'\nexport {stopDeployment as '40981154352488d908a63de659d7132cc74ccf7720'} from 'ACTIONS_MODULE5'\nexport {getDeploymentStatus as '406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d'} from 'ACTIONS_MODULE6'\nexport {openIde as '40f0a55d32d2697506f0c9918b457ce71915c4f839'} from 'ACTIONS_MODULE7'\nexport {openShell as '408d12c2dd281b16d6e6b576486e1d1701c0f65a74'} from 'ACTIONS_MODULE8'\nexport {openFolder as '407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e'} from 'ACTIONS_MODULE9'\nexport {getDeploymentLogs as '40dc0ea2e4c57b47a9276cb40f224c95ef81662595'} from 'ACTIONS_MODULE10'\nexport {isAgentSetupComplete as '009b5b35105507d1cdfb56593dbb0996938f42f059'} from 'ACTIONS_MODULE11'\nexport {checkAgentAuth as '0029717d586a3ccff31d1c60b603e278dfc31e0316'} from 'ACTIONS_MODULE12'\nexport {getAllAgentModels as '00e601010536bd09f231c963a14e2b6f64ce22c06c'} from 'ACTIONS_MODULE13'\nexport {updateAgentAndModel as '607280abfc80dd6156d653dd49c4b99f3ede5f6c33'} from 'ACTIONS_MODULE14'\nexport {deleteFeature as '7845d699799c3ea150236d58fe3605cdf17f863aee'} from 'ACTIONS_MODULE15'\nexport {resumeFeature as '40710d870101f1510327d157746477b078d2e29926'} from 'ACTIONS_MODULE16'\nexport {startFeature as '40aad7b781e2cfe61d1d3621b88eb36f26abb633b7'} from 'ACTIONS_MODULE17'\nexport {stopFeature as '40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac'} from 'ACTIONS_MODULE18'\nexport {addRepository as '40a7e96351418e768354c2f7087009e428d24d68f9'} from 'ACTIONS_MODULE19'\nexport {deleteRepository as '4042ee8d3715988e287c0f6b2c7f815230f43bc954'} from 'ACTIONS_MODULE20'\nexport {getFeatureMetadata as '403f5ed8462e450071414167cf27d6eeb1048a36e0'} from 'ACTIONS_MODULE21'\nexport {approveFeature as '60875ed91f96becd75ecee56b775794a319531044e'} from 'ACTIONS_MODULE22'\nexport {rejectFeature as '702de0b77af3b5897f8a40ab861ee7e39b0ee14177'} from 'ACTIONS_MODULE23'\nexport {getFeatureArtifact as '404e5378a46036cff1b6c251b2438c5d1fc14f4311'} from 'ACTIONS_MODULE24'\nexport {getResearchArtifact as '401e9b8b531a65df556305f1eb1078ff6c4183d7eb'} from 'ACTIONS_MODULE25'\nexport {getMergeReviewData as '400bb8b935a05e741f1ca8e1b8100a96b4dc69b536'} from 'ACTIONS_MODULE26'\nexport {getFeaturePhaseTimings as '402688d46a7bcf7580cddd7efbe0c2dd77f890daed'} from 'ACTIONS_MODULE27'\nexport {getFeaturePlan as '40f039807a476e78b31e1e50a0cd07fdee9065befd'} from 'ACTIONS_MODULE28'\nexport {getFeatureDrawerData as '402de5b85f9df9426b00410b98ca4b9342c302fd9d'} from 'ACTIONS_MODULE29'\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
module.exports=[92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,73101,65324,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}var g=a.i(12581);async function h(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,g.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"00d96a34729ed5633372e1bd544ffdb39b4ca29e56",null),a.s(["pickFolder",()=>h],12513);var i=a.i(96380);class j extends Error{constructor(a,b){super(a),this.name="GitHubAuthError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class k extends Error{constructor(a,b){super(a),this.name="GitHubCloneError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}class l extends Error{constructor(a,b){super(a),this.name="GitHubUrlParseError",Object.setPrototypeOf(this,new.target.prototype),b&&(this.cause=b)}}async function m(a){try{let b=(0,i.resolve)("ListGitHubRepositoriesUseCase");return{repos:await b.execute(a)}}catch(a){if(a instanceof j)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};return{error:a instanceof Error?a.message:"Failed to list repositories"}}}async function n(a){let{url:b,dest:c}=a;if(!b?.trim())return{error:"GitHub URL is required"};try{let a=(0,i.resolve)("ImportGitHubRepositoryUseCase");return{repository:await a.execute({url:b,dest:c})}}catch(a){if(a instanceof j)return{error:"GitHub CLI is not authenticated. Run `gh auth login` to sign in."};if(a instanceof l)return{error:`Invalid GitHub URL: ${a.message}`};if(a instanceof k)return{error:`Clone failed: ${a.message}`};return{error:a instanceof Error?a.message:"Failed to import repository"}}}(0,g.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"40484664471ef0cb22a20a3225d11bd3028b0883a6",null),a.s(["listGitHubRepositories",()=>m],73101),(0,g.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"407fcfcdabc779597832e0b3b1c614d12670e51885",null),a.s(["importGitHubRepository",()=>n],65324)},33841,29918,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(2157),d=a.i(96380);let e=()=>void 0;function f(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):e,debug:b?(...b)=>console.debug(a,...b):e,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var g=a.i(66680),h=a.i(50227),i=a.i(32278);function j(a,b){let c=a.replace(/\\/g,"/"),d=(0,g.createHash)("sha256").update(c).digest("hex").slice(0,16),e=b.replace(/\//g,"-");return(0,h.join)((0,i.getShepHomeDir)(),"repos",d,"wt",e).replace(/\\/g,"/")}a.s(["computeWorktreePath",()=>j],29918);var k=a.i(81719),l=a.i(12581);let m=f("[deployFeature]");async function n(a){if(m.info(`called — featureId="${a}"`),!a?.trim())return m.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,d.resolve)("IFeatureRepository"),e=await b.findById(a);if(!e)return m.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};m.info(`feature found — repositoryPath="${e.repositoryPath}", branch="${e.branch}"`);let f=j(e.repositoryPath,e.branch);if(m.info(`computed worktreePath="${f}"`),!(0,c.existsSync)(f))return m.warn(`worktree path does not exist on disk: "${f}"`),{success:!1,error:`Worktree path does not exist: ${f}`};return m.info("worktree path exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,f,"feature"),m.info("start() returned successfully — state=Booting"),{success:!0,state:k.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return m.error(`error: ${a}`,b),{success:!1,error:a}}}(0,l.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"4034be93f330af78d856628a9ba3b414066e564ccf",null),a.s(["deployFeature",()=>n],33841);let o=f("[deployRepository]");async function p(a){if(o.info(`called — repositoryPath="${a}"`),!a||!(0,h.isAbsolute)(a))return o.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,c.existsSync)(a))return o.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return o.info("directory exists, calling deploymentService.start()"),(0,d.resolve)("IDeploymentService").start(a,a,"repository"),o.info("start() returned successfully — state=Booting"),{success:!0,state:k.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return o.error(`error: ${a}`,b),{success:!1,error:a}}}async function q(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,d.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function r(a){return a?.trim()?(0,d.resolve)("IDeploymentService").getStatus(a):null}(0,l.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40735a0481fdca2463aa08cfd7f431661dc389d80f",null),a.s(["deployRepository",()=>p],46646),(0,l.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40981154352488d908a63de659d7132cc74ccf7720",null),a.s(["stopDeployment",()=>q],68670),(0,l.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"406b91c0b2fc9af73e1419edfd73b5aebdf7272c4d",null),a.s(["getDeploymentStatus",()=>r],85321)},94691,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40dc0ea2e4c57b47a9276cb40f224c95ef81662595",null),a.s(["getDeploymentLogs",()=>d])},57764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},23504,27900,a=>{"use strict";var b=a.i(92658),c=a.i(96380);let d={"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"}},e={displayName:"",description:""};function f(a){let b=d[a];return b||{...e,displayName:a.replace(/^claude-/,"").replace(/^gemini-/,"Gemini ").replace(/^gpt-/,"GPT-").replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())}}var g=a.i(12581);let h={"claude-code":"Claude Code",cursor:"Cursor CLI","gemini-cli":"Gemini CLI",dev:"Demo"},i={"claude-code":0,cursor:1,"gemini-cli":2,dev:99};async function j(){try{let a=(0,c.resolve)("IAgentExecutorFactory");return a.getSupportedAgents().map(b=>({agentType:b,label:h[b]??b,models:a.getSupportedModels(b).map(a=>({id:a,...f(a)}))})).map(a=>"dev"===a.agentType&&0===a.models.length?{...a,models:[{id:"gpt-8",...f("gpt-8")},{id:"opus-7",...f("opus-7")}]}:a).filter(a=>a.models.length>0).sort((a,b)=>(i[a.agentType]??50)-(i[b.agentType]??50))}catch{return[]}}(0,g.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"00e601010536bd09f231c963a14e2b6f64ce22c06c",null),a.s(["getAllAgentModels",()=>j],23504);var k=a.i(33244);async function l(a,b){if(!a.trim())return{ok:!1,error:"agent type is required"};try{let d=(0,c.resolve)("CompleteWebOnboardingUseCase"),e=await d.execute({agentType:a.trim(),model:b});return(0,k.resetSettings)(),(0,k.initializeSettings)(e),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"Failed to update agent and model"}}}(0,g.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"607280abfc80dd6156d653dd49c4b99f3ede5f6c33",null),a.s(["updateAgentAndModel",()=>l],27900)},84095,56799,80496,41872,9959,50845,26604,54723,18942,49560,39353,29207,a=>{"use strict";var b=a.i(92658),c=a.i(50227),d=a.i(33244),e=a.i(96380),f=a.i(12581);async function g(a){let{repositoryPath:b,branch:f}=a;if(!b||!(0,c.isAbsolute)(b))return{success:!1,error:"repositoryPath must be an absolute path"};let g=(0,d.getSettings)().environment.defaultEditor,h=(0,e.resolve)("LaunchIdeUseCase"),i=await h.execute({editorId:g,repositoryPath:b,branch:f,checkAvailability:!0});return i.ok?{success:!0,editor:i.editorName,path:i.worktreePath}:{success:!1,error:i.message}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40f0a55d32d2697506f0c9918b457ce71915c4f839",null),a.s(["openIde",()=>g],84095);var h=a.i(2157),i=a.i(60526),j=a.i(74533),k=a.i(29918),l=a.i(57764);let m={get url(){return`file://${a.P("packages/core/src/infrastructure/services/tool-installer/tool-metadata.ts")}`}},n=["name","summary","description","tags","binary","packageManager","commands","timeout","documentationUrl","verifyCommand"],o=function(){let a,b=(0,c.join)((0,l.fileURLToPath)(m.url),"..","tools"),d={};try{a=(0,h.readdirSync)(b).filter(a=>a.endsWith(".json"))}catch{return d}for(let e of a){let a=(0,c.basename)(e,".json");try{let f=(0,h.readFileSync)((0,c.join)(b,e),"utf-8"),g=JSON.parse(f);if(n.filter(a=>!(a in g)).length>0)continue;d[a]=g}catch{}}return d}(),p={darwin:{cmd:"open",args:a=>["-a","Terminal",a]},linux:{cmd:"x-terminal-emulator",args:a=>[`--working-directory=${a}`]},win32:{cmd:"cmd.exe",args:a=>["/c","start","powershell","-NoExit","-Command",`Set-Location "${a}"`]}};async function q(a){let{repositoryPath:b,branch:e}=a;if(!b||!(0,c.isAbsolute)(b))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a=(0,d.getSettings)(),c=a.environment.shellPreference,g=a.environment.terminalPreference??"system",l=e?(0,k.computeWorktreePath)(b,e):b;if(!(0,h.existsSync)(l))return{success:!1,error:`Path does not exist: ${l}`};if("system"!==g){let a=Object.entries(o).filter(([,a])=>a.tags.includes("terminal")&&null!=a.openDirectory).find(([a])=>a===g);if(a){let[,b]=a;if(b.openDirectory){var f;let a=(f=b.openDirectory,"string"==typeof f?f:f[(0,i.platform)()]??Object.values(f)[0]);if(a.includes("{dir}")){let d=a.replace("{dir}",l);if(b.spawnOptions?.shell===!0){let a=(0,j.spawn)(d,[],{detached:!0,stdio:"ignore",shell:!0});a.on("error",()=>void 0),a.unref()}else{let[a,...b]=d.split(/\s+/),c=(0,j.spawn)(a,b,{detached:!0,stdio:"ignore"});c.on("error",()=>void 0),c.unref()}return{success:!0,path:l,shell:c}}}}}let m=p[(0,i.platform)()];if(!m)return{success:!1,error:`Unsupported platform: ${(0,i.platform)()}`};let n=(0,j.spawn)(m.cmd,m.args(l),{detached:!0,stdio:"ignore"});return n.on("error",()=>void 0),n.unref(),{success:!0,path:l,shell:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,f.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"408d12c2dd281b16d6e6b576486e1d1701c0f65a74",null),a.s(["openShell",()=>q],56799);let r={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]},win32:{cmd:"explorer",args:a=>[a]}};async function s(a){if(!a||!(0,c.isAbsolute)(a))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,h.existsSync)(a))return{success:!1,error:"Directory not found"};let b=r[(0,i.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,i.platform)()}`};let c=(0,j.spawn)(b.cmd,b.args(a),{detached:!0,stdio:"ignore"});return c.on("error",()=>void 0),c.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}async function t(){try{return(0,d.getSettings)().onboardingComplete}catch{return!1}}(0,f.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"407eb101d06472c031baf2e3fc72bfc4ad0ef25f2e",null),a.s(["openFolder",()=>s],80496),(0,f.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"009b5b35105507d1cdfb56593dbb0996938f42f059",null),a.s(["isAgentSetupComplete",()=>t],41872);var u=a.i(76437);let v={"claude-code":"Claude Code",cursor:"Cursor Agent","gemini-cli":"Gemini CLI",aider:"Aider",continue:"Continue",dev:"Demo"},w={"claude-code":"claude-code",cursor:"cursor-cli","gemini-cli":"gemini-cli"},x={"claude-code":"claude",cursor:"agent","gemini-cli":"gemini"};async function y(){var a;let b;try{b=(0,d.getSettings)().agent.type}catch{return{agentType:"unknown",installed:!1,authenticated:!1,label:"Unknown",binaryName:null,authCommand:null}}let f=v[b]??b,g=w[b]??null,k=x[b]??null;if(!g)return{agentType:b,installed:!0,authenticated:!0,label:f,binaryName:null,authCommand:null};let l=!1;try{let a=(0,e.resolve)("ListToolsUseCase"),b=(await a.execute()).find(a=>a.id===g);l=b?.status.status==="available"}catch{l=!1}if(!l)return{agentType:b,installed:!1,authenticated:!1,label:f,binaryName:k,authCommand:k?`Install ${f} first`:null};if(!function(a){let b=(0,i.homedir)();switch(a){case"claude-code":{if(process.env.ANTHROPIC_API_KEY||process.env.CLAUDE_CODE_USE_BEDROCK||process.env.CLAUDE_CODE_USE_VERTEX||process.env.CLAUDE_CODE_OAUTH_TOKEN)return!0;let a=(0,c.join)(b,".claude",".credentials.json");return(0,h.existsSync)(a)}case"cursor":{if(process.env.CURSOR_API_KEY)return!0;let a=(0,c.join)(b,".cursor");return(0,h.existsSync)(a)}case"gemini-cli":{if(process.env.GEMINI_API_KEY||process.env.GOOGLE_API_KEY||process.env.GOOGLE_APPLICATION_CREDENTIALS)return!0;let a=(0,c.join)(b,".gemini","google_accounts.json");return(0,h.existsSync)(a)}default:return!0}}(b))return{agentType:b,installed:!0,authenticated:!1,label:f,binaryName:k,authCommand:k};let m=!0;return k&&(m=await (a=b,new Promise(b=>{let c,d;switch(a){case"claude-code":c=k,d=["auth","status"];break;case"cursor":c=k,d=["status"];break;default:b(!0);return}try{let a=u.IS_WINDOWS?{timeout:5e3,windowsHide:!0}:{timeout:5e3};(0,j.execFile)(c,d,a,a=>{b(!a)})}catch{b(!1)}}))),{agentType:b,installed:!0,authenticated:m,label:f,binaryName:k,authCommand:m?null:k}}async function z(a,b,c,d){if(!a?.trim())return{error:"id is required"};try{let f=(0,e.resolve)("DeleteFeatureUseCase"),g={};return void 0!==b&&(g.cleanup=b),void 0!==c&&(g.cascadeDelete=c),void 0!==d&&(g.closePr=d),{feature:Object.keys(g).length>0?await f.execute(a,g):await f.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function A(a){if(!a.trim())return{resumed:!1,error:"Feature id is required"};try{let b=(0,e.resolve)("ResumeFeatureUseCase");return await b.execute(a),{resumed:!0}}catch(a){return{resumed:!1,error:a instanceof Error?a.message:"Failed to resume feature"}}}async function B(a){if(!a.trim())return{started:!1,error:"Feature id is required"};try{let b=(0,e.resolve)("StartFeatureUseCase");return await b.execute(a),{started:!0}}catch(a){return{started:!1,error:a instanceof Error?a.message:"Failed to start feature"}}}async function C(a){if(!a.trim())return{stopped:!1,error:"Feature id is required"};try{let b=(0,e.resolve)("IAgentRunRepository"),c=(await b.list()).find(b=>b.featureId===a&&"completed"!==b.status&&"failed"!==b.status&&"interrupted"!==b.status&&"cancelled"!==b.status);if(!c)return{stopped:!1,error:"No active agent run found for this feature"};let d=(0,e.resolve)("StopAgentRunUseCase"),f=await d.execute(c.id);if(!f.stopped)return{stopped:!1,error:f.reason};return{stopped:!0}}catch(a){return{stopped:!1,error:a instanceof Error?a.message:"Failed to stop agent"}}}async function D(a){let{path:b,name:c}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,e.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:c})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function E(a){if(!a?.trim())return{success:!1,error:"id is required"};try{let b=(0,e.resolve)("DeleteRepositoryUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete repository"}}}async function F(a){let b=(0,e.resolve)("IFeatureRepository"),c=await b.findById(a);return c?{name:c.name,description:c.description}:null}(0,f.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"0029717d586a3ccff31d1c60b603e278dfc31e0316",null),a.s(["checkAgentAuth",()=>y],9959),(0,f.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"7845d699799c3ea150236d58fe3605cdf17f863aee",null),a.s(["deleteFeature",()=>z],50845),(0,f.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"40710d870101f1510327d157746477b078d2e29926",null),a.s(["resumeFeature",()=>A],26604),(0,f.ensureServerEntryExports)([B]),(0,b.registerServerReference)(B,"40aad7b781e2cfe61d1d3621b88eb36f26abb633b7",null),a.s(["startFeature",()=>B],54723),(0,f.ensureServerEntryExports)([C]),(0,b.registerServerReference)(C,"40a304b6a9c8d03a1ab06e7ec8fbfdbc97eec192ac",null),a.s(["stopFeature",()=>C],18942),(0,f.ensureServerEntryExports)([D]),(0,b.registerServerReference)(D,"40a7e96351418e768354c2f7087009e428d24d68f9",null),a.s(["addRepository",()=>D],49560),(0,f.ensureServerEntryExports)([E]),(0,b.registerServerReference)(E,"4042ee8d3715988e287c0f6b2c7f815230f43bc954",null),a.s(["deleteRepository",()=>E],39353),(0,f.ensureServerEntryExports)([F]),(0,b.registerServerReference)(F,"403f5ed8462e450071414167cf27d6eeb1048a36e0",null),a.s(["getFeatureMetadata",()=>F],29207)}];
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__99ab2519._.js.map
|