dev-process-kit 0.3.0-beta.1 → 0.3.0-beta.3

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 (34) hide show
  1. package/dist/boards.js +1 -1
  2. package/dist/chunks/{shared-CnPCm4bJ.js → shared-BLzPmv14.js} +1 -1
  3. package/dist/chunks/{shared-C-M2Nfmu.js → shared-BYcLqnFV.js} +3 -3
  4. package/dist/chunks/shared-BYr9ZouD.js +1864 -0
  5. package/dist/chunks/{shared-dnY35u9q.js → shared-BhUEVKpO.js} +34 -34
  6. package/dist/chunks/{shared-e9ia12Uz.js → shared-Bt5HGgX9.js} +17 -17
  7. package/dist/chunks/{shared-a9QCZpxj.js → shared-BzKZc8e7.js} +1 -1
  8. package/dist/chunks/{shared-Cas88qVh.js → shared-CJnwvCXE.js} +1 -1
  9. package/dist/chunks/{shared-BX1EnRfr.js → shared-CO-HhC8m.js} +1 -1
  10. package/dist/chunks/shared-CXefnQqJ.js +5222 -0
  11. package/dist/chunks/shared-D4PPk0Dk.js +1 -0
  12. package/dist/chunks/{shared-Cejw83eH.js → shared-D6X_HEJN.js} +1 -1
  13. package/dist/chunks/shared-D9js0mlL.js +6322 -0
  14. package/dist/chunks/{shared-df9XN7ns.js → shared-DEco37gW.js} +1 -1
  15. package/dist/chunks/shared-DIHtcDps.js +1 -0
  16. package/dist/chunks/shared-DXPlz1s4.js +767 -0
  17. package/dist/chunks/{shared-qk9TB_UM.js → shared-NkccEMPc.js} +1 -1
  18. package/dist/chunks/shared-naTB_LaU.js +3662 -0
  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-CfVpKPRY.js +0 -1844
  29. package/dist/chunks/shared-D1iBuYZV.js +0 -6208
  30. package/dist/chunks/shared-D7VtCoY6.js +0 -3586
  31. package/dist/chunks/shared-DHVDag3x.js +0 -573
  32. package/dist/chunks/shared-DdpMqkAH.js +0 -4928
  33. package/dist/chunks/shared-EYOAbLSo.js +0 -1
  34. package/dist/chunks/shared-TrlnHjrJ.js +0 -1
@@ -1,4 +1,4 @@
1
- import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,aN as W,ax as ee,ay as ae,p as y,t as Ie,aC as Qe,aO as Ue,aA as He,ab as R,N as Me,e as Ke,a5 as Fe,S as je,P as z,ai as d,as as n,z as Ye,aH as w,bc as te,bd as Ve,I as Xe,bz as I,ah as Je,V as oe,bh as Ze,l as ea,b9 as aa}from"./shared-DdpMqkAH.js";import{a as ta}from"./shared-Cas88qVh.js";import{D as oa,d as ra}from"./shared-CnPCm4bJ.js";import{o as T}from"./shared-EYOAbLSo.js";const re=["working","waiting","blocked","done"],A=["todo","doing","blocked","done"],ne=["agent","human"],q=["why","what","goals","nonGoals"],O=ee(c(),ae(1)),na=b({id:h,name:O,kind:i($(ne),"agent")}),sa=b({id:h,title:O,status:i($(A),"todo"),assignee:i(h),note:i(c()),proposed:i(Z(),!1),reason:i(c()),questions:W}),da=b({id:h,label:i(c()),href:O,kind:i(c()),description:i(c()),questions:W}),ia=b({why:i(c()),what:i(c()),goals:i(x(c()),[]),nonGoals:i(x(c()),[])}),la=b({id:h,from:i(h),at:i(c()),title:i(c()),body:i(c()),points:i(x(c()),[]),questions:W}),pa=b({id:h,ref:i(O),title:O,description:i(c()),blocking:i(Z(),!1),assumption:i(c())}),se=b({title:i(c(),""),status:i($(re)),updatedAt:i(c()),context:i(ia,{}),members:i(x(na),[]),todos:i(x(sa),[]),outputs:i(x(da),[]),log:i(x(la),[]),questions:i(x(pa),[])}),S=(a,e)=>{const t=new Set;for(const o of e){if(t.has(o))throw new Error(`duplicate ${a} id: ${o}`);t.add(o)}},u=a=>a===void 0||a.trim()===""?null:a,Q=a=>a.filter(e=>e.trim()!==""),de=a=>{const e=Re(se,a);S("member",e.members.map(o=>o.id)),S("todo",e.todos.map(o=>o.id)),S("output",e.outputs.map(o=>o.id)),S("log",e.log.map(o=>o.id)),S("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`);for(const o of e.log){if(o.from!==void 0&&!t.has(o.from))throw new Error(`log entry ${o.id} is from ${o.from}, which is not in members`);if(u(o.title)===null&&u(o.body)===null)throw new Error(`log entry ${o.id} needs a title or a body`)}for(const o of e.questions)if(!o.blocking&&u(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,updatedAt:u(e.updatedAt),context:{why:u(e.context.why),what:u(e.context.what),goals:Q(e.context.goals),nonGoals:Q(e.context.nonGoals)},members:e.members,todos:e.todos.map(o=>({id:o.id,title:o.title,status:o.status,assignee:o.assignee??null,note:u(o.note),proposed:o.proposed,reason:u(o.reason),added:!1,...P(o.questions)})),outputs:e.outputs.map(o=>({id:o.id,label:u(o.label),href:o.href,kind:u(o.kind),description:u(o.description),...P(o.questions)})),log:e.log.map(o=>({id:o.id,from:o.from??null,at:u(o.at),title:u(o.title),body:u(o.body),points:Q(o.points),...P(o.questions)})),questions:e.questions.map((o,r)=>({id:o.id,ref:o.ref??`Q${r+1}`,title:o.title,description:u(o.description),blocking:o.blocking,assumption:u(o.assumption)})),answers:{},decisions:{}}},ie=()=>({title:"",status:null,updatedAt:null,context:{why:null,what:null,goals:[],nonGoals:[]},members:[],todos:[],outputs:[],log:[],questions:[],answers:{},decisions:{}}),D=(a,e)=>e===null?void 0:a.members.find(t=>t.id===e),k=(a,e)=>a.todos.find(t=>t.id===e),le=(a,e)=>a.log.find(t=>t.id===e),pe=a=>q.includes(a),U=(a,e)=>{const t=a.context[e];return typeof t=="string"||t!==null&&t.length>0},L=(a,e)=>a.questions.find(t=>t.id===e),ce=(a,e)=>{const t=a.answers[e.id];return t===void 0?!1:t.kind==="approve"||t.text.trim()!==""},H=(a,e)=>!e.proposed||a.decisions[e.id]==="accept",_=(a,e)=>H(a,e)&&D(a,e.assignee)?.kind==="human",ue=(a,e,t)=>{const o={...a};return t===null?delete o[e]:o[e]=t,o},M=(a,e,t)=>({...a,answers:ue(a.answers,e,t)}),ca=(a,e,t)=>({...a,decisions:ue(a.decisions,e,t)}),ua=(a,e,t)=>({...a,todos:a.todos.map(o=>o.id===e?t(o):o)}),m={ANSWER_QUESTION:y("ANSWER_QUESTION","question",Qe("kind",[b({kind:R("approve")}),b({kind:R("answer"),text:c()}),b({kind:R("clear")})])),DECIDE_PROPOSAL:y("DECIDE_PROPOSAL","todo",b({decision:$(["accept","decline","clear"])})),SET_TODO_STATUS:y("SET_TODO_STATUS","todo",b({status:$(A)})),ADD_TODO:y("ADD_TODO","page",b({id:h,title:ee(c(),He(),ae(1)),assignee:Ue(h)}),{dedupeKey:Ie}),DELETE_TODO:y("DELETE_TODO","todo",b({}))},be={type:"page",id:"task-board"},K=(a,e)=>({type:"ANSWER_QUESTION",target:{type:"question",id:a},payload:e}),ge=(a,e)=>({type:"DECIDE_PROPOSAL",target:{type:"todo",id:a},payload:{decision:e}}),F=(a,e)=>({type:"SET_TODO_STATUS",target:{type:"todo",id:a},payload:{status:e}}),he=(a,e,t)=>({type:"ADD_TODO",target:be,payload:{id:a,title:e,assignee:t}}),ke=a=>({type:"DELETE_TODO",target:{type:"todo",id:a},payload:{}}),fe=(a,e)=>{const t=Me(m,e);if(t===null)return null;const o=t.target.id;switch(t.type){case"ANSWER_QUESTION":{const r=L(a,o);if(r===void 0)return null;const s=t.payload;return s.kind==="clear"?M(a,o,null):s.kind==="approve"?r.assumption===null?null:M(a,o,{kind:"approve"}):M(a,o,{kind:"answer",text:s.text})}case"DECIDE_PROPOSAL":{if(k(a,o)?.proposed!==!0)return null;const{decision:r}=t.payload;return ca(a,o,r==="clear"?null:r)}case"SET_TODO_STATUS":{const r=k(a,o);if(r===void 0||!_(a,r))return null;const{status:s}=t.payload;return ua(a,o,l=>({...l,status:s}))}case"ADD_TODO":{const{payload:r}=t;return k(a,r.id)!==void 0||r.assignee!==null&&D(a,r.assignee)===void 0?null:{...a,todos:[...a.todos,{id:r.id,title:r.title,status:"todo",assignee:r.assignee,note:null,proposed:!1,reason:null,added:!0}]}}case"DELETE_TODO":return k(a,o)?.added!==!0?null:{...a,todos:a.todos.filter(r=>r.id!==o)};default:return Ke(t)}},j=Fe({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",updatedAt:a=>`Updated ${a}`,context:"What this task is about",contextWhy:"Why",contextWhat:"What",contextGoals:"Goals",contextNonGoals:"Non-goals",noContext:"The agent has not written down why and what yet.",tabs:"Board sections",tabContext:"Context",tabLog:"Work log",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",log:"Conversation with the agent",logLede:"Newest first",noLog:"Nothing has been exchanged yet.",fromAgent:"Agent",latestTag:"Latest",commentOn:a=>`Comment on ${a}`,todoGroup:"Todo",logGroup:"Log",contextGroup:"Context",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",updatedAt:a=>`\u66F4\u65B0 ${a}`,context:"\u3053\u306E\u30BF\u30B9\u30AF\u306E\u524D\u63D0",contextWhy:"Why \u2014 \u306A\u305C\u3084\u308B\u304B",contextWhat:"What \u2014 \u4F55\u3092\u3084\u308B\u304B",contextGoals:"\u30B4\u30FC\u30EB",contextNonGoals:"\u3084\u3089\u306A\u3044\u3053\u3068",noContext:"Agent \u306F\u307E\u3060 Why / What \u3092\u66F8\u3044\u3066\u3044\u307E\u305B\u3093\u3002",tabs:"\u30DC\u30FC\u30C9\u306E\u533A\u5206",tabContext:"Context",tabLog:"\u4F5C\u696D\u30ED\u30B0",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",log:"Agent \u3068\u306E\u3084\u308A\u3068\u308A",logLede:"\u65B0\u3057\u3044\u9806",noLog:"\u307E\u3060\u3084\u308A\u3068\u308A\u306F\u3042\u308A\u307E\u305B\u3093\u3002",fromAgent:"Agent",latestTag:"\u6700\u65B0",commentOn:a=>`${a} \u306B\u30B3\u30E1\u30F3\u30C8`,todoGroup:"Todo",logGroup:"\u4F5C\u696D\u30ED\u30B0",contextGroup:"Context",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}`}}),xe=(a,e)=>{switch(e){case"working":return a.statusWorking;case"waiting":return a.statusWaiting;case"blocked":return a.statusBlocked;case"done":return a.statusDone}},E=(a,e)=>{switch(e){case"todo":return a.todoTodo;case"doing":return a.todoDoing;case"blocked":return a.todoBlocked;case"done":return a.todoDone}},ba=(a,e)=>e==="agent"?a.kindAgent:a.kindHuman,B=(a,e)=>{switch(e){case"why":return a.contextWhy;case"what":return a.contextWhat;case"goals":return a.contextGoals;case"nonGoals":return a.contextNonGoals}},me=48,Y=a=>{const e=a.title??a.body??a.id;return e.length<=me?e:`${e.slice(0,me-1)}\u2026`},ga=(a,e,t)=>t===null?a.unassigned:D(e,t)?.name??t,ve=a=>a.title===""?"Task Context Board":a.title,we=(a,e,t)=>{switch(t.type){case"todo":{const o=k(e,t.id);return`${o?.proposed===!0?a.proposalGroup:a.todoGroup} \xB7 ${o?.title??t.id}`}case"log":{const o=le(e,t.id);return`${a.logGroup} \xB7 ${o===void 0?t.id:Y(o)}`}case"context":return`${a.contextGroup} \xB7 ${pe(t.id)?B(a,t.id):t.id}`;case"question":{const o=L(e,t.id);return o===void 0?t.id:`${o.ref} \xB7 ${o.title}`}case"page":return a.wholeBoard;default:return t.id}},ha=(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"}}},ka=(a,e,t)=>{switch(t.type){case"ANSWER_QUESTION":{const o=z(m.ANSWER_QUESTION,t);if(o.kind==="clear")return{title:a.answerCleared,tone:"delete"};if(o.kind==="approve"){const r=L(e,t.target.id)?.assumption??null;return{title:a.approved,tone:"update",...r===null?{}:{body:a.quoted(r)}}}return{title:a.answered,tone:"update",body:a.quoted(o.text.slice(0,120))}}case"DECIDE_PROPOSAL":return ha(a,z(m.DECIDE_PROPOSAL,t).decision);case"SET_TODO_STATUS":{const{status:o}=z(m.SET_TODO_STATUS,t),r=k(e,t.target.id)?.status,s=E(a,o);return{title:a.statusChanged,tone:"update",body:r===void 0?s:a.change(E(a,r),s)}}case"ADD_TODO":{const o=z(m.ADD_TODO,t);return{title:a.todoAdded,tone:"create",targetLabel:`${a.todoGroup} \xB7 ${o.title}`,...o.assignee===null?{}:{body:`${a.assignee}: ${ga(a,e,o.assignee)}`}}}case"DELETE_TODO":return{title:a.todoRemoved,tone:"delete"};default:return{title:t.type,tone:"meta"}}},$e=(a,e,t,o)=>{let r;try{r=ka(a,o??t,e)}catch{r={title:e.type,tone:"meta"}}return{title:r.title,targetLabel:r.targetLabel??we(a,t,e.target),tone:r.tone,...r.body===void 0?{}:{summary:r.body}}},ye=a=>`${a.type} ${je(a.target)} ${JSON.stringify(a.payload)}`,Te=(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.log.map(t=>({value:`log:${t.id}`,label:Y(t),group:a.logGroup})),...q.filter(t=>U(e,t)).map(t=>({value:`context:${t}`,label:B(a,t),group:a.contextGroup}))],Ae=(a,e)=>e,Oe=(a,e,t)=>({parts:q.filter(o=>U(e,o)).map(o=>{const r=e.context[o];return{id:o,title:B(a,o),text:typeof r=="string"?r:null,items:typeof r=="string"||r===null?[]:r,comments:t(`context:${o}`)}})}),fa=(a,e,t)=>{const o=a.answers[e.id];return{id:e.id,ref:e.ref,title:e.title,description:e.description,blocking:e.blocking,assumption:e.assumption,reply:o?.kind??"none",resolved:ce(a,e),draft:o?.kind==="answer"?o.text:"",comments:t(`question:${e.id}`)}},Se=(a,e)=>{const t=a.questions.map(r=>fa(a,r,e)),o=t.filter(r=>r.resolved).length;return{blocking:t.filter(r=>r.blocking),provisional:t.filter(r=>!r.blocking),resolved:o,total:t.length,open:t.length-o,blockingOpen:t.filter(r=>r.blocking&&!r.resolved).length}},xa={todo:"gray",doing:"blue",blocked:"red",done:"green"},ma=(a,e,t,o,r)=>{const s=k(t,o.id),l=D(e,o.assignee);return{id:o.id,title:o.title,note:o.note,reason:o.reason,status:o.status,statusLabel:E(a,o.status),assignee:o.assignee,assigneeName:l?.name??null,assigneeKind:l?.kind??null,editable:_(e,o),proposal:o.proposed?e.decisions[o.id]??"pending":null,added:o.added,changed:s!==void 0&&s.status!==o.status,comments:r(`todo:${o.id}`),...o.questions===void 0?{}:{questions:o.questions}}},De=(a,e,t,o,r="all")=>{const s=e.members.some(p=>p.kind==="human"),l=s?r:"all",g=e.todos.map(p=>ma(a,e,t,p,o)),f=p=>p.assigneeKind==="human",Pe=l==="human"?g.filter(f):g,C=e.todos.filter(p=>H(e,p)),J=C.filter(p=>p.status==="done").length;return{lanes:A.map(p=>({status:p,label:E(a,p),tone:xa[p],cards:Pe.filter(We=>We.status===p)})),filter:l,canFilter:s,humanCount:g.filter(f).length,progress:{done:J,total:C.length,label:C.length===0?a.noTodosYet:a.progress(J,C.length)},statuses:A.map(p=>({value:p,label:E(a,p)})),members:e.members.map(p=>({id:p.id,label:a.memberOption(p.name,ba(a,p.kind))}))}},Ee=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"}}},Ce=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:Ee(e.href),...e.questions===void 0?{}:{questions:e.questions}})),ze=(a,e,t)=>({entries:e.log.map((o,r)=>{const s=D(e,o.from);return{id:o.id,author:s===void 0?null:{name:s.name,kind:s.kind},at:o.at,title:o.title,body:o.body,points:o.points,label:Y(o),latest:r===e.log.length-1,comments:t(`log:${o.id}`),...o.questions===void 0?{}:{questions:o.questions}}}).reverse(),status:e.status===null&&e.updatedAt===null?null:{status:e.status,label:e.status===null?null:xe(a,e.status),updatedAt:e.updatedAt}}),qe=(a,e)=>{switch(e.type){case"todo":return k(a,e.id)!==void 0;case"log":return le(a,e.id)!==void 0;case"context":return pe(e.id)&&U(a,e.id);case"question":return L(a,e.id)!==void 0;case"page":return!0;default:return!1}},Le=a=>{const e=j(a);return{kind:"view",name:"task-board",label:"Task Context Board",addable:!1,parseBase:de,emptyBase:ie,actions:m,apply:fe,hasTarget:qe,describe:(t,o,r)=>$e(e,t,o,r),serialize:ye,resolveNavigation:Ae,commentTargets:t=>Te(e,t),title:ve}},G=(a,e,t,o)=>n`
1
+ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as w,aM as h,aB as Z,aN as W,ax as ee,ay as ae,p as y,t as Ie,aC as Qe,aO as Ue,aA as He,ab as R,N as Me,e as Ke,a5 as Fe,S as je,P as z,ai as d,as as n,z as Ye,aH as $,bc as te,bd as Ve,I as Xe,bz as I,ah as Je,V as oe,bh as Ze,l as ea,aW as aa}from"./shared-CXefnQqJ.js";import{a as ta}from"./shared-CJnwvCXE.js";import{D as oa,d as ra}from"./shared-BLzPmv14.js";import{o as T}from"./shared-DIHtcDps.js";const re=["working","waiting","blocked","done"],A=["todo","doing","blocked","done"],ne=["agent","human"],q=["why","what","goals","nonGoals"],O=ee(c(),ae(1)),na=b({id:h,name:O,kind:i(w(ne),"agent")}),sa=b({id:h,title:O,status:i(w(A),"todo"),assignee:i(h),note:i(c()),proposed:i(Z(),!1),reason:i(c()),questions:W}),da=b({id:h,label:i(c()),href:O,kind:i(c()),description:i(c()),questions:W}),ia=b({why:i(c()),what:i(c()),goals:i(x(c()),[]),nonGoals:i(x(c()),[])}),la=b({id:h,from:i(h),at:i(c()),title:i(c()),body:i(c()),points:i(x(c()),[]),questions:W}),pa=b({id:h,ref:i(O),title:O,description:i(c()),blocking:i(Z(),!1),assumption:i(c())}),se=b({title:i(c(),""),status:i(w(re)),updatedAt:i(c()),context:i(ia,{}),members:i(x(na),[]),todos:i(x(sa),[]),outputs:i(x(da),[]),log:i(x(la),[]),questions:i(x(pa),[])}),S=(a,e)=>{const t=new Set;for(const o of e){if(t.has(o))throw new Error(`duplicate ${a} id: ${o}`);t.add(o)}},u=a=>a===void 0||a.trim()===""?null:a,Q=a=>a.filter(e=>e.trim()!==""),de=a=>{const e=Re(se,a);S("member",e.members.map(o=>o.id)),S("todo",e.todos.map(o=>o.id)),S("output",e.outputs.map(o=>o.id)),S("log",e.log.map(o=>o.id)),S("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`);for(const o of e.log){if(o.from!==void 0&&!t.has(o.from))throw new Error(`log entry ${o.id} is from ${o.from}, which is not in members`);if(u(o.title)===null&&u(o.body)===null)throw new Error(`log entry ${o.id} needs a title or a body`)}for(const o of e.questions)if(!o.blocking&&u(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,updatedAt:u(e.updatedAt),context:{why:u(e.context.why),what:u(e.context.what),goals:Q(e.context.goals),nonGoals:Q(e.context.nonGoals)},members:e.members,todos:e.todos.map(o=>({id:o.id,title:o.title,status:o.status,assignee:o.assignee??null,note:u(o.note),proposed:o.proposed,reason:u(o.reason),added:!1,...P(o.questions)})),outputs:e.outputs.map(o=>({id:o.id,label:u(o.label),href:o.href,kind:u(o.kind),description:u(o.description),...P(o.questions)})),log:e.log.map(o=>({id:o.id,from:o.from??null,at:u(o.at),title:u(o.title),body:u(o.body),points:Q(o.points),...P(o.questions)})),questions:e.questions.map((o,r)=>({id:o.id,ref:o.ref??`Q${r+1}`,title:o.title,description:u(o.description),blocking:o.blocking,assumption:u(o.assumption)})),answers:{},decisions:{}}},ie=()=>({title:"",status:null,updatedAt:null,context:{why:null,what:null,goals:[],nonGoals:[]},members:[],todos:[],outputs:[],log:[],questions:[],answers:{},decisions:{}}),D=(a,e)=>e===null?void 0:a.members.find(t=>t.id===e),k=(a,e)=>a.todos.find(t=>t.id===e),le=(a,e)=>a.log.find(t=>t.id===e),pe=a=>q.includes(a),U=(a,e)=>{const t=a.context[e];return typeof t=="string"||t!==null&&t.length>0},L=(a,e)=>a.questions.find(t=>t.id===e),ce=(a,e)=>{const t=a.answers[e.id];return t===void 0?!1:t.kind==="approve"||t.text.trim()!==""},H=(a,e)=>!e.proposed||a.decisions[e.id]==="accept",_=(a,e)=>H(a,e)&&D(a,e.assignee)?.kind==="human",ue=(a,e,t)=>{const o={...a};return t===null?delete o[e]:o[e]=t,o},M=(a,e,t)=>({...a,answers:ue(a.answers,e,t)}),ca=(a,e,t)=>({...a,decisions:ue(a.decisions,e,t)}),ua=(a,e,t)=>({...a,todos:a.todos.map(o=>o.id===e?t(o):o)}),m={ANSWER_QUESTION:y("ANSWER_QUESTION","question",Qe("kind",[b({kind:R("approve")}),b({kind:R("answer"),text:c()}),b({kind:R("clear")})])),DECIDE_PROPOSAL:y("DECIDE_PROPOSAL","todo",b({decision:w(["accept","decline","clear"])})),SET_TODO_STATUS:y("SET_TODO_STATUS","todo",b({status:w(A)})),ADD_TODO:y("ADD_TODO","page",b({id:h,title:ee(c(),He(),ae(1)),assignee:Ue(h)}),{dedupeKey:Ie}),DELETE_TODO:y("DELETE_TODO","todo",b({}))},be={type:"page",id:"task-board"},K=(a,e)=>({type:"ANSWER_QUESTION",target:{type:"question",id:a},payload:e}),ge=(a,e)=>({type:"DECIDE_PROPOSAL",target:{type:"todo",id:a},payload:{decision:e}}),F=(a,e)=>({type:"SET_TODO_STATUS",target:{type:"todo",id:a},payload:{status:e}}),he=(a,e,t)=>({type:"ADD_TODO",target:be,payload:{id:a,title:e,assignee:t}}),ke=a=>({type:"DELETE_TODO",target:{type:"todo",id:a},payload:{}}),fe=(a,e)=>{const t=Me(m,e);if(t===null)return null;const o=t.target.id;switch(t.type){case"ANSWER_QUESTION":{const r=L(a,o);if(r===void 0)return null;const s=t.payload;return s.kind==="clear"?M(a,o,null):s.kind==="approve"?r.assumption===null?null:M(a,o,{kind:"approve"}):M(a,o,{kind:"answer",text:s.text})}case"DECIDE_PROPOSAL":{if(k(a,o)?.proposed!==!0)return null;const{decision:r}=t.payload;return ca(a,o,r==="clear"?null:r)}case"SET_TODO_STATUS":{const r=k(a,o);if(r===void 0||!_(a,r))return null;const{status:s}=t.payload;return ua(a,o,l=>({...l,status:s}))}case"ADD_TODO":{const{payload:r}=t;return k(a,r.id)!==void 0||r.assignee!==null&&D(a,r.assignee)===void 0?null:{...a,todos:[...a.todos,{id:r.id,title:r.title,status:"todo",assignee:r.assignee,note:null,proposed:!1,reason:null,added:!0}]}}case"DELETE_TODO":return k(a,o)?.added!==!0?null:{...a,todos:a.todos.filter(r=>r.id!==o)};default:return Ke(t)}},j=Fe({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",updatedAt:a=>`Updated ${a}`,context:"What this task is about",contextWhy:"Why",contextWhat:"What",contextGoals:"Goals",contextNonGoals:"Non-goals",noContext:"The agent has not written down why and what yet.",tabs:"Board sections",tabContext:"Context",tabLog:"Work log",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",log:"Conversation with the agent",logLede:"Newest first",noLog:"Nothing has been exchanged yet.",fromAgent:"Agent",latestTag:"Latest",commentOn:a=>`Comment on ${a}`,todoGroup:"Todo",logGroup:"Log",contextGroup:"Context",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",updatedAt:a=>`\u66F4\u65B0 ${a}`,context:"\u3053\u306E\u30BF\u30B9\u30AF\u306E\u524D\u63D0",contextWhy:"Why \u2014 \u306A\u305C\u3084\u308B\u304B",contextWhat:"What \u2014 \u4F55\u3092\u3084\u308B\u304B",contextGoals:"\u30B4\u30FC\u30EB",contextNonGoals:"\u3084\u3089\u306A\u3044\u3053\u3068",noContext:"Agent \u306F\u307E\u3060 Why / What \u3092\u66F8\u3044\u3066\u3044\u307E\u305B\u3093\u3002",tabs:"\u30DC\u30FC\u30C9\u306E\u533A\u5206",tabContext:"Context",tabLog:"\u4F5C\u696D\u30ED\u30B0",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",log:"Agent \u3068\u306E\u3084\u308A\u3068\u308A",logLede:"\u65B0\u3057\u3044\u9806",noLog:"\u307E\u3060\u3084\u308A\u3068\u308A\u306F\u3042\u308A\u307E\u305B\u3093\u3002",fromAgent:"Agent",latestTag:"\u6700\u65B0",commentOn:a=>`${a} \u306B\u30B3\u30E1\u30F3\u30C8`,todoGroup:"Todo",logGroup:"\u4F5C\u696D\u30ED\u30B0",contextGroup:"Context",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}`}}),xe=(a,e)=>{switch(e){case"working":return a.statusWorking;case"waiting":return a.statusWaiting;case"blocked":return a.statusBlocked;case"done":return a.statusDone}},E=(a,e)=>{switch(e){case"todo":return a.todoTodo;case"doing":return a.todoDoing;case"blocked":return a.todoBlocked;case"done":return a.todoDone}},ba=(a,e)=>e==="agent"?a.kindAgent:a.kindHuman,B=(a,e)=>{switch(e){case"why":return a.contextWhy;case"what":return a.contextWhat;case"goals":return a.contextGoals;case"nonGoals":return a.contextNonGoals}},me=48,Y=a=>{const e=a.title??a.body??a.id;return e.length<=me?e:`${e.slice(0,me-1)}\u2026`},ga=(a,e,t)=>t===null?a.unassigned:D(e,t)?.name??t,ve=a=>a.title===""?"Task Context Board":a.title,$e=(a,e,t)=>{switch(t.type){case"todo":{const o=k(e,t.id);return`${o?.proposed===!0?a.proposalGroup:a.todoGroup} \xB7 ${o?.title??t.id}`}case"log":{const o=le(e,t.id);return`${a.logGroup} \xB7 ${o===void 0?t.id:Y(o)}`}case"context":return`${a.contextGroup} \xB7 ${pe(t.id)?B(a,t.id):t.id}`;case"question":{const o=L(e,t.id);return o===void 0?t.id:`${o.ref} \xB7 ${o.title}`}case"page":return a.wholeBoard;default:return t.id}},ha=(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"}}},ka=(a,e,t)=>{switch(t.type){case"ANSWER_QUESTION":{const o=z(m.ANSWER_QUESTION,t);if(o.kind==="clear")return{title:a.answerCleared,tone:"delete"};if(o.kind==="approve"){const r=L(e,t.target.id)?.assumption??null;return{title:a.approved,tone:"update",...r===null?{}:{body:a.quoted(r)}}}return{title:a.answered,tone:"update",body:a.quoted(o.text.slice(0,120))}}case"DECIDE_PROPOSAL":return ha(a,z(m.DECIDE_PROPOSAL,t).decision);case"SET_TODO_STATUS":{const{status:o}=z(m.SET_TODO_STATUS,t),r=k(e,t.target.id)?.status,s=E(a,o);return{title:a.statusChanged,tone:"update",body:r===void 0?s:a.change(E(a,r),s)}}case"ADD_TODO":{const o=z(m.ADD_TODO,t);return{title:a.todoAdded,tone:"create",targetLabel:`${a.todoGroup} \xB7 ${o.title}`,...o.assignee===null?{}:{body:`${a.assignee}: ${ga(a,e,o.assignee)}`}}}case"DELETE_TODO":return{title:a.todoRemoved,tone:"delete"};default:return{title:t.type,tone:"meta"}}},we=(a,e,t,o)=>{let r;try{r=ka(a,o??t,e)}catch{r={title:e.type,tone:"meta"}}return{title:r.title,targetLabel:r.targetLabel??$e(a,t,e.target),tone:r.tone,...r.body===void 0?{}:{summary:r.body}}},ye=a=>`${a.type} ${je(a.target)} ${JSON.stringify(a.payload)}`,Te=(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.log.map(t=>({value:`log:${t.id}`,label:Y(t),group:a.logGroup})),...q.filter(t=>U(e,t)).map(t=>({value:`context:${t}`,label:B(a,t),group:a.contextGroup}))],Ae=(a,e)=>e,Oe=(a,e,t)=>({parts:q.filter(o=>U(e,o)).map(o=>{const r=e.context[o];return{id:o,title:B(a,o),text:typeof r=="string"?r:null,items:typeof r=="string"||r===null?[]:r,comments:t(`context:${o}`)}})}),fa=(a,e,t)=>{const o=a.answers[e.id];return{id:e.id,ref:e.ref,title:e.title,description:e.description,blocking:e.blocking,assumption:e.assumption,reply:o?.kind??"none",resolved:ce(a,e),draft:o?.kind==="answer"?o.text:"",comments:t(`question:${e.id}`)}},Se=(a,e)=>{const t=a.questions.map(r=>fa(a,r,e)),o=t.filter(r=>r.resolved).length;return{blocking:t.filter(r=>r.blocking),provisional:t.filter(r=>!r.blocking),resolved:o,total:t.length,open:t.length-o,blockingOpen:t.filter(r=>r.blocking&&!r.resolved).length}},xa={todo:"gray",doing:"blue",blocked:"red",done:"green"},ma=(a,e,t,o,r)=>{const s=k(t,o.id),l=D(e,o.assignee);return{id:o.id,title:o.title,note:o.note,reason:o.reason,status:o.status,statusLabel:E(a,o.status),assignee:o.assignee,assigneeName:l?.name??null,assigneeKind:l?.kind??null,editable:_(e,o),proposal:o.proposed?e.decisions[o.id]??"pending":null,added:o.added,changed:s!==void 0&&s.status!==o.status,comments:r(`todo:${o.id}`),...o.questions===void 0?{}:{questions:o.questions}}},De=(a,e,t,o,r="all")=>{const s=e.members.some(p=>p.kind==="human"),l=s?r:"all",g=e.todos.map(p=>ma(a,e,t,p,o)),f=p=>p.assigneeKind==="human",Pe=l==="human"?g.filter(f):g,C=e.todos.filter(p=>H(e,p)),J=C.filter(p=>p.status==="done").length;return{lanes:A.map(p=>({status:p,label:E(a,p),tone:xa[p],cards:Pe.filter(We=>We.status===p)})),filter:l,canFilter:s,humanCount:g.filter(f).length,progress:{done:J,total:C.length,label:C.length===0?a.noTodosYet:a.progress(J,C.length)},statuses:A.map(p=>({value:p,label:E(a,p)})),members:e.members.map(p=>({id:p.id,label:a.memberOption(p.name,ba(a,p.kind))}))}},Ee=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"}}},Ce=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:Ee(e.href),...e.questions===void 0?{}:{questions:e.questions}})),ze=(a,e,t)=>({entries:e.log.map((o,r)=>{const s=D(e,o.from);return{id:o.id,author:s===void 0?null:{name:s.name,kind:s.kind},at:o.at,title:o.title,body:o.body,points:o.points,label:Y(o),latest:r===e.log.length-1,comments:t(`log:${o.id}`),...o.questions===void 0?{}:{questions:o.questions}}}).reverse(),status:e.status===null&&e.updatedAt===null?null:{status:e.status,label:e.status===null?null:xe(a,e.status),updatedAt:e.updatedAt}}),qe=(a,e)=>{switch(e.type){case"todo":return k(a,e.id)!==void 0;case"log":return le(a,e.id)!==void 0;case"context":return pe(e.id)&&U(a,e.id);case"question":return L(a,e.id)!==void 0;case"page":return!0;default:return!1}},Le=a=>{const e=j(a);return{kind:"view",name:"task-board",label:"Task Context Board",addable:!1,parseBase:de,emptyBase:ie,actions:m,apply:fe,hasTarget:qe,describe:(t,o,r)=>we(e,t,o,r),serialize:ye,resolveNavigation:Ae,commentTargets:t=>Te(e,t),title:ve}},G=(a,e,t,o)=>n`
2
2
  <button
3
3
  class="dpk-icon-btn board-comment"
4
4
  type="button"
@@ -19,11 +19,11 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
19
19
  <section class="board-context" aria-label=${a.context}>
20
20
  ${e.parts.length===0&&!t?n`<p class="dpk-empty board-empty" data-variant="dashed">${a.noContext}</p>`:d}
21
21
  ${e.parts.length===0?d:n`<div class="board-context-parts">
22
- ${w(e.parts,r=>r.id,r=>wa(a,r,o))}
22
+ ${$(e.parts,r=>r.id,r=>$a(a,r,o))}
23
23
  </div>`}
24
24
  <div class="board-figures"><slot name="main"></slot></div>
25
25
  </section>
26
- `,wa=(a,e,t)=>n`
26
+ `,$a=(a,e,t)=>n`
27
27
  <article
28
28
  class="dpk-card board-context-part"
29
29
  data-context=${e.id}
@@ -39,7 +39,7 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
39
39
  ${e.items.map(o=>n`<li>${o}</li>`)}
40
40
  </ul>`}
41
41
  </article>
42
- `,$a=(a,e,t)=>e.total===0?d:n`
42
+ `,wa=(a,e,t)=>e.total===0?d:n`
43
43
  <section class="board-section" data-section="questions" aria-labelledby="board-questions">
44
44
  ${V("board-questions",a.questions,a.questionsProgress(e.resolved,e.total))}
45
45
  ${_e(a,"blocking",a.blockingGroup,e.blocking,t)}
@@ -48,7 +48,7 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
48
48
  `,_e=(a,e,t,o,r)=>o.length===0?d:n`<div class="board-group" data-group=${e}>
49
49
  <h3 class="board-group-title">${t}</h3>
50
50
  <ol class="board-questions">
51
- ${w(o,s=>s.id,s=>ya(a,s,r))}
51
+ ${$(o,s=>s.id,s=>ya(a,s,r))}
52
52
  </ol>
53
53
  </div>`,ya=(a,e,t)=>{const o=e.assumption!==null;return n`
54
54
  <li
@@ -107,7 +107,7 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
107
107
  <section class="board-section board-rail-section" data-section="outputs" aria-labelledby="board-outputs">
108
108
  ${V("board-outputs",a.outputs,e.length===0?null:String(e.length))}
109
109
  ${e.length===0?n`<p class="dpk-empty board-empty" data-variant="dashed">${a.noOutputs}</p>`:n`<ul class="board-outputs">
110
- ${w(e,r=>r.id,r=>Oa(a,r,t===r.id,o))}
110
+ ${$(e,r=>r.id,r=>Oa(a,r,t===r.id,o))}
111
111
  </ul>`}
112
112
  </section>
113
113
  `,Oa=(a,e,t,o)=>{const r=e.place,s=t?a.copied:a.copy(e.href);return n`
@@ -148,7 +148,7 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
148
148
  ${V("board-log",a.log,e.entries.length===0?null:a.logLede)}
149
149
  ${e.entries.length===0?n`${e.status===null?d:Be(a,e.status)}
150
150
  <p class="dpk-empty board-empty" data-variant="dashed">${a.noLog}</p>`:n`<ol class="board-log">
151
- ${w(e.entries,o=>o.id,o=>Da(a,o,o.latest?e.status:null,t))}
151
+ ${$(e.entries,o=>o.id,o=>Da(a,o,o.latest?e.status:null,t))}
152
152
  </ol>`}
153
153
  </section>
154
154
  `,Da=(a,e,t,o)=>{const r=e.author?.name??a.fromAgent;return n`
@@ -209,7 +209,7 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
209
209
  <section class="board-tasks" data-section="tasks" aria-label=${a.tasksBoard}>
210
210
  ${Ba(a,e,t)}
211
211
  <div class="board-kanban" role="group" aria-label=${a.tasksBoard}>
212
- ${w(e.lanes,r=>r.status,r=>Na(a,e,r,t,o))}
212
+ ${$(e.lanes,r=>r.status,r=>Na(a,e,r,t,o))}
213
213
  </div>
214
214
  </section>
215
215
  `,Ba=(a,e,t)=>n`
@@ -258,7 +258,7 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
258
258
  <span class="board-lane-count" title=${a.laneCount(t.cards.length)}>${t.cards.length}</span>
259
259
  </header>
260
260
  ${t.cards.length===0?n`<p class="board-lane-empty">${a.laneEmpty}</p>`:n`<ul class="board-cards">
261
- ${w(t.cards,s=>s.id,s=>Ra(a,e,s,o,r))}
261
+ ${$(t.cards,s=>s.id,s=>Ra(a,e,s,o,r))}
262
262
  </ul>`}
263
263
  ${t.status==="todo"?Ua(a,e,o):d}
264
264
  </section>
@@ -588,17 +588,17 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
588
588
  }
589
589
  }
590
590
 
591
- /* A part is the kit's card (the card atom), roomier for prose. */
591
+ /*
592
+ * A part is the kit's card (the card atom), roomier for prose. Why and What
593
+ * stay neutral cards like Goals and Non-goals: the title names the part, so
594
+ * no edge is colored to tell them apart (a stripe along any edge says nothing
595
+ * the head does not; dev-docs/guidelines/coding.md).
596
+ */
592
597
  .board-context-part {
593
598
  --dpk-card-gap: 6px;
594
599
  padding: 14px 16px;
595
600
  }
596
601
 
597
- .board-context-part[data-context='why'],
598
- .board-context-part[data-context='what'] {
599
- border-top: 3px solid var(--dpk-accent);
600
- }
601
-
602
602
  .board-context-head {
603
603
  display: flex;
604
604
  align-items: center;
@@ -1628,9 +1628,9 @@ import{au as Re,bf as P,av as b,aw as i,aa as x,ac as c,az as $,aM as h,aB as Z,
1628
1628
  ${qa(t,g,{log:s.entries.length,questions:r.open,alert:r.blockingOpen>0},f=>{this.tab=f},f=>this.#n(f))}
1629
1629
  ${N("context",g,va(t,Oe(t,e.state,o),this.#d(),l))}
1630
1630
  ${N("log",g,Sa(t,s,l))}
1631
- ${N("questions",g,r.total===0?n`<p class="dpk-empty board-empty" data-variant="dashed">${t.noQuestions}</p>`:$a(t,r,l))}
1631
+ ${N("questions",g,r.total===0?n`<p class="dpk-empty board-empty" data-variant="dashed">${t.noQuestions}</p>`:wa(t,r,l))}
1632
1632
  ${N("tasks",g,_a(t,De(t,e.state,e.base,o,this.todoFilter),l,this.#r))}
1633
1633
  </div>
1634
1634
  `}}updated(){super.updated();const e=this.#a;e!==null&&(this.#a=null,this.renderRoot.querySelector(`[data-answer-text="${e}"]`)?.focus())}#n(e){const t=Ea(this.tab,e.key);t!==null&&(e.preventDefault(),this.tab=t,this.updateComplete.then(()=>this.renderRoot.querySelector(`[data-tab="${t}"]`)?.focus()))}#s(e,t){return t.status===null?d:n`<span class="dpk-status board-status board-status--header" data-status=${t.status}>
1635
1635
  ${xe(e,t.status)}
1636
- </span>`}#d(){return this.querySelector(':scope > [slot="main"]')!==null}#i(){return{answer:(e,t)=>this.#p(e,t),answerOther:e=>this.#c(e),decide:(e,t)=>this.dispatch(ge(e,t)),setStatus:(e,t)=>this.dispatch(F(e,t)),filterTodos:e=>{this.todoFilter=e},addTodo:(e,t)=>this.#u(e,t),deleteTodo:e=>this.dispatch(ke(e)),beginTodoDrag:e=>{this.#e=e},endTodoDrag:()=>{this.#e=null},allowTodoDrop:e=>{this.#e!==null&&e.preventDefault()},dropTodo:e=>this.#l(e),copy:(e,t)=>{this.#b(e,t)},comment:e=>this.requestComment(e)}}#l(e){const t=this.#e;if(this.#e=null,t===null)return;const{state:o}=this.derivation,r=k(o,t);r===void 0||r.status===e||!_(o,r)||this.dispatch(F(t,e))}#p(e,t){this.dispatch(K(e,t))}#c(e){this.dispatch(K(e,{kind:"answer",text:""})).ok&&(this.#a=e)}#u(e,t){const{base:o,state:r}=this.derivation,s=[...o.todos,...r.todos].map(l=>l.id);this.dispatch(he(ea(e,s),e,t))}async#b(e,t){await aa(t)&&(clearTimeout(this.#o),this.#t=e,this.requestUpdate(),this.#o=setTimeout(()=>{this.#t=null,this.requestUpdate()},Ma))}}const Ne=()=>{ra(),customElements.get("dpk-view-task-board")||customElements.define("dpk-view-task-board",Ge)},Ka=Object.freeze(Object.defineProperty({__proto__:null,CONTEXT_PARTS:q,DpkViewTaskBoard:Ge,MEMBER_KINDS:ne,TASK_BOARD_PAGE:be,TASK_STATUSES:re,TODO_STATUSES:A,addTodo:he,answerQuestion:K,applyTaskBoardAction:fe,contextPartTitle:B,decideProposal:ge,defineTaskBoardElement:Ne,deleteTodo:ke,describeTaskBoardAction:$e,emptyTaskBoardBase:ie,isAnswered:ce,isHumanTodo:_,isPlanned:H,outputLocation:Ee,parseTaskBoardBase:de,presentContext:Oe,presentLog:ze,presentOutputs:Ce,presentQuestions:Se,presentTasks:De,resolveTaskBoardNavigation:Ae,serializeTaskBoardAction:ye,setTodoStatus:F,taskBoardActions:m,taskBoardBaseSchema:se,taskBoardCommentTargets:Te,taskBoardDefinitionFor:Le,taskBoardHasTarget:qe,taskBoardMessages:j,taskBoardTitle:ve,taskPageTargetLabel:we},Symbol.toStringTag,{value:"Module"}));export{Ne as d,Ka as i};
1636
+ </span>`}#d(){return this.querySelector(':scope > [slot="main"]')!==null}#i(){return{answer:(e,t)=>this.#p(e,t),answerOther:e=>this.#c(e),decide:(e,t)=>this.dispatch(ge(e,t)),setStatus:(e,t)=>this.dispatch(F(e,t)),filterTodos:e=>{this.todoFilter=e},addTodo:(e,t)=>this.#u(e,t),deleteTodo:e=>this.dispatch(ke(e)),beginTodoDrag:e=>{this.#e=e},endTodoDrag:()=>{this.#e=null},allowTodoDrop:e=>{this.#e!==null&&e.preventDefault()},dropTodo:e=>this.#l(e),copy:(e,t)=>{this.#b(e,t)},comment:e=>this.requestComment(e)}}#l(e){const t=this.#e;if(this.#e=null,t===null)return;const{state:o}=this.derivation,r=k(o,t);r===void 0||r.status===e||!_(o,r)||this.dispatch(F(t,e))}#p(e,t){this.dispatch(K(e,t))}#c(e){this.dispatch(K(e,{kind:"answer",text:""})).ok&&(this.#a=e)}#u(e,t){const{base:o,state:r}=this.derivation,s=[...o.todos,...r.todos].map(l=>l.id);this.dispatch(he(ea(e,s),e,t))}async#b(e,t){await aa(t)&&(clearTimeout(this.#o),this.#t=e,this.requestUpdate(),this.#o=setTimeout(()=>{this.#t=null,this.requestUpdate()},Ma))}}const Ne=()=>{ra(),customElements.get("dpk-view-task-board")||customElements.define("dpk-view-task-board",Ge)},Ka=Object.freeze(Object.defineProperty({__proto__:null,CONTEXT_PARTS:q,DpkViewTaskBoard:Ge,MEMBER_KINDS:ne,TASK_BOARD_PAGE:be,TASK_STATUSES:re,TODO_STATUSES:A,addTodo:he,answerQuestion:K,applyTaskBoardAction:fe,contextPartTitle:B,decideProposal:ge,defineTaskBoardElement:Ne,deleteTodo:ke,describeTaskBoardAction:we,emptyTaskBoardBase:ie,isAnswered:ce,isHumanTodo:_,isPlanned:H,outputLocation:Ee,parseTaskBoardBase:de,presentContext:Oe,presentLog:ze,presentOutputs:Ce,presentQuestions:Se,presentTasks:De,resolveTaskBoardNavigation:Ae,serializeTaskBoardAction:ye,setTodoStatus:F,taskBoardActions:m,taskBoardBaseSchema:se,taskBoardCommentTargets:Te,taskBoardDefinitionFor:Le,taskBoardHasTarget:qe,taskBoardMessages:j,taskBoardTitle:ve,taskPageTargetLabel:$e},Symbol.toStringTag,{value:"Module"}));export{Ne as d,Ka as i};
@@ -1,4 +1,4 @@
1
- import{ah as a}from"./shared-DdpMqkAH.js";const t=a`
1
+ import{ah as a}from"./shared-CXefnQqJ.js";const t=a`
2
2
  /* ------------------------------------------------------------ browser window */
3
3
 
4
4
  :where(.dpk-browser-frame) {
@@ -1,4 +1,4 @@
1
- import{ah as e,bA as t,bB as o,bC as n}from"./shared-DdpMqkAH.js";import{a as d,c as i}from"./shared-qk9TB_UM.js";import{m as p}from"./shared-a9QCZpxj.js";const r=e`
1
+ import{ah as e,bA as t,bB as o,bC as n}from"./shared-CXefnQqJ.js";import{a as d,c as i}from"./shared-NkccEMPc.js";import{m as p}from"./shared-BzKZc8e7.js";const r=e`
2
2
  /*
3
3
  * A chart: a framed plot with its head above it. CSS only — the author draws
4
4
  * the SVG and this styles it, so a line chart reads as the kit's own: rules
@@ -1 +1 @@
1
- import{a5 as S,au as T,av as s,aw as o,aa as _,ac as l,aM as x,ax as B,ay as E,S as $,V as j}from"./shared-DdpMqkAH.js";const r=S({en:{wholePage:"Whole page",sectionGroup:"Section"},ja:{wholePage:"\u30DA\u30FC\u30B8\u5168\u4F53",sectionGroup:"\u30BB\u30AF\u30B7\u30E7\u30F3"}}),k=s({id:x,title:B(l(),E(1))}),c=s({title:o(l(),""),sections:o(_(k),[])}),p=t=>{const e=T(c,t),i=new Set;for(const a of e.sections){if(i.has(a.id))throw new Error(`duplicate section id: ${a.id}`);i.add(a.id)}return{title:e.title,sections:e.sections}},d=()=>({title:"",sections:[]}),n=(t,e)=>t.sections.find(i=>i.id===e),u=t=>t.title===""?"Plain":t.title,g=(t,e,i)=>{switch(i.type){case"section":return n(e,i.id)?.title??i.id;case"page":return t.wholePage;default:return i.id}},m=(t,e,i)=>({title:e.type,targetLabel:g(t,i,e.target),tone:"meta"}),f=t=>`${t.type} ${$(t.target)} ${JSON.stringify(t.payload)}`,w=(t,e)=>e.sections.map(i=>({value:`section:${i.id}`,label:i.title,group:t.sectionGroup})),y=(t,e)=>e,h=(t,e)=>{switch(e.type){case"section":return n(t,e.id)!==void 0;case"page":return!0;default:return!1}},P=t=>{const e=r(t);return{kind:"view",name:"plain",label:"Plain",addable:!1,parseBase:p,emptyBase:d,actions:{},apply:()=>null,hasTarget:h,describe:(i,a)=>m(e,i,a),serialize:f,resolveNavigation:y,commentTargets:i=>w(e,i),title:u}};class b extends j{definitionFor(e){return P(e)}renderRegions(e){return{}}}const v=()=>{customElements.get("dpk-view-plain")||customElements.define("dpk-view-plain",b)},M=Object.freeze(Object.defineProperty({__proto__:null,DpkViewPlain:b,definePlainElement:v,describePlainAction:m,emptyPlainBase:d,findSection:n,parsePlainBase:p,plainBaseSchema:c,plainCommentTargets:w,plainDefinitionFor:P,plainHasTarget:h,plainMessages:r,plainTargetLabel:g,plainTitle:u,resolvePlainNavigation:y,serializePlainAction:f},Symbol.toStringTag,{value:"Module"}));export{v as d,M as i};
1
+ import{a5 as S,au as T,av as s,aw as o,aa as _,ac as l,aM as x,ax as B,ay as E,S as $,V as j}from"./shared-CXefnQqJ.js";const r=S({en:{wholePage:"Whole page",sectionGroup:"Section"},ja:{wholePage:"\u30DA\u30FC\u30B8\u5168\u4F53",sectionGroup:"\u30BB\u30AF\u30B7\u30E7\u30F3"}}),k=s({id:x,title:B(l(),E(1))}),c=s({title:o(l(),""),sections:o(_(k),[])}),p=t=>{const e=T(c,t),i=new Set;for(const a of e.sections){if(i.has(a.id))throw new Error(`duplicate section id: ${a.id}`);i.add(a.id)}return{title:e.title,sections:e.sections}},d=()=>({title:"",sections:[]}),n=(t,e)=>t.sections.find(i=>i.id===e),u=t=>t.title===""?"Plain":t.title,g=(t,e,i)=>{switch(i.type){case"section":return n(e,i.id)?.title??i.id;case"page":return t.wholePage;default:return i.id}},m=(t,e,i)=>({title:e.type,targetLabel:g(t,i,e.target),tone:"meta"}),f=t=>`${t.type} ${$(t.target)} ${JSON.stringify(t.payload)}`,w=(t,e)=>e.sections.map(i=>({value:`section:${i.id}`,label:i.title,group:t.sectionGroup})),y=(t,e)=>e,h=(t,e)=>{switch(e.type){case"section":return n(t,e.id)!==void 0;case"page":return!0;default:return!1}},P=t=>{const e=r(t);return{kind:"view",name:"plain",label:"Plain",addable:!1,parseBase:p,emptyBase:d,actions:{},apply:()=>null,hasTarget:h,describe:(i,a)=>m(e,i,a),serialize:f,resolveNavigation:y,commentTargets:i=>w(e,i),title:u}};class b extends j{definitionFor(e){return P(e)}renderRegions(e){return{}}}const v=()=>{customElements.get("dpk-view-plain")||customElements.define("dpk-view-plain",b)},M=Object.freeze(Object.defineProperty({__proto__:null,DpkViewPlain:b,definePlainElement:v,describePlainAction:m,emptyPlainBase:d,findSection:n,parsePlainBase:p,plainBaseSchema:c,plainCommentTargets:w,plainDefinitionFor:P,plainHasTarget:h,plainMessages:r,plainTargetLabel:g,plainTitle:u,resolvePlainNavigation:y,serializePlainAction:f},Symbol.toStringTag,{value:"Module"}));export{v as d,M as i};