archsight 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/docs/configuration.md +1 -1
- data/docs/modeling.md +8 -0
- data/docs/pages.md +2 -2
- data/lib/archsight/analysis/typst_renderer.rb +2 -3
- data/lib/archsight/export/confluence/analysis_output.rb +3 -4
- data/lib/archsight/export/confluence/exporter.rb +3 -1
- data/lib/archsight/export/confluence/page_properties.rb +2 -3
- data/lib/archsight/export/confluence/storage.rb +25 -12
- data/lib/archsight/export/confluence/tables.rb +2 -3
- data/lib/archsight/git_source.rb +81 -0
- data/lib/archsight/helpers/asset_images.rb +3 -4
- data/lib/archsight/import/executor.rb +1 -0
- data/lib/archsight/import.rb +27 -2
- data/lib/archsight/linter.rb +2 -2
- data/lib/archsight/markdown.rb +48 -0
- data/lib/archsight/openapi.rb +169 -0
- data/lib/archsight/page_tree.rb +2 -3
- data/lib/archsight/resources/application_interface.rb +12 -0
- data/lib/archsight/resources/technology_communication_network.rb +2 -0
- data/lib/archsight/version.rb +1 -1
- data/lib/archsight/web/api/docs.rb +2 -1
- data/lib/archsight/web/api/openapi/spec.yaml +136 -27
- data/lib/archsight/web/api/routes.rb +2 -2
- data/lib/archsight/web/application.rb +2 -2
- data/lib/archsight/web/public/vendor/redoc/LICENSE +22 -0
- data/lib/archsight/web/public/vendor/redoc/VERSION +1 -0
- data/lib/archsight/web/public/vendor/redoc/api.html +27 -0
- data/lib/archsight/web/public/vendor/redoc/api.js +19 -0
- data/lib/archsight/web/public/vendor/redoc/redoc.standalone.js +1851 -0
- data/lib/archsight/web/public/vendor/redoc/redoc.standalone.js.LICENSE.txt +102 -0
- data/lib/archsight/web/public/vue/{DocPage-D52OwaKc.js → DocPage-C2ubTXH7.js} +1 -1
- data/lib/archsight/web/public/vue/EditorPage-Dso6PLMn.js +35 -0
- data/lib/archsight/web/public/vue/ErrorPage-DnZ6YJLi.js +2 -0
- data/lib/archsight/web/public/vue/GraphView-CTl03Yre.js +1 -0
- data/lib/archsight/web/public/vue/HomePage-C339nihQ.js +2 -0
- data/lib/archsight/web/public/vue/InstanceRouter-DFW7tOrD.js +1 -0
- data/lib/archsight/web/public/vue/KindList-C0oaM3CF.js +1 -0
- data/lib/archsight/web/public/vue/PageView-OZB6G9Wu.js +1 -0
- data/lib/archsight/web/public/vue/QueryError-C2xLkCEm.js +1 -0
- data/lib/archsight/web/public/vue/ResourceList-DooWFwQP.js +2 -0
- data/lib/archsight/web/public/vue/SearchResults-BK-HjFnv.js +1 -0
- data/lib/archsight/web/public/vue/WikiPage-B2FYmeHL.js +3 -0
- data/lib/archsight/web/public/vue/architecture-WOLXFQ4H-BGN-TV5r.js +1 -0
- data/lib/archsight/web/public/vue/cynefin-EF2NZ3EQ-CZd6g_tq.js +1 -0
- data/lib/archsight/web/public/vue/eventmodeling-K75KTNOO-CYnbEx8O.js +1 -0
- data/lib/archsight/web/public/vue/gitGraph-VSP46ZUC-DialfQSk.js +1 -0
- data/lib/archsight/web/public/vue/graphviz-1lWBhpEX.js +3 -0
- data/lib/archsight/web/public/vue/{index-eUHmJ7K2.css → index-BLSE5DSv.css} +1 -1
- data/lib/archsight/web/public/vue/index-CLuLTE5I.js +3 -0
- data/lib/archsight/web/public/vue/info-OHQRW6UA-BuhOW7ss.js +1 -0
- data/lib/archsight/web/public/vue/katex-B_JcIwqj.js +257 -0
- data/lib/archsight/web/public/vue/mermaid-C3bOamfn.js +3999 -0
- data/lib/archsight/web/public/vue/packet-JDAUHWVQ-CUeRz7w4.js +1 -0
- data/lib/archsight/web/public/vue/pie-XZMESJXO-DnuewJI6.js +1 -0
- data/lib/archsight/web/public/vue/radar-ABXABTNO-Bi9l8bcv.js +1 -0
- data/lib/archsight/web/public/vue/railroad-I3PHUGI6-DSlxFbxk.js +1 -0
- data/lib/archsight/web/public/vue/railroad-abnf-LNEFI6M7-D6Kqu8wu.js +1 -0
- data/lib/archsight/web/public/vue/railroad-ebnf-DWYD2UWJ-MR7uCYT0.js +1 -0
- data/lib/archsight/web/public/vue/railroad-peg-JR7BVNR7-BL7aKIc-.js +1 -0
- data/lib/archsight/web/public/vue/rolldown-runtime-COiEfhsA.js +1 -0
- data/lib/archsight/web/public/vue/treeView-D4JQ5SDB-CamtB04D.js +1 -0
- data/lib/archsight/web/public/vue/treemap-SAJKECNS-DeQxu_HM.js +1 -0
- data/lib/archsight/web/public/vue/{useGraphviz-4evusK9i.js → useGraphviz-Dnm2pkon.js} +2 -2
- data/lib/archsight/web/public/vue/useHighlight-BH32C7yt.js +10 -0
- data/lib/archsight/web/public/vue/usePanZoom-HxgEsqq2.js +12 -0
- data/lib/archsight/web/public/vue/wardley-7MLQ67FV-BvKIB6Tv.js +1 -0
- data/lib/archsight/web/public/vue.html +4 -4
- metadata +46 -39
- data/lib/archsight/web/public/vue/ApiDocsPage-COp4onwn.js +0 -1
- data/lib/archsight/web/public/vue/ApiDocsPage-DZ0fa5-h.css +0 -1
- data/lib/archsight/web/public/vue/EditorPage-3aqL7yVf.js +0 -35
- data/lib/archsight/web/public/vue/ErrorPage--b9XeSYa.js +0 -2
- data/lib/archsight/web/public/vue/GraphView-qh_EtRrQ.js +0 -1
- data/lib/archsight/web/public/vue/HomePage-C2TNh2U-.js +0 -2
- data/lib/archsight/web/public/vue/InstanceRouter-uzb_OMG0.js +0 -1
- data/lib/archsight/web/public/vue/KindList-CyJuP_uq.js +0 -1
- data/lib/archsight/web/public/vue/PageView-FyygrS-b.js +0 -1
- data/lib/archsight/web/public/vue/QueryError-B4Ex_csZ.js +0 -1
- data/lib/archsight/web/public/vue/ResourceList-BY6Z1Kcb.js +0 -2
- data/lib/archsight/web/public/vue/SearchResults-CkFpHF8m.js +0 -1
- data/lib/archsight/web/public/vue/WikiPage-BoHNewCX.js +0 -3
- data/lib/archsight/web/public/vue/architecture-7GRP2DOG-BvzKZE4e.js +0 -1
- data/lib/archsight/web/public/vue/cynefin-OW5HDTMX-D-xs_Hxh.js +0 -1
- data/lib/archsight/web/public/vue/eventmodeling-NTZA5JFV-nbjxG01S.js +0 -1
- data/lib/archsight/web/public/vue/gitGraph-4MIJSDKK-CW6mw2ab.js +0 -1
- data/lib/archsight/web/public/vue/graphviz-SXWTgZH5.js +0 -3
- data/lib/archsight/web/public/vue/index-BGlYCbi7.js +0 -3
- data/lib/archsight/web/public/vue/info-A6RAGUB7-C12sjlHe.js +0 -1
- data/lib/archsight/web/public/vue/katex-CXMH3UgJ.js +0 -257
- data/lib/archsight/web/public/vue/mermaid-DjsXQ_XN.js +0 -3334
- data/lib/archsight/web/public/vue/packet-AYTQ26CC-wMwKwHmA.js +0 -1
- data/lib/archsight/web/public/vue/pie-WAS4IAKB-w1-sAU_K.js +0 -1
- data/lib/archsight/web/public/vue/radar-RG4KPBEZ-DpwqIFoy.js +0 -1
- data/lib/archsight/web/public/vue/railroad-74A4TZTK-Ce5XC24d.js +0 -1
- data/lib/archsight/web/public/vue/railroad-abnf-HS5TGJTU-BSQO2pds.js +0 -1
- data/lib/archsight/web/public/vue/railroad-ebnf-LZEXJU2U-Dq1c2YtD.js +0 -1
- data/lib/archsight/web/public/vue/railroad-peg-WCYAUIDC-DKj6dli0.js +0 -1
- data/lib/archsight/web/public/vue/rolldown-runtime-hePW80VL.js +0 -1
- data/lib/archsight/web/public/vue/treeView-Q6P3EWNA-BmHNTWxU.js +0 -1
- data/lib/archsight/web/public/vue/treemap-WGGIJYW6-DsEI7sSD.js +0 -1
- data/lib/archsight/web/public/vue/useHighlight-DPguaxfm.js +0 -10
- data/lib/archsight/web/public/vue/usePanZoom-seQE1TPk.js +0 -12
- data/lib/archsight/web/public/vue/wardley-WFR3VGLG-CSCW83-M.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,E as r,I as i,J as a,L as o,N as s,P as c,T as l,X as u,a as d,at as f,j as p,q as m,rt as h,x as g,z as _}from"./index-CLuLTE5I.js";var v={key:0},y={class:`error-header`},b={class:`error-message`},x={class:`error-location`},S={class:`error-line-badge`},C={key:0,class:`error-code-block`},w={class:`line-number`},T={key:1},E=d({__name:`ErrorPage`,setup(d){let E=l(),D=r(),O=s(()=>{try{return E.query.data?JSON.parse(E.query.data):null}catch{return null}});async function k(){let e=await g();e.error?D.replace({name:`error`,query:{data:JSON.stringify(e.error)}}):(D.push(`/`),window.location.reload())}return(r,s)=>{let l=u(`router-link`);return O.value?(m(),o(`div`,v,[c(`header`,null,[c(`article`,y,[s[1]||=c(`h3`,null,[c(`i`,{class:`iconoir-warning-triangle`}),_(` Error `)],-1),c(`p`,b,f(O.value.error),1),c(`p`,x,[s[0]||=c(`i`,{class:`iconoir-page`},null,-1),_(` `+f(O.value.path)+` `,1),c(`span`,S,`Line `+f(O.value.line_no),1)])]),c(`a`,{href:`#`,class:`reload-btn`,onClick:t(k,[`prevent`])},[...s[2]||=[c(`i`,{class:`iconoir-refresh`},null,-1),_(` Reload `,-1)]])]),O.value.context?(m(),o(`div`,C,[c(`pre`,null,[c(`code`,null,[(m(!0),o(p,null,a(O.value.context,e=>(m(),o(`span`,{key:e.line_no,class:h(e.selected?`error-line`:`code-line`)},[c(`span`,w,f(String(e.line_no).padStart(4,` `)),1),_(f(e.content)+`
|
|
2
|
+
`,1)],2))),128))])])])):i(``,!0)])):(m(),o(`div`,T,[s[4]||=c(`p`,null,`No error data available.`,-1),n(l,{to:`/`},{default:e(()=>[...s[3]||=[_(`Back to home`,-1)]]),_:1})]))}}},[[`__scopeId`,`data-v-cb96d9d5`]]);export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e,K as t,L as n,P as r,U as i,a,m as o,q as s,tt as c}from"./index-CLuLTE5I.js";import{t as l}from"./useGraphviz-Dnm2pkon.js";import{t as u}from"./usePanZoom-HxgEsqq2.js";var d={key:0},f={key:1,class:`graph-container graph-expand`},p=[`innerHTML`],m=a({__name:`GraphView`,setup(a){let m=c(``),h=c(!0),g=c(null),_=null;e(async()=>{let e=await o();m.value=e?await l(e):``,h.value=!1,await i(),v()}),t(()=>{_?.destroy()});function v(){if(!g.value)return;let e=g.value.querySelector(`svg`);e&&(_=u(e,g.value))}return(e,t)=>(s(),n(`article`,null,[t[1]||=r(`header`,null,[r(`h2`,null,`Architecture Overview`)],-1),h.value?(s(),n(`div`,d,[...t[0]||=[r(`p`,null,`Loading graph...`,-1)]])):(s(),n(`div`,f,[r(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:g,class:`fullcanvas`,innerHTML:m.value},null,8,p)]))]))}},[[`__scopeId`,`data-v-dbc5bc1f`]]);export{m as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["vue/GraphView-CTl03Yre.js","vue/index-CLuLTE5I.js","vue/mermaid-C3bOamfn.js","vue/rolldown-runtime-COiEfhsA.js","vue/index-BLSE5DSv.css","vue/useGraphviz-Dnm2pkon.js","vue/usePanZoom-HxgEsqq2.js","vue/GraphView-BvWAbUAl.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{M as e}from"./mermaid-C3bOamfn.js";import{F as t,H as n,L as r,N as i,P as a,V as o,nt as s,q as c}from"./index-CLuLTE5I.js";import{n as l}from"./PageView-OZB6G9Wu.js";var u={key:2},d={__name:`HomePage`,setup(d){let f=o(()=>e(()=>import(`./GraphView-CTl03Yre.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]))),p=n(`pages`,null),m=n(`pageHome`,null),h=i(()=>p?.value!=null),g=i(()=>m?.value);return(e,n)=>g.value?(c(),t(l,{key:0,name:g.value.name},null,8,[`name`])):h.value?(c(),t(s(f),{key:1})):(c(),r(`article`,u,[...n[0]||=[a(`p`,null,`Loading...`,-1)]]))}};export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,B as t,E as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,P as f,Q as p,U as m,X as h,Z as g,a as _,at as v,et as y,g as b,h as x,i as S,it as C,j as w,k as T,nt as E,q as D,r as O,rt as k,s as A,tt as j,z as M}from"./index-CLuLTE5I.js";import{t as N}from"./useGraphviz-Dnm2pkon.js";import{t as P}from"./usePanZoom-HxgEsqq2.js";import{a as F,d as I,l as L,n as R,r as z,s as ee,u as te}from"./ResourceList-DooWFwQP.js";import{a as ne,c as re,i as B,l as ie,n as ae,o as oe,r as V,s as se,u as H}from"./WikiPage-B2FYmeHL.js";import{n as ce,r as U}from"./PageView-OZB6G9Wu.js";var le=[`title`],W=_({__name:`EmbedButton`,props:{kind:String,name:String},setup(e){let t=e,n=j(!1),r=d(()=>`![[${t.kind}/${t.name}]]`),i=d(()=>({View:`the result of this view`,Analysis:`the result of this analysis`})[t.kind]||`this description`);async function a(){try{await navigator.clipboard.writeText(r.value)}catch{window.prompt(`Copy this into a page:`,r.value);return}n.value=!0,setTimeout(()=>{n.value=!1},2e3)}return(e,t)=>(D(),l(`button`,{type:`button`,class:`btn-embed`,title:`Copy ${r.value} to show ${i.value} inside a page`,onClick:a},[f(`i`,{class:k(n.value?`iconoir-check`:`iconoir-copy`)},null,2),M(` `+v(n.value?`Copied`:`Embed`),1)],8,le))}},[[`__scopeId`,`data-v-04c65c40`]]),ue={key:0,class:`relations-section`},de={class:`relations-grid`},G={class:`relations-column relations-outgoing`},K={class:`relation-kind`},fe={class:`relation-verb`},q={class:`instance-badges`},pe={key:1,class:`relations-empty`},J={class:`relations-column relations-incoming`},Y={class:`relation-kind`},X={class:`relation-verb`},me={class:`instance-badges`},he={key:1,class:`relations-empty`},Z=_({__name:`RelationsGrid`,props:{data:Object},setup(t){let n=t,i=a(`kinds`),c=d(()=>n.data.relations||{}),u=d(()=>n.data.references||{}),p=d(()=>Object.keys(c.value).length>0||Object.keys(u.value).length>0);function m(e){return i?.value?.kinds?i.value.kinds.find(t=>t.kind===e):null}function g(e){return m(e)?.icon||`cube`}function _(e){return m(e)?.layer||`technology`}let y=d(()=>{let e=[];for(let[t,n]of Object.entries(c.value))for(let[r,i]of Object.entries(n))e.push({verb:t,kind:r,names:[...i].sort()});return e}),b=d(()=>{let e=[];for(let[t,n]of Object.entries(u.value))for(let[r,i]of Object.entries(n))e.push({verb:r||`references`,kind:t,names:[...i].sort()});return e});return(t,n)=>{let i=h(`router-link`);return p.value?(D(),l(`article`,ue,[n[2]||=f(`header`,null,[f(`h2`,null,`Relations`)],-1),f(`div`,de,[f(`div`,G,[n[0]||=f(`h3`,null,[M(`Outgoing `),f(`i`,{class:`iconoir-arrow-right`})],-1),y.value.length?(D(!0),l(w,{key:0},s(y.value,(t,n)=>(D(),l(`div`,{key:`out-`+n,class:`relation-group`},[f(`div`,K,[f(`i`,{class:k(`iconoir-${g(t.kind)} icon-${_(t.kind)}`)},null,2),f(`span`,null,v(t.kind)+` (`+v(t.names.length)+`)`,1)]),f(`div`,fe,v(t.verb)+` (`+v(t.names.length)+`)`,1),f(`div`,q,[(D(!0),l(w,null,s(t.names,n=>(D(),r(i,{key:n,class:`badge badge-info`,to:{name:`instance`,params:{kind:t.kind,instance:n}}},{default:e(()=>[M(v(n),1)]),_:2},1032,[`to`]))),128))])]))),128)):(D(),l(`div`,pe,`None`))]),f(`div`,J,[n[1]||=f(`h3`,null,[f(`i`,{class:`iconoir-arrow-right`}),M(` Incoming`)],-1),b.value.length?(D(!0),l(w,{key:0},s(b.value,(t,n)=>(D(),l(`div`,{key:`in-`+n,class:`relation-group`},[f(`div`,Y,[f(`i`,{class:k(`iconoir-${g(t.kind)} icon-${_(t.kind)}`)},null,2),f(`span`,null,v(t.kind)+` (`+v(t.names.length)+`)`,1)]),f(`div`,X,v(t.verb)+` (`+v(t.names.length)+`)`,1),f(`div`,me,[(D(!0),l(w,null,s(t.names,n=>(D(),r(i,{key:n,class:`badge badge-info`,to:{name:`instance`,params:{kind:t.kind,instance:n}}},{default:e(()=>[M(v(n),1)]),_:2},1032,[`to`]))),128))])]))),128)):(D(),l(`div`,he,`None`))])])])):o(``,!0)}}},[[`__scopeId`,`data-v-2fa43570`]]),ge={key:0},_e={key:1,class:`graph-error`},ve={key:2,class:`graph-container`},ye=[`innerHTML`],be=_({__name:`ModuleGraph`,props:{dot:String,label:{type:String,default:`Module Structure`}},setup(e){let t=e,n=j(``),r=j(!0),a=j(null),s=j(null),u=null;async function d(e){if(!e)r.value=!1;else{u?.destroy(),u=null,r.value=!0,a.value=null;try{n.value=await N(e)}catch(e){a.value=e?.message||`Failed to render module graph`,n.value=``}finally{if(r.value=!1,await m(),s.value){let e=s.value.querySelector(`svg`);e&&(u=P(e,s.value))}}}}return i(()=>d(t.dot)),p(()=>t.dot,d),c(()=>{u?.destroy()}),(t,i)=>(D(),l(`article`,null,[f(`header`,null,[f(`h2`,null,v(e.label),1)]),r.value?(D(),l(`div`,ge,[...i[0]||=[f(`p`,null,`Loading graph...`,-1)]])):a.value?(D(),l(`p`,_e,[i[1]||=f(`i`,{class:`iconoir-warning-triangle`},null,-1),M(` `+v(a.value),1)])):n.value?(D(),l(`div`,ve,[f(`div`,{ref_key:`graphEl`,ref:s,class:`canvas`,innerHTML:n.value},null,8,ye)])):o(``,!0)]))}},[[`__scopeId`,`data-v-c3280c1e`]]),Q={key:0,class:`requirements-section`},xe={__name:`RequirementsSection`,props:{data:Object},setup(e){let n=e,r=d(()=>{let e=n.data.relations||{},t=[];for(let[n,r]of Object.entries({realizes:`implemented`,partiallyRealizes:`partial`,plans:`planned`})){let i=e[n]||{},a=i.MotivationRequirement||i.motivationRequirements||[];for(let e of a)t.push({name:e,status:r,verb:n})}return t}),i=j([]);p(r,async e=>{if(!e.length){i.value=[];return}let t=await Promise.all(e.map(async e=>{try{let t=(await x(`MotivationRequirement`,e.name)).metadata?.annotations||{};return{...e,priority:t[`requirement/priority`]||null,story:t[`requirement/story`]||null}}catch{return{...e,priority:null,story:null}}}));i.value=t},{immediate:!0});function a(e){let t=n.data.name;return`/search?q=${encodeURIComponent(`MotivationRequirement: <- "${t}" & requirement/priority == "${e}"`)}`}return(e,n)=>r.value.length?(D(),l(`article`,Q,[n[0]||=f(`header`,null,[f(`h2`,null,`Requirements`)],-1),t(V,{items:i.value,"priority-link":a},null,8,[`items`])])):o(``,!0)}},Se={key:0},Ce=[`title`],we=[`href`],Te={class:`git-info`},Ee={class:`git-item`},De={class:`git-clone-command`},Oe=_({__name:`GitInfo`,props:{annotations:Object},setup(e){let t=e,n=d(()=>t.annotations[`repository/git`]),r=d(()=>n.value?ee(n.value):null);function i(){navigator.clipboard.writeText(`git clone ${n.value}`)}return(e,t)=>n.value?(D(),l(`tr`,Se,[f(`th`,{scope:`row`,title:E(R)(`repository/git`)},[f(`a`,{class:`git-link`,href:r.value,target:`_blank`},`Git Repo`,8,we)],8,Ce),f(`td`,null,[f(`div`,Te,[f(`div`,Ee,[t[0]||=f(`i`,{class:`iconoir-git-branch`},null,-1),f(`code`,De,`git clone `+v(n.value),1)]),f(`button`,{class:`copy-button`,onClick:i,title:`Copy to clipboard`},[...t[1]||=[f(`i`,{class:`iconoir-copy`},null,-1)]])])])])):o(``,!0)}},[[`__scopeId`,`data-v-808bbe74`]]),ke={key:0},Ae=[`title`],je={class:`language-distribution`},Me={class:`language-total`},Ne={class:`language-count`},Pe={class:`language-bar`},Fe=[`title`],Ie={class:`language-legend`},Le={class:`other-languages`},Re=_({__name:`LanguageStats`,props:{annotations:Object,kind:String},setup(n){let i=n,a=d(()=>{let e=i.annotations[`scc/languages`];if(!e)return null;let t=e.split(`,`).map(e=>{let t=`scc/language/${e.trim()}/loc`;return{name:e.trim(),loc:parseInt(i.annotations[t]||`0`,10)}}).sort((e,t)=>t.loc-e.loc),n=t.reduce((e,t)=>e+t.loc,0);if(n<=0)return null;let r=t.filter(e=>e.loc/n*100>=.1),a=r.slice(0,10),o=[...r.slice(10),...t.filter(e=>e.loc/n*100<.1)],s=o.reduce((e,t)=>e+t.loc,0),c=[...a];return s>0&&c.push({name:`Other`,loc:s,isOther:!0,otherNames:o.map(e=>e.name)}),{display:c,total:n}});function c(e){return(e/a.value.total*100).toFixed(1)}function u(e,t){return t.isOther?`lang-other`:`lang-${e}`}function p(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,i)=>{let d=h(`router-link`);return a.value?(D(),l(`tr`,ke,[f(`th`,{scope:`row`,title:E(R)(`scc/languages`,`scc/language/<Language>/loc`)},`Languages`,8,Ae),f(`td`,null,[f(`div`,je,[f(`div`,Me,[f(`span`,Ne,v(E(L)(a.value.total)),1),i[0]||=f(`span`,{class:`language-label`},`lines of code`,-1)]),f(`div`,Pe,[(D(!0),l(w,null,s(a.value.display,(e,t)=>(D(),l(`div`,{key:e.name,class:k([`language-bar-segment`,u(t,e)]),style:C({width:c(e.loc)+`%`}),title:`${e.name}: ${E(L)(e.loc)} (${c(e.loc)}%)`},null,14,Fe))),128))]),f(`div`,Ie,[(D(!0),l(w,null,s(a.value.display,(n,a)=>(D(),l(`div`,{key:n.name,class:`language-legend-item`},[f(`div`,{class:k([`language-legend-dot`,u(a,n)])},null,2),n.isOther?(D(),l(w,{key:0},[f(`span`,null,`Other `+v(c(n.loc))+`%`,1),f(`span`,Le,[i[1]||=M(` (`,-1),(D(!0),l(w,null,s(n.otherNames,(r,i)=>(D(),l(w,{key:r},[t(d,{to:p(`scc/languages`,r)},{default:e(()=>[M(v(r),1)]),_:2},1032,[`to`]),i<n.otherNames.length-1?(D(),l(w,{key:0},[M(`, `)],64)):o(``,!0)],64))),128)),i[2]||=M(`) `,-1)])],64)):(D(),r(d,{key:1,to:p(`scc/languages`,n.name)},{default:e(()=>[M(v(n.name)+` `+v(c(n.loc))+`% `,1)]),_:2},1032,[`to`]))]))),128))])])])])):o(``,!0)}}},[[`__scopeId`,`data-v-c1202fdd`]]),ze={key:0},Be=[`title`],Ve={class:`project-estimate`},He={key:0,class:`estimate-item`},Ue={class:`estimate-value`},We={key:1,class:`estimate-item`},Ge={class:`estimate-value`},Ke={key:2,class:`estimate-item`},qe={class:`estimate-value`},Je=_({__name:`ProjectEstimate`,props:{annotations:Object},setup(e){let t=e,n=d(()=>z(`cost`,t.annotations[`scc/estimatedCost`])),r=d(()=>z(`schedule`,t.annotations[`scc/estimatedScheduleMonths`])),i=d(()=>z(`team`,t.annotations[`scc/estimatedPeople`])),a=d(()=>n.value!=null||r.value!=null||i.value!=null);return(e,t)=>a.value?(D(),l(`tr`,ze,[f(`th`,{scope:`row`,title:E(R)(`scc/estimatedCost`,`scc/estimatedScheduleMonths`,`scc/estimatedPeople`)},[...t[0]||=[M(` Project Estimate `,-1),f(`span`,{class:`estimate-note`,title:`Estimates adjusted for €80k salary and AI-assisted development (3x productivity)`},[f(`i`,{class:`iconoir-info-circle`})],-1)]],8,Be),f(`td`,null,[f(`div`,Ve,[n.value==null?o(``,!0):(D(),l(`div`,He,[t[1]||=f(`i`,{class:`iconoir-euro`},null,-1),t[2]||=f(`span`,{class:`estimate-label`},`Cost:`,-1),f(`span`,Ue,v(E(I)(n.value)),1)])),r.value==null?o(``,!0):(D(),l(`div`,We,[t[3]||=f(`i`,{class:`iconoir-calendar`},null,-1),t[4]||=f(`span`,{class:`estimate-label`},`Schedule:`,-1),f(`span`,Ge,v(r.value.toFixed(1))+` months`,1)])),i.value==null?o(``,!0):(D(),l(`div`,Ke,[t[5]||=f(`i`,{class:`iconoir-group`},null,-1),t[6]||=f(`span`,{class:`estimate-label`},`Team:`,-1),f(`span`,qe,v(i.value)+` people`,1)]))])])])):o(``,!0)}},[[`__scopeId`,`data-v-d97600d8`]]),Ye={key:0},Xe=[`title`],Ze={class:`repository-distribution`},Qe={class:`repository-total`},$e={class:`repository-count`},et={class:`repository-bar`},tt=[`title`],nt={class:`repository-legend`},rt=_({__name:`RepositoriesBar`,props:{annotations:Object},setup(e){let t=e,n=d(()=>parseInt(t.annotations[`repository/artifacts/total`]||`0`,10)),r=d(()=>parseInt(t.annotations[`repository/artifacts/active`]||`0`,10)),i=d(()=>parseInt(t.annotations[`repository/artifacts/abandoned`]||`0`,10)),a=d(()=>parseInt(t.annotations[`repository/artifacts/archived`]||`0`,10)),c=d(()=>parseInt(t.annotations[`repository/artifacts/highBusFactor`]||`0`,10)),u=d(()=>n.value>0),p=d(()=>r.value-c.value),m=d(()=>n.value-r.value-i.value-a.value);function h(e){return(e/n.value*100).toFixed(1)}let g=d(()=>{let e=[];return p.value>0&&e.push({cls:`status-active`,value:p.value,label:`Active (healthy)`}),c.value>0&&e.push({cls:`status-high-bus-factor`,value:c.value,label:`Active (high bus factor)`}),a.value>0&&e.push({cls:`status-archived`,value:a.value,label:`Archived`}),m.value>0&&e.push({cls:`status-other`,value:m.value,label:`Other`}),i.value>0&&e.push({cls:`status-abandoned`,value:i.value,label:`Abandoned`}),e});return(e,t)=>u.value?(D(),l(`tr`,Ye,[f(`th`,{scope:`row`,title:E(R)(`repository/artifacts/total`,`repository/artifacts/active`,`repository/artifacts/abandoned`,`repository/artifacts/archived`,`repository/artifacts/highBusFactor`)},`Repositories`,8,Xe),f(`td`,null,[f(`div`,Ze,[f(`div`,Qe,[f(`span`,$e,v(n.value),1),t[0]||=f(`span`,{class:`repository-label`},`repositories`,-1)]),f(`div`,et,[(D(!0),l(w,null,s(g.value,e=>(D(),l(`div`,{key:e.cls,class:k([`repository-bar-segment`,e.cls]),style:C({width:h(e.value)+`%`}),title:`${e.label}: ${e.value} (${h(e.value)}%)`},null,14,tt))),128))]),f(`div`,nt,[(D(!0),l(w,null,s(g.value,e=>(D(),l(`div`,{key:e.cls,class:`repository-legend-item`},[f(`div`,{class:k([`repository-legend-dot`,e.cls])},null,2),f(`span`,null,v(e.value)+` `+v(e.label.toLowerCase()),1)]))),128))])])])])):o(``,!0)}},[[`__scopeId`,`data-v-6c3e5f7d`]]),it=[`title`],$=_({__name:`SparklineChart`,props:{values:{type:String,required:!0},type:{type:String,default:`commits`},maxHeight:{type:Number,default:16},colorClass:{type:String,default:null}},setup(e){let t=e,n=d(()=>!t.values||t.values.trim()===``?[]:t.values.split(`,`).map(e=>parseInt(e,10)||0)),r=d(()=>{let e=Math.max(...n.value);return e===0?1:e});function i(e){return e===0?0:Math.max(2,Math.round(e/r.value*t.maxHeight))}let a=d(()=>{switch(t.type){case`created`:return` issues created`;case`resolved`:return` issues resolved`;default:return` commits`}});return(t,r)=>(D(),l(`div`,{class:k([`activity-sparkline`,e.colorClass])},[(D(!0),l(w,null,s(n.value,(e,t)=>(D(),l(`div`,{key:t,class:k([`activity-sparkline-bar`,{empty:e===0}]),style:C({height:i(e)+`px`}),title:e+a.value},null,14,it))),128))],2))}},[[`__scopeId`,`data-v-33cc84bd`]]),at={key:0},ot=[`title`],st={class:`activity-summary`},ct={key:0,class:`activity-item`},lt=[`title`],ut={class:`activity-value sparkline-total`},dt={key:1,class:`activity-item`},ft=[`title`],pt={key:0,class:`activity-value sparkline-total`},mt={key:1,class:`activity-value contributors-total`},ht={key:2,class:`activity-item`},gt=[`title`],_t={class:`activity-value`},vt={key:3,class:`activity-item`},yt=[`title`],bt={key:4,class:`activity-item`},xt=[`title`],St=_({__name:`ActivityInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,i=d(()=>r.annotations[`activity/commits`]),a=d(()=>r.annotations[`activity/contributors`]),s=d(()=>r.annotations[`activity/contributors/6m`]),c=d(()=>r.annotations[`activity/contributors/total`]),u=d(()=>r.annotations[`activity/status`]),p=d(()=>r.annotations[`activity/busFactor`]),m=d(()=>r.annotations[`activity/createdAt`]),g=d(()=>i.value||a.value||u.value||p.value||m.value),_=d(()=>i.value?i.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),y=d(()=>m.value?new Date(m.value).toLocaleDateString(`en`,{month:`short`,year:`numeric`}):null),b=d(()=>{let e=p.value,t=``;switch(e){case`high`:t=`High risk: One contributor accounts for >75% of commits in the last 6 months`;break;case`medium`:t=`Medium risk: One contributor accounts for 50-75% of commits in the last 6 months`;break;case`low`:t=`Low risk: No single contributor dominates the codebase`;break;default:t=`Unknown: Not enough recent activity to assess`}return s.value&&(t+=` (${s.value} unique contributors)`),t});function x(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let d=h(`router-link`);return g.value?(D(),l(`tr`,at,[f(`th`,{scope:`row`,title:E(R)(`activity/commits`,`activity/contributors`,`activity/contributors/6m`,`activity/contributors/total`,`activity/status`,`activity/busFactor`,`activity/createdAt`)},`Activity`,8,ot),f(`td`,null,[f(`div`,st,[i.value?(D(),l(`div`,ct,[r[0]||=f(`i`,{class:`iconoir-git-commit`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/commits`)},`Commits:`,8,lt),t($,{values:i.value},null,8,[`values`]),f(`span`,ut,v(_.value),1)])):o(``,!0),a.value?(D(),l(`div`,dt,[r[1]||=f(`i`,{class:`iconoir-community`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/contributors`,`activity/contributors/6m`,`activity/contributors/total`)},`Contributors:`,8,ft),t($,{values:a.value,"color-class":`contributors-sparkline`},null,8,[`values`]),s.value?(D(),l(`span`,pt,v(s.value),1)):o(``,!0),c.value?(D(),l(`span`,mt,`(`+v(c.value)+` total)`,1)):o(``,!0)])):o(``,!0),m.value?(D(),l(`div`,ht,[r[2]||=f(`i`,{class:`iconoir-calendar`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/createdAt`)},`Created:`,8,gt),f(`span`,_t,v(y.value),1)])):o(``,!0),u.value?(D(),l(`div`,vt,[r[3]||=f(`i`,{class:`iconoir-info-circle`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/status`)},`Status:`,8,yt),t(d,{class:k(`activity-value status-${u.value}`),to:x(`activity/status`,u.value)},{default:e(()=>[M(v(u.value),1)]),_:1},8,[`class`,`to`])])):o(``,!0),p.value?(D(),l(`div`,bt,[r[4]||=f(`i`,{class:`iconoir-warning-triangle`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/busFactor`)},`Bus Factor:`,8,xt),t(d,{class:k(`activity-value bus-factor-${p.value}`),to:x(`activity/busFactor`,p.value),title:b.value},{default:e(()=>[M(v(p.value),1)]),_:1},8,[`class`,`to`,`title`])])):o(``,!0)])])])):o(``,!0)}}},[[`__scopeId`,`data-v-a2e60c62`]]),Ct={key:0},wt={key:1},Tt=[`title`],Et={class:`jira-info`},Dt=[`href`],Ot={class:`jira-metric`},kt={class:`jira-metric-total`},At={class:`jira-metric`},jt={class:`jira-metric-total`},Mt={key:0,class:`iconoir-arrow-down-circle`},Nt={key:1,class:`iconoir-arrow-up-circle`},Pt={key:2,class:`iconoir-minus-circle`},Ft={class:`jira-trend-text`},It={key:2},Lt=[`title`],Rt=[`href`],zt={key:1,class:`team-value`},Bt={key:3},Vt=[`title`],Ht={class:`team-stats`},Ut={key:0,class:`team-stat-item`},Wt={class:`team-stat-value`},Gt={key:1,class:`team-stat-item`},Kt={class:`team-stat-value`},qt={key:4},Jt=[`title`],Yt={class:`team-members`},Xt=[`href`],Zt={key:1,class:`team-member`},Qt=_({__name:`TeamInfo`,props:{annotations:Object,instance:Object},setup(n){let r=n,i=d(()=>r.annotations[`team/lead`]),a=d(()=>r.annotations[`team/members`]),c=d(()=>r.annotations[`team/size`]),u=d(()=>r.annotations[`team/lead/size`]),p=d(()=>r.annotations[`team/jira`]),m=d(()=>r.annotations[`jira/projectUrl`]),g=d(()=>r.annotations[`jira/issues/created`]),_=d(()=>r.annotations[`jira/issues/resolved`]),y=d(()=>r.instance?.kind===`BusinessActor`),b=d(()=>`kind in ("ApplicationService", "ApplicationComponent") & ~> $(TechnologyArtifact: -{maintainedBy}> "${r.instance?.name||``}")`),x=d(()=>a.value?a.value.split(/,|\n/).map(e=>e.trim()).filter(Boolean):[]);function S(e){let t=e.match(/<([^>]+@[^>]+)>/);return t?t[1]:null}function C(e){return{name:`search`,query:{q:e}}}let T=d(()=>g.value?g.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),O=d(()=>_.value?_.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),A=d(()=>g.value?g.value.split(`,`).map(Number):[]),j=d(()=>_.value?_.value.split(`,`).map(Number):[]),N=d(()=>(A.value.length?T.value/A.value.length:0)-(j.value.length?O.value/j.value.length:0)),P=d(()=>{let e=N.value;return e<-1?`positive`:e>1?`negative`:`neutral`});return(n,r)=>{let d=h(`router-link`);return D(),l(w,null,[y.value?(D(),l(`tr`,Ct,[r[1]||=f(`th`,{scope:`row`},`Owned Services`,-1),f(`td`,null,[t(d,{class:`badge badge-info`,to:C(b.value)},{default:e(()=>[...r[0]||=[M(` Show ApplicationServices & Components `,-1)]]),_:1},8,[`to`])])])):o(``,!0),p.value&&m.value?(D(),l(`tr`,wt,[f(`th`,{scope:`row`,title:E(R)(`team/jira`,`jira/projectUrl`,`jira/issues/created`,`jira/issues/resolved`)},`Jira Project`,8,Tt),f(`td`,null,[f(`div`,Et,[f(`a`,{class:`badge badge-info`,href:m.value,target:`_blank`},v(p.value),9,Dt),g.value||_.value?(D(),l(w,{key:0},[f(`div`,Ot,[r[2]||=f(`span`,{class:`jira-metric-label`},`Created (6m):`,-1),t($,{values:g.value,type:`created`,"color-class":`jira-created-sparkline`},null,8,[`values`]),f(`span`,kt,v(T.value),1)]),f(`div`,At,[r[3]||=f(`span`,{class:`jira-metric-label`},`Resolved (6m):`,-1),t($,{values:_.value,type:`resolved`,"color-class":`jira-resolved-sparkline`},null,8,[`values`]),f(`span`,jt,v(O.value),1)]),f(`div`,{class:k([`jira-trend`,`jira-trend-${P.value}`])},[P.value===`positive`?(D(),l(`i`,Mt)):P.value===`negative`?(D(),l(`i`,Nt)):(D(),l(`i`,Pt)),f(`span`,Ft,v(N.value>0?`+`:``)+v(N.value.toFixed(1))+`/mo`,1)],2)],64)):o(``,!0)])])])):o(``,!0),i.value?(D(),l(`tr`,It,[f(`th`,{scope:`row`,title:E(R)(`team/lead`)},`Team Lead`,8,Lt),f(`td`,null,[S(i.value)?(D(),l(`a`,{key:0,class:`team-value`,href:`mailto:${S(i.value)}`},v(i.value),9,Rt)):(D(),l(`span`,zt,v(i.value),1))])])):o(``,!0),c.value||u.value?(D(),l(`tr`,Bt,[f(`th`,{scope:`row`,title:E(R)(`team/size`,`team/lead/size`)},`Team Stats`,8,Vt),f(`td`,null,[f(`div`,Ht,[u.value?(D(),l(`div`,Ut,[f(`span`,Wt,v(u.value),1),r[4]||=f(`span`,{class:`team-stat-label`},`leads`,-1)])):o(``,!0),c.value?(D(),l(`div`,Gt,[f(`span`,Kt,v(c.value),1),r[5]||=f(`span`,{class:`team-stat-label`},`members`,-1)])):o(``,!0)])])])):o(``,!0),a.value?(D(),l(`tr`,qt,[f(`th`,{scope:`row`,title:E(R)(`team/members`)},`Team Members`,8,Jt),f(`td`,null,[f(`div`,Yt,[(D(!0),l(w,null,s(x.value,e=>(D(),l(w,{key:e},[S(e)?(D(),l(`a`,{key:0,class:`team-member`,href:`mailto:${S(e)}`},v(e),9,Xt)):(D(),l(`span`,Zt,v(e),1))],64))),128))])])])):o(``,!0)],64)}}},[[`__scopeId`,`data-v-ddf2e61d`]]),$t={key:0},en=[`title`],tn={class:`deployment-types`},nn=_({__name:`DeploymentInfo`,props:{annotations:Object,kind:String},setup(t){let n=t,i=d(()=>(n.annotations[`repository/artifacts`]||`none`).split(`,`).map(e=>e.trim())),a=d(()=>i.value[0]!==`none`),c=[{key:`container`,icon:`iconoir-box`,label:`Container Image`},{key:`chart`,icon:`iconoir-packages`,label:`Helm Chart`},{key:`binary`,icon:`iconoir-terminal`,label:`Binary`},{key:`debian`,icon:`iconoir-package`,label:`Debian Package`},{key:`rpm`,icon:`iconoir-package`,label:`RPM Package`}];function u(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(t,n)=>{let d=h(`router-link`);return a.value?(D(),l(`tr`,$t,[f(`th`,{scope:`row`,title:E(R)(`repository/artifacts`)},`Deployment Artifacts`,8,en),f(`td`,null,[f(`div`,tn,[(D(),l(w,null,s(c,t=>(D(),l(w,{key:t.key},[i.value.includes(t.key)?(D(),r(d,{key:0,class:`deployment-item`,to:u(`repository/artifacts`,t.key)},{default:e(()=>[f(`i`,{class:k(t.icon)},null,2),f(`strong`,null,v(t.label),1)]),_:2},1032,[`to`])):o(``,!0)],64))),64))])])])):o(``,!0)}}},[[`__scopeId`,`data-v-c57237c3`]]),rn=[`title`],an={class:`workflow-platforms`},on=[`checked`],sn=[`checked`],cn=[`checked`],ln={class:`info-section-cell`,colspan:`2`},un={open:``},dn=[`title`],fn={class:`workflow-types`},pn={class:`workflow-category`},mn=[`checked`],hn=[`checked`],gn={class:`workflow-category`},_n=[`checked`],vn=[`checked`],yn=[`checked`],bn=[`checked`],xn={class:`workflow-category`},Sn=[`checked`],Cn=[`checked`],wn={class:`workflow-category`},Tn=[`checked`],En=[`checked`],Dn=_({__name:`WorkflowInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,i=d(()=>(r.annotations[`workflow/platforms`]||`none`).split(`,`).map(e=>e.trim())),a=d(()=>(r.annotations[`workflow/types`]||`none`).split(`,`).map(e=>e.trim())),s=d(()=>i.value[0]!==`none`||a.value[0]!==`none`),c=d(()=>a.value.includes(`test`));function u(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}function p(e,t){return e.includes(t)}return(n,r)=>{let d=h(`router-link`);return s.value?(D(),l(w,{key:0},[f(`tr`,null,[f(`th`,{scope:`row`,title:E(R)(`workflow/platforms`)},`CI/CD Platforms`,8,rn),f(`td`,null,[f(`div`,an,[t(d,{class:`workflow-platform-item`,to:u(`workflow/platforms`,`github-actions`)},{default:e(()=>[f(`input`,{type:`checkbox`,disabled:``,checked:p(i.value,`github-actions`)},null,8,on),r[0]||=f(`label`,null,`GitHub Actions`,-1)]),_:1},8,[`to`]),t(d,{class:`workflow-platform-item`,to:u(`workflow/platforms`,`gitlab-ci`)},{default:e(()=>[f(`input`,{type:`checkbox`,disabled:``,checked:p(i.value,`gitlab-ci`)},null,8,sn),r[1]||=f(`label`,null,`GitLab CI`,-1)]),_:1},8,[`to`]),t(d,{class:`workflow-platform-item`,to:u(`workflow/platforms`,`makefile`)},{default:e(()=>[f(`input`,{type:`checkbox`,disabled:``,checked:p(i.value,`makefile`)},null,8,cn),r[2]||=f(`label`,null,`Makefile`,-1)]),_:1},8,[`to`])])])]),f(`tr`,null,[f(`td`,ln,[f(`details`,un,[f(`summary`,{title:E(R)(`workflow/types`)},[...r[3]||=[f(`strong`,null,`Workflow Types`,-1)]],8,dn),f(`div`,fn,[f(`div`,null,[f(`div`,pn,[r[6]||=f(`strong`,null,`Build & Deploy`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`build`)},null,8,mn),t(d,{to:u(`workflow/types`,`build`)},{default:e(()=>[...r[4]||=[M(`Build`,-1)]]),_:1},8,[`to`])]),f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`deploy`)},null,8,hn),t(d,{to:u(`workflow/types`,`deploy`)},{default:e(()=>[...r[5]||=[M(`Deploy`,-1)]]),_:1},8,[`to`])])])]),f(`div`,gn,[r[11]||=f(`strong`,null,`Testing`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`test`)},null,8,_n),t(d,{to:u(`workflow/types`,`test`)},{default:e(()=>[...r[7]||=[M(`Test (generic)`,-1)]]),_:1},8,[`to`])]),f(`li`,{class:k({"grayed-out":c.value})},[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`unit-test`)},null,8,vn),t(d,{to:u(`workflow/types`,`unit-test`)},{default:e(()=>[...r[8]||=[M(`Unit Tests`,-1)]]),_:1},8,[`to`])],2),f(`li`,{class:k({"grayed-out":c.value})},[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`integration-test`)},null,8,yn),t(d,{to:u(`workflow/types`,`integration-test`)},{default:e(()=>[...r[9]||=[M(`Integration Tests`,-1)]]),_:1},8,[`to`])],2),f(`li`,{class:k({"grayed-out":c.value})},[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`smoke-test`)},null,8,bn),t(d,{to:u(`workflow/types`,`smoke-test`)},{default:e(()=>[...r[10]||=[M(`Smoke Tests`,-1)]]),_:1},8,[`to`])],2)])]),f(`div`,xn,[r[14]||=f(`strong`,null,`Quality & Security`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`lint`)},null,8,Sn),t(d,{to:u(`workflow/types`,`lint`)},{default:e(()=>[...r[12]||=[M(`Linting`,-1)]]),_:1},8,[`to`])]),f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`security-scan`)},null,8,Cn),t(d,{to:u(`workflow/types`,`security-scan`)},{default:e(()=>[...r[13]||=[M(`Security Scan`,-1)]]),_:1},8,[`to`])])])]),f(`div`,wn,[r[17]||=f(`strong`,null,`Automation`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`dependency-update`)},null,8,Tn),t(d,{to:u(`workflow/types`,`dependency-update`)},{default:e(()=>[...r[15]||=[M(`Dependency Updates`,-1)]]),_:1},8,[`to`])]),f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`ticket-creation`)},null,8,En),t(d,{to:u(`workflow/types`,`ticket-creation`)},{default:e(()=>[...r[16]||=[M(`Ticket Creation`,-1)]]),_:1},8,[`to`])])])])])])])])])],64)):o(``,!0)}}},[[`__scopeId`,`data-v-5e906c49`]]),On=[`title`],kn={class:`info-section-cell`,colspan:`2`},An={class:`agentic-tools`},jn={class:`tool-item-header`},Mn=[`checked`],Nn={class:`tool-item-description`},Pn=_({__name:`AgenticTools`,props:{annotations:Object,kind:String},setup(n){let r=n,i=d(()=>(r.annotations[`agentic/tools`]||`none`).split(`,`).map(e=>e.trim())),a=d(()=>i.value[0]!==`none`),c=[{key:`claude`,icon:`iconoir-brain`,name:`Claude`,description:`Anthropic Claude API`},{key:`cursor`,icon:`iconoir-edit-pencil`,name:`Cursor`,description:`AI code editor`},{key:`aider`,icon:`iconoir-terminal`,name:`Aider`,description:`CLI pair programmer`},{key:`github-copilot`,icon:`iconoir-github`,name:`GitHub Copilot`,description:`GitHub AI assistant`},{key:`agents`,icon:`iconoir-cpu-warning`,name:`Custom Agents`,description:`Custom AI agents`}];function u(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let d=h(`router-link`);return a.value?(D(),l(w,{key:0},[f(`tr`,null,[f(`th`,{scope:`row`,colspan:`2`,title:E(R)(`agentic/tools`)},[...r[0]||=[f(`i`,{class:`iconoir-cpu`},null,-1),M(` AI Coding Assistants `,-1)]],8,On)]),f(`tr`,null,[f(`td`,kn,[f(`div`,An,[(D(),l(w,null,s(c,n=>t(d,{key:n.key,class:k([`tool-item`,{"not-implemented":!i.value.includes(n.key)}]),to:u(`agentic/tools`,n.key)},{default:e(()=>[f(`div`,jn,[f(`input`,{type:`checkbox`,checked:i.value.includes(n.key),disabled:``},null,8,Mn),f(`i`,{class:k([n.icon,i.value.includes(n.key)?`implemented`:`not-implemented`])},null,2),f(`strong`,null,v(n.name),1)]),f(`div`,Nn,v(n.description),1)]),_:2},1032,[`class`,`to`])),64))])])])],64)):o(``,!0)}}},[[`__scopeId`,`data-v-52b7b17d`]]),Fn={key:0},In=[`title`],Ln={class:`activity-summary`},Rn={class:`activity-item`},zn={key:0,class:`activity-item`},Bn={class:`activity-value`},Vn={key:1,class:`activity-item`},Hn={key:0,class:`license-details-inline`},Un={class:`badge badge-secondary`},Wn={class:`license-overflow`},Gn=_({__name:`LicenseInfo`,props:{annotations:Object,kind:String},setup(n){let i=n,a=d(()=>i.annotations[`license/spdx`]),c=d(()=>i.annotations[`license/category`]||`unknown`),u=d(()=>i.annotations[`license/dependencies/count`]),p=d(()=>(i.annotations[`license/dependencies/ecosystems`]||``).split(`,`).map(e=>e.trim()).filter(Boolean)),m=d(()=>i.annotations[`license/dependencies/risk`]||`unknown`),g=d(()=>i.annotations[`license/dependencies/copyleft`]||`unknown`),_=d(()=>(i.annotations[`license/dependencies/licenses`]||``).split(`,`).map(e=>e.trim()).filter(Boolean)),y=d(()=>{switch(c.value){case`permissive`:return`badge-success`;case`weak-copyleft`:return`badge-warning`;case`source-available`:return`badge-warning`;case`copyleft`:return`badge-danger`;default:return`badge-secondary`}}),b=d(()=>{switch(m.value){case`low`:return`badge-success`;case`weak-copyleft`:return`badge-warning`;case`copyleft`:return`badge-danger`;default:return`badge-secondary`}}),x=d(()=>{switch(m.value){case`copyleft`:return`Copyleft dependencies (GPL, AGPL) or >50% unknown licenses`;case`weak-copyleft`:return`Weak-copyleft dependencies (LGPL, MPL) present`;case`low`:return`All dependencies have known permissive licenses`;default:return`No dependency license data available`}}),S=d(()=>_.value.filter(e=>e!==`unknown`).map(e=>({name:e,count:parseInt(i.annotations[`license/dependencies/${e}/count`]||`0`,10)})).sort((e,t)=>t.count-e.count));function C(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,i)=>{let d=h(`router-link`);return a.value?(D(),l(`tr`,Fn,[f(`th`,{scope:`row`,title:E(R)(`license/spdx`,`license/category`,`license/dependencies/count`,`license/dependencies/ecosystems`,`license/dependencies/risk`,`license/dependencies/copyleft`,`license/dependencies/licenses`)},`License`,8,In),f(`td`,null,[f(`div`,Ln,[f(`div`,Rn,[i[0]||=f(`i`,{class:`iconoir-shield-check`},null,-1),t(d,{class:k([`badge`,y.value]),to:C(`license/spdx`,a.value)},{default:e(()=>[M(v(a.value),1)]),_:1},8,[`class`,`to`]),c.value===`unknown`?o(``,!0):(D(),r(d,{key:0,class:`badge badge-outline`,to:C(`license/category`,c.value)},{default:e(()=>[M(v(c.value),1)]),_:1},8,[`to`]))]),u.value&&parseInt(u.value)>0?(D(),l(`div`,zn,[i[2]||=f(`i`,{class:`iconoir-box`},null,-1),i[3]||=f(`span`,{class:`activity-label`},`Dependencies:`,-1),f(`span`,Bn,v(u.value),1),(D(!0),l(w,null,s(p.value,t=>(D(),r(d,{key:t,class:`badge badge-info`,to:C(`license/dependencies/ecosystems`,t)},{default:e(()=>[M(v(t),1)]),_:2},1032,[`to`]))),128)),t(d,{class:k([`badge`,b.value]),title:x.value,to:C(`license/dependencies/risk`,m.value)},{default:e(()=>[M(`Risk: `+v(m.value),1)]),_:1},8,[`class`,`title`,`to`]),g.value===`true`?(D(),r(d,{key:0,class:`badge badge-warning`,to:C(`license/dependencies/copyleft`,`true`)},{default:e(()=>[...i[1]||=[M(`Copyleft present`,-1)]]),_:1},8,[`to`])):o(``,!0)])):o(``,!0),S.value.length?(D(),l(`div`,Vn,[i[4]||=f(`i`,{class:`iconoir-list`},null,-1),i[5]||=f(`span`,{class:`activity-label`},`Types:`,-1),(D(!0),l(w,null,s(S.value.slice(0,5),t=>(D(),r(d,{key:t.name,class:`badge badge-outline`,to:C(`license/dependencies/licenses`,t.name)},{default:e(()=>[M(v(t.count>0?`${t.name} (${t.count})`:t.name),1)]),_:2},1032,[`to`]))),128)),S.value.length>5?(D(),l(`details`,Hn,[f(`summary`,Un,`+`+v(S.value.length-5)+` more`,1),f(`div`,Wn,[(D(!0),l(w,null,s(S.value.slice(5),t=>(D(),r(d,{key:t.name,class:`badge badge-outline`,to:C(`license/dependencies/licenses`,t.name)},{default:e(()=>[M(v(t.count>0?`${t.name} (${t.count})`:t.name),1)]),_:2},1032,[`to`]))),128))])])):o(``,!0)])):o(``,!0)])])])):o(``,!0)}}},[[`__scopeId`,`data-v-126f0fee`]]),Kn={key:0},qn=[`title`],Jn={__name:`ExternalLinks`,props:{annotations:Object},setup(e){let n=e,r=d(()=>Object.fromEntries(Object.entries(n.annotations).filter(([e])=>e.startsWith(`link/`)).map(([e,t])=>[e.slice(5),t])));return(e,n)=>Object.keys(r.value).length?(D(),l(`tr`,Kn,[f(`th`,{scope:`row`,title:E(R)(`link/<name>`)},`Links`,8,qn),f(`td`,null,[t(U,{links:r.value},null,8,[`links`])])])):o(``,!0)}},Yn={"component/type":{executable:`play`,library:`book-stack`,module:`box-3d-three-points`,plugin:`plug-type-a`,frontend:`web-window`,other:`code-brackets`},"component/role":{service:`cloud-sync`,cli:`terminal`,job:`timer`,operator:`settings`,agent:`cpu`}},Xn={"architecture/kind":`Architecture style`,"architecture/size":`Architecture size`,"component/dependents":`Used by`},Zn=[`architecture/aliases`,`component/type`,`component/role`,`architecture/kind`,`architecture/size`,`architecture/tags`,`component/dependents`];function Qn(e,t){return Yn[e]?.[t]||null}function $n(e){return Xn[e]||null}function er(e,t){if(e!==`component/dependents`)return t;let n=Number(t);return Number.isFinite(n)?n===0?`No other component`:`${n} ${n===1?`component`:`components`}`:t}var tr={class:`chip-group`},nr={key:1,class:`chip-namespace`},rr={__name:`TagChips`,props:{kind:{type:String,required:!0},annotationKey:{type:String,required:!0},values:{type:Array,required:!0},linked:{type:Boolean,default:!0}},setup(t){let n=t,i={planned:`chip-info`,deprecated:`chip-warning`,sunset:`chip-danger`,"end-of-life":`chip-danger`},a=/^([a-z][a-z0-9-]*):(.+)$/i;function c(e){return String(e).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}let u=d(()=>n.values.map(e=>{let t=a.exec(e);return{value:e,namespace:t?t[1]:null,label:t?t[2]:e,symbol:Qn(n.annotationKey,e),tone:n.annotationKey===`lifecycle/status`&&i[e]||null,to:{name:`search`,query:A(`${n.kind}: ${n.annotationKey} == "${c(e)}"`)}}}));return(n,i)=>(D(),l(`span`,tr,[(D(!0),l(w,null,s(u.value,n=>(D(),r(g(t.linked?`router-link`:`span`),{key:n.value,class:k([`chip`,n.tone]),to:t.linked?n.to:void 0,title:t.linked?`Show ${t.kind} resources with ${t.annotationKey} = ${n.value}`:void 0},{default:e(()=>[n.symbol?(D(),l(`i`,{key:0,class:k(`iconoir-${n.symbol} icon-application chip-symbol`),"aria-hidden":`true`},null,2)):o(``,!0),n.namespace?(D(),l(`span`,nr,v(n.namespace),1)):o(``,!0),f(`span`,null,v(n.label),1)]),_:2},1032,[`class`,`to`,`title`]))),128))]))}},ir=[`title`],ar=[`innerHTML`],or=[`href`],sr={__name:`AnnotationRow`,props:{annotationKey:String,value:[String,Number,Boolean],kind:String,format:{type:String,default:null},link:{type:String,default:null}},setup(e){let t=e,n=j(null);H(n);let i=d(()=>{let e=$n(t.annotationKey);if(e)return e;let n=t.annotationKey.split(`/`);return n[n.length-1].replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase())}),a=d(()=>typeof t.value==`string`&&/^https?:\/\//.test(t.value)),o=d(()=>t.format!==`identifier`||t.value==null?[]:String(t.value).split(`,`).map(e=>e.trim()).filter(Boolean)),s=d(()=>{if(![`tag_list`,`tag_word`].includes(t.format)||t.value==null)return[];let e=String(t.value);return t.format===`tag_list`?e.split(`,`).map(e=>e.trim()).filter(Boolean):[e]});return(t,c)=>(D(),l(`tr`,null,[f(`th`,{scope:`row`,title:E(R)(e.annotationKey)},v(i.value),9,ir),f(`td`,null,[e.format===`markdown`?(D(),l(`div`,{key:0,ref_key:`mdEl`,ref:n,innerHTML:e.value},null,8,ar)):o.value.length?(D(),r(rr,{key:1,kind:e.kind,"annotation-key":e.annotationKey,values:o.value,linked:!1},null,8,[`kind`,`annotation-key`,`values`])):s.value.length?(D(),r(rr,{key:2,kind:e.kind,"annotation-key":e.annotationKey,values:s.value},null,8,[`kind`,`annotation-key`,`values`])):(D(),l(w,{key:3},[a.value?(D(),l(`a`,{key:0,href:e.value,target:`_blank`},v(e.value),9,or)):(D(),l(w,{key:1},[M(v(E(er)(e.annotationKey,e.value)),1)],64))],64))])]))}},cr={class:`instance-title-text`},lr={class:`instance-name`},ur={class:`instance-kind-subtitle`},dr={key:0,class:`generated-badge`},fr={class:`generated-script`},pr={key:0,class:`generated-time`},mr={class:`header-actions`},hr={key:0,class:`view-pager`,role:`group`,"aria-label":`Diagram view`},gr=[`aria-pressed`],_r=[`aria-pressed`],vr=[`innerHTML`],yr={class:`graph-options`},br={role:`group`,"aria-label":`Graph depth`},xr=[`aria-pressed`,`title`,`onClick`],Sr={role:`group`,"aria-label":`Graph layers`},Cr=[`aria-pressed`,`aria-label`,`disabled`,`title`,`onClick`],wr=[`innerHTML`],Tr={key:3,class:`graph-too-large`},Er=[`innerHTML`],Dr={class:`documentation`},Or=_({__name:`InstanceDetail`,props:{data:Object,kind:String,kindMeta:Object},setup(n){let a=n,g=j(``),_=j(null),x=j(null),A=!1,I=null,L=[1,2,3,null],R=S,z=e=>`${O.find(t=>t.id===e)?.title||e} layer`;function ee(e,t,n){try{let r=localStorage.getItem(e),i=r===null?t:JSON.parse(r);return n.includes(i)?i:t}catch{return t}}function ne(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}let B=j(ee(`archsight.graphDepth`,2,L)),V=j([...a.data.graph_layers||R]);async function se(e){B.value=e,ne(`archsight.graphDepth`,e),A=!1,await Q()}async function ce(e){let t=V.value.includes(e);t&&V.value.length===1||(V.value=t?V.value.filter(t=>t!==e):R.filter(t=>t===e||V.value.includes(t)),A=!1,await Q())}let U=j(null);H(U);let{embeds:le,scanEmbeds:ue}=oe(),de=j(null);H(de);let G=d(()=>a.data.metadata?.annotations||{}),K=d(()=>Object.keys(a.data.relations||{}).length>0),fe=d(()=>{let e=a.data.references||{};return K.value||Object.keys(e).length>0}),q=d(()=>G.value[`generated/script`]),pe=d(()=>G.value[`generated/at`]),J=d(()=>G.value[`architecture/description`]),Y=d(()=>a.data.diagram||``),X=j(a.data.diagram?`diagram`:`graph`),me=[[`go`,`Go`],[`python`,`Python`],[`java`,`Java`],[`typescript`,`TypeScript`],[`javascript`,`JavaScript`],[`rust`,`Rust`],[`ruby`,`Ruby`],[`crystal`,`Crystal`],[`cpp`,`C++`],[`csharp`,`C#`],[`zig`,`Zig`],[`elixir`,`Elixir`]],he=d(()=>{let e=me.filter(([e])=>G.value[`architecture/${e}/modules`]).map(([e,t])=>({label:`${t} Module Structure`,dot:G.value[`architecture/${e}/modules`]}));return!e.length&&G.value[`architecture/modules`]&&e.push({label:`Module Structure`,dot:G.value[`architecture/modules`]}),e}),ge=[`scc/language/`,`repository/artifacts/`,`link/`,`team/`,`jira/`,`generated/`,`license/`],_e=new Set([`scc/languages`,`architecture/description`,`architecture/diagram`,`architecture/modules`,`workflow/platforms`,`workflow/types`,`agentic/tools`,`repository/artifacts`,`repository/git`,`repository/visibility`]),ve=[/^scc\/estimated(Cost|ScheduleMonths|People)$/,/^activity\/(commits|contributors(\/.*)?|status|busFactor|createdAt)$/,/^scc\/language\/.+\/loc$/,/^repository\/$/,/^architecture\/.+\/modules$/],ye=d(()=>{let e=e=>{let t=Zn.indexOf(e);return t===-1?Zn.length:t};return Object.entries(G.value).filter(([e])=>!(_e.has(e)||ge.some(t=>e.startsWith(t))||ve.some(t=>t.test(e)))).sort(([t],[n])=>e(t)-e(n))});async function Q(){if(A||!K.value)return;A=!0;let e=await b(a.kind,a.data.name,{depth:B.value,layers:V.value});I?.destroy(),I=null,g.value=e?await N(e):``,await m(),Ce()}async function Se(e){X.value=e,e===`graph`&&await Q()}i(async()=>{X.value===`graph`&&await Q(),await m(),U.value&&(ie(U.value),re(U.value),ue(U.value))}),p(J,async()=>{await m(),U.value&&(ie(U.value),re(U.value),ue(U.value))}),c(()=>{I?.destroy()});function Ce(){if(!_.value)return;let e=_.value.querySelector(`svg`);e&&(I=P(e,_.value,{fullscreenTarget:x.value}))}return(i,a)=>{let c=h(`router-link`);return D(),l(w,null,[f(`article`,null,[f(`header`,null,[f(`h2`,null,[n.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,cr,[f(`span`,lr,v(E(F)(n.data.name,n.kind)),1),f(`span`,ur,v(n.kind),1)])]),q.value?(D(),l(`div`,dr,[f(`span`,fr,[a[2]||=M(` by `,-1),t(c,{to:{name:`instance`,params:{kind:`Import`,instance:q.value}}},{default:e(()=>[M(v(q.value),1)]),_:1},8,[`to`])]),pe.value?(D(),l(`span`,pr,` generated `+v(E(te)(pe.value)),1)):o(``,!0)])):o(``,!0),f(`div`,mr,[t(W,{kind:n.kind,name:n.data.name},null,8,[`kind`,`name`]),q.value?o(``,!0):(D(),r(c,{key:0,class:`btn-header`,to:`/kinds/${n.kind}/instances/${n.data.name}/edit`,title:`Edit this resource`},{default:e(()=>[...a[3]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`]))])]),Y.value&&K.value?(D(),l(`div`,hr,[f(`button`,{type:`button`,class:k([`outline`,{secondary:X.value!==`diagram`}]),"aria-pressed":X.value===`diagram`,onClick:a[0]||=e=>Se(`diagram`)},[...a[4]||=[f(`i`,{class:`iconoir-developer`},null,-1),M(` Diagram `,-1)]],10,gr),f(`button`,{type:`button`,class:k([`outline`,{secondary:X.value!==`graph`}]),"aria-pressed":X.value===`graph`,onClick:a[1]||=e=>Se(`graph`)},[...a[5]||=[f(`i`,{class:`iconoir-graph-up`},null,-1),M(` Dependencies `,-1)]],10,_r)])):o(``,!0),Y.value?y((D(),l(`div`,{key:1,ref_key:`diagramEl`,ref:de,class:`asd-diagram-wrap`,innerHTML:Y.value},null,8,vr)),[[T,X.value===`diagram`]]):o(``,!0),K.value&&g.value?y((D(),l(`div`,{key:2,ref_key:`graphBox`,ref:x,class:`graph-container`},[f(`div`,yr,[a[6]||=f(`i`,{class:`iconoir-depth`,title:`Depth: how many steps the graph follows`},null,-1),f(`div`,br,[(D(),l(w,null,s(L,e=>f(`button`,{key:String(e),type:`button`,class:k({outline:B.value!==e,secondary:B.value!==e}),"aria-pressed":B.value===e,title:e?`Depth ${e}: ${e} step${e>1?`s`:``} from here`:`Depth: all the way`,onClick:t=>se(e)},v(e??`All`),11,xr)),64))]),a[7]||=f(`i`,{class:`iconoir-color-filter`,title:`Layers the graph follows`},null,-1),f(`div`,Sr,[(D(!0),l(w,null,s(E(R),e=>(D(),l(`button`,{key:e,type:`button`,class:k([`layer-toggle`,{outline:!V.value.includes(e),secondary:!V.value.includes(e)}]),"aria-pressed":V.value.includes(e),"aria-label":z(e),disabled:V.value.length===1&&V.value.includes(e),title:`${z(e)}: ${V.value.includes(e)?`shown, click to hide`:`hidden, click to show`}`,onClick:t=>ce(e)},[f(`span`,{class:`layer-swatch`,style:C({background:`var(--layer-${e}-fill, var(--pico-muted-border-color))`})},null,4)],10,Cr))),128))])]),f(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:_,class:`canvas`,innerHTML:g.value},null,8,wr)],512)),[[T,X.value===`graph`]]):fe.value&&!K.value&&!Y.value?(D(),l(`p`,Tr,[...a[8]||=[f(`i`,{class:`iconoir-graph-up`},null,-1),M(` No outgoing dependencies — graph omitted `,-1)]])):o(``,!0),J.value?(D(),l(`div`,{key:4,ref_key:`descEl`,ref:U,innerHTML:J.value,class:k([`prose`,{footer:fe.value}])},null,10,Er)):o(``,!0),(D(!0),l(w,null,s(E(le),e=>(D(),r(u,{key:e.key,to:e.el},[t(ae,{kind:e.kind,name:e.name,spec:e.spec},null,8,[`kind`,`name`,`spec`])],8,[`to`]))),128))]),(D(!0),l(w,null,s(he.value,e=>(D(),r(be,{key:e.label,dot:e.dot,label:e.label},null,8,[`dot`,`label`]))),128)),t(xe,{data:n.data},null,8,[`data`]),f(`article`,Dr,[a[9]||=f(`header`,null,[f(`h2`,null,`Details`)],-1),f(`table`,null,[f(`tbody`,null,[t(Oe,{annotations:G.value},null,8,[`annotations`]),t(Re,{annotations:G.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Je,{annotations:G.value},null,8,[`annotations`]),t(rt,{annotations:G.value},null,8,[`annotations`]),t(St,{annotations:G.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Qt,{annotations:G.value,instance:n.data},null,8,[`annotations`,`instance`]),t(nn,{annotations:G.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Dn,{annotations:G.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Pn,{annotations:G.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Gn,{annotations:G.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Jn,{annotations:G.value},null,8,[`annotations`]),(D(!0),l(w,null,s(ye.value,([e,t])=>(D(),r(sr,{key:e,"annotation-key":e,value:t,kind:n.kind,format:n.data.annotation_formats?.[e]||null,link:n.data.annotation_links?.[e]??null},null,8,[`annotation-key`,`value`,`kind`,`format`,`link`]))),128))])])]),t(Z,{data:n.data},null,8,[`data`])],64)}}},[[`__scopeId`,`data-v-d50431eb`]]),kr={class:`view-header`},Ar={class:`instance-title-text`},jr={class:`instance-name`},Mr={class:`header-actions`},Nr=[`innerHTML`],Pr={key:1,class:`view-query-display`},Fr={class:`query-item`},Ir={class:`query-value`},Lr={key:1},Rr=_({__name:`ViewDetail`,props:{data:Object,kindMeta:Object},setup(e){let n=e,i=d(()=>n.data.metadata?.annotations||{}),a=d(()=>se(i.value)),s=d(()=>a.value.query),c=d(()=>i.value[`architecture/description`]),u=d(()=>a.value.fields),p=d(()=>a.value.sort),m=d(()=>a.value.showKind),h=j(null);return H(h),(n,i)=>(D(),l(w,null,[f(`article`,kr,[f(`header`,null,[f(`h2`,null,[e.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${e.kindMeta.icon} icon-${e.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,Ar,[f(`span`,jr,v(E(F)(e.data.name,`View`)),1),i[0]||=f(`span`,{class:`instance-kind-subtitle`},`View`,-1)])]),f(`div`,Mr,[t(W,{kind:`View`,name:e.data.name},null,8,[`name`])])]),c.value?(D(),l(`div`,{key:0,ref_key:`descEl`,ref:h,class:`description-box prose`,innerHTML:c.value},null,8,Nr)):o(``,!0),s.value?(D(),l(`div`,Pr,[f(`p`,Fr,[i[1]||=f(`span`,{class:`label`},`Query:`,-1),f(`code`,Ir,v(s.value),1)])])):o(``,!0)]),s.value?(D(),r(ne,{key:0,query:s.value,fields:u.value,sort:p.value,"show-kind":m.value},null,8,[`query`,`fields`,`sort`,`show-kind`])):o(``,!0),s.value?o(``,!0):(D(),l(`article`,Lr,[...i[2]||=[f(`p`,{class:`view-empty-state`},[f(`em`,null,`No query defined`)],-1)]]))],64))}},[[`__scopeId`,`data-v-1c2b385e`]]),zr={components:{RelationsGrid:Z,AnalysisResults:B,EmbedButton:W},props:{data:Object,kindMeta:Object},setup(e){let t=d(()=>e.data.metadata?.annotations||{}),n=d(()=>t.value[`analysis/description`]),r=d(()=>t.value[`architecture/description`]),i=d(()=>t.value[`analysis/script`]),a=j(null);H(a);let o=j(null);return H(o),{annotations:t,summary:n,description:r,analysisScript:i,descEl:a,summaryEl:o,displayName:F}}},Br={class:`analysis-header`},Vr={class:`instance-title-text`},Hr={class:`instance-name`},Ur={class:`header-actions`},Wr=[`innerHTML`],Gr=[`innerHTML`],Kr={key:1};function qr(n,i,a,s,c,u){let d=h(`EmbedButton`),p=h(`router-link`),m=h(`AnalysisResults`),g=h(`RelationsGrid`);return D(),l(w,null,[f(`article`,Br,[f(`header`,null,[f(`h2`,null,[a.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${a.kindMeta.icon} icon-${a.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,Vr,[f(`span`,Hr,v(s.displayName(a.data.name,`Analysis`)),1),i[0]||=f(`span`,{class:`instance-kind-subtitle`},`Analysis`,-1)])]),f(`div`,Ur,[t(d,{kind:`Analysis`,name:a.data.name},null,8,[`name`]),t(p,{class:`btn-header`,to:`/kinds/Analysis/instances/${a.data.name}/edit`,title:`Edit this resource`},{default:e(()=>[...i[1]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`])])]),s.summary?(D(),l(`div`,{key:0,ref:`summaryEl`,class:`analysis-summary prose`,innerHTML:s.summary},null,8,Wr)):o(``,!0),s.description?(D(),l(`div`,{key:1,ref:`descEl`,class:`description-box prose`,innerHTML:s.description},null,8,Gr)):o(``,!0)]),s.analysisScript?(D(),r(m,{key:0,name:a.data.name},null,8,[`name`])):(D(),l(`article`,Kr,[...i[2]||=[f(`p`,{class:`analysis-empty-state`},[f(`i`,{class:`iconoir-warning-triangle`}),M(` No script defined for this analysis. `)],-1)]])),t(g,{data:a.data},null,8,[`data`])],64)}var Jr=_(zr,[[`render`,qr],[`__scopeId`,`data-v-a10d9499`]]),Yr={class:`import-header`},Xr={class:`instance-title-text`},Zr={class:`instance-name`},Qr={class:`header-actions`},$r={key:0,class:`badge badge-primary`},ei={key:1,class:`badge badge-warning`},ti=[`innerHTML`],ni={key:0,class:`graph-container`},ri=[`innerHTML`],ii={key:1,class:`graph-too-large`},ai={key:2,class:`graph-too-large`},oi={class:`import-configuration`},si={class:`import-metadata`},ci={key:0,class:`import-meta-item`},li={key:1,class:`import-meta-item`},ui={key:2,class:`import-meta-item`},di={key:3,class:`import-meta-item status-enabled`},fi={key:4,class:`import-meta-item status-disabled`},pi={key:0,class:`import-output-path`},mi={key:1,class:`import-config-section`,open:``},hi={class:`import-config-table`},gi={scope:`row`},_i={key:0},vi=_({__name:`ImportDetail`,props:{data:Object,kindMeta:Object},setup(n){let r=n,a=j(``),u=j(null),p=null,g=j(null);H(g);let _=d(()=>r.data.metadata?.annotations||{}),y=d(()=>_.value[`import/handler`]),x=d(()=>_.value[`import/enabled`]!==`false`),S=d(()=>_.value[`import/cacheTime`]),C=d(()=>_.value[`import/priority`]),T=d(()=>_.value[`import/outputPath`]),O=d(()=>_.value[`architecture/description`]),A=d(()=>Object.entries(_.value).filter(([e])=>e.startsWith(`import/config/`)).map(([e,t])=>[e.replace(`import/config/`,``),t])),I=d(()=>{let e=r.data.relations||{};return Object.values(e).reduce((e,t)=>typeof t==`object`?e+Object.values(t).reduce((e,t)=>e+(Array.isArray(t)?t.length:0),0):e,0)}),L=d(()=>Object.keys(r.data.relations||{}).length>0),R=d(()=>{let e=r.data.references||{};return L.value||Object.keys(e).length>0}),z=d(()=>I.value>=50);i(async()=>{if(L.value&&!z.value){let e=await b(`Import`,r.data.name);a.value=e?await N(e):``,await m(),ee()}}),c(()=>{p?.destroy()});function ee(){if(!u.value)return;let e=u.value.querySelector(`svg`);e&&(p=P(e,u.value))}function te(e){return typeof e==`string`?e.startsWith(`http`)||e.startsWith(`git@`)||e.startsWith(`file://`):!1}return(r,i)=>{let c=h(`router-link`);return D(),l(w,null,[f(`article`,Yr,[f(`header`,null,[f(`h2`,null,[n.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,Xr,[f(`span`,Zr,v(E(F)(n.data.name,`Import`)),1),i[0]||=f(`span`,{class:`instance-kind-subtitle`},`Import`,-1)])]),f(`div`,Qr,[y.value?(D(),l(`span`,$r,v(y.value),1)):o(``,!0),x.value?o(``,!0):(D(),l(`span`,ei,`Disabled`)),t(c,{class:`btn-header`,to:`/kinds/Import/instances/${n.data.name}/edit`,title:`Edit this resource`},{default:e(()=>[...i[1]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`])])]),O.value?(D(),l(`div`,{key:0,ref_key:`descEl`,ref:g,class:`description-box prose`,innerHTML:O.value},null,8,ti)):o(``,!0),R.value?(D(),l(w,{key:1},[L.value&&!z.value&&a.value?(D(),l(`div`,ni,[f(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:u,class:`canvas`,innerHTML:a.value},null,8,ri)])):z.value?(D(),l(`p`,ii,[i[2]||=f(`i`,{class:`iconoir-warning-triangle`},null,-1),M(` Graph too large to display (`+v(I.value)+` relations) `,1)])):L.value?o(``,!0):(D(),l(`p`,ai,[...i[3]||=[f(`i`,{class:`iconoir-graph-up`},null,-1),M(` No outgoing dependencies — graph omitted `,-1)]]))],64)):o(``,!0)]),f(`article`,oi,[i[11]||=f(`header`,null,[f(`h3`,null,[f(`i`,{class:`iconoir-settings`}),M(` Configuration`)])],-1),f(`div`,si,[y.value?(D(),l(`span`,ci,[i[4]||=f(`i`,{class:`iconoir-code`},null,-1),M(` `+v(y.value),1)])):o(``,!0),S.value?(D(),l(`span`,li,[i[5]||=f(`i`,{class:`iconoir-timer`},null,-1),M(` `+v(S.value),1)])):o(``,!0),C.value?(D(),l(`span`,ui,[i[6]||=f(`i`,{class:`iconoir-sort-down`},null,-1),M(` Priority: `+v(C.value),1)])):o(``,!0),x.value?(D(),l(`span`,di,[...i[7]||=[f(`i`,{class:`iconoir-check-circle`},null,-1),M(` Enabled `,-1)]])):(D(),l(`span`,fi,[...i[8]||=[f(`i`,{class:`iconoir-xmark-circle`},null,-1),M(` Disabled `,-1)]]))]),T.value?(D(),l(`div`,pi,[i[9]||=f(`strong`,null,`Output:`,-1),f(`code`,null,v(T.value),1)])):o(``,!0),A.value.length?(D(),l(`details`,mi,[i[10]||=f(`summary`,null,[f(`i`,{class:`iconoir-list`}),M(` Handler Settings `)],-1),f(`table`,hi,[f(`tbody`,null,[(D(!0),l(w,null,s(A.value,([e,t])=>(D(),l(`tr`,{key:e},[f(`th`,gi,v(e),1),f(`td`,null,[te(t)?(D(),l(`code`,_i,v(t),1)):(D(),l(w,{key:1},[M(v(t),1)],64))])]))),128))])])])):o(``,!0)]),t(Z,{data:n.data},null,8,[`data`])],64)}}},[[`__scopeId`,`data-v-f0340aef`]]),yi={class:`page-actions`},bi={class:`page-resource`},xi={__name:`PageDetail`,props:{data:Object,kindMeta:Object},setup(n){return(r,i)=>{let a=h(`router-link`);return D(),l(w,null,[t(ce,{name:n.data.name},{actions:e(()=>[f(`div`,yi,[f(`span`,bi,[n.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):o(``,!0),i[0]||=M(` Page `,-1),f(`code`,null,v(E(F)(n.data.name,`Page`)),1)]),t(a,{class:`btn-header`,to:{name:`page`,params:{name:n.data.name}},title:`Open in the handbook tree`},{default:e(()=>[...i[1]||=[f(`i`,{class:`iconoir-book`},null,-1),M(` Open in handbook `,-1)]]),_:1},8,[`to`]),t(a,{class:`btn-header`,to:`/kinds/Page/instances/${encodeURIComponent(n.data.name)}/edit`,title:`Edit this page`},{default:e(()=>[...i[2]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`])])]),_:1},8,[`name`]),t(Z,{data:n.data},null,8,[`data`])],64)}}},Si={key:0},Ci={key:1},wi={__name:`InstanceRouter`,props:{kind:String,instance:String},setup(e){let t=e,i=n(),s=a(`kinds`),c=j(null),u=j(!0),d=j(null);async function m(){u.value=!0,d.value=null;try{c.value=await x(t.kind,t.instance);let e=c.value.kind||t.kind,n=c.value.name||t.instance;(e!==t.kind||n!==t.instance)&&i.replace({name:`instance`,params:{kind:e,instance:n}})}catch(e){d.value=e.message}finally{u.value=!1}}p(()=>[t.kind,t.instance],m,{immediate:!0});function h(){return s.value?s.value.kinds.find(e=>e.kind===t.kind):null}return(t,n)=>u.value?(D(),l(`article`,Si,[...n[0]||=[f(`p`,null,`Loading...`,-1)]])):d.value?(D(),l(`article`,Ci,[n[4]||=f(`header`,null,[f(`h2`,null,`Not Found`)],-1),f(`p`,null,[n[1]||=M(`Instance `,-1),f(`strong`,null,v(e.instance),1),n[2]||=M(` of kind `,-1),f(`strong`,null,v(e.kind),1),n[3]||=M(` was not found.`,-1)])])):c.value?(D(),l(w,{key:2},[e.kind===`View`?(D(),r(Rr,{key:0,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Analysis`?(D(),r(Jr,{key:1,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Import`?(D(),r(vi,{key:2,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Page`?(D(),r(xi,{key:3,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):(D(),r(Or,{key:4,data:c.value,kind:e.kind,"kind-meta":h()},null,8,[`data`,`kind`,`kind-meta`]))],64)):o(``,!0)}};export{wi as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,B as t,E as n,F as r,H as i,I as a,K as o,L as s,N as c,P as l,Q as u,T as d,U as f,X as p,_ as m,a as h,at as g,j as _,q as v,rt as y,tt as b,v as x,z as S}from"./index-CLuLTE5I.js";import{t as C}from"./useGraphviz-Dnm2pkon.js";import{t as w}from"./usePanZoom-HxgEsqq2.js";import{t as T}from"./ResourceList-DooWFwQP.js";var E={key:0},D={key:1,class:`kind-graph-note`},O={key:0,class:`kind-graph-note`},k=[`innerHTML`],A=h({__name:`KindGraph`,props:{kind:String,total:Number},setup(e){let t=e,n=b(``),r=b(0),i=b(!0),c=b(null),d=b(null),p=null;async function h(){i.value=!0,p?.destroy(),p=null;let e=await m(t.kind);n.value=e?await C(e):``,r.value=(n.value.match(/class="node\b/g)||[]).length,i.value=!1,await f();let a=d.value?.querySelector(`svg`);a&&(p=w(a,d.value,{fullscreenTarget:c.value}))}return u(()=>t.kind,h,{immediate:!0}),o(()=>{p?.destroy()}),(t,o)=>i.value?(v(),s(`p`,E,`Loading graph...`)):r.value?(v(),s(_,{key:2},[e.total>r.value?(v(),s(`p`,O,g(r.value)+` of `+g(e.total)+` resources are related to each other; the list shows all of them. `,1)):a(``,!0),l(`div`,{ref_key:`graphBox`,ref:c,class:`graph-container`},[l(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:d,innerHTML:n.value},null,8,k)],512)],64)):(v(),s(`p`,D,`No relations between `+g(e.kind)+` resources.`,1))}},[[`__scopeId`,`data-v-d11563c5`]]),j={key:0},M={class:`header-actions`},N={key:0,class:`kind-view`,role:`group`,"aria-label":`Show as`},P=[`aria-pressed`],F=[`aria-pressed`,`title`],I={key:1},L=100,R=h({__name:`KindList`,props:{kind:String},setup(o){let f=o,m=d(),h=n(),_=i(`kinds`),C=b([]),w=b(0),E=b(!0),D=b(!1),O=b(null),k=0;async function R(){E.value=!0,k=0;try{let e=await x(f.kind,{limit:L,offset:0,output:`brief`});e.kind&&e.kind!==f.kind&&h.replace({name:`kind`,params:{kind:e.kind}}),C.value=e.instances||[],w.value=e.total||0,k=C.value.length}catch{C.value=[],w.value=0}_.value&&(O.value=_.value.kinds.find(e=>e.kind===f.kind)),E.value=!1}async function z(){if(!(D.value||k>=w.value)){D.value=!0;try{let e=(await x(f.kind,{limit:L,offset:k,output:`brief`})).instances||[];C.value=[...C.value,...e],k+=e.length}catch{}D.value=!1}}u(()=>f.kind,R,{immediate:!0});let B=c(()=>!!O.value?.self_relations),V=c(()=>B.value&&m.query.view===`graph`);function H(e){h.replace({query:{...m.query,view:e===`graph`?`graph`:void 0}})}function U(e){return e.replace(/([a-z])([A-Z])/g,`$1_$2`).toLowerCase()}return(n,i)=>{let c=p(`router-link`);return E.value?(v(),s(`article`,I,[...i[5]||=[l(`p`,null,`Loading...`,-1)]])):(v(),s(`article`,j,[l(`header`,null,[l(`h2`,null,[O.value?(v(),s(`i`,{key:0,class:y(`iconoir-${O.value.icon} icon-${O.value.layer}`)},null,2)):a(``,!0),S(` `+g(o.kind),1)]),l(`div`,M,[B.value?(v(),s(`div`,N,[l(`button`,{type:`button`,class:y({outline:V.value,secondary:V.value}),"aria-pressed":!V.value,"aria-label":`List`,title:`List of all resources`,onClick:i[0]||=e=>H(`list`)},[...i[2]||=[l(`i`,{class:`iconoir-list`},null,-1)]],10,P),l(`button`,{type:`button`,class:y({outline:!V.value,secondary:!V.value}),"aria-pressed":V.value,"aria-label":`Graph`,title:`Graph of the relations between ${o.kind} resources`,onClick:i[1]||=e=>H(`graph`)},[...i[3]||=[l(`i`,{class:`iconoir-network`},null,-1)]],10,F)])):a(``,!0),t(c,{class:`kind-help`,to:{name:`doc`,params:{filename:`resources/`+U(o.kind)}},title:`Documentation`},{default:e(()=>[...i[4]||=[l(`i`,{class:`iconoir-help-circle`},null,-1)]]),_:1},8,[`to`])])]),V.value?(v(),r(A,{key:0,kind:o.kind,total:w.value},null,8,[`kind`,`total`])):(v(),r(T,{key:1,instances:C.value,"omit-kind":!0,total:w.value,"loading-more":D.value,onLoadMore:z},null,8,[`instances`,`total`,`loading-more`]))]))}}},[[`__scopeId`,`data-v-e2d53ca9`]]);export{R as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-COiEfhsA.js";import{$ as t,B as n,F as r,I as i,J as a,L as o,N as s,P as c,Q as l,R as ee,X as u,Y as d,a as f,at as p,j as m,nt as h,q as g,rt as _,s as v,t as y,tt as b,y as x,z as S}from"./index-CLuLTE5I.js";import{c as C,i as w}from"./ResourceList-DooWFwQP.js";import{t as T}from"./WikiPage-B2FYmeHL.js";var E={confluence:`Confluence`,jira:`Jira`,github:`GitHub`,gitlab:`GitLab`,servicenow:`ServiceNow`,grafana:`Grafana`,prometheus:`Prometheus`,sonar:`SonarQube`,slack:`Slack`,drive:`Google Drive`};function D(e){let[t,...n]=e.split(`-`),r=E[t.toLowerCase()];return r?[r,...n].join(` `):e}function O(e){return Object.hasOwn(E,e.split(`-`)[0].toLowerCase())}function k(e){try{return new URL(e).host}catch{return``}}function A(e){return Object.entries(e||{}).sort(([e],[t])=>Number(O(t))-Number(O(e))||e.localeCompare(t))}function j(e){let t={};for(let[n,r]of e){let e=w(r);(t[e]||=[]).push({name:n,url:r})}return Object.entries(t).sort(([e],[t])=>e.localeCompare(t))}var M={key:0,class:`link-groups`},N=[`href`,`title`],P={key:1,class:`chip-group`},F=[`href`,`title`],I={key:0,class:`link-host`},L=f({__name:`ResourceLinks`,props:{links:{type:Object,default:()=>({})}},setup(e){let t=e,n=s(()=>A(t.links)),r=s(()=>n.value.length>10?j(n.value):null);return(e,t)=>r.value?(g(),o(`div`,M,[(g(!0),o(m,null,a(r.value,([e,t])=>(g(),o(`section`,{key:e},[c(`strong`,null,p(e),1),c(`ul`,null,[(g(!0),o(m,null,a(t,e=>(g(),o(`li`,{key:e.name},[c(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,title:e.url},[c(`i`,{class:_(h(C)(e.url)),"aria-hidden":`true`},null,2),S(` `+p(e.name),1)],8,N)]))),128))])]))),128))])):n.value.length?(g(),o(`span`,P,[(g(!0),o(m,null,a(n.value,([e,t])=>(g(),o(`a`,{key:e,class:`chip link-chip`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:`Open ${t}`},[c(`i`,{class:_(`${h(C)(t)} link-icon`),"aria-hidden":`true`},null,2),c(`span`,null,p(h(D)(e)),1),h(k)(t)?(g(),o(`span`,I,p(h(k)(t)),1)):i(``,!0)],8,F))),128))])):i(``,!0)}},[[`__scopeId`,`data-v-5c834d2b`]]),R=e({default:()=>$}),z={key:0,class:`page-properties`},B={key:0,class:`prop`},V={key:1,class:`prop`},H=[`href`],U={key:2,class:`prop`},W=[`href`],G={key:3,class:`prop`},K=[`title`],q={key:4,class:`prop`},J=[`title`],Y={key:5,class:`prop`},X=[`innerHTML`],Z={key:6,class:`prop`},Q={key:1},te={key:2},$={__name:`PageView`,props:{name:String},setup(e){let f=e,h=b(null),C=b(null),w=s(()=>{let e=h.value;return!!(e&&(e.status||e.author||e.owner||e.created||e.updated||e.tags.length||e.properties?.length||Object.keys(e.links||{}).length))});async function E(){C.value=null;try{h.value=await x(f.name)}catch(e){h.value=null,C.value=e.message,y(`Not found`);return}y(h.value.title)}l(()=>f.name,E,{immediate:!0});function D(e){return`status-${String(e).toLowerCase().replace(/[^a-z0-9]+/g,`-`)}`}function O(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}function k(e){return{name:`search`,query:v(`Page: page/tags == "${e}"`,`pages`)}}return(e,s)=>{let l=u(`router-link`);return h.value?(g(),r(T,{key:0,title:h.value.title,html:h.value.html,breadcrumb:h.value.breadcrumb,toc:h.value.toc,backlinks:h.value.backlinks,"edit-name":h.value.name},ee({properties:t(()=>[w.value?(g(),o(`dl`,z,[h.value.status?(g(),o(`div`,B,[s[0]||=c(`dt`,null,`Status`,-1),c(`dd`,null,[c(`span`,{class:_([`status-pill`,D(h.value.status)])},p(h.value.status),3)])])):i(``,!0),h.value.author?(g(),o(`div`,V,[s[1]||=c(`dt`,null,`Author`,-1),c(`dd`,null,[h.value.author.email?(g(),o(`a`,{key:0,href:`mailto:${h.value.author.email}`},p(h.value.author.name),9,H)):(g(),o(m,{key:1},[S(p(h.value.author.name),1)],64))])])):i(``,!0),h.value.owner?(g(),o(`div`,U,[s[2]||=c(`dt`,null,`Owner`,-1),c(`dd`,null,[h.value.owner.email?(g(),o(`a`,{key:0,href:`mailto:${h.value.owner.email}`},p(h.value.owner.name),9,W)):(g(),o(m,{key:1},[S(p(h.value.owner.name),1)],64))])])):i(``,!0),h.value.created?(g(),o(`div`,G,[s[3]||=c(`dt`,null,`Created`,-1),c(`dd`,{title:h.value.created},p(O(h.value.created)),9,K)])):i(``,!0),h.value.updated?(g(),o(`div`,q,[s[4]||=c(`dt`,null,`Updated`,-1),c(`dd`,{title:h.value.updated},p(O(h.value.updated)),9,J)])):i(``,!0),h.value.tags.length?(g(),o(`div`,Y,[s[5]||=c(`dt`,null,`Tags`,-1),c(`dd`,null,[(g(!0),o(m,null,a(h.value.tags,(e,r)=>(g(),o(m,{key:e},[n(l,{to:k(e)},{default:t(()=>[S(p(e),1)]),_:2},1032,[`to`]),r<h.value.tags.length-1?(g(),o(m,{key:0},[S(`, `)],64)):i(``,!0)],64))),128))])])):i(``,!0),(g(!0),o(m,null,a(h.value.properties,e=>(g(),o(`div`,{key:e.key,class:`prop`},[c(`dt`,null,p(e.key),1),c(`dd`,{innerHTML:e.html},null,8,X)]))),128)),Object.keys(h.value.links||{}).length?(g(),o(`div`,Z,[s[6]||=c(`dt`,null,`Links`,-1),c(`dd`,null,[n(L,{links:h.value.links},null,8,[`links`])])])):i(``,!0)])):i(``,!0)]),_:2},[e.$slots.actions?{name:`actions`,fn:t(()=>[d(e.$slots,`actions`)]),key:`0`}:void 0]),1032,[`title`,`html`,`breadcrumb`,`toc`,`backlinks`,`edit-name`])):C.value?(g(),o(`article`,Q,[c(`p`,null,p(C.value),1)])):(g(),o(`article`,te,[...s[7]||=[c(`p`,null,`Loading...`,-1)]]))}}};export{$ as n,L as r,R as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as e,P as t,a as n,at as r,q as i,z as a}from"./index-CLuLTE5I.js";var o={class:`query-error`,role:`alert`},s={class:`query-error-message`},c=n({__name:`QueryError`,props:{message:{type:String,required:!0}},setup(n){return(c,l)=>(i(),e(`div`,o,[l[0]||=t(`div`,{class:`query-error-title`},[t(`i`,{class:`iconoir-warning-triangle`,"aria-hidden":`true`}),a(` Query error`)],-1),t(`pre`,s,r(n.message),1)]))}},[[`__scopeId`,`data-v-9e8569f3`]]);export{c as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as e,B as t,E as n,F as r,G as i,H as a,I as o,J as s,L as c,N as l,P as u,Q as d,W as f,X as p,a as m,at as h,j as g,nt as _,q as v,rt as y,s as b,tt as x,z as S}from"./index-CLuLTE5I.js";function C(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function w(e){let t=(Math.round(e*100)/100).toFixed(2).split(`.`);return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,`,`),`\u20AC${t.join(`.`)}`}var T={cocomoSalary:15e4,targetSalary:8e4,aiCostMultiplier:3,aiScheduleMultiplier:2.5,aiTeamMultiplier:3};function E(e,t){if(t==null)return null;let n=T.targetSalary/T.cocomoSalary,r=parseFloat(t);switch(e){case`cost`:return r*n/T.aiCostMultiplier;case`schedule`:return r/T.aiScheduleMultiplier;case`team`:return Math.ceil(r/T.aiTeamMultiplier);default:return null}}function D(e){return e.replace(/\.git$/,``).replace(`:`,`/`).replace(`git@`,`https://`)}function O(e){if(!e)return null;let t=new Date(e),n=Math.floor((Date.now()-t.getTime())/1e3);if(n<10)return`just now`;let r=[[60,`second`],[60,`minute`],[24,`hour`],[7,`day`],[4,`week`],[12,`month`],[1/0,`year`]],i=n;for(let[e,t]of r){if(i<e)return`${i} ${t}${i===1?``:`s`} ago`;i=Math.floor(i/e)}return`${i} years ago`}function k(e){return/docs\.google\.com\/(document|spreadsheets|presentation)/.test(e)?`iconoir-google-docs`:/github\.com/.test(e)?`iconoir-github`:/gitlab/.test(e)?`iconoir-git-fork`:/confluence\.|atlassian\.net/.test(e)?`iconoir-page-edit`:/jira\.|atlassian\.net.*jira/.test(e)?`iconoir-list`:/grafana/.test(e)?`iconoir-graph-up`:/prometheus/.test(e)?`iconoir-database`:/api\./.test(e)?`iconoir-code`:/docs\./.test(e)?`iconoir-book`:`iconoir-internet`}function A(e){return/docs\.google\.com/.test(e)?`Documentation`:/github\.com|gitlab/.test(e)?`Code Repository`:/confluence\.|atlassian\.net/.test(e)?`Documentation`:/jira\.|atlassian\.net.*jira/.test(e)?`Project Management`:/grafana|prometheus/.test(e)?`Monitoring`:/api\./.test(e)?`API`:/docs\./.test(e)?`Documentation`:`Other`}var j=new Set([`name`,`kind`]);function M(e){return j.has(e)}function N(e,t){return M(t)?e[t]??null:e.metadata?.annotations?.[t]??null}function P(e,t){let n=`${t}:`;return t&&e?.startsWith(n)&&e.length>n.length?e.slice(n.length):e}function F(...e){return e.filter(Boolean).join(`
|
|
2
|
+
`)||void 0}var I=[`title`],L={class:`hl-label`},R={class:`hl-number`},z={key:0,class:`hl-more`},B=2,V=m({__name:`HighlightValue`,props:{item:{type:Object,required:!0},kind:{type:String,required:!0}},setup(t){let n=t,i=l(()=>n.item.type===`Time`),a=l(()=>typeof n.item.value==`number`),d=l(()=>[`Person`,`EmailRecipient`].includes(n.item.type)),f=l(()=>[`tag_word`,`tag_list`].includes(n.item.format)),m=l(()=>Array.isArray(n.item.value)?n.item.value:[n.item.value]),y=l(()=>m.value.slice(0,B)),x=l(()=>m.value.length-y.value.length),C=l(()=>F(n.item.title,n.item.key,i.value?n.item.value:null)),w=l(()=>String(n.item.value).replace(/\s*<[^>]*>/,``).trim()||String(n.item.value));function T(e){let t=`${n.kind}: ${n.item.key} == "${String(e).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`;return{name:`search`,query:b(t,n.kind===`Page`?`pages`:`kinds`)}}return(n,l)=>{let b=p(`router-link`);return v(),c(`span`,{class:`hl`,title:C.value},[a.value?(v(),c(g,{key:0},[u(`span`,L,h(t.item.title),1),u(`span`,R,h(t.item.value.toLocaleString(`en`)),1)],64)):i.value?(v(),c(g,{key:1},[S(h(_(O)(t.item.value)),1)],64)):d.value?(v(),c(g,{key:2},[S(h(w.value),1)],64)):f.value?(v(),c(g,{key:3},[(v(!0),c(g,null,s(y.value,t=>(v(),r(b,{key:t,class:`hl-tag`,to:T(t)},{default:e(()=>[S(h(t),1)]),_:2},1032,[`to`]))),128)),x.value>0?(v(),c(`span`,z,`+`+h(x.value),1)):o(``,!0)],64)):(v(),c(g,{key:4},[S(h(m.value.join(`, `)),1)],64))],8,I)}}},[[`__scopeId`,`data-v-318b23ef`]]),H={class:`highlights`},U=m({__name:`HighlightList`,props:{items:{type:Array,required:!0},kind:{type:String,required:!0}},setup(e){return(t,n)=>(v(),c(`div`,H,[(v(!0),c(g,null,s(e.items,t=>(v(),r(V,{key:t.key,item:t,kind:e.kind},null,8,[`item`,`kind`]))),128))]))}},[[`__scopeId`,`data-v-c7feccbb`]]),W={key:0,class:`empty-state`},G={key:0,class:`col-kind`},K=[`onClick`],q={class:`col-name`},J={key:0,class:`instance-sub`},Y={key:0,class:`col-kind`},X={key:0,class:`instance-kind`},Z=[`title`],Q={key:1,class:`empty-value`},$={class:`instance-main`},ee={key:0,class:`instance-sub`},te={key:1,class:`instance-kind`},ne={key:0},re=m({__name:`ResourceList`,props:{instances:{type:Array,required:!0},omitKind:{type:Boolean,default:!1},fields:{type:Array,default:null},total:{type:Number,default:0},loadingMore:{type:Boolean,default:!1},pageLinks:{type:Boolean,default:!1},rows:{type:Boolean,default:!1},embedded:{type:Boolean,default:!1}},emits:[`load-more`],setup(m,{emit:b}){let C=m,w=b,T=a(`pageTitles`,null);function E(e){return C.pageLinks&&e.kind===`Page`}let D=n();function k(e,t){t.target.closest(`a`)||t.metaKey||t.ctrlKey||t.shiftKey||window.getSelection()?.toString()||D.push(A(e))}function A(e){return E(e)?{name:`page`,params:{name:e.name}}:{name:`instance`,params:{kind:e.kind,instance:e.name}}}function j(e){return E(e)&&T?.value?.[e.name]||e.name}function P(e){return E(e)&&j(e)!==e.name?e.name:null}let F=x(null),I=null,L=l(()=>C.total>C.instances.length);function R(){I&&I.disconnect(),F.value&&(I=new IntersectionObserver(e=>{e[0].isIntersecting&&L.value&&!C.loadingMore&&w(`load-more`)},{rootMargin:`200px`}),I.observe(F.value))}i(R),d(F,R),f(()=>{I&&I.disconnect()});let z=l(()=>C.fields&&C.fields.length>0),B=l(()=>C.fields?C.fields.filter(e=>!M(e)).map(e=>{let t=e.split(`/`),n;return n=t.length>=2?`${t[t.length-2]} ${t[t.length-1]}`:t[t.length-1],n=n.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase()),{key:e,title:n}}):[]);function V(e,t){return N(e,t)}function H(e){return/at$/i.test(e)||/date$/i.test(e)||/time$/i.test(e)}return(n,i)=>{let a=p(`router-link`);return v(),c(g,null,[m.instances.length?z.value?(v(),c(`table`,{key:1,class:y([`resource-list-table`,{embedded:m.embedded}])},[u(`thead`,null,[u(`tr`,null,[i[1]||=u(`th`,{class:`col-name`},`Name`,-1),m.omitKind?o(``,!0):(v(),c(`th`,G,`Kind`)),(v(!0),c(g,null,s(B.value,e=>(v(),c(`th`,{key:e.key,class:`col-annotation`},h(e.title),1))),128))])]),u(`tbody`,null,[(v(!0),c(g,null,s(m.instances,n=>(v(),c(`tr`,{key:n.name,class:`resource-list-row`,onClick:e=>k(n,e)},[u(`td`,q,[t(a,{class:`instance-name`,to:A(n)},{default:e(()=>[n.icon?(v(),c(`i`,{key:0,class:y(`iconoir-${n.icon} icon-${n.layer}`)},null,2)):o(``,!0),S(` `+h(j(n)),1)]),_:2},1032,[`to`]),P(n)?(v(),c(`span`,J,h(P(n)),1)):o(``,!0)]),m.omitKind?o(``,!0):(v(),c(`td`,Y,[E(n)?o(``,!0):(v(),c(`span`,X,h(n.kind),1))])),(v(!0),c(g,null,s(B.value,e=>(v(),c(`td`,{key:e.key,class:`col-annotation`},[V(n,e.key)==null?(v(),c(`span`,Q,`—`)):(v(),c(g,{key:0},[H(e.key)?(v(),c(`span`,{key:0,title:V(n,e.key)},h(_(O)(V(n,e.key))),9,Z)):(v(),c(g,{key:1},[S(h(V(n,e.key)),1)],64))],64))]))),128))],8,K))),128))])],2)):(v(),c(`ul`,{key:2,class:y([`search-instance-list`,{rows:m.rows}])},[(v(!0),c(g,null,s(m.instances,n=>(v(),c(`li`,{key:n.name,class:`search-instance-item`},[u(`div`,$,[t(a,{class:`instance-name`,to:A(n)},{default:e(()=>[n.icon?(v(),c(`i`,{key:0,class:y(`iconoir-${n.icon} icon-${n.layer}`)},null,2)):o(``,!0),S(` `+h(j(n)),1)]),_:2},1032,[`to`]),P(n)?(v(),c(`span`,ee,h(P(n)),1)):o(``,!0),!m.omitKind&&!E(n)?(v(),c(`span`,te,h(n.kind),1)):o(``,!0)]),n.highlights?.length?(v(),r(U,{key:0,items:n.highlights,kind:n.kind},null,8,[`items`,`kind`])):o(``,!0)]))),128))],2)):(v(),c(`p`,W,[...i[0]||=[u(`i`,null,`No resources found`,-1)]])),L.value?(v(),c(`div`,{key:3,ref_key:`sentinel`,ref:F,class:`load-more-sentinel`},[m.loadingMore?(v(),c(`small`,ne,`Loading more…`)):o(``,!0)],512)):o(``,!0)],64)}}},[[`__scopeId`,`data-v-196c71cd`]]);export{P as a,k as c,w as d,A as i,C as l,F as n,N as o,E as r,D as s,re as t,O as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,B as t,F as n,H as r,I as i,J as a,L as o,N as s,P as c,Q as l,T as u,X as d,a as f,at as p,i as m,j as h,o as g,q as _,rt as v,s as y,tt as b,w as x,z as S}from"./index-CLuLTE5I.js";import{t as C}from"./ResourceList-DooWFwQP.js";import{t as w}from"./QueryError-C2xLkCEm.js";var T={class:`kind-facets`,"aria-label":`Filter by kind`},E={class:`facet-count`},D={class:`facet-count`},O=f({__name:`KindFacets`,props:{byKind:{type:Object,default:()=>({})},selected:{type:String,default:null}},setup(i){let l=i,f=m,g=u(),y=r(`kinds`,null),b=s(()=>Object.fromEntries((y?.value?.kinds||[]).map(e=>[e.kind,e.layer]))),x=s(()=>Object.entries(l.byKind).map(([e,t])=>({kind:e,count:t,layer:f.includes(b.value[e])?b.value[e]:`other`})).sort((e,t)=>f.indexOf(e.layer)-f.indexOf(t.layer)||e.kind.localeCompare(t.kind))),C=s(()=>x.value.reduce((e,t)=>e+t.count,0));function w(e){let t={...g.query};return e?t.kind=e:delete t.kind,{name:`search`,query:t}}return(r,s)=>{let l=d(`router-link`);return _(),o(`nav`,T,[t(l,{class:v([`facet facet-all`,{selected:!i.selected}]),to:w(null),"aria-current":i.selected?void 0:`true`},{default:e(()=>[s[0]||=S(` All `,-1),c(`span`,E,p(C.value),1)]),_:1},8,[`class`,`to`,`aria-current`]),(_(!0),o(h,null,a(x.value,t=>(_(),n(l,{key:t.kind,class:v([`facet`,[`icon-${t.layer}`,{selected:i.selected===t.kind}]]),to:w(t.kind),"aria-current":i.selected===t.kind?`true`:void 0},{default:e(()=>[s[1]||=c(`span`,{class:`facet-dot`,"aria-hidden":`true`},null,-1),S(` `+p(t.kind)+` `,1),c(`span`,D,p(t.count),1)]),_:2},1032,[`class`,`to`,`aria-current`]))),128))])}}},[[`__scopeId`,`data-v-0ba72b02`]]),k={key:0,class:`search-hints`},A={class:`hint-lead`},j={class:`hint-examples`},M={class:`hint-note`},N={key:1,class:`search-hints`},P={class:`hint-lead`},F={class:`hint-tips`},I={key:0},L={key:1},R=f({__name:`SearchHints`,props:{mode:{type:String,required:!0},query:{type:String,default:``},scope:{type:String,default:`kinds`}},setup(n){let l=n,u=r(`pages`,null),f=s(()=>!!u?.value?.length),m={kinds:[{query:`kubernetes`,note:`names that contain a word`},{query:`TechnologyArtifact: activity/status == "active"`,note:`active repositories`},{query:`MotivationRequirement: requirement/priority == "must"`,note:`requirements that must be met`},{query:`-> ApplicationInterface`,note:`resources that use an interface`}],pages:[{query:`handbook`,note:`words in a page title, name or text`},{query:`page/status == "rfc"`,note:`pages in review`}]},g=s(()=>m[l.scope]||m.kinds),v=s(()=>l.scope===`pages`?`pages`:`resources`);function b(e){return{name:`search`,query:y(e.query,l.scope)}}return(r,s)=>{let l=d(`router-link`);return n.mode===`intro`?(_(),o(`section`,k,[c(`p`,A,`Search `+p(v.value)+` by name, or filter them with a query.`,1),c(`ul`,j,[(_(!0),o(h,null,a(g.value,n=>(_(),o(`li`,{key:n.query},[t(l,{to:b(n)},{default:e(()=>[c(`code`,null,p(n.query),1)]),_:2},1032,[`to`]),c(`span`,M,p(n.note),1)]))),128))]),c(`p`,null,[t(l,{to:`/doc/search`},{default:e(()=>[...s[0]||=[S(`Query syntax`,-1)]]),_:1})])])):(_(),o(`section`,N,[c(`p`,P,[S(`No `+p(v.value)+` match `,1),c(`code`,null,p(n.query),1),s[1]||=S(`.`,-1)]),c(`ul`,F,[s[2]||=c(`li`,null,`Check the spelling, or try a shorter word.`,-1),n.scope===`kinds`&&f.value?(_(),o(`li`,I,`Page texts are searched from the Pages tab.`)):i(``,!0),n.scope===`pages`?(_(),o(`li`,L,`Switch to the Kinds tab to search resources.`)):i(``,!0)]),c(`p`,null,[t(l,{to:`/doc/search`},{default:e(()=>[...s[3]||=[S(`Query syntax`,-1)]]),_:1})])]))}}},[[`__scopeId`,`data-v-c91e9485`]]),z={class:`search-page`},B={class:`sr-only`,role:`status`,"aria-live":`polite`},V={class:`header-actions`},H={key:2,class:`search-summary`},U={class:`search-meta`},W={key:0,class:`search-meta`},G={key:1,class:`more-error`},K=100,q=f({__name:`SearchResults`,setup(r){let a=u(),f=b([]),m=b(0),y=b({}),T=b(0),E=b(``),D=b(``),k=b(`kinds`),A=b(null),j=b(!1),M=b(!1),N=b(null),P=b(!1),F=0,I=0,L=s(()=>!!E.value),q=s(()=>Object.keys(y.value).length>1||!!A.value),J=s(()=>j.value||!!N.value),Y=s(()=>{let e=m.value===1?`result`:`results`;return A.value?`${m.value} ${e} in ${A.value}`:`${m.value} ${e}`});async function X(){let e=a.query.q;if(A.value=a.query.kind||null,k.value=a.query.scope===`pages`?`pages`:`kinds`,!e){I++,f.value=[],m.value=0,y.value={},E.value=``,D.value=``,N.value=null,j.value=!1;return}E.value=e,D.value=g(e,k.value);let t=++I;j.value=!0,N.value=null,P.value=!1;try{let e=await x(D.value,{limit:K,offset:0,output:`brief`,kind:A.value});if(t!==I)return;f.value=e.instances||[],m.value=e.total||0,y.value=e.by_kind||{},T.value=e.query_time_ms||0,F=f.value.length}catch(e){if(t!==I)return;N.value=e.message}finally{t===I&&(j.value=!1)}}async function Z(){if(M.value||F>=m.value||!E.value)return;M.value=!0,P.value=!1;let e=I;try{let t=await x(D.value,{limit:K,offset:F,output:`brief`,kind:A.value});if(e!==I)return;let n=t.instances||[];f.value=[...f.value,...n],F+=n.length}catch{P.value=!0}finally{M.value=!1}}return l(()=>[a.query.q,a.query.scope,a.query.kind],X,{immediate:!0}),(r,a)=>{let s=d(`router-link`);return _(),o(`article`,z,[c(`span`,B,p(j.value?`Searching`:``),1),c(`header`,null,[a[1]||=c(`h2`,null,[c(`i`,{class:`iconoir-search`,"aria-hidden":`true`}),S(` Search`)],-1),c(`div`,V,[t(s,{class:`search-syntax`,to:`/doc/search`,title:`Query syntax`},{default:e(()=>[...a[0]||=[c(`i`,{class:`iconoir-help-circle`,"aria-hidden":`true`},null,-1)]]),_:1})])]),L.value?(_(),o(h,{key:1},[q.value?(_(),n(O,{key:0,"by-kind":y.value,selected:A.value},null,8,[`by-kind`,`selected`])):i(``,!0),N.value?(_(),n(w,{key:1,message:N.value},null,8,[`message`])):i(``,!0),!N.value&&f.value.length?(_(),o(`p`,H,[S(p(Y.value)+` `,1),c(`span`,U,p(T.value)+` ms`,1),k.value===`pages`&&D.value!==E.value?(_(),o(`span`,W,[a[2]||=S(` searched as `,-1),c(`code`,null,p(D.value),1)])):i(``,!0)])):i(``,!0),c(`div`,{class:v({stale:J.value})},[f.value.length?(_(),n(C,{key:0,rows:``,instances:f.value,"omit-kind":!!A.value,"page-links":k.value===`pages`,total:m.value,"loading-more":M.value,onLoadMore:Z},null,8,[`instances`,`omit-kind`,`page-links`,`total`,`loading-more`])):i(``,!0),P.value?(_(),o(`p`,G,[a[3]||=S(` Could not load more results. `,-1),c(`button`,{type:`button`,class:`more-retry`,onClick:Z},`Try again`)])):i(``,!0)],2),!j.value&&!N.value&&!f.value.length?(_(),n(R,{key:3,mode:`empty`,query:E.value,scope:k.value},null,8,[`query`,`scope`])):i(``,!0)],64)):(_(),n(R,{key:0,mode:`intro`,scope:k.value},null,8,[`scope`]))])}}},[[`__scopeId`,`data-v-3a63d0fc`]]);export{q as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["vue/mermaid-C3bOamfn.js","vue/rolldown-runtime-COiEfhsA.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{M as e}from"./mermaid-C3bOamfn.js";import{$ as t,A as n,B as r,E as i,F as a,G as o,H as s,I as c,J as l,L as u,M as d,N as f,P as p,Q as m,T as h,U as g,W as _,X as v,Y as y,a as b,at as x,b as S,c as C,h as w,it as T,j as E,n as D,nt as O,q as k,rt as A,tt as j,w as M,z as N}from"./index-CLuLTE5I.js";import{t as P}from"./useHighlight-BH32C7yt.js";import{t as F}from"./usePanZoom-HxgEsqq2.js";import{o as I,t as L}from"./ResourceList-DooWFwQP.js";import{t as R}from"./QueryError-C2xLkCEm.js";var z=[`/kinds/`,`/pages/`,`/doc/`];function B(e){let t=i();function n(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let n=e.target.closest(`a[href]`);if(!n||n.target&&n.target!==`_self`)return;let r=n.getAttribute(`href`);if(r?.startsWith(`#`)&&r.length>1){e.preventDefault();let n=t.currentRoute.value;n.hash===r?D(r)?.scrollIntoView({behavior:`smooth`}):t.push({query:n.query,hash:r})}else r&&z.some(e=>r.startsWith(e))&&(e.preventDefault(),t.push(r))}m(e,(e,t)=>{t?.removeEventListener(`click`,n),e?.addEventListener(`click`,n)},{immediate:!0,flush:`post`}),_(()=>{e.value?.removeEventListener(`click`,n)})}var V=null,H=!1;function U(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`default`}async function ee(){return V||(V=(await e(()=>import(`./mermaid-C3bOamfn.js`).then(e=>e.t),__vite__mapDeps([0,1]))).default,V.initialize({startOnLoad:!1,theme:U()}),te(),V)}function W(e){e.querySelectorAll(`.mermaid svg`).forEach(e=>{if(e.hasAttribute(`data-panzoom-init`))return;e.setAttribute(`data-panzoom-init`,`true`);let t=e.parentElement;F(e,t)})}function te(){H||(H=!0,window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,async()=>{V&&(V.initialize({startOnLoad:!1,theme:U()}),document.querySelectorAll(`.mermaid[data-mermaid-source]`).forEach(e=>{e.removeAttribute(`data-processed`),e.innerHTML=e.getAttribute(`data-mermaid-source`)}),await V.run(),document.querySelectorAll(`.mermaid`).forEach(e=>{e.querySelectorAll(`svg`).forEach(e=>e.removeAttribute(`data-panzoom-init`)),W(e.parentElement||e)}))}))}async function G(e){let t=e.querySelectorAll(`pre > code.language-mermaid`);if(t.length===0)return;let n=await ee();t.forEach(e=>{let t=e.parentElement,n=document.createElement(`div`);n.className=`mermaid`,n.setAttribute(`data-mermaid-source`,e.textContent),n.textContent=e.textContent,t.parentElement.replaceChild(n,t)}),await n.run(),W(e)}var ne=`/vendor/drawio/viewer.html`,re=`archsight-drawio`,ie=240,ae=4e3,oe=!1;function se(e){return[...document.querySelectorAll(`iframe.drawio-frame`)].find(t=>t.contentWindow===e)}function ce(e,t){let n=document.createElement(`div`);n.className=`drawio-error`,n.setAttribute(`role`,`alert`),n.textContent=t,e.replaceWith(n)}function le(e){let t=e.data;if(e.origin!==window.location.origin||!t||t.channel!==re)return;let n=se(e.source);n&&(t.type===`size`&&Number.isFinite(t.height)?n.style.height=`${Math.min(Math.ceil(t.height),ae)}px`:t.type===`error`&&ce(n,t.message||`The diagram could not be shown.`))}function ue(e,t){let n=document.createElement(`iframe`);return n.className=`drawio-frame`,n.src=`${ne}?src=${encodeURIComponent(e)}`,n.title=t||`draw.io diagram`,n.loading=`lazy`,n.referrerPolicy=`no-referrer`,n.setAttribute(`sandbox`,`allow-scripts allow-same-origin`),n.style.height=`${ie}px`,n}function de(e){let t=document.createElement(`a`);return t.className=`drawio-open`,t.href=e,t.target=`_blank`,t.rel=`noopener`,t.textContent=`Open the .drawio file`,t}function K(e){e&&(oe||=(window.addEventListener(`message`,le),!0),e.querySelectorAll(`.drawio-diagram[data-drawio-src]:not([data-drawio-ready])`).forEach(e=>{let t=e.dataset.drawioSrc;e.dataset.drawioReady=`true`,e.replaceChildren(ue(t,e.dataset.drawioTitle),de(t))}))}var q=e=>(e||``).split(`,`).map(e=>e.trim()).filter(Boolean);function J(e){let t=e[`view/type`]||`list:name+kind`;return{query:e[`view/query`],fields:q(e[`view/fields`]),sort:q(e[`view/sort`]),showKind:t===`list:name+kind`}}var Y=e=>(e||``).split(`,`).filter(Boolean);function X(){let e=j([]);async function t(t){await g();let n=t?[...t.querySelectorAll(`.kind-embed[data-kind][data-name], .view-embed[data-query], .requirements-embed[data-of]`)]:[];e.value=n.map((e,t)=>{if(e.replaceChildren(),e.classList.contains(`requirements-embed`)){let n=e.dataset,r={of:n.of,priority:Y(n.priority),status:Y(n.status)};return{el:e,key:`requirements/${t}`,kind:`Requirements`,name:n.title,spec:r}}if(e.classList.contains(`view-embed`)){let n=e.dataset,r=J({"view/query":n.query,"view/fields":n.fields,"view/sort":n.sort,"view/type":n.type});return{el:e,key:`inline/${t}`,kind:`View`,name:n.title,spec:r}}return{el:e,key:`${e.dataset.kind}/${e.dataset.name}`,kind:e.dataset.kind,name:e.dataset.name}})}return{embeds:e,scanEmbeds:t}}var Z=(e,t)=>`${e} ${t}${e===1?``:`s`}`;function Q(e){if(!e)return null;if(!e.success)return{failed:!0,label:`Failed`,notes:``};let t=(e.sections||[]).filter(e=>e.type===`message`).map(e=>e.level),n=t.filter(e=>e===`error`).length,r=t.filter(e=>e===`warning`).length;return{failed:!1,label:`Completed`,notes:[n&&Z(n,`error`),r&&Z(r,`warning`)].filter(Boolean).join(`, `)}}var fe={key:1,class:`view-loading`,"aria-busy":`true`},pe={key:2,class:`view-results`},me={key:0},he={class:`view-result-meta`},ge=100,_e=b({__name:`ViewResults`,props:{query:String,fields:{type:Array,default:()=>[]},sort:{type:Array,default:()=>[]},showKind:{type:Boolean,default:!0},compact:{type:Boolean,default:!1}},emits:[`loaded`],setup(e,{emit:t}){let n=e,i=t,o=j([]),s=j(0),l=j(0),d=j(!1),h=j(!1),g=j(null),_=0;function v(e,t){return t.length?[...e].sort((e,n)=>{for(let r of t){let t=r.startsWith(`-`),i=t?r.slice(1):r,a=I(e,i)??``,o=I(n,i)??``,s=String(a).localeCompare(String(o),void 0,{numeric:!0});if(s!==0)return t?-s:s}return 0}):e}let y=f(()=>v(o.value,n.sort)),b=f(()=>n.fields.length?`annotations`:`brief`);async function S(){if(n.query){d.value=!0,g.value=null,_=0;try{let e=await M(n.query,{limit:ge,offset:0,output:b.value});o.value=e.instances||[],s.value=e.total||0,l.value=e.query_time_ms||0,_=o.value.length,i(`loaded`,{total:s.value})}catch(e){g.value=e.message}finally{d.value=!1}}}async function C(){if(!(h.value||_>=s.value||!n.query)){h.value=!0;try{let e=(await M(n.query,{limit:ge,offset:_,output:b.value})).instances||[];o.value=[...o.value,...e],_+=e.length}catch{}h.value=!1}}return m(()=>[n.query,n.fields.join(`,`)],S,{immediate:!0}),(t,n)=>g.value?(k(),a(R,{key:0,message:g.value},null,8,[`message`])):d.value?(k(),u(`article`,fe,[...n[0]||=[p(`i`,{class:`iconoir-refresh spinning`},null,-1),N(` Running query... `,-1)]])):e.query?(k(),u(`article`,pe,[e.compact?c(``,!0):(k(),u(`header`,me,[n[1]||=p(`h3`,null,`Results`,-1),p(`span`,he,x(s.value)+` `+x(s.value===1?`item`:`items`)+` in `+x(l.value)+` ms`,1)])),r(L,{instances:y.value,"omit-kind":!e.showKind,fields:e.fields.length?e.fields:null,total:s.value,"loading-more":h.value,embedded:e.compact,onLoadMore:C},null,8,[`instances`,`omit-kind`,`fields`,`total`,`loading-more`,`embedded`])])):c(``,!0)}},[[`__scopeId`,`data-v-8ee7464a`]]),ve=[`innerHTML`],ye=[`innerHTML`],be={key:1},xe=[`innerHTML`],Se={key:1},Ce=[`innerHTML`],we={key:1},Te={key:5,class:`code`},$=b({__name:`AnalysisSection`,props:{section:Object},setup(e){let t=j(null);B(t);let n={error:`xmark-circle`,warning:`warning-triangle`,info:`info-circle`};return(r,i)=>e.section.type===`heading`?(k(),u(`div`,{key:0,class:A([`analysis-heading`,`level-`+e.section.level])},x(e.section.text),3)):e.section.type===`text`?(k(),u(`div`,{key:1,ref_key:`sectionEl`,ref:t,class:`analysis-text`,innerHTML:e.section.content},null,8,ve)):e.section.type===`message`?(k(),u(`div`,{key:2,ref_key:`sectionEl`,ref:t,class:A([`analysis-message`,`message-`+e.section.level])},[p(`i`,{class:A(`iconoir-${n[e.section.level]||`info-circle`}`)},null,2),e.section.message_html==null?(k(),u(`span`,be,x(e.section.message),1)):(k(),u(`span`,{key:0,innerHTML:e.section.message_html},null,8,ye))],2)):e.section.type===`table`?(k(),u(`div`,{key:3,ref_key:`sectionEl`,ref:t,class:`analysis-table-wrapper`},[p(`table`,null,[p(`thead`,null,[p(`tr`,null,[(k(!0),u(E,null,l(e.section.headers,e=>(k(),u(`th`,{key:e},x(e),1))),128))])]),p(`tbody`,null,[(k(!0),u(E,null,l(e.section.rows,(t,n)=>(k(),u(`tr`,{key:n},[(k(!0),u(E,null,l(t,(t,r)=>(k(),u(E,{key:r},[e.section.rows_html?(k(),u(`td`,{key:0,innerHTML:e.section.rows_html[n][r]},null,8,xe)):(k(),u(`td`,Se,x(t),1))],64))),128))]))),128))])])],512)):e.section.type===`list`?(k(),u(`ul`,{key:4,ref_key:`sectionEl`,ref:t,class:`analysis-list`},[(k(!0),u(E,null,l(e.section.items,(t,n)=>(k(),u(E,{key:n},[e.section.items_html?(k(),u(`li`,{key:0,innerHTML:e.section.items_html[n]},null,8,Ce)):(k(),u(`li`,we,x(t),1))],64))),128))],512)):e.section.type===`code`?(k(),u(`pre`,Te,[p(`code`,{class:A(e.section.lang?`language-`+e.section.lang:``)},x(e.section.content),3)])):c(``,!0)}},[[`__scopeId`,`data-v-1a903fe7`]]),Ee={key:0,class:`analysis-bar`},De={class:`status-indicator`},Oe={key:0,class:`status-notes`,title:`Reported by the analysis`},ke={class:`analysis-bar-end`},Ae={key:0,class:`duration`,title:`Run time`},je={key:0,class:`analysis-error-details`},Me={key:0},Ne={class:`code`},Pe={key:1,class:`analysis-output`},Fe={key:1,open:``},Ie=[`title`],Le={class:`analysis-group-title`},Re={key:2,class:`analysis-results-placeholder`},ze=b({__name:`AnalysisResults`,props:{name:String,compact:{type:Boolean,default:!1}},emits:[`state`],setup(e,{emit:t}){let n=e,r=t,i=j(null),s=j(!1),d=j(null);async function h(){s.value=!0;try{i.value=await C(n.name)}catch(e){i.value={success:!1,error:e.message,sections:[]}}finally{s.value=!1}}function _(e){let t=[],n={title:null,sections:[]};for(let r of e)r.type===`heading`&&r.level===0?((n.title||n.sections.length)&&t.push(n),n={title:r.text,sections:[]}):n.sections.push(r);return(n.title||n.sections.length)&&t.push(n),t}let v={error:`xmark-circle`,warning:`warning-triangle`};function y(e){let t=e.sections.filter(e=>e.type===`message`).map(e=>e.level);return[`error`,`warning`].find(e=>t.includes(e))}let b=f(()=>i.value?.sections?.length?_(i.value.sections):[]),S=f(()=>Q(i.value)),w=f(()=>b.value.some(e=>e.title)),T=f(()=>b.value.filter(e=>e.title).length>1);return m([i,s],()=>r(`state`,{result:i.value,executing:s.value}),{immediate:!0}),m(i,async()=>{await g(),d.value&&P(d.value)}),o(h),(t,n)=>(k(),u(`article`,{ref_key:`rootEl`,ref:d,class:A([`analysis-execution`,{compact:e.compact}])},[e.compact?c(``,!0):(k(),u(`div`,Ee,[p(`span`,De,[S.value?(k(),u(E,{key:0},[p(`i`,{class:A(S.value.failed?`iconoir-xmark-circle status-error`:`iconoir-check-circle status-done`)},null,2),N(` `+x(S.value.label)+` `,1),S.value.notes?(k(),u(`span`,Oe,`· `+x(S.value.notes),1)):c(``,!0)],64)):(k(),u(E,{key:1},[n[0]||=p(`i`,{class:`iconoir-refresh spinning`},null,-1),n[1]||=N(` Running...`,-1)],64))]),p(`span`,ke,[i.value?.duration?(k(),u(`span`,Ae,x(i.value.duration.toFixed(2))+`s`,1)):c(``,!0)])])),i.value?(k(),u(`div`,{key:1,class:A([`analysis-result-container`,i.value.success?`success`:`failed`])},[i.value.success?c(``,!0):(k(),u(`div`,je,[n[3]||=p(`strong`,null,`Error:`,-1),N(` `+x(i.value.error)+` `,1),i.value.error_backtrace?.length?(k(),u(`details`,Me,[n[2]||=p(`summary`,null,`Show backtrace`,-1),p(`pre`,Ne,x(i.value.error_backtrace.join(`
|
|
3
|
+
`)),1)])):c(``,!0)])),i.value.sections?.length?(k(),u(`div`,Pe,[w.value?(k(!0),u(E,{key:1},l(b.value,(e,t)=>(k(),u(E,{key:t},[e.title?T.value?(k(),u(`details`,Fe,[p(`summary`,null,[N(x(e.title)+` `,1),y(e)?(k(),u(`i`,{key:0,class:A([`iconoir-${v[y(e)]}`,`status-${y(e)}`]),title:y(e)},null,10,Ie)):c(``,!0)]),(k(!0),u(E,null,l(e.sections,(e,n)=>(k(),a($,{key:`g${t}-${n}`,section:e},null,8,[`section`]))),128))])):(k(),u(E,{key:2},[p(`h3`,Le,x(e.title),1),(k(!0),u(E,null,l(e.sections,(e,n)=>(k(),a($,{key:`g${t}-${n}`,section:e},null,8,[`section`]))),128))],64)):(k(!0),u(E,{key:0},l(e.sections,(e,t)=>(k(),a($,{key:`u${t}`,section:e},null,8,[`section`]))),128))],64))),128)):(k(!0),u(E,{key:0},l(b.value[0]?.sections,(e,t)=>(k(),a($,{key:t,section:e},null,8,[`section`]))),128))])):c(``,!0)],2)):s.value&&e.compact?(k(),u(`div`,Re,` Running analysis... `)):c(``,!0)],2))}},[[`__scopeId`,`data-v-21d7d6d8`]]),Be={class:`requirements-table`},Ve={key:0},He={class:`requirement-status`},Ue=[`title`],We={key:1,class:`view-empty-value`},Ge={class:`requirement-story`},Ke=[`innerHTML`],qe={key:1,class:`view-empty-value`},Je={key:0,class:`requirement-by`},Ye=[`title`],Xe=b({__name:`RequirementsTable`,props:{items:{type:Array,default:()=>[]},priorityLink:{type:Function,required:!0},showBy:{type:Boolean,default:!1}},setup(e){function n(e){switch(e){case`implemented`:return`iconoir-check-circle`;case`partial`:return`iconoir-half-moon`;case`planned`:return`iconoir-calendar`;default:return`iconoir-circle`}}return(i,o)=>{let s=v(`router-link`);return k(),u(`table`,Be,[p(`thead`,null,[p(`tr`,null,[o[0]||=p(`th`,null,null,-1),o[1]||=p(`th`,null,`Name`,-1),o[2]||=p(`th`,null,`Priority`,-1),o[3]||=p(`th`,null,`Story`,-1),e.showBy?(k(),u(`th`,Ve,`Realized by`)):c(``,!0)])]),p(`tbody`,null,[(k(!0),u(E,null,l(e.items,i=>(k(),u(`tr`,{key:i.name},[p(`td`,He,[p(`i`,{class:A([[n(i.status),`status-${i.status}`],`requirement-status-icon`]),title:i.status},null,10,Ue)]),p(`td`,null,[r(s,{to:{name:`instance`,params:{kind:`MotivationRequirement`,instance:i.name}}},{default:t(()=>[N(x(i.name),1)]),_:2},1032,[`to`])]),p(`td`,null,[i.priority?(k(),a(s,{key:0,class:`badge badge-info`,to:e.priorityLink(i.priority)},{default:t(()=>[N(x(i.priority),1)]),_:2},1032,[`to`])):(k(),u(`span`,We,`-`))]),p(`td`,Ge,[i.story?(k(),u(`div`,{key:0,innerHTML:i.story},null,8,Ke)):(k(),u(`span`,qe,`-`))]),e.showBy?(k(),u(`td`,Je,[p(`ul`,null,[(k(!0),u(E,null,l(i.by,e=>(k(),u(`li`,{key:`${e.kind}/${e.name}`},[p(`i`,{class:A([[n(e.status),`status-${e.status}`],`requirement-status-icon`]),title:e.status},null,10,Ye),r(s,{to:{name:`instance`,params:{kind:e.kind,instance:e.name}}},{default:t(()=>[N(x(e.name),1)]),_:2},1032,[`to`])]))),128))])])):c(``,!0)]))),128))])])}}},[[`__scopeId`,`data-v-327154ce`]]),Ze={class:`kind-embed-box`},Qe={class:`kind-embed-source`},$e={key:0,class:`kind-embed-title`},et={key:2,class:`kind-embed-kind`},tt={key:3,class:`kind-embed-count`},nt={key:1,class:`kind-embed-status`},rt={key:0,class:`kind-embed-error`,role:`alert`},it={key:1,class:`kind-embed-loading`,"aria-busy":`true`},at={key:1,class:`kind-embed-empty`},ot={key:3,class:`kind-embed-loading`,"aria-busy":`true`},st={key:1,class:`kind-embed-empty`},ct={key:1,class:`kind-embed-empty`},lt=[`innerHTML`],ut={key:1,class:`kind-embed-empty`},dt=b({__name:`EmbeddedKind`,props:{kind:String,name:String,spec:{type:Object,default:null}},setup(e){let n=e,r=j(null),i=j(null),o=j(null),l=j(null),d=j(null),h=j(null);B(h);let _=s(`kinds`,j(null)),y=[`View`,`Analysis`,`Requirements`],b=f(()=>!n.spec&&!y.includes(n.kind));async function C(){d.value=null,i.value=null,l.value=null;try{let e=await S(n.spec);d.value=e.requirements,i.value=e.total}catch(e){l.value=e.message}}async function T(){if(n.kind===`Requirements`)return C();if(!n.spec){r.value=null,i.value=null,o.value=null,l.value=null;try{r.value=await w(n.kind,n.name)}catch(e){l.value=e.message}}}m(()=>[n.kind,n.name,JSON.stringify(n.spec)],T,{immediate:!0});let D=f(()=>r.value?.metadata?.annotations||{}),O=f(()=>n.spec||J(D.value)),M=f(()=>{let e=o.value?.result,t=Q(e);if(!t)return null;let n=t.notes?`${t.label}, ${t.notes}`:t.label;return{failed:t.failed,label:e.duration?`${n} ${e.duration.toFixed(2)}s`:n}}),P=f(()=>!!D.value[`analysis/script`]),F=f(()=>D.value[`architecture/description`]);m(F,async()=>{await g(),h.value&&(G(h.value),K(h.value))});let I=f(()=>_.value?.kinds?.find(e=>e.kind===n.kind)),L=f(()=>b.value?I.value?`iconoir-${I.value.icon}`:`iconoir-page`:{View:`iconoir-table-rows`,Requirements:`iconoir-list`}[n.kind]||`iconoir-play`),R=f(()=>n.name||(n.kind===`Requirements`?`Requirements`:`View`)),z=f(()=>new Set((d.value||[]).flatMap(e=>e.by.map(e=>`${e.kind}/${e.name}`))).size>1),V=e=>`/search?q=${encodeURIComponent(`MotivationRequirement: requirement/priority == "${e}"`)}`;return(n,s)=>{let f=v(`router-link`);return k(),u(`div`,Ze,[p(`p`,Qe,[p(`i`,{class:A(L.value)},null,2),e.spec?(k(),u(`span`,$e,x(R.value),1)):(k(),a(f,{key:1,to:{name:`instance`,params:{kind:e.kind,instance:e.name}},title:`Open ${e.kind.toLowerCase()} ${e.name}`},{default:t(()=>[N(x(e.name),1)]),_:1},8,[`to`,`title`])),b.value?(k(),u(`span`,et,x(e.kind),1)):c(``,!0),i.value==null?c(``,!0):(k(),u(`span`,tt,`(`+x(i.value)+` `+x(i.value===1?`item`:`items`)+`)`,1)),o.value?(k(),u(E,{key:4},[M.value?(k(),u(`span`,{key:0,class:A([`kind-embed-status`,{failed:M.value.failed}])},`(`+x(M.value.label)+`)`,3)):o.value.executing?(k(),u(`span`,nt,`(Running...)`)):c(``,!0)],64)):c(``,!0)]),l.value?(k(),u(`div`,rt,x(l.value),1)):e.kind===`Requirements`&&!d.value?(k(),u(`p`,it,[...s[2]||=[p(`i`,{class:`iconoir-refresh spinning`},null,-1),N(` Loading requirements... `,-1)]])):e.kind===`Requirements`?(k(),u(E,{key:2},[d.value.length?(k(),a(Xe,{key:0,items:d.value,"priority-link":V,"show-by":z.value},null,8,[`items`,`show-by`])):(k(),u(`p`,at,`No requirements`))],64)):!r.value&&!e.spec?(k(),u(`p`,ot,[s[3]||=p(`i`,{class:`iconoir-refresh spinning`},null,-1),N(` Loading `+x(e.kind.toLowerCase())+`... `,1)])):e.kind===`View`?(k(),u(E,{key:4},[O.value.query?(k(),a(_e,{key:0,query:O.value.query,fields:O.value.fields,sort:O.value.sort,"show-kind":O.value.showKind,compact:``,onLoaded:s[0]||=e=>i.value=e.total},null,8,[`query`,`fields`,`sort`,`show-kind`])):(k(),u(`p`,st,`No query defined`))],64)):e.kind===`Analysis`?(k(),u(E,{key:5},[P.value?(k(),a(ze,{key:0,name:e.name,compact:``,onState:s[1]||=e=>o.value=e},null,8,[`name`])):(k(),u(`p`,ct,`No script defined for this analysis`))],64)):(k(),u(E,{key:6},[F.value?(k(),u(`div`,{key:0,ref_key:`descriptionEl`,ref:h,class:`kind-embed-description prose`,innerHTML:F.value},null,8,lt)):(k(),u(`p`,ut,`No description`))],64))])}}},[[`__scopeId`,`data-v-3ba9331a`]]),ft={class:`page-head`},pt={key:1,class:`breadcrumb`},mt={key:1},ht={key:0,class:`page-toc`,"aria-label":`On this page`},gt=[`href`,`aria-current`,`onClick`],_t=[`innerHTML`],vt={key:1,class:`page-foot`},yt={__name:`WikiPage`,props:{title:String,html:String,breadcrumb:{type:Array,default:()=>[]},toc:{type:Array,default:()=>[]},backlinks:{type:Array,default:()=>[]},editName:{type:String,default:null}},setup(e){let s=e,b=h(),S=i(),C=j(null),w=j(null),M=f(()=>Math.min(...s.toc.map(e=>e.level)||[1]));B(C);let{embeds:F,scanEmbeds:I}=X();async function L(){await g(),C.value&&(P(C.value),G(C.value),K(C.value)),I(C.value),D(b.hash)?.scrollIntoView(),z()}let R=null;function z(){R=null;let e=s.toc.map(e=>e.id),t=e[0]||null;for(let n of e){let e=document.getElementById(n);e&&e.getBoundingClientRect().top<=80&&(t=n)}window.innerHeight+window.scrollY>=document.documentElement.scrollHeight-2&&window.scrollY>0&&e.length&&(t=e[e.length-1]),w.value=t}function V(){R===null&&(R=requestAnimationFrame(z))}o(()=>window.addEventListener(`scroll`,V,{passive:!0,capture:!0})),_(()=>{window.removeEventListener(`scroll`,V,{capture:!0}),R!==null&&cancelAnimationFrame(R)}),m(()=>s.html,L,{immediate:!0,flush:`post`});function H(e){let t=`#${e}`;b.hash===t?D(t)?.scrollIntoView({behavior:`smooth`}):S.push({query:b.query,hash:t}),w.value=e}return(i,o)=>{let s=v(`router-link`);return k(),u(`article`,{class:A([`wiki-page`,{"has-toc":e.toc.length}])},[p(`div`,ft,[y(i.$slots,`actions`),e.editName&&!i.$slots.actions?(k(),a(s,{key:0,class:`page-edit`,to:`/kinds/Page/instances/${encodeURIComponent(e.editName)}/edit`,title:`Edit page`,"aria-label":`Edit page`},{default:t(()=>[...o[0]||=[p(`i`,{class:`iconoir-edit-pencil`},null,-1)]]),_:1},8,[`to`])):c(``,!0),e.breadcrumb.length?(k(),u(`div`,pt,[(k(!0),u(E,null,l(e.breadcrumb,(e,n)=>(k(),u(E,{key:n},[e.page?(k(),a(s,{key:0,to:{name:`page`,params:{name:e.page}}},{default:t(()=>[N(x(e.title),1)]),_:2},1032,[`to`])):(k(),u(`span`,mt,x(e.title),1))],64))),128))])):c(``,!0),p(`h1`,null,x(e.title),1),y(i.$slots,`properties`)]),e.toc.length?(k(),u(`aside`,ht,[o[1]||=p(`span`,{class:`toc-title`},`On this page`,-1),p(`ul`,null,[(k(!0),u(E,null,l(e.toc,e=>(k(),u(`li`,{key:e.id},[p(`a`,{href:`#${e.id}`,style:T({paddingLeft:`${12+(e.level-M.value)*12}px`}),"aria-current":w.value===e.id?`location`:void 0,onClick:n(t=>H(e.id),[`prevent`])},x(e.text),13,gt)]))),128))])])):c(``,!0),p(`div`,{ref_key:`bodyEl`,ref:C,class:`page-body prose`,innerHTML:e.html},null,8,_t),(k(!0),u(E,null,l(O(F),e=>(k(),a(d,{key:e.key,to:e.el},[r(dt,{kind:e.kind,name:e.name,spec:e.spec},null,8,[`kind`,`name`,`spec`])],8,[`to`]))),128)),e.backlinks.length?(k(),u(`div`,vt,[o[2]||=p(`strong`,null,`Linked from`,-1),p(`ul`,null,[(k(!0),u(E,null,l(e.backlinks,e=>(k(),u(`li`,{key:e.name},[r(s,{to:{name:`page`,params:{name:e.name}}},{default:t(()=>[N(x(e.title),1)]),_:2},1032,[`to`])]))),128))])])):c(``,!0)],2)}}};export{_e as a,K as c,ze as i,G as l,dt as n,X as o,Xe as r,J as s,yt as t,B as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{j as createArchitectureServices}from"./mermaid-C3bOamfn.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{k as createCynefinServices}from"./mermaid-C3bOamfn.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{D as createEventModelingServices}from"./mermaid-C3bOamfn.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{T as createGitGraphServices}from"./mermaid-C3bOamfn.js";
|