dev-process-kit 0.3.0 → 0.3.2

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.
Files changed (28) hide show
  1. package/dist/boards.js +1 -1
  2. package/dist/chunks/{shared-DegJ_tfw.js → shared-7Yki1uKI.js} +1 -1
  3. package/dist/chunks/{shared-Bs2YYFvO.js → shared-BBTySCXK.js} +1 -1
  4. package/dist/chunks/{shared-BFraiskj.js → shared-BPVvO01I.js} +264 -281
  5. package/dist/chunks/{shared-B_Tiv_T3.js → shared-BblP0eEY.js} +1 -1
  6. package/dist/chunks/{shared-RvLH2Fqp.js → shared-Bu1HuBxn.js} +1 -1
  7. package/dist/chunks/{shared-Ln6ei2B2.js → shared-C44CU0VV.js} +98 -94
  8. package/dist/chunks/{shared-epAjO2d1.js → shared-C4EqS9Lp.js} +1 -1
  9. package/dist/chunks/{shared-TtB-p2Zh.js → shared-C5wXNKl3.js} +1 -1
  10. package/dist/chunks/{shared-BYbcHniE.js → shared-Cbm3cQ8l.js} +1 -1
  11. package/dist/chunks/{shared-FMBoDqPg.js → shared-DPD_tBh8.js} +1 -1
  12. package/dist/chunks/{shared-DYDJzB79.js → shared-DlZJHHpN.js} +298 -213
  13. package/dist/chunks/{shared-BfByEotW.js → shared-UH4xqvj9.js} +770 -372
  14. package/dist/chunks/{shared-WtWbdwp_.js → shared-bP-1q7ZQ.js} +1 -1
  15. package/dist/chunks/shared-bQPXht-t.js +43 -0
  16. package/dist/chunks/shared-hhwSHdS3.js +1 -0
  17. package/dist/chunks/{shared-DqlTHpRQ.js → shared-nrgnwzCU.js} +1 -1
  18. package/dist/chunks/{shared-DNsl9DK1.js → shared-pYjptMZ1.js} +1 -1
  19. package/dist/components.js +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/views/delegation-poker.js +1 -1
  22. package/dist/views/plain.js +1 -1
  23. package/dist/views/prototype.js +1 -1
  24. package/dist/views/slides.js +1 -1
  25. package/dist/views/task-board.js +1 -1
  26. package/dist/views/usm.js +1 -1
  27. package/package.json +1 -1
  28. package/dist/chunks/shared-DMksNmni.js +0 -1
@@ -1,4 +1,4 @@
1
- import{ah as a}from"./shared-DYDJzB79.js";const t=a`
1
+ import{ah as a}from"./shared-DlZJHHpN.js";const t=a`
2
2
  /* ------------------------------------------------------------ browser window */
3
3
 
4
4
  :where(.dpk-browser-frame) {
@@ -1,4 +1,4 @@
1
- import{au as qe,bf as B,av as u,aw as l,aa as w,az as $,ac as b,aM as g,aB as j,aN as _,ax as Y,ay as V,p as y,t as Ce,aC as Be,aO as _e,aA as Le,ab as L,N as Pe,e as Ne,a5 as Re,S as Ge,P as S,ai as n,as as d,z as Ie,bm as Qe,bn as Ue,aH as E,bc as J,bd as Me,I as He,bz as P,ah as We,V as X,bh as Ke,l as Fe,aW as je}from"./shared-DYDJzB79.js";import{a as Ye}from"./shared-FMBoDqPg.js";import{D as Ve,d as Je}from"./shared-DqlTHpRQ.js";import{o as T}from"./shared-DMksNmni.js";const Z=["working","waiting","blocked","done"],D=["todo","doing","blocked","done"],ee=["agent","human"],v=Y(b(),V(1)),Xe=u({id:g,name:v,kind:l($(ee),"agent")}),Ze=u({id:g,title:v,status:l($(D),"todo"),assignee:l(g),note:l(b()),design:l(g),proposed:l(j(),!1),reason:l(b()),questions:_}),ea=u({id:g,label:l(b()),href:v,kind:l(b()),description:l(b()),questions:_}),aa=u({id:g,title:v,body:l(b()),questions:_}),ta=u({id:g,ref:l(v),title:v,description:l(b()),blocking:l(j(),!1),assumption:l(b())}),ae=u({title:l(b(),""),status:l($(Z)),designs:l(w(aa),[]),members:l(w(Xe),[]),todos:l(w(Ze),[]),outputs:l(w(ea),[]),questions:l(w(ta),[])}),O=(a,e)=>{const t=new Set;for(const s of e){if(t.has(s))throw new Error(`duplicate ${a} id: ${s}`);t.add(s)}},k=a=>a===void 0||a.trim()===""?null:a,te=a=>{const e=qe(ae,a);O("member",e.members.map(o=>o.id)),O("design",e.designs.map(o=>o.id)),O("todo",e.todos.map(o=>o.id)),O("output",e.outputs.map(o=>o.id)),O("question",e.questions.map(o=>o.id));const t=new Set(e.members.map(o=>o.id));for(const o of e.todos)if(o.assignee!==void 0&&!t.has(o.assignee))throw new Error(`todo ${o.id} is assigned to ${o.assignee}, which is not in members`);const s=new Set(e.designs.map(o=>o.id));for(const o of e.todos)if(o.design!==void 0&&!s.has(o.design))throw new Error(`todo ${o.id} belongs to ${o.design}, which is not in designs`);for(const o of e.questions)if(!o.blocking&&k(o.assumption)===null)throw new Error(`question ${o.id} does not block, so it needs the assumption the agent works on`);return{title:e.title,status:e.status??null,designs:e.designs.map(o=>({id:o.id,title:o.title,body:k(o.body),...B(o.questions)})),members:e.members,todos:e.todos.map(o=>({id:o.id,title:o.title,status:o.status,assignee:o.assignee??null,note:k(o.note),design:o.design??null,proposed:o.proposed,reason:k(o.reason),added:!1,...B(o.questions)})),outputs:e.outputs.map(o=>({id:o.id,label:k(o.label),href:o.href,kind:k(o.kind),description:k(o.description),...B(o.questions)})),questions:e.questions.map((o,r)=>({id:o.id,ref:o.ref??`Q${r+1}`,title:o.title,description:k(o.description),blocking:o.blocking,assumption:k(o.assumption)})),answers:{},decisions:{}}},oe=()=>({title:"",status:null,designs:[],members:[],todos:[],outputs:[],questions:[],answers:{},decisions:{}}),z=(a,e)=>e===null?void 0:a.members.find(t=>t.id===e),h=(a,e)=>a.todos.find(t=>t.id===e),N=(a,e)=>a.designs.find(t=>t.id===e),se=(a,e)=>a.todos.filter(t=>t.design===e),q=(a,e)=>a.questions.find(t=>t.id===e),re=(a,e)=>{const t=a.answers[e.id];return t===void 0?!1:t.kind==="approve"||t.text.trim()!==""},R=(a,e)=>!e.proposed||a.decisions[e.id]==="accept",C=(a,e)=>R(a,e)&&z(a,e.assignee)?.kind==="human",de=(a,e,t)=>{const s={...a};return t===null?delete s[e]:s[e]=t,s},G=(a,e,t)=>({...a,answers:de(a.answers,e,t)}),oa=(a,e,t)=>({...a,decisions:de(a.decisions,e,t)}),sa=(a,e,t)=>({...a,todos:a.todos.map(s=>s.id===e?t(s):s)}),f={ANSWER_QUESTION:y("ANSWER_QUESTION","question",Be("kind",[u({kind:L("approve")}),u({kind:L("answer"),text:b()}),u({kind:L("clear")})])),DECIDE_PROPOSAL:y("DECIDE_PROPOSAL","todo",u({decision:$(["accept","decline","clear"])})),SET_TODO_STATUS:y("SET_TODO_STATUS","todo",u({status:$(D)})),ADD_TODO:y("ADD_TODO","page",u({id:g,title:Y(b(),Le(),V(1)),assignee:_e(g)}),{dedupeKey:Ce}),DELETE_TODO:y("DELETE_TODO","todo",u({}))},ne={type:"page",id:"task-board"},I=(a,e)=>({type:"ANSWER_QUESTION",target:{type:"question",id:a},payload:e}),ie=(a,e)=>({type:"DECIDE_PROPOSAL",target:{type:"todo",id:a},payload:{decision:e}}),Q=(a,e)=>({type:"SET_TODO_STATUS",target:{type:"todo",id:a},payload:{status:e}}),le=(a,e,t)=>({type:"ADD_TODO",target:ne,payload:{id:a,title:e,assignee:t}}),pe=a=>({type:"DELETE_TODO",target:{type:"todo",id:a},payload:{}}),ce=(a,e)=>{const t=Pe(f,e);if(t===null)return null;const s=t.target.id;switch(t.type){case"ANSWER_QUESTION":{const o=q(a,s);if(o===void 0)return null;const r=t.payload;return r.kind==="clear"?G(a,s,null):r.kind==="approve"?o.assumption===null?null:G(a,s,{kind:"approve"}):G(a,s,{kind:"answer",text:r.text})}case"DECIDE_PROPOSAL":{if(h(a,s)?.proposed!==!0)return null;const{decision:o}=t.payload;return oa(a,s,o==="clear"?null:o)}case"SET_TODO_STATUS":{const o=h(a,s);if(o===void 0||!C(a,o))return null;const{status:r}=t.payload;return sa(a,s,i=>({...i,status:r}))}case"ADD_TODO":{const{payload:o}=t;return h(a,o.id)!==void 0||o.assignee!==null&&z(a,o.assignee)===void 0?null:{...a,todos:[...a.todos,{id:o.id,title:o.title,status:"todo",assignee:o.assignee,note:null,design:null,proposed:!1,reason:null,added:!0}]}}case"DELETE_TODO":return h(a,s)?.added!==!0?null:{...a,todos:a.todos.filter(o=>o.id!==s)};default:return Ne(t)}},U=Re({en:{wholeBoard:"Whole board",statusWorking:"Working",statusWaiting:"Waiting on you",statusBlocked:"Blocked",statusDone:"Done",todoTodo:"To do",todoDoing:"In progress",todoBlocked:"Blocked",todoDone:"Done",kindAgent:"Agent",kindHuman:"Human",designs:"Design docs",designTasks:"Tasks under this design",noDesigns:"The agent has not written a design doc yet.",noDesignTasks:"No task is linked to this design doc yet.",tabs:"Board sections",tabDesigns:"Design Docs",tabQuestions:"Questions",tabTasks:"Tasks",openCount:a=>`${a} open`,noQuestions:"The agent has nothing to ask right now.",questions:"Questions from the agent",questionsProgress:(a,e)=>`${a} of ${e} replied`,blockingGroup:"Blocking \u2014 the agent waits for your decision",provisionalGroup:"Going ahead on an assumption \u2014 the agent adjusts if you answer otherwise",blockingTag:"Blocking",assumption:"Assumption",recommendation:"Agent recommends",approveAssumption:"OK, go with this",approveRecommendation:"OK, go with the recommendation",answerOther:"Answer differently",answerOf:a=>`Your answer to ${a}`,answerPlaceholder:"What you expect instead\u2026",blockingPlaceholder:"Your decision\u2026",approvedTag:"Approved",answeredTag:"Answered",progress:(a,e)=>`${a} of ${e} done`,noTodosYet:"No todos yet",tasksBoard:"Tasks by status",laneCount:a=>a===1?"1 task":`${a} tasks`,laneEmpty:"Nothing here",dragHint:"Drop on another column to change the status",assignee:"Assignee",unassigned:"Unassigned",memberOption:(a,e)=>`${a} (${e})`,statusOf:a=>`Status of \u201C${a}\u201D`,filterTodos:"Show todos",filterAll:"All",filterHuman:"People",addedTag:"Added by you",changedTag:"Changed",removeAdded:"Remove this todo you added",newTodo:"New todo",newTodoPlaceholder:"Add a todo for the agent\u2026",newTodoAssignee:"Assignee of the new todo",addTodo:"Add",proposedMark:"Proposed by the agent",reason:"Why",accept:"Accept",decline:"Decline",decisionOf:a=>`Decision on \u201C${a}\u201D`,acceptedTag:"Accepted",declinedTag:"Declined",undoDecision:"Undo",outputs:"Outputs",noOutputs:"Nothing has been produced yet.",copy:a=>`Copy ${a}`,copied:"Copied",commentOn:a=>`Comment on ${a}`,todoGroup:"Todo",designGroup:"Design Doc",proposalGroup:"Proposal",questionGroup:"Question",approved:"Approve the assumption",answered:"Answer",answerCleared:"Clear the reply",accepted:"Accept the proposal",declined:"Decline the proposal",decisionCleared:"Clear the decision",statusChanged:"Change the status",todoAdded:"Add a todo",todoRemoved:"Remove the added todo",quoted:a=>`\u2192 \u201C${a}\u201D`,change:(a,e)=>`${a} \u2192 ${e}`},ja:{wholeBoard:"\u30DC\u30FC\u30C9\u5168\u4F53",statusWorking:"\u4F5C\u696D\u4E2D",statusWaiting:"\u3042\u306A\u305F\u306E\u8FD4\u7B54\u5F85\u3061",statusBlocked:"\u30D6\u30ED\u30C3\u30AF\u4E2D",statusDone:"\u5B8C\u4E86",todoTodo:"\u672A\u7740\u624B",todoDoing:"\u9032\u884C\u4E2D",todoBlocked:"\u30D6\u30ED\u30C3\u30AF",todoDone:"\u5B8C\u4E86",kindAgent:"Agent",kindHuman:"\u4EBA\u9593",designs:"Design Doc",designTasks:"\u3053\u306E Design Doc \u306E\u30BF\u30B9\u30AF",noDesigns:"Agent \u306F\u307E\u3060 Design Doc \u3092\u66F8\u3044\u3066\u3044\u307E\u305B\u3093\u3002",noDesignTasks:"\u3053\u306E Design Doc \u306B\u7D10\u3065\u304F\u30BF\u30B9\u30AF\u306F\u307E\u3060\u3042\u308A\u307E\u305B\u3093\u3002",tabs:"\u30DC\u30FC\u30C9\u306E\u533A\u5206",tabDesigns:"Design Doc",tabQuestions:"\u8CEA\u554F",tabTasks:"\u30BF\u30B9\u30AF",openCount:a=>`\u672A\u56DE\u7B54 ${a} \u4EF6`,noQuestions:"\u4ECA Agent \u304B\u3089\u805E\u304D\u305F\u3044\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002",questions:"Agent \u304B\u3089\u306E\u8CEA\u554F",questionsProgress:(a,e)=>`\u8FD4\u7B54\u6E08\u307F ${a} / ${e}`,blockingGroup:"\u30D6\u30ED\u30C3\u30AB\u30FC \u2014 \u6C7A\u3081\u3066\u3082\u3089\u3046\u307E\u3067\u5148\u306B\u9032\u3081\u306A\u3044",provisionalGroup:"\u4EEE\u306E\u524D\u63D0\u3067\u9032\u884C\u4E2D \u2014 \u9055\u3048\u3070\u65B9\u91DD\u3092\u76F4\u3059",blockingTag:"\u30D6\u30ED\u30C3\u30AB\u30FC",assumption:"\u4EEE\u56DE\u7B54",recommendation:"Agent \u306E\u63A8\u5968",approveAssumption:"\u3053\u306E\u524D\u63D0\u3067 OK",approveRecommendation:"\u63A8\u5968\u3069\u304A\u308A\u3067 OK",answerOther:"\u5225\u306E\u56DE\u7B54\u3092\u3059\u308B",answerOf:a=>`${a} \u3078\u306E\u56DE\u7B54`,answerPlaceholder:"\u671F\u5F85\u3059\u308B\u56DE\u7B54\u3092\u5165\u529B\u2026",blockingPlaceholder:"\u3069\u3046\u3059\u308B\u304B\u3092\u5165\u529B\u2026",approvedTag:"\u627F\u8A8D\u6E08\u307F",answeredTag:"\u56DE\u7B54\u6E08\u307F",progress:(a,e)=>`${e} \u4EF6\u4E2D ${a} \u4EF6\u5B8C\u4E86`,noTodosYet:"Todo \u306F\u307E\u3060\u3042\u308A\u307E\u305B\u3093",tasksBoard:"\u72B6\u614B\u3054\u3068\u306E\u30BF\u30B9\u30AF",laneCount:a=>`${a} \u4EF6`,laneEmpty:"\u306A\u3057",dragHint:"\u5225\u306E\u5217\u306B\u30C9\u30ED\u30C3\u30D7\u3059\u308B\u3068\u72B6\u614B\u304C\u5909\u308F\u308A\u307E\u3059",assignee:"\u62C5\u5F53",unassigned:"\u672A\u5272\u308A\u5F53\u3066",memberOption:(a,e)=>`${a}\uFF08${e}\uFF09`,statusOf:a=>`\u300C${a}\u300D\u306E\u72B6\u614B`,filterTodos:"\u8868\u793A\u3059\u308B Todo",filterAll:"\u3059\u3079\u3066",filterHuman:"\u4EBA\u9593\u306E\u62C5\u5F53",addedTag:"\u3042\u306A\u305F\u304C\u8FFD\u52A0",changedTag:"\u5909\u66F4\u3042\u308A",removeAdded:"\u8FFD\u52A0\u3057\u305F Todo \u3092\u53D6\u308A\u6D88\u3059",newTodo:"\u65B0\u3057\u3044 Todo",newTodoPlaceholder:"Agent \u306B\u983C\u3080 Todo \u3092\u8FFD\u52A0\u2026",newTodoAssignee:"\u65B0\u3057\u3044 Todo \u306E\u62C5\u5F53",addTodo:"\u8FFD\u52A0",proposedMark:"Agent \u304B\u3089\u306E\u63D0\u6848",reason:"\u306A\u305C",accept:"\u627F\u8A8D",decline:"\u898B\u9001\u308A",decisionOf:a=>`\u300C${a}\u300D\u306E\u5224\u65AD`,acceptedTag:"\u627F\u8A8D\u6E08\u307F",declinedTag:"\u898B\u9001\u308A",undoDecision:"\u53D6\u308A\u6D88\u3059",outputs:"\u6210\u679C\u7269",noOutputs:"\u307E\u3060\u6210\u679C\u7269\u306F\u3042\u308A\u307E\u305B\u3093\u3002",copy:a=>`${a} \u3092\u30B3\u30D4\u30FC`,copied:"\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",commentOn:a=>`${a} \u306B\u30B3\u30E1\u30F3\u30C8`,todoGroup:"Todo",designGroup:"Design Doc",proposalGroup:"\u63D0\u6848",questionGroup:"\u8CEA\u554F",approved:"\u524D\u63D0\u3092\u627F\u8A8D",answered:"\u56DE\u7B54",answerCleared:"\u8FD4\u7B54\u3092\u30AF\u30EA\u30A2",accepted:"\u63D0\u6848\u3092\u627F\u8A8D",declined:"\u63D0\u6848\u3092\u898B\u9001\u308A",decisionCleared:"\u63D0\u6848\u306E\u5224\u65AD\u3092\u30AF\u30EA\u30A2",statusChanged:"\u72B6\u614B\u3092\u5909\u66F4",todoAdded:"Todo \u3092\u8FFD\u52A0",todoRemoved:"\u8FFD\u52A0\u3057\u305F Todo \u3092\u53D6\u308A\u6D88\u3057",quoted:a=>`\u2192 \u300C${a}\u300D`,change:(a,e)=>`${a} \u2192 ${e}`}}),ra=(a,e)=>{switch(e){case"working":return a.statusWorking;case"waiting":return a.statusWaiting;case"blocked":return a.statusBlocked;case"done":return a.statusDone}},x=(a,e)=>{switch(e){case"todo":return a.todoTodo;case"doing":return a.todoDoing;case"blocked":return a.todoBlocked;case"done":return a.todoDone}},da=(a,e)=>e==="agent"?a.kindAgent:a.kindHuman,na=(a,e,t)=>t===null?a.unassigned:z(e,t)?.name??t,ue=a=>a.title===""?"Task Context Board":a.title,be=(a,e,t)=>{switch(t.type){case"todo":{const s=h(e,t.id);return`${s?.proposed===!0?a.proposalGroup:a.todoGroup} \xB7 ${s?.title??t.id}`}case"design":{const s=N(e,t.id);return`${a.designGroup} \xB7 ${s?.title??t.id}`}case"question":{const s=q(e,t.id);return s===void 0?t.id:`${s.ref} \xB7 ${s.title}`}case"page":return a.wholeBoard;default:return t.id}},ia=(a,e)=>{switch(e){case"accept":return{title:a.accepted,tone:"update"};case"decline":return{title:a.declined,tone:"update"};case"clear":return{title:a.decisionCleared,tone:"delete"}}},la=(a,e,t)=>{switch(t.type){case"ANSWER_QUESTION":{const s=S(f.ANSWER_QUESTION,t);if(s.kind==="clear")return{title:a.answerCleared,tone:"delete"};if(s.kind==="approve"){const o=q(e,t.target.id)?.assumption??null;return{title:a.approved,tone:"update",...o===null?{}:{body:a.quoted(o)}}}return{title:a.answered,tone:"update",body:a.quoted(s.text.slice(0,120))}}case"DECIDE_PROPOSAL":return ia(a,S(f.DECIDE_PROPOSAL,t).decision);case"SET_TODO_STATUS":{const{status:s}=S(f.SET_TODO_STATUS,t),o=h(e,t.target.id)?.status,r=x(a,s);return{title:a.statusChanged,tone:"update",body:o===void 0?r:a.change(x(a,o),r)}}case"ADD_TODO":{const s=S(f.ADD_TODO,t);return{title:a.todoAdded,tone:"create",targetLabel:`${a.todoGroup} \xB7 ${s.title}`,...s.assignee===null?{}:{body:`${a.assignee}: ${na(a,e,s.assignee)}`}}}case"DELETE_TODO":return{title:a.todoRemoved,tone:"delete"};default:return{title:t.type,tone:"meta"}}},ge=(a,e,t,s)=>{let o;try{o=la(a,s??t,e)}catch{o={title:e.type,tone:"meta"}}return{title:o.title,targetLabel:o.targetLabel??be(a,t,e.target),tone:o.tone,...o.body===void 0?{}:{summary:o.body}}},ke=a=>`${a.type} ${Ge(a.target)} ${JSON.stringify(a.payload)}`,he=(a,e)=>[...e.questions.map(t=>({value:`question:${t.id}`,label:`${t.ref} \xB7 ${t.title}`,group:a.questionGroup})),...e.todos.map(t=>({value:`todo:${t.id}`,label:t.title,group:t.proposed?a.proposalGroup:a.todoGroup})),...e.designs.map(t=>({value:`design:${t.id}`,label:t.title,group:a.designGroup}))],fe=(a,e)=>e,pa=(a,e,t)=>{const s=a.answers[e.id];return{id:e.id,ref:e.ref,title:e.title,description:e.description,blocking:e.blocking,assumption:e.assumption,reply:s?.kind??"none",resolved:re(a,e),draft:s?.kind==="answer"?s.text:"",comments:t(`question:${e.id}`)}},me=(a,e)=>{const t=a.questions.map(o=>pa(a,o,e)),s=t.filter(o=>o.resolved).length;return{blocking:t.filter(o=>o.blocking),provisional:t.filter(o=>!o.blocking),resolved:s,total:t.length,open:t.length-s,blockingOpen:t.filter(o=>o.blocking&&!o.resolved).length}},ca={todo:"gray",doing:"blue",blocked:"red",done:"green"},ve=(a,e,t,s=null)=>{const o=e.designs.find(r=>r.id===s)??e.designs[0];return{items:e.designs.map(r=>({id:r.id,title:r.title,taskCount:se(e,r.id).length})),selected:o===void 0?null:ua(a,e,o,t)}},ua=(a,e,t,s)=>({id:t.id,title:t.title,body:t.body,tasks:se(e,t.id).map(o=>({id:o.id,title:o.title,status:o.status,statusLabel:x(a,o.status),proposal:o.proposed?e.decisions[o.id]??"pending":null})),comments:s(`design:${t.id}`),...t.questions===void 0?{}:{questions:t.questions}}),ba=(a,e,t,s,o)=>{const r=h(t,s.id),i=z(e,s.assignee),c=s.design===null?void 0:N(e,s.design);return{id:s.id,title:s.title,note:s.note,reason:s.reason,design:c===void 0?null:{id:c.id,title:c.title},status:s.status,statusLabel:x(a,s.status),assignee:s.assignee,assigneeName:i?.name??null,assigneeKind:i?.kind??null,editable:C(e,s),proposal:s.proposed?e.decisions[s.id]??"pending":null,added:s.added,changed:r!==void 0&&r.status!==s.status,comments:o(`todo:${s.id}`),...s.questions===void 0?{}:{questions:s.questions}}},xe=(a,e,t,s,o="all")=>{const r=e.members.some(p=>p.kind==="human"),i=r?o:"all",c=e.todos.map(p=>ba(a,e,t,p,s)),K=p=>p.assigneeKind==="human",Ee=i==="human"?c.filter(K):c,A=e.todos.filter(p=>R(e,p)),F=A.filter(p=>p.status==="done").length;return{lanes:D.map(p=>({status:p,label:x(a,p),tone:ca[p],cards:Ee.filter(ze=>ze.status===p)})),filter:i,canFilter:r,humanCount:c.filter(K).length,progress:{done:F,total:A.length,label:A.length===0?a.noTodosYet:a.progress(F,A.length)},statuses:D.map(p=>({value:p,label:x(a,p)})),members:e.members.map(p=>({id:p.id,label:a.memberOption(p.name,da(a,p.kind))}))}},we=a=>{if(!/^[a-z][a-z\d+.-]*:\/\//i.test(a))return{kind:"path"};try{return{kind:"url",host:new URL(a).host}}catch{return{kind:"path"}}},$e=a=>a.outputs.map(e=>({id:e.id,title:e.label??e.href,labelled:e.label!==null,href:e.href,kind:e.kind,description:e.description,place:we(e.href),...e.questions===void 0?{}:{questions:e.questions}})),ye=(a,e)=>{switch(e.type){case"todo":return h(a,e.id)!==void 0;case"design":return N(a,e.id)!==void 0;case"question":return q(a,e.id)!==void 0;case"page":return!0;default:return!1}},Te=a=>{const e=U(a);return{kind:"view",name:"task-board",label:"Task Context Board",addable:!1,parseBase:te,emptyBase:oe,actions:f,apply:ce,hasTarget:ye,describe:(t,s,o)=>ge(e,t,s,o),serialize:ke,resolveNavigation:fe,commentTargets:t=>he(e,t),title:ue}},M=(a,e,t,s)=>d`
1
+ import{au as qe,bf as B,av as u,aw as l,aa as w,az as $,ac as b,aM as g,aB as j,aN as _,ax as Y,ay as V,p as y,t as Ce,aC as Be,aO as _e,aA as Le,ab as L,N as Pe,e as Ne,a5 as Re,S as Ge,P as S,ai as n,as as d,z as Ie,bm as Qe,bn as Ue,aH as E,bc as J,bd as Me,I as He,bz as P,ah as We,V as X,bh as Ke,l as Fe,aW as je}from"./shared-DlZJHHpN.js";import{a as Ye}from"./shared-DPD_tBh8.js";import{D as Ve,d as Je}from"./shared-nrgnwzCU.js";import{o as T}from"./shared-hhwSHdS3.js";const Z=["working","waiting","blocked","done"],D=["todo","doing","blocked","done"],ee=["agent","human"],v=Y(b(),V(1)),Xe=u({id:g,name:v,kind:l($(ee),"agent")}),Ze=u({id:g,title:v,status:l($(D),"todo"),assignee:l(g),note:l(b()),design:l(g),proposed:l(j(),!1),reason:l(b()),questions:_}),ea=u({id:g,label:l(b()),href:v,kind:l(b()),description:l(b()),questions:_}),aa=u({id:g,title:v,body:l(b()),questions:_}),ta=u({id:g,ref:l(v),title:v,description:l(b()),blocking:l(j(),!1),assumption:l(b())}),ae=u({title:l(b(),""),status:l($(Z)),designs:l(w(aa),[]),members:l(w(Xe),[]),todos:l(w(Ze),[]),outputs:l(w(ea),[]),questions:l(w(ta),[])}),O=(a,e)=>{const t=new Set;for(const s of e){if(t.has(s))throw new Error(`duplicate ${a} id: ${s}`);t.add(s)}},k=a=>a===void 0||a.trim()===""?null:a,te=a=>{const e=qe(ae,a);O("member",e.members.map(o=>o.id)),O("design",e.designs.map(o=>o.id)),O("todo",e.todos.map(o=>o.id)),O("output",e.outputs.map(o=>o.id)),O("question",e.questions.map(o=>o.id));const t=new Set(e.members.map(o=>o.id));for(const o of e.todos)if(o.assignee!==void 0&&!t.has(o.assignee))throw new Error(`todo ${o.id} is assigned to ${o.assignee}, which is not in members`);const s=new Set(e.designs.map(o=>o.id));for(const o of e.todos)if(o.design!==void 0&&!s.has(o.design))throw new Error(`todo ${o.id} belongs to ${o.design}, which is not in designs`);for(const o of e.questions)if(!o.blocking&&k(o.assumption)===null)throw new Error(`question ${o.id} does not block, so it needs the assumption the agent works on`);return{title:e.title,status:e.status??null,designs:e.designs.map(o=>({id:o.id,title:o.title,body:k(o.body),...B(o.questions)})),members:e.members,todos:e.todos.map(o=>({id:o.id,title:o.title,status:o.status,assignee:o.assignee??null,note:k(o.note),design:o.design??null,proposed:o.proposed,reason:k(o.reason),added:!1,...B(o.questions)})),outputs:e.outputs.map(o=>({id:o.id,label:k(o.label),href:o.href,kind:k(o.kind),description:k(o.description),...B(o.questions)})),questions:e.questions.map((o,r)=>({id:o.id,ref:o.ref??`Q${r+1}`,title:o.title,description:k(o.description),blocking:o.blocking,assumption:k(o.assumption)})),answers:{},decisions:{}}},oe=()=>({title:"",status:null,designs:[],members:[],todos:[],outputs:[],questions:[],answers:{},decisions:{}}),z=(a,e)=>e===null?void 0:a.members.find(t=>t.id===e),h=(a,e)=>a.todos.find(t=>t.id===e),N=(a,e)=>a.designs.find(t=>t.id===e),se=(a,e)=>a.todos.filter(t=>t.design===e),q=(a,e)=>a.questions.find(t=>t.id===e),re=(a,e)=>{const t=a.answers[e.id];return t===void 0?!1:t.kind==="approve"||t.text.trim()!==""},R=(a,e)=>!e.proposed||a.decisions[e.id]==="accept",C=(a,e)=>R(a,e)&&z(a,e.assignee)?.kind==="human",de=(a,e,t)=>{const s={...a};return t===null?delete s[e]:s[e]=t,s},G=(a,e,t)=>({...a,answers:de(a.answers,e,t)}),oa=(a,e,t)=>({...a,decisions:de(a.decisions,e,t)}),sa=(a,e,t)=>({...a,todos:a.todos.map(s=>s.id===e?t(s):s)}),f={ANSWER_QUESTION:y("ANSWER_QUESTION","question",Be("kind",[u({kind:L("approve")}),u({kind:L("answer"),text:b()}),u({kind:L("clear")})])),DECIDE_PROPOSAL:y("DECIDE_PROPOSAL","todo",u({decision:$(["accept","decline","clear"])})),SET_TODO_STATUS:y("SET_TODO_STATUS","todo",u({status:$(D)})),ADD_TODO:y("ADD_TODO","page",u({id:g,title:Y(b(),Le(),V(1)),assignee:_e(g)}),{dedupeKey:Ce}),DELETE_TODO:y("DELETE_TODO","todo",u({}))},ne={type:"page",id:"task-board"},I=(a,e)=>({type:"ANSWER_QUESTION",target:{type:"question",id:a},payload:e}),ie=(a,e)=>({type:"DECIDE_PROPOSAL",target:{type:"todo",id:a},payload:{decision:e}}),Q=(a,e)=>({type:"SET_TODO_STATUS",target:{type:"todo",id:a},payload:{status:e}}),le=(a,e,t)=>({type:"ADD_TODO",target:ne,payload:{id:a,title:e,assignee:t}}),pe=a=>({type:"DELETE_TODO",target:{type:"todo",id:a},payload:{}}),ce=(a,e)=>{const t=Pe(f,e);if(t===null)return null;const s=t.target.id;switch(t.type){case"ANSWER_QUESTION":{const o=q(a,s);if(o===void 0)return null;const r=t.payload;return r.kind==="clear"?G(a,s,null):r.kind==="approve"?o.assumption===null?null:G(a,s,{kind:"approve"}):G(a,s,{kind:"answer",text:r.text})}case"DECIDE_PROPOSAL":{if(h(a,s)?.proposed!==!0)return null;const{decision:o}=t.payload;return oa(a,s,o==="clear"?null:o)}case"SET_TODO_STATUS":{const o=h(a,s);if(o===void 0||!C(a,o))return null;const{status:r}=t.payload;return sa(a,s,i=>({...i,status:r}))}case"ADD_TODO":{const{payload:o}=t;return h(a,o.id)!==void 0||o.assignee!==null&&z(a,o.assignee)===void 0?null:{...a,todos:[...a.todos,{id:o.id,title:o.title,status:"todo",assignee:o.assignee,note:null,design:null,proposed:!1,reason:null,added:!0}]}}case"DELETE_TODO":return h(a,s)?.added!==!0?null:{...a,todos:a.todos.filter(o=>o.id!==s)};default:return Ne(t)}},U=Re({en:{wholeBoard:"Whole board",statusWorking:"Working",statusWaiting:"Waiting on you",statusBlocked:"Blocked",statusDone:"Done",todoTodo:"To do",todoDoing:"In progress",todoBlocked:"Blocked",todoDone:"Done",kindAgent:"Agent",kindHuman:"Human",designs:"Design docs",designTasks:"Tasks under this design",noDesigns:"The agent has not written a design doc yet.",noDesignTasks:"No task is linked to this design doc yet.",tabs:"Board sections",tabDesigns:"Design Docs",tabQuestions:"Questions",tabTasks:"Tasks",openCount:a=>`${a} open`,noQuestions:"The agent has nothing to ask right now.",questions:"Questions from the agent",questionsProgress:(a,e)=>`${a} of ${e} replied`,blockingGroup:"Blocking \u2014 the agent waits for your decision",provisionalGroup:"Going ahead on an assumption \u2014 the agent adjusts if you answer otherwise",blockingTag:"Blocking",assumption:"Assumption",recommendation:"Agent recommends",approveAssumption:"OK, go with this",approveRecommendation:"OK, go with the recommendation",answerOther:"Answer differently",answerOf:a=>`Your answer to ${a}`,answerPlaceholder:"What you expect instead\u2026",blockingPlaceholder:"Your decision\u2026",approvedTag:"Approved",answeredTag:"Answered",progress:(a,e)=>`${a} of ${e} done`,noTodosYet:"No todos yet",tasksBoard:"Tasks by status",laneCount:a=>a===1?"1 task":`${a} tasks`,laneEmpty:"Nothing here",dragHint:"Drop on another column to change the status",assignee:"Assignee",unassigned:"Unassigned",memberOption:(a,e)=>`${a} (${e})`,statusOf:a=>`Status of \u201C${a}\u201D`,filterTodos:"Show todos",filterAll:"All",filterHuman:"People",addedTag:"Added by you",changedTag:"Changed",removeAdded:"Remove this todo you added",newTodo:"New todo",newTodoPlaceholder:"Add a todo for the agent\u2026",newTodoAssignee:"Assignee of the new todo",addTodo:"Add",proposedMark:"Proposed by the agent",reason:"Why",accept:"Accept",decline:"Decline",decisionOf:a=>`Decision on \u201C${a}\u201D`,acceptedTag:"Accepted",declinedTag:"Declined",undoDecision:"Undo",outputs:"Outputs",noOutputs:"Nothing has been produced yet.",copy:a=>`Copy ${a}`,copied:"Copied",commentOn:a=>`Comment on ${a}`,todoGroup:"Todo",designGroup:"Design Doc",proposalGroup:"Proposal",questionGroup:"Question",approved:"Approve the assumption",answered:"Answer",answerCleared:"Clear the reply",accepted:"Accept the proposal",declined:"Decline the proposal",decisionCleared:"Clear the decision",statusChanged:"Change the status",todoAdded:"Add a todo",todoRemoved:"Remove the added todo",quoted:a=>`\u2192 \u201C${a}\u201D`,change:(a,e)=>`${a} \u2192 ${e}`},ja:{wholeBoard:"\u30DC\u30FC\u30C9\u5168\u4F53",statusWorking:"\u4F5C\u696D\u4E2D",statusWaiting:"\u3042\u306A\u305F\u306E\u8FD4\u7B54\u5F85\u3061",statusBlocked:"\u30D6\u30ED\u30C3\u30AF\u4E2D",statusDone:"\u5B8C\u4E86",todoTodo:"\u672A\u7740\u624B",todoDoing:"\u9032\u884C\u4E2D",todoBlocked:"\u30D6\u30ED\u30C3\u30AF",todoDone:"\u5B8C\u4E86",kindAgent:"Agent",kindHuman:"\u4EBA\u9593",designs:"Design Doc",designTasks:"\u3053\u306E Design Doc \u306E\u30BF\u30B9\u30AF",noDesigns:"Agent \u306F\u307E\u3060 Design Doc \u3092\u66F8\u3044\u3066\u3044\u307E\u305B\u3093\u3002",noDesignTasks:"\u3053\u306E Design Doc \u306B\u7D10\u3065\u304F\u30BF\u30B9\u30AF\u306F\u307E\u3060\u3042\u308A\u307E\u305B\u3093\u3002",tabs:"\u30DC\u30FC\u30C9\u306E\u533A\u5206",tabDesigns:"Design Doc",tabQuestions:"\u8CEA\u554F",tabTasks:"\u30BF\u30B9\u30AF",openCount:a=>`\u672A\u56DE\u7B54 ${a} \u4EF6`,noQuestions:"\u4ECA Agent \u304B\u3089\u805E\u304D\u305F\u3044\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002",questions:"Agent \u304B\u3089\u306E\u8CEA\u554F",questionsProgress:(a,e)=>`\u8FD4\u7B54\u6E08\u307F ${a} / ${e}`,blockingGroup:"\u30D6\u30ED\u30C3\u30AB\u30FC \u2014 \u6C7A\u3081\u3066\u3082\u3089\u3046\u307E\u3067\u5148\u306B\u9032\u3081\u306A\u3044",provisionalGroup:"\u4EEE\u306E\u524D\u63D0\u3067\u9032\u884C\u4E2D \u2014 \u9055\u3048\u3070\u65B9\u91DD\u3092\u76F4\u3059",blockingTag:"\u30D6\u30ED\u30C3\u30AB\u30FC",assumption:"\u4EEE\u56DE\u7B54",recommendation:"Agent \u306E\u63A8\u5968",approveAssumption:"\u3053\u306E\u524D\u63D0\u3067 OK",approveRecommendation:"\u63A8\u5968\u3069\u304A\u308A\u3067 OK",answerOther:"\u5225\u306E\u56DE\u7B54\u3092\u3059\u308B",answerOf:a=>`${a} \u3078\u306E\u56DE\u7B54`,answerPlaceholder:"\u671F\u5F85\u3059\u308B\u56DE\u7B54\u3092\u5165\u529B\u2026",blockingPlaceholder:"\u3069\u3046\u3059\u308B\u304B\u3092\u5165\u529B\u2026",approvedTag:"\u627F\u8A8D\u6E08\u307F",answeredTag:"\u56DE\u7B54\u6E08\u307F",progress:(a,e)=>`${e} \u4EF6\u4E2D ${a} \u4EF6\u5B8C\u4E86`,noTodosYet:"Todo \u306F\u307E\u3060\u3042\u308A\u307E\u305B\u3093",tasksBoard:"\u72B6\u614B\u3054\u3068\u306E\u30BF\u30B9\u30AF",laneCount:a=>`${a} \u4EF6`,laneEmpty:"\u306A\u3057",dragHint:"\u5225\u306E\u5217\u306B\u30C9\u30ED\u30C3\u30D7\u3059\u308B\u3068\u72B6\u614B\u304C\u5909\u308F\u308A\u307E\u3059",assignee:"\u62C5\u5F53",unassigned:"\u672A\u5272\u308A\u5F53\u3066",memberOption:(a,e)=>`${a}\uFF08${e}\uFF09`,statusOf:a=>`\u300C${a}\u300D\u306E\u72B6\u614B`,filterTodos:"\u8868\u793A\u3059\u308B Todo",filterAll:"\u3059\u3079\u3066",filterHuman:"\u4EBA\u9593\u306E\u62C5\u5F53",addedTag:"\u3042\u306A\u305F\u304C\u8FFD\u52A0",changedTag:"\u5909\u66F4\u3042\u308A",removeAdded:"\u8FFD\u52A0\u3057\u305F Todo \u3092\u53D6\u308A\u6D88\u3059",newTodo:"\u65B0\u3057\u3044 Todo",newTodoPlaceholder:"Agent \u306B\u983C\u3080 Todo \u3092\u8FFD\u52A0\u2026",newTodoAssignee:"\u65B0\u3057\u3044 Todo \u306E\u62C5\u5F53",addTodo:"\u8FFD\u52A0",proposedMark:"Agent \u304B\u3089\u306E\u63D0\u6848",reason:"\u306A\u305C",accept:"\u627F\u8A8D",decline:"\u898B\u9001\u308A",decisionOf:a=>`\u300C${a}\u300D\u306E\u5224\u65AD`,acceptedTag:"\u627F\u8A8D\u6E08\u307F",declinedTag:"\u898B\u9001\u308A",undoDecision:"\u53D6\u308A\u6D88\u3059",outputs:"\u6210\u679C\u7269",noOutputs:"\u307E\u3060\u6210\u679C\u7269\u306F\u3042\u308A\u307E\u305B\u3093\u3002",copy:a=>`${a} \u3092\u30B3\u30D4\u30FC`,copied:"\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",commentOn:a=>`${a} \u306B\u30B3\u30E1\u30F3\u30C8`,todoGroup:"Todo",designGroup:"Design Doc",proposalGroup:"\u63D0\u6848",questionGroup:"\u8CEA\u554F",approved:"\u524D\u63D0\u3092\u627F\u8A8D",answered:"\u56DE\u7B54",answerCleared:"\u8FD4\u7B54\u3092\u30AF\u30EA\u30A2",accepted:"\u63D0\u6848\u3092\u627F\u8A8D",declined:"\u63D0\u6848\u3092\u898B\u9001\u308A",decisionCleared:"\u63D0\u6848\u306E\u5224\u65AD\u3092\u30AF\u30EA\u30A2",statusChanged:"\u72B6\u614B\u3092\u5909\u66F4",todoAdded:"Todo \u3092\u8FFD\u52A0",todoRemoved:"\u8FFD\u52A0\u3057\u305F Todo \u3092\u53D6\u308A\u6D88\u3057",quoted:a=>`\u2192 \u300C${a}\u300D`,change:(a,e)=>`${a} \u2192 ${e}`}}),ra=(a,e)=>{switch(e){case"working":return a.statusWorking;case"waiting":return a.statusWaiting;case"blocked":return a.statusBlocked;case"done":return a.statusDone}},x=(a,e)=>{switch(e){case"todo":return a.todoTodo;case"doing":return a.todoDoing;case"blocked":return a.todoBlocked;case"done":return a.todoDone}},da=(a,e)=>e==="agent"?a.kindAgent:a.kindHuman,na=(a,e,t)=>t===null?a.unassigned:z(e,t)?.name??t,ue=a=>a.title===""?"Task Context Board":a.title,be=(a,e,t)=>{switch(t.type){case"todo":{const s=h(e,t.id);return`${s?.proposed===!0?a.proposalGroup:a.todoGroup} \xB7 ${s?.title??t.id}`}case"design":{const s=N(e,t.id);return`${a.designGroup} \xB7 ${s?.title??t.id}`}case"question":{const s=q(e,t.id);return s===void 0?t.id:`${s.ref} \xB7 ${s.title}`}case"page":return a.wholeBoard;default:return t.id}},ia=(a,e)=>{switch(e){case"accept":return{title:a.accepted,tone:"update"};case"decline":return{title:a.declined,tone:"update"};case"clear":return{title:a.decisionCleared,tone:"delete"}}},la=(a,e,t)=>{switch(t.type){case"ANSWER_QUESTION":{const s=S(f.ANSWER_QUESTION,t);if(s.kind==="clear")return{title:a.answerCleared,tone:"delete"};if(s.kind==="approve"){const o=q(e,t.target.id)?.assumption??null;return{title:a.approved,tone:"update",...o===null?{}:{body:a.quoted(o)}}}return{title:a.answered,tone:"update",body:a.quoted(s.text.slice(0,120))}}case"DECIDE_PROPOSAL":return ia(a,S(f.DECIDE_PROPOSAL,t).decision);case"SET_TODO_STATUS":{const{status:s}=S(f.SET_TODO_STATUS,t),o=h(e,t.target.id)?.status,r=x(a,s);return{title:a.statusChanged,tone:"update",body:o===void 0?r:a.change(x(a,o),r)}}case"ADD_TODO":{const s=S(f.ADD_TODO,t);return{title:a.todoAdded,tone:"create",targetLabel:`${a.todoGroup} \xB7 ${s.title}`,...s.assignee===null?{}:{body:`${a.assignee}: ${na(a,e,s.assignee)}`}}}case"DELETE_TODO":return{title:a.todoRemoved,tone:"delete"};default:return{title:t.type,tone:"meta"}}},ge=(a,e,t,s)=>{let o;try{o=la(a,s??t,e)}catch{o={title:e.type,tone:"meta"}}return{title:o.title,targetLabel:o.targetLabel??be(a,t,e.target),tone:o.tone,...o.body===void 0?{}:{summary:o.body}}},ke=a=>`${a.type} ${Ge(a.target)} ${JSON.stringify(a.payload)}`,he=(a,e)=>[...e.questions.map(t=>({value:`question:${t.id}`,label:`${t.ref} \xB7 ${t.title}`,group:a.questionGroup})),...e.todos.map(t=>({value:`todo:${t.id}`,label:t.title,group:t.proposed?a.proposalGroup:a.todoGroup})),...e.designs.map(t=>({value:`design:${t.id}`,label:t.title,group:a.designGroup}))],fe=(a,e)=>e,pa=(a,e,t)=>{const s=a.answers[e.id];return{id:e.id,ref:e.ref,title:e.title,description:e.description,blocking:e.blocking,assumption:e.assumption,reply:s?.kind??"none",resolved:re(a,e),draft:s?.kind==="answer"?s.text:"",comments:t(`question:${e.id}`)}},me=(a,e)=>{const t=a.questions.map(o=>pa(a,o,e)),s=t.filter(o=>o.resolved).length;return{blocking:t.filter(o=>o.blocking),provisional:t.filter(o=>!o.blocking),resolved:s,total:t.length,open:t.length-s,blockingOpen:t.filter(o=>o.blocking&&!o.resolved).length}},ca={todo:"gray",doing:"blue",blocked:"red",done:"green"},ve=(a,e,t,s=null)=>{const o=e.designs.find(r=>r.id===s)??e.designs[0];return{items:e.designs.map(r=>({id:r.id,title:r.title,taskCount:se(e,r.id).length})),selected:o===void 0?null:ua(a,e,o,t)}},ua=(a,e,t,s)=>({id:t.id,title:t.title,body:t.body,tasks:se(e,t.id).map(o=>({id:o.id,title:o.title,status:o.status,statusLabel:x(a,o.status),proposal:o.proposed?e.decisions[o.id]??"pending":null})),comments:s(`design:${t.id}`),...t.questions===void 0?{}:{questions:t.questions}}),ba=(a,e,t,s,o)=>{const r=h(t,s.id),i=z(e,s.assignee),c=s.design===null?void 0:N(e,s.design);return{id:s.id,title:s.title,note:s.note,reason:s.reason,design:c===void 0?null:{id:c.id,title:c.title},status:s.status,statusLabel:x(a,s.status),assignee:s.assignee,assigneeName:i?.name??null,assigneeKind:i?.kind??null,editable:C(e,s),proposal:s.proposed?e.decisions[s.id]??"pending":null,added:s.added,changed:r!==void 0&&r.status!==s.status,comments:o(`todo:${s.id}`),...s.questions===void 0?{}:{questions:s.questions}}},xe=(a,e,t,s,o="all")=>{const r=e.members.some(p=>p.kind==="human"),i=r?o:"all",c=e.todos.map(p=>ba(a,e,t,p,s)),K=p=>p.assigneeKind==="human",Ee=i==="human"?c.filter(K):c,A=e.todos.filter(p=>R(e,p)),F=A.filter(p=>p.status==="done").length;return{lanes:D.map(p=>({status:p,label:x(a,p),tone:ca[p],cards:Ee.filter(ze=>ze.status===p)})),filter:i,canFilter:r,humanCount:c.filter(K).length,progress:{done:F,total:A.length,label:A.length===0?a.noTodosYet:a.progress(F,A.length)},statuses:D.map(p=>({value:p,label:x(a,p)})),members:e.members.map(p=>({id:p.id,label:a.memberOption(p.name,da(a,p.kind))}))}},we=a=>{if(!/^[a-z][a-z\d+.-]*:\/\//i.test(a))return{kind:"path"};try{return{kind:"url",host:new URL(a).host}}catch{return{kind:"path"}}},$e=a=>a.outputs.map(e=>({id:e.id,title:e.label??e.href,labelled:e.label!==null,href:e.href,kind:e.kind,description:e.description,place:we(e.href),...e.questions===void 0?{}:{questions:e.questions}})),ye=(a,e)=>{switch(e.type){case"todo":return h(a,e.id)!==void 0;case"design":return N(a,e.id)!==void 0;case"question":return q(a,e.id)!==void 0;case"page":return!0;default:return!1}},Te=a=>{const e=U(a);return{kind:"view",name:"task-board",label:"Task Context Board",addable:!1,parseBase:te,emptyBase:oe,actions:f,apply:ce,hasTarget:ye,describe:(t,s,o)=>ge(e,t,s,o),serialize:ke,resolveNavigation:fe,commentTargets:t=>he(e,t),title:ue}},M=(a,e,t,s)=>d`
2
2
  <button
3
3
  class="dpk-icon-btn board-comment"
4
4
  type="button"