@fabiofiorita/porcelain 0.76.0 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/server/src/cli/main.mjs +8243 -7639
  4. package/web/dist/assets/_-BTvJDc4N.js +1 -0
  5. package/web/dist/assets/_layerId-NWxUwyYM.js +1 -0
  6. package/web/dist/assets/_paired-Cd6bWv-d.js +1 -0
  7. package/web/dist/assets/_paired-Dhf6bO7a.js +1 -0
  8. package/web/dist/assets/_paired-LyVh2Ev9.js +1 -0
  9. package/web/dist/assets/_paired-z3_np6A6.js +1 -0
  10. package/web/dist/assets/_reviewId-DskS2QHc.js +1 -0
  11. package/web/dist/assets/_revision-DbkYDGJy.js +1 -0
  12. package/web/dist/assets/{_section-BQ20AKhJ.js → _section-CJMMR6oZ.js} +1 -1
  13. package/web/dist/assets/_worktreeId-CIrrQ4wO.js +1 -0
  14. package/web/dist/assets/_worktreeId-CMLa7jIe.js +1 -0
  15. package/web/dist/assets/_worktreeId-Dhf6bO7a.js +1 -0
  16. package/web/dist/assets/_worktreeId-LyVh2Ev9.js +1 -0
  17. package/web/dist/assets/access-Cc9LnHhZ.js +19 -0
  18. package/web/dist/assets/connected-workspace-BCSEyUOs.js +1 -0
  19. package/web/dist/assets/desktop-actions-BxLgt0EB.js +1 -0
  20. package/web/dist/assets/{edit-file-rWLFkawP.js → edit-file-oBFPJFcX.js} +20 -20
  21. package/web/dist/assets/{file-editor-CmaAI7mD.js → file-editor--RrdNChU.js} +11 -11
  22. package/web/dist/assets/index-BXmzx3MO.js +10 -0
  23. package/web/dist/assets/{lazyRouteComponent-DF1peoaD.js → lazyRouteComponent-B5-ihfdW.js} +1 -1
  24. package/web/dist/assets/pair-BC_fDEO8.js +1 -0
  25. package/web/dist/assets/pair-Dhf6bO7a.js +1 -0
  26. package/web/dist/assets/{review-route-CilLpBvt.js → review-route-BHH1bYmh.js} +1 -1
  27. package/web/dist/assets/reviews-URZ7SKqW.js +1396 -0
  28. package/web/dist/assets/useMatch-DLaUbB76.js +1 -0
  29. package/web/dist/assets/useRouterState-BxhFGwfy.js +1 -0
  30. package/web/dist/assets/workspace-error-CjLz95tb.js +1 -0
  31. package/web/dist/assets/workspace-pending-CSiUulq0.js +1 -0
  32. package/web/dist/index.html +7 -7
  33. package/web/dist/assets/_-mTAQQLxa.js +0 -1
  34. package/web/dist/assets/_layerId-D-Ld4zoA.js +0 -1
  35. package/web/dist/assets/_paired-DQq2L_lM.js +0 -1
  36. package/web/dist/assets/_paired-DwQfzpPo.js +0 -1
  37. package/web/dist/assets/_paired-P-FUnX-y.js +0 -1
  38. package/web/dist/assets/_paired-VrOGlA1G.js +0 -1
  39. package/web/dist/assets/_reviewId-CR5Y2cjT.js +0 -1
  40. package/web/dist/assets/_revision-1wivYK0j.js +0 -1
  41. package/web/dist/assets/_worktreeId-BPp_s24t.js +0 -1
  42. package/web/dist/assets/_worktreeId-DQq2L_lM.js +0 -1
  43. package/web/dist/assets/_worktreeId-Dfp8EiPX.js +0 -1
  44. package/web/dist/assets/_worktreeId-P-FUnX-y.js +0 -1
  45. package/web/dist/assets/access-CPhumIOz.js +0 -19
  46. package/web/dist/assets/connected-workspace-Cqk_MV5h.js +0 -1
  47. package/web/dist/assets/desktop-actions-DEpOe60L.js +0 -1
  48. package/web/dist/assets/index-DbOyN2aI.js +0 -10
  49. package/web/dist/assets/pair-CwRRIQuD.js +0 -1
  50. package/web/dist/assets/pair-DQq2L_lM.js +0 -1
  51. package/web/dist/assets/reviews-Knu80SJM.js +0 -1396
  52. package/web/dist/assets/useMatch-CmjLPEeI.js +0 -1
  53. package/web/dist/assets/useRouterState-CFV0Nv_N.js +0 -1
  54. package/web/dist/assets/workspace-error-B0KK7kzA.js +0 -1
  55. package/web/dist/assets/workspace-pending-DnmDeSe-.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Dn as t,F as n,Fo as r,H as i,Io as a,Ki as o,Ro as s,Xi as ee,Yi as te,_ as c,_n as ne,ac as l,as as u,c as d,fc as f,g as p,hc as m,ns as re,rs as ie,tl as ae,ts as h,vc as oe,wc as g,wn as se,z as ce}from"./access-Cc9LnHhZ.js";import{A as le,C as _,D as ue,E as v,N as y,O as b,P as de,T as x,b as S,k as fe,l as pe,m as me,o as he,s as ge,t as _e,v as ve,w as ye,x as C,y as be}from"./reviews-URZ7SKqW.js";import{Jr as w,R as T,Wr as xe,Xr as E,Yr as D,qr as O,z as k}from"./edit-file-oBFPJFcX.js";import{n as Se,r as Ce}from"./desktop-actions-BxLgt0EB.js";var A={name:`compass`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}]]};A.node;var j=h(A),M={name:`folder-x`,size:24,node:[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`m9.5 10.5 5 5`,key:`ra9qjz`}],[`path`,{d:`m14.5 10.5-5 5`,key:`l2rkpq`}]]};M.node;var N=h(M),we=e(ae(),1),P=f();function Te(e){let t=(0,P.c)(2),r;t[0]===e?r=t[1]:(r=n(e),t[0]=e,t[1]=r),l(r)}var F=g();function I(e){let t=(0,P.c)(7),{icon:n,tone:r}=e,i=(r===void 0?`default`:r)===`destructive`?`bg-destructive/10 text-destructive`:`bg-muted text-foreground`,a;t[0]===i?a=t[1]:(a=u(`grid size-10 shrink-0 place-items-center rounded-xl`,i),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=(0,F.jsx)(n,{className:`size-5`}),t[2]=n,t[3]=o);let s;return t[4]!==a||t[5]!==o?(s=(0,F.jsx)(`span`,{"aria-hidden":`true`,className:a,children:o}),t[4]=a,t[5]=o,t[6]=s):s=t[6],s}function L(e){let t=(0,P.c)(4),{keys:n}=e,r;t[0]===n?r=t[1]:(r=n.split(`+`).map(R),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,F.jsx)(C,{children:r}),t[2]=r,t[3]=i),i}function R(e){return(0,F.jsx)(S,{className:`min-w-6 justify-center`,children:O(e)},e)}function Ee(e){let t=(0,P.c)(6),{open:n,onOpenChange:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsx)(I,{icon:y}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsxs)(ue,{className:`flex-row items-center text-left`,children:[i,(0,F.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,F.jsx)(b,{children:`Keyboard shortcuts`}),(0,F.jsx)(v,{children:`None of them fire while you are typing.`})]})]}),t[1]=a):a=t[1];let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsxs)(x,{className:`max-h-[85svh] grid-rows-[auto_minmax(0,1fr)] overflow-hidden sm:max-w-xl`,children:[a,(0,F.jsx)(_,{className:`-mr-3 min-h-0`,children:(0,F.jsx)(`div`,{className:`flex flex-col gap-5 pr-3`,children:k.map(De)})})]}),t[2]=o):o=t[2];let s;return t[3]!==r||t[4]!==n?(s=(0,F.jsx)(ye,{open:n,onOpenChange:r,children:o}),t[3]=r,t[4]=n,t[5]=s):s=t[5],s}function De(e){return(0,F.jsxs)(`section`,{"aria-labelledby":`shortcuts-${e.title}`,children:[(0,F.jsx)(`h3`,{id:`shortcuts-${e.title}`,className:`mb-1 text-xs font-medium tracking-wide text-muted-foreground uppercase`,children:e.title}),(0,F.jsx)(`dl`,{className:`divide-y rounded-xl border`,children:e.items.map(z)})]},e.title)}function z(e){return(0,F.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-3 py-2`,children:[(0,F.jsx)(`dt`,{className:`text-sm`,children:e.label}),(0,F.jsx)(`dd`,{className:`shrink-0`,children:(0,F.jsx)(L,{keys:e.keys})})]},e.keys)}var Oe={"not-found":{title:`Page not found`,description:`This URL does not open a page in Porcelain.`,icon:j},"missing-worktree":{title:`Worktree not found`,description:`This URL has an invalid or unavailable worktree ID.`,icon:N},empty:{title:`Select a worktree`,description:`Choose one on the left to open its review.`,icon:de}};function B(e){let n=(0,P.c)(101),{review:r,openReview:a,remote:s,unavailable:l,notice:f,children:p,settingsOpen:ae}=e,h=ae!==void 0&&ae,g=be(),[_,ue]=(0,we.useState)(!1),[v,y]=(0,we.useState)(!1),{setOpenMobile:b,isMobile:x,open:S,openMobile:ye}=c(),C;n[0]===b?C=n[1]:(C=(e,t)=>{ue(!e&&t.reason===`escape-key`),b(e)},n[0]=b,n[1]=C);let w;n[2]!==g||n[3]!==_?(w=e=>{!e&&_&&(ue(!1),g.element?.focus())},n[2]=g,n[3]=_,n[4]=w):w=n[4];let E;n[5]!==C||n[6]!==w?(E={onOpenChange:C,onOpenChangeComplete:w},n[5]=C,n[6]=w,n[7]=E):E=n[7];let D=E,O=oe(),k=se(),A=fe(k.connection),j,M,N,I,L;if(n[8]!==A||n[9]!==f){I=te(A,o(A)?.id),M=!f&&A.projects.length===0;let e;n[15]!==M||n[16]!==f?(e=M?{title:`Open your first project`,description:`Open a Git repository to see its worktrees and review changes.`,icon:de}:Oe[f??`empty`],n[15]=M,n[16]=f,n[17]=e):e=n[17],N=e,j=N.icon,L=ee(I?.worktree.branch||void 0),n[8]=A,n[9]=f,n[10]=j,n[11]=M,n[12]=N,n[13]=I,n[14]=L}else j=n[10],M=n[11],N=n[12],I=n[13],L=n[14];let R=L,De=t(),z=se(s?.connection),B=s?.remote.environmentId??null,V;n[18]!==r||n[19]!==B?(V=r&&{remote:B,projectId:r.selection.projectId,worktreeId:r.selection.worktree.id},n[18]=r,n[19]=B,n[20]=V):V=n[20];let H=V,Ae;n[21]!==s||n[22]!==r?(Ae=r?ge({entry:r.search.entry,surface:r.search.surface,project:r.inventory.projects.find(e=>e.id===r.selection.projectId)?.name,environment:s||r.inventory.environment.custom?r.inventory.environment.name:void 0}):`Porcelain`,n[21]=s,n[22]=r,n[23]=Ae):Ae=n[23],Te(Ae);let je;n[24]!==O||n[25]!==r?(je=e=>O({...Ce(e),replace:r===void 0}),n[24]=O,n[25]=r,n[26]=je):je=n[26];let U=je,W=Se(k.connection,U),Me;n[27]!==O||n[28]!==b?(Me=e=>{let t=e===void 0?pe:e;b(!1),O({to:`/settings/$section`,params:{section:t}})},n[27]=O,n[28]=b,n[29]=Me):Me=n[29];let G=Me,K,q;if(n[30]!==k.connection||n[31]!==O||n[32]!==W||n[33]!==a||n[34]!==G||n[35]!==De||n[36]!==b||n[37]!==h||n[38]!==H){let e;n[41]===W?e=n[42]:(e=e=>e?le.openWithPayload({remote:e.remote.environmentId}):W(),n[41]=W,n[42]=e);let t;n[43]===G?t=n[44]:(t=()=>G(),n[43]=G,n[44]=t);let r;n[45]!==O||n[46]!==b?(r=e=>{b(!1),O({to:`/settings/$section/$environmentId`,params:{section:`computers`,environmentId:e}})},n[45]=O,n[46]=b,n[47]=r):r=n[47];let i;n[48]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>y(!0),n[48]=i):i=n[48],K={settingsOpen:h,remotes:void 0,selected:H,openReview:a,onOpenPullRequest:e=>{if(e.review.state!==`available`||!e.review.pullRequestNumber)return;let t=he({kind:`pull-request`,reviewId:e.review.reviewId,number:e.review.pullRequestNumber,environmentId:e.environmentId});b(!1),H?q({entry:t}):O({to:`/reviews/$reviewId`,params:{reviewId:e.review.reviewId},search:{environment:e.environmentId===k.connection.environmentId?void 0:e.environmentId,decision:void 0,entry:t}})},onOpenProject:e,onOpenSettings:t,onOpenRemotes:r,onOpenShortcuts:i},q=(e,t)=>{H&&O({...Ce(H),search:t=>({...t,...e}),...t})},n[30]=k.connection,n[31]=O,n[32]=W,n[33]=a,n[34]=G,n[35]=De,n[36]=b,n[37]=h,n[38]=H,n[39]=K,n[40]=q}else K=n[39],q=n[40];let Ne;n[49]===G?Ne=n[50]:(Ne=()=>G(),n[49]=G,n[50]=Ne);let Pe;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(Pe={ignoreInputs:!0},n[51]=Pe):Pe=n[51],xe(T.openSettings,Ne,Pe);let Fe,Ie;n[52]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=()=>y(!0),Ie={ignoreInputs:!0},n[52]=Fe,n[53]=Ie):(Fe=n[52],Ie=n[53]),xe(T.openShortcuts,Fe,Ie);let Le;n[54]!==p||n[55]!==g?(Le=typeof p==`function`?p(g):p,n[54]=p,n[55]=g,n[56]=Le):Le=n[56];let Re=Le,J;n[57]!==x||n[58]!==D||n[59]!==K||n[60]!==U||n[61]!==b?(J=x&&(0,F.jsx)(d,{variant:`floating`,...D,children:(0,F.jsx)(ve,{...K,onSelect:e=>{U(e),b(!1)}})}),n[57]=x,n[58]=D,n[59]=K,n[60]=U,n[61]=b,n[62]=J):J=n[62];let Y;n[63]===U?Y=n[64]:(Y=e=>void U(e),n[63]=U,n[64]=Y);let X;n[65]!==K||n[66]!==Y?(X={...K,onSelect:Y},n[65]=K,n[66]=Y,n[67]=X):X=n[67];let Z;n[68]!==j||n[69]!==Re||n[70]!==z||n[71]!==M||n[72]!==x||n[73]!==N.description||n[74]!==N.title||n[75]!==g||n[76]!==K||n[77]!==f||n[78]!==q||n[79]!==S||n[80]!==W||n[81]!==ye||n[82]!==I||n[83]!==R||n[84]!==s||n[85]!==r||n[86]!==b||n[87]!==B||n[88]!==l?(Z=Re??(r?(0,F.jsx)(_e,{navigationTrigger:g,worktree:r.selection.worktree,projectId:r.selection.projectId,search:r.search,onSearch:q,context:z},`${B??``}:${r.selection.worktree.id}`):(0,F.jsx)(ke,{navigationTrigger:g,isMobile:x,open:S,openMobile:ye,children:s&&l?(0,F.jsx)(ce,{name:s.remote.name,status:l,onOpenRemotes:()=>K.onOpenRemotes(s.remote.environmentId)}):(0,F.jsxs)(i,{title:N.title,description:N.description,icon:(0,F.jsx)(j,{}),children:[M&&(0,F.jsx)(re,{variant:`outline`,onClick:()=>{b(!1),W()},children:`Open project`}),!f&&I&&(0,F.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col gap-2`,children:[(0,F.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`First that needs you`}),(0,F.jsx)(m,{className:`flex min-w-0 flex-col rounded-lg border p-3 text-ui hover:bg-accent`,to:`/$projectId/$worktreeId`,params:{projectId:I.projectId,worktreeId:I.worktree.id},children:(0,F.jsx)(ne,{text:R,className:`font-medium`})})]}),f===`missing-worktree`&&I&&(0,F.jsx)(m,{className:u(ie()),to:`/$projectId/$worktreeId`,params:{projectId:I.projectId,worktreeId:I.worktree.id},children:`Open available worktree`}),f&&(0,F.jsx)(m,{className:u(ie({variant:`outline`})),to:`/`,search:{},children:`Back to workspace`})]})})),n[68]=j,n[69]=Re,n[70]=z,n[71]=M,n[72]=x,n[73]=N.description,n[74]=N.title,n[75]=g,n[76]=K,n[77]=f,n[78]=q,n[79]=S,n[80]=W,n[81]=ye,n[82]=I,n[83]=R,n[84]=s,n[85]=r,n[86]=b,n[87]=B,n[88]=l,n[89]=Z):Z=n[89];let Q;n[90]!==x||n[91]!==S||n[92]!==X||n[93]!==Z?(Q=(0,F.jsx)(me,{navigator:X,isMobile:x,open:S,children:Z}),n[90]=x,n[91]=S,n[92]=X,n[93]=Z,n[94]=Q):Q=n[94];let $;n[95]===v?$=n[96]:($=(0,F.jsx)(Ee,{open:v,onOpenChange:y}),n[95]=v,n[96]=$);let ze;return n[97]!==J||n[98]!==Q||n[99]!==$?(ze=(0,F.jsxs)(F.Fragment,{children:[J,Q,$]}),n[97]=J,n[98]=Q,n[99]=$,n[100]=ze):ze=n[100],ze}function ke(e){let t=(0,P.c)(12),{navigationTrigger:n,isMobile:i,open:o,openMobile:ee,children:te}=e,c;t[0]===n?c=t[1]:(c=e=>n.attach(e),t[0]=n,t[1]=c);let ne=i?ee:o,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=w(D(T.toggleNavigator,E())),t[2]=l):l=t[2];let u;t[3]!==c||t[4]!==ne?(u=(0,F.jsx)(s,{render:(0,F.jsx)(p,{ref:c,className:`absolute top-3 left-3`,"aria-label":`Toggle Sidebar`,"aria-expanded":ne,"aria-keyshortcuts":l})}),t[3]=c,t[4]=ne,t[5]=u):u=t[5];let d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,F.jsxs)(a,{side:`right`,children:[`Toggle sidebar`,(0,F.jsx)(S,{children:O(T.toggleNavigator)})]}),t[6]=d):d=t[6];let f;t[7]===u?f=t[8]:(f=(0,F.jsxs)(r,{children:[u,d]}),t[7]=u,t[8]=f);let m;return t[9]!==te||t[10]!==f?(m=(0,F.jsxs)(`div`,{className:`relative grid h-full min-h-0 place-items-center rounded-paper border bg-card p-8`,children:[f,te]}),t[9]=te,t[10]=f,t[11]=m):m=t[11],m}export{Te as n,B as t};
@@ -0,0 +1 @@
1
+ import{Dn as e,ac as t,co as n,fc as r,gc as i,kr as a,vc as o,wc as s}from"./access-Cc9LnHhZ.js";import{A as c,S as l,j as u,l as d}from"./reviews-URZ7SKqW.js";import{zr as f}from"./edit-file-oBFPJFcX.js";var p=r(),m=s();function h(e){let t={projectId:e.projectId,worktreeId:e.worktreeId};return e.remote===null?i({to:`/$projectId/$worktreeId`,params:t}):i({to:`/remotes/$environmentId/$projectId/$worktreeId`,params:{environmentId:e.remote,...t}})}function g(e,t){let n=(0,p.c)(2),r=u(e,t,_),i;return n[0]===r?i=n[1]:(i=()=>r?r():c.openWithPayload({remote:null}),n[0]=r,n[1]=i),i}function _(e){return f.add({title:`Could not open the project`,description:n(e),type:`error`})}function v(n){let r=(0,p.c)(10),{connection:i,empty:s}=n,c=o(),u=e(),f;r[0]!==s||r[1]!==c?(f=e=>c({...h(e),replace:s}),r[0]=s,r[1]=c,r[2]=f):f=r[2];let _=f,v=g(i,_),y;r[3]!==c||r[4]!==v?(y=a(e=>{e===`open-settings`?c({to:`/settings/$section`,params:{section:d}}):v()}),r[3]=c,r[4]=v,r[5]=y):y=r[5],t(y);let b;return r[6]!==i||r[7]!==_||r[8]!==u?(b=(0,m.jsx)(l,{connection:i,remotes:u,onOpened:_}),r[6]=i,r[7]=_,r[8]=u,r[9]=b):b=r[9],b}export{g as n,h as r,v as t};