@shepai/cli 1.182.0 → 1.182.1-pr550.9abbae3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apis/json-schema/Application.yaml +7 -0
- package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +8 -1
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts +3 -3
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +13 -21
- package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts +19 -3
- package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.js +37 -4
- package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.d.ts +30 -0
- package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.js +122 -0
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts +13 -1
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +44 -5
- package/dist/packages/core/src/domain/generated/output.d.ts +8 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +5 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.js +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/058-add-setup-complete-to-applications.d.ts +5 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/058-add-setup-complete-to-applications.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/058-add-setup-complete-to-applications.js +10 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/059-add-agent-session-id-to-applications.d.ts +5 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/059-add-agent-session-id-to-applications.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/059-add-agent-session-id-to-applications.js +10 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.js +10 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +4 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.js +4 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.js +4 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +11 -6
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts +2 -2
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.js +2 -2
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +18 -2
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +16 -5
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +38 -7
- package/dist/src/presentation/web/app/api/applications/[id]/resume/route.d.ts +20 -0
- package/dist/src/presentation/web/app/api/applications/[id]/resume/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/applications/[id]/resume/route.js +25 -0
- package/dist/src/presentation/web/app/api/applications/[id]/route.d.ts +19 -0
- package/dist/src/presentation/web/app/api/applications/[id]/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/applications/[id]/route.js +46 -0
- package/dist/src/presentation/web/app/api/applications/route.d.ts +9 -0
- package/dist/src/presentation/web/app/api/applications/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/applications/route.js +20 -0
- package/dist/src/presentation/web/app/application/[id]/page.d.ts +4 -4
- package/dist/src/presentation/web/app/application/[id]/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/application/[id]/page.js +2 -61
- package/dist/src/presentation/web/app/applications/page.d.ts +2 -0
- package/dist/src/presentation/web/app/applications/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/applications/page.js +5 -0
- package/dist/src/presentation/web/components/assistant-ui/thread.js +2 -2
- package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/application-node/application-node.js +3 -37
- package/dist/src/presentation/web/components/features/application-page/application-page-loader.d.ts +4 -0
- package/dist/src/presentation/web/components/features/application-page/application-page-loader.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/application-page/application-page-loader.js +47 -0
- package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/application-page/application-page.js +75 -54
- package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/application-page/application-page.stories.js +1 -0
- package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts +3 -1
- package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/application-page/run-dev-button.js +6 -2
- package/dist/src/presentation/web/components/features/applications/application-card.d.ts +7 -0
- package/dist/src/presentation/web/components/features/applications/application-card.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/applications/application-card.js +82 -0
- package/dist/src/presentation/web/components/features/applications/application-card.stories.d.ts +13 -0
- package/dist/src/presentation/web/components/features/applications/application-card.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/applications/application-card.stories.js +69 -0
- package/dist/src/presentation/web/components/features/applications/applications-page-client.d.ts +5 -0
- package/dist/src/presentation/web/components/features/applications/applications-page-client.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/applications/applications-page-client.js +28 -0
- package/dist/src/presentation/web/components/features/applications/applications-page-client.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/features/applications/applications-page-client.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/applications/applications-page-client.stories.js +93 -0
- package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts +3 -1
- package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatComposer.js +2 -2
- package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +3 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.js +4 -3
- package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts +6 -1
- package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/StepTracker.js +23 -20
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +3 -2
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +3 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -2
- package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/language-settings-section.js +1 -0
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.js +5 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +23 -3
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
- package/dist/src/presentation/web/lib/derive-app-status.d.ts +23 -0
- package/dist/src/presentation/web/lib/derive-app-status.d.ts.map +1 -0
- package/dist/src/presentation/web/lib/derive-app-status.js +89 -0
- package/dist/src/presentation/web/lib/i18n.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/i18n.js +3 -0
- package/dist/translations/ar/web.json +2 -1
- package/dist/translations/de/web.json +2 -1
- package/dist/translations/en/web.json +2 -1
- package/dist/translations/es/web.json +2 -1
- package/dist/translations/fr/web.json +2 -1
- package/dist/translations/he/web.json +2 -1
- package/dist/translations/pt/web.json +2 -1
- package/dist/translations/ru/web.json +2 -1
- package/dist/translations/uk/web.json +2 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +4 -0
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/routes-manifest.json +28 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +5 -5
- 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 +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +5 -5
- 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 +33 -33
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +5 -5
- 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 +41 -41
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +5 -5
- 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 +41 -41
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +5 -5
- 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 +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +5 -5
- 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 +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +5 -5
- 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 +30 -30
- package/web/.next/server/app/(dashboard)/chat/page.js +5 -5
- 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 +33 -33
- package/web/.next/server/app/(dashboard)/create/page.js +5 -5
- 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 +41 -41
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +5 -5
- 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 +41 -41
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +5 -5
- 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 +30 -30
- package/web/.next/server/app/(dashboard)/page.js +5 -5
- 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 +31 -31
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +5 -5
- 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 +31 -31
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +5 -5
- 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/page.js +1 -1
- package/web/.next/server/app/_global-error/page.js.nft.json +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 +7 -7
- package/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/applications/[id]/resume/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/applications/[id]/resume/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/applications/[id]/resume/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/applications/[id]/resume/route.js +7 -0
- package/web/.next/server/app/api/applications/[id]/resume/route.js.map +5 -0
- package/web/.next/server/app/api/applications/[id]/resume/route.js.nft.json +1 -0
- package/web/.next/server/app/api/applications/[id]/resume/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/applications/[id]/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/applications/[id]/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/applications/[id]/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/applications/[id]/route.js +7 -0
- package/web/.next/server/app/api/applications/[id]/route.js.map +5 -0
- package/web/.next/server/app/api/applications/[id]/route.js.nft.json +1 -0
- package/web/.next/server/app/api/applications/[id]/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/applications/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/applications/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/applications/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/applications/route.js +7 -0
- package/web/.next/server/app/api/applications/route.js.map +5 -0
- package/web/.next/server/app/api/applications/route.js.nft.json +1 -0
- package/web/.next/server/app/api/applications/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +45 -30
- package/web/.next/server/app/application/[id]/page.js +3 -3
- package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/applications/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/applications/page/build-manifest.json +18 -0
- package/web/.next/server/app/applications/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/applications/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/applications/page/server-reference-manifest.json +230 -0
- package/web/.next/server/app/applications/page.js +19 -0
- package/web/.next/server/app/applications/page.js.map +5 -0
- package/web/.next/server/app/applications/page.js.nft.json +1 -0
- package/web/.next/server/app/applications/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/features/page.js +1 -1
- 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 +10 -10
- package/web/.next/server/app/settings/page.js +1 -1
- 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 +15 -15
- package/web/.next/server/app/skills/page.js +1 -1
- 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 +13 -13
- package/web/.next/server/app/tools/page.js +1 -1
- 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 +7 -7
- package/web/.next/server/app/version/page.js +1 -1
- 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/app-paths-manifest.json +4 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_[id]_route_actions_e31b426d.js +3 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_[id]_route_actions_e31b426d.js.map +1 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_route_actions_2b7d20d0.js +3 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_route_actions_2b7d20d0.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__3bb635e8._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__3bb635e8._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__ac0027b4._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__ac0027b4._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__b2a4bfcc._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__ce82df38._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__ce82df38._.js.map +1 -0
- package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_resume_route_actions_3a66d646.js +3 -0
- package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_resume_route_actions_3a66d646.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js.map +1 -0
- 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/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__347fd0f6._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__347fd0f6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__46dd2baf._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__46dd2baf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__73cb4ff6._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__73cb4ff6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__87bc4dac._.js → [root-of-the-server]__86ff0bc5._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__91c50abe._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__91c50abe._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d5e22d1a._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__7aa484f5._.js.map → [root-of-the-server]__d5e22d1a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js +12 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f5614810._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__090f24cb._.js.map → [root-of-the-server]__f5614810._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0f9d0acd._.js +3 -0
- package/web/.next/server/chunks/ssr/_0f9d0acd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_177d29c6._.js → _17af2817._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_177d29c6._.js.map → _17af2817._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
- package/web/.next/server/chunks/ssr/_1879404a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_29b8ed64._.js +3 -0
- package/web/.next/server/chunks/ssr/_29b8ed64._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_2bc302d1._.js +3 -0
- package/web/.next/server/chunks/ssr/_2bc302d1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_3683083e._.js +3 -0
- package/web/.next/server/chunks/ssr/_3683083e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_4b57bcc3._.js +9 -0
- package/web/.next/server/chunks/ssr/_4b57bcc3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_519d77a9._.js +3 -0
- package/web/.next/server/chunks/ssr/_519d77a9._.js.map +1 -0
- 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/{_503102fc._.js → _58b8982b._.js} +2 -2
- package/web/.next/server/chunks/ssr/_58b8982b._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7e5e3270._.js +3 -0
- package/web/.next/server/chunks/ssr/_7e5e3270._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_8c3086bf._.js +3 -0
- package/web/.next/server/chunks/ssr/_8c3086bf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_9173e475._.js +21 -0
- package/web/.next/server/chunks/ssr/_9173e475._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
- package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_b4cc51d4._.js +3 -0
- package/web/.next/server/chunks/ssr/_b4cc51d4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_b5093a26._.js +3 -0
- package/web/.next/server/chunks/ssr/_b5093a26._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_bc03ac82._.js +4 -0
- package/web/.next/server/chunks/ssr/_bc03ac82._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e65abbd1._.js +3 -0
- package/web/.next/server/chunks/ssr/_e65abbd1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f20557ff._.js +3 -0
- package/web/.next/server/chunks/ssr/_f20557ff._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
- package/web/.next/server/chunks/ssr/_f86fc1bf._.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/node_modules__pnpm_28a53b5d._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_28a53b5d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js +32 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js +32 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js.map +1 -0
- 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_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.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_ui_dropdown-menu_tsx_229332e3._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/translations_1562ae1a._.js +3 -0
- package/web/.next/server/chunks/ssr/translations_1562ae1a._.js.map +1 -0
- 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 +184 -72
- package/web/.next/static/chunks/{b4aa3a83f2451e07.js → 05becd66afb22d37.js} +1 -1
- package/web/.next/static/chunks/1bd2a325f95d3211.js +2 -0
- package/web/.next/static/chunks/2cbe80f8e84d59a8.js +1 -0
- package/web/.next/static/chunks/37e434e579ecfa02.js +1 -0
- package/web/.next/static/chunks/3aaae7ceefe72828.js +7 -0
- package/web/.next/static/chunks/3d1543ff12dfaff1.js +1 -0
- package/web/.next/static/chunks/{ac22076c64634ac1.js → 4b8bedfda131650a.js} +1 -1
- package/web/.next/static/chunks/{83fc7ea32e18c9a5.js → 4ea617a22e21fb04.js} +1 -1
- package/web/.next/static/chunks/53f12c1844f881af.js +1 -0
- package/web/.next/static/chunks/5795b9f399523c9e.js +1 -0
- package/web/.next/static/chunks/{2fe20598e1b4793a.js → 6b2859ea368e7df3.js} +3 -3
- package/web/.next/static/chunks/71c7fe96accaab17.js +19 -0
- package/web/.next/static/chunks/792fffaa4af33248.js +1 -0
- package/web/.next/static/chunks/{87a0df5389e06641.js → 7b6c91400184cb4d.js} +1 -1
- package/web/.next/static/chunks/83ba6946af31cdc4.js +3 -0
- package/web/.next/static/chunks/897771202f55ecfe.js +1 -0
- package/web/.next/static/chunks/9d9bf7403612ae86.js +1 -0
- package/web/.next/static/chunks/{be2e80436bc15812.js → a9d2a436d682fded.js} +3 -3
- package/web/.next/static/chunks/adf16efe8bac05e9.css +1 -0
- package/web/.next/static/chunks/{ceff12f8a2e5bc08.js → ae2fcb50ea0d8652.js} +1 -1
- package/web/.next/static/chunks/b0474319e5a50043.js +1 -0
- package/web/.next/static/chunks/b85532fb1545927c.js +5 -0
- package/web/.next/static/chunks/{33dc7a1041f4ab64.js → b8acda37576199f1.js} +1 -1
- package/web/.next/static/chunks/c788a245f6898401.js +1 -0
- package/web/.next/static/chunks/d0bcde99ca2878d1.js +1 -0
- package/web/.next/static/chunks/{de7de1db2a8788dd.js → ed714d3a13ff6c16.js} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__090f24cb._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +0 -12
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__7aa484f5._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87bc4dac._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0277d3b5._.js +0 -21
- package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_21cc662b._.js +0 -3
- package/web/.next/server/chunks/ssr/_21cc662b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_44531b76._.js +0 -9
- package/web/.next/server/chunks/ssr/_44531b76._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_503102fc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_575fe3ee._.js +0 -3
- package/web/.next/server/chunks/ssr/_575fe3ee._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_869a3a15._.js +0 -3
- package/web/.next/server/chunks/ssr/_869a3a15._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a7184dfa._.js +0 -3
- package/web/.next/server/chunks/ssr/_a7184dfa._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b227ff50._.js +0 -3
- package/web/.next/server/chunks/ssr/_b227ff50._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e071ba48._.js +0 -3
- package/web/.next/server/chunks/ssr/_e071ba48._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_eff1b518._.js +0 -3
- package/web/.next/server/chunks/ssr/_eff1b518._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f227429a._.js +0 -3
- package/web/.next/server/chunks/ssr/_f227429a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +0 -32
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +0 -1
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +0 -3
- package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +0 -1
- package/web/.next/static/chunks/06b9d6dbf635c370.css +0 -1
- package/web/.next/static/chunks/1ae0cf5be30ef398.js +0 -1
- package/web/.next/static/chunks/2424ab50273fe1d9.js +0 -7
- package/web/.next/static/chunks/6afd16b2fe544054.js +0 -2
- package/web/.next/static/chunks/7604027076448f2b.js +0 -19
- package/web/.next/static/chunks/8c9016ab8c1f6204.js +0 -1
- package/web/.next/static/chunks/927442d2628f6e22.js +0 -1
- package/web/.next/static/chunks/94e8559ae19a16e1.js +0 -1
- package/web/.next/static/chunks/a0cfca1e5fd467e9.js +0 -1
- package/web/.next/static/chunks/a2531137c7d36d54.js +0 -7
- package/web/.next/static/chunks/b87904ecdddde972.js +0 -1
- package/web/.next/static/chunks/b99506a6f7bc2fa8.js +0 -1
- package/web/.next/static/chunks/e4f0ca20b62bd66f.js +0 -1
- /package/web/.next/static/{EVCmRtpgNX9ebXGb-bV1G → tAvYhk4e_F_yStLz4wtDg}/_buildManifest.js +0 -0
- /package/web/.next/static/{EVCmRtpgNX9ebXGb-bV1G → tAvYhk4e_F_yStLz4wtDg}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{EVCmRtpgNX9ebXGb-bV1G → tAvYhk4e_F_yStLz4wtDg}/_ssgManifest.js +0 -0
|
@@ -1,26 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* PR Branding
|
|
2
|
+
* PR & Commit Branding
|
|
3
3
|
*
|
|
4
|
-
* Centralizes the branding
|
|
5
|
-
* created by Shep. Ensures consistent attribution across all
|
|
6
|
-
* PR creation paths (agent-driven, fork-and-PR, etc.)
|
|
4
|
+
* Centralizes the branding used in pull request bodies and commit
|
|
5
|
+
* trailers created by Shep. Ensures consistent attribution across all
|
|
6
|
+
* PR creation paths (agent-driven, fork-and-PR, etc.) and all commit
|
|
7
|
+
* paths (agent commits, squash-merge commits, CI-fix commits).
|
|
7
8
|
*/
|
|
8
9
|
/** The branding line to append to PR bodies. */
|
|
9
10
|
export const PR_BRANDING = '[🐑](https://github.com/shep-ai/shep) Built with [Shep.bot](https://shep.bot)';
|
|
11
|
+
/** The co-author trailer to include in commit messages. */
|
|
12
|
+
export const COMMIT_CO_AUTHOR = 'Co-Authored-By: Shep Bot <shep-agent@users.noreply.github.com>';
|
|
10
13
|
/**
|
|
11
14
|
* Pattern matching common AI-tool attribution footers that should be
|
|
12
15
|
* replaced (e.g. "Generated with Claude Code", "Co-Authored-By: Claude").
|
|
13
16
|
*/
|
|
14
|
-
const
|
|
17
|
+
const UNWANTED_PR_BRANDING_PATTERN = /\n*(?:🤖\s*)?Generated with \[Claude Code\]\(https:\/\/claude\.com\/claude-code\)\s*/gi;
|
|
18
|
+
/**
|
|
19
|
+
* Pattern matching unwanted Co-Authored-By trailers from AI tools.
|
|
20
|
+
* Matches lines like:
|
|
21
|
+
* Co-Authored-By: Claude <noreply@anthropic.com>
|
|
22
|
+
* Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
23
|
+
* Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
24
|
+
*/
|
|
25
|
+
const UNWANTED_CO_AUTHOR_PATTERN = /\n*Co-Authored-By:\s*Claude[^\n]*<noreply@anthropic\.com>\s*/gi;
|
|
15
26
|
/**
|
|
16
27
|
* Ensure a PR body carries the correct Shep branding.
|
|
17
28
|
*
|
|
18
29
|
* 1. Strips any unwanted AI-tool attribution footers
|
|
19
|
-
* 2.
|
|
30
|
+
* 2. Strips any unwanted Co-Authored-By trailers
|
|
31
|
+
* 3. Appends the Shep branding line if not already present
|
|
20
32
|
*/
|
|
21
33
|
export function applyPrBranding(body) {
|
|
22
34
|
// Strip unwanted branding
|
|
23
|
-
let cleaned = body.replace(
|
|
35
|
+
let cleaned = body.replace(UNWANTED_PR_BRANDING_PATTERN, '');
|
|
36
|
+
// Strip unwanted co-author trailers
|
|
37
|
+
cleaned = cleaned.replace(UNWANTED_CO_AUTHOR_PATTERN, '');
|
|
24
38
|
// Trim trailing whitespace/newlines before appending branding
|
|
25
39
|
cleaned = cleaned.trimEnd();
|
|
26
40
|
// Only append if not already present
|
|
@@ -29,3 +43,20 @@ export function applyPrBranding(body) {
|
|
|
29
43
|
}
|
|
30
44
|
return cleaned;
|
|
31
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Ensure a commit message carries the correct Shep co-author trailer.
|
|
48
|
+
*
|
|
49
|
+
* 1. Strips any unwanted Co-Authored-By trailers (e.g. Claude)
|
|
50
|
+
* 2. Appends the Shep Bot co-author trailer if not already present
|
|
51
|
+
*/
|
|
52
|
+
export function applyCommitBranding(message) {
|
|
53
|
+
// Strip unwanted co-author trailers
|
|
54
|
+
let cleaned = message.replace(UNWANTED_CO_AUTHOR_PATTERN, '');
|
|
55
|
+
// Trim trailing whitespace/newlines
|
|
56
|
+
cleaned = cleaned.trimEnd();
|
|
57
|
+
// Only append if not already present
|
|
58
|
+
if (!cleaned.includes(COMMIT_CO_AUTHOR)) {
|
|
59
|
+
cleaned = `${cleaned}\n\n${COMMIT_CO_AUTHOR}`;
|
|
60
|
+
}
|
|
61
|
+
return cleaned;
|
|
62
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resume an interrupted application workflow.
|
|
3
|
+
*
|
|
4
|
+
* POST /api/applications/:id/resume
|
|
5
|
+
*
|
|
6
|
+
* Resets interrupted steps to pending and re-runs the workflow
|
|
7
|
+
* from where it left off. The agent SDK session is resumed with
|
|
8
|
+
* the same conversation context.
|
|
9
|
+
*/
|
|
10
|
+
import type { NextRequest } from 'next/server';
|
|
11
|
+
import { NextResponse } from 'next/server';
|
|
12
|
+
export declare const dynamic = "force-dynamic";
|
|
13
|
+
interface RouteParams {
|
|
14
|
+
params: Promise<{
|
|
15
|
+
id: string;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
export declare function POST(_request: NextRequest, { params }: RouteParams): Promise<NextResponse>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/presentation/web/app/api/applications/[id]/resume/route.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjC;AAED,wBAAsB,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAchG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resume an interrupted application workflow.
|
|
3
|
+
*
|
|
4
|
+
* POST /api/applications/:id/resume
|
|
5
|
+
*
|
|
6
|
+
* Resets interrupted steps to pending and re-runs the workflow
|
|
7
|
+
* from where it left off. The agent SDK session is resumed with
|
|
8
|
+
* the same conversation context.
|
|
9
|
+
*/
|
|
10
|
+
import { NextResponse } from 'next/server';
|
|
11
|
+
import { resolve } from '../../../../../lib/server-container.js';
|
|
12
|
+
export const dynamic = 'force-dynamic';
|
|
13
|
+
export async function POST(_request, { params }) {
|
|
14
|
+
try {
|
|
15
|
+
const { id } = await params;
|
|
16
|
+
const useCase = resolve('ResumeApplicationWorkflowUseCase');
|
|
17
|
+
void useCase.execute({ applicationId: id });
|
|
18
|
+
return NextResponse.json({ ok: true });
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
// eslint-disable-next-line no-console
|
|
22
|
+
console.error('[POST /api/applications/:id/resume]', error);
|
|
23
|
+
return NextResponse.json({ error: error instanceof Error ? error.message : 'Internal server error' }, { status: 500 });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a single application by ID.
|
|
3
|
+
*
|
|
4
|
+
* GET /api/applications/:id
|
|
5
|
+
*
|
|
6
|
+
* Returns the application entity, initial chat state, and deployment snapshot
|
|
7
|
+
* in a single call — everything the application page needs to render.
|
|
8
|
+
*/
|
|
9
|
+
import type { NextRequest } from 'next/server';
|
|
10
|
+
import { NextResponse } from 'next/server';
|
|
11
|
+
export declare const dynamic = "force-dynamic";
|
|
12
|
+
interface RouteParams {
|
|
13
|
+
params: Promise<{
|
|
14
|
+
id: string;
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
export declare function GET(_request: NextRequest, { params }: RouteParams): Promise<NextResponse>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/web/app/api/applications/[id]/route.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjC;AAED,wBAAsB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAwC/F"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a single application by ID.
|
|
3
|
+
*
|
|
4
|
+
* GET /api/applications/:id
|
|
5
|
+
*
|
|
6
|
+
* Returns the application entity, initial chat state, and deployment snapshot
|
|
7
|
+
* in a single call — everything the application page needs to render.
|
|
8
|
+
*/
|
|
9
|
+
import { NextResponse } from 'next/server';
|
|
10
|
+
import { resolve } from '../../../../lib/server-container.js';
|
|
11
|
+
export const dynamic = 'force-dynamic';
|
|
12
|
+
export async function GET(_request, { params }) {
|
|
13
|
+
try {
|
|
14
|
+
const { id } = await params;
|
|
15
|
+
const getApp = resolve('GetApplicationUseCase');
|
|
16
|
+
const application = await getApp.execute(id);
|
|
17
|
+
if (!application) {
|
|
18
|
+
return NextResponse.json({ error: 'Application not found' }, { status: 404 });
|
|
19
|
+
}
|
|
20
|
+
let initialChatState;
|
|
21
|
+
try {
|
|
22
|
+
const getChatState = resolve('GetInteractiveChatStateUseCase');
|
|
23
|
+
initialChatState = await getChatState.execute({ featureId: `app-${application.id}` });
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
initialChatState = undefined;
|
|
27
|
+
}
|
|
28
|
+
let deployment;
|
|
29
|
+
try {
|
|
30
|
+
const deploymentService = resolve('IDeploymentService');
|
|
31
|
+
const status = deploymentService.getStatus(application.id);
|
|
32
|
+
if (status && status.state !== 'Stopped') {
|
|
33
|
+
deployment = { state: status.state, url: status.url };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
deployment = undefined;
|
|
38
|
+
}
|
|
39
|
+
return NextResponse.json({ application, initialChatState, deployment });
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
43
|
+
console.error('[GET /api/applications/:id]', error);
|
|
44
|
+
return NextResponse.json({ error: error instanceof Error ? error.message : 'Internal server error' }, { status: 500 });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List all applications with effective status.
|
|
3
|
+
*
|
|
4
|
+
* GET /api/applications
|
|
5
|
+
*/
|
|
6
|
+
import { NextResponse } from 'next/server';
|
|
7
|
+
export declare const dynamic = "force-dynamic";
|
|
8
|
+
export declare function GET(): Promise<NextResponse>;
|
|
9
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/app/api/applications/route.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,wBAAsB,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAajD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List all applications with effective status.
|
|
3
|
+
*
|
|
4
|
+
* GET /api/applications
|
|
5
|
+
*/
|
|
6
|
+
import { NextResponse } from 'next/server';
|
|
7
|
+
import { resolve } from '../../../lib/server-container.js';
|
|
8
|
+
export const dynamic = 'force-dynamic';
|
|
9
|
+
export async function GET() {
|
|
10
|
+
try {
|
|
11
|
+
const useCase = resolve('ListApplicationsUseCase');
|
|
12
|
+
const apps = await useCase.execute();
|
|
13
|
+
return NextResponse.json(apps);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
// eslint-disable-next-line no-console
|
|
17
|
+
console.error('[GET /api/applications]', error);
|
|
18
|
+
return NextResponse.json({ error: error instanceof Error ? error.message : 'Internal server error' }, { status: 500 });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const dynamic = "force-dynamic";
|
|
3
|
-
export default function ApplicationRoute({ params }: {
|
|
1
|
+
interface RouteProps {
|
|
4
2
|
params: Promise<{
|
|
5
3
|
id: string;
|
|
6
4
|
}>;
|
|
7
|
-
}
|
|
5
|
+
}
|
|
6
|
+
export default function ApplicationRoute({ params }: RouteProps): Promise<import("react/jsx-runtime").JSX.Element>;
|
|
7
|
+
export {};
|
|
8
8
|
//# sourceMappingURL=page.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/app/application/[id]/page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/app/application/[id]/page.tsx"],"names":[],"mappings":"AAEA,UAAU,UAAU;IAClB,MAAM,EAAE,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjC;AAED,wBAA8B,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,oDAGpE"}
|
|
@@ -1,65 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { notFound } from 'next/navigation';
|
|
4
|
-
import { ApplicationPage } from '../../../components/features/application-page/application-page.js';
|
|
5
|
-
import { DeploymentStatusProvider } from '../../../hooks/deployment-status-provider.js';
|
|
6
|
-
/** Skip static pre-rendering since we need runtime DI container and server context. */
|
|
7
|
-
export const dynamic = 'force-dynamic';
|
|
2
|
+
import { ApplicationPageLoader } from '../../../components/features/application-page/application-page-loader.js';
|
|
8
3
|
export default async function ApplicationRoute({ params }) {
|
|
9
4
|
const { id } = await params;
|
|
10
|
-
|
|
11
|
-
const application = await getApp.execute(id);
|
|
12
|
-
if (!application) {
|
|
13
|
-
notFound();
|
|
14
|
-
}
|
|
15
|
-
// SSR-load the interactive chat state so the first user message (posted
|
|
16
|
-
// by createApplication before navigation) renders on first paint — no
|
|
17
|
-
// client-side fetch delay between mount and the message appearing.
|
|
18
|
-
const getChatState = resolve('GetInteractiveChatStateUseCase');
|
|
19
|
-
let initialChatState;
|
|
20
|
-
try {
|
|
21
|
-
initialChatState = await getChatState.execute({ featureId: `app-${application.id}` });
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
// If chat state lookup fails (e.g. no session yet) ChatTab falls back
|
|
25
|
-
// to fetching on mount. Not fatal.
|
|
26
|
-
initialChatState = undefined;
|
|
27
|
-
}
|
|
28
|
-
// SSR-load the dev-server deployment status too. Before this, on a
|
|
29
|
-
// page refresh while a dev server was running, we rendered the
|
|
30
|
-
// empty-state "No dev server running" for a split second until the
|
|
31
|
-
// client-side `hydrateOnMount` fetch returned. With the server
|
|
32
|
-
// reading `DeploymentService.getStatus()` up front — it's a cheap
|
|
33
|
-
// in-memory map lookup against state that was already reconciled
|
|
34
|
-
// from SQLite on startup — the first paint already knows the URL
|
|
35
|
-
// and the iframe loads instantly.
|
|
36
|
-
let initialDeployment;
|
|
37
|
-
try {
|
|
38
|
-
const deploymentService = resolve('IDeploymentService');
|
|
39
|
-
const status = deploymentService.getStatus(application.id);
|
|
40
|
-
if (status && status.state !== 'Stopped') {
|
|
41
|
-
initialDeployment = { state: status.state, url: status.url };
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
// Deployment service may not be registered in test environments —
|
|
46
|
-
// fall back to client-side hydration.
|
|
47
|
-
initialDeployment = undefined;
|
|
48
|
-
}
|
|
49
|
-
// Seed the provider with the current application's deployment so the
|
|
50
|
-
// store's `hydrate()` writes the initial state/url into the entry keyed
|
|
51
|
-
// by `application.id`. The application page is outside the (dashboard)
|
|
52
|
-
// route group, so it has its own provider instance rather than sharing
|
|
53
|
-
// the dashboard's.
|
|
54
|
-
const initialDeployments = initialDeployment
|
|
55
|
-
? [
|
|
56
|
-
{
|
|
57
|
-
targetId: application.id,
|
|
58
|
-
targetType: 'application',
|
|
59
|
-
state: initialDeployment.state,
|
|
60
|
-
url: initialDeployment.url,
|
|
61
|
-
},
|
|
62
|
-
]
|
|
63
|
-
: [];
|
|
64
|
-
return (_jsx(DeploymentStatusProvider, { initialDeployments: initialDeployments, children: _jsx(ApplicationPage, { application: application, initialChatState: initialChatState, initialDeployment: initialDeployment }) }));
|
|
5
|
+
return _jsx(ApplicationPageLoader, { applicationId: id });
|
|
65
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/web/app/applications/page.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,gBAAgB,4CAMvC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ApplicationsPageClient } from '../../components/features/applications/applications-page-client.js';
|
|
3
|
+
export default function ApplicationsPage() {
|
|
4
|
+
return (_jsx("div", { className: "dark:bg-background flex h-full flex-col overflow-y-auto bg-[#f6f7f8] p-6", children: _jsx(ApplicationsPageClient, {}) }));
|
|
5
|
+
}
|
|
@@ -61,7 +61,7 @@ const UserMessage = () => {
|
|
|
61
61
|
if (text.startsWith(INTERACTION_PREFIX)) {
|
|
62
62
|
return _jsx(InteractionResponseMessage, { text: text });
|
|
63
63
|
}
|
|
64
|
-
return (_jsxs(MessagePrimitive.Root, { className: "group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out", children: [_jsx("div", { className: "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-violet-500/15", children: _jsx(User, { className: "h-3.5 w-3.5 text-violet-500" }) }), _jsxs("div", { className: "flex max-w-[85%] min-w-0 flex-col gap-0.5", children: [_jsx("div", { className: "text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-violet-500/15 bg-violet-500/8 px-4 py-2 text-sm leading-relaxed break-words shadow-sm backdrop-blur-md", children: _jsx(MessagePrimitive.Content, { components: { Text: UserMessageText } }) }), _jsxs("div", { className: "flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100", children: [_jsx(MessageMeta, {}), _jsx(ActionBarPrimitive.Root, { className: "flex items-center gap-1", children: _jsx(ActionBarPrimitive.Copy, { asChild: true, children: _jsx(IconButton, { tooltip: "Copy", children: _jsx(Copy, {}) }) }) })] })] })] }));
|
|
64
|
+
return (_jsxs(MessagePrimitive.Root, { className: "group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out", children: [_jsx("div", { className: "mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-violet-500/15", children: _jsx(User, { className: "h-3.5 w-3.5 text-violet-500" }) }), _jsxs("div", { className: "flex max-w-[85%] min-w-0 flex-col gap-0.5", children: [_jsx("div", { className: "text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-violet-500/15 bg-violet-500/8 px-4 py-2 text-sm leading-relaxed break-words shadow-sm backdrop-blur-md dark:bg-violet-500/15", children: _jsx(MessagePrimitive.Content, { components: { Text: UserMessageText } }) }), _jsxs("div", { className: "flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100", children: [_jsx(MessageMeta, {}), _jsx(ActionBarPrimitive.Root, { className: "flex items-center gap-1", children: _jsx(ActionBarPrimitive.Copy, { asChild: true, children: _jsx(IconButton, { tooltip: "Copy", children: _jsx(Copy, {}) }) }) })] })] })] }));
|
|
65
65
|
};
|
|
66
66
|
/** Compact green bubble showing the user's selections from an AskUserQuestion interaction. */
|
|
67
67
|
function InteractionResponseMessage({ text }) {
|
|
@@ -96,7 +96,7 @@ const AssistantMessage = () => {
|
|
|
96
96
|
if (toolEvent) {
|
|
97
97
|
return (_jsxs(MessagePrimitive.Root, { className: "group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out", children: [_jsx("div", { className: "text-muted-foreground/40 mt-1 flex h-6 w-6 shrink-0 items-center justify-center", children: _jsx(Bot, { className: "h-3 w-3" }) }), _jsx("div", { className: "flex min-w-0 flex-1 items-center py-0.5", children: _jsx(ToolBubble, { text: rawText }) })] }));
|
|
98
98
|
}
|
|
99
|
-
return (_jsxs(MessagePrimitive.Root, { className: "group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out", children: [_jsx("div", { className: "bg-muted flex h-6 w-6 shrink-0 items-center justify-center rounded-full", children: _jsx(Bot, { className: "text-muted-foreground h-3.5 w-3.5" }) }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsx("div", { className: "bg-muted/50 text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-white/5 px-4 py-2 text-sm leading-relaxed break-words shadow-sm backdrop-blur-md", children: _jsx(MessagePrimitive.Content, { components: { Text: AssistantMessageText } }) }), _jsxs("div", { className: "flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100", children: [_jsx(MessageMeta, {}), _jsx(ActionBarPrimitive.Root, { className: "flex items-center gap-1", children: _jsx(ActionBarPrimitive.Copy, { asChild: true, children: _jsx(IconButton, { tooltip: "Copy", children: _jsx(Copy, {}) }) }) })] })] })] }));
|
|
99
|
+
return (_jsxs(MessagePrimitive.Root, { className: "group animate-in fade-in-0 slide-in-from-bottom-1 flex w-full items-start gap-2.5 px-4 py-0.5 duration-300 ease-out", children: [_jsx("div", { className: "bg-muted flex h-6 w-6 shrink-0 items-center justify-center rounded-full", children: _jsx(Bot, { className: "text-muted-foreground h-3.5 w-3.5" }) }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsx("div", { className: "bg-muted/50 text-foreground mt-px overflow-hidden rounded-2xl rounded-tl-sm border border-white/5 px-4 py-2 text-sm leading-relaxed break-words shadow-sm backdrop-blur-md dark:bg-neutral-800/60", children: _jsx(MessagePrimitive.Content, { components: { Text: AssistantMessageText } }) }), _jsxs("div", { className: "flex items-center gap-1.5 opacity-0 transition-opacity group-hover:opacity-100", children: [_jsx(MessageMeta, {}), _jsx(ActionBarPrimitive.Root, { className: "flex items-center gap-1", children: _jsx(ActionBarPrimitive.Copy, { asChild: true, children: _jsx(IconButton, { tooltip: "Copy", children: _jsx(Copy, {}) }) }) })] })] })] }));
|
|
100
100
|
};
|
|
101
101
|
// ── Collapsible code block ───────────────────────────────────────────────
|
|
102
102
|
const CODE_COLLAPSED_HEIGHT = 200; // px
|
package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-node.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/application-node/application-node.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application-node.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/application-node/application-node.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMrE,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,2CAwZA"}
|
|
@@ -11,44 +11,10 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../
|
|
|
11
11
|
import { useTurnStatus } from '../../../hooks/turn-statuses-provider.js';
|
|
12
12
|
import { useDeployAction } from '../../../hooks/use-deploy-action.js';
|
|
13
13
|
import { DeploymentState } from '../../../../../../packages/core/src/domain/generated/output.js';
|
|
14
|
+
import { deriveAppLiveStatus } from '../../../lib/derive-app-status.js';
|
|
14
15
|
/** Preview slot height. Roomier than the old 120px to give the live
|
|
15
16
|
* iframe / start-preview CTA more presence on the canvas. */
|
|
16
17
|
const PREVIEW_HEIGHT_PX = 180;
|
|
17
|
-
/**
|
|
18
|
-
* Pick the effective status for the card's status pill. "Idle" is
|
|
19
|
-
* never shown. The fallback when nothing is actively happening is
|
|
20
|
-
* "Ready" (standby) — unless the dev server is running, in which
|
|
21
|
-
* case "Live" takes over as the persistent resting state.
|
|
22
|
-
*
|
|
23
|
-
* Priority (highest wins):
|
|
24
|
-
*
|
|
25
|
-
* - `processing` → "In Progress" (agent actively running a turn)
|
|
26
|
-
* - `awaiting_input` → "Warning" (agent blocked on user question)
|
|
27
|
-
* - deploymentUrl set → "Live" (dev server running at a real URL)
|
|
28
|
-
* - persisted Error → "Error"
|
|
29
|
-
* - otherwise → "Ready" (agent finished, preview not running)
|
|
30
|
-
*
|
|
31
|
-
* Note the `unread` turn status intentionally collapses into the
|
|
32
|
-
* default branch — when the agent just finished a turn but the user
|
|
33
|
-
* hasn't scrolled back to read it, we still show Ready (or Live if
|
|
34
|
-
* the dev server is up). The user is already looking at the card,
|
|
35
|
-
* a "you have unread output" nag adds no information.
|
|
36
|
-
*/
|
|
37
|
-
function deriveLiveStatus(persistedStatus, turnStatus, deploymentUrl) {
|
|
38
|
-
if (turnStatus === 'processing') {
|
|
39
|
-
return { label: 'In Progress', dotClass: 'bg-violet-500', pulse: true };
|
|
40
|
-
}
|
|
41
|
-
if (turnStatus === 'awaiting_input') {
|
|
42
|
-
return { label: 'Warning', dotClass: 'bg-amber-500', pulse: true };
|
|
43
|
-
}
|
|
44
|
-
if (deploymentUrl) {
|
|
45
|
-
return { label: 'Live', dotClass: 'bg-emerald-500', pulse: true };
|
|
46
|
-
}
|
|
47
|
-
if (persistedStatus === 'Error') {
|
|
48
|
-
return { label: 'Error', dotClass: 'bg-red-500', pulse: false };
|
|
49
|
-
}
|
|
50
|
-
return { label: 'Ready', dotClass: 'bg-sky-500', pulse: false };
|
|
51
|
-
}
|
|
52
18
|
export function ApplicationNode({ data, selected, }) {
|
|
53
19
|
const { i18n } = useTranslation('web');
|
|
54
20
|
const isRtl = i18n.dir() === 'rtl';
|
|
@@ -86,7 +52,7 @@ export function ApplicationNode({ data, selected, }) {
|
|
|
86
52
|
// collapses the pill from "Live" back to "Ready" — there is
|
|
87
53
|
// intentionally no secondary snapshot URL that could stay stale.
|
|
88
54
|
const effectiveDeploymentUrl = deploy.url;
|
|
89
|
-
const live =
|
|
55
|
+
const live = deriveAppLiveStatus(data.status, turnStatus, !!effectiveDeploymentUrl);
|
|
90
56
|
// Clicking anything in the "card controls" zone (Preview button,
|
|
91
57
|
// open-in-new-tab) must not trigger the card's navigation-to-app
|
|
92
58
|
// click handler. A single stopPropagation wrapper keeps every
|
|
@@ -116,7 +82,7 @@ export function ApplicationNode({ data, selected, }) {
|
|
|
116
82
|
e.stopPropagation();
|
|
117
83
|
data.onClick?.();
|
|
118
84
|
}
|
|
119
|
-
}, className: cn('nodrag bg-card flex w-[26rem] cursor-pointer flex-col overflow-hidden rounded-xl border shadow-sm transition-[border-color,box-shadow] duration-200 dark:bg-neutral-800/80', selected && 'border-blue-400 dark:border-amber-500/60'), children: [_jsxs("div", { className: "flex items-center gap-3 px-4 py-4", children: [_jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br from-indigo-500 to-violet-500", children: _jsx(LayoutGrid, { className: "h-4 w-4 text-white" }) }), _jsx("span", { "data-testid": "application-node-name", className: "min-w-0 truncate text-sm font-medium", children: data.name }), _jsxs("span", { className: "ms-auto flex shrink-0 items-center gap-1.5", children: [_jsx("span", { "data-testid": "application-node-status-dot", className: cn('relative flex h-2 w-2 items-center justify-center rounded-full', live.dotClass), children: live.pulse ? (_jsx("span", { className: cn('absolute inline-flex h-full w-full animate-ping rounded-full opacity-60', live.dotClass) })) : null }), _jsx("span", { "data-testid": "application-node-status-text", className: "text-muted-foreground text-xs", children: live.label })] })] }), _jsx("div", { className: "px-4 pb-4", children: _jsxs("div", { className: "bg-muted group/preview relative overflow-hidden rounded-lg", style: { height: PREVIEW_HEIGHT_PX }, children: [effectiveDeploymentUrl ? (_jsx("iframe", { src: effectiveDeploymentUrl, title: `${data.name} live preview`,
|
|
85
|
+
}, className: cn('nodrag bg-card flex w-[26rem] cursor-pointer flex-col overflow-hidden rounded-xl border shadow-sm transition-[border-color,box-shadow] duration-200 dark:bg-neutral-800/80', selected && 'border-blue-400 dark:border-amber-500/60', !selected && live.borderClass), children: [_jsxs("div", { className: "flex items-center gap-3 px-4 py-4", children: [_jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br from-indigo-500 to-violet-500", children: _jsx(LayoutGrid, { className: "h-4 w-4 text-white" }) }), _jsx("span", { "data-testid": "application-node-name", className: "min-w-0 truncate text-sm font-medium", children: data.name }), _jsxs("span", { className: "ms-auto flex shrink-0 items-center gap-1.5", children: [_jsx("span", { "data-testid": "application-node-status-dot", className: cn('relative flex h-2 w-2 items-center justify-center rounded-full', live.dotClass), children: live.pulse ? (_jsx("span", { className: cn('absolute inline-flex h-full w-full animate-ping rounded-full opacity-60', live.dotClass) })) : null }), _jsx("span", { "data-testid": "application-node-status-text", className: "text-muted-foreground text-xs", children: live.label })] })] }), _jsx("div", { className: "px-4 pb-4", children: _jsxs("div", { className: "bg-muted group/preview relative overflow-hidden rounded-lg", style: { height: PREVIEW_HEIGHT_PX }, children: [effectiveDeploymentUrl ? (_jsx("iframe", { src: effectiveDeploymentUrl, title: `${data.name} live preview`,
|
|
120
86
|
// 2.5× inner size scaled to 0.4 = exactly 1.0
|
|
121
87
|
// effective size. The iframe renders at a real
|
|
122
88
|
// browser viewport (good enough for responsive
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-page-loader.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/application-page/application-page-loader.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,qBAAqB,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,2CAsDjF"}
|
package/dist/src/presentation/web/components/features/application-page/application-page-loader.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import { Loader2 } from 'lucide-react';
|
|
5
|
+
import { notFound } from 'next/navigation';
|
|
6
|
+
import { DeploymentStatusProvider } from '../../../hooks/deployment-status-provider.js';
|
|
7
|
+
import { ApplicationPage } from './application-page.js';
|
|
8
|
+
export function ApplicationPageLoader({ applicationId }) {
|
|
9
|
+
const { data, isLoading, error } = useQuery({
|
|
10
|
+
queryKey: ['application', applicationId],
|
|
11
|
+
queryFn: async () => {
|
|
12
|
+
const res = await fetch(`/api/applications/${applicationId}`);
|
|
13
|
+
if (res.status === 404)
|
|
14
|
+
throw new Error('not-found');
|
|
15
|
+
if (!res.ok)
|
|
16
|
+
throw new Error('Failed to fetch application');
|
|
17
|
+
return res.json();
|
|
18
|
+
},
|
|
19
|
+
staleTime: 60_000,
|
|
20
|
+
retry: (count, err) => {
|
|
21
|
+
if (err instanceof Error && err.message === 'not-found')
|
|
22
|
+
return false;
|
|
23
|
+
return count < 2;
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
if (error?.message === 'not-found') {
|
|
27
|
+
notFound();
|
|
28
|
+
}
|
|
29
|
+
if (isLoading || !data) {
|
|
30
|
+
return (_jsx("div", { className: "bg-background flex h-dvh items-center justify-center", children: _jsx(Loader2, { className: "text-muted-foreground h-6 w-6 animate-spin" }) }));
|
|
31
|
+
}
|
|
32
|
+
const { application, initialChatState, deployment } = data;
|
|
33
|
+
const initialDeployment = deployment
|
|
34
|
+
? { state: deployment.state, url: deployment.url }
|
|
35
|
+
: undefined;
|
|
36
|
+
const initialDeployments = initialDeployment
|
|
37
|
+
? [
|
|
38
|
+
{
|
|
39
|
+
targetId: application.id,
|
|
40
|
+
targetType: 'application',
|
|
41
|
+
state: initialDeployment.state,
|
|
42
|
+
url: initialDeployment.url,
|
|
43
|
+
},
|
|
44
|
+
]
|
|
45
|
+
: [];
|
|
46
|
+
return (_jsx(DeploymentStatusProvider, { initialDeployments: initialDeployments, children: _jsx(ApplicationPage, { application: application, initialChatState: initialChatState, initialDeployment: initialDeployment }) }));
|
|
47
|
+
}
|
package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application-page.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/application-page/application-page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application-page.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/features/application-page/application-page.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sFAAsF,CAAC;AA0qBtH;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;CAC/C;AAED,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,oBAAoB,2CAwItF"}
|