@thxgg/steward 0.1.16 → 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{CxHOXVf6.js → -z_Gr0GN.js} +1 -1
- package/.output/public/_nuxt/5LlyHjkF.js +60 -0
- package/.output/public/_nuxt/BA0u_CRT.js +1 -0
- package/.output/public/_nuxt/{Bibm_IDv.js → BA4e9-N5.js} +2 -2
- package/.output/public/_nuxt/{BSA0RJ-H.js → BO8EM227.js} +1 -1
- package/.output/public/_nuxt/C0XT5P3Q.js +1 -0
- package/.output/public/_nuxt/{BWVTacYj.js → CGzrvVc6.js} +1 -1
- package/.output/public/_nuxt/{Dum5qplW.js → CJlXUkTg.js} +1 -1
- package/.output/public/_nuxt/CZsXZugv.js +1 -0
- package/.output/public/_nuxt/{ynmyrfyT.js → C_HVaH3B.js} +1 -1
- package/.output/public/_nuxt/{wbjFvimm.js → DAnnHVQP.js} +1 -1
- package/.output/public/_nuxt/DEr8q68O.js +141 -0
- package/.output/public/_nuxt/Detail.DSyVQNdr.css +1 -0
- package/.output/public/_nuxt/DrXxYwWw.js +30 -0
- package/.output/public/_nuxt/QAzsKGuP.js +1 -0
- package/.output/public/_nuxt/TSsR_oCL.js +1 -0
- package/.output/public/_nuxt/WUF6Thhn.js +13 -0
- package/.output/public/_nuxt/_prd_.BkpxMFSV.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/19e0e040-a531-4c25-b46d-a6ca54a1ae3e.json +1 -0
- package/.output/public/_nuxt/i9wn3hS7.js +1 -0
- package/.output/server/chunks/_/git-api.mjs +101 -8
- package/.output/server/chunks/_/git-api.mjs.map +1 -1
- package/.output/server/chunks/_/git.mjs +3 -10
- package/.output/server/chunks/_/git.mjs.map +1 -1
- package/.output/server/chunks/_/prd-service.mjs +366 -0
- package/.output/server/chunks/_/prd-service.mjs.map +1 -0
- package/.output/server/chunks/_/repos.mjs +448 -0
- package/.output/server/chunks/_/repos.mjs.map +1 -0
- package/.output/server/chunks/_/task-graph.mjs +13 -14
- package/.output/server/chunks/_/task-graph.mjs.map +1 -1
- package/.output/server/chunks/_/watcher.mjs +54 -68
- package/.output/server/chunks/_/watcher.mjs.map +1 -1
- package/.output/server/chunks/build/{Detail-CUfU85GY.mjs → Detail-BQSkP9Zm.mjs} +170 -74
- package/.output/server/chunks/build/Detail-BQSkP9Zm.mjs.map +1 -0
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs +4 -0
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-BFsE2PCW.mjs.map +1 -0
- package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs +8 -0
- package/.output/server/chunks/build/DiffViewer-styles.D2bqX3nK.mjs.map +1 -0
- package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs +10 -0
- package/.output/server/chunks/build/DiffViewer-styles.FoV36wuV.mjs.map +1 -0
- package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs +8 -0
- package/.output/server/chunks/build/Viewer-styles.D6wYWFb1.mjs.map +1 -0
- package/.output/server/chunks/build/{_prd_-CeVnQzOV.mjs → _prd_-CBR_wm9i.mjs} +73 -33
- package/.output/server/chunks/build/_prd_-CBR_wm9i.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{default-DWCOHHTE.mjs → default-Cao5eO80.mjs} +2 -3
- package/.output/server/chunks/build/default-Cao5eO80.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-Bf6kdO80.mjs +0 -1
- package/.output/server/chunks/build/error-500-D_bcARXN.mjs +0 -1
- package/.output/server/chunks/build/{index-CckL_NBD.mjs → index-ByZO4Bvq.mjs} +2 -2
- package/.output/server/chunks/build/index-ByZO4Bvq.mjs.map +1 -0
- package/.output/server/chunks/build/{index-QVeSHT3L.mjs → index-ljj9uTXI.mjs} +6 -5
- package/.output/server/chunks/build/index-ljj9uTXI.mjs.map +1 -0
- package/.output/server/chunks/build/nuxt-link-SvT1nf8Z.mjs +1 -1
- package/.output/server/chunks/build/{repo-graph-CHNl58mY.mjs → repo-graph-CVnkmn8i.mjs} +23 -10
- package/.output/server/chunks/build/repo-graph-CVnkmn8i.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +5 -6
- package/.output/server/chunks/build/styles.mjs +4 -4
- package/.output/server/chunks/build/{usePrd-SqcxGyFU.mjs → usePrd-f7ylhIqs.mjs} +10 -34
- package/.output/server/chunks/build/usePrd-f7ylhIqs.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +614 -1211
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/browse.get.mjs +34 -10
- package/.output/server/chunks/routes/api/browse.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +3 -2
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +22 -7
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs +29 -23
- package/.output/server/chunks/routes/api/repos/_repoId/git/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs +12 -7
- package/.output/server/chunks/routes/api/repos/_repoId/git/diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs +32 -13
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-content.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs +14 -14
- package/.output/server/chunks/routes/api/repos/_repoId/git/file-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs +7 -2
- package/.output/server/chunks/routes/api/repos/_repoId/graph.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs +16 -2
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/graph.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs +21 -9
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/progress.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs +21 -85
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks/_taskId/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs +21 -9
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug/tasks.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs +31 -50
- package/.output/server/chunks/routes/api/repos/_repoId/prd/_prdSlug_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs +20 -49
- package/.output/server/chunks/routes/api/repos/_repoId/prds.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs +6 -13
- package/.output/server/chunks/routes/api/repos/_repoId/refresh-git-repos.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs +3 -2
- package/.output/server/chunks/routes/api/repos/_repoId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/runtime.get.mjs +1 -2
- package/.output/server/chunks/routes/api/runtime.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/watch.get.mjs +5 -4
- package/.output/server/chunks/routes/api/watch.get.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/index.mjs +1 -2
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/node_modules/zod/index.js +4 -0
- package/.output/server/node_modules/zod/package.json +118 -0
- package/.output/server/node_modules/zod/v3/ZodError.js +133 -0
- package/.output/server/node_modules/zod/v3/errors.js +9 -0
- package/.output/server/node_modules/zod/v3/external.js +6 -0
- package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
- package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
- package/.output/server/node_modules/zod/v3/types.js +3693 -0
- package/.output/server/package.json +2 -1
- package/README.md +2 -2
- package/dist/host/src/api/prds.js +6 -172
- package/dist/host/src/api/repos.js +3 -18
- package/dist/host/src/api/state.js +8 -9
- package/dist/host/src/executor-runner.js +368 -0
- package/dist/host/src/executor.js +138 -260
- package/dist/host/src/mcp.js +27 -1
- package/dist/host/src/ui.js +14 -4
- package/dist/server/utils/change-events.js +33 -0
- package/dist/server/utils/git.js +11 -16
- package/dist/server/utils/prd-service.js +231 -0
- package/dist/server/utils/prd-state.js +54 -162
- package/dist/server/utils/repos.js +72 -17
- package/dist/server/utils/state-schema.js +61 -0
- package/dist/server/utils/task-graph.js +13 -13
- package/package.json +2 -1
- package/.output/public/_nuxt/CVJh28bx.js +0 -1
- package/.output/public/_nuxt/CyZuidLG.js +0 -60
- package/.output/public/_nuxt/D0op9E2g.js +0 -1
- package/.output/public/_nuxt/DX8awZaa.js +0 -1
- package/.output/public/_nuxt/Detail.z33AHKev.css +0 -1
- package/.output/public/_nuxt/DiTJUZOC.js +0 -1
- package/.output/public/_nuxt/T_3JE9C-.js +0 -1
- package/.output/public/_nuxt/WOI2tLsR.js +0 -42
- package/.output/public/_nuxt/_prd_.KTotLoF_.css +0 -1
- package/.output/public/_nuxt/builds/meta/029070b0-b8e2-4988-84f4-d0c9ff55c998.json +0 -1
- package/.output/public/_nuxt/odRGDGwj.js +0 -1
- package/.output/server/chunks/build/Detail-CUfU85GY.mjs.map +0 -1
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-CS8FTppg.mjs +0 -4
- package/.output/server/chunks/build/DiffViewer-styles-1.mjs-CS8FTppg.mjs.map +0 -1
- package/.output/server/chunks/build/DiffViewer-styles.AUfwwelI.mjs +0 -10
- package/.output/server/chunks/build/DiffViewer-styles.AUfwwelI.mjs.map +0 -1
- package/.output/server/chunks/build/DiffViewer-styles.D_it8zfk.mjs +0 -8
- package/.output/server/chunks/build/DiffViewer-styles.D_it8zfk.mjs.map +0 -1
- package/.output/server/chunks/build/Viewer-styles.CshnetGw.mjs +0 -8
- package/.output/server/chunks/build/Viewer-styles.CshnetGw.mjs.map +0 -1
- package/.output/server/chunks/build/_prd_-CeVnQzOV.mjs.map +0 -1
- package/.output/server/chunks/build/default-DWCOHHTE.mjs.map +0 -1
- package/.output/server/chunks/build/index-CckL_NBD.mjs.map +0 -1
- package/.output/server/chunks/build/index-QVeSHT3L.mjs.map +0 -1
- package/.output/server/chunks/build/repo-graph-CHNl58mY.mjs.map +0 -1
- package/.output/server/chunks/build/usePrd-SqcxGyFU.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as M,j as G,k as H,o as r,c as a,l as t,a as s,b as n,d as x,m as J,w as R,t as f,n as P,F as K,r as Q,p as X,q as c,s as h}from"./Bibm_IDv.js";import{u as Y,a as Z,B as z,F as j,b as ee}from"./D0op9E2g.js";import{F as D,I as te,a as C}from"./wbjFvimm.js";import{A as S}from"./Dum5qplW.js";const se={class:"flex h-full items-center justify-center p-6 md:p-8"},oe={key:0,class:"mx-auto max-w-md text-center"},re={class:"mx-auto mb-6 flex size-16 items-center justify-center rounded-full bg-primary/10"},ae={class:"space-y-2"},ne={class:"flex gap-2"},de={key:0,class:"text-sm text-destructive"},le={key:0,class:"space-y-2 rounded-md border p-3"},ie={class:"flex items-center gap-2 text-sm"},ue=["disabled"],ce={class:"flex-1 truncate font-mono text-xs text-muted-foreground"},me={class:"max-h-[200px] overflow-y-auto"},pe={key:0,class:"py-2 text-center text-sm text-muted-foreground"},fe={key:1,class:"py-2 text-center text-sm text-muted-foreground"},xe=["onClick"],ve={class:"truncate"},ye={key:0},he={key:1},ge={key:1,class:"mx-auto max-w-md text-center"},be={class:"mx-auto mb-6 flex size-16 items-center justify-center rounded-full bg-primary/10"},_e={class:"mt-6 flex items-center justify-center gap-2 text-sm text-muted-foreground"},we={key:2,class:"mx-auto max-w-md text-center"},ke={class:"mx-auto mb-6 flex size-16 items-center justify-center rounded-full bg-muted"},Re={key:3,class:"mx-auto max-w-md text-center"},ze={class:"mx-auto mb-6 flex size-16 items-center justify-center rounded-full bg-primary/10"},Pe={class:"text-2xl font-semibold tracking-tight"},je={class:"mt-2 text-muted-foreground"},De={class:"mt-6 flex items-center justify-center gap-2 text-sm text-muted-foreground"},Ce={key:4,class:"mx-auto max-w-md text-center"},Ne=M({__name:"index",setup(Se){const F=G(),{repos:v,currentRepo:A,currentRepoId:y,addRepo:V,status:B}=Y(),{prds:i,prdsStatus:N}=Z(),{showSuccess:L}=ee(),d=c(""),u=c(null),m=c(!1),g=c(!1),p=c(""),b=c([]),_=c(!1);async function w(o){_.value=!0;try{const e=await $fetch("/api/browse",{query:{path:o||p.value||void 0}});p.value=e.current,b.value=e.directories}catch{}finally{_.value=!1}}function T(){g.value=!0,w(d.value||void 0)}function $(o){d.value=o,g.value=!1,u.value=null}function E(){const o=p.value.split("/").slice(0,-1).join("/")||"/";w(o)}async function U(){if(!d.value.trim()){u.value="Please enter a repository path";return}m.value=!0,u.value=null;try{const o=await V(d.value.trim());d.value="",L("Repository added",o?.name||"Successfully added repository")}catch(o){if(o instanceof Error){const e=o;u.value=e.data?.message||o.message}else u.value="Failed to add repository"}finally{m.value=!1}}const q=h(()=>B.value!=="pending"&&(!v.value||v.value.length===0)),I=h(()=>v.value&&v.value.length>0&&!y.value),O=h(()=>y.value&&(!i.value||i.value.length===0)),W=h(()=>y.value&&i.value&&i.value.length>0);return H([y,i,N],([o,e,l])=>{const k=e?.[0];o&&l==="success"&&k&&F.push(`/${o}/${k.slug}`)},{immediate:!0}),(o,e)=>(r(),a("div",se,[t(q)?(r(),a("div",oe,[s("div",re,[n(t(D),{class:"size-8 text-primary"})]),e[4]||(e[4]=s("h2",{class:"text-2xl font-semibold tracking-tight"}," Welcome to PRD Viewer ",-1)),e[5]||(e[5]=s("p",{class:"mt-2 text-muted-foreground"},[x(" Add a repository to get started. The repository should contain PRD documents in a "),s("code",{class:"rounded bg-muted px-1.5 py-0.5 text-sm"},"docs/prd/"),x(" directory. ")],-1)),s("form",{class:"mt-6 space-y-4 text-left",onSubmit:X(U,["prevent"])},[s("div",ae,[e[2]||(e[2]=s("label",{for:"repo-path",class:"text-sm font-medium"}," Repository Path ",-1)),s("div",ne,[n(t(te),{id:"repo-path",modelValue:t(d),"onUpdate:modelValue":e[0]||(e[0]=l=>J(d)?d.value=l:null),placeholder:"/path/to/your/project",disabled:t(m),class:"flex-1"},null,8,["modelValue","disabled"]),n(t(z),{type:"button",variant:"outline",size:"icon",disabled:t(m),onClick:T},{default:R(()=>[n(t(C),{class:"size-4"})]),_:1},8,["disabled"])]),t(u)?(r(),a("p",de,f(t(u)),1)):P("",!0)]),t(g)?(r(),a("div",le,[s("div",ie,[s("button",{type:"button",class:"hover:text-foreground text-muted-foreground",disabled:t(p)==="/",onClick:E}," .. ",8,ue),s("span",ce,f(t(p)),1),n(t(z),{type:"button",variant:"ghost",size:"sm",class:"h-7 text-xs",onClick:e[1]||(e[1]=l=>$(t(p)))},{default:R(()=>[...e[3]||(e[3]=[x(" Select ",-1)])]),_:1})]),s("div",me,[t(_)?(r(),a("div",pe," Loading... ")):t(b).length?(r(!0),a(K,{key:2},Q(t(b),l=>(r(),a("button",{key:l.path,type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1 text-sm hover:bg-accent",onClick:k=>w(l.path)},[n(t(C),{class:"size-4 text-muted-foreground"}),s("span",ve,f(l.name),1)],8,xe))),128)):(r(),a("div",fe," No subdirectories "))])])):P("",!0),n(t(z),{type:"submit",class:"w-full",disabled:t(m)},{default:R(()=>[t(m)?(r(),a("span",ye,"Adding...")):(r(),a("span",he,"Add Repository"))]),_:1},8,["disabled"])],32)])):t(I)?(r(),a("div",ge,[s("div",be,[n(t(D),{class:"size-8 text-primary"})]),e[7]||(e[7]=s("h2",{class:"text-2xl font-semibold tracking-tight"}," Select a Repository ",-1)),e[8]||(e[8]=s("p",{class:"mt-2 text-muted-foreground"}," Choose a repository from the dropdown in the header to view its PRD documents. ",-1)),s("div",_e,[n(t(S),{class:"size-4"}),e[6]||(e[6]=s("span",null,"Use the repository selector above",-1))])])):t(O)?(r(),a("div",we,[s("div",ke,[n(t(j),{class:"size-8 text-muted-foreground"})]),e[9]||(e[9]=s("h2",{class:"text-2xl font-semibold tracking-tight"}," No PRDs Found ",-1)),e[10]||(e[10]=s("p",{class:"mt-2 text-muted-foreground"},[x(" This repository doesn't have any PRD documents yet. Add markdown files to "),s("code",{class:"rounded bg-muted px-1.5 py-0.5 text-sm"},"docs/prd/"),x(" to get started. ")],-1))])):t(W)?(r(),a("div",Re,[s("div",ze,[n(t(j),{class:"size-8 text-primary"})]),s("h2",Pe,f(t(A)?.name),1),s("p",je,f(t(i)?.length)+" PRD"+f(t(i)?.length===1?"":"s")+" available. Select one from the sidebar to view details. ",1),s("div",De,[n(t(S),{class:"size-4 rotate-180"}),e[11]||(e[11]=s("span",null,"Choose a PRD from the sidebar",-1))])])):(r(),a("div",Ce,[...e[12]||(e[12]=[s("div",{class:"mx-auto mb-6 flex size-16 items-center justify-center"},[s("div",{class:"size-8 animate-spin rounded-full border-4 border-primary border-t-transparent"})],-1),s("p",{class:"text-muted-foreground"},"Loading...",-1)])]))]))}});export{Ne as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.diff-viewer[data-v-8fd455b9]{color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.5}.diff-container[data-v-8fd455b9]{overflow-x:auto}.diff-toolbar[data-v-8fd455b9]{background:hsl(var(--muted)/.3);border-bottom:1px solid hsl(var(--border));display:flex;justify-content:flex-end;padding:.25rem .5rem}.diff-split[data-v-8fd455b9]{display:flex;min-width:100%}.diff-column[data-v-8fd455b9]{flex:1;min-width:0;overflow-x:auto}.diff-column-left[data-v-8fd455b9]{border-right:1px solid hsl(var(--border))}.diff-column-content[data-v-8fd455b9]{min-width:-moz-fit-content;min-width:fit-content}.diff-line[data-v-8fd455b9]{display:flex}.diff-gutter[data-v-8fd455b9]{background:hsl(var(--muted)/.3);color:hsl(var(--muted-foreground));flex-shrink:0;padding:0 .5rem;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:3.5rem}.line-number[data-v-8fd455b9]{display:inline-block;min-width:2rem;opacity:.7}.diff-content[data-v-8fd455b9]{color:hsl(var(--foreground));flex:1;min-width:0;padding:0 .5rem;white-space:pre}.diff-code[data-v-8fd455b9]{color:inherit;display:inline}.diff-add[data-v-8fd455b9]{background:#16a24926}.diff-add .diff-gutter[data-v-8fd455b9]{background:#16a24940}.diff-remove[data-v-8fd455b9]{background:#ef434326}.diff-remove .diff-gutter[data-v-8fd455b9]{background:#ef434340}.diff-empty[data-v-8fd455b9]{background:hsl(var(--muted)/.2)}.diff-empty .diff-gutter[data-v-8fd455b9]{background:hsl(var(--muted)/.3)}.diff-context[data-v-8fd455b9]{background:transparent}.full-file-view[data-v-8fd455b9]{min-width:100%}.full-file-line[data-v-8fd455b9]{display:flex}.full-file-line .diff-gutter[data-v-8fd455b9]{width:4rem}.full-file-line.diff-add[data-v-8fd455b9]{background:#16a24926}.full-file-line.diff-add .diff-gutter[data-v-8fd455b9]{background:#16a24940}.dark .full-file-line.diff-add[data-v-8fd455b9]{background:#16a2491a}.dark .full-file-line.diff-add .diff-gutter[data-v-8fd455b9]{background:#16a24933}.diff-separator[data-v-8fd455b9],.diff-separator-half[data-v-8fd455b9]{align-items:center;background:hsl(var(--muted)/.4);display:flex;padding:.25rem 0}.separator-line[data-v-8fd455b9]{background:hsl(var(--border));flex:1;height:1px}.separator-text[data-v-8fd455b9]{color:hsl(var(--muted-foreground));font-size:.75rem;padding:0 .75rem}.dark .diff-add[data-v-8fd455b9]{background:#16a2491a}.dark .diff-add .diff-gutter[data-v-8fd455b9]{background:#16a24933}.dark .diff-remove[data-v-8fd455b9]{background:#ef43431a}.dark .diff-remove .diff-gutter[data-v-8fd455b9]{background:#ef434333}[data-v-8fd455b9] .shiki span,[data-v-8fd455b9] .shiki{background:transparent!important}html.dark .diff-viewer span[style*=--shiki-dark]{background-color:transparent!important;color:var(--shiki-dark)!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as I,h as T,S as p}from"./D0op9E2g.js";import{s as m,q as v,i as C,g as d,N,a5 as x,a0 as A,k as y,$ as O}from"./Bibm_IDv.js";import{q as E}from"./BSA0RJ-H.js";const k=I("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);function w(){const e=v(),t=m(()=>["#text","#comment"].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:T(e));return{primitiveElement:e,currentElement:t}}const g="data-reka-collection-item";function D(e={}){const{key:t="",isProvider:i=!1}=e,r=`${t}CollectionProvider`;let o;if(i){const a=v(new Map);o={collectionRef:v(),itemMap:a},O(r,o)}else o=C(r);const h=(a=!1)=>{const s=o.collectionRef.value;if(!s)return[];const l=Array.from(s.querySelectorAll(`[${g}]`)),n=Array.from(o.itemMap.value.values()).sort((c,f)=>l.indexOf(c.ref)-l.indexOf(f.ref));return a?n:n.filter(c=>c.ref.dataset.disabled!=="")},M=d({name:"CollectionSlot",inheritAttrs:!1,setup(a,{slots:s,attrs:l}){const{primitiveElement:u,currentElement:n}=w();return y(n,()=>{o.collectionRef.value=n.value}),()=>A(p,{ref:u,...l},s)}}),R=d({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(a,{slots:s,attrs:l}){const{primitiveElement:u,currentElement:n}=w();return N(c=>{if(n.value){const f=x(n.value);o.itemMap.value.set(f,{ref:n.value,value:a.value}),c(()=>o.itemMap.value.delete(f))}}),()=>A(p,{...l,[g]:"",ref:u},s)}}),S=m(()=>Array.from(o.itemMap.value.values())),_=m(()=>o.itemMap.value.size);return{getItems:h,reactiveItems:S,itemMapSize:_,CollectionSlot:M,CollectionItem:R}}const $="rovingFocusGroup.onEntryFocus",q={bubbles:!1,cancelable:!0},P={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function U(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function z(e,t,i){const r=U(e.key,i);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return P[r]}function K(e,t=!1){const i=E();for(const r of e)if(r===i||(r.focus({preventScroll:t}),E()!==i))return}function V(e,t){return e.map((i,r)=>e[(t+r)%e.length])}export{k as A,$ as E,q as a,w as b,K as f,z as g,D as u,V as w};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as j,_ as D}from"./WOI2tLsR.js";import{u as F,a as I,B as M,b as N}from"./D0op9E2g.js";import{g as O,M as V,k as y,z as $,c as q,a as u,b as i,l as e,d as x,w as H,m as L,s as w,q as a,i as U,o as A,H as J}from"./Bibm_IDv.js";import{G as K,R as Q}from"./BSA0RJ-H.js";import"./Dum5qplW.js";import"./DlAUqK2U.js";import"./CVJh28bx.js";const W={class:"h-full p-4 md:p-6"},X={class:"mx-auto max-w-[1500px] space-y-4"},Y={class:"flex flex-wrap items-center justify-between gap-3"},Z={class:"flex items-center gap-2 text-2xl font-bold tracking-tight"},ss={class:"h-[calc(100vh-220px)] min-h-[500px] motion-safe:transition-[opacity,transform] motion-safe:duration-200 motion-safe:ease-[var(--ease-out-cubic)] motion-reduce:transition-none"},is=O({__name:"repo-graph",setup(ts){const T=V(),{selectRepo:k}=F(),{fetchRepoGraph:C,fetchTasks:R,fetchTaskCommits:P}=I(),{showError:b}=N(),o=w(()=>T.params.repo),c=a(null),p=a(!1),d=a(null),n=a({}),h=a(null),v=a(null),f=a(!1),g=a([]);function B(s,t){n.value={...n.value,[s]:t}}async function G(s){if(Object.prototype.hasOwnProperty.call(n.value,s))return n.value[s]??null;const t=await R(s);return B(s,t),t}const E=w(()=>{const s=new Map,t=v.value;if(!t)return s;const r=n.value[t]??null;if(!r?.tasks)return s;for(const l of r.tasks)s.set(l.id,l.title);return s});async function m(s=!1){if(o.value&&!(!s&&c.value)){p.value=!0,d.value=null;try{k(o.value);const t=await C();if(!t){d.value="Failed to load repository graph.";return}c.value=t}finally{p.value=!1}}}async function S(s){const r=(await G(s.prdSlug))?.tasks.find(l=>l.id===s.taskId);if(!r){b("Task unavailable",`Could not find ${s.taskId} in ${s.prdSlug}.`);return}h.value=r,v.value=s.prdSlug,f.value=!0,g.value=[],g.value=await P(s.prdSlug,r.id)}const z=U("fileChangeEvent",a(null));return y(()=>z.value,async s=>{s&&(s.category!=="tasks"&&s.category!=="progress"&&s.category!=="prd"||((s.category==="tasks"||s.category==="progress")&&(n.value={}),await m(!0)))}),$(async()=>{o.value&&(k(o.value),await m(!0))}),y(o,async()=>{c.value=null,d.value=null,n.value={},o.value&&(k(o.value),await m(!0))}),(s,t)=>{const r=j,l=D;return A(),q("div",W,[u("div",X,[u("div",Y,[u("div",null,[u("h1",Z,[i(e(K),{class:"size-5"}),t[2]||(t[2]=x(" Repository Graph ",-1))]),t[3]||(t[3]=u("p",{class:"mt-1 text-sm text-muted-foreground"}," Dependency graph across PRDs with task state in this repository. ",-1))]),i(e(M),{variant:"outline",size:"sm",class:"h-8",onClick:t[0]||(t[0]=_=>m(!0))},{default:H(()=>[i(e(Q),{class:J(["mr-1.5 size-3.5",{"animate-spin":e(p)}])},null,8,["class"]),t[4]||(t[4]=x(" Refresh ",-1))]),_:1})]),u("div",ss,[i(r,{payload:e(c),scope:"repo",loading:e(p),error:e(d),onTaskClick:S},null,8,["payload","loading","error"])])]),i(l,{open:e(f),"onUpdate:open":t[1]||(t[1]=_=>L(f)?f.value=_:null),task:e(h),"task-titles":e(E),commits:e(g),"repo-id":e(o),"task-prd-slug":e(v),"current-prd-slug":null},null,8,["open","task","task-titles","commits","repo-id","task-prd-slug"])])}}});export{is as default};
|