UNPKG

@jjdenhertog/ai-driven-development

Version:

AI-driven development workflow with learning capabilities for Claude

1 lines 15 kB
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4780],{508:e=>{e.exports={container:"TasksSection_container__0YlHP",sidebar:"TasksSection_sidebar__LvfWr",header:"TasksSection_header__wK_cI",title:"TasksSection_title__XkuXv",newButton:"TasksSection_newButton__qFuk_",mainContent:"TasksSection_mainContent__VXsdj",placeholder:"TasksSection_placeholder__vApfa",sidebarActions:"TasksSection_sidebarActions__y6FCR",taskList:"TasksSection_taskList__rJdEF",error:"TasksSection_error__YU8kg",loading:"TasksSection_loading__idTQu",empty:"TasksSection_empty__qu_jo"}},733:(e,t,s)=>{Promise.resolve().then(s.bind(s,8745))},1241:(e,t,s)=>{"use strict";async function a(e){let t=await fetch(e);if(!t.ok)throw Error("Failed to fetch: ".concat(t.statusText));return t.json()}s.d(t,{FH:()=>c});let n="/api";var i=s(4380);let c={getTasks:function(){return a("".concat(n,"/tasks"))},getTask:function(e){return a("".concat(n,"/tasks/").concat(e))},updateTask:function(e,t){return(0,i.putJson)("".concat(n,"/tasks/").concat(e),t)},deleteTask:async function e(e){let t=await fetch("".concat(n,"/tasks/").concat(e),{method:"DELETE"});if(!t.ok)throw Error("Failed to delete: ".concat(t.statusText));return t.json()},getTaskSpecification:function(e){return a("".concat(n,"/tasks/").concat(e,"/specification"))},updateTaskSpecification:function(e,t){return(0,i.putJson)("".concat(n,"/tasks/").concat(e,"/specification"),{content:t})},getTaskSessions:function(e){return a("".concat(n,"/tasks/").concat(e,"/sessions"))},getTaskSession:function(e,t){return a("".concat(n,"/tasks/").concat(e,"/sessions/").concat(t))},getTaskOutput:function(e,t){return a("".concat(n,"/tasks/").concat(e,"/output/").concat(encodeURIComponent(t)))},getConcepts:()=>a("".concat(n,"/concepts")),getConcept:e=>a("".concat(n,"/concepts/").concat(e)),createConcept:(e,t)=>s.e(7313).then(s.bind(s,7313)).then(s=>{let{postJson:a}=s;return a("".concat(n,"/concepts"),{name:e,content:t})}),updateConcept:(e,t)=>Promise.resolve().then(s.bind(s,4380)).then(s=>{let{putJson:a}=s;return a("".concat(n,"/concepts/").concat(e),{content:t})}),deleteConcept:async e=>{let t=await fetch("".concat(n,"/concepts/").concat(e),{method:"DELETE"});if(!t.ok)throw Error("Failed to delete concept: ".concat(t.statusText));return t.json()},getPreferences:()=>a("".concat(n,"/preferences")),getPreference:e=>a("".concat(n,"/preferences/").concat(e)),updatePreference:(e,t)=>Promise.resolve().then(s.bind(s,4380)).then(s=>{let{putJson:a}=s;return a("".concat(n,"/preferences/").concat(e),{content:t})}),getExamples:()=>a("".concat(n,"/examples")),getExample:e=>a("".concat(n,"/examples/").concat(e)),updateExample:(e,t)=>Promise.resolve().then(s.bind(s,4380)).then(s=>{let{putJson:a}=s;return a("".concat(n,"/examples/").concat(e),{content:t})}),getTemplates:()=>a("".concat(n,"/templates")),getTemplate:e=>a("".concat(n,"/templates/").concat(e)),updateTemplate:(e,t)=>Promise.resolve().then(s.bind(s,4380)).then(s=>{let{putJson:a}=s;return a("".concat(n,"/templates/").concat(e),{content:t})}),getPrompts:()=>a("".concat(n,"/prompts")),getPrompt:e=>a("".concat(n,"/prompts/").concat(e)),updatePrompt:(e,t)=>Promise.resolve().then(s.bind(s,4380)).then(s=>{let{putJson:a}=s;return a("".concat(n,"/prompts/").concat(e),{content:t})}),getSettings:()=>a("".concat(n,"/settings")),updateSettings:e=>Promise.resolve().then(s.bind(s,4380)).then(t=>{let{putJson:s}=t;return s("".concat(n,"/settings"),e)}),getContainers:()=>a("".concat(n,"/containers")),getContainerCapabilities:()=>a("".concat(n,"/containers/capabilities")),containerAction:async(e,t,s,a)=>{let i=await fetch("".concat(n,"/containers/").concat(e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t,type:s,...a})});if(!i.ok)throw Error((await i.json().catch(()=>({error:i.statusText}))).error||"Failed to ".concat(t," container: ").concat(i.statusText));return i.json()},getContainerLogs:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,a=new URLSearchParams({stream:t.toString(),tail:s.toString()});return fetch("".concat(n,"/containers/").concat(e,"/logs?").concat(a.toString()))},getConceptFeatures:()=>a("".concat(n,"/concept-features")),getConceptFeature:e=>a("".concat(n,"/concept-features/").concat(e)),createConceptFeature:e=>s.e(7313).then(s.bind(s,7313)).then(t=>{let{postJson:s}=t;return s("".concat(n,"/concept-features"),e)}),updateConceptFeature:(e,t)=>Promise.resolve().then(s.bind(s,4380)).then(s=>{let{putJson:a}=s;return a("".concat(n,"/concept-features/").concat(e),t)}),assessConceptFeature:e=>s.e(7313).then(s.bind(s,7313)).then(t=>{let{postJson:s}=t;return s("".concat(n,"/concept-features/").concat(e,"/assess"),{})}),deleteConceptFeature:async e=>{let t=await fetch("".concat(n,"/concept-features/").concat(e),{method:"DELETE"});if(!t.ok)throw Error("Failed to delete concept feature: ".concat(t.statusText));return t.json()},getTaskPhases:e=>a("".concat(n,"/tasks/").concat(e,"/phases")),getTaskPhase:(e,t)=>a("".concat(n,"/tasks/").concat(e,"/phases/").concat(t))}},1244:e=>{e.exports={container:"TaskList_container__Z5oaZ",title:"TaskList_title__qddkI",list:"TaskList_list__1dYWn",task:"TaskList_task__grOCj",selected:"TaskList_selected__JRoRi",multiSelected:"TaskList_multiSelected__Fn9I_",hold:"TaskList_hold__xprry",taskHeader:"TaskList_taskHeader__4dJa1",status:"TaskList_status__z1KGG","status-pending":"TaskList_status-pending__UX5R6","status-in_progress":"TaskList_status-in_progress__Rh2Lq","status-failed":"TaskList_status-failed__N2P30","status-completed":"TaskList_status-completed__xNw9j","status-archived":"TaskList_status-archived__1pebN",id:"TaskList_id__iI3Wp",priority:"TaskList_priority__eiXEs",holdBadge:"TaskList_holdBadge__BjEGj",taskBody:"TaskList_taskBody__vo9cv",name:"TaskList_name__9_Up0",description:"TaskList_description__Sgw48",taskFooter:"TaskList_taskFooter__zbxWB",type:"TaskList_type__tqfIx",dependencies:"TaskList_dependencies__4QxEb",taskGroup:"TaskList_taskGroup__lUvaw",divider:"TaskList_divider__Qr75L",draftSection:"TaskList_draftSection__ZjCrn",taskInfo:"TaskList_taskInfo__jCi7P",icon:"TaskList_icon__WeIWZ",draft:"TaskList_draft__JIMTD",failed:"TaskList_failed__Z7xav",taskId:"TaskList_taskId__SLQOJ",taskName:"TaskList_taskName__TM3PY",taskDescription:"TaskList_taskDescription__bkmuz",taskMeta:"TaskList_taskMeta__i3DXF",critical:"TaskList_critical__GjthD",high:"TaskList_high__B7gyf",medium:"TaskList_medium__sTp4N",low:"TaskList_low__WnPKt",holdTag:"TaskList_holdTag__a4Zkc"}},3330:(e,t,s)=>{"use strict";s.d(t,{$:()=>c});var a=s(5155);s(2115);var n=s(7260),i=s.n(n);let c=e=>{let{variant:t="primary",size:s="medium",fullWidth:n=!1,iconOnly:c=!1,className:r="",children:o,...d}=e,l=[i().button,i()[t],i()[s],n?i().fullWidth:"",c?i().iconOnly:"",r].filter(Boolean).join(" ");return(0,a.jsx)("button",{type:"button",className:l,...d,children:o})}},4380:(e,t,s)=>{"use strict";async function a(e,t){let s=await fetch(e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok)throw Error("Failed to put: ".concat(s.statusText));return s.json()}s.r(t),s.d(t,{putJson:()=>a})},4653:(e,t,s)=>{"use strict";s.d(t,{M:()=>c});var a=s(5155);s(2115);var n=s(9209),i=s.n(n);let c=e=>{let{children:t,title:s,subtitle:n,variant:c="default",sidebarContent:r,sidebarHeader:o,sidebarWidth:d=400}=e,l=()=>s||n?(0,a.jsx)("div",{}):null;return"sidebar"===c?(0,a.jsxs)("div",{className:i().wrapper,children:[l(),(0,a.jsxs)("div",{className:"page-container with-sidebar",children:[(0,a.jsxs)("aside",{className:"sidebar",style:{width:"".concat(d,"px")},children:[o?(0,a.jsx)("div",{className:"sidebar-header",children:o}):null,r]}),(0,a.jsx)("main",{className:i().mainContent,children:t})]})]}):"grid"===c?(0,a.jsxs)("div",{className:i().wrapper,children:[l(),(0,a.jsxs)("div",{className:"page-container",children:[(0,a.jsxs)("aside",{className:i().gridSidebar,children:[o?(0,a.jsx)("div",{className:"sidebar-header",children:o}):null,r]}),(0,a.jsx)("main",{className:i().gridMain,children:t})]})]}):(0,a.jsxs)("div",{className:i().wrapper,children:[l(),(0,a.jsx)("div",{className:"page-container",children:(0,a.jsx)("main",{className:i().defaultContent,children:t})})]})}},5189:(e,t,s)=>{"use strict";s.d(t,{Y:()=>i,c:()=>n});var a=s(3578);function n(e){switch(e){case"completed":return a.e68;case"archived":return a.Oh6;case"in-progress":return a.z1G;case"failed":return a.GRI;case"draft":return a.ppD;default:return a.GEE}}function i(e){switch(e){case"completed":return"text-green-600";case"archived":return"text-gray-500";case"in-progress":return"text-blue-600";case"failed":return"text-red-600";case"draft":return"text-gray-400";case"pending":return"text-yellow-600";default:return"text-gray-600"}}},7260:e=>{e.exports={button:"Button_button__y6cjA",small:"Button_small__zTEVQ",medium:"Button_medium__QfI0S",large:"Button_large__4HR_t",primary:"Button_primary___8S9W",secondary:"Button_secondary__NR6ak",ghost:"Button_ghost__iCa4P",danger:"Button_danger__Oa3fp",fullWidth:"Button_fullWidth__IomvO",iconOnly:"Button_iconOnly__zknJx"}},8506:(e,t,s)=>{"use strict";s.d(t,{J:()=>r,h:()=>c});var a=s(5155),n=s(2115);let i=(0,n.createContext)(void 0);function c(e){let{children:t}=e,[s,c]=(0,n.useState)(new Set),r=n.useMemo(()=>({selectedTaskIds:s,setSelectedTaskIds:c}),[s]);return(0,a.jsx)(i.Provider,{value:r,children:t})}function r(){let e=(0,n.useContext)(i);if(!e)throw Error("useTaskSelection must be used within a TaskSelectionProvider");return e}},8745:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>x});var a=s(5155),n=s(2115),i=s(838),c=s(7489),r=s(3578),o=s(1241),d=s(3330),l=s(4653),u=s(5695),_=s(5189),p=s(1244),h=s.n(p);let k=(0,n.memo)(e=>{let{task:t,isSelected:s,isMultiSelected:i,isDraft:o,isFailed:d,onTaskClick:l}=e,u=(0,n.useCallback)(e=>{l(t.id,e)},[t.id,l]);return(0,a.jsxs)("div",{className:"".concat(h().task," ").concat(s?h().selected:""," ").concat(i?h().multiSelected:""," ").concat(o?h().draft:""," ").concat(d||t.status.includes("failed")?h().failed:""," ").concat(t.hold?h().hold:""),onClick:u,children:[(0,a.jsx)("span",{className:"".concat(h().icon," ").concat((0,_.Y)("draft"===t.status?"draft":t.status)),children:t.hold?(0,a.jsx)(c.g,{icon:r.G1Y}):(0,a.jsx)(c.g,{icon:(0,_.c)("draft"===t.status?"draft":t.status)})}),(0,a.jsxs)("div",{className:h().taskInfo,children:[(0,a.jsxs)("div",{className:h().taskHeader,children:[(0,a.jsx)("span",{className:h().taskId,children:t.id}),(0,a.jsx)("span",{className:h().taskName,children:t.name})]}),!!t.description&&(0,a.jsx)("div",{className:h().taskDescription,children:t.description}),!!(t.type||t.hold)&&(0,a.jsxs)("div",{className:h().taskMeta,children:[!!t.type&&(0,a.jsx)("span",{className:h().type,children:t.type}),!!t.hold&&(0,a.jsx)("span",{className:h().holdTag,children:"HOLD"})]})]})]})});k.displayName="TaskItem";let f=e=>{let{tasks:t,onSelectionChange:s}=e,i=(0,u.useRouter)(),c=(0,u.useParams)(),r=null==c?void 0:c.id,[o,d]=(0,n.useState)(new Set),l=(0,n.useRef)(null);(0,n.useEffect)(()=>{o.size>1&&r&&i.push("/tasks")},[o,r,i]),(0,n.useEffect)(()=>{null==s||s(o)},[o,s]);let _=new Set(["draft","in-progress","failed","pending","completed","archived"]),p={draft:t.filter(e=>"draft"===e.status),inProgress:t.filter(e=>"in-progress"===e.status),failed:t.filter(e=>e.status.includes("failed")),pending:t.filter(e=>{var s;return"pending"===e.status&&!(null==(s=e.dependencies)?void 0:s.some(e=>{let s=t.find(t=>t.id===e);return s&&"archived"!==s.status}))}),waiting:t.filter(e=>{var s;return"pending"===e.status&&(null==(s=e.dependencies)?void 0:s.some(e=>{let s=t.find(t=>t.id===e);return s&&"archived"!==s.status}))}),completed:t.filter(e=>"completed"===e.status),archived:t.filter(e=>"archived"===e.status),other:t.filter(e=>!_.has(e.status))},f=[...p.draft,...p.inProgress,...p.completed,...p.failed,...p.pending,...p.waiting,...p.archived,...p.other].map(e=>e.id),m=(0,n.useCallback)((e,t)=>{if(t.preventDefault(),t.metaKey||t.ctrlKey)d(t=>{let s=new Set(t);return r&&0===s.size&&(s.add(r),l.current=r),s.has(e)?(s.delete(e),s.size>0?l.current=Array.from(s)[s.size-1]:l.current=null):(s.add(e),l.current=e),s});else if(t.shiftKey){let t=f.indexOf(e),s=l.current||r;if(s){let e=f.indexOf(s);if(-1!==e&&-1!==t){let a=Math.min(e,t),n=Math.max(e,t);d(new Set(f.slice(a,n+1))),l.current=s}}else d(new Set([e])),l.current=e}else d(new Set),l.current=e,i.push("/tasks/".concat(e))},[f,r,i]),g=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return 0===t.length?null:(0,a.jsxs)("div",{className:h().taskGroup,children:[(0,a.jsx)("div",{className:h().divider,children:e}),t.map(e=>(0,a.jsx)(k,{task:e,isSelected:r===e.id,isMultiSelected:o.has(e.id),isDraft:s,isFailed:n,onTaskClick:m},e.id))]})};return(0,a.jsx)("div",{className:h().container,children:(0,a.jsxs)("div",{className:h().list,children:[p.draft.length>0&&(0,a.jsx)("div",{className:h().draftSection,children:g("Working On",p.draft,!0)}),g("In Progress",p.inProgress),g("Completed",p.completed),g("Failed",p.failed,p.inProgress.length>0,!0),g("Pending",p.pending,p.inProgress.length>0||p.failed.length>0),g("Waiting (Dependencies)",p.waiting),g("Archived",p.archived),g("Other",p.other)]})})};var m=s(8506),g=s(508),T=s.n(g);function v(e){let{children:t}=e,{setSelectedTaskIds:s}=(0,m.J)(),{data:u,error:_,mutate:p,isValidating:h}=(0,i.Ay)("tasks",o.FH.getTasks,{revalidateOnFocus:!0,revalidateOnReconnect:!0});(0,n.useEffect)(()=>{let e=()=>{p(o.FH.getTasks(),!1)};return window.addEventListener("task-deleted",e),()=>{window.removeEventListener("task-deleted",e)}},[p]);let k=(0,n.useCallback)(()=>{p()},[p]),g=(0,a.jsx)("div",{className:T().sidebarActions,children:(0,a.jsx)(d.$,{onClick:k,variant:"ghost",size:"small",disabled:h,title:"Refresh tasks",children:(0,a.jsx)(c.g,{icon:r.VNe,spin:h})})}),v=(0,a.jsx)("div",{className:T().taskList,children:_?(0,a.jsx)("div",{className:"error-state",children:(0,a.jsx)("p",{children:"Failed to load tasks"})}):void 0===u?(0,a.jsx)("div",{className:"loading-state",children:"Loading tasks..."}):0===u.length?(0,a.jsx)("div",{className:"empty-state",children:(0,a.jsx)("p",{children:"No tasks yet"})}):(0,a.jsx)(f,{tasks:u,onSelectionChange:s})});return(0,a.jsx)(l.M,{title:"Tasks",subtitle:"Manage and track your development tasks",variant:"sidebar",sidebarHeader:g,sidebarContent:v,sidebarWidth:450,children:t})}function x(e){let{children:t}=e;return(0,a.jsx)(m.h,{children:(0,a.jsx)(v,{children:t})})}},9209:e=>{e.exports={wrapper:"PageLayout_wrapper__fh_sR",sidebarWidth:"PageLayout_sidebarWidth__GEKiJ",mainContent:"PageLayout_mainContent__AHqyf",defaultContent:"PageLayout_defaultContent__IxtZ2",gridSidebar:"PageLayout_gridSidebar__N5k36",gridMain:"PageLayout_gridMain__fW_o_"}}},e=>{e.O(0,[2403,6750,7459,2266,1919,838,8441,5964,7358],()=>e(e.s=733)),_N_E=e.O()}]);