@shepai/cli 1.61.0 → 1.63.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/infrastructure/services/pr-sync/pr-sync-watcher.service.js +1 -1
- 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 +11 -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 +145 -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/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/426292e5fb0b2a61.js +1 -0
- 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/be784143669bb992.js +1 -0
- package/web/.next/static/chunks/ea57f9afe9055c7a.js +10 -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/2960a70537e4fd12.js +0 -10
- package/web/.next/static/chunks/45f510f84c7c417d.css +0 -2
- package/web/.next/static/chunks/79718b1f5713fdc0.js +0 -1
- /package/web/.next/static/{_DBWexyU1QkK02q15qod2 → 23Y-ea-5g4_fUHZyGpCb0}/_buildManifest.js +0 -0
- /package/web/.next/static/{_DBWexyU1QkK02q15qod2 → 23Y-ea-5g4_fUHZyGpCb0}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{_DBWexyU1QkK02q15qod2 → 23Y-ea-5g4_fUHZyGpCb0}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[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)},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)},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])},84117,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(85536);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("bg-card text-card-foreground rounded-xl border shadow",a),...c}));e.displayName="Card";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex flex-col space-y-1.5 p-6",a),...c}));f.displayName="CardHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("leading-none font-semibold tracking-tight",a),...c}));g.displayName="CardTitle";let h=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("text-muted-foreground text-sm",a),...c}));h.displayName="CardDescription";let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("p-6 pt-0",a),...c}));i.displayName="CardContent",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex items-center p-6 pt-0",a),...c})).displayName="CardFooter",a.s(["Card",()=>e,"CardContent",()=>i,"CardDescription",()=>h,"CardHeader",()=>f,"CardTitle",()=>g])},228,a=>{"use strict";var b=a.i(10973),c=a.i(44338),d=a.i(58339),e=a.i(59706),f=a.i(13126),g=a.i(3195);function h({skill:a,onClose:h}){return(0,b.jsx)(c.Sheet,{open:null!==a,onOpenChange:a=>{a||h()},children:(0,b.jsx)(c.SheetContent,{side:"right",className:"w-full sm:max-w-lg",children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(c.SheetHeader,{children:[(0,b.jsx)(c.SheetTitle,{children:a.displayName}),(0,b.jsx)(c.SheetDescription,{children:a.name})]}),(0,b.jsxs)(e.ScrollArea,{className:"flex-1 px-4 pb-4",children:[(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:a.description}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(d.Badge,{variant:"project"===a.source?"secondary":"outline",children:"project"===a.source?"Project":"Global"}),(0,b.jsx)(d.Badge,{variant:"outline",children:a.category}),a.context?(0,b.jsx)(d.Badge,{variant:"outline",children:a.context}):null]}),a.allowedTools?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,b.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:a.allowedTools})]})]}):null,a.resources.length>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,b.jsx)("ul",{className:"mt-2 space-y-1.5",children:a.resources.map(a=>(0,b.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,b.jsx)(g.FolderOpen,{className:"size-3.5 shrink-0"}),(0,b.jsxs)("span",{children:[a.name,"/ — ",a.fileCount," ",1===a.fileCount?"file":"files"]})]},a.name))})]})]}):null,a.body?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:a.body})]}):null]})]}):null})})}a.s(["SkillDetailDrawer",()=>h])},74468,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,a.i(25700).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var e=a.i(67424),f=a.i(90920),g=a.i(18948);a.i(55135);var h=a.i(75550);a.i(38702);var i=a.i(16223),j=a.i(84117),k=a.i(58339),l=a.i(3195);function m({skill:a,onSelect:c}){return(0,b.jsxs)(j.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>c(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(a))},"data-testid":`skill-card-${a.name}`,children:[(0,b.jsxs)(j.CardHeader,{className:"pb-3",children:[(0,b.jsx)(j.CardTitle,{className:"text-base",children:a.displayName}),(0,b.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:a.name})]}),(0,b.jsxs)(j.CardContent,{className:"space-y-3",children:[(0,b.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:a.description}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(k.Badge,{variant:"project"===a.source?"secondary":"outline",children:"project"===a.source?"Project":"Global"}),a.context?(0,b.jsx)(k.Badge,{variant:"outline",children:a.context}):null,a.allowedTools?(0,b.jsx)(k.Badge,{variant:"outline",children:"Tools"}):null,a.resources.length>0?(0,b.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,b.jsx)(l.FolderOpen,{className:"size-3"}),a.resources.length," ",1===a.resources.length?"resource":"resources"]}):null]})]})]})}let n=["Workflow","Code Generation","Analysis","Reference"];function o({skills:a,onSkillSelect:c}){let d=function(a){let b=new Map;for(let c of a){let a=b.get(c.category)??[];a.push(c),b.set(c.category,a)}return b}(a);return(0,b.jsx)("div",{className:"space-y-8",children:n.map(a=>{let e=d.get(a);return e&&0!==e.length?(0,b.jsxs)("section",{children:[(0,b.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[a," ",(0,b.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",e.length,")"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:e.map(a=>(0,b.jsx)(m,{skill:a,onSelect:c},a.name))})]},a):null})})}let p=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function q({activeCategory:a,onCategoryChange:c,counts:d}){return(0,b.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:p.map(({label:e,value:f})=>(0,b.jsxs)(g.Button,{variant:a===f?"default":"outline",size:"sm",onClick:()=>c(f),children:[e,d&&f?(0,b.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",d[f],")"]}):null]},e))})}var r=a.i(228);function s({skills:a}){let[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(null),[n,p]=(0,c.useState)(null),s=(0,c.useMemo)(()=>(function(a){let b={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let c of a)b[c.category]++;return b})(a),[a]),t=(0,c.useMemo)(()=>{let b=j.toLowerCase();return a.filter(a=>{if(l&&a.category!==l)return!1;if(b){let c=a.name.toLowerCase().includes(b),d=a.description.toLowerCase().includes(b);if(!c&&!d)return!1}return!0})},[a,j,l]);return 0===a.length?(0,b.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,b.jsx)(h.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,b.jsx)(i.EmptyState,{icon:(0,b.jsx)(e.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,b.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,b.jsx)(h.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(d,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,b.jsx)(f.Input,{placeholder:"Search skills...",value:j,onChange:a=>k(a.target.value),className:"pl-9"})]}),(0,b.jsx)(q,{activeCategory:l,onCategoryChange:m,counts:s}),t.length>0?(0,b.jsx)(o,{skills:t,onSkillSelect:p}):(0,b.jsx)(i.EmptyState,{icon:(0,b.jsx)(d,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>{k(""),m(null)},children:"Clear filters"})}),(0,b.jsx)(r.SkillDetailDrawer,{skill:n,onClose:()=>p(null)})]})}a.s(["SkillsPageClient",()=>s],74468)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_e7a4b0e4._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/presentation/web/components/common/page-header/page-header.tsx","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-open.ts","../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../src/presentation/web/components/ui/card.tsx","../../../../../../../src/presentation/web/components/features/skills/skill-detail-drawer.tsx","../../../../../../../src/presentation/web/components/features/skills/skill-card.tsx","../../../../../../../src/presentation/web/components/features/skills/skills-page-client.tsx","../../../../../../../src/presentation/web/components/features/skills/skill-list.tsx","../../../../../../../src/presentation/web/components/features/skills/category-filter.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/search.ts"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport interface PageHeaderProps {\n title: string;\n description?: string;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function PageHeader({ title, description, children, className }: PageHeaderProps) {\n return (\n <header className={cn('flex items-center justify-between gap-4', className)}>\n <div className=\"space-y-1\">\n <h1 className=\"text-2xl font-bold tracking-tight\">{title}</h1>\n {description ? <p className=\"text-muted-foreground\">{description}</p> : null}\n </div>\n {children ? <div data-slot=\"actions\">{children}</div> : null}\n </header>\n );\n}\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n key: 'usdka0',\n },\n ],\n];\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderOpen = createLucideIcon('folder-open', __iconNode);\n\nexport default FolderOpen;\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n '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',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('bg-card text-card-foreground rounded-xl border shadow', className)}\n {...props}\n />\n )\n);\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />\n )\n);\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('leading-none font-semibold tracking-tight', className)}\n {...props}\n />\n )\n);\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n )\n);\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n )\n);\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-6 pt-0', className)} {...props} />\n )\n);\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };\n","'use client';\n\nimport {\n Sheet,\n SheetContent,\n SheetHeader,\n SheetTitle,\n SheetDescription,\n} from '@/components/ui/sheet';\nimport { Badge } from '@/components/ui/badge';\nimport { ScrollArea } from '@/components/ui/scroll-area';\nimport { Separator } from '@/components/ui/separator';\nimport { FolderOpen } from 'lucide-react';\nimport type { SkillData } from '@/lib/skills';\n\nexport interface SkillDetailDrawerProps {\n skill: SkillData | null;\n onClose: () => void;\n}\n\nexport function SkillDetailDrawer({ skill, onClose }: SkillDetailDrawerProps) {\n return (\n <Sheet\n open={skill !== null}\n onOpenChange={(open) => {\n if (!open) onClose();\n }}\n >\n <SheetContent side=\"right\" className=\"w-full sm:max-w-lg\">\n {skill ? (\n <>\n <SheetHeader>\n <SheetTitle>{skill.displayName}</SheetTitle>\n <SheetDescription>{skill.name}</SheetDescription>\n </SheetHeader>\n\n <ScrollArea className=\"flex-1 px-4 pb-4\">\n {/* Description */}\n <p className=\"text-muted-foreground text-sm\">{skill.description}</p>\n\n {/* Badges */}\n <div className=\"mt-4 flex flex-wrap items-center gap-1.5\">\n <Badge variant={skill.source === 'project' ? 'secondary' : 'outline'}>\n {skill.source === 'project' ? 'Project' : 'Global'}\n </Badge>\n <Badge variant=\"outline\">{skill.category}</Badge>\n {skill.context ? <Badge variant=\"outline\">{skill.context}</Badge> : null}\n </div>\n\n {/* Allowed Tools */}\n {skill.allowedTools ? (\n <>\n <Separator className=\"my-4\" />\n <div>\n <h3 className=\"text-sm font-semibold\">Allowed Tools</h3>\n <p className=\"text-muted-foreground mt-1 text-sm\">{skill.allowedTools}</p>\n </div>\n </>\n ) : null}\n\n {/* Resources */}\n {skill.resources.length > 0 ? (\n <>\n <Separator className=\"my-4\" />\n <div>\n <h3 className=\"text-sm font-semibold\">Resources</h3>\n <ul className=\"mt-2 space-y-1.5\">\n {skill.resources.map((resource) => (\n <li\n key={resource.name}\n className=\"text-muted-foreground flex items-center gap-2 text-sm\"\n >\n <FolderOpen className=\"size-3.5 shrink-0\" />\n <span>\n {resource.name}/ — {resource.fileCount}{' '}\n {resource.fileCount === 1 ? 'file' : 'files'}\n </span>\n </li>\n ))}\n </ul>\n </div>\n </>\n ) : null}\n\n {/* Body */}\n {skill.body ? (\n <>\n <Separator className=\"my-4\" />\n <pre className=\"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap\">\n {skill.body}\n </pre>\n </>\n ) : null}\n </ScrollArea>\n </>\n ) : null}\n </SheetContent>\n </Sheet>\n );\n}\n","import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';\nimport { Badge } from '@/components/ui/badge';\nimport type { SkillData } from '@/lib/skills';\nimport { FolderOpen } from 'lucide-react';\n\nexport interface SkillCardProps {\n skill: SkillData;\n onSelect: (skill: SkillData) => void;\n}\n\nexport function SkillCard({ skill, onSelect }: SkillCardProps) {\n return (\n <Card\n className=\"hover:border-primary/50 cursor-pointer transition-colors\"\n role=\"button\"\n tabIndex={0}\n onClick={() => onSelect(skill)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onSelect(skill);\n }\n }}\n data-testid={`skill-card-${skill.name}`}\n >\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"text-base\">{skill.displayName}</CardTitle>\n <p className=\"text-muted-foreground font-mono text-xs\">{skill.name}</p>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <p className=\"text-muted-foreground line-clamp-2 text-sm\">{skill.description}</p>\n <div className=\"flex flex-wrap items-center gap-1.5\">\n <Badge variant={skill.source === 'project' ? 'secondary' : 'outline'}>\n {skill.source === 'project' ? 'Project' : 'Global'}\n </Badge>\n {skill.context ? <Badge variant=\"outline\">{skill.context}</Badge> : null}\n {skill.allowedTools ? <Badge variant=\"outline\">Tools</Badge> : null}\n {skill.resources.length > 0 ? (\n <span className=\"text-muted-foreground inline-flex items-center gap-1 text-xs\">\n <FolderOpen className=\"size-3\" />\n {skill.resources.length} {skill.resources.length === 1 ? 'resource' : 'resources'}\n </span>\n ) : null}\n </div>\n </CardContent>\n </Card>\n );\n}\n","'use client';\n\nimport { useState, useMemo } from 'react';\nimport { Search, Puzzle } from 'lucide-react';\nimport { Input } from '@/components/ui/input';\nimport { Button } from '@/components/ui/button';\nimport { PageHeader } from '@/components/common/page-header';\nimport { EmptyState } from '@/components/common/empty-state';\nimport { SkillList } from './skill-list';\nimport { CategoryFilter } from './category-filter';\nimport { SkillDetailDrawer } from './skill-detail-drawer';\nimport type { SkillCategory, SkillData } from '@/lib/skills';\n\nexport interface SkillsPageClientProps {\n skills: SkillData[];\n}\n\nfunction computeCategoryCounts(skills: SkillData[]): Record<SkillCategory, number> {\n const counts: Record<SkillCategory, number> = {\n Workflow: 0,\n 'Code Generation': 0,\n Analysis: 0,\n Reference: 0,\n };\n for (const skill of skills) {\n counts[skill.category]++;\n }\n return counts;\n}\n\nexport function SkillsPageClient({ skills }: SkillsPageClientProps) {\n const [searchQuery, setSearchQuery] = useState('');\n const [activeCategory, setActiveCategory] = useState<SkillCategory | null>(null);\n const [selectedSkill, setSelectedSkill] = useState<SkillData | null>(null);\n\n const categoryCounts = useMemo(() => computeCategoryCounts(skills), [skills]);\n\n const filteredSkills = useMemo(() => {\n const query = searchQuery.toLowerCase();\n return skills.filter((skill) => {\n if (activeCategory && skill.category !== activeCategory) return false;\n if (query) {\n const matchesName = skill.name.toLowerCase().includes(query);\n const matchesDescription = skill.description.toLowerCase().includes(query);\n if (!matchesName && !matchesDescription) return false;\n }\n return true;\n });\n }, [skills, searchQuery, activeCategory]);\n\n const clearFilters = () => {\n setSearchQuery('');\n setActiveCategory(null);\n };\n\n // No skills installed at all\n if (skills.length === 0) {\n return (\n <div className=\"flex flex-col gap-6 p-6\">\n <PageHeader title=\"Skills\" description=\"Claude Code skills installed in this project\" />\n <EmptyState\n icon={<Puzzle className=\"size-10\" />}\n title=\"No skills found\"\n description=\"No Claude Code skills are installed. Add skills to .claude/skills/ to get started.\"\n />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-6 p-6\">\n <PageHeader title=\"Skills\" description=\"Claude Code skills installed in this project\" />\n\n {/* Search */}\n <div className=\"relative\">\n <Search className=\"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2\" />\n <Input\n placeholder=\"Search skills...\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"pl-9\"\n />\n </div>\n\n {/* Category Filter */}\n <CategoryFilter\n activeCategory={activeCategory}\n onCategoryChange={setActiveCategory}\n counts={categoryCounts}\n />\n\n {/* Skill List or Empty Filter State */}\n {filteredSkills.length > 0 ? (\n <SkillList skills={filteredSkills} onSkillSelect={setSelectedSkill} />\n ) : (\n <EmptyState\n icon={<Search className=\"size-10\" />}\n title=\"No matching skills\"\n description=\"No skills match your current search and filter criteria.\"\n action={\n <Button variant=\"outline\" onClick={clearFilters}>\n Clear filters\n </Button>\n }\n />\n )}\n\n {/* Skill Detail Drawer */}\n <SkillDetailDrawer skill={selectedSkill} onClose={() => setSelectedSkill(null)} />\n </div>\n );\n}\n","import { SkillCard } from './skill-card';\nimport type { SkillCategory, SkillData } from '@/lib/skills';\n\nconst CATEGORY_ORDER: SkillCategory[] = ['Workflow', 'Code Generation', 'Analysis', 'Reference'];\n\nexport interface SkillListProps {\n skills: SkillData[];\n onSkillSelect: (skill: SkillData) => void;\n}\n\nfunction groupByCategory(skills: SkillData[]): Map<SkillCategory, SkillData[]> {\n const groups = new Map<SkillCategory, SkillData[]>();\n for (const skill of skills) {\n const group = groups.get(skill.category) ?? [];\n group.push(skill);\n groups.set(skill.category, group);\n }\n return groups;\n}\n\nexport function SkillList({ skills, onSkillSelect }: SkillListProps) {\n const groups = groupByCategory(skills);\n\n return (\n <div className=\"space-y-8\">\n {CATEGORY_ORDER.map((category) => {\n const categorySkills = groups.get(category);\n if (!categorySkills || categorySkills.length === 0) return null;\n\n return (\n <section key={category}>\n <h2 className=\"mb-4 text-lg font-semibold\">\n {category}{' '}\n <span className=\"text-muted-foreground text-sm font-normal\">\n ({categorySkills.length})\n </span>\n </h2>\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {categorySkills.map((skill) => (\n <SkillCard key={skill.name} skill={skill} onSelect={onSkillSelect} />\n ))}\n </div>\n </section>\n );\n })}\n </div>\n );\n}\n","import { Button } from '@/components/ui/button';\nimport type { SkillCategory } from '@/lib/skills';\n\nconst CATEGORIES: { label: string; value: SkillCategory | null }[] = [\n { label: 'All', value: null },\n { label: 'Workflow', value: 'Workflow' },\n { label: 'Code Generation', value: 'Code Generation' },\n { label: 'Analysis', value: 'Analysis' },\n { label: 'Reference', value: 'Reference' },\n];\n\nexport interface CategoryFilterProps {\n activeCategory: SkillCategory | null;\n onCategoryChange: (category: SkillCategory | null) => void;\n counts?: Record<SkillCategory, number>;\n}\n\nexport function CategoryFilter({ activeCategory, onCategoryChange, counts }: CategoryFilterProps) {\n return (\n <div className=\"flex flex-wrap gap-2\" role=\"group\" aria-label=\"Filter by category\">\n {CATEGORIES.map(({ label, value }) => (\n <Button\n key={label}\n variant={activeCategory === value ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => onCategoryChange(value)}\n >\n {label}\n {counts && value ? (\n <span className=\"ml-1 text-xs opacity-70\">({counts[value]})</span>\n ) : null}\n </Button>\n ))}\n </div>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm21 21-4.34-4.34', key: '14j7rj' }],\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n];\n\n/**\n * @component @name Search\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/search\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 Search = createLucideIcon('search', __iconNode);\n\nexport default Search;\n"],"names":[],"mappings":"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","ignoreList":[2,10]}
|
|
@@ -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,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,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
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},59706,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(66873),e=a.i(14272),f=a.i(7420),g=a.i(6175),h=a.i(79406),i=a.i(48939),j=a.i(61476),k=a.i(59653),l="ScrollArea",[m,n]=(0,f.createContextScope)(l),[o,p]=m(l),q=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,type:h="hover",dir:j,scrollHideDelay:k=600,...l}=a,[m,n]=c.useState(null),[p,q]=c.useState(null),[r,s]=c.useState(null),[t,u]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(0),[z,A]=c.useState(0),[B,C]=c.useState(!1),[D,E]=c.useState(!1),F=(0,g.useComposedRefs)(e,a=>n(a)),G=(0,i.useDirection)(j);return(0,b.jsx)(o,{scope:f,type:h,dir:G,scrollHideDelay:k,scrollArea:m,viewport:p,onViewportChange:q,content:r,onContentChange:s,scrollbarX:t,onScrollbarXChange:u,scrollbarXEnabled:B,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:w,scrollbarYEnabled:D,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:A,children:(0,b.jsx)(d.Primitive.div,{dir:G,...l,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":z+"px",...a.style}})})});q.displayName=l;var r="ScrollAreaViewport",s=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,children:h,nonce:i,...j}=a,k=p(r,f),l=c.useRef(null),m=(0,g.useComposedRefs)(e,l,k.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,b.jsx)(d.Primitive.div,{"data-radix-scroll-area-viewport":"",...j,ref:m,style:{overflowX:k.scrollbarXEnabled?"scroll":"hidden",overflowY:k.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:k.onContentChange,style:{minWidth:"100%",display:"table"},children:h})})]})});s.displayName=r;var t="ScrollAreaScrollbar",u=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=p(t,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(v,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(w,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(x,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(y,{...f,ref:d}):null});u.displayName=t;var v=c.forwardRef((a,d)=>{let{forceMount:f,...g}=a,h=p(t,a.__scopeScrollArea),[i,j]=c.useState(!1);return c.useEffect(()=>{let a=h.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),j(!0)},d=()=>{b=window.setTimeout(()=>j(!1),h.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[h.scrollArea,h.scrollHideDelay]),(0,b.jsx)(e.Presence,{present:f||i,children:(0,b.jsx)(x,{"data-state":i?"visible":"hidden",...g,ref:d})})}),w=c.forwardRef((a,d)=>{var f;let{forceMount:g,...h}=a,i=p(t,a.__scopeScrollArea),j="horizontal"===a.orientation,l=Q(()=>n("SCROLL_END"),100),[m,n]=(f={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>f[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===m){let a=window.setTimeout(()=>n("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(a)}},[m,i.scrollHideDelay,n]),c.useEffect(()=>{let a=i.viewport,b=j?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(n("SCROLL"),l()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[i.viewport,j,n,l]),(0,b.jsx)(e.Presence,{present:g||"hidden"!==m,children:(0,b.jsx)(y,{"data-state":"hidden"===m?"hidden":"visible",...h,ref:d,onPointerEnter:(0,k.composeEventHandlers)(a.onPointerEnter,()=>n("POINTER_ENTER")),onPointerLeave:(0,k.composeEventHandlers)(a.onPointerLeave,()=>n("POINTER_LEAVE"))})})}),x=c.forwardRef((a,d)=>{let f=p(t,a.__scopeScrollArea),{forceMount:g,...h}=a,[i,j]=c.useState(!1),k="horizontal"===a.orientation,l=Q(()=>{if(f.viewport){let a=f.viewport.offsetWidth<f.viewport.scrollWidth,b=f.viewport.offsetHeight<f.viewport.scrollHeight;j(k?a:b)}},10);return R(f.viewport,l),R(f.content,l),(0,b.jsx)(e.Presence,{present:g||i,children:(0,b.jsx)(y,{"data-state":i?"visible":"hidden",...h,ref:d})})}),y=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=p(t,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=L(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=M(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return O([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(z,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=N(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(A,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=N(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),z=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=p(t,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarXChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(D,{"data-orientation":"horizontal",...h,ref:m,sizes:e,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":M(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:K(j.paddingLeft),paddingEnd:K(j.paddingRight)}})}})}),A=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=p(t,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarYChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(D,{"data-orientation":"vertical",...h,ref:m,sizes:e,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":M(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:K(j.paddingTop),paddingEnd:K(j.paddingBottom)}})}})}),[B,C]=m(t),D=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,sizes:i,hasThumb:j,onThumbChange:l,onThumbPointerUp:m,onThumbPointerDown:n,onThumbPositionChange:o,onDragScroll:q,onWheelScroll:r,onResize:s,...u}=a,v=p(t,f),[w,x]=c.useState(null),y=(0,g.useComposedRefs)(e,a=>x(a)),z=c.useRef(null),A=c.useRef(""),C=v.viewport,D=i.content-i.viewport,E=(0,h.useCallbackRef)(r),F=(0,h.useCallbackRef)(o),G=Q(s,10);function H(a){z.current&&q({x:a.clientX-z.current.left,y:a.clientY-z.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;w?.contains(b)&&E(a,D)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[C,w,D,E]),c.useEffect(F,[i,F]),R(w,G),R(v.content,G),(0,b.jsx)(B,{scope:f,scrollbar:w,hasThumb:j,onThumbChange:(0,h.useCallbackRef)(l),onThumbPointerUp:(0,h.useCallbackRef)(m),onThumbPositionChange:F,onThumbPointerDown:(0,h.useCallbackRef)(n),children:(0,b.jsx)(d.Primitive.div,{...u,ref:y,style:{position:"absolute",...u.style},onPointerDown:(0,k.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),z.current=w.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),H(a))}),onPointerMove:(0,k.composeEventHandlers)(a.onPointerMove,H),onPointerUp:(0,k.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=A.current,v.viewport&&(v.viewport.style.scrollBehavior=""),z.current=null})})})}),E="ScrollAreaThumb",F=c.forwardRef((a,c)=>{let{forceMount:d,...f}=a,g=C(E,a.__scopeScrollArea);return(0,b.jsx)(e.Presence,{present:d||g.hasThumb,children:(0,b.jsx)(G,{ref:c,...f})})}),G=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,style:h,...i}=a,j=p(E,f),l=C(E,f),{onThumbPositionChange:m}=l,n=(0,g.useComposedRefs)(e,a=>l.onThumbChange(a)),o=c.useRef(void 0),q=Q(()=>{o.current&&(o.current(),o.current=void 0)},100);return c.useEffect(()=>{let a=j.viewport;if(a){let b=()=>{q(),o.current||(o.current=P(a,m),m())};return m(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[j.viewport,q,m]),(0,b.jsx)(d.Primitive.div,{"data-state":l.hasThumb?"visible":"hidden",...i,ref:n,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...h},onPointerDownCapture:(0,k.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;l.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,k.composeEventHandlers)(a.onPointerUp,l.onThumbPointerUp)})});F.displayName=E;var H="ScrollAreaCorner",I=c.forwardRef((a,c)=>{let d=p(H,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(J,{...a,ref:c}):null});I.displayName=H;var J=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,...g}=a,h=p(H,f),[i,j]=c.useState(0),[k,l]=c.useState(0),m=!!(i&&k);return R(h.scrollbarX,()=>{let a=h.scrollbarX?.offsetHeight||0;h.onCornerHeightChange(a),l(a)}),R(h.scrollbarY,()=>{let a=h.scrollbarY?.offsetWidth||0;h.onCornerWidthChange(a),j(a)}),m?(0,b.jsx)(d.Primitive.div,{...g,ref:e,style:{width:i,height:k,position:"absolute",right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:0,...a.style}}):null});function K(a){return a?parseInt(a,10):0}function L(a,b){let c=a/b;return isNaN(c)?0:c}function M(a){let b=L(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function N(a,b,c="ltr"){let d=M(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return O([0,g],[0,f-d])(h)}function O(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var P=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function Q(a,b){let d=(0,h.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function R(a,b){let c=(0,h.useCallbackRef)(b);(0,j.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}a.s(["Corner",()=>I,"Root",()=>q,"ScrollArea",()=>q,"ScrollAreaCorner",()=>I,"ScrollAreaScrollbar",()=>u,"ScrollAreaThumb",()=>F,"ScrollAreaViewport",()=>s,"Scrollbar",()=>u,"Thumb",()=>F,"Viewport",()=>s,"createScrollAreaScope",()=>n],73942);var S=a.i(73942),S=S,T=a.i(85536);function U({className:a,children:c,...d}){return(0,b.jsxs)(S.Root,{"data-slot":"scroll-area",className:(0,T.cn)("relative",a),...d,children:[(0,b.jsx)(S.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:c}),(0,b.jsx)(V,{}),(0,b.jsx)(S.Corner,{})]})}function V({className:a,orientation:c="vertical",...d}){return(0,b.jsx)(S.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,T.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...d,children:(0,b.jsx)(S.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}a.s(["ScrollArea",()=>U],59706)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_9915d2a7._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[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)},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)},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])},84117,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(85536);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("bg-card text-card-foreground rounded-xl border shadow",a),...c}));e.displayName="Card";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex flex-col space-y-1.5 p-6",a),...c}));f.displayName="CardHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("leading-none font-semibold tracking-tight",a),...c}));g.displayName="CardTitle";let h=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("text-muted-foreground text-sm",a),...c}));h.displayName="CardDescription";let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("p-6 pt-0",a),...c}));i.displayName="CardContent",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex items-center p-6 pt-0",a),...c})).displayName="CardFooter",a.s(["Card",()=>e,"CardContent",()=>i,"CardDescription",()=>h,"CardHeader",()=>f,"CardTitle",()=>g])},228,a=>{"use strict";var b=a.i(10973),c=a.i(44338),d=a.i(58339),e=a.i(59706),f=a.i(13126),g=a.i(3195);function h({skill:a,onClose:h}){return(0,b.jsx)(c.Sheet,{open:null!==a,onOpenChange:a=>{a||h()},children:(0,b.jsx)(c.SheetContent,{side:"right",className:"w-full sm:max-w-lg",children:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(c.SheetHeader,{children:[(0,b.jsx)(c.SheetTitle,{children:a.displayName}),(0,b.jsx)(c.SheetDescription,{children:a.name})]}),(0,b.jsxs)(e.ScrollArea,{className:"flex-1 px-4 pb-4",children:[(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:a.description}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(d.Badge,{variant:"project"===a.source?"secondary":"outline",children:"project"===a.source?"Project":"Global"}),(0,b.jsx)(d.Badge,{variant:"outline",children:a.category}),a.context?(0,b.jsx)(d.Badge,{variant:"outline",children:a.context}):null]}),a.allowedTools?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,b.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:a.allowedTools})]})]}):null,a.resources.length>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,b.jsx)("ul",{className:"mt-2 space-y-1.5",children:a.resources.map(a=>(0,b.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,b.jsx)(g.FolderOpen,{className:"size-3.5 shrink-0"}),(0,b.jsxs)("span",{children:[a.name,"/ — ",a.fileCount," ",1===a.fileCount?"file":"files"]})]},a.name))})]})]}):null,a.body?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:a.body})]}):null]})]}):null})})}a.s(["SkillDetailDrawer",()=>h])},74468,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,a.i(25700).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var e=a.i(67424),f=a.i(90920),g=a.i(18948);a.i(55135);var h=a.i(75550);a.i(38702);var i=a.i(16223),j=a.i(84117),k=a.i(58339),l=a.i(3195);function m({skill:a,onSelect:c}){return(0,b.jsxs)(j.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>c(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(a))},"data-testid":`skill-card-${a.name}`,children:[(0,b.jsxs)(j.CardHeader,{className:"pb-3",children:[(0,b.jsx)(j.CardTitle,{className:"text-base",children:a.displayName}),(0,b.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:a.name})]}),(0,b.jsxs)(j.CardContent,{className:"space-y-3",children:[(0,b.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:a.description}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(k.Badge,{variant:"project"===a.source?"secondary":"outline",children:"project"===a.source?"Project":"Global"}),a.context?(0,b.jsx)(k.Badge,{variant:"outline",children:a.context}):null,a.allowedTools?(0,b.jsx)(k.Badge,{variant:"outline",children:"Tools"}):null,a.resources.length>0?(0,b.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,b.jsx)(l.FolderOpen,{className:"size-3"}),a.resources.length," ",1===a.resources.length?"resource":"resources"]}):null]})]})]})}let n=["Workflow","Code Generation","Analysis","Reference"];function o({skills:a,onSkillSelect:c}){let d=function(a){let b=new Map;for(let c of a){let a=b.get(c.category)??[];a.push(c),b.set(c.category,a)}return b}(a);return(0,b.jsx)("div",{className:"space-y-8",children:n.map(a=>{let e=d.get(a);return e&&0!==e.length?(0,b.jsxs)("section",{children:[(0,b.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[a," ",(0,b.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",e.length,")"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:e.map(a=>(0,b.jsx)(m,{skill:a,onSelect:c},a.name))})]},a):null})})}let p=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function q({activeCategory:a,onCategoryChange:c,counts:d}){return(0,b.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:p.map(({label:e,value:f})=>(0,b.jsxs)(g.Button,{variant:a===f?"default":"outline",size:"sm",onClick:()=>c(f),children:[e,d&&f?(0,b.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",d[f],")"]}):null]},e))})}var r=a.i(228);function s({skills:a}){let[j,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(null),[n,p]=(0,c.useState)(null),s=(0,c.useMemo)(()=>(function(a){let b={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let c of a)b[c.category]++;return b})(a),[a]),t=(0,c.useMemo)(()=>{let b=j.toLowerCase();return a.filter(a=>{if(l&&a.category!==l)return!1;if(b){let c=a.name.toLowerCase().includes(b),d=a.description.toLowerCase().includes(b);if(!c&&!d)return!1}return!0})},[a,j,l]);return 0===a.length?(0,b.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,b.jsx)(h.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,b.jsx)(i.EmptyState,{icon:(0,b.jsx)(e.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,b.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,b.jsx)(h.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(d,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,b.jsx)(f.Input,{placeholder:"Search skills...",value:j,onChange:a=>k(a.target.value),className:"pl-9"})]}),(0,b.jsx)(q,{activeCategory:l,onCategoryChange:m,counts:s}),t.length>0?(0,b.jsx)(o,{skills:t,onSkillSelect:p}):(0,b.jsx)(i.EmptyState,{icon:(0,b.jsx)(d,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>{k(""),m(null)},children:"Clear filters"})}),(0,b.jsx)(r.SkillDetailDrawer,{skill:n,onClose:()=>p(null)})]})}a.s(["SkillsPageClient",()=>s],74468)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_e7a4b0e4._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},81975,83428,e=>{"use strict";var t=e.i(3645);let r=(0,t.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"}]]);e.s(["Wrench",()=>r],81975);let o=(0,t.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>o],83428)},76314,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={assign:function(){return s},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return l}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});function i(e){let t={};for(let[r,o]of e.entries()){let e=t[r];void 0===e?t[r]=o:Array.isArray(e)?e.push(o):t[r]=[e,o]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,a(e));else t.set(r,a(o));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,o]of r.entries())e.append(t,o)}return e}},95889,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return s}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});let i=e.r(44066)._(e.r(76314)),a=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,o=e.protocol||"",n=e.pathname||"",l=e.hash||"",s=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(i.urlQueryToSearchParams(s)));let u=e.search||s&&`?${s}`||"";return o&&!o.endsWith(":")&&(o+=":"),e.slashes||(!o||a.test(o))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),u&&"?"!==u[0]&&(u="?"+u),n=n.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${o}${c}${n}${u}${l}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}},80764,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=e.r(79054);function n(e,t){let r=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=i(e,o)),t&&(n.current=i(t,o))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},58464,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return y},NormalizeError:function(){return b},PageNotFoundError:function(){return w},SP:function(){return v},ST:function(){return m},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return S}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...o)=>(r||(r=!0,t=e(...o)),t)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>l.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let o=await e.getInitialProps(t);if(r&&f(r))return o;if(!o)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${o}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return o}let v="u">typeof performance,m=v&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class b extends Error{}class w extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class y extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(e){return JSON.stringify({message:e.message,stack:e.stack})}},51380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let o=e.r(58464),n=e.r(53626);function i(e){if(!(0,o.isAbsoluteUrl)(e))return!0;try{let t=(0,o.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},38670,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},24035,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={default:function(){return g},useLinkStatus:function(){return w}};for(var n in o)Object.defineProperty(r,n,{enumerable:!0,get:o[n]});let i=e.r(44066),a=e.r(20314),l=i._(e.r(79054)),s=e.r(95889),c=e.r(18152),u=e.r(80764),d=e.r(58464),f=e.r(99267);e.r(24270);let p=e.r(59624),h=e.r(51380),v=e.r(95555);function m(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function g(t){var r;let o,n,i,[s,g]=(0,l.useOptimistic)(p.IDLE_LINK_STATUS),w=(0,l.useRef)(null),{href:y,as:x,children:S,prefetch:j=null,passHref:C,replace:E,shallow:P,scroll:T,onClick:N,onMouseEnter:R,onTouchStart:_,legacyBehavior:A=!1,onNavigate:k,ref:L,unstable_dynamicOnHover:O,...D}=t;o=S,A&&("string"==typeof o||"number"==typeof o)&&(o=(0,a.jsx)("a",{children:o}));let z=l.default.useContext(c.AppRouterContext),M=!1!==j,I=!1!==j?null===(r=j)||"auto"===r?v.FetchStrategy.PPR:v.FetchStrategy.Full:v.FetchStrategy.PPR,{href:U,as:H}=l.default.useMemo(()=>{let e=m(y);return{href:e,as:x?m(x):e}},[y,x]);if(A){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=l.default.Children.only(o)}let F=A?n&&"object"==typeof n&&n.ref:L,W=l.default.useCallback(e=>(null!==z&&(w.current=(0,p.mountLinkInstance)(e,U,z,I,M,g)),()=>{w.current&&((0,p.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,p.unmountPrefetchableInstance)(e)}),[M,U,z,I,g]),B={ref:(0,u.useMergedRef)(W,F),onClick(t){A||"function"!=typeof N||N(t),A&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!z||t.defaultPrevented||function(t,r,o,n,i,a,s){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(81574);l.default.startTransition(()=>{d(o||r,i?"replace":"push",a??!0,n.current)})}}(t,U,H,w,E,T,k)},onMouseEnter(e){A||"function"!=typeof R||R(e),A&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),z&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){A||"function"!=typeof _||_(e),A&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),z&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,d.isAbsoluteUrl)(H)?B.href=H:A&&!C&&("a"!==n.type||"href"in n.props)||(B.href=(0,f.addBasePath)(H)),i=A?l.default.cloneElement(n,B):(0,a.jsx)("a",{...D,...B,children:o}),(0,a.jsx)(b.Provider,{value:s,children:i})}e.r(38670);let b=(0,l.createContext)(p.IDLE_LINK_STATUS),w=()=>(0,l.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98127,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function o({className:e,type:o,...n}){return(0,t.jsx)("input",{type:o,"data-slot":"input",className:(0,r.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",e),...n})}e.s(["Input",()=>o])},25235,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(87620),n="horizontal",i=["horizontal","vertical"],a=r.forwardRef((e,r)=>{var a;let{decorative:l,orientation:s=n,...c}=e,u=(a=s,i.includes(a))?s:n;return(0,t.jsx)(o.Primitive.div,{"data-orientation":u,...l?{role:"none"}:{"aria-orientation":"vertical"===u?u:void 0,role:"separator"},...c,ref:r})});a.displayName="Separator",e.s(["Root",()=>a,"Separator",()=>a],47402);var l=e.i(47402),l=l,s=e.i(31777);function c({className:e,orientation:r="horizontal",decorative:o=!0,...n}){return(0,t.jsx)(l.Root,{"data-slot":"separator",decorative:o,orientation:r,className:(0,s.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",e),...n})}e.s(["Separator",()=>c],25235)},48249,e=>{"use strict";var t=e.i(90537);e.s(["XIcon",()=>t.default])},51240,e=>{"use strict";var t=e.i(20314),r=e.i(48249),o=e.i(90033),n=e.i(31777);function i({...e}){return(0,t.jsx)(o.Dialog.Root,{"data-slot":"sheet",...e})}function a({...e}){return(0,t.jsx)(o.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function l({className:e,...r}){return(0,t.jsx)(o.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,n.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",e),...r})}function s({className:e,children:i,side:s="right",showCloseButton:c=!0,...u}){return(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{}),(0,t.jsxs)(o.Dialog.Content,{"data-slot":"sheet-content",className:(0,n.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"===s&&"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"===s&&"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"===s&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===s&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",e),...u,children:[i,c?(0,t.jsxs)(o.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,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function c({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,n.cn)("flex flex-col gap-1.5 p-4",e),...r})}function u({className:e,...r}){return(0,t.jsx)(o.Dialog.Title,{"data-slot":"sheet-title",className:(0,n.cn)("text-foreground font-semibold",e),...r})}function d({className:e,...r}){return(0,t.jsx)(o.Dialog.Description,{"data-slot":"sheet-description",className:(0,n.cn)("text-muted-foreground text-sm",e),...r})}e.s(["Sheet",()=>i,"SheetContent",()=>s,"SheetDescription",()=>d,"SheetHeader",()=>c,"SheetTitle",()=>u])},12103,e=>{"use strict";let t=(0,e.i(3645).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);e.s(["Puzzle",()=>t],12103)},35340,e=>{"use strict";var t=e.i(20314),r=e.i(79054),o=e.i(87620),n=e.i(85995),i=e.i(22528),a=e.i(5978),l=e.i(29297),s=e.i(66033),c=e.i(5192),u=e.i(91967),d="ScrollArea",[f,p]=(0,i.createContextScope)(d),[h,v]=f(d),m=r.forwardRef((e,n)=>{let{__scopeScrollArea:i,type:l="hover",dir:c,scrollHideDelay:u=600,...d}=e,[f,p]=r.useState(null),[v,m]=r.useState(null),[g,b]=r.useState(null),[w,y]=r.useState(null),[x,S]=r.useState(null),[j,C]=r.useState(0),[E,P]=r.useState(0),[T,N]=r.useState(!1),[R,_]=r.useState(!1),A=(0,a.useComposedRefs)(n,e=>p(e)),k=(0,s.useDirection)(c);return(0,t.jsx)(h,{scope:i,type:l,dir:k,scrollHideDelay:u,scrollArea:f,viewport:v,onViewportChange:m,content:g,onContentChange:b,scrollbarX:w,onScrollbarXChange:y,scrollbarXEnabled:T,onScrollbarXEnabledChange:N,scrollbarY:x,onScrollbarYChange:S,scrollbarYEnabled:R,onScrollbarYEnabledChange:_,onCornerWidthChange:C,onCornerHeightChange:P,children:(0,t.jsx)(o.Primitive.div,{dir:k,...d,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":j+"px","--radix-scroll-area-corner-height":E+"px",...e.style}})})});m.displayName=d;var g="ScrollAreaViewport",b=r.forwardRef((e,n)=>{let{__scopeScrollArea:i,children:l,nonce:s,...c}=e,u=v(g,i),d=r.useRef(null),f=(0,a.useComposedRefs)(n,d,u.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,t.jsx)(o.Primitive.div,{"data-radix-scroll-area-viewport":"",...c,ref:f,style:{overflowX:u.scrollbarXEnabled?"scroll":"hidden",overflowY:u.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:u.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});b.displayName=g;var w="ScrollAreaScrollbar",y=r.forwardRef((e,o)=>{let{forceMount:n,...i}=e,a=v(w,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=a,c="horizontal"===e.orientation;return r.useEffect(()=>(c?l(!0):s(!0),()=>{c?l(!1):s(!1)}),[c,l,s]),"hover"===a.type?(0,t.jsx)(x,{...i,ref:o,forceMount:n}):"scroll"===a.type?(0,t.jsx)(S,{...i,ref:o,forceMount:n}):"auto"===a.type?(0,t.jsx)(j,{...i,ref:o,forceMount:n}):"always"===a.type?(0,t.jsx)(C,{...i,ref:o}):null});y.displayName=w;var x=r.forwardRef((e,o)=>{let{forceMount:i,...a}=e,l=v(w,e.__scopeScrollArea),[s,c]=r.useState(!1);return r.useEffect(()=>{let e=l.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),c(!0)},o=()=>{t=window.setTimeout(()=>c(!1),l.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",o)}}},[l.scrollArea,l.scrollHideDelay]),(0,t.jsx)(n.Presence,{present:i||s,children:(0,t.jsx)(j,{"data-state":s?"visible":"hidden",...a,ref:o})})}),S=r.forwardRef((e,o)=>{var i;let{forceMount:a,...l}=e,s=v(w,e.__scopeScrollArea),c="horizontal"===e.orientation,d=W(()=>p("SCROLL_END"),100),[f,p]=(i={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>i[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===f){let e=window.setTimeout(()=>p("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(e)}},[f,s.scrollHideDelay,p]),r.useEffect(()=>{let e=s.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],o=()=>{let o=e[t];r!==o&&(p("SCROLL"),d()),r=o};return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}},[s.viewport,c,p,d]),(0,t.jsx)(n.Presence,{present:a||"hidden"!==f,children:(0,t.jsx)(C,{"data-state":"hidden"===f?"hidden":"visible",...l,ref:o,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),j=r.forwardRef((e,o)=>{let i=v(w,e.__scopeScrollArea),{forceMount:a,...l}=e,[s,c]=r.useState(!1),u="horizontal"===e.orientation,d=W(()=>{if(i.viewport){let e=i.viewport.offsetWidth<i.viewport.scrollWidth,t=i.viewport.offsetHeight<i.viewport.scrollHeight;c(u?e:t)}},10);return B(i.viewport,d),B(i.content,d),(0,t.jsx)(n.Presence,{present:a||s,children:(0,t.jsx)(C,{"data-state":s?"visible":"hidden",...l,ref:o})})}),C=r.forwardRef((e,o)=>{let{orientation:n="vertical",...i}=e,a=v(w,e.__scopeScrollArea),l=r.useRef(null),s=r.useRef(0),[c,u]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=M(c.viewport,c.content),f={...i,sizes:c,onSizesChange:u,hasThumb:!!(d>0&&d<1),onThumbChange:e=>l.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,r,o="ltr"){let n=I(r),i=t||n/2,a=r.scrollbar.paddingStart+i,l=r.scrollbar.size-r.scrollbar.paddingEnd-(n-i),s=r.content-r.viewport;return H([a,l],"ltr"===o?[0,s]:[-1*s,0])(e)}(e,s.current,c,t)}return"horizontal"===n?(0,t.jsx)(E,{...f,ref:o,onThumbPositionChange:()=>{if(a.viewport&&l.current){let e=U(a.viewport.scrollLeft,c,a.dir);l.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=p(e,a.dir))}}):"vertical"===n?(0,t.jsx)(P,{...f,ref:o,onThumbPositionChange:()=>{if(a.viewport&&l.current){let e=U(a.viewport.scrollTop,c);l.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=p(e))}}):null}),E=r.forwardRef((e,o)=>{let{sizes:n,onSizesChange:i,...l}=e,s=v(w,e.__scopeScrollArea),[c,u]=r.useState(),d=r.useRef(null),f=(0,a.useComposedRefs)(o,d,s.onScrollbarXChange);return r.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),(0,t.jsx)(R,{"data-orientation":"horizontal",...l,ref:f,sizes:n,style:{bottom:0,left:"rtl"===s.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===s.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":I(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(s.viewport){var o,n;let i=s.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),o=i,n=r,o>0&&o<n&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&c&&i({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:z(c.paddingLeft),paddingEnd:z(c.paddingRight)}})}})}),P=r.forwardRef((e,o)=>{let{sizes:n,onSizesChange:i,...l}=e,s=v(w,e.__scopeScrollArea),[c,u]=r.useState(),d=r.useRef(null),f=(0,a.useComposedRefs)(o,d,s.onScrollbarYChange);return r.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),(0,t.jsx)(R,{"data-orientation":"vertical",...l,ref:f,sizes:n,style:{top:0,right:"ltr"===s.dir?0:void 0,left:"rtl"===s.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":I(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(s.viewport){var o,n;let i=s.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),o=i,n=r,o>0&&o<n&&t.preventDefault()}},onResize:()=>{d.current&&s.viewport&&c&&i({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:z(c.paddingTop),paddingEnd:z(c.paddingBottom)}})}})}),[T,N]=f(w),R=r.forwardRef((e,n)=>{let{__scopeScrollArea:i,sizes:s,hasThumb:c,onThumbChange:d,onThumbPointerUp:f,onThumbPointerDown:p,onThumbPositionChange:h,onDragScroll:m,onWheelScroll:g,onResize:b,...y}=e,x=v(w,i),[S,j]=r.useState(null),C=(0,a.useComposedRefs)(n,e=>j(e)),E=r.useRef(null),P=r.useRef(""),N=x.viewport,R=s.content-s.viewport,_=(0,l.useCallbackRef)(g),A=(0,l.useCallbackRef)(h),k=W(b,10);function L(e){E.current&&m({x:e.clientX-E.current.left,y:e.clientY-E.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;S?.contains(t)&&_(e,R)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[N,S,R,_]),r.useEffect(A,[s,A]),B(S,k),B(x.content,k),(0,t.jsx)(T,{scope:i,scrollbar:S,hasThumb:c,onThumbChange:(0,l.useCallbackRef)(d),onThumbPointerUp:(0,l.useCallbackRef)(f),onThumbPositionChange:A,onThumbPointerDown:(0,l.useCallbackRef)(p),children:(0,t.jsx)(o.Primitive.div,{...y,ref:C,style:{position:"absolute",...y.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),E.current=S.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),L(e))}),onPointerMove:(0,u.composeEventHandlers)(e.onPointerMove,L),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=P.current,x.viewport&&(x.viewport.style.scrollBehavior=""),E.current=null})})})}),_="ScrollAreaThumb",A=r.forwardRef((e,r)=>{let{forceMount:o,...i}=e,a=N(_,e.__scopeScrollArea);return(0,t.jsx)(n.Presence,{present:o||a.hasThumb,children:(0,t.jsx)(k,{ref:r,...i})})}),k=r.forwardRef((e,n)=>{let{__scopeScrollArea:i,style:l,...s}=e,c=v(_,i),d=N(_,i),{onThumbPositionChange:f}=d,p=(0,a.useComposedRefs)(n,e=>d.onThumbChange(e)),h=r.useRef(void 0),m=W(()=>{h.current&&(h.current(),h.current=void 0)},100);return r.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{m(),h.current||(h.current=F(e,f),f())};return f(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,m,f]),(0,t.jsx)(o.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...s,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:(0,u.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,o=e.clientY-t.top;d.onThumbPointerDown({x:r,y:o})}),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,d.onThumbPointerUp)})});A.displayName=_;var L="ScrollAreaCorner",O=r.forwardRef((e,r)=>{let o=v(L,e.__scopeScrollArea),n=!!(o.scrollbarX&&o.scrollbarY);return"scroll"!==o.type&&n?(0,t.jsx)(D,{...e,ref:r}):null});O.displayName=L;var D=r.forwardRef((e,n)=>{let{__scopeScrollArea:i,...a}=e,l=v(L,i),[s,c]=r.useState(0),[u,d]=r.useState(0),f=!!(s&&u);return B(l.scrollbarX,()=>{let e=l.scrollbarX?.offsetHeight||0;l.onCornerHeightChange(e),d(e)}),B(l.scrollbarY,()=>{let e=l.scrollbarY?.offsetWidth||0;l.onCornerWidthChange(e),c(e)}),f?(0,t.jsx)(o.Primitive.div,{...a,ref:n,style:{width:s,height:u,position:"absolute",right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:0,...e.style}}):null});function z(e){return e?parseInt(e,10):0}function M(e,t){let r=e/t;return isNaN(r)?0:r}function I(e){let t=M(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function U(e,t,r="ltr"){let o=I(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-n,a=t.content-t.viewport,l=function(e,[t,r]){return Math.min(r,Math.max(t,e))}(e,"ltr"===r?[0,a]:[-1*a,0]);return H([0,a],[0,i-o])(l)}function H(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(r-e[0])}}var F=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},o=0;return!function n(){let i={left:e.scrollLeft,top:e.scrollTop},a=r.left!==i.left,l=r.top!==i.top;(a||l)&&t(),r=i,o=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(o)};function W(e,t){let o=(0,l.useCallbackRef)(e),n=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(n.current),[]),r.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(o,t)},[o,t])}function B(e,t){let r=(0,l.useCallbackRef)(t);(0,c.useLayoutEffect)(()=>{let t=0;if(e){let o=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(t),o.unobserve(e)}}},[e,r])}e.s(["Corner",()=>O,"Root",()=>m,"ScrollArea",()=>m,"ScrollAreaCorner",()=>O,"ScrollAreaScrollbar",()=>y,"ScrollAreaThumb",()=>A,"ScrollAreaViewport",()=>b,"Scrollbar",()=>y,"Thumb",()=>A,"Viewport",()=>b,"createScrollAreaScope",()=>p],87516);var $=e.i(87516),$=$,X=e.i(31777);function V({className:e,children:r,...o}){return(0,t.jsxs)($.Root,{"data-slot":"scroll-area",className:(0,X.cn)("relative",e),...o,children:[(0,t.jsx)($.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:r}),(0,t.jsx)(Y,{}),(0,t.jsx)($.Corner,{})]})}function Y({className:e,orientation:r="vertical",...o}){return(0,t.jsx)($.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,X.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...o,children:(0,t.jsx)($.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.s(["ScrollArea",()=>V],35340)},87292,e=>{"use strict";var t,r=e.i(20314),o=e.i(79054),n=e.i(57638),i=e.i(31406),a=e.i(3645);let l=(0,a.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 s=e.i(81975),c=e.i(12103),u=e.i(3214),d=e.i(35340);e.i(90491);var f=e.i(90798);e.i(85462);var p=e.i(26506);e.i(92233);var h=e.i(10025);e.i(8356);var v=e.i(71045);e.i(78788);var m=e.i(91495);e.i(72028);var g=e.i(41506),b=e.i(40327);let w={skills:"true"===(t=e.i(44172).default.env.NEXT_PUBLIC_FLAG_SKILLS)||"1"===t};function y({features:e,onNewFeature:t,onFeatureClick:a,onFeaturesFolderClick:y,onFeaturesMenuClick:x}){let S=(0,i.usePathname)(),{state:j}=(0,n.useSidebar)(),{mounted:C,visible:E}=function(e,t){let[r,n]=(0,o.useState)(!e),[i,a]=(0,o.useState)(!e);return(0,o.useEffect)(()=>{if(!e){n(!0);let e=requestAnimationFrame(()=>a(!0));return()=>cancelAnimationFrame(e)}a(!1);let t=window.setTimeout(()=>n(!1),200);return()=>window.clearTimeout(t)},[e,200]),{mounted:r,visible:i}}("collapsed"===j,0),P=b.featureStatusOrder.map(t=>{let{label:r}=b.featureStatusConfig[t],o=e.filter(e=>e.status===t);return{key:t,label:r,items:o}});return(0,r.jsxs)(n.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,r.jsx)(n.SidebarHeader,{children:(0,r.jsxs)(n.SidebarMenu,{children:[(0,r.jsx)(n.SidebarMenuItem,{children:(0,r.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[C?(0,r.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",E?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!E,children:[(0,r.jsx)(h.ShepLogo,{className:"shrink-0",size:20}),(0,r.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,r.jsx)(p.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,r.jsx)(f.SidebarNavItem,{icon:l,label:"Control Center",href:"/",active:"/"===S}),(0,r.jsx)(f.SidebarNavItem,{icon:s.Wrench,label:"Tools",href:"/tools",active:"/tools"===S}),w.skills?(0,r.jsx)(f.SidebarNavItem,{icon:c.Puzzle,label:"Skills",href:"/skills",active:"/skills"===S}):null]})}),(0,r.jsx)(n.SidebarContent,{children:C?(0,r.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",E?"opacity-100":"opacity-0"].join(" "),children:[(0,r.jsx)(g.SidebarSectionHeader,{label:"Features",onFolderClick:y,onMenuClick:x}),(0,r.jsx)(d.ScrollArea,{children:P.map(({key:e,label:t,items:o})=>o.length>0?(0,r.jsx)(m.FeatureStatusGroup,{label:t,count:o.length,children:o.map(e=>(0,r.jsx)(v.FeatureListItem,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:a?()=>a(e.name):void 0},e.name))},e):null)})]}):null}),(0,r.jsx)(n.SidebarFooter,{children:(0,r.jsx)(n.SidebarMenu,{children:(0,r.jsx)(n.SidebarMenuItem,{children:(0,r.jsxs)(n.SidebarMenuButton,{onClick:t,tooltip:"New feature",children:[(0,r.jsx)(u.Plus,{}),(0,r.jsx)("span",{children:"New feature"})]})})})}),(0,r.jsx)(n.SidebarRail,{})]})}e.i(1354);var x=e.i(17845);e.i(53777);var S=e.i(25732);let j=(0,a.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"}]]),C=(0,a.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 E=e.i(35364),P=e.i(73709);function T(){let{enabled:e,toggle:t}=(0,P.useSoundEnabled)();return(0,r.jsxs)(E.Button,{variant:"ghost",size:"icon",onClick:t,"aria-label":e?"Mute sounds":"Unmute sounds",children:[e?(0,r.jsx)(j,{className:"h-5 w-5"}):(0,r.jsx)(C,{className:"h-5 w-5"}),(0,r.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var N=e.i(39443),R=e.i(60112),_=e.i(17406),A=e.i(8361);let k={[_.NotificationSeverity.Success]:"success",[_.NotificationSeverity.Error]:"error",[_.NotificationSeverity.Warning]:"warning",[_.NotificationSeverity.Info]:"info"},L={[_.NotificationSeverity.Success]:"notification-success",[_.NotificationSeverity.Error]:"notification-error",[_.NotificationSeverity.Warning]:"notification-warning",[_.NotificationSeverity.Info]:"notification-info"};function O({children:e}){!function(){let{events:e}=(0,N.useAgentEventsContext)(),t=(0,A.useSoundAction)("notification-success"),r=(0,A.useSoundAction)("notification-error"),n=(0,A.useSoundAction)("notification-warning"),i=(0,A.useSoundAction)("notification-info"),a=(0,o.useMemo)(()=>({"notification-success":t,"notification-error":r,"notification-warning":n,"notification-info":i}),[t,r,n,i]),[l,s]=(0,o.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),c=(0,o.useRef)(0);(0,o.useEffect)(()=>{if(e.length<=c.current)return;let t=e.slice(c.current);for(let r of(c.current=e.length,t)){if(r.severity!==_.NotificationSeverity.Error&&r.severity!==_.NotificationSeverity.Warning&&r.severity!==_.NotificationSeverity.Success)continue;!function(e){let t=k[e.severity]??"info",r=e.eventType===_.NotificationEventType.WaitingApproval;R.toast[t](e.featureName,{description:e.message,...r&&{action:{label:"Review",onClick:()=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:e.featureId}}))}}}})}(r),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${r.featureName}`,{body:r.message,icon:"/favicon-light.svg"});let e=L[r.severity];a[e]?.play()}},[e,a]),(0,o.useCallback)(async()=>{void 0===globalThis.Notification||s(await globalThis.Notification.requestPermission())},[])}();let t=(0,o.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]),i=(0,o.useCallback)(e=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:e}}))},[]);return(0,r.jsxs)(n.SidebarProvider,{children:[(0,r.jsx)(y,{features:[],onNewFeature:t}),(0,r.jsx)(n.SidebarInset,{children:(0,r.jsxs)("div",{className:"relative h-full",children:[(0,r.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,r.jsx)(x.AddRepositoryButton,{onSelect:i}),(0,r.jsx)(T,{}),(0,r.jsx)(S.ThemeToggle,{})]}),(0,r.jsx)("main",{className:"h-full",children:e})]})})]})}function D({children:e}){return(0,r.jsx)(N.AgentEventsProvider,{children:(0,r.jsx)(O,{children:e})})}e.s(["AppShell",()=>D],87292)},25251,e=>{"use strict";var t=e.i(20314),r=e.i(60112);let o=({...e})=>(0,t.jsx)(r.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"}},...e});e.s(["Toaster",()=>o])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(20314),r=e.i(94237),s=e.i(31777);let i=(0,r.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 n({className:e,variant:r,...n}){return(0,t.jsx)("div",{className:(0,s.cn)(i({variant:r}),e),...n})}e.s(["Badge",()=>n])},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function s({icon:e,title:s,description:i,action:n,className:l,...o}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",l),...o,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),i?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:i}):null,n?(0,t.jsx)("div",{className:"mt-2",children:n}):null]})}e.s(["EmptyState",()=>s],7729),e.s([],54793)},19933,e=>{"use strict";let t=(0,e.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"}]]);e.s(["FolderOpen",()=>t],19933)},9443,85871,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function s({title:e,description:s,children:i,className:n}){return(0,t.jsxs)("header",{className:(0,r.cn)("flex items-center justify-between gap-4",n),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),s?(0,t.jsx)("p",{className:"text-muted-foreground",children:s}):null]}),i?(0,t.jsx)("div",{"data-slot":"actions",children:i}):null]})}e.s(["PageHeader",()=>s],85871),e.s([],9443)},51080,87342,e=>{"use strict";var t=e.i(79054),r=e.i(91967),s=e.i(22528),i=e.i(5978),n=e.i(86874),l=e.i(20314);function o(e){let r=e+"CollectionProvider",[o,a]=(0,s.createContextScope)(r),[u,c]=o(r,{collectionRef:{current:null},itemMap:new Map}),f=e=>{let{scope:r,children:s}=e,i=t.default.useRef(null),n=t.default.useRef(new Map).current;return(0,l.jsx)(u,{scope:r,itemMap:n,collectionRef:i,children:s})};f.displayName=r;let d=e+"CollectionSlot",h=(0,n.createSlot)(d),p=t.default.forwardRef((e,t)=>{let{scope:r,children:s}=e,n=c(d,r),o=(0,i.useComposedRefs)(t,n.collectionRef);return(0,l.jsx)(h,{ref:o,children:s})});p.displayName=d;let y=e+"CollectionItemSlot",m="data-radix-collection-item",v=(0,n.createSlot)(y),x=t.default.forwardRef((e,r)=>{let{scope:s,children:n,...o}=e,a=t.default.useRef(null),u=(0,i.useComposedRefs)(r,a),f=c(y,s);return t.default.useEffect(()=>(f.itemMap.set(a,{ref:a,...o}),()=>void f.itemMap.delete(a))),(0,l.jsx)(v,{...{[m]:""},ref:u,children:n})});return x.displayName=y,[{Provider:f,Slot:p,ItemSlot:x},function(r){let s=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},a]}var a=new WeakMap;function u(e,t){var r,s;let i,n,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let o=(r=e,s=t,i=r.length,(l=(n=c(s))>=0?n:i+n)<0||l>=i?-1:l);return -1===o?void 0:e[o]}function c(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],a.set(this,!0)}set(e,t){return a.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,i=this.has(t),n=this.#e.length,l=c(e),o=l>=0?l:n+l,a=o<0||o>=n?-1:o;if(a===this.size||i&&a===this.size-1||-1===a)return this.set(t,r),this;let u=this.size+ +!i;l<0&&o++;let f=[...this.#e],d=!1;for(let e=o;e<u;e++)if(o===e){let n=f[e];f[e]===t&&(n=f[e+1]),i&&this.delete(t),s=this.get(n),this.set(t,r)}else{d||f[e-1]!==t||(d=!0);let r=f[d?e:e-1],i=s;s=this.get(r),this.delete(r),this.set(r,i)}return this}with(t,r,s){let i=new e(this);return i.insert(t,r,s),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=u(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=u(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return u(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],i=0;for(let e of this)Reflect.apply(t,r,[e,i,this])&&s.push(e),i++;return new e(s)}map(t,r){let s=[],i=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,i,this])]),i++;return new e(s)}reduce(...e){let[t,r]=e,s=0,i=r??this.at(0);for(let r of this)i=0===s&&1===e.length?r:Reflect.apply(t,this,[i,r,s,this]),s++;return i}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let i=this.at(r);s=r===this.size-1&&1===e.length?i:Reflect.apply(t,this,[s,i,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,i=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(i=r-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>o],87342);var f=e.i(13123),d=e.i(87620),h=e.i(29297),p=e.i(36589),y=e.i(66033),m="rovingFocusGroup.onEntryFocus",v={bubbles:!1,cancelable:!0},x="RovingFocusGroup",[g,k,w]=o(x),[b,R]=(0,s.createContextScope)(x,[w]),[A,C]=b(x),j=t.forwardRef((e,t)=>(0,l.jsx)(g.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,l.jsx)(g.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,l.jsx)(S,{...e,ref:t})})}));j.displayName=x;var S=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:n,orientation:o,loop:a=!1,dir:u,currentTabStopId:c,defaultCurrentTabStopId:f,onCurrentTabStopIdChange:g,onEntryFocus:w,preventScrollOnEntryFocus:b=!1,...R}=e,C=t.useRef(null),j=(0,i.useComposedRefs)(s,C),S=(0,y.useDirection)(u),[M,E]=(0,p.useControllableState)({prop:c,defaultProp:f??null,onChange:g,caller:x}),[F,z]=t.useState(!1),O=(0,h.useCallbackRef)(w),T=k(n),N=t.useRef(!1),[D,H]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(m,O),()=>e.removeEventListener(m,O)},[O]),(0,l.jsx)(A,{scope:n,orientation:o,dir:S,loop:a,currentTabStopId:M,onItemFocus:t.useCallback(e=>E(e),[E]),onItemShiftTab:t.useCallback(()=>z(!0),[]),onFocusableItemAdd:t.useCallback(()=>H(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>H(e=>e-1),[]),children:(0,l.jsx)(d.Primitive.div,{tabIndex:F||0===D?-1:0,"data-orientation":o,...R,ref:j,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{N.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!N.current;if(e.target===e.currentTarget&&t&&!F){let t=new CustomEvent(m,v);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=T().filter(e=>e.focusable);I([e.find(e=>e.active),e.find(e=>e.id===M),...e].filter(Boolean).map(e=>e.ref.current),b)}}N.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>z(!1))})})}),M="RovingFocusGroupItem",E=t.forwardRef((e,s)=>{let{__scopeRovingFocusGroup:i,focusable:n=!0,active:o=!1,tabStopId:a,children:u,...c}=e,h=(0,f.useId)(),p=a||h,y=C(M,i),m=y.currentTabStopId===p,v=k(i),{onFocusableItemAdd:x,onFocusableItemRemove:w,currentTabStopId:b}=y;return t.useEffect(()=>{if(n)return x(),()=>w()},[n,x,w]),(0,l.jsx)(g.ItemSlot,{scope:i,id:p,focusable:n,active:o,children:(0,l.jsx)(d.Primitive.span,{tabIndex:m?0:-1,"data-orientation":y.orientation,...c,ref:s,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{n?y.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>y.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void y.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var s;let i=(s=e.key,"rtl"!==r?s:"ArrowLeft"===s?"ArrowRight":"ArrowRight"===s?"ArrowLeft":s);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(i))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(i)))return F[i]}(e,y.orientation,y.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)i.reverse();else if("prev"===t||"next"===t){var r,s;"prev"===t&&i.reverse();let n=i.indexOf(e.currentTarget);i=y.loop?(r=i,s=n+1,r.map((e,t)=>r[(s+t)%r.length])):i.slice(n+1)}setTimeout(()=>I(i))}}),children:"function"==typeof u?u({isCurrentTabStop:m,hasTabStop:null!=b}):u})})});E.displayName=M;var F={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function I(e,t=!1){let r=document.activeElement;for(let s of e)if(s===r||(s.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>E,"Root",()=>j,"createRovingFocusGroupScope",()=>R],51080)},54277,30090,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["default",()=>t],30090),e.s(["CircleX",()=>t],54277)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t])},30702,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["ExternalLink",()=>t],30702)},33548,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Copy",()=>t],33548)},23925,e=>{"use strict";var t=e.i(1012);e.s(["Check",()=>t.default])},60253,e=>{"use strict";var t=e.i(90537);e.s(["X",()=>t.default])},49228,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["GitBranch",()=>t],49228)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,9443,85871,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function t({title:e,description:t,children:r,className:a}){return(0,s.jsxs)("header",{className:(0,l.cn)("flex items-center justify-between gap-4",a),children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),t?(0,s.jsx)("p",{className:"text-muted-foreground",children:t}):null]}),r?(0,s.jsx)("div",{"data-slot":"actions",children:r}):null]})}e.s(["PageHeader",()=>t],85871),e.s([],9443)},54793,7729,e=>{"use strict";var s=e.i(20314),l=e.i(31777);function t({icon:e,title:t,description:r,action:a,className:n,...i}){return(0,s.jsxs)("div",{className:(0,l.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,s.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,s.jsx)("h3",{className:"text-lg font-semibold",children:t}),r?(0,s.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:r}):null,a?(0,s.jsx)("div",{className:"mt-2",children:a}):null]})}e.s(["EmptyState",()=>t],7729),e.s([],54793)},19933,e=>{"use strict";let s=(0,e.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"}]]);e.s(["FolderOpen",()=>s],19933)},81846,e=>{"use strict";var s=e.i(20314),l=e.i(94237),t=e.i(31777);let r=(0,l.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 a({className:e,variant:l,...a}){return(0,s.jsx)("div",{className:(0,t.cn)(r({variant:l}),e),...a})}e.s(["Badge",()=>a])},956,e=>{"use strict";var s=e.i(20314),l=e.i(79054),t=e.i(31777);let r=l.forwardRef(({className:e,...l},r)=>(0,s.jsx)("div",{ref:r,className:(0,t.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...l}));r.displayName="Card";let a=l.forwardRef(({className:e,...l},r)=>(0,s.jsx)("div",{ref:r,className:(0,t.cn)("flex flex-col space-y-1.5 p-6",e),...l}));a.displayName="CardHeader";let n=l.forwardRef(({className:e,...l},r)=>(0,s.jsx)("div",{ref:r,className:(0,t.cn)("leading-none font-semibold tracking-tight",e),...l}));n.displayName="CardTitle";let i=l.forwardRef(({className:e,...l},r)=>(0,s.jsx)("div",{ref:r,className:(0,t.cn)("text-muted-foreground text-sm",e),...l}));i.displayName="CardDescription";let o=l.forwardRef(({className:e,...l},r)=>(0,s.jsx)("div",{ref:r,className:(0,t.cn)("p-6 pt-0",e),...l}));o.displayName="CardContent",l.forwardRef(({className:e,...l},r)=>(0,s.jsx)("div",{ref:r,className:(0,t.cn)("flex items-center p-6 pt-0",e),...l})).displayName="CardFooter",e.s(["Card",()=>r,"CardContent",()=>o,"CardDescription",()=>i,"CardHeader",()=>a,"CardTitle",()=>n])},38752,e=>{"use strict";var s=e.i(20314),l=e.i(51240),t=e.i(81846),r=e.i(35340),a=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,s.jsx)(l.Sheet,{open:null!==e,onOpenChange:e=>{e||i()},children:(0,s.jsx)(l.SheetContent,{side:"right",className:"w-full sm:max-w-lg",children:e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(l.SheetHeader,{children:[(0,s.jsx)(l.SheetTitle,{children:e.displayName}),(0,s.jsx)(l.SheetDescription,{children:e.name})]}),(0,s.jsxs)(r.ScrollArea,{className:"flex-1 px-4 pb-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(t.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,s.jsx)(t.Badge,{variant:"outline",children:e.category}),e.context?(0,s.jsx)(t.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.Separator,{className:"my-4"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,s.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,s.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,s.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,s.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.Separator,{className:"my-4"}),(0,s.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]})]}):null})})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var s=e.i(20314),l=e.i(79054);let t=(0,e.i(3645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var r=e.i(12103),a=e.i(98127),n=e.i(35364);e.i(9443);var i=e.i(85871);e.i(54793);var o=e.i(7729),c=e.i(956),d=e.i(81846),u=e.i(19933);function x({skill:e,onSelect:l}){return(0,s.jsxs)(c.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>l(e),onKeyDown:s=>{("Enter"===s.key||" "===s.key)&&(s.preventDefault(),l(e))},"data-testid":`skill-card-${e.name}`,children:[(0,s.jsxs)(c.CardHeader,{className:"pb-3",children:[(0,s.jsx)(c.CardTitle,{className:"text-base",children:e.displayName}),(0,s.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,s.jsxs)(c.CardContent,{className:"space-y-3",children:[(0,s.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(d.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,s.jsx)(d.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,s.jsx)(d.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,s.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,s.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let m=["Workflow","Code Generation","Analysis","Reference"];function f({skills:e,onSkillSelect:l}){let t=function(e){let s=new Map;for(let l of e){let e=s.get(l.category)??[];e.push(l),s.set(l.category,e)}return s}(e);return(0,s.jsx)("div",{className:"space-y-8",children:m.map(e=>{let r=t.get(e);return r&&0!==r.length?(0,s.jsxs)("section",{children:[(0,s.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,s.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",r.length,")"]})]}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:r.map(e=>(0,s.jsx)(x,{skill:e,onSelect:l},e.name))})]},e):null})})}let p=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:l,counts:t}){return(0,s.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:p.map(({label:r,value:a})=>(0,s.jsxs)(n.Button,{variant:e===a?"default":"outline",size:"sm",onClick:()=>l(a),children:[r,t&&a?(0,s.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",t[a],")"]}):null]},r))})}var g=e.i(38752);function j({skills:e}){let[c,d]=(0,l.useState)(""),[u,x]=(0,l.useState)(null),[m,p]=(0,l.useState)(null),j=(0,l.useMemo)(()=>(function(e){let s={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let l of e)s[l.category]++;return s})(e),[e]),v=(0,l.useMemo)(()=>{let s=c.toLowerCase();return e.filter(e=>{if(u&&e.category!==u)return!1;if(s){let l=e.name.toLowerCase().includes(s),t=e.description.toLowerCase().includes(s);if(!l&&!t)return!1}return!0})},[e,c,u]);return 0===e.length?(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(r.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,s.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,s.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(t,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,s.jsx)(a.Input,{placeholder:"Search skills...",value:c,onChange:e=>d(e.target.value),className:"pl-9"})]}),(0,s.jsx)(h,{activeCategory:u,onCategoryChange:x,counts:j}),v.length>0?(0,s.jsx)(f,{skills:v,onSkillSelect:p}):(0,s.jsx)(o.EmptyState,{icon:(0,s.jsx)(t,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,s.jsx)(n.Button,{variant:"outline",onClick:()=>{d(""),x(null)},children:"Clear filters"})}),(0,s.jsx)(g.SkillDetailDrawer,{skill:m,onClose:()=>p(null)})]})}e.s(["SkillsPageClient",()=>j],16919)}]);
|