@shepai/cli 1.62.0 → 1.64.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/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts +18 -0
- package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/agents/index.d.ts +1 -1
- package/dist/packages/core/src/application/ports/output/agents/index.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +7 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.js +3 -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/git/worktree.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +18 -4
- package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/daemon/start-daemon.js +24 -15
- package/dist/src/presentation/cli/commands/status.command.d.ts +7 -0
- package/dist/src/presentation/cli/commands/status.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/status.command.js +167 -3
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +17 -0
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +23 -0
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts +22 -0
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.js +56 -0
- package/dist/src/presentation/web/components/common/base-drawer/index.d.ts +2 -0
- package/dist/src/presentation/web/components/common/base-drawer/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/base-drawer/index.js +1 -0
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +9 -16
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +14 -14
- package/dist/src/presentation/web/components/common/repository-node/index.d.ts +1 -0
- package/dist/src/presentation/web/components/common/repository-node/index.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/repository-node/index.js +1 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts +7 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +12 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts +9 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +34 -0
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +4 -6
- 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 +20 -2
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +3 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +4 -2
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.js +3 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/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/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 +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/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/skills/page/server-reference-manifest.json +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 +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 +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/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +4 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
- package/web/.next/server/chunks/ssr/_73d14b70._.js +3 -0
- package/web/.next/server/chunks/ssr/_73d14b70._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7f386377._.js +3 -0
- package/web/.next/server/chunks/ssr/_7f386377._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_d3711354._.js +2 -2
- package/web/.next/server/chunks/ssr/_d3711354._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_a64b7b24._.js → _d81184e2._.js} +2 -2
- package/web/.next/server/chunks/ssr/_d81184e2._.js.map +1 -0
- package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_fe355030._.js → server/chunks/ssr/node_modules__pnpm_87f920e7._.js} +2 -2
- package/web/.next/server/chunks/ssr/{node_modules__pnpm_fe355030._.js.map → node_modules__pnpm_87f920e7._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.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 +15 -15
- package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
- 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/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/server-reference-manifest.json +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/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/skills/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +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/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +4 -4
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_73d14b70._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_7f386377._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d3711354._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_a64b7b24._.js → _d81184e2._.js} +2 -2
- package/web/.next/{server/chunks/ssr/node_modules__pnpm_fe355030._.js → standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_87f920e7._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js +3 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +3 -0
- 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/components/common/base-drawer/base-drawer.stories.tsx +207 -0
- package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +90 -0
- package/web/.next/standalone/src/presentation/web/components/common/base-drawer/index.ts +1 -0
- package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx +1 -1
- package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +143 -172
- package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.tsx +119 -133
- package/web/.next/standalone/src/presentation/web/components/common/repository-node/index.ts +1 -0
- package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-drawer.stories.tsx +58 -0
- package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-drawer.tsx +82 -0
- package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx +79 -96
- package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +30 -2
- package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.tsx +7 -0
- package/web/.next/standalone/src/presentation/web/components/features/skills/skill-detail-drawer.tsx +71 -77
- package/web/.next/standalone/src/presentation/web/server.js +1 -1
- package/web/.next/static/chunks/04d22f0d67c6671b.js +10 -0
- package/web/.next/static/chunks/0c6654ec27f11c7e.js +1 -0
- package/web/.next/static/chunks/12c70bfd5951cf9b.js +1 -0
- package/web/.next/static/chunks/21541b346dd4dd28.js +1 -0
- package/web/.next/static/chunks/{cb1b27e4a21415d3.js → 3b941e59ac013e12.js} +2 -2
- package/web/.next/static/chunks/{09d898be63c54f20.js → 78919481e7c5ad4f.js} +1 -1
- package/web/.next/static/chunks/a5b6a22de303e877.css +2 -0
- package/web/.next/static/chunks/af7a5bcb7c49e46e.js +1 -0
- package/web/.next/static/chunks/bcd97add650ece51.js +1 -0
- package/web/.next/static/chunks/be784143669bb992.js +1 -0
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_9915d2a7._.js +0 -3
- package/web/.next/server/chunks/ssr/_9915d2a7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a64b7b24._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_e7a4b0e4._.js +0 -3
- package/web/.next/server/chunks/ssr/_e7a4b0e4._.js.map +0 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9915d2a7._.js +0 -3
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e7a4b0e4._.js +0 -3
- package/web/.next/static/chunks/13664c029245afc8.js +0 -1
- package/web/.next/static/chunks/25f42652257ff43d.js +0 -1
- package/web/.next/static/chunks/2934854f0378f815.js +0 -1
- package/web/.next/static/chunks/45f510f84c7c417d.css +0 -2
- package/web/.next/static/chunks/8e4c719503d9387e.js +0 -1
- package/web/.next/static/chunks/cd44f06f18e3425a.js +0 -10
- /package/web/.next/static/{2z-UoCok36_D1hh1-N88G → R37CbaEU-TK9xR6x4aI_Z}/_buildManifest.js +0 -0
- /package/web/.next/static/{2z-UoCok36_D1hh1-N88G → R37CbaEU-TK9xR6x4aI_Z}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{2z-UoCok36_D1hh1-N88G → R37CbaEU-TK9xR6x4aI_Z}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,54793,7729,t=>{"use strict";var e=t.i(20314),n=t.i(31777);function r({icon:t,title:r,description:a,action:o,className:i,...l}){return(0,e.jsxs)("div",{className:(0,n.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...l,children:[t?(0,e.jsx)("div",{className:"text-muted-foreground",children:t}):null,(0,e.jsx)("h3",{className:"text-lg font-semibold",children:r}),a?(0,e.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,o?(0,e.jsx)("div",{className:"mt-2",children:o}):null]})}t.s(["EmptyState",()=>r],7729),t.s([],54793)},19933,45811,11495,1650,t=>{"use strict";let e,n=(0,t.i(3645).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"}]]);t.s(["FolderOpen",()=>n],19933);var r=t.i(20314),a=t.i(48249),o=t.i(94237),i=t.i(31777),l=t.i(567),u=t.i(79054);let d=u.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),s=()=>{let t=u.default.useContext(d);if(!t)throw Error("useDrawerContext must be used within a Drawer.Root");return t};function c(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function f(){return m(/^iPhone/)||m(/^iPad/)||m(/^Mac/)&&navigator.maxTouchPoints>1}function m(t){return"u">typeof window&&null!=window.navigator?t.test(window.navigator.platform):void 0}!function(t){if(!t||"u"<typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let p="u">typeof window?u.useLayoutEffect:u.useEffect;function h(...t){return(...e)=>{for(let n of t)"function"==typeof n&&n(...e)}}let w="u">typeof document&&window.visualViewport;function g(t){let e=window.getComputedStyle(t);return/(auto|scroll)/.test(e.overflow+e.overflowX+e.overflowY)}function v(t){for(g(t)&&(t=t.parentElement);t&&!g(t);)t=t.parentElement;return t||document.scrollingElement||document.documentElement}let y=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),b=0;function x(t,e,n,r){return t.addEventListener(e,n,r),()=>{t.removeEventListener(e,n,r)}}function E(t){let e=document.scrollingElement||document.documentElement;for(;t&&t!==e;){let e=v(t);if(e!==document.documentElement&&e!==document.body&&e!==t){let n=e.getBoundingClientRect().top,r=t.getBoundingClientRect().top;t.getBoundingClientRect().bottom>e.getBoundingClientRect().bottom+24&&(e.scrollTop+=r-n)}t=e.parentElement}}function R(t){return t instanceof HTMLInputElement&&!y.has(t.type)||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable}function T(...t){return u.useCallback(function(...t){return e=>t.forEach(t=>{"function"==typeof t?t(e):null!=t&&(t.current=e)})}(...t),t)}let C=new WeakMap;function $(t,e,n=!1){if(!t||!(t instanceof HTMLElement))return;let r={};Object.entries(e).forEach(([e,n])=>{e.startsWith("--")?t.style.setProperty(e,n):(r[e]=t.style[e],t.style[e]=n)}),n||C.set(t,r)}let D=t=>{switch(t){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return t}};function j(t,e){if(!t)return null;let n=window.getComputedStyle(t),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[D(e)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[D(e)?5:4]):null}function P(t,e){if(!t)return()=>{};let n=t.style.cssText;return Object.assign(t.style,e),()=>{t.style.cssText=n}}let M=[.32,.72,0,1],N="vaul-dragging";function k(t){let e=u.default.useRef(t);return u.default.useEffect(()=>{e.current=t}),u.default.useMemo(()=>(...t)=>null==e.current?void 0:e.current.call(e,...t),[])}function O({prop:t,defaultProp:e,onChange:n=()=>{}}){let[r,a]=function({defaultProp:t,onChange:e}){let n=u.default.useState(t),[r]=n,a=u.default.useRef(r),o=k(e);return u.default.useEffect(()=>{a.current!==r&&(o(r),a.current=r)},[r,a,o]),n}({defaultProp:e,onChange:n}),o=void 0!==t,i=o?t:r,l=k(n);return[i,u.default.useCallback(e=>{if(o){let n="function"==typeof e?e(t):e;n!==t&&l(n)}else a(e)},[o,t,a,l])]}let S=()=>()=>{},B=null;function F({open:t,onOpenChange:n,children:r,onDrag:a,onRelease:o,snapPoints:i,shouldScaleBackground:s=!1,setBackgroundColorOnScale:m=!0,closeThreshold:g=.25,scrollLockTimeout:y=100,dismissible:T=!0,handleOnly:P=!1,fadeFromIndex:k=i&&i.length-1,activeSnapPoint:S,setActiveSnapPoint:F,fixed:z,modal:H=!0,onClose:L,nested:A,noBodyStyles:W=!1,direction:q="bottom",defaultOpen:I=!1,disablePreventScroll:Y=!0,snapToSequentialPoint:X=!1,preventScrollRestoration:U=!1,repositionInputs:V=!0,onAnimationEnd:K,container:G,autoFocus:J=!1}){var Q,Z;let[_=!1,tt]=O({defaultProp:I,prop:t,onChange:t=>{null==n||n(t),t||A||tN(),setTimeout(()=>{null==K||K(t)},500),t&&!H&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),t||(document.body.style.pointerEvents="auto")}}),[te,tn]=u.default.useState(!1),[tr,ta]=u.default.useState(!1),[to,ti]=u.default.useState(!1),tl=u.default.useRef(null),tu=u.default.useRef(null),td=u.default.useRef(null),ts=u.default.useRef(null),tc=u.default.useRef(null),tf=u.default.useRef(!1),tm=u.default.useRef(null),tp=u.default.useRef(0),th=u.default.useRef(!1),tw=u.default.useRef(!I),tg=u.default.useRef(0),tv=u.default.useRef(null),ty=u.default.useRef((null==(Q=tv.current)?void 0:Q.getBoundingClientRect().height)||0),tb=u.default.useRef((null==(Z=tv.current)?void 0:Z.getBoundingClientRect().width)||0),tx=u.default.useRef(0),tE=u.default.useCallback(t=>{i&&t===tD.length-1&&(tu.current=new Date)},[]),{activeSnapPoint:tR,activeSnapPointIndex:tT,setActiveSnapPoint:tC,onRelease:t$,snapPointsOffset:tD,onDrag:tj,shouldFade:tP,getPercentageDragged:tM}=function({activeSnapPointProp:t,setActiveSnapPointProp:e,snapPoints:n,drawerRef:r,overlayRef:a,fadeFromIndex:o,onSnapPointChange:i,direction:l="bottom",container:d,snapToSequentialPoint:s}){let[c,f]=O({prop:t,defaultProp:null==n?void 0:n[0],onChange:e}),[m,p]=u.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);u.default.useEffect(()=>{function t(){p({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]);let h=u.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),w=u.default.useMemo(()=>{var t;return null!=(t=null==n?void 0:n.findIndex(t=>t===c))?t:null},[n,c]),g=n&&n.length>0&&(o||0===o)&&!Number.isNaN(o)&&n[o]===c||!n,v=u.default.useMemo(()=>{var t;let e=d?{width:d.getBoundingClientRect().width,height:d.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(t=null==n?void 0:n.map(t=>{let n="string"==typeof t,r=0;if(n&&(r=parseInt(t,10)),D(l)){let a=n?r:m?t*e.height:0;return m?"bottom"===l?e.height-a:-e.height+a:a}let a=n?r:m?t*e.width:0;return m?"right"===l?e.width-a:-e.width+a:a}))?t:[]},[n,m,d]),y=u.default.useMemo(()=>null!==w?null==v?void 0:v[w]:null,[v,w]),b=u.default.useCallback(t=>{var e;let u=null!=(e=null==v?void 0:v.findIndex(e=>e===t))?e:null;i(u),$(r.current,{transition:`transform 0.5s cubic-bezier(${M.join(",")})`,transform:D(l)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`}),v&&u!==v.length-1&&void 0!==o&&u!==o&&u<o?$(a.current,{transition:`opacity 0.5s cubic-bezier(${M.join(",")})`,opacity:"0"}):$(a.current,{transition:`opacity 0.5s cubic-bezier(${M.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(u,0)])},[r.current,n,v,o,a,f]);return u.default.useEffect(()=>{if(c||t){var e;let r=null!=(e=null==n?void 0:n.findIndex(e=>e===t||e===c))?e:-1;v&&-1!==r&&"number"==typeof v[r]&&b(v[r])}},[c,t,n,v,b]),{isLastSnapPoint:h,activeSnapPoint:c,shouldFade:g,getPercentageDragged:function(t,e){if(!n||"number"!=typeof w||!v||void 0===o)return null;let r=w===o-1;if(w>=o&&e)return 0;if(r&&!e)return 1;if(!g&&!r)return null;let a=r?w+1:w-1,i=t/Math.abs(r?v[a]-v[a-1]:v[a+1]-v[a]);return r?1-i:i},setActiveSnapPoint:f,activeSnapPointIndex:w,onRelease:function({draggedDistance:t,closeDrawer:e,velocity:r,dismissible:i}){if(void 0===o)return;let u="bottom"===l||"right"===l?(null!=y?y:0)-t:(null!=y?y:0)+t,d=w===o-1,c=0===w,f=t>0;if(d&&$(a.current,{transition:`opacity 0.5s cubic-bezier(${M.join(",")})`}),!s&&r>2&&!f)return void(i?e():b(v[0]));if(!s&&r>2&&f&&v&&n)return void b(v[n.length-1]);let m=null==v?void 0:v.reduce((t,e)=>"number"!=typeof t||"number"!=typeof e?t:Math.abs(e-u)<Math.abs(t-u)?e:t),p=D(l)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(t)<.4*p){let t=f?1:-1;return t>0&&h&&n?void b(v[n.length-1]):void(c&&t<0&&i&&e(),null===w||b(v[w+t]))}b(m)},onDrag:function({draggedDistance:t}){if(null===y)return;let e="bottom"===l||"right"===l?y-t:y+t;("bottom"===l||"right"===l)&&e<v[v.length-1]||("top"===l||"left"===l)&&e>v[v.length-1]||$(r.current,{transform:D(l)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},snapPointsOffset:v}}({snapPoints:i,activeSnapPointProp:S,setActiveSnapPointProp:F,drawerRef:tv,fadeFromIndex:k,overlayRef:tl,onSnapPointChange:tE,direction:q,container:G,snapToSequentialPoint:X});!function(t={}){let{isDisabled:n}=t;p(()=>{if(!n){var t,r,a;let n,o,i,l,u,d,s;return 1==++b&&f()&&(i=0,l=window.pageXOffset,u=window.pageYOffset,d=h((t=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=t.style[r],t.style[r]=a,()=>{t.style[r]=n})),window.scrollTo(0,0),s=h(x(document,"touchstart",t=>{((o=v(t.target))!==document.documentElement||o!==document.body)&&(i=t.changedTouches[0].pageY)},{passive:!1,capture:!0}),x(document,"touchmove",t=>{if(!o||o===document.documentElement||o===document.body)return void t.preventDefault();let e=t.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&e>i||n>=r&&e<i)&&t.preventDefault(),i=e)},{passive:!1,capture:!0}),x(document,"touchend",t=>{let e=t.target;R(e)&&e!==document.activeElement&&(t.preventDefault(),e.style.transform="translateY(-2000px)",e.focus(),requestAnimationFrame(()=>{e.style.transform=""}))},{passive:!1,capture:!0}),x(document,"focus",t=>{let e=t.target;R(e)&&(e.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{e.style.transform="",w&&(w.height<window.innerHeight?requestAnimationFrame(()=>{E(e)}):w.addEventListener("resize",()=>E(e),{once:!0}))}))},!0),x(window,"scroll",()=>{window.scrollTo(0,0)})),e=()=>{d(),s(),window.scrollTo(l,u)}),()=>{0==--b&&(null==e||e())}}},[n])}({isDisabled:!_||tr||!H||to||!te||!V||!Y});let{restorePositionSetting:tN}=function({isOpen:t,modal:e,nested:n,hasBeenOpened:r,preventScrollRestoration:a,noBodyStyles:o}){let[i,l]=u.default.useState(()=>"u">typeof window?window.location.href:""),d=u.default.useRef(0),s=u.default.useCallback(()=>{if(c()&&null===B&&t&&!o){B={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:t,innerHeight:e}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-d.current}px`,left:`${-t}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let t=e-window.innerHeight;t&&d.current>=e&&(document.body.style.top=`${-(d.current+t)}px`)}),300)}},[t]),f=u.default.useCallback(()=>{if(c()&&null!==B&&!o){let t=-parseInt(document.body.style.top,10),e=-parseInt(document.body.style.left,10);Object.assign(document.body.style,B),window.requestAnimationFrame(()=>{a&&i!==window.location.href?l(window.location.href):window.scrollTo(e,t)}),B=null}},[i]);return u.default.useEffect(()=>{function t(){d.current=window.scrollY}return t(),window.addEventListener("scroll",t),()=>{window.removeEventListener("scroll",t)}},[]),u.default.useEffect(()=>{if(e)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||f()}},[e,f]),u.default.useEffect(()=>{!n&&r&&(t?(window.matchMedia("(display-mode: standalone)").matches||s(),e||window.setTimeout(()=>{f()},500)):f())},[t,r,i,e,n,s,f]),{restorePositionSetting:f}}({isOpen:_,modal:H,nested:null!=A&&A,hasBeenOpened:te,preventScrollRestoration:U,noBodyStyles:W});function tk(){return(window.innerWidth-26)/window.innerWidth}function tO(t,e){var n;let r=t,a=null==(n=window.getSelection())?void 0:n.toString(),o=tv.current?j(tv.current,q):null,i=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===q||"left"===q)return!0;if(tu.current&&i.getTime()-tu.current.getTime()<500)return!1;if(null!==o&&("bottom"===q?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(tc.current&&i.getTime()-tc.current.getTime()<y&&0===o||e)return tc.current=i,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return tc.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function tS(t){tr&&tv.current&&(tv.current.classList.remove(N),tf.current=!1,ta(!1),ts.current=new Date),null==L||L(),t||tt(!1),setTimeout(()=>{i&&tC(i[0])},500)}function tB(){if(!tv.current)return;let t=document.querySelector("[data-vaul-drawer-wrapper]"),e=j(tv.current,q);$(tv.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${M.join(",")})`}),$(tl.current,{transition:`opacity 0.5s cubic-bezier(${M.join(",")})`,opacity:"1"}),s&&e&&e>0&&_&&$(t,{borderRadius:"8px",overflow:"hidden",...D(q)?{transform:`scale(${tk()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${tk()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${M.join(",")})`},!0)}return u.default.useEffect(()=>{window.requestAnimationFrame(()=>{tw.current=!0})},[]),u.default.useEffect(()=>{var t;function e(){if(tv.current&&V&&(R(document.activeElement)||th.current)){var t;let e=(null==(t=window.visualViewport)?void 0:t.height)||0,n=window.innerHeight,r=n-e,a=tv.current.getBoundingClientRect().height||0;tx.current||(tx.current=a);let o=tv.current.getBoundingClientRect().top;if(Math.abs(tg.current-r)>60&&(th.current=!th.current),i&&i.length>0&&tD&&tT&&(r+=tD[tT]||0),tg.current=r,a>e||th.current){let t=tv.current.getBoundingClientRect().height,i=t;t>e&&(i=e-(a>.8*n?o:26)),z?tv.current.style.height=`${t-Math.max(r,0)}px`:tv.current.style.height=`${Math.max(i,e-o)}px`}else{let t;t=navigator.userAgent,"u">typeof window&&(/Firefox/.test(t)&&/Mobile/.test(t)||/FxiOS/.test(t))||(tv.current.style.height=`${tx.current}px`)}i&&i.length>0&&!th.current?tv.current.style.bottom="0px":tv.current.style.bottom=`${Math.max(r,0)}px`}}return null==(t=window.visualViewport)||t.addEventListener("resize",e),()=>{var t;return null==(t=window.visualViewport)?void 0:t.removeEventListener("resize",e)}},[tT,i,tD]),u.default.useEffect(()=>(_&&($(document.documentElement,{scrollBehavior:"auto"}),tu.current=new Date),()=>{!function(t,e){if(!t||!(t instanceof HTMLElement))return;let n=C.get(t);n&&(t.style[e]=n[e])}(document.documentElement,"scrollBehavior")}),[_]),u.default.useEffect(()=>{H||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[H]),u.default.createElement(l.Root,{defaultOpen:I,onOpenChange:t=>{(T||t)&&(t?tn(!0):tS(!0),tt(t))},open:_},u.default.createElement(d.Provider,{value:{activeSnapPoint:tR,snapPoints:i,setActiveSnapPoint:tC,drawerRef:tv,overlayRef:tl,onOpenChange:n,onPress:function(t){var e,n;!T&&!i||(!tv.current||tv.current.contains(t.target))&&(ty.current=(null==(e=tv.current)?void 0:e.getBoundingClientRect().height)||0,tb.current=(null==(n=tv.current)?void 0:n.getBoundingClientRect().width)||0,ta(!0),td.current=new Date,f()&&window.addEventListener("touchend",()=>tf.current=!1,{once:!0}),t.target.setPointerCapture(t.pointerId),tp.current=D(q)?t.pageY:t.pageX)},onRelease:function(t){var e,n;if(!tr||!tv.current)return;tv.current.classList.remove(N),tf.current=!1,ta(!1),ts.current=new Date;let r=j(tv.current,q);if(!t||!tO(t.target,!1)||!r||Number.isNaN(r)||null===td.current)return;let a=ts.current.getTime()-td.current.getTime(),l=tp.current-(D(q)?t.pageY:t.pageX),u=Math.abs(l)/a;if(u>.05&&(ti(!0),setTimeout(()=>{ti(!1)},200)),i){t$({draggedDistance:l*("bottom"===q||"right"===q?1:-1),closeDrawer:tS,velocity:u,dismissible:T}),null==o||o(t,!0);return}if("bottom"===q||"right"===q?l>0:l<0){tB(),null==o||o(t,!0);return}if(u>.4){tS(),null==o||o(t,!1);return}let d=Math.min(null!=(e=tv.current.getBoundingClientRect().height)?e:0,window.innerHeight),s=Math.min(null!=(n=tv.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===q||"right"===q?s:d)*g){tS(),null==o||o(t,!1);return}null==o||o(t,!0),tB()},onDrag:function(t){if(tv.current&&tr){let e="bottom"===q||"right"===q?1:-1,n=(tp.current-(D(q)?t.pageY:t.pageX))*e,r=n>0,o=i&&!T&&!r;if(o&&0===tT)return;let l=Math.abs(n),u=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===q||"top"===q?ty.current:tb.current),c=tM(l,r);if(null!==c&&(d=c),o&&d>=1||!tf.current&&!tO(t.target,r))return;if(tv.current.classList.add(N),tf.current=!0,$(tv.current,{transition:"none"}),$(tl.current,{transition:"none"}),i&&tj({draggedDistance:n}),r&&!i){let t=Math.min(-(8*(Math.log(n+1)-2)*1),0)*e;$(tv.current,{transform:D(q)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`});return}let f=1-d;if((tP||k&&tT===k-1)&&(null==a||a(t,d),$(tl.current,{opacity:`${f}`,transition:"none"},!0)),u&&tl.current&&s){let t=Math.min(tk()+d*(1-tk()),1),e=8-8*d,n=Math.max(0,14-14*d);$(u,{borderRadius:`${e}px`,transform:D(q)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let t=l*e;$(tv.current,{transform:D(q)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})}}},dismissible:T,shouldAnimate:tw,handleOnly:P,isOpen:_,isDragging:tr,shouldFade:tP,closeDrawer:tS,onNestedDrag:function(t,e){if(e<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+e*(1-n),a=-16+16*e;$(tv.current,{transform:D(q)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(t){let e=t?(window.innerWidth-16)/window.innerWidth:1,n=t?-16:0;tm.current&&window.clearTimeout(tm.current),$(tv.current,{transition:`transform 0.5s cubic-bezier(${M.join(",")})`,transform:D(q)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`}),!t&&tv.current&&(tm.current=setTimeout(()=>{let t=j(tv.current,q);$(tv.current,{transition:"none",transform:D(q)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},500))},onNestedRelease:function(t,e){let n=D(q)?window.innerHeight:window.innerWidth,r=e?(n-16)/n:1,a=e?-16:0;e&&$(tv.current,{transition:`transform 0.5s cubic-bezier(${M.join(",")})`,transform:D(q)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:th,modal:H,snapPointsOffset:tD,activeSnapPointIndex:tT,direction:q,shouldScaleBackground:s,setBackgroundColorOnScale:m,noBodyStyles:W,container:G,autoFocus:J}},r))}let z=u.default.forwardRef(function({...t},e){let{overlayRef:n,snapPoints:r,onRelease:a,shouldFade:o,isOpen:i,modal:d,shouldAnimate:c}=s(),f=T(e,n),m=r&&r.length>0;if(!d)return null;let p=u.default.useCallback(t=>a(t),[a]);return u.default.createElement(l.Overlay,{onMouseUp:p,ref:f,"data-vaul-overlay":"","data-vaul-snap-points":i&&m?"true":"false","data-vaul-snap-points-overlay":i&&o?"true":"false","data-vaul-animate":(null==c?void 0:c.current)?"true":"false",...t})});z.displayName="Drawer.Overlay";let H=u.default.forwardRef(function({onPointerDownOutside:t,style:e,onOpenAutoFocus:n,...r},a){let{drawerRef:o,onPress:i,onRelease:d,onDrag:c,keyboardIsOpen:f,snapPointsOffset:m,activeSnapPointIndex:p,modal:h,isOpen:w,direction:g,snapPoints:v,container:y,handleOnly:b,shouldAnimate:x,autoFocus:E}=s(),[R,C]=u.default.useState(!1),$=T(a,o),j=u.default.useRef(null),N=u.default.useRef(null),k=u.default.useRef(!1),O=v&&v.length>0;function B(t){j.current=null,k.current=!1,d(t)}return!function(){let{direction:t,isOpen:e,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:a}=s(),o=u.default.useRef(null),i=(0,u.useMemo)(()=>document.body.style.backgroundColor,[]);function l(){return(window.innerWidth-26)/window.innerWidth}u.default.useEffect(()=>{if(e&&n){o.current&&clearTimeout(o.current);let e=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!e)return;!function(...t){}(r&&!a?P(document.body,{background:"black"}):S,P(e,{transformOrigin:D(t)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${M.join(",")})`}));let n=P(e,{borderRadius:"8px",overflow:"hidden",...D(t)?{transform:`scale(${l()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${l()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),o.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[e,n,i])}(),u.default.useEffect(()=>{O&&window.requestAnimationFrame(()=>{C(!0)})},[]),u.default.createElement(l.Content,{"data-vaul-drawer-direction":g,"data-vaul-drawer":"","data-vaul-delayed-snap-points":R?"true":"false","data-vaul-snap-points":w&&O?"true":"false","data-vaul-custom-container":y?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...r,ref:$,style:m&&m.length>0?{"--snap-point-height":`${m[null!=p?p:0]}px`,...e}:e,onPointerDown:t=>{b||(null==r.onPointerDown||r.onPointerDown.call(r,t),j.current={x:t.pageX,y:t.pageY},i(t))},onOpenAutoFocus:t=>{null==n||n(t),E||t.preventDefault()},onPointerDownOutside:e=>{(null==t||t(e),!h||e.defaultPrevented)?e.preventDefault():f.current&&(f.current=!1)},onFocusOutside:t=>{if(!h)return void t.preventDefault()},onPointerMove:t=>{if(N.current=t,b||(null==r.onPointerMove||r.onPointerMove.call(r,t),!j.current))return;let e=t.pageY-j.current.y,n=t.pageX-j.current.x,a="touch"===t.pointerType?10:2;((t,e,n=0)=>{if(k.current)return!0;let r=Math.abs(t.y),a=Math.abs(t.x),o=a>r,i=["bottom","right"].includes(e)?1:-1;if("left"===e||"right"===e){if(!(t.x*i<0)&&a>=0&&a<=n)return o}else if(!(t.y*i<0)&&r>=0&&r<=n)return!o;return k.current=!0,!0})({x:n,y:e},g,a)?c(t):(Math.abs(n)>a||Math.abs(e)>a)&&(j.current=null)},onPointerUp:t=>{null==r.onPointerUp||r.onPointerUp.call(r,t),j.current=null,k.current=!1,d(t)},onPointerOut:t=>{null==r.onPointerOut||r.onPointerOut.call(r,t),B(N.current)},onContextMenu:t=>{null==r.onContextMenu||r.onContextMenu.call(r,t),N.current&&B(N.current)}})});H.displayName="Drawer.Content";let L=u.default.forwardRef(function({preventCycle:t=!1,children:e,...n},r){let{closeDrawer:a,isDragging:o,snapPoints:i,activeSnapPoint:l,setActiveSnapPoint:d,dismissible:c,handleOnly:f,isOpen:m,onPress:p,onDrag:h}=s(),w=u.default.useRef(null),g=u.default.useRef(!1);function v(){w.current&&window.clearTimeout(w.current),g.current=!1}return u.default.createElement("div",{onClick:function(){g.current?v():window.setTimeout(()=>{!function(){if(o||t||g.current)return v();if(v(),!i||0===i.length){c||a();return}if(l===i[i.length-1]&&c)return a();let e=i.findIndex(t=>t===l);-1===e||d(i[e+1])}()},120)},onPointerCancel:v,onPointerDown:t=>{f&&p(t),w.current=window.setTimeout(()=>{g.current=!0},250)},onPointerMove:t=>{f&&h(t)},ref:r,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},u.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},e))});L.displayName="Drawer.Handle";let A={Root:F,NestedRoot:function({onDrag:t,onOpenChange:e,open:n,...r}){let{onNestedDrag:a,onNestedOpenChange:o,onNestedRelease:i}=s();if(!a)throw Error("Drawer.NestedRoot must be placed in another drawer");return u.default.createElement(F,{nested:!0,open:n,onClose:()=>{o(!1)},onDrag:(e,n)=>{a(e,n),null==t||t(e,n)},onOpenChange:t=>{t&&o(t),null==e||e(t)},onRelease:i,...r})},Content:H,Overlay:z,Trigger:l.Trigger,Portal:function(t){let e=s(),{container:n=e.container,...r}=t;return u.default.createElement(l.Portal,{container:n,...r})},Handle:L,Close:l.Close,Title:l.Title,Description:l.Description};function W({...t}){return(0,r.jsx)(A.Root,{"data-slot":"drawer",...t})}function q({...t}){return(0,r.jsx)(A.Portal,{"data-slot":"drawer-portal",...t})}function I({className:t,...e}){return(0,r.jsx)(A.Overlay,{"data-slot":"drawer-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50",t),...e})}function Y({className:t,children:e,direction:n="bottom",showCloseButton:o=!0,...l}){return(0,r.jsx)(q,{children:(0,r.jsxs)(A.Content,{"data-slot":"drawer-content",className:(0,i.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===n&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===n&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===n&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===n&&"inset-y-0 left-0 h-full w-3/4 border-r",t),style:{"--initial-transform":"right"===n?"calc(100% + 8px)":"left"===n||"top"===n?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[e,o?(0,r.jsxs)(A.Close,{className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,r.jsx)(a.XIcon,{className:"size-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function X({className:t,...e}){return(0,r.jsx)("div",{"data-slot":"drawer-header",className:(0,i.cn)("flex flex-col gap-1.5 p-4",t),...e})}function U({className:t,...e}){return(0,r.jsx)("div",{"data-slot":"drawer-footer",className:(0,i.cn)("mt-auto flex flex-col gap-2 p-4",t),...e})}function V({className:t,...e}){return(0,r.jsx)(A.Title,{"data-slot":"drawer-title",className:(0,i.cn)("text-foreground font-semibold",t),...e})}function K({className:t,...e}){return(0,r.jsx)(A.Description,{"data-slot":"drawer-description",className:(0,i.cn)("text-muted-foreground text-sm",t),...e})}t.s(["Drawer",()=>W,"DrawerContent",()=>Y,"DrawerDescription",()=>K,"DrawerFooter",()=>U,"DrawerHeader",()=>X,"DrawerOverlay",()=>I,"DrawerTitle",()=>V],45811);let G=(0,o.cva)("",{variants:{size:{sm:"w-96",md:"w-xl"}},defaultVariants:{size:"sm"}});function J({open:t,onClose:e,modal:n=!1,size:o,header:l,children:u,footer:d,className:s,"data-testid":c}){return(0,r.jsxs)(W,{direction:"right",modal:n,handleOnly:!0,open:t,onOpenChange:t=>{t||e()},children:[n?(0,r.jsx)(I,{}):null,(0,r.jsxs)(Y,{direction:"right",showCloseButton:!1,className:(0,i.cn)(G({size:o}),s),"data-testid":c,children:[(0,r.jsxs)("button",{type:"button","aria-label":"Close",onClick:e,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":c?`${c}-close-button`:void 0,children:[(0,r.jsx)(a.XIcon,{className:"size-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]}),l?(0,r.jsx)(X,{children:l}):null,(0,r.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,r.jsx)("div",{className:"flex flex-col",children:u})}),d?(0,r.jsx)(U,{children:d}):null]})]})}t.s(["BaseDrawer",()=>J],11495),t.s([],1650)},9443,85871,t=>{"use strict";var e=t.i(20314),n=t.i(31777);function r({title:t,description:r,children:a,className:o}){return(0,e.jsxs)("header",{className:(0,n.cn)("flex items-center justify-between gap-4",o),children:[(0,e.jsxs)("div",{className:"space-y-1",children:[(0,e.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:t}),r?(0,e.jsx)("p",{className:"text-muted-foreground",children:r}):null]}),a?(0,e.jsx)("div",{"data-slot":"actions",children:a}):null]})}t.s(["PageHeader",()=>r],85871),t.s([],9443)}]);
|
package/web/.next/trace
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":196,"timestamp":75684087,"id":4,"parentId":1,"tags":{},"startTime":1772105393996,"traceId":"f176c25e15b33003"},{"name":"load-custom-routes","duration":299,"timestamp":75684384,"id":5,"parentId":1,"tags":{},"startTime":1772105393996,"traceId":"f176c25e15b33003"},{"name":"create-dist-dir","duration":222,"timestamp":75684708,"id":6,"parentId":1,"tags":{},"startTime":1772105393996,"traceId":"f176c25e15b33003"},{"name":"clean","duration":201,"timestamp":75685349,"id":7,"parentId":1,"tags":{},"startTime":1772105393997,"traceId":"f176c25e15b33003"},{"name":"create-pages-mapping","duration":237,"timestamp":75734672,"id":8,"parentId":1,"tags":{},"startTime":1772105394046,"traceId":"f176c25e15b33003"},{"name":"collect-app-files","duration":1923,"timestamp":75734946,"id":9,"parentId":1,"tags":{},"startTime":1772105394046,"traceId":"f176c25e15b33003"},{"name":"create-app-mapping","duration":1135,"timestamp":75736901,"id":10,"parentId":1,"tags":{},"startTime":1772105394048,"traceId":"f176c25e15b33003"},{"name":"create-app-layouts","duration":126,"timestamp":75738062,"id":11,"parentId":1,"tags":{},"startTime":1772105394050,"traceId":"f176c25e15b33003"},{"name":"collect-default-files","duration":1749,"timestamp":75740882,"id":13,"parentId":1,"tags":{},"startTime":1772105394052,"traceId":"f176c25e15b33003"},{"name":"generate-route-types","duration":21885,"timestamp":75739822,"id":12,"parentId":1,"tags":{},"startTime":1772105394051,"traceId":"f176c25e15b33003"},{"name":"public-dir-conflict-check","duration":76,"timestamp":75761809,"id":14,"parentId":1,"tags":{},"startTime":1772105394073,"traceId":"f176c25e15b33003"},{"name":"generate-routes-manifest","duration":2218,"timestamp":75761942,"id":15,"parentId":1,"tags":{},"startTime":1772105394073,"traceId":"f176c25e15b33003"},{"name":"run-turbopack","duration":8957459,"timestamp":75767684,"id":17,"parentId":1,"tags":{},"startTime":1772105394079,"traceId":"f176c25e15b33003"},{"name":"run-typescript","duration":7208761,"timestamp":84731443,"id":19,"parentId":1,"tags":{},"startTime":1772105403043,"traceId":"f176c25e15b33003"},{"name":"generate-required-server-files","duration":1897,"timestamp":91940773,"id":21,"parentId":1,"tags":{},"startTime":1772105410252,"traceId":"f176c25e15b33003"},{"name":"check-static-error-page","duration":4676,"timestamp":92011948,"id":23,"parentId":22,"tags":{},"startTime":1772105410323,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":255618,"timestamp":92020042,"id":37,"parentId":25,"tags":{},"startTime":1772105410332,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":261420,"timestamp":92014331,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1772105410326,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":278619,"timestamp":92019766,"id":36,"parentId":24,"tags":{},"startTime":1772105410331,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":285400,"timestamp":92013031,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1772105410325,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":322843,"timestamp":92022403,"id":40,"parentId":30,"tags":{},"startTime":1772105410334,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":330750,"timestamp":92014774,"id":30,"parentId":22,"tags":{"page":"/api/tools/[id]/launch"},"startTime":1772105410326,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":346155,"timestamp":92022476,"id":41,"parentId":31,"tags":{},"startTime":1772105410334,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":353857,"timestamp":92014836,"id":31,"parentId":22,"tags":{"page":"/api/tools"},"startTime":1772105410326,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":344222,"timestamp":92031294,"id":42,"parentId":26,"tags":{},"startTime":1772105410343,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":361045,"timestamp":92014503,"id":26,"parentId":22,"tags":{"page":"/api/agent-events/health"},"startTime":1772105410326,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":346064,"timestamp":92033467,"id":43,"parentId":27,"tags":{},"startTime":1772105410345,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":364970,"timestamp":92014581,"id":27,"parentId":22,"tags":{"page":"/api/agent-events"},"startTime":1772105410326,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":363914,"timestamp":92022323,"id":39,"parentId":29,"tags":{},"startTime":1772105410334,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":371560,"timestamp":92014713,"id":29,"parentId":22,"tags":{"page":"/api/tools/[id]/install"},"startTime":1772105410326,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":372208,"timestamp":92022085,"id":38,"parentId":28,"tags":{},"startTime":1772105410334,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":379760,"timestamp":92014648,"id":28,"parentId":22,"tags":{"page":"/api/dialog/pick-files"},"startTime":1772105410326,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":352600,"timestamp":92042251,"id":44,"parentId":33,"tags":{},"startTime":1772105410354,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":378509,"timestamp":92016366,"id":33,"parentId":22,"tags":{"page":"/skills"},"startTime":1772105410328,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":357132,"timestamp":92042614,"id":47,"parentId":34,"tags":{},"startTime":1772105410354,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":383298,"timestamp":92016467,"id":34,"parentId":22,"tags":{"page":"/tools"},"startTime":1772105410328,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":377231,"timestamp":92042293,"id":45,"parentId":35,"tags":{},"startTime":1772105410354,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":403002,"timestamp":92016547,"id":35,"parentId":22,"tags":{"page":"/version"},"startTime":1772105410328,"traceId":"f176c25e15b33003"},{"name":"is-page-static","duration":383589,"timestamp":92042334,"id":46,"parentId":32,"tags":{},"startTime":1772105410354,"traceId":"f176c25e15b33003"},{"name":"check-page","duration":409716,"timestamp":92016220,"id":32,"parentId":22,"tags":{"page":"/"},"startTime":1772105410328,"traceId":"f176c25e15b33003"},{"name":"static-check","duration":414978,"timestamp":92011124,"id":22,"parentId":1,"tags":{},"startTime":1772105410323,"traceId":"f176c25e15b33003"},{"name":"write-routes-manifest","duration":822,"timestamp":92426720,"id":49,"parentId":1,"tags":{},"startTime":1772105410738,"traceId":"f176c25e15b33003"},{"name":"load-dotenv","duration":35,"timestamp":92435716,"id":52,"parentId":51,"tags":{},"startTime":1772105410747,"traceId":"f176c25e15b33003"},{"name":"run-export-path-map","duration":318,"timestamp":92437796,"id":53,"parentId":51,"tags":{},"startTime":1772105410749,"traceId":"f176c25e15b33003"},{"name":"next-export","duration":73796,"timestamp":92434819,"id":51,"parentId":1,"tags":{},"startTime":1772105410746,"traceId":"f176c25e15b33003"},{"name":"move-exported-app-global-error-","duration":412,"timestamp":92509655,"id":54,"parentId":50,"tags":{},"startTime":1772105410821,"traceId":"f176c25e15b33003"},{"name":"static-generation","duration":80350,"timestamp":92431110,"id":50,"parentId":1,"tags":{},"startTime":1772105410743,"traceId":"f176c25e15b33003"},{"name":"write-routes-manifest","duration":260,"timestamp":92511640,"id":55,"parentId":1,"tags":{},"startTime":1772105410823,"traceId":"f176c25e15b33003"},{"name":"write-standalone-directory","duration":276837,"timestamp":92516541,"id":57,"parentId":1,"tags":{},"startTime":1772105410828,"traceId":"f176c25e15b33003"},{"name":"output-standalone","duration":276994,"timestamp":92516401,"id":56,"parentId":1,"tags":{},"startTime":1772105410828,"traceId":"f176c25e15b33003"},{"name":"print-tree-view","duration":2066,"timestamp":92793504,"id":58,"parentId":1,"tags":{},"startTime":1772105411105,"traceId":"f176c25e15b33003"},{"name":"telemetry-flush","duration":59,"timestamp":92795587,"id":59,"parentId":1,"tags":{},"startTime":1772105411107,"traceId":"f176c25e15b33003"},{"name":"next-build","duration":17323138,"timestamp":75472521,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772105393784,"traceId":"f176c25e15b33003"}]
|
package/web/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":8957459,"timestamp":75767684,"id":17,"parentId":1,"tags":{},"startTime":1772105394079,"traceId":"f176c25e15b33003"},{"name":"run-typescript","duration":7208761,"timestamp":84731443,"id":19,"parentId":1,"tags":{},"startTime":1772105403043,"traceId":"f176c25e15b33003"},{"name":"static-check","duration":414978,"timestamp":92011124,"id":22,"parentId":1,"tags":{},"startTime":1772105410323,"traceId":"f176c25e15b33003"},{"name":"static-generation","duration":80350,"timestamp":92431110,"id":50,"parentId":1,"tags":{},"startTime":1772105410743,"traceId":"f176c25e15b33003"},{"name":"output-standalone","duration":276994,"timestamp":92516401,"id":56,"parentId":1,"tags":{},"startTime":1772105410828,"traceId":"f176c25e15b33003"},{"name":"telemetry-flush","duration":59,"timestamp":92795587,"id":59,"parentId":1,"tags":{},"startTime":1772105411107,"traceId":"f176c25e15b33003"},{"name":"next-build","duration":17323138,"timestamp":75472521,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772105393784,"traceId":"f176c25e15b33003"}]
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},17300,88064,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>c],17300);let d=(0,b.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>d],88064)},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},13126,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(66873),e="horizontal",f=["horizontal","vertical"],g=c.forwardRef((a,c)=>{var g;let{decorative:h,orientation:i=e,...j}=a,k=(g=i,f.includes(g))?i:e;return(0,b.jsx)(d.Primitive.div,{"data-orientation":k,...h?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:c})});g.displayName="Separator",a.s(["Root",()=>g,"Separator",()=>g],1443);var h=a.i(1443),h=h,i=a.i(85536);function j({className:a,orientation:c="horizontal",decorative:d=!0,...e}){return(0,b.jsx)(h.Root,{"data-slot":"separator",decorative:d,orientation:c,className:(0,i.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...e})}a.s(["Separator",()=>j],13126)},10568,a=>{"use strict";var b=a.i(89868);a.s(["XIcon",()=>b.default])},44338,a=>{"use strict";var b=a.i(10973),c=a.i(10568),d=a.i(71335),e=a.i(85536);function f({...a}){return(0,b.jsx)(d.Dialog.Root,{"data-slot":"sheet",...a})}function g({...a}){return(0,b.jsx)(d.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...c}){return(0,b.jsx)(d.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,e.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...c})}function i({className:a,children:f,side:i="right",showCloseButton:j=!0,...k}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(d.Dialog.Content,{"data-slot":"sheet-content",className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===i&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===i&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===i&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===i&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...k,children:[f,j?(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,b.jsx)(c.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function j({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,e.cn)("flex flex-col gap-1.5 p-4",a),...c})}function k({className:a,...c}){return(0,b.jsx)(d.Dialog.Title,{"data-slot":"sheet-title",className:(0,e.cn)("text-foreground font-semibold",a),...c})}function l({className:a,...c}){return(0,b.jsx)(d.Dialog.Description,{"data-slot":"sheet-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...c})}a.s(["Sheet",()=>f,"SheetContent",()=>i,"SheetDescription",()=>l,"SheetHeader",()=>j,"SheetTitle",()=>k])},66560,a=>{"use strict";var b,c=a.i(10973),d=a.i(96960),e=a.i(55003),f=a.i(69845),g=a.i(25700);let h=(0,g.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"}]]);var i=a.i(17300),j=a.i(67424),k=a.i(67837),l=a.i(59706);a.i(47938);var m=a.i(59503);a.i(69345);var n=a.i(46969);a.i(48822);var o=a.i(16911);a.i(4388);var p=a.i(27756);a.i(77466);var q=a.i(85637);a.i(34338);var r=a.i(54860),s=a.i(49474);let t={skills:"true"===(b=process.env.NEXT_PUBLIC_FLAG_SKILLS)||"1"===b};function u({features:a,onNewFeature:b,onFeatureClick:g,onFeaturesFolderClick:u,onFeaturesMenuClick:v}){let w=(0,f.usePathname)(),{state:x}=(0,e.useSidebar)(),{mounted:y,visible:z}=function(a,b){let[c,e]=(0,d.useState)(!a),[f,g]=(0,d.useState)(!a);return(0,d.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:c,visible:f}}("collapsed"===x,0),A=s.featureStatusOrder.map(b=>{let{label:c}=s.featureStatusConfig[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,c.jsxs)(e.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,c.jsx)(e.SidebarHeader,{children:(0,c.jsxs)(e.SidebarMenu,{children:[(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[y?(0,c.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",z?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!z,children:[(0,c.jsx)(o.ShepLogo,{className:"shrink-0",size:20}),(0,c.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,c.jsx)(n.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,c.jsx)(m.SidebarNavItem,{icon:h,label:"Control Center",href:"/",active:"/"===w}),(0,c.jsx)(m.SidebarNavItem,{icon:i.Wrench,label:"Tools",href:"/tools",active:"/tools"===w}),t.skills?(0,c.jsx)(m.SidebarNavItem,{icon:j.Puzzle,label:"Skills",href:"/skills",active:"/skills"===w}):null]})}),(0,c.jsx)(e.SidebarContent,{children:y?(0,c.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",z?"opacity-100":"opacity-0"].join(" "),children:[(0,c.jsx)(r.SidebarSectionHeader,{label:"Features",onFolderClick:u,onMenuClick:v}),(0,c.jsx)(l.ScrollArea,{children:A.map(({key:a,label:b,items:d})=>d.length>0?(0,c.jsx)(q.FeatureStatusGroup,{label:b,count:d.length,children:d.map(a=>(0,c.jsx)(p.FeatureListItem,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:g?()=>g(a.name):void 0},a.name))},a):null)})]}):null}),(0,c.jsx)(e.SidebarFooter,{children:(0,c.jsx)(e.SidebarMenu,{children:(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)(e.SidebarMenuButton,{onClick:b,tooltip:"New feature",children:[(0,c.jsx)(k.Plus,{}),(0,c.jsx)("span",{children:"New feature"})]})})})}),(0,c.jsx)(e.SidebarRail,{})]})}a.i(65079);var v=a.i(21080);a.i(20786);var w=a.i(22550);let x=(0,g.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"}]]),y=(0,g.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 z=a.i(18948),A=a.i(2103);function B(){let{enabled:a,toggle:b}=(0,A.useSoundEnabled)();return(0,c.jsxs)(z.Button,{variant:"ghost",size:"icon",onClick:b,"aria-label":a?"Mute sounds":"Unmute sounds",children:[a?(0,c.jsx)(x,{className:"h-5 w-5"}):(0,c.jsx)(y,{className:"h-5 w-5"}),(0,c.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var C=a.i(84871),D=a.i(52313),E=a.i(46847),F=a.i(19884);let G={[E.NotificationSeverity.Success]:"success",[E.NotificationSeverity.Error]:"error",[E.NotificationSeverity.Warning]:"warning",[E.NotificationSeverity.Info]:"info"},H={[E.NotificationSeverity.Success]:"notification-success",[E.NotificationSeverity.Error]:"notification-error",[E.NotificationSeverity.Warning]:"notification-warning",[E.NotificationSeverity.Info]:"notification-info"};function I({children:a}){!function(){let{events:a}=(0,C.useAgentEventsContext)(),b=(0,F.useSoundAction)("notification-success"),c=(0,F.useSoundAction)("notification-error"),e=(0,F.useSoundAction)("notification-warning"),f=(0,F.useSoundAction)("notification-info"),g=(0,d.useMemo)(()=>({"notification-success":b,"notification-error":c,"notification-warning":e,"notification-info":f}),[b,c,e,f]),[h,i]=(0,d.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),j=(0,d.useRef)(0);(0,d.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!==E.NotificationSeverity.Error&&c.severity!==E.NotificationSeverity.Warning&&c.severity!==E.NotificationSeverity.Success)continue;!function(a){let b=G[a.severity]??"info",c=a.eventType===E.NotificationEventType.WaitingApproval;D.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=H[c.severity];g[a]?.play()}},[a,g]),(0,d.useCallback)(async()=>{void 0===globalThis.Notification||i(await globalThis.Notification.requestPermission())},[])}();let b=(0,d.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]),f=(0,d.useCallback)(a=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:a}}))},[]);return(0,c.jsxs)(e.SidebarProvider,{children:[(0,c.jsx)(u,{features:[],onNewFeature:b}),(0,c.jsx)(e.SidebarInset,{children:(0,c.jsxs)("div",{className:"relative h-full",children:[(0,c.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,c.jsx)(v.AddRepositoryButton,{onSelect:f}),(0,c.jsx)(B,{}),(0,c.jsx)(w.ThemeToggle,{})]}),(0,c.jsx)("main",{className:"h-full",children:a})]})})]})}function J({children:a}){return(0,c.jsx)(C.AgentEventsProvider,{children:(0,c.jsx)(I,{children:a})})}a.s(["AppShell",()=>J],66560)},58313,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
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__2395adc6._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/wrench.ts","../../../../../../../src/presentation/web/components/ui/input.tsx","../../../../../../../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","../../../../../../../src/presentation/web/components/ui/sheet.tsx","../../../../../../../src/presentation/web/hooks/use-deferred-mount.ts","../../../../../../../src/presentation/web/lib/feature-flags.ts","../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx","../../../../../../../src/presentation/web/components/common/sound-toggle/sound-toggle.tsx","../../../../../../../src/presentation/web/hooks/use-notifications.ts","../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/house.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-off.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-2.ts","../../../../../../../src/presentation/web/components/ui/sonner.tsx"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/loader-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 LoaderCircle = createLucideIcon('loader-circle', __iconNode);\n\nexport default LoaderCircle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z',\n key: '1ngwbx',\n },\n ],\n];\n\n/**\n * @component @name Wrench\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/wrench\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 Wrench = createLucideIcon('wrench', __iconNode);\n\nexport default Wrench;\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","// 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","'use client';\n\nimport * as React from 'react';\nimport { XIcon } from 'lucide-react';\nimport { Dialog as SheetPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n showCloseButton?: boolean;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n ) : null}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","'use client';\n\nimport { useState, useEffect } from 'react';\n\n/**\n * Defers mount/unmount of content to allow opacity transitions.\n * When expanding: mounts immediately, then sets visible on next frame.\n * When collapsing: hides immediately, then unmounts after `ms` delay.\n */\nexport function useDeferredMount(isCollapsed: boolean, ms: number) {\n const [mounted, setMounted] = useState(!isCollapsed);\n const [visible, setVisible] = useState(!isCollapsed);\n\n useEffect(() => {\n if (!isCollapsed) {\n setMounted(true);\n // delay visibility by one frame so the element mounts at opacity-0 first\n const raf = requestAnimationFrame(() => setVisible(true));\n return () => cancelAnimationFrame(raf);\n }\n setVisible(false);\n const t = window.setTimeout(() => setMounted(false), ms);\n return () => window.clearTimeout(t);\n }, [isCollapsed, ms]);\n\n return { mounted, visible };\n}\n","/**\n * Feature flags for the web UI.\n *\n * Toggle via environment variables (NEXT_PUBLIC_ prefix for client access).\n * All flags default to **off** unless explicitly set to \"true\" or \"1\".\n */\n\nfunction isEnabled(envVar: string | undefined): boolean {\n return envVar === 'true' || envVar === '1';\n}\n\nexport const featureFlags = {\n skills: isEnabled(process.env.NEXT_PUBLIC_FLAG_SKILLS),\n} as const;\n","'use client';\n\nimport { usePathname } from 'next/navigation';\nimport { Home, Wrench, Puzzle, Plus } from 'lucide-react';\nimport {\n Sidebar,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarRail,\n useSidebar,\n} from '@/components/ui/sidebar';\nimport { ScrollArea } from '@/components/ui/scroll-area';\nimport { SidebarNavItem } from '@/components/common/sidebar-nav-item';\nimport { SidebarCollapseToggle } from '@/components/common/sidebar-collapse-toggle';\nimport { ShepLogo } from '@/components/common/shep-logo';\nimport { FeatureListItem } from '@/components/common/feature-list-item';\nimport { FeatureStatusGroup } from '@/components/common/feature-status-group';\nimport { SidebarSectionHeader } from '@/components/common/sidebar-section-header';\nimport { featureStatusConfig, featureStatusOrder } from '@/components/common/feature-status-config';\nimport type { FeatureStatus } from '@/components/common/feature-status-config';\nimport { useDeferredMount } from '@/hooks/use-deferred-mount';\nimport { featureFlags } from '@/lib/feature-flags';\n\ninterface FeatureItem {\n name: string;\n status: FeatureStatus;\n startedAt?: number;\n duration?: string;\n}\n\nexport interface AppSidebarProps {\n features: FeatureItem[];\n onNewFeature?: () => void;\n onFeatureClick?: (name: string) => void;\n onFeaturesFolderClick?: () => void;\n onFeaturesMenuClick?: () => void;\n}\n\nexport function AppSidebar({\n features,\n onNewFeature,\n onFeatureClick,\n onFeaturesFolderClick,\n onFeaturesMenuClick,\n}: AppSidebarProps) {\n const pathname = usePathname();\n const { state } = useSidebar();\n const collapsed = state === 'collapsed';\n const { mounted: showExpanded, visible: expandedVisible } = useDeferredMount(collapsed, 200);\n\n const grouped = featureStatusOrder.map((key) => {\n const { label } = featureStatusConfig[key];\n const items = features.filter((f) => f.status === key);\n return { key, label, items };\n });\n\n return (\n <Sidebar data-testid=\"app-sidebar\" collapsible=\"icon\">\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <div className=\"flex h-8 items-center group-data-[collapsible=icon]:justify-center\">\n {showExpanded ? (\n <div\n className={[\n 'flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2',\n 'transition-opacity duration-200 ease-out',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n aria-hidden={!expandedVisible}\n >\n <ShepLogo className=\"shrink-0\" size={20} />\n <span className=\"truncate text-sm font-semibold tracking-tight\">Shep</span>\n </div>\n ) : null}\n <SidebarCollapseToggle className=\"shrink-0 transition-all duration-200\" />\n </div>\n </SidebarMenuItem>\n\n <SidebarNavItem icon={Home} label=\"Control Center\" href=\"/\" active={pathname === '/'} />\n <SidebarNavItem\n icon={Wrench}\n label=\"Tools\"\n href=\"/tools\"\n active={pathname === '/tools'}\n />\n {featureFlags.skills ? (\n <SidebarNavItem\n icon={Puzzle}\n label=\"Skills\"\n href=\"/skills\"\n active={pathname === '/skills'}\n />\n ) : null}\n </SidebarMenu>\n </SidebarHeader>\n\n <SidebarContent>\n {showExpanded ? (\n <div\n className={[\n 'min-w-0 overflow-hidden transition-opacity duration-200 ease-out',\n '[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n >\n <SidebarSectionHeader\n label=\"Features\"\n onFolderClick={onFeaturesFolderClick}\n onMenuClick={onFeaturesMenuClick}\n />\n <ScrollArea>\n {grouped.map(({ key, label, items }) =>\n items.length > 0 ? (\n <FeatureStatusGroup key={key} label={label} count={items.length}>\n {items.map((feature) => (\n <FeatureListItem\n key={feature.name}\n name={feature.name}\n status={feature.status}\n startedAt={feature.startedAt}\n duration={feature.duration}\n onClick={onFeatureClick ? () => onFeatureClick(feature.name) : undefined}\n />\n ))}\n </FeatureStatusGroup>\n ) : null\n )}\n </ScrollArea>\n </div>\n ) : null}\n </SidebarContent>\n\n <SidebarFooter>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton onClick={onNewFeature} tooltip=\"New feature\">\n <Plus />\n <span>New feature</span>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n","'use client';\n\nimport { Volume2, VolumeOff } from 'lucide-react';\nimport { Button } from '@/components/ui/button';\nimport { useSoundEnabled } from '@/hooks/use-sound-enabled';\n\nexport function SoundToggle() {\n const { enabled, toggle } = useSoundEnabled();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={toggle}\n aria-label={enabled ? 'Mute sounds' : 'Unmute sounds'}\n >\n {enabled ? <Volume2 className=\"h-5 w-5\" /> : <VolumeOff className=\"h-5 w-5\" />}\n <span className=\"sr-only\">Toggle sound</span>\n </Button>\n );\n}\n","'use client';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { toast } from 'sonner';\nimport type { NotificationEvent } from '@shepai/core/domain/generated/output';\nimport { NotificationEventType, NotificationSeverity } from '@shepai/core/domain/generated/output';\nimport { useAgentEventsContext } from './agent-events-provider';\nimport { useSoundAction } from './use-sound-action';\nimport type { SoundAction } from './use-sound-action';\n\nexport interface UseNotificationsResult {\n requestBrowserPermission: () => Promise<void>;\n browserPermissionState: NotificationPermission;\n}\n\nconst SEVERITY_TO_TOAST: Record<NotificationSeverity, 'success' | 'error' | 'warning' | 'info'> = {\n [NotificationSeverity.Success]: 'success',\n [NotificationSeverity.Error]: 'error',\n [NotificationSeverity.Warning]: 'warning',\n [NotificationSeverity.Info]: 'info',\n};\n\nfunction dispatchToast(event: NotificationEvent): void {\n const method = SEVERITY_TO_TOAST[event.severity] ?? 'info';\n const isActionable = event.eventType === NotificationEventType.WaitingApproval;\n toast[method](event.featureName, {\n description: event.message,\n ...(isActionable && {\n action: {\n label: 'Review',\n onClick: () => {\n window.dispatchEvent(\n new CustomEvent('shep:select-feature', { detail: { featureId: event.featureId } })\n );\n },\n },\n }),\n });\n}\n\nfunction dispatchBrowserNotification(event: NotificationEvent): void {\n if (globalThis.Notification?.permission !== 'granted') {\n return;\n }\n new Notification(`Shep: ${event.featureName}`, {\n body: event.message,\n icon: '/favicon-light.svg',\n });\n}\n\nconst SEVERITY_TO_ACTION: Record<NotificationSeverity, SoundAction> = {\n [NotificationSeverity.Success]: 'notification-success',\n [NotificationSeverity.Error]: 'notification-error',\n [NotificationSeverity.Warning]: 'notification-warning',\n [NotificationSeverity.Info]: 'notification-info',\n};\n\nexport function useNotifications(): UseNotificationsResult {\n const { events } = useAgentEventsContext();\n\n const successSound = useSoundAction('notification-success');\n const errorSound = useSoundAction('notification-error');\n const warningSound = useSoundAction('notification-warning');\n const infoSound = useSoundAction('notification-info');\n\n const soundsByAction = useMemo<Record<string, { play: () => void }>>(\n () => ({\n 'notification-success': successSound,\n 'notification-error': errorSound,\n 'notification-warning': warningSound,\n 'notification-info': infoSound,\n }),\n [successSound, errorSound, warningSound, infoSound]\n );\n\n const [browserPermissionState, setBrowserPermissionState] = useState<NotificationPermission>(\n () => {\n if (typeof globalThis.Notification === 'undefined') return 'default';\n return globalThis.Notification.permission;\n }\n );\n\n // Track how many events from the array we've already processed.\n // Using the array index (instead of lastEvent) prevents React batching\n // from silently dropping events when multiple SSE messages arrive together.\n const processedCountRef = useRef(0);\n\n useEffect(() => {\n if (events.length <= processedCountRef.current) return;\n\n const newEvents = events.slice(processedCountRef.current);\n processedCountRef.current = events.length;\n\n for (const event of newEvents) {\n // Only notify for actionable events and completion celebrations\n if (\n event.severity !== NotificationSeverity.Error &&\n event.severity !== NotificationSeverity.Warning &&\n event.severity !== NotificationSeverity.Success\n ) {\n continue;\n }\n\n dispatchToast(event);\n dispatchBrowserNotification(event);\n\n const actionName = SEVERITY_TO_ACTION[event.severity];\n soundsByAction[actionName]?.play();\n }\n }, [events, soundsByAction]);\n\n const requestBrowserPermission = useCallback(async () => {\n if (typeof globalThis.Notification === 'undefined') return;\n const result = await globalThis.Notification.requestPermission();\n setBrowserPermissionState(result);\n }, []);\n\n return {\n requestBrowserPermission,\n browserPermissionState,\n };\n}\n","'use client';\n\nimport { useCallback, type ReactNode } from 'react';\nimport { SidebarProvider, SidebarInset } from '@/components/ui/sidebar';\nimport { AppSidebar } from '@/components/layouts/app-sidebar';\nimport { AddRepositoryButton } from '@/components/common/add-repository-node';\nimport { ThemeToggle } from '@/components/common/theme-toggle';\nimport { SoundToggle } from '@/components/common/sound-toggle';\nimport { AgentEventsProvider } from '@/hooks/agent-events-provider';\nimport { useNotifications } from '@/hooks/use-notifications';\n\ninterface AppShellProps {\n children: ReactNode;\n}\n\n/** Inner shell that consumes the agent-events context for notifications. */\nfunction AppShellInner({ children }: AppShellProps) {\n // Subscribe to agent lifecycle events and dispatch toast/browser notifications\n useNotifications();\n\n const handleNewFeature = useCallback(() => {\n window.dispatchEvent(new CustomEvent('shep:open-create-drawer'));\n }, []);\n\n const handleRepositorySelect = useCallback((path: string) => {\n window.dispatchEvent(new CustomEvent('shep:add-repository', { detail: { path } }));\n }, []);\n\n return (\n <SidebarProvider>\n <AppSidebar features={[]} onNewFeature={handleNewFeature} />\n <SidebarInset>\n <div className=\"relative h-full\">\n <div className=\"absolute top-3 right-3 z-50 flex gap-1\">\n <AddRepositoryButton onSelect={handleRepositorySelect} />\n <SoundToggle />\n <ThemeToggle />\n </div>\n <main className=\"h-full\">{children}</main>\n </div>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n\nexport function AppShell({ children }: AppShellProps) {\n return (\n <AgentEventsProvider>\n <AppShellInner>{children}</AppShellInner>\n </AgentEventsProvider>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8', key: '5wwlr5' }],\n [\n 'path',\n {\n 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',\n key: 'r6nss1',\n },\n ],\n];\n\n/**\n * @component @name House\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/house\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 House = createLucideIcon('house', __iconNode);\n\nexport default House;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M16 9a5 5 0 0 1 .95 2.293', key: '1fgyg8' }],\n ['path', { d: 'M19.364 5.636a9 9 0 0 1 1.889 9.96', key: 'l3zxae' }],\n ['path', { d: 'm2 2 20 20', key: '1ooewy' }],\n [\n 'path',\n {\n 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',\n key: '1gbwow',\n },\n ],\n ['path', { d: 'M9.828 4.172A.686.686 0 0 1 11 4.657v.686', key: 's2je0y' }],\n];\n\n/**\n * @component @name VolumeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/volume-off\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 VolumeOff = createLucideIcon('volume-off', __iconNode);\n\nexport default VolumeOff;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n 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',\n key: 'uqj9uw',\n },\n ],\n ['path', { d: 'M16 9a5 5 0 0 1 0 6', key: '1q6k2b' }],\n ['path', { d: 'M19.364 18.364a9 9 0 0 0 0-12.728', key: 'ijwkga' }],\n];\n\n/**\n * @component @name Volume2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/volume-2\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 Volume2 = createLucideIcon('volume-2', __iconNode);\n\nexport default Volume2;\n","'use client';\n\nimport { Toaster as Sonner } from 'sonner';\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n return (\n <Sonner\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n"],"names":["module","exports","require","vendored","HooksClientContext","ServerInsertedHtml","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React","ReactDOM","AppRouterContext","ReactServerDOMTurbopackClient"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,11,20,21,22]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},17300,88064,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>c],17300);let d=(0,b.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>d],88064)},52475,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HandleISRError",{enumerable:!0,get:function(){return e}});let d=a.r(56704).workAsyncStorage;function e({error:a}){if(d){let b=d.getStore();if(b?.isStaticGeneration)throw a&&console.error(a),a}return null}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},43167,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return h}});let d=a.r(10973),e=a.r(52475),f={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},g={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},h=function({error:a}){let b=a?.digest;return(0,d.jsxs)("html",{id:"__next_error__",children:[(0,d.jsx)("head",{}),(0,d.jsxs)("body",{children:[(0,d.jsx)(e.HandleISRError,{error:a}),(0,d.jsx)("div",{style:f,children:(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{style:g,children:["Application error: a ",b?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",b?"server logs":"browser console"," for more information)."]}),b?(0,d.jsx)("p",{style:g,children:`Digest: ${b}`}):null]})})]})]})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},13126,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(66873),e="horizontal",f=["horizontal","vertical"],g=c.forwardRef((a,c)=>{var g;let{decorative:h,orientation:i=e,...j}=a,k=(g=i,f.includes(g))?i:e;return(0,b.jsx)(d.Primitive.div,{"data-orientation":k,...h?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:c})});g.displayName="Separator",a.s(["Root",()=>g,"Separator",()=>g],1443);var h=a.i(1443),h=h,i=a.i(85536);function j({className:a,orientation:c="horizontal",decorative:d=!0,...e}){return(0,b.jsx)(h.Root,{"data-slot":"separator",decorative:d,orientation:c,className:(0,i.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...e})}a.s(["Separator",()=>j],13126)},10568,a=>{"use strict";var b=a.i(89868);a.s(["XIcon",()=>b.default])},44338,a=>{"use strict";var b=a.i(10973),c=a.i(10568),d=a.i(71335),e=a.i(85536);function f({...a}){return(0,b.jsx)(d.Dialog.Root,{"data-slot":"sheet",...a})}function g({...a}){return(0,b.jsx)(d.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...c}){return(0,b.jsx)(d.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,e.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...c})}function i({className:a,children:f,side:i="right",showCloseButton:j=!0,...k}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(d.Dialog.Content,{"data-slot":"sheet-content",className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===i&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===i&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===i&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===i&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...k,children:[f,j?(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,b.jsx)(c.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function j({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,e.cn)("flex flex-col gap-1.5 p-4",a),...c})}function k({className:a,...c}){return(0,b.jsx)(d.Dialog.Title,{"data-slot":"sheet-title",className:(0,e.cn)("text-foreground font-semibold",a),...c})}function l({className:a,...c}){return(0,b.jsx)(d.Dialog.Description,{"data-slot":"sheet-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...c})}a.s(["Sheet",()=>f,"SheetContent",()=>i,"SheetDescription",()=>l,"SheetHeader",()=>j,"SheetTitle",()=>k])},66560,a=>{"use strict";var b,c=a.i(10973),d=a.i(96960),e=a.i(55003),f=a.i(69845),g=a.i(25700);let h=(0,g.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"}]]);var i=a.i(17300),j=a.i(67424),k=a.i(67837),l=a.i(59706);a.i(47938);var m=a.i(59503);a.i(69345);var n=a.i(46969);a.i(48822);var o=a.i(16911);a.i(4388);var p=a.i(27756);a.i(77466);var q=a.i(85637);a.i(34338);var r=a.i(54860),s=a.i(49474);let t={skills:"true"===(b=process.env.NEXT_PUBLIC_FLAG_SKILLS)||"1"===b};function u({features:a,onNewFeature:b,onFeatureClick:g,onFeaturesFolderClick:u,onFeaturesMenuClick:v}){let w=(0,f.usePathname)(),{state:x}=(0,e.useSidebar)(),{mounted:y,visible:z}=function(a,b){let[c,e]=(0,d.useState)(!a),[f,g]=(0,d.useState)(!a);return(0,d.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:c,visible:f}}("collapsed"===x,0),A=s.featureStatusOrder.map(b=>{let{label:c}=s.featureStatusConfig[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,c.jsxs)(e.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,c.jsx)(e.SidebarHeader,{children:(0,c.jsxs)(e.SidebarMenu,{children:[(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[y?(0,c.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",z?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!z,children:[(0,c.jsx)(o.ShepLogo,{className:"shrink-0",size:20}),(0,c.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,c.jsx)(n.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,c.jsx)(m.SidebarNavItem,{icon:h,label:"Control Center",href:"/",active:"/"===w}),(0,c.jsx)(m.SidebarNavItem,{icon:i.Wrench,label:"Tools",href:"/tools",active:"/tools"===w}),t.skills?(0,c.jsx)(m.SidebarNavItem,{icon:j.Puzzle,label:"Skills",href:"/skills",active:"/skills"===w}):null]})}),(0,c.jsx)(e.SidebarContent,{children:y?(0,c.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",z?"opacity-100":"opacity-0"].join(" "),children:[(0,c.jsx)(r.SidebarSectionHeader,{label:"Features",onFolderClick:u,onMenuClick:v}),(0,c.jsx)(l.ScrollArea,{children:A.map(({key:a,label:b,items:d})=>d.length>0?(0,c.jsx)(q.FeatureStatusGroup,{label:b,count:d.length,children:d.map(a=>(0,c.jsx)(p.FeatureListItem,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:g?()=>g(a.name):void 0},a.name))},a):null)})]}):null}),(0,c.jsx)(e.SidebarFooter,{children:(0,c.jsx)(e.SidebarMenu,{children:(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)(e.SidebarMenuButton,{onClick:b,tooltip:"New feature",children:[(0,c.jsx)(k.Plus,{}),(0,c.jsx)("span",{children:"New feature"})]})})})}),(0,c.jsx)(e.SidebarRail,{})]})}a.i(65079);var v=a.i(21080);a.i(20786);var w=a.i(22550);let x=(0,g.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"}]]),y=(0,g.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 z=a.i(18948),A=a.i(2103);function B(){let{enabled:a,toggle:b}=(0,A.useSoundEnabled)();return(0,c.jsxs)(z.Button,{variant:"ghost",size:"icon",onClick:b,"aria-label":a?"Mute sounds":"Unmute sounds",children:[a?(0,c.jsx)(x,{className:"h-5 w-5"}):(0,c.jsx)(y,{className:"h-5 w-5"}),(0,c.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var C=a.i(84871),D=a.i(52313),E=a.i(46847),F=a.i(19884);let G={[E.NotificationSeverity.Success]:"success",[E.NotificationSeverity.Error]:"error",[E.NotificationSeverity.Warning]:"warning",[E.NotificationSeverity.Info]:"info"},H={[E.NotificationSeverity.Success]:"notification-success",[E.NotificationSeverity.Error]:"notification-error",[E.NotificationSeverity.Warning]:"notification-warning",[E.NotificationSeverity.Info]:"notification-info"};function I({children:a}){!function(){let{events:a}=(0,C.useAgentEventsContext)(),b=(0,F.useSoundAction)("notification-success"),c=(0,F.useSoundAction)("notification-error"),e=(0,F.useSoundAction)("notification-warning"),f=(0,F.useSoundAction)("notification-info"),g=(0,d.useMemo)(()=>({"notification-success":b,"notification-error":c,"notification-warning":e,"notification-info":f}),[b,c,e,f]),[h,i]=(0,d.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),j=(0,d.useRef)(0);(0,d.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!==E.NotificationSeverity.Error&&c.severity!==E.NotificationSeverity.Warning&&c.severity!==E.NotificationSeverity.Success)continue;!function(a){let b=G[a.severity]??"info",c=a.eventType===E.NotificationEventType.WaitingApproval;D.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=H[c.severity];g[a]?.play()}},[a,g]),(0,d.useCallback)(async()=>{void 0===globalThis.Notification||i(await globalThis.Notification.requestPermission())},[])}();let b=(0,d.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]),f=(0,d.useCallback)(a=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:a}}))},[]);return(0,c.jsxs)(e.SidebarProvider,{children:[(0,c.jsx)(u,{features:[],onNewFeature:b}),(0,c.jsx)(e.SidebarInset,{children:(0,c.jsxs)("div",{className:"relative h-full",children:[(0,c.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,c.jsx)(v.AddRepositoryButton,{onSelect:f}),(0,c.jsx)(B,{}),(0,c.jsx)(w.ThemeToggle,{})]}),(0,c.jsx)("main",{className:"h-full",children:a})]})})]})}function J({children:a}){return(0,c.jsx)(C.AgentEventsProvider,{children:(0,c.jsx)(I,{children:a})})}a.s(["AppShell",()=>J],66560)},58313,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
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__87fda958._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/wrench.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/handle-isr-error.tsx","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/builtin/global-error.tsx","../../../../../../../src/presentation/web/components/ui/input.tsx","../../../../../../../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","../../../../../../../src/presentation/web/components/ui/sheet.tsx","../../../../../../../src/presentation/web/hooks/use-deferred-mount.ts","../../../../../../../src/presentation/web/lib/feature-flags.ts","../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx","../../../../../../../src/presentation/web/components/common/sound-toggle/sound-toggle.tsx","../../../../../../../src/presentation/web/hooks/use-notifications.ts","../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/house.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-off.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-2.ts","../../../../../../../src/presentation/web/components/ui/sonner.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/loader-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 LoaderCircle = createLucideIcon('loader-circle', __iconNode);\n\nexport default LoaderCircle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z',\n key: '1ngwbx',\n },\n ],\n];\n\n/**\n * @component @name Wrench\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/wrench\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 Wrench = createLucideIcon('wrench', __iconNode);\n\nexport default Wrench;\n","const workAsyncStorage =\n typeof window === 'undefined'\n ? (\n require('../../server/app-render/work-async-storage.external') as typeof import('../../server/app-render/work-async-storage.external')\n ).workAsyncStorage\n : undefined\n\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nexport function HandleISRError({ error }: { error: any }) {\n if (workAsyncStorage) {\n const store = workAsyncStorage.getStore()\n if (store?.isStaticGeneration) {\n if (error) {\n console.error(error)\n }\n throw error\n }\n }\n\n return null\n}\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","// 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","'use client';\n\nimport * as React from 'react';\nimport { XIcon } from 'lucide-react';\nimport { Dialog as SheetPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n showCloseButton?: boolean;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n ) : null}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","'use client';\n\nimport { useState, useEffect } from 'react';\n\n/**\n * Defers mount/unmount of content to allow opacity transitions.\n * When expanding: mounts immediately, then sets visible on next frame.\n * When collapsing: hides immediately, then unmounts after `ms` delay.\n */\nexport function useDeferredMount(isCollapsed: boolean, ms: number) {\n const [mounted, setMounted] = useState(!isCollapsed);\n const [visible, setVisible] = useState(!isCollapsed);\n\n useEffect(() => {\n if (!isCollapsed) {\n setMounted(true);\n // delay visibility by one frame so the element mounts at opacity-0 first\n const raf = requestAnimationFrame(() => setVisible(true));\n return () => cancelAnimationFrame(raf);\n }\n setVisible(false);\n const t = window.setTimeout(() => setMounted(false), ms);\n return () => window.clearTimeout(t);\n }, [isCollapsed, ms]);\n\n return { mounted, visible };\n}\n","/**\n * Feature flags for the web UI.\n *\n * Toggle via environment variables (NEXT_PUBLIC_ prefix for client access).\n * All flags default to **off** unless explicitly set to \"true\" or \"1\".\n */\n\nfunction isEnabled(envVar: string | undefined): boolean {\n return envVar === 'true' || envVar === '1';\n}\n\nexport const featureFlags = {\n skills: isEnabled(process.env.NEXT_PUBLIC_FLAG_SKILLS),\n} as const;\n","'use client';\n\nimport { usePathname } from 'next/navigation';\nimport { Home, Wrench, Puzzle, Plus } from 'lucide-react';\nimport {\n Sidebar,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarRail,\n useSidebar,\n} from '@/components/ui/sidebar';\nimport { ScrollArea } from '@/components/ui/scroll-area';\nimport { SidebarNavItem } from '@/components/common/sidebar-nav-item';\nimport { SidebarCollapseToggle } from '@/components/common/sidebar-collapse-toggle';\nimport { ShepLogo } from '@/components/common/shep-logo';\nimport { FeatureListItem } from '@/components/common/feature-list-item';\nimport { FeatureStatusGroup } from '@/components/common/feature-status-group';\nimport { SidebarSectionHeader } from '@/components/common/sidebar-section-header';\nimport { featureStatusConfig, featureStatusOrder } from '@/components/common/feature-status-config';\nimport type { FeatureStatus } from '@/components/common/feature-status-config';\nimport { useDeferredMount } from '@/hooks/use-deferred-mount';\nimport { featureFlags } from '@/lib/feature-flags';\n\ninterface FeatureItem {\n name: string;\n status: FeatureStatus;\n startedAt?: number;\n duration?: string;\n}\n\nexport interface AppSidebarProps {\n features: FeatureItem[];\n onNewFeature?: () => void;\n onFeatureClick?: (name: string) => void;\n onFeaturesFolderClick?: () => void;\n onFeaturesMenuClick?: () => void;\n}\n\nexport function AppSidebar({\n features,\n onNewFeature,\n onFeatureClick,\n onFeaturesFolderClick,\n onFeaturesMenuClick,\n}: AppSidebarProps) {\n const pathname = usePathname();\n const { state } = useSidebar();\n const collapsed = state === 'collapsed';\n const { mounted: showExpanded, visible: expandedVisible } = useDeferredMount(collapsed, 200);\n\n const grouped = featureStatusOrder.map((key) => {\n const { label } = featureStatusConfig[key];\n const items = features.filter((f) => f.status === key);\n return { key, label, items };\n });\n\n return (\n <Sidebar data-testid=\"app-sidebar\" collapsible=\"icon\">\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <div className=\"flex h-8 items-center group-data-[collapsible=icon]:justify-center\">\n {showExpanded ? (\n <div\n className={[\n 'flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2',\n 'transition-opacity duration-200 ease-out',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n aria-hidden={!expandedVisible}\n >\n <ShepLogo className=\"shrink-0\" size={20} />\n <span className=\"truncate text-sm font-semibold tracking-tight\">Shep</span>\n </div>\n ) : null}\n <SidebarCollapseToggle className=\"shrink-0 transition-all duration-200\" />\n </div>\n </SidebarMenuItem>\n\n <SidebarNavItem icon={Home} label=\"Control Center\" href=\"/\" active={pathname === '/'} />\n <SidebarNavItem\n icon={Wrench}\n label=\"Tools\"\n href=\"/tools\"\n active={pathname === '/tools'}\n />\n {featureFlags.skills ? (\n <SidebarNavItem\n icon={Puzzle}\n label=\"Skills\"\n href=\"/skills\"\n active={pathname === '/skills'}\n />\n ) : null}\n </SidebarMenu>\n </SidebarHeader>\n\n <SidebarContent>\n {showExpanded ? (\n <div\n className={[\n 'min-w-0 overflow-hidden transition-opacity duration-200 ease-out',\n '[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n >\n <SidebarSectionHeader\n label=\"Features\"\n onFolderClick={onFeaturesFolderClick}\n onMenuClick={onFeaturesMenuClick}\n />\n <ScrollArea>\n {grouped.map(({ key, label, items }) =>\n items.length > 0 ? (\n <FeatureStatusGroup key={key} label={label} count={items.length}>\n {items.map((feature) => (\n <FeatureListItem\n key={feature.name}\n name={feature.name}\n status={feature.status}\n startedAt={feature.startedAt}\n duration={feature.duration}\n onClick={onFeatureClick ? () => onFeatureClick(feature.name) : undefined}\n />\n ))}\n </FeatureStatusGroup>\n ) : null\n )}\n </ScrollArea>\n </div>\n ) : null}\n </SidebarContent>\n\n <SidebarFooter>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton onClick={onNewFeature} tooltip=\"New feature\">\n <Plus />\n <span>New feature</span>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n","'use client';\n\nimport { Volume2, VolumeOff } from 'lucide-react';\nimport { Button } from '@/components/ui/button';\nimport { useSoundEnabled } from '@/hooks/use-sound-enabled';\n\nexport function SoundToggle() {\n const { enabled, toggle } = useSoundEnabled();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={toggle}\n aria-label={enabled ? 'Mute sounds' : 'Unmute sounds'}\n >\n {enabled ? <Volume2 className=\"h-5 w-5\" /> : <VolumeOff className=\"h-5 w-5\" />}\n <span className=\"sr-only\">Toggle sound</span>\n </Button>\n );\n}\n","'use client';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { toast } from 'sonner';\nimport type { NotificationEvent } from '@shepai/core/domain/generated/output';\nimport { NotificationEventType, NotificationSeverity } from '@shepai/core/domain/generated/output';\nimport { useAgentEventsContext } from './agent-events-provider';\nimport { useSoundAction } from './use-sound-action';\nimport type { SoundAction } from './use-sound-action';\n\nexport interface UseNotificationsResult {\n requestBrowserPermission: () => Promise<void>;\n browserPermissionState: NotificationPermission;\n}\n\nconst SEVERITY_TO_TOAST: Record<NotificationSeverity, 'success' | 'error' | 'warning' | 'info'> = {\n [NotificationSeverity.Success]: 'success',\n [NotificationSeverity.Error]: 'error',\n [NotificationSeverity.Warning]: 'warning',\n [NotificationSeverity.Info]: 'info',\n};\n\nfunction dispatchToast(event: NotificationEvent): void {\n const method = SEVERITY_TO_TOAST[event.severity] ?? 'info';\n const isActionable = event.eventType === NotificationEventType.WaitingApproval;\n toast[method](event.featureName, {\n description: event.message,\n ...(isActionable && {\n action: {\n label: 'Review',\n onClick: () => {\n window.dispatchEvent(\n new CustomEvent('shep:select-feature', { detail: { featureId: event.featureId } })\n );\n },\n },\n }),\n });\n}\n\nfunction dispatchBrowserNotification(event: NotificationEvent): void {\n if (globalThis.Notification?.permission !== 'granted') {\n return;\n }\n new Notification(`Shep: ${event.featureName}`, {\n body: event.message,\n icon: '/favicon-light.svg',\n });\n}\n\nconst SEVERITY_TO_ACTION: Record<NotificationSeverity, SoundAction> = {\n [NotificationSeverity.Success]: 'notification-success',\n [NotificationSeverity.Error]: 'notification-error',\n [NotificationSeverity.Warning]: 'notification-warning',\n [NotificationSeverity.Info]: 'notification-info',\n};\n\nexport function useNotifications(): UseNotificationsResult {\n const { events } = useAgentEventsContext();\n\n const successSound = useSoundAction('notification-success');\n const errorSound = useSoundAction('notification-error');\n const warningSound = useSoundAction('notification-warning');\n const infoSound = useSoundAction('notification-info');\n\n const soundsByAction = useMemo<Record<string, { play: () => void }>>(\n () => ({\n 'notification-success': successSound,\n 'notification-error': errorSound,\n 'notification-warning': warningSound,\n 'notification-info': infoSound,\n }),\n [successSound, errorSound, warningSound, infoSound]\n );\n\n const [browserPermissionState, setBrowserPermissionState] = useState<NotificationPermission>(\n () => {\n if (typeof globalThis.Notification === 'undefined') return 'default';\n return globalThis.Notification.permission;\n }\n );\n\n // Track how many events from the array we've already processed.\n // Using the array index (instead of lastEvent) prevents React batching\n // from silently dropping events when multiple SSE messages arrive together.\n const processedCountRef = useRef(0);\n\n useEffect(() => {\n if (events.length <= processedCountRef.current) return;\n\n const newEvents = events.slice(processedCountRef.current);\n processedCountRef.current = events.length;\n\n for (const event of newEvents) {\n // Only notify for actionable events and completion celebrations\n if (\n event.severity !== NotificationSeverity.Error &&\n event.severity !== NotificationSeverity.Warning &&\n event.severity !== NotificationSeverity.Success\n ) {\n continue;\n }\n\n dispatchToast(event);\n dispatchBrowserNotification(event);\n\n const actionName = SEVERITY_TO_ACTION[event.severity];\n soundsByAction[actionName]?.play();\n }\n }, [events, soundsByAction]);\n\n const requestBrowserPermission = useCallback(async () => {\n if (typeof globalThis.Notification === 'undefined') return;\n const result = await globalThis.Notification.requestPermission();\n setBrowserPermissionState(result);\n }, []);\n\n return {\n requestBrowserPermission,\n browserPermissionState,\n };\n}\n","'use client';\n\nimport { useCallback, type ReactNode } from 'react';\nimport { SidebarProvider, SidebarInset } from '@/components/ui/sidebar';\nimport { AppSidebar } from '@/components/layouts/app-sidebar';\nimport { AddRepositoryButton } from '@/components/common/add-repository-node';\nimport { ThemeToggle } from '@/components/common/theme-toggle';\nimport { SoundToggle } from '@/components/common/sound-toggle';\nimport { AgentEventsProvider } from '@/hooks/agent-events-provider';\nimport { useNotifications } from '@/hooks/use-notifications';\n\ninterface AppShellProps {\n children: ReactNode;\n}\n\n/** Inner shell that consumes the agent-events context for notifications. */\nfunction AppShellInner({ children }: AppShellProps) {\n // Subscribe to agent lifecycle events and dispatch toast/browser notifications\n useNotifications();\n\n const handleNewFeature = useCallback(() => {\n window.dispatchEvent(new CustomEvent('shep:open-create-drawer'));\n }, []);\n\n const handleRepositorySelect = useCallback((path: string) => {\n window.dispatchEvent(new CustomEvent('shep:add-repository', { detail: { path } }));\n }, []);\n\n return (\n <SidebarProvider>\n <AppSidebar features={[]} onNewFeature={handleNewFeature} />\n <SidebarInset>\n <div className=\"relative h-full\">\n <div className=\"absolute top-3 right-3 z-50 flex gap-1\">\n <AddRepositoryButton onSelect={handleRepositorySelect} />\n <SoundToggle />\n <ThemeToggle />\n </div>\n <main className=\"h-full\">{children}</main>\n </div>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n\nexport function AppShell({ children }: AppShellProps) {\n return (\n <AgentEventsProvider>\n <AppShellInner>{children}</AppShellInner>\n </AgentEventsProvider>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8', key: '5wwlr5' }],\n [\n 'path',\n {\n 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',\n key: 'r6nss1',\n },\n ],\n];\n\n/**\n * @component @name House\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/house\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 House = createLucideIcon('house', __iconNode);\n\nexport default House;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M16 9a5 5 0 0 1 .95 2.293', key: '1fgyg8' }],\n ['path', { d: 'M19.364 5.636a9 9 0 0 1 1.889 9.96', key: 'l3zxae' }],\n ['path', { d: 'm2 2 20 20', key: '1ooewy' }],\n [\n 'path',\n {\n 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',\n key: '1gbwow',\n },\n ],\n ['path', { d: 'M9.828 4.172A.686.686 0 0 1 11 4.657v.686', key: 's2je0y' }],\n];\n\n/**\n * @component @name VolumeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/volume-off\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 VolumeOff = createLucideIcon('volume-off', __iconNode);\n\nexport default VolumeOff;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n 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',\n key: 'uqj9uw',\n },\n ],\n ['path', { d: 'M16 9a5 5 0 0 1 0 6', key: '1q6k2b' }],\n ['path', { d: 'M19.364 18.364a9 9 0 0 0 0-12.728', key: 'ijwkga' }],\n];\n\n/**\n * @component @name Volume2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/volume-2\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 Volume2 = createLucideIcon('volume-2', __iconNode);\n\nexport default Volume2;\n","'use client';\n\nimport { Toaster as Sonner } from 'sonner';\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n return (\n <Sonner\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactDOM","AppRouterContext","ReactServerDOMTurbopackClient","HooksClientContext","ServerInsertedHtml","HandleISRError","workAsyncStorage","window","undefined","error","store","getStore","isStaticGeneration","console","styles","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","div","style","h2","location","hostname","p"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,13,22,23,24]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},57764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},56926,58428,a=>{"use strict";let b=(0,a.i(25700).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["default",()=>b],58428),a.s(["CircleX",()=>b],56926)},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)},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])},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)},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)},72016,a=>{"use strict";var b=a.i(51969);a.s(["Check",()=>b.default])},2807,a=>{"use strict";var b=a.i(89868);a.s(["X",()=>b.default])},53170,a=>{"use strict";let b=(0,a.i(25700).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);a.s(["GitBranch",()=>b],53170)},58339,a=>{"use strict";var b=a.i(10973),c=a.i(42261),d=a.i(85536);let e=(0,c.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function f({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}a.s(["Badge",()=>f])},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)},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)},55135,75550,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({title:a,description:d,children:e,className:f}){return(0,b.jsxs)("header",{className:(0,c.cn)("flex items-center justify-between gap-4",f),children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:a}),d?(0,b.jsx)("p",{className:"text-muted-foreground",children:d}):null]}),e?(0,b.jsx)("div",{"data-slot":"actions",children:e}):null]})}a.s(["PageHeader",()=>d],75550),a.s([],55135)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__ee7cffe1._.js.map
|