@a9n-shoji/rvw 0.2.4 → 0.2.5
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 +21 -0
- package/dist/cli.mjs +89 -35
- package/dist/cli.mjs.map +2 -2
- package/dist/web/assets/{DocumentViewer-B4LdSL1l.js → DocumentViewer-C2e6Mgta.js} +49 -40
- package/dist/web/assets/MarkdownTable-bGEPkcFA.js +7 -0
- package/dist/web/assets/WalkthroughViewer-TxeLcTE2.js +1 -0
- package/dist/web/assets/{abnfDiagram-N423BO3Z-CE1nZSC9.js → abnfDiagram-N423BO3Z-gOmziSzZ.js} +1 -1
- package/dist/web/assets/architecture-TIHT7OUA-B9tjggXM.js +1 -0
- package/dist/web/assets/{architectureDiagram-T3A2C74G-B88qYFUo.js → architectureDiagram-T3A2C74G-C9sPb-OU.js} +1 -1
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-BaX0rhbb.js → blockDiagram-VBNYF7ZC-CxqI40sc.js} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-C1ppBaEC.js → c4Diagram-5PPSVZJV-BAK8Z0Vr.js} +1 -1
- package/dist/web/assets/channel-BD2FosIt.js +1 -0
- package/dist/web/assets/{chunk-2GRJ4B5K-D2TTocfh.js → chunk-2GRJ4B5K-oKAARewZ.js} +1 -1
- package/dist/web/assets/{chunk-4I5QYGJK-ikT25rPN.js → chunk-4I5QYGJK-BAAbxidn.js} +1 -1
- package/dist/web/assets/{chunk-5RXB4S5H-CGlPaulj.js → chunk-5RXB4S5H-DQ-Dk-To.js} +1 -1
- package/dist/web/assets/{chunk-6Q2QTUOP-BuuMeCo2.js → chunk-6Q2QTUOP-B64WcpmV.js} +1 -1
- package/dist/web/assets/{chunk-7Z6QIM7H-DT3BAZ4L.js → chunk-7Z6QIM7H-DiUNIjSC.js} +1 -1
- package/dist/web/assets/{chunk-GF5L2VYU-mIdlxzfr.js → chunk-GF5L2VYU-rbtkA8ZE.js} +1 -1
- package/dist/web/assets/{chunk-I66GZJ75-CGl1hx4J.js → chunk-I66GZJ75-BywUmQY9.js} +1 -1
- package/dist/web/assets/{chunk-JQJVKLGR-BLG6gAfx.js → chunk-JQJVKLGR-BW097h_E.js} +1 -1
- package/dist/web/assets/{chunk-KBJHAD2P-D_MPzBJx.js → chunk-KBJHAD2P-C1kXPXRi.js} +1 -1
- package/dist/web/assets/{chunk-NSK5VX7P-CiYiU8wP.js → chunk-NSK5VX7P-kej84W5N.js} +1 -1
- package/dist/web/assets/{chunk-QR6OTTB3-BK8Tnvcc.js → chunk-QR6OTTB3-BOzVZt4h.js} +1 -1
- package/dist/web/assets/{chunk-UBXNYLIW-BuzttTFk.js → chunk-UBXNYLIW-CJsGqSLH.js} +1 -1
- package/dist/web/assets/{chunk-W5SLKNZC-UidmFHe2.js → chunk-W5SLKNZC-BcRL2jRx.js} +1 -1
- package/dist/web/assets/{chunk-WRU74C26-nox7WFnh.js → chunk-WRU74C26-BDqViURG.js} +1 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-yDkoGFrq.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-yDkoGFrq.js +1 -0
- package/dist/web/assets/{cynefin-VYW2F7L2-wDMibS5s.js → cynefin-VYW2F7L2-Dugz8jnV.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-CBTrdvOE.js → cynefinDiagram-MW4NZA55-D-C0yr-E.js} +1 -1
- package/dist/web/assets/{dagre-VZM6K2ZE-Bbgn4Rr7.js → dagre-VZM6K2ZE-Cw5E1SBZ.js} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-Bm9AuXb9.js → diagram-7IWD3JNH-Sf7kJZ8B.js} +1 -1
- package/dist/web/assets/{diagram-B4RE2ZJO-D3lZ-r-H.js → diagram-B4RE2ZJO-yCiqe-d4.js} +1 -1
- package/dist/web/assets/{diagram-LBJQPF4R-D-GaynX7.js → diagram-LBJQPF4R-GOlna-Ju.js} +1 -1
- package/dist/web/assets/{diagram-Q27KOJAE-BeZRiu1d.js → diagram-Q27KOJAE-D6EGrNVJ.js} +1 -1
- package/dist/web/assets/{diagram-UB23O5K3-C3GP7iMe.js → diagram-UB23O5K3-DdPGDYZ-.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-BJWg0NVU.js → ebnfDiagram-BXEA7PRR-Cm7S99yh.js} +1 -1
- package/dist/web/assets/{erDiagram-JOGREHBK-XPmhUeB_.js → erDiagram-JOGREHBK-BaGSsO0U.js} +1 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-CbAFmLja.js +1 -0
- package/dist/web/assets/flowDiagram-UKHOOZJN-Dz1a-iuK.js +1 -0
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-CL-xEo-M.js → ganttDiagram-PKOTCBZU-Dcim-2qK.js} +1 -1
- package/dist/web/assets/{gitGraph-TEB2WS4Q-BVRyuIx3.js → gitGraph-TEB2WS4Q-BhPbNzbD.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-BVNIEupW.js → gitGraphDiagram-DS77QQ5N-5n4OZuxI.js} +1 -1
- package/dist/web/assets/index-BOdYI3os.css +1 -0
- package/dist/web/assets/index-D2MzuS4L.js +384 -0
- package/dist/web/assets/{info-DKCQHKI2-BKBUVpfc.js → info-DKCQHKI2-B18FoJmv.js} +1 -1
- package/dist/web/assets/{infoDiagram-6WML65LV-_dTFnzSE.js → infoDiagram-6WML65LV-Cjd9H30j.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-DIRgD4hO.js → ishikawaDiagram-WSZJBQD7-B2HYwzk0.js} +1 -1
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-bp7nZrfR.js → journeyDiagram-NVQOT4AX-CIIOlEIS.js} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-C6mZIo8S.js → kanban-definition-27J2QSJJ-DpD98gCE.js} +1 -1
- package/dist/web/assets/{line-DWTym7eJ.js → line-1uMtgP84.js} +1 -1
- package/dist/web/assets/{mermaid-parser.core-CbecsNA1.js → mermaid-parser.core-CsoLrwW_.js} +3 -3
- package/dist/web/assets/{mermaid.core-CdRuLyYI.js → mermaid.core-DLvBOZ4b.js} +4 -4
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-CU2P1z-9.js → mindmap-definition-FAOFIHXS-aX8l0lZ8.js} +1 -1
- package/dist/web/assets/{packet-7NZHBO7P-CZsup6Od.js → packet-7NZHBO7P-C2mk4cRM.js} +1 -1
- package/dist/web/assets/{pegDiagram-VL7TDLO6-DTTyttpe.js → pegDiagram-VL7TDLO6-DJxCPsMd.js} +1 -1
- package/dist/web/assets/{pie-RZYD4A2V-DgrIiWZA.js → pie-RZYD4A2V-ZvoBUm4W.js} +1 -1
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-BBNFyPT1.js → pieDiagram-7S7Q4E2Y-B_Zxlt9c.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-ejp-Aa2l.js → quadrantDiagram-CIZ2JOQS-BdQdNvfJ.js} +1 -1
- package/dist/web/assets/{radar-I7S5WNFK-Cp_hfjrI.js → radar-I7S5WNFK-C50TztIy.js} +1 -1
- package/dist/web/assets/{railroad-3IZDKUUU-Dw-oMal2.js → railroad-3IZDKUUU-C_CK0C2Y.js} +1 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-DEjonoj9.js +1 -0
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-BGY58zLm.js +1 -0
- package/dist/web/assets/railroad-peg-LSFZ7HO6-9byrH0Ii.js +1 -0
- package/dist/web/assets/{railroadDiagram-AXF67PYL-DkBUaj6Z.js → railroadDiagram-AXF67PYL-CZ1vA-S_.js} +1 -1
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-Dff1ex_h.js → requirementDiagram-LRYGKXZP-BDp4_zQI.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-DptSL9Bc.js → sankeyDiagram-W5VNT64P-CQQl9FYv.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-DEnPcs3U.js → sequenceDiagram-SI44F4Z6-BGANFekR.js} +1 -1
- package/dist/web/assets/{stateDiagram-OKZ733FA-BwJO1MKA.js → stateDiagram-OKZ733FA-DbYseVuv.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CaYT-_kk.js +1 -0
- package/dist/web/assets/{swimlanes-SLNWSIFB-BosKiwZA.js → swimlanes-SLNWSIFB-Db9iJuW8.js} +1 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-CgMcCXPx.js +8 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-C5isAn4X.js → timeline-definition-Z64GVDOM-Ioz0wd0X.js} +1 -1
- package/dist/web/assets/{treeView-QDETBFTQ-zEyUXRc4.js → treeView-QDETBFTQ-clJ74kxF.js} +1 -1
- package/dist/web/assets/{treemap-6X3UGDF4-B-X0EQSE.js → treemap-6X3UGDF4-Dr2iSopM.js} +1 -1
- package/dist/web/assets/{vennDiagram-T6HMQDX7-QMdGieCa.js → vennDiagram-T6HMQDX7-Dm_4JT58.js} +1 -1
- package/dist/web/assets/{wardley-OPB4EBWU-BaeAF8d8.js → wardley-OPB4EBWU-BijQqUc8.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-DTQ_uLUq.js → wardleyDiagram-T6FBY63Y-C4x0wEqS.js} +1 -1
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-BMdBWzib.js → xychartDiagram-ELKLHX3M-BGoEonWo.js} +1 -1
- package/dist/web/index.html +2 -2
- package/migrations/011_comment_post_modifier.sql +3 -0
- package/package.json +1 -1
- package/skills/rvw/SKILL.md +1 -1
- package/skills/rvw-walkthrough/SKILL.md +1 -1
- package/skills/rvw-watch-comments/SKILL.md +28 -13
- package/skills/rvw-watch-comments/scripts/auto-ack.mjs +18 -2
- package/skills/rvw-watch-comments/scripts/preflight.mjs +1 -1
- package/skills/rvw-watch-comments/scripts/watch-driver.mjs +47 -17
- package/skills/rvw-watch-comments/scripts/watch-state.mjs +50 -3
- package/dist/web/assets/MarkdownTable-CdbKPft2.js +0 -7
- package/dist/web/assets/WalkthroughViewer-D1LlSQw2.js +0 -1
- package/dist/web/assets/architecture-TIHT7OUA-edLV2Zq-.js +0 -1
- package/dist/web/assets/channel-J8FHSJDG.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-CmTWSnH0.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-CmTWSnH0.js +0 -1
- package/dist/web/assets/eventmodeling-45OFAUF4-C3c4qddw.js +0 -1
- package/dist/web/assets/flowDiagram-UKHOOZJN-DMA-a1zf.js +0 -1
- package/dist/web/assets/index-D8GJBw23.js +0 -384
- package/dist/web/assets/index-DMD2vvQW.css +0 -1
- package/dist/web/assets/railroad-abnf-AHOZXSZD-BN-ZBhE0.js +0 -1
- package/dist/web/assets/railroad-ebnf-EBAXGLYW-CG97zyI2.js +0 -1
- package/dist/web/assets/railroad-peg-LSFZ7HO6-DHLQ1evQ.js +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-LaSNqvWy.js +0 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-C5OBtBlv.js +0 -8
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{J as t,W as n,Y as r}from"./index-D2MzuS4L.js";var i=e(r(),1),a=n(),o=t(),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
|
+
`);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
|
+
`))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
|
+
`})}return a}function d(e,t,n){if(!e||t===void 0)return;let r=Math.max(1,n.split(`
|
|
5
|
+
`).length);return{start:{line:t},end:{line:Math.min(t+r-1,e.end.line)}}}function f(e,t){let n=e.position;if(!n)return;let r=t.split(`
|
|
6
|
+
`),i=Math.max(1,t.endsWith(`
|
|
7
|
+
`)?r.length-1:r.length),a=n.end.line-n.start.line+1>=i+2,o=n.start.line+ +!!a;return{start:{line:o},end:{line:o+i-1}}}function p(e){if(e.type===`element`&&e.position&&(e.properties={...e.properties,...l(e.position)}),!e.children)return;let t=e.type===`element`&&e.tagName===`code`,n=[],r=e.position?.start.line;for(let i of e.children){if(i.type===`text`){let a=t?f(e,i.value??``):d(e.position,r,i.value??``);if(i.position||a){let e=i.position??a;n.push(...u(i,e)),r=e?.end.line??r;continue}}p(i),r=i.position?.end.line??r,n.push(i)}e.children=n}function m(e,t){return!!(e&&e.start.line<=t.endLine&&e.end.line>=t.startLine)}function h(e,t,n,r,i){e.type===`element`&&e.properties?.dataRvwSourceLeaf===`true`&&((n&&t.some(t=>t.id===n&&t.range&&m(e.position,t.range))||i&&m(e.position,i))&&c(e,`rvw-markdown-commented`),r&&m(e.position,r)&&c(e,`rvw-markdown-selected`)),e.children?.forEach(e=>h(e,t,n,r,i))}function g(e,t){let n=null,r=null,i=[{node:e,depth:0}];for(;i.length>0;){let e=i.pop();if(!e)continue;let{node:a,depth:o}=e;if(a.type===`element`&&a.tagName&&s.has(a.tagName)&&a.position&&a.position.start.line<=t&&a.position.end.line>=t){let e=a.position.end.line-a.position.start.line;(!n||o>n.depth||o===n.depth&&e<n.span)&&(n={node:a,depth:o,span:e}),(a.tagName===`ul`||a.tagName===`ol`)&&(!r||o>r.depth)&&(r={node:a,depth:o})}a.children?.forEach(e=>i.push({node:e,depth:o+1}))}return r?.node??n?.node??null}function _(e,t){let n=new Map,r=[];for(let i of t){if(!i.range){r.push(i.id);continue}let t=g(e,i.range.endLine);if(!t){r.push(i.id);continue}let a=n.get(t)??[];a.push(i.id),n.set(t,a)}let i=e=>{if(!e.children)return;let t=[];for(let r of e.children){i(r),t.push(r);let e=n.get(r);e&&t.push({type:`element`,tagName:`div`,properties:{dataRvwCommentAnchor:e.join(`,`)},children:[]})}e.children=t};i(e),r.length>0&&(e.children??=[],e.children.unshift({type:`element`,tagName:`div`,properties:{dataRvwCommentAnchor:r.join(`,`)},children:[]}))}function v(e,t){if(!t)return;let n=t.endLine,r=e=>{if(!e.children)return!1;for(let t=0;t<e.children.length;t+=1){let i=e.children[t];if(!(i.position&&i.position.start.line<=n&&i.position.end.line>=n)){if(r(i))return!0;continue}if(i.tagName!==`ul`&&i.tagName!==`ol`&&i.tagName!==`table`&&r(i))return!0;if(i.type===`element`&&i.tagName&&s.has(i.tagName))return e.children.splice(t+1,0,{type:`element`,tagName:`div`,properties:{className:[`markdown-selection-composer-slot`],dataRvwComposerAnchor:`true`},children:[]}),!0}return!1};r(e)||(e.children??=[],e.children.push({type:`element`,tagName:`div`,properties:{className:[`markdown-selection-composer-slot`],dataRvwComposerAnchor:`true`},children:[]}))}function y(e={}){return t=>{let n=e.annotations??[];p(t),h(t,n,e.activeCommentId??null,e.composerOpen?e.selectedRange??null:null,e.navigationRange??null),_(t,n),v(t,e.composerOpen?e.selectedRange??null:null)}}function b(e,t,n,r){let i=t;if(t instanceof Element&&t.childNodes.length>0){let e=r===`start`?Math.min(n,t.childNodes.length-1):Math.max(0,n-1);i=t.childNodes[e]??t}let a=i instanceof Element?i:i?.parentElement;if(!a)return null;let o=a.closest(`[data-rvw-source-leaf='true']`);if(o&&e.contains(o))return o;let s=a.querySelectorAll(`[data-rvw-source-leaf='true']`);if(s.length>0)return r===`start`?s[0]??null:s[s.length-1]??null;let c=a.closest(`[data-rvw-source-start-line]`);if(c&&e.contains(c))return c;let l=a.querySelectorAll(`[data-rvw-source-start-line]`);return r===`start`?l[0]??null:l[l.length-1]??null}function x(e,t){let n=(t instanceof Element?t:t.parentElement)?.closest(`.comment-thread`);return!!(n&&e.contains(n))}function S(e,t){if(!t||t.rangeCount===0||t.isCollapsed||!t.toString().trim())return null;let n=t.getRangeAt(0);if(!e.contains(n.startContainer)||!e.contains(n.endContainer)||x(e,n.startContainer)||x(e,n.endContainer))return null;let r=b(e,n.startContainer,n.startOffset,`start`),i=b(e,n.endContainer,n.endOffset,`end`),a=Number(r?.dataset.rvwSourceStartLine),o=Number(i?.dataset.rvwSourceEndLine);return!Number.isInteger(a)||!Number.isInteger(o)||a<1||o<1?null:{startLine:Math.min(a,o),endLine:Math.max(a,o)}}function C(e,t,n,r){let i=document.caretPositionFromPoint?.(n,r),a=document.caretRangeFromPoint?.(n,r),o=[i?.offsetNode??a?.startContainer??null,t],s=null;for(let t of o){let n=t instanceof Element?t:t instanceof Node?t.parentElement:null;if(!(!n||!e.contains(n))&&(s=n.closest(`[data-rvw-source-leaf='true']`)??n.closest(`[data-rvw-source-start-line]`),s&&e.contains(s)))break}if(!s)return null;let c=Number(s.dataset.rvwSourceStartLine),l=Number(s.dataset.rvwSourceEndLine);return!Number.isInteger(c)||!Number.isInteger(l)||c<1||l<1?null:{startLine:Math.min(c,l),endLine:Math.max(c,l)}}function w(e,t,n){return t&&n?{startLine:Math.min(t.startLine,n.startLine),endLine:Math.max(t.endLine,n.endLine)}:e}function T(e){let t=e?.properties?.dataRvwCommentAnchor;return typeof t==`string`?t.split(`,`).filter(Boolean):[]}function E(e){let t=e?.position;return!t||t.start.line<1||t.end.line<t.start.line?null:{startLine:t.start.line,endLine:t.end.line}}function D(e){let t=E(e);return t?{"data-rvw-source-start-line":t.startLine,"data-rvw-source-end-line":t.endLine}:{}}function O(e){return e.startLine===e.endLine?`L${e.startLine}`:`L${e.startLine}–${e.endLine}`}function k({children:e,className:t,selectedRange:n,composerOpen:r,onSelection:s,onOpenComposer:c,composer:l}){let u=(0,i.useRef)(null),d=(0,i.useRef)(null),f=(0,i.useRef)(null),p=(0,i.useRef)(!1),m=(0,i.useRef)(null),h=(0,i.useRef)(s);h.current=s;let[g,_]=(0,i.useState)(null),[v,y]=(0,i.useState)(null),[b,x]=(0,i.useState)(null),[T,E]=(0,i.useState)(null);(0,i.useEffect)(()=>{if(r)return;let e=()=>{if(p.current)return;let e=u.current;e&&S(e,window.getSelection())||(_(null),y(null),x(null))};return document.addEventListener(`selectionchange`,e),()=>document.removeEventListener(`selectionchange`,e)},[r]),(0,i.useEffect)(()=>{if(r||n)return;let e=u.current;e&&S(e,window.getSelection())||(_(null),y(null),x(null))},[r,n]),(0,i.useEffect)(()=>()=>{m.current!==null&&window.clearTimeout(m.current)},[]),(0,i.useLayoutEffect)(()=>{let e=u.current,t=d.current;if(!v||!e||!t)return;let n=()=>{let n=Math.max(0,e.clientWidth-24),r=Math.min(t.offsetWidth,n),i=12+r/2,a=e.clientWidth-12-r/2,o=Math.max(i,Math.min(v.left,a));x(e=>e!==null&&Math.abs(e-o)<.5?e:o)};n();let i=null;r&&(i=window.requestAnimationFrame(()=>{t.scrollIntoView({block:`nearest`,inline:`nearest`})}));let a=new ResizeObserver(n);return a.observe(e),a.observe(t),()=>{a.disconnect(),i!==null&&window.cancelAnimationFrame(i)}},[v,r]),(0,i.useLayoutEffect)(()=>{if(!r){E(null);return}let e=u.current?.querySelector(`[data-rvw-composer-anchor='true']`);if(!e)return;E(e);let t=window.requestAnimationFrame(()=>{e.scrollIntoView({block:`nearest`,inline:`nearest`})});return()=>{window.cancelAnimationFrame(t)}},[r,n?.endLine,n?.startLine]);let D=(e=null,t=null)=>{let n=u.current;if(!n)return;let r=window.getSelection(),i=S(n,r);if(!i||!r){_(null),y(null),x(null);return}let a=w(i,e,t),o=r.getRangeAt(0).getBoundingClientRect(),s=n.getBoundingClientRect();x(null),y({left:o.left+o.width/2-s.left,top:Math.max(8,o.bottom-s.top+8)}),_(a)},k=r?n:g;return(0,o.jsxs)(`div`,{className:[`markdown-comment-surface`,t].filter(Boolean).join(` `),ref:u,onPointerDown:e=>{if(m.current!==null&&(window.clearTimeout(m.current),m.current=null),e.button!==0){p.current=!1,f.current=null;return}p.current=!0,f.current=C(e.currentTarget,e.target,e.clientX,e.clientY)},onPointerUp:e=>{if(e.target.closest(`.markdown-selection-popover, button, input, textarea, select`)){p.current=!1,f.current=null;return}let t=f.current,n=C(e.currentTarget,e.target,e.clientX,e.clientY);f.current=null,p.current=!1;let r=u.current;if(r&&S(r,window.getSelection())){D(t,n);return}m.current=window.setTimeout(()=>{m.current=null,D()},250)},onPointerCancel:()=>{p.current=!1,f.current=null},onKeyUp:e=>{e.target.closest(`.markdown-selection-popover, button, input, textarea, select`)||window.requestAnimationFrame(()=>D())},children:[e,k&&v&&!T&&(0,o.jsx)(`div`,{ref:d,className:`markdown-selection-popover${r?` is-composing`:``}`,style:{left:b??v.left,top:v.top},onPointerDown:e=>e.stopPropagation(),children:r?l:(0,o.jsxs)(`button`,{className:`markdown-selection-comment-action`,onPointerDown:e=>e.preventDefault(),onClick:()=>{h.current(k),c()},children:[O(k),`へコメント`]})}),T&&(0,a.createPortal)(l,T)]})}var A=({children:e,node:t,...n})=>(0,o.jsx)(`div`,{className:`markdown-table-scroll`,children:(0,o.jsx)(`table`,{...D(t),...n,children:e})});export{D as a,E as i,k as n,y as o,T as r,A as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{B as t,G as n,J as r,K as i,N as a,R as o,T as s,U as c,V as l,Y as u,_ as d,b as f,c as p,l as m,n as h,o as g,q as _,r as v,s as y,t as b,w as x,x as S,z as C}from"./index-D2MzuS4L.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./MarkdownTable-bGEPkcFA.js";var A=e(u(),1),j=r(),M=2400;function N(e){return A.Children.toArray(e).map(e=>typeof e==`string`||typeof e==`number`?String(e):(0,A.isValidElement)(e)?N(e.props.children):``).join(``)}function P(e,t){return!!(e&&t&&e.startLine===t.startLine&&e.endLine===t.endLine)}function F(){return(0,j.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,width:`16`,height:`16`,children:(0,j.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 I({source:e,sourceRange:t,commented:n,bindings:r,references:i,themePreference:a,onOpenReference:s,onCommentRange:c,commentComposer:l}){let u=(0,A.useRef)(null),d=!!l;(0,A.useLayoutEffect)(()=>{if(!d)return;let e=window.requestAnimationFrame(()=>{u.current?.scrollIntoView({block:`nearest`,inline:`nearest`})});return()=>window.cancelAnimationFrame(e)},[d]);let f=(0,A.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,A.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,j.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,j.jsxs)(`div`,{className:`walkthrough-diagram-toolbar`,children:[(0,j.jsx)(`span`,{children:`Mermaid diagram`}),(0,j.jsx)(`span`,{children:`nodeを選択して開く · Cmd/Ctrlで反対のペイン`}),t&&(0,j.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,j.jsx)(o,{}),`図全体へコメント`]})]}),(0,j.jsx)(v,{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,j.jsx)(`div`,{className:`walkthrough-diagram-comment-composer`,ref:u,children:l})]})}var L=(0,A.createContext)(null);function R({range:e,pending:t,error:n,onCancel:r,onSubmit:i}){let[a,o]=(0,A.useState)(``),s=e.startLine===e.endLine?`L${e.startLine}へコメント`:`L${e.startLine}–${e.endLine}へコメント`;return(0,j.jsx)(C,{body:a,label:s,pending:t,error:n,validationError:void 0,placement:`line`,onBodyChange:o,onCancel:r,onSubmit:()=>i(a)})}var z=({children:e,node:t,...n})=>{let r=(0,A.useContext)(L),i=A.Children.count(e)===1?A.Children.only(e):null;if(!r||!(0,A.isValidElement)(i)||i.props.className!==`language-mermaid`)return(0,j.jsx)(`pre`,{...n,children:e});let a=T(t);return(0,j.jsx)(I,{source:N(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&&P(a,r.diagramCommentRange)?(0,j.jsx)(R,{range:a,pending:r.diagramCommentPending,error:r.diagramCommentError,onCancel:r.onCancelDiagramComment,onSubmit:e=>r.onSubmitDiagramComment(a,e)},`${a.startLine}:${a.endLine}`):null})},B=(0,A.memo)(function({body:e,diagramBindings:t,references:n,placedComments:r,activeCommentId:i,selectedRange:a,selectionComposerOpen:o,diagramCommentRange:c,markdownSourceOid:l,draftScope:u,themePreference:_,onOpenReference:v,onOpenCommentCodeReference:b,onOpenRepositoryLink:C,onCommentActiveChange:T,onCommentRange:E,diagramCommentPending:M,diagramCommentError:N,onCancelDiagramComment:P,onSubmitDiagramComment:F}){let I=(0,A.useMemo)(()=>r.map(({comment:e,placement:t})=>({id:e.id,range:t.range})),[r]),R=(0,A.useMemo)(()=>new Map(r.map(({comment:e,placement:t})=>[e.id,{comment:e,placement:t}])),[r]),B=(0,A.useCallback)(({node:e,children:t,...n})=>{let r=O(e);return r.length===0?(0,j.jsx)(`div`,{...n,children:t}):(0,j.jsx)(`div`,{className:`markdown-inline-comments`,children:r.map(e=>{let t=R.get(e);return t?(0,j.jsx)(h,{comment:t.comment,variant:`inline`,draftScope:u,placement:t.placement,markdownSourceOid:l,themePreference:_,onActiveChange:T,onOpenCodeReference:b,onOpenRepositoryLink:C},e):null})})},[R,u,l,T,b,C,_]);return(0,j.jsx)(L.Provider,{value:{diagramBindings:t,references:n,placedComments:r,activeCommentId:i,diagramCommentRange:c,themePreference:_,onOpenReference:v,onCommentRange:E,diagramCommentPending:M,diagramCommentError:N,onCancelDiagramComment:P,onSubmitDiagramComment:F},children:(0,j.jsx)(`article`,{className:`walkthrough-markdown`,children:(0,j.jsx)(x,{rehypePlugins:[S,[f,m],[D,{annotations:I,activeCommentId:i,selectedRange:a,composerOpen:o}]],remarkPlugins:[d],urlTransform:e=>e.startsWith(`rvw-ref:`)?e:s(e),components:{div:B,table:k,a:({href:e,children:t,node:r,...i})=>{let a=p(e),o=a?n.get(a):void 0;return o?(0,j.jsx)(y,{reference:o,className:`walkthrough-inline-reference`,onOpen:v,children:t}):(0,j.jsx)(`a`,{...w(r),...i,href:e,children:t})},img:({alt:e,title:t,node:n})=>(0,j.jsx)(g,{alt:e,title:t,sourceAttributes:w(n)}),pre:z},children:e})})})});function V({walkthrough:e,paneId:r,comments:s,activeCommentId:u,navigationTarget:d,onNavigationApplied:f,themePreference:p,onCommentActiveChange:m,onOpenReference:g,onOpenCommentCodeReference:v,onOpenRepositoryLink:y,onDeleted:x}){let S=_(),w=a(r,{kind:`walkthrough`,id:e.id,title:e.title,sourceOid:e.sourceOid}),T=(0,A.useRef)(null),D=(0,A.useRef)(null),O=(0,A.useRef)(f);O.current=f;let[k,N]=(0,A.useState)(!1),[P,I]=(0,A.useState)(null),[L,R]=(0,A.useState)(null),[z,V]=(0,A.useState)(null),[H,U]=(0,A.useState)(``),[W,G]=(0,A.useState)(null),K=(0,A.useRef)(0),q=(0,A.useRef)(null),ee=(0,A.useMemo)(()=>new Map(e.references.map(e=>[e.id,e])),[e.references]);(0,A.useLayoutEffect)(()=>{if(!d||D.current===d.requestId)return;let e=d.requestId,t=window.requestAnimationFrame(()=>{let t=T.current;if(!t)return;if(d.line===null){t.scrollIntoView({behavior:`auto`,block:`start`,inline:`nearest`}),D.current=e,O.current(e);return}let n=String(d.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`}),D.current=e,O.current(e))});return()=>window.cancelAnimationFrame(t)},[d]);let te=(0,A.useCallback)((t,n)=>{K.current+=1;let r=K.current;q.current!==null&&(window.clearTimeout(q.current),q.current=null),G(null),g(e,t,n).then(e=>{r!==K.current||!e||(G(e),q.current=window.setTimeout(()=>{G(null),q.current=null},M))})},[g,e]);(0,A.useEffect)(()=>()=>{K.current+=1,q.current!==null&&window.clearTimeout(q.current)},[]);let J=s.filter(t=>t.target.kind===`walkthrough`&&t.target.walkthroughId===e.id),ne=J.reduce((e,t)=>e+t.posts.length,0),Y=i({queryKey:[`walkthrough-comment-placements`,e.id,e.body,J.map(e=>`${e.id}:${e.updatedAt}`)],queryFn:async()=>{let t=new URLSearchParams({kind:`walkthrough`,pullRequestId:e.pullRequestId,walkthroughId:e.id});return await Promise.all(J.map(async e=>({comment:e,placement:(await l(`/api/comments/${e.id}/placement?${t.toString()}`)).placement})))},enabled:J.length>0}),X=(0,A.useMemo)(()=>Y.data??[],[Y.data]),re=(0,A.useMemo)(()=>X.filter(({placement:e})=>!e.outdated&&e.range!==null),[X]),Z=(0,A.useMemo)(()=>X.filter(({comment:e,placement:t})=>e.target.kind===`walkthrough`&&e.target.startLine===null||t.outdated),[X]),Q=n({mutationFn:async({range:t,body:n})=>await l(`/api/comments`,c({pullRequestId:e.pullRequestId,target:{kind:`walkthrough`,walkthroughId:e.id,startLine:t?.startLine??null,endLine:t?.endLine??null},body:n,authorLabel:`You`})),onSuccess:async()=>{window.getSelection()?.removeAllRanges(),U(``),N(!1),I(null),R(null),V(null),await S.invalidateQueries({queryKey:[`comments`]}),await S.invalidateQueries({queryKey:[`change-sequence`]})}}),$=n({mutationFn:async()=>await l(`/api/pull-requests/${e.pullRequestId}/walkthroughs/${e.id}`,{...c({}),method:`DELETE`}),onSuccess:async()=>{x(e),await Promise.all([S.invalidateQueries({queryKey:[`walkthroughs`]}),S.invalidateQueries({queryKey:[`walkthrough`]}),S.invalidateQueries({queryKey:[`comments`]}),S.invalidateQueries({queryKey:[`change-sequence`]})])}}),ie=J.filter(e=>e.resolvedAt===null).length,ae=()=>{let e=J.length===0?`紐づくコメントはありません。`:`紐づくコメント ${J.length}件と投稿 ${ne}件も削除されます。`;window.confirm(`このウォークスルーを削除します。\n${e}\nコピー済みの参照は無効になります。\n\nこの操作は元に戻せません。`)&&$.mutate()},oe=P?P.startLine===P.endLine?`L${P.startLine}`:`L${P.startLine}–${P.endLine}`:null,se=()=>{window.getSelection()?.removeAllRanges(),Q.reset(),U(``),I(null),R(null),V(null)},ce=e=>{Q.reset(),U(``),N(!1),I(null),R(e),V(`diagram`)},le=P?(0,j.jsx)(C,{body:H,label:`${oe??`選択範囲`}へコメント`,pending:Q.isPending,error:Q.error,validationError:void 0,placement:`line`,onBodyChange:U,onCancel:se,onSubmit:()=>Q.mutate({range:P,body:H})}):null,ue=(0,j.jsx)(B,{body:e.body,diagramBindings:e.diagramBindings,references:ee,placedComments:re,activeCommentId:u,selectedRange:z===`selection`?P:null,selectionComposerOpen:z===`selection`,diagramCommentRange:L,markdownSourceOid:e.sourceOid,draftScope:w,themePreference:p,onOpenReference:te,onOpenCommentCodeReference:v,onOpenRepositoryLink:y,onCommentActiveChange:m,onCommentRange:ce,diagramCommentPending:Q.isPending,diagramCommentError:Q.error,onCancelDiagramComment:se,onSubmitDiagramComment:(e,t)=>Q.mutate({range:e,body:t})});return(0,j.jsxs)(`div`,{className:`walkthrough-viewer`,ref:T,children:[(0,j.jsxs)(`header`,{className:`walkthrough-viewer-header`,children:[(0,j.jsxs)(`div`,{className:`walkthrough-viewer-title`,children:[(0,j.jsx)(`span`,{className:`walkthrough-viewer-icon`,children:(0,j.jsx)(b,{})}),(0,j.jsxs)(`div`,{className:`walkthrough-viewer-heading-copy`,children:[(0,j.jsx)(`span`,{className:`walkthrough-kicker`,children:`Agent-provided walkthrough`}),(0,j.jsx)(`h2`,{title:e.title,children:e.title})]})]}),(0,j.jsxs)(`div`,{className:`walkthrough-viewer-actions`,children:[(0,j.jsxs)(`button`,{className:`comment-icon-button walkthrough-comment-button`,"aria-label":`ウォークスルー全体へコメント`,title:`ウォークスルー全体へコメント`,"aria-pressed":k,onClick:()=>{Q.reset(),U(``),I(null),R(null),V(null),N(e=>!e)},children:[(0,j.jsx)(o,{}),ie>0&&(0,j.jsx)(`span`,{children:ie})]}),(0,j.jsx)(`button`,{className:`comment-icon-button walkthrough-delete-button`,"aria-label":`ウォークスルーを削除`,title:`ウォークスルーを削除`,disabled:$.isPending,onClick:ae,children:(0,j.jsx)(F,{})})]}),W&&(0,j.jsx)(`div`,{className:`code-reference-notice walkthrough-reference-notice`,role:`status`,"aria-live":`polite`,children:W})]}),(0,j.jsx)(t,{error:$.error}),(0,j.jsx)(t,{error:Y.error}),(k||Z.length>0)&&(0,j.jsxs)(`div`,{className:`walkthrough-comment-area`,children:[k&&(0,j.jsx)(C,{body:H,label:`ウォークスルー全体へコメント`,pending:Q.isPending,error:Q.error,validationError:void 0,placement:`file`,onBodyChange:U,onCancel:()=>{Q.reset(),U(``),N(!1)},onSubmit:()=>Q.mutate({range:null,body:H})}),Z.map(({comment:t,placement:n})=>(0,j.jsx)(h,{comment:t,variant:`inline`,draftScope:w,placement:n,markdownSourceOid:e.sourceOid,themePreference:p,onActiveChange:m,onOpenCodeReference:v,onOpenRepositoryLink:y},t.id))]}),(0,j.jsx)(E,{className:`walkthrough-markdown-surface`,selectedRange:P,composerOpen:z===`selection`,onSelection:e=>{if(!e){I(null),V(e=>e===`selection`?null:e);return}Q.reset(),U(``),N(!1),I(e),R(null),V(null)},onOpenComposer:()=>V(`selection`),composer:le,children:(0,j.jsx)(`div`,{"data-pane-find-surface":!0,"data-pane-find-text":!0,children:ue})})]})}export{V as WalkthroughViewer};
|
package/dist/web/assets/{abnfDiagram-N423BO3Z-CE1nZSC9.js → abnfDiagram-N423BO3Z-gOmziSzZ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e,t}from"./mermaid-parser.core-
|
|
1
|
+
import{m as e,t}from"./mermaid-parser.core-CsoLrwW_.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-I66GZJ75-BywUmQY9.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-B64WcpmV.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-DLvBOZ4b.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-CsoLrwW_.js";export{e as createArchitectureServices};
|