@shepai/cli 1.175.0-pr534.6e82e47 → 1.175.1
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/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- 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 +38 -38
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +38 -38
- 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 +38 -38
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +13 -13
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
- package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js +1 -1
- package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_a0a99bae._.js → _81ef821b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_a0a99bae._.js.map → _81ef821b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_5fab0cc1._.js → _ce75a825._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5fab0cc1._.js.map → _ce75a825._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_d9c0a97a._.js +1 -1
- package/web/.next/server/chunks/ssr/{_eb557564._.js → _f1776188._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_eb557564._.js.map → _f1776188._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_f8c55130._.js +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_17d39233._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.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 +50 -50
- package/web/.next/static/chunks/{9cc5961f954fc328.js → 03219e57ab4dab05.js} +1 -1
- package/web/.next/static/chunks/{6c5df4d5b97e9a49.js → 09b21da62ffd89d6.js} +1 -1
- package/web/.next/static/chunks/{39c131125e69106d.js → 20e831d121ae5518.js} +1 -1
- package/web/.next/static/chunks/{65f5bb330d5cdbc7.js → 3240913baa13b564.js} +1 -1
- package/web/.next/static/chunks/{3e09b44cfdbb3978.js → 34073c7071fbc0bc.js} +1 -1
- package/web/.next/static/chunks/{65895c064ee39fc0.js → 523caed4f5a9a78f.js} +1 -1
- package/web/.next/static/chunks/{b55a003b22a32857.js → 7b5bdecb2b254cd5.js} +2 -2
- package/web/.next/static/chunks/{a5cdc09281f37140.js → b5218d35112c5b4b.js} +2 -2
- package/web/.next/static/chunks/{b07b4ca9abce724f.js → bf0d2eba02ad69a4.js} +1 -1
- package/web/.next/static/chunks/{97b92a54b8123692.js → df22a970881f1da8.js} +1 -1
- package/web/.next/static/chunks/{807fd512dc6291cd.js → eb951d647c1f92e6.js} +1 -1
- package/web/.next/static/chunks/{7bd3f3e579f8ac9a.js → ed450778c582887c.js} +2 -2
- package/web/.next/static/chunks/fe1670b9aae7de08.js +1 -0
- package/web/.next/static/chunks/{b3ae59b17bc2f06a.js → feeecb1dc1648817.js} +1 -1
- package/web/.next/static/chunks/3b003527d7bcd7e6.js +0 -1
- /package/web/.next/static/{Nkgq2BONKCekghENKhutM → JskTxIiYLT1ye2ta1GTlv}/_buildManifest.js +0 -0
- /package/web/.next/static/{Nkgq2BONKCekghENKhutM → JskTxIiYLT1ye2ta1GTlv}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{Nkgq2BONKCekghENKhutM → JskTxIiYLT1ye2ta1GTlv}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/app/actions/create-feature.ts","../../../../../../../src/presentation/web/app/actions/compose-user-input.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/create/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateFeatureUseCase } from '@shepai/core/application/use-cases/features/create/create-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\nimport { composeUserInput } from './compose-user-input';\n\ninterface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\ninterface ApprovalGates {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n}\n\ninterface CreateFeatureInput {\n description: string;\n repositoryPath: string;\n attachments?: Attachment[];\n sessionId?: string;\n approvalGates?: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge?: boolean;\n };\n push?: boolean;\n openPr?: boolean;\n parentId?: string;\n /** When true, skip SDLC phases and implement directly from the prompt. */\n fast?: boolean;\n /** When true, create the feature in pending state (no agent spawned). */\n pending?: boolean;\n /** Fork repo and create PR to upstream at merge time. */\n forkAndPr?: boolean;\n /** Commit specs/evidences into the repo (default: true, auto-false when forkAndPr). */\n commitSpecs?: boolean;\n /** Enable CI watch/fix loop after push. */\n ciWatchEnabled?: boolean;\n /** Enable evidence collection after implementation. */\n enableEvidence?: boolean;\n /** Commit evidence to PR. */\n commitEvidence?: boolean;\n /** Optional agent type override for this feature run */\n agentType?: string;\n /** Optional model identifier for this feature run */\n model?: string;\n /** Sync main from remote before creating the feature branch (default: true). */\n rebaseBeforeBranch?: boolean;\n /** Inject curated skills into the feature worktree. */\n injectSkills?: boolean;\n}\n\nexport async function createFeature(\n input: CreateFeatureInput\n): Promise<{ feature?: Feature; error?: string }> {\n const {\n description,\n repositoryPath,\n attachments,\n sessionId,\n approvalGates,\n push,\n openPr,\n parentId,\n fast,\n pending,\n forkAndPr,\n commitSpecs,\n ciWatchEnabled,\n enableEvidence,\n commitEvidence,\n agentType,\n model,\n rebaseBeforeBranch,\n injectSkills,\n } = input;\n\n if (!description?.trim()) {\n return { error: 'description is required' };\n }\n\n if (!repositoryPath?.trim()) {\n return { error: 'repositoryPath is required' };\n }\n\n const userInput = composeUserInput(description, attachments);\n const gates: ApprovalGates = {\n allowPrd: approvalGates?.allowPrd ?? false,\n allowPlan: approvalGates?.allowPlan ?? false,\n allowMerge: approvalGates?.allowMerge ?? false,\n };\n\n try {\n const createFeatureUseCase = resolve<CreateFeatureUseCase>('CreateFeatureUseCase');\n\n // Phase 1 (fast): create DB record with real UUID — returns immediately\n const { feature, shouldSpawn } = await createFeatureUseCase.createRecord({\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n description,\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n });\n\n // Phase 2 (background): metadata generation, worktree, spec, agent spawn\n // Fire-and-forget — the UI gets the real feature ID immediately\n createFeatureUseCase\n .initializeAndSpawn(\n feature,\n {\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(sessionId ? { sessionId } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n },\n shouldSpawn\n )\n .catch((err: unknown) => {\n // eslint-disable-next-line no-console\n console.error('[createFeature] initializeAndSpawn failed:', err);\n });\n\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create feature';\n return { error: message };\n }\n}\n","interface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\nexport function composeUserInput(\n description: string,\n attachments: Attachment[] | undefined\n): string {\n if (!attachments || attachments.length === 0) {\n return description;\n }\n\n const refs = attachments\n .map((a) => (a.notes?.trim() ? `@${a.path} [Note: ${a.notes.trim()}]` : `@${a.path}`))\n .join(' ');\n return `${description}\\n\\n${refs}`;\n}\n","export {getAllAgentModels as '00938e719ff405c1501e4c1ca8d8ca82a5e9580cbe'} from 'ACTIONS_MODULE0'\nexport {updateAgentAndModel as '60dc96620bba613992da55450c189754a9da711dd7'} from 'ACTIONS_MODULE1'\nexport {pickFolder as '0048c081175a3bed4c6066689d18f10d7c2e40b0d9'} from 'ACTIONS_MODULE2'\nexport {listGitHubRepositories as '40a092f1120244a8d30eb37b38e5a38ba37c1b62b1'} from 'ACTIONS_MODULE3'\nexport {listGitHubOrganizations as '000b950681a492d33f384aabd0f4c4b708e6e8e5f7'} from 'ACTIONS_MODULE4'\nexport {importGitHubRepository as '40e9e6041df741a83abb19da2796879eb81bea787a'} from 'ACTIONS_MODULE5'\nexport {deployFeature as '40c6c07337f306e9ca85c7508182a50910ac6ef680'} from 'ACTIONS_MODULE6'\nexport {deployRepository as '40840261c6cfec3b394d936fc626b69038cb0f3aca'} from 'ACTIONS_MODULE7'\nexport {stopDeployment as '40f40d66b924c77e9301ba6f43726a93c607ff99f8'} from 'ACTIONS_MODULE8'\nexport {getDeploymentStatus as '40c9d846a09436dcc4ebcda31aafe9eff41f6b191b'} from 'ACTIONS_MODULE9'\nexport {openIde as '408ba7420501bef015a7685b1574389e5c77bcafb3'} from 'ACTIONS_MODULE10'\nexport {openShell as '402577aa0da96f72ae22c44bce1e982dcd40fbcf32'} from 'ACTIONS_MODULE11'\nexport {openFolder as '402e6efa1ffb80670ef321d5511dc2e3aaba413b21'} from 'ACTIONS_MODULE12'\nexport {syncRepository as '403193740f4bae1e4b5194d24a52f9038afa84bb39'} from 'ACTIONS_MODULE13'\nexport {getDeploymentLogs as '40b9330f979bf167718ce9cc1778cfb48b6d824d2f'} from 'ACTIONS_MODULE14'\nexport {isAgentSetupComplete as '00b743fb6b9fba62819f4dc5b6e0648b0b02a861b3'} from 'ACTIONS_MODULE15'\nexport {checkAgentAuth as '00f242d1ecd62303e02958ba8b344349a0671782ea'} from 'ACTIONS_MODULE16'\nexport {checkToolStatus as '0001ead9a5ba986f12136506861bcc6a390649159c'} from 'ACTIONS_MODULE17'\nexport {archiveFeature as '401ba9eba4cfd8b7527ed2397c42e3469a928d79a9'} from 'ACTIONS_MODULE18'\nexport {deleteFeature as '780748aa80480e369d41661df2fce2253b98ce7c5f'} from 'ACTIONS_MODULE19'\nexport {resumeFeature as '40372982afb31d845ccb19c31ecc18bb4e1bb9dae5'} from 'ACTIONS_MODULE20'\nexport {startFeature as '40c3e988b8f56770f659fb3a75f7adc049af354111'} from 'ACTIONS_MODULE21'\nexport {stopFeature as '40d51f49a713e1616959f0f61fd9b8322ae8db194c'} from 'ACTIONS_MODULE22'\nexport {unarchiveFeature as '40755653ed75a78713e0f433ad5df29a3fe059f0a6'} from 'ACTIONS_MODULE23'\nexport {addRepository as '4005d75d9b5cd73945afc8a3ef48be0bb6147d6d28'} from 'ACTIONS_MODULE24'\nexport {deleteRepository as '405fdcbc84efa44b6c24e0fc429c7384fec7abc626'} from 'ACTIONS_MODULE25'\nexport {getFeatureMetadata as '40cf93f760c9194aca8eab99c3d7b18c1eff3eee33'} from 'ACTIONS_MODULE26'\nexport {getWorkflowDefaults as '0055b00bdace38e5d7f127f96eb0f92b852499dc6b'} from 'ACTIONS_MODULE27'\nexport {getViewerPermission as '407cd0da4b9a5d520203153b9385308e550c0781b2'} from 'ACTIONS_MODULE28'\nexport {createFeature as '4032f9b45eadaab8235d2f7a919714b51214aed445'} from 'ACTIONS_MODULE29'\nexport {getViewerPermission as '407cd0da4b9a5d520203153b9385308e550c0781b2'} from 'ACTIONS_MODULE28'\n"],"names":[],"mappings":"8DAEA,EAAA,EAAA,CAAA,CAAA,oBAiBO,eAAe,IAEpB,GAAM,UAAE,CAAQ,CAAE,CADD,CAAA,CACI,CADJ,EAAA,WAAA,AAAW,IAG5B,MAAO,CACL,cAAe,CACb,SAAU,EAAS,oBAAoB,CAAC,QAAQ,CAChD,UAAW,EAAS,oBAAoB,CAAC,SAAS,CAClD,WAAY,EAAS,oBAAoB,CAAC,UAAU,AACtD,EACA,KAAM,EAAS,oBAAoB,CAAC,4BAA4B,CAChE,OAAQ,EAAS,8BAA8B,CAC/C,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,eAAgB,EAAS,cAAc,CACvC,KAAM,EAAS,eAAe,CAC9B,aAAc,EAAS,cAAc,EAAE,UAAW,CACpD,CACF,iCAlBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,+CCjBtB,IAAA,EAAA,EAAA,CAAA,CAAA,OAIA,IAAM,EAAmB,IAAI,IAAI,CAAC,QAAS,WAAY,QAAQ,EAExD,eAAe,EAAoB,CAAgB,EACxD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA2B,4BAC5C,EAAa,MAAM,EAAQ,mBAAmB,CAAC,GACrD,MAAO,CAAE,gBAAiB,EAAiB,GAAG,CAAC,EAAY,CAC7D,CAAE,KAAM,CACN,MAAO,CAAE,iBAAiB,CAAM,CAClC,CACF,iCARsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,wFCNtB,EAAA,EAAA,CAAA,CAAA,OAsDO,eAAe,EACpB,CAAyB,EAEzB,GAAM,aACJ,CAAW,gBACX,CAAc,aACd,CAAW,WACX,CAAS,eACT,CAAa,MACb,CAAI,QACJ,CAAM,UACN,CAAQ,MACR,CAAI,CACJ,SAAO,WACP,CAAS,aACT,CAAW,CACX,gBAAc,gBACd,CAAc,gBACd,CAAc,CACd,WAAS,OACT,CAAK,oBACL,CAAkB,cAClB,CAAY,CACb,CAAG,EAEJ,GAAI,CAAC,GAAa,OAChB,CADwB,KACjB,CAAE,MAAO,yBAA0B,EAG5C,GAAI,CAAC,GAAgB,OACnB,CAD2B,KACpB,CAAE,MAAO,4BAA6B,EAG/C,IAAM,ECnFD,ADmFa,SCnFJ,AACd,CAAmB,CACnB,CAAqC,EAErC,GAAI,CAAC,GAAsC,GAAG,CAA1B,EAAY,MAAM,CACpC,OAAO,EAGT,IAAM,EAAO,EACV,GAAG,CAAC,AAAC,GAAO,EAAE,KAAK,EAAE,OAAS,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAA,CAAE,EACnF,IAAI,CAAC,KACR,MAAO,CAAA,EAAG,YAAY;AAAA;AAAI,EAAE,EAAA,CAC9B,AADoC,EDwEC,EAAa,GAC1C,EAAuB,CAC3B,SAAU,GAAe,WAAY,EACrC,UAAW,GAAe,YAAa,EACvC,WAAY,GAAe,aAAc,CAC3C,EAEA,GAAI,CACF,IAAM,EAAuB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAuB,wBAGrD,SAAE,CAAO,aAAE,CAAW,CAAE,CAAG,MAAM,EAAqB,YAAY,CAAC,WACvE,iBACA,EACA,cAAe,EACf,KAAM,IAAQ,EACd,OAAQ,IAAU,EAClB,GAAI,EAAW,UAAE,CAAS,EAAI,CAAC,CAAC,aAChC,EACA,GAAI,EAAO,MAAE,CAAK,EAAI,CAAC,CAAC,CACxB,GAAI,EAAU,SAAE,CAAQ,EAAI,CAAC,CAAC,CAC9B,GAAiB,MAAb,EAAoB,WAAE,CAAU,EAAI,CAAC,CAAC,CAC1C,GAAI,AAAe,QAAO,aAAE,CAAY,EAAI,CAAC,CAAC,CAC9C,GAAsB,MAAlB,EAAyB,gBAAE,CAAe,EAAI,CAAC,CAAC,CACpD,GAAsB,MAAlB,EAAyB,gBAAE,CAAe,EAAI,CAAC,CAAC,CACpD,GAAsB,MAAlB,EAAyB,gBAAE,CAAe,EAAI,CAAC,CAAC,CACpD,GAAI,EAAY,WAAE,CAAU,EAAI,CAAC,CAAC,CAClC,GAAI,EAAQ,OAAE,CAAM,EAAI,CAAC,CAAC,CAC1B,GAA0B,MAAtB,EAA6B,oBAAE,CAAmB,EAAI,CAAC,CAAC,CAC5D,GAAoB,MAAhB,EAAuB,cAAE,CAAa,EAAI,CAAC,CAAC,AAClD,GAkCA,OA9BA,EACG,kBAAkB,CACjB,EACA,CACE,2BACA,EACA,cAAe,EACf,KAAM,IAAQ,EACd,OAAQ,IAAU,EAClB,GAAI,EAAW,UAAE,CAAS,EAAI,CAAC,CAAC,CAChC,GAAI,EAAO,MAAE,CAAK,EAAI,CAAC,CAAC,CACxB,GAAI,EAAU,SAAE,CAAQ,EAAI,CAAC,CAAC,CAC9B,GAAiB,MAAb,EAAoB,WAAE,CAAU,EAAI,CAAC,CAAC,CAC1C,GAAmB,MAAf,EAAsB,aAAE,CAAY,EAAI,CAAC,CAAC,CAC9C,GAAsB,MAAlB,EAAyB,gBAAE,CAAe,EAAI,CAAC,CAAC,CACpD,GAAI,AAAkB,QAAO,CAAE,gBAAe,EAAI,CAAC,CAAC,CACpD,GAAsB,MAAlB,EAAyB,gBAAE,CAAe,EAAI,CAAC,CAAC,CACpD,GAAI,EAAY,WAAE,CAAU,EAAI,CAAC,CAAC,CAClC,GAAI,EAAQ,OAAE,CAAM,EAAI,CAAC,CAAC,CAC1B,GAAI,EAAY,WAAE,CAAU,EAAI,CAAC,CAAC,CAClC,GAAI,AAAsB,QAAO,oBAAE,CAAmB,EAAI,CAAC,CAAC,CAC5D,GAAoB,MAAhB,EAAuB,cAAE,CAAa,EAAI,CAAC,CAAC,AAClD,EACA,GAED,KAAK,CAAC,AAAC,IAEN,QAAQ,KAAK,CAAC,6CAA8C,EAC9D,GAEK,SAAE,CAAQ,CACnB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,0BACjC,CAC1B,CACF,0CAtGsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,iEExDtB,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,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,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/get-viewer-permission.ts","../../../../../../../src/presentation/web/app/actions/create-feature.ts","../../../../../../../src/presentation/web/app/actions/compose-user-input.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/create/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n fast: boolean;\n injectSkills: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n fast: workflow.defaultFastMode,\n injectSkills: workflow.skillInjection?.enabled ?? false,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IGitHubRepositoryService } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\n/** Permissions that grant direct push access to a repository. */\nconst PUSH_PERMISSIONS = new Set(['ADMIN', 'MAINTAIN', 'WRITE']);\n\nexport async function getViewerPermission(repoPath: string): Promise<{ canPushDirectly: boolean }> {\n try {\n const service = resolve<IGitHubRepositoryService>('IGitHubRepositoryService');\n const permission = await service.getViewerPermission(repoPath);\n return { canPushDirectly: PUSH_PERMISSIONS.has(permission) };\n } catch {\n return { canPushDirectly: false };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateFeatureUseCase } from '@shepai/core/application/use-cases/features/create/create-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\nimport { composeUserInput } from './compose-user-input';\n\ninterface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\ninterface ApprovalGates {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n}\n\ninterface CreateFeatureInput {\n description: string;\n repositoryPath: string;\n attachments?: Attachment[];\n sessionId?: string;\n approvalGates?: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge?: boolean;\n };\n push?: boolean;\n openPr?: boolean;\n parentId?: string;\n /** When true, skip SDLC phases and implement directly from the prompt. */\n fast?: boolean;\n /** When true, create the feature in pending state (no agent spawned). */\n pending?: boolean;\n /** Fork repo and create PR to upstream at merge time. */\n forkAndPr?: boolean;\n /** Commit specs/evidences into the repo (default: true, auto-false when forkAndPr). */\n commitSpecs?: boolean;\n /** Enable CI watch/fix loop after push. */\n ciWatchEnabled?: boolean;\n /** Enable evidence collection after implementation. */\n enableEvidence?: boolean;\n /** Commit evidence to PR. */\n commitEvidence?: boolean;\n /** Optional agent type override for this feature run */\n agentType?: string;\n /** Optional model identifier for this feature run */\n model?: string;\n /** Sync main from remote before creating the feature branch (default: true). */\n rebaseBeforeBranch?: boolean;\n /** Inject curated skills into the feature worktree. */\n injectSkills?: boolean;\n}\n\nexport async function createFeature(\n input: CreateFeatureInput\n): Promise<{ feature?: Feature; error?: string }> {\n const {\n description,\n repositoryPath,\n attachments,\n sessionId,\n approvalGates,\n push,\n openPr,\n parentId,\n fast,\n pending,\n forkAndPr,\n commitSpecs,\n ciWatchEnabled,\n enableEvidence,\n commitEvidence,\n agentType,\n model,\n rebaseBeforeBranch,\n injectSkills,\n } = input;\n\n if (!description?.trim()) {\n return { error: 'description is required' };\n }\n\n if (!repositoryPath?.trim()) {\n return { error: 'repositoryPath is required' };\n }\n\n const userInput = composeUserInput(description, attachments);\n const gates: ApprovalGates = {\n allowPrd: approvalGates?.allowPrd ?? false,\n allowPlan: approvalGates?.allowPlan ?? false,\n allowMerge: approvalGates?.allowMerge ?? false,\n };\n\n try {\n const createFeatureUseCase = resolve<CreateFeatureUseCase>('CreateFeatureUseCase');\n\n // Phase 1 (fast): create DB record with real UUID — returns immediately\n const { feature, shouldSpawn } = await createFeatureUseCase.createRecord({\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n description,\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n });\n\n // Phase 2 (background): metadata generation, worktree, spec, agent spawn\n // Fire-and-forget — the UI gets the real feature ID immediately\n createFeatureUseCase\n .initializeAndSpawn(\n feature,\n {\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(sessionId ? { sessionId } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\n },\n shouldSpawn\n )\n .catch((err: unknown) => {\n // eslint-disable-next-line no-console\n console.error('[createFeature] initializeAndSpawn failed:', err);\n });\n\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create feature';\n return { error: message };\n }\n}\n","interface Attachment {\n path: string;\n name: string;\n notes?: string;\n}\n\nexport function composeUserInput(\n description: string,\n attachments: Attachment[] | undefined\n): string {\n if (!attachments || attachments.length === 0) {\n return description;\n }\n\n const refs = attachments\n .map((a) => (a.notes?.trim() ? `@${a.path} [Note: ${a.notes.trim()}]` : `@${a.path}`))\n .join(' ');\n return `${description}\\n\\n${refs}`;\n}\n","export {getAllAgentModels as '001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848'} from 'ACTIONS_MODULE0'\nexport {updateAgentAndModel as '60dc958ec3366652a49eec9736dc0393257293134c'} from 'ACTIONS_MODULE1'\nexport {pickFolder as '0028f3d90984ccc466d39a64b76ea39c0f8df9247e'} from 'ACTIONS_MODULE2'\nexport {listGitHubRepositories as '4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668'} from 'ACTIONS_MODULE3'\nexport {listGitHubOrganizations as '00270f7f69e09ea12e6f2d9f98617800cee7c19285'} from 'ACTIONS_MODULE4'\nexport {importGitHubRepository as '40c05910e26f714eab2855169bab9d9c0aceb222ce'} from 'ACTIONS_MODULE5'\nexport {deployFeature as '40cc413b09aa176399e071d494425cc79a706195af'} from 'ACTIONS_MODULE6'\nexport {deployRepository as '40c3863302ec32d355478790b603768c8ff84a7844'} from 'ACTIONS_MODULE7'\nexport {stopDeployment as '401e09e242ed60542d2f55348481c786c63c59c3d2'} from 'ACTIONS_MODULE8'\nexport {getDeploymentStatus as '40c5386798acecb99dde8c7daf21d45fc7e0ce9298'} from 'ACTIONS_MODULE9'\nexport {openIde as '40a0aa6527d21b516b84ee1e1aab8b8dc683fec81f'} from 'ACTIONS_MODULE10'\nexport {openShell as '4066086b61bd91b000d9facaed8150980f25d16309'} from 'ACTIONS_MODULE11'\nexport {openFolder as '40cd0aa8f73daf00e3a1ff39642060b5253e3e1d96'} from 'ACTIONS_MODULE12'\nexport {syncRepository as '40793737e70c688a6aaa30907ae189083a11b52e4f'} from 'ACTIONS_MODULE13'\nexport {getDeploymentLogs as '409a9b98e9057b09922b61628ffd9515f01f799df4'} from 'ACTIONS_MODULE14'\nexport {isAgentSetupComplete as '006ca619c3f55f173e6d501c8cfdf3b3a549037049'} from 'ACTIONS_MODULE15'\nexport {checkAgentAuth as '00aa45f1de901063512a9b5cec0eeb3f619c689a67'} from 'ACTIONS_MODULE16'\nexport {checkToolStatus as '00ede697a7600dd92ac780389e5a81486d8c39b64f'} from 'ACTIONS_MODULE17'\nexport {archiveFeature as '40c7d8131c773e52cd15f03e9f1b9794c59bbe480e'} from 'ACTIONS_MODULE18'\nexport {deleteFeature as '78473a6cea436abbbb8c8541b89ab785edc50ea3fb'} from 'ACTIONS_MODULE19'\nexport {resumeFeature as '40a6641ff32eae0ac63bdedcd4bbb23dac2e1fa9ae'} from 'ACTIONS_MODULE20'\nexport {startFeature as '404fd3d27f7cf651e3c8338d503f0f01953a05c85b'} from 'ACTIONS_MODULE21'\nexport {stopFeature as '40c92261f7691857ed0fba1e471eb287acd541409d'} from 'ACTIONS_MODULE22'\nexport {unarchiveFeature as '40a3650c0a8519e9afb8b05c385b8d6a70c53745e9'} from 'ACTIONS_MODULE23'\nexport {addRepository as '403fbc73fab0fc0171ce6be393fe0c57cb03056455'} from 'ACTIONS_MODULE24'\nexport {deleteRepository as '401250098787424cc1604bfc43ac20fb5c977e998f'} from 'ACTIONS_MODULE25'\nexport {getFeatureMetadata as '4062e954af5b476b25948fe681ddfd73c7ac910a2b'} from 'ACTIONS_MODULE26'\nexport {getWorkflowDefaults as '00adf2aa6bc0031fb4a9719189134218317a249790'} from 'ACTIONS_MODULE27'\nexport {getViewerPermission as '40b2c169802f8f3a44890b298c6afca9eb3b057c13'} from 'ACTIONS_MODULE28'\nexport {createFeature as '40da15f5920074da6c683d8a0a370d636c70a0dfc8'} from 'ACTIONS_MODULE29'\nexport {getViewerPermission as '40b2c169802f8f3a44890b298c6afca9eb3b057c13'} from 'ACTIONS_MODULE28'\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[35556,a=>{"use strict";var b=a.i(92658),c=a.i(74533),d=a.i(12057),e=a.i(12581);let f=(0,d.promisify)(c.execFile);async function g(a,b){let{stdout:c}=await f("git",b,{cwd:a,timeout:5e3});return c.trim()}async function h(a,b=8){if(!a.trim())return{commits:[],branches:[],remotes:[],tags:[],stashCount:0,currentBranch:"",diffStats:null,workingTree:{staged:0,modified:0,untracked:0},error:"Repository path is required"};let c=await Promise.allSettled([g(a,["log",`--max-count=${b}`,"--format=%H%x00%h%x00%s%x00%an%x00%cr","--no-color"]),g(a,["branch","--show-current"]),g(a,["branch","--sort=-committerdate","--format=%(HEAD)%(refname:short)%00%(committerdate:relative)","--no-color"]),g(a,["remote","-v"]),g(a,["tag","--sort=-creatordate","-l","--format=%(refname:short)"]),g(a,["stash","list"]),g(a,["status","--porcelain"]),g(a,["diff","--shortstat"])]),d=a=>"fulfilled"===c[a].status?c[a].value:"",e=d(0).split("\n").filter(Boolean).map(a=>{let[b,c,d,e,f]=a.split("\0");return{hash:b,shortHash:c,subject:d,author:e,relativeDate:f}}),f=d(1);e.length>0&&f&&(e[0].branch=f);let i=d(2).split("\n").filter(Boolean).slice(0,10).map(a=>{let b=a.startsWith("*"),[c,d]=(b?a.slice(1):a).split("\0");return{name:c.trim(),isCurrent:b,lastCommitDate:d?.trim()??""}}),j=new Map;d(3).split("\n").filter(Boolean).forEach(a=>{let b=a.match(/^(\S+)\s+(\S+)\s+\(fetch\)/);if(b){let a=b[2].replace(/\/\/[^@]+@/,"//").replace(/x-access-token:[^@]+@/,"");j.set(b[1],a)}});let k=Array.from(j,([a,b])=>({name:a,url:b})),l=d(4).split("\n").filter(Boolean).slice(0,5),m=d(5).split("\n").filter(Boolean).length,n=d(6).split("\n").filter(Boolean),o={staged:0,modified:0,untracked:0};for(let a of n){let b=a[0],c=a[1];"?"===b&&"?"===c?o.untracked++:" "!==b&&"?"!==b&&o.staged++," "!==c&&"?"!==c&&o.modified++}let p=null,q=d(7);if(q){let a=q.match(/(\d+) file/),b=q.match(/(\d+) insertion/),c=q.match(/(\d+) deletion/);p={filesChanged:a?parseInt(a[1],10):0,insertions:b?parseInt(b[1],10):0,deletions:c?parseInt(c[1],10):0}}return{commits:e,branches:i,remotes:k,tags:l,stashCount:m,currentBranch:f,diffStats:p,workingTree:o}}async function i(a,b=10){let c=await h(a,b);return{entries:c.commits,error:c.error}}(0,e.ensureServerEntryExports)([h,i]),(0,b.registerServerReference)(h,"
|
|
1
|
+
module.exports=[35556,a=>{"use strict";var b=a.i(92658),c=a.i(74533),d=a.i(12057),e=a.i(12581);let f=(0,d.promisify)(c.execFile);async function g(a,b){let{stdout:c}=await f("git",b,{cwd:a,timeout:5e3});return c.trim()}async function h(a,b=8){if(!a.trim())return{commits:[],branches:[],remotes:[],tags:[],stashCount:0,currentBranch:"",diffStats:null,workingTree:{staged:0,modified:0,untracked:0},error:"Repository path is required"};let c=await Promise.allSettled([g(a,["log",`--max-count=${b}`,"--format=%H%x00%h%x00%s%x00%an%x00%cr","--no-color"]),g(a,["branch","--show-current"]),g(a,["branch","--sort=-committerdate","--format=%(HEAD)%(refname:short)%00%(committerdate:relative)","--no-color"]),g(a,["remote","-v"]),g(a,["tag","--sort=-creatordate","-l","--format=%(refname:short)"]),g(a,["stash","list"]),g(a,["status","--porcelain"]),g(a,["diff","--shortstat"])]),d=a=>"fulfilled"===c[a].status?c[a].value:"",e=d(0).split("\n").filter(Boolean).map(a=>{let[b,c,d,e,f]=a.split("\0");return{hash:b,shortHash:c,subject:d,author:e,relativeDate:f}}),f=d(1);e.length>0&&f&&(e[0].branch=f);let i=d(2).split("\n").filter(Boolean).slice(0,10).map(a=>{let b=a.startsWith("*"),[c,d]=(b?a.slice(1):a).split("\0");return{name:c.trim(),isCurrent:b,lastCommitDate:d?.trim()??""}}),j=new Map;d(3).split("\n").filter(Boolean).forEach(a=>{let b=a.match(/^(\S+)\s+(\S+)\s+\(fetch\)/);if(b){let a=b[2].replace(/\/\/[^@]+@/,"//").replace(/x-access-token:[^@]+@/,"");j.set(b[1],a)}});let k=Array.from(j,([a,b])=>({name:a,url:b})),l=d(4).split("\n").filter(Boolean).slice(0,5),m=d(5).split("\n").filter(Boolean).length,n=d(6).split("\n").filter(Boolean),o={staged:0,modified:0,untracked:0};for(let a of n){let b=a[0],c=a[1];"?"===b&&"?"===c?o.untracked++:" "!==b&&"?"!==b&&o.staged++," "!==c&&"?"!==c&&o.modified++}let p=null,q=d(7);if(q){let a=q.match(/(\d+) file/),b=q.match(/(\d+) insertion/),c=q.match(/(\d+) deletion/);p={filesChanged:a?parseInt(a[1],10):0,insertions:b?parseInt(b[1],10):0,deletions:c?parseInt(c[1],10):0}}return{commits:e,branches:i,remotes:k,tags:l,stashCount:m,currentBranch:f,diffStats:p,workingTree:o}}async function i(a,b=10){let c=await h(a,b);return{entries:c.commits,error:c.error}}(0,e.ensureServerEntryExports)([h,i]),(0,b.registerServerReference)(h,"604bf1c633a96507c1d99f71139f7a18aadcd92ca6",null),(0,b.registerServerReference)(i,"60e4eebf4a7ff1ec8fe7f77fd4c31a6739570b45f1",null),a.s(["getGitRepoInfo",()=>h])},99837,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(33841),i=a.i(46646),j=a.i(68670),k=a.i(85321),l=a.i(84095),m=a.i(56799),n=a.i(80496),o=a.i(93225),p=a.i(94691),q=a.i(41872),r=a.i(9959),s=a.i(79124),t=a.i(10528),u=a.i(50845),v=a.i(26604),w=a.i(54723),x=a.i(18942),y=a.i(42886),z=a.i(49560),A=a.i(39353),B=a.i(29207),C=a.i(35556);a.s([],34346),a.i(34346),a.s(["001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848",()=>b.getAllAgentModels,"00270f7f69e09ea12e6f2d9f98617800cee7c19285",()=>f.listGitHubOrganizations,"0028f3d90984ccc466d39a64b76ea39c0f8df9247e",()=>d.pickFolder,"006ca619c3f55f173e6d501c8cfdf3b3a549037049",()=>q.isAgentSetupComplete,"00aa45f1de901063512a9b5cec0eeb3f619c689a67",()=>r.checkAgentAuth,"00ede697a7600dd92ac780389e5a81486d8c39b64f",()=>s.checkToolStatus,"401250098787424cc1604bfc43ac20fb5c977e998f",()=>A.deleteRepository,"401e09e242ed60542d2f55348481c786c63c59c3d2",()=>j.stopDeployment,"403fbc73fab0fc0171ce6be393fe0c57cb03056455",()=>z.addRepository,"404fd3d27f7cf651e3c8338d503f0f01953a05c85b",()=>w.startFeature,"4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668",()=>e.listGitHubRepositories,"4062e954af5b476b25948fe681ddfd73c7ac910a2b",()=>B.getFeatureMetadata,"4066086b61bd91b000d9facaed8150980f25d16309",()=>m.openShell,"40793737e70c688a6aaa30907ae189083a11b52e4f",()=>o.syncRepository,"409a9b98e9057b09922b61628ffd9515f01f799df4",()=>p.getDeploymentLogs,"40a0aa6527d21b516b84ee1e1aab8b8dc683fec81f",()=>l.openIde,"40a3650c0a8519e9afb8b05c385b8d6a70c53745e9",()=>y.unarchiveFeature,"40a6641ff32eae0ac63bdedcd4bbb23dac2e1fa9ae",()=>v.resumeFeature,"40c05910e26f714eab2855169bab9d9c0aceb222ce",()=>g.importGitHubRepository,"40c3863302ec32d355478790b603768c8ff84a7844",()=>i.deployRepository,"40c5386798acecb99dde8c7daf21d45fc7e0ce9298",()=>k.getDeploymentStatus,"40c7d8131c773e52cd15f03e9f1b9794c59bbe480e",()=>t.archiveFeature,"40c92261f7691857ed0fba1e471eb287acd541409d",()=>x.stopFeature,"40cc413b09aa176399e071d494425cc79a706195af",()=>h.deployFeature,"40cd0aa8f73daf00e3a1ff39642060b5253e3e1d96",()=>n.openFolder,"604bf1c633a96507c1d99f71139f7a18aadcd92ca6",()=>C.getGitRepoInfo,"60dc958ec3366652a49eec9736dc0393257293134c",()=>c.updateAgentAndModel,"78473a6cea436abbbb8c8541b89ab785edc50ea3fb",()=>u.deleteFeature],99837)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web_807cba76._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-git-log.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nasync function git(cwd: string, args: string[]): Promise<string> {\n const { stdout } = await execFileAsync('git', args, { cwd, timeout: 5000 });\n return stdout.trim();\n}\n\nexport interface GitLogEntry {\n hash: string;\n shortHash: string;\n subject: string;\n author: string;\n relativeDate: string;\n branch?: string;\n}\n\nexport interface GitBranchInfo {\n name: string;\n isCurrent: boolean;\n lastCommitDate: string;\n}\n\nexport interface GitRemoteInfo {\n name: string;\n url: string;\n}\n\nexport interface GitWorkingTreeStatus {\n staged: number;\n modified: number;\n untracked: number;\n}\n\nexport interface GitDiffStats {\n filesChanged: number;\n insertions: number;\n deletions: number;\n}\n\nexport interface GitRepoInfo {\n commits: GitLogEntry[];\n branches: GitBranchInfo[];\n remotes: GitRemoteInfo[];\n tags: string[];\n stashCount: number;\n currentBranch: string;\n diffStats: GitDiffStats | null;\n workingTree: GitWorkingTreeStatus;\n error?: string;\n}\n\nexport async function getGitRepoInfo(\n repositoryPath: string,\n commitLimit = 8\n): Promise<GitRepoInfo> {\n const empty: GitRepoInfo = {\n commits: [],\n branches: [],\n remotes: [],\n tags: [],\n stashCount: 0,\n currentBranch: '',\n diffStats: null,\n workingTree: { staged: 0, modified: 0, untracked: 0 },\n };\n\n if (!repositoryPath.trim()) {\n return { ...empty, error: 'Repository path is required' };\n }\n\n const results = await Promise.allSettled([\n // 0: commits\n git(repositoryPath, [\n 'log',\n `--max-count=${commitLimit}`,\n '--format=%H%x00%h%x00%s%x00%an%x00%cr',\n '--no-color',\n ]),\n // 1: current branch\n git(repositoryPath, ['branch', '--show-current']),\n // 2: branches with dates\n git(repositoryPath, [\n 'branch',\n '--sort=-committerdate',\n '--format=%(HEAD)%(refname:short)%00%(committerdate:relative)',\n '--no-color',\n ]),\n // 3: remotes\n git(repositoryPath, ['remote', '-v']),\n // 4: tags (recent 5)\n git(repositoryPath, ['tag', '--sort=-creatordate', '-l', '--format=%(refname:short)']),\n // 5: stash count\n git(repositoryPath, ['stash', 'list']),\n // 6: working tree status\n git(repositoryPath, ['status', '--porcelain']),\n // 7: diff stats (uncommitted)\n git(repositoryPath, ['diff', '--shortstat']),\n ]);\n\n const val = (i: number) => (results[i].status === 'fulfilled' ? results[i].value : '');\n\n // Parse commits\n const commits: GitLogEntry[] = val(0)\n .split('\\n')\n .filter(Boolean)\n .map((line: string) => {\n const [hash, shortHash, subject, author, relativeDate] = line.split('\\0');\n return { hash, shortHash, subject, author, relativeDate };\n });\n\n const currentBranch = val(1);\n if (commits.length > 0 && currentBranch) {\n commits[0].branch = currentBranch;\n }\n\n // Parse branches\n const branches: GitBranchInfo[] = val(2)\n .split('\\n')\n .filter(Boolean)\n .slice(0, 10)\n .map((line: string) => {\n const isCurrent = line.startsWith('*');\n const clean = isCurrent ? line.slice(1) : line;\n const [name, lastCommitDate] = clean.split('\\0');\n return { name: name.trim(), isCurrent, lastCommitDate: lastCommitDate?.trim() ?? '' };\n });\n\n // Parse remotes (dedup fetch/push)\n const remoteMap = new Map<string, string>();\n val(3)\n .split('\\n')\n .filter(Boolean)\n .forEach((line: string) => {\n const match = line.match(/^(\\S+)\\s+(\\S+)\\s+\\(fetch\\)/);\n if (match) {\n // Strip credentials/tokens from URL before sending to client\n const sanitized = match[2].replace(/\\/\\/[^@]+@/, '//').replace(/x-access-token:[^@]+@/, '');\n remoteMap.set(match[1], sanitized);\n }\n });\n const remotes: GitRemoteInfo[] = Array.from(remoteMap, ([name, url]) => ({ name, url }));\n\n // Parse tags (top 5)\n const tags = val(4).split('\\n').filter(Boolean).slice(0, 5);\n\n // Stash count\n const stashCount = val(5).split('\\n').filter(Boolean).length;\n\n // Working tree status\n const statusLines = val(6).split('\\n').filter(Boolean);\n const workingTree: GitWorkingTreeStatus = { staged: 0, modified: 0, untracked: 0 };\n for (const line of statusLines) {\n const x = line[0];\n const y = line[1];\n if (x === '?' && y === '?') workingTree.untracked++;\n else if (x !== ' ' && x !== '?') workingTree.staged++;\n if (y !== ' ' && y !== '?') workingTree.modified++;\n }\n\n // Diff stats\n let diffStats: GitDiffStats | null = null;\n const diffLine = val(7);\n if (diffLine) {\n const files = diffLine.match(/(\\d+) file/);\n const ins = diffLine.match(/(\\d+) insertion/);\n const del = diffLine.match(/(\\d+) deletion/);\n diffStats = {\n filesChanged: files ? parseInt(files[1], 10) : 0,\n insertions: ins ? parseInt(ins[1], 10) : 0,\n deletions: del ? parseInt(del[1], 10) : 0,\n };\n }\n\n return { commits, branches, remotes, tags, stashCount, currentBranch, diffStats, workingTree };\n}\n\n// Keep backward compat\nexport async function getGitLog(\n repositoryPath: string,\n limit = 10\n): Promise<{ entries: GitLogEntry[]; error?: string }> {\n const info = await getGitRepoInfo(repositoryPath, limit);\n return { entries: info.commits, error: info.error };\n}\n","export {getAllAgentModels as '00938e719ff405c1501e4c1ca8d8ca82a5e9580cbe'} from 'ACTIONS_MODULE0'\nexport {updateAgentAndModel as '60dc96620bba613992da55450c189754a9da711dd7'} from 'ACTIONS_MODULE1'\nexport {pickFolder as '0048c081175a3bed4c6066689d18f10d7c2e40b0d9'} from 'ACTIONS_MODULE2'\nexport {listGitHubRepositories as '40a092f1120244a8d30eb37b38e5a38ba37c1b62b1'} from 'ACTIONS_MODULE3'\nexport {listGitHubOrganizations as '000b950681a492d33f384aabd0f4c4b708e6e8e5f7'} from 'ACTIONS_MODULE4'\nexport {importGitHubRepository as '40e9e6041df741a83abb19da2796879eb81bea787a'} from 'ACTIONS_MODULE5'\nexport {deployFeature as '40c6c07337f306e9ca85c7508182a50910ac6ef680'} from 'ACTIONS_MODULE6'\nexport {deployRepository as '40840261c6cfec3b394d936fc626b69038cb0f3aca'} from 'ACTIONS_MODULE7'\nexport {stopDeployment as '40f40d66b924c77e9301ba6f43726a93c607ff99f8'} from 'ACTIONS_MODULE8'\nexport {getDeploymentStatus as '40c9d846a09436dcc4ebcda31aafe9eff41f6b191b'} from 'ACTIONS_MODULE9'\nexport {openIde as '408ba7420501bef015a7685b1574389e5c77bcafb3'} from 'ACTIONS_MODULE10'\nexport {openShell as '402577aa0da96f72ae22c44bce1e982dcd40fbcf32'} from 'ACTIONS_MODULE11'\nexport {openFolder as '402e6efa1ffb80670ef321d5511dc2e3aaba413b21'} from 'ACTIONS_MODULE12'\nexport {syncRepository as '403193740f4bae1e4b5194d24a52f9038afa84bb39'} from 'ACTIONS_MODULE13'\nexport {getDeploymentLogs as '40b9330f979bf167718ce9cc1778cfb48b6d824d2f'} from 'ACTIONS_MODULE14'\nexport {isAgentSetupComplete as '00b743fb6b9fba62819f4dc5b6e0648b0b02a861b3'} from 'ACTIONS_MODULE15'\nexport {checkAgentAuth as '00f242d1ecd62303e02958ba8b344349a0671782ea'} from 'ACTIONS_MODULE16'\nexport {checkToolStatus as '0001ead9a5ba986f12136506861bcc6a390649159c'} from 'ACTIONS_MODULE17'\nexport {archiveFeature as '401ba9eba4cfd8b7527ed2397c42e3469a928d79a9'} from 'ACTIONS_MODULE18'\nexport {deleteFeature as '780748aa80480e369d41661df2fce2253b98ce7c5f'} from 'ACTIONS_MODULE19'\nexport {resumeFeature as '40372982afb31d845ccb19c31ecc18bb4e1bb9dae5'} from 'ACTIONS_MODULE20'\nexport {startFeature as '40c3e988b8f56770f659fb3a75f7adc049af354111'} from 'ACTIONS_MODULE21'\nexport {stopFeature as '40d51f49a713e1616959f0f61fd9b8322ae8db194c'} from 'ACTIONS_MODULE22'\nexport {unarchiveFeature as '40755653ed75a78713e0f433ad5df29a3fe059f0a6'} from 'ACTIONS_MODULE23'\nexport {addRepository as '4005d75d9b5cd73945afc8a3ef48be0bb6147d6d28'} from 'ACTIONS_MODULE24'\nexport {deleteRepository as '405fdcbc84efa44b6c24e0fc429c7384fec7abc626'} from 'ACTIONS_MODULE25'\nexport {getFeatureMetadata as '40cf93f760c9194aca8eab99c3d7b18c1eff3eee33'} from 'ACTIONS_MODULE26'\nexport {getGitRepoInfo as '604e8fad7d00fb663bafd9813e5ddcd69ac5661cae'} from 'ACTIONS_MODULE27'\n"],"names":[],"mappings":"wDAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,oBAEA,IAAM,EAAgB,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,EAAA,QAAQ,EAExC,eAAe,EAAI,CAAW,CAAE,CAAc,EAC5C,GAAM,QAAE,CAAM,CAAE,CAAG,MAAM,EAAc,MAAO,EAAM,KAAE,EAAK,QAAS,GAAK,GACzE,OAAO,EAAO,IAAI,EACpB,CA8CO,eAAe,EACpB,CAAsB,CACtB,EAAc,CAAC,EAaf,GAAI,CAAC,EAAe,IAAI,GACtB,CAD0B,KACnB,CAXP,QAAS,EAAE,CACX,SAAU,EAAE,CACZ,QAAS,EAAE,CACX,KAAM,EAAE,CACR,WAAY,EACZ,cAAe,GACf,UAAW,KACX,YAAa,CAAE,OAAQ,EAAG,SAAU,EAAG,UAAW,CAAE,EAIjC,MAAO,6BAA8B,EAG1D,IAAM,EAAU,MAAM,QAAQ,UAAU,CAAC,CAEvC,EAAI,EAAgB,CAClB,MACA,CAAC,YAAY,EAAE,EAAA,CAAa,CAC5B,wCACA,aACD,EAED,EAAI,EAAgB,CAAC,SAAU,iBAAiB,EAEhD,EAAI,EAAgB,CAClB,SACA,wBACA,+DACA,aACD,EAED,EAAI,EAAgB,CAAC,SAAU,KAAK,EAEpC,EAAI,EAAgB,CAAC,MAAO,sBAAuB,KAAM,4BAA4B,EAErF,EAAI,EAAgB,CAAC,QAAS,OAAO,EAErC,EAAI,EAAgB,CAAC,SAAU,cAAc,EAE7C,EAAI,EAAgB,CAAC,OAAQ,cAAc,EAC5C,EAEK,EAAM,AAAC,GAAqC,cAAtB,CAAO,CAAC,EAAE,CAAC,MAAM,CAAmB,CAAO,CAAC,EAAE,CAAC,KAAK,CAAG,GAG7E,EAAyB,EAAI,GAChC,KAAK,CAAC,MACN,MAAM,CAAC,SACP,GAAG,CAAC,AAAC,IACJ,GAAM,CAAC,EAAM,EAAW,EAAS,EAAQ,EAAa,CAAG,EAAK,KAAK,CAAC,MACpE,MAAO,MAAE,YAAM,UAAW,SAAS,eAAQ,CAAa,CAC1D,GAEI,EAAgB,EAAI,GACtB,EAAQ,MAAM,CAAG,GAAK,IACxB,CAAO,CAAC,EAAE,CAAC,MAAM,AADsB,CACnB,CAAA,EAItB,IAAM,EAA4B,EAAI,GACnC,KAAK,CAAC,MACN,MAAM,CAAC,SACP,KAAK,CAAC,EAAG,IACT,GAAG,CAAC,AAAC,IACJ,IAAM,EAAY,EAAK,UAAU,CAAC,KAE5B,CAAC,EAAM,EAAe,CAAG,CADjB,EAAY,EAAK,KAAK,CAAC,GAAK,CAAA,EACL,KAAK,CAAC,MAC3C,MAAO,CAAE,KAAM,EAAK,IAAI,GAAI,YAAW,eAAgB,GAAgB,QAAU,EAAG,CACtF,GAGI,EAAY,IAAI,IACtB,EAAI,GACD,KAAK,CAAC,MACN,MAAM,CAAC,SACP,OAAO,CAAC,AAAC,IACR,IAAM,EAAQ,EAAK,KAAK,CAAC,8BACzB,GAAI,EAAO,CAET,IAAM,EAAY,CAAK,CAAC,EAAE,CAAC,OAAO,CAAC,aAAc,MAAM,OAAO,CAAC,wBAAyB,IACxF,EAAU,GAAG,CAAC,CAAK,CAAC,EAAE,CAAE,EAC1B,CACF,GACF,IAAM,EAA2B,MAAM,IAAI,CAAC,EAAW,CAAC,CAAC,EAAM,EAAI,GAAK,AAAC,OAAE,MAAM,EAAI,CAAC,EAGhF,EAAO,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SAAS,KAAK,CAAC,EAAG,GAGnD,EAAa,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SAAS,MAAM,CAGtD,EAAc,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SACxC,EAAoC,CAAE,OAAQ,EAAG,SAAU,EAAG,UAAW,CAAE,EACjF,IAAK,IAAM,KAAQ,EAAa,CAC9B,IAAM,EAAI,CAAI,CAAC,EAAE,CACX,EAAI,CAAI,CAAC,EAAE,CACP,MAAN,GAAmB,MAAN,EAAW,EAAY,SAAS,GAClC,MAAN,GAAmB,MAAN,GAAW,EAAY,MAAM,GAC/C,AAAM,SAAa,MAAN,GAAW,EAAY,QAAQ,EAClD,CAGA,IAAI,EAAiC,KAC/B,EAAW,EAAI,GACrB,GAAI,EAAU,CACZ,IAAM,EAAQ,EAAS,KAAK,CAAC,cACvB,EAAM,EAAS,KAAK,CAAC,mBACrB,EAAM,EAAS,KAAK,CAAC,kBAC3B,EAAY,CACV,aAAc,EAAQ,SAAS,CAAK,CAAC,EAAE,CAAE,IAAM,EAC/C,WAAY,EAAM,SAAS,CAAG,CAAC,EAAE,CAAE,IAAM,EACzC,UAAW,EAAM,SAAS,CAAG,CAAC,EAAE,CAAE,IAAM,CAC1C,CACF,CAEA,MAAO,SAAE,WAAS,UAAU,EAAS,OAAM,2BAAY,YAAe,cAAW,CAAY,CAC/F,CAGO,eAAe,EACpB,CAAsB,CACtB,EAAQ,EAAE,EAEV,IAAM,EAAO,MAAM,EAAe,EAAgB,GAClD,MAAO,CAAE,QAAS,EAAK,OAAO,CAAE,MAAO,EAAK,KAAK,AAAC,CACpD,iCApIsB,EA8HA,IA9HA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MA8HA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,4DCtLtB,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,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,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-git-log.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/repository/%5BrepositoryId%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nasync function git(cwd: string, args: string[]): Promise<string> {\n const { stdout } = await execFileAsync('git', args, { cwd, timeout: 5000 });\n return stdout.trim();\n}\n\nexport interface GitLogEntry {\n hash: string;\n shortHash: string;\n subject: string;\n author: string;\n relativeDate: string;\n branch?: string;\n}\n\nexport interface GitBranchInfo {\n name: string;\n isCurrent: boolean;\n lastCommitDate: string;\n}\n\nexport interface GitRemoteInfo {\n name: string;\n url: string;\n}\n\nexport interface GitWorkingTreeStatus {\n staged: number;\n modified: number;\n untracked: number;\n}\n\nexport interface GitDiffStats {\n filesChanged: number;\n insertions: number;\n deletions: number;\n}\n\nexport interface GitRepoInfo {\n commits: GitLogEntry[];\n branches: GitBranchInfo[];\n remotes: GitRemoteInfo[];\n tags: string[];\n stashCount: number;\n currentBranch: string;\n diffStats: GitDiffStats | null;\n workingTree: GitWorkingTreeStatus;\n error?: string;\n}\n\nexport async function getGitRepoInfo(\n repositoryPath: string,\n commitLimit = 8\n): Promise<GitRepoInfo> {\n const empty: GitRepoInfo = {\n commits: [],\n branches: [],\n remotes: [],\n tags: [],\n stashCount: 0,\n currentBranch: '',\n diffStats: null,\n workingTree: { staged: 0, modified: 0, untracked: 0 },\n };\n\n if (!repositoryPath.trim()) {\n return { ...empty, error: 'Repository path is required' };\n }\n\n const results = await Promise.allSettled([\n // 0: commits\n git(repositoryPath, [\n 'log',\n `--max-count=${commitLimit}`,\n '--format=%H%x00%h%x00%s%x00%an%x00%cr',\n '--no-color',\n ]),\n // 1: current branch\n git(repositoryPath, ['branch', '--show-current']),\n // 2: branches with dates\n git(repositoryPath, [\n 'branch',\n '--sort=-committerdate',\n '--format=%(HEAD)%(refname:short)%00%(committerdate:relative)',\n '--no-color',\n ]),\n // 3: remotes\n git(repositoryPath, ['remote', '-v']),\n // 4: tags (recent 5)\n git(repositoryPath, ['tag', '--sort=-creatordate', '-l', '--format=%(refname:short)']),\n // 5: stash count\n git(repositoryPath, ['stash', 'list']),\n // 6: working tree status\n git(repositoryPath, ['status', '--porcelain']),\n // 7: diff stats (uncommitted)\n git(repositoryPath, ['diff', '--shortstat']),\n ]);\n\n const val = (i: number) => (results[i].status === 'fulfilled' ? results[i].value : '');\n\n // Parse commits\n const commits: GitLogEntry[] = val(0)\n .split('\\n')\n .filter(Boolean)\n .map((line: string) => {\n const [hash, shortHash, subject, author, relativeDate] = line.split('\\0');\n return { hash, shortHash, subject, author, relativeDate };\n });\n\n const currentBranch = val(1);\n if (commits.length > 0 && currentBranch) {\n commits[0].branch = currentBranch;\n }\n\n // Parse branches\n const branches: GitBranchInfo[] = val(2)\n .split('\\n')\n .filter(Boolean)\n .slice(0, 10)\n .map((line: string) => {\n const isCurrent = line.startsWith('*');\n const clean = isCurrent ? line.slice(1) : line;\n const [name, lastCommitDate] = clean.split('\\0');\n return { name: name.trim(), isCurrent, lastCommitDate: lastCommitDate?.trim() ?? '' };\n });\n\n // Parse remotes (dedup fetch/push)\n const remoteMap = new Map<string, string>();\n val(3)\n .split('\\n')\n .filter(Boolean)\n .forEach((line: string) => {\n const match = line.match(/^(\\S+)\\s+(\\S+)\\s+\\(fetch\\)/);\n if (match) {\n // Strip credentials/tokens from URL before sending to client\n const sanitized = match[2].replace(/\\/\\/[^@]+@/, '//').replace(/x-access-token:[^@]+@/, '');\n remoteMap.set(match[1], sanitized);\n }\n });\n const remotes: GitRemoteInfo[] = Array.from(remoteMap, ([name, url]) => ({ name, url }));\n\n // Parse tags (top 5)\n const tags = val(4).split('\\n').filter(Boolean).slice(0, 5);\n\n // Stash count\n const stashCount = val(5).split('\\n').filter(Boolean).length;\n\n // Working tree status\n const statusLines = val(6).split('\\n').filter(Boolean);\n const workingTree: GitWorkingTreeStatus = { staged: 0, modified: 0, untracked: 0 };\n for (const line of statusLines) {\n const x = line[0];\n const y = line[1];\n if (x === '?' && y === '?') workingTree.untracked++;\n else if (x !== ' ' && x !== '?') workingTree.staged++;\n if (y !== ' ' && y !== '?') workingTree.modified++;\n }\n\n // Diff stats\n let diffStats: GitDiffStats | null = null;\n const diffLine = val(7);\n if (diffLine) {\n const files = diffLine.match(/(\\d+) file/);\n const ins = diffLine.match(/(\\d+) insertion/);\n const del = diffLine.match(/(\\d+) deletion/);\n diffStats = {\n filesChanged: files ? parseInt(files[1], 10) : 0,\n insertions: ins ? parseInt(ins[1], 10) : 0,\n deletions: del ? parseInt(del[1], 10) : 0,\n };\n }\n\n return { commits, branches, remotes, tags, stashCount, currentBranch, diffStats, workingTree };\n}\n\n// Keep backward compat\nexport async function getGitLog(\n repositoryPath: string,\n limit = 10\n): Promise<{ entries: GitLogEntry[]; error?: string }> {\n const info = await getGitRepoInfo(repositoryPath, limit);\n return { entries: info.commits, error: info.error };\n}\n","export {getAllAgentModels as '001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848'} from 'ACTIONS_MODULE0'\nexport {updateAgentAndModel as '60dc958ec3366652a49eec9736dc0393257293134c'} from 'ACTIONS_MODULE1'\nexport {pickFolder as '0028f3d90984ccc466d39a64b76ea39c0f8df9247e'} from 'ACTIONS_MODULE2'\nexport {listGitHubRepositories as '4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668'} from 'ACTIONS_MODULE3'\nexport {listGitHubOrganizations as '00270f7f69e09ea12e6f2d9f98617800cee7c19285'} from 'ACTIONS_MODULE4'\nexport {importGitHubRepository as '40c05910e26f714eab2855169bab9d9c0aceb222ce'} from 'ACTIONS_MODULE5'\nexport {deployFeature as '40cc413b09aa176399e071d494425cc79a706195af'} from 'ACTIONS_MODULE6'\nexport {deployRepository as '40c3863302ec32d355478790b603768c8ff84a7844'} from 'ACTIONS_MODULE7'\nexport {stopDeployment as '401e09e242ed60542d2f55348481c786c63c59c3d2'} from 'ACTIONS_MODULE8'\nexport {getDeploymentStatus as '40c5386798acecb99dde8c7daf21d45fc7e0ce9298'} from 'ACTIONS_MODULE9'\nexport {openIde as '40a0aa6527d21b516b84ee1e1aab8b8dc683fec81f'} from 'ACTIONS_MODULE10'\nexport {openShell as '4066086b61bd91b000d9facaed8150980f25d16309'} from 'ACTIONS_MODULE11'\nexport {openFolder as '40cd0aa8f73daf00e3a1ff39642060b5253e3e1d96'} from 'ACTIONS_MODULE12'\nexport {syncRepository as '40793737e70c688a6aaa30907ae189083a11b52e4f'} from 'ACTIONS_MODULE13'\nexport {getDeploymentLogs as '409a9b98e9057b09922b61628ffd9515f01f799df4'} from 'ACTIONS_MODULE14'\nexport {isAgentSetupComplete as '006ca619c3f55f173e6d501c8cfdf3b3a549037049'} from 'ACTIONS_MODULE15'\nexport {checkAgentAuth as '00aa45f1de901063512a9b5cec0eeb3f619c689a67'} from 'ACTIONS_MODULE16'\nexport {checkToolStatus as '00ede697a7600dd92ac780389e5a81486d8c39b64f'} from 'ACTIONS_MODULE17'\nexport {archiveFeature as '40c7d8131c773e52cd15f03e9f1b9794c59bbe480e'} from 'ACTIONS_MODULE18'\nexport {deleteFeature as '78473a6cea436abbbb8c8541b89ab785edc50ea3fb'} from 'ACTIONS_MODULE19'\nexport {resumeFeature as '40a6641ff32eae0ac63bdedcd4bbb23dac2e1fa9ae'} from 'ACTIONS_MODULE20'\nexport {startFeature as '404fd3d27f7cf651e3c8338d503f0f01953a05c85b'} from 'ACTIONS_MODULE21'\nexport {stopFeature as '40c92261f7691857ed0fba1e471eb287acd541409d'} from 'ACTIONS_MODULE22'\nexport {unarchiveFeature as '40a3650c0a8519e9afb8b05c385b8d6a70c53745e9'} from 'ACTIONS_MODULE23'\nexport {addRepository as '403fbc73fab0fc0171ce6be393fe0c57cb03056455'} from 'ACTIONS_MODULE24'\nexport {deleteRepository as '401250098787424cc1604bfc43ac20fb5c977e998f'} from 'ACTIONS_MODULE25'\nexport {getFeatureMetadata as '4062e954af5b476b25948fe681ddfd73c7ac910a2b'} from 'ACTIONS_MODULE26'\nexport {getGitRepoInfo as '604bf1c633a96507c1d99f71139f7a18aadcd92ca6'} from 'ACTIONS_MODULE27'\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[42516,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(33841),i=a.i(46646),j=a.i(68670),k=a.i(85321),l=a.i(84095),m=a.i(56799),n=a.i(80496),o=a.i(93225),p=a.i(94691),q=a.i(41872),r=a.i(9959),s=a.i(79124),t=a.i(10528),u=a.i(50845),v=a.i(26604),w=a.i(54723),x=a.i(18942),y=a.i(42886),z=a.i(49560),A=a.i(39353),B=a.i(29207);a.s([],6428),a.i(6428),a.s(["
|
|
1
|
+
module.exports=[42516,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(33841),i=a.i(46646),j=a.i(68670),k=a.i(85321),l=a.i(84095),m=a.i(56799),n=a.i(80496),o=a.i(93225),p=a.i(94691),q=a.i(41872),r=a.i(9959),s=a.i(79124),t=a.i(10528),u=a.i(50845),v=a.i(26604),w=a.i(54723),x=a.i(18942),y=a.i(42886),z=a.i(49560),A=a.i(39353),B=a.i(29207);a.s([],6428),a.i(6428),a.s(["001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848",()=>b.getAllAgentModels,"00270f7f69e09ea12e6f2d9f98617800cee7c19285",()=>f.listGitHubOrganizations,"0028f3d90984ccc466d39a64b76ea39c0f8df9247e",()=>d.pickFolder,"006ca619c3f55f173e6d501c8cfdf3b3a549037049",()=>q.isAgentSetupComplete,"00aa45f1de901063512a9b5cec0eeb3f619c689a67",()=>r.checkAgentAuth,"00ede697a7600dd92ac780389e5a81486d8c39b64f",()=>s.checkToolStatus,"401250098787424cc1604bfc43ac20fb5c977e998f",()=>A.deleteRepository,"401e09e242ed60542d2f55348481c786c63c59c3d2",()=>j.stopDeployment,"403fbc73fab0fc0171ce6be393fe0c57cb03056455",()=>z.addRepository,"404fd3d27f7cf651e3c8338d503f0f01953a05c85b",()=>w.startFeature,"4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668",()=>e.listGitHubRepositories,"4062e954af5b476b25948fe681ddfd73c7ac910a2b",()=>B.getFeatureMetadata,"4066086b61bd91b000d9facaed8150980f25d16309",()=>m.openShell,"40793737e70c688a6aaa30907ae189083a11b52e4f",()=>o.syncRepository,"409a9b98e9057b09922b61628ffd9515f01f799df4",()=>p.getDeploymentLogs,"40a0aa6527d21b516b84ee1e1aab8b8dc683fec81f",()=>l.openIde,"40a3650c0a8519e9afb8b05c385b8d6a70c53745e9",()=>y.unarchiveFeature,"40a6641ff32eae0ac63bdedcd4bbb23dac2e1fa9ae",()=>v.resumeFeature,"40c05910e26f714eab2855169bab9d9c0aceb222ce",()=>g.importGitHubRepository,"40c3863302ec32d355478790b603768c8ff84a7844",()=>i.deployRepository,"40c5386798acecb99dde8c7daf21d45fc7e0ce9298",()=>k.getDeploymentStatus,"40c7d8131c773e52cd15f03e9f1b9794c59bbe480e",()=>t.archiveFeature,"40c92261f7691857ed0fba1e471eb287acd541409d",()=>x.stopFeature,"40cc413b09aa176399e071d494425cc79a706195af",()=>h.deployFeature,"40cd0aa8f73daf00e3a1ff39642060b5253e3e1d96",()=>n.openFolder,"60dc958ec3366652a49eec9736dc0393257293134c",()=>c.updateAgentAndModel,"78473a6cea436abbbb8c8541b89ab785edc50ea3fb",()=>u.deleteFeature],42516)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web__next-internal_server_app_%28dashboard%29_page_actions_90b5e66e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {getAllAgentModels as '
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {getAllAgentModels as '001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848'} from 'ACTIONS_MODULE0'\nexport {updateAgentAndModel as '60dc958ec3366652a49eec9736dc0393257293134c'} from 'ACTIONS_MODULE1'\nexport {pickFolder as '0028f3d90984ccc466d39a64b76ea39c0f8df9247e'} from 'ACTIONS_MODULE2'\nexport {listGitHubRepositories as '4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668'} from 'ACTIONS_MODULE3'\nexport {listGitHubOrganizations as '00270f7f69e09ea12e6f2d9f98617800cee7c19285'} from 'ACTIONS_MODULE4'\nexport {importGitHubRepository as '40c05910e26f714eab2855169bab9d9c0aceb222ce'} from 'ACTIONS_MODULE5'\nexport {deployFeature as '40cc413b09aa176399e071d494425cc79a706195af'} from 'ACTIONS_MODULE6'\nexport {deployRepository as '40c3863302ec32d355478790b603768c8ff84a7844'} from 'ACTIONS_MODULE7'\nexport {stopDeployment as '401e09e242ed60542d2f55348481c786c63c59c3d2'} from 'ACTIONS_MODULE8'\nexport {getDeploymentStatus as '40c5386798acecb99dde8c7daf21d45fc7e0ce9298'} from 'ACTIONS_MODULE9'\nexport {openIde as '40a0aa6527d21b516b84ee1e1aab8b8dc683fec81f'} from 'ACTIONS_MODULE10'\nexport {openShell as '4066086b61bd91b000d9facaed8150980f25d16309'} from 'ACTIONS_MODULE11'\nexport {openFolder as '40cd0aa8f73daf00e3a1ff39642060b5253e3e1d96'} from 'ACTIONS_MODULE12'\nexport {syncRepository as '40793737e70c688a6aaa30907ae189083a11b52e4f'} from 'ACTIONS_MODULE13'\nexport {getDeploymentLogs as '409a9b98e9057b09922b61628ffd9515f01f799df4'} from 'ACTIONS_MODULE14'\nexport {isAgentSetupComplete as '006ca619c3f55f173e6d501c8cfdf3b3a549037049'} from 'ACTIONS_MODULE15'\nexport {checkAgentAuth as '00aa45f1de901063512a9b5cec0eeb3f619c689a67'} from 'ACTIONS_MODULE16'\nexport {checkToolStatus as '00ede697a7600dd92ac780389e5a81486d8c39b64f'} from 'ACTIONS_MODULE17'\nexport {archiveFeature as '40c7d8131c773e52cd15f03e9f1b9794c59bbe480e'} from 'ACTIONS_MODULE18'\nexport {deleteFeature as '78473a6cea436abbbb8c8541b89ab785edc50ea3fb'} from 'ACTIONS_MODULE19'\nexport {resumeFeature as '40a6641ff32eae0ac63bdedcd4bbb23dac2e1fa9ae'} from 'ACTIONS_MODULE20'\nexport {startFeature as '404fd3d27f7cf651e3c8338d503f0f01953a05c85b'} from 'ACTIONS_MODULE21'\nexport {stopFeature as '40c92261f7691857ed0fba1e471eb287acd541409d'} from 'ACTIONS_MODULE22'\nexport {unarchiveFeature as '40a3650c0a8519e9afb8b05c385b8d6a70c53745e9'} from 'ACTIONS_MODULE23'\nexport {addRepository as '403fbc73fab0fc0171ce6be393fe0c57cb03056455'} from 'ACTIONS_MODULE24'\nexport {deleteRepository as '401250098787424cc1604bfc43ac20fb5c977e998f'} from 'ACTIONS_MODULE25'\nexport {getFeatureMetadata as '4062e954af5b476b25948fe681ddfd73c7ac910a2b'} from 'ACTIONS_MODULE26'\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,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,OACA,EAAA,EAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[98222,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(94691),i=a.i(33841),j=a.i(46646),k=a.i(68670),l=a.i(85321),m=a.i(92658),n=a.i(7128),o=a.i(96380),p=a.i(33244),q=a.i(12581);async function r(a){try{let b=(0,o.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[],e=d.filter(b=>b.name!==a);if(e.length===d.length)return{success:!1,error:`Skill "${a}" not found in configuration`};let f={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!1,skills:e}},updatedAt:new Date},g=(0,o.resolve)("UpdateSettingsUseCase");return await g.execute(f),(0,p.updateSettings)(f),(0,n.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to remove skill"}}}async function s(a){try{let b=(0,o.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[];if(d.some(b=>b.name===a.name))return{success:!1,error:`Skill "${a.name}" is already configured`};let e={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!0,skills:[...d,a]}},updatedAt:new Date},f=(0,o.resolve)("UpdateSettingsUseCase");return await f.execute(e),(0,p.updateSettings)(e),(0,n.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to add skill"}}}(0,q.ensureServerEntryExports)([r]),(0,m.registerServerReference)(r,"
|
|
1
|
+
module.exports=[98222,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(94691),i=a.i(33841),j=a.i(46646),k=a.i(68670),l=a.i(85321),m=a.i(92658),n=a.i(7128),o=a.i(96380),p=a.i(33244),q=a.i(12581);async function r(a){try{let b=(0,o.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[],e=d.filter(b=>b.name!==a);if(e.length===d.length)return{success:!1,error:`Skill "${a}" not found in configuration`};let f={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!1,skills:e}},updatedAt:new Date},g=(0,o.resolve)("UpdateSettingsUseCase");return await g.execute(f),(0,p.updateSettings)(f),(0,n.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to remove skill"}}}async function s(a){try{let b=(0,o.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[];if(d.some(b=>b.name===a.name))return{success:!1,error:`Skill "${a.name}" is already configured`};let e={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!0,skills:[...d,a]}},updatedAt:new Date},f=(0,o.resolve)("UpdateSettingsUseCase");return await f.execute(e),(0,p.updateSettings)(e),(0,n.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to add skill"}}}(0,q.ensureServerEntryExports)([r]),(0,m.registerServerReference)(r,"40bbc744c6c70584eff3dc95fa30f265dee10aba03",null),(0,q.ensureServerEntryExports)([s]),(0,m.registerServerReference)(s,"40f8cd50a88bd1b9f90f9e4cfb825d61caaecf4efd",null),a.s([],2350),a.i(2350),a.s(["001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848",()=>b.getAllAgentModels,"00270f7f69e09ea12e6f2d9f98617800cee7c19285",()=>f.listGitHubOrganizations,"0028f3d90984ccc466d39a64b76ea39c0f8df9247e",()=>d.pickFolder,"401e09e242ed60542d2f55348481c786c63c59c3d2",()=>k.stopDeployment,"4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668",()=>e.listGitHubRepositories,"409a9b98e9057b09922b61628ffd9515f01f799df4",()=>h.getDeploymentLogs,"40bbc744c6c70584eff3dc95fa30f265dee10aba03",()=>r,"40c05910e26f714eab2855169bab9d9c0aceb222ce",()=>g.importGitHubRepository,"40c3863302ec32d355478790b603768c8ff84a7844",()=>j.deployRepository,"40c5386798acecb99dde8c7daf21d45fc7e0ce9298",()=>l.getDeploymentStatus,"40cc413b09aa176399e071d494425cc79a706195af",()=>i.deployFeature,"40f8cd50a88bd1b9f90f9e4cfb825d61caaecf4efd",()=>s,"60dc958ec3366652a49eec9736dc0393257293134c",()=>c.updateAgentAndModel],98222)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/skills/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/remove-injected-skill.ts","../../../../../../../src/presentation/web/app/actions/add-injected-skill.ts"],"sourcesContent":["export {getAllAgentModels as '
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/skills/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/remove-injected-skill.ts","../../../../../../../src/presentation/web/app/actions/add-injected-skill.ts"],"sourcesContent":["export {getAllAgentModels as '001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848'} from 'ACTIONS_MODULE0'\nexport {updateAgentAndModel as '60dc958ec3366652a49eec9736dc0393257293134c'} from 'ACTIONS_MODULE1'\nexport {pickFolder as '0028f3d90984ccc466d39a64b76ea39c0f8df9247e'} from 'ACTIONS_MODULE2'\nexport {listGitHubRepositories as '4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668'} from 'ACTIONS_MODULE3'\nexport {listGitHubOrganizations as '00270f7f69e09ea12e6f2d9f98617800cee7c19285'} from 'ACTIONS_MODULE4'\nexport {importGitHubRepository as '40c05910e26f714eab2855169bab9d9c0aceb222ce'} from 'ACTIONS_MODULE5'\nexport {getDeploymentLogs as '409a9b98e9057b09922b61628ffd9515f01f799df4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40cc413b09aa176399e071d494425cc79a706195af'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40c3863302ec32d355478790b603768c8ff84a7844'} from 'ACTIONS_MODULE8'\nexport {stopDeployment as '401e09e242ed60542d2f55348481c786c63c59c3d2'} from 'ACTIONS_MODULE9'\nexport {getDeploymentStatus as '40c5386798acecb99dde8c7daf21d45fc7e0ce9298'} from 'ACTIONS_MODULE10'\nexport {removeInjectedSkill as '40bbc744c6c70584eff3dc95fa30f265dee10aba03'} from 'ACTIONS_MODULE11'\nexport {addInjectedSkill as '40f8cd50a88bd1b9f90f9e4cfb825d61caaecf4efd'} from 'ACTIONS_MODULE12'\n","'use server';\n\nimport { revalidatePath } from 'next/cache';\nimport { resolve } from '@/lib/server-container';\nimport type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';\nimport type { UpdateSettingsUseCase } from '@shepai/core/application/use-cases/settings/update-settings.use-case';\nimport { updateSettings as updateSettingsSingleton } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface RemoveInjectedSkillResult {\n success: boolean;\n error?: string;\n}\n\nexport async function removeInjectedSkill(skillName: string): Promise<RemoveInjectedSkillResult> {\n try {\n const loadUseCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');\n const current = await loadUseCase.execute();\n\n const existingSkills = current.workflow.skillInjection?.skills ?? [];\n const filtered = existingSkills.filter((s) => s.name !== skillName);\n\n if (filtered.length === existingSkills.length) {\n return { success: false, error: `Skill \"${skillName}\" not found in configuration` };\n }\n\n const updated = {\n ...current,\n workflow: {\n ...current.workflow,\n skillInjection: {\n enabled: current.workflow.skillInjection?.enabled ?? false,\n skills: filtered,\n },\n },\n updatedAt: new Date(),\n };\n\n const updateUseCase = resolve<UpdateSettingsUseCase>('UpdateSettingsUseCase');\n await updateUseCase.execute(updated);\n updateSettingsSingleton(updated);\n revalidatePath('/skills');\n\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove skill';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { revalidatePath } from 'next/cache';\nimport { resolve } from '@/lib/server-container';\nimport type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';\nimport type { UpdateSettingsUseCase } from '@shepai/core/application/use-cases/settings/update-settings.use-case';\nimport { updateSettings as updateSettingsSingleton } from '@shepai/core/infrastructure/services/settings.service';\nimport type { SkillSource } from '@shepai/core/domain/generated/output';\n\nexport interface AddInjectedSkillResult {\n success: boolean;\n error?: string;\n}\n\nexport async function addInjectedSkill(skill: SkillSource): Promise<AddInjectedSkillResult> {\n try {\n const loadUseCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');\n const current = await loadUseCase.execute();\n\n const existingSkills = current.workflow.skillInjection?.skills ?? [];\n if (existingSkills.some((s) => s.name === skill.name)) {\n return { success: false, error: `Skill \"${skill.name}\" is already configured` };\n }\n\n const updated = {\n ...current,\n workflow: {\n ...current.workflow,\n skillInjection: {\n enabled: current.workflow.skillInjection?.enabled ?? true,\n skills: [...existingSkills, skill],\n },\n },\n updatedAt: new Date(),\n };\n\n const updateUseCase = resolve<UpdateSettingsUseCase>('UpdateSettingsUseCase');\n await updateUseCase.execute(updated);\n updateSettingsSingleton(updated);\n revalidatePath('/skills');\n\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add skill';\n return { success: false, error: message };\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,oBCRA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OAGA,EAAA,EAAA,CAAA,CAAA,oBAOO,eAAe,EAAoB,CAAiB,EACzD,GAAI,CACF,IAAM,EAAc,CAAA,EAAA,EAAA,OAAA,AAAO,EAAsB,uBAC3C,EAAU,MAAM,EAAY,OAAO,GAEnC,EAAiB,EAAQ,QAAQ,CAAC,cAAc,EAAE,QAAU,EAAE,CAC9D,EAAW,EAAe,MAAM,CAAC,AAAC,GAAM,EAAE,IAAI,GAAK,GAEzD,GAAI,EAAS,MAAM,GAAK,EAAe,MAAM,CAC3C,CAD6C,KACtC,CAAE,QAAS,GAAO,MAAO,CAAC,OAAO,EAAE,EAAU,4BAA4B,CAAC,AAAC,EAGpF,IAAM,EAAU,CACd,GAAG,CAAO,CACV,SAAU,CACR,GAAG,EAAQ,QAAQ,CACnB,eAAgB,CACd,QAAS,EAAQ,QAAQ,CAAC,cAAc,EAAE,UAAW,EACrD,OAAQ,CACV,CACF,EACA,UAAW,IAAI,IACjB,EAEM,EAAgB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAwB,yBAKrD,OAJA,MAAM,EAAc,OAAO,CAAC,GAC5B,CAAA,EAAA,EAAA,cAAA,AAAuB,EAAC,GACxB,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,WAER,CAAE,SAAS,CAAK,CACzB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,SAAS,EAAO,MADT,CACgB,YADC,MAAQ,EAAM,OAAO,CAAG,wBACjB,CAC1C,CACF,CCjCO,eAAe,EAAiB,CAAkB,EACvD,GAAI,CACF,IAAM,EAAc,CAAA,EAAA,EAAA,OAAA,AAAO,EAAsB,uBAC3C,EAAU,MAAM,EAAY,OAAO,GAEnC,EAAiB,EAAQ,QAAQ,CAAC,cAAc,EAAE,QAAU,EAAE,CACpE,GAAI,EAAe,IAAI,CAAE,AAAD,GAAO,EAAE,IAAI,GAAK,EAAM,IAAI,EAClD,CADqD,KAC9C,CAAE,SAAS,EAAO,MAAO,CAAC,OAAO,EAAE,EAAM,IAAI,CAAC,uBAAuB,CAAC,AAAC,EAGhF,IAAM,EAAU,CACd,GAAG,CAAO,CACV,SAAU,CACR,GAAG,EAAQ,QAAQ,CACnB,eAAgB,CACd,QAAS,EAAQ,QAAQ,CAAC,cAAc,EAAE,UAAW,EACrD,OAAQ,IAAI,EAAgB,EAAM,AACpC,CACF,EACA,UAAW,IAAI,IACjB,EAEM,EAAgB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAwB,yBAKrD,OAJA,MAAM,EAAc,OAAO,CAAC,GAC5B,CAAA,EAAA,EAAA,cAAA,AAAuB,EAAC,GACxB,CAAA,EAAA,EAAA,cAAA,AAAc,EAAC,WAER,CAAE,SAAS,CAAK,CACzB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,SAAS,EAAO,MADT,CACgB,YADC,MAAQ,EAAM,OAAO,CAAG,qBACjB,CAC1C,CACF,iCDjCsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCCA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[21171,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(94691),i=a.i(33841),j=a.i(46646),k=a.i(68670),l=a.i(85321);a.s([],22977),a.i(22977),a.s(["
|
|
1
|
+
module.exports=[21171,a=>{"use strict";var b=a.i(23504),c=a.i(27900),d=a.i(12513),e=a.i(73101),f=a.i(54775),g=a.i(65324),h=a.i(94691),i=a.i(33841),j=a.i(46646),k=a.i(68670),l=a.i(85321);a.s([],22977),a.i(22977),a.s(["001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848",()=>b.getAllAgentModels,"00270f7f69e09ea12e6f2d9f98617800cee7c19285",()=>f.listGitHubOrganizations,"0028f3d90984ccc466d39a64b76ea39c0f8df9247e",()=>d.pickFolder,"401e09e242ed60542d2f55348481c786c63c59c3d2",()=>k.stopDeployment,"4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668",()=>e.listGitHubRepositories,"409a9b98e9057b09922b61628ffd9515f01f799df4",()=>h.getDeploymentLogs,"40c05910e26f714eab2855169bab9d9c0aceb222ce",()=>g.importGitHubRepository,"40c3863302ec32d355478790b603768c8ff84a7844",()=>j.deployRepository,"40c5386798acecb99dde8c7daf21d45fc7e0ce9298",()=>l.getDeploymentStatus,"40cc413b09aa176399e071d494425cc79a706195af",()=>i.deployFeature,"60dc958ec3366652a49eec9736dc0393257293134c",()=>c.updateAgentAndModel],21171)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/tools/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {getAllAgentModels as '
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/tools/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {getAllAgentModels as '001533e5dbbd0a2ab2d7eecdf90c2fb780ce7de848'} from 'ACTIONS_MODULE0'\nexport {updateAgentAndModel as '60dc958ec3366652a49eec9736dc0393257293134c'} from 'ACTIONS_MODULE1'\nexport {pickFolder as '0028f3d90984ccc466d39a64b76ea39c0f8df9247e'} from 'ACTIONS_MODULE2'\nexport {listGitHubRepositories as '4061c1f2bb392afc2c0e5e5a720caae4e75f8d9668'} from 'ACTIONS_MODULE3'\nexport {listGitHubOrganizations as '00270f7f69e09ea12e6f2d9f98617800cee7c19285'} from 'ACTIONS_MODULE4'\nexport {importGitHubRepository as '40c05910e26f714eab2855169bab9d9c0aceb222ce'} from 'ACTIONS_MODULE5'\nexport {getDeploymentLogs as '409a9b98e9057b09922b61628ffd9515f01f799df4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '40cc413b09aa176399e071d494425cc79a706195af'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40c3863302ec32d355478790b603768c8ff84a7844'} from 'ACTIONS_MODULE8'\nexport {stopDeployment as '401e09e242ed60542d2f55348481c786c63c59c3d2'} from 'ACTIONS_MODULE9'\nexport {getDeploymentStatus as '40c5386798acecb99dde8c7daf21d45fc7e0ce9298'} from 'ACTIONS_MODULE10'\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"}
|
package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[84095,56799,80496,93225,41872,9959,79124,10528,50845,26604,54723,18942,42886,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,"408ba7420501bef015a7685b1574389e5c77bcafb3",null),a.s(["openIde",()=>g],84095);var h=a.i(2157),i=a.i(60526),j=a.i(74533),k=a.i(29918);let l={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 m(a){let{repositoryPath:b,branch:f}=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",m=f?(0,k.computeWorktreePath)(b,f):b;if(!(0,h.existsSync)(m))return{success:!1,error:`Path does not exist: ${m}`};if("system"!==g)try{let a=(0,e.resolve)("IToolInstallerService").getTerminalOpenConfig(g);if(a?.openDirectory.includes("{dir}")){let b=a.openDirectory.replace("{dir}",m);if(a.shell){let a=(0,j.spawn)(b,[],{detached:!0,stdio:"ignore",shell:!0});a.on("error",()=>void 0),a.unref()}else{let[a,...c]=b.split(/\s+/),d=(0,j.spawn)(a,c,{detached:!0,stdio:"ignore"});d.on("error",()=>void 0),d.unref()}return{success:!0,path:m,shell:c}}}catch{}let n=l[(0,i.platform)()];if(!n)return{success:!1,error:`Unsupported platform: ${(0,i.platform)()}`};let o=(0,j.spawn)(n.cmd,n.args(m),{detached:!0,stdio:"ignore"});return o.on("error",()=>void 0),o.unref(),{success:!0,path:m,shell:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,f.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"402577aa0da96f72ae22c44bce1e982dcd40fbcf32",null),a.s(["openShell",()=>m],56799);let n={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]},win32:{cmd:"explorer",args:a=>[a]}};async function o(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=n[(0,i.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,i.platform)()}`};let d=(0,c.normalize)(a),e=(0,j.spawn)(b.cmd,b.args(d),{detached:!0,stdio:"ignore"});return e.on("error",()=>void 0),e.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}async function p(a){if(!a?.trim())return{success:!1,error:"Repository id is required"};try{let b=(0,e.resolve)("SyncRepositoryMainUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to sync repository"}}}async function q(){try{return(0,d.getSettings)().onboardingComplete}catch{return!1}}(0,f.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"402e6efa1ffb80670ef321d5511dc2e3aaba413b21",null),a.s(["openFolder",()=>o],80496),(0,f.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"403193740f4bae1e4b5194d24a52f9038afa84bb39",null),a.s(["syncRepository",()=>p],93225),(0,f.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"00b743fb6b9fba62819f4dc5b6e0648b0b02a861b3",null),a.s(["isAgentSetupComplete",()=>q],41872);var r=a.i(37512);let s={"claude-code":"Claude Code",cursor:"Cursor Agent","gemini-cli":"Gemini CLI",aider:"Aider",copilot:"Copilot CLI",continue:"Continue",dev:"Demo"},t={"claude-code":"claude-code",cursor:"cursor-cli","gemini-cli":"gemini-cli",copilot:"copilot-cli"},u={"claude-code":"claude",cursor:"cursor-agent","gemini-cli":"gemini",copilot:"copilot"};async function v(){var a;let b;try{b=(0,d.getSettings)().agent.type}catch{return{agentType:"unknown",installed:!1,authenticated:!1,label:"Unknown",binaryName:null,installCommand:null,authCommand:null}}let f=s[b]??b,g=t[b]??null,k=u[b]??null;if(!g)return{agentType:b,installed:!0,authenticated:!0,label:f,binaryName:null,installCommand:null,authCommand:null};let l=!1,m=null;try{let a=(0,e.resolve)("ListToolsUseCase"),b=(await a.execute()).find(a=>a.id===g);l=b?.status.status==="available",m=b?.installCommand??null}catch{l=!1}if(!l)return{agentType:b,installed:!1,authenticated:!1,label:f,binaryName:k,installCommand:m,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)}case"copilot-cli":{if(process.env.GITHUB_TOKEN||process.env.GH_TOKEN||process.env.GITHUB_AUTH_TOKEN)return!0;let a=r.IS_WINDOWS?(0,c.join)(b,".copilot"):(0,c.join)(b,".config","gh");return(0,h.existsSync)(a)}default:return!0}}(b))return{agentType:b,installed:!0,authenticated:!1,label:f,binaryName:k,installCommand:m,authCommand:k};let n=!0;return k&&(n=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;case"copilot-cli":c="gh",d=["auth","status"];break;default:b(!0);return}try{let a=r.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:n,label:f,binaryName:k,installCommand:m,authCommand:n?null:k}}function w(a,b){return new Promise(c=>{try{let d=r.IS_WINDOWS?{timeout:5e3,windowsHide:!0}:{timeout:5e3};(0,j.execFile)(a,b,d,(a,b)=>{if(a)return void c({installed:!1,version:null});let d=b.match(/(\d+\.\d+(?:\.\d+)?)/);c({installed:!0,version:d?.[1]??null})})}catch{c({installed:!1,version:null})}})}async function x(){let[a,b,c]=await Promise.all([w("git",["--version"]),w("gh",["--version"]),(async()=>{try{let a=(0,e.resolve)("ListToolsUseCase");return await a.execute()}catch{return[]}})()]),d=c.find(a=>"git"===a.id),f=c.find(a=>"gh"===a.id);return{git:{...a,installCommand:d?.installCommand??null,installUrl:d?.website??"https://git-scm.com"},gh:{...b,installCommand:f?.installCommand??null,installUrl:f?.website??"https://cli.github.com"}}}async function y(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,e.resolve)("ArchiveFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to archive feature"}}}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){if(!a?.trim())return{error:"id is required"};try{let b=(0,e.resolve)("UnarchiveFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to unarchive feature"}}}async function E(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 F(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 G(a){let b=(0,e.resolve)("IFeatureRepository"),c=await b.findById(a);return c?{name:c.name,description:c.description}:null}(0,f.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"00f242d1ecd62303e02958ba8b344349a0671782ea",null),a.s(["checkAgentAuth",()=>v],9959),(0,f.ensureServerEntryExports)([x]),(0,b.registerServerReference)(x,"0001ead9a5ba986f12136506861bcc6a390649159c",null),a.s(["checkToolStatus",()=>x],79124),(0,f.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"401ba9eba4cfd8b7527ed2397c42e3469a928d79a9",null),a.s(["archiveFeature",()=>y],10528),(0,f.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"780748aa80480e369d41661df2fce2253b98ce7c5f",null),a.s(["deleteFeature",()=>z],50845),(0,f.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"40372982afb31d845ccb19c31ecc18bb4e1bb9dae5",null),a.s(["resumeFeature",()=>A],26604),(0,f.ensureServerEntryExports)([B]),(0,b.registerServerReference)(B,"40c3e988b8f56770f659fb3a75f7adc049af354111",null),a.s(["startFeature",()=>B],54723),(0,f.ensureServerEntryExports)([C]),(0,b.registerServerReference)(C,"40d51f49a713e1616959f0f61fd9b8322ae8db194c",null),a.s(["stopFeature",()=>C],18942),(0,f.ensureServerEntryExports)([D]),(0,b.registerServerReference)(D,"40755653ed75a78713e0f433ad5df29a3fe059f0a6",null),a.s(["unarchiveFeature",()=>D],42886),(0,f.ensureServerEntryExports)([E]),(0,b.registerServerReference)(E,"4005d75d9b5cd73945afc8a3ef48be0bb6147d6d28",null),a.s(["addRepository",()=>E],49560),(0,f.ensureServerEntryExports)([F]),(0,b.registerServerReference)(F,"405fdcbc84efa44b6c24e0fc429c7384fec7abc626",null),a.s(["deleteRepository",()=>F],39353),(0,f.ensureServerEntryExports)([G]),(0,b.registerServerReference)(G,"40cf93f760c9194aca8eab99c3d7b18c1eff3eee33",null),a.s(["getFeatureMetadata",()=>G],29207)}];
|
|
1
|
+
module.exports=[84095,56799,80496,93225,41872,9959,79124,10528,50845,26604,54723,18942,42886,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,"40a0aa6527d21b516b84ee1e1aab8b8dc683fec81f",null),a.s(["openIde",()=>g],84095);var h=a.i(2157),i=a.i(60526),j=a.i(74533),k=a.i(29918);let l={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 m(a){let{repositoryPath:b,branch:f}=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",m=f?(0,k.computeWorktreePath)(b,f):b;if(!(0,h.existsSync)(m))return{success:!1,error:`Path does not exist: ${m}`};if("system"!==g)try{let a=(0,e.resolve)("IToolInstallerService").getTerminalOpenConfig(g);if(a?.openDirectory.includes("{dir}")){let b=a.openDirectory.replace("{dir}",m);if(a.shell){let a=(0,j.spawn)(b,[],{detached:!0,stdio:"ignore",shell:!0});a.on("error",()=>void 0),a.unref()}else{let[a,...c]=b.split(/\s+/),d=(0,j.spawn)(a,c,{detached:!0,stdio:"ignore"});d.on("error",()=>void 0),d.unref()}return{success:!0,path:m,shell:c}}}catch{}let n=l[(0,i.platform)()];if(!n)return{success:!1,error:`Unsupported platform: ${(0,i.platform)()}`};let o=(0,j.spawn)(n.cmd,n.args(m),{detached:!0,stdio:"ignore"});return o.on("error",()=>void 0),o.unref(),{success:!0,path:m,shell:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,f.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"4066086b61bd91b000d9facaed8150980f25d16309",null),a.s(["openShell",()=>m],56799);let n={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]},win32:{cmd:"explorer",args:a=>[a]}};async function o(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=n[(0,i.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,i.platform)()}`};let d=(0,c.normalize)(a),e=(0,j.spawn)(b.cmd,b.args(d),{detached:!0,stdio:"ignore"});return e.on("error",()=>void 0),e.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}async function p(a){if(!a?.trim())return{success:!1,error:"Repository id is required"};try{let b=(0,e.resolve)("SyncRepositoryMainUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to sync repository"}}}async function q(){try{return(0,d.getSettings)().onboardingComplete}catch{return!1}}(0,f.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40cd0aa8f73daf00e3a1ff39642060b5253e3e1d96",null),a.s(["openFolder",()=>o],80496),(0,f.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40793737e70c688a6aaa30907ae189083a11b52e4f",null),a.s(["syncRepository",()=>p],93225),(0,f.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"006ca619c3f55f173e6d501c8cfdf3b3a549037049",null),a.s(["isAgentSetupComplete",()=>q],41872);var r=a.i(37512);let s={"claude-code":"Claude Code",cursor:"Cursor Agent","gemini-cli":"Gemini CLI",aider:"Aider",copilot:"Copilot CLI",continue:"Continue",dev:"Demo"},t={"claude-code":"claude-code",cursor:"cursor-cli","gemini-cli":"gemini-cli",copilot:"copilot-cli"},u={"claude-code":"claude",cursor:"cursor-agent","gemini-cli":"gemini",copilot:"copilot"};async function v(){var a;let b;try{b=(0,d.getSettings)().agent.type}catch{return{agentType:"unknown",installed:!1,authenticated:!1,label:"Unknown",binaryName:null,installCommand:null,authCommand:null}}let f=s[b]??b,g=t[b]??null,k=u[b]??null;if(!g)return{agentType:b,installed:!0,authenticated:!0,label:f,binaryName:null,installCommand:null,authCommand:null};let l=!1,m=null;try{let a=(0,e.resolve)("ListToolsUseCase"),b=(await a.execute()).find(a=>a.id===g);l=b?.status.status==="available",m=b?.installCommand??null}catch{l=!1}if(!l)return{agentType:b,installed:!1,authenticated:!1,label:f,binaryName:k,installCommand:m,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)}case"copilot-cli":{if(process.env.GITHUB_TOKEN||process.env.GH_TOKEN||process.env.GITHUB_AUTH_TOKEN)return!0;let a=r.IS_WINDOWS?(0,c.join)(b,".copilot"):(0,c.join)(b,".config","gh");return(0,h.existsSync)(a)}default:return!0}}(b))return{agentType:b,installed:!0,authenticated:!1,label:f,binaryName:k,installCommand:m,authCommand:k};let n=!0;return k&&(n=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;case"copilot-cli":c="gh",d=["auth","status"];break;default:b(!0);return}try{let a=r.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:n,label:f,binaryName:k,installCommand:m,authCommand:n?null:k}}function w(a,b){return new Promise(c=>{try{let d=r.IS_WINDOWS?{timeout:5e3,windowsHide:!0}:{timeout:5e3};(0,j.execFile)(a,b,d,(a,b)=>{if(a)return void c({installed:!1,version:null});let d=b.match(/(\d+\.\d+(?:\.\d+)?)/);c({installed:!0,version:d?.[1]??null})})}catch{c({installed:!1,version:null})}})}async function x(){let[a,b,c]=await Promise.all([w("git",["--version"]),w("gh",["--version"]),(async()=>{try{let a=(0,e.resolve)("ListToolsUseCase");return await a.execute()}catch{return[]}})()]),d=c.find(a=>"git"===a.id),f=c.find(a=>"gh"===a.id);return{git:{...a,installCommand:d?.installCommand??null,installUrl:d?.website??"https://git-scm.com"},gh:{...b,installCommand:f?.installCommand??null,installUrl:f?.website??"https://cli.github.com"}}}async function y(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,e.resolve)("ArchiveFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to archive feature"}}}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){if(!a?.trim())return{error:"id is required"};try{let b=(0,e.resolve)("UnarchiveFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to unarchive feature"}}}async function E(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 F(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 G(a){let b=(0,e.resolve)("IFeatureRepository"),c=await b.findById(a);return c?{name:c.name,description:c.description}:null}(0,f.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"00aa45f1de901063512a9b5cec0eeb3f619c689a67",null),a.s(["checkAgentAuth",()=>v],9959),(0,f.ensureServerEntryExports)([x]),(0,b.registerServerReference)(x,"00ede697a7600dd92ac780389e5a81486d8c39b64f",null),a.s(["checkToolStatus",()=>x],79124),(0,f.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"40c7d8131c773e52cd15f03e9f1b9794c59bbe480e",null),a.s(["archiveFeature",()=>y],10528),(0,f.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"78473a6cea436abbbb8c8541b89ab785edc50ea3fb",null),a.s(["deleteFeature",()=>z],50845),(0,f.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"40a6641ff32eae0ac63bdedcd4bbb23dac2e1fa9ae",null),a.s(["resumeFeature",()=>A],26604),(0,f.ensureServerEntryExports)([B]),(0,b.registerServerReference)(B,"404fd3d27f7cf651e3c8338d503f0f01953a05c85b",null),a.s(["startFeature",()=>B],54723),(0,f.ensureServerEntryExports)([C]),(0,b.registerServerReference)(C,"40c92261f7691857ed0fba1e471eb287acd541409d",null),a.s(["stopFeature",()=>C],18942),(0,f.ensureServerEntryExports)([D]),(0,b.registerServerReference)(D,"40a3650c0a8519e9afb8b05c385b8d6a70c53745e9",null),a.s(["unarchiveFeature",()=>D],42886),(0,f.ensureServerEntryExports)([E]),(0,b.registerServerReference)(E,"403fbc73fab0fc0171ce6be393fe0c57cb03056455",null),a.s(["addRepository",()=>E],49560),(0,f.ensureServerEntryExports)([F]),(0,b.registerServerReference)(F,"401250098787424cc1604bfc43ac20fb5c977e998f",null),a.s(["deleteRepository",()=>F],39353),(0,f.ensureServerEntryExports)([G]),(0,b.registerServerReference)(G,"4062e954af5b476b25948fe681ddfd73c7ac910a2b",null),a.s(["getFeatureMetadata",()=>G],29207)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map
|