@shepai/cli 1.53.2 → 1.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -8
- package/apis/json-schema/NotificationEvent.yaml +4 -0
- package/dist/packages/core/src/application/ports/output/services/daemon-service.interface.d.ts +49 -0
- package/dist/packages/core/src/application/ports/output/services/daemon-service.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/daemon-service.interface.js +7 -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/domain/generated/output.d.ts +4 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +2 -0
- package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/services/browser-opener.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/browser-opener.service.js +4 -0
- package/dist/packages/core/src/infrastructure/services/daemon/daemon-pid.service.d.ts +16 -0
- package/dist/packages/core/src/infrastructure/services/daemon/daemon-pid.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/daemon/daemon-pid.service.js +72 -0
- package/dist/packages/core/src/infrastructure/services/filesystem/shep-directory.service.d.ts +7 -0
- package/dist/packages/core/src/infrastructure/services/filesystem/shep-directory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/filesystem/shep-directory.service.js +9 -0
- package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.d.ts +4 -0
- package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/notification-bus.js +19 -6
- package/dist/packages/core/src/infrastructure/services/notifications/notification-watcher.service.d.ts +5 -3
- package/dist/packages/core/src/infrastructure/services/notifications/notification-watcher.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/notifications/notification-watcher.service.js +21 -13
- package/dist/src/presentation/cli/commands/_serve.command.d.ts +32 -0
- package/dist/src/presentation/cli/commands/_serve.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/_serve.command.js +91 -0
- package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts +27 -0
- package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/daemon/start-daemon.js +135 -0
- package/dist/src/presentation/cli/commands/start.command.d.ts +15 -0
- package/dist/src/presentation/cli/commands/start.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/start.command.js +33 -0
- package/dist/src/presentation/cli/commands/status.command.d.ts +20 -0
- package/dist/src/presentation/cli/commands/status.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/status.command.js +119 -0
- package/dist/src/presentation/cli/commands/stop.command.d.ts +22 -0
- package/dist/src/presentation/cli/commands/stop.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/stop.command.js +79 -0
- package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/ui.command.js +2 -1
- package/dist/src/presentation/cli/index.d.ts +5 -2
- package/dist/src/presentation/cli/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/index.js +23 -4
- package/dist/src/presentation/web/app/api/agent-events/health/route.d.ts +13 -0
- package/dist/src/presentation/web/app/api/agent-events/health/route.d.ts.map +1 -0
- package/dist/src/presentation/web/app/api/agent-events/health/route.js +60 -0
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts +8 -4
- 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 +227 -55
- package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
- package/dist/src/presentation/web/app/layout.js +14 -0
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts +5 -1
- 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 +29 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/repository-node.js +1 -1
- package/dist/src/presentation/web/components/common/sound-toggle/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/sound-toggle/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sound-toggle/index.js +1 -0
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.d.ts +2 -0
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.js +9 -0
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.d.ts +8 -0
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.js +17 -0
- 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 +14 -2
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +1 -0
- 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 +151 -19
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +2 -1
- package/dist/src/presentation/web/dev-server.js +14 -0
- package/dist/src/presentation/web/hooks/use-agent-events.d.ts +7 -0
- package/dist/src/presentation/web/hooks/use-agent-events.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-agent-events.js +135 -47
- package/dist/src/presentation/web/hooks/use-notifications.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-notifications.js +56 -16
- package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-notifications.stories.js +28 -9
- package/dist/src/presentation/web/hooks/use-sound-enabled.d.ts +6 -0
- package/dist/src/presentation/web/hooks/use-sound-enabled.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-sound-enabled.js +27 -0
- package/dist/src/presentation/web/hooks/use-sound.d.ts +15 -0
- package/dist/src/presentation/web/hooks/use-sound.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-sound.js +83 -0
- package/dist/src/presentation/web/hooks/use-sound.stories.d.ts +8 -0
- package/dist/src/presentation/web/hooks/use-sound.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/hooks/use-sound.stories.js +67 -0
- package/dist/src/presentation/web/public/agent-events-sw.d.ts +35 -0
- package/dist/src/presentation/web/public/agent-events-sw.d.ts.map +1 -0
- package/dist/src/presentation/web/public/agent-events-sw.js +140 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +1 -0
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/cache/.previewinfo +1 -1
- package/web/.next/cache/.rscinfo +1 -1
- package/web/.next/cache/.tsbuildinfo +1 -1
- package/web/.next/cache/config.json +3 -3
- 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/_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.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/agent-events/health/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/api/agent-events/health/route/build-manifest.json +11 -0
- package/web/.next/server/app/api/agent-events/health/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/api/agent-events/health/route.js +6 -0
- package/web/.next/server/app/api/agent-events/health/route.js.map +5 -0
- package/web/.next/server/app/api/agent-events/health/route.js.nft.json +1 -0
- package/web/.next/server/app/api/agent-events/health/route_client-reference-manifest.js +2 -0
- package/web/.next/server/app/api/agent-events/route.js +2 -1
- package/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
- package/web/.next/server/app/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page.js +1 -1
- package/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +1 -0
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +6 -0
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_agent-events_health_route_actions_4d471160.js +3 -0
- package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_agent-events_health_route_actions_4d471160.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__3b22a1eb._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__3b22a1eb._.js.map +1 -0
- package/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js +3 -0
- package/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js.map +1 -1
- package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js → server/chunks/ssr/[root-of-the-server]__6e8b5181._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_1fafa9db._.js → _1632a21f._.js} +2 -2
- package/web/.next/server/chunks/ssr/_1632a21f._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.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_ed0934e5._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +15 -15
- package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +1 -0
- package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +6 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/health/route/app-paths-manifest.json +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/health/route/build-manifest.json +11 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/health/route/server-reference-manifest.json +4 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/health/route.js +6 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/health/route.js.map +5 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/health/route.js.nft.json +1 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/health/route_client-reference-manifest.js +2 -0
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/route.js +2 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +14 -14
- package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +1 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +6 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_agent-events_health_route_actions_4d471160.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__3b22a1eb._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
- package/web/.next/{server/chunks/ssr/[root-of-the-server]__249c74f6._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6e8b5181._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_1fafa9db._.js → _1632a21f._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +15 -15
- package/web/.next/standalone/src/presentation/web/app/api/agent-events/health/route.ts +69 -0
- package/web/.next/standalone/src/presentation/web/app/api/agent-events/route.ts +258 -54
- package/web/.next/standalone/src/presentation/web/app/layout.tsx +14 -0
- package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +39 -2
- package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +1 -0
- package/web/.next/standalone/src/presentation/web/components/common/sound-toggle/index.ts +1 -0
- package/web/.next/standalone/src/presentation/web/components/common/sound-toggle/sound-toggle.stories.tsx +27 -0
- package/web/.next/standalone/src/presentation/web/components/common/sound-toggle/sound-toggle.tsx +21 -0
- package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +15 -1
- package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +194 -31
- package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +3 -1
- package/web/.next/standalone/src/presentation/web/dev-server.ts +21 -0
- package/web/.next/standalone/src/presentation/web/hooks/use-agent-events.ts +161 -52
- package/web/.next/standalone/src/presentation/web/hooks/use-notifications.stories.tsx +39 -10
- package/web/.next/standalone/src/presentation/web/hooks/use-notifications.ts +68 -15
- package/web/.next/standalone/src/presentation/web/hooks/use-sound-enabled.ts +38 -0
- package/web/.next/standalone/src/presentation/web/hooks/use-sound.stories.tsx +109 -0
- package/web/.next/standalone/src/presentation/web/hooks/use-sound.ts +101 -0
- package/web/.next/standalone/src/presentation/web/public/agent-events-sw.js +164 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/button.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/caution.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/celebration.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/disabled.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/notification.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/progress_loop.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/ringtone_loop.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/select.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/swipe.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/swipe_01.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/swipe_02.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/swipe_03.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/swipe_04.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/swipe_05.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/tap_01.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/tap_02.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/tap_03.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/tap_04.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/tap_05.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/toggle_off.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/toggle_on.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/transition_down.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/transition_up.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/type_01.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/type_02.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/type_03.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/type_04.wav +0 -0
- package/web/.next/standalone/src/presentation/web/public/sounds/type_05.wav +0 -0
- package/web/.next/standalone/src/presentation/web/server.js +1 -1
- package/web/.next/static/chunks/1f13bc20e938335c.css +2 -0
- package/web/.next/static/chunks/3eaa6f2966e27b8f.js +10 -0
- package/web/.next/static/chunks/{68fb91b6eca14536.js → 8f4461aee9a05741.js} +2 -2
- package/web/.next/static/chunks/9a82d8c76f175235.js +1 -0
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/link.d.ts +1 -0
- package/web/.next/types/routes.d.ts +2 -1
- package/web/.next/types/validator.ts +9 -0
- package/web/public/agent-events-sw.js +164 -0
- package/web/public/sounds/button.wav +0 -0
- package/web/public/sounds/caution.wav +0 -0
- package/web/public/sounds/celebration.wav +0 -0
- package/web/public/sounds/disabled.wav +0 -0
- package/web/public/sounds/notification.wav +0 -0
- package/web/public/sounds/progress_loop.wav +0 -0
- package/web/public/sounds/ringtone_loop.wav +0 -0
- package/web/public/sounds/select.wav +0 -0
- package/web/public/sounds/swipe.wav +0 -0
- package/web/public/sounds/swipe_01.wav +0 -0
- package/web/public/sounds/swipe_02.wav +0 -0
- package/web/public/sounds/swipe_03.wav +0 -0
- package/web/public/sounds/swipe_04.wav +0 -0
- package/web/public/sounds/swipe_05.wav +0 -0
- package/web/public/sounds/tap_01.wav +0 -0
- package/web/public/sounds/tap_02.wav +0 -0
- package/web/public/sounds/tap_03.wav +0 -0
- package/web/public/sounds/tap_04.wav +0 -0
- package/web/public/sounds/tap_05.wav +0 -0
- package/web/public/sounds/toggle_off.wav +0 -0
- package/web/public/sounds/toggle_on.wav +0 -0
- package/web/public/sounds/transition_down.wav +0 -0
- package/web/public/sounds/transition_up.wav +0 -0
- package/web/public/sounds/type_01.wav +0 -0
- package/web/public/sounds/type_02.wav +0 -0
- package/web/public/sounds/type_03.wav +0 -0
- package/web/public/sounds/type_04.wav +0 -0
- package/web/public/sounds/type_05.wav +0 -0
- package/web/.next/server/chunks/[root-of-the-server]__7d5c8b74._.js +0 -6
- package/web/.next/server/chunks/[root-of-the-server]__7d5c8b74._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1fafa9db._.js.map +0 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__7d5c8b74._.js +0 -6
- package/web/.next/static/chunks/13d5334b17480a16.js +0 -10
- package/web/.next/static/chunks/16dec8021e251230.css +0 -2
- package/web/.next/static/chunks/22f30ce91a3c79c1.js +0 -1
- /package/web/.next/server/chunks/ssr/{[root-of-the-server]__249c74f6._.js.map → [root-of-the-server]__6e8b5181._.js.map} +0 -0
- /package/web/.next/static/{nFvWyY2BF3AIS3FpZBKEb → JmDtIt3S6EfLuRKwlzJrW}/_buildManifest.js +0 -0
- /package/web/.next/static/{nFvWyY2BF3AIS3FpZBKEb → JmDtIt3S6EfLuRKwlzJrW}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{nFvWyY2BF3AIS3FpZBKEb → JmDtIt3S6EfLuRKwlzJrW}/_ssgManifest.js +0 -0
|
@@ -8,6 +8,6 @@ module.exports=[2080,a=>{"use strict";a.s(["AppShell",()=>b]);let b=(0,a.i(28478
|
|
|
8
8
|
}
|
|
9
9
|
} catch (e) {}
|
|
10
10
|
})();
|
|
11
|
-
`}})}),(0,b.jsxs)("body",{className:"min-h-screen antialiased",children:[(0,b.jsx)(c.AppShell,{children:a}),(0,b.jsx)(d.Toaster,{})]})]})}a.s(["default",()=>e,"dynamic",0,"force-dynamic","metadata",0,{title:"Shep AI",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"}],72884)}];
|
|
11
|
+
`}})}),(0,b.jsxs)("body",{className:"min-h-screen antialiased",children:[(0,b.jsx)(c.AppShell,{children:a}),(0,b.jsx)(d.Toaster,{})]})]})}a.s(["default",()=>e,"dynamic",0,"force-dynamic","metadata",0,{title:"Shep AI",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",icons:[{rel:"icon",url:"/favicon-light.svg",type:"image/svg+xml",media:"(prefers-color-scheme: light)"},{rel:"icon",url:"/favicon-dark.svg",type:"image/svg+xml",media:"(prefers-color-scheme: dark)"}]}],72884)}];
|
|
12
12
|
|
|
13
13
|
//# sourceMappingURL=src_presentation_web_67178b88._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../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/components/layouts/app-shell/index.ts","../../../../../../../src/presentation/web/app/layout.tsx"],"sourcesContent":["// 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","export { AppShell } from './app-shell';\n","import type { Metadata } from 'next';\nimport '@xyflow/react/dist/base.css';\nimport './globals.css';\nimport { AppShell } from '@/components/layouts/app-shell';\nimport { Toaster } from '@/components/ui/sonner';\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};\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 <AppShell>{children}</AppShell>\n <Toaster />\n </body>\n </html>\n );\n}\n"],"names":[],"mappings":"8DAEO,IAAM,EAAW,CAAA,EAAA,AADxB,EAAA,CAAA,CAAA,OACwB,uBAAA,AAAuB,EAC3C,WAAa,MAAM,AAAI,MAAM,8NAAgO,EAC7P,gGACA,4DAHG,IAAM,EAAW,CAAA,EADxB,AACwB,EADxB,CAAA,CAAA,OACwB,
|
|
1
|
+
{"version":3,"sources":["../../../../../../../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/components/layouts/app-shell/index.ts","../../../../../../../src/presentation/web/app/layout.tsx"],"sourcesContent":["// 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","export { AppShell } from './app-shell';\n","import type { Metadata } from 'next';\nimport '@xyflow/react/dist/base.css';\nimport './globals.css';\nimport { AppShell } from '@/components/layouts/app-shell';\nimport { Toaster } from '@/components/ui/sonner';\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 <AppShell>{children}</AppShell>\n <Toaster />\n </body>\n </html>\n );\n}\n"],"names":[],"mappings":"8DAEO,IAAM,EAAW,CAAA,EAAA,AADxB,EAAA,CAAA,CAAA,OACwB,uBAAA,AAAuB,EAC3C,WAAa,MAAM,AAAI,MAAM,8NAAgO,EAC7P,gGACA,4DAHG,IAAM,EAAW,CAAA,EADxB,AACwB,EADxB,CAAA,CAAA,OACwB,uBAAuB,AAAvB,EACpB,WAAa,MAAM,AAAI,MAAM,8NAAgO,EAC7P,4EACA,oHCHG,IAAM,EAAU,CAAA,EAAA,AADvB,EAAA,CAAA,CAAA,OACuB,uBAAA,AAAuB,EAC1C,WAAa,MAAM,AAAI,MAAM,4NAA8N,EAC3P,8EACA,0DAHG,IAAM,EAAU,CAAA,EADvB,AACuB,EADvB,CAAA,CAAA,OACuB,uBAAA,AAAuB,EAC1C,WAAa,MAAM,AAAI,MAAM,4NAA8N,EAC3P,0DACA,8GCLJ,EAAA,EAAA,CAAA,CAAA,OCIA,EAAA,EAAA,CAAA,CAAA,OAyBe,SAAS,EAAW,UACjC,CAAQ,CAGR,EACA,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,KAAK,KAAK,wBAAwB,CAAA,CAAA,YACtC,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,UACC,CAAA,EAAA,EAAA,GAAA,EAAC,SAAA,CACC,wBAAyB,CACvB,OAAQ,CAAC;;;;;;;;;;YAUT,CAAC,AACH,MAGJ,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,qCACd,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,UAAE,IACX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAO,CAAA,CAAA,QAIhB,kCApDuB,6BAEW,CAChC,MAAO,UACP,YACE,0FACF,MAAO,CACL,CACE,IAAK,OACL,IAAK,qBACL,KAAM,gBACN,MAAO,+BACT,EACA,CACE,IAAK,OACL,IAAK,oBACL,KAAM,gBACN,MAAO,8BACT,EACD,AACH","ignoreList":[0,1]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[66560,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(55003),e=a.i(69845),f=a.i(25700);let g=(0,f.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),h=(0,f.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var i=a.i(67837),j=a.i(66873),k=a.i(14272),l=a.i(7420),m=a.i(6175),n=a.i(79406),o=a.i(48939),p=a.i(61476),q=a.i(59653),r="ScrollArea",[s,t]=(0,l.createContextScope)(r),[u,v]=s(r),w=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[k,l]=c.useState(null),[n,p]=c.useState(null),[q,r]=c.useState(null),[s,t]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(0),[z,A]=c.useState(0),[B,C]=c.useState(!1),[D,E]=c.useState(!1),F=(0,m.useComposedRefs)(d,a=>l(a)),G=(0,o.useDirection)(g);return(0,b.jsx)(u,{scope:e,type:f,dir:G,scrollHideDelay:h,scrollArea:k,viewport:n,onViewportChange:p,content:q,onContentChange:r,scrollbarX:s,onScrollbarXChange:t,scrollbarXEnabled:B,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:w,scrollbarYEnabled:D,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:A,children:(0,b.jsx)(j.Primitive.div,{dir:G,...i,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":z+"px",...a.style}})})});w.displayName=r;var x="ScrollAreaViewport",y=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,children:f,nonce:g,...h}=a,i=v(x,e),k=c.useRef(null),l=(0,m.useComposedRefs)(d,k,i.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(j.Primitive.div,{"data-radix-scroll-area-viewport":"",...h,ref:l,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});y.displayName=x;var z="ScrollAreaScrollbar",A=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=v(z,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(B,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(C,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(D,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(E,{...f,ref:d}):null});A.displayName=z;var B=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=v(z,a.__scopeScrollArea),[h,i]=c.useState(!1);return c.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,b.jsx)(k.Presence,{present:e||h,children:(0,b.jsx)(D,{"data-state":h?"visible":"hidden",...f,ref:d})})}),C=c.forwardRef((a,d)=>{var e;let{forceMount:f,...g}=a,h=v(z,a.__scopeScrollArea),i="horizontal"===a.orientation,j=W(()=>m("SCROLL_END"),100),[l,m]=(e={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>e[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===l){let a=window.setTimeout(()=>m("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[l,h.scrollHideDelay,m]),c.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(m("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,m,j]),(0,b.jsx)(k.Presence,{present:f||"hidden"!==l,children:(0,b.jsx)(E,{"data-state":"hidden"===l?"hidden":"visible",...g,ref:d,onPointerEnter:(0,q.composeEventHandlers)(a.onPointerEnter,()=>m("POINTER_ENTER")),onPointerLeave:(0,q.composeEventHandlers)(a.onPointerLeave,()=>m("POINTER_LEAVE"))})})}),D=c.forwardRef((a,d)=>{let e=v(z,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=c.useState(!1),j="horizontal"===a.orientation,l=W(()=>{if(e.viewport){let a=e.viewport.offsetWidth<e.viewport.scrollWidth,b=e.viewport.offsetHeight<e.viewport.scrollHeight;i(j?a:b)}},10);return X(e.viewport,l),X(e.content,l),(0,b.jsx)(k.Presence,{present:f||h,children:(0,b.jsx)(E,{"data-state":h?"visible":"hidden",...g,ref:d})})}),E=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=v(z,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=R(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=S(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return U([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(F,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=T(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(G,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=T(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),F=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=v(z,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,m.useComposedRefs)(d,k,h.onScrollbarXChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(J,{"data-orientation":"horizontal",...g,ref:l,sizes:e,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":S(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:Q(i.paddingLeft),paddingEnd:Q(i.paddingRight)}})}})}),G=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=v(z,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,m.useComposedRefs)(d,k,h.onScrollbarYChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(J,{"data-orientation":"vertical",...g,ref:l,sizes:e,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":S(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:Q(i.paddingTop),paddingEnd:Q(i.paddingBottom)}})}})}),[H,I]=s(z),J=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:k,onThumbPositionChange:l,onDragScroll:o,onWheelScroll:p,onResize:r,...s}=a,t=v(z,e),[u,w]=c.useState(null),x=(0,m.useComposedRefs)(d,a=>w(a)),y=c.useRef(null),A=c.useRef(""),B=t.viewport,C=f.content-f.viewport,D=(0,n.useCallbackRef)(p),E=(0,n.useCallbackRef)(l),F=W(r,10);function G(a){y.current&&o({x:a.clientX-y.current.left,y:a.clientY-y.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;u?.contains(b)&&D(a,C)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[B,u,C,D]),c.useEffect(E,[f,E]),X(u,F),X(t.content,F),(0,b.jsx)(H,{scope:e,scrollbar:u,hasThumb:g,onThumbChange:(0,n.useCallbackRef)(h),onThumbPointerUp:(0,n.useCallbackRef)(i),onThumbPositionChange:E,onThumbPointerDown:(0,n.useCallbackRef)(k),children:(0,b.jsx)(j.Primitive.div,{...s,ref:x,style:{position:"absolute",...s.style},onPointerDown:(0,q.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),y.current=u.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",t.viewport&&(t.viewport.style.scrollBehavior="auto"),G(a))}),onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,G),onPointerUp:(0,q.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=A.current,t.viewport&&(t.viewport.style.scrollBehavior=""),y.current=null})})})}),K="ScrollAreaThumb",L=c.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=I(K,a.__scopeScrollArea);return(0,b.jsx)(k.Presence,{present:d||f.hasThumb,children:(0,b.jsx)(M,{ref:c,...e})})}),M=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,style:f,...g}=a,h=v(K,e),i=I(K,e),{onThumbPositionChange:k}=i,l=(0,m.useComposedRefs)(d,a=>i.onThumbChange(a)),n=c.useRef(void 0),o=W(()=>{n.current&&(n.current(),n.current=void 0)},100);return c.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{o(),n.current||(n.current=V(a,k),k())};return k(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,o,k]),(0,b.jsx)(j.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,q.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,q.composeEventHandlers)(a.onPointerUp,i.onThumbPointerUp)})});L.displayName=K;var N="ScrollAreaCorner",O=c.forwardRef((a,c)=>{let d=v(N,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(P,{...a,ref:c}):null});O.displayName=N;var P=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,...f}=a,g=v(N,e),[h,i]=c.useState(0),[k,l]=c.useState(0),m=!!(h&&k);return X(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),l(a)}),X(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),m?(0,b.jsx)(j.Primitive.div,{...f,ref:d,style:{width:h,height:k,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function Q(a){return a?parseInt(a,10):0}function R(a,b){let c=a/b;return isNaN(c)?0:c}function S(a){let b=R(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function T(a,b,c="ltr"){let d=S(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return U([0,g],[0,f-d])(h)}function U(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var V=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function W(a,b){let d=(0,n.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function X(a,b){let c=(0,n.useCallbackRef)(b);(0,p.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}a.s(["Corner",()=>O,"Root",()=>w,"ScrollArea",()=>w,"ScrollAreaCorner",()=>O,"ScrollAreaScrollbar",()=>A,"ScrollAreaThumb",()=>L,"ScrollAreaViewport",()=>y,"Scrollbar",()=>A,"Thumb",()=>L,"Viewport",()=>y,"createScrollAreaScope",()=>t],73942);var Y=a.i(73942),Y=Y,Z=a.i(85536);function $({className:a,children:c,...d}){return(0,b.jsxs)(Y.Root,{"data-slot":"scroll-area",className:(0,Z.cn)("relative",a),...d,children:[(0,b.jsx)(Y.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:c}),(0,b.jsx)(_,{}),(0,b.jsx)(Y.Corner,{})]})}function _({className:a,orientation:c="vertical",...d}){return(0,b.jsx)(Y.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,Z.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...d,children:(0,b.jsx)(Y.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}a.i(47938);var aa=a.i(59503);a.i(69345);var ab=a.i(46969);a.i(48822);var ac=a.i(16911);a.i(4388);var ad=a.i(27756);a.i(77466);var ae=a.i(85637);a.i(34338);var af=a.i(54860),ag=a.i(49474);function ah({features:a,onNewFeature:f,onFeatureClick:j,onFeaturesFolderClick:k,onFeaturesMenuClick:l}){let m=(0,e.usePathname)(),{state:n}=(0,d.useSidebar)(),{mounted:o,visible:p}=function(a,b){let[d,e]=(0,c.useState)(!a),[f,g]=(0,c.useState)(!a);return(0,c.useEffect)(()=>{if(!a){e(!0);let a=requestAnimationFrame(()=>g(!0));return()=>cancelAnimationFrame(a)}g(!1);let b=window.setTimeout(()=>e(!1),200);return()=>window.clearTimeout(b)},[a,200]),{mounted:d,visible:f}}("collapsed"===n,0),q=ag.featureStatusOrder.map(b=>{let{label:c}=ag.featureStatusConfig[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,b.jsxs)(d.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,b.jsx)(d.SidebarHeader,{children:(0,b.jsxs)(d.SidebarMenu,{children:[(0,b.jsx)(d.SidebarMenuItem,{children:(0,b.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[o?(0,b.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",p?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!p,children:[(0,b.jsx)(ac.ShepLogo,{className:"shrink-0",size:20}),(0,b.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,b.jsx)(ab.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,b.jsx)(aa.SidebarNavItem,{icon:g,label:"Control Center",href:"/",active:"/"===m}),(0,b.jsx)(aa.SidebarNavItem,{icon:h,label:"Memory",href:"/memory",active:"/memory"===m})]})}),(0,b.jsx)(d.SidebarContent,{children:o?(0,b.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",p?"opacity-100":"opacity-0"].join(" "),children:[(0,b.jsx)(af.SidebarSectionHeader,{label:"Features",onFolderClick:k,onMenuClick:l}),(0,b.jsx)($,{children:q.map(({key:a,label:c,items:d})=>d.length>0?(0,b.jsx)(ae.FeatureStatusGroup,{label:c,count:d.length,children:d.map(a=>(0,b.jsx)(ad.FeatureListItem,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:j?()=>j(a.name):void 0},a.name))},a):null)})]}):null}),(0,b.jsx)(d.SidebarFooter,{children:(0,b.jsx)(d.SidebarMenu,{children:(0,b.jsx)(d.SidebarMenuItem,{children:(0,b.jsxs)(d.SidebarMenuButton,{onClick:f,tooltip:"New feature",children:[(0,b.jsx)(i.Plus,{}),(0,b.jsx)("span",{children:"New feature"})]})})})}),(0,b.jsx)(d.SidebarRail,{})]})}a.i(20786);var ai=a.i(22550),aj=a.i(84871),ak=a.i(52313),al=a.i(46847);let am={[al.NotificationSeverity.Success]:"success",[al.NotificationSeverity.Error]:"error",[al.NotificationSeverity.Warning]:"warning",[al.NotificationSeverity.Info]:"info"};function an({children:a}){!function(){let{lastEvent:a}=(0,aj.useAgentEventsContext)(),[b,d]=(0,c.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),e=(0,c.useRef)(new Set);(0,c.useEffect)(()=>{if(!a)return;let b=`${a.agentRunId}-${a.eventType}-${a.timestamp}`;if(!e.current.has(b)){let c;e.current.add(b),c=am[a.severity]??"info",ak.toast[c](a.featureName,{description:a.message}),globalThis.Notification?.permission==="granted"&&new Notification(a.featureName,{body:a.message})}},[a]),(0,c.useCallback)(async()=>{void 0===globalThis.Notification||d(await globalThis.Notification.requestPermission())},[])}();let e=(0,c.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]);return(0,b.jsxs)(d.SidebarProvider,{children:[(0,b.jsx)(ah,{features:[],onNewFeature:e}),(0,b.jsx)(d.SidebarInset,{children:(0,b.jsxs)("div",{className:"relative h-full",children:[(0,b.jsx)("div",{className:"absolute top-3 right-3 z-50",children:(0,b.jsx)(ai.ThemeToggle,{})}),(0,b.jsx)("main",{className:"h-full",children:a})]})})]})}function ao({children:a}){return(0,b.jsx)(aj.AgentEventsProvider,{children:(0,b.jsx)(an,{children:a})})}a.s(["AppShell",()=>ao],66560)},73301,a=>{"use strict";var b=a.i(10973),c=a.i(52313);let d=({...a})=>(0,b.jsx)(c.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...a});a.s(["Toaster",()=>d])}];
|
|
1
|
+
module.exports=[66560,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(55003),e=a.i(69845),f=a.i(25700);let g=(0,f.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),h=(0,f.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var i=a.i(67837),j=a.i(66873),k=a.i(14272),l=a.i(7420),m=a.i(6175),n=a.i(79406),o=a.i(48939),p=a.i(61476),q=a.i(59653),r="ScrollArea",[s,t]=(0,l.createContextScope)(r),[u,v]=s(r),w=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,type:f="hover",dir:g,scrollHideDelay:h=600,...i}=a,[k,l]=c.useState(null),[n,p]=c.useState(null),[q,r]=c.useState(null),[s,t]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(0),[z,A]=c.useState(0),[B,C]=c.useState(!1),[D,E]=c.useState(!1),F=(0,m.useComposedRefs)(d,a=>l(a)),G=(0,o.useDirection)(g);return(0,b.jsx)(u,{scope:e,type:f,dir:G,scrollHideDelay:h,scrollArea:k,viewport:n,onViewportChange:p,content:q,onContentChange:r,scrollbarX:s,onScrollbarXChange:t,scrollbarXEnabled:B,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:w,scrollbarYEnabled:D,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:A,children:(0,b.jsx)(j.Primitive.div,{dir:G,...i,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":z+"px",...a.style}})})});w.displayName=r;var x="ScrollAreaViewport",y=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,children:f,nonce:g,...h}=a,i=v(x,e),k=c.useRef(null),l=(0,m.useComposedRefs)(d,k,i.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:g}),(0,b.jsx)(j.Primitive.div,{"data-radix-scroll-area-viewport":"",...h,ref:l,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:f})})]})});y.displayName=x;var z="ScrollAreaScrollbar",A=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=v(z,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(B,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(C,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(D,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(E,{...f,ref:d}):null});A.displayName=z;var B=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=v(z,a.__scopeScrollArea),[h,i]=c.useState(!1);return c.useEffect(()=>{let a=g.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),i(!0)},d=()=>{b=window.setTimeout(()=>i(!1),g.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[g.scrollArea,g.scrollHideDelay]),(0,b.jsx)(k.Presence,{present:e||h,children:(0,b.jsx)(D,{"data-state":h?"visible":"hidden",...f,ref:d})})}),C=c.forwardRef((a,d)=>{var e;let{forceMount:f,...g}=a,h=v(z,a.__scopeScrollArea),i="horizontal"===a.orientation,j=W(()=>m("SCROLL_END"),100),[l,m]=(e={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>e[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===l){let a=window.setTimeout(()=>m("HIDE"),h.scrollHideDelay);return()=>window.clearTimeout(a)}},[l,h.scrollHideDelay,m]),c.useEffect(()=>{let a=h.viewport,b=i?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(m("SCROLL"),j()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[h.viewport,i,m,j]),(0,b.jsx)(k.Presence,{present:f||"hidden"!==l,children:(0,b.jsx)(E,{"data-state":"hidden"===l?"hidden":"visible",...g,ref:d,onPointerEnter:(0,q.composeEventHandlers)(a.onPointerEnter,()=>m("POINTER_ENTER")),onPointerLeave:(0,q.composeEventHandlers)(a.onPointerLeave,()=>m("POINTER_LEAVE"))})})}),D=c.forwardRef((a,d)=>{let e=v(z,a.__scopeScrollArea),{forceMount:f,...g}=a,[h,i]=c.useState(!1),j="horizontal"===a.orientation,l=W(()=>{if(e.viewport){let a=e.viewport.offsetWidth<e.viewport.scrollWidth,b=e.viewport.offsetHeight<e.viewport.scrollHeight;i(j?a:b)}},10);return X(e.viewport,l),X(e.content,l),(0,b.jsx)(k.Presence,{present:f||h,children:(0,b.jsx)(E,{"data-state":h?"visible":"hidden",...g,ref:d})})}),E=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=v(z,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=R(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=S(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return U([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(F,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=T(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(G,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=T(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),F=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=v(z,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,m.useComposedRefs)(d,k,h.onScrollbarXChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(J,{"data-orientation":"horizontal",...g,ref:l,sizes:e,style:{bottom:0,left:"rtl"===h.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===h.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":S(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollWidth,viewport:h.viewport.offsetWidth,scrollbar:{size:k.current.clientWidth,paddingStart:Q(i.paddingLeft),paddingEnd:Q(i.paddingRight)}})}})}),G=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...g}=a,h=v(z,a.__scopeScrollArea),[i,j]=c.useState(),k=c.useRef(null),l=(0,m.useComposedRefs)(d,k,h.onScrollbarYChange);return c.useEffect(()=>{k.current&&j(getComputedStyle(k.current))},[k]),(0,b.jsx)(J,{"data-orientation":"vertical",...g,ref:l,sizes:e,style:{top:0,right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":S(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(h.viewport){var d,e;let f=h.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{k.current&&h.viewport&&i&&f({content:h.viewport.scrollHeight,viewport:h.viewport.offsetHeight,scrollbar:{size:k.current.clientHeight,paddingStart:Q(i.paddingTop),paddingEnd:Q(i.paddingBottom)}})}})}),[H,I]=s(z),J=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,sizes:f,hasThumb:g,onThumbChange:h,onThumbPointerUp:i,onThumbPointerDown:k,onThumbPositionChange:l,onDragScroll:o,onWheelScroll:p,onResize:r,...s}=a,t=v(z,e),[u,w]=c.useState(null),x=(0,m.useComposedRefs)(d,a=>w(a)),y=c.useRef(null),A=c.useRef(""),B=t.viewport,C=f.content-f.viewport,D=(0,n.useCallbackRef)(p),E=(0,n.useCallbackRef)(l),F=W(r,10);function G(a){y.current&&o({x:a.clientX-y.current.left,y:a.clientY-y.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;u?.contains(b)&&D(a,C)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[B,u,C,D]),c.useEffect(E,[f,E]),X(u,F),X(t.content,F),(0,b.jsx)(H,{scope:e,scrollbar:u,hasThumb:g,onThumbChange:(0,n.useCallbackRef)(h),onThumbPointerUp:(0,n.useCallbackRef)(i),onThumbPositionChange:E,onThumbPointerDown:(0,n.useCallbackRef)(k),children:(0,b.jsx)(j.Primitive.div,{...s,ref:x,style:{position:"absolute",...s.style},onPointerDown:(0,q.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),y.current=u.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",t.viewport&&(t.viewport.style.scrollBehavior="auto"),G(a))}),onPointerMove:(0,q.composeEventHandlers)(a.onPointerMove,G),onPointerUp:(0,q.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=A.current,t.viewport&&(t.viewport.style.scrollBehavior=""),y.current=null})})})}),K="ScrollAreaThumb",L=c.forwardRef((a,c)=>{let{forceMount:d,...e}=a,f=I(K,a.__scopeScrollArea);return(0,b.jsx)(k.Presence,{present:d||f.hasThumb,children:(0,b.jsx)(M,{ref:c,...e})})}),M=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,style:f,...g}=a,h=v(K,e),i=I(K,e),{onThumbPositionChange:k}=i,l=(0,m.useComposedRefs)(d,a=>i.onThumbChange(a)),n=c.useRef(void 0),o=W(()=>{n.current&&(n.current(),n.current=void 0)},100);return c.useEffect(()=>{let a=h.viewport;if(a){let b=()=>{o(),n.current||(n.current=V(a,k),k())};return k(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[h.viewport,o,k]),(0,b.jsx)(j.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...g,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...f},onPointerDownCapture:(0,q.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;i.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,q.composeEventHandlers)(a.onPointerUp,i.onThumbPointerUp)})});L.displayName=K;var N="ScrollAreaCorner",O=c.forwardRef((a,c)=>{let d=v(N,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(P,{...a,ref:c}):null});O.displayName=N;var P=c.forwardRef((a,d)=>{let{__scopeScrollArea:e,...f}=a,g=v(N,e),[h,i]=c.useState(0),[k,l]=c.useState(0),m=!!(h&&k);return X(g.scrollbarX,()=>{let a=g.scrollbarX?.offsetHeight||0;g.onCornerHeightChange(a),l(a)}),X(g.scrollbarY,()=>{let a=g.scrollbarY?.offsetWidth||0;g.onCornerWidthChange(a),i(a)}),m?(0,b.jsx)(j.Primitive.div,{...f,ref:d,style:{width:h,height:k,position:"absolute",right:"ltr"===g.dir?0:void 0,left:"rtl"===g.dir?0:void 0,bottom:0,...a.style}}):null});function Q(a){return a?parseInt(a,10):0}function R(a,b){let c=a/b;return isNaN(c)?0:c}function S(a){let b=R(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function T(a,b,c="ltr"){let d=S(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return U([0,g],[0,f-d])(h)}function U(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var V=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function W(a,b){let d=(0,n.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function X(a,b){let c=(0,n.useCallbackRef)(b);(0,p.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}a.s(["Corner",()=>O,"Root",()=>w,"ScrollArea",()=>w,"ScrollAreaCorner",()=>O,"ScrollAreaScrollbar",()=>A,"ScrollAreaThumb",()=>L,"ScrollAreaViewport",()=>y,"Scrollbar",()=>A,"Thumb",()=>L,"Viewport",()=>y,"createScrollAreaScope",()=>t],73942);var Y=a.i(73942),Y=Y,Z=a.i(85536);function $({className:a,children:c,...d}){return(0,b.jsxs)(Y.Root,{"data-slot":"scroll-area",className:(0,Z.cn)("relative",a),...d,children:[(0,b.jsx)(Y.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:c}),(0,b.jsx)(_,{}),(0,b.jsx)(Y.Corner,{})]})}function _({className:a,orientation:c="vertical",...d}){return(0,b.jsx)(Y.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,Z.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...d,children:(0,b.jsx)(Y.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}a.i(47938);var aa=a.i(59503);a.i(69345);var ab=a.i(46969);a.i(48822);var ac=a.i(16911);a.i(4388);var ad=a.i(27756);a.i(77466);var ae=a.i(85637);a.i(34338);var af=a.i(54860),ag=a.i(49474);function ah({features:a,onNewFeature:f,onFeatureClick:j,onFeaturesFolderClick:k,onFeaturesMenuClick:l}){let m=(0,e.usePathname)(),{state:n}=(0,d.useSidebar)(),{mounted:o,visible:p}=function(a,b){let[d,e]=(0,c.useState)(!a),[f,g]=(0,c.useState)(!a);return(0,c.useEffect)(()=>{if(!a){e(!0);let a=requestAnimationFrame(()=>g(!0));return()=>cancelAnimationFrame(a)}g(!1);let b=window.setTimeout(()=>e(!1),200);return()=>window.clearTimeout(b)},[a,200]),{mounted:d,visible:f}}("collapsed"===n,0),q=ag.featureStatusOrder.map(b=>{let{label:c}=ag.featureStatusConfig[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,b.jsxs)(d.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,b.jsx)(d.SidebarHeader,{children:(0,b.jsxs)(d.SidebarMenu,{children:[(0,b.jsx)(d.SidebarMenuItem,{children:(0,b.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[o?(0,b.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",p?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!p,children:[(0,b.jsx)(ac.ShepLogo,{className:"shrink-0",size:20}),(0,b.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,b.jsx)(ab.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,b.jsx)(aa.SidebarNavItem,{icon:g,label:"Control Center",href:"/",active:"/"===m}),(0,b.jsx)(aa.SidebarNavItem,{icon:h,label:"Memory",href:"/memory",active:"/memory"===m})]})}),(0,b.jsx)(d.SidebarContent,{children:o?(0,b.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",p?"opacity-100":"opacity-0"].join(" "),children:[(0,b.jsx)(af.SidebarSectionHeader,{label:"Features",onFolderClick:k,onMenuClick:l}),(0,b.jsx)($,{children:q.map(({key:a,label:c,items:d})=>d.length>0?(0,b.jsx)(ae.FeatureStatusGroup,{label:c,count:d.length,children:d.map(a=>(0,b.jsx)(ad.FeatureListItem,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:j?()=>j(a.name):void 0},a.name))},a):null)})]}):null}),(0,b.jsx)(d.SidebarFooter,{children:(0,b.jsx)(d.SidebarMenu,{children:(0,b.jsx)(d.SidebarMenuItem,{children:(0,b.jsxs)(d.SidebarMenuButton,{onClick:f,tooltip:"New feature",children:[(0,b.jsx)(i.Plus,{}),(0,b.jsx)("span",{children:"New feature"})]})})})}),(0,b.jsx)(d.SidebarRail,{})]})}a.i(20786);var ai=a.i(22550);let aj=(0,f.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),ak=(0,f.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var al=a.i(18948),am=a.i(2103);function an(){let{enabled:a,toggle:c}=(0,am.useSoundEnabled)();return(0,b.jsxs)(al.Button,{variant:"ghost",size:"icon",onClick:c,"aria-label":a?"Mute sounds":"Unmute sounds",children:[a?(0,b.jsx)(aj,{className:"h-5 w-5"}):(0,b.jsx)(ak,{className:"h-5 w-5"}),(0,b.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var ao=a.i(84871),ap=a.i(52313),aq=a.i(46847),ar=a.i(24233);let as={[aq.NotificationSeverity.Success]:"success",[aq.NotificationSeverity.Error]:"error",[aq.NotificationSeverity.Warning]:"warning",[aq.NotificationSeverity.Info]:"info"},at={[aq.NotificationSeverity.Success]:"celebration",[aq.NotificationSeverity.Error]:"caution",[aq.NotificationSeverity.Warning]:"notification",[aq.NotificationSeverity.Info]:"button"};function au({children:a}){!function(){let{events:a}=(0,ao.useAgentEventsContext)(),b=(0,ar.useSound)("celebration",{volume:.5}),d=(0,ar.useSound)("caution",{volume:.5}),e=(0,ar.useSound)("notification",{volume:.5}),f=(0,ar.useSound)("button",{volume:.5}),g=(0,c.useMemo)(()=>({celebration:b,caution:d,notification:e,button:f}),[b,d,e,f]),[h,i]=(0,c.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),j=(0,c.useRef)(0);(0,c.useEffect)(()=>{if(a.length<=j.current)return;let b=a.slice(j.current);for(let c of(j.current=a.length,b)){if(c.severity!==aq.NotificationSeverity.Error&&c.severity!==aq.NotificationSeverity.Warning&&c.severity!==aq.NotificationSeverity.Success)continue;!function(a){let b=as[a.severity]??"info",c=a.eventType===aq.NotificationEventType.WaitingApproval;ap.toast[b](a.featureName,{description:a.message,...c&&{action:{label:"Review",onClick:()=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:a.featureId}}))}}}})}(c),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${c.featureName}`,{body:c.message,icon:"/favicon-light.svg"});let a=at[c.severity];g[a]?.play()}},[a,g]),(0,c.useCallback)(async()=>{void 0===globalThis.Notification||i(await globalThis.Notification.requestPermission())},[])}();let e=(0,c.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]);return(0,b.jsxs)(d.SidebarProvider,{children:[(0,b.jsx)(ah,{features:[],onNewFeature:e}),(0,b.jsx)(d.SidebarInset,{children:(0,b.jsxs)("div",{className:"relative h-full",children:[(0,b.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,b.jsx)(an,{}),(0,b.jsx)(ai.ThemeToggle,{})]}),(0,b.jsx)("main",{className:"h-full",children:a})]})})]})}function av({children:a}){return(0,b.jsx)(ao.AgentEventsProvider,{children:(0,b.jsx)(au,{children:a})})}a.s(["AppShell",()=>av],66560)},73301,a=>{"use strict";var b=a.i(10973),c=a.i(52313);let d=({...a})=>(0,b.jsx)(c.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...a});a.s(["Toaster",()=>d])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_presentation_web_components_e599bb8c._.js.map
|