@shepai/cli 1.136.0-pr440.bb6800a → 1.136.0-pr441.5eaafd1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apis/json-schema/Feature.yaml +0 -3
- package/apis/json-schema/FeatureFlags.yaml +5 -0
- package/apis/json-schema/NotificationEventConfig.yaml +15 -0
- package/apis/json-schema/NotificationEventType.yaml +3 -0
- package/apis/json-schema/ScheduledWorkflow.yaml +46 -0
- package/apis/json-schema/SdlcLifecycle.yaml +0 -1
- package/apis/json-schema/WorkflowExecution.yaml +38 -0
- package/apis/json-schema/WorkflowExecutionStatus.yaml +10 -0
- package/apis/json-schema/WorkflowTriggerType.yaml +7 -0
- package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +0 -2
- package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +2 -0
- package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/repositories/workflow-execution-repository.interface.d.ts +66 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-execution-repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-execution-repository.interface.js +11 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-repository.interface.d.ts +81 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-repository.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/workflow-repository.interface.js +11 -0
- package/dist/packages/core/src/application/ports/output/services/clock.interface.d.ts +28 -0
- package/dist/packages/core/src/application/ports/output/services/clock.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/clock.interface.js +13 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/workflows/create-workflow.use-case.d.ts +28 -0
- package/dist/packages/core/src/application/use-cases/workflows/create-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/create-workflow.use-case.js +72 -0
- package/dist/packages/core/src/application/use-cases/workflows/cron-helpers.d.ts +27 -0
- package/dist/packages/core/src/application/use-cases/workflows/cron-helpers.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/cron-helpers.js +43 -0
- package/dist/packages/core/src/application/use-cases/workflows/delete-workflow.use-case.d.ts +18 -0
- package/dist/packages/core/src/application/use-cases/workflows/delete-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/delete-workflow.use-case.js +64 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.d.ts +16 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow-history.use-case.js +46 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow.use-case.d.ts +13 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/get-workflow.use-case.js +42 -0
- package/dist/packages/core/src/application/use-cases/workflows/list-workflows.use-case.d.ts +13 -0
- package/dist/packages/core/src/application/use-cases/workflows/list-workflows.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/list-workflows.use-case.js +33 -0
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts +19 -0
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.js +62 -0
- package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.d.ts +22 -0
- package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/schedule-workflow.use-case.js +73 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.d.ts +9 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/branch-rebase.template.js +27 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.d.ts +11 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/templates/issue-triage.template.js +27 -0
- package/dist/packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.d.ts +16 -0
- package/dist/packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/toggle-workflow.use-case.js +60 -0
- package/dist/packages/core/src/application/use-cases/workflows/update-workflow.use-case.d.ts +25 -0
- package/dist/packages/core/src/application/use-cases/workflows/update-workflow.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/workflows/update-workflow.use-case.js +83 -0
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +4 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +115 -7
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +16 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +66 -10
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +0 -6
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-execution.mapper.d.ts +46 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-execution.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-execution.mapper.js +57 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow.mapper.d.ts +51 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow.mapper.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow.mapper.js +71 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-workflow-notification-events.d.ts +12 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-workflow-notification-events.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-workflow-notification-events.js +22 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-scheduled-workflows.d.ts +14 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-scheduled-workflows.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-scheduled-workflows.js +65 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-feature-flag-scheduled-workflows.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-feature-flag-scheduled-workflows.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-feature-flag-scheduled-workflows.js +17 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +2 -7
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-execution.repository.d.ts +24 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-execution.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-execution.repository.js +92 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow.repository.d.ts +26 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow.repository.js +117 -0
- package/dist/packages/core/src/infrastructure/services/clock.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/services/clock.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/clock.js +22 -0
- package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +3 -0
- package/dist/packages/core/src/infrastructure/services/workflow-scheduler/workflow-scheduler.service.d.ts +69 -0
- package/dist/packages/core/src/infrastructure/services/workflow-scheduler/workflow-scheduler.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/workflow-scheduler/workflow-scheduler.service.js +270 -0
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/_serve.command.js +14 -0
- package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/index.js +1 -5
- package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/ls.command.js +0 -5
- package/dist/src/presentation/cli/commands/workflow/create.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/create.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/create.command.js +83 -0
- package/dist/src/presentation/cli/commands/workflow/delete.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/delete.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/delete.command.js +50 -0
- package/dist/src/presentation/cli/commands/workflow/disable.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/disable.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/disable.command.js +32 -0
- package/dist/src/presentation/cli/commands/workflow/enable.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/enable.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/enable.command.js +35 -0
- package/dist/src/presentation/cli/commands/workflow/format-helpers.d.ts +35 -0
- package/dist/src/presentation/cli/commands/workflow/format-helpers.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/format-helpers.js +89 -0
- package/dist/src/presentation/cli/commands/workflow/history.command.d.ts +12 -0
- package/dist/src/presentation/cli/commands/workflow/history.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/history.command.js +46 -0
- package/dist/src/presentation/cli/commands/workflow/index.d.ts +26 -0
- package/dist/src/presentation/cli/commands/workflow/index.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/index.js +48 -0
- package/dist/src/presentation/cli/commands/workflow/list.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/list.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/list.command.js +52 -0
- package/dist/src/presentation/cli/commands/workflow/run.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/run.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/run.command.js +37 -0
- package/dist/src/presentation/cli/commands/workflow/schedule.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/schedule.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/schedule.command.js +76 -0
- package/dist/src/presentation/cli/commands/workflow/show.command.d.ts +11 -0
- package/dist/src/presentation/cli/commands/workflow/show.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/show.command.js +93 -0
- package/dist/src/presentation/cli/commands/workflow/update.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/workflow/update.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/workflow/update.command.js +67 -0
- package/dist/src/presentation/cli/index.js +2 -0
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
- package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +1 -6
- package/dist/src/presentation/web/app/actions/get-workflow-history.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/get-workflow-history.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-workflow-history.js +17 -0
- package/dist/src/presentation/web/app/actions/list-workflows.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/list-workflows.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/list-workflows.js +17 -0
- package/dist/src/presentation/web/app/actions/toggle-workflow.d.ts +8 -0
- package/dist/src/presentation/web/app/actions/toggle-workflow.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/toggle-workflow.js +19 -0
- package/dist/src/presentation/web/app/actions/trigger-workflow.d.ts +8 -0
- package/dist/src/presentation/web/app/actions/trigger-workflow.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/trigger-workflow.js +19 -0
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/agent-events/route.js +0 -1
- package/dist/src/presentation/web/app/workflows/page.d.ts +4 -0
- package/dist/src/presentation/web/app/workflows/page.d.ts.map +1 -0
- package/dist/src/presentation/web/app/workflows/page.js +18 -0
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +4 -6
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -3
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +1 -11
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +2 -16
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +0 -5
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +1 -75
- 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 +4 -13
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +0 -6
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +0 -70
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +0 -6
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +2 -43
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +3 -0
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +3 -0
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.js +6 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/notification-settings-section.stories.js +6 -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 +19 -2
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.d.ts +7 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.js +84 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-execution-history.stories.js +104 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.d.ts +8 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.js +68 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list-item.stories.js +89 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.d.ts +8 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.js +10 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.stories.d.ts +11 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflow-list.stories.js +90 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.d.ts +6 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.js +14 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/features/workflows/workflows-page-client.stories.js +70 -0
- 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/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +1 -0
- package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
- package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/sidebar-features-context.js +0 -1
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.js +2 -17
- package/dist/src/presentation/web/lib/derive-graph.d.ts +0 -4
- package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/derive-graph.js +0 -12
- package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
- package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/feature-flags.js +5 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +2 -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 +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/routes-manifest.json +6 -0
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +50 -80
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +50 -80
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +3 -3
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +46 -76
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +50 -80
- package/web/.next/server/app/(dashboard)/create/page.js +3 -3
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +3 -3
- 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 +62 -92
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +3 -3
- 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 +46 -76
- package/web/.next/server/app/(dashboard)/page.js +3 -3
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +46 -76
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/feature-logs/route.js +1 -1
- package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js +2 -2
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/skills/page.js +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 +8 -8
- 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 +3 -3
- 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/workflows/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/workflows/page/build-manifest.json +18 -0
- package/web/.next/server/app/workflows/page/next-font-manifest.json +6 -0
- package/web/.next/server/app/workflows/page/react-loadable-manifest.json +8 -0
- package/web/.next/server/app/workflows/page/server-reference-manifest.json +110 -0
- package/web/.next/server/app/workflows/page.js +18 -0
- package/web/.next/server/app/workflows/page.js.map +5 -0
- package/web/.next/server/app/workflows/page.js.nft.json +1 -0
- package/web/.next/server/app/workflows/page_client-reference-manifest.js +2 -0
- package/web/.next/server/app-paths-manifest.json +2 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
- package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js → [root-of-the-server]__c7d52490._.js} +2 -2
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_02ec1aea._.js → 403f9_next_53742624._.js} +2 -2
- package/web/.next/server/chunks/ssr/403f9_next_53742624._.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.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/7f428_lucide-react_dist_esm_icons_0c7787d0._.js +3 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_0c7787d0._.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__a5f9c6e5._.js → [root-of-the-server]__07f12984._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07f12984._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__082758f6._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__082758f6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__32cd6108._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__32cd6108._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__33ac1a70._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__33ac1a70._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__44358910._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__44358910._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__3ef34e4c._.js → [root-of-the-server]__57e0ee34._.js} +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__57e0ee34._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6e93b49c._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__b3dbadca._.js.map → [root-of-the-server]__6e93b49c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_20a4a0d5._.js +3 -0
- package/web/.next/server/chunks/ssr/_20a4a0d5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_25555eb5._.js +3 -0
- package/web/.next/server/chunks/ssr/_25555eb5._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_b5fc318a._.js → _277acdde._.js} +2 -2
- package/web/.next/server/chunks/ssr/_277acdde._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_4711e8cf._.js +3 -0
- package/web/.next/server/chunks/ssr/_4711e8cf._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_a9f57758._.js → _6701ee41._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_a9f57758._.js.map → _6701ee41._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_89a36303._.js +3 -0
- package/web/.next/server/chunks/ssr/_89a36303._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_8e8cd7e1._.js +4 -0
- package/web/.next/server/chunks/ssr/_8e8cd7e1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_9869d3da._.js +3 -0
- package/web/.next/server/chunks/ssr/_9869d3da._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_0020fddd._.js → _a3721140._.js} +2 -2
- package/web/.next/server/chunks/ssr/_a3721140._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cc1243e6._.js +3 -0
- package/web/.next/server/chunks/ssr/_cc1243e6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_e3411387._.js +9 -0
- package/web/.next/server/chunks/ssr/_e3411387._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_e69a26ba._.js +4 -0
- package/web/.next/server/chunks/ssr/_e69a26ba._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f64ffec0._.js +4 -0
- package/web/.next/server/chunks/ssr/_f64ffec0._.js.map +1 -0
- 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/{_1b7dae9a._.js → f7870_sonner_dist_index_mjs_dbf63824._.js} +2 -2
- package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_ae1705ef._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_ae1705ef._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_53fa3010._.js +3 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_97dc2fb0._.js.map → src_presentation_web_53fa3010._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js +5 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.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 +391 -466
- package/web/.next/static/chunks/{791e64500a080d4f.js → 196650f8cd7fb06a.js} +1 -1
- package/web/.next/static/chunks/2002f5eec5ffec42.css +1 -0
- package/web/.next/static/chunks/2c1ff62df9b34313.js +1 -0
- package/web/.next/static/chunks/3005583e819fc4fc.js +1 -0
- package/web/.next/static/chunks/333c7873f6b17ef1.js +1 -0
- package/web/.next/static/chunks/3b3f8c4f6c36a7ba.js +1 -0
- package/web/.next/static/chunks/{672e3da3ad26005b.js → 42c9564e375717ed.js} +1 -1
- package/web/.next/static/chunks/43e0eea352eb5106.js +5 -0
- package/web/.next/static/chunks/5420560352333486.js +1 -0
- package/web/.next/static/chunks/62fa33876b0964a4.js +1 -0
- package/web/.next/static/chunks/6db2addb5e13e372.js +1 -0
- package/web/.next/static/chunks/886d0385ca1d4484.js +1 -0
- package/web/.next/static/chunks/8e52a649c3f6bdf4.js +1 -0
- package/web/.next/static/chunks/a02fc9467a585a1f.js +2 -0
- package/web/.next/static/chunks/bee578019062e7f9.js +2 -0
- package/web/.next/static/chunks/cdb51cfd682387d2.js +1 -0
- package/web/.next/static/chunks/ed35b4293a81c861.js +9 -0
- package/web/.next/static/chunks/ed7fbcdf0b48e735.js +1 -0
- package/web/.next/static/chunks/f75142a1b75f1c32.js +1 -0
- package/web/.next/static/chunks/fabcd29d488281fa.js +1 -0
- package/web/.next/static/chunks/fd925f996c3fa318.js +1 -0
- package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts +0 -20
- package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.js +0 -74
- package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts +0 -20
- package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.js +0 -65
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts +0 -12
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.js +0 -16
- package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +0 -18
- package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/feat/archive.command.js +0 -54
- package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +0 -17
- package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/feat/unarchive.command.js +0 -42
- package/dist/src/presentation/web/app/actions/archive-feature.d.ts +0 -6
- package/dist/src/presentation/web/app/actions/archive-feature.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/archive-feature.js +0 -16
- package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts +0 -6
- package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts.map +0 -1
- package/dist/src/presentation/web/app/actions/unarchive-feature.js +0 -16
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js +0 -3
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_01046927._.js +0 -9
- package/web/.next/server/chunks/ssr/_01046927._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1b7dae9a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_2fdfd9ab._.js +0 -4
- package/web/.next/server/chunks/ssr/_2fdfd9ab._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_36059d08._.js +0 -4
- package/web/.next/server/chunks/ssr/_36059d08._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_65f6e0e0._.js +0 -6
- package/web/.next/server/chunks/ssr/_65f6e0e0._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_67104d9e._.js +0 -3
- package/web/.next/server/chunks/ssr/_67104d9e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js +0 -3
- package/web/.next/server/chunks/ssr/_7dca1882._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_913fb649._.js +0 -3
- package/web/.next/server/chunks/ssr/_913fb649._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a51673dd._.js +0 -4
- package/web/.next/server/chunks/ssr/_a51673dd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_ae587066._.js +0 -4
- package/web/.next/server/chunks/ssr/_ae587066._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b5fc318a._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d162e30d._.js +0 -4
- package/web/.next/server/chunks/ssr/_d162e30d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js +0 -3
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_d763f022._.js +0 -6
- package/web/.next/server/chunks/ssr/_d763f022._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js +0 -3
- package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_97dc2fb0._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +0 -1
- package/web/.next/static/chunks/0b7fe2ac4f078f54.js +0 -13
- package/web/.next/static/chunks/2d6eb4409cc6324d.js +0 -1
- package/web/.next/static/chunks/3a7ff215d6a2c489.js +0 -2
- package/web/.next/static/chunks/4b3e7454c2b07877.js +0 -1
- package/web/.next/static/chunks/601d93593f5f664f.js +0 -1
- package/web/.next/static/chunks/688971d5bad5dc7c.js +0 -1
- package/web/.next/static/chunks/79c9871d46b22bf8.css +0 -1
- package/web/.next/static/chunks/7ee0606f698b032c.js +0 -1
- package/web/.next/static/chunks/87640f53f3bff3a6.js +0 -1
- package/web/.next/static/chunks/b70dd4985a814b27.js +0 -1
- package/web/.next/static/chunks/bb5bd1b5aafc70cd.js +0 -1
- package/web/.next/static/chunks/bf0a401666f990e2.js +0 -1
- package/web/.next/static/chunks/c4c3fcf18262b386.js +0 -2
- package/web/.next/static/chunks/cd14232b3d8f5052.js +0 -1
- package/web/.next/static/chunks/d0dff217a94d4ee1.js +0 -1
- package/web/.next/static/chunks/dd8f2197640aea64.js +0 -1
- package/web/.next/static/chunks/fc442d957b35bd5e.js +0 -1
- /package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js.map → [root-of-the-server]__c7d52490._.js.map} +0 -0
- /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → w0YQoUPySQy1O9cN91KEk}/_buildManifest.js +0 -0
- /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → w0YQoUPySQy1O9cN91KEk}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → w0YQoUPySQy1O9cN91KEk}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[98410,a=>{"use strict";let b=(0,a.i(25700).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",()=>b],98410)},4019,a=>{"use strict";let b=(0,a.i(25700).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],4019)},3195,a=>{"use strict";let b=(0,a.i(25700).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",()=>b],3195)},50488,33205,27728,48787,a=>{"use strict";let b=(0,a.i(25700).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);a.s(["Code2",()=>b],50488);var c=a.i(25674);let d=(0,c.createServerReference)("407bd677e666cb40bd612162f10bea1c64e7303c55",c.callServer,void 0,c.findSourceMapURL,"openIde");a.s(["openIde",()=>d],33205);let e=(0,c.createServerReference)("40cc4c8c517092798123730a9a3cba588135eeb42f",c.callServer,void 0,c.findSourceMapURL,"openShell");a.s(["openShell",()=>e],27728);let f=(0,c.createServerReference)("40053e9bbbd3725c2903741b60fae1010af4b5f11c",c.callServer,void 0,c.findSourceMapURL,"openFolder");a.s(["openFolder",()=>f],48787)},3942,a=>{"use strict";let b=(0,a.i(25700).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],3942)},50490,a=>{"use strict";let b=(0,a.i(25700).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>b],50490)},63698,a=>{"use strict";let b=(0,a.i(25700).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],63698)},71238,a=>{"use strict";let b=(0,a.i(25700).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],71238)},78454,a=>{"use strict";a.i(24255),a.s([])},10606,a=>{"use strict";var b=a.i(51969);a.s(["CheckIcon",()=>b.default])},94132,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],94132)},72016,51969,a=>{"use strict";let b=(0,a.i(25700).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",()=>b],51969),a.s(["Check",()=>b],72016)},64005,a=>{"use strict";var b=a.i(96960);function c(a){let c=b.useRef({value:a,previous:a});return b.useMemo(()=>(c.current.value!==a&&(c.current.previous=c.current.value,c.current.value=a),c.current.previous),[a])}a.s(["usePrevious",()=>c])},3410,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],3410)},96853,a=>{"use strict";let b=(0,a.i(25700).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);a.s(["default",()=>b])},67075,a=>{"use strict";var b=a.i(2811);a.s(["CheckCircle2",()=>b.default])},71716,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],71716)},38702,16223,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({icon:a,title:d,description:e,action:f,className:g,...h}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",g),...h,children:[a?(0,b.jsx)("div",{className:"text-muted-foreground",children:a}):null,(0,b.jsx)("h3",{className:"text-lg font-semibold",children:d}),e?(0,b.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:e}):null,f?(0,b.jsx)("div",{className:"mt-2",children:f}):null]})}a.s(["EmptyState",()=>d],16223),a.s([],38702)},40972,20834,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("002f2967ce709cc8ff459cbb809e6d552988a8bc4b",b.callServer,void 0,b.findSourceMapURL,"getAllAgentModels");a.s(["getAllAgentModels",()=>c],40972);let d=(0,b.createServerReference)("604a84e5dbb07de5892db23a7739d5a8cbd8b18ffa",b.callServer,void 0,b.findSourceMapURL,"updateAgentAndModel");a.s(["updateAgentAndModel",()=>d],20834)},36778,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("40c92898ee0c1eee68a222613bec4390fd0ef5853e",b.callServer,void 0,b.findSourceMapURL,"addRepository");a.s(["addRepository",()=>c])},55628,a=>{"use strict";var b=a.i(96960),c=a.i(33205),d=a.i(27728),e=a.i(48787);function f(a){let[f,g]=(0,b.useState)(!1),[h,i]=(0,b.useState)(!1),[j,k]=(0,b.useState)(!1),[l,m]=(0,b.useState)(null),[n,o]=(0,b.useState)(null),[p,q]=(0,b.useState)(null),r=(0,b.useRef)(null),s=(0,b.useRef)(null),t=(0,b.useRef)(null);(0,b.useEffect)(()=>()=>{r.current&&clearTimeout(r.current),s.current&&clearTimeout(s.current),t.current&&clearTimeout(t.current)},[]);let u=(0,b.useCallback)(async(b,c,d,e,f)=>{if(a&&!f){e.current&&clearTimeout(e.current),c(!0),d(null);try{let a=await b();if(!a.success){let b=a.error??"An unexpected error occurred";d(b),e.current=setTimeout(()=>d(null),5e3)}}catch(a){d(a instanceof Error?a.message:"An unexpected error occurred"),e.current=setTimeout(()=>d(null),5e3)}finally{c(!1)}}},[a]);return{openInIde:(0,b.useCallback)(()=>u(()=>(0,c.openIde)({repositoryPath:a.repositoryPath}),g,m,r,f),[u,f,a]),openInShell:(0,b.useCallback)(()=>u(()=>(0,d.openShell)({repositoryPath:a.repositoryPath}),i,o,s,h),[u,h,a]),openFolder:(0,b.useCallback)(()=>u(()=>(0,e.openFolder)(a.repositoryPath),k,q,t,j),[u,j,a]),ideLoading:f,shellLoading:h,folderLoading:j,ideError:l,shellError:n,folderError:p}}a.s(["useRepositoryActions",()=>f])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_9869d3da._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/copy.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-open.ts","../../../../../../../src/presentation/web/app/actions/data%3A3ff16a%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A95d272%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A59f5a2%20%3Ctext/javascript%3E","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/code-xml.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/zap.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/play.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../../src/presentation/web/components/common/base-drawer/index.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-left.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-previous%401.1.1_%40types%2Breact%4019.2.10_react%4019.2.4/node_modules/%40radix-ui/react-use-previous/src/use-previous.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-right.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/minus.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-down.ts","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../src/presentation/web/app/actions/data%3A0bd260%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A294370%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3Aeb169a%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/components/common/repository-node/use-repository-actions.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n];\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon('copy', __iconNode);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n key: 'usdka0',\n },\n ],\n];\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderOpen = createLucideIcon('folder-open', __iconNode);\n\nexport default FolderOpen;\n","/* __next_internal_action_entry_do_not_use__ [{\"407bd677e666cb40bd612162f10bea1c64e7303c55\":\"openIde\"},\"src/presentation/web/app/actions/open-ide.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"407bd677e666cb40bd612162f10bea1c64e7303c55\",callServer,void 0,findSourceMapURL,\"openIde\");export{$$RSC_SERVER_ACTION_0 as openIde};","/* __next_internal_action_entry_do_not_use__ [{\"40cc4c8c517092798123730a9a3cba588135eeb42f\":\"openShell\"},\"src/presentation/web/app/actions/open-shell.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40cc4c8c517092798123730a9a3cba588135eeb42f\",callServer,void 0,findSourceMapURL,\"openShell\");export{$$RSC_SERVER_ACTION_0 as openShell};","/* __next_internal_action_entry_do_not_use__ [{\"40053e9bbbd3725c2903741b60fae1010af4b5f11c\":\"openFolder\"},\"src/presentation/web/app/actions/open-folder.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40053e9bbbd3725c2903741b60fae1010af4b5f11c\",callServer,void 0,findSourceMapURL,\"openFolder\");export{$$RSC_SERVER_ACTION_0 as openFolder};","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm18 16 4-4-4-4', key: '1inbqp' }],\n ['path', { d: 'm6 8-4 4 4 4', key: '15zrgr' }],\n ['path', { d: 'm14.5 4-5 16', key: 'e7oirm' }],\n];\n\n/**\n * @component @name CodeXml\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/code-xml\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CodeXml = createLucideIcon('code-xml', __iconNode);\n\nexport default CodeXml;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z',\n key: '1xq2db',\n },\n ],\n];\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Zap = createLucideIcon('zap', __iconNode);\n\nexport default Zap;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z',\n key: '10ikf1',\n },\n ],\n];\n\n/**\n * @component @name Play\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/play\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Play = createLucideIcon('play', __iconNode);\n\nexport default Play;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","export { BaseDrawer, type BaseDrawerProps } from './base-drawer';\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }]];\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('chevron-left', __iconNode);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","import * as React from 'react';\n\nfunction usePrevious<T>(value: T) {\n const ref = React.useRef({ value, previous: value });\n\n // We compare values before making an update to ensure that\n // a change has been made. This ensures the previous value is\n // persisted correctly between renders.\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\n\nexport { usePrevious };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }]];\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon('chevron-right', __iconNode);\n\nexport default ChevronRight;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M5 12h14', key: '1ays0h' }]];\n\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Minus = createLucideIcon('minus', __iconNode);\n\nexport default Minus;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"002f2967ce709cc8ff459cbb809e6d552988a8bc4b\":\"getAllAgentModels\"},\"src/presentation/web/app/actions/get-all-agent-models.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"002f2967ce709cc8ff459cbb809e6d552988a8bc4b\",callServer,void 0,findSourceMapURL,\"getAllAgentModels\");export{$$RSC_SERVER_ACTION_0 as getAllAgentModels};","/* __next_internal_action_entry_do_not_use__ [{\"604a84e5dbb07de5892db23a7739d5a8cbd8b18ffa\":\"updateAgentAndModel\"},\"src/presentation/web/app/actions/update-agent-and-model.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"604a84e5dbb07de5892db23a7739d5a8cbd8b18ffa\",callServer,void 0,findSourceMapURL,\"updateAgentAndModel\");export{$$RSC_SERVER_ACTION_0 as updateAgentAndModel};","/* __next_internal_action_entry_do_not_use__ [{\"40c92898ee0c1eee68a222613bec4390fd0ef5853e\":\"addRepository\"},\"src/presentation/web/app/actions/add-repository.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40c92898ee0c1eee68a222613bec4390fd0ef5853e\",callServer,void 0,findSourceMapURL,\"addRepository\");export{$$RSC_SERVER_ACTION_0 as addRepository};","'use client';\n\nimport { useState, useCallback, useRef, useEffect } from 'react';\nimport { openIde } from '@/app/actions/open-ide';\nimport { openShell } from '@/app/actions/open-shell';\nimport { openFolder } from '@/app/actions/open-folder';\n\nexport interface RepositoryActionsInput {\n repositoryPath: string;\n}\n\nexport interface RepositoryActionsState {\n openInIde: () => Promise<void>;\n openInShell: () => Promise<void>;\n openFolder: () => Promise<void>;\n ideLoading: boolean;\n shellLoading: boolean;\n folderLoading: boolean;\n ideError: string | null;\n shellError: string | null;\n folderError: string | null;\n}\n\nconst ERROR_CLEAR_DELAY = 5000;\n\nexport function useRepositoryActions(input: RepositoryActionsInput | null): RepositoryActionsState {\n const [ideLoading, setIdeLoading] = useState(false);\n const [shellLoading, setShellLoading] = useState(false);\n const [folderLoading, setFolderLoading] = useState(false);\n const [ideError, setIdeError] = useState<string | null>(null);\n const [shellError, setShellError] = useState<string | null>(null);\n const [folderError, setFolderError] = useState<string | null>(null);\n\n const ideTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const shellTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const folderTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Clear timers on unmount\n useEffect(() => {\n const ideRef = ideTimerRef;\n const shellRef = shellTimerRef;\n const folderRef = folderTimerRef;\n return () => {\n if (ideRef.current) clearTimeout(ideRef.current);\n if (shellRef.current) clearTimeout(shellRef.current);\n if (folderRef.current) clearTimeout(folderRef.current);\n };\n }, []);\n\n const performAction = useCallback(\n async (\n action: () => Promise<{ success: boolean; error?: string }>,\n setLoading: (v: boolean) => void,\n setError: (v: string | null) => void,\n timerRef: React.RefObject<ReturnType<typeof setTimeout> | null>,\n isLoading: boolean\n ) => {\n if (!input || isLoading) return;\n\n if (timerRef.current) clearTimeout(timerRef.current);\n\n setLoading(true);\n setError(null);\n\n try {\n const result = await action();\n\n if (!result.success) {\n const errorMessage = result.error ?? 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n }\n } catch (err: unknown) {\n const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n } finally {\n setLoading(false);\n }\n },\n [input]\n );\n\n const handleOpenIde = useCallback(\n () =>\n performAction(\n () => openIde({ repositoryPath: input!.repositoryPath }),\n setIdeLoading,\n setIdeError,\n ideTimerRef,\n ideLoading\n ),\n [performAction, ideLoading, input]\n );\n\n const handleOpenShell = useCallback(\n () =>\n performAction(\n () => openShell({ repositoryPath: input!.repositoryPath }),\n setShellLoading,\n setShellError,\n shellTimerRef,\n shellLoading\n ),\n [performAction, shellLoading, input]\n );\n\n const handleOpenFolder = useCallback(\n () =>\n performAction(\n () => openFolder(input!.repositoryPath),\n setFolderLoading,\n setFolderError,\n folderTimerRef,\n folderLoading\n ),\n [performAction, folderLoading, input]\n );\n\n return {\n openInIde: handleOpenIde,\n openInShell: handleOpenShell,\n openFolder: handleOpenFolder,\n ideLoading,\n shellLoading,\n folderLoading,\n ideError,\n shellError,\n folderError,\n };\n}\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,6,7,8,9,10,12,13,15,17]}
|
|
@@ -2,6 +2,6 @@ module.exports=[13126,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(66873
|
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${c.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${c.docsSlug}`;return b.useEffect(()=>{a&&(document.getElementById(a)||console.error(d))},[d,a]),null},X=({contentRef:a,descriptionId:c})=>{let d=V("DialogDescriptionWarning"),e=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${d.contentName}}.`;return b.useEffect(()=>{let b=a.current?.getAttribute("aria-describedby");c&&b&&(document.getElementById(c)||console.warn(e))},[e,a,c]),null};a.s(["Close",()=>R,"Content",()=>I,"Description",()=>P,"Dialog",()=>w,"DialogClose",()=>R,"DialogContent",()=>I,"DialogDescription",()=>P,"DialogOverlay",()=>E,"DialogPortal",()=>C,"DialogTitle",()=>N,"DialogTrigger",()=>y,"Overlay",()=>E,"Portal",()=>C,"Root",()=>w,"Title",()=>N,"Trigger",()=>y,"WarningProvider",()=>U,"createDialogScope",()=>t])},71335,a=>{"use strict";var b=a.i(40093);a.s(["Dialog",0,b])},82934,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(59653),e=a.i(6175),f=a.i(7420),g=a.i(58761),h=a.i(5472),i=a.i(75988),j=a.i(80930),k=a.i(14272),l=a.i(66873),m=a.i(90986),n=a.i(17329),o=a.i(50049),[p,q]=(0,f.createContextScope)("Tooltip",[i.createPopperScope]),r=(0,i.createPopperScope)(),s="TooltipProvider",t="tooltip.open",[u,v]=p(s),w=a=>{let{__scopeTooltip:d,delayDuration:e=700,skipDelayDuration:f=300,disableHoverableContent:g=!1,children:h}=a,i=c.useRef(!0),j=c.useRef(!1),k=c.useRef(0);return c.useEffect(()=>{let a=k.current;return()=>window.clearTimeout(a)},[]),(0,b.jsx)(u,{scope:d,isOpenDelayedRef:i,delayDuration:e,onOpen:c.useCallback(()=>{window.clearTimeout(k.current),i.current=!1},[]),onClose:c.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>i.current=!0,f)},[f]),isPointerInTransitRef:j,onPointerInTransitChange:c.useCallback(a=>{j.current=a},[]),disableHoverableContent:g,children:h})};w.displayName=s;var x="Tooltip",[y,z]=p(x),A=a=>{let{__scopeTooltip:d,children:e,open:f,defaultOpen:g,onOpenChange:j,disableHoverableContent:k,delayDuration:l}=a,m=v(x,a.__scopeTooltip),o=r(d),[p,q]=c.useState(null),s=(0,h.useId)(),u=c.useRef(0),w=k??m.disableHoverableContent,z=l??m.delayDuration,A=c.useRef(!1),[B,C]=(0,n.useControllableState)({prop:f,defaultProp:g??!1,onChange:a=>{a?(m.onOpen(),document.dispatchEvent(new CustomEvent(t))):m.onClose(),j?.(a)},caller:x}),D=c.useMemo(()=>B?A.current?"delayed-open":"instant-open":"closed",[B]),E=c.useCallback(()=>{window.clearTimeout(u.current),u.current=0,A.current=!1,C(!0)},[C]),F=c.useCallback(()=>{window.clearTimeout(u.current),u.current=0,C(!1)},[C]),G=c.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>{A.current=!0,C(!0),u.current=0},z)},[z,C]);return c.useEffect(()=>()=>{u.current&&(window.clearTimeout(u.current),u.current=0)},[]),(0,b.jsx)(i.Root,{...o,children:(0,b.jsx)(y,{scope:d,contentId:s,open:B,stateAttribute:D,trigger:p,onTriggerChange:q,onTriggerEnter:c.useCallback(()=>{m.isOpenDelayedRef.current?G():E()},[m.isOpenDelayedRef,G,E]),onTriggerLeave:c.useCallback(()=>{w?F():(window.clearTimeout(u.current),u.current=0)},[F,w]),onOpen:E,onClose:F,disableHoverableContent:w,children:e})})};A.displayName=x;var B="TooltipTrigger",C=c.forwardRef((a,f)=>{let{__scopeTooltip:g,...h}=a,j=z(B,g),k=v(B,g),m=r(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n,j.onTriggerChange),p=c.useRef(!1),q=c.useRef(!1),s=c.useCallback(()=>p.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",s),[s]),(0,b.jsx)(i.Anchor,{asChild:!0,...m,children:(0,b.jsx)(l.Primitive.button,{"aria-describedby":j.open?j.contentId:void 0,"data-state":j.stateAttribute,...h,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(q.current||k.isPointerInTransitRef.current||(j.onTriggerEnter(),q.current=!0))}),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,()=>{j.onTriggerLeave(),q.current=!1}),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,()=>{j.open&&j.onClose(),p.current=!0,document.addEventListener("pointerup",s,{once:!0})}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>{p.current||j.onOpen()}),onBlur:(0,d.composeEventHandlers)(a.onBlur,j.onClose),onClick:(0,d.composeEventHandlers)(a.onClick,j.onClose)})})});C.displayName=B;var D="TooltipPortal",[E,F]=p(D,{forceMount:void 0}),G=a=>{let{__scopeTooltip:c,forceMount:d,children:e,container:f}=a,g=z(D,c);return(0,b.jsx)(E,{scope:c,forceMount:d,children:(0,b.jsx)(k.Presence,{present:d||g.open,children:(0,b.jsx)(j.Portal,{asChild:!0,container:f,children:e})})})};G.displayName=D;var H="TooltipContent",I=c.forwardRef((a,c)=>{let d=F(H,a.__scopeTooltip),{forceMount:e=d.forceMount,side:f="top",...g}=a,h=z(H,a.__scopeTooltip);return(0,b.jsx)(k.Presence,{present:e||h.open,children:h.disableHoverableContent?(0,b.jsx)(N,{side:f,...g,ref:c}):(0,b.jsx)(J,{side:f,...g,ref:c})})}),J=c.forwardRef((a,d)=>{let f=z(H,a.__scopeTooltip),g=v(H,a.__scopeTooltip),h=c.useRef(null),i=(0,e.useComposedRefs)(d,h),[j,k]=c.useState(null),{trigger:l,onClose:m}=f,n=h.current,{onPointerInTransitChange:o}=g,p=c.useCallback(()=>{k(null),o(!1)},[o]),q=c.useCallback((a,b)=>{let c,d=a.currentTarget,e={x:a.clientX,y:a.clientY},f=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(e,d.getBoundingClientRect());k(((c=[...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(e,f),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())].slice()).sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(c))),o(!0)},[o]);return c.useEffect(()=>()=>p(),[p]),c.useEffect(()=>{if(l&&n){let a=a=>q(a,n),b=a=>q(a,l);return l.addEventListener("pointerleave",a),n.addEventListener("pointerleave",b),()=>{l.removeEventListener("pointerleave",a),n.removeEventListener("pointerleave",b)}}},[l,n,q,p]),c.useEffect(()=>{if(j){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=l?.contains(b)||n?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}(c,j);d?p():e&&(p(),m())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[l,n,j,m,p]),(0,b.jsx)(N,{...a,ref:i})}),[K,L]=p(x,{isInside:!1}),M=(0,m.createSlottable)("TooltipContent"),N=c.forwardRef((a,d)=>{let{__scopeTooltip:e,children:f,"aria-label":h,onEscapeKeyDown:j,onPointerDownOutside:k,...l}=a,m=z(H,e),n=r(e),{onClose:p}=m;return c.useEffect(()=>(document.addEventListener(t,p),()=>document.removeEventListener(t,p)),[p]),c.useEffect(()=>{if(m.trigger){let a=a=>{let b=a.target;b?.contains(m.trigger)&&p()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[m.trigger,p]),(0,b.jsx)(g.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:a=>a.preventDefault(),onDismiss:p,children:(0,b.jsxs)(i.Content,{"data-state":m.stateAttribute,...n,...l,ref:d,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,b.jsx)(M,{children:f}),(0,b.jsx)(K,{scope:e,isInside:!0,children:(0,b.jsx)(o.Root,{id:m.contentId,role:"tooltip",children:h||f})})]})})});I.displayName=H;var O="TooltipArrow",P=c.forwardRef((a,c)=>{let{__scopeTooltip:d,...e}=a,f=r(d);return L(O,d).isInside?null:(0,b.jsx)(i.Arrow,{...f,...e,ref:c})});P.displayName=O,a.s(["Arrow",()=>P,"Content",()=>I,"Portal",()=>G,"Provider",()=>w,"Root",()=>A,"Tooltip",()=>A,"TooltipArrow",()=>P,"TooltipContent",()=>I,"TooltipPortal",()=>G,"TooltipProvider",()=>w,"TooltipTrigger",()=>C,"Trigger",()=>C,"createTooltipScope",()=>q],17151);var Q=a.i(17151),Q=Q,R=a.i(85536);function S({delayDuration:a=0,...c}){return(0,b.jsx)(Q.Provider,{"data-slot":"tooltip-provider",delayDuration:a,...c})}function T({...a}){return(0,b.jsx)(Q.Root,{"data-slot":"tooltip",...a})}function U({...a}){return(0,b.jsx)(Q.Trigger,{"data-slot":"tooltip-trigger",...a})}function V({className:a,sideOffset:c=0,children:d,...e}){return(0,b.jsx)(Q.Portal,{children:(0,b.jsxs)(Q.Content,{"data-slot":"tooltip-content",sideOffset:c,className:(0,R.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...e,children:[d,(0,b.jsx)(Q.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}a.s(["Tooltip",()=>T,"TooltipContent",()=>V,"TooltipProvider",()=>S,"TooltipTrigger",()=>U],82934)},82697,76234,a=>{"use strict";let b=(0,a.i(25700).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["default",()=>b],76234),a.s(["CircleAlert",()=>b],82697)},88064,7052,a=>{"use strict";let b=(0,a.i(25700).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",()=>b],7052),a.s(["Loader2",()=>b],88064)},45670,2807,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(71335),e=a.i(89868);a.s(["X",()=>e.default],2807);var e=e,f=a.i(85536);let g=d.Dialog.Root,h=d.Dialog.Trigger,i=d.Dialog.Portal,j=d.Dialog.Close,k=c.forwardRef(({className:a,onClick:c,...e},g)=>(0,b.jsx)(d.Dialog.Overlay,{ref:g,className:(0,f.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",a),onClick:a=>{a.stopPropagation(),c?.(a)},...e}));k.displayName=d.Dialog.Overlay.displayName;let l=c.forwardRef(({className:a,children:c,...g},h)=>(0,b.jsxs)(i,{children:[(0,b.jsx)(k,{}),(0,b.jsxs)(d.Dialog.Content,{ref:h,className:(0,f.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",a),...g,children:[c,(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,b.jsx)(e.default,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=d.Dialog.Content.displayName;let m=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...c});m.displayName="DialogHeader";let n=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...c});n.displayName="DialogFooter";let o=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Title,{ref:e,className:(0,f.cn)("text-lg leading-none font-semibold tracking-tight",a),...c}));o.displayName=d.Dialog.Title.displayName;let p=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Description,{ref:e,className:(0,f.cn)("text-muted-foreground text-sm",a),...c}));p.displayName=d.Dialog.Description.displayName,a.s(["Dialog",()=>g,"DialogClose",()=>j,"DialogContent",()=>l,"DialogDescription",()=>p,"DialogFooter",()=>n,"DialogHeader",()=>m,"DialogTitle",()=>o,"DialogTrigger",()=>h],45670)},19884,2103,87139,a=>{"use strict";var b=a.i(96960);let c="shep-sound-enabled",d="shep:sound-toggle";function e(){let[a,e]=(0,b.useState)(!0);(0,b.useEffect)(()=>{"false"===localStorage.getItem(c)&&e(!1);let a=a=>{e(a.detail)};return window.addEventListener(d,a),()=>window.removeEventListener(d,a)},[]);let f=(0,b.useCallback)(()=>{let b=!a;localStorage.setItem(c,String(b)),e(b),window.dispatchEvent(new CustomEvent(d,{detail:b}))},[a]);return{enabled:a,toggle:f}}a.s(["useSoundEnabled",()=>e],2103);let f={navigate:{sound:"tap_01",volume:.2},"menu-item":{sound:"tap_01",volume:.2},select:{sound:"select",volume:.3},"toggle-on":{sound:"toggle_on",volume:.3},"toggle-off":{sound:"toggle_off",volume:.3},click:{sound:"tap_01",volume:.3},cancel:{sound:"transition_down",volume:.3},expand:{sound:"swipe",volume:.3},collapse:{sound:"swipe",volume:.3},"menu-open":{sound:"select",volume:.3},copy:{sound:"select",volume:.3},"drawer-open":{sound:"transition_up",volume:.4},"drawer-close":{sound:"transition_down",volume:.4},submit:{sound:"button",volume:.4},approve:{sound:"celebration",volume:.5},reject:{sound:"caution",volume:.5},create:{sound:"transition_up",volume:.5},delete:{sound:"transition_down",volume:.5},"notification-success":{sound:"celebration",volume:.5},"notification-error":{sound:"caution",volume:.5},"notification-warning":{sound:"notification",volume:.5},"notification-info":{sound:"button",volume:.5}};function g(a){let{sound:c,volume:d}=f[a];return function(a,c={}){let{volume:d=1,loop:f=!1}=c,{enabled:g}=e(),h=(0,b.useRef)(null),i=(0,b.useRef)(!1);return(0,b.useEffect)(()=>{},[a,f,d]),{play:(0,b.useCallback)(()=>{if(!g)return;let a=h.current;a&&(a.currentTime=0,a.play()?.catch(a=>{}),i.current=!0)},[g,a]),stop:(0,b.useCallback)(()=>{let a=h.current;a&&(a.pause(),a.currentTime=0,i.current=!1)},[]),isPlaying:i.current}}(c,{volume:d})}a.s(["useSoundAction",()=>g],19884);let h=!!process.env.NEXT_PUBLIC_DEBUG,i=()=>void 0;function j(a){return{info:h?(...b)=>console.info(a,...b):i,debug:h?(...b)=>console.debug(a,...b):i,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}a.s(["createLogger",()=>j],87139)},21333,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,c.createContext)({skills:!1,envDeploy:!0,debug:!1,githubImport:!1,adoptBranch:!1,reactFileManager:!1});function e({children:a,flags:c}){return(0,b.jsx)(d.Provider,{value:c,children:a})}function f(){return(0,c.useContext)(d)}a.s(["FeatureFlagsProvider",()=>e,"useFeatureFlags",()=>f])}];
|
|
5
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${c.docsSlug}`;return b.useEffect(()=>{a&&(document.getElementById(a)||console.error(d))},[d,a]),null},X=({contentRef:a,descriptionId:c})=>{let d=V("DialogDescriptionWarning"),e=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${d.contentName}}.`;return b.useEffect(()=>{let b=a.current?.getAttribute("aria-describedby");c&&b&&(document.getElementById(c)||console.warn(e))},[e,a,c]),null};a.s(["Close",()=>R,"Content",()=>I,"Description",()=>P,"Dialog",()=>w,"DialogClose",()=>R,"DialogContent",()=>I,"DialogDescription",()=>P,"DialogOverlay",()=>E,"DialogPortal",()=>C,"DialogTitle",()=>N,"DialogTrigger",()=>y,"Overlay",()=>E,"Portal",()=>C,"Root",()=>w,"Title",()=>N,"Trigger",()=>y,"WarningProvider",()=>U,"createDialogScope",()=>t])},71335,a=>{"use strict";var b=a.i(40093);a.s(["Dialog",0,b])},82934,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(59653),e=a.i(6175),f=a.i(7420),g=a.i(58761),h=a.i(5472),i=a.i(75988),j=a.i(80930),k=a.i(14272),l=a.i(66873),m=a.i(90986),n=a.i(17329),o=a.i(50049),[p,q]=(0,f.createContextScope)("Tooltip",[i.createPopperScope]),r=(0,i.createPopperScope)(),s="TooltipProvider",t="tooltip.open",[u,v]=p(s),w=a=>{let{__scopeTooltip:d,delayDuration:e=700,skipDelayDuration:f=300,disableHoverableContent:g=!1,children:h}=a,i=c.useRef(!0),j=c.useRef(!1),k=c.useRef(0);return c.useEffect(()=>{let a=k.current;return()=>window.clearTimeout(a)},[]),(0,b.jsx)(u,{scope:d,isOpenDelayedRef:i,delayDuration:e,onOpen:c.useCallback(()=>{window.clearTimeout(k.current),i.current=!1},[]),onClose:c.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>i.current=!0,f)},[f]),isPointerInTransitRef:j,onPointerInTransitChange:c.useCallback(a=>{j.current=a},[]),disableHoverableContent:g,children:h})};w.displayName=s;var x="Tooltip",[y,z]=p(x),A=a=>{let{__scopeTooltip:d,children:e,open:f,defaultOpen:g,onOpenChange:j,disableHoverableContent:k,delayDuration:l}=a,m=v(x,a.__scopeTooltip),o=r(d),[p,q]=c.useState(null),s=(0,h.useId)(),u=c.useRef(0),w=k??m.disableHoverableContent,z=l??m.delayDuration,A=c.useRef(!1),[B,C]=(0,n.useControllableState)({prop:f,defaultProp:g??!1,onChange:a=>{a?(m.onOpen(),document.dispatchEvent(new CustomEvent(t))):m.onClose(),j?.(a)},caller:x}),D=c.useMemo(()=>B?A.current?"delayed-open":"instant-open":"closed",[B]),E=c.useCallback(()=>{window.clearTimeout(u.current),u.current=0,A.current=!1,C(!0)},[C]),F=c.useCallback(()=>{window.clearTimeout(u.current),u.current=0,C(!1)},[C]),G=c.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>{A.current=!0,C(!0),u.current=0},z)},[z,C]);return c.useEffect(()=>()=>{u.current&&(window.clearTimeout(u.current),u.current=0)},[]),(0,b.jsx)(i.Root,{...o,children:(0,b.jsx)(y,{scope:d,contentId:s,open:B,stateAttribute:D,trigger:p,onTriggerChange:q,onTriggerEnter:c.useCallback(()=>{m.isOpenDelayedRef.current?G():E()},[m.isOpenDelayedRef,G,E]),onTriggerLeave:c.useCallback(()=>{w?F():(window.clearTimeout(u.current),u.current=0)},[F,w]),onOpen:E,onClose:F,disableHoverableContent:w,children:e})})};A.displayName=x;var B="TooltipTrigger",C=c.forwardRef((a,f)=>{let{__scopeTooltip:g,...h}=a,j=z(B,g),k=v(B,g),m=r(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n,j.onTriggerChange),p=c.useRef(!1),q=c.useRef(!1),s=c.useCallback(()=>p.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",s),[s]),(0,b.jsx)(i.Anchor,{asChild:!0,...m,children:(0,b.jsx)(l.Primitive.button,{"aria-describedby":j.open?j.contentId:void 0,"data-state":j.stateAttribute,...h,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(q.current||k.isPointerInTransitRef.current||(j.onTriggerEnter(),q.current=!0))}),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,()=>{j.onTriggerLeave(),q.current=!1}),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,()=>{j.open&&j.onClose(),p.current=!0,document.addEventListener("pointerup",s,{once:!0})}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>{p.current||j.onOpen()}),onBlur:(0,d.composeEventHandlers)(a.onBlur,j.onClose),onClick:(0,d.composeEventHandlers)(a.onClick,j.onClose)})})});C.displayName=B;var D="TooltipPortal",[E,F]=p(D,{forceMount:void 0}),G=a=>{let{__scopeTooltip:c,forceMount:d,children:e,container:f}=a,g=z(D,c);return(0,b.jsx)(E,{scope:c,forceMount:d,children:(0,b.jsx)(k.Presence,{present:d||g.open,children:(0,b.jsx)(j.Portal,{asChild:!0,container:f,children:e})})})};G.displayName=D;var H="TooltipContent",I=c.forwardRef((a,c)=>{let d=F(H,a.__scopeTooltip),{forceMount:e=d.forceMount,side:f="top",...g}=a,h=z(H,a.__scopeTooltip);return(0,b.jsx)(k.Presence,{present:e||h.open,children:h.disableHoverableContent?(0,b.jsx)(N,{side:f,...g,ref:c}):(0,b.jsx)(J,{side:f,...g,ref:c})})}),J=c.forwardRef((a,d)=>{let f=z(H,a.__scopeTooltip),g=v(H,a.__scopeTooltip),h=c.useRef(null),i=(0,e.useComposedRefs)(d,h),[j,k]=c.useState(null),{trigger:l,onClose:m}=f,n=h.current,{onPointerInTransitChange:o}=g,p=c.useCallback(()=>{k(null),o(!1)},[o]),q=c.useCallback((a,b)=>{let c,d=a.currentTarget,e={x:a.clientX,y:a.clientY},f=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(e,d.getBoundingClientRect());k(((c=[...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(e,f),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())].slice()).sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(c))),o(!0)},[o]);return c.useEffect(()=>()=>p(),[p]),c.useEffect(()=>{if(l&&n){let a=a=>q(a,n),b=a=>q(a,l);return l.addEventListener("pointerleave",a),n.addEventListener("pointerleave",b),()=>{l.removeEventListener("pointerleave",a),n.removeEventListener("pointerleave",b)}}},[l,n,q,p]),c.useEffect(()=>{if(j){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=l?.contains(b)||n?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}(c,j);d?p():e&&(p(),m())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[l,n,j,m,p]),(0,b.jsx)(N,{...a,ref:i})}),[K,L]=p(x,{isInside:!1}),M=(0,m.createSlottable)("TooltipContent"),N=c.forwardRef((a,d)=>{let{__scopeTooltip:e,children:f,"aria-label":h,onEscapeKeyDown:j,onPointerDownOutside:k,...l}=a,m=z(H,e),n=r(e),{onClose:p}=m;return c.useEffect(()=>(document.addEventListener(t,p),()=>document.removeEventListener(t,p)),[p]),c.useEffect(()=>{if(m.trigger){let a=a=>{let b=a.target;b?.contains(m.trigger)&&p()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[m.trigger,p]),(0,b.jsx)(g.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:j,onPointerDownOutside:k,onFocusOutside:a=>a.preventDefault(),onDismiss:p,children:(0,b.jsxs)(i.Content,{"data-state":m.stateAttribute,...n,...l,ref:d,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,b.jsx)(M,{children:f}),(0,b.jsx)(K,{scope:e,isInside:!0,children:(0,b.jsx)(o.Root,{id:m.contentId,role:"tooltip",children:h||f})})]})})});I.displayName=H;var O="TooltipArrow",P=c.forwardRef((a,c)=>{let{__scopeTooltip:d,...e}=a,f=r(d);return L(O,d).isInside?null:(0,b.jsx)(i.Arrow,{...f,...e,ref:c})});P.displayName=O,a.s(["Arrow",()=>P,"Content",()=>I,"Portal",()=>G,"Provider",()=>w,"Root",()=>A,"Tooltip",()=>A,"TooltipArrow",()=>P,"TooltipContent",()=>I,"TooltipPortal",()=>G,"TooltipProvider",()=>w,"TooltipTrigger",()=>C,"Trigger",()=>C,"createTooltipScope",()=>q],17151);var Q=a.i(17151),Q=Q,R=a.i(85536);function S({delayDuration:a=0,...c}){return(0,b.jsx)(Q.Provider,{"data-slot":"tooltip-provider",delayDuration:a,...c})}function T({...a}){return(0,b.jsx)(Q.Root,{"data-slot":"tooltip",...a})}function U({...a}){return(0,b.jsx)(Q.Trigger,{"data-slot":"tooltip-trigger",...a})}function V({className:a,sideOffset:c=0,children:d,...e}){return(0,b.jsx)(Q.Portal,{children:(0,b.jsxs)(Q.Content,{"data-slot":"tooltip-content",sideOffset:c,className:(0,R.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...e,children:[d,(0,b.jsx)(Q.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}a.s(["Tooltip",()=>T,"TooltipContent",()=>V,"TooltipProvider",()=>S,"TooltipTrigger",()=>U],82934)},82697,a=>{"use strict";var b=a.i(76234);a.s(["CircleAlert",()=>b.default])},45670,2807,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(71335),e=a.i(89868);a.s(["X",()=>e.default],2807);var e=e,f=a.i(85536);let g=d.Dialog.Root,h=d.Dialog.Trigger,i=d.Dialog.Portal,j=d.Dialog.Close,k=c.forwardRef(({className:a,onClick:c,...e},g)=>(0,b.jsx)(d.Dialog.Overlay,{ref:g,className:(0,f.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",a),onClick:a=>{a.stopPropagation(),c?.(a)},...e}));k.displayName=d.Dialog.Overlay.displayName;let l=c.forwardRef(({className:a,children:c,...g},h)=>(0,b.jsxs)(i,{children:[(0,b.jsx)(k,{}),(0,b.jsxs)(d.Dialog.Content,{ref:h,className:(0,f.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",a),...g,children:[c,(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,b.jsx)(e.default,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=d.Dialog.Content.displayName;let m=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...c});m.displayName="DialogHeader";let n=({className:a,...c})=>(0,b.jsx)("div",{className:(0,f.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...c});n.displayName="DialogFooter";let o=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Title,{ref:e,className:(0,f.cn)("text-lg leading-none font-semibold tracking-tight",a),...c}));o.displayName=d.Dialog.Title.displayName;let p=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)(d.Dialog.Description,{ref:e,className:(0,f.cn)("text-muted-foreground text-sm",a),...c}));p.displayName=d.Dialog.Description.displayName,a.s(["Dialog",()=>g,"DialogClose",()=>j,"DialogContent",()=>l,"DialogDescription",()=>p,"DialogFooter",()=>n,"DialogHeader",()=>m,"DialogTitle",()=>o,"DialogTrigger",()=>h],45670)},19884,2103,87139,a=>{"use strict";var b=a.i(96960);let c="shep-sound-enabled",d="shep:sound-toggle";function e(){let[a,e]=(0,b.useState)(!0);(0,b.useEffect)(()=>{"false"===localStorage.getItem(c)&&e(!1);let a=a=>{e(a.detail)};return window.addEventListener(d,a),()=>window.removeEventListener(d,a)},[]);let f=(0,b.useCallback)(()=>{let b=!a;localStorage.setItem(c,String(b)),e(b),window.dispatchEvent(new CustomEvent(d,{detail:b}))},[a]);return{enabled:a,toggle:f}}a.s(["useSoundEnabled",()=>e],2103);let f={navigate:{sound:"tap_01",volume:.2},"menu-item":{sound:"tap_01",volume:.2},select:{sound:"select",volume:.3},"toggle-on":{sound:"toggle_on",volume:.3},"toggle-off":{sound:"toggle_off",volume:.3},click:{sound:"tap_01",volume:.3},cancel:{sound:"transition_down",volume:.3},expand:{sound:"swipe",volume:.3},collapse:{sound:"swipe",volume:.3},"menu-open":{sound:"select",volume:.3},copy:{sound:"select",volume:.3},"drawer-open":{sound:"transition_up",volume:.4},"drawer-close":{sound:"transition_down",volume:.4},submit:{sound:"button",volume:.4},approve:{sound:"celebration",volume:.5},reject:{sound:"caution",volume:.5},create:{sound:"transition_up",volume:.5},delete:{sound:"transition_down",volume:.5},"notification-success":{sound:"celebration",volume:.5},"notification-error":{sound:"caution",volume:.5},"notification-warning":{sound:"notification",volume:.5},"notification-info":{sound:"button",volume:.5}};function g(a){let{sound:c,volume:d}=f[a];return function(a,c={}){let{volume:d=1,loop:f=!1}=c,{enabled:g}=e(),h=(0,b.useRef)(null),i=(0,b.useRef)(!1);return(0,b.useEffect)(()=>{},[a,f,d]),{play:(0,b.useCallback)(()=>{if(!g)return;let a=h.current;a&&(a.currentTime=0,a.play()?.catch(a=>{}),i.current=!0)},[g,a]),stop:(0,b.useCallback)(()=>{let a=h.current;a&&(a.pause(),a.currentTime=0,i.current=!1)},[]),isPlaying:i.current}}(c,{volume:d})}a.s(["useSoundAction",()=>g],19884);let h=!!process.env.NEXT_PUBLIC_DEBUG,i=()=>void 0;function j(a){return{info:h?(...b)=>console.info(a,...b):i,debug:h?(...b)=>console.debug(a,...b):i,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}a.s(["createLogger",()=>j],87139)},21333,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,c.createContext)({skills:!1,envDeploy:!0,debug:!1,githubImport:!1,adoptBranch:!1,reactFileManager:!1,scheduledWorkflows:!1});function e({children:a,flags:c}){return(0,b.jsx)(d.Provider,{value:c,children:a})}function f(){return(0,c.useContext)(d)}a.s(["FeatureFlagsProvider",()=>e,"useFeatureFlags",()=>f])}];
|
|
6
6
|
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=_a3721140._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-separator%401.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Bre_339be71113696df74cf881e475ee3eb9/node_modules/%40radix-ui/react-separator/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/separator.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/x.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-dialog%401.1.15_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breac_243e5081bca3fbc73564cdfd99ffccf4/node_modules/%40radix-ui/react-dialog/src/dialog.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-tooltip%401.2.8_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Breac_6c936392a1aa34d496e116dc55299197/node_modules/%40radix-ui/react-tooltip/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/tooltip.tsx","../../../../../../../src/presentation/web/components/ui/dialog.tsx","../../../../../../../src/presentation/web/hooks/use-sound.ts","../../../../../../../src/presentation/web/hooks/use-sound-enabled.ts","../../../../../../../src/presentation/web/hooks/use-sound-action.ts","../../../../../../../src/presentation/web/lib/logger.ts","../../../../../../../src/presentation/web/hooks/feature-flags-context.tsx"],"sourcesContent":["// src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Separator as SeparatorPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M18 6 6 18', key: '1bl5f8' }],\n ['path', { d: 'm6 6 12 12', key: 'd8bk6v' }],\n];\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst X = createLucideIcon('x', __iconNode);\n\nexport default X;\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { createSlot } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n contentRef: React.RefObject<DialogContentElement | null>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME,\n });\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n (props: ScopedProps<DialogTriggerProps>, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.contentId}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n }\n);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogOverlay = React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n (props: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst Slot = createSlot('DialogOverlay.RemoveScroll');\n\nconst DialogOverlayImpl = React.forwardRef<DialogOverlayImplElement, DialogOverlayImplProps>(\n (props: ScopedProps<DialogOverlayImplProps>, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={forwardedRef}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n (props: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}\n\nconst DialogContentModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n })}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === 'pointerdown') {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ComponentRef<typeof DismissableLayer>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: FocusScopeProps['trapped'];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n}\n\nconst DialogContentImpl = React.forwardRef<DialogContentImplElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (because of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning contentRef={contentRef} descriptionId={context.descriptionId} />\n </>\n )}\n </>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ComponentRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = React.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ComponentRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = React.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ComponentRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC<TitleWarningProps> = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<DialogContentElement | null>;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Tooltip as TooltipPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n","'use client';\n\nimport * as React from 'react';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { X } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, onClick, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150',\n className\n )}\n onClick={(e) => {\n // Prevent overlay clicks from propagating to document-level handlers\n // (e.g. BaseDrawer outside-click) — only the dialog should dismiss.\n e.stopPropagation();\n onClick?.(e);\n }}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg leading-none font-semibold tracking-tight', className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","'use client';\n\nimport { useCallback, useEffect, useRef } from 'react';\nimport { useSoundEnabled } from './use-sound-enabled';\n\nconst SOUND_NAMES = [\n 'button',\n 'caution',\n 'celebration',\n 'disabled',\n 'notification',\n 'progress_loop',\n 'ringtone_loop',\n 'select',\n 'swipe',\n 'swipe_01',\n 'swipe_02',\n 'swipe_03',\n 'swipe_04',\n 'swipe_05',\n 'tap_01',\n 'tap_02',\n 'tap_03',\n 'tap_04',\n 'tap_05',\n 'toggle_off',\n 'toggle_on',\n 'transition_down',\n 'transition_up',\n 'type_01',\n 'type_02',\n 'type_03',\n 'type_04',\n 'type_05',\n] as const;\n\nexport type SoundName = (typeof SOUND_NAMES)[number];\n\nexport interface UseSoundOptions {\n volume?: number;\n loop?: boolean;\n}\n\nexport interface UseSoundResult {\n play: () => void;\n stop: () => void;\n isPlaying: boolean;\n}\n\n// Module-level cache: Audio objects are created once per sound name and reused\n// across component mounts to avoid re-downloading WAV files on every drawer open.\nconst audioCache = new Map<SoundName, HTMLAudioElement>();\n\nfunction getOrCreateAudio(name: SoundName): HTMLAudioElement {\n let audio = audioCache.get(name);\n if (!audio) {\n audio = new Audio(`/sounds/${name}.wav`);\n audio.preload = 'auto';\n audioCache.set(name, audio);\n }\n return audio;\n}\n\nexport function useSound(name: SoundName, options: UseSoundOptions = {}): UseSoundResult {\n const { volume = 1, loop = false } = options;\n const { enabled } = useSoundEnabled();\n const audioRef = useRef<HTMLAudioElement | null>(null);\n const isPlayingRef = useRef(false);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const audio = getOrCreateAudio(name);\n audio.loop = loop;\n audio.volume = Math.max(0, Math.min(1, volume));\n audio.addEventListener('ended', () => {\n isPlayingRef.current = false;\n });\n audioRef.current = audio;\n\n return () => {\n audio.pause();\n audioRef.current = null;\n isPlayingRef.current = false;\n };\n }, [name, loop, volume]);\n\n const play = useCallback(() => {\n if (!enabled) return;\n const audio = audioRef.current;\n if (!audio) return;\n audio.currentTime = 0;\n audio.play()?.catch((err) => {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(`[useSound] play(\"${name}\") blocked:`, err.message);\n }\n });\n isPlayingRef.current = true;\n }, [enabled, name]);\n\n const stop = useCallback(() => {\n const audio = audioRef.current;\n if (!audio) return;\n audio.pause();\n audio.currentTime = 0;\n isPlayingRef.current = false;\n }, []);\n\n return { play, stop, isPlaying: isPlayingRef.current };\n}\n\n/** All available sound names for enumeration (e.g. in Storybook). */\nexport { SOUND_NAMES };\n","'use client';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nconst STORAGE_KEY = 'shep-sound-enabled';\nconst SYNC_EVENT = 'shep:sound-toggle';\n\nexport interface UseSoundEnabledResult {\n enabled: boolean;\n toggle: () => void;\n}\n\nexport function useSoundEnabled(): UseSoundEnabledResult {\n const [enabled, setEnabled] = useState(true);\n\n useEffect(() => {\n const stored = localStorage.getItem(STORAGE_KEY);\n if (stored === 'false') setEnabled(false);\n\n // Sync across all useSoundEnabled instances in the same tab\n const onSync = (e: Event) => {\n setEnabled((e as CustomEvent<boolean>).detail);\n };\n window.addEventListener(SYNC_EVENT, onSync);\n return () => window.removeEventListener(SYNC_EVENT, onSync);\n }, []);\n\n const toggle = useCallback(() => {\n const next = !enabled;\n localStorage.setItem(STORAGE_KEY, String(next));\n setEnabled(next);\n window.dispatchEvent(new CustomEvent(SYNC_EVENT, { detail: next }));\n }, [enabled]);\n\n return { enabled, toggle };\n}\n","'use client';\n\nimport { useSound, type SoundName } from './use-sound';\nimport type { UseSoundResult } from './use-sound';\n\n/* ------------------------------------------------------------------ */\n/* Sound Action Map — single source of truth for action → sound */\n/* ------------------------------------------------------------------ */\n\n/** Maps semantic UI actions to their sound name and volume. */\nexport const SOUND_ACTION_MAP = {\n // Navigation (volume 0.2) — subtle taps for frequent interactions\n navigate: { sound: 'tap_01', volume: 0.2 },\n 'menu-item': { sound: 'tap_01', volume: 0.2 },\n\n // Toggles & selections (volume 0.3) — moderate feedback\n select: { sound: 'select', volume: 0.3 },\n 'toggle-on': { sound: 'toggle_on', volume: 0.3 },\n 'toggle-off': { sound: 'toggle_off', volume: 0.3 },\n click: { sound: 'tap_01', volume: 0.3 },\n cancel: { sound: 'transition_down', volume: 0.3 },\n expand: { sound: 'swipe', volume: 0.3 },\n collapse: { sound: 'swipe', volume: 0.3 },\n 'menu-open': { sound: 'select', volume: 0.3 },\n copy: { sound: 'select', volume: 0.3 },\n\n // Drawers & transitions (volume 0.4) — noticeable transitions\n 'drawer-open': { sound: 'transition_up', volume: 0.4 },\n 'drawer-close': { sound: 'transition_down', volume: 0.4 },\n submit: { sound: 'button', volume: 0.4 },\n\n // Significant actions (volume 0.5) — prominent feedback\n approve: { sound: 'celebration', volume: 0.5 },\n reject: { sound: 'caution', volume: 0.5 },\n create: { sound: 'transition_up', volume: 0.5 },\n delete: { sound: 'transition_down', volume: 0.5 },\n 'notification-success': { sound: 'celebration', volume: 0.5 },\n 'notification-error': { sound: 'caution', volume: 0.5 },\n 'notification-warning': { sound: 'notification', volume: 0.5 },\n 'notification-info': { sound: 'button', volume: 0.5 },\n} as const satisfies Record<string, { sound: SoundName; volume: number }>;\n\n/** Union of all semantic action names available in the sound system. */\nexport type SoundAction = keyof typeof SOUND_ACTION_MAP;\n\n/**\n * Returns `{ play, stop, isPlaying }` for the given semantic action.\n * Sound name and volume are resolved from `SOUND_ACTION_MAP`.\n */\nexport function useSoundAction(action: SoundAction): UseSoundResult {\n const { sound, volume } = SOUND_ACTION_MAP[action];\n return useSound(sound, { volume });\n}\n","/* eslint-disable no-console */\nconst isDebug = !!process.env.NEXT_PUBLIC_DEBUG;\nconst noop = () => undefined;\n\nexport function createLogger(prefix: string) {\n return {\n info: isDebug ? (...args: unknown[]) => console.info(prefix, ...args) : noop,\n debug: isDebug ? (...args: unknown[]) => console.debug(prefix, ...args) : noop,\n warn: (...args: unknown[]) => console.warn(prefix, ...args),\n error: (...args: unknown[]) => console.error(prefix, ...args),\n };\n}\n","'use client';\n\nimport { createContext, useContext, type ReactNode } from 'react';\nimport type { FeatureFlagsState } from '@/lib/feature-flags';\n\nconst defaultFlags: FeatureFlagsState = {\n skills: false,\n envDeploy: true,\n debug: false,\n githubImport: false,\n adoptBranch: false,\n reactFileManager: false,\n scheduledWorkflows: false,\n};\n\nconst FeatureFlagsContext = createContext<FeatureFlagsState>(defaultFlags);\n\ninterface FeatureFlagsProviderProps {\n children: ReactNode;\n flags: FeatureFlagsState;\n}\n\n/**\n * Provides server-resolved feature flags to all client components.\n * Initialized in the root layout with values from the DB singleton,\n * avoiding client-side fallback to environment variables.\n */\nexport function FeatureFlagsProvider({ children, flags }: FeatureFlagsProviderProps) {\n return <FeatureFlagsContext.Provider value={flags}>{children}</FeatureFlagsContext.Provider>;\n}\n\n/**\n * Read feature flags from context. Returns all-flags-off defaults\n * when used outside a FeatureFlagsProvider (e.g., Storybook, tests).\n */\nexport function useFeatureFlags(): FeatureFlagsState {\n return useContext(FeatureFlagsContext);\n}\n"],"names":[],"mappings":"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","ignoreList":[0,4]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[33244,a=>{"use strict";let b="__shepSettings";function c(){let a=globalThis[b];if(null!=a)return a;let c=process[b];return null!=c?c:null}function d(a){globalThis[b]=a,process[b]=a}function e(a){if(null!==c())throw Error("Settings already initialized. Cannot re-initialize.");d(a)}function f(){let a=c();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}function g(){return null!==c()}function h(a){if(null===c())throw Error("Settings not initialized. Cannot update before initialization.");d(a)}function i(){d(null)}a.s(["getSettings",()=>f,"hasSettings",()=>g,"initializeSettings",()=>e,"resetSettings",()=>i,"updateSettings",()=>h])},40848,a=>{"use strict";var b=a.i(33244);function c(a){return"true"===a||"1"===a}function d(){try{if((0,b.hasSettings)()){let a=(0,b.getSettings)().featureFlags;if(a)return{skills:a.skills,envDeploy:a.envDeploy,debug:a.debug,githubImport:a.githubImport,adoptBranch:a.adoptBranch,reactFileManager:a.reactFileManager}}}catch{}return{skills:c(process.env.NEXT_PUBLIC_FLAG_SKILLS),envDeploy:void 0===process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY||c(process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY),debug:!1,githubImport:!1,adoptBranch:!1,reactFileManager:c(process.env.NEXT_PUBLIC_FLAG_REACT_FILE_MANAGER)}}a.s(["featureFlags",0,{get skills(){return d().skills},get envDeploy(){return d().envDeploy},get debug(){return d().debug},get githubImport(){return d().githubImport},get adoptBranch(){return d().adoptBranch},get reactFileManager(){return d().reactFileManager}},"getFeatureFlags",()=>d])},2080,a=>{"use strict";a.s(["AppShell",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call AppShell() from the server but AppShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx <module evaluation>","AppShell")},34168,a=>{"use strict";a.s(["AppShell",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call AppShell() from the server but AppShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx","AppShell")},24028,a=>{"use strict";a.i(2080);var b=a.i(34168);a.n(b)},1834,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/ui/sonner.tsx <module evaluation>","Toaster")},11900,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/ui/sonner.tsx","Toaster")},87291,a=>{"use strict";a.i(1834);var b=a.i(11900);a.n(b)},54856,a=>{"use strict";a.s(["FeatureFlagsProvider",()=>c,"useFeatureFlags",()=>d]);var b=a.i(28478);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FeatureFlagsProvider() from the server but FeatureFlagsProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx <module evaluation>","FeatureFlagsProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFeatureFlags() from the server but useFeatureFlags is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx <module evaluation>","useFeatureFlags")},59259,a=>{"use strict";a.s(["FeatureFlagsProvider",()=>c,"useFeatureFlags",()=>d]);var b=a.i(28478);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FeatureFlagsProvider() from the server but FeatureFlagsProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx","FeatureFlagsProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFeatureFlags() from the server but useFeatureFlags is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx","useFeatureFlags")},74701,a=>{"use strict";a.i(54856);var b=a.i(59259);a.n(b)},72884,a=>{"use strict";var b=a.i(92807),c=a.i(24028),d=a.i(87291),e=a.i(40848),f=a.i(74701);function g({children:a}){return(0,b.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,b.jsx)("head",{children:(0,b.jsx)("script",{dangerouslySetInnerHTML:{__html:`
|
|
1
|
+
module.exports=[33244,a=>{"use strict";let b="__shepSettings";function c(){let a=globalThis[b];if(null!=a)return a;let c=process[b];return null!=c?c:null}function d(a){globalThis[b]=a,process[b]=a}function e(a){if(null!==c())throw Error("Settings already initialized. Cannot re-initialize.");d(a)}function f(){let a=c();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}function g(){return null!==c()}function h(a){if(null===c())throw Error("Settings not initialized. Cannot update before initialization.");d(a)}function i(){d(null)}a.s(["getSettings",()=>f,"hasSettings",()=>g,"initializeSettings",()=>e,"resetSettings",()=>i,"updateSettings",()=>h])},40848,a=>{"use strict";var b=a.i(33244);function c(a){return"true"===a||"1"===a}function d(){try{if((0,b.hasSettings)()){let a=(0,b.getSettings)().featureFlags;if(a)return{skills:a.skills,envDeploy:a.envDeploy,debug:a.debug,githubImport:a.githubImport,adoptBranch:a.adoptBranch,reactFileManager:a.reactFileManager,scheduledWorkflows:a.scheduledWorkflows}}}catch{}return{skills:c(process.env.NEXT_PUBLIC_FLAG_SKILLS),envDeploy:void 0===process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY||c(process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY),debug:!1,githubImport:!1,adoptBranch:!1,reactFileManager:c(process.env.NEXT_PUBLIC_FLAG_REACT_FILE_MANAGER),scheduledWorkflows:!1}}a.s(["featureFlags",0,{get skills(){return d().skills},get envDeploy(){return d().envDeploy},get debug(){return d().debug},get githubImport(){return d().githubImport},get adoptBranch(){return d().adoptBranch},get reactFileManager(){return d().reactFileManager},get scheduledWorkflows(){return d().scheduledWorkflows}},"getFeatureFlags",()=>d])},2080,a=>{"use strict";a.s(["AppShell",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call AppShell() from the server but AppShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx <module evaluation>","AppShell")},34168,a=>{"use strict";a.s(["AppShell",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call AppShell() from the server but AppShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx","AppShell")},24028,a=>{"use strict";a.i(2080);var b=a.i(34168);a.n(b)},1834,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/ui/sonner.tsx <module evaluation>","Toaster")},11900,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/ui/sonner.tsx","Toaster")},87291,a=>{"use strict";a.i(1834);var b=a.i(11900);a.n(b)},54856,a=>{"use strict";a.s(["FeatureFlagsProvider",()=>c,"useFeatureFlags",()=>d]);var b=a.i(28478);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FeatureFlagsProvider() from the server but FeatureFlagsProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx <module evaluation>","FeatureFlagsProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFeatureFlags() from the server but useFeatureFlags is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx <module evaluation>","useFeatureFlags")},59259,a=>{"use strict";a.s(["FeatureFlagsProvider",()=>c,"useFeatureFlags",()=>d]);var b=a.i(28478);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FeatureFlagsProvider() from the server but FeatureFlagsProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx","FeatureFlagsProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFeatureFlags() from the server but useFeatureFlags is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/feature-flags-context.tsx","useFeatureFlags")},74701,a=>{"use strict";a.i(54856);var b=a.i(59259);a.n(b)},72884,a=>{"use strict";var b=a.i(92807),c=a.i(24028),d=a.i(87291),e=a.i(40848),f=a.i(74701);function g({children:a}){return(0,b.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,b.jsx)("head",{children:(0,b.jsx)("script",{dangerouslySetInnerHTML:{__html:`
|
|
2
2
|
(function() {
|
|
3
3
|
try {
|
|
4
4
|
const theme = localStorage.getItem('shep-theme');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/core/src/infrastructure/services/settings.service.ts","../../../../../../../src/presentation/web/lib/feature-flags.ts","../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/components/ui/sonner.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/hooks/feature-flags-context.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/components/layouts/app-shell/index.ts","../../../../../../../src/presentation/web/app/layout.tsx"],"sourcesContent":["/**\n * Settings Service\n *\n * Provides global access to application settings within the CLI.\n * Uses globalThis/process storage so the singleton survives Turbopack\n * module re-evaluations in Next.js API routes.\n *\n * Usage:\n * ```typescript\n * import { getSettings } from './infrastructure/services/settings.service.js';\n *\n * const settings = getSettings();\n * console.log(settings.models.default); // 'claude-sonnet-4-6'\n * ```\n */\n\nimport type { Settings } from '../../domain/generated/output.js';\n\n/** The globalThis / process key for the settings singleton. */\nconst SHEP_SETTINGS_KEY = '__shepSettings';\n\n/** Read the settings instance from globalThis, falling back to process. */\nfunction readSettings(): Settings | null {\n const fromGlobal = (globalThis as Record<string, unknown>)[SHEP_SETTINGS_KEY];\n if (fromGlobal != null) return fromGlobal as Settings;\n\n const fromProcess = (process as unknown as Record<string, unknown>)[SHEP_SETTINGS_KEY];\n if (fromProcess != null) return fromProcess as Settings;\n\n return null;\n}\n\n/** Write the settings instance to both globalThis and process. */\nfunction writeSettings(value: Settings | null): void {\n (globalThis as Record<string, unknown>)[SHEP_SETTINGS_KEY] = value;\n (process as unknown as Record<string, unknown>)[SHEP_SETTINGS_KEY] = value;\n}\n\n/**\n * Initialize the settings service with loaded settings.\n * Must be called once during CLI bootstrap.\n *\n * @param settings - The initialized settings\n * @throws Error if settings are already initialized\n */\nexport function initializeSettings(settings: Settings): void {\n if (readSettings() !== null) {\n throw new Error('Settings already initialized. Cannot re-initialize.');\n }\n\n writeSettings(settings);\n}\n\n/**\n * Get the current application settings.\n *\n * @returns Current settings instance\n * @throws Error if settings haven't been initialized yet\n *\n * @example\n * ```typescript\n * const settings = getSettings();\n * console.log(settings.system.logLevel); // 'info'\n * ```\n */\nexport function getSettings(): Settings {\n const instance = readSettings();\n if (instance === null) {\n throw new Error('Settings not initialized. Call initializeSettings() during CLI bootstrap.');\n }\n\n return instance;\n}\n\n/**\n * Check if settings have been initialized.\n *\n * @returns True if settings are initialized, false otherwise\n */\nexport function hasSettings(): boolean {\n return readSettings() !== null;\n}\n\n/**\n * Update the settings singleton with new values.\n * Used after a successful database write to refresh the in-memory\n * singleton so the rest of the application sees the updated values\n * without a full page reload.\n *\n * @param settings - The updated settings to store\n * @throws Error if settings haven't been initialized yet\n */\nexport function updateSettings(settings: Settings): void {\n if (readSettings() === null) {\n throw new Error('Settings not initialized. Cannot update before initialization.');\n }\n\n writeSettings(settings);\n}\n\n/**\n * Reset settings instance (for testing purposes only).\n * DO NOT use in production code.\n *\n * @internal\n */\nexport function resetSettings(): void {\n writeSettings(null);\n}\n","/**\n * Feature flags for the web UI.\n *\n * DB-primary resolution: reads from Settings.featureFlags when available,\n * falls back to NEXT_PUBLIC_ environment variables.\n * The debug flag is DB-only (no env var fallback).\n */\n\nimport { hasSettings, getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nfunction isEnabled(envVar: string | undefined): boolean {\n return envVar === 'true' || envVar === '1';\n}\n\nexport interface FeatureFlagsState {\n skills: boolean;\n envDeploy: boolean;\n debug: boolean;\n githubImport: boolean;\n adoptBranch: boolean;\n reactFileManager: boolean;\n}\n\nexport function getFeatureFlags(): FeatureFlagsState {\n try {\n if (hasSettings()) {\n const flags = getSettings().featureFlags;\n if (flags) {\n return {\n skills: flags.skills,\n envDeploy: flags.envDeploy,\n debug: flags.debug,\n githubImport: flags.githubImport,\n adoptBranch: flags.adoptBranch,\n reactFileManager: flags.reactFileManager,\n };\n }\n }\n } catch {\n // Settings not initialized (e.g., during build/SSG or client-side hydration)\n }\n\n return {\n skills: isEnabled(process.env.NEXT_PUBLIC_FLAG_SKILLS),\n envDeploy:\n process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY !== undefined\n ? isEnabled(process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY)\n : true,\n debug: false,\n githubImport: false,\n adoptBranch: false,\n reactFileManager: isEnabled(process.env.NEXT_PUBLIC_FLAG_REACT_FILE_MANAGER),\n };\n}\n\n/**\n * @deprecated Use getFeatureFlags() instead for DB-primary resolution.\n * Kept for backward compatibility during migration.\n */\nexport const featureFlags = {\n get skills() {\n return getFeatureFlags().skills;\n },\n get envDeploy() {\n return getFeatureFlags().envDeploy;\n },\n get debug() {\n return getFeatureFlags().debug;\n },\n get githubImport() {\n return getFeatureFlags().githubImport;\n },\n get adoptBranch() {\n return getFeatureFlags().adoptBranch;\n },\n get reactFileManager() {\n return getFeatureFlags().reactFileManager;\n },\n} as const;\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const AppShell = registerClientReference(\n function() { throw new Error(\"Attempted to call AppShell() from the server but AppShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx\",\n \"AppShell\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const Toaster = registerClientReference(\n function() { throw new Error(\"Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/components/ui/sonner.tsx\",\n \"Toaster\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const FeatureFlagsProvider = registerClientReference(\n function() { throw new Error(\"Attempted to call FeatureFlagsProvider() from the server but FeatureFlagsProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/hooks/feature-flags-context.tsx\",\n \"FeatureFlagsProvider\",\n);\nexport const useFeatureFlags = registerClientReference(\n function() { throw new Error(\"Attempted to call useFeatureFlags() from the server but useFeatureFlags is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/hooks/feature-flags-context.tsx\",\n \"useFeatureFlags\",\n);\n","export { AppShell } from './app-shell';\n","import type { Metadata } from 'next';\nimport '@xyflow/react/dist/base.css';\nimport '@cubone/react-file-manager/dist/style.css';\nimport './globals.css';\nimport { AppShell } from '@/components/layouts/app-shell';\nimport { Toaster } from '@/components/ui/sonner';\nimport { getFeatureFlags } from '@/lib/feature-flags';\nimport { FeatureFlagsProvider } from '@/hooks/feature-flags-context';\n\n/** Force dynamic rendering for all pages since they depend on client-side context. */\nexport const dynamic = 'force-dynamic';\n\nexport const metadata: Metadata = {\n title: 'Shep AI',\n description:\n 'Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy',\n icons: [\n {\n rel: 'icon',\n url: '/favicon-light.svg',\n type: 'image/svg+xml',\n media: '(prefers-color-scheme: light)',\n },\n {\n rel: 'icon',\n url: '/favicon-dark.svg',\n type: 'image/svg+xml',\n media: '(prefers-color-scheme: dark)',\n },\n ],\n};\n\nexport default function RootLayout({\n children,\n}: Readonly<{\n children: React.ReactNode;\n}>) {\n return (\n <html lang=\"en\" suppressHydrationWarning>\n <head>\n <script\n dangerouslySetInnerHTML={{\n __html: `\n (function() {\n try {\n const theme = localStorage.getItem('shep-theme');\n const systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n if (theme === 'dark' || (theme === 'system' && systemDark) || (!theme && systemDark)) {\n document.documentElement.classList.add('dark');\n }\n } catch (e) {}\n })();\n `,\n }}\n />\n </head>\n <body className=\"min-h-screen antialiased\">\n <FeatureFlagsProvider flags={getFeatureFlags()}>\n <AppShell>{children}</AppShell>\n </FeatureFlagsProvider>\n <Toaster position=\"bottom-center\" />\n </body>\n </html>\n );\n}\n"],"names":[],"mappings":"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","ignoreList":[2,3,4]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../packages/core/src/infrastructure/services/settings.service.ts","../../../../../../../src/presentation/web/lib/feature-flags.ts","../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/components/ui/sonner.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/hooks/feature-flags-context.tsx/__nextjs-internal-proxy.mjs","../../../../../../../src/presentation/web/components/layouts/app-shell/index.ts","../../../../../../../src/presentation/web/app/layout.tsx"],"sourcesContent":["/**\n * Settings Service\n *\n * Provides global access to application settings within the CLI.\n * Uses globalThis/process storage so the singleton survives Turbopack\n * module re-evaluations in Next.js API routes.\n *\n * Usage:\n * ```typescript\n * import { getSettings } from './infrastructure/services/settings.service.js';\n *\n * const settings = getSettings();\n * console.log(settings.models.default); // 'claude-sonnet-4-6'\n * ```\n */\n\nimport type { Settings } from '../../domain/generated/output.js';\n\n/** The globalThis / process key for the settings singleton. */\nconst SHEP_SETTINGS_KEY = '__shepSettings';\n\n/** Read the settings instance from globalThis, falling back to process. */\nfunction readSettings(): Settings | null {\n const fromGlobal = (globalThis as Record<string, unknown>)[SHEP_SETTINGS_KEY];\n if (fromGlobal != null) return fromGlobal as Settings;\n\n const fromProcess = (process as unknown as Record<string, unknown>)[SHEP_SETTINGS_KEY];\n if (fromProcess != null) return fromProcess as Settings;\n\n return null;\n}\n\n/** Write the settings instance to both globalThis and process. */\nfunction writeSettings(value: Settings | null): void {\n (globalThis as Record<string, unknown>)[SHEP_SETTINGS_KEY] = value;\n (process as unknown as Record<string, unknown>)[SHEP_SETTINGS_KEY] = value;\n}\n\n/**\n * Initialize the settings service with loaded settings.\n * Must be called once during CLI bootstrap.\n *\n * @param settings - The initialized settings\n * @throws Error if settings are already initialized\n */\nexport function initializeSettings(settings: Settings): void {\n if (readSettings() !== null) {\n throw new Error('Settings already initialized. Cannot re-initialize.');\n }\n\n writeSettings(settings);\n}\n\n/**\n * Get the current application settings.\n *\n * @returns Current settings instance\n * @throws Error if settings haven't been initialized yet\n *\n * @example\n * ```typescript\n * const settings = getSettings();\n * console.log(settings.system.logLevel); // 'info'\n * ```\n */\nexport function getSettings(): Settings {\n const instance = readSettings();\n if (instance === null) {\n throw new Error('Settings not initialized. Call initializeSettings() during CLI bootstrap.');\n }\n\n return instance;\n}\n\n/**\n * Check if settings have been initialized.\n *\n * @returns True if settings are initialized, false otherwise\n */\nexport function hasSettings(): boolean {\n return readSettings() !== null;\n}\n\n/**\n * Update the settings singleton with new values.\n * Used after a successful database write to refresh the in-memory\n * singleton so the rest of the application sees the updated values\n * without a full page reload.\n *\n * @param settings - The updated settings to store\n * @throws Error if settings haven't been initialized yet\n */\nexport function updateSettings(settings: Settings): void {\n if (readSettings() === null) {\n throw new Error('Settings not initialized. Cannot update before initialization.');\n }\n\n writeSettings(settings);\n}\n\n/**\n * Reset settings instance (for testing purposes only).\n * DO NOT use in production code.\n *\n * @internal\n */\nexport function resetSettings(): void {\n writeSettings(null);\n}\n","/**\n * Feature flags for the web UI.\n *\n * DB-primary resolution: reads from Settings.featureFlags when available,\n * falls back to NEXT_PUBLIC_ environment variables.\n * The debug flag is DB-only (no env var fallback).\n */\n\nimport { hasSettings, getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nfunction isEnabled(envVar: string | undefined): boolean {\n return envVar === 'true' || envVar === '1';\n}\n\nexport interface FeatureFlagsState {\n skills: boolean;\n envDeploy: boolean;\n debug: boolean;\n githubImport: boolean;\n adoptBranch: boolean;\n reactFileManager: boolean;\n scheduledWorkflows: boolean;\n}\n\nexport function getFeatureFlags(): FeatureFlagsState {\n try {\n if (hasSettings()) {\n const flags = getSettings().featureFlags;\n if (flags) {\n return {\n skills: flags.skills,\n envDeploy: flags.envDeploy,\n debug: flags.debug,\n githubImport: flags.githubImport,\n adoptBranch: flags.adoptBranch,\n reactFileManager: flags.reactFileManager,\n scheduledWorkflows: flags.scheduledWorkflows,\n };\n }\n }\n } catch {\n // Settings not initialized (e.g., during build/SSG or client-side hydration)\n }\n\n return {\n skills: isEnabled(process.env.NEXT_PUBLIC_FLAG_SKILLS),\n envDeploy:\n process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY !== undefined\n ? isEnabled(process.env.NEXT_PUBLIC_FLAG_ENV_DEPLOY)\n : true,\n debug: false,\n githubImport: false,\n adoptBranch: false,\n reactFileManager: isEnabled(process.env.NEXT_PUBLIC_FLAG_REACT_FILE_MANAGER),\n scheduledWorkflows: false,\n };\n}\n\n/**\n * @deprecated Use getFeatureFlags() instead for DB-primary resolution.\n * Kept for backward compatibility during migration.\n */\nexport const featureFlags = {\n get skills() {\n return getFeatureFlags().skills;\n },\n get envDeploy() {\n return getFeatureFlags().envDeploy;\n },\n get debug() {\n return getFeatureFlags().debug;\n },\n get githubImport() {\n return getFeatureFlags().githubImport;\n },\n get adoptBranch() {\n return getFeatureFlags().adoptBranch;\n },\n get reactFileManager() {\n return getFeatureFlags().reactFileManager;\n },\n get scheduledWorkflows() {\n return getFeatureFlags().scheduledWorkflows;\n },\n} as const;\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const AppShell = registerClientReference(\n function() { throw new Error(\"Attempted to call AppShell() from the server but AppShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx\",\n \"AppShell\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const Toaster = registerClientReference(\n function() { throw new Error(\"Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/components/ui/sonner.tsx\",\n \"Toaster\",\n);\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const FeatureFlagsProvider = registerClientReference(\n function() { throw new Error(\"Attempted to call FeatureFlagsProvider() from the server but FeatureFlagsProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/hooks/feature-flags-context.tsx\",\n \"FeatureFlagsProvider\",\n);\nexport const useFeatureFlags = registerClientReference(\n function() { throw new Error(\"Attempted to call useFeatureFlags() from the server but useFeatureFlags is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/presentation/web/hooks/feature-flags-context.tsx\",\n \"useFeatureFlags\",\n);\n","export { AppShell } from './app-shell';\n","import type { Metadata } from 'next';\nimport '@xyflow/react/dist/base.css';\nimport '@cubone/react-file-manager/dist/style.css';\nimport './globals.css';\nimport { AppShell } from '@/components/layouts/app-shell';\nimport { Toaster } from '@/components/ui/sonner';\nimport { getFeatureFlags } from '@/lib/feature-flags';\nimport { FeatureFlagsProvider } from '@/hooks/feature-flags-context';\n\n/** Force dynamic rendering for all pages since they depend on client-side context. */\nexport const dynamic = 'force-dynamic';\n\nexport const metadata: Metadata = {\n title: 'Shep AI',\n description:\n 'Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy',\n icons: [\n {\n rel: 'icon',\n url: '/favicon-light.svg',\n type: 'image/svg+xml',\n media: '(prefers-color-scheme: light)',\n },\n {\n rel: 'icon',\n url: '/favicon-dark.svg',\n type: 'image/svg+xml',\n media: '(prefers-color-scheme: dark)',\n },\n ],\n};\n\nexport default function RootLayout({\n children,\n}: Readonly<{\n children: React.ReactNode;\n}>) {\n return (\n <html lang=\"en\" suppressHydrationWarning>\n <head>\n <script\n dangerouslySetInnerHTML={{\n __html: `\n (function() {\n try {\n const theme = localStorage.getItem('shep-theme');\n const systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n if (theme === 'dark' || (theme === 'system' && systemDark) || (!theme && systemDark)) {\n document.documentElement.classList.add('dark');\n }\n } catch (e) {}\n })();\n `,\n }}\n />\n </head>\n <body className=\"min-h-screen antialiased\">\n <FeatureFlagsProvider flags={getFeatureFlags()}>\n <AppShell>{children}</AppShell>\n </FeatureFlagsProvider>\n <Toaster position=\"bottom-center\" />\n </body>\n </html>\n );\n}\n"],"names":[],"mappings":"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","ignoreList":[2,3,4]}
|