pulls.review 0.2.1 → 0.3.1

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 (98) hide show
  1. package/README.md +5 -0
  2. package/dist/client/assets/ActionButton-V4dY2wPS.js +1 -0
  3. package/dist/client/assets/ActionIconButton-4b5xelMn.js +1 -0
  4. package/dist/client/assets/ChatMessage-Ccffh_8Z.js +80 -0
  5. package/dist/client/assets/ChatWidget-BFjNWi3R.js +1 -0
  6. package/dist/client/assets/DisplayFileIcon-DWj5Zxib.js +151 -0
  7. package/dist/client/assets/GithubAvatar-DGJrpCsX.js +1 -0
  8. package/dist/client/assets/LandingHero-DWdx6_8g.js +1 -0
  9. package/dist/client/assets/LocalAgentSettings-COjAszEL.js +1 -0
  10. package/dist/client/assets/ModelPicker-CDTiUMZ3.js +3 -0
  11. package/dist/client/assets/SelectViewport-DF4P4Akh.js +1 -0
  12. package/dist/client/assets/_repo_-D3lApLQL.js +22 -0
  13. package/dist/client/assets/analyze-BgWIIbl3.js +1 -0
  14. package/dist/client/assets/anthropic-messages-Btz8sjqp.js +41 -0
  15. package/dist/client/assets/browser-agent-rpc-BXhoSh1z-DrvKG05N.js +1 -0
  16. package/dist/client/assets/core-messages-ClW97ZVa.js +1 -0
  17. package/dist/client/assets/de-BoIOg_UW.js +1 -0
  18. package/dist/client/assets/diagnostics-wATZy2jc.js +1 -0
  19. package/dist/client/assets/diff-CNRGXNmw.js +1 -0
  20. package/dist/client/assets/{diff-BKQFn0my.js → diff-Cx43r-a6.js} +3 -3
  21. package/dist/client/assets/diffs-store-D3BzIMVi.js +1431 -0
  22. package/dist/client/assets/en-CbWYrCM5.js +1 -0
  23. package/dist/client/assets/es-CqEudTln.js +1 -0
  24. package/dist/client/assets/floating-ui.dom-CfpSQvPs.js +1 -0
  25. package/dist/client/assets/fr-qiQQ-4AO.js +1 -0
  26. package/dist/client/assets/i18n-Cx8anq4V.js +2 -0
  27. package/dist/client/assets/{id-NIGs9Xhn.js → id-BkDzu8gq.js} +1 -1
  28. package/dist/client/assets/index-De-UtOit.css +1 -0
  29. package/dist/client/assets/index-KDAJXf4E.js +2 -0
  30. package/dist/client/assets/install-D-S32JY7.js +4 -0
  31. package/dist/client/assets/it-tZZZbUKN.js +1 -0
  32. package/dist/client/assets/{ja-BAKkDsQ5.js → ja-kGPK4Fmt.js} +1 -1
  33. package/dist/client/assets/ko-CULiae40.js +1 -0
  34. package/dist/client/assets/llm-Le5CPsNn.js +88 -0
  35. package/dist/client/assets/llm-store-CzMnTJNa.js +1 -0
  36. package/dist/client/assets/local-agents-BQLn-Ppw.js +1 -0
  37. package/dist/client/assets/models-D651LTTp.js +8 -0
  38. package/dist/client/assets/nanoid-Cya-tyvy.js +1 -0
  39. package/dist/client/assets/node.browser-C0q8i5sA.js +1 -0
  40. package/dist/client/assets/{openai-completions-CSvY9IVo.js → openai-completions-DvmbMyzl.js} +5 -5
  41. package/dist/client/assets/pages-ByEfDjFa.js +1 -0
  42. package/dist/client/assets/pages-local-CVPpEWZ_.js +1 -0
  43. package/dist/client/assets/pages-web-BLxMupU5.js +21 -0
  44. package/dist/client/assets/portalTarget-DQg8GgWm.js +1 -0
  45. package/dist/client/assets/pt-BR-BcwoZLSs.js +1 -0
  46. package/dist/client/assets/rpc-backends-DYtuJyeF.js +1 -0
  47. package/dist/client/assets/ru-DOordgLF.js +1 -0
  48. package/dist/client/assets/runtime-dom.esm-bundler-Du_ZCcVN.js +2 -0
  49. package/dist/client/assets/{source-hSji-yvG.js → source-CvnvCX42.js} +1 -1
  50. package/dist/client/assets/sync-interval-oKvsW-lT.js +1 -0
  51. package/dist/client/assets/{transform-messages-C8U1xonk.js → transform-messages-Cg_2u7I2.js} +1 -1
  52. package/dist/client/assets/upload-DRO7bkBV.js +1 -0
  53. package/dist/client/assets/useDocumentTitle-BQJCa6Lm.js +92 -0
  54. package/dist/client/assets/useNonce-CwUrgryd.js +1 -0
  55. package/dist/client/assets/{vue-i18n-DVI_S4Q5.js → vue-i18n-CGHHpbTP.js} +3 -3
  56. package/dist/client/assets/zh-CN-CmTqGY9s.js +1 -0
  57. package/dist/client/assets/zh-TW-DKGtbJQy.js +1 -0
  58. package/dist/client/index.html +9 -8
  59. package/dist/devframe-DH2vpasJ.mjs +1124 -0
  60. package/dist/devframe.mjs +1 -1
  61. package/dist/index.mjs +28 -8
  62. package/package.json +7 -3
  63. package/dist/client/assets/ChatWidget-BsnoQ6oS.js +0 -1
  64. package/dist/client/assets/DisplayFileIcon-DzBo3Ez5.js +0 -151
  65. package/dist/client/assets/GithubAvatar-CSsUV5vf.js +0 -1
  66. package/dist/client/assets/LandingHero-BkTBSu71.js +0 -1
  67. package/dist/client/assets/_repo_-Dcgj3PGg.js +0 -22
  68. package/dist/client/assets/analyze-509KQQBC.js +0 -1
  69. package/dist/client/assets/anthropic-messages-Cd2DkgOC.js +0 -41
  70. package/dist/client/assets/browser-agent-rpc-BXhoSh1z-DrxWeI3_.js +0 -1
  71. package/dist/client/assets/de-Bq9RfdAn.js +0 -1
  72. package/dist/client/assets/diff-Bx6SazPw.js +0 -1
  73. package/dist/client/assets/diffs-store-ncE62OUU.js +0 -1510
  74. package/dist/client/assets/dist-Dh0a8u-Y.js +0 -1
  75. package/dist/client/assets/en-8hQdak1X.js +0 -1
  76. package/dist/client/assets/es-QcvEBShr.js +0 -1
  77. package/dist/client/assets/fr-DAWKVvDP.js +0 -1
  78. package/dist/client/assets/i18n-CGV_MDS8.js +0 -2
  79. package/dist/client/assets/index-BCCy9wJJ.js +0 -2
  80. package/dist/client/assets/index-BDPZiDIt.css +0 -1
  81. package/dist/client/assets/install-B-q5w2uE.js +0 -4
  82. package/dist/client/assets/it-DjRuurmk.js +0 -1
  83. package/dist/client/assets/ko-DHculY2W.js +0 -1
  84. package/dist/client/assets/llm-DYDmh8Ki.js +0 -2
  85. package/dist/client/assets/llm-store-CVM33nlB.js +0 -2
  86. package/dist/client/assets/node.browser-BX-QLlU2.js +0 -1
  87. package/dist/client/assets/pages-B5mEqsbn.js +0 -1
  88. package/dist/client/assets/pages-local-x_ACBinc.js +0 -1
  89. package/dist/client/assets/pages-web-DitAPN6U.js +0 -21
  90. package/dist/client/assets/portalTarget-C60SzJiK.js +0 -1
  91. package/dist/client/assets/pt-BR-LLtJ99P6.js +0 -1
  92. package/dist/client/assets/ru-DvkrOLxc.js +0 -1
  93. package/dist/client/assets/runtime-dom.esm-bundler-CqL7__VR.js +0 -2
  94. package/dist/client/assets/upload-GnI9kmJu.js +0 -1
  95. package/dist/client/assets/useDocumentTitle-nuqxXiNo.js +0 -185
  96. package/dist/client/assets/zh-CN-BIibd6kG.js +0 -1
  97. package/dist/client/assets/zh-TW-3FtUHjoZ.js +0 -1
  98. package/dist/devframe-CX5butdC.mjs +0 -493
@@ -1,6 +1,6 @@
1
- import{$n as e,Er as t,G as n,Nt as r,Q as i,Z as a,et as o,vn as s,zt as c}from"./vue-i18n-DVI_S4Q5.js";import{C as l,E as u,T as d,t as f,w as p,y as m}from"./useDocumentTitle-nuqxXiNo.js";import{n as h}from"./source-hSji-yvG.js";import{o as g,s as ee}from"./analyze-509KQQBC.js";import{d as te,o as _}from"./index-BCCy9wJJ.js";import{r as v}from"./dist-Dh0a8u-Y.js";import{a as y,i as b,n as x,o as S,r as ne,s as re,t as ie}from"./diffs-store-ncE62OUU.js";import{n as C,r as ae}from"./patch-parser-k3Vbbmi0.js";async function w(e,t,n,r){return(await e.request(`/repos/${t}/${n}/pulls/${r}`)).json()}function oe(e,t,n,r){return e.paginate(`/repos/${t}/${n}/pulls/${r}/files`)}function T(e,t,n,r){return e.paginate(`/repos/${t}/${n}/pulls/${r}/commits`)}function E(e){return e.split(`/`).map(encodeURIComponent).join(`/`)}async function D(e,t,n,r,i){return(await e.request(`/repos/${t}/${n}/compare/${E(r)}...${E(i)}`)).json()}async function O(e,t,n,r){return(await e.request(`/repos/${t}/${n}/commits/${E(r)}`)).json()}async function k(e,t,n,r){return(await(await e.request(`/repos/${t}/${n}/commits/${E(r)}`,{accept:`application/vnd.github.sha`})).text()).trim()}async function A(e,t){try{return await(await e.request(t,{accept:`application/vnd.github.diff`})).text()}catch(e){if(e instanceof d&&e.status===406)return;throw e}}async function j(e,t,n,r,i){let a=r.split(`/`).map(encodeURIComponent).join(`/`);try{return await(await e.request(`/repos/${t}/${n}/contents/${a}?ref=${encodeURIComponent(i)}`,{accept:`application/vnd.github.raw`})).text()}catch(e){if(e instanceof d&&e.status===404)return;throw e}}var M={added:`added`,removed:`removed`,modified:`modified`,renamed:`renamed`,copied:`copied`,changed:`modified`,unchanged:`modified`};async function N(e,t,n){let r=e.previous_filename??e.filename,[i,a]=await Promise.all([e.status===`added`||!t.base?void 0:n(r,t.base),e.status===`removed`?void 0:n(e.filename,t.head)]);return C(re(r,e.filename,i??``,a??``).split(`
1
+ import{$ as e,Bt as t,Dr as n,K as r,Pt as i,Q as a,er as o,tt as s,yn as c}from"./vue-i18n-CGHHpbTP.js";import{t as l}from"./diagnostics-wATZy2jc.js";import{n as u}from"./source-CvnvCX42.js";import{a as d,i as ee}from"./analyze-BgWIIbl3.js";import{dt as f,lt as p,t as m,ut as h,v as te}from"./useDocumentTitle-BQJCa6Lm.js";import{a as g,i as _,n as v,o as y,r as b,s as x,t as S}from"./diffs-store-D3BzIMVi.js";import{n as C,r as ne}from"./patch-parser-k3Vbbmi0.js";import{d as re,o as ie}from"./index-KDAJXf4E.js";import{t as ae}from"./ActionButton-V4dY2wPS.js";async function w(e,t,n,r){return(await e.request(`/repos/${t}/${n}/pulls/${r}`)).json()}function oe(e,t,n,r){return e.paginate(`/repos/${t}/${n}/pulls/${r}/files`)}function T(e,t,n,r){return e.paginate(`/repos/${t}/${n}/pulls/${r}/commits`)}function E(e){return e.split(`/`).map(encodeURIComponent).join(`/`)}async function D(e,t,n,r,i){return(await e.request(`/repos/${t}/${n}/compare/${E(r)}...${E(i)}`)).json()}async function O(e,t,n,r){return(await e.request(`/repos/${t}/${n}/commits/${E(r)}`)).json()}async function k(e,t,n,r){return(await(await e.request(`/repos/${t}/${n}/commits/${E(r)}`,{accept:`application/vnd.github.sha`})).text()).trim()}async function A(e,t){try{return await(await e.request(t,{accept:`application/vnd.github.diff`})).text()}catch(e){if(e instanceof h&&e.status===406)return;throw e}}async function j(e,t,n,r,i){let a=r.split(`/`).map(encodeURIComponent).join(`/`);try{return await(await e.request(`/repos/${t}/${n}/contents/${a}?ref=${encodeURIComponent(i)}`,{accept:`application/vnd.github.raw`})).text()}catch(e){if(e instanceof h&&e.status===404)return;throw e}}var M={added:`added`,removed:`removed`,modified:`modified`,renamed:`renamed`,copied:`copied`,changed:`modified`,unchanged:`modified`};async function N(e,t,n){let r=e.previous_filename??e.filename,[i,a]=await Promise.all([e.status===`added`||!t.base?void 0:n(r,t.base),e.status===`removed`?void 0:n(e.filename,t.head)]);return C(x(r,e.filename,i??``,a??``).split(`
2
2
  `))}async function P(e,t,n,r){let i=M[e.status]??`modified`;if(e.patch!==void 0){let t=e.patch.split(`
3
- `),n=C(t),{additions:r,deletions:a}={additions:e.additions,deletions:e.deletions};return{path:e.filename,previousPath:e.previous_filename,status:i,additions:r,deletions:a,isBinary:!1,sha:e.sha,hunks:n}}let a=await n(),o=(a===void 0?[]:await ae(a)).find(t=>t.path===e.filename||!!e.previous_filename&&t.previousPath===e.previous_filename);return o?{...o,status:i,previousPath:e.previous_filename,sha:e.sha,additions:e.additions,deletions:e.deletions}:a===void 0&&e.additions+e.deletions>0?{path:e.filename,previousPath:e.previous_filename,status:i,additions:e.additions,deletions:e.deletions,isBinary:!1,sha:e.sha,hunks:await N(e,t,r)}:{path:e.filename,previousPath:e.previous_filename,status:i,additions:e.additions,deletions:e.deletions,isBinary:!0,sha:e.sha,hunks:[]}}async function F(e,t,{loadDiffText:n,loadFileContent:r}){let i,a=()=>i??=n();return Promise.all(e.map(e=>P(e,t,a,r)))}function I(e){return e.merged?`merged`:e.state===`closed`?`closed`:e.draft?`draft`:`open`}async function L(e,t,n,r,i,a,o){return{ref:{kind:`github-pr`,owner:e,repo:t,number:n},title:r.title,label:`#${n}`,author:r.user?{name:r.user.login,avatarUrl:r.user.avatar_url}:void 0,description:r.body??``,url:r.html_url,base:{sha:r.base.sha,ref:r.base.ref},head:{sha:r.head.sha,ref:r.head.ref},createdAt:r.created_at,updatedAt:r.updated_at,pullRequest:{state:I(r)},commits:a.map(({sha:e,commit:t})=>({sha:e,message:t.message})),files:await F(i,{base:r.base.sha,head:r.head.sha},o)}}function R(e,t){return(e??[]).map(e=>({...e,sha:e.sha??`${t}:${e.filename}`}))}function z(e,t,n,r){return{loadDiffText:()=>A(e,r),loadFileContent:(r,i)=>j(e,t,n,r,i)}}function B({owner:e,repo:t,base:n,head:r},i){let a=u(i),o=h({kind:`github-compare`,owner:e,repo:t,base:n,head:r});return{key:async()=>o,async fetch(){let i=await D(a,e,t,n,r),o=i.merge_base_commit.sha,s=i.commits.at(-1)?.sha??o,c=`/repos/${e}/${t}/compare/${o}...${s}`;return{ref:{kind:`github-compare`,owner:e,repo:t,base:n,head:r},title:`${n}...${r}`,url:i.html_url,base:{sha:o,ref:n},head:{sha:s,ref:r},commits:i.commits.map(({sha:e,commit:t})=>({sha:e,message:t.message})),files:await F(R(i.files,s),{base:o,head:s},z(a,e,t,c))}},fingerprint:()=>k(a,e,t,r),loadFile:(n,r)=>j(a,e,t,n,r),auth:`github-token`}}function V({owner:e,repo:t,sha:n},r){let i=u(r),a=h({kind:`github-commit`,owner:e,repo:t,sha:n});return{key:async()=>a,async fetch(){let r=await O(i,e,t,n),[a=``,...o]=r.commit.message.split(`
3
+ `),n=C(t),{additions:r,deletions:a}={additions:e.additions,deletions:e.deletions};return{path:e.filename,previousPath:e.previous_filename,status:i,additions:r,deletions:a,isBinary:!1,sha:e.sha,hunks:n}}let a=await n(),o=(a===void 0?[]:await ne(a)).find(t=>t.path===e.filename||!!e.previous_filename&&t.previousPath===e.previous_filename);return o?{...o,status:i,previousPath:e.previous_filename,sha:e.sha,additions:e.additions,deletions:e.deletions}:a===void 0&&e.additions+e.deletions>0?{path:e.filename,previousPath:e.previous_filename,status:i,additions:e.additions,deletions:e.deletions,isBinary:!1,sha:e.sha,hunks:await N(e,t,r)}:{path:e.filename,previousPath:e.previous_filename,status:i,additions:e.additions,deletions:e.deletions,isBinary:!0,sha:e.sha,hunks:[]}}async function F(e,t,{loadDiffText:n,loadFileContent:r}){let i,a=()=>i??=n();return Promise.all(e.map(e=>P(e,t,a,r)))}function I(e){return e.merged?`merged`:e.state===`closed`?`closed`:e.draft?`draft`:`open`}async function L(e,t,n,r,i,a,o){return{ref:{kind:`github-pr`,owner:e,repo:t,number:n},title:r.title,label:`#${n}`,author:r.user?{name:r.user.login,avatarUrl:r.user.avatar_url}:void 0,description:r.body??``,url:r.html_url,base:{sha:r.base.sha,ref:r.base.ref},head:{sha:r.head.sha,ref:r.head.ref},createdAt:r.created_at,updatedAt:r.updated_at,pullRequest:{state:I(r)},commits:a.map(({sha:e,commit:t})=>({sha:e,message:t.message})),files:await F(i,{base:r.base.sha,head:r.head.sha},o)}}function R(e,t){return(e??[]).map(e=>({...e,sha:e.sha??`${t}:${e.filename}`}))}function z(e,t,n,r){return{loadDiffText:()=>A(e,r),loadFileContent:(r,i)=>j(e,t,n,r,i)}}function B({owner:e,repo:t,base:n,head:r},i){let a=f(i),o=u({kind:`github-compare`,owner:e,repo:t,base:n,head:r});return{key:async()=>o,async fetch(){let i=await D(a,e,t,n,r),o=i.merge_base_commit.sha,s=i.commits.at(-1)?.sha??o,c=`/repos/${e}/${t}/compare/${o}...${s}`;return{ref:{kind:`github-compare`,owner:e,repo:t,base:n,head:r},title:`${n}...${r}`,url:i.html_url,base:{sha:o,ref:n},head:{sha:s,ref:r},commits:i.commits.map(({sha:e,commit:t})=>({sha:e,message:t.message})),files:await F(R(i.files,s),{base:o,head:s},z(a,e,t,c))}},fingerprint:()=>k(a,e,t,r),loadFile:(n,r)=>j(a,e,t,n,r),auth:`github-token`}}function V({owner:e,repo:t,sha:n},r){let i=f(r),a=u({kind:`github-commit`,owner:e,repo:t,sha:n});return{key:async()=>a,async fetch(){let r=await O(i,e,t,n),[a=``,...o]=r.commit.message.split(`
4
4
  `),s=r.parents[0]?.sha;return{ref:{kind:`github-commit`,owner:e,repo:t,sha:n},title:a,label:r.sha.slice(0,7),description:o.join(`
5
5
  `).trim(),url:r.html_url,author:r.author?{name:r.author.login,avatarUrl:r.author.avatar_url}:r.commit.author?.name?{name:r.commit.author.name}:void 0,createdAt:r.commit.author?.date,base:s?{sha:s,ref:s.slice(0,7)}:void 0,head:{sha:r.sha,ref:r.sha.slice(0,7)},commits:[{sha:r.sha,message:r.commit.message}],files:await F(R(r.files,r.sha),{base:s,head:r.sha},z(i,e,t,`/repos/${e}/${t}/commits/${r.sha}`))}},loadFile:(n,r)=>j(i,e,t,n,r),auth:`github-token`}}async function H(e,t,n,r){return e.paginate(`/repos/${t}/${n}/pulls/${r}/comments`)}async function U(e,t,n,r){return e.paginate(`/repos/${t}/${n}/pulls/${r}/reviews`)}async function W(e,t,n,r,i){return e.paginate(`/repos/${t}/${n}/pulls/${r}/reviews/${i}/comments`)}async function G(e,t,n,r,i){await e.request(`/repos/${t}/${n}/pulls/${r}/comments`,{method:`POST`,body:{body:i.body,commit_id:i.commitId,path:i.path,side:i.side,line:i.line,start_line:i.startLine,start_side:i.startSide}})}async function K(e,t,n,r,i){await e.request(`/repos/${t}/${n}/pulls/${r}/reviews`,{method:`POST`,body:{commit_id:i.commitId,comments:[{path:i.path,body:i.body,side:i.side,line:i.line,start_line:i.startLine,start_side:i.startSide}]}})}async function q(e,t,n,r,i,a){await e.request(`/repos/${t}/${n}/pulls/${r}/comments/${i}/replies`,{method:`POST`,body:{body:a}})}async function se(e,t,n,r,i){await e.request(`/repos/${t}/${n}/pulls/comments/${r}`,{method:`PATCH`,body:{body:i}})}async function ce(e,t,n,r){await e.request(`/repos/${t}/${n}/pulls/comments/${r}`,{method:`DELETE`})}async function le(e,t,n,r,i,a,o){await e.request(`/repos/${t}/${n}/pulls/${r}/reviews/${i}/events`,{method:`POST`,body:{event:a,body:o}})}async function ue(e,t,n,r,i,a){await e.request(`/repos/${t}/${n}/pulls/${r}/reviews`,{method:`POST`,body:{event:i,body:a}})}async function de(e,t,n,r,i){await e.request(`/repos/${t}/${n}/pulls/${r}/reviews/${i}`,{method:`DELETE`})}var fe=`
6
6
  query ReviewThreads($owner: String!, $repo: String!, $number: Int!, $cursor: String) {
@@ -34,4 +34,4 @@ mutation AddPendingThread($reviewId: ID!, $path: String!, $body: String!, $line:
34
34
  }) {
35
35
  thread { id }
36
36
  }
37
- }`;function J(e){return e===`additions`?`RIGHT`:`LEFT`}async function _e(e,t,n,r){await e.graphql(ge,{reviewId:t,path:n.path,body:r,line:n.line,side:J(n.side),startLine:n.startLine??null,startSide:n.startSide?J(n.startSide):null})}function Y(e){return e===`LEFT`?`deletions`:`additions`}function X(e){return e?{login:e.login,avatarUrl:e.avatar_url}:void 0}var ve={APPROVED:`approved`,CHANGES_REQUESTED:`changes_requested`,COMMENTED:`commented`,DISMISSED:`dismissed`};function Z(e){let t=new Map;function n(n,r){let i=n.in_reply_to_id??n.id,a=t.get(i);if(!a){let o=e.resolutions?.get(i);a={rootId:i,path:n.path,side:Y(n.side),line:n.line??void 0,startLine:n.start_line??void 0,startSide:n.start_side?Y(n.start_side):void 0,outdated:n.line==null,resolved:o?.isResolved,threadId:o?.threadId,pending:r,comments:[]},t.set(i,a)}a.comments.push({id:n.id,author:X(n.user),body:n.body,createdAt:n.created_at,url:n.html_url,pending:r})}for(let t of e.comments)n(t,!1);for(let t of e.pendingComments)n(t,!0);let r=[],i;for(let t of e.reviews){if(t.state===`PENDING`){i={id:t.id,nodeId:t.node_id,body:t.body??``};continue}if(t.state===`COMMENTED`&&!t.body)continue;let e=ve[t.state];e&&r.push({id:t.id,author:X(t.user),state:e,body:t.body??``,submittedAt:t.submitted_at,url:t.html_url})}return{threads:[...t.values()],summaries:r,pendingReview:i}}async function Q(e){try{return await e()}catch(e){throw e instanceof d&&e.status===403?p.writeForbidden({reason:e.message}):e}}function $(e){return e===`additions`?`RIGHT`:`LEFT`}function ye(e,{owner:t,repo:n,number:r}){return{async fetch(){let[i,a]=await Promise.all([H(e,t,n,r),U(e,t,n,r)]),o=a.find(e=>e.state===`PENDING`),[s,c]=await Promise.all([o?W(e,t,n,r,o.id):Promise.resolve([]),await e.token()?pe(e,t,n,r).catch(()=>void 0):Promise.resolve(void 0)]);return Z({comments:i,reviews:a,pendingComments:s,resolutions:c})},addComment:({target:i,body:a,mode:o,headSha:s,pendingReview:c})=>Q(async()=>{if(o===`review`&&c)return _e(e,c.nodeId,i,a);let l={body:a,commitId:s,path:i.path,side:$(i.side),line:i.line,startLine:i.startLine,startSide:i.startSide?$(i.startSide):void 0};return o===`review`?K(e,t,n,r,l):G(e,t,n,r,l)}),reply:(i,a)=>Q(()=>q(e,t,n,r,i,a)),editComment:(r,i)=>Q(()=>se(e,t,n,r,i)),deleteComment:r=>Q(()=>ce(e,t,n,r)),resolveThread:t=>Q(()=>he(e,t)),submitReview:(i,a,o)=>Q(()=>o?le(e,t,n,r,o.id,i,a):ue(e,t,n,r,i,a)),discardPendingReview:i=>Q(()=>de(e,t,n,r,i.id))}}function be(e,t){return{list:()=>b(e,t),upsert:(n,r,i)=>Q(async()=>{let a=y(t,n,r);if(i)try{return await S(e,t,i.id,a)}catch(e){if(!(e instanceof d&&e.status===404))throw e}let o=(await b(e,t)).find(e=>e.login===n);return o?S(e,t,o.id,a):ne(e,t,a)})}}function xe(e){return e.length===0||e.includes(`repo`)||e.includes(`public_repo`)}function Se({owner:e,repo:t,number:n},r,{tokenMeta:i=l}={}){let a=u(r),o=h({kind:`github-pr`,owner:e,repo:t,number:n});return{key:async()=>o,async fetch(){let[r,i,o]=await Promise.all([w(a,e,t,n),oe(a,e,t,n),T(a,e,t,n)]);return L(e,t,n,r,i,o,{loadDiffText:()=>A(a,`/repos/${e}/${t}/pulls/${n}`),loadFileContent:(n,r)=>j(a,e,t,n,r)})},fingerprint:async()=>(await w(a,e,t,n)).head.sha,loadFile:(n,r)=>j(a,e,t,n,r),async viewer(){let e=await a.token(),t=e?await i(e):void 0;return t&&{login:t.login,canWrite:xe(t.scopes)}},reviews:ye(a,{owner:e,repo:t,number:n}),sharing:be(a,{owner:e,repo:t,number:n}),auth:`github-token`}}function Ce(e,t,n){switch(e.kind){case`github-pr`:return Se(e,t,n);case`github-compare`:return B(e,t);case`github-commit`:return V(e,t)}}var we=o({__name:`diff`,props:{sourceRef:{}},setup(o){let l=o,u=_(),{cache:d,credentials:p}=te(),h=l.sourceRef,y=typeof u.query.from==`string`?u.query.from:void 0,b=ie(Ce(h,p,{tokenMeta:m}),{cache:d,from:y});return f(()=>{let e=b.diff;return e?e.label?`${e.title} (${e.label})`:e.title:`${h.owner}/${h.repo}`}),r(()=>b.load()),(r,o)=>(c(),n(`main`,null,[i(x,{store:e(b)},{loading:s(()=>[i(g,{text:r.$t(`pr.loading`)},null,8,[`text`])]),error:s(({error:e,retry:n})=>[i(ee,{icon:`i-ph:warning-duotone`,title:r.$t(`pr.loadFailed`)},{hint:s(()=>[a(t(e.message),1)]),actions:s(()=>[i(v,{variant:`primary`,onClick:n},{default:s(()=>[a(t(r.$t(`common.retry`)),1)]),_:1},8,[`onClick`])]),_:2},1032,[`title`])]),_:1},8,[`store`])]))}});export{we as default};
37
+ }`;function J(e){return e===`additions`?`RIGHT`:`LEFT`}async function _e(e,t,n,r){await e.graphql(ge,{reviewId:t,path:n.path,body:r,line:n.line,side:J(n.side),startLine:n.startLine??null,startSide:n.startSide?J(n.startSide):null})}function Y(e){return e===`LEFT`?`deletions`:`additions`}function X(e){return e?{login:e.login,avatarUrl:e.avatar_url}:void 0}var ve={APPROVED:`approved`,CHANGES_REQUESTED:`changes_requested`,COMMENTED:`commented`,DISMISSED:`dismissed`};function Z(e){let t=new Map;function n(n,r){let i=n.in_reply_to_id??n.id,a=t.get(i);if(!a){let o=e.resolutions?.get(i);a={rootId:i,path:n.path,side:Y(n.side),line:n.line??void 0,startLine:n.start_line??void 0,startSide:n.start_side?Y(n.start_side):void 0,outdated:n.line==null,resolved:o?.isResolved,threadId:o?.threadId,pending:r,comments:[]},t.set(i,a)}a.comments.push({id:n.id,author:X(n.user),body:n.body,createdAt:n.created_at,url:n.html_url,pending:r})}for(let t of e.comments)n(t,!1);for(let t of e.pendingComments)n(t,!0);let r=[],i;for(let t of e.reviews){if(t.state===`PENDING`){i={id:t.id,nodeId:t.node_id,body:t.body??``};continue}if(t.state===`COMMENTED`&&!t.body)continue;let e=ve[t.state];e&&r.push({id:t.id,author:X(t.user),state:e,body:t.body??``,submittedAt:t.submitted_at,url:t.html_url})}return{threads:[...t.values()],summaries:r,pendingReview:i}}async function Q(e){try{return await e()}catch(e){throw e instanceof h&&e.status===403?l.writeForbidden({reason:e.message}):e}}function $(e){return e===`additions`?`RIGHT`:`LEFT`}function ye(e,{owner:t,repo:n,number:r}){return{async fetch(){let[i,a]=await Promise.all([H(e,t,n,r),U(e,t,n,r)]),o=a.find(e=>e.state===`PENDING`),[s,c]=await Promise.all([o?W(e,t,n,r,o.id):Promise.resolve([]),await e.token()?pe(e,t,n,r).catch(()=>void 0):Promise.resolve(void 0)]);return Z({comments:i,reviews:a,pendingComments:s,resolutions:c})},addComment:({target:i,body:a,mode:o,headSha:s,pendingReview:c})=>Q(async()=>{if(o===`review`&&c)return _e(e,c.nodeId,i,a);let l={body:a,commitId:s,path:i.path,side:$(i.side),line:i.line,startLine:i.startLine,startSide:i.startSide?$(i.startSide):void 0};return o===`review`?K(e,t,n,r,l):G(e,t,n,r,l)}),reply:(i,a)=>Q(()=>q(e,t,n,r,i,a)),editComment:(r,i)=>Q(()=>se(e,t,n,r,i)),deleteComment:r=>Q(()=>ce(e,t,n,r)),resolveThread:t=>Q(()=>he(e,t)),submitReview:(i,a,o)=>Q(()=>o?le(e,t,n,r,o.id,i,a):ue(e,t,n,r,i,a)),discardPendingReview:i=>Q(()=>de(e,t,n,r,i.id))}}function be(e,t){return{list:()=>_(e,t),upsert:(n,r,i)=>Q(async()=>{let a=g(t,n,r);if(i)try{return await y(e,t,i.id,a)}catch(e){if(!(e instanceof h&&e.status===404))throw e}let o=(await _(e,t)).find(e=>e.login===n);return o?y(e,t,o.id,a):b(e,t,a)})}}function xe(e){return e.length===0||e.includes(`repo`)||e.includes(`public_repo`)}function Se({owner:e,repo:t,number:n},r,{tokenMeta:i=p}={}){let a=f(r),o=u({kind:`github-pr`,owner:e,repo:t,number:n});return{key:async()=>o,async fetch(){let[r,i,o]=await Promise.all([w(a,e,t,n),oe(a,e,t,n),T(a,e,t,n)]);return L(e,t,n,r,i,o,{loadDiffText:()=>A(a,`/repos/${e}/${t}/pulls/${n}`),loadFileContent:(n,r)=>j(a,e,t,n,r)})},fingerprint:async()=>(await w(a,e,t,n)).head.sha,loadFile:(n,r)=>j(a,e,t,n,r),async viewer(){let e=await a.token(),t=e?await i(e):void 0;return t&&{login:t.login,canWrite:xe(t.scopes)}},reviews:ye(a,{owner:e,repo:t,number:n}),sharing:be(a,{owner:e,repo:t,number:n}),auth:`github-token`}}function Ce(e,t,n){switch(e.kind){case`github-pr`:return Se(e,t,n);case`github-compare`:return B(e,t);case`github-commit`:return V(e,t)}}var we=s({__name:`diff`,props:{sourceRef:{}},setup(s){let l=s,u=ie(),{cache:f,credentials:p,llm:h}=re(),g=l.sourceRef,_=typeof u.query.from==`string`?u.query.from:void 0,y=S(Ce(g,p,{tokenMeta:te}),{cache:f,llm:h,from:_});return m(()=>{let e=y.diff;return e?e.label?`${e.title} (${e.label})`:e.title:`${g.owner}/${g.repo}`}),i(()=>y.load()),(i,s)=>(t(),r(`main`,null,[e(v,{store:o(y)},{loading:c(()=>[e(ee,{text:i.$t(`pr.loading`)},null,8,[`text`])]),error:c(({error:t,retry:r})=>[e(d,{icon:`i-ph:warning-duotone`,title:i.$t(`pr.loadFailed`)},{hint:c(()=>[a(n(t.message),1)]),actions:c(()=>[e(ae,{variant:`primary`,onClick:r},{default:c(()=>[a(n(i.$t(`common.retry`)),1)]),_:1},8,[`onClick`])]),_:2},1032,[`title`])]),_:1},8,[`store`])]))}});export{we as default};