@shepai/cli 1.47.0 → 1.48.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/apis/json-schema/ApprovalGateDefaults.yaml +26 -0
- package/apis/json-schema/Feature.yaml +3 -0
- package/apis/json-schema/Repository.yaml +16 -0
- package/apis/json-schema/Settings.yaml +5 -0
- package/apis/json-schema/WorkflowConfig.yaml +4 -20
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +17 -0
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +11 -1
- package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +3 -1
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +11 -4
- package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts +19 -0
- package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.js +52 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +5 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge.node.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge.node.js +10 -3
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +15 -7
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +41 -0
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +2 -1
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +29 -4
- package/dist/src/presentation/cli/ui/messages.d.ts.map +1 -1
- package/dist/src/presentation/cli/ui/messages.js +1 -7
- package/dist/src/presentation/web/app/actions/get-merge-review-data.d.ts +7 -0
- package/dist/src/presentation/web/app/actions/get-merge-review-data.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/get-merge-review-data.js +49 -0
- package/dist/src/presentation/web/app/page.d.ts.map +1 -1
- package/dist/src/presentation/web/app/page.js +1 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +8 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +22 -1
- package/dist/src/presentation/web/components/common/merge-review/index.d.ts +4 -0
- package/dist/src/presentation/web/components/common/merge-review/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/merge-review/index.js +2 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-config.d.ts +75 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-config.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-config.js +1 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-drawer.d.ts +3 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-drawer.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review-drawer.js +7 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review.d.ts +3 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review.js +36 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts +32 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/merge-review/merge-review.stories.js +165 -0
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +55 -1
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +15 -0
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +37 -15
- 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.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 +39 -24
- package/web/.next/server/app/page.js +1 -1
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page.js.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]__03a0dba7._.js +4 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__19d52794._.js +9 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__19d52794._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
- package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_3ac3601c._.js → server/chunks/ssr/_1fafa9db._.js} +2 -2
- package/web/.next/server/chunks/ssr/_1fafa9db._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +40 -25
- 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.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 +39 -24
- package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.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]__03a0dba7._.js +4 -4
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__19d52794._.js +9 -0
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
- package/web/.next/{server/chunks/ssr/_3ac3601c._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_1fafa9db._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +40 -25
- package/web/.next/standalone/src/presentation/web/app/actions/get-merge-review-data.ts +64 -0
- package/web/.next/standalone/src/presentation/web/app/page.tsx +1 -0
- package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.stories.tsx +23 -1
- package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +6 -1
- package/web/.next/standalone/src/presentation/web/components/common/merge-review/index.ts +7 -0
- package/web/.next/standalone/src/presentation/web/components/common/merge-review/merge-review-config.ts +81 -0
- package/web/.next/standalone/src/presentation/web/components/common/merge-review/merge-review-drawer.tsx +34 -0
- package/web/.next/standalone/src/presentation/web/components/common/merge-review/merge-review.stories.tsx +240 -0
- package/web/.next/standalone/src/presentation/web/components/common/merge-review/merge-review.tsx +252 -0
- package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +82 -1
- package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center.stories.tsx +15 -0
- package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +47 -17
- package/web/.next/standalone/src/presentation/web/server.js +1 -1
- package/web/.next/static/chunks/{9f8e71029fb04681.js → 0da7a9860fa6ae05.js} +2 -2
- package/web/.next/static/chunks/22f30ce91a3c79c1.js +1 -0
- package/web/.next/static/chunks/66378a6c055c4e67.js +10 -0
- package/web/.next/static/chunks/8668962d3e682263.css +2 -0
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6d75c22._.js +0 -9
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d6d75c22._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_3ac3601c._.js.map +0 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d6d75c22._.js +0 -9
- package/web/.next/static/chunks/779c99975c85389e.js +0 -10
- package/web/.next/static/chunks/83ff3b6bbee54bce.js +0 -1
- package/web/.next/static/chunks/b7b7abe79e05b229.css +0 -2
- /package/web/.next/static/{wQ3vPV9I8JeacVNyp4HFg → 1kZFDMQ0i-Y8dy1KkHlzv}/_buildManifest.js +0 -0
- /package/web/.next/static/{wQ3vPV9I8JeacVNyp4HFg → 1kZFDMQ0i-Y8dy1KkHlzv}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{wQ3vPV9I8JeacVNyp4HFg → 1kZFDMQ0i-Y8dy1KkHlzv}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24270,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},87292,e=>{"use strict";var r=e.i(20314),t=e.i(79054),o=e.i(57638),n=e.i(31406),l=e.i(3645);let i=(0,l.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"}]]),a=(0,l.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var s=e.i(3214),c=e.i(87620),d=e.i(85995),u=e.i(22528),p=e.i(5978),f=e.i(29297),h=e.i(66033),v=e.i(5192),m=e.i(91967),b="ScrollArea",[w,g]=(0,u.createContextScope)(b),[S,x]=w(b),y=t.forwardRef((e,o)=>{let{__scopeScrollArea:n,type:l="hover",dir:i,scrollHideDelay:a=600,...s}=e,[d,u]=t.useState(null),[f,v]=t.useState(null),[m,b]=t.useState(null),[w,g]=t.useState(null),[x,y]=t.useState(null),[C,j]=t.useState(0),[E,T]=t.useState(0),[R,P]=t.useState(!1),[N,A]=t.useState(!1),L=(0,p.useComposedRefs)(o,e=>u(e)),k=(0,h.useDirection)(i);return(0,r.jsx)(S,{scope:n,type:l,dir:k,scrollHideDelay:a,scrollArea:d,viewport:f,onViewportChange:v,content:m,onContentChange:b,scrollbarX:w,onScrollbarXChange:g,scrollbarXEnabled:R,onScrollbarXEnabledChange:P,scrollbarY:x,onScrollbarYChange:y,scrollbarYEnabled:N,onScrollbarYEnabledChange:A,onCornerWidthChange:j,onCornerHeightChange:T,children:(0,r.jsx)(c.Primitive.div,{dir:k,...s,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":C+"px","--radix-scroll-area-corner-height":E+"px",...e.style}})})});y.displayName=b;var C="ScrollAreaViewport",j=t.forwardRef((e,o)=>{let{__scopeScrollArea:n,children:l,nonce:i,...a}=e,s=x(C,n),d=t.useRef(null),u=(0,p.useComposedRefs)(o,d,s.onViewportChange);return(0,r.jsxs)(r.Fragment,{children:[(0,r.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,r.jsx)(c.Primitive.div,{"data-radix-scroll-area-viewport":"",...a,ref:u,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,r.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});j.displayName=C;var E="ScrollAreaScrollbar",T=t.forwardRef((e,o)=>{let{forceMount:n,...l}=e,i=x(E,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=i,c="horizontal"===e.orientation;return t.useEffect(()=>(c?a(!0):s(!0),()=>{c?a(!1):s(!1)}),[c,a,s]),"hover"===i.type?(0,r.jsx)(R,{...l,ref:o,forceMount:n}):"scroll"===i.type?(0,r.jsx)(P,{...l,ref:o,forceMount:n}):"auto"===i.type?(0,r.jsx)(N,{...l,ref:o,forceMount:n}):"always"===i.type?(0,r.jsx)(A,{...l,ref:o}):null});T.displayName=E;var R=t.forwardRef((e,o)=>{let{forceMount:n,...l}=e,i=x(E,e.__scopeScrollArea),[a,s]=t.useState(!1);return t.useEffect(()=>{let e=i.scrollArea,r=0;if(e){let t=()=>{window.clearTimeout(r),s(!0)},o=()=>{r=window.setTimeout(()=>s(!1),i.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",o)}}},[i.scrollArea,i.scrollHideDelay]),(0,r.jsx)(d.Presence,{present:n||a,children:(0,r.jsx)(N,{"data-state":a?"visible":"hidden",...l,ref:o})})}),P=t.forwardRef((e,o)=>{var n;let{forceMount:l,...i}=e,a=x(E,e.__scopeScrollArea),s="horizontal"===e.orientation,c=$(()=>p("SCROLL_END"),100),[u,p]=(n={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},t.useReducer((e,r)=>n[e][r]??e,"hidden"));return t.useEffect(()=>{if("idle"===u){let e=window.setTimeout(()=>p("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(e)}},[u,a.scrollHideDelay,p]),t.useEffect(()=>{let e=a.viewport,r=s?"scrollLeft":"scrollTop";if(e){let t=e[r],o=()=>{let o=e[r];t!==o&&(p("SCROLL"),c()),t=o};return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}},[a.viewport,s,p,c]),(0,r.jsx)(d.Presence,{present:l||"hidden"!==u,children:(0,r.jsx)(A,{"data-state":"hidden"===u?"hidden":"visible",...i,ref:o,onPointerEnter:(0,m.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),N=t.forwardRef((e,o)=>{let n=x(E,e.__scopeScrollArea),{forceMount:l,...i}=e,[a,s]=t.useState(!1),c="horizontal"===e.orientation,u=$(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,r=n.viewport.offsetHeight<n.viewport.scrollHeight;s(c?e:r)}},10);return K(n.viewport,u),K(n.content,u),(0,r.jsx)(d.Presence,{present:l||a,children:(0,r.jsx)(A,{"data-state":a?"visible":"hidden",...i,ref:o})})}),A=t.forwardRef((e,o)=>{let{orientation:n="vertical",...l}=e,i=x(E,e.__scopeScrollArea),a=t.useRef(null),s=t.useRef(0),[c,d]=t.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=X(c.viewport,c.content),p={...l,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>a.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function f(e,r){return function(e,r,t,o="ltr"){let n=Y(t),l=r||n/2,i=t.scrollbar.paddingStart+l,a=t.scrollbar.size-t.scrollbar.paddingEnd-(n-l),s=t.content-t.viewport;return V([i,a],"ltr"===o?[0,s]:[-1*s,0])(e)}(e,s.current,c,r)}return"horizontal"===n?(0,r.jsx)(L,{...p,ref:o,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=B(i.viewport.scrollLeft,c,i.dir);a.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=f(e,i.dir))}}):"vertical"===n?(0,r.jsx)(k,{...p,ref:o,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=B(i.viewport.scrollTop,c);a.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=f(e))}}):null}),L=t.forwardRef((e,o)=>{let{sizes:n,onSizesChange:l,...i}=e,a=x(E,e.__scopeScrollArea),[s,c]=t.useState(),d=t.useRef(null),u=(0,p.useComposedRefs)(o,d,a.onScrollbarXChange);return t.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,r.jsx)(H,{"data-orientation":"horizontal",...i,ref:u,sizes:n,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Y(n)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(a.viewport){var o,n;let l=a.viewport.scrollLeft+r.deltaX;e.onWheelScroll(l),o=l,n=t,o>0&&o<n&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&l({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:U(s.paddingLeft),paddingEnd:U(s.paddingRight)}})}})}),k=t.forwardRef((e,o)=>{let{sizes:n,onSizesChange:l,...i}=e,a=x(E,e.__scopeScrollArea),[s,c]=t.useState(),d=t.useRef(null),u=(0,p.useComposedRefs)(o,d,a.onScrollbarYChange);return t.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,r.jsx)(H,{"data-orientation":"vertical",...i,ref:u,sizes:n,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Y(n)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(a.viewport){var o,n;let l=a.viewport.scrollTop+r.deltaY;e.onWheelScroll(l),o=l,n=t,o>0&&o<n&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&l({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:U(s.paddingTop),paddingEnd:U(s.paddingBottom)}})}})}),[_,D]=w(E),H=t.forwardRef((e,o)=>{let{__scopeScrollArea:n,sizes:l,hasThumb:i,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:d,onThumbPositionChange:u,onDragScroll:h,onWheelScroll:v,onResize:b,...w}=e,g=x(E,n),[S,y]=t.useState(null),C=(0,p.useComposedRefs)(o,e=>y(e)),j=t.useRef(null),T=t.useRef(""),R=g.viewport,P=l.content-l.viewport,N=(0,f.useCallbackRef)(v),A=(0,f.useCallbackRef)(u),L=$(b,10);function k(e){j.current&&h({x:e.clientX-j.current.left,y:e.clientY-j.current.top})}return t.useEffect(()=>{let e=e=>{let r=e.target;S?.contains(r)&&N(e,P)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[R,S,P,N]),t.useEffect(A,[l,A]),K(S,L),K(g.content,L),(0,r.jsx)(_,{scope:n,scrollbar:S,hasThumb:i,onThumbChange:(0,f.useCallbackRef)(a),onThumbPointerUp:(0,f.useCallbackRef)(s),onThumbPositionChange:A,onThumbPointerDown:(0,f.useCallbackRef)(d),children:(0,r.jsx)(c.Primitive.div,{...w,ref:C,style:{position:"absolute",...w.style},onPointerDown:(0,m.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),j.current=S.getBoundingClientRect(),T.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",g.viewport&&(g.viewport.style.scrollBehavior="auto"),k(e))}),onPointerMove:(0,m.composeEventHandlers)(e.onPointerMove,k),onPointerUp:(0,m.composeEventHandlers)(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=T.current,g.viewport&&(g.viewport.style.scrollBehavior=""),j.current=null})})})}),M="ScrollAreaThumb",z=t.forwardRef((e,t)=>{let{forceMount:o,...n}=e,l=D(M,e.__scopeScrollArea);return(0,r.jsx)(d.Presence,{present:o||l.hasThumb,children:(0,r.jsx)(I,{ref:t,...n})})}),I=t.forwardRef((e,o)=>{let{__scopeScrollArea:n,style:l,...i}=e,a=x(M,n),s=D(M,n),{onThumbPositionChange:d}=s,u=(0,p.useComposedRefs)(o,e=>s.onThumbChange(e)),f=t.useRef(void 0),h=$(()=>{f.current&&(f.current(),f.current=void 0)},100);return t.useEffect(()=>{let e=a.viewport;if(e){let r=()=>{h(),f.current||(f.current=q(e,d),d())};return d(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[a.viewport,h,d]),(0,r.jsx)(c.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...i,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:(0,m.composeEventHandlers)(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),t=e.clientX-r.left,o=e.clientY-r.top;s.onThumbPointerDown({x:t,y:o})}),onPointerUp:(0,m.composeEventHandlers)(e.onPointerUp,s.onThumbPointerUp)})});z.displayName=M;var O="ScrollAreaCorner",W=t.forwardRef((e,t)=>{let o=x(O,e.__scopeScrollArea),n=!!(o.scrollbarX&&o.scrollbarY);return"scroll"!==o.type&&n?(0,r.jsx)(F,{...e,ref:t}):null});W.displayName=O;var F=t.forwardRef((e,o)=>{let{__scopeScrollArea:n,...l}=e,i=x(O,n),[a,s]=t.useState(0),[d,u]=t.useState(0),p=!!(a&&d);return K(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),u(e)}),K(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),s(e)}),p?(0,r.jsx)(c.Primitive.div,{...l,ref:o,style:{width:a,height:d,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function U(e){return e?parseInt(e,10):0}function X(e,r){let t=e/r;return isNaN(t)?0:t}function Y(e){let r=X(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-t)*r,18)}function B(e,r,t="ltr"){let o=Y(r),n=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=r.scrollbar.size-n,i=r.content-r.viewport,a=function(e,[r,t]){return Math.min(t,Math.max(r,e))}(e,"ltr"===t?[0,i]:[-1*i,0]);return V([0,i],[0,l-o])(a)}function V(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let o=(r[1]-r[0])/(e[1]-e[0]);return r[0]+o*(t-e[0])}}var q=(e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},o=0;return!function n(){let l={left:e.scrollLeft,top:e.scrollTop},i=t.left!==l.left,a=t.top!==l.top;(i||a)&&r(),t=l,o=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(o)};function $(e,r){let o=(0,f.useCallbackRef)(e),n=t.useRef(0);return t.useEffect(()=>()=>window.clearTimeout(n.current),[]),t.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(o,r)},[o,r])}function K(e,r){let t=(0,f.useCallbackRef)(r);(0,v.useLayoutEffect)(()=>{let r=0;if(e){let o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,t])}e.s(["Corner",()=>W,"Root",()=>y,"ScrollArea",()=>y,"ScrollAreaCorner",()=>W,"ScrollAreaScrollbar",()=>T,"ScrollAreaThumb",()=>z,"ScrollAreaViewport",()=>j,"Scrollbar",()=>T,"Thumb",()=>z,"Viewport",()=>j,"createScrollAreaScope",()=>g],87516);var G=e.i(87516),G=G,J=e.i(31777);function Q({className:e,children:t,...o}){return(0,r.jsxs)(G.Root,{"data-slot":"scroll-area",className:(0,J.cn)("relative",e),...o,children:[(0,r.jsx)(G.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:t}),(0,r.jsx)(Z,{}),(0,r.jsx)(G.Corner,{})]})}function Z({className:e,orientation:t="vertical",...o}){return(0,r.jsx)(G.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:t,className:(0,J.cn)("flex touch-none p-px transition-colors select-none","vertical"===t&&"h-full w-2.5 border-l border-l-transparent","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent",e),...o,children:(0,r.jsx)(G.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.i(90491);var ee=e.i(90798);e.i(85462);var er=e.i(26506);e.i(92233);var et=e.i(10025);e.i(8356);var eo=e.i(71045);e.i(78788);var en=e.i(91495);e.i(72028);var el=e.i(41506),ei=e.i(40327);function ea({features:e,onNewFeature:l,onFeatureClick:c,onFeaturesFolderClick:d,onFeaturesMenuClick:u}){let p=(0,n.usePathname)(),{state:f}=(0,o.useSidebar)(),{mounted:h,visible:v}=function(e,r){let[o,n]=(0,t.useState)(!e),[l,i]=(0,t.useState)(!e);return(0,t.useEffect)(()=>{if(!e){n(!0);let e=requestAnimationFrame(()=>i(!0));return()=>cancelAnimationFrame(e)}i(!1);let r=window.setTimeout(()=>n(!1),200);return()=>window.clearTimeout(r)},[e,200]),{mounted:o,visible:l}}("collapsed"===f,0),m=ei.featureStatusOrder.map(r=>{let{label:t}=ei.featureStatusConfig[r],o=e.filter(e=>e.status===r);return{key:r,label:t,items:o}});return(0,r.jsxs)(o.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,r.jsx)(o.SidebarHeader,{children:(0,r.jsxs)(o.SidebarMenu,{children:[(0,r.jsx)(o.SidebarMenuItem,{children:(0,r.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[h?(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",v?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!v,children:[(0,r.jsx)(et.ShepLogo,{className:"shrink-0",size:20}),(0,r.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,r.jsx)(er.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,r.jsx)(ee.SidebarNavItem,{icon:i,label:"Control Center",href:"/",active:"/"===p}),(0,r.jsx)(ee.SidebarNavItem,{icon:a,label:"Memory",href:"/memory",active:"/memory"===p})]})}),(0,r.jsx)(o.SidebarContent,{children:h?(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",v?"opacity-100":"opacity-0"].join(" "),children:[(0,r.jsx)(el.SidebarSectionHeader,{label:"Features",onFolderClick:d,onMenuClick:u}),(0,r.jsx)(Q,{children:m.map(({key:e,label:t,items:o})=>o.length>0?(0,r.jsx)(en.FeatureStatusGroup,{label:t,count:o.length,children:o.map(e=>(0,r.jsx)(eo.FeatureListItem,{name:e.name,status:e.status,startedAt:e.startedAt,duration:e.duration,onClick:c?()=>c(e.name):void 0},e.name))},e):null)})]}):null}),(0,r.jsx)(o.SidebarFooter,{children:(0,r.jsx)(o.SidebarMenu,{children:(0,r.jsx)(o.SidebarMenuItem,{children:(0,r.jsxs)(o.SidebarMenuButton,{onClick:l,tooltip:"New feature",children:[(0,r.jsx)(s.Plus,{}),(0,r.jsx)("span",{children:"New feature"})]})})})}),(0,r.jsx)(o.SidebarRail,{})]})}e.i(53777);var es=e.i(25732),ec=e.i(39443),ed=e.i(60112),eu=e.i(17406);let ep={[eu.NotificationSeverity.Success]:"success",[eu.NotificationSeverity.Error]:"error",[eu.NotificationSeverity.Warning]:"warning",[eu.NotificationSeverity.Info]:"info"};function ef({children:e}){!function(){let{lastEvent:e}=(0,ec.useAgentEventsContext)(),[r,o]=(0,t.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),n=(0,t.useRef)(new Set);(0,t.useEffect)(()=>{if(!e)return;let r=`${e.agentRunId}-${e.eventType}-${e.timestamp}`;if(!n.current.has(r)){let t;n.current.add(r),t=ep[e.severity]??"info",ed.toast[t](e.featureName,{description:e.message}),globalThis.Notification?.permission==="granted"&&new Notification(e.featureName,{body:e.message})}},[e]),(0,t.useCallback)(async()=>{void 0===globalThis.Notification||o(await globalThis.Notification.requestPermission())},[])}();let n=(0,t.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]);return(0,r.jsxs)(o.SidebarProvider,{children:[(0,r.jsx)(ea,{features:[],onNewFeature:n}),(0,r.jsx)(o.SidebarInset,{children:(0,r.jsxs)("div",{className:"relative h-full",children:[(0,r.jsx)("div",{className:"absolute top-3 right-3 z-50",children:(0,r.jsx)(es.ThemeToggle,{})}),(0,r.jsx)("main",{className:"h-full",children:e})]})})]})}function eh({children:e}){return(0,r.jsx)(ec.AgentEventsProvider,{children:(0,r.jsx)(ef,{children:e})})}e.s(["AppShell",()=>eh],87292)},25251,e=>{"use strict";var r=e.i(20314),t=e.i(60112);let o=({...e})=>(0,r.jsx)(t.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])}]);
|