@a9n-shoji/rvw 0.2.0 → 0.2.2

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 (105) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +28 -7
  3. package/dist/cli.mjs +492 -307
  4. package/dist/cli.mjs.map +3 -3
  5. package/dist/web/assets/{DocumentViewer-CNgHpCuL.js → DocumentViewer-ADzspLC4.js} +32 -32
  6. package/dist/web/assets/{markdown-source-map-_dS1q5Dg.js → MarkdownTable-DVJ0_MIC.js} +2 -2
  7. package/dist/web/assets/WalkthroughViewer-yQibj2tK.js +1 -0
  8. package/dist/web/assets/{abnfDiagram-N423BO3Z-0v-ndtqQ.js → abnfDiagram-N423BO3Z-6dQzEuPV.js} +1 -1
  9. package/dist/web/assets/architecture-TIHT7OUA-DEoBuEnc.js +1 -0
  10. package/dist/web/assets/{architectureDiagram-T3A2C74G-WSNJ-tZE.js → architectureDiagram-T3A2C74G-DP7hHV7T.js} +1 -1
  11. package/dist/web/assets/{blockDiagram-VBNYF7ZC-lmMbEUwI.js → blockDiagram-VBNYF7ZC-ZbwzVKWP.js} +1 -1
  12. package/dist/web/assets/{c4Diagram-5PPSVZJV-BrN5YVV8.js → c4Diagram-5PPSVZJV-HVD9_uV4.js} +1 -1
  13. package/dist/web/assets/channel-DjgdV-zW.js +1 -0
  14. package/dist/web/assets/{chunk-2GRJ4B5K-gt2JPyrH.js → chunk-2GRJ4B5K-Bkxs2d4J.js} +1 -1
  15. package/dist/web/assets/{chunk-4I5QYGJK-Cg5GZ_-7.js → chunk-4I5QYGJK-BJHE6zC_.js} +1 -1
  16. package/dist/web/assets/{chunk-5RXB4S5H-BdhRGvxW.js → chunk-5RXB4S5H-B-52dfCQ.js} +1 -1
  17. package/dist/web/assets/{chunk-6Q2QTUOP-B1DYWNVJ.js → chunk-6Q2QTUOP-BpD0vQ66.js} +1 -1
  18. package/dist/web/assets/{chunk-7Z6QIM7H-D2YImamZ.js → chunk-7Z6QIM7H-BTI1qgAO.js} +1 -1
  19. package/dist/web/assets/{chunk-GF5L2VYU-CWtwL_CM.js → chunk-GF5L2VYU-B8BxoCCx.js} +1 -1
  20. package/dist/web/assets/{chunk-I66GZJ75-DdoGlxMt.js → chunk-I66GZJ75-zwi-Xf01.js} +1 -1
  21. package/dist/web/assets/{chunk-JQJVKLGR-CVWAp3XP.js → chunk-JQJVKLGR-D9mKBWUz.js} +1 -1
  22. package/dist/web/assets/{chunk-KBJHAD2P-BBacwg3J.js → chunk-KBJHAD2P-Qmtir3qc.js} +1 -1
  23. package/dist/web/assets/{chunk-NSK5VX7P-1AsXiBV3.js → chunk-NSK5VX7P-SP2vZdAo.js} +1 -1
  24. package/dist/web/assets/{chunk-QR6OTTB3-DL2s5pNp.js → chunk-QR6OTTB3-uVDCHurs.js} +1 -1
  25. package/dist/web/assets/{chunk-UBXNYLIW-mu3fkNQI.js → chunk-UBXNYLIW-CtNzBWOU.js} +1 -1
  26. package/dist/web/assets/{chunk-W5SLKNZC-BAwhMBBb.js → chunk-W5SLKNZC-BPfDqbmK.js} +1 -1
  27. package/dist/web/assets/{chunk-WRU74C26-C7IeXZaP.js → chunk-WRU74C26-BZkEOexq.js} +1 -1
  28. package/dist/web/assets/classDiagram-JCYQIIEL-B6Qjam7Y.js +1 -0
  29. package/dist/web/assets/classDiagram-v2-OCEON4UE-B6Qjam7Y.js +1 -0
  30. package/dist/web/assets/{cynefin-VYW2F7L2-DNisGvNv.js → cynefin-VYW2F7L2-BRisCyqC.js} +1 -1
  31. package/dist/web/assets/{cynefinDiagram-MW4NZA55-BA27gOTz.js → cynefinDiagram-MW4NZA55-ClIrmCkB.js} +1 -1
  32. package/dist/web/assets/{dagre-VZM6K2ZE-vo_1YAuM.js → dagre-VZM6K2ZE-X31uC_JB.js} +1 -1
  33. package/dist/web/assets/{diagram-7IWD3JNH-DLLdUj0_.js → diagram-7IWD3JNH-DBQFjl0i.js} +1 -1
  34. package/dist/web/assets/{diagram-B4RE2ZJO-BV0WyNA-.js → diagram-B4RE2ZJO-BZ7934Wg.js} +1 -1
  35. package/dist/web/assets/{diagram-LBJQPF4R-DXxKSx2U.js → diagram-LBJQPF4R-CcJqH9aY.js} +1 -1
  36. package/dist/web/assets/{diagram-Q27KOJAE-DsQ2GzIK.js → diagram-Q27KOJAE-DzM7eiil.js} +1 -1
  37. package/dist/web/assets/{diagram-UB23O5K3-DfjElFP1.js → diagram-UB23O5K3-CVCV-d3m.js} +1 -1
  38. package/dist/web/assets/{ebnfDiagram-BXEA7PRR-cYu0XV1a.js → ebnfDiagram-BXEA7PRR-D8xb9FBp.js} +1 -1
  39. package/dist/web/assets/{erDiagram-JOGREHBK-DnsLBHaV.js → erDiagram-JOGREHBK-1l-G_PMG.js} +1 -1
  40. package/dist/web/assets/eventmodeling-45OFAUF4-ndNeUBOZ.js +1 -0
  41. package/dist/web/assets/flowDiagram-UKHOOZJN-BVxK_6Tu.js +1 -0
  42. package/dist/web/assets/{ganttDiagram-PKOTCBZU-CVD5gq3E.js → ganttDiagram-PKOTCBZU-CDJ9a1tp.js} +1 -1
  43. package/dist/web/assets/{gitGraph-TEB2WS4Q-C_j0n-Kw.js → gitGraph-TEB2WS4Q-DOeTh5wB.js} +1 -1
  44. package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-qACevJmW.js → gitGraphDiagram-DS77QQ5N-DYLxc8Nz.js} +1 -1
  45. package/dist/web/assets/index-9cOaPesh.js +384 -0
  46. package/dist/web/assets/index-kK3hngnz.css +1 -0
  47. package/dist/web/assets/{info-DKCQHKI2-Cmkbz3Yi.js → info-DKCQHKI2-B5u97QuQ.js} +1 -1
  48. package/dist/web/assets/{infoDiagram-6WML65LV-CDrAem7M.js → infoDiagram-6WML65LV-zosKW2OD.js} +1 -1
  49. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-DXgCnFqW.js → ishikawaDiagram-WSZJBQD7-VYcc_au8.js} +1 -1
  50. package/dist/web/assets/{journeyDiagram-NVQOT4AX-1KW-I7DV.js → journeyDiagram-NVQOT4AX-C_nU8kP4.js} +1 -1
  51. package/dist/web/assets/{kanban-definition-27J2QSJJ-CCt75OuF.js → kanban-definition-27J2QSJJ-DybKaWfx.js} +1 -1
  52. package/dist/web/assets/{line-DQfkDi_r.js → line-DWsGplGj.js} +1 -1
  53. package/dist/web/assets/{mermaid-parser.core-B7TMMtY0.js → mermaid-parser.core-D_T_3oIQ.js} +3 -3
  54. package/dist/web/assets/{mermaid.core-B93x-7Mk.js → mermaid.core-BoLGzxB5.js} +4 -4
  55. package/dist/web/assets/{mindmap-definition-FAOFIHXS-Dyt28V6S.js → mindmap-definition-FAOFIHXS-CsdpqPIa.js} +1 -1
  56. package/dist/web/assets/{packet-7NZHBO7P-zQ0u35s3.js → packet-7NZHBO7P-CReAEF1h.js} +1 -1
  57. package/dist/web/assets/{pegDiagram-VL7TDLO6-et0KHGIE.js → pegDiagram-VL7TDLO6-CE9-NPMu.js} +1 -1
  58. package/dist/web/assets/{pie-RZYD4A2V-uur86LkQ.js → pie-RZYD4A2V-GYixXUka.js} +1 -1
  59. package/dist/web/assets/{pieDiagram-7S7Q4E2Y-c027WPTB.js → pieDiagram-7S7Q4E2Y-CqaAKNg2.js} +1 -1
  60. package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-BtSV4E-0.js → quadrantDiagram-CIZ2JOQS-eRMHJqfj.js} +1 -1
  61. package/dist/web/assets/{radar-I7S5WNFK-B_g0VZMF.js → radar-I7S5WNFK-BwHxP0iK.js} +1 -1
  62. package/dist/web/assets/{railroad-3IZDKUUU-VFLsM_Em.js → railroad-3IZDKUUU-AHc3O4Oz.js} +1 -1
  63. package/dist/web/assets/railroad-abnf-AHOZXSZD-ZKY5olmV.js +1 -0
  64. package/dist/web/assets/railroad-ebnf-EBAXGLYW-CrG1UCMo.js +1 -0
  65. package/dist/web/assets/railroad-peg-LSFZ7HO6-CoY6MIbj.js +1 -0
  66. package/dist/web/assets/{railroadDiagram-AXF67PYL-uOtnxRbQ.js → railroadDiagram-AXF67PYL-BhAxCokG.js} +1 -1
  67. package/dist/web/assets/{requirementDiagram-LRYGKXZP-DGSZAsj4.js → requirementDiagram-LRYGKXZP-BRW-kYhg.js} +1 -1
  68. package/dist/web/assets/{sankeyDiagram-W5VNT64P-CCDk8Vxt.js → sankeyDiagram-W5VNT64P-DfnYLbDJ.js} +1 -1
  69. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-Ce-Jzdk5.js → sequenceDiagram-SI44F4Z6-WEkIPSg8.js} +1 -1
  70. package/dist/web/assets/{stateDiagram-OKZ733FA-BYpYzyEa.js → stateDiagram-OKZ733FA-CdN7veIN.js} +1 -1
  71. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-0xn0gbpn.js +1 -0
  72. package/dist/web/assets/{swimlanes-SLNWSIFB-BL-CUc6d.js → swimlanes-SLNWSIFB-g9wWLf5Y.js} +1 -1
  73. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-YJ3yh_d3.js +8 -0
  74. package/dist/web/assets/{timeline-definition-Z64GVDOM-p9pkof_K.js → timeline-definition-Z64GVDOM-DjkKZIPE.js} +1 -1
  75. package/dist/web/assets/{treeView-QDETBFTQ-dRhXTU9p.js → treeView-QDETBFTQ-WARa9r09.js} +1 -1
  76. package/dist/web/assets/{treemap-6X3UGDF4-CZHe3dIh.js → treemap-6X3UGDF4-CTFjdb6k.js} +1 -1
  77. package/dist/web/assets/{vennDiagram-T6HMQDX7-ipODJegx.js → vennDiagram-T6HMQDX7-CI9QrBwu.js} +1 -1
  78. package/dist/web/assets/{wardley-OPB4EBWU-CxHlVjkF.js → wardley-OPB4EBWU-Cfo_Nnla.js} +1 -1
  79. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-YarkIncH.js → wardleyDiagram-T6FBY63Y-CzGJ4fzZ.js} +1 -1
  80. package/dist/web/assets/{xychartDiagram-ELKLHX3M-Cw1M-7a4.js → xychartDiagram-ELKLHX3M-BXCiD7gJ.js} +1 -1
  81. package/dist/web/index.html +2 -2
  82. package/migrations/010_comment_post_references.sql +17 -0
  83. package/package.json +2 -1
  84. package/skills/rvw/SKILL.md +79 -6
  85. package/skills/rvw-walkthrough/SKILL.md +1 -1
  86. package/skills/rvw-watch-comments/SKILL.md +217 -67
  87. package/skills/rvw-watch-comments/scripts/auto-ack.mjs +211 -0
  88. package/skills/rvw-watch-comments/scripts/preflight.mjs +108 -0
  89. package/skills/rvw-watch-comments/scripts/rvw-command.mjs +80 -0
  90. package/skills/rvw-watch-comments/scripts/watch-driver.mjs +272 -0
  91. package/skills/rvw-watch-comments/scripts/watch-state.mjs +223 -70
  92. package/dist/web/assets/WalkthroughViewer-BVB3ETHG.js +0 -1
  93. package/dist/web/assets/architecture-TIHT7OUA-BjGWtjPU.js +0 -1
  94. package/dist/web/assets/channel-DkH22XO0.js +0 -1
  95. package/dist/web/assets/classDiagram-JCYQIIEL-C6Z4rmZR.js +0 -1
  96. package/dist/web/assets/classDiagram-v2-OCEON4UE-C6Z4rmZR.js +0 -1
  97. package/dist/web/assets/eventmodeling-45OFAUF4-BUAcQ5NU.js +0 -1
  98. package/dist/web/assets/flowDiagram-UKHOOZJN-hAe9ojjP.js +0 -1
  99. package/dist/web/assets/index-Coye1BY5.js +0 -384
  100. package/dist/web/assets/index-DFdYNMZE.css +0 -1
  101. package/dist/web/assets/railroad-abnf-AHOZXSZD-TVRi9_2L.js +0 -1
  102. package/dist/web/assets/railroad-ebnf-EBAXGLYW-B5B-JrS4.js +0 -1
  103. package/dist/web/assets/railroad-peg-LSFZ7HO6-CfIpa6ba.js +0 -1
  104. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BJFG9cb2.js +0 -1
  105. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BS8L8fb1.js +0 -8
@@ -1,7 +1,7 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{H as t,R as n,U as r}from"./index-Coye1BY5.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(`
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{B as t,G as n,W as r}from"./index-9cOaPesh.js";var i=e(n(),1),a=t(),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(`
5
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
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){e.type===`element`&&e.properties?.dataRvwSourceLeaf===`true`&&(n&&t.some(t=>t.id===n&&t.range&&m(e.position,t.range))&&c(e,`rvw-markdown-commented`),r&&m(e.position,r)&&c(e,`rvw-markdown-selected`)),e.children?.forEach(e=>h(e,t,n,r))}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),_(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)]})}export{y as a,D as i,T as n,E as r,k as t};
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){e.type===`element`&&e.properties?.dataRvwSourceLeaf===`true`&&(n&&t.some(t=>t.id===n&&t.range&&m(e.position,t.range))&&c(e,`rvw-markdown-commented`),r&&m(e.position,r)&&c(e,`rvw-markdown-selected`)),e.children?.forEach(e=>h(e,t,n,r))}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),_(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{F as t,G as n,H as r,I as i,L as a,P as o,S as s,U as c,V as l,W as u,_ as d,a as f,c as p,m,n as h,o as g,r as _,s as v,t as y,v as b,x,z as S}from"./index-9cOaPesh.js";import{a as C,i as w,n as T,o as E,r as D,t as O}from"./MarkdownTable-DVJ0_MIC.js";var k=e(n(),1),A=u(),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:n,error:r,onCancel:i,onSubmit:a}){let[o,s]=(0,k.useState)(``),c=e.startLine===e.endLine?`L${e.startLine}へコメント`:`L${e.startLine}–${e.endLine}へコメント`;return(0,A.jsx)(t,{body:o,label:c,pending:n,error:r,validationError:void 0,placement:`line`,onBodyChange:s,onCancel:i,onSubmit:()=>a(o)})}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:c,markdownSourceOid:l,themePreference:u,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)(h,{comment:t.comment,variant:`inline`,placement:t.placement,markdownSourceOid:l,themePreference:u,onActiveChange:w,onOpenCodeReference:y,onOpenRepositoryLink:S},e):null})})},[L,l,w,y,S,u]);return(0,A.jsx)(I.Provider,{value:{diagramBindings:t,references:n,placedComments:r,activeCommentId:i,diagramCommentRange:c,themePreference:u,onOpenReference:_,onCommentRange:T,diagramCommentPending:j,diagramCommentError:M,onCancelDiagramComment:N,onSubmitDiagramComment:P},children:(0,A.jsx)(`article`,{className:`walkthrough-markdown`,children:(0,A.jsx)(x,{rehypePlugins:[b,[d,p],[E,{annotations:F,activeCommentId:i,selectedRange:a,composerOpen:o}]],remarkPlugins:[m],urlTransform:e=>e.startsWith(`rvw-ref:`)?e:s(e),components:{div:z,table:O,a:({href:e,children:t,node:r,...i})=>{let a=v(e),o=a?n.get(a):void 0;return o?(0,A.jsx)(g,{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)(f,{alt:e,title:t,sourceAttributes:C(n)}),pre:R},children:e})})})});function B({walkthrough:e,comments:n,activeCommentId:s,navigationTarget:u,onNavigationApplied:d,themePreference:f,onCommentActiveChange:p,onOpenReference:m,onOpenCommentCodeReference:g,onOpenRepositoryLink:_,onDeleted:v}){let b=c(),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),m(e,t,n).then(e=>{r!==U.current||!e||(H(e),W.current=window.setTimeout(()=>{H(null),W.current=null},j))})},[m,e]);(0,k.useEffect)(()=>()=>{U.current+=1,W.current!==null&&window.clearTimeout(W.current)},[]);let K=n.filter(t=>t.target.kind===`walkthrough`&&t.target.walkthroughId===e.id),te=K.reduce((e,t)=>e+t.posts.length,0),q=r({queryKey:[`walkthrough-comment-placements`,e.id,e.body,K.map(e=>`${e.id}:${e.updatedAt}`)],queryFn:async()=>{let t=new URLSearchParams({kind:`walkthrough`,pullRequestId:e.pullRequestId,walkthroughId:e.id});return await Promise.all(K.map(async e=>({comment:e,placement:(await a(`/api/comments/${e.id}/placement?${t.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:t,body:n})=>await a(`/api/comments`,S({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(),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 a(`/api/pull-requests/${e.pullRequestId}/walkthroughs/${e.id}`,{...S({}),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)(t,{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:s,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)(i,{error:Z.error}),(0,A.jsx)(i,{error:q.error}),(E||Y.length>0)&&(0,A.jsxs)(`div`,{className:`walkthrough-comment-area`,children:[E&&(0,A.jsx)(t,{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)(h,{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};
@@ -1 +1 @@
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};
1
+ import{m as e,t}from"./mermaid-parser.core-D_T_3oIQ.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-B6xuSHsQ.js";import"./chunk-I66GZJ75-zwi-Xf01.js";import{n as i,r as a,t as o}from"./chunk-6Q2QTUOP-BpD0vQ66.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-BoLGzxB5.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-D_T_3oIQ.js";export{e as createArchitectureServices};