@a9n-shoji/rvw 0.2.2 → 0.2.4
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/CHANGELOG.md +26 -0
- package/README.md +6 -3
- package/dist/cli.mjs +188 -19
- package/dist/cli.mjs.map +4 -4
- package/dist/web/assets/DocumentViewer-B4LdSL1l.js +1560 -0
- package/dist/web/assets/{MarkdownTable-DVJ0_MIC.js → MarkdownTable-CdbKPft2.js} +1 -1
- package/dist/web/assets/WalkthroughViewer-D1LlSQw2.js +1 -0
- package/dist/web/assets/{abnfDiagram-N423BO3Z-6dQzEuPV.js → abnfDiagram-N423BO3Z-CE1nZSC9.js} +1 -1
- package/dist/web/assets/architecture-TIHT7OUA-edLV2Zq-.js +1 -0
- package/dist/web/assets/{architectureDiagram-T3A2C74G-DP7hHV7T.js → architectureDiagram-T3A2C74G-B88qYFUo.js} +1 -1
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-ZbwzVKWP.js → blockDiagram-VBNYF7ZC-BaX0rhbb.js} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-HVD9_uV4.js → c4Diagram-5PPSVZJV-C1ppBaEC.js} +1 -1
- package/dist/web/assets/channel-J8FHSJDG.js +1 -0
- package/dist/web/assets/{chunk-2GRJ4B5K-Bkxs2d4J.js → chunk-2GRJ4B5K-D2TTocfh.js} +1 -1
- package/dist/web/assets/{chunk-4I5QYGJK-BJHE6zC_.js → chunk-4I5QYGJK-ikT25rPN.js} +1 -1
- package/dist/web/assets/{chunk-5RXB4S5H-B-52dfCQ.js → chunk-5RXB4S5H-CGlPaulj.js} +1 -1
- package/dist/web/assets/{chunk-6Q2QTUOP-BpD0vQ66.js → chunk-6Q2QTUOP-BuuMeCo2.js} +1 -1
- package/dist/web/assets/{chunk-7Z6QIM7H-BTI1qgAO.js → chunk-7Z6QIM7H-DT3BAZ4L.js} +1 -1
- package/dist/web/assets/{chunk-GF5L2VYU-B8BxoCCx.js → chunk-GF5L2VYU-mIdlxzfr.js} +1 -1
- package/dist/web/assets/{chunk-I66GZJ75-zwi-Xf01.js → chunk-I66GZJ75-CGl1hx4J.js} +1 -1
- package/dist/web/assets/{chunk-JQJVKLGR-D9mKBWUz.js → chunk-JQJVKLGR-BLG6gAfx.js} +1 -1
- package/dist/web/assets/{chunk-KBJHAD2P-Qmtir3qc.js → chunk-KBJHAD2P-D_MPzBJx.js} +1 -1
- package/dist/web/assets/{chunk-NSK5VX7P-SP2vZdAo.js → chunk-NSK5VX7P-CiYiU8wP.js} +1 -1
- package/dist/web/assets/{chunk-QR6OTTB3-uVDCHurs.js → chunk-QR6OTTB3-BK8Tnvcc.js} +1 -1
- package/dist/web/assets/{chunk-UBXNYLIW-CtNzBWOU.js → chunk-UBXNYLIW-BuzttTFk.js} +1 -1
- package/dist/web/assets/{chunk-W5SLKNZC-BPfDqbmK.js → chunk-W5SLKNZC-UidmFHe2.js} +1 -1
- package/dist/web/assets/{chunk-WRU74C26-BZkEOexq.js → chunk-WRU74C26-nox7WFnh.js} +1 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-CmTWSnH0.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-CmTWSnH0.js +1 -0
- package/dist/web/assets/{cynefin-VYW2F7L2-BRisCyqC.js → cynefin-VYW2F7L2-wDMibS5s.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-ClIrmCkB.js → cynefinDiagram-MW4NZA55-CBTrdvOE.js} +1 -1
- package/dist/web/assets/{dagre-VZM6K2ZE-X31uC_JB.js → dagre-VZM6K2ZE-Bbgn4Rr7.js} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-DBQFjl0i.js → diagram-7IWD3JNH-Bm9AuXb9.js} +1 -1
- package/dist/web/assets/{diagram-B4RE2ZJO-BZ7934Wg.js → diagram-B4RE2ZJO-D3lZ-r-H.js} +1 -1
- package/dist/web/assets/{diagram-LBJQPF4R-CcJqH9aY.js → diagram-LBJQPF4R-D-GaynX7.js} +1 -1
- package/dist/web/assets/{diagram-Q27KOJAE-DzM7eiil.js → diagram-Q27KOJAE-BeZRiu1d.js} +1 -1
- package/dist/web/assets/{diagram-UB23O5K3-CVCV-d3m.js → diagram-UB23O5K3-C3GP7iMe.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-D8xb9FBp.js → ebnfDiagram-BXEA7PRR-BJWg0NVU.js} +1 -1
- package/dist/web/assets/{erDiagram-JOGREHBK-1l-G_PMG.js → erDiagram-JOGREHBK-XPmhUeB_.js} +1 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-C3c4qddw.js +1 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-DMA-a1zf.js +1 -0
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-CDJ9a1tp.js → ganttDiagram-PKOTCBZU-CL-xEo-M.js} +1 -1
- package/dist/web/assets/{gitGraph-TEB2WS4Q-DOeTh5wB.js → gitGraph-TEB2WS4Q-BVRyuIx3.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-DYLxc8Nz.js → gitGraphDiagram-DS77QQ5N-BVNIEupW.js} +1 -1
- package/dist/web/assets/{index-9cOaPesh.js → index-D8GJBw23.js} +98 -98
- package/dist/web/assets/{index-kK3hngnz.css → index-DMD2vvQW.css} +1 -1
- package/dist/web/assets/{info-DKCQHKI2-B5u97QuQ.js → info-DKCQHKI2-BKBUVpfc.js} +1 -1
- package/dist/web/assets/{infoDiagram-6WML65LV-zosKW2OD.js → infoDiagram-6WML65LV-_dTFnzSE.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-VYcc_au8.js → ishikawaDiagram-WSZJBQD7-DIRgD4hO.js} +1 -1
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-C_nU8kP4.js → journeyDiagram-NVQOT4AX-bp7nZrfR.js} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-DybKaWfx.js → kanban-definition-27J2QSJJ-C6mZIo8S.js} +1 -1
- package/dist/web/assets/{line-DWsGplGj.js → line-DWTym7eJ.js} +1 -1
- package/dist/web/assets/{mermaid-parser.core-D_T_3oIQ.js → mermaid-parser.core-CbecsNA1.js} +3 -3
- package/dist/web/assets/{mermaid.core-BoLGzxB5.js → mermaid.core-CdRuLyYI.js} +4 -4
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-CsdpqPIa.js → mindmap-definition-FAOFIHXS-CU2P1z-9.js} +1 -1
- package/dist/web/assets/{packet-7NZHBO7P-CReAEF1h.js → packet-7NZHBO7P-CZsup6Od.js} +1 -1
- package/dist/web/assets/{pegDiagram-VL7TDLO6-CE9-NPMu.js → pegDiagram-VL7TDLO6-DTTyttpe.js} +1 -1
- package/dist/web/assets/{pie-RZYD4A2V-GYixXUka.js → pie-RZYD4A2V-DgrIiWZA.js} +1 -1
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-CqaAKNg2.js → pieDiagram-7S7Q4E2Y-BBNFyPT1.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-eRMHJqfj.js → quadrantDiagram-CIZ2JOQS-ejp-Aa2l.js} +1 -1
- package/dist/web/assets/{radar-I7S5WNFK-BwHxP0iK.js → radar-I7S5WNFK-Cp_hfjrI.js} +1 -1
- package/dist/web/assets/{railroad-3IZDKUUU-AHc3O4Oz.js → railroad-3IZDKUUU-Dw-oMal2.js} +1 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-BN-ZBhE0.js +1 -0
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-CG97zyI2.js +1 -0
- package/dist/web/assets/railroad-peg-LSFZ7HO6-DHLQ1evQ.js +1 -0
- package/dist/web/assets/{railroadDiagram-AXF67PYL-BhAxCokG.js → railroadDiagram-AXF67PYL-DkBUaj6Z.js} +1 -1
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-BRW-kYhg.js → requirementDiagram-LRYGKXZP-Dff1ex_h.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-DfnYLbDJ.js → sankeyDiagram-W5VNT64P-DptSL9Bc.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-WEkIPSg8.js → sequenceDiagram-SI44F4Z6-DEnPcs3U.js} +1 -1
- package/dist/web/assets/{stateDiagram-OKZ733FA-CdN7veIN.js → stateDiagram-OKZ733FA-BwJO1MKA.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-LaSNqvWy.js +1 -0
- package/dist/web/assets/{swimlanes-SLNWSIFB-g9wWLf5Y.js → swimlanes-SLNWSIFB-BosKiwZA.js} +1 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-C5OBtBlv.js +8 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-DjkKZIPE.js → timeline-definition-Z64GVDOM-C5isAn4X.js} +1 -1
- package/dist/web/assets/{treeView-QDETBFTQ-WARa9r09.js → treeView-QDETBFTQ-zEyUXRc4.js} +1 -1
- package/dist/web/assets/{treemap-6X3UGDF4-CTFjdb6k.js → treemap-6X3UGDF4-B-X0EQSE.js} +1 -1
- package/dist/web/assets/{vennDiagram-T6HMQDX7-CI9QrBwu.js → vennDiagram-T6HMQDX7-QMdGieCa.js} +1 -1
- package/dist/web/assets/{wardley-OPB4EBWU-Cfo_Nnla.js → wardley-OPB4EBWU-BaeAF8d8.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-CzGJ4fzZ.js → wardleyDiagram-T6FBY63Y-DTQ_uLUq.js} +1 -1
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-BXCiD7gJ.js → xychartDiagram-ELKLHX3M-BMdBWzib.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/skills/rvw-watch-comments/SKILL.md +84 -34
- package/skills/rvw-watch-comments/agents/openai.yaml +2 -2
- package/skills/rvw-watch-comments/scripts/watch-driver.mjs +223 -48
- package/skills/rvw-watch-comments/scripts/watch-state.mjs +31 -9
- package/dist/web/assets/DocumentViewer-ADzspLC4.js +0 -1560
- package/dist/web/assets/WalkthroughViewer-yQibj2tK.js +0 -1
- package/dist/web/assets/architecture-TIHT7OUA-DEoBuEnc.js +0 -1
- package/dist/web/assets/channel-DjgdV-zW.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-B6Qjam7Y.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-B6Qjam7Y.js +0 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-ndNeUBOZ.js +0 -1
- package/dist/web/assets/flowDiagram-UKHOOZJN-BVxK_6Tu.js +0 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-ZKY5olmV.js +0 -1
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-CrG1UCMo.js +0 -1
- package/dist/web/assets/railroad-peg-LSFZ7HO6-CoY6MIbj.js +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-0xn0gbpn.js +0 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-YJ3yh_d3.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{J as t,U as n,q as r}from"./index-D8GJBw23.js";var i=e(t(),1),a=n(),o=r(),s=new Set([`blockquote`,`details`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`li`,`ol`,`p`,`pre`,`table`,`ul`]);function c(e,t){e.properties??={};let n=e.properties.className,r=Array.isArray(n)?n.map(String):typeof n==`string`?n.split(/\s+/u).filter(Boolean):[];r.includes(t)||r.push(t),e.properties.className=r}function l(e){return{dataRvwSourceStartLine:e.start.line,dataRvwSourceEndLine:e.end.line}}function u(e,t){let n=e.value??``,r=e.position??t;if(!r)return[e];let i=n.split(`
|
|
2
2
|
`);if(i.length===1)return[{type:`element`,tagName:`span`,properties:{...l(r),dataRvwSourceLeaf:`true`},children:[{type:`text`,value:n}],position:r}];let a=[];for(let[e,t]of i.entries()){if(e===i.length-1&&t===``&&n.endsWith(`
|
|
3
3
|
`))continue;let o=Math.min(r.start.line+e,r.end.line);t&&a.push({type:`element`,tagName:`span`,properties:{dataRvwSourceStartLine:o,dataRvwSourceEndLine:o,dataRvwSourceLeaf:`true`},children:[{type:`text`,value:t}],position:{start:{line:o},end:{line:o}}}),e<i.length-1&&a.push({type:`text`,value:`
|
|
4
4
|
`})}return a}function d(e,t,n){if(!e||t===void 0)return;let r=Math.max(1,n.split(`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{B as t,G as n,H as r,J as i,K as a,L as o,R as s,T as c,W as l,_ as u,b as d,c as f,l as p,n as m,o as h,q as g,r as _,s as v,t as y,w as b,x,z as S}from"./index-D8GJBw23.js";import{a as C,i as w,n as T,o as E,r as D,t as O}from"./MarkdownTable-CdbKPft2.js";var k=e(i(),1),A=g(),j=2400;function M(e){return k.Children.toArray(e).map(e=>typeof e==`string`||typeof e==`number`?String(e):(0,k.isValidElement)(e)?M(e.props.children):``).join(``)}function N(e,t){return!!(e&&t&&e.startLine===t.startLine&&e.endLine===t.endLine)}function P(){return(0,A.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,width:`16`,height:`16`,children:(0,A.jsx)(`path`,{fill:`currentColor`,d:`M5.5 1.75A1.75 1.75 0 0 1 7.25 0h1.5a1.75 1.75 0 0 1 1.75 1.75V2h3a.75.75 0 0 1 0 1.5h-.64l-.68 10.03A2.5 2.5 0 0 1 9.69 16H6.31a2.5 2.5 0 0 1-2.49-2.47L3.14 3.5H2.5a.75.75 0 0 1 0-1.5h3v-.25Zm1.5 0V2h2v-.25a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25ZM4.65 3.5l.67 9.96c.02.58.46 1.04.99 1.04h3.38c.53 0 .97-.46.99-1.04l.67-9.96h-6.7Z`})})}function F({source:e,sourceRange:t,commented:n,bindings:r,references:i,themePreference:a,onOpenReference:s,onCommentRange:c,commentComposer:l}){let u=(0,k.useRef)(null),d=!!l;(0,k.useLayoutEffect)(()=>{if(!d)return;let e=window.requestAnimationFrame(()=>{u.current?.scrollIntoView({block:`nearest`,inline:`nearest`})});return()=>window.cancelAnimationFrame(e)},[d]);let f=(0,k.useCallback)(e=>{if(!(e instanceof Element))return;let t=e.closest(`[data-walkthrough-reference-id]`)?.dataset.walkthroughReferenceId;return t?i.get(t):void 0},[i]),p=(0,k.useCallback)(e=>{for(let t of e.querySelectorAll(`g.node, g.classGroup, g[data-id], g[id^='classId-']`)){let e=t.dataset.id??Object.keys(r).find(e=>t.id===e||t.id.includes(`-${e}`)||t.id.includes(`-${e}-`)||t.id.endsWith(`-${e}`));if(!e)continue;let n=r[e],a=n?i.get(n):void 0;a&&(t.classList.add(`walkthrough-diagram-node--linked`),t.setAttribute(`role`,`button`),t.setAttribute(`tabindex`,`0`),t.setAttribute(`aria-label`,`${a.label}をコードで開く`),t.dataset.walkthroughReferenceId=a.id)}},[r,i]);return(0,A.jsxs)(`div`,{className:`walkthrough-diagram-shell${n?` has-comment`:``}`,...t?{"data-rvw-navigation-start-line":t.startLine,"data-rvw-navigation-end-line":t.endLine}:{},children:[(0,A.jsxs)(`div`,{className:`walkthrough-diagram-toolbar`,children:[(0,A.jsx)(`span`,{children:`Mermaid diagram`}),(0,A.jsx)(`span`,{children:`nodeを選択して開く · Cmd/Ctrlで反対のペイン`}),t&&(0,A.jsxs)(`button`,{className:`button--quiet walkthrough-diagram-comment`,onPointerDown:e=>{e.button===0&&(e.preventDefault(),c(t))},onClick:e=>{e.detail===0&&c(t)},children:[(0,A.jsx)(o,{}),`図全体へコメント`]})]}),(0,A.jsx)(_,{className:`walkthrough-diagram`,source:e,themePreference:a,renderIdPrefix:`rvwWalkthrough`,errorClassName:`walkthrough-diagram-error`,onRendered:p,onPointerDown:e=>{let t=f(e.target);t&&(e.preventDefault(),e.stopPropagation(),s(t,e.metaKey||e.ctrlKey))},onKeyDown:e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=f(e.target);t&&(e.preventDefault(),s(t,!1))}}),l&&(0,A.jsx)(`div`,{className:`walkthrough-diagram-comment-composer`,ref:u,children:l})]})}var I=(0,k.createContext)(null);function L({range:e,pending:t,error:n,onCancel:r,onSubmit:i}){let[a,o]=(0,k.useState)(``),c=e.startLine===e.endLine?`L${e.startLine}へコメント`:`L${e.startLine}–${e.endLine}へコメント`;return(0,A.jsx)(s,{body:a,label:c,pending:t,error:n,validationError:void 0,placement:`line`,onBodyChange:o,onCancel:r,onSubmit:()=>i(a)})}var R=({children:e,node:t,...n})=>{let r=(0,k.useContext)(I),i=k.Children.count(e)===1?k.Children.only(e):null;if(!r||!(0,k.isValidElement)(i)||i.props.className!==`language-mermaid`)return(0,A.jsx)(`pre`,{...n,children:e});let a=w(t);return(0,A.jsx)(F,{source:M(i.props.children).trim(),sourceRange:a,commented:!!(a&&r.activeCommentId&&r.placedComments.some(({comment:e,placement:t})=>e.id===r.activeCommentId&&t.range&&t.range.startLine<=a.endLine&&t.range.endLine>=a.startLine)),bindings:r.diagramBindings,references:r.references,themePreference:r.themePreference,onOpenReference:r.onOpenReference,onCommentRange:r.onCommentRange,commentComposer:a&&N(a,r.diagramCommentRange)?(0,A.jsx)(L,{range:a,pending:r.diagramCommentPending,error:r.diagramCommentError,onCancel:r.onCancelDiagramComment,onSubmit:e=>r.onSubmitDiagramComment(a,e)},`${a.startLine}:${a.endLine}`):null})},z=(0,k.memo)(function({body:e,diagramBindings:t,references:n,placedComments:r,activeCommentId:i,selectedRange:a,selectionComposerOpen:o,diagramCommentRange:s,markdownSourceOid:l,themePreference:g,onOpenReference:_,onOpenCommentCodeReference:y,onOpenRepositoryLink:S,onCommentActiveChange:w,onCommentRange:T,diagramCommentPending:j,diagramCommentError:M,onCancelDiagramComment:N,onSubmitDiagramComment:P}){let F=(0,k.useMemo)(()=>r.map(({comment:e,placement:t})=>({id:e.id,range:t.range})),[r]),L=(0,k.useMemo)(()=>new Map(r.map(({comment:e,placement:t})=>[e.id,{comment:e,placement:t}])),[r]),z=(0,k.useCallback)(({node:e,children:t,...n})=>{let r=D(e);return r.length===0?(0,A.jsx)(`div`,{...n,children:t}):(0,A.jsx)(`div`,{className:`markdown-inline-comments`,children:r.map(e=>{let t=L.get(e);return t?(0,A.jsx)(m,{comment:t.comment,variant:`inline`,placement:t.placement,markdownSourceOid:l,themePreference:g,onActiveChange:w,onOpenCodeReference:y,onOpenRepositoryLink:S},e):null})})},[L,l,w,y,S,g]);return(0,A.jsx)(I.Provider,{value:{diagramBindings:t,references:n,placedComments:r,activeCommentId:i,diagramCommentRange:s,themePreference:g,onOpenReference:_,onCommentRange:T,diagramCommentPending:j,diagramCommentError:M,onCancelDiagramComment:N,onSubmitDiagramComment:P},children:(0,A.jsx)(`article`,{className:`walkthrough-markdown`,children:(0,A.jsx)(b,{rehypePlugins:[x,[d,p],[E,{annotations:F,activeCommentId:i,selectedRange:a,composerOpen:o}]],remarkPlugins:[u],urlTransform:e=>e.startsWith(`rvw-ref:`)?e:c(e),components:{div:z,table:O,a:({href:e,children:t,node:r,...i})=>{let a=f(e),o=a?n.get(a):void 0;return o?(0,A.jsx)(v,{reference:o,className:`walkthrough-inline-reference`,onOpen:_,children:t}):(0,A.jsx)(`a`,{...C(r),...i,href:e,children:t})},img:({alt:e,title:t,node:n})=>(0,A.jsx)(h,{alt:e,title:t,sourceAttributes:C(n)}),pre:R},children:e})})})});function B({walkthrough:e,comments:i,activeCommentId:c,navigationTarget:u,onNavigationApplied:d,themePreference:f,onCommentActiveChange:p,onOpenReference:h,onOpenCommentCodeReference:g,onOpenRepositoryLink:_,onDeleted:v}){let b=a(),x=(0,k.useRef)(null),C=(0,k.useRef)(null),w=(0,k.useRef)(d);w.current=d;let[E,D]=(0,k.useState)(!1),[O,M]=(0,k.useState)(null),[N,F]=(0,k.useState)(null),[I,L]=(0,k.useState)(null),[R,B]=(0,k.useState)(``),[V,H]=(0,k.useState)(null),U=(0,k.useRef)(0),W=(0,k.useRef)(null),G=(0,k.useMemo)(()=>new Map(e.references.map(e=>[e.id,e])),[e.references]);(0,k.useLayoutEffect)(()=>{if(!u||C.current===u.requestId)return;let e=u.requestId,t=window.requestAnimationFrame(()=>{let t=x.current;if(!t)return;if(u.line===null){t.scrollIntoView({behavior:`auto`,block:`start`,inline:`nearest`}),C.current=e,w.current(e);return}let n=String(u.line),r=t.querySelector(`[data-rvw-navigation-start-line="${n}"]`)??t.querySelector(`[data-rvw-source-start-line="${n}"]`),i=r?.closest(`details:not([open])`);i&&(i.open=!0),r&&(r.scrollIntoView({behavior:`auto`,block:`center`,inline:`nearest`}),C.current=e,w.current(e))});return()=>window.cancelAnimationFrame(t)},[u]);let ee=(0,k.useCallback)((t,n)=>{U.current+=1;let r=U.current;W.current!==null&&(window.clearTimeout(W.current),W.current=null),H(null),h(e,t,n).then(e=>{r!==U.current||!e||(H(e),W.current=window.setTimeout(()=>{H(null),W.current=null},j))})},[h,e]);(0,k.useEffect)(()=>()=>{U.current+=1,W.current!==null&&window.clearTimeout(W.current)},[]);let K=i.filter(t=>t.target.kind===`walkthrough`&&t.target.walkthroughId===e.id),te=K.reduce((e,t)=>e+t.posts.length,0),q=n({queryKey:[`walkthrough-comment-placements`,e.id,e.body,K.map(e=>`${e.id}:${e.updatedAt}`)],queryFn:async()=>{let n=new URLSearchParams({kind:`walkthrough`,pullRequestId:e.pullRequestId,walkthroughId:e.id});return await Promise.all(K.map(async e=>({comment:e,placement:(await t(`/api/comments/${e.id}/placement?${n.toString()}`)).placement})))},enabled:K.length>0}),J=(0,k.useMemo)(()=>q.data??[],[q.data]),ne=(0,k.useMemo)(()=>J.filter(({placement:e})=>!e.outdated&&e.range!==null),[J]),Y=(0,k.useMemo)(()=>J.filter(({comment:e,placement:t})=>e.target.kind===`walkthrough`&&e.target.startLine===null||t.outdated),[J]),X=l({mutationFn:async({range:n,body:i})=>await t(`/api/comments`,r({pullRequestId:e.pullRequestId,target:{kind:`walkthrough`,walkthroughId:e.id,startLine:n?.startLine??null,endLine:n?.endLine??null},body:i,authorLabel:`You`})),onSuccess:async()=>{window.getSelection()?.removeAllRanges(),B(``),D(!1),M(null),F(null),L(null),await b.invalidateQueries({queryKey:[`comments`]}),await b.invalidateQueries({queryKey:[`change-sequence`]})}}),Z=l({mutationFn:async()=>await t(`/api/pull-requests/${e.pullRequestId}/walkthroughs/${e.id}`,{...r({}),method:`DELETE`}),onSuccess:async()=>{v(e),await Promise.all([b.invalidateQueries({queryKey:[`walkthroughs`]}),b.invalidateQueries({queryKey:[`walkthrough`]}),b.invalidateQueries({queryKey:[`comments`]}),b.invalidateQueries({queryKey:[`change-sequence`]})])}}),Q=K.filter(e=>e.resolvedAt===null).length,re=()=>{let e=K.length===0?`紐づくコメントはありません。`:`紐づくコメント ${K.length}件と投稿 ${te}件も削除されます。`;window.confirm(`このウォークスルーを削除します。\n${e}\nコピー済みの参照は無効になります。\n\nこの操作は元に戻せません。`)&&Z.mutate()},ie=O?O.startLine===O.endLine?`L${O.startLine}`:`L${O.startLine}–${O.endLine}`:null,$=()=>{window.getSelection()?.removeAllRanges(),X.reset(),B(``),M(null),F(null),L(null)},ae=e=>{X.reset(),B(``),D(!1),M(null),F(e),L(`diagram`)},oe=O?(0,A.jsx)(s,{body:R,label:`${ie??`選択範囲`}へコメント`,pending:X.isPending,error:X.error,validationError:void 0,placement:`line`,onBodyChange:B,onCancel:$,onSubmit:()=>X.mutate({range:O,body:R})}):null,se=(0,A.jsx)(z,{body:e.body,diagramBindings:e.diagramBindings,references:G,placedComments:ne,activeCommentId:c,selectedRange:I===`selection`?O:null,selectionComposerOpen:I===`selection`,diagramCommentRange:N,markdownSourceOid:e.sourceOid,themePreference:f,onOpenReference:ee,onOpenCommentCodeReference:g,onOpenRepositoryLink:_,onCommentActiveChange:p,onCommentRange:ae,diagramCommentPending:X.isPending,diagramCommentError:X.error,onCancelDiagramComment:$,onSubmitDiagramComment:(e,t)=>X.mutate({range:e,body:t})});return(0,A.jsxs)(`div`,{className:`walkthrough-viewer`,ref:x,children:[(0,A.jsxs)(`header`,{className:`walkthrough-viewer-header`,children:[(0,A.jsxs)(`div`,{className:`walkthrough-viewer-title`,children:[(0,A.jsx)(`span`,{className:`walkthrough-viewer-icon`,children:(0,A.jsx)(y,{})}),(0,A.jsxs)(`div`,{className:`walkthrough-viewer-heading-copy`,children:[(0,A.jsx)(`span`,{className:`walkthrough-kicker`,children:`Agent-provided walkthrough`}),(0,A.jsx)(`h2`,{title:e.title,children:e.title})]})]}),(0,A.jsxs)(`div`,{className:`walkthrough-viewer-actions`,children:[(0,A.jsxs)(`button`,{className:`comment-icon-button walkthrough-comment-button`,"aria-label":`ウォークスルー全体へコメント`,title:`ウォークスルー全体へコメント`,"aria-pressed":E,onClick:()=>{X.reset(),B(``),M(null),F(null),L(null),D(e=>!e)},children:[(0,A.jsx)(o,{}),Q>0&&(0,A.jsx)(`span`,{children:Q})]}),(0,A.jsx)(`button`,{className:`comment-icon-button walkthrough-delete-button`,"aria-label":`ウォークスルーを削除`,title:`ウォークスルーを削除`,disabled:Z.isPending,onClick:re,children:(0,A.jsx)(P,{})})]}),V&&(0,A.jsx)(`div`,{className:`code-reference-notice walkthrough-reference-notice`,role:`status`,"aria-live":`polite`,children:V})]}),(0,A.jsx)(S,{error:Z.error}),(0,A.jsx)(S,{error:q.error}),(E||Y.length>0)&&(0,A.jsxs)(`div`,{className:`walkthrough-comment-area`,children:[E&&(0,A.jsx)(s,{body:R,label:`ウォークスルー全体へコメント`,pending:X.isPending,error:X.error,validationError:void 0,placement:`file`,onBodyChange:B,onCancel:()=>{X.reset(),B(``),D(!1)},onSubmit:()=>X.mutate({range:null,body:R})}),Y.map(({comment:t,placement:n})=>(0,A.jsx)(m,{comment:t,variant:`inline`,placement:n,markdownSourceOid:e.sourceOid,themePreference:f,onActiveChange:p,onOpenCodeReference:g,onOpenRepositoryLink:_},t.id))]}),(0,A.jsx)(T,{className:`walkthrough-markdown-surface`,selectedRange:O,composerOpen:I===`selection`,onSelection:e=>{if(!e){M(null),L(e=>e===`selection`?null:e);return}X.reset(),B(``),D(!1),M(e),F(null),L(null)},onOpenComposer:()=>L(`selection`),composer:oe,children:se})]})}export{B as WalkthroughViewer};
|
package/dist/web/assets/{abnfDiagram-N423BO3Z-6dQzEuPV.js → abnfDiagram-N423BO3Z-CE1nZSC9.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e,t}from"./mermaid-parser.core-
|
|
1
|
+
import{m as e,t}from"./mermaid-parser.core-CbecsNA1.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-I66GZJ75-CGl1hx4J.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-BuuMeCo2.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-CdRuLyYI.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./chunk-KEIR6QF5-BICK3FdT.js";import{M as e}from"./mermaid-parser.core-CbecsNA1.js";export{e as createArchitectureServices};
|