archsight 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Dockerfile +4 -0
- data/docs/configuration.md +5 -0
- data/docs/diagram.md +69 -0
- data/docs/index.md.erb +1 -0
- data/docs/modeling.md +3 -1
- data/docs/pdf-export.md +118 -0
- data/lib/archsight/analysis/typst_renderer.rb +25 -78
- data/lib/archsight/cli.rb +39 -1
- data/lib/archsight/database.rb +4 -3
- data/lib/archsight/diagram/cli.rb +11 -1
- data/lib/archsight/diagram/errors.rb +1 -0
- data/lib/archsight/diagram/graph/attributes.rb +3 -1
- data/lib/archsight/diagram/graph/node.rb +18 -1
- data/lib/archsight/diagram/includes.rb +168 -0
- data/lib/archsight/diagram/layout/expander.rb +75 -3
- data/lib/archsight/diagram/layout/rank_arranger.rb +3 -1
- data/lib/archsight/diagram/parser/ast.rb +5 -0
- data/lib/archsight/diagram/parser/table_layout.rb +2 -0
- data/lib/archsight/diagram/parser.rb +58 -16
- data/lib/archsight/diagram.rb +20 -4
- data/lib/archsight/export/confluence/storage.rb +6 -1
- data/lib/archsight/helpers/diagram_blocks.rb +34 -19
- data/lib/archsight/helpers/diagram_includes.rb +67 -0
- data/lib/archsight/helpers.rb +1 -0
- data/lib/archsight/linter.rb +10 -2
- data/lib/archsight/markdown.rb +17 -1
- data/lib/archsight/pdf/cache.rb +41 -0
- data/lib/archsight/pdf/compiler.rb +69 -0
- data/lib/archsight/pdf/dependency_graph.rb +127 -0
- data/lib/archsight/pdf/document.rb +227 -0
- data/lib/archsight/pdf/embeds.rb +134 -0
- data/lib/archsight/pdf/images.rb +94 -0
- data/lib/archsight/pdf/markdown.rb +217 -0
- data/lib/archsight/pdf/remote_image.rb +122 -0
- data/lib/archsight/pdf/resource_sheet.rb +129 -0
- data/lib/archsight/pdf/sample_document.rb +67 -0
- data/lib/archsight/pdf/tables.rb +72 -0
- data/lib/archsight/pdf/theme.rb +125 -0
- data/lib/archsight/pdf/typst/archsight.typ +152 -0
- data/lib/archsight/pdf/typst.rb +45 -0
- data/lib/archsight/pdf.rb +30 -0
- data/lib/archsight/references.rb +4 -3
- data/lib/archsight/resources/application_component.rb +10 -0
- data/lib/archsight/resources/application_service.rb +9 -0
- data/lib/archsight/resources/config.rb +147 -0
- data/lib/archsight/resources/technology_service.rb +9 -0
- data/lib/archsight/version.rb +1 -1
- data/lib/archsight/web/api/json_helpers.rb +3 -2
- data/lib/archsight/web/api/openapi/spec.yaml +239 -2
- data/lib/archsight/web/api/page_helpers.rb +1 -1
- data/lib/archsight/web/api/pdf_helpers.rb +46 -0
- data/lib/archsight/web/api/routes.rb +34 -3
- data/lib/archsight/web/application.rb +2 -1
- data/lib/archsight/web/public/vue/DocPage-D3QtnrmO.js +1 -0
- data/lib/archsight/web/public/vue/EditorPage-lZyG6dVt.js +35 -0
- data/lib/archsight/web/public/vue/ErrorPage-BhdYGZJk.js +2 -0
- data/lib/archsight/web/public/vue/GraphView-CoqAjFdR.js +1 -0
- data/lib/archsight/web/public/vue/HomePage-B7SaXVeb.js +2 -0
- data/lib/archsight/web/public/vue/{InstanceRouter-Ca_C8izS.css → InstanceRouter-BCKbW-Wp.css} +1 -1
- data/lib/archsight/web/public/vue/InstanceRouter-DJJn9fhP.js +1 -0
- data/lib/archsight/web/public/vue/KindList-UqMajqbf.js +1 -0
- data/lib/archsight/web/public/vue/PageView-CirIXjW6.js +1 -0
- data/lib/archsight/web/public/vue/QueryError-BIJH6gQC.js +1 -0
- data/lib/archsight/web/public/vue/ResourceList-761vG1Jw.js +2 -0
- data/lib/archsight/web/public/vue/SearchResults-BPHa6yhK.js +1 -0
- data/lib/archsight/web/public/vue/WikiPage-Bi7dzY2h.js +3 -0
- data/lib/archsight/web/public/vue/{WikiPage-TpmM1VAF.css → WikiPage-CuUi4C8v.css} +1 -1
- data/lib/archsight/web/public/vue/{index-yiZbbvAs.js → index-BF4zUlWZ.js} +2 -2
- data/lib/archsight/web/public/vue/index-BO59Fbpf.css +1 -0
- data/lib/archsight/web/public/vue.html +2 -2
- metadata +37 -17
- data/lib/archsight/web/public/vue/DocPage-C8Ysway-.js +0 -1
- data/lib/archsight/web/public/vue/EditorPage-pr2MR6_b.js +0 -35
- data/lib/archsight/web/public/vue/ErrorPage-FAkpW-hn.js +0 -2
- data/lib/archsight/web/public/vue/GraphView-liQJzFyo.js +0 -1
- data/lib/archsight/web/public/vue/HomePage-DYpzSXG8.js +0 -2
- data/lib/archsight/web/public/vue/InstanceRouter-BdkBTmGO.js +0 -1
- data/lib/archsight/web/public/vue/KindList-CrgI4qDb.js +0 -1
- data/lib/archsight/web/public/vue/PageView-BIxT_t49.js +0 -1
- data/lib/archsight/web/public/vue/QueryError-ChdyV8B1.js +0 -1
- data/lib/archsight/web/public/vue/ResourceList-DdtaHY4k.js +0 -2
- data/lib/archsight/web/public/vue/SearchResults-BYRAcK_o.js +0 -1
- data/lib/archsight/web/public/vue/WikiPage-CgvRN6R2.js +0 -3
- data/lib/archsight/web/public/vue/index-BLSE5DSv.css +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as e,B as t,H as n,I as r,L as i,N as a,O as o,P as s,U as c,X as l,Z as u,a as d,ct as f,k as p,nt as m,ot as h,w as g,z as _}from"./index-BF4zUlWZ.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=o(),D=p(),O=r(()=>{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,o)=>{let d=e(`router-link`);return O.value?(l(),t(`div`,v,[i(`header`,null,[i(`article`,y,[o[1]||=i(`h3`,null,[i(`i`,{class:`iconoir-warning-triangle`}),n(` Error `)],-1),i(`p`,b,f(O.value.error),1),i(`p`,x,[o[0]||=i(`i`,{class:`iconoir-page`},null,-1),n(` `+f(O.value.path)+` `,1),i(`span`,S,`Line `+f(O.value.line_no),1)])]),i(`a`,{href:`#`,class:`reload-btn`,onClick:a(k,[`prevent`])},[...o[2]||=[i(`i`,{class:`iconoir-refresh`},null,-1),n(` Reload `,-1)]])]),O.value.context?(l(),t(`div`,C,[i(`pre`,null,[i(`code`,null,[(l(!0),t(s,null,u(O.value.context,e=>(l(),t(`span`,{key:e.line_no,class:h(e.selected?`error-line`:`code-line`)},[i(`span`,w,f(String(e.line_no).padStart(4,` `)),1),n(f(e.content)+`
|
|
2
|
+
`,1)],2))),128))])])])):_(``,!0)])):(l(),t(`div`,T,[o[4]||=i(`p`,null,`No error data available.`,-1),c(d,{to:`/`},{default:m(()=>[...o[3]||=[n(`Back to home`,-1)]]),_:1})]))}}},[[`__scopeId`,`data-v-cb96d9d5`]]);export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,J as t,K as n,L as r,X as i,Y as a,a as o,g as s,it as c}from"./index-BF4zUlWZ.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=o({__name:`GraphView`,setup(o){let m=c(``),h=c(!0),g=c(null),_=null;t(async()=>{let e=await s();m.value=e?await l(e):``,h.value=!1,await n(),v()}),a(()=>{_?.destroy()});function v(){if(!g.value)return;let e=g.value.querySelector(`svg`);e&&(_=u(e,g.value))}return(t,n)=>(i(),e(`article`,null,[n[1]||=r(`header`,null,[r(`h2`,null,`Architecture Overview`)],-1),h.value?(i(),e(`div`,d,[...n[0]||=[r(`p`,null,`Loading graph...`,-1)]])):(i(),e(`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-CoqAjFdR.js","vue/index-BF4zUlWZ.js","vue/mermaid-C3bOamfn.js","vue/rolldown-runtime-COiEfhsA.js","vue/index-BO59Fbpf.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{B as t,G as n,I as r,L as i,R as a,W as o,X as s,at as c}from"./index-BF4zUlWZ.js";import{n as l}from"./PageView-CirIXjW6.js";var u={key:2},d={__name:`HomePage`,setup(d){let f=o(()=>e(()=>import(`./GraphView-CoqAjFdR.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]))),p=n(`pages`,null),m=n(`pageHome`,null),h=r(()=>p?.value!=null),g=r(()=>m?.value);return(e,n)=>g.value?(s(),a(l,{key:0,name:g.value.name},null,8,[`name`])):h.value?(s(),a(c(f),{key:1})):(s(),t(`article`,u,[...n[0]||=[i(`p`,null,`Loading...`,-1)]]))}};export{d as default};
|
data/lib/archsight/web/public/vue/{InstanceRouter-Ca_C8izS.css → InstanceRouter-BCKbW-Wp.css}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
.btn-embed[data-v-04c65c40]{width:auto;font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;margin:0;padding:.4rem .75rem;transition:all .15s;display:inline-flex}.btn-embed[data-v-04c65c40]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.relations-section .relations-grid[data-v-5b9a2621]{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.relations-section .relations-outgoing[data-v-5b9a2621]{order:2}.relations-section .relations-incoming[data-v-5b9a2621]{order:1}@media (width<=768px){.relations-section .relations-grid[data-v-5b9a2621]{grid-template-columns:1fr;gap:1rem}.relations-section .relations-outgoing[data-v-5b9a2621]{order:1}.relations-section .relations-incoming[data-v-5b9a2621]{order:2}}.relations-section .relations-column h3[data-v-5b9a2621]{color:var(--pico-muted-color);font-size:var(--fs-base);align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.relations-section .relation-group[data-v-5b9a2621]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:.5rem;margin-bottom:.75rem;padding:.5rem .75rem}.relations-section .relation-kind[data-v-5b9a2621]{align-items:center;gap:.5rem;margin-bottom:.25rem;font-weight:600;display:flex}.relations-section .relation-verb[data-v-5b9a2621]{font-size:var(--fs-sm);color:var(--pico-muted-color);margin-bottom:.5rem}.relations-section .relations-empty[data-v-5b9a2621]{color:var(--pico-muted-color);font-style:italic}.instance-badges[data-v-5b9a2621]{flex-wrap:wrap;gap:6px;display:flex}.graph-container[data-v-c3280c1e]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}.canvas[data-v-c3280c1e]{width:100%;height:100%}[data-v-c3280c1e] .canvas svg{display:block}.graph-error[data-v-c3280c1e]{color:var(--pico-del-color);padding:.5rem 0}.git-info[data-v-808bbe74]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.git-item[data-v-808bbe74]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.git-item i[data-v-808bbe74]{font-size:var(--fs-md);color:var(--pico-primary)}.git-link[data-v-808bbe74]{color:var(--pico-primary);font-weight:600;text-decoration:none}.git-link[data-v-808bbe74]:hover{text-decoration:underline}.git-clone-command[data-v-808bbe74]{color:var(--pico-muted-color);font-size:var(--fs-sm);font-family:var(--font-mono);background-color:var(--pico-code-background-color);border-radius:3px;padding:2px 6px}.copy-button[data-v-808bbe74]{color:var(--pico-primary);border:1px solid var(--pico-muted-border-color);cursor:pointer;background-color:#0000;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:6px;transition:all .2s;display:flex}.copy-button[data-v-808bbe74]:hover{background-color:var(--pico-card-background-color);border-color:var(--pico-primary);transform:scale(1.1)}.copy-button.copied[data-v-808bbe74]{color:#fff;background-color:#10b981;border-color:#10b981}.copy-button i[data-v-808bbe74]{font-size:var(--fs-md)}.language-distribution[data-v-c1202fdd]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.language-total[data-v-c1202fdd]{align-items:baseline;gap:6px;display:flex}.language-total .language-count[data-v-c1202fdd]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.language-total .language-label[data-v-c1202fdd]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.language-bar[data-v-c1202fdd]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.language-bar-segment[data-v-c1202fdd]{min-width:2px;height:100%}.language-bar-segment.lang-0[data-v-c1202fdd],.language-legend-dot.lang-0[data-v-c1202fdd]{background-color:#3178c6}.language-bar-segment.lang-1[data-v-c1202fdd],.language-legend-dot.lang-1[data-v-c1202fdd]{background-color:#00add8}.language-bar-segment.lang-2[data-v-c1202fdd],.language-legend-dot.lang-2[data-v-c1202fdd]{background-color:#f1e05a}.language-bar-segment.lang-3[data-v-c1202fdd],.language-legend-dot.lang-3[data-v-c1202fdd]{background-color:#e34c26}.language-bar-segment.lang-4[data-v-c1202fdd],.language-legend-dot.lang-4[data-v-c1202fdd]{background-color:#563d7c}.language-bar-segment.lang-5[data-v-c1202fdd],.language-legend-dot.lang-5[data-v-c1202fdd]{background-color:#89e051}.language-bar-segment.lang-6[data-v-c1202fdd],.language-legend-dot.lang-6[data-v-c1202fdd]{background-color:#f34b7d}.language-bar-segment.lang-7[data-v-c1202fdd],.language-legend-dot.lang-7[data-v-c1202fdd]{background-color:#b07219}.language-bar-segment.lang-8[data-v-c1202fdd],.language-legend-dot.lang-8[data-v-c1202fdd]{background-color:#4f5d95}.language-bar-segment.lang-9[data-v-c1202fdd],.language-legend-dot.lang-9[data-v-c1202fdd]{background-color:#6b7280}.language-bar-segment.lang-other[data-v-c1202fdd],.language-legend-dot.lang-other[data-v-c1202fdd]{background-color:#9ca3af}.language-legend[data-v-c1202fdd]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.language-legend-item[data-v-c1202fdd]{align-items:center;gap:4px;display:flex}.language-legend-item a[data-v-c1202fdd]{color:var(--pico-muted-color);text-decoration:none}.language-legend-item a[data-v-c1202fdd]:hover{color:var(--pico-primary);text-decoration:underline}.language-legend-dot[data-v-c1202fdd]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.project-estimate[data-v-d97600d8]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.estimate-item[data-v-d97600d8]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.estimate-item i[data-v-d97600d8]{font-size:var(--fs-md);color:var(--pico-primary)}.estimate-label[data-v-d97600d8]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.estimate-value[data-v-d97600d8]{color:var(--pico-color);font-weight:600}.estimate-note[data-v-d97600d8]{color:var(--pico-muted-color);cursor:help;margin-left:.5rem}.estimate-note i[data-v-d97600d8]{font-size:var(--fs-sm)}.repository-distribution[data-v-6c3e5f7d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.repository-total[data-v-6c3e5f7d]{align-items:baseline;gap:6px;display:flex}.repository-total .repository-count[data-v-6c3e5f7d]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.repository-total .repository-label[data-v-6c3e5f7d]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.repository-bar[data-v-6c3e5f7d]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.repository-bar-segment[data-v-6c3e5f7d]{min-width:2px;height:100%}.repository-bar-segment.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-bar-segment.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-bar-segment.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-legend[data-v-6c3e5f7d]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.repository-legend-item[data-v-6c3e5f7d]{color:var(--pico-muted-color);align-items:center;gap:4px;display:flex}.repository-legend-dot[data-v-6c3e5f7d]{border-radius:50%;width:8px;height:8px}.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}@media (prefers-color-scheme:dark){.repository-bar-segment.status-active[data-v-6c3e5f7d],.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#34d399}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d],.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#fbbf24}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d],.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#f87171}.repository-bar-segment.status-other[data-v-6c3e5f7d],.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-bar-segment.status-archived[data-v-6c3e5f7d],.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#d1d5db}}.activity-sparkline[data-v-33cc84bd]{align-items:flex-end;gap:1px;height:20px;padding:2px 4px;display:inline-flex}.activity-sparkline-bar[data-v-33cc84bd]{background-color:#3178c6;border-radius:1px;width:2px;min-height:2px;transition:background-color .2s}.activity-sparkline-bar.empty[data-v-33cc84bd]{background-color:#0000;min-height:0}.activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#2563eb}.activity-sparkline-bar.empty[data-v-33cc84bd]:hover{background-color:#0000}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#f59e0b}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#d97706}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}@media (prefers-color-scheme:dark){.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#fbbf24}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#34d399}}.sparkline-sm[data-v-33cc84bd]{gap:2px;height:28px}.sparkline-sm .activity-sparkline-bar[data-v-33cc84bd]{border-radius:1px;width:4px}.activity-summary[data-v-a2e60c62]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-a2e60c62]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-a2e60c62]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-a2e60c62]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-a2e60c62]{color:var(--pico-color);font-weight:600}.activity-value.status-abandoned[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.status-bot-only[data-v-a2e60c62]{color:#f59e0b;font-style:italic}.activity-value.status-archived[data-v-a2e60c62]{color:#6b7280;font-weight:600;text-decoration:line-through}.activity-value.bus-factor-high[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.bus-factor-medium[data-v-a2e60c62]{color:#f59e0b;font-weight:600}.sparkline-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);margin-left:6px}.contributors-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.8;margin-left:4px;font-weight:400}.team-stats[data-v-ddf2e61d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-wrap:wrap;gap:16px;padding:8px 12px;display:flex}.team-stat-item[data-v-ddf2e61d]{align-items:baseline;gap:6px;display:flex}.team-stat-value[data-v-ddf2e61d]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.team-stat-label[data-v-ddf2e61d]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.team-value[data-v-ddf2e61d]{color:var(--pico-color)}a.team-value[data-v-ddf2e61d]{color:var(--pico-primary);text-decoration:none}a.team-value[data-v-ddf2e61d]:hover{text-decoration:underline}.team-members[data-v-ddf2e61d]{flex-direction:column;gap:2px;display:flex}.team-member[data-v-ddf2e61d]{color:var(--pico-color)}a.team-member[data-v-ddf2e61d]{color:var(--pico-primary);text-decoration:none}a.team-member[data-v-ddf2e61d]:hover{text-decoration:underline}.jira-info[data-v-ddf2e61d]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jira-metric[data-v-ddf2e61d]{align-items:center;gap:6px;display:flex}.jira-metric-label[data-v-ddf2e61d]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.jira-metric-total[data-v-ddf2e61d]{font-size:var(--fs-xs);color:var(--pico-color);font-weight:600}.jira-trend[data-v-ddf2e61d]{font-size:var(--fs-xs);cursor:help;align-items:center;gap:4px;display:flex}.jira-trend i[data-v-ddf2e61d]{font-size:1em}.jira-trend-text[data-v-ddf2e61d]{font-weight:600}.jira-trend-positive i[data-v-ddf2e61d],.jira-trend-positive .jira-trend-text[data-v-ddf2e61d]{color:#10b981}.jira-trend-negative i[data-v-ddf2e61d],.jira-trend-negative .jira-trend-text[data-v-ddf2e61d]{color:#ef4444}.jira-trend-neutral i[data-v-ddf2e61d],.jira-trend-neutral .jira-trend-text[data-v-ddf2e61d]{color:var(--pico-muted-color)}@media (prefers-color-scheme:dark){.jira-trend-positive i[data-v-ddf2e61d],.jira-trend-positive .jira-trend-text[data-v-ddf2e61d]{color:#34d399}.jira-trend-negative i[data-v-ddf2e61d],.jira-trend-negative .jira-trend-text[data-v-ddf2e61d]{color:#f87171}}.deployment-types[data-v-c57237c3]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.deployment-item[data-v-c57237c3]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.deployment-item[data-v-c57237c3]:hover{border-color:var(--pico-primary)}.deployment-item i[data-v-c57237c3]{color:var(--pico-primary);font-size:var(--fs-md);flex-shrink:0}.workflow-platforms[data-v-5e906c49]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.workflow-platform-item[data-v-5e906c49]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.workflow-platform-item[data-v-5e906c49]:hover{border-color:var(--pico-primary)}.workflow-platform-item input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types ul[data-v-5e906c49]{margin:.25rem 0 0;padding-left:0;list-style:none}.workflow-types li[data-v-5e906c49]{align-items:center;gap:.5rem;display:flex}.workflow-types li input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types li a[data-v-5e906c49]{color:var(--pico-color);text-decoration:none;transition:color .2s}.workflow-types li a[data-v-5e906c49]:hover{color:var(--pico-primary);text-decoration:underline}.workflow-types li.grayed-out[data-v-5e906c49]{opacity:.4}.workflow-types[data-v-5e906c49]{margin-top:.5rem;padding-left:1rem}.workflow-types>div[data-v-5e906c49]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;display:grid}.workflow-category strong[data-v-5e906c49]{margin-bottom:.25rem;display:block}.agentic-tools[data-v-52b7b17d]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.tool-item[data-v-52b7b17d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;padding:.75rem;text-decoration:none;transition:opacity .2s,border-color .2s;display:block}.tool-item[data-v-52b7b17d]:hover{border-color:var(--pico-primary)}.tool-item.not-implemented[data-v-52b7b17d]{opacity:.4}.tool-item-header[data-v-52b7b17d]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.tool-item-header input[type=checkbox][data-v-52b7b17d]{pointer-events:none;margin:0}.tool-item-header i[data-v-52b7b17d]{font-size:var(--fs-md)}.tool-item-header i.implemented[data-v-52b7b17d]{color:var(--pico-primary)}.tool-item-header i.not-implemented[data-v-52b7b17d]{color:var(--pico-muted-color)}.tool-item-description[data-v-52b7b17d]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.activity-summary[data-v-126f0fee]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-126f0fee]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-126f0fee]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-126f0fee]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-126f0fee]{color:var(--pico-color);font-weight:600}.license-details-inline[data-v-126f0fee]{display:inline}.license-details-inline summary[data-v-126f0fee]{cursor:pointer;list-style:none}.license-details-inline summary[data-v-126f0fee]::-webkit-details-marker{display:none}.license-overflow[data-v-126f0fee]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.lifecycle-info[data-v-6c14f599]{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.lifecycle-replaced[data-v-6c14f599],.lifecycle-incoming[data-v-6c14f599]{font-size:var(--fs-sm);color:var(--pico-muted-color)}.lifecycle-replaced a[data-v-6c14f599]{font-weight:600}.instance-title-text[data-v-fc508dab]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-fc508dab]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-pager[role=group][data-v-fc508dab]{width:fit-content;margin-bottom:.5rem;display:inline-flex}.view-pager[role=group] button[data-v-fc508dab]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.25rem .75rem}.graph-container[data-v-fc508dab]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-fc508dab]{width:100%;height:100%}.graph-options[data-v-fc508dab]{z-index:10;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:absolute;top:8px;left:8px}.graph-options>i[data-v-fc508dab]{color:var(--pico-muted-color)}.graph-options [role=group][data-v-fc508dab]{background:var(--pico-card-background-color);align-items:center;width:fit-content;margin:0;display:inline-flex}.layer-swatch[data-v-fc508dab]{border:1px solid var(--pico-muted-color);vertical-align:middle;border-radius:2px;width:.8rem;height:.8rem;display:inline-block}.graph-options button.layer-toggle:not([aria-pressed=true]) .layer-swatch[data-v-fc508dab]{opacity:.35}.graph-options button[data-v-fc508dab]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.15rem .6rem}[data-v-fc508dab] #graphviz svg{display:block}.instance-badges[data-v-fc508dab]{flex-wrap:wrap;gap:6px;display:flex}.header-actions[data-v-fc508dab]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-fc508dab]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-fc508dab]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.view-header[data-v-1c2b385e]{margin-bottom:.75rem}.view-header h2[data-v-1c2b385e]{align-items:center;gap:.5rem;display:flex}.view-header h2 i[data-v-1c2b385e]{color:var(--pico-primary)}.instance-title-text[data-v-1c2b385e]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-1c2b385e]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-query-display[data-v-1c2b385e]{flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.query-item[data-v-1c2b385e]{align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.query-item .label[data-v-1c2b385e]{color:var(--pico-muted-color);text-transform:uppercase;font-weight:600;font-size:var(--fs-xs)}.query-item code[data-v-1c2b385e]{background-color:var(--pico-code-background-color);border-radius:4px;padding:.25rem .5rem}.view-empty-state[data-v-1c2b385e]{text-align:center;color:var(--pico-muted-color);padding:1.5rem}.instance-title-text[data-v-a10d9499]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-a10d9499]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-a10d9499]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-a10d9499]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-a10d9499]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.analysis-header[data-v-a10d9499]{margin-bottom:.75rem}.analysis-summary[data-v-a10d9499]{color:var(--pico-muted-color);margin:.25rem 0 0}.analysis-summary[data-v-a10d9499] p:last-child{margin-bottom:0}.analysis-header h2[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.analysis-empty-state[data-v-a10d9499]{color:var(--pico-muted-color);align-items:center;gap:.5rem;padding:1.5rem;display:flex}.instance-title-text[data-v-f0340aef]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-f0340aef]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-f0340aef]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-f0340aef]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-f0340aef]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.import-header[data-v-f0340aef]{margin-bottom:.75rem}.import-header header[data-v-f0340aef]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.import-header header h2[data-v-f0340aef]{align-items:center;gap:.5rem;margin-right:auto;display:flex}.graph-container[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-f0340aef]{width:100%;height:100%}[data-v-f0340aef] #graphviz svg{display:block}.import-metadata[data-v-f0340aef]{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.import-meta-item[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);background-color:var(--pico-code-background-color);border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;display:flex}.import-meta-item i[data-v-f0340aef]{font-size:var(--fs-md)}.import-meta-item.status-enabled[data-v-f0340aef]{color:#10b981}.import-meta-item.status-disabled[data-v-f0340aef]{color:#ef4444}.import-output-path[data-v-f0340aef]{background-color:var(--pico-code-background-color);border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem}.import-output-path code[data-v-f0340aef]{margin-left:.5rem}.import-config-section[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:8px;margin-top:1rem}.import-config-section summary[data-v-f0340aef]{cursor:pointer;color:var(--pico-muted-color);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;display:flex}.import-config-section summary[data-v-f0340aef]:hover{color:var(--pico-color)}.import-config-section summary[data-v-f0340aef]::marker{display:none}.import-config-section summary[data-v-f0340aef]::-webkit-details-marker{display:none}.import-config-section summary[data-v-f0340aef]:before{content:"▶";font-size:var(--fs-2xs);transition:transform .2s}.import-config-section[open] summary[data-v-f0340aef]:before{transform:rotate(90deg)}.import-config-table[data-v-f0340aef]{border-collapse:collapse;width:100%;margin:0}.import-config-table th[data-v-f0340aef],.import-config-table td[data-v-f0340aef]{border-top:1px solid var(--pico-muted-border-color);padding:.5rem 1rem}.import-config-table th[data-v-f0340aef]{text-align:left;width:30%;color:var(--pico-muted-color);font-weight:500}.import-config-table code[data-v-f0340aef]{word-break:break-all}
|
|
1
|
+
.btn-embed[data-v-04c65c40]{width:auto;font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;margin:0;padding:.4rem .75rem;transition:all .15s;display:inline-flex}.btn-embed[data-v-04c65c40]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.relations-section .relations-grid[data-v-5b9a2621]{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.relations-section .relations-outgoing[data-v-5b9a2621]{order:2}.relations-section .relations-incoming[data-v-5b9a2621]{order:1}@media (width<=768px){.relations-section .relations-grid[data-v-5b9a2621]{grid-template-columns:1fr;gap:1rem}.relations-section .relations-outgoing[data-v-5b9a2621]{order:1}.relations-section .relations-incoming[data-v-5b9a2621]{order:2}}.relations-section .relations-column h3[data-v-5b9a2621]{color:var(--pico-muted-color);font-size:var(--fs-base);align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.relations-section .relation-group[data-v-5b9a2621]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:.5rem;margin-bottom:.75rem;padding:.5rem .75rem}.relations-section .relation-kind[data-v-5b9a2621]{align-items:center;gap:.5rem;margin-bottom:.25rem;font-weight:600;display:flex}.relations-section .relation-verb[data-v-5b9a2621]{font-size:var(--fs-sm);color:var(--pico-muted-color);margin-bottom:.5rem}.relations-section .relations-empty[data-v-5b9a2621]{color:var(--pico-muted-color);font-style:italic}.instance-badges[data-v-5b9a2621]{flex-wrap:wrap;gap:6px;display:flex}.graph-container[data-v-c3280c1e]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}.canvas[data-v-c3280c1e]{width:100%;height:100%}[data-v-c3280c1e] .canvas svg{display:block}.graph-error[data-v-c3280c1e]{color:var(--pico-del-color);padding:.5rem 0}.git-info[data-v-808bbe74]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.git-item[data-v-808bbe74]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.git-item i[data-v-808bbe74]{font-size:var(--fs-md);color:var(--pico-primary)}.git-link[data-v-808bbe74]{color:var(--pico-primary);font-weight:600;text-decoration:none}.git-link[data-v-808bbe74]:hover{text-decoration:underline}.git-clone-command[data-v-808bbe74]{color:var(--pico-muted-color);font-size:var(--fs-sm);font-family:var(--font-mono);background-color:var(--pico-code-background-color);border-radius:3px;padding:2px 6px}.copy-button[data-v-808bbe74]{color:var(--pico-primary);border:1px solid var(--pico-muted-border-color);cursor:pointer;background-color:#0000;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:6px;transition:all .2s;display:flex}.copy-button[data-v-808bbe74]:hover{background-color:var(--pico-card-background-color);border-color:var(--pico-primary);transform:scale(1.1)}.copy-button.copied[data-v-808bbe74]{color:#fff;background-color:#10b981;border-color:#10b981}.copy-button i[data-v-808bbe74]{font-size:var(--fs-md)}.language-distribution[data-v-c1202fdd]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.language-total[data-v-c1202fdd]{align-items:baseline;gap:6px;display:flex}.language-total .language-count[data-v-c1202fdd]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.language-total .language-label[data-v-c1202fdd]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.language-bar[data-v-c1202fdd]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.language-bar-segment[data-v-c1202fdd]{min-width:2px;height:100%}.language-bar-segment.lang-0[data-v-c1202fdd],.language-legend-dot.lang-0[data-v-c1202fdd]{background-color:#3178c6}.language-bar-segment.lang-1[data-v-c1202fdd],.language-legend-dot.lang-1[data-v-c1202fdd]{background-color:#00add8}.language-bar-segment.lang-2[data-v-c1202fdd],.language-legend-dot.lang-2[data-v-c1202fdd]{background-color:#f1e05a}.language-bar-segment.lang-3[data-v-c1202fdd],.language-legend-dot.lang-3[data-v-c1202fdd]{background-color:#e34c26}.language-bar-segment.lang-4[data-v-c1202fdd],.language-legend-dot.lang-4[data-v-c1202fdd]{background-color:#563d7c}.language-bar-segment.lang-5[data-v-c1202fdd],.language-legend-dot.lang-5[data-v-c1202fdd]{background-color:#89e051}.language-bar-segment.lang-6[data-v-c1202fdd],.language-legend-dot.lang-6[data-v-c1202fdd]{background-color:#f34b7d}.language-bar-segment.lang-7[data-v-c1202fdd],.language-legend-dot.lang-7[data-v-c1202fdd]{background-color:#b07219}.language-bar-segment.lang-8[data-v-c1202fdd],.language-legend-dot.lang-8[data-v-c1202fdd]{background-color:#4f5d95}.language-bar-segment.lang-9[data-v-c1202fdd],.language-legend-dot.lang-9[data-v-c1202fdd]{background-color:#6b7280}.language-bar-segment.lang-other[data-v-c1202fdd],.language-legend-dot.lang-other[data-v-c1202fdd]{background-color:#9ca3af}.language-legend[data-v-c1202fdd]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.language-legend-item[data-v-c1202fdd]{align-items:center;gap:4px;display:flex}.language-legend-item a[data-v-c1202fdd]{color:var(--pico-muted-color);text-decoration:none}.language-legend-item a[data-v-c1202fdd]:hover{color:var(--pico-primary);text-decoration:underline}.language-legend-dot[data-v-c1202fdd]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.project-estimate[data-v-d97600d8]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.estimate-item[data-v-d97600d8]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.estimate-item i[data-v-d97600d8]{font-size:var(--fs-md);color:var(--pico-primary)}.estimate-label[data-v-d97600d8]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.estimate-value[data-v-d97600d8]{color:var(--pico-color);font-weight:600}.estimate-note[data-v-d97600d8]{color:var(--pico-muted-color);cursor:help;margin-left:.5rem}.estimate-note i[data-v-d97600d8]{font-size:var(--fs-sm)}.repository-distribution[data-v-6c3e5f7d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.repository-total[data-v-6c3e5f7d]{align-items:baseline;gap:6px;display:flex}.repository-total .repository-count[data-v-6c3e5f7d]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.repository-total .repository-label[data-v-6c3e5f7d]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.repository-bar[data-v-6c3e5f7d]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.repository-bar-segment[data-v-6c3e5f7d]{min-width:2px;height:100%}.repository-bar-segment.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-bar-segment.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-bar-segment.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-legend[data-v-6c3e5f7d]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.repository-legend-item[data-v-6c3e5f7d]{color:var(--pico-muted-color);align-items:center;gap:4px;display:flex}.repository-legend-dot[data-v-6c3e5f7d]{border-radius:50%;width:8px;height:8px}.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}@media (prefers-color-scheme:dark){.repository-bar-segment.status-active[data-v-6c3e5f7d],.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#34d399}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d],.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#fbbf24}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d],.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#f87171}.repository-bar-segment.status-other[data-v-6c3e5f7d],.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-bar-segment.status-archived[data-v-6c3e5f7d],.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#d1d5db}}.activity-sparkline[data-v-33cc84bd]{align-items:flex-end;gap:1px;height:20px;padding:2px 4px;display:inline-flex}.activity-sparkline-bar[data-v-33cc84bd]{background-color:#3178c6;border-radius:1px;width:2px;min-height:2px;transition:background-color .2s}.activity-sparkline-bar.empty[data-v-33cc84bd]{background-color:#0000;min-height:0}.activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#2563eb}.activity-sparkline-bar.empty[data-v-33cc84bd]:hover{background-color:#0000}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#f59e0b}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#d97706}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}@media (prefers-color-scheme:dark){.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#fbbf24}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#34d399}}.sparkline-sm[data-v-33cc84bd]{gap:2px;height:28px}.sparkline-sm .activity-sparkline-bar[data-v-33cc84bd]{border-radius:1px;width:4px}.activity-summary[data-v-a2e60c62]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-a2e60c62]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-a2e60c62]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-a2e60c62]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-a2e60c62]{color:var(--pico-color);font-weight:600}.activity-value.status-abandoned[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.status-bot-only[data-v-a2e60c62]{color:#f59e0b;font-style:italic}.activity-value.status-archived[data-v-a2e60c62]{color:#6b7280;font-weight:600;text-decoration:line-through}.activity-value.bus-factor-high[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.bus-factor-medium[data-v-a2e60c62]{color:#f59e0b;font-weight:600}.sparkline-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);margin-left:6px}.contributors-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.8;margin-left:4px;font-weight:400}.team-stats[data-v-ae48f9a9]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-wrap:wrap;gap:16px;padding:8px 12px;display:flex}.team-stat-item[data-v-ae48f9a9]{align-items:baseline;gap:6px;display:flex}.team-stat-value[data-v-ae48f9a9]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.team-stat-label[data-v-ae48f9a9]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.team-value[data-v-ae48f9a9]{color:var(--pico-color)}a.team-value[data-v-ae48f9a9]{color:var(--pico-primary);text-decoration:none}a.team-value[data-v-ae48f9a9]:hover{text-decoration:underline}.team-members[data-v-ae48f9a9]{flex-direction:column;gap:2px;display:flex}.team-member[data-v-ae48f9a9]{color:var(--pico-color)}a.team-member[data-v-ae48f9a9]{color:var(--pico-primary);text-decoration:none}a.team-member[data-v-ae48f9a9]:hover{text-decoration:underline}.jira-info[data-v-ae48f9a9]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jira-metric[data-v-ae48f9a9]{align-items:center;gap:6px;display:flex}.jira-metric-label[data-v-ae48f9a9]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.jira-metric-total[data-v-ae48f9a9]{font-size:var(--fs-xs);color:var(--pico-color);font-weight:600}.jira-trend[data-v-ae48f9a9]{font-size:var(--fs-xs);cursor:help;align-items:center;gap:4px;display:flex}.jira-trend i[data-v-ae48f9a9]{font-size:1em}.jira-trend-text[data-v-ae48f9a9]{font-weight:600}.jira-trend-positive i[data-v-ae48f9a9],.jira-trend-positive .jira-trend-text[data-v-ae48f9a9]{color:#10b981}.jira-trend-negative i[data-v-ae48f9a9],.jira-trend-negative .jira-trend-text[data-v-ae48f9a9]{color:#ef4444}.jira-trend-neutral i[data-v-ae48f9a9],.jira-trend-neutral .jira-trend-text[data-v-ae48f9a9]{color:var(--pico-muted-color)}@media (prefers-color-scheme:dark){.jira-trend-positive i[data-v-ae48f9a9],.jira-trend-positive .jira-trend-text[data-v-ae48f9a9]{color:#34d399}.jira-trend-negative i[data-v-ae48f9a9],.jira-trend-negative .jira-trend-text[data-v-ae48f9a9]{color:#f87171}}.deployment-types[data-v-c57237c3]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.deployment-item[data-v-c57237c3]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.deployment-item[data-v-c57237c3]:hover{border-color:var(--pico-primary)}.deployment-item i[data-v-c57237c3]{color:var(--pico-primary);font-size:var(--fs-md);flex-shrink:0}.workflow-platforms[data-v-5e906c49]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.workflow-platform-item[data-v-5e906c49]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.workflow-platform-item[data-v-5e906c49]:hover{border-color:var(--pico-primary)}.workflow-platform-item input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types ul[data-v-5e906c49]{margin:.25rem 0 0;padding-left:0;list-style:none}.workflow-types li[data-v-5e906c49]{align-items:center;gap:.5rem;display:flex}.workflow-types li input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types li a[data-v-5e906c49]{color:var(--pico-color);text-decoration:none;transition:color .2s}.workflow-types li a[data-v-5e906c49]:hover{color:var(--pico-primary);text-decoration:underline}.workflow-types li.grayed-out[data-v-5e906c49]{opacity:.4}.workflow-types[data-v-5e906c49]{margin-top:.5rem;padding-left:1rem}.workflow-types>div[data-v-5e906c49]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;display:grid}.workflow-category strong[data-v-5e906c49]{margin-bottom:.25rem;display:block}.agentic-tools[data-v-52b7b17d]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.tool-item[data-v-52b7b17d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;padding:.75rem;text-decoration:none;transition:opacity .2s,border-color .2s;display:block}.tool-item[data-v-52b7b17d]:hover{border-color:var(--pico-primary)}.tool-item.not-implemented[data-v-52b7b17d]{opacity:.4}.tool-item-header[data-v-52b7b17d]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.tool-item-header input[type=checkbox][data-v-52b7b17d]{pointer-events:none;margin:0}.tool-item-header i[data-v-52b7b17d]{font-size:var(--fs-md)}.tool-item-header i.implemented[data-v-52b7b17d]{color:var(--pico-primary)}.tool-item-header i.not-implemented[data-v-52b7b17d]{color:var(--pico-muted-color)}.tool-item-description[data-v-52b7b17d]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.activity-summary[data-v-126f0fee]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-126f0fee]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-126f0fee]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-126f0fee]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-126f0fee]{color:var(--pico-color);font-weight:600}.license-details-inline[data-v-126f0fee]{display:inline}.license-details-inline summary[data-v-126f0fee]{cursor:pointer;list-style:none}.license-details-inline summary[data-v-126f0fee]::-webkit-details-marker{display:none}.license-overflow[data-v-126f0fee]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.lifecycle-info[data-v-6c14f599]{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.lifecycle-replaced[data-v-6c14f599],.lifecycle-incoming[data-v-6c14f599]{font-size:var(--fs-sm);color:var(--pico-muted-color)}.lifecycle-replaced a[data-v-6c14f599]{font-weight:600}.instance-title-text[data-v-ce7bff3f]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-ce7bff3f]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-pager[role=group][data-v-ce7bff3f]{width:fit-content;margin-bottom:.5rem;display:inline-flex}.view-pager[role=group] button[data-v-ce7bff3f]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.25rem .75rem}.graph-container[data-v-ce7bff3f]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-ce7bff3f]{width:100%;height:100%}.graph-options[data-v-ce7bff3f]{z-index:10;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:absolute;top:8px;left:8px}.graph-options>i[data-v-ce7bff3f]{color:var(--pico-muted-color)}.graph-options [role=group][data-v-ce7bff3f]{background:var(--pico-card-background-color);align-items:center;width:fit-content;margin:0;display:inline-flex}.layer-swatch[data-v-ce7bff3f]{border:1px solid var(--pico-muted-color);vertical-align:middle;border-radius:2px;width:.8rem;height:.8rem;display:inline-block}.graph-options button.layer-toggle:not([aria-pressed=true]) .layer-swatch[data-v-ce7bff3f]{opacity:.35}.graph-options button[data-v-ce7bff3f]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.15rem .6rem}[data-v-ce7bff3f] #graphviz svg{display:block}.instance-badges[data-v-ce7bff3f]{flex-wrap:wrap;gap:6px;display:flex}.header-actions[data-v-ce7bff3f]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-ce7bff3f]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-ce7bff3f]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.view-header[data-v-1c2b385e]{margin-bottom:.75rem}.view-header h2[data-v-1c2b385e]{align-items:center;gap:.5rem;display:flex}.view-header h2 i[data-v-1c2b385e]{color:var(--pico-primary)}.instance-title-text[data-v-1c2b385e]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-1c2b385e]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-query-display[data-v-1c2b385e]{flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.query-item[data-v-1c2b385e]{align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.query-item .label[data-v-1c2b385e]{color:var(--pico-muted-color);text-transform:uppercase;font-weight:600;font-size:var(--fs-xs)}.query-item code[data-v-1c2b385e]{background-color:var(--pico-code-background-color);border-radius:4px;padding:.25rem .5rem}.view-empty-state[data-v-1c2b385e]{text-align:center;color:var(--pico-muted-color);padding:1.5rem}.instance-title-text[data-v-a10d9499]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-a10d9499]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-a10d9499]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-a10d9499]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-a10d9499]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.analysis-header[data-v-a10d9499]{margin-bottom:.75rem}.analysis-summary[data-v-a10d9499]{color:var(--pico-muted-color);margin:.25rem 0 0}.analysis-summary[data-v-a10d9499] p:last-child{margin-bottom:0}.analysis-header h2[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.analysis-empty-state[data-v-a10d9499]{color:var(--pico-muted-color);align-items:center;gap:.5rem;padding:1.5rem;display:flex}.instance-title-text[data-v-f0340aef]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-f0340aef]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-f0340aef]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-f0340aef]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-f0340aef]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.import-header[data-v-f0340aef]{margin-bottom:.75rem}.import-header header[data-v-f0340aef]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.import-header header h2[data-v-f0340aef]{align-items:center;gap:.5rem;margin-right:auto;display:flex}.graph-container[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-f0340aef]{width:100%;height:100%}[data-v-f0340aef] #graphviz svg{display:block}.import-metadata[data-v-f0340aef]{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.import-meta-item[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);background-color:var(--pico-code-background-color);border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;display:flex}.import-meta-item i[data-v-f0340aef]{font-size:var(--fs-md)}.import-meta-item.status-enabled[data-v-f0340aef]{color:#10b981}.import-meta-item.status-disabled[data-v-f0340aef]{color:#ef4444}.import-output-path[data-v-f0340aef]{background-color:var(--pico-code-background-color);border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem}.import-output-path code[data-v-f0340aef]{margin-left:.5rem}.import-config-section[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:8px;margin-top:1rem}.import-config-section summary[data-v-f0340aef]{cursor:pointer;color:var(--pico-muted-color);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;display:flex}.import-config-section summary[data-v-f0340aef]:hover{color:var(--pico-color)}.import-config-section summary[data-v-f0340aef]::marker{display:none}.import-config-section summary[data-v-f0340aef]::-webkit-details-marker{display:none}.import-config-section summary[data-v-f0340aef]:before{content:"▶";font-size:var(--fs-2xs);transition:transform .2s}.import-config-section[open] summary[data-v-f0340aef]:before{transform:rotate(90deg)}.import-config-table[data-v-f0340aef]{border-collapse:collapse;width:100%;margin:0}.import-config-table th[data-v-f0340aef],.import-config-table td[data-v-f0340aef]{border-top:1px solid var(--pico-muted-border-color);padding:.5rem 1rem}.import-config-table th[data-v-f0340aef]{text-align:left;width:30%;color:var(--pico-muted-color);font-weight:500}.import-config-table code[data-v-f0340aef]{word-break:break-all}.instance-title-text[data-v-6c4eb162]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-6c4eb162]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-6c4eb162]{color:var(--pico-primary);font-weight:600}.pdf-config h2[data-v-6c4eb162],.header-actions[data-v-6c4eb162]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-6c4eb162]{width:auto;font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;margin:0;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-6c4eb162]:hover,.btn-header[data-v-6c4eb162]:focus-visible{color:var(--pico-primary);border-color:var(--pico-primary)}.sheet[data-v-6c4eb162]{gap:var(--space-5);margin-top:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.preview[data-v-6c4eb162]{order:-1}@media (width>=900px){.sheet[data-v-6c4eb162]{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);align-items:start}.preview[data-v-6c4eb162]{top:var(--space-4);order:0;position:sticky}}h3[data-v-6c4eb162]{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-strong)}.settings section+section[data-v-6c4eb162]{margin-top:var(--space-5)}.palette[data-v-6c4eb162]{border-radius:var(--pico-border-radius);border:1px solid var(--line);margin:0;padding:0;list-style:none;overflow:hidden}.palette li[data-v-6c4eb162]{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:2.4rem;padding:0 var(--space-3);font-size:var(--fs-sm);margin:0;display:flex}.palette li.tall[data-v-6c4eb162]{min-height:3.6rem}.palette .role[data-v-6c4eb162]{font-weight:var(--fw-strong);line-height:var(--lh-tight);flex-direction:column;display:flex}.palette small[data-v-6c4eb162]{opacity:.8;font-weight:400;font-size:var(--fs-2xs)}.palette code[data-v-6c4eb162]{color:inherit;font-size:var(--fs-xs);text-align:right;background:0 0;padding:0}.facts[data-v-6c4eb162]{gap:var(--space-1) var(--space-4);font-size:var(--fs-sm);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.facts dt[data-v-6c4eb162]{color:var(--pico-muted-color)}.facts dd[data-v-6c4eb162]{overflow-wrap:anywhere;margin:0}.unset[data-v-6c4eb162]{color:var(--pico-muted-color)}.logos[data-v-6c4eb162]{gap:var(--space-2);grid-template-columns:1fr 1fr;margin:0;display:grid}.logos figure[data-v-6c4eb162]{justify-content:space-between;gap:var(--space-3);min-height:5.5rem;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--pico-border-radius);font-size:var(--fs-2xs);flex-direction:column;margin:0;display:flex}.logos .on-white[data-v-6c4eb162]{color:#555;background:#fff}.logos .on-band[data-v-6c4eb162]{border-color:#0000}.logos img[data-v-6c4eb162]{object-fit:contain;object-position:left;max-width:100%;max-height:2rem;display:block}.logos figcaption[data-v-6c4eb162]{color:inherit;font-size:var(--fs-2xs);background:0 0;margin:0;padding:0}.logos .on-white .unset[data-v-6c4eb162]{color:#777}.logos .on-band .unset[data-v-6c4eb162]{color:inherit;opacity:.7}.preview-bar[data-v-6c4eb162]{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.preview-bar h3[data-v-6c4eb162]{margin:0 auto 0 0}.pager[role=group][data-v-6c4eb162]{width:auto;margin:0;display:inline-flex}.pager[role=group] button[data-v-6c4eb162]{width:auto;font-size:var(--fs-xs);flex:none;margin:0;padding:.25rem .75rem}.frame[data-v-6c4eb162]{aspect-ratio:210/297;border:1px solid var(--line);border-radius:var(--pico-border-radius);background:var(--tint);width:min(100%,55.1627vh);min-width:min(100%,18rem);margin:0 auto;overflow:hidden}.frame iframe[data-v-6c4eb162]{background:#fff;border:0;width:100%;height:100%;display:block}.note[data-v-6c4eb162]{justify-content:center;align-items:center;gap:var(--space-3);height:100%;padding:var(--space-4);color:var(--pico-muted-color);text-align:center;margin:0;display:flex}.note.failed[data-v-6c4eb162]{color:var(--pico-del-color)}.note.failed p[data-v-6c4eb162]{max-width:32rem;margin:0}.hint[data-v-6c4eb162]{margin:var(--space-2) 0 0;font-size:var(--fs-xs);color:var(--pico-muted-color)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,B as t,F as n,G as r,H as i,I as a,J as o,K as s,L as c,M as l,P as u,R as d,U as f,X as p,Y as m,Z as h,_ as g,a as _,at as v,c as y,ct as b,et as x,i as S,it as C,k as w,l as T,nt as E,ot as D,q as O,r as k,rt as A,s as j,st as M,tt as N,v as P,z as F}from"./index-BF4zUlWZ.js";import{t as I}from"./useGraphviz-Dnm2pkon.js";import{t as L}from"./usePanZoom-HxgEsqq2.js";import{a as R,d as z,l as B,n as V,r as H,s as U,u as ee}from"./ResourceList-761vG1Jw.js";import{a as W,c as te,d as G,i as K,l as ne,n as re,o as ie,r as ae,s as oe,u as se}from"./WikiPage-Bi7dzY2h.js";import{n as ce,r as le}from"./PageView-CirIXjW6.js";var q=[`title`],ue=_({__name:`EmbedButton`,props:{kind:String,name:String},setup(e){let n=e,r=C(!1),o=a(()=>`![[${n.kind}/${n.name}]]`),s=a(()=>({View:`the result of this view`,Analysis:`the result of this analysis`})[n.kind]||`this description`);async function l(){try{await navigator.clipboard.writeText(o.value)}catch{window.prompt(`Copy this into a page:`,o.value);return}r.value=!0,setTimeout(()=>{r.value=!1},2e3)}return(e,n)=>(p(),t(`button`,{type:`button`,class:`btn-embed`,title:`Copy ${o.value} to show ${s.value} inside a page`,onClick:l},[c(`i`,{class:D(r.value?`iconoir-check`:`iconoir-copy`)},null,2),i(` `+b(r.value?`Copied`:`Embed`),1)],8,q))}},[[`__scopeId`,`data-v-04c65c40`]]),J={key:0,class:`relations-section`},de={class:`relations-grid`},Y={class:`relations-column relations-outgoing`},fe={class:`relation-kind`},X={class:`relation-verb`},Z={class:`instance-badges`},Q={key:1,class:`relations-empty`},pe={id:`incoming`,class:`relations-column relations-incoming`},me={class:`relation-kind`},he={class:`relation-verb`},ge={class:`instance-badges`},_e={key:1,class:`relations-empty`},ve=_({__name:`RelationsGrid`,props:{data:Object},setup(n){let o=n,s=r(`kinds`),l=a(()=>o.data.relations||{}),f=a(()=>o.data.references||{}),m=a(()=>Object.keys(l.value).length>0||Object.keys(f.value).length>0);function g(e){return s?.value?.kinds?s.value.kinds.find(t=>t.kind===e):null}function _(e){return g(e)?.icon||`cube`}function v(e){return g(e)?.layer||`technology`}let y=a(()=>{let e=[];for(let[t,n]of Object.entries(l.value))for(let[r,i]of Object.entries(n))e.push({verb:t,kind:r,names:[...i].sort()});return e}),x=a(()=>{let e=[];for(let[t,n]of Object.entries(f.value))for(let[r,i]of Object.entries(n))e.push({verb:r||`references`,kind:t,names:[...i].sort()});return e});return(n,r)=>{let a=e(`router-link`);return m.value?(p(),t(`article`,J,[r[2]||=c(`header`,null,[c(`h2`,null,`Relations`)],-1),c(`div`,de,[c(`div`,Y,[r[0]||=c(`h3`,null,[i(`Outgoing `),c(`i`,{class:`iconoir-arrow-right`})],-1),y.value.length?(p(!0),t(u,{key:0},h(y.value,(e,n)=>(p(),t(`div`,{key:`out-`+n,class:`relation-group`},[c(`div`,fe,[c(`i`,{class:D(`iconoir-${_(e.kind)} icon-${v(e.kind)}`)},null,2),c(`span`,null,b(e.kind)+` (`+b(e.names.length)+`)`,1)]),c(`div`,X,b(e.verb)+` (`+b(e.names.length)+`)`,1),c(`div`,Z,[(p(!0),t(u,null,h(e.names,t=>(p(),d(a,{key:t,class:`badge badge-info`,to:{name:`instance`,params:{kind:e.kind,instance:t}}},{default:E(()=>[i(b(t),1)]),_:2},1032,[`to`]))),128))])]))),128)):(p(),t(`div`,Q,`None`))]),c(`div`,pe,[r[1]||=c(`h3`,null,[c(`i`,{class:`iconoir-arrow-right`}),i(` Incoming`)],-1),x.value.length?(p(!0),t(u,{key:0},h(x.value,(e,n)=>(p(),t(`div`,{key:`in-`+n,class:`relation-group`},[c(`div`,me,[c(`i`,{class:D(`iconoir-${_(e.kind)} icon-${v(e.kind)}`)},null,2),c(`span`,null,b(e.kind)+` (`+b(e.names.length)+`)`,1)]),c(`div`,he,b(e.verb)+` (`+b(e.names.length)+`)`,1),c(`div`,ge,[(p(!0),t(u,null,h(e.names,t=>(p(),d(a,{key:t,class:`badge badge-info`,to:{name:`instance`,params:{kind:e.kind,instance:t}}},{default:E(()=>[i(b(t),1)]),_:2},1032,[`to`]))),128))])]))),128)):(p(),t(`div`,_e,`None`))])])])):F(``,!0)}}},[[`__scopeId`,`data-v-5b9a2621`]]),ye={key:0},be={key:1,class:`graph-error`},$={key:2,class:`graph-container`},xe=[`innerHTML`],Se=_({__name:`ModuleGraph`,props:{dot:String,label:{type:String,default:`Module Structure`}},setup(e){let n=e,r=C(``),a=C(!0),l=C(null),u=C(null),d=null;async function f(e){if(!e)a.value=!1;else{d?.destroy(),d=null,a.value=!0,l.value=null;try{r.value=await I(e)}catch(e){l.value=e?.message||`Failed to render module graph`,r.value=``}finally{if(a.value=!1,await s(),u.value){let e=u.value.querySelector(`svg`);e&&(d=L(e,u.value))}}}}return o(()=>f(n.dot)),N(()=>n.dot,f),m(()=>{d?.destroy()}),(n,o)=>(p(),t(`article`,null,[c(`header`,null,[c(`h2`,null,b(e.label),1)]),a.value?(p(),t(`div`,ye,[...o[0]||=[c(`p`,null,`Loading graph...`,-1)]])):l.value?(p(),t(`p`,be,[o[1]||=c(`i`,{class:`iconoir-warning-triangle`},null,-1),i(` `+b(l.value),1)])):r.value?(p(),t(`div`,$,[c(`div`,{ref_key:`graphEl`,ref:u,class:`canvas`,innerHTML:r.value},null,8,xe)])):F(``,!0)]))}},[[`__scopeId`,`data-v-c3280c1e`]]),Ce={key:0,class:`requirements-section`},we={__name:`RequirementsSection`,props:{data:Object},setup(e){let n=e,r=a(()=>{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=C([]);N(r,async e=>{if(!e.length){i.value=[];return}let t=await Promise.all(e.map(async e=>{try{let t=(await g(`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 o(e){let t=n.data.name;return`/search?q=${encodeURIComponent(`MotivationRequirement: <- "${t}" & requirement/priority == "${e}"`)}`}return(e,n)=>r.value.length?(p(),t(`article`,Ce,[n[0]||=c(`header`,null,[c(`h2`,null,`Requirements`)],-1),f(K,{items:i.value,"priority-link":o},null,8,[`items`])])):F(``,!0)}},Te={key:0},Ee=[`title`],De=[`href`],Oe={class:`git-info`},ke={class:`git-item`},Ae={class:`git-clone-command`},je=_({__name:`GitInfo`,props:{annotations:Object},setup(e){let n=e,r=a(()=>n.annotations[`repository/git`]),i=a(()=>r.value?U(r.value):null);function o(){navigator.clipboard.writeText(`git clone ${r.value}`)}return(e,n)=>r.value?(p(),t(`tr`,Te,[c(`th`,{scope:`row`,title:v(V)(`repository/git`)},[c(`a`,{class:`git-link`,href:i.value,target:`_blank`},`Git Repo`,8,De)],8,Ee),c(`td`,null,[c(`div`,Oe,[c(`div`,ke,[n[0]||=c(`i`,{class:`iconoir-git-branch`},null,-1),c(`code`,Ae,`git clone `+b(r.value),1)]),c(`button`,{class:`copy-button`,onClick:o,title:`Copy to clipboard`},[...n[1]||=[c(`i`,{class:`iconoir-copy`},null,-1)]])])])])):F(``,!0)}},[[`__scopeId`,`data-v-808bbe74`]]),Me={key:0},Ne=[`title`],Pe={class:`language-distribution`},Fe={class:`language-total`},Ie={class:`language-count`},Le={class:`language-bar`},Re=[`title`],ze={class:`language-legend`},Be={class:`other-languages`},Ve=_({__name:`LanguageStats`,props:{annotations:Object,kind:String},setup(n){let r=n,o=a(()=>{let e=r.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(r.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 i=t.filter(e=>e.loc/n*100>=.1),a=i.slice(0,10),o=[...i.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 s(e){return(e/o.value.total*100).toFixed(1)}function l(e,t){return t.isOther?`lang-other`:`lang-${e}`}function m(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let a=e(`router-link`);return o.value?(p(),t(`tr`,Me,[c(`th`,{scope:`row`,title:v(V)(`scc/languages`,`scc/language/<Language>/loc`)},`Languages`,8,Ne),c(`td`,null,[c(`div`,Pe,[c(`div`,Fe,[c(`span`,Ie,b(v(B)(o.value.total)),1),r[0]||=c(`span`,{class:`language-label`},`lines of code`,-1)]),c(`div`,Le,[(p(!0),t(u,null,h(o.value.display,(e,n)=>(p(),t(`div`,{key:e.name,class:D([`language-bar-segment`,l(n,e)]),style:M({width:s(e.loc)+`%`}),title:`${e.name}: ${v(B)(e.loc)} (${s(e.loc)}%)`},null,14,Re))),128))]),c(`div`,ze,[(p(!0),t(u,null,h(o.value.display,(e,n)=>(p(),t(`div`,{key:e.name,class:`language-legend-item`},[c(`div`,{class:D([`language-legend-dot`,l(n,e)])},null,2),e.isOther?(p(),t(u,{key:0},[c(`span`,null,`Other `+b(s(e.loc))+`%`,1),c(`span`,Be,[r[1]||=i(` (`,-1),(p(!0),t(u,null,h(e.otherNames,(n,r)=>(p(),t(u,{key:n},[f(a,{to:m(`scc/languages`,n)},{default:E(()=>[i(b(n),1)]),_:2},1032,[`to`]),r<e.otherNames.length-1?(p(),t(u,{key:0},[i(`, `)],64)):F(``,!0)],64))),128)),r[2]||=i(`) `,-1)])],64)):(p(),d(a,{key:1,to:m(`scc/languages`,e.name)},{default:E(()=>[i(b(e.name)+` `+b(s(e.loc))+`% `,1)]),_:2},1032,[`to`]))]))),128))])])])])):F(``,!0)}}},[[`__scopeId`,`data-v-c1202fdd`]]),He={key:0},Ue=[`title`],We={class:`project-estimate`},Ge={key:0,class:`estimate-item`},Ke={class:`estimate-value`},qe={key:1,class:`estimate-item`},Je={class:`estimate-value`},Ye={key:2,class:`estimate-item`},Xe={class:`estimate-value`},Ze=_({__name:`ProjectEstimate`,props:{annotations:Object},setup(e){let n=e,r=a(()=>H(`cost`,n.annotations[`scc/estimatedCost`])),o=a(()=>H(`schedule`,n.annotations[`scc/estimatedScheduleMonths`])),s=a(()=>H(`team`,n.annotations[`scc/estimatedPeople`])),l=a(()=>r.value!=null||o.value!=null||s.value!=null);return(e,n)=>l.value?(p(),t(`tr`,He,[c(`th`,{scope:`row`,title:v(V)(`scc/estimatedCost`,`scc/estimatedScheduleMonths`,`scc/estimatedPeople`)},[...n[0]||=[i(` Project Estimate `,-1),c(`span`,{class:`estimate-note`,title:`Estimates adjusted for €80k salary and AI-assisted development (3x productivity)`},[c(`i`,{class:`iconoir-info-circle`})],-1)]],8,Ue),c(`td`,null,[c(`div`,We,[r.value==null?F(``,!0):(p(),t(`div`,Ge,[n[1]||=c(`i`,{class:`iconoir-euro`},null,-1),n[2]||=c(`span`,{class:`estimate-label`},`Cost:`,-1),c(`span`,Ke,b(v(z)(r.value)),1)])),o.value==null?F(``,!0):(p(),t(`div`,qe,[n[3]||=c(`i`,{class:`iconoir-calendar`},null,-1),n[4]||=c(`span`,{class:`estimate-label`},`Schedule:`,-1),c(`span`,Je,b(o.value.toFixed(1))+` months`,1)])),s.value==null?F(``,!0):(p(),t(`div`,Ye,[n[5]||=c(`i`,{class:`iconoir-group`},null,-1),n[6]||=c(`span`,{class:`estimate-label`},`Team:`,-1),c(`span`,Xe,b(s.value)+` people`,1)]))])])])):F(``,!0)}},[[`__scopeId`,`data-v-d97600d8`]]),Qe={key:0},$e=[`title`],et={class:`repository-distribution`},tt={class:`repository-total`},nt={class:`repository-count`},rt={class:`repository-bar`},it=[`title`],at={class:`repository-legend`},ot=_({__name:`RepositoriesBar`,props:{annotations:Object},setup(e){let n=e,r=a(()=>parseInt(n.annotations[`repository/artifacts/total`]||`0`,10)),i=a(()=>parseInt(n.annotations[`repository/artifacts/active`]||`0`,10)),o=a(()=>parseInt(n.annotations[`repository/artifacts/abandoned`]||`0`,10)),s=a(()=>parseInt(n.annotations[`repository/artifacts/archived`]||`0`,10)),l=a(()=>parseInt(n.annotations[`repository/artifacts/highBusFactor`]||`0`,10)),d=a(()=>r.value>0),f=a(()=>i.value-l.value),m=a(()=>r.value-i.value-o.value-s.value);function g(e){return(e/r.value*100).toFixed(1)}let _=a(()=>{let e=[];return f.value>0&&e.push({cls:`status-active`,value:f.value,label:`Active (healthy)`}),l.value>0&&e.push({cls:`status-high-bus-factor`,value:l.value,label:`Active (high bus factor)`}),s.value>0&&e.push({cls:`status-archived`,value:s.value,label:`Archived`}),m.value>0&&e.push({cls:`status-other`,value:m.value,label:`Other`}),o.value>0&&e.push({cls:`status-abandoned`,value:o.value,label:`Abandoned`}),e});return(e,n)=>d.value?(p(),t(`tr`,Qe,[c(`th`,{scope:`row`,title:v(V)(`repository/artifacts/total`,`repository/artifacts/active`,`repository/artifacts/abandoned`,`repository/artifacts/archived`,`repository/artifacts/highBusFactor`)},`Repositories`,8,$e),c(`td`,null,[c(`div`,et,[c(`div`,tt,[c(`span`,nt,b(r.value),1),n[0]||=c(`span`,{class:`repository-label`},`repositories`,-1)]),c(`div`,rt,[(p(!0),t(u,null,h(_.value,e=>(p(),t(`div`,{key:e.cls,class:D([`repository-bar-segment`,e.cls]),style:M({width:g(e.value)+`%`}),title:`${e.label}: ${e.value} (${g(e.value)}%)`},null,14,it))),128))]),c(`div`,at,[(p(!0),t(u,null,h(_.value,e=>(p(),t(`div`,{key:e.cls,class:`repository-legend-item`},[c(`div`,{class:D([`repository-legend-dot`,e.cls])},null,2),c(`span`,null,b(e.value)+` `+b(e.label.toLowerCase()),1)]))),128))])])])])):F(``,!0)}},[[`__scopeId`,`data-v-6c3e5f7d`]]),st=[`title`],ct=_({__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 n=e,r=a(()=>!n.values||n.values.trim()===``?[]:n.values.split(`,`).map(e=>parseInt(e,10)||0)),i=a(()=>{let e=Math.max(...r.value);return e===0?1:e});function o(e){return e===0?0:Math.max(2,Math.round(e/i.value*n.maxHeight))}let s=a(()=>{switch(n.type){case`created`:return` issues created`;case`resolved`:return` issues resolved`;default:return` commits`}});return(n,i)=>(p(),t(`div`,{class:D([`activity-sparkline`,e.colorClass])},[(p(!0),t(u,null,h(r.value,(e,n)=>(p(),t(`div`,{key:n,class:D([`activity-sparkline-bar`,{empty:e===0}]),style:M({height:o(e)+`px`}),title:e+s.value},null,14,st))),128))],2))}},[[`__scopeId`,`data-v-33cc84bd`]]),lt={key:0},ut=[`title`],dt={class:`activity-summary`},ft={key:0,class:`activity-item`},pt=[`title`],mt={class:`activity-value sparkline-total`},ht={key:1,class:`activity-item`},gt=[`title`],_t={key:0,class:`activity-value sparkline-total`},vt={key:1,class:`activity-value contributors-total`},yt={key:2,class:`activity-item`},bt=[`title`],xt={class:`activity-value`},St={key:3,class:`activity-item`},Ct=[`title`],wt={key:4,class:`activity-item`},Tt=[`title`],Et=_({__name:`ActivityInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,o=a(()=>r.annotations[`activity/commits`]),s=a(()=>r.annotations[`activity/contributors`]),l=a(()=>r.annotations[`activity/contributors/6m`]),u=a(()=>r.annotations[`activity/contributors/total`]),d=a(()=>r.annotations[`activity/status`]),m=a(()=>r.annotations[`activity/busFactor`]),h=a(()=>r.annotations[`activity/createdAt`]),g=a(()=>o.value||s.value||d.value||m.value||h.value),_=a(()=>o.value?o.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),y=a(()=>h.value?new Date(h.value).toLocaleDateString(`en`,{month:`short`,year:`numeric`}):null),x=a(()=>{let e=m.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 l.value&&(t+=` (${l.value} unique contributors)`),t});function S(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let a=e(`router-link`);return g.value?(p(),t(`tr`,lt,[c(`th`,{scope:`row`,title:v(V)(`activity/commits`,`activity/contributors`,`activity/contributors/6m`,`activity/contributors/total`,`activity/status`,`activity/busFactor`,`activity/createdAt`)},`Activity`,8,ut),c(`td`,null,[c(`div`,dt,[o.value?(p(),t(`div`,ft,[r[0]||=c(`i`,{class:`iconoir-git-commit`},null,-1),c(`span`,{class:`activity-label`,title:v(V)(`activity/commits`)},`Commits:`,8,pt),f(ct,{values:o.value},null,8,[`values`]),c(`span`,mt,b(_.value),1)])):F(``,!0),s.value?(p(),t(`div`,ht,[r[1]||=c(`i`,{class:`iconoir-community`},null,-1),c(`span`,{class:`activity-label`,title:v(V)(`activity/contributors`,`activity/contributors/6m`,`activity/contributors/total`)},`Contributors:`,8,gt),f(ct,{values:s.value,"color-class":`contributors-sparkline`},null,8,[`values`]),l.value?(p(),t(`span`,_t,b(l.value),1)):F(``,!0),u.value?(p(),t(`span`,vt,`(`+b(u.value)+` total)`,1)):F(``,!0)])):F(``,!0),h.value?(p(),t(`div`,yt,[r[2]||=c(`i`,{class:`iconoir-calendar`},null,-1),c(`span`,{class:`activity-label`,title:v(V)(`activity/createdAt`)},`Created:`,8,bt),c(`span`,xt,b(y.value),1)])):F(``,!0),d.value?(p(),t(`div`,St,[r[3]||=c(`i`,{class:`iconoir-info-circle`},null,-1),c(`span`,{class:`activity-label`,title:v(V)(`activity/status`)},`Status:`,8,Ct),f(a,{class:D(`activity-value status-${d.value}`),to:S(`activity/status`,d.value)},{default:E(()=>[i(b(d.value),1)]),_:1},8,[`class`,`to`])])):F(``,!0),m.value?(p(),t(`div`,wt,[r[4]||=c(`i`,{class:`iconoir-warning-triangle`},null,-1),c(`span`,{class:`activity-label`,title:v(V)(`activity/busFactor`)},`Bus Factor:`,8,Tt),f(a,{class:D(`activity-value bus-factor-${m.value}`),to:S(`activity/busFactor`,m.value),title:x.value},{default:E(()=>[i(b(m.value),1)]),_:1},8,[`class`,`to`,`title`])])):F(``,!0)])])])):F(``,!0)}}},[[`__scopeId`,`data-v-a2e60c62`]]),Dt={key:0},Ot={key:1},kt=[`title`],At={class:`jira-info`},jt=[`href`],Mt={class:`jira-metric`},Nt={class:`jira-metric-total`},Pt={class:`jira-metric`},Ft={class:`jira-metric-total`},It={key:0,class:`iconoir-arrow-down-circle`},Lt={key:1,class:`iconoir-arrow-up-circle`},Rt={key:2,class:`iconoir-minus-circle`},zt={class:`jira-trend-text`},Bt={key:2},Vt=[`title`],Ht=[`href`],Ut={key:1,class:`team-value`},Wt={key:3},Gt=[`title`],Kt={class:`team-stats`},qt={key:0,class:`team-stat-item`},Jt={class:`team-stat-value`},Yt={key:1,class:`team-stat-item`},Xt={class:`team-stat-value`},Zt={key:4},Qt=[`title`],$t={class:`team-members`},en=[`href`],tn={key:1,class:`team-member`},nn=_({__name:`TeamInfo`,props:{annotations:Object,instance:Object},setup(n){let r=n,o=a(()=>r.annotations[`team/lead`]),s=a(()=>r.annotations[`team/members`]),l=a(()=>r.annotations[`team/size`]),d=a(()=>r.annotations[`team/lead/size`]),m=a(()=>r.annotations[`team/jira`]),g=a(()=>r.annotations[`jira/projectUrl`]),_=a(()=>r.annotations[`jira/issues/created`]),y=a(()=>r.annotations[`jira/issues/resolved`]),x=a(()=>r.instance?.kind===`BusinessActor`),S=a(()=>{let e=r.instance?.name||``;return`kind in ("ApplicationService", "ApplicationComponent") & (-{maintainedBy, operatedBy}> "${e}" | ~> $(TechnologyArtifact: -{maintainedBy}> "${e}"))`}),C=a(()=>s.value?s.value.split(/,|\n/).map(e=>e.trim()).filter(Boolean):[]);function w(e){let t=e.match(/<([^>]+@[^>]+)>/);return t?t[1]:null}function T(e){return{name:`search`,query:{q:e}}}let O=a(()=>_.value?_.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),k=a(()=>y.value?y.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),A=a(()=>_.value?_.value.split(`,`).map(Number):[]),j=a(()=>y.value?y.value.split(`,`).map(Number):[]),M=a(()=>(A.value.length?O.value/A.value.length:0)-(j.value.length?k.value/j.value.length:0)),N=a(()=>{let e=M.value;return e<-1?`positive`:e>1?`negative`:`neutral`});return(n,r)=>{let a=e(`router-link`);return p(),t(u,null,[x.value?(p(),t(`tr`,Dt,[r[1]||=c(`th`,{scope:`row`},`Owned Services`,-1),c(`td`,null,[f(a,{class:`badge badge-info`,to:T(S.value)},{default:E(()=>[...r[0]||=[i(` Show ApplicationServices & Components `,-1)]]),_:1},8,[`to`])])])):F(``,!0),m.value&&g.value?(p(),t(`tr`,Ot,[c(`th`,{scope:`row`,title:v(V)(`team/jira`,`jira/projectUrl`,`jira/issues/created`,`jira/issues/resolved`)},`Jira Project`,8,kt),c(`td`,null,[c(`div`,At,[c(`a`,{class:`badge badge-info`,href:g.value,target:`_blank`},b(m.value),9,jt),_.value||y.value?(p(),t(u,{key:0},[c(`div`,Mt,[r[2]||=c(`span`,{class:`jira-metric-label`},`Created (6m):`,-1),f(ct,{values:_.value,type:`created`,"color-class":`jira-created-sparkline`},null,8,[`values`]),c(`span`,Nt,b(O.value),1)]),c(`div`,Pt,[r[3]||=c(`span`,{class:`jira-metric-label`},`Resolved (6m):`,-1),f(ct,{values:y.value,type:`resolved`,"color-class":`jira-resolved-sparkline`},null,8,[`values`]),c(`span`,Ft,b(k.value),1)]),c(`div`,{class:D([`jira-trend`,`jira-trend-${N.value}`])},[N.value===`positive`?(p(),t(`i`,It)):N.value===`negative`?(p(),t(`i`,Lt)):(p(),t(`i`,Rt)),c(`span`,zt,b(M.value>0?`+`:``)+b(M.value.toFixed(1))+`/mo`,1)],2)],64)):F(``,!0)])])])):F(``,!0),o.value?(p(),t(`tr`,Bt,[c(`th`,{scope:`row`,title:v(V)(`team/lead`)},`Team Lead`,8,Vt),c(`td`,null,[w(o.value)?(p(),t(`a`,{key:0,class:`team-value`,href:`mailto:${w(o.value)}`},b(o.value),9,Ht)):(p(),t(`span`,Ut,b(o.value),1))])])):F(``,!0),l.value||d.value?(p(),t(`tr`,Wt,[c(`th`,{scope:`row`,title:v(V)(`team/size`,`team/lead/size`)},`Team Stats`,8,Gt),c(`td`,null,[c(`div`,Kt,[d.value?(p(),t(`div`,qt,[c(`span`,Jt,b(d.value),1),r[4]||=c(`span`,{class:`team-stat-label`},`leads`,-1)])):F(``,!0),l.value?(p(),t(`div`,Yt,[c(`span`,Xt,b(l.value),1),r[5]||=c(`span`,{class:`team-stat-label`},`members`,-1)])):F(``,!0)])])])):F(``,!0),s.value?(p(),t(`tr`,Zt,[c(`th`,{scope:`row`,title:v(V)(`team/members`)},`Team Members`,8,Qt),c(`td`,null,[c(`div`,$t,[(p(!0),t(u,null,h(C.value,e=>(p(),t(u,{key:e},[w(e)?(p(),t(`a`,{key:0,class:`team-member`,href:`mailto:${w(e)}`},b(e),9,en)):(p(),t(`span`,tn,b(e),1))],64))),128))])])])):F(``,!0)],64)}}},[[`__scopeId`,`data-v-ae48f9a9`]]),rn={key:0},an=[`title`],on={class:`deployment-types`},sn=_({__name:`DeploymentInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,i=a(()=>(r.annotations[`repository/artifacts`]||`none`).split(`,`).map(e=>e.trim())),o=a(()=>i.value[0]!==`none`),s=[{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 l(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let a=e(`router-link`);return o.value?(p(),t(`tr`,rn,[c(`th`,{scope:`row`,title:v(V)(`repository/artifacts`)},`Deployment Artifacts`,8,an),c(`td`,null,[c(`div`,on,[(p(),t(u,null,h(s,e=>(p(),t(u,{key:e.key},[i.value.includes(e.key)?(p(),d(a,{key:0,class:`deployment-item`,to:l(`repository/artifacts`,e.key)},{default:E(()=>[c(`i`,{class:D(e.icon)},null,2),c(`strong`,null,b(e.label),1)]),_:2},1032,[`to`])):F(``,!0)],64))),64))])])])):F(``,!0)}}},[[`__scopeId`,`data-v-c57237c3`]]),cn=[`title`],ln={class:`workflow-platforms`},un=[`checked`],dn=[`checked`],fn=[`checked`],pn={class:`info-section-cell`,colspan:`2`},mn={open:``},hn=[`title`],gn={class:`workflow-types`},_n={class:`workflow-category`},vn=[`checked`],yn=[`checked`],bn={class:`workflow-category`},xn=[`checked`],Sn=[`checked`],Cn=[`checked`],wn=[`checked`],Tn={class:`workflow-category`},En=[`checked`],Dn=[`checked`],On={class:`workflow-category`},kn=[`checked`],An=[`checked`],jn=_({__name:`WorkflowInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,o=a(()=>(r.annotations[`workflow/platforms`]||`none`).split(`,`).map(e=>e.trim())),s=a(()=>(r.annotations[`workflow/types`]||`none`).split(`,`).map(e=>e.trim())),l=a(()=>o.value[0]!==`none`||s.value[0]!==`none`),d=a(()=>s.value.includes(`test`));function m(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}function h(e,t){return e.includes(t)}return(n,r)=>{let a=e(`router-link`);return l.value?(p(),t(u,{key:0},[c(`tr`,null,[c(`th`,{scope:`row`,title:v(V)(`workflow/platforms`)},`CI/CD Platforms`,8,cn),c(`td`,null,[c(`div`,ln,[f(a,{class:`workflow-platform-item`,to:m(`workflow/platforms`,`github-actions`)},{default:E(()=>[c(`input`,{type:`checkbox`,disabled:``,checked:h(o.value,`github-actions`)},null,8,un),r[0]||=c(`label`,null,`GitHub Actions`,-1)]),_:1},8,[`to`]),f(a,{class:`workflow-platform-item`,to:m(`workflow/platforms`,`gitlab-ci`)},{default:E(()=>[c(`input`,{type:`checkbox`,disabled:``,checked:h(o.value,`gitlab-ci`)},null,8,dn),r[1]||=c(`label`,null,`GitLab CI`,-1)]),_:1},8,[`to`]),f(a,{class:`workflow-platform-item`,to:m(`workflow/platforms`,`makefile`)},{default:E(()=>[c(`input`,{type:`checkbox`,disabled:``,checked:h(o.value,`makefile`)},null,8,fn),r[2]||=c(`label`,null,`Makefile`,-1)]),_:1},8,[`to`])])])]),c(`tr`,null,[c(`td`,pn,[c(`details`,mn,[c(`summary`,{title:v(V)(`workflow/types`)},[...r[3]||=[c(`strong`,null,`Workflow Types`,-1)]],8,hn),c(`div`,gn,[c(`div`,null,[c(`div`,_n,[r[6]||=c(`strong`,null,`Build & Deploy`,-1),c(`ul`,null,[c(`li`,null,[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`build`)},null,8,vn),f(a,{to:m(`workflow/types`,`build`)},{default:E(()=>[...r[4]||=[i(`Build`,-1)]]),_:1},8,[`to`])]),c(`li`,null,[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`deploy`)},null,8,yn),f(a,{to:m(`workflow/types`,`deploy`)},{default:E(()=>[...r[5]||=[i(`Deploy`,-1)]]),_:1},8,[`to`])])])]),c(`div`,bn,[r[11]||=c(`strong`,null,`Testing`,-1),c(`ul`,null,[c(`li`,null,[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`test`)},null,8,xn),f(a,{to:m(`workflow/types`,`test`)},{default:E(()=>[...r[7]||=[i(`Test (generic)`,-1)]]),_:1},8,[`to`])]),c(`li`,{class:D({"grayed-out":d.value})},[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`unit-test`)},null,8,Sn),f(a,{to:m(`workflow/types`,`unit-test`)},{default:E(()=>[...r[8]||=[i(`Unit Tests`,-1)]]),_:1},8,[`to`])],2),c(`li`,{class:D({"grayed-out":d.value})},[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`integration-test`)},null,8,Cn),f(a,{to:m(`workflow/types`,`integration-test`)},{default:E(()=>[...r[9]||=[i(`Integration Tests`,-1)]]),_:1},8,[`to`])],2),c(`li`,{class:D({"grayed-out":d.value})},[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`smoke-test`)},null,8,wn),f(a,{to:m(`workflow/types`,`smoke-test`)},{default:E(()=>[...r[10]||=[i(`Smoke Tests`,-1)]]),_:1},8,[`to`])],2)])]),c(`div`,Tn,[r[14]||=c(`strong`,null,`Quality & Security`,-1),c(`ul`,null,[c(`li`,null,[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`lint`)},null,8,En),f(a,{to:m(`workflow/types`,`lint`)},{default:E(()=>[...r[12]||=[i(`Linting`,-1)]]),_:1},8,[`to`])]),c(`li`,null,[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`security-scan`)},null,8,Dn),f(a,{to:m(`workflow/types`,`security-scan`)},{default:E(()=>[...r[13]||=[i(`Security Scan`,-1)]]),_:1},8,[`to`])])])]),c(`div`,On,[r[17]||=c(`strong`,null,`Automation`,-1),c(`ul`,null,[c(`li`,null,[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`dependency-update`)},null,8,kn),f(a,{to:m(`workflow/types`,`dependency-update`)},{default:E(()=>[...r[15]||=[i(`Dependency Updates`,-1)]]),_:1},8,[`to`])]),c(`li`,null,[c(`input`,{type:`checkbox`,disabled:``,checked:h(s.value,`ticket-creation`)},null,8,An),f(a,{to:m(`workflow/types`,`ticket-creation`)},{default:E(()=>[...r[16]||=[i(`Ticket Creation`,-1)]]),_:1},8,[`to`])])])])])])])])])],64)):F(``,!0)}}},[[`__scopeId`,`data-v-5e906c49`]]),Mn=[`title`],Nn={class:`info-section-cell`,colspan:`2`},Pn={class:`agentic-tools`},Fn={class:`tool-item-header`},In=[`checked`],Ln={class:`tool-item-description`},Rn=_({__name:`AgenticTools`,props:{annotations:Object,kind:String},setup(n){let r=n,o=a(()=>(r.annotations[`agentic/tools`]||`none`).split(`,`).map(e=>e.trim())),s=a(()=>o.value[0]!==`none`),l=[{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 d(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let a=e(`router-link`);return s.value?(p(),t(u,{key:0},[c(`tr`,null,[c(`th`,{scope:`row`,colspan:`2`,title:v(V)(`agentic/tools`)},[...r[0]||=[c(`i`,{class:`iconoir-cpu`},null,-1),i(` AI Coding Assistants `,-1)]],8,Mn)]),c(`tr`,null,[c(`td`,Nn,[c(`div`,Pn,[(p(),t(u,null,h(l,e=>f(a,{key:e.key,class:D([`tool-item`,{"not-implemented":!o.value.includes(e.key)}]),to:d(`agentic/tools`,e.key)},{default:E(()=>[c(`div`,Fn,[c(`input`,{type:`checkbox`,checked:o.value.includes(e.key),disabled:``},null,8,In),c(`i`,{class:D([e.icon,o.value.includes(e.key)?`implemented`:`not-implemented`])},null,2),c(`strong`,null,b(e.name),1)]),c(`div`,Ln,b(e.description),1)]),_:2},1032,[`class`,`to`])),64))])])])],64)):F(``,!0)}}},[[`__scopeId`,`data-v-52b7b17d`]]),zn={key:0},Bn=[`title`],Vn={class:`activity-summary`},Hn={class:`activity-item`},Un={key:0,class:`activity-item`},Wn={class:`activity-value`},Gn={key:1,class:`activity-item`},Kn={key:0,class:`license-details-inline`},qn={class:`badge badge-secondary`},Jn={class:`license-overflow`},Yn=_({__name:`LicenseInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,o=a(()=>r.annotations[`license/spdx`]),s=a(()=>r.annotations[`license/category`]||`unknown`),l=a(()=>r.annotations[`license/dependencies/count`]),m=a(()=>(r.annotations[`license/dependencies/ecosystems`]||``).split(`,`).map(e=>e.trim()).filter(Boolean)),g=a(()=>r.annotations[`license/dependencies/risk`]||`unknown`),_=a(()=>r.annotations[`license/dependencies/copyleft`]||`unknown`),y=a(()=>(r.annotations[`license/dependencies/licenses`]||``).split(`,`).map(e=>e.trim()).filter(Boolean)),x=a(()=>{switch(s.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`}}),S=a(()=>{switch(g.value){case`low`:return`badge-success`;case`weak-copyleft`:return`badge-warning`;case`copyleft`:return`badge-danger`;default:return`badge-secondary`}}),C=a(()=>{switch(g.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`}}),w=a(()=>y.value.filter(e=>e!==`unknown`).map(e=>({name:e,count:parseInt(r.annotations[`license/dependencies/${e}/count`]||`0`,10)})).sort((e,t)=>t.count-e.count));function T(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let a=e(`router-link`);return o.value?(p(),t(`tr`,zn,[c(`th`,{scope:`row`,title:v(V)(`license/spdx`,`license/category`,`license/dependencies/count`,`license/dependencies/ecosystems`,`license/dependencies/risk`,`license/dependencies/copyleft`,`license/dependencies/licenses`)},`License`,8,Bn),c(`td`,null,[c(`div`,Vn,[c(`div`,Hn,[r[0]||=c(`i`,{class:`iconoir-shield-check`},null,-1),f(a,{class:D([`badge`,x.value]),to:T(`license/spdx`,o.value)},{default:E(()=>[i(b(o.value),1)]),_:1},8,[`class`,`to`]),s.value===`unknown`?F(``,!0):(p(),d(a,{key:0,class:`badge badge-outline`,to:T(`license/category`,s.value)},{default:E(()=>[i(b(s.value),1)]),_:1},8,[`to`]))]),l.value&&parseInt(l.value)>0?(p(),t(`div`,Un,[r[2]||=c(`i`,{class:`iconoir-box`},null,-1),r[3]||=c(`span`,{class:`activity-label`},`Dependencies:`,-1),c(`span`,Wn,b(l.value),1),(p(!0),t(u,null,h(m.value,e=>(p(),d(a,{key:e,class:`badge badge-info`,to:T(`license/dependencies/ecosystems`,e)},{default:E(()=>[i(b(e),1)]),_:2},1032,[`to`]))),128)),f(a,{class:D([`badge`,S.value]),title:C.value,to:T(`license/dependencies/risk`,g.value)},{default:E(()=>[i(`Risk: `+b(g.value),1)]),_:1},8,[`class`,`title`,`to`]),_.value===`true`?(p(),d(a,{key:0,class:`badge badge-warning`,to:T(`license/dependencies/copyleft`,`true`)},{default:E(()=>[...r[1]||=[i(`Copyleft present`,-1)]]),_:1},8,[`to`])):F(``,!0)])):F(``,!0),w.value.length?(p(),t(`div`,Gn,[r[4]||=c(`i`,{class:`iconoir-list`},null,-1),r[5]||=c(`span`,{class:`activity-label`},`Types:`,-1),(p(!0),t(u,null,h(w.value.slice(0,5),e=>(p(),d(a,{key:e.name,class:`badge badge-outline`,to:T(`license/dependencies/licenses`,e.name)},{default:E(()=>[i(b(e.count>0?`${e.name} (${e.count})`:e.name),1)]),_:2},1032,[`to`]))),128)),w.value.length>5?(p(),t(`details`,Kn,[c(`summary`,qn,`+`+b(w.value.length-5)+` more`,1),c(`div`,Jn,[(p(!0),t(u,null,h(w.value.slice(5),e=>(p(),d(a,{key:e.name,class:`badge badge-outline`,to:T(`license/dependencies/licenses`,e.name)},{default:E(()=>[i(b(e.count>0?`${e.name} (${e.count})`:e.name),1)]),_:2},1032,[`to`]))),128))])])):F(``,!0)])):F(``,!0)])])])):F(``,!0)}}},[[`__scopeId`,`data-v-126f0fee`]]),Xn={key:0},Zn=[`title`],Qn={__name:`ExternalLinks`,props:{annotations:Object},setup(e){let n=e,r=a(()=>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?(p(),t(`tr`,Xn,[c(`th`,{scope:`row`,title:v(V)(`link/<name>`)},`Links`,8,Zn),c(`td`,null,[f(le,{links:r.value},null,8,[`links`])])])):F(``,!0)}},$n={"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`}},er={"architecture/kind":`Architecture style`,"architecture/size":`Architecture size`},tr=[`architecture/aliases`,`component/type`,`component/role`,`architecture/kind`,`architecture/size`,`architecture/tags`];function nr(e,t){return $n[e]?.[t]||null}function rr(e){return er[e]||null}var ir={class:`chip-group`},ar={key:1,class:`chip-namespace`},or={__name:`TagChips`,props:{kind:{type:String,required:!0},annotationKey:{type:String,required:!0},values:{type:Array,required:!0},linked:{type:Boolean,default:!0}},setup(e){let n=e,r={planned:`chip-info`,deprecated:`chip-warning`,sunset:`chip-danger`,"end-of-life":`chip-danger`},i=/^([a-z][a-z0-9-]*):(.+)$/i;function o(e){return String(e).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}let s=a(()=>n.values.map(e=>{let t=i.exec(e);return{value:e,namespace:t?t[1]:null,label:t?t[2]:e,symbol:nr(n.annotationKey,e),tone:n.annotationKey===`lifecycle/status`&&r[e]||null,to:{name:`search`,query:j(`${n.kind}: ${n.annotationKey} == "${o(e)}"`)}}}));return(n,r)=>(p(),t(`span`,ir,[(p(!0),t(u,null,h(s.value,n=>(p(),d(x(e.linked?`router-link`:`span`),{key:n.value,class:D([`chip`,n.tone]),to:e.linked?n.to:void 0,title:e.linked?`Show ${e.kind} resources with ${e.annotationKey} = ${n.value}`:void 0},{default:E(()=>[n.symbol?(p(),t(`i`,{key:0,class:D(`iconoir-${n.symbol} icon-application chip-symbol`),"aria-hidden":`true`},null,2)):F(``,!0),n.namespace?(p(),t(`span`,ar,b(n.namespace),1)):F(``,!0),c(`span`,null,b(n.label),1)]),_:2},1032,[`class`,`to`,`title`]))),128))]))}},sr={key:0},cr=[`title`],lr={class:`lifecycle-info`},ur=[`title`],dr=_({__name:`LifecycleInfo`,props:{annotations:Object,kind:String,links:{type:Object,default:()=>({})},incoming:{type:Number,default:0}},setup(n){let r=n,o=[`deprecated`,`sunset`,`end-of-life`],s=a(()=>r.annotations[`lifecycle/status`]),l=a(()=>r.annotations[`lifecycle/replacedBy`]),f=a(()=>r.links?.[`lifecycle/replacedBy`]||null),m=a(()=>o.includes(s.value)&&r.incoming>0);return(r,a)=>{let o=e(`router-link`);return s.value||l.value?(p(),t(`tr`,sr,[c(`th`,{scope:`row`,title:v(V)(`lifecycle/status`)},`Lifecycle`,8,cr),c(`td`,null,[c(`div`,lr,[s.value?(p(),d(or,{key:0,kind:n.kind,"annotation-key":`lifecycle/status`,values:[s.value]},null,8,[`kind`,`values`])):F(``,!0),l.value?(p(),t(`span`,{key:1,class:`lifecycle-replaced`,title:v(V)(`lifecycle/replacedBy`)},[a[0]||=c(`i`,{class:`iconoir-arrow-right`,"aria-hidden":`true`},null,-1),a[1]||=i(` replaced by `,-1),f.value?(p(),d(o,{key:0,to:f.value},{default:E(()=>[i(b(l.value),1)]),_:1},8,[`to`])):(p(),t(u,{key:1},[i(b(l.value),1)],64))],8,ur)):F(``,!0),m.value?(p(),d(o,{key:2,class:`lifecycle-incoming`,to:{hash:`#incoming`}},{default:E(()=>[i(b(n.incoming)+` incoming `,1)]),_:1})):F(``,!0)])])])):F(``,!0)}}},[[`__scopeId`,`data-v-6c14f599`]]),fr=[`title`],pr=[`innerHTML`],mr=[`href`],hr={__name:`AnnotationRow`,props:{annotationKey:String,value:[String,Number,Boolean],kind:String,format:{type:String,default:null}},setup(e){let n=e,r=C(null);G(r);let o=a(()=>{let e=rr(n.annotationKey);if(e)return e;let t=n.annotationKey.split(`/`);return t[t.length-1].replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase())}),s=a(()=>typeof n.value==`string`&&/^https?:\/\//.test(n.value)),l=a(()=>n.format!==`identifier`||n.value==null?[]:String(n.value).split(`,`).map(e=>e.trim()).filter(Boolean)),f=a(()=>{if(![`tag_list`,`tag_word`].includes(n.format)||n.value==null)return[];let e=String(n.value);return n.format===`tag_list`?e.split(`,`).map(e=>e.trim()).filter(Boolean):[e]});return(n,a)=>(p(),t(`tr`,null,[c(`th`,{scope:`row`,title:v(V)(e.annotationKey)},b(o.value),9,fr),c(`td`,null,[e.format===`markdown`?(p(),t(`div`,{key:0,ref_key:`mdEl`,ref:r,innerHTML:e.value},null,8,pr)):l.value.length?(p(),d(or,{key:1,kind:e.kind,"annotation-key":e.annotationKey,values:l.value,linked:!1},null,8,[`kind`,`annotation-key`,`values`])):f.value.length?(p(),d(or,{key:2,kind:e.kind,"annotation-key":e.annotationKey,values:f.value},null,8,[`kind`,`annotation-key`,`values`])):(p(),t(u,{key:3},[s.value?(p(),t(`a`,{key:0,href:e.value,target:`_blank`},b(e.value),9,mr)):(p(),t(u,{key:1},[i(b(e.value),1)],64))],64))])]))}},gr={class:`instance-title-text`},_r={class:`instance-name`},vr={class:`instance-kind-subtitle`},yr={key:0,class:`generated-badge`},br={class:`generated-script`},xr={key:0,class:`generated-time`},Sr={class:`header-actions`},Cr={key:0,class:`view-pager`,role:`group`,"aria-label":`Diagram view`},wr=[`aria-pressed`],Tr=[`aria-pressed`],Er=[`innerHTML`],Dr={class:`graph-options`},Or={role:`group`,"aria-label":`Graph depth`},kr=[`aria-pressed`,`title`,`onClick`],Ar={role:`group`,"aria-label":`Graph layers`},jr=[`aria-pressed`,`aria-label`,`disabled`,`title`,`onClick`],Mr=[`innerHTML`],Nr={key:3,class:`graph-too-large`},Pr=[`innerHTML`],Fr={class:`documentation`},Ir=_({__name:`InstanceDetail`,props:{data:Object,kind:String,kindMeta:Object},setup(r){let g=r,_=C(``),y=C(null),x=C(null),w=!1,T=null,O=[1,2,3,null],j=S,z=e=>`${k.find(t=>t.id===e)?.title||e} layer`;function B(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 V(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}let H=C(B(`archsight.graphDepth`,2,O)),U=C([...g.data.graph_layers||j]);async function W(e){H.value=e,V(`archsight.graphDepth`,e),w=!1,await $()}async function te(e){let t=U.value.includes(e);t&&U.value.length===1||(U.value=t?U.value.filter(t=>t!==e):j.filter(t=>t===e||U.value.includes(t)),w=!1,await $())}let K=C(null);G(K);let{embeds:ie,scanEmbeds:ce}=oe(),le=C(null);G(le);let q=a(()=>g.data.metadata?.annotations||{}),J=a(()=>Object.keys(g.data.relations||{}).length>0),de=a(()=>{let e=g.data.references||{};return J.value||Object.keys(e).length>0}),Y=a(()=>q.value[`generated/script`]),fe=a(()=>q.value[`generated/at`]),X=a(()=>q.value[`architecture/description`]),Z=a(()=>g.data.diagram||``),Q=C(g.data.diagram?`diagram`:`graph`),pe=[[`go`,`Go`],[`python`,`Python`],[`java`,`Java`],[`typescript`,`TypeScript`],[`javascript`,`JavaScript`],[`rust`,`Rust`],[`ruby`,`Ruby`],[`crystal`,`Crystal`],[`cpp`,`C++`],[`csharp`,`C#`],[`zig`,`Zig`],[`elixir`,`Elixir`]],me=a(()=>{let e=pe.filter(([e])=>q.value[`architecture/${e}/modules`]).map(([e,t])=>({label:`${t} Module Structure`,dot:q.value[`architecture/${e}/modules`]}));return!e.length&&q.value[`architecture/modules`]&&e.push({label:`Module Structure`,dot:q.value[`architecture/modules`]}),e}),he=[`scc/language/`,`repository/artifacts/`,`link/`,`team/`,`jira/`,`generated/`,`license/`],ge=new Set([`scc/languages`,`architecture/description`,`architecture/diagram`,`architecture/modules`,`workflow/platforms`,`workflow/types`,`agentic/tools`,`repository/artifacts`,`repository/git`,`repository/visibility`,`lifecycle/status`,`lifecycle/replacedBy`,`component/dependents`]),_e=[/^scc\/estimated(Cost|ScheduleMonths|People)$/,/^activity\/(commits|contributors(\/.*)?|status|busFactor|createdAt)$/,/^scc\/language\/.+\/loc$/,/^repository\/$/,/^architecture\/.+\/modules$/],ye=a(()=>{let e=new Set;for(let[t,n]of Object.entries(g.data.references||{}))for(let r of Object.values(n))r.forEach(n=>e.add(`${t}/${n}`));return e.size}),be=a(()=>{let e=e=>{let t=tr.indexOf(e);return t===-1?tr.length:t};return Object.entries(q.value).filter(([e])=>!(ge.has(e)||he.some(t=>e.startsWith(t))||_e.some(t=>t.test(e)))).sort(([t],[n])=>e(t)-e(n))});async function $(){if(w||!J.value)return;w=!0;let e=await P(g.kind,g.data.name,{depth:H.value,layers:U.value});T?.destroy(),T=null,_.value=e?await I(e):``,await s(),Ce()}async function xe(e){Q.value=e,e===`graph`&&await $()}o(async()=>{Q.value===`graph`&&await $(),await s(),K.value&&(se(K.value),ne(K.value),ce(K.value))}),N(X,async()=>{await s(),K.value&&(se(K.value),ne(K.value),ce(K.value))}),m(()=>{T?.destroy()});function Ce(){if(!y.value)return;let e=y.value.querySelector(`svg`);e&&(T=L(e,y.value,{fullscreenTarget:x.value}))}return(a,o)=>{let s=e(`router-link`);return p(),t(u,null,[c(`article`,null,[c(`header`,null,[c(`h2`,null,[r.kindMeta?(p(),t(`i`,{key:0,class:D(`iconoir-${r.kindMeta.icon} icon-${r.kindMeta.layer}`)},null,2)):F(``,!0),c(`div`,gr,[c(`span`,_r,b(v(R)(r.data.name,r.kind)),1),c(`span`,vr,b(r.kind),1)])]),Y.value?(p(),t(`div`,yr,[c(`span`,br,[o[2]||=i(` by `,-1),f(s,{to:{name:`instance`,params:{kind:`Import`,instance:Y.value}}},{default:E(()=>[i(b(Y.value),1)]),_:1},8,[`to`])]),fe.value?(p(),t(`span`,xr,` generated `+b(v(ee)(fe.value)),1)):F(``,!0)])):F(``,!0),c(`div`,Sr,[f(ue,{kind:r.kind,name:r.data.name},null,8,[`kind`,`name`]),f(re,{kind:r.kind,name:r.data.name},null,8,[`kind`,`name`]),Y.value?F(``,!0):(p(),d(s,{key:0,class:`btn-header`,to:`/kinds/${r.kind}/instances/${r.data.name}/edit`,title:`Edit this resource`},{default:E(()=>[...o[3]||=[c(`i`,{class:`iconoir-edit-pencil`},null,-1),i(` Edit `,-1)]]),_:1},8,[`to`]))])]),Z.value&&J.value?(p(),t(`div`,Cr,[c(`button`,{type:`button`,class:D([`outline`,{secondary:Q.value!==`diagram`}]),"aria-pressed":Q.value===`diagram`,onClick:o[0]||=e=>xe(`diagram`)},[...o[4]||=[c(`i`,{class:`iconoir-developer`},null,-1),i(` Diagram `,-1)]],10,wr),c(`button`,{type:`button`,class:D([`outline`,{secondary:Q.value!==`graph`}]),"aria-pressed":Q.value===`graph`,onClick:o[1]||=e=>xe(`graph`)},[...o[5]||=[c(`i`,{class:`iconoir-graph-up`},null,-1),i(` Dependencies `,-1)]],10,Tr)])):F(``,!0),Z.value?A((p(),t(`div`,{key:1,ref_key:`diagramEl`,ref:le,class:`asd-diagram-wrap`,innerHTML:Z.value},null,8,Er)),[[l,Q.value===`diagram`]]):F(``,!0),J.value&&_.value?A((p(),t(`div`,{key:2,ref_key:`graphBox`,ref:x,class:`graph-container`},[c(`div`,Dr,[o[6]||=c(`i`,{class:`iconoir-depth`,title:`Depth: how many steps the graph follows`},null,-1),c(`div`,Or,[(p(),t(u,null,h(O,e=>c(`button`,{key:String(e),type:`button`,class:D({outline:H.value!==e,secondary:H.value!==e}),"aria-pressed":H.value===e,title:e?`Depth ${e}: ${e} step${e>1?`s`:``} from here`:`Depth: all the way`,onClick:t=>W(e)},b(e??`All`),11,kr)),64))]),o[7]||=c(`i`,{class:`iconoir-color-filter`,title:`Layers the graph follows`},null,-1),c(`div`,Ar,[(p(!0),t(u,null,h(v(j),e=>(p(),t(`button`,{key:e,type:`button`,class:D([`layer-toggle`,{outline:!U.value.includes(e),secondary:!U.value.includes(e)}]),"aria-pressed":U.value.includes(e),"aria-label":z(e),disabled:U.value.length===1&&U.value.includes(e),title:`${z(e)}: ${U.value.includes(e)?`shown, click to hide`:`hidden, click to show`}`,onClick:t=>te(e)},[c(`span`,{class:`layer-swatch`,style:M({background:`var(--layer-${e}-fill, var(--pico-muted-border-color))`})},null,4)],10,jr))),128))])]),c(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:y,class:`canvas`,innerHTML:_.value},null,8,Mr)],512)),[[l,Q.value===`graph`]]):de.value&&!J.value&&!Z.value?(p(),t(`p`,Nr,[...o[8]||=[c(`i`,{class:`iconoir-graph-up`},null,-1),i(` No outgoing dependencies — graph omitted `,-1)]])):F(``,!0),X.value?(p(),t(`div`,{key:4,ref_key:`descEl`,ref:K,innerHTML:X.value,class:D([`prose`,{footer:de.value}])},null,10,Pr)):F(``,!0),(p(!0),t(u,null,h(v(ie),e=>(p(),d(n,{key:e.key,to:e.el},[f(ae,{kind:e.kind,name:e.name,spec:e.spec},null,8,[`kind`,`name`,`spec`])],8,[`to`]))),128))]),(p(!0),t(u,null,h(me.value,e=>(p(),d(Se,{key:e.label,dot:e.dot,label:e.label},null,8,[`dot`,`label`]))),128)),f(we,{data:r.data},null,8,[`data`]),c(`article`,Fr,[o[9]||=c(`header`,null,[c(`h2`,null,`Details`)],-1),c(`table`,null,[c(`tbody`,null,[f(je,{annotations:q.value},null,8,[`annotations`]),f(Ve,{annotations:q.value,kind:r.kind},null,8,[`annotations`,`kind`]),f(Ze,{annotations:q.value},null,8,[`annotations`]),f(ot,{annotations:q.value},null,8,[`annotations`]),f(Et,{annotations:q.value,kind:r.kind},null,8,[`annotations`,`kind`]),f(nn,{annotations:q.value,instance:r.data},null,8,[`annotations`,`instance`]),f(sn,{annotations:q.value,kind:r.kind},null,8,[`annotations`,`kind`]),f(jn,{annotations:q.value,kind:r.kind},null,8,[`annotations`,`kind`]),f(Rn,{annotations:q.value,kind:r.kind},null,8,[`annotations`,`kind`]),f(Yn,{annotations:q.value,kind:r.kind},null,8,[`annotations`,`kind`]),f(Qn,{annotations:q.value},null,8,[`annotations`]),f(dr,{annotations:q.value,kind:r.kind,links:r.data.annotation_links,incoming:ye.value},null,8,[`annotations`,`kind`,`links`,`incoming`]),(p(!0),t(u,null,h(be.value,([e,t])=>(p(),d(hr,{key:e,"annotation-key":e,value:t,kind:r.kind,format:r.data.annotation_formats?.[e]||null},null,8,[`annotation-key`,`value`,`kind`,`format`]))),128))])])]),f(ve,{data:r.data},null,8,[`data`])],64)}}},[[`__scopeId`,`data-v-ce7bff3f`]]),Lr={class:`view-header`},Rr={class:`instance-title-text`},zr={class:`instance-name`},Br={class:`header-actions`},Vr=[`innerHTML`],Hr={key:1,class:`view-query-display`},Ur={class:`query-item`},Wr={class:`query-value`},Gr={key:1},Kr=_({__name:`ViewDetail`,props:{data:Object,kindMeta:Object},setup(e){let n=e,r=a(()=>n.data.metadata?.annotations||{}),i=a(()=>te(r.value)),o=a(()=>i.value.query),s=a(()=>r.value[`architecture/description`]),l=a(()=>i.value.fields),m=a(()=>i.value.sort),h=a(()=>i.value.showKind),g=C(null);return G(g),(n,r)=>(p(),t(u,null,[c(`article`,Lr,[c(`header`,null,[c(`h2`,null,[e.kindMeta?(p(),t(`i`,{key:0,class:D(`iconoir-${e.kindMeta.icon} icon-${e.kindMeta.layer}`)},null,2)):F(``,!0),c(`div`,Rr,[c(`span`,zr,b(v(R)(e.data.name,`View`)),1),r[0]||=c(`span`,{class:`instance-kind-subtitle`},`View`,-1)])]),c(`div`,Br,[f(ue,{kind:`View`,name:e.data.name},null,8,[`name`])])]),s.value?(p(),t(`div`,{key:0,ref_key:`descEl`,ref:g,class:`description-box prose`,innerHTML:s.value},null,8,Vr)):F(``,!0),o.value?(p(),t(`div`,Hr,[c(`p`,Ur,[r[1]||=c(`span`,{class:`label`},`Query:`,-1),c(`code`,Wr,b(o.value),1)])])):F(``,!0)]),o.value?(p(),d(ie,{key:0,query:o.value,fields:l.value,sort:m.value,"show-kind":h.value},null,8,[`query`,`fields`,`sort`,`show-kind`])):F(``,!0),o.value?F(``,!0):(p(),t(`article`,Gr,[...r[2]||=[c(`p`,{class:`view-empty-state`},[c(`em`,null,`No query defined`)],-1)]]))],64))}},[[`__scopeId`,`data-v-1c2b385e`]]),qr={components:{RelationsGrid:ve,AnalysisResults:W,EmbedButton:ue},props:{data:Object,kindMeta:Object},setup(e){let t=a(()=>e.data.metadata?.annotations||{}),n=a(()=>t.value[`analysis/description`]),r=a(()=>t.value[`architecture/description`]),i=a(()=>t.value[`analysis/script`]),o=C(null);G(o);let s=C(null);return G(s),{annotations:t,summary:n,description:r,analysisScript:i,descEl:o,summaryEl:s,displayName:R}}},Jr={class:`analysis-header`},Yr={class:`instance-title-text`},Xr={class:`instance-name`},Zr={class:`header-actions`},Qr=[`innerHTML`],$r=[`innerHTML`],ei={key:1};function ti(n,r,a,o,s,l){let m=e(`EmbedButton`),h=e(`router-link`),g=e(`AnalysisResults`),_=e(`RelationsGrid`);return p(),t(u,null,[c(`article`,Jr,[c(`header`,null,[c(`h2`,null,[a.kindMeta?(p(),t(`i`,{key:0,class:D(`iconoir-${a.kindMeta.icon} icon-${a.kindMeta.layer}`)},null,2)):F(``,!0),c(`div`,Yr,[c(`span`,Xr,b(o.displayName(a.data.name,`Analysis`)),1),r[0]||=c(`span`,{class:`instance-kind-subtitle`},`Analysis`,-1)])]),c(`div`,Zr,[f(m,{kind:`Analysis`,name:a.data.name},null,8,[`name`]),f(h,{class:`btn-header`,to:`/kinds/Analysis/instances/${a.data.name}/edit`,title:`Edit this resource`},{default:E(()=>[...r[1]||=[c(`i`,{class:`iconoir-edit-pencil`},null,-1),i(` Edit `,-1)]]),_:1},8,[`to`])])]),o.summary?(p(),t(`div`,{key:0,ref:`summaryEl`,class:`analysis-summary prose`,innerHTML:o.summary},null,8,Qr)):F(``,!0),o.description?(p(),t(`div`,{key:1,ref:`descEl`,class:`description-box prose`,innerHTML:o.description},null,8,$r)):F(``,!0)]),o.analysisScript?(p(),d(g,{key:0,name:a.data.name},null,8,[`name`])):(p(),t(`article`,ei,[...r[2]||=[c(`p`,{class:`analysis-empty-state`},[c(`i`,{class:`iconoir-warning-triangle`}),i(` No script defined for this analysis. `)],-1)]])),f(_,{data:a.data},null,8,[`data`])],64)}var ni=_(qr,[[`render`,ti],[`__scopeId`,`data-v-a10d9499`]]),ri={class:`import-header`},ii={class:`instance-title-text`},ai={class:`instance-name`},oi={class:`header-actions`},si={key:0,class:`badge badge-primary`},ci={key:1,class:`badge badge-warning`},li=[`innerHTML`],ui={key:0,class:`graph-container`},di=[`innerHTML`],fi={key:1,class:`graph-too-large`},pi={key:2,class:`graph-too-large`},mi={class:`import-configuration`},hi={class:`import-metadata`},gi={key:0,class:`import-meta-item`},_i={key:1,class:`import-meta-item`},vi={key:2,class:`import-meta-item`},yi={key:3,class:`import-meta-item status-enabled`},bi={key:4,class:`import-meta-item status-disabled`},xi={key:0,class:`import-output-path`},Si={key:1,class:`import-config-section`,open:``},Ci={class:`import-config-table`},wi={scope:`row`},Ti={key:0},Ei=_({__name:`ImportDetail`,props:{data:Object,kindMeta:Object},setup(n){let r=n,l=C(``),d=C(null),g=null,_=C(null);G(_);let y=a(()=>r.data.metadata?.annotations||{}),x=a(()=>y.value[`import/handler`]),S=a(()=>y.value[`import/enabled`]!==`false`),w=a(()=>y.value[`import/cacheTime`]),T=a(()=>y.value[`import/priority`]),O=a(()=>y.value[`import/outputPath`]),k=a(()=>y.value[`architecture/description`]),A=a(()=>Object.entries(y.value).filter(([e])=>e.startsWith(`import/config/`)).map(([e,t])=>[e.replace(`import/config/`,``),t])),j=a(()=>{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)}),M=a(()=>Object.keys(r.data.relations||{}).length>0),N=a(()=>{let e=r.data.references||{};return M.value||Object.keys(e).length>0}),z=a(()=>j.value>=50);o(async()=>{if(M.value&&!z.value){let e=await P(`Import`,r.data.name);l.value=e?await I(e):``,await s(),B()}}),m(()=>{g?.destroy()});function B(){if(!d.value)return;let e=d.value.querySelector(`svg`);e&&(g=L(e,d.value))}function V(e){return typeof e==`string`?e.startsWith(`http`)||e.startsWith(`git@`)||e.startsWith(`file://`):!1}return(r,a)=>{let o=e(`router-link`);return p(),t(u,null,[c(`article`,ri,[c(`header`,null,[c(`h2`,null,[n.kindMeta?(p(),t(`i`,{key:0,class:D(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):F(``,!0),c(`div`,ii,[c(`span`,ai,b(v(R)(n.data.name,`Import`)),1),a[0]||=c(`span`,{class:`instance-kind-subtitle`},`Import`,-1)])]),c(`div`,oi,[x.value?(p(),t(`span`,si,b(x.value),1)):F(``,!0),S.value?F(``,!0):(p(),t(`span`,ci,`Disabled`)),f(o,{class:`btn-header`,to:`/kinds/Import/instances/${n.data.name}/edit`,title:`Edit this resource`},{default:E(()=>[...a[1]||=[c(`i`,{class:`iconoir-edit-pencil`},null,-1),i(` Edit `,-1)]]),_:1},8,[`to`])])]),k.value?(p(),t(`div`,{key:0,ref_key:`descEl`,ref:_,class:`description-box prose`,innerHTML:k.value},null,8,li)):F(``,!0),N.value?(p(),t(u,{key:1},[M.value&&!z.value&&l.value?(p(),t(`div`,ui,[c(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:d,class:`canvas`,innerHTML:l.value},null,8,di)])):z.value?(p(),t(`p`,fi,[a[2]||=c(`i`,{class:`iconoir-warning-triangle`},null,-1),i(` Graph too large to display (`+b(j.value)+` relations) `,1)])):M.value?F(``,!0):(p(),t(`p`,pi,[...a[3]||=[c(`i`,{class:`iconoir-graph-up`},null,-1),i(` No outgoing dependencies — graph omitted `,-1)]]))],64)):F(``,!0)]),c(`article`,mi,[a[11]||=c(`header`,null,[c(`h3`,null,[c(`i`,{class:`iconoir-settings`}),i(` Configuration`)])],-1),c(`div`,hi,[x.value?(p(),t(`span`,gi,[a[4]||=c(`i`,{class:`iconoir-code`},null,-1),i(` `+b(x.value),1)])):F(``,!0),w.value?(p(),t(`span`,_i,[a[5]||=c(`i`,{class:`iconoir-timer`},null,-1),i(` `+b(w.value),1)])):F(``,!0),T.value?(p(),t(`span`,vi,[a[6]||=c(`i`,{class:`iconoir-sort-down`},null,-1),i(` Priority: `+b(T.value),1)])):F(``,!0),S.value?(p(),t(`span`,yi,[...a[7]||=[c(`i`,{class:`iconoir-check-circle`},null,-1),i(` Enabled `,-1)]])):(p(),t(`span`,bi,[...a[8]||=[c(`i`,{class:`iconoir-xmark-circle`},null,-1),i(` Disabled `,-1)]]))]),O.value?(p(),t(`div`,xi,[a[9]||=c(`strong`,null,`Output:`,-1),c(`code`,null,b(O.value),1)])):F(``,!0),A.value.length?(p(),t(`details`,Si,[a[10]||=c(`summary`,null,[c(`i`,{class:`iconoir-list`}),i(` Handler Settings `)],-1),c(`table`,Ci,[c(`tbody`,null,[(p(!0),t(u,null,h(A.value,([e,n])=>(p(),t(`tr`,{key:e},[c(`th`,wi,b(e),1),c(`td`,null,[V(n)?(p(),t(`code`,Ti,b(n),1)):(p(),t(u,{key:1},[i(b(n),1)],64))])]))),128))])])])):F(``,!0)]),f(ve,{data:n.data},null,8,[`data`])],64)}}},[[`__scopeId`,`data-v-f0340aef`]]),Di={class:`page-actions`},Oi={class:`page-resource`},ki={__name:`PageDetail`,props:{data:Object,kindMeta:Object},setup(n){return(r,a)=>{let o=e(`router-link`);return p(),t(u,null,[f(ce,{name:n.data.name},{actions:E(()=>[c(`div`,Di,[c(`span`,Oi,[n.kindMeta?(p(),t(`i`,{key:0,class:D(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):F(``,!0),a[0]||=i(` Page `,-1),c(`code`,null,b(v(R)(n.data.name,`Page`)),1)]),f(o,{class:`btn-header`,to:{name:`page`,params:{name:n.data.name}},title:`Open in the handbook tree`},{default:E(()=>[...a[1]||=[c(`i`,{class:`iconoir-book`},null,-1),i(` Open in handbook `,-1)]]),_:1},8,[`to`]),f(re,{name:n.data.name},null,8,[`name`]),f(o,{class:`btn-header`,to:`/kinds/Page/instances/${encodeURIComponent(n.data.name)}/edit`,title:`Edit this page`},{default:E(()=>[...a[2]||=[c(`i`,{class:`iconoir-edit-pencil`},null,-1),i(` Edit `,-1)]]),_:1},8,[`to`])])]),_:1},8,[`name`]),f(ve,{data:n.data},null,8,[`data`])],64)}}},Ai={class:`pdf-config`},ji={class:`instance-title-text`},Mi={class:`instance-name`},Ni={class:`header-actions`},Pi=[`innerHTML`],Fi={class:`sheet`},Ii={class:`settings`},Li={"aria-labelledby":`pdf-colours`},Ri={class:`palette`},zi={class:`role`},Bi={key:0},Vi={key:0},Hi={"aria-labelledby":`pdf-type`},Ui={class:`facts`},Wi={"aria-labelledby":`pdf-logos`},Gi={class:`logos`},Ki={class:`on-white`},qi=[`src`],Ji={key:1,class:`unset`},Yi=[`src`],Xi={key:1,class:`unset`},Zi={"aria-labelledby":`pdf-page`},Qi={class:`facts`},$i={class:`preview`,"aria-labelledby":`pdf-preview`},ea={class:`preview-bar`},ta={class:`pager`,role:`group`,"aria-label":`Part of the sample`},na=[`aria-pressed`],ra=[`aria-pressed`],ia=[`href`],aa=[`aria-busy`],oa=[`src`],sa={key:1,class:`note`,role:`status`},ca={key:2,class:`note failed`,role:`alert`},la=_({__name:`PdfConfigDetail`,props:{data:Object,kindMeta:Object},setup(n){let r=n,o=[{key:`primary`,label:`Primary`,use:`headings, cover band, table headers`,fallback:`#1f3a5f`,tall:!0},{key:`accent`,label:`Accent`,use:`rules and links`,fallback:`#2f7fd1`,tall:!0},{key:`text`,label:`Text`,fallback:`#1c1c1c`},{key:`muted`,label:`Muted`,fallback:`#6b7280`},{key:`ok`,label:`Positive`,fallback:`#1f9d55`},{key:`warn`,label:`Warning`,fallback:`#d98e04`},{key:`danger`,label:`Danger`,fallback:`#c0392b`}],s=[{key:`body`,label:`Body text`},{key:`heading`,label:`Headings`},{key:`mono`,label:`Code and ids`}],l={a4:`A4`,a5:`A5`,"us-letter":`US Letter`},d={en:`English`,de:`German`},m=a(()=>r.data.metadata?.annotations||{}),g=a(()=>m.value[`architecture/description`]),_=e=>m.value[`pdf/${e}`],x=a(()=>o.map(e=>{let t=_(`color-${e.key}`),n=t||e.fallback;return{...e,hex:n,builtin:!t,ink:j(n)}})),S=a(()=>s.map(e=>({...e,family:_(`font-${e.key}`)}))),w=a(()=>x.value[0].hex),k=a(()=>({onWhite:_(`logo`)?y(_(`logo`)):null,onBand:_(`logo-light`)||_(`logo`)?y(_(`logo-light`)||_(`logo`)):null})),A=a(()=>[{label:`Paper`,value:l[_(`paper`)]||`A4`},{label:`Language`,value:d[_(`lang`)]||`English`},{label:`Margin`,value:_(`margin`)||`16mm`},{label:`Header line`,value:(_(`header-meta`)||`id, version, date, owner`).replace(/\s*,\s*/g,`, `)},{label:`Footer text`,value:_(`footer-text`)},{label:`Classification`,value:_(`classification`)},{label:`Font directory`,value:_(`font-dir`)}]);function j(e){let t=e.replace(`#`,``),n=t.length===3?[...t].map(e=>e+e).join(``):t,[r,i,a]=[0,2,4].map(e=>parseInt(n.slice(e,e+2),16)/255).map(e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4);return .2126*r+.7152*i+.0722*a>.4?`#111`:`#fff`}let P=C(`cover`),I=C(`loading`),L=C(``),z=C(null),B={},V=0;async function H(e){P.value=e;let t=++V;if(B[e])z.value=B[e],I.value=`ready`;else{I.value=`loading`;try{let n=await fetch(T(r.data.name,e));if(!n.ok){let e=await n.json().catch(()=>({message:n.statusText})),t=Error(e.message||n.statusText);throw t.status=n.status,t}if(B[e]=URL.createObjectURL(await n.blob()),t!==V)return;z.value=B[e],I.value=`ready`}catch(e){if(t!==V)return;L.value=e.status===503?`The server cannot typeset PDFs because typst is not installed there.`:e.message,I.value=`error`}}}function U(){Object.keys(B).forEach(e=>{URL.revokeObjectURL(B[e]),delete B[e]}),z.value=null}let ee=a(()=>z.value&&`${z.value}#toolbar=0&navpanes=0&view=Fit`);N(()=>r.data.name,()=>{U(),H(`cover`)},{immediate:!0}),O(()=>{V++,U()});let W=C(null);return G(W),(r,a)=>{let o=e(`router-link`);return p(),t(`article`,Ai,[c(`header`,null,[c(`h2`,null,[n.kindMeta?(p(),t(`i`,{key:0,class:D(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):F(``,!0),c(`div`,ji,[c(`span`,Mi,b(v(R)(n.data.name,`Config`)),1),a[2]||=c(`span`,{class:`instance-kind-subtitle`},`Config for the PDF export`,-1)])]),c(`div`,Ni,[f(o,{class:`btn-header`,to:`/kinds/Config/instances/${encodeURIComponent(n.data.name)}/edit`,title:`Edit this resource`},{default:E(()=>[...a[3]||=[c(`i`,{class:`iconoir-edit-pencil`},null,-1),i(` Edit `,-1)]]),_:1},8,[`to`])])]),g.value?(p(),t(`div`,{key:0,ref_key:`descEl`,ref:W,class:`description-box prose`,innerHTML:g.value},null,8,Pi)):F(``,!0),c(`div`,Fi,[c(`div`,Ii,[c(`section`,Li,[a[4]||=c(`h3`,{id:`pdf-colours`},`Colours`,-1),c(`ul`,Ri,[(p(!0),t(u,null,h(x.value,e=>(p(),t(`li`,{key:e.key,class:D({tall:e.tall}),style:M({background:e.hex,color:e.ink})},[c(`span`,zi,[i(b(e.label)+` `,1),e.use?(p(),t(`small`,Bi,b(e.use),1)):F(``,!0)]),c(`code`,null,[i(b(e.hex),1),e.builtin?(p(),t(`small`,Vi,` built-in`)):F(``,!0)])],6))),128))])]),c(`section`,Hi,[a[5]||=c(`h3`,{id:`pdf-type`},`Fonts`,-1),c(`dl`,Ui,[(p(!0),t(u,null,h(S.value,e=>(p(),t(u,{key:e.key},[c(`dt`,null,b(e.label),1),c(`dd`,{class:D({unset:!e.family})},b(e.family||`built-in`),3)],64))),128))])]),c(`section`,Wi,[a[7]||=c(`h3`,{id:`pdf-logos`},`Logo`,-1),c(`div`,Gi,[c(`figure`,Ki,[k.value.onWhite?(p(),t(`img`,{key:0,src:k.value.onWhite,alt:`Logo on white, as in the page header`},null,8,qi)):(p(),t(`span`,Ji,`No logo`)),a[6]||=c(`figcaption`,null,`Page header`,-1)]),c(`figure`,{class:`on-band`,style:M({background:w.value})},[k.value.onBand?(p(),t(`img`,{key:0,src:k.value.onBand,alt:`Logo on the cover band`},null,8,Yi)):(p(),t(`span`,Xi,`No logo`)),c(`figcaption`,{style:M({color:x.value[0].ink})},`Cover band`,4)],4)])]),c(`section`,Zi,[a[8]||=c(`h3`,{id:`pdf-page`},`Page`,-1),c(`dl`,Qi,[(p(!0),t(u,null,h(A.value,e=>(p(),t(u,{key:e.label},[e.value?(p(),t(u,{key:0},[c(`dt`,null,b(e.label),1),c(`dd`,null,b(e.value),1)],64)):F(``,!0)],64))),128))])])]),c(`section`,$i,[c(`div`,ea,[a[10]||=c(`h3`,{id:`pdf-preview`},`Preview`,-1),c(`div`,ta,[c(`button`,{type:`button`,class:D([`outline`,{secondary:P.value!==`cover`}]),"aria-pressed":P.value===`cover`,onClick:a[0]||=e=>H(`cover`)},`Cover`,10,na),c(`button`,{type:`button`,class:D([`outline`,{secondary:P.value!==`page`}]),"aria-pressed":P.value===`page`,onClick:a[1]||=e=>H(`page`)},`Page`,10,ra)]),z.value?(p(),t(`a`,{key:0,class:`btn-header`,href:z.value,target:`_blank`,rel:`noopener`,title:`Open the sample in its own tab`},[...a[9]||=[c(`i`,{class:`iconoir-open-new-window`},null,-1),i(` Open `,-1)]],8,ia)):F(``,!0)]),c(`div`,{class:`frame`,"aria-busy":I.value===`loading`},[I.value===`ready`?(p(),t(`iframe`,{key:P.value,src:ee.value,title:`Sample document in the look of this Config`},null,8,oa)):I.value===`loading`?(p(),t(`p`,sa,`Typesetting the sample…`)):(p(),t(`div`,ca,[a[12]||=c(`i`,{class:`iconoir-warning-triangle`},null,-1),c(`p`,null,[a[11]||=c(`strong`,null,`The preview could not be made.`,-1),i(` `+b(L.value),1)])]))],8,aa),a[13]||=c(`p`,{class:`hint`},`A fixed sample with this Config's settings, as the PDF export typesets it. Save a change to see it here.`,-1)])])])}}},[[`__scopeId`,`data-v-6c4eb162`]]),ua={key:0},da={key:1},fa={__name:`InstanceRouter`,props:{kind:String,instance:String},setup(e){let n=e,a=w(),o=r(`kinds`),s=C(null),l=C(!0),f=C(null);async function m(){l.value=!0,f.value=null;try{s.value=await g(n.kind,n.instance);let e=s.value.kind||n.kind,t=s.value.name||n.instance;(e!==n.kind||t!==n.instance)&&a.replace({name:`instance`,params:{kind:e,instance:t}})}catch(e){f.value=e.message}finally{l.value=!1}}N(()=>[n.kind,n.instance],m,{immediate:!0});function h(){return o.value?o.value.kinds.find(e=>e.kind===n.kind):null}return(n,r)=>l.value?(p(),t(`article`,ua,[...r[0]||=[c(`p`,null,`Loading...`,-1)]])):f.value?(p(),t(`article`,da,[r[4]||=c(`header`,null,[c(`h2`,null,`Not Found`)],-1),c(`p`,null,[r[1]||=i(`Instance `,-1),c(`strong`,null,b(e.instance),1),r[2]||=i(` of kind `,-1),c(`strong`,null,b(e.kind),1),r[3]||=i(` was not found.`,-1)])])):s.value?(p(),t(u,{key:2},[e.kind===`View`?(p(),d(Kr,{key:0,data:s.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Analysis`?(p(),d(ni,{key:1,data:s.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Import`?(p(),d(Ei,{key:2,data:s.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Page`?(p(),d(ki,{key:3,data:s.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Config`&&s.value.metadata?.annotations?.[`config/type`]===`pdf`?(p(),d(la,{key:4,data:s.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):(p(),d(Ir,{key:5,data:s.value,kind:e.kind,"kind-meta":h()},null,8,[`data`,`kind`,`kind-meta`]))],64)):F(``,!0)}};export{fa as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,B as t,G as n,H as r,I as i,K as a,L as o,O as s,P as c,R as l,U as u,X as d,Y as f,a as p,b as m,ct as h,it as g,k as _,nt as v,ot as y,tt as b,y as x,z as S}from"./index-BF4zUlWZ.js";import{t as C}from"./useGraphviz-Dnm2pkon.js";import{t as w}from"./usePanZoom-HxgEsqq2.js";import{t as T}from"./ResourceList-761vG1Jw.js";var E={key:0},D={key:1,class:`kind-graph-note`},O={key:0,class:`kind-graph-note`},k=[`innerHTML`],A=p({__name:`KindGraph`,props:{kind:String,total:Number},setup(e){let n=e,r=g(``),i=g(0),s=g(!0),l=g(null),u=g(null),p=null;async function m(){s.value=!0,p?.destroy(),p=null;let e=await x(n.kind);r.value=e?await C(e):``,i.value=(r.value.match(/class="node\b/g)||[]).length,s.value=!1,await a();let t=u.value?.querySelector(`svg`);t&&(p=w(t,u.value,{fullscreenTarget:l.value}))}return b(()=>n.kind,m,{immediate:!0}),f(()=>{p?.destroy()}),(n,a)=>s.value?(d(),t(`p`,E,`Loading graph...`)):i.value?(d(),t(c,{key:2},[e.total>i.value?(d(),t(`p`,O,h(i.value)+` of `+h(e.total)+` resources are related to each other; the list shows all of them. `,1)):S(``,!0),o(`div`,{ref_key:`graphBox`,ref:l,class:`graph-container`},[o(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:u,innerHTML:r.value},null,8,k)],512)],64)):(d(),t(`p`,D,`No relations between `+h(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=p({__name:`KindList`,props:{kind:String},setup(a){let c=a,f=s(),p=_(),x=n(`kinds`),C=g([]),w=g(0),E=g(!0),D=g(!1),O=g(null),k=0;async function R(){E.value=!0,k=0;try{let e=await m(c.kind,{limit:L,offset:0,output:`brief`});e.kind&&e.kind!==c.kind&&p.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}x.value&&(O.value=x.value.kinds.find(e=>e.kind===c.kind)),E.value=!1}async function z(){if(!(D.value||k>=w.value)){D.value=!0;try{let e=(await m(c.kind,{limit:L,offset:k,output:`brief`})).instances||[];C.value=[...C.value,...e],k+=e.length}catch{}D.value=!1}}b(()=>c.kind,R,{immediate:!0});let B=i(()=>!!O.value?.self_relations),V=i(()=>B.value&&f.query.view===`graph`);function H(e){p.replace({query:{...f.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 s=e(`router-link`);return E.value?(d(),t(`article`,I,[...i[5]||=[o(`p`,null,`Loading...`,-1)]])):(d(),t(`article`,j,[o(`header`,null,[o(`h2`,null,[O.value?(d(),t(`i`,{key:0,class:y(`iconoir-${O.value.icon} icon-${O.value.layer}`)},null,2)):S(``,!0),r(` `+h(a.kind),1)]),o(`div`,M,[B.value?(d(),t(`div`,N,[o(`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]||=[o(`i`,{class:`iconoir-list`},null,-1)]],10,P),o(`button`,{type:`button`,class:y({outline:!V.value,secondary:!V.value}),"aria-pressed":V.value,"aria-label":`Graph`,title:`Graph of the relations between ${a.kind} resources`,onClick:i[1]||=e=>H(`graph`)},[...i[3]||=[o(`i`,{class:`iconoir-network`},null,-1)]],10,F)])):S(``,!0),u(s,{class:`kind-help`,to:{name:`doc`,params:{filename:`resources/`+U(a.kind)}},title:`Documentation`},{default:v(()=>[...i[4]||=[o(`i`,{class:`iconoir-help-circle`},null,-1)]]),_:1},8,[`to`])])]),V.value?(d(),l(A,{key:0,kind:a.kind,total:w.value},null,8,[`kind`,`total`])):(d(),l(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,H as r,I as i,L as a,P as o,Q as s,R as c,U as l,V as u,X as d,Z as f,a as p,at as m,ct as h,it as g,nt as _,ot as v,s as ee,t as y,tt as b,x,z as S}from"./index-BF4zUlWZ.js";import{c as C,i as w}from"./ResourceList-761vG1Jw.js";import{t as T}from"./WikiPage-Bi7dzY2h.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=p({__name:`ResourceLinks`,props:{links:{type:Object,default:()=>({})}},setup(e){let t=e,s=i(()=>A(t.links)),c=i(()=>s.value.length>10?j(s.value):null);return(e,t)=>c.value?(d(),n(`div`,M,[(d(!0),n(o,null,f(c.value,([e,t])=>(d(),n(`section`,{key:e},[a(`strong`,null,h(e),1),a(`ul`,null,[(d(!0),n(o,null,f(t,e=>(d(),n(`li`,{key:e.name},[a(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,title:e.url},[a(`i`,{class:v(m(C)(e.url)),"aria-hidden":`true`},null,2),r(` `+h(e.name),1)],8,N)]))),128))])]))),128))])):s.value.length?(d(),n(`span`,P,[(d(!0),n(o,null,f(s.value,([e,t])=>(d(),n(`a`,{key:e,class:`chip link-chip`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:`Open ${t}`},[a(`i`,{class:v(`${m(C)(t)} link-icon`),"aria-hidden":`true`},null,2),a(`span`,null,h(m(D)(e)),1),m(k)(t)?(d(),n(`span`,I,h(m(k)(t)),1)):S(``,!0)],8,F))),128))])):S(``,!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 p=e,m=g(null),C=g(null),w=i(()=>{let e=m.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{m.value=await x(p.name)}catch(e){m.value=null,C.value=e.message,y(`Not found`);return}y(m.value.title)}b(()=>p.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:ee(`Page: page/tags == "${e}"`,`pages`)}}return(e,i)=>{let p=t(`router-link`);return m.value?(d(),c(T,{key:0,title:m.value.title,html:m.value.html,breadcrumb:m.value.breadcrumb,toc:m.value.toc,backlinks:m.value.backlinks,"edit-name":m.value.name},u({properties:_(()=>[w.value?(d(),n(`dl`,z,[m.value.status?(d(),n(`div`,B,[i[0]||=a(`dt`,null,`Status`,-1),a(`dd`,null,[a(`span`,{class:v([`status-pill`,D(m.value.status)])},h(m.value.status),3)])])):S(``,!0),m.value.author?(d(),n(`div`,V,[i[1]||=a(`dt`,null,`Author`,-1),a(`dd`,null,[m.value.author.email?(d(),n(`a`,{key:0,href:`mailto:${m.value.author.email}`},h(m.value.author.name),9,H)):(d(),n(o,{key:1},[r(h(m.value.author.name),1)],64))])])):S(``,!0),m.value.owner?(d(),n(`div`,U,[i[2]||=a(`dt`,null,`Owner`,-1),a(`dd`,null,[m.value.owner.email?(d(),n(`a`,{key:0,href:`mailto:${m.value.owner.email}`},h(m.value.owner.name),9,W)):(d(),n(o,{key:1},[r(h(m.value.owner.name),1)],64))])])):S(``,!0),m.value.created?(d(),n(`div`,G,[i[3]||=a(`dt`,null,`Created`,-1),a(`dd`,{title:m.value.created},h(O(m.value.created)),9,K)])):S(``,!0),m.value.updated?(d(),n(`div`,q,[i[4]||=a(`dt`,null,`Updated`,-1),a(`dd`,{title:m.value.updated},h(O(m.value.updated)),9,J)])):S(``,!0),m.value.tags.length?(d(),n(`div`,Y,[i[5]||=a(`dt`,null,`Tags`,-1),a(`dd`,null,[(d(!0),n(o,null,f(m.value.tags,(e,t)=>(d(),n(o,{key:e},[l(p,{to:k(e)},{default:_(()=>[r(h(e),1)]),_:2},1032,[`to`]),t<m.value.tags.length-1?(d(),n(o,{key:0},[r(`, `)],64)):S(``,!0)],64))),128))])])):S(``,!0),(d(!0),n(o,null,f(m.value.properties,e=>(d(),n(`div`,{key:e.key,class:`prop`},[a(`dt`,null,h(e.key),1),a(`dd`,{innerHTML:e.html},null,8,X)]))),128)),Object.keys(m.value.links||{}).length?(d(),n(`div`,Z,[i[6]||=a(`dt`,null,`Links`,-1),a(`dd`,null,[l(L,{links:m.value.links},null,8,[`links`])])])):S(``,!0)])):S(``,!0)]),_:2},[e.$slots.actions?{name:`actions`,fn:_(()=>[s(e.$slots,`actions`)]),key:`0`}:void 0]),1032,[`title`,`html`,`breadcrumb`,`toc`,`backlinks`,`edit-name`])):C.value?(d(),n(`article`,Q,[a(`p`,null,h(C.value),1)])):(d(),n(`article`,te,[...i[7]||=[a(`p`,null,`Loading...`,-1)]]))}}};export{$ as n,L as r,R as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,H as t,L as n,X as r,a as i,ct as a}from"./index-BF4zUlWZ.js";var o={class:`query-error`,role:`alert`},s={class:`query-error-message`},c=i({__name:`QueryError`,props:{message:{type:String,required:!0}},setup(i){return(c,l)=>(r(),e(`div`,o,[l[0]||=n(`div`,{class:`query-error-title`},[n(`i`,{class:`iconoir-warning-triangle`,"aria-hidden":`true`}),t(` Query error`)],-1),n(`pre`,s,a(i.message),1)]))}},[[`__scopeId`,`data-v-9e8569f3`]]);export{c as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as e,B as t,G as n,H as r,I as i,J as a,L as o,P as s,R as c,U as l,X as u,Z as d,a as f,at as p,ct as m,it as h,k as g,nt as _,ot as v,q as y,s as b,tt as x,z as S}from"./index-BF4zUlWZ.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=f({__name:`HighlightValue`,props:{item:{type:Object,required:!0},kind:{type:String,required:!0}},setup(n){let a=n,l=i(()=>a.item.type===`Time`),f=i(()=>typeof a.item.value==`number`),h=i(()=>[`Person`,`EmailRecipient`].includes(a.item.type)),g=i(()=>[`tag_word`,`tag_list`].includes(a.item.format)),v=i(()=>Array.isArray(a.item.value)?a.item.value:[a.item.value]),y=i(()=>v.value.slice(0,B)),x=i(()=>v.value.length-y.value.length),C=i(()=>F(a.item.title,a.item.key,l.value?a.item.value:null)),w=i(()=>String(a.item.value).replace(/\s*<[^>]*>/,``).trim()||String(a.item.value));function T(e){let t=`${a.kind}: ${a.item.key} == "${String(e).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`;return{name:`search`,query:b(t,a.kind===`Page`?`pages`:`kinds`)}}return(i,a)=>{let b=e(`router-link`);return u(),t(`span`,{class:`hl`,title:C.value},[f.value?(u(),t(s,{key:0},[o(`span`,L,m(n.item.title),1),o(`span`,R,m(n.item.value.toLocaleString(`en`)),1)],64)):l.value?(u(),t(s,{key:1},[r(m(p(O)(n.item.value)),1)],64)):h.value?(u(),t(s,{key:2},[r(m(w.value),1)],64)):g.value?(u(),t(s,{key:3},[(u(!0),t(s,null,d(y.value,e=>(u(),c(b,{key:e,class:`hl-tag`,to:T(e)},{default:_(()=>[r(m(e),1)]),_:2},1032,[`to`]))),128)),x.value>0?(u(),t(`span`,z,`+`+m(x.value),1)):S(``,!0)],64)):(u(),t(s,{key:4},[r(m(v.value.join(`, `)),1)],64))],8,I)}}},[[`__scopeId`,`data-v-318b23ef`]]),H={class:`highlights`},U=f({__name:`HighlightList`,props:{items:{type:Array,required:!0},kind:{type:String,required:!0}},setup(e){return(n,r)=>(u(),t(`div`,H,[(u(!0),t(s,null,d(e.items,t=>(u(),c(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=f({__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(f,{emit:b}){let C=f,w=b,T=n(`pageTitles`,null);function E(e){return C.pageLinks&&e.kind===`Page`}let D=g();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=h(null),I=null,L=i(()=>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))}a(R),x(F,R),y(()=>{I&&I.disconnect()});let z=i(()=>C.fields&&C.fields.length>0),B=i(()=>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=e(`router-link`);return u(),t(s,null,[f.instances.length?z.value?(u(),t(`table`,{key:1,class:v([`resource-list-table`,{embedded:f.embedded}])},[o(`thead`,null,[o(`tr`,null,[i[1]||=o(`th`,{class:`col-name`},`Name`,-1),f.omitKind?S(``,!0):(u(),t(`th`,G,`Kind`)),(u(!0),t(s,null,d(B.value,e=>(u(),t(`th`,{key:e.key,class:`col-annotation`},m(e.title),1))),128))])]),o(`tbody`,null,[(u(!0),t(s,null,d(f.instances,e=>(u(),t(`tr`,{key:e.name,class:`resource-list-row`,onClick:t=>k(e,t)},[o(`td`,q,[l(a,{class:`instance-name`,to:A(e)},{default:_(()=>[e.icon?(u(),t(`i`,{key:0,class:v(`iconoir-${e.icon} icon-${e.layer}`)},null,2)):S(``,!0),r(` `+m(j(e)),1)]),_:2},1032,[`to`]),P(e)?(u(),t(`span`,J,m(P(e)),1)):S(``,!0)]),f.omitKind?S(``,!0):(u(),t(`td`,Y,[E(e)?S(``,!0):(u(),t(`span`,X,m(e.kind),1))])),(u(!0),t(s,null,d(B.value,n=>(u(),t(`td`,{key:n.key,class:`col-annotation`},[V(e,n.key)==null?(u(),t(`span`,Q,`—`)):(u(),t(s,{key:0},[H(n.key)?(u(),t(`span`,{key:0,title:V(e,n.key)},m(p(O)(V(e,n.key))),9,Z)):(u(),t(s,{key:1},[r(m(V(e,n.key)),1)],64))],64))]))),128))],8,K))),128))])],2)):(u(),t(`ul`,{key:2,class:v([`search-instance-list`,{rows:f.rows}])},[(u(!0),t(s,null,d(f.instances,e=>(u(),t(`li`,{key:e.name,class:`search-instance-item`},[o(`div`,$,[l(a,{class:`instance-name`,to:A(e)},{default:_(()=>[e.icon?(u(),t(`i`,{key:0,class:v(`iconoir-${e.icon} icon-${e.layer}`)},null,2)):S(``,!0),r(` `+m(j(e)),1)]),_:2},1032,[`to`]),P(e)?(u(),t(`span`,ee,m(P(e)),1)):S(``,!0),!f.omitKind&&!E(e)?(u(),t(`span`,te,m(e.kind),1)):S(``,!0)]),e.highlights?.length?(u(),c(U,{key:0,items:e.highlights,kind:e.kind},null,8,[`items`,`kind`])):S(``,!0)]))),128))],2)):(u(),t(`p`,W,[...i[0]||=[o(`i`,null,`No resources found`,-1)]])),L.value?(u(),t(`div`,{key:3,ref_key:`sentinel`,ref:F,class:`load-more-sentinel`},[f.loadingMore?(u(),t(`small`,ne,`Loading more…`)):S(``,!0)],512)):S(``,!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,D as n,G as r,H as i,I as a,L as o,O as s,P as c,R as l,U as u,X as d,Z as f,a as p,ct as m,i as h,it as g,nt as _,o as v,ot as y,s as b,tt as x,z as S}from"./index-BF4zUlWZ.js";import{t as C}from"./ResourceList-761vG1Jw.js";import{t as w}from"./QueryError-BIJH6gQC.js";var T={class:`kind-facets`,"aria-label":`Filter by kind`},E={class:`facet-count`},D={class:`facet-count`},O=p({__name:`KindFacets`,props:{byKind:{type:Object,default:()=>({})},selected:{type:String,default:null}},setup(n){let p=n,g=h,v=s(),b=r(`kinds`,null),x=a(()=>Object.fromEntries((b?.value?.kinds||[]).map(e=>[e.kind,e.layer]))),S=a(()=>Object.entries(p.byKind).map(([e,t])=>({kind:e,count:t,layer:g.includes(x.value[e])?x.value[e]:`other`})).sort((e,t)=>g.indexOf(e.layer)-g.indexOf(t.layer)||e.kind.localeCompare(t.kind))),C=a(()=>S.value.reduce((e,t)=>e+t.count,0));function w(e){let t={...v.query};return e?t.kind=e:delete t.kind,{name:`search`,query:t}}return(r,a)=>{let s=e(`router-link`);return d(),t(`nav`,T,[u(s,{class:y([`facet facet-all`,{selected:!n.selected}]),to:w(null),"aria-current":n.selected?void 0:`true`},{default:_(()=>[a[0]||=i(` All `,-1),o(`span`,E,m(C.value),1)]),_:1},8,[`class`,`to`,`aria-current`]),(d(!0),t(c,null,f(S.value,e=>(d(),l(s,{key:e.kind,class:y([`facet`,[`icon-${e.layer}`,{selected:n.selected===e.kind}]]),to:w(e.kind),"aria-current":n.selected===e.kind?`true`:void 0},{default:_(()=>[a[1]||=o(`span`,{class:`facet-dot`,"aria-hidden":`true`},null,-1),i(` `+m(e.kind)+` `,1),o(`span`,D,m(e.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=p({__name:`SearchHints`,props:{mode:{type:String,required:!0},query:{type:String,default:``},scope:{type:String,default:`kinds`}},setup(n){let s=n,l=r(`pages`,null),p=a(()=>!!l?.value?.length),h={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=a(()=>h[s.scope]||h.kinds),v=a(()=>s.scope===`pages`?`pages`:`resources`);function y(e){return{name:`search`,query:b(e.query,s.scope)}}return(r,a)=>{let s=e(`router-link`);return n.mode===`intro`?(d(),t(`section`,k,[o(`p`,A,`Search `+m(v.value)+` by name, or filter them with a query.`,1),o(`ul`,j,[(d(!0),t(c,null,f(g.value,e=>(d(),t(`li`,{key:e.query},[u(s,{to:y(e)},{default:_(()=>[o(`code`,null,m(e.query),1)]),_:2},1032,[`to`]),o(`span`,M,m(e.note),1)]))),128))]),o(`p`,null,[u(s,{to:`/doc/search`},{default:_(()=>[...a[0]||=[i(`Query syntax`,-1)]]),_:1})])])):(d(),t(`section`,N,[o(`p`,P,[i(`No `+m(v.value)+` match `,1),o(`code`,null,m(n.query),1),a[1]||=i(`.`,-1)]),o(`ul`,F,[a[2]||=o(`li`,null,`Check the spelling, or try a shorter word.`,-1),n.scope===`kinds`&&p.value?(d(),t(`li`,I,`Page texts are searched from the Pages tab.`)):S(``,!0),n.scope===`pages`?(d(),t(`li`,L,`Switch to the Kinds tab to search resources.`)):S(``,!0)]),o(`p`,null,[u(s,{to:`/doc/search`},{default:_(()=>[...a[3]||=[i(`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=p({__name:`SearchResults`,setup(r){let f=s(),p=g([]),h=g(0),b=g({}),T=g(0),E=g(``),D=g(``),k=g(`kinds`),A=g(null),j=g(!1),M=g(!1),N=g(null),P=g(!1),F=0,I=0,L=a(()=>!!E.value),q=a(()=>Object.keys(b.value).length>1||!!A.value),J=a(()=>j.value||!!N.value),Y=a(()=>{let e=h.value===1?`result`:`results`;return A.value?`${h.value} ${e} in ${A.value}`:`${h.value} ${e}`});async function X(){let e=f.query.q;if(A.value=f.query.kind||null,k.value=f.query.scope===`pages`?`pages`:`kinds`,!e){I++,p.value=[],h.value=0,b.value={},E.value=``,D.value=``,N.value=null,j.value=!1;return}E.value=e,D.value=v(e,k.value);let t=++I;j.value=!0,N.value=null,P.value=!1;try{let e=await n(D.value,{limit:K,offset:0,output:`brief`,kind:A.value});if(t!==I)return;p.value=e.instances||[],h.value=e.total||0,b.value=e.by_kind||{},T.value=e.query_time_ms||0,F=p.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>=h.value||!E.value)return;M.value=!0,P.value=!1;let e=I;try{let t=await n(D.value,{limit:K,offset:F,output:`brief`,kind:A.value});if(e!==I)return;let r=t.instances||[];p.value=[...p.value,...r],F+=r.length}catch{P.value=!0}finally{M.value=!1}}return x(()=>[f.query.q,f.query.scope,f.query.kind],X,{immediate:!0}),(n,r)=>{let a=e(`router-link`);return d(),t(`article`,z,[o(`span`,B,m(j.value?`Searching`:``),1),o(`header`,null,[r[1]||=o(`h2`,null,[o(`i`,{class:`iconoir-search`,"aria-hidden":`true`}),i(` Search`)],-1),o(`div`,V,[u(a,{class:`search-syntax`,to:`/doc/search`,title:`Query syntax`},{default:_(()=>[...r[0]||=[o(`i`,{class:`iconoir-help-circle`,"aria-hidden":`true`},null,-1)]]),_:1})])]),L.value?(d(),t(c,{key:1},[q.value?(d(),l(O,{key:0,"by-kind":b.value,selected:A.value},null,8,[`by-kind`,`selected`])):S(``,!0),N.value?(d(),l(w,{key:1,message:N.value},null,8,[`message`])):S(``,!0),!N.value&&p.value.length?(d(),t(`p`,H,[i(m(Y.value)+` `,1),o(`span`,U,m(T.value)+` ms`,1),k.value===`pages`&&D.value!==E.value?(d(),t(`span`,W,[r[2]||=i(` searched as `,-1),o(`code`,null,m(D.value),1)])):S(``,!0)])):S(``,!0),o(`div`,{class:y({stale:J.value})},[p.value.length?(d(),l(C,{key:0,rows:``,instances:p.value,"omit-kind":!!A.value,"page-links":k.value===`pages`,total:h.value,"loading-more":M.value,onLoadMore:Z},null,8,[`instances`,`omit-kind`,`page-links`,`total`,`loading-more`])):S(``,!0),P.value?(d(),t(`p`,G,[r[3]||=i(` Could not load more results. `,-1),o(`button`,{type:`button`,class:`more-retry`,onClick:Z},`Try again`)])):S(``,!0)],2),!j.value&&!N.value&&!p.value.length?(d(),l(R,{key:3,mode:`empty`,query:E.value,scope:k.value},null,8,[`query`,`scope`])):S(``,!0)],64)):(d(),l(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,B as n,C as r,D as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,N as f,O as p,P as m,Q as h,R as g,S as _,U as v,X as y,Z as b,_ as x,a as S,at as C,ct as w,it as T,k as E,n as D,nt as O,ot as k,q as A,st as j,tt as M,u as N,z as P}from"./index-BF4zUlWZ.js";import{t as F}from"./useHighlight-BH32C7yt.js";import{t as I}from"./usePanZoom-HxgEsqq2.js";import{o as L,t as R}from"./ResourceList-761vG1Jw.js";import{t as z}from"./QueryError-BIJH6gQC.js";var B=[`/kinds/`,`/pages/`,`/doc/`];function V(e){let t=E();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&&B.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`}),A(()=>{e.value?.removeEventListener(`click`,n)})}var H=null,ee=!1;function te(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`default`}async function ne(){return H||(H=(await e(()=>import(`./mermaid-C3bOamfn.js`).then(e=>e.t),__vite__mapDeps([0,1]))).default,H.initialize({startOnLoad:!1,theme:te()}),re(),H)}function U(e){e.querySelectorAll(`.mermaid svg`).forEach(e=>{if(e.hasAttribute(`data-panzoom-init`))return;e.setAttribute(`data-panzoom-init`,`true`);let t=e.parentElement;I(e,t)})}function re(){ee||(ee=!0,window.matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,async()=>{H&&(H.initialize({startOnLoad:!1,theme:te()}),document.querySelectorAll(`.mermaid[data-mermaid-source]`).forEach(e=>{e.removeAttribute(`data-processed`),e.innerHTML=e.getAttribute(`data-mermaid-source`)}),await H.run(),document.querySelectorAll(`.mermaid`).forEach(e=>{e.querySelectorAll(`svg`).forEach(e=>e.removeAttribute(`data-panzoom-init`)),U(e.parentElement||e)}))}))}async function W(e){let t=e.querySelectorAll(`pre > code.language-mermaid`);if(t.length===0)return;let n=await ne();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(),U(e)}var ie=`/vendor/drawio/viewer.html`,ae=`archsight-drawio`,oe=240,se=4e3,ce=!1;function le(e){return[...document.querySelectorAll(`iframe.drawio-frame`)].find(t=>t.contentWindow===e)}function ue(e,t){let n=document.createElement(`div`);n.className=`drawio-error`,n.setAttribute(`role`,`alert`),n.textContent=t,e.replaceWith(n)}function de(e){let t=e.data;if(e.origin!==window.location.origin||!t||t.channel!==ae)return;let n=le(e.source);n&&(t.type===`size`&&Number.isFinite(t.height)?n.style.height=`${Math.min(Math.ceil(t.height),se)}px`:t.type===`error`&&ue(n,t.message||`The diagram could not be shown.`))}function fe(e,t){let n=document.createElement(`iframe`);return n.className=`drawio-frame`,n.src=`${ie}?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=`${oe}px`,n}function pe(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 G(e){e&&(ce||=(window.addEventListener(`message`,de),!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(fe(t,e.dataset.drawioTitle),pe(t))}))}var me=e=>(e||``).split(`,`).map(e=>e.trim()).filter(Boolean);function K(e){let t=e[`view/type`]||`list:name+kind`;return{query:e[`view/query`],fields:me(e[`view/fields`]),sort:me(e[`view/sort`]),showKind:t===`list:name+kind`}}var q=e=>(e||``).split(`,`).filter(Boolean);function J(){let e=T([]);async function t(t){await u();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:q(n.priority),status:q(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=K({"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 Y=(e,t)=>`${e} ${t}${e===1?``:`s`}`;function X(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&&Y(n,`error`),r&&Y(r,`warning`)].filter(Boolean).join(`, `)}}var he={key:1,class:`view-loading`,"aria-busy":`true`},ge={key:2,class:`view-results`},_e={key:0},ve={class:`view-result-meta`},Z=100,ye=S({__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 r=e,a=t,o=T([]),l=T(0),u=T(0),f=T(!1),p=T(!1),m=T(null),h=0;function _(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=L(e,i)??``,o=L(n,i)??``,s=String(a).localeCompare(String(o),void 0,{numeric:!0});if(s!==0)return t?-s:s}return 0}):e}let b=c(()=>_(o.value,r.sort)),x=c(()=>r.fields.length?`annotations`:`brief`);async function S(){if(r.query){f.value=!0,m.value=null,h=0;try{let e=await i(r.query,{limit:Z,offset:0,output:x.value});o.value=e.instances||[],l.value=e.total||0,u.value=e.query_time_ms||0,h=o.value.length,a(`loaded`,{total:l.value})}catch(e){m.value=e.message}finally{f.value=!1}}}async function C(){if(!(p.value||h>=l.value||!r.query)){p.value=!0;try{let e=(await i(r.query,{limit:Z,offset:h,output:x.value})).instances||[];o.value=[...o.value,...e],h+=e.length}catch{}p.value=!1}}return M(()=>[r.query,r.fields.join(`,`)],S,{immediate:!0}),(t,r)=>m.value?(y(),g(z,{key:0,message:m.value},null,8,[`message`])):f.value?(y(),n(`article`,he,[...r[0]||=[d(`i`,{class:`iconoir-refresh spinning`},null,-1),s(` Running query... `,-1)]])):e.query?(y(),n(`article`,ge,[e.compact?P(``,!0):(y(),n(`header`,_e,[r[1]||=d(`h3`,null,`Results`,-1),d(`span`,ve,w(l.value)+` `+w(l.value===1?`item`:`items`)+` in `+w(u.value)+` ms`,1)])),v(R,{instances:b.value,"omit-kind":!e.showKind,fields:e.fields.length?e.fields:null,total:l.value,"loading-more":p.value,embedded:e.compact,onLoadMore:C},null,8,[`instances`,`omit-kind`,`fields`,`total`,`loading-more`,`embedded`])])):P(``,!0)}},[[`__scopeId`,`data-v-8ee7464a`]]),be=[`innerHTML`],xe=[`innerHTML`],Se={key:1},Ce=[`innerHTML`],we={key:1},Te=[`innerHTML`],Ee={key:1},De={key:5,class:`code`},Q=S({__name:`AnalysisSection`,props:{section:Object},setup(e){let t=T(null);V(t);let r={error:`xmark-circle`,warning:`warning-triangle`,info:`info-circle`};return(i,a)=>e.section.type===`heading`?(y(),n(`div`,{key:0,class:k([`analysis-heading`,`level-`+e.section.level])},w(e.section.text),3)):e.section.type===`text`?(y(),n(`div`,{key:1,ref_key:`sectionEl`,ref:t,class:`analysis-text`,innerHTML:e.section.content},null,8,be)):e.section.type===`message`?(y(),n(`div`,{key:2,ref_key:`sectionEl`,ref:t,class:k([`analysis-message`,`message-`+e.section.level])},[d(`i`,{class:k(`iconoir-${r[e.section.level]||`info-circle`}`)},null,2),e.section.message_html==null?(y(),n(`span`,Se,w(e.section.message),1)):(y(),n(`span`,{key:0,innerHTML:e.section.message_html},null,8,xe))],2)):e.section.type===`table`?(y(),n(`div`,{key:3,ref_key:`sectionEl`,ref:t,class:`analysis-table-wrapper`},[d(`table`,null,[d(`thead`,null,[d(`tr`,null,[(y(!0),n(m,null,b(e.section.headers,e=>(y(),n(`th`,{key:e},w(e),1))),128))])]),d(`tbody`,null,[(y(!0),n(m,null,b(e.section.rows,(t,r)=>(y(),n(`tr`,{key:r},[(y(!0),n(m,null,b(t,(t,i)=>(y(),n(m,{key:i},[e.section.rows_html?(y(),n(`td`,{key:0,innerHTML:e.section.rows_html[r][i]},null,8,Ce)):(y(),n(`td`,we,w(t),1))],64))),128))]))),128))])])],512)):e.section.type===`list`?(y(),n(`ul`,{key:4,ref_key:`sectionEl`,ref:t,class:`analysis-list`},[(y(!0),n(m,null,b(e.section.items,(t,r)=>(y(),n(m,{key:r},[e.section.items_html?(y(),n(`li`,{key:0,innerHTML:e.section.items_html[r]},null,8,Te)):(y(),n(`li`,Ee,w(t),1))],64))),128))],512)):e.section.type===`code`?(y(),n(`pre`,De,[d(`code`,{class:k(e.section.lang?`language-`+e.section.lang:``)},w(e.section.content),3)])):P(``,!0)}},[[`__scopeId`,`data-v-1a903fe7`]]),Oe={key:0,class:`analysis-bar`},ke={class:`status-indicator`},Ae={key:0,class:`status-notes`,title:`Reported by the analysis`},je={class:`analysis-bar-end`},Me={key:0,class:`duration`,title:`Run time`},Ne={key:0,class:`analysis-error-details`},Pe={key:0},Fe={class:`code`},Ie={key:1,class:`analysis-output`},Le={key:1,open:``},Re=[`title`],ze={class:`analysis-group-title`},Be={key:2,class:`analysis-results-placeholder`},$=S({__name:`AnalysisResults`,props:{name:String,compact:{type:Boolean,default:!1}},emits:[`state`],setup(e,{emit:t}){let r=e,i=t,a=T(null),o=T(!1),f=T(null);async function p(){o.value=!0;try{a.value=await N(r.name)}catch(e){a.value={success:!1,error:e.message,sections:[]}}finally{o.value=!1}}function h(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 _={error:`xmark-circle`,warning:`warning-triangle`};function v(e){let t=e.sections.filter(e=>e.type===`message`).map(e=>e.level);return[`error`,`warning`].find(e=>t.includes(e))}let x=c(()=>a.value?.sections?.length?h(a.value.sections):[]),S=c(()=>X(a.value)),C=c(()=>x.value.some(e=>e.title)),E=c(()=>x.value.filter(e=>e.title).length>1);return M([a,o],()=>i(`state`,{result:a.value,executing:o.value}),{immediate:!0}),M(a,async()=>{await u(),f.value&&F(f.value)}),l(p),(t,r)=>(y(),n(`article`,{ref_key:`rootEl`,ref:f,class:k([`analysis-execution`,{compact:e.compact}])},[e.compact?P(``,!0):(y(),n(`div`,Oe,[d(`span`,ke,[S.value?(y(),n(m,{key:0},[d(`i`,{class:k(S.value.failed?`iconoir-xmark-circle status-error`:`iconoir-check-circle status-done`)},null,2),s(` `+w(S.value.label)+` `,1),S.value.notes?(y(),n(`span`,Ae,`· `+w(S.value.notes),1)):P(``,!0)],64)):(y(),n(m,{key:1},[r[0]||=d(`i`,{class:`iconoir-refresh spinning`},null,-1),r[1]||=s(` Running...`,-1)],64))]),d(`span`,je,[a.value?.duration?(y(),n(`span`,Me,w(a.value.duration.toFixed(2))+`s`,1)):P(``,!0)])])),a.value?(y(),n(`div`,{key:1,class:k([`analysis-result-container`,a.value.success?`success`:`failed`])},[a.value.success?P(``,!0):(y(),n(`div`,Ne,[r[3]||=d(`strong`,null,`Error:`,-1),s(` `+w(a.value.error)+` `,1),a.value.error_backtrace?.length?(y(),n(`details`,Pe,[r[2]||=d(`summary`,null,`Show backtrace`,-1),d(`pre`,Fe,w(a.value.error_backtrace.join(`
|
|
3
|
+
`)),1)])):P(``,!0)])),a.value.sections?.length?(y(),n(`div`,Ie,[C.value?(y(!0),n(m,{key:1},b(x.value,(e,t)=>(y(),n(m,{key:t},[e.title?E.value?(y(),n(`details`,Le,[d(`summary`,null,[s(w(e.title)+` `,1),v(e)?(y(),n(`i`,{key:0,class:k([`iconoir-${_[v(e)]}`,`status-${v(e)}`]),title:v(e)},null,10,Re)):P(``,!0)]),(y(!0),n(m,null,b(e.sections,(e,n)=>(y(),g(Q,{key:`g${t}-${n}`,section:e},null,8,[`section`]))),128))])):(y(),n(m,{key:2},[d(`h3`,ze,w(e.title),1),(y(!0),n(m,null,b(e.sections,(e,n)=>(y(),g(Q,{key:`g${t}-${n}`,section:e},null,8,[`section`]))),128))],64)):(y(!0),n(m,{key:0},b(e.sections,(e,t)=>(y(),g(Q,{key:`u${t}`,section:e},null,8,[`section`]))),128))],64))),128)):(y(!0),n(m,{key:0},b(x.value[0]?.sections,(e,t)=>(y(),g(Q,{key:t,section:e},null,8,[`section`]))),128))])):P(``,!0)],2)):o.value&&e.compact?(y(),n(`div`,Be,` Running analysis... `)):P(``,!0)],2))}},[[`__scopeId`,`data-v-21d7d6d8`]]),Ve={class:`requirements-table`},He={key:0},Ue={class:`requirement-status`},We=[`title`],Ge={key:1,class:`view-empty-value`},Ke={class:`requirement-story`},qe=[`innerHTML`],Je={key:1,class:`view-empty-value`},Ye={key:0,class:`requirement-by`},Xe=[`title`],Ze=S({__name:`RequirementsTable`,props:{items:{type:Array,default:()=>[]},priorityLink:{type:Function,required:!0},showBy:{type:Boolean,default:!1}},setup(e){function r(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,a)=>{let o=t(`router-link`);return y(),n(`table`,Ve,[d(`thead`,null,[d(`tr`,null,[a[0]||=d(`th`,null,null,-1),a[1]||=d(`th`,null,`Name`,-1),a[2]||=d(`th`,null,`Priority`,-1),a[3]||=d(`th`,null,`Story`,-1),e.showBy?(y(),n(`th`,He,`Realized by`)):P(``,!0)])]),d(`tbody`,null,[(y(!0),n(m,null,b(e.items,t=>(y(),n(`tr`,{key:t.name},[d(`td`,Ue,[d(`i`,{class:k([[r(t.status),`status-${t.status}`],`requirement-status-icon`]),title:t.status},null,10,We)]),d(`td`,null,[v(o,{to:{name:`instance`,params:{kind:`MotivationRequirement`,instance:t.name}}},{default:O(()=>[s(w(t.name),1)]),_:2},1032,[`to`])]),d(`td`,null,[t.priority?(y(),g(o,{key:0,class:`badge badge-info`,to:e.priorityLink(t.priority)},{default:O(()=>[s(w(t.priority),1)]),_:2},1032,[`to`])):(y(),n(`span`,Ge,`-`))]),d(`td`,Ke,[t.story?(y(),n(`div`,{key:0,innerHTML:t.story},null,8,qe)):(y(),n(`span`,Je,`-`))]),e.showBy?(y(),n(`td`,Ye,[d(`ul`,null,[(y(!0),n(m,null,b(t.by,e=>(y(),n(`li`,{key:`${e.kind}/${e.name}`},[d(`i`,{class:k([[r(e.status),`status-${e.status}`],`requirement-status-icon`]),title:e.status},null,10,Xe),v(o,{to:{name:`instance`,params:{kind:e.kind,instance:e.name}}},{default:O(()=>[s(w(e.name),1)]),_:2},1032,[`to`])]))),128))])])):P(``,!0)]))),128))])])}}},[[`__scopeId`,`data-v-327154ce`]]),Qe={class:`kind-embed-box`},$e={class:`kind-embed-source`},et={key:0,class:`kind-embed-title`},tt={key:2,class:`kind-embed-kind`},nt={key:3,class:`kind-embed-count`},rt={key:1,class:`kind-embed-status`},it={key:0,class:`kind-embed-error`,role:`alert`},at={key:1,class:`kind-embed-loading`,"aria-busy":`true`},ot={key:1,class:`kind-embed-empty`},st={key:3,class:`kind-embed-loading`,"aria-busy":`true`},ct={key:1,class:`kind-embed-empty`},lt={key:1,class:`kind-embed-empty`},ut=[`innerHTML`],dt={key:1,class:`kind-embed-empty`},ft=S({__name:`EmbeddedKind`,props:{kind:String,name:String,spec:{type:Object,default:null}},setup(e){let r=e,i=T(null),a=T(null),l=T(null),f=T(null),p=T(null),h=T(null);V(h);let v=o(`kinds`,T(null)),b=[`View`,`Analysis`,`Requirements`],S=c(()=>!r.spec&&!b.includes(r.kind));async function C(){p.value=null,a.value=null,f.value=null;try{let e=await _(r.spec);p.value=e.requirements,a.value=e.total}catch(e){f.value=e.message}}async function E(){if(r.kind===`Requirements`)return C();if(!r.spec){i.value=null,a.value=null,l.value=null,f.value=null;try{i.value=await x(r.kind,r.name)}catch(e){f.value=e.message}}}M(()=>[r.kind,r.name,JSON.stringify(r.spec)],E,{immediate:!0});let D=c(()=>i.value?.metadata?.annotations||{}),A=c(()=>r.spec||K(D.value)),j=c(()=>{let e=l.value?.result,t=X(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}}),N=c(()=>!!D.value[`analysis/script`]),F=c(()=>D.value[`architecture/description`]);M(F,async()=>{await u(),h.value&&(W(h.value),G(h.value))});let I=c(()=>v.value?.kinds?.find(e=>e.kind===r.kind)),L=c(()=>S.value?I.value?`iconoir-${I.value.icon}`:`iconoir-page`:{View:`iconoir-table-rows`,Requirements:`iconoir-list`}[r.kind]||`iconoir-play`),R=c(()=>r.name||(r.kind===`Requirements`?`Requirements`:`View`)),z=c(()=>new Set((p.value||[]).flatMap(e=>e.by.map(e=>`${e.kind}/${e.name}`))).size>1),B=e=>`/search?q=${encodeURIComponent(`MotivationRequirement: requirement/priority == "${e}"`)}`;return(r,o)=>{let c=t(`router-link`);return y(),n(`div`,Qe,[d(`p`,$e,[d(`i`,{class:k(L.value)},null,2),e.spec?(y(),n(`span`,et,w(R.value),1)):(y(),g(c,{key:1,to:{name:`instance`,params:{kind:e.kind,instance:e.name}},title:`Open ${e.kind.toLowerCase()} ${e.name}`},{default:O(()=>[s(w(e.name),1)]),_:1},8,[`to`,`title`])),S.value?(y(),n(`span`,tt,w(e.kind),1)):P(``,!0),a.value==null?P(``,!0):(y(),n(`span`,nt,`(`+w(a.value)+` `+w(a.value===1?`item`:`items`)+`)`,1)),l.value?(y(),n(m,{key:4},[j.value?(y(),n(`span`,{key:0,class:k([`kind-embed-status`,{failed:j.value.failed}])},`(`+w(j.value.label)+`)`,3)):l.value.executing?(y(),n(`span`,rt,`(Running...)`)):P(``,!0)],64)):P(``,!0)]),f.value?(y(),n(`div`,it,w(f.value),1)):e.kind===`Requirements`&&!p.value?(y(),n(`p`,at,[...o[2]||=[d(`i`,{class:`iconoir-refresh spinning`},null,-1),s(` Loading requirements... `,-1)]])):e.kind===`Requirements`?(y(),n(m,{key:2},[p.value.length?(y(),g(Ze,{key:0,items:p.value,"priority-link":B,"show-by":z.value},null,8,[`items`,`show-by`])):(y(),n(`p`,ot,`No requirements`))],64)):!i.value&&!e.spec?(y(),n(`p`,st,[o[3]||=d(`i`,{class:`iconoir-refresh spinning`},null,-1),s(` Loading `+w(e.kind.toLowerCase())+`... `,1)])):e.kind===`View`?(y(),n(m,{key:4},[A.value.query?(y(),g(ye,{key:0,query:A.value.query,fields:A.value.fields,sort:A.value.sort,"show-kind":A.value.showKind,compact:``,onLoaded:o[0]||=e=>a.value=e.total},null,8,[`query`,`fields`,`sort`,`show-kind`])):(y(),n(`p`,ct,`No query defined`))],64)):e.kind===`Analysis`?(y(),n(m,{key:5},[N.value?(y(),g($,{key:0,name:e.name,compact:``,onState:o[1]||=e=>l.value=e},null,8,[`name`])):(y(),n(`p`,lt,`No script defined for this analysis`))],64)):(y(),n(m,{key:6},[F.value?(y(),n(`div`,{key:0,ref_key:`descriptionEl`,ref:h,class:`kind-embed-description prose`,innerHTML:F.value},null,8,ut)):(y(),n(`p`,dt,`No description`))],64))])}}},[[`__scopeId`,`data-v-3ba9331a`]]),pt=[`disabled`,`title`],mt=S({__name:`PdfButton`,props:{kind:{type:String,default:null},name:String,compact:Boolean},setup(e){let t=e,i=T(!1),a=T(``);function o(e){let n=/filename="([^"]+)"/.exec(e.headers.get(`Content-Disposition`)||``);return n?n[1]:`${t.name}.pdf`}async function c(){i.value=!0,a.value=``;try{let e=await fetch(r(t.kind,t.name));if(!e.ok){let t=await e.json().catch(()=>({message:e.statusText}));throw Error(t.message||e.statusText)}let n=URL.createObjectURL(await e.blob()),i=Object.assign(document.createElement(`a`),{href:n,download:o(e)});document.body.appendChild(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4)}catch(e){a.value=e.message}finally{i.value=!1}}return(t,r)=>(y(),n(`button`,{type:`button`,class:k([`btn-pdf`,{compact:e.compact,failed:a.value}]),disabled:i.value,title:i.value?`Creating the PDF…`:a.value?`PDF failed: ${a.value}`:`Download as PDF`,"aria-label":`Download as PDF`,onClick:c},[d(`i`,{class:k(i.value?`iconoir-refresh spin`:a.value?`iconoir-warning-triangle`:`iconoir-page`)},null,2),e.compact?P(``,!0):(y(),n(m,{key:0},[s(w(i.value?`Creating PDF…`:`PDF`),1)],64))],10,pt))}},[[`__scopeId`,`data-v-12a95386`]]),ht={class:`page-head`},gt={key:2,class:`breadcrumb`},_t={key:1},vt={key:0,class:`page-toc`,"aria-label":`On this page`},yt=[`href`,`aria-current`,`onClick`],bt=[`innerHTML`],xt={key:1,class:`page-foot`},St={__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 r=e,i=p(),o=E(),_=T(null),x=T(null),S=c(()=>Math.min(...r.toc.map(e=>e.level)||[1]));V(_);let{embeds:N,scanEmbeds:I}=J();async function L(){await u(),_.value&&(F(_.value),W(_.value),G(_.value)),I(_.value),D(i.hash)?.scrollIntoView(),z()}let R=null;function z(){R=null;let e=r.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]),x.value=t}function B(){R===null&&(R=requestAnimationFrame(z))}l(()=>window.addEventListener(`scroll`,B,{passive:!0,capture:!0})),A(()=>{window.removeEventListener(`scroll`,B,{capture:!0}),R!==null&&cancelAnimationFrame(R)}),M(()=>r.html,L,{immediate:!0,flush:`post`});function H(e){let t=`#${e}`;i.hash===t?D(t)?.scrollIntoView({behavior:`smooth`}):o.push({query:i.query,hash:t}),x.value=e}return(r,i)=>{let o=t(`router-link`);return y(),n(`article`,{class:k([`wiki-page`,{"has-toc":e.toc.length}])},[d(`div`,ht,[h(r.$slots,`actions`),e.editName&&!r.$slots.actions?(y(),g(mt,{key:0,class:`page-pdf`,name:e.editName,compact:``},null,8,[`name`])):P(``,!0),e.editName&&!r.$slots.actions?(y(),g(o,{key:1,class:`page-edit`,to:`/kinds/Page/instances/${encodeURIComponent(e.editName)}/edit`,title:`Edit page`,"aria-label":`Edit page`},{default:O(()=>[...i[0]||=[d(`i`,{class:`iconoir-edit-pencil`},null,-1)]]),_:1},8,[`to`])):P(``,!0),e.breadcrumb.length?(y(),n(`div`,gt,[(y(!0),n(m,null,b(e.breadcrumb,(e,t)=>(y(),n(m,{key:t},[e.page?(y(),g(o,{key:0,to:{name:`page`,params:{name:e.page}}},{default:O(()=>[s(w(e.title),1)]),_:2},1032,[`to`])):(y(),n(`span`,_t,w(e.title),1))],64))),128))])):P(``,!0),d(`h1`,null,w(e.title),1),h(r.$slots,`properties`)]),e.toc.length?(y(),n(`aside`,vt,[i[1]||=d(`span`,{class:`toc-title`},`On this page`,-1),d(`ul`,null,[(y(!0),n(m,null,b(e.toc,e=>(y(),n(`li`,{key:e.id},[d(`a`,{href:`#${e.id}`,style:j({paddingLeft:`${12+(e.level-S.value)*12}px`}),"aria-current":x.value===e.id?`location`:void 0,onClick:f(t=>H(e.id),[`prevent`])},w(e.text),13,yt)]))),128))])])):P(``,!0),d(`div`,{ref_key:`bodyEl`,ref:_,class:`page-body prose`,innerHTML:e.html},null,8,bt),(y(!0),n(m,null,b(C(N),e=>(y(),g(a,{key:e.key,to:e.el},[v(ft,{kind:e.kind,name:e.name,spec:e.spec},null,8,[`kind`,`name`,`spec`])],8,[`to`]))),128)),e.backlinks.length?(y(),n(`div`,xt,[i[2]||=d(`strong`,null,`Linked from`,-1),d(`ul`,null,[(y(!0),n(m,null,b(e.backlinks,e=>(y(),n(`li`,{key:e.name},[v(o,{to:{name:`page`,params:{name:e.name}}},{default:O(()=>[s(w(e.title),1)]),_:2},1032,[`to`])]))),128))])])):P(``,!0)],2)}}};export{$ as a,K as c,V as d,Ze as i,G as l,mt as n,ye as o,ft as r,J as s,St as t,W as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.view-result-meta[data-v-8ee7464a]{font-size:var(--fs-sm);color:var(--pico-muted-color);margin-left:1rem}.view-loading[data-v-8ee7464a]{color:var(--pico-muted-color);align-items:center;gap:.5rem;display:flex}@keyframes spin-8ee7464a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-8ee7464a]{animation:1s linear infinite spin-8ee7464a}.analysis-heading[data-v-1a903fe7]{margin:1rem 0 .4rem;font-weight:600}.analysis-heading.level-0[data-v-1a903fe7]{font-size:var(--fs-md);border-bottom:1px solid var(--line);padding-bottom:.25rem}.analysis-heading.level-1[data-v-1a903fe7]{font-size:var(--fs-md)}.analysis-heading.level-2[data-v-1a903fe7]{font-size:1em}.analysis-text[data-v-1a903fe7]{margin:.5rem 0}[data-v-1a903fe7] .analysis-text p{margin:0}.analysis-message[data-v-1a903fe7]{--msg:#3b82f6;border-left:3px solid var(--msg);align-items:flex-start;gap:.5rem;margin:.5rem 0;padding:.15rem 0 .15rem .7rem;display:flex}.analysis-message i[data-v-1a903fe7]{color:var(--msg);margin-top:.15rem}.analysis-message.message-warning[data-v-1a903fe7]{--msg:#f59e0b}.analysis-message.message-error[data-v-1a903fe7]{--msg:#ef4444}.analysis-table-wrapper[data-v-1a903fe7]{margin:.5rem 0 .75rem;overflow-x:auto}.analysis-table-wrapper table[data-v-1a903fe7]{font-size:var(--fs-sm);margin:0}.analysis-execution:not(.compact) .analysis-table-wrapper th[data-v-1a903fe7],.analysis-execution:not(.compact) .analysis-table-wrapper td[data-v-1a903fe7]{padding:.35rem .75rem}.analysis-execution:not(.compact) .analysis-table-wrapper th[data-v-1a903fe7]:first-child,.analysis-execution:not(.compact) .analysis-table-wrapper td[data-v-1a903fe7]:first-child{padding-left:0}pre.code[data-v-1a903fe7]{margin:.5rem 0 .75rem}.analysis-list[data-v-1a903fe7]{columns:18rem;margin:.5rem 0;padding-left:1.5rem}.analysis-list li[data-v-1a903fe7]{break-inside:avoid;margin:0;padding:.125rem 0}.analysis-bar[data-v-21d7d6d8]{border-bottom:1px solid var(--line);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding:0 0 .5rem;display:flex}.status-indicator[data-v-21d7d6d8]{align-items:center;gap:.4rem;font-weight:600;display:flex}.status-done[data-v-21d7d6d8]{color:var(--pico-muted-color)}.status-warning[data-v-21d7d6d8]{color:#f59e0b}.status-error[data-v-21d7d6d8]{color:#ef4444}.status-notes[data-v-21d7d6d8]{color:var(--pico-muted-color);font-weight:400}.analysis-bar-end[data-v-21d7d6d8]{color:var(--pico-muted-color);align-items:center;gap:.75rem;display:flex}@keyframes spin-21d7d6d8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-21d7d6d8]{animation:1s linear infinite spin-21d7d6d8}.analysis-results-placeholder[data-v-21d7d6d8]{color:var(--pico-muted-color);align-items:center;gap:.5rem;margin:0;font-style:italic;display:flex}.analysis-error-details[data-v-21d7d6d8]{color:#ef4444;background-color:#ef44441a;border:1px solid #ef44444d;border-radius:4px;margin-bottom:1rem;padding:.6rem .8rem}.analysis-error-details details[data-v-21d7d6d8]{margin-top:.5rem}.analysis-error-details summary[data-v-21d7d6d8]{cursor:pointer;color:var(--pico-muted-color);font-size:var(--fs-sm)}.analysis-error-details pre[data-v-21d7d6d8]{font-size:var(--fs-xs);max-height:200px;margin-top:.5rem;overflow:auto}.analysis-group-title[data-v-21d7d6d8]{font-size:var(--fs-md);margin:0 0 .5rem}.analysis-output details[data-v-21d7d6d8]{border-bottom:1px solid var(--line);margin:0}.analysis-output details[open]>summary[data-v-21d7d6d8]:not([role]),.analysis-output details>summary[data-v-21d7d6d8]:not([role]){color:var(--pico-contrast);background:0 0;align-items:center;gap:.5rem;margin:0;padding:.5rem 0;font-weight:600;display:flex}.analysis-output details>summary[data-v-21d7d6d8]:after{display:none}.analysis-output details>summary[data-v-21d7d6d8]:before{content:"▶";font-size:var(--fs-2xs);color:var(--pico-muted-color);transition:transform .2s}.analysis-output details[open]>summary[data-v-21d7d6d8]:before{transform:rotate(90deg)}.analysis-output details[open][data-v-21d7d6d8]{padding-bottom:.25rem}.compact .analysis-results-placeholder[data-v-21d7d6d8]{font-size:var(--fs-xs)}.requirement-status-icon[data-v-327154ce]{font-size:var(--fs-md)}.requirement-status-icon.status-implemented[data-v-327154ce]{color:#10b981}.requirement-status-icon.status-partial[data-v-327154ce]{color:#f59e0b}.requirement-status-icon.status-planned[data-v-327154ce]{color:#3b82f6}.requirement-status-icon.status-not-started[data-v-327154ce],.requirement-status-icon.status-unknown[data-v-327154ce]{color:#9ca3af}.requirement-by ul[data-v-327154ce]{margin:0;padding:0;list-style:none}.kind-embed-source[data-v-3ba9331a]{font-size:var(--fs-xs);color:var(--pico-muted-color);align-items:center;gap:.35rem;margin:0 0 .25rem;display:flex}.kind-embed-source a[data-v-3ba9331a]{color:inherit;text-decoration:none}.kind-embed-source a[data-v-3ba9331a]:hover{color:var(--pico-primary);text-decoration:underline}.kind-embed-kind[data-v-3ba9331a]{opacity:.7}.kind-embed-description[data-v-3ba9331a] :is(h1,h2,h3){font-size:var(--fs-md);margin:.75rem 0 .35rem}.kind-embed-description[data-v-3ba9331a] :is(h4,h5,h6){margin:.6rem 0 .25rem;font-size:1em}.kind-embed-description[data-v-3ba9331a]>:first-child{margin-top:0}.kind-embed-description[data-v-3ba9331a]>:last-child{margin-bottom:0}.kind-embed-status.failed[data-v-3ba9331a]{color:#ef4444}.kind-embed-loading[data-v-3ba9331a],.kind-embed-empty[data-v-3ba9331a]{color:var(--pico-muted-color);align-items:center;gap:.5rem;margin:0;font-style:italic;display:flex}.kind-embed-error[data-v-3ba9331a]{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:4px;padding:.5rem .75rem}@keyframes spin-3ba9331a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-3ba9331a]{animation:1s linear infinite spin-3ba9331a}@media (prefers-color-scheme:dark){.kind-embed-error[data-v-3ba9331a]{color:#fecaca;background:#450a0a;border-color:#7f1d1d}}
|
|
1
|
+
.view-result-meta[data-v-8ee7464a]{font-size:var(--fs-sm);color:var(--pico-muted-color);margin-left:1rem}.view-loading[data-v-8ee7464a]{color:var(--pico-muted-color);align-items:center;gap:.5rem;display:flex}@keyframes spin-8ee7464a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-8ee7464a]{animation:1s linear infinite spin-8ee7464a}.analysis-heading[data-v-1a903fe7]{margin:1rem 0 .4rem;font-weight:600}.analysis-heading.level-0[data-v-1a903fe7]{font-size:var(--fs-md);border-bottom:1px solid var(--line);padding-bottom:.25rem}.analysis-heading.level-1[data-v-1a903fe7]{font-size:var(--fs-md)}.analysis-heading.level-2[data-v-1a903fe7]{font-size:1em}.analysis-text[data-v-1a903fe7]{margin:.5rem 0}[data-v-1a903fe7] .analysis-text p{margin:0}.analysis-message[data-v-1a903fe7]{--msg:#3b82f6;border-left:3px solid var(--msg);align-items:flex-start;gap:.5rem;margin:.5rem 0;padding:.15rem 0 .15rem .7rem;display:flex}.analysis-message i[data-v-1a903fe7]{color:var(--msg);margin-top:.15rem}.analysis-message.message-warning[data-v-1a903fe7]{--msg:#f59e0b}.analysis-message.message-error[data-v-1a903fe7]{--msg:#ef4444}.analysis-table-wrapper[data-v-1a903fe7]{margin:.5rem 0 .75rem;overflow-x:auto}.analysis-table-wrapper table[data-v-1a903fe7]{font-size:var(--fs-sm);margin:0}.analysis-execution:not(.compact) .analysis-table-wrapper th[data-v-1a903fe7],.analysis-execution:not(.compact) .analysis-table-wrapper td[data-v-1a903fe7]{padding:.35rem .75rem}.analysis-execution:not(.compact) .analysis-table-wrapper th[data-v-1a903fe7]:first-child,.analysis-execution:not(.compact) .analysis-table-wrapper td[data-v-1a903fe7]:first-child{padding-left:0}pre.code[data-v-1a903fe7]{margin:.5rem 0 .75rem}.analysis-list[data-v-1a903fe7]{columns:18rem;margin:.5rem 0;padding-left:1.5rem}.analysis-list li[data-v-1a903fe7]{break-inside:avoid;margin:0;padding:.125rem 0}.analysis-bar[data-v-21d7d6d8]{border-bottom:1px solid var(--line);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding:0 0 .5rem;display:flex}.status-indicator[data-v-21d7d6d8]{align-items:center;gap:.4rem;font-weight:600;display:flex}.status-done[data-v-21d7d6d8]{color:var(--pico-muted-color)}.status-warning[data-v-21d7d6d8]{color:#f59e0b}.status-error[data-v-21d7d6d8]{color:#ef4444}.status-notes[data-v-21d7d6d8]{color:var(--pico-muted-color);font-weight:400}.analysis-bar-end[data-v-21d7d6d8]{color:var(--pico-muted-color);align-items:center;gap:.75rem;display:flex}@keyframes spin-21d7d6d8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-21d7d6d8]{animation:1s linear infinite spin-21d7d6d8}.analysis-results-placeholder[data-v-21d7d6d8]{color:var(--pico-muted-color);align-items:center;gap:.5rem;margin:0;font-style:italic;display:flex}.analysis-error-details[data-v-21d7d6d8]{color:#ef4444;background-color:#ef44441a;border:1px solid #ef44444d;border-radius:4px;margin-bottom:1rem;padding:.6rem .8rem}.analysis-error-details details[data-v-21d7d6d8]{margin-top:.5rem}.analysis-error-details summary[data-v-21d7d6d8]{cursor:pointer;color:var(--pico-muted-color);font-size:var(--fs-sm)}.analysis-error-details pre[data-v-21d7d6d8]{font-size:var(--fs-xs);max-height:200px;margin-top:.5rem;overflow:auto}.analysis-group-title[data-v-21d7d6d8]{font-size:var(--fs-md);margin:0 0 .5rem}.analysis-output details[data-v-21d7d6d8]{border-bottom:1px solid var(--line);margin:0}.analysis-output details[open]>summary[data-v-21d7d6d8]:not([role]),.analysis-output details>summary[data-v-21d7d6d8]:not([role]){color:var(--pico-contrast);background:0 0;align-items:center;gap:.5rem;margin:0;padding:.5rem 0;font-weight:600;display:flex}.analysis-output details>summary[data-v-21d7d6d8]:after{display:none}.analysis-output details>summary[data-v-21d7d6d8]:before{content:"▶";font-size:var(--fs-2xs);color:var(--pico-muted-color);transition:transform .2s}.analysis-output details[open]>summary[data-v-21d7d6d8]:before{transform:rotate(90deg)}.analysis-output details[open][data-v-21d7d6d8]{padding-bottom:.25rem}.compact .analysis-results-placeholder[data-v-21d7d6d8]{font-size:var(--fs-xs)}.requirement-status-icon[data-v-327154ce]{font-size:var(--fs-md)}.requirement-status-icon.status-implemented[data-v-327154ce]{color:#10b981}.requirement-status-icon.status-partial[data-v-327154ce]{color:#f59e0b}.requirement-status-icon.status-planned[data-v-327154ce]{color:#3b82f6}.requirement-status-icon.status-not-started[data-v-327154ce],.requirement-status-icon.status-unknown[data-v-327154ce]{color:#9ca3af}.requirement-by ul[data-v-327154ce]{margin:0;padding:0;list-style:none}.kind-embed-source[data-v-3ba9331a]{font-size:var(--fs-xs);color:var(--pico-muted-color);align-items:center;gap:.35rem;margin:0 0 .25rem;display:flex}.kind-embed-source a[data-v-3ba9331a]{color:inherit;text-decoration:none}.kind-embed-source a[data-v-3ba9331a]:hover{color:var(--pico-primary);text-decoration:underline}.kind-embed-kind[data-v-3ba9331a]{opacity:.7}.kind-embed-description[data-v-3ba9331a] :is(h1,h2,h3){font-size:var(--fs-md);margin:.75rem 0 .35rem}.kind-embed-description[data-v-3ba9331a] :is(h4,h5,h6){margin:.6rem 0 .25rem;font-size:1em}.kind-embed-description[data-v-3ba9331a]>:first-child{margin-top:0}.kind-embed-description[data-v-3ba9331a]>:last-child{margin-bottom:0}.kind-embed-status.failed[data-v-3ba9331a]{color:#ef4444}.kind-embed-loading[data-v-3ba9331a],.kind-embed-empty[data-v-3ba9331a]{color:var(--pico-muted-color);align-items:center;gap:.5rem;margin:0;font-style:italic;display:flex}.kind-embed-error[data-v-3ba9331a]{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:4px;padding:.5rem .75rem}@keyframes spin-3ba9331a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-3ba9331a]{animation:1s linear infinite spin-3ba9331a}@media (prefers-color-scheme:dark){.kind-embed-error[data-v-3ba9331a]{color:#fecaca;background:#450a0a;border-color:#7f1d1d}}.btn-pdf[data-v-12a95386]{width:auto;font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:.4rem .75rem;transition:all .15s;display:inline-flex}.btn-pdf.compact[data-v-12a95386]{width:2rem;height:2rem;padding:0}.btn-pdf[data-v-12a95386]:hover:not(:disabled),.btn-pdf[data-v-12a95386]:focus-visible{color:var(--pico-primary);border-color:var(--pico-primary)}.btn-pdf.failed[data-v-12a95386]{color:var(--pico-del-color)}.btn-pdf[data-v-12a95386]:disabled{opacity:1;cursor:progress}.spin[data-v-12a95386]{animation:.9s linear infinite pdf-spin-12a95386}@keyframes pdf-spin-12a95386{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin[data-v-12a95386]{animation:none}}
|