@a9n-shoji/rvw 0.1.0 → 0.2.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.
- package/CHANGELOG.md +24 -0
- package/README.md +39 -12
- package/dist/cli.mjs +486 -54
- package/dist/cli.mjs.map +4 -4
- package/dist/web/assets/DocumentViewer-CNgHpCuL.js +1560 -0
- package/dist/web/assets/WalkthroughViewer-BVB3ETHG.js +1 -0
- package/dist/web/assets/{abnfDiagram-N423BO3Z-BK5Jn86N.js → abnfDiagram-N423BO3Z-0v-ndtqQ.js} +1 -1
- package/dist/web/assets/architecture-TIHT7OUA-BjGWtjPU.js +1 -0
- package/dist/web/assets/{architectureDiagram-T3A2C74G-C4e8BOKi.js → architectureDiagram-T3A2C74G-WSNJ-tZE.js} +1 -1
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-vGkPzqEX.js → blockDiagram-VBNYF7ZC-lmMbEUwI.js} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-CFw7KfN7.js → c4Diagram-5PPSVZJV-BrN5YVV8.js} +1 -1
- package/dist/web/assets/channel-DkH22XO0.js +1 -0
- package/dist/web/assets/{chunk-2GRJ4B5K-CGyf7P1B.js → chunk-2GRJ4B5K-gt2JPyrH.js} +1 -1
- package/dist/web/assets/{chunk-4I5QYGJK-B9gVU0IX.js → chunk-4I5QYGJK-Cg5GZ_-7.js} +1 -1
- package/dist/web/assets/{chunk-5RXB4S5H-CxKRHj4A.js → chunk-5RXB4S5H-BdhRGvxW.js} +1 -1
- package/dist/web/assets/{chunk-6Q2QTUOP-wTr3poCO.js → chunk-6Q2QTUOP-B1DYWNVJ.js} +1 -1
- package/dist/web/assets/{chunk-7Z6QIM7H-DO3-rKs9.js → chunk-7Z6QIM7H-D2YImamZ.js} +1 -1
- package/dist/web/assets/{chunk-GF5L2VYU-Hf7UNoHx.js → chunk-GF5L2VYU-CWtwL_CM.js} +1 -1
- package/dist/web/assets/{chunk-I66GZJ75-BsgBf6m-.js → chunk-I66GZJ75-DdoGlxMt.js} +1 -1
- package/dist/web/assets/{chunk-JQJVKLGR-C8FDquLg.js → chunk-JQJVKLGR-CVWAp3XP.js} +1 -1
- package/dist/web/assets/{chunk-KBJHAD2P-32ugraBx.js → chunk-KBJHAD2P-BBacwg3J.js} +1 -1
- package/dist/web/assets/{chunk-NSK5VX7P-BRGpsxOZ.js → chunk-NSK5VX7P-1AsXiBV3.js} +1 -1
- package/dist/web/assets/{chunk-QR6OTTB3-C1LfXMA9.js → chunk-QR6OTTB3-DL2s5pNp.js} +1 -1
- package/dist/web/assets/{chunk-UBXNYLIW-CjykxAbY.js → chunk-UBXNYLIW-mu3fkNQI.js} +1 -1
- package/dist/web/assets/{chunk-W5SLKNZC-DTzd_oWg.js → chunk-W5SLKNZC-BAwhMBBb.js} +1 -1
- package/dist/web/assets/{chunk-WRU74C26-BOKlupGY.js → chunk-WRU74C26-C7IeXZaP.js} +1 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-C6Z4rmZR.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-C6Z4rmZR.js +1 -0
- package/dist/web/assets/{cynefin-VYW2F7L2-FyhSpENE.js → cynefin-VYW2F7L2-DNisGvNv.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-uFUTQ3i8.js → cynefinDiagram-MW4NZA55-BA27gOTz.js} +1 -1
- package/dist/web/assets/{dagre-VZM6K2ZE-BlESSHVb.js → dagre-VZM6K2ZE-vo_1YAuM.js} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-CVtjyPlA.js → diagram-7IWD3JNH-DLLdUj0_.js} +1 -1
- package/dist/web/assets/{diagram-B4RE2ZJO-B3alEF-G.js → diagram-B4RE2ZJO-BV0WyNA-.js} +1 -1
- package/dist/web/assets/{diagram-LBJQPF4R-Dz-CRzSx.js → diagram-LBJQPF4R-DXxKSx2U.js} +1 -1
- package/dist/web/assets/{diagram-Q27KOJAE-B7x_WZC5.js → diagram-Q27KOJAE-DsQ2GzIK.js} +1 -1
- package/dist/web/assets/{diagram-UB23O5K3-Di7vh04u.js → diagram-UB23O5K3-DfjElFP1.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-CVXtwzOH.js → ebnfDiagram-BXEA7PRR-cYu0XV1a.js} +1 -1
- package/dist/web/assets/{erDiagram-JOGREHBK-C73ySvzv.js → erDiagram-JOGREHBK-DnsLBHaV.js} +1 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-BUAcQ5NU.js +1 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-hAe9ojjP.js +1 -0
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-DnFdkwyo.js → ganttDiagram-PKOTCBZU-CVD5gq3E.js} +1 -1
- package/dist/web/assets/{gitGraph-TEB2WS4Q-D9IlUiGc.js → gitGraph-TEB2WS4Q-C_j0n-Kw.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-C8RcHadx.js → gitGraphDiagram-DS77QQ5N-qACevJmW.js} +1 -1
- package/dist/web/assets/index-Coye1BY5.js +384 -0
- package/dist/web/assets/{index-B8_aim9s.css → index-DFdYNMZE.css} +1 -1
- package/dist/web/assets/{info-DKCQHKI2-D8vjRWaN.js → info-DKCQHKI2-Cmkbz3Yi.js} +1 -1
- package/dist/web/assets/{infoDiagram-6WML65LV-JfN0KNPZ.js → infoDiagram-6WML65LV-CDrAem7M.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-C2AwcyHY.js → ishikawaDiagram-WSZJBQD7-DXgCnFqW.js} +1 -1
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-spVPyB4C.js → journeyDiagram-NVQOT4AX-1KW-I7DV.js} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-DovZ9YwS.js → kanban-definition-27J2QSJJ-CCt75OuF.js} +1 -1
- package/dist/web/assets/{line-CLgOPnWr.js → line-DQfkDi_r.js} +1 -1
- package/dist/web/assets/markdown-source-map-_dS1q5Dg.js +7 -0
- package/dist/web/assets/{mermaid-parser.core-DyixRB1x.js → mermaid-parser.core-B7TMMtY0.js} +3 -3
- package/dist/web/assets/{mermaid.core-BqpBcETK.js → mermaid.core-B93x-7Mk.js} +4 -4
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-BbPO8pns.js → mindmap-definition-FAOFIHXS-Dyt28V6S.js} +1 -1
- package/dist/web/assets/{packet-7NZHBO7P-aNovgfCM.js → packet-7NZHBO7P-zQ0u35s3.js} +1 -1
- package/dist/web/assets/{pegDiagram-VL7TDLO6-2e4z4Op-.js → pegDiagram-VL7TDLO6-et0KHGIE.js} +1 -1
- package/dist/web/assets/{pie-RZYD4A2V-DNId-ti0.js → pie-RZYD4A2V-uur86LkQ.js} +1 -1
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-D5ZE6kTv.js → pieDiagram-7S7Q4E2Y-c027WPTB.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-BwxDvFqg.js → quadrantDiagram-CIZ2JOQS-BtSV4E-0.js} +1 -1
- package/dist/web/assets/{radar-I7S5WNFK-C2R9CqOg.js → radar-I7S5WNFK-B_g0VZMF.js} +1 -1
- package/dist/web/assets/{railroad-3IZDKUUU-BcNatsBm.js → railroad-3IZDKUUU-VFLsM_Em.js} +1 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-TVRi9_2L.js +1 -0
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-B5B-JrS4.js +1 -0
- package/dist/web/assets/railroad-peg-LSFZ7HO6-CfIpa6ba.js +1 -0
- package/dist/web/assets/{railroadDiagram-AXF67PYL-CGJ_SZmV.js → railroadDiagram-AXF67PYL-uOtnxRbQ.js} +1 -1
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-BedGrIx6.js → requirementDiagram-LRYGKXZP-DGSZAsj4.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-zK0XX_8d.js → sankeyDiagram-W5VNT64P-CCDk8Vxt.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-DbI4quME.js → sequenceDiagram-SI44F4Z6-Ce-Jzdk5.js} +1 -1
- package/dist/web/assets/{stateDiagram-OKZ733FA-5dL9K4ba.js → stateDiagram-OKZ733FA-BYpYzyEa.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BJFG9cb2.js +1 -0
- package/dist/web/assets/{swimlanes-SLNWSIFB-CnNbnSFl.js → swimlanes-SLNWSIFB-BL-CUc6d.js} +1 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BS8L8fb1.js +8 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-ht7Pc9Lh.js → timeline-definition-Z64GVDOM-p9pkof_K.js} +1 -1
- package/dist/web/assets/{treeView-QDETBFTQ-B-GVm6gh.js → treeView-QDETBFTQ-dRhXTU9p.js} +1 -1
- package/dist/web/assets/{treemap-6X3UGDF4-DZ5ImJjV.js → treemap-6X3UGDF4-CZHe3dIh.js} +1 -1
- package/dist/web/assets/{vennDiagram-T6HMQDX7-DVnsZuuc.js → vennDiagram-T6HMQDX7-ipODJegx.js} +1 -1
- package/dist/web/assets/{wardley-OPB4EBWU-CLk0x8RD.js → wardley-OPB4EBWU-CxHlVjkF.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BgtlhJqk.js → wardleyDiagram-T6FBY63Y-YarkIncH.js} +1 -1
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-CXEN46LP.js → xychartDiagram-ELKLHX3M-Cw1M-7a4.js} +1 -1
- package/dist/web/index.html +2 -2
- package/migrations/009_comment_watch.sql +30 -0
- package/package.json +1 -1
- package/skills/rvw/SKILL.md +84 -5
- package/skills/rvw/agents/openai.yaml +2 -2
- package/skills/rvw-walkthrough/SKILL.md +17 -8
- package/skills/rvw-walkthrough/references/walkthrough-authoring.md +105 -0
- package/skills/rvw-watch-comments/SKILL.md +175 -0
- package/skills/rvw-watch-comments/agents/openai.yaml +4 -0
- package/skills/rvw-watch-comments/scripts/watch-state.mjs +724 -0
- package/dist/web/assets/DocumentViewer-Bpo61duW.js +0 -1560
- package/dist/web/assets/MarkdownImagePlaceholder-6RCNwzwM.js +0 -36
- package/dist/web/assets/WalkthroughViewer-B5mozyWo.js +0 -2
- package/dist/web/assets/architecture-TIHT7OUA-CNniK53V.js +0 -1
- package/dist/web/assets/channel-D9mpRLqV.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-1i-imYTn.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-1i-imYTn.js +0 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-lqF-K7-h.js +0 -1
- package/dist/web/assets/flowDiagram-UKHOOZJN-BjY-fuKE.js +0 -1
- package/dist/web/assets/index-BWaG4LjN.js +0 -355
- package/dist/web/assets/railroad-abnf-AHOZXSZD-BZPZwTjc.js +0 -1
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-CpdNBsnS.js +0 -1
- package/dist/web/assets/railroad-peg-LSFZ7HO6-R8jDubES.js +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-ChRa8APT.js +0 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-QmkQO3yp.js +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{B as t,F as n,H as r,L as i,M as a,N as o,P as s,T as c,U as l,V as u,b as d,c as f,d as p,g as m,l as h,o as g,s as _,w as v,x as y,y as b,z as x}from"./index-Coye1BY5.js";import{a as S,i as C,n as w,r as T,t as E}from"./markdown-source-map-_dS1q5Dg.js";var D=e(l(),1),O=r(),k=2400,A={...d,protocols:{...d.protocols,href:[...d.protocols?.href??[],`rvw-ref`]}};function j(e){return e?.startsWith(`rvw-ref:`)?e.slice(8):null}function M(e){return D.Children.toArray(e).map(e=>typeof e==`string`||typeof e==`number`?String(e):(0,D.isValidElement)(e)?M(e.props.children):``).join(``)}function N(e){return e.startLine===null||e.endLine===null?null:e.startLine===e.endLine?`L${e.startLine}`:`L${e.startLine}–${e.endLine}`}function P(e){let t=N(e);return t?`${e.path}:${t}`:e.path}function F(e,t){return!!(e&&t&&e.startLine===t.startLine&&e.endLine===t.endLine)}function I(){return(0,O.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,width:`16`,height:`16`,children:(0,O.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 L({source:e,sourceRange:t,commented:n,bindings:r,references:i,themePreference:o,onOpenReference:s,onCommentRange:c,commentComposer:l}){let u=(0,D.useRef)(null),d=!!l;(0,D.useLayoutEffect)(()=>{if(!d)return;let e=window.requestAnimationFrame(()=>{u.current?.scrollIntoView({block:`nearest`,inline:`nearest`})});return()=>window.cancelAnimationFrame(e)},[d]);let f=(0,D.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,D.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,O.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,O.jsxs)(`div`,{className:`walkthrough-diagram-toolbar`,children:[(0,O.jsx)(`span`,{children:`Mermaid diagram`}),(0,O.jsx)(`span`,{children:`nodeを選択して開く · Cmd/Ctrlで反対のペイン`}),t&&(0,O.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,O.jsx)(a,{}),`図全体へコメント`]})]}),(0,O.jsx)(h,{className:`walkthrough-diagram`,source:e,themePreference:o,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,O.jsx)(`div`,{className:`walkthrough-diagram-comment-composer`,ref:u,children:l})]})}var R=(0,D.createContext)(null);function z({range:e,pending:t,error:n,onCancel:r,onSubmit:i}){let[a,s]=(0,D.useState)(``),c=e.startLine===e.endLine?`L${e.startLine}へコメント`:`L${e.startLine}–${e.endLine}へコメント`;return(0,O.jsx)(o,{body:a,label:c,pending:t,error:n,validationError:void 0,placement:`line`,onBodyChange:s,onCancel:r,onSubmit:()=>i(a)})}var B=({children:e,node:t,...n})=>{let r=(0,D.useContext)(R),i=D.Children.count(e)===1?D.Children.only(e):null;if(!r||!(0,D.isValidElement)(i)||i.props.className!==`language-mermaid`)return(0,O.jsx)(`pre`,{...n,children:e});let a=T(t);return(0,O.jsx)(L,{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&&F(a,r.diagramCommentRange)?(0,O.jsx)(z,{range:a,pending:r.diagramCommentPending,error:r.diagramCommentError,onCancel:r.onCancelDiagramComment,onSubmit:e=>r.onSubmitDiagramComment(a,e)},`${a.startLine}:${a.endLine}`):null})},V=(0,D.memo)(function({body:e,diagramBindings:t,references:n,placedComments:r,activeCommentId:i,selectedRange:a,selectionComposerOpen:o,diagramCommentRange:s,markdownSourceOid:l,themePreference:u,onOpenReference:d,onOpenRepositoryLink:h,onCommentActiveChange:g,onCommentRange:x,diagramCommentPending:T,diagramCommentError:E,onCancelDiagramComment:k,onSubmitDiagramComment:M}){let F=(0,D.useRef)(null),I=(0,D.useMemo)(()=>r.map(({comment:e,placement:t})=>({id:e.id,range:t.range})),[r]),L=(0,D.useMemo)(()=>new Map(r.map(({comment:e,placement:t})=>[e.id,{comment:e,placement:t}])),[r]),z=(0,D.useCallback)(({node:e,children:t,...n})=>{let r=w(e);return r.length===0?(0,O.jsx)(`div`,{...n,children:t}):(0,O.jsx)(`div`,{className:`markdown-inline-comments`,children:r.map(e=>{let t=L.get(e);return t?(0,O.jsx)(f,{comment:t.comment,variant:`inline`,placement:t.placement,markdownSourceOid:l,themePreference:u,onActiveChange:g,onOpenRepositoryLink:h},e):null})})},[L,l,g,h,u]);return(0,O.jsx)(R.Provider,{value:{diagramBindings:t,references:n,placedComments:r,activeCommentId:i,diagramCommentRange:s,themePreference:u,onOpenReference:d,onCommentRange:x,diagramCommentPending:T,diagramCommentError:E,onCancelDiagramComment:k,onSubmitDiagramComment:M},children:(0,O.jsx)(`article`,{className:`walkthrough-markdown`,children:(0,O.jsx)(v,{rehypePlugins:[y,[b,A],[S,{annotations:I,activeCommentId:i,selectedRange:a,composerOpen:o}]],remarkPlugins:[m],urlTransform:e=>e.startsWith(`rvw-ref:`)?e:c(e),components:{div:z,table:({children:e,node:t,...n})=>(0,O.jsx)(`div`,{className:`markdown-table-scroll`,children:(0,O.jsx)(`table`,{...C(t),...n,children:e})}),a:({href:e,children:t,node:r,...i})=>{let a=j(e),o=a?n.get(a):void 0;return o?(0,O.jsxs)(`button`,{className:`walkthrough-inline-reference`,title:P(o),onPointerDown:e=>{e.button===0&&(F.current={x:e.clientX,y:e.clientY})},onPointerUp:e=>{let t=F.current;F.current=null,t&&(Math.hypot(e.clientX-t.x,e.clientY-t.y)>4||(e.preventDefault(),e.stopPropagation(),d(o,e.metaKey||e.ctrlKey)))},onPointerCancel:()=>{F.current=null},onClick:e=>{e.preventDefault(),e.detail===0&&d(o,!1)},onContextMenu:e=>{(e.ctrlKey||e.metaKey)&&e.preventDefault()},children:[(0,O.jsx)(_,{path:o.path,kind:`file`}),(0,O.jsx)(`span`,{children:t}),(0,O.jsx)(`small`,{children:N(o)??`File`})]}):(0,O.jsx)(`a`,{...C(r),...i,href:e,children:t})},img:({alt:e,title:t,node:n})=>(0,O.jsx)(p,{alt:e,title:t,sourceAttributes:C(n)}),pre:B},children:e})})})});function H({walkthrough:e,comments:r,activeCommentId:c,navigationTarget:l,onNavigationApplied:d,themePreference:p,onCommentActiveChange:m,onOpenReference:h,onOpenRepositoryLink:_,onDeleted:v}){let y=u(),b=(0,D.useRef)(null),S=(0,D.useRef)(null),C=(0,D.useRef)(d);C.current=d;let[w,T]=(0,D.useState)(!1),[A,j]=(0,D.useState)(null),[M,N]=(0,D.useState)(null),[P,F]=(0,D.useState)(null),[L,R]=(0,D.useState)(``),[z,B]=(0,D.useState)(null),H=(0,D.useRef)(0),U=(0,D.useRef)(null),ee=(0,D.useMemo)(()=>new Map(e.references.map(e=>[e.id,e])),[e.references]);(0,D.useLayoutEffect)(()=>{if(!l||S.current===l.requestId)return;let e=l.requestId,t=window.requestAnimationFrame(()=>{let t=b.current;if(!t)return;if(l.line===null){t.scrollIntoView({behavior:`auto`,block:`start`,inline:`nearest`}),S.current=e,C.current(e);return}let n=String(l.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`}),S.current=e,C.current(e))});return()=>window.cancelAnimationFrame(t)},[l]);let W=(0,D.useCallback)((t,n)=>{H.current+=1;let r=H.current;U.current!==null&&(window.clearTimeout(U.current),U.current=null),B(null),h(e,t,n).then(e=>{r!==H.current||!e||(B(e),U.current=window.setTimeout(()=>{B(null),U.current=null},k))})},[h,e]);(0,D.useEffect)(()=>()=>{H.current+=1,U.current!==null&&window.clearTimeout(U.current)},[]);let G=r.filter(t=>t.target.kind===`walkthrough`&&t.target.walkthroughId===e.id),K=G.reduce((e,t)=>e+t.posts.length,0),q=t({queryKey:[`walkthrough-comment-placements`,e.id,e.body,G.map(e=>`${e.id}:${e.updatedAt}`)],queryFn:async()=>{let t=new URLSearchParams({kind:`walkthrough`,pullRequestId:e.pullRequestId,walkthroughId:e.id});return await Promise.all(G.map(async e=>({comment:e,placement:(await n(`/api/comments/${e.id}/placement?${t.toString()}`)).placement})))},enabled:G.length>0}),J=(0,D.useMemo)(()=>q.data??[],[q.data]),te=(0,D.useMemo)(()=>J.filter(({placement:e})=>!e.outdated&&e.range!==null),[J]),Y=(0,D.useMemo)(()=>J.filter(({comment:e,placement:t})=>e.target.kind===`walkthrough`&&e.target.startLine===null||t.outdated),[J]),X=x({mutationFn:async({range:t,body:r})=>await n(`/api/comments`,i({pullRequestId:e.pullRequestId,target:{kind:`walkthrough`,walkthroughId:e.id,startLine:t?.startLine??null,endLine:t?.endLine??null},body:r,authorLabel:`You`})),onSuccess:async()=>{window.getSelection()?.removeAllRanges(),R(``),T(!1),j(null),N(null),F(null),await y.invalidateQueries({queryKey:[`comments`]}),await y.invalidateQueries({queryKey:[`change-sequence`]})}}),Z=x({mutationFn:async()=>await n(`/api/pull-requests/${e.pullRequestId}/walkthroughs/${e.id}`,{...i({}),method:`DELETE`}),onSuccess:async()=>{v(e),await Promise.all([y.invalidateQueries({queryKey:[`walkthroughs`]}),y.invalidateQueries({queryKey:[`walkthrough`]}),y.invalidateQueries({queryKey:[`comments`]}),y.invalidateQueries({queryKey:[`change-sequence`]})])}}),Q=G.filter(e=>e.resolvedAt===null).length,ne=()=>{let e=G.length===0?`紐づくコメントはありません。`:`紐づくコメント ${G.length}件と投稿 ${K}件も削除されます。`;window.confirm(`このウォークスルーを削除します。\n${e}\nコピー済みの参照は無効になります。\n\nこの操作は元に戻せません。`)&&Z.mutate()},re=A?A.startLine===A.endLine?`L${A.startLine}`:`L${A.startLine}–${A.endLine}`:null,$=()=>{window.getSelection()?.removeAllRanges(),X.reset(),R(``),j(null),N(null),F(null)},ie=e=>{X.reset(),R(``),T(!1),j(null),N(e),F(`diagram`)},ae=A?(0,O.jsx)(o,{body:L,label:`${re??`選択範囲`}へコメント`,pending:X.isPending,error:X.error,validationError:void 0,placement:`line`,onBodyChange:R,onCancel:$,onSubmit:()=>X.mutate({range:A,body:L})}):null,oe=(0,O.jsx)(V,{body:e.body,diagramBindings:e.diagramBindings,references:ee,placedComments:te,activeCommentId:c,selectedRange:P===`selection`?A:null,selectionComposerOpen:P===`selection`,diagramCommentRange:M,markdownSourceOid:e.sourceOid,themePreference:p,onOpenReference:W,onOpenRepositoryLink:_,onCommentActiveChange:m,onCommentRange:ie,diagramCommentPending:X.isPending,diagramCommentError:X.error,onCancelDiagramComment:$,onSubmitDiagramComment:(e,t)=>X.mutate({range:e,body:t})});return(0,O.jsxs)(`div`,{className:`walkthrough-viewer`,ref:b,children:[(0,O.jsxs)(`header`,{className:`walkthrough-viewer-header`,children:[(0,O.jsxs)(`div`,{className:`walkthrough-viewer-title`,children:[(0,O.jsx)(`span`,{className:`walkthrough-viewer-icon`,children:(0,O.jsx)(g,{})}),(0,O.jsxs)(`div`,{className:`walkthrough-viewer-heading-copy`,children:[(0,O.jsx)(`span`,{className:`walkthrough-kicker`,children:`Agent-provided walkthrough`}),(0,O.jsx)(`h2`,{title:e.title,children:e.title})]})]}),(0,O.jsxs)(`div`,{className:`walkthrough-viewer-actions`,children:[(0,O.jsxs)(`button`,{className:`comment-icon-button walkthrough-comment-button`,"aria-label":`ウォークスルー全体へコメント`,title:`ウォークスルー全体へコメント`,"aria-pressed":w,onClick:()=>{X.reset(),R(``),j(null),N(null),F(null),T(e=>!e)},children:[(0,O.jsx)(a,{}),Q>0&&(0,O.jsx)(`span`,{children:Q})]}),(0,O.jsx)(`button`,{className:`comment-icon-button walkthrough-delete-button`,"aria-label":`ウォークスルーを削除`,title:`ウォークスルーを削除`,disabled:Z.isPending,onClick:ne,children:(0,O.jsx)(I,{})})]}),z&&(0,O.jsx)(`div`,{className:`walkthrough-reference-notice`,role:`status`,"aria-live":`polite`,children:z})]}),(0,O.jsx)(s,{error:Z.error}),(0,O.jsx)(s,{error:q.error}),(w||Y.length>0)&&(0,O.jsxs)(`div`,{className:`walkthrough-comment-area`,children:[w&&(0,O.jsx)(o,{body:L,label:`ウォークスルー全体へコメント`,pending:X.isPending,error:X.error,validationError:void 0,placement:`file`,onBodyChange:R,onCancel:()=>{X.reset(),R(``),T(!1)},onSubmit:()=>X.mutate({range:null,body:L})}),Y.map(({comment:t,placement:n})=>(0,O.jsx)(f,{comment:t,variant:`inline`,placement:n,markdownSourceOid:e.sourceOid,themePreference:p,onActiveChange:m,onOpenRepositoryLink:_},t.id))]}),(0,O.jsx)(E,{className:`walkthrough-markdown-surface`,selectedRange:A,composerOpen:P===`selection`,onSelection:e=>{if(!e){j(null),F(e=>e===`selection`?null:e);return}X.reset(),R(``),T(!1),j(e),N(null),F(null)},onOpenComposer:()=>F(`selection`),composer:ae,children:oe})]})}export{H as WalkthroughViewer};
|
package/dist/web/assets/{abnfDiagram-N423BO3Z-BK5Jn86N.js → abnfDiagram-N423BO3Z-0v-ndtqQ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e,t}from"./mermaid-parser.core-
|
|
1
|
+
import{m as e,t}from"./mermaid-parser.core-B7TMMtY0.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-I66GZJ75-DdoGlxMt.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-B1DYWNVJ.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-B93x-7Mk.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-B7TMMtY0.js";export{e as createArchitectureServices};
|