fuli-context 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -24
- package/dist/web/assets/ConnectionsPage-CCKWm-6p.js +1 -0
- package/dist/web/assets/KnowledgeInspector-BZkB2wJn.js +1 -0
- package/dist/web/assets/KnowledgeInspector-CrGYxEob.css +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-CJCNI2Wd.css +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-PXH-TlGt.js +1 -0
- package/dist/web/assets/KnowledgePage-CNQXd15y.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-CXPE4GCD.js +4 -0
- package/dist/web/assets/OverviewPage-ul7g7HXh.js +1 -0
- package/dist/web/assets/PersonalProfilePage-CC40Pw2L.js +1 -0
- package/dist/web/assets/PersonalProfilePage-S8ZcG2LU.css +1 -0
- package/dist/web/assets/PersonalProjectsPage-CPIEcShD.js +1 -0
- package/dist/web/assets/PublicProjectsPage-C700sR7z.js +1 -0
- package/dist/web/assets/ReviewPage-7MDDUDgA.js +1 -0
- package/dist/web/assets/console-B_Ena2DS.js +5 -0
- package/dist/web/assets/identity-CjBwYSMX.js +1 -0
- package/dist/web/assets/index-BQRkOwPx.js +2 -0
- package/dist/web/assets/{index-Devf7glZ.css → index-CpLDx3of.css} +1 -1
- package/dist/web/assets/model-C-5RVIJ2.js +1 -0
- package/dist/web/assets/{paths-B790iniO.js → paths-BkULqmGI.js} +1 -1
- package/dist/web/assets/{vue-router-BYTAoWT3.js → vue-router-DnD3hUm7.js} +1 -1
- package/dist/web/index.html +5 -6
- package/graph-provider/fuli_graph/app.py +48 -0
- package/graph-provider/fuli_graph/common_knowledge.py +443 -0
- package/graph-provider/fuli_graph/common_knowledge_models.py +54 -0
- package/graph-provider/fuli_graph/graph_models.py +9 -0
- package/graph-provider/fuli_graph/graph_query.py +25 -0
- package/graph-provider/fuli_graph/knowledge_audit.py +211 -0
- package/graph-provider/fuli_graph/knowledge_feedback_models.py +69 -0
- package/graph-provider/fuli_graph/knowledge_management.py +37 -0
- package/graph-provider/fuli_graph/knowledge_search.py +24 -2
- package/graph-provider/fuli_graph/models.py +69 -0
- package/graph-provider/fuli_graph/search_projection.py +59 -0
- package/graph-provider/fuli_graph/store_knowledge.py +2 -0
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +97 -2
- package/package.json +2 -1
- package/skills/capturing-session-knowledge/SKILL.md +83 -13
- package/src/agent-tools/graph-definitions.js +181 -13
- package/src/agent-tools/graph-handlers.js +19 -0
- package/src/cli/command-registry.js +1 -56
- package/src/cli.js +2 -37
- package/src/graphiti/agent-knowledge-workflows.js +543 -0
- package/src/graphiti/federated-application.js +85 -104
- package/src/graphiti/knowledge-provider-mapping.js +91 -0
- package/src/graphiti/provider-client.js +15 -0
- package/src/graphiti/source-uri.js +29 -0
- package/src/mcp/common-knowledge-preview-tokens.js +67 -0
- package/src/mcp/create-mcp-server.js +43 -7
- package/src/mcp/instructions.js +6 -7
- package/src/mcp/lifecycle-audit.js +27 -0
- package/src/mcp/task-context-registry.js +93 -0
- package/src/mcp/tool-annotations.js +16 -1
- package/src/mcp/tool-result.js +24 -0
- package/src/runtime-options.js +7 -8
- package/src/setup/agent-installation-status.js +14 -2
- package/src/setup/agents.js +12 -1
- package/src/setup/claude-code-config.js +194 -0
- package/src/setup/config-backup.js +20 -5
- package/dist/web/assets/ConnectionsPage-CY6H_mJJ.js +0 -1
- package/dist/web/assets/KnowledgeInspector-BSpz5Sfm.js +0 -1
- package/dist/web/assets/KnowledgeInspector-CHbB_0rC.css +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-BlEvhPrv.css +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-CvjGPlUc.js +0 -1
- package/dist/web/assets/KnowledgePage-Khuo3cNs.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-DVZusvem.js +0 -4
- package/dist/web/assets/OverviewPage-DC4C4Fhn.js +0 -1
- package/dist/web/assets/PersonalProfilePage-CSV9Mtgz.js +0 -1
- package/dist/web/assets/PersonalProfilePage-CVJ3TcRi.css +0 -1
- package/dist/web/assets/PersonalProjectsPage-A50EaseQ.js +0 -1
- package/dist/web/assets/PublicProjectsPage-BAdO_bae.js +0 -1
- package/dist/web/assets/ReviewPage-Dztk2jDG.js +0 -1
- package/dist/web/assets/console-tbvTUi6p.js +0 -1
- package/dist/web/assets/identity-B3s5CXhv.js +0 -1
- package/dist/web/assets/index-DwUDhQKc.js +0 -6
- package/dist/web/assets/model-DVT8sjy9.js +0 -1
- package/dist/web/assets/runtime-dom.esm-bundler-DttsK21F.js +0 -1
- package/src/cli/commands/candidates.js +0 -17
- package/src/cli/commands/ingestion.js +0 -32
- package/src/cli/commands/reads.js +0 -50
- package/src/cli/commands/spaces.js +0 -20
- package/src/cli/invocation.js +0 -47
- package/src/cli/migrate-command.js +0 -71
- package/src/cli/migration-destination.js +0 -117
- package/src/storage/import-json.js +0 -70
- package/src/storage/legacy-record-validation.js +0 -152
- package/src/storage/legacy-snapshot-validation.js +0 -32
package/README.md
CHANGED
|
@@ -144,30 +144,6 @@ fuli setup --yes
|
|
|
144
144
|
如果自动更新在 npm 安装或新版 setup 阶段失败,知识数据仍会保留。检查命令输出后可用
|
|
145
145
|
上面两条命令恢复;使用过自定义 setup 选项时也要一并带上。
|
|
146
146
|
|
|
147
|
-
## 兼容的本地知识命令
|
|
148
|
-
|
|
149
|
-
以下命令面向旧版 SQLite 工作流和开发调试。`--db`、`--personal-space` 是全局选项,
|
|
150
|
-
必须写在子命令之前:
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
fuli --db ./context.db --personal-space 我 search 我 "关键词"
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
| 命令 | 用途 |
|
|
157
|
-
| --- | --- |
|
|
158
|
-
| `space create NAME --kind personal\|public` | 创建个人或公共空间 |
|
|
159
|
-
| `subscribe PERSONAL_SPACE PUBLIC_SPACE` | 订阅公共空间 |
|
|
160
|
-
| `remember PERSONAL_SPACE --target SPACE --source-kind KIND --text TEXT` | 写入一段待归纳内容 |
|
|
161
|
-
| `observe PERSONAL_SPACE --target SPACE` | 观察当前 Git 改动 |
|
|
162
|
-
| `search PERSONAL_SPACE QUERY` | 搜索当前事实 |
|
|
163
|
-
| `timeline SPACE SUBJECT` | 查看主题时间线 |
|
|
164
|
-
| `rules SPACE` | 查看空间规则 |
|
|
165
|
-
| `history SPACE PREDICATE` | 查看某个事实的修订历史 |
|
|
166
|
-
| `context PERSONAL_SPACE SPACE QUERY` | 输出紧凑的 Agent 上下文包 |
|
|
167
|
-
| `candidates PERSONAL_SPACE` | 列出待处理候选知识 |
|
|
168
|
-
| `candidate ID sync\|personal_only\|ignore` | 处理候选知识 |
|
|
169
|
-
| `migrate --from LEGACY_JSON --to SQLITE_DB` | 将旧 JSON 数据迁移到 SQLite |
|
|
170
|
-
|
|
171
147
|
## 卸载
|
|
172
148
|
|
|
173
149
|
先清理 Agent 接入,再移除全局 npm 包:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,D as t,E as n,F as r,J as i,K as a,N as o,U as s,a as c,b as l,d as u,n as d,t as f,v as p,w as m,x as h,y as g}from"./console-B_Ena2DS.js";import{i as _,r as v,t as y}from"./identity-CjBwYSMX.js";var b={class:`view connections-view`},x={class:`connection-intro`},S=[`aria-label`],C=[`data-status`],w={class:`service-state`},T=[`data-status`],E={class:`service-state`},D={key:0,class:`connection-subscriptions`},O={class:`section-title`},k={class:`subscription-list`},A=[`onClick`],j={key:0,class:`empty-state`},M={type:`submit`},N=t({__name:`ConnectionsPage`,setup(t){let N=f(),P=s(``),F=l(()=>N.state?.providers?.personal?.status===`ready`),I=l(()=>N.state?.providers?.workspaces??[]),L=l(()=>I.value.filter(({status:e})=>e===`ready`).length),R=l(()=>N.state?.subscriptions??[]),z=l(()=>new Set(R.value.map(({provider_url:e,project_id:t})=>`${e}::${t}`))),B=l(()=>(N.state?.projects??[]).filter(e=>!z.value.has(H(e)))),V=l(()=>B.value.map(e=>({value:H(e),label:e.name,meta:`#${y(e.id,26)}`,search:v(e.id)})));function H(e){return`${e.providerUrl}::${e.id}`}async function U(){let e=B.value.find(e=>H(e)===P.value);if(e)try{await c(`/api/subscriptions`,{personalSpaceId:N.activePersonalSpace?.id,projectId:e.id,providerUrl:e.providerUrl,projectName:e.name}),P.value=``,N.notify(u(`pages.connections.subscribed`,{name:e.name})),await N.refresh()}catch(e){N.reportError(e)}}async function W(e){try{let t=new URLSearchParams({personalSpaceId:N.activePersonalSpace?.id??``,providerUrl:e.provider_url});await d(`/api/subscriptions/${encodeURIComponent(e.project_id)}?${t}`),N.notify(u(`pages.connections.unsubscribed`,{name:e.project_name??e.project_id})),await N.refresh()}catch(e){N.reportError(e)}}return(t,s)=>(o(),m(`section`,b,[h(`div`,x,[h(`h3`,null,i(a(u)(`pages.connections.title`)),1),h(`p`,null,i(a(u)(`pages.connections.intro`)),1)]),h(`div`,{class:`service-connection-grid`,"aria-label":a(u)(`pages.connections.statusAria`)},[h(`article`,{class:`service-connection-card`,"data-status":F.value?`ready`:`error`},[h(`header`,null,[s[2]||=h(`span`,{class:`service-connection-icon local`,"aria-hidden":`true`},[h(`span`,{class:`nav-icon nav-icon-personal-project`})],-1),h(`div`,null,[s[1]||=h(`p`,null,`LOCAL KNOWLEDGE`,-1),h(`h3`,null,i(a(u)(`pages.connections.localGraphiti`)),1)]),h(`span`,w,i(F.value?a(u)(`common.status.connected`):a(u)(`common.status.connectionError`)),1)]),h(`p`,null,i(F.value?a(u)(`pages.connections.localReadyCopy`):a(u)(`pages.connections.localErrorCopy`)),1),h(`dl`,null,[h(`div`,null,[h(`dt`,null,i(a(u)(`pages.connections.storage`)),1),s[3]||=h(`dd`,null,`Neo4j`,-1)]),h(`div`,null,[h(`dt`,null,i(a(u)(`pages.connections.purpose`)),1),h(`dd`,null,i(a(u)(`pages.connections.localPurpose`)),1)])])],8,C),h(`article`,{class:`service-connection-card`,"data-status":a(N).publicRuntimeStatus},[h(`header`,null,[s[5]||=h(`span`,{class:`service-connection-icon public`,"aria-hidden":`true`},[h(`span`,{class:`nav-icon nav-icon-public-project`})],-1),h(`div`,null,[s[4]||=h(`p`,null,`PUBLIC PROVIDER`,-1),h(`h3`,null,i(a(u)(`pages.connections.publicService`)),1)]),h(`span`,E,i(a(N).publicRuntimeStatus===`ready`?a(u)(`common.status.connected`):a(N).publicRuntimeStatus===`error`?a(u)(`common.status.connectionError`):a(u)(`common.status.notConnected`)),1)]),h(`p`,null,i(a(N).publicRuntimeStatus===`ready`?a(u)(`pages.connections.publicReadyCopy`):a(N).publicRuntimeStatus===`error`?a(u)(`pages.connections.publicErrorCopy`):a(u)(`pages.connections.publicOfflineCopy`)),1),h(`dl`,null,[h(`div`,null,[h(`dt`,null,i(a(u)(`pages.connections.currentStatus`)),1),h(`dd`,null,i(a(N).publicRuntimeStatus===`ready`?a(u)(`pages.connections.sharedServicesReady`,{count:L.value||I.value.length}):a(u)(`pages.connections.notAvailable`)),1)]),h(`div`,null,[h(`dt`,null,i(a(u)(`pages.connections.purpose`)),1),h(`dd`,null,i(a(u)(`pages.connections.publicPurpose`)),1)])])],8,T)],8,S),a(N).state?.capabilities?.subscribeProject?(o(),m(`section`,D,[h(`div`,O,[h(`h3`,null,i(a(u)(`pages.connections.subscriptionsTitle`)),1),h(`p`,null,i(a(u)(`pages.connections.subscriptionsCopy`)),1)]),h(`div`,k,[(o(!0),m(g,null,r(R.value,e=>(o(),m(`div`,{key:`${e.provider_url}:${e.project_id}`,class:`subscription-row`},[s[6]||=h(`span`,null,`↗`,-1),h(`div`,null,[h(`strong`,null,i(e.project_name??e.project_id),1),h(`span`,null,i(a(u)(`pages.connections.sharedProject`)),1)]),h(`button`,{class:`secondary-action subscription-action`,type:`button`,onClick:t=>W(e)},i(a(u)(`pages.connections.unsubscribe`)),9,A)]))),128)),R.value.length?e(``,!0):(o(),m(`div`,j,i(a(u)(`pages.connections.noSubscriptions`)),1))]),h(`form`,{class:`subscription-form`,onSubmit:p(U,[`prevent`])},[n(_,{modelValue:P.value,"onUpdate:modelValue":s[0]||=e=>P.value=e,options:V.value,label:a(u)(`pages.connections.sharedProjectLabel`),placeholder:a(u)(`pages.connections.choosePublicProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`]),h(`button`,M,i(a(u)(`pages.connections.subscribe`)),1)],32)])):e(``,!0)]))}});export{N as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,D as t,E as n,F as r,H as i,J as a,K as o,N as s,R as c,T as l,U as u,V as d,_ as f,a as p,b as m,d as h,i as g,m as _,q as v,t as y,v as b,w as x,x as S,y as C}from"./console-B_Ena2DS.js";import{i as w,r as T,t as E}from"./identity-CjBwYSMX.js";import{C as D,D as O,E as k,S as A,T as j,d as M,f as N,g as P,h as F,i as I,l as L,r as R,s as z,u as B,w as V,x as H}from"./model-C-5RVIJ2.js";var U=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},ee={key:0,open:``,class:`knowledge-confirm-dialog vue-dialog`},W={class:`project-dialog-header`},te=[`disabled`],G={class:`knowledge-confirm-summary`},K={class:`knowledge-confirm-fields`},q={class:`knowledge-confirm-acknowledgement`},ne={key:0,class:`publish-dialog-error`,role:`alert`},J={class:`project-profile-dialog-actions`},Y=[`disabled`],re=[`disabled`],X=U(t({__name:`KnowledgeConfirmDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{}},emits:[`close`,`saved`],setup(t,{emit:n}){let r=t,i=n,l=y(),p=u(``),v=u(``),C=u(``),w=u(!1),T=u(!1),E=u(``),D=u({kind:`import`,label:h(`knowledge.domain.actors.historicalRecord`)}),O=m(()=>r.item?.profileAspect?h(`knowledge.dialogs.confirm.preferenceSubject`):h(`knowledge.dialogs.confirm.knowledgeSubject`));c(()=>r.item,e=>{if(!e)return;let t=e.evidence.at(0),n=e.confirmationBasis;p.value=n?.existence_reason||t?.source_description||t?.summary||h(`knowledge.dialogs.confirm.sourceSupport`),v.value=n?.quadrant_reason||e.reasoningSummary||h(`knowledge.dialogs.confirm.quadrantReason`,{quadrant:j(e.originQuadrant),description:V(e.originQuadrant)}),D.value=n?.proposed_by??A(t),C.value=h(`knowledge.dialogs.confirm.confirmationReason`),w.value=!1,E.value=``},{immediate:!0});async function k(){let e=r.item;if(!(!e||T.value)){if(!e.classificationExplicit)return M(h(`knowledge.dialogs.confirm.errors.quadrantRequired`));if(!p.value.trim())return M(h(`knowledge.dialogs.confirm.errors.existenceRequired`));if(!v.value.trim())return M(h(`knowledge.dialogs.confirm.errors.quadrantReasonRequired`));if(!C.value.trim())return M(h(`knowledge.dialogs.confirm.errors.confirmationReasonRequired`));if(!w.value)return M(h(`knowledge.dialogs.confirm.errors.acknowledgmentRequired`));T.value=!0,E.value=``;try{await g(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{personalSpaceId:r.personalSpaceId,personalProjectId:r.personalProjectId,action:`confirm`,reason:C.value.trim(),confirmationStatus:`confirmed`,confirmationBasis:{existenceReason:p.value.trim(),quadrantReason:v.value.trim(),proposedBy:D.value,confirmedBy:{kind:`user`,label:h(`knowledge.domain.actors.currentUser`)},confirmedAt:new Date().toISOString()}}),l.notify(h(`knowledge.dialogs.confirm.confirmed`,{subject:O.value})),i(`saved`),i(`close`)}catch(e){E.value=e instanceof Error?e.message:h(`knowledge.dialogs.confirm.errors.failed`),l.reportError(e)}finally{T.value=!1}}}function A(e){let t={codex:`Codex`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:h(`knowledge.domain.actors.otherAgent`)}[e?.source_application??``];return t?{kind:`agent`,label:t}:{kind:`import`,label:h(`knowledge.domain.actors.historicalRecord`)}}function M(e){E.value=e}return(n,r)=>t.item?(s(),x(`dialog`,ee,[S(`form`,{class:`knowledge-confirm-dialog-shell`,onSubmit:b(k,[`prevent`])},[S(`header`,W,[S(`div`,null,[r[6]||=S(`p`,{class:`eyebrow`},`KNOWLEDGE CONFIRMATION`,-1),S(`h3`,null,a(o(h)(`knowledge.dialogs.confirm.title`,{subject:O.value})),1),S(`p`,null,a(o(h)(`knowledge.dialogs.confirm.intro`)),1)]),S(`button`,{class:`secondary-action`,type:`button`,disabled:T.value,onClick:r[0]||=e=>i(`close`)},a(o(h)(`common.actions.close`)),9,te)]),S(`section`,G,[S(`span`,null,a(t.item.profileAspect?o(h)(`knowledge.dialogs.confirm.preference`):o(h)(`knowledge.dialogs.confirm.knowledge`)),1),S(`strong`,null,a(t.item.title),1),S(`p`,null,a(t.item.body),1),S(`small`,null,a(o(h)(`knowledge.dialogs.confirm.quadrant`,{quadrant:o(j)(t.item.originQuadrant)})),1)]),S(`div`,K,[S(`label`,null,[S(`span`,null,a(o(h)(`knowledge.dialogs.confirm.whyExists`)),1),d(S(`textarea`,{"onUpdate:modelValue":r[1]||=e=>p.value=e,name:`confirmation-existence-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[f,p.value]])]),S(`label`,null,[S(`span`,null,a(o(h)(`knowledge.dialogs.confirm.whyQuadrant`)),1),d(S(`textarea`,{"onUpdate:modelValue":r[2]||=e=>v.value=e,name:`confirmation-quadrant-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[f,v.value]])]),S(`label`,null,[S(`span`,null,a(o(h)(`knowledge.dialogs.confirm.confirmationCopy`)),1),d(S(`textarea`,{"onUpdate:modelValue":r[3]||=e=>C.value=e,name:`confirmation-reason`,maxlength:`2000`,rows:`2`,required:``},null,512),[[f,C.value]])])]),S(`label`,q,[d(S(`input`,{"onUpdate:modelValue":r[4]||=e=>w.value=e,name:`confirmation-acknowledged`,type:`checkbox`},null,512),[[_,w.value]]),S(`span`,null,a(o(h)(`knowledge.dialogs.confirm.acknowledgment`)),1)]),E.value?(s(),x(`p`,ne,a(E.value),1)):e(``,!0),S(`footer`,J,[S(`button`,{class:`secondary-action`,type:`button`,disabled:T.value,onClick:r[5]||=e=>i(`close`)},a(o(h)(`common.actions.cancel`)),9,Y),S(`button`,{class:`primary-action`,type:`submit`,disabled:T.value||!w.value},a(T.value?o(h)(`knowledge.dialogs.confirm.confirming`):o(h)(`knowledge.dialogs.confirm.confirmSubject`,{subject:O.value})),9,re)])],32)])):e(``,!0)}}),[[`__scopeId`,`data-v-26170b1a`]]),ie={key:0,open:``,class:`project-dialog knowledge-edit-dialog vue-dialog`},ae={class:`project-dialog-shell`},oe={class:`project-dialog-header`},se={class:`knowledge-edit-columns`},ce={key:0},le={key:1},ue={key:2},de={class:`knowledge-taxonomy-fields`},fe={class:`knowledge-classification-warning`},pe={key:3,class:`knowledge-classification-warning`},me={class:`knowledge-confirmation-fields`},he={class:`knowledge-taxonomy-fields`},ge=[`placeholder`],_e=[`placeholder`],ve={key:4,class:`knowledge-replacement-fields`},ye={key:0},be={class:`knowledge-replacement-fields`},xe={key:5,class:`publish-dialog-error`,role:`alert`},Se={class:`knowledge-editor-actions`},Ce=[`disabled`],we=[`disabled`],Te=[`disabled`],Ee=[`disabled`],De={key:0},Oe=[`disabled`],ke={key:1},Ae={key:0},je=[`disabled`],Me=t({__name:`KnowledgeEditDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{},replacementItems:{default:()=>[]}},emits:[`close`,`saved`],setup(t,{emit:r}){let _=t,v=r,D=y(),O=u(!1),k=u(``),A=u(``),M=u(``),N=u(`global`),P=u(``),F=u(``),I=u(``),L=u(``),R=i({name:``,summary:``,fact:``,currentQuadrant:``,confirmationStatus:`pending`,existenceReason:``,quadrantReason:``,proposedByKind:`agent`,proposedByLabel:``,confirmedByKind:`user`,confirmedByLabel:``,profileAspect:`none`,inheritanceMode:`local_only`,reason:``}),z=m(()=>_.item?.itemKind===`relationship`),B=m(()=>!!_.item?.invalidAt),V=m(()=>!!_.item?.raw.profile_aspect),H=m(()=>_.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${E(e.project_id,26)}`,search:T(e.project_id)}))),U=m(()=>[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:h(`knowledge.dialogs.edit.quadrants.${e}`)}))),ee=m(()=>[{value:`pending`,label:h(`knowledge.dialogs.edit.confirmationStates.pending`)},{value:`confirmed`,label:h(`knowledge.dialogs.edit.confirmationStates.confirmed`)}]),W=m(()=>[{value:`local_only`,label:h(`knowledge.dialogs.edit.inheritance.local`)},{value:`descendants`,label:h(`knowledge.dialogs.edit.inheritance.descendants`)},{value:`selected_projects`,label:h(`knowledge.dialogs.edit.inheritance.selected`)}]),te=m(()=>[`user`,`agent`,`authoritative_source`,`import`].map(e=>({value:e,label:h(`knowledge.domain.actors.${e}`)}))),G=m(()=>[`user`,`authoritative_source`].map(e=>({value:e,label:h(`knowledge.domain.actors.${e}`)}))),K=m(()=>[{value:`none`,label:h(`knowledge.dialogs.edit.profiles.none`)},...[`taste`,`personality`,`judgment_preference`].map(e=>({value:e,label:h(`knowledge.domain.profiles.${e}`)}))]),q=m(()=>[{value:`global`,label:h(`knowledge.dialogs.edit.scopes.global`)},{value:`project`,label:h(`knowledge.dialogs.edit.scopes.project`),disabled:_.projects.length===0}]),ne=m(()=>[{value:``,label:h(`knowledge.dialogs.edit.replacementNone`)},..._.replacementItems.filter(e=>!e.invalidAt&&(e.itemKind!==_.item?.itemKind||e.id!==_.item?.id)).map(e=>({value:Fe(e.itemKind,e.id),label:e.title,meta:e.type,search:`${e.body} ${e.id}`}))]),J=m(()=>{if(!L.value)return null;try{let[e,t]=JSON.parse(L.value);return e!==`entity`&&e!==`relationship`||typeof t!=`string`?null:{itemKind:e,id:t}}catch{return null}}),Y=m(()=>_.item?.assignments.at(0)?.project_id??_.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??_.personalProjectId??null);c(()=>_.item,e=>{if(!e)return;let t=e.raw;R.name=e.itemKind===`entity`?t.name:``,R.summary=e.itemKind===`entity`?t.summary??``:``,R.fact=e.itemKind===`relationship`?t.fact??``:``;let n=e.confirmationBasis,r=e.evidence.at(0);R.currentQuadrant=e.classificationExplicit?t.current_quadrant??t.origin_quadrant??`known_known`:``,R.confirmationStatus=e.confirmationStatus===`confirmed`?`confirmed`:`pending`,R.existenceReason=n?.existence_reason??r?.source_description??r?.summary??``,R.quadrantReason=n?.quadrant_reason??t.reasoning_summary??``,R.proposedByKind=n?.proposed_by.kind??`agent`,R.proposedByLabel=n?.proposed_by.label??``,R.confirmedByKind=n?.confirmed_by?.kind??`user`,R.confirmedByLabel=n?.confirmed_by?.label??``,R.profileAspect=t.profile_aspect??`none`,R.inheritanceMode=t.profile_aspect?`local_only`:t.inheritance_mode??`local_only`,I.value=t.inherited_project_ids?.at(0)??_.projects[0]?.project_id??``,R.reason=``,A.value=``,M.value=Y.value??_.projects[0]?.project_id??``,N.value=t.preference_scope??`global`,P.value=t.preference_project_id??_.projects[0]?.project_id??``,F.value=``,L.value=e.replacedByItemId&&e.replacedByItemKind?Fe(e.replacedByItemKind,e.replacedByItemId):``,k.value=``},{immediate:!0});async function re(){let e=_.item;if(!e)return;if(!R.reason.trim())return $(h(`knowledge.dialogs.edit.errors.reasonRequired`));if(!z.value&&!R.name.trim())return $(h(`knowledge.dialogs.edit.errors.nameRequired`));if(z.value&&!R.fact.trim())return $(h(`knowledge.dialogs.edit.errors.factRequired`));if(!R.currentQuadrant||!R.confirmationStatus)return $(h(`knowledge.dialogs.edit.errors.classificationRequired`));if(!R.existenceReason.trim())return $(h(`knowledge.dialogs.edit.errors.existenceRequired`));if(!R.quadrantReason.trim())return $(h(`knowledge.dialogs.edit.errors.quadrantRequired`));if(!R.proposedByKind)return $(h(`knowledge.dialogs.edit.errors.proposerRequired`));if(R.confirmationStatus===`confirmed`&&!R.confirmedByKind)return $(h(`knowledge.dialogs.edit.errors.confirmerRequired`));if(R.inheritanceMode===`selected_projects`&&!I.value)return $(h(`knowledge.dialogs.edit.errors.inheritedProjectsRequired`));let t={...Z(`update`),confirmationStatus:R.confirmationStatus,confirmationBasis:{existenceReason:R.existenceReason.trim(),quadrantReason:R.quadrantReason.trim(),proposedBy:{kind:R.proposedByKind,label:R.proposedByLabel.trim()||null},confirmedBy:R.confirmationStatus===`confirmed`?{kind:R.confirmedByKind,label:R.confirmedByLabel.trim()||null}:null,confirmedAt:R.confirmationStatus===`confirmed`?new Date().toISOString():null},profileAspect:R.profileAspect,inheritanceMode:R.profileAspect===`none`?R.inheritanceMode:`local_only`,inheritedProjectIds:R.profileAspect===`none`&&R.inheritanceMode===`selected_projects`?[I.value]:[],reasoningSummary:R.quadrantReason.trim()};_.item.classificationExplicit?t.currentQuadrant=R.currentQuadrant:t.originQuadrant=R.currentQuadrant,z.value?t.fact=R.fact.trim():(t.name=R.name.trim(),t.summary=R.summary.trim()),await Q(async()=>{await g(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,t),D.notify(h(`knowledge.dialogs.edit.notices.corrected`))})}async function X(e){let t=_.item;if(t){if(!R.reason.trim())return $(h(e===`invalidate`?`knowledge.dialogs.edit.errors.statusReasonRequired`:`knowledge.dialogs.edit.errors.restoreReasonRequired`));await Q(async()=>{let n=Z(e);e===`invalidate`&&J.value&&(n.replacementItemId=J.value.id,n.replacementItemKind=J.value.itemKind),await g(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}`,n),D.notify(e===`invalidate`?J.value?h(`knowledge.dialogs.edit.notices.invalidatedWithReplacement`):h(`knowledge.dialogs.edit.notices.invalidated`):h(`knowledge.dialogs.edit.notices.restored`))})}}async function Me(){let e=_.item,t=J.value;if(!(!e||!B.value)){if(!t)return $(h(`knowledge.dialogs.edit.errors.replacementRequired`));if(!R.reason.trim())return $(h(`knowledge.dialogs.edit.errors.replacementReasonRequired`));await Q(async()=>{await g(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{...Z(`link_replacement`),replacementItemId:t.id,replacementItemKind:t.itemKind}),D.notify(h(`knowledge.dialogs.edit.notices.replacementSaved`))})}}async function Ne(){let e=_.item;if(e){if(!M.value)return $(h(`knowledge.dialogs.edit.errors.projectRequired`));if(!A.value.trim())return $(h(`knowledge.dialogs.edit.errors.assignmentReasonRequired`));if(M.value===Y.value)return $(h(`knowledge.dialogs.edit.errors.alreadyAssigned`));await Q(async()=>{await p(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/assignment`,{personalSpaceId:_.personalSpaceId,targetProjectId:M.value,reason:A.value.trim()}),D.notify(h(`knowledge.dialogs.edit.notices.assignmentChanged`))})}}async function Pe(){let e=_.item;if(!e)return;let t=N.value===`project`?P.value:null;if(N.value===`project`&&!t)return $(h(`knowledge.dialogs.edit.errors.preferenceProjectRequired`));if(!F.value.trim())return $(h(`knowledge.dialogs.edit.errors.preferenceReasonRequired`));await Q(async()=>{await p(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/preference-scope`,{personalSpaceId:_.personalSpaceId,scope:N.value,projectId:t,reason:F.value.trim()}),D.notify(N.value===`global`?h(`knowledge.dialogs.edit.notices.preferenceGlobal`):h(`knowledge.dialogs.edit.notices.preferenceProject`))})}function Z(e){return{personalSpaceId:_.personalSpaceId,personalProjectId:_.personalProjectId,action:e,reason:R.reason.trim()}}function Fe(e,t){return JSON.stringify([e,t])}async function Q(e){O.value=!0,k.value=``;try{await e(),v(`close`),v(`saved`)}catch(e){k.value=e instanceof Error?e.message:h(`knowledge.dialogs.edit.errors.saveFailed`),D.reportError(e)}finally{O.value=!1}}function $(e){k.value=e}return(r,i)=>t.item?(s(),x(`dialog`,ie,[S(`div`,ae,[S(`header`,oe,[S(`div`,null,[i[24]||=S(`p`,{class:`eyebrow`},`PERSONAL KNOWLEDGE`,-1),S(`h3`,null,a(B.value?o(h)(`knowledge.dialogs.edit.titleRestore`):o(h)(`knowledge.dialogs.edit.titleCorrect`)),1),S(`p`,null,a(o(h)(`knowledge.dialogs.edit.intro`)),1)]),S(`button`,{class:`secondary-action`,type:`button`,onClick:i[0]||=e=>v(`close`)},a(o(h)(`common.actions.close`)),1)]),S(`div`,se,[S(`section`,null,[S(`h4`,null,a(o(h)(`knowledge.dialogs.edit.currentContent`)),1),S(`form`,{class:`knowledge-editor-form`,onSubmit:b(re,[`prevent`])},[z.value?e(``,!0):(s(),x(`label`,ce,[l(a(o(h)(`knowledge.dialogs.edit.name`)),1),d(S(`input`,{"onUpdate:modelValue":i[1]||=e=>R.name=e,maxlength:`512`},null,512),[[f,R.name]])])),z.value?(s(),x(`label`,ue,[l(a(o(h)(`knowledge.dialogs.edit.fact`)),1),d(S(`textarea`,{"onUpdate:modelValue":i[3]||=e=>R.fact=e,maxlength:`8192`,rows:`5`},null,512),[[f,R.fact]])])):(s(),x(`label`,le,[l(a(o(h)(`knowledge.dialogs.edit.description`)),1),d(S(`textarea`,{"onUpdate:modelValue":i[2]||=e=>R.summary=e,maxlength:`4096`,rows:`5`},null,512),[[f,R.summary]])])),S(`div`,de,[S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.classification`))+` `,1),n(w,{modelValue:R.currentQuadrant,"onUpdate:modelValue":i[4]||=e=>R.currentQuadrant=e,options:U.value,label:o(h)(`knowledge.dialogs.edit.classification`)},null,8,[`modelValue`,`options`,`label`])]),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.confirmationStatus`))+` `,1),n(w,{modelValue:R.confirmationStatus,"onUpdate:modelValue":i[5]||=e=>R.confirmationStatus=e,options:ee.value,label:o(h)(`knowledge.dialogs.edit.confirmationStatus`)},null,8,[`modelValue`,`options`,`label`])]),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.preferenceDimension`))+` `,1),n(w,{modelValue:R.profileAspect,"onUpdate:modelValue":i[6]||=e=>R.profileAspect=e,options:K.value,label:o(h)(`knowledge.dialogs.edit.preferenceDimension`)},null,8,[`modelValue`,`options`,`label`])])]),S(`p`,fe,a(o(h)(`knowledge.dialogs.edit.originQuadrant`,{quadrant:o(j)(t.item.originQuadrant)})),1),t.item.classificationExplicit?e(``,!0):(s(),x(`p`,pe,a(o(h)(`knowledge.dialogs.edit.missingQuadrant`)),1)),S(`fieldset`,me,[S(`legend`,null,a(o(h)(`knowledge.dialogs.edit.basis`)),1),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.whyExists`))+` `,1),d(S(`textarea`,{"onUpdate:modelValue":i[7]||=e=>R.existenceReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[f,R.existenceReason]])]),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.whyQuadrant`))+` `,1),d(S(`textarea`,{"onUpdate:modelValue":i[8]||=e=>R.quadrantReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[f,R.quadrantReason]])]),S(`div`,he,[S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.proposer`))+` `,1),n(w,{modelValue:R.proposedByKind,"onUpdate:modelValue":i[9]||=e=>R.proposedByKind=e,options:te.value,label:o(h)(`knowledge.dialogs.edit.proposer`)},null,8,[`modelValue`,`options`,`label`])]),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.proposerDescription`))+` `,1),d(S(`input`,{"onUpdate:modelValue":i[10]||=e=>R.proposedByLabel=e,maxlength:`160`,placeholder:o(h)(`knowledge.dialogs.edit.proposerPlaceholder`)},null,8,ge),[[f,R.proposedByLabel]])]),R.confirmationStatus===`confirmed`?(s(),x(C,{key:0},[S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.confirmer`))+` `,1),n(w,{modelValue:R.confirmedByKind,"onUpdate:modelValue":i[11]||=e=>R.confirmedByKind=e,options:G.value,label:o(h)(`knowledge.dialogs.edit.confirmer`)},null,8,[`modelValue`,`options`,`label`])]),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.confirmerDescription`))+` `,1),d(S(`input`,{"onUpdate:modelValue":i[12]||=e=>R.confirmedByLabel=e,maxlength:`160`,placeholder:o(h)(`knowledge.dialogs.edit.confirmerPlaceholder`)},null,8,_e),[[f,R.confirmedByLabel]])])],64)):e(``,!0)]),S(`p`,null,a(o(h)(`knowledge.dialogs.edit.agentConfirmedBoundary`)),1)]),V.value?e(``,!0):(s(),x(`fieldset`,ve,[S(`legend`,null,a(o(h)(`knowledge.dialogs.edit.crossProjectInheritance`)),1),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.inheritanceScope`))+` `,1),n(w,{modelValue:R.inheritanceMode,"onUpdate:modelValue":i[13]||=e=>R.inheritanceMode=e,options:W.value,label:o(h)(`knowledge.dialogs.edit.inheritanceScope`)},null,8,[`modelValue`,`options`,`label`])]),R.inheritanceMode===`selected_projects`?(s(),x(`label`,ye,[l(a(o(h)(`knowledge.dialogs.edit.inheritedProjects`))+` `,1),n(w,{modelValue:I.value,"onUpdate:modelValue":i[14]||=e=>I.value=e,options:H.value,label:o(h)(`knowledge.dialogs.edit.inheritedProjects`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):e(``,!0),S(`p`,null,a(o(h)(`knowledge.dialogs.edit.inheritanceBoundary`)),1)])),S(`fieldset`,be,[S(`legend`,null,a(B.value?o(h)(`knowledge.dialogs.edit.replacement`):o(h)(`knowledge.dialogs.edit.optionalReplacement`)),1),S(`label`,null,[l(a(B.value?o(h)(`knowledge.dialogs.edit.historicalReplacement`):o(h)(`knowledge.dialogs.edit.activeReplacement`))+` `,1),n(w,{modelValue:L.value,"onUpdate:modelValue":i[15]||=e=>L.value=e,options:ne.value,label:o(h)(`knowledge.dialogs.edit.replacement`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),S(`p`,null,a(o(h)(`knowledge.dialogs.edit.replacementBoundary`)),1)]),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.correctionReason`)),1),d(S(`textarea`,{"onUpdate:modelValue":i[16]||=e=>R.reason=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[f,R.reason]])]),k.value?(s(),x(`p`,xe,a(k.value),1)):e(``,!0),S(`div`,Se,[B.value?(s(),x(C,{key:1},[S(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:i[18]||=e=>X(`restore`)},a(o(h)(`knowledge.dialogs.edit.restore`)),9,we),S(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:Me},a(o(h)(`knowledge.dialogs.edit.saveReplacement`)),9,Te)],64)):(s(),x(`button`,{key:0,class:`secondary-action`,type:`button`,disabled:O.value,onClick:i[17]||=e=>X(`invalidate`)},a(o(h)(`knowledge.dialogs.edit.invalidate`)),9,Ce)),S(`button`,{class:`primary-action`,type:`submit`,disabled:O.value},a(O.value?o(h)(`knowledge.dialogs.edit.saving`):R.confirmationStatus===`confirmed`?o(h)(`knowledge.dialogs.edit.saveConfirmed`):o(h)(`knowledge.dialogs.edit.savePending`)),9,Ee)])],32)]),V.value?(s(),x(`section`,ke,[S(`h4`,null,a(o(h)(`knowledge.dialogs.edit.preferenceScope`)),1),S(`p`,null,a(o(h)(`knowledge.dialogs.edit.preferenceScopeCopy`)),1),S(`form`,{class:`knowledge-editor-form`,onSubmit:b(Pe,[`prevent`])},[S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.effectiveScope`))+` `,1),n(w,{modelValue:N.value,"onUpdate:modelValue":i[21]||=e=>N.value=e,options:q.value,label:o(h)(`knowledge.dialogs.edit.preferenceScope`)},null,8,[`modelValue`,`options`,`label`])]),N.value===`project`?(s(),x(`label`,Ae,[l(a(o(h)(`knowledge.dialogs.edit.personalProject`))+` `,1),n(w,{modelValue:P.value,"onUpdate:modelValue":i[22]||=e=>P.value=e,options:H.value,label:o(h)(`knowledge.dialogs.edit.personalProject`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):e(``,!0),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.assignmentReason`)),1),d(S(`textarea`,{"onUpdate:modelValue":i[23]||=e=>F.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[f,F.value]])]),S(`button`,{class:`primary-action`,type:`submit`,disabled:O.value},a(o(h)(`knowledge.dialogs.edit.saveScope`)),9,je)],32)])):(s(),x(`section`,De,[S(`h4`,null,a(o(h)(`knowledge.dialogs.edit.projectOwnership`)),1),S(`p`,null,a(o(h)(`knowledge.dialogs.edit.ownershipCopy`)),1),S(`form`,{class:`knowledge-editor-form`,onSubmit:b(Ne,[`prevent`])},[S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.targetProject`))+` `,1),n(w,{modelValue:M.value,"onUpdate:modelValue":i[19]||=e=>M.value=e,options:H.value,label:o(h)(`knowledge.dialogs.edit.targetProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`])]),S(`label`,null,[l(a(o(h)(`knowledge.dialogs.edit.assignmentReason`)),1),d(S(`textarea`,{"onUpdate:modelValue":i[20]||=e=>A.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[f,A.value]])]),S(`button`,{class:`primary-action`,type:`submit`,disabled:O.value||t.projects.length===0},a(o(h)(`knowledge.dialogs.edit.adjustOwnership`)),9,Oe)],32)]))])])])):e(``,!0)}}),Ne={codex:`Codex`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:`Other Agent`},Pe=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Z(e={}){let t=e.source_application;if(t&&Ne[t])return t;let n=`${e.source_kind??``} ${e.source_description??``}`.toLocaleLowerCase();return n.includes(`claude`)?`claude_code`:n.includes(`cursor`)?`cursor`:n.includes(`kiro`)?`kiro`:n.includes(`codex`)?`codex`:`other`}function Fe(e){let t=Z(e);return t===`other`?h(`knowledge.domain.actors.otherAgent`):Ne[t]}function Q(e={}){return Z(e)!==`codex`||!Pe.test(e.session_id??``)?null:`codex://threads/${e.session_id}`}async function $(e={},t=globalThis.navigator?.clipboard){return!e.session_id||!t?.writeText?!1:(await t.writeText(e.session_id),!0)}var Ie={class:`graph-inspector`},Le={class:`eyebrow`},Re={class:`inspector-identity`},ze={class:`muted`},Be={key:0,class:`inspector-project-material`},Ve={key:3,class:`inspector-replacement`},He={class:`inspector-replacement-heading`},Ue={key:1},We={key:2},Ge={class:`inspector-meta`},Ke={key:0},qe={key:1},Je={key:2},Ye={key:3},Xe={key:4},Ze={key:5},Qe={key:6},$e={key:7},et={key:8},tt={key:9},nt={key:10},rt={key:12},it={class:`inspector-subtitle`},at={key:0,class:`inspector-meta inspector-confirmation-basis`},ot={key:0},st={key:1,class:`inspector-reasoning`},ct={class:`inspector-subtitle`},lt={class:`inspector-meta inspector-attributes`},ut={class:`inspector-subtitle`},dt={class:`inspector-reasoning`},ft={key:7,class:`inspector-actions`},pt={class:`inspector-subtitle`},mt={class:`inspector-relations`},ht={class:`relation-type`},gt={class:`relation-target`},_t={class:`inspector-subtitle`},vt={class:`inspector-evidence`},yt={key:0,class:`evidence-excerpt`},bt=[`href`],xt=[`onClick`],St={class:`inspector-subtitle`},Ct={class:`inspector-history`},wt={class:`inspector-subtitle`},Tt={class:`inspector-history inspector-audit-history`},Et={key:0},Dt={class:`eyebrow`},Ot={class:`inspector-placeholder`},kt=t({__name:`KnowledgeInspector`,props:{item:{},graph:{},editable:{type:Boolean},currentProjectId:{},canPublishProject:{type:Boolean},canManageProject:{type:Boolean},mode:{}},emits:[`confirm`,`edit`,`createProject`,`openProject`,`publishProject`,`openDirectory`,`openGraph`,`openReplacement`,`manageProject`],setup(t,{emit:n}){let i=t,c=n,l=m(()=>i.item?.itemKind===`entity`?i.item.raw:null),d=m(()=>i.item?.itemKind===`relationship`?i.item.raw:null),f=m(()=>new Map(i.graph?.nodes.map(e=>[e.id,e.name])??[])),p=m(()=>!l.value||!i.graph?[]:i.graph.edges.filter(e=>z(e.source)===l.value?.id||z(e.target)===l.value?.id).slice(0,12)),g=m(()=>Object.entries(i.item?.raw.attributes??{}).filter(([,e])=>e!=null&&e!==``)),_=m(()=>M(i.item)),y=m(()=>H(i.item)),b=m(()=>i.item?.itemKind===`entity`&&[`PersonalProject`,`RelatedPersonalProject`].includes(i.item.type)),w=m(()=>i.editable&&i.item?.itemKind===`entity`&&!i.item.invalidAt&&!i.item.profileAspect&&!_.value),T=m(()=>i.editable&&!_.value),E=m(()=>i.editable&&!_.value&&!i.item?.invalidAt&&!!i.item?.classificationExplicit&&W.value===`pending`),U=m(()=>_.value&&i.canManageProject),ee=m(()=>w.value||T.value||E.value||U.value||!!i.mode||b.value&&!!y.value&&y.value!==i.currentProjectId||b.value&&!!y.value&&i.canPublishProject),W=m(()=>i.item?P(i.item):`unclassified`),te=m(()=>i.item?R(i.item):``),G=m(()=>i.item?.confirmationBasis??null),K=u(``),q=m(()=>{let e=i.item?.replacedByItemId,t=i.item?.replacedByItemKind;return!e||!t?null:F(i.graph).find(n=>n.id===e&&n.itemKind===t)??null}),ne=m(()=>{let e=i.item;return e?.humanEdited?e.humanChangeStatus===`unseen`?h(`knowledge.workspace.inspector.humanReview.unseen`):e.humanChangeStatus===`viewed`?h(`knowledge.workspace.inspector.humanReview.viewed`):h(`knowledge.workspace.inspector.humanReview.reviewed`):``});function J(e){return typeof e==`string`?e:JSON.stringify(e)}function Y(e){return`${Math.round(e*100)}%`}function re(e){return e.inheritanceMode===`descendants`?h(`knowledge.workspace.inspector.inheritance.descendants`):e.inheritanceMode===`selected_projects`?h(`knowledge.workspace.inspector.inheritance.selected`,{count:e.inheritedProjectIds.length}):h(`knowledge.workspace.inspector.inheritance.local`)}function X(e,t){return String(e.id??e.session_id??t)}async function ie(e,t){await $(e)&&(K.value=X(e,t))}return(n,i)=>(s(),x(`aside`,Ie,[t.item?(s(),x(C,{key:0},[S(`p`,Le,a(_.value?`PROJECT MATERIAL`:t.item.itemKind===`entity`?`ENTITY`:`RELATIONSHIP`),1),S(`h3`,null,a(t.item.itemKind===`entity`?t.item.title:d.value?.type),1),S(`div`,Re,[S(`span`,null,a(_.value?o(h)(`knowledge.workspace.inspector.ids.projection`):t.item.itemKind===`entity`?o(h)(`knowledge.workspace.inspector.ids.node`):o(h)(`knowledge.workspace.inspector.ids.relationship`)),1),S(`code`,null,a(t.item.id),1)]),S(`p`,ze,a(t.item.body),1),_.value?(s(),x(`section`,Be,[S(`div`,null,[S(`span`,null,a(o(h)(`knowledge.workspace.inspector.ownership`)),1),S(`strong`,null,a(o(D)(t.item)),1)]),S(`p`,null,a(o(h)(`knowledge.workspace.inspector.projectionCopy`)),1)])):(s(),x(`section`,{key:1,class:v([`inspector-classification`,`state-${W.value}`])},[S(`div`,null,[S(`span`,null,a(o(h)(`knowledge.workspace.inspector.currentJudgment`)),1),S(`strong`,null,a(o(k)(t.item)),1)]),S(`p`,null,a(te.value),1)],2)),!_.value&&t.item.humanEdited?(s(),x(`section`,{key:2,class:v([`inspector-human-change`,`state-${t.item.humanChangeStatus}`])},[S(`div`,null,[S(`span`,null,a(o(h)(`knowledge.workspace.inspector.humanReviewTitle`)),1),S(`strong`,null,a(o(B)(t.item.humanChangeStatus)),1)]),S(`p`,null,a(ne.value),1),S(`small`,null,a(o(h)(`knowledge.workspace.inspector.humanVersion`,{version:t.item.humanChangeVersion})),1)],2)):e(``,!0),!_.value&&t.item.invalidAt?(s(),x(`section`,Ve,[S(`div`,He,[S(`span`,null,a(o(h)(`knowledge.workspace.inspector.replacement`)),1),S(`strong`,null,a(q.value?o(h)(`knowledge.workspace.inspector.replacedBy`):o(h)(`knowledge.workspace.inspector.noReplacement`)),1)]),q.value?(s(),x(`button`,{key:0,class:`inspector-replacement-link`,type:`button`,onClick:i[0]||=e=>c(`openReplacement`,q.value)},[S(`span`,null,[S(`strong`,null,a(q.value.title),1),S(`small`,null,a(q.value.body),1)]),S(`b`,null,a(o(h)(`knowledge.workspace.inspector.viewReplacement`)),1)])):t.item.replacedByItemId?(s(),x(`p`,Ue,a(o(h)(`knowledge.workspace.inspector.replacementOutOfScope`)),1)):(s(),x(`p`,We,a(o(h)(`knowledge.workspace.inspector.missingReplacement`)),1))])):e(``,!0),S(`dl`,Ge,[S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.type`)),1),S(`dd`,null,a(t.item.type),1)]),_.value?e(``,!0):(s(),x(`div`,Ke,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.originQuadrant`)),1),S(`dd`,null,a(o(j)(t.item.originQuadrant)),1)])),_.value?e(``,!0):(s(),x(`div`,qe,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.currentQuadrant`)),1),S(`dd`,null,a(o(j)(t.item.currentQuadrant)),1)])),_.value?e(``,!0):(s(),x(`div`,Je,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.quadrantExplanation`)),1),S(`dd`,null,a(o(V)(t.item.originQuadrant)),1)])),_.value?e(``,!0):(s(),x(`div`,Ye,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.confirmationStatus`)),1),S(`dd`,null,a(o(k)(t.item)),1)])),_.value?e(``,!0):(s(),x(`div`,Xe,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.confidence`)),1),S(`dd`,null,a(Y(t.item.confidenceScore)),1)])),_.value?e(``,!0):(s(),x(`div`,Ze,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.utility`)),1),S(`dd`,null,a(Y(t.item.utilityScore)),1)])),_.value?e(``,!0):(s(),x(`div`,Qe,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.materialUse`)),1),S(`dd`,null,a(o(h)(`knowledge.workspace.inspector.useCount`,{uses:t.item.qualifiedUseCount,tasks:t.item.distinctTaskCount})),1)])),_.value?e(``,!0):(s(),x(`div`,$e,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.recentUse`)),1),S(`dd`,null,a(o(L)(t.item.lastUsedAt)),1)])),!_.value&&!t.item.profileAspect?(s(),x(`div`,et,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.inheritance`)),1),S(`dd`,null,a(re(t.item)),1)])):e(``,!0),!_.value&&t.item.profileAspect?(s(),x(`div`,tt,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.preference`)),1),S(`dd`,null,a(o(A)(t.item.profileAspect)),1)])):e(``,!0),!_.value&&t.item.profileAspect?(s(),x(`div`,nt,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.effectiveScope`)),1),S(`dd`,null,a(t.item.preferenceScope===`project`?o(h)(`knowledge.workspace.inspector.selectedProject`):o(h)(`knowledge.workspace.inspector.personalGlobal`)),1)])):e(``,!0),d.value?(s(),x(C,{key:11},[S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.source`)),1),S(`dd`,null,a(f.value.get(o(z)(d.value.source))??o(z)(d.value.source)),1)]),S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.target`)),1),S(`dd`,null,a(f.value.get(o(z)(d.value.target))??o(z)(d.value.target)),1)])],64)):e(``,!0),_.value?e(``,!0):(s(),x(`div`,rt,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.fields.status`)),1),S(`dd`,null,a(t.item.invalidAt?o(h)(`knowledge.workspace.inspector.historical`):o(h)(`common.status.current`)),1)]))]),_.value?e(``,!0):(s(),x(C,{key:4},[S(`h4`,it,a(o(h)(`knowledge.workspace.inspector.basisTitle`)),1),G.value?(s(),x(`dl`,at,[S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.basis.existence`)),1),S(`dd`,null,a(G.value.existence_reason),1)]),S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.basis.quadrant`)),1),S(`dd`,null,a(G.value.quadrant_reason),1)]),S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.basis.proposer`)),1),S(`dd`,null,a(o(I)(G.value.proposed_by)),1)]),S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.basis.confirmer`)),1),S(`dd`,null,a(o(I)(G.value.confirmed_by)),1)]),S(`div`,null,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.basis.time`)),1),S(`dd`,null,a(o(L)(G.value.confirmed_at)),1)]),G.value.agent_policy_version?(s(),x(`div`,ot,[S(`dt`,null,a(o(h)(`knowledge.workspace.inspector.basis.agentPolicy`)),1),S(`dd`,null,a(G.value.agent_policy_version),1)])):e(``,!0)])):(s(),x(`p`,st,a(o(h)(`knowledge.workspace.inspector.legacyBasis`)),1))],64)),g.value.length?(s(),x(C,{key:5},[S(`h4`,ct,a(o(h)(`knowledge.workspace.inspector.contentDetails`)),1),S(`dl`,lt,[(s(!0),x(C,null,r(g.value,([e,t])=>(s(),x(`div`,{key:e},[S(`dt`,null,a(e),1),S(`dd`,null,a(J(t)),1)]))),128))])],64)):e(``,!0),t.item.reasoningSummary?(s(),x(C,{key:6},[S(`h4`,ut,a(o(h)(`knowledge.workspace.inspector.formation`)),1),S(`p`,dt,a(t.item.reasoningSummary),1)],64)):e(``,!0),ee.value?(s(),x(`div`,ft,[E.value?(s(),x(`button`,{key:0,class:`primary-action inspector-confirm-action`,type:`button`,onClick:i[1]||=e=>c(`confirm`,t.item)},a(t.item.profileAspect?o(h)(`knowledge.workspace.inspector.confirmPreference`):o(h)(`knowledge.workspace.inspector.confirmKnowledge`)),1)):e(``,!0),U.value?(s(),x(`button`,{key:1,class:`primary-action`,type:`button`,onClick:i[2]||=e=>c(`manageProject`,t.item)},a(o(h)(`knowledge.workspace.inspector.editMaterials`)),1)):e(``,!0),t.mode===`graph`?(s(),x(`button`,{key:2,class:`secondary-action`,type:`button`,onClick:i[3]||=e=>c(`openDirectory`,t.item)},a(o(h)(`knowledge.workspace.inspector.locateDirectory`)),1)):e(``,!0),t.mode===`directory`?(s(),x(`button`,{key:3,class:`secondary-action`,type:`button`,onClick:i[4]||=e=>c(`openGraph`,t.item)},a(o(h)(`knowledge.workspace.inspector.locateGraph`)),1)):e(``,!0),b.value&&y.value&&y.value!==t.currentProjectId?(s(),x(`button`,{key:4,class:`primary-action`,type:`button`,onClick:i[5]||=e=>c(`openProject`,y.value)},a(o(h)(`knowledge.workspace.inspector.enterProject`)),1)):e(``,!0),b.value&&y.value&&t.canPublishProject?(s(),x(`button`,{key:5,class:`secondary-action`,type:`button`,onClick:i[6]||=e=>c(`publishProject`,y.value)},a(o(h)(`knowledge.workspace.inspector.publish`)),1)):e(``,!0),w.value?(s(),x(`button`,{key:6,class:`primary-action`,type:`button`,onClick:i[7]||=e=>c(`createProject`,t.item)},a(o(h)(`knowledge.workspace.inspector.createProject`)),1)):e(``,!0),T.value?(s(),x(`button`,{key:7,class:`secondary-action inspector-edit-action`,type:`button`,onClick:i[8]||=e=>c(`edit`,t.item)},a(t.item.profileAspect?o(h)(`knowledge.workspace.inspector.correctPreference`):o(h)(`knowledge.workspace.inspector.correctOrAssign`)),1)):e(``,!0)])):e(``,!0),p.value.length?(s(),x(C,{key:8},[S(`h4`,pt,a(o(h)(`knowledge.workspace.inspector.relations`)),1),S(`div`,mt,[(s(!0),x(C,null,r(p.value,e=>(s(),x(`div`,{key:e.id,class:`inspector-relation`},[S(`strong`,ht,a(e.type),1),S(`p`,gt,a(e.fact||o(h)(`knowledge.workspace.inspector.relationshipFallback`)),1)]))),128))])],64)):e(``,!0),t.item.evidence.length?(s(),x(C,{key:9},[S(`h4`,_t,a(o(h)(`knowledge.workspace.inspector.evidence`)),1),S(`div`,vt,[(s(!0),x(C,null,r(t.item.evidence,(t,n)=>(s(),x(`article`,{key:X(t,n),class:`evidence-card`},[S(`strong`,null,a(t.name||t.source_description||o(h)(`knowledge.workspace.inspector.sourceRecord`)),1),S(`p`,null,a(t.summary||t.source_description),1),S(`span`,null,a(o(Fe)(t))+` · `+a(t.source_kind||o(h)(`knowledge.workspace.inspector.source`))+` · `+a(o(L)(t.reference_time||t.created_at)),1),t.source_excerpt?(s(),x(`p`,yt,a(t.source_excerpt),1)):e(``,!0),o(Q)(t)?(s(),x(`a`,{key:1,class:`evidence-source-action`,href:o(Q)(t)??void 0},a(o(h)(`knowledge.workspace.inspector.openConversation`)),9,bt)):t.session_id?(s(),x(`button`,{key:2,class:`evidence-source-action`,type:`button`,onClick:e=>ie(t,n)},a(K.value===X(t,n)?o(h)(`knowledge.workspace.inspector.copiedSessionId`):o(h)(`knowledge.workspace.inspector.copySessionId`)),9,xt)):e(``,!0)]))),128))])],64)):e(``,!0),t.item.revisions.length?(s(),x(C,{key:10},[S(`h4`,St,a(o(h)(`knowledge.workspace.inspector.revisions`)),1),S(`div`,Ct,[(s(!0),x(C,null,r(t.item.revisions,(e,t)=>(s(),x(`article`,{key:String(e.id??t),class:`history-row`},[S(`strong`,null,a(o(O)(e.action)),1),S(`p`,null,a(e.reason??e.summary??o(h)(`knowledge.workspace.inspector.noRevisionCopy`)),1),S(`span`,null,a(o(L)(e.created_at)),1)]))),128))])],64)):e(``,!0),t.item.auditEvents.length?(s(),x(C,{key:11},[S(`h4`,wt,a(o(h)(`knowledge.workspace.inspector.audit`)),1),S(`div`,Tt,[(s(!0),x(C,null,r(t.item.auditEvents,t=>(s(),x(`article`,{key:t.id,class:`history-row`},[S(`strong`,null,a(o(N)(t.action)),1),S(`p`,null,a(t.reason),1),S(`span`,null,a(o(h)(`knowledge.workspace.inspector.version`,{version:t.human_change_version}))+` · `+a(o(L)(t.created_at)),1),t.action===`agent_review`?(s(),x(`small`,Et,a(o(h)(`knowledge.workspace.inspector.conflictClassification`,{conflict:t.conflict_check===`no_conflict`?o(h)(`knowledge.workspace.inspector.conflictNone`):o(h)(`knowledge.workspace.inspector.conflictFound`),classification:t.classification_check===`reasonable`?o(h)(`knowledge.workspace.inspector.classificationReasonable`):o(h)(`knowledge.workspace.inspector.classificationAdjust`)})),1)):e(``,!0)]))),128))])],64)):e(``,!0)],64)):(s(),x(C,{key:1},[S(`p`,Dt,a(o(h)(`knowledge.workspace.inspector.contentDetails`)),1),S(`h3`,null,a(o(h)(`knowledge.workspace.inspector.placeholderTitle`)),1),S(`p`,Ot,a(o(h)(`knowledge.workspace.inspector.placeholderCopy`)),1)],64))]))}});export{U as i,Me as n,X as r,kt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.knowledge-confirm-dialog[data-v-26170b1a]{width:min(680px,100vw - 48px)}.knowledge-confirm-dialog-shell[data-v-26170b1a]{gap:18px;padding:24px;display:grid}.knowledge-confirm-summary[data-v-26170b1a]{border-top:1px solid #e1e5e2;border-bottom:1px solid #e1e5e2;gap:6px;padding:14px 0;display:grid}.knowledge-confirm-summary span[data-v-26170b1a],.knowledge-confirm-summary small[data-v-26170b1a]{color:#7d8780;font-size:10px}.knowledge-confirm-summary strong[data-v-26170b1a]{color:#29382f;font-size:16px}.knowledge-confirm-summary p[data-v-26170b1a]{color:#606b63;font-size:12px;line-height:1.65}.knowledge-confirm-fields[data-v-26170b1a]{gap:14px;display:grid}.knowledge-confirm-fields label[data-v-26170b1a]{color:#59645c;gap:6px;font-size:11px;font-weight:600;display:grid}.knowledge-confirm-acknowledgement[data-v-26170b1a]{color:#4e5c53;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;font-size:11px;line-height:1.5;display:grid}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.batch-confirm-dialog[data-v-5b6ea24b]{width:min(980px,100vw - 64px)}.batch-confirm-form[data-v-5b6ea24b]{grid-template-columns:320px minmax(0,1fr);gap:24px;padding-top:20px;display:grid}.batch-confirm-controls[data-v-5b6ea24b]{align-content:start;gap:14px;display:grid}.batch-confirm-controls>label[data-v-5b6ea24b],.batch-confirmer-fields label[data-v-5b6ea24b]{color:#5f6962;gap:6px;font-size:10px;font-weight:600;display:grid}.batch-confirm-controls[data-v-5b6ea24b] .searchable-select{width:100%}.batch-group-summary[data-v-5b6ea24b]{border-top:1px solid #e1e5e2;border-bottom:1px solid #e1e5e2;gap:4px;padding:12px 0;display:grid}.batch-group-summary span[data-v-5b6ea24b],.batch-group-summary small[data-v-5b6ea24b]{color:#89918b;font-size:8px}.batch-group-summary strong[data-v-5b6ea24b]{color:#35443b;font-size:12px}.batch-group-summary p[data-v-5b6ea24b]{color:#6e7871;font-size:9px;line-height:1.5}.batch-confirmer-fields[data-v-5b6ea24b]{grid-template-columns:112px minmax(0,1fr);gap:8px;display:grid}.batch-confirm-rule[data-v-5b6ea24b],.batch-limit-note[data-v-5b6ea24b]{color:#7c857f;font-size:9px;line-height:1.5}.batch-confirm-review[data-v-5b6ea24b]{border-left:1px solid #e1e5e2;min-width:0;padding-left:24px}.batch-review-heading[data-v-5b6ea24b]{justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;display:flex}.batch-review-heading h4[data-v-5b6ea24b]{color:#344239;font-size:13px}.batch-review-heading p[data-v-5b6ea24b]{color:#858e87;margin-top:2px;font-size:9px}.batch-review-list[data-v-5b6ea24b]{border-top:1px solid #e3e6e3;border-bottom:1px solid #e3e6e3;max-height:410px;overflow:auto}.batch-review-item[data-v-5b6ea24b]{cursor:pointer;border-bottom:1px solid #eceeec;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:10px 2px;display:grid}.batch-review-item[data-v-5b6ea24b]:last-child{border-bottom:0}.batch-review-item>input[data-v-5b6ea24b]{margin-top:2px}.batch-review-item>span[data-v-5b6ea24b]{gap:3px;min-width:0;display:grid}.batch-review-item strong[data-v-5b6ea24b]{color:#3a4740;font-size:10px}.batch-review-item small[data-v-5b6ea24b]{color:#77817a;font-size:8px}.batch-review-item em[data-v-5b6ea24b]{color:#848d87;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;line-height:1.4;overflow:hidden}.batch-confirm-acknowledgement[data-v-5b6ea24b]{color:#4f5d55;cursor:pointer;align-items:flex-start;gap:8px;margin-top:12px;font-size:9px;line-height:1.5;display:flex}.batch-confirm-form>.publish-dialog-error[data-v-5b6ea24b],.batch-confirm-form>.publish-dialog-actions[data-v-5b6ea24b]{grid-column:1/-1}@media (width<=820px){.batch-confirm-form[data-v-5b6ea24b]{grid-template-columns:1fr}.batch-confirm-review[data-v-5b6ea24b]{border-left:0;padding:0}}.knowledge-organizer[data-v-e7137842]{flex-direction:column;gap:12px;padding:18px 24px 20px;display:flex;overflow:hidden}.organizer-head[data-v-e7137842]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;min-width:0;display:grid}.organizer-principle[data-v-e7137842]{align-self:center;min-width:0;padding:0 2px}.organizer-principle h3[data-v-e7137842]{font-size:16px}.organizer-principle>p[data-v-e7137842]:last-child{color:#6e7771;max-width:760px;margin-top:5px;font-size:11px;line-height:1.55}.organizer-attention[data-v-e7137842]{text-align:right;border-left:1px solid #dde2de;grid-area:1/2;min-width:152px;padding-left:20px}.organizer-attention strong[data-v-e7137842],.organizer-attention span[data-v-e7137842],.organizer-attention small[data-v-e7137842]{display:block}.organizer-attention strong[data-v-e7137842]{color:#6f582b;font-size:23px;font-weight:620}.organizer-attention span[data-v-e7137842]{color:#5f675f;font-size:10px;font-weight:650}.organizer-attention small[data-v-e7137842]{color:#8a918b;margin-top:2px;font-size:8px}.organizer-loading-inline[data-v-e7137842]{color:#7b847e;text-align:center;font-size:10px}.organizer-toolbar[data-v-e7137842]{align-items:center;gap:8px;min-height:34px;display:flex}.organizer-search[data-v-e7137842]{flex:300px;min-width:180px;max-width:360px}.organizer-search>span[data-v-e7137842]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.organizer-search input[data-v-e7137842]{width:100%}.review-state-filter[data-v-e7137842],.quadrant-filter[data-v-e7137842]{white-space:nowrap;background:#f1f4f1;border:1px solid #d7ddd8;border-radius:7px;flex:none;align-items:center;gap:2px;height:31px;padding:2px;display:flex}.quadrant-filter[data-v-e7137842]{max-width:470px;overflow-x:auto}.review-state-filter>span[data-v-e7137842],.quadrant-filter>span[data-v-e7137842]{color:#7a847d;padding:0 6px;font-size:8px;font-weight:650}.review-state-filter button[data-v-e7137842],.quadrant-filter button[data-v-e7137842]{color:#626d66;white-space:nowrap;background:0 0;border:0;border-radius:5px;height:25px;padding:0 7px;font-size:9px}.review-state-filter button[data-v-e7137842]:hover,.quadrant-filter button[data-v-e7137842]:hover{color:#35473d;background:#ffffffa8}.review-state-filter button.active[data-v-e7137842],.quadrant-filter button.active[data-v-e7137842]{color:#30483a;background:#fff;box-shadow:0 1px 3px #2f3d341f}.review-state-filter button.state-pending.active[data-v-e7137842]{color:#765d2e}.review-state-filter button.state-agent_confirmed.active[data-v-e7137842]{color:#4d5f78}.review-state-filter button.state-confirmed.active[data-v-e7137842]{color:#356047}.review-state-filter button strong[data-v-e7137842],.quadrant-filter button strong[data-v-e7137842]{margin-left:2px;font-size:8px;font-weight:720}.organizer-result-summary[data-v-e7137842]{color:#7b847e;white-space:nowrap;flex:none;font-size:9px}.organizer-toolbar .batch-confirm-action[data-v-e7137842]{margin-left:auto}.organizer-toolbar .toolbar-action+.toolbar-action[data-v-e7137842]{margin-left:0}.organizer-truncated[data-v-e7137842]{color:#806536;margin:-4px 0 0;font-size:9px}.organizer-layout[data-v-e7137842]{background:#fff;border:1px solid #cfd7d1;border-radius:8px;flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.organizer-layout.has-selection[data-v-e7137842]{grid-template-columns:minmax(0,1fr) 340px}.organizer-layout[data-v-e7137842]:not(.has-selection) .graph-inspector{display:none}.organizer-directory[data-v-e7137842]{overscroll-behavior:contain;min-width:0;overflow:auto}.organizer-table-head[data-v-e7137842],.organizer-row[data-v-e7137842]{grid-template-columns:minmax(230px,1.35fr) 114px 130px minmax(160px,.8fr) 118px;align-items:center;gap:12px;min-width:920px;display:grid}.organizer-table-head[data-v-e7137842]{z-index:2;color:#8b938d;background:#f7f8f6;border-bottom:1px solid #e0e4e0;padding:10px 15px;font-size:9px;font-weight:680;position:sticky;top:0}.organizer-row[data-v-e7137842]{color:#4f5952;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ebe8;width:100%;min-height:68px;padding:11px 15px}.organizer-row[data-v-e7137842]:hover{background:#f8faf8}.organizer-row.selected[data-v-e7137842]{background:#f1f6f3;box-shadow:inset 2px 0 #557863}.organizer-item-copy[data-v-e7137842]{gap:4px;min-width:0;display:grid}.organizer-item-copy strong[data-v-e7137842],.organizer-item-copy small[data-v-e7137842]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.organizer-item-copy strong[data-v-e7137842]{color:#2f3933;font-size:11px;font-weight:630}.organizer-item-copy small[data-v-e7137842],.organizer-basis[data-v-e7137842],.organizer-row time[data-v-e7137842]{color:#7b847e;font-size:9px}.quadrant-chip[data-v-e7137842],.review-chip[data-v-e7137842]{white-space:nowrap;border-radius:999px;width:fit-content;padding:4px 7px;font-size:9px;font-weight:650}.quadrant-chip[data-v-e7137842]{color:#59655e;background:#f0f2ef;gap:1px;display:grid}.quadrant-chip small[data-v-e7137842]{color:inherit;opacity:.75;font-size:7px;font-weight:520}.quadrant-chip.known_known[data-v-e7137842]{color:#356047;background:#edf6f0}.quadrant-chip.known_unknown[data-v-e7137842]{color:#77602f;background:#f7f2e5}.quadrant-chip.unknown_known[data-v-e7137842]{color:#4d5f78;background:#eef2f7}.quadrant-chip.unknown_unknown[data-v-e7137842]{color:#725d70;background:#f5eff4}.review-chip.state-confirmed[data-v-e7137842]{color:#356047;background:#edf6f0}.review-chip.state-agent_confirmed[data-v-e7137842]{color:#4d5f78;background:#eef2f7}.review-chip.state-pending[data-v-e7137842]{color:#77602f;background:#f7f2e5}.organizer-basis[data-v-e7137842]{overflow-wrap:anywhere}@media (width<=1260px){.review-state-filter>span[data-v-e7137842],.quadrant-filter>span[data-v-e7137842],.organizer-result-summary[data-v-e7137842]{display:none}.organizer-table-head[data-v-e7137842],.organizer-row[data-v-e7137842]{grid-template-columns:minmax(210px,1fr) 108px 104px minmax(140px,.8fr) 104px;min-width:760px}}@media (width<=1040px){.organizer-layout.has-selection[data-v-e7137842]{grid-template-columns:minmax(0,1fr) 280px}.organizer-table-head[data-v-e7137842],.organizer-row[data-v-e7137842]{grid-template-columns:minmax(210px,1fr) 108px 104px;min-width:470px}.organizer-table-head[data-v-e7137842]>:nth-child(n+4),.organizer-basis[data-v-e7137842],.organizer-row time[data-v-e7137842]{display:none}.batch-confirm-action[data-v-e7137842]{text-overflow:ellipsis;white-space:nowrap;max-width:108px;overflow:hidden}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,D as t,E as n,F as r,J as i,K as a,N as o,R as s,S as c,T as l,U as u,V as d,_ as f,a as p,b as m,d as h,m as g,q as _,r as v,t as ee,v as y,w as b,x,y as S}from"./console-B_Ena2DS.js";import{i as C,r as w,t as T}from"./identity-CjBwYSMX.js";import{E,T as D,_ as O,a as k,g as A,h as j,l as M,n as N,t as P}from"./model-C-5RVIJ2.js";import{i as F,n as I,r as te,t as L}from"./KnowledgeInspector-BZkB2wJn.js";var R={open:``,class:`project-dialog batch-confirm-dialog vue-dialog`},z={class:`project-dialog-shell`},B={class:`project-dialog-header`},V={class:`batch-confirm-controls`},H={key:0,class:`batch-group-summary`},U={class:`batch-confirmer-fields`},ne=[`required`,`placeholder`],re=[`placeholder`],ie={class:`batch-confirm-rule`},W={class:`batch-confirm-review`},ae={class:`batch-review-heading`},oe={key:0,class:`batch-limit-note`},G={class:`batch-review-list`},K=[`value`],se={class:`batch-confirm-acknowledgement`},q={key:0,class:`publish-dialog-error`,role:`alert`},ce={class:`publish-dialog-actions`},le=[`disabled`],ue=[`disabled`],J=F(t({__name:`KnowledgeBatchConfirmDialog`,props:{groups:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(t,{emit:c}){let _=t,v=c,E=ee(),O=u(``),k=u([]),A=u(`user`),j=u(``),M=u(``),N=u(!1),F=u(!1),I=u(``),te=m(()=>_.groups.map(e=>({value:e.key,label:e.label,meta:h(`knowledge.dialogs.batch.groupMeta`,{kind:e.kind===`source`?h(`knowledge.dialogs.batch.sameSource`):h(`knowledge.dialogs.batch.sameSession`),count:e.items.length}),search:`${w(e.value)} ${e.description}`}))),L=m(()=>_.groups.find(({key:e})=>e===O.value)??null),J=m(()=>L.value?.items.slice(0,200)??[]),Y=m(()=>{let e=new Set(k.value);return J.value.filter(t=>e.has(Z(t)))}),X=m(()=>J.value.length>0&&Y.value.length===J.value.length),de=m(()=>!F.value&&Y.value.length>=2&&!!M.value.trim()&&N.value&&(A.value!==`authoritative_source`||!!j.value.trim())),fe=m(()=>[{value:`user`,label:h(`knowledge.domain.actors.user`)},{value:`authoritative_source`,label:h(`knowledge.domain.actors.authoritative_source`)}]);s(()=>_.groups,e=>{e.some(({key:e})=>e===O.value)||(O.value=e[0]?.key??``)},{immediate:!0}),s(O,()=>{k.value=J.value.map(Z),N.value=!1,I.value=``},{immediate:!0});function Z(e){return`${e.itemKind}:${e.id}`}function pe(){k.value=X.value?[]:J.value.map(Z),N.value=!1}function Q(e){let t=L.value;return t?P(e,t):null}async function me(){let e=L.value;if(!e)return $(h(`knowledge.dialogs.batch.errors.groupRequired`));if(Y.value.length<2)return $(h(`knowledge.dialogs.batch.errors.itemsRequired`));if(!M.value.trim())return $(h(`knowledge.dialogs.batch.errors.reasonRequired`));if(A.value===`authoritative_source`&&!j.value.trim())return $(h(`knowledge.dialogs.batch.errors.sourceNameRequired`));if(!N.value)return $(h(`knowledge.dialogs.batch.errors.acknowledgmentRequired`));F.value=!0,I.value=``;try{let t=await p(`/api/knowledge/batch-confirmation`,{personalSpaceId:_.personalSpaceId,groupKind:e.kind,groupValue:e.value,reason:M.value.trim(),confirmer:{kind:A.value,label:j.value.trim()||null},items:Y.value.map(e=>{let t=Q(e);return{itemId:e.id,itemKind:e.itemKind,existenceReason:t.existenceReason,quadrantReason:t.quadrantReason,proposedBy:t.proposedBy}})});E.notify(h(`knowledge.dialogs.batch.confirmed`,{count:t.confirmed_count})),v(`saved`),v(`close`)}catch(e){I.value=e instanceof Error?e.message:h(`knowledge.dialogs.batch.errors.failed`),E.reportError(e)}finally{F.value=!1}}function $(e){I.value=e}return(t,s)=>(o(),b(`dialog`,R,[x(`div`,z,[x(`header`,B,[x(`div`,null,[s[8]||=x(`p`,{class:`eyebrow`},`BATCH CONFIRMATION`,-1),x(`h3`,null,i(a(h)(`knowledge.dialogs.batch.title`)),1),x(`p`,null,i(a(h)(`knowledge.dialogs.batch.intro`)),1)]),x(`button`,{class:`secondary-action`,type:`button`,onClick:s[0]||=e=>v(`close`)},i(a(h)(`common.actions.close`)),1)]),x(`form`,{class:`batch-confirm-form`,onSubmit:y(me,[`prevent`])},[x(`section`,V,[x(`label`,null,[l(i(a(h)(`knowledge.dialogs.batch.range`))+` `,1),n(C,{modelValue:O.value,"onUpdate:modelValue":s[1]||=e=>O.value=e,options:te.value,label:a(h)(`knowledge.dialogs.batch.rangeLabel`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),L.value?(o(),b(`div`,H,[x(`span`,null,i(L.value.kind===`source`?a(h)(`knowledge.dialogs.batch.sameSource`):a(h)(`knowledge.dialogs.batch.sameSession`)),1),x(`strong`,null,i(L.value.label),1),x(`p`,null,i(L.value.description),1),x(`small`,null,`#`+i(a(T)(L.value.value,28)),1)])):e(``,!0),x(`div`,U,[x(`label`,null,[l(i(a(h)(`knowledge.dialogs.batch.confirmer`))+` `,1),n(C,{modelValue:A.value,"onUpdate:modelValue":s[2]||=e=>A.value=e,options:fe.value,label:a(h)(`knowledge.dialogs.batch.confirmerLabel`)},null,8,[`modelValue`,`options`,`label`])]),x(`label`,null,[l(i(a(h)(`knowledge.dialogs.batch.confirmerDescription`))+` `,1),d(x(`input`,{"onUpdate:modelValue":s[3]||=e=>j.value=e,maxlength:`160`,required:A.value===`authoritative_source`,placeholder:A.value===`user`?a(h)(`knowledge.dialogs.batch.userPlaceholder`):a(h)(`knowledge.dialogs.batch.sourcePlaceholder`)},null,8,ne),[[f,j.value]])])]),x(`label`,null,[l(i(a(h)(`knowledge.dialogs.batch.basis`))+` `,1),d(x(`textarea`,{"onUpdate:modelValue":s[4]||=e=>M.value=e,maxlength:`2000`,rows:`3`,required:``,placeholder:a(h)(`knowledge.dialogs.batch.basisPlaceholder`)},null,8,re),[[f,M.value]])]),x(`p`,ie,i(a(h)(`knowledge.dialogs.batch.agentBoundary`)),1)]),x(`section`,W,[x(`div`,ae,[x(`div`,null,[x(`h4`,null,i(a(h)(`knowledge.dialogs.batch.itemReview`)),1),x(`p`,null,i(a(h)(`knowledge.dialogs.batch.selected`,{selected:Y.value.length,total:J.value.length})),1)]),x(`button`,{class:`secondary-action`,type:`button`,onClick:pe},i(X.value?a(h)(`knowledge.dialogs.batch.clearAll`):a(h)(`knowledge.dialogs.batch.selectAll`)),1)]),(L.value?.items.length??0)>200?(o(),b(`p`,oe,i(a(h)(`knowledge.dialogs.batch.limit`)),1)):e(``,!0),x(`div`,G,[(o(!0),b(S,null,r(J.value,e=>(o(),b(`label`,{key:Z(e),class:`batch-review-item`},[d(x(`input`,{"onUpdate:modelValue":s[5]||=e=>k.value=e,type:`checkbox`,value:Z(e)},null,8,K),[[g,k.value]]),x(`span`,null,[x(`strong`,null,i(e.title),1),x(`small`,null,i(a(D)(e.originQuadrant))+` · `+i(e.type),1),x(`em`,null,i(Q(e)?.existenceReason),1),x(`em`,null,i(Q(e)?.quadrantReason),1)])]))),128))]),x(`label`,se,[d(x(`input`,{"onUpdate:modelValue":s[6]||=e=>N.value=e,type:`checkbox`},null,512),[[g,N.value]]),x(`span`,null,i(a(h)(`knowledge.dialogs.batch.acknowledgment`)),1)])]),I.value?(o(),b(`p`,q,i(I.value),1)):e(``,!0),x(`div`,ce,[x(`button`,{class:`secondary-action`,type:`button`,disabled:F.value,onClick:s[7]||=e=>v(`close`)},i(a(h)(`common.actions.cancel`)),9,le),x(`button`,{class:`primary-action`,type:`submit`,disabled:!de.value},i(F.value?a(h)(`knowledge.dialogs.batch.confirming`):a(h)(`knowledge.dialogs.batch.confirmItems`,{count:Y.value.length})),9,ue)])],32)])]))}}),[[`__scopeId`,`data-v-5b6ea24b`]]),Y={class:`view knowledge-organizer`},X={class:`organizer-head`},de={class:`organizer-principle`},fe={class:`organizer-attention`},Z={class:`organizer-toolbar`},pe={class:`organizer-search`},Q=[`placeholder`],me=[`aria-label`],$=[`aria-pressed`],he=[`data-quadrant`,`aria-pressed`,`title`,`onClick`],ge=[`aria-label`],_e=[`aria-pressed`],ve=[`data-review-state`,`aria-pressed`,`title`,`onClick`],ye={class:`organizer-result-summary`},be={key:0},xe={key:0,class:`organizer-truncated`},Se={key:1,class:`view-loading`},Ce=[`aria-label`],we={class:`organizer-table-head`,"aria-hidden":`true`},Te={class:`organizer-list`},Ee=[`onClick`],De={class:`organizer-item-copy`},Oe={class:`organizer-basis`},ke={key:0,class:`empty-state`},Ae=F(t({__name:`KnowledgeOrganizerPage`,setup(t){let p=ee(),g=u(null),y=u(!1),C=u(``),w=u(`all`),T=u(`all`),P=u(null),F=u(null),R=u(null),z=u(!1),B=m(()=>[{value:`known_unknown`,short:h(`knowledge.workspace.organizer.quadrants.known_unknown.short`),coordinate:h(`knowledge.workspace.organizer.quadrants.known_unknown.coordinate`)},{value:`known_known`,short:h(`knowledge.workspace.organizer.quadrants.known_known.short`),coordinate:h(`knowledge.workspace.organizer.quadrants.known_known.coordinate`)},{value:`unknown_unknown`,short:h(`knowledge.workspace.organizer.quadrants.unknown_unknown.short`),coordinate:h(`knowledge.workspace.organizer.quadrants.unknown_unknown.coordinate`)},{value:`unknown_known`,short:h(`knowledge.workspace.organizer.quadrants.unknown_known.short`),coordinate:h(`knowledge.workspace.organizer.quadrants.unknown_known.coordinate`)}]),V=m(()=>[{value:`pending`,label:h(`knowledge.domain.reviewStates.pending`),hint:h(`knowledge.workspace.organizer.review.pendingHint`)},{value:`agent_confirmed`,label:h(`knowledge.domain.reviewStates.agent_confirmed`),hint:h(`knowledge.workspace.organizer.review.agentConfirmedHint`)},{value:`confirmed`,label:h(`knowledge.domain.reviewStates.confirmed`),hint:h(`knowledge.workspace.organizer.review.confirmedHint`)}]),H=m(()=>j(g.value)),U=m(()=>N(H.value)),ne=m(()=>Object.fromEntries([...B.value.map(({value:e})=>e),`unclassified`].map(e=>[e,H.value.filter(t=>t.originQuadrant===e).length]))),re=m(()=>Object.fromEntries(V.value.map(({value:e})=>[e,H.value.filter(t=>A(t)===e).length]))),ie=m(()=>w.value!==`all`),W=m(()=>ie.value?H.value.filter(e=>e.originQuadrant===w.value):H.value),ae=m(()=>Object.fromEntries(V.value.map(({value:e})=>[e,W.value.filter(t=>A(t)===e).length]))),oe=m(()=>re.value.pending),G=m(()=>{let e=C.value.trim().toLocaleLowerCase();return H.value.filter(t=>w.value!==`all`&&t.originQuadrant!==w.value||T.value!==`all`&&A(t)!==T.value?!1:!e||[t.title,t.body,t.type,D(t.originQuadrant),E(t),...t.evidence.flatMap(e=>[e.name,e.summary,e.source_description])].filter(Boolean).join(` `).toLocaleLowerCase().includes(e))});s(()=>p.activePersonalSpace?.id,e=>{e&&K(e)},{immediate:!0}),s(G,e=>{P.value&&!e.some(({id:e,itemKind:t})=>e===P.value?.id&&t===P.value?.itemKind)&&(P.value=null)});async function K(e=p.activePersonalSpace?.id){if(e){y.value=!0;try{let t=new URLSearchParams({spaceId:e,limit:`500`});g.value=await v(`/api/graph?${t}`),P.value&&=H.value.find(({id:e})=>e===P.value?.id)??null}catch(e){g.value=null,p.reportError(e)}finally{y.value=!1}}}function se(e){w.value=w.value===e?`all`:e}function q(e){T.value=e}function ce(e){C.value=``,w.value=e.originQuadrant,T.value=`all`,P.value=e}return(t,s)=>(o(),b(`section`,Y,[x(`div`,X,[x(`div`,de,[s[13]||=x(`p`,{class:`eyebrow`},`HOW CLASSIFICATION WORKS`,-1),x(`h3`,null,i(a(h)(`knowledge.workspace.organizer.title`)),1),x(`p`,null,i(a(h)(`knowledge.workspace.organizer.copy`)),1)]),x(`div`,fe,[x(`strong`,null,i(oe.value),1),x(`span`,null,i(a(h)(`knowledge.workspace.organizer.needsAttention`)),1),x(`small`,null,i(a(h)(`knowledge.workspace.organizer.legacyAttention`)),1)])]),x(`template`,null,[x(`div`,Z,[x(`label`,pe,[x(`span`,null,i(a(h)(`knowledge.workspace.organizer.filterKnowledge`)),1),d(x(`input`,{"onUpdate:modelValue":s[0]||=e=>C.value=e,type:`search`,placeholder:a(h)(`knowledge.workspace.organizer.searchPlaceholder`)},null,8,Q),[[f,C.value]])]),x(`div`,{class:`quadrant-filter`,"aria-label":a(h)(`knowledge.workspace.organizer.quadrantFilterAria`)},[x(`span`,null,i(a(h)(`knowledge.workspace.organizer.discoverySource`)),1),x(`button`,{type:`button`,"data-quadrant":`all`,class:_({active:w.value===`all`}),"aria-pressed":w.value===`all`,onClick:s[1]||=e=>w.value=`all`},[l(i(a(h)(`common.status.all`))+` `,1),x(`strong`,null,i(H.value.length),1)],10,$),(o(!0),b(S,null,r(B.value,e=>(o(),b(`button`,{key:e.value,type:`button`,"data-quadrant":e.value,class:_({active:w.value===e.value}),"aria-pressed":w.value===e.value,title:e.coordinate,onClick:t=>se(e.value)},[l(i(e.short)+` `,1),x(`strong`,null,i(ne.value[e.value]),1)],10,he))),128))],8,me),x(`div`,{class:`review-state-filter`,"aria-label":a(h)(`knowledge.workspace.organizer.reviewFilterAria`)},[x(`span`,null,i(a(h)(`knowledge.workspace.organizer.reviewStatus`)),1),x(`button`,{type:`button`,"data-review-state":`all`,class:_({active:T.value===`all`}),"aria-pressed":T.value===`all`,onClick:s[2]||=e=>q(`all`)},[l(i(a(h)(`common.status.all`))+` `,1),x(`strong`,null,i(W.value.length),1)],10,_e),(o(!0),b(S,null,r(V.value,e=>(o(),b(`button`,{key:e.value,type:`button`,"data-review-state":e.value,class:_([`state-${e.value}`,{active:T.value===e.value}]),"aria-pressed":T.value===e.value,title:e.hint,onClick:t=>q(e.value)},[l(i(e.label)+` `,1),x(`strong`,null,i(ae.value[e.value]),1)],10,ve))),128))],8,ge),x(`p`,ye,[l(i(a(h)(`knowledge.workspace.organizer.showing`,{visible:G.value.length,total:W.value.length}))+` `,1),T.value===`all`?e(``,!0):(o(),b(`span`,be,` · `+i(V.value.find(({value:e})=>e===T.value)?.label),1))]),U.value.length?(o(),b(`button`,{key:0,class:`toolbar-action batch-confirm-action`,type:`button`,onClick:s[3]||=e=>z.value=!0},i(a(h)(`knowledge.workspace.organizer.batchConfirm`,{count:U.value.length})),1)):e(``,!0),x(`button`,{class:`toolbar-action`,type:`button`,onClick:s[4]||=e=>K()},i(a(h)(`common.actions.refresh`)),1)]),g.value?.truncated?(o(),b(`p`,xe,i(a(h)(`knowledge.workspace.organizer.truncated`)),1)):e(``,!0),y.value&&!g.value?(o(),b(`div`,Se,i(a(h)(`common.status.loadingKnowledge`)),1)):(o(),b(`div`,{key:2,class:_([`organizer-layout`,{"has-selection":P.value}])},[x(`section`,{class:`organizer-directory`,"aria-label":a(h)(`knowledge.workspace.organizer.directoryAria`)},[x(`div`,we,[x(`span`,null,i(a(h)(`knowledge.workspace.workspace.view.knowledgeContent`)),1),x(`span`,null,i(a(h)(`knowledge.workspace.workspace.view.columns.quadrant`)),1),x(`span`,null,i(a(h)(`knowledge.workspace.workspace.view.columns.review`)),1),x(`span`,null,i(a(h)(`knowledge.workspace.organizer.confirmationBasis`)),1),x(`span`,null,i(a(h)(`knowledge.workspace.organizer.updated`)),1)]),x(`div`,Te,[(o(!0),b(S,null,r(G.value,e=>(o(),b(`button`,{key:`${e.itemKind}:${e.id}`,type:`button`,class:_([`organizer-row`,{selected:P.value?.id===e.id}]),onClick:t=>P.value=e},[x(`span`,De,[x(`strong`,null,i(e.title),1),x(`small`,null,i(e.body),1)]),x(`span`,{class:_([`quadrant-chip`,e.originQuadrant])},i(a(D)(e.originQuadrant)),3),x(`span`,{class:_([`review-chip`,`state-${a(A)(e)}`])},i(a(E)(e)),3),x(`span`,Oe,i(a(k)(e)),1),x(`time`,null,i(a(M)(a(O)(e))),1)],10,Ee))),128))]),G.value.length?e(``,!0):(o(),b(`div`,ke,i(H.value.length?a(h)(`knowledge.workspace.organizer.noFilteredContent`):a(h)(`knowledge.workspace.organizer.noContent`)),1))],8,Ce),n(L,{item:P.value,graph:g.value,editable:``,onConfirm:s[5]||=e=>F.value=e,onEdit:s[6]||=e=>R.value=e,onOpenReplacement:ce},null,8,[`item`,`graph`])],2))]),n(I,{item:R.value,"personal-space-id":a(p).activePersonalSpace?.id??``,"personal-project-id":null,projects:a(p).state?.personalProjects??[],"replacement-items":H.value,onClose:s[7]||=e=>R.value=null,onSaved:s[8]||=e=>K()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),n(te,{item:F.value,"personal-space-id":a(p).activePersonalSpace?.id??``,"personal-project-id":null,onClose:s[9]||=e=>F.value=null,onSaved:s[10]||=e=>K()},null,8,[`item`,`personal-space-id`]),z.value?(o(),c(J,{key:0,groups:U.value,"personal-space-id":a(p).activePersonalSpace?.id??``,onClose:s[11]||=e=>z.value=!1,onSaved:s[12]||=e=>K()},null,8,[`groups`,`personal-space-id`])):e(``,!0)]))}}),[[`__scopeId`,`data-v-e7137842`]]);export{Ae as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,N as t,S as n}from"./console-B_Ena2DS.js";import{t as r}from"./KnowledgeWorkspace-CXPE4GCD.js";var i=e({__name:`KnowledgePage`,setup(e){return(e,i)=>(t(),n(r))}});export{i as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,D as r,E as i,F as a,J as o,K as s,M as c,N as l,R as u,S as d,T as f,U as p,V as m,_ as h,a as g,b as _,c as v,d as y,g as b,h as x,j as S,m as C,o as w,q as T,r as E,t as ee,v as te,w as D,x as O,y as k}from"./console-B_Ena2DS.js";import{_ as A,n as j,t as M,v as ne}from"./paths-BkULqmGI.js";import{t as re}from"./vue-router-DnD3hUm7.js";import{i as ie,n as N,r as ae,t as oe}from"./identity-CjBwYSMX.js";import{C as se,E as P,S as F,T as ce,_ as I,c as le,d as ue,g as de,h as fe,l as pe,m as me,o as he,p as ge,u as _e,v as ve,x as ye,y as be}from"./model-C-5RVIJ2.js";import{n as L,r as xe,t as Se}from"./KnowledgeInspector-BZkB2wJn.js";function Ce(e,t){let n=null;function r(){n=null,e()}return{schedule(){n!==null&&clearTimeout(n),n=setTimeout(r,t)},flush(){n!==null&&(clearTimeout(n),r())},cancel(){n!==null&&(clearTimeout(n),n=null)}}}var we={value:()=>{}};function Te(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new Ee(n)}function Ee(e){this._=e}function De(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}Ee.prototype=Te.prototype={constructor:Ee,on:function(e,t){var n=this._,r=De(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=R(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=z(n[i],e.name,t);else if(t==null)for(i in n)n[i]=z(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ee(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function R(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function z(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=we,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var B={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function V(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),B.hasOwnProperty(t)?{space:B[t],local:e}:e}function Oe(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function ke(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function H(e){var t=V(e);return(t.local?ke:Oe)(t)}function Ae(){}function je(e){return e==null?Ae:function(){return this.querySelector(e)}}function Me(e){typeof e!=`function`&&(e=je(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new U(r,this._parents)}function Ne(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Pe(){return[]}function Fe(e){return e==null?Pe:function(){return this.querySelectorAll(e)}}function Ie(e){return function(){return Ne(e.apply(this,arguments))}}function Le(e){e=typeof e==`function`?Ie(e):Fe(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new U(r,i)}function Re(e){return function(){return this.matches(e)}}function ze(e){return function(t){return t.matches(e)}}var Be=Array.prototype.find;function Ve(e){return function(){return Be.call(this.children,e)}}function He(){return this.firstElementChild}function Ue(e){return this.select(e==null?He:Ve(typeof e==`function`?e:ze(e)))}var We=Array.prototype.filter;function Ge(){return Array.from(this.children)}function Ke(e){return function(){return We.call(this.children,e)}}function qe(e){return this.selectAll(e==null?Ge:Ke(typeof e==`function`?e:ze(e)))}function Je(e){typeof e!=`function`&&(e=Re(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new U(r,this._parents)}function Ye(e){return Array(e.length)}function Xe(){return new U(this._enter||this._groups.map(Ye),this._parents)}function Ze(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ze.prototype={constructor:Ze,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Qe(e){return function(){return e}}function $e(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new Ze(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function et(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new Ze(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function tt(e){return e.__data__}function nt(e,t){if(!arguments.length)return Array.from(this,tt);var n=t?et:$e,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Qe(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=rt(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new U(o,r),o._enter=s,o._exit=c,o}function rt(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function it(){return new U(this._exit||this._groups.map(Ye),this._parents)}function at(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function ot(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new U(s,this._parents)}function st(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ct(e){e||=lt;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new U(i,this._parents).order()}function lt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function ut(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function dt(){return Array.from(this)}function ft(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function pt(){let e=0;for(let t of this)++e;return e}function mt(){return!this.node()}function ht(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function gt(e){return function(){this.removeAttribute(e)}}function _t(e){return function(){this.removeAttributeNS(e.space,e.local)}}function vt(e,t){return function(){this.setAttribute(e,t)}}function yt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function bt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function xt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function St(e,t){var n=V(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?_t:gt:typeof t==`function`?n.local?xt:bt:n.local?yt:vt)(n,t))}function Ct(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function wt(e){return function(){this.style.removeProperty(e)}}function Tt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Et(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Dt(e,t,n){return arguments.length>1?this.each((t==null?wt:typeof t==`function`?Et:Tt)(e,t,n??``)):Ot(this.node(),e)}function Ot(e,t){return e.style.getPropertyValue(t)||Ct(e).getComputedStyle(e,null).getPropertyValue(t)}function kt(e){return function(){delete this[e]}}function At(e,t){return function(){this[e]=t}}function jt(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Mt(e,t){return arguments.length>1?this.each((t==null?kt:typeof t==`function`?jt:At)(e,t)):this.node()[e]}function Nt(e){return e.trim().split(/^|\s+/)}function Pt(e){return e.classList||new Ft(e)}function Ft(e){this._node=e,this._names=Nt(e.getAttribute(`class`)||``)}Ft.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function It(e,t){for(var n=Pt(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Lt(e,t){for(var n=Pt(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Rt(e){return function(){It(this,e)}}function zt(e){return function(){Lt(this,e)}}function Bt(e,t){return function(){(t.apply(this,arguments)?It:Lt)(this,e)}}function Vt(e,t){var n=Nt(e+``);if(arguments.length<2){for(var r=Pt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Bt:t?Rt:zt)(n,t))}function Ht(){this.textContent=``}function Ut(e){return function(){this.textContent=e}}function Wt(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Gt(e){return arguments.length?this.each(e==null?Ht:(typeof e==`function`?Wt:Ut)(e)):this.node().textContent}function Kt(){this.innerHTML=``}function qt(e){return function(){this.innerHTML=e}}function Jt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Yt(e){return arguments.length?this.each(e==null?Kt:(typeof e==`function`?Jt:qt)(e)):this.node().innerHTML}function Xt(){this.nextSibling&&this.parentNode.appendChild(this)}function Zt(){return this.each(Xt)}function Qt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function $t(){return this.each(Qt)}function en(e){var t=typeof e==`function`?e:H(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function tn(){return null}function nn(e,t){var n=typeof e==`function`?e:H(e),r=t==null?tn:typeof t==`function`?t:je(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function rn(){var e=this.parentNode;e&&e.removeChild(this)}function an(){return this.each(rn)}function on(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function sn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function cn(e){return this.select(e?sn:on)}function ln(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function un(e){return function(t){e.call(this,t,this.__data__)}}function dn(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function fn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function pn(e,t,n){return function(){var r=this.__on,i,a=un(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function mn(e,t,n){var r=dn(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?pn:fn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function hn(e,t,n){var r=Ct(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function gn(e,t){return function(){return hn(this,e,t)}}function _n(e,t){return function(){return hn(this,e,t.apply(this,arguments))}}function vn(e,t){return this.each((typeof t==`function`?_n:gn)(e,t))}function*yn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var bn=[null];function U(e,t){this._groups=e,this._parents=t}function xn(){return new U([[document.documentElement]],bn)}function Sn(){return this}U.prototype=xn.prototype={constructor:U,select:Me,selectAll:Le,selectChild:Ue,selectChildren:qe,filter:Je,data:nt,enter:Xe,exit:it,join:at,merge:ot,selection:Sn,order:st,sort:ct,call:ut,nodes:dt,node:ft,size:pt,empty:mt,each:ht,attr:St,style:Dt,property:Mt,classed:Vt,text:Gt,html:Yt,raise:Zt,lower:$t,append:en,insert:nn,remove:an,clone:cn,datum:ln,on:mn,dispatch:vn,[Symbol.iterator]:yn};function W(e){return typeof e==`string`?new U([[document.querySelector(e)]],[document.documentElement]):new U([[e]],bn)}function Cn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function wn(e,t){if(e=Cn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var Tn={passive:!1},En={capture:!0,passive:!1};function Dn(e){e.stopImmediatePropagation()}function On(e){e.preventDefault(),e.stopImmediatePropagation()}function kn(e){var t=e.document.documentElement,n=W(e).on(`dragstart.drag`,On,En);`onselectstart`in t?n.on(`selectstart.drag`,On,En):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function An(e,t){var n=e.document.documentElement,r=W(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,On,En),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var jn=e=>()=>e;function Mn(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Mn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Nn(e){return!e.ctrlKey&&!e.button}function Pn(){return this.parentNode}function Fn(e,t){return t??{x:e.x,y:e.y}}function In(){return navigator.maxTouchPoints||`ontouchstart`in this}function Ln(){var e=Nn,t=Pn,n=Fn,r=In,i={},a=Te(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,Tn).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!(u||!e.call(this,n,r))){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(W(n.view).on(`mousemove.drag`,m,En).on(`mouseup.drag`,h,En),kn(n.view),Dn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(On(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){W(e.view).on(`mousemove.drag mouseup.drag`,null),An(e.view,l),On(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r)){var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s,c;for(s=0;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(Dn(n),c(`start`,n,i[s]))}}function _(e){var t=e.changedTouches,n=t.length,r,a;for(r=0;r<n;++r)(a=i[t[r].identifier])&&(On(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(Dn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=wn(l||r,t),p,m,h;if((h=n.call(e,new Mn(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=wn(l||a,t),_=o;break}u.call(r,e,new Mn(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:jn(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:jn(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:jn(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:jn(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function Rn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function zn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Bn(){}var Vn=.7,Hn=1/Vn,Un=`\\s*([+-]?\\d+)\\s*`,Wn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Gn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Kn=/^#([0-9a-f]{3,8})$/,qn=RegExp(`^rgb\\(${Un},${Un},${Un}\\)$`),Jn=RegExp(`^rgb\\(${Gn},${Gn},${Gn}\\)$`),Yn=RegExp(`^rgba\\(${Un},${Un},${Un},${Wn}\\)$`),Xn=RegExp(`^rgba\\(${Gn},${Gn},${Gn},${Wn}\\)$`),Zn=RegExp(`^hsl\\(${Wn},${Gn},${Gn}\\)$`),Qn=RegExp(`^hsla\\(${Wn},${Gn},${Gn},${Wn}\\)$`),$n={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Rn(Bn,ir,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:er,formatHex:er,formatHex8:tr,formatHsl:nr,formatRgb:rr,toString:rr});function er(){return this.rgb().formatHex()}function tr(){return this.rgb().formatHex8()}function nr(){return gr(this).formatHsl()}function rr(){return this.rgb().formatRgb()}function ir(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Kn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?ar(t):n===3?new G(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?or(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?or(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=qn.exec(e))?new G(t[1],t[2],t[3],1):(t=Jn.exec(e))?new G(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Yn.exec(e))?or(t[1],t[2],t[3],t[4]):(t=Xn.exec(e))?or(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Zn.exec(e))?hr(t[1],t[2]/100,t[3]/100,1):(t=Qn.exec(e))?hr(t[1],t[2]/100,t[3]/100,t[4]):$n.hasOwnProperty(e)?ar($n[e]):e===`transparent`?new G(NaN,NaN,NaN,0):null}function ar(e){return new G(e>>16&255,e>>8&255,e&255,1)}function or(e,t,n,r){return r<=0&&(e=t=n=NaN),new G(e,t,n,r)}function sr(e){return e instanceof Bn||(e=ir(e)),e?(e=e.rgb(),new G(e.r,e.g,e.b,e.opacity)):new G}function cr(e,t,n,r){return arguments.length===1?sr(e):new G(e,t,n,r??1)}function G(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Rn(G,cr,zn(Bn,{brighter(e){return e=e==null?Hn:Hn**+e,new G(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Vn:Vn**+e,new G(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new G(pr(this.r),pr(this.g),pr(this.b),fr(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:lr,formatHex:lr,formatHex8:ur,formatRgb:dr,toString:dr}));function lr(){return`#${mr(this.r)}${mr(this.g)}${mr(this.b)}`}function ur(){return`#${mr(this.r)}${mr(this.g)}${mr(this.b)}${mr((isNaN(this.opacity)?1:this.opacity)*255)}`}function dr(){let e=fr(this.opacity);return`${e===1?`rgb(`:`rgba(`}${pr(this.r)}, ${pr(this.g)}, ${pr(this.b)}${e===1?`)`:`, ${e})`}`}function fr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function pr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function mr(e){return e=pr(e),(e<16?`0`:``)+e.toString(16)}function hr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new K(e,t,n,r)}function gr(e){if(e instanceof K)return new K(e.h,e.s,e.l,e.opacity);if(e instanceof Bn||(e=ir(e)),!e)return new K;if(e instanceof K)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new K(o,s,c,e.opacity)}function _r(e,t,n,r){return arguments.length===1?gr(e):new K(e,t,n,r??1)}function K(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Rn(K,_r,zn(Bn,{brighter(e){return e=e==null?Hn:Hn**+e,new K(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Vn:Vn**+e,new K(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new G(br(e>=240?e-240:e+120,i,r),br(e,i,r),br(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new K(vr(this.h),yr(this.s),yr(this.l),fr(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=fr(this.opacity);return`${e===1?`hsl(`:`hsla(`}${vr(this.h)}, ${yr(this.s)*100}%, ${yr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function vr(e){return e=(e||0)%360,e<0?e+360:e}function yr(e){return Math.max(0,Math.min(1,e||0))}function br(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var xr=e=>()=>e;function Sr(e,t){return function(n){return e+n*t}}function Cr(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function wr(e){return(e=+e)==1?Tr:function(t,n){return n-t?Cr(t,n,e):xr(isNaN(t)?n:t)}}function Tr(e,t){var n=t-e;return n?Sr(e,n):xr(isNaN(e)?t:e)}var Er=(function e(t){var n=wr(t);function r(e,t){var r=n((e=cr(e)).r,(t=cr(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Tr(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Dr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Or=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,kr=new RegExp(Or.source,`g`);function Ar(e){return function(){return e}}function jr(e){return function(t){return e(t)+``}}function Mr(e,t){var n=Or.lastIndex=kr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Or.exec(e))&&(i=kr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Dr(r,i)})),n=kr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?jr(c[0].x):Ar(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}var Nr=180/Math.PI,Pr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Fr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Nr,skewX:Math.atan(c)*Nr,scaleX:o,scaleY:s}}var Ir;function Lr(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Pr:Fr(t.a,t.b,t.c,t.d,t.e,t.f)}function Rr(e){return e==null||(Ir||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Ir.setAttribute(`transform`,e),!(e=Ir.transform.baseVal.consolidate()))?Pr:(e=e.matrix,Fr(e.a,e.b,e.c,e.d,e.e,e.f))}function zr(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Dr(e,i)},{i:c-2,x:Dr(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Dr(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Dr(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Dr(e,n)},{i:s-2,x:Dr(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var Br=zr(Lr,`px, `,`px)`,`deg)`),Vr=zr(Rr,`, `,`)`,`)`),Hr=1e-12;function Ur(e){return((e=Math.exp(e))+1/e)/2}function Wr(e){return((e=Math.exp(e))-1/e)/2}function Gr(e){return((e=Math.exp(2*e))-1)/(e+1)}var Kr=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<Hr)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=Ur(y),c=s/(n*g)*(i*Gr(t*r+y)-Wr(y));return[a+c*d,o+c*f,s*i/Ur(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),qr=0,Jr=0,Yr=0,Xr=1e3,Zr,Qr,$r=0,ei=0,ti=0,ni=typeof performance==`object`&&performance.now?performance:Date,ri=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ii(){return ei||=(ri(ai),ni.now()+ti)}function ai(){ei=0}function oi(){this._call=this._time=this._next=null}oi.prototype=si.prototype={constructor:oi,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?ii():+n)+(t==null?0:+t),!this._next&&Qr!==this&&(Qr?Qr._next=this:Zr=this,Qr=this),this._call=e,this._time=n,fi()},stop:function(){this._call&&(this._call=null,this._time=1/0,fi())}};function si(e,t,n){var r=new oi;return r.restart(e,t,n),r}function ci(){ii(),++qr;for(var e=Zr,t;e;)(t=ei-e._time)>=0&&e._call.call(void 0,t),e=e._next;--qr}function li(){ei=($r=ni.now())+ti,qr=Jr=0;try{ci()}finally{qr=0,di(),ei=0}}function ui(){var e=ni.now(),t=e-$r;t>Xr&&(ti-=t,$r=e)}function di(){for(var e,t=Zr,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Zr=n);Qr=e,fi(r)}function fi(e){qr||(Jr&&=clearTimeout(Jr),e-ei>24?(e<1/0&&(Jr=setTimeout(li,e-ni.now()-ti)),Yr&&=clearInterval(Yr)):(Yr||=($r=ni.now(),setInterval(ui,Xr)),qr=1,ri(li)))}function pi(e,t,n){var r=new oi;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var mi=Te(`start`,`end`,`cancel`,`interrupt`),hi=[];function gi(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;yi(e,n,{name:t,index:r,group:i,on:mi,tween:hi,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function _i(e,t){var n=q(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function vi(e,t){var n=q(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function q(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function yi(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=si(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return pi(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(pi(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function bi(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function xi(e){return this.each(function(){bi(this,e)})}function Si(e,t){var n,r;return function(){var i=vi(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Ci(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=vi(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function wi(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=q(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Si:Ci)(n,e,t))}function Ti(e,t,n){var r=e._id;return e.each(function(){var e=vi(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return q(e,r).value[t]}}function Ei(e,t){var n;return(typeof t==`number`?Dr:t instanceof ir?Er:(n=ir(t))?(t=n,Er):Mr)(e,t)}function Di(e){return function(){this.removeAttribute(e)}}function Oi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ki(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ai(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function ji(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Mi(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Ni(e,t){var n=V(e),r=n===`transform`?Vr:Ei;return this.attrTween(e,typeof t==`function`?(n.local?Mi:ji)(n,r,Ti(this,`attr.`+e,t)):t==null?(n.local?Oi:Di)(n):(n.local?Ai:ki)(n,r,t))}function Pi(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Fi(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Ii(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Fi(e,i)),n}return i._value=t,i}function Li(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Pi(e,i)),n}return i._value=t,i}function Ri(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=V(e);return this.tween(n,(r.local?Ii:Li)(r,t))}function zi(e,t){return function(){_i(this,e).delay=+t.apply(this,arguments)}}function Bi(e,t){return t=+t,function(){_i(this,e).delay=t}}function Vi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?zi:Bi)(t,e)):q(this.node(),t).delay}function Hi(e,t){return function(){vi(this,e).duration=+t.apply(this,arguments)}}function Ui(e,t){return t=+t,function(){vi(this,e).duration=t}}function Wi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Hi:Ui)(t,e)):q(this.node(),t).duration}function Gi(e,t){if(typeof t!=`function`)throw Error();return function(){vi(this,e).ease=t}}function Ki(e){var t=this._id;return arguments.length?this.each(Gi(t,e)):q(this.node(),t).ease}function qi(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();vi(this,e).ease=n}}function Ji(e){if(typeof e!=`function`)throw Error();return this.each(qi(this._id,e))}function Yi(e){typeof e!=`function`&&(e=Re(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new wa(r,this._parents,this._name,this._id)}function Xi(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new wa(o,this._parents,this._name,this._id)}function Zi(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function Qi(e,t,n){var r,i,a=Zi(t)?_i:vi;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function $i(e,t){var n=this._id;return arguments.length<2?q(this.node(),n).on.on(e):this.each(Qi(n,e,t))}function ea(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ta(){return this.on(`end.remove`,ea(this._id))}function na(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=je(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,gi(l[f],t,n,f,l,q(u,n)));return new wa(a,this._parents,t,n)}function ra(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Fe(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=q(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&gi(p,t,n,h,f,m);a.push(f),o.push(u)}return new wa(a,o,t,n)}var ia=xn.prototype.constructor;function aa(){return new ia(this._groups,this._parents)}function oa(e,t){var n,r,i;return function(){var a=Ot(this,e),o=(this.style.removeProperty(e),Ot(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function sa(e){return function(){this.style.removeProperty(e)}}function ca(e,t,n){var r,i=n+``,a;return function(){var o=Ot(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function la(e,t,n){var r,i,a;return function(){var o=Ot(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Ot(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function ua(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=vi(this,e),l=c.on,u=c.value[a]==null?s||=sa(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function da(e,t,n){var r=(e+=``)==`transform`?Br:Ei;return t==null?this.styleTween(e,oa(e,r)).on(`end.style.`+e,sa(e)):typeof t==`function`?this.styleTween(e,la(e,r,Ti(this,`style.`+e,t))).each(ua(this._id,e)):this.styleTween(e,ca(e,r,t),n).on(`end.style.`+e,null)}function fa(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function pa(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&fa(e,a,n)),r}return a._value=t,a}function ma(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,pa(e,t,n??``))}function ha(e){return function(){this.textContent=e}}function ga(e){return function(){var t=e(this);this.textContent=t??``}}function _a(e){return this.tween(`text`,typeof e==`function`?ga(Ti(this,`text`,e)):ha(e==null?``:e+``))}function va(e){return function(t){this.textContent=e.call(this,t)}}function ya(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&va(r)),t}return r._value=e,r}function ba(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,ya(e))}function xa(){for(var e=this._name,t=this._id,n=Ea(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=q(c,t);gi(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new wa(r,this._parents,e,n)}function Sa(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=vi(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ca=0;function wa(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Ta(e){return xn().transition(e)}function Ea(){return++Ca}var Da=xn.prototype;wa.prototype=Ta.prototype={constructor:wa,select:na,selectAll:ra,selectChild:Da.selectChild,selectChildren:Da.selectChildren,filter:Yi,merge:Xi,selection:aa,transition:xa,call:Da.call,nodes:Da.nodes,node:Da.node,size:Da.size,empty:Da.empty,each:Da.each,on:$i,attr:Ni,attrTween:Ri,style:da,styleTween:ma,text:_a,textTween:ba,remove:ta,tween:wi,delay:Vi,duration:Wi,ease:Ki,easeVarying:Ji,end:Sa,[Symbol.iterator]:Da[Symbol.iterator]};function Oa(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var ka={time:null,delay:0,duration:250,ease:Oa};function Aa(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function ja(e){var t,n;e instanceof wa?(t=e._id,e=e._name):(t=Ea(),(n=ka).time=ii(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&gi(c,e,t,l,o,n||Aa(c,t));return new wa(r,this._parents,e,t)}xn.prototype.interrupt=xi,xn.prototype.transition=ja;var{abs:Ma,max:Na,min:Pa}=Math;[`w`,`e`].map(Fa),[`n`,`s`].map(Fa),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Fa);function Fa(e){return{type:e}}function Ia(e,t){var n,r=1;e??=0,t??=0;function i(){var i,a=n.length,o,s=0,c=0;for(i=0;i<a;++i)o=n[i],s+=o.x,c+=o.y;for(s=(s/a-e)*r,c=(c/a-t)*r,i=0;i<a;++i)o=n[i],o.x-=s,o.y-=c}return i.initialize=function(e){n=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(r=+e,i):r},i}function La(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return Ra(this.cover(t,n),t,n,e)}function Ra(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,d,f,p,m,h,g,_,v;if(!a)return e._root=o,e;for(;a.length;)if((h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(v=(m>=f)<<1|p>=d));return i[v]=a,i[_]=o,e}function za(e){var t,n,r=e.length,i,a,o=Array(r),s=Array(r),c=1/0,l=1/0,u=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,s[n]=a,i<c&&(c=i),i>u&&(u=i),a<l&&(l=a),a>d&&(d=a));if(c>u||l>d)return this;for(this.cover(c,l).cover(u,d),n=0;n<r;++n)Ra(this,o[n],s[n],e[n]);return this}function Ba(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,s=this._root,c,l;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,c=[,,,,],c[l]=s,s=c,o*=2,l){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o;break}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function Va(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function Ha(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function J(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function Ua(e,t,n){var r,i=this._x0,a=this._y0,o,s,c,l,u=this._x1,d=this._y1,f=[],p=this._root,m,h;for(p&&f.push(new J(p,i,a,u,d)),n==null?n=1/0:(i=e-n,a=t-n,u=e+n,d=t+n,n*=n);m=f.pop();)if(!(!(p=m.node)||(o=m.x0)>u||(s=m.y0)>d||(c=m.x1)<i||(l=m.y1)<a))if(p.length){var g=(o+c)/2,_=(s+l)/2;f.push(new J(p[3],g,_,c,l),new J(p[2],o,_,g,l),new J(p[1],g,s,c,_),new J(p[0],o,s,g,_)),(h=(t>=_)<<1|e>=g)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-h],f[f.length-1-h]=m)}else{var v=e-+this._x.call(null,p.data),y=t-+this._y.call(null,p.data),b=v*v+y*y;if(b<n){var x=Math.sqrt(n=b);i=e-x,a=t-x,u=e+x,d=t+x,r=p.data}}return r}function Wa(e){if(isNaN(u=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,s=this._y0,c=this._x1,l=this._y1,u,d,f,p,m,h,g,_;if(!n)return this;if(n.length)for(;;){if((m=u>=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[_]=n:this._root=n),this):(this._root=a,this)}function Ga(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function Ka(){return this._root}function qa(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function Ja(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new J(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(a+s)/2,u=(o+c)/2;(i=r[3])&&t.push(new J(i,l,u,s,c)),(i=r[2])&&t.push(new J(i,a,u,l,c)),(i=r[1])&&t.push(new J(i,l,o,s,u)),(i=r[0])&&t.push(new J(i,a,o,l,u))}return this}function Ya(e){var t=[],n=[],r;for(this._root&&t.push(new J(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,c=r.x1,l=r.y1,u=(o+c)/2,d=(s+l)/2;(a=i[0])&&t.push(new J(a,o,s,u,d)),(a=i[1])&&t.push(new J(a,u,s,c,d)),(a=i[2])&&t.push(new J(a,o,d,u,l)),(a=i[3])&&t.push(new J(a,u,d,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function Xa(e){return e[0]}function Za(e){return arguments.length?(this._x=e,this):this._x}function Qa(e){return e[1]}function $a(e){return arguments.length?(this._y=e,this):this._y}function eo(e,t,n){var r=new to(t??Xa,n??Qa,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function to(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function no(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var Y=eo.prototype=to.prototype;Y.copy=function(){var e=new to(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=no(t),e;for(n=[{source:t,target:e._root=[,,,,]}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=[,,,,]}):t.target[i]=no(r));return e},Y.add=La,Y.addAll=za,Y.cover=Ba,Y.data=Va,Y.extent=Ha,Y.find=Ua,Y.remove=Wa,Y.removeAll=Ga,Y.root=Ka,Y.size=qa,Y.visit=Ja,Y.visitAfter=Ya,Y.x=Za,Y.y=$a;function X(e){return function(){return e}}function ro(e){return(e()-.5)*1e-6}function io(e){return e.x+e.vx}function ao(e){return e.y+e.vy}function oo(e){var t,n,r,i=1,a=1;typeof e!=`function`&&(e=X(e==null?1:+e));function o(){for(var e,o=t.length,c,l,u,d,f,p,m=0;m<a;++m)for(c=eo(t,io,ao).visitAfter(s),e=0;e<o;++e)l=t[e],f=n[l.index],p=f*f,u=l.x+l.vx,d=l.y+l.vy,c.visit(h);function h(e,t,n,a,o){var s=e.data,c=e.r,m=f+c;if(s){if(s.index>l.index){var h=u-s.x-s.vx,g=d-s.y-s.vy,_=h*h+g*g;_<m*m&&(h===0&&(h=ro(r),_+=h*h),g===0&&(g=ro(r),_+=g*g),_=(m-(_=Math.sqrt(_)))/_*i,l.vx+=(h*=_)*(m=(c*=c)/(p+c)),l.vy+=(g*=_)*m,s.vx-=h*(m=1-m),s.vy-=g*m)}return}return t>u+m||a<u-m||n>d+m||o<d-m}}function s(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function c(){if(t){var r,i=t.length,a;for(n=Array(i),r=0;r<i;++r)a=t[r],n[a.index]=+e(a,r,t)}}return o.initialize=function(e,n){t=e,r=n,c()},o.iterations=function(e){return arguments.length?(a=+e,o):a},o.strength=function(e){return arguments.length?(i=+e,o):i},o.radius=function(t){return arguments.length?(e=typeof t==`function`?t:X(+t),c(),o):e},o}function so(e){return e.index}function co(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function lo(e){var t=so,n=d,r,i=X(30),a,o,s,c,l,u=1;e??=[];function d(e){return 1/Math.min(s[e.source.index],s[e.target.index])}function f(t){for(var n=0,i=e.length;n<u;++n)for(var o=0,s,d,f,p,m,h,g;o<i;++o)s=e[o],d=s.source,f=s.target,p=f.x+f.vx-d.x-d.vx||ro(l),m=f.y+f.vy-d.y-d.vy||ro(l),h=Math.sqrt(p*p+m*m),h=(h-a[o])/h*t*r[o],p*=h,m*=h,f.vx-=p*(g=c[o]),f.vy-=m*g,d.vx+=p*(g=1-g),d.vy+=m*g}function p(){if(o){var n,i=o.length,l=e.length,u=new Map(o.map((e,n)=>[t(e,n,o),e])),d;for(n=0,s=Array(i);n<l;++n)d=e[n],d.index=n,typeof d.source!=`object`&&(d.source=co(u,d.source)),typeof d.target!=`object`&&(d.target=co(u,d.target)),s[d.source.index]=(s[d.source.index]||0)+1,s[d.target.index]=(s[d.target.index]||0)+1;for(n=0,c=Array(l);n<l;++n)d=e[n],c[n]=s[d.source.index]/(s[d.source.index]+s[d.target.index]);r=Array(l),m(),a=Array(l),h()}}function m(){if(o)for(var t=0,i=e.length;t<i;++t)r[t]=+n(e[t],t,e)}function h(){if(o)for(var t=0,n=e.length;t<n;++t)a[t]=+i(e[t],t,e)}return f.initialize=function(e,t){o=e,l=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(t=e,f):t},f.iterations=function(e){return arguments.length?(u=+e,f):u},f.strength=function(e){return arguments.length?(n=typeof e==`function`?e:X(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:X(+e),h(),f):i},f}var uo=1664525,fo=1013904223,po=4294967296;function mo(){let e=1;return()=>(e=(uo*e+fo)%po)/po}function ho(e){return e.x}function go(e){return e.y}var _o=10,vo=Math.PI*(3-Math.sqrt(5));function yo(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=si(d),l=Te(`tick`,`end`),u=mo();e??=[];function d(){f(),l.call(`tick`,t),n<r&&(c.stop(),l.call(`end`,t))}function f(r){var c,l=e.length,u;r===void 0&&(r=1);for(var d=0;d<r;++d)for(n+=(a-n)*i,s.forEach(function(e){e(n)}),c=0;c<l;++c)u=e[c],u.fx==null?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),u.fy==null?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return t}function p(){for(var t=0,n=e.length,r;t<n;++t){if(r=e[t],r.index=t,r.fx!=null&&(r.x=r.fx),r.fy!=null&&(r.y=r.fy),isNaN(r.x)||isNaN(r.y)){var i=_o*Math.sqrt(.5+t),a=t*vo;r.x=i*Math.cos(a),r.y=i*Math.sin(a)}(isNaN(r.vx)||isNaN(r.vy))&&(r.vx=r.vy=0)}}function m(t){return t.initialize&&t.initialize(e,u),t}return p(),t={tick:f,restart:function(){return c.restart(d),t},stop:function(){return c.stop(),t},nodes:function(n){return arguments.length?(e=n,p(),s.forEach(m),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(a=+e,t):a},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},randomSource:function(e){return arguments.length?(u=e,s.forEach(m),t):u},force:function(e,n){return arguments.length>1?(n==null?s.delete(e):s.set(e,m(n)),t):s.get(e)},find:function(t,n,r){var i=0,a=e.length,o,s,c,l,u;for(r==null?r=1/0:r*=r,i=0;i<a;++i)l=e[i],o=t-l.x,s=n-l.y,c=o*o+s*s,c<r&&(u=l,r=c);return u},on:function(e,n){return arguments.length>1?(l.on(e,n),t):l.on(e)}}}function bo(){var e,t,n,r,i=X(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=eo(e,ho,go).visitAfter(d);for(r=n,i=0;i<a;++i)t=e[i],o.visit(f)}function u(){if(e){var t,n=e.length,r;for(a=Array(n),t=0;t<n;++t)r=e[t],a[r.index]=+i(r,t,e)}}function d(e){var t=0,n,r,i=0,o,s,c;if(e.length){for(o=s=c=0;c<4;++c)(n=e[c])&&(r=Math.abs(n.value))&&(t+=n.value,i+=r,o+=r*n.x,s+=r*n.y);e.x=o/i,e.y=s/i}else{n=e,n.x=n.data.x,n.y=n.data.y;do t+=a[n.data.index];while(n=n.next)}e.value=t}function f(e,i,l,u){if(!e.value)return!0;var d=e.x-t.x,f=e.y-t.y,p=u-i,m=d*d+f*f;if(p*p/c<m)return m<s&&(d===0&&(d=ro(n),m+=d*d),f===0&&(f=ro(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)),t.vx+=d*e.value*r/m,t.vy+=f*e.value*r/m),!0;if(!(e.length||m>=s)){(e.data!==t||e.next)&&(d===0&&(d=ro(n),m+=d*d),f===0&&(f=ro(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)));do e.data!==t&&(p=a[e.data.index]*r/m,t.vx+=d*p,t.vy+=f*p);while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,u()},l.strength=function(e){return arguments.length?(i=typeof e==`function`?e:X(+e),u(),l):i},l.distanceMin=function(e){return arguments.length?(o=e*e,l):Math.sqrt(o)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(c=e*e,l):Math.sqrt(c)},l}function xo(e,t,n){var r,i=X(.1),a,o;typeof e!=`function`&&(e=X(+e)),t??=0,n??=0;function s(e){for(var i=0,s=r.length;i<s;++i){var c=r[i],l=c.x-t||1e-6,u=c.y-n||1e-6,d=Math.sqrt(l*l+u*u),f=(o[i]-d)*a[i]*e/d;c.vx+=l*f,c.vy+=u*f}}function c(){if(r){var t,n=r.length;for(a=Array(n),o=Array(n),t=0;t<n;++t)o[t]=+e(r[t],t,r),a[t]=isNaN(o[t])?0:+i(r[t],t,r)}}return s.initialize=function(e){r=e,c()},s.strength=function(e){return arguments.length?(i=typeof e==`function`?e:X(+e),c(),s):i},s.radius=function(t){return arguments.length?(e=typeof t==`function`?t:X(+t),c(),s):e},s.x=function(e){return arguments.length?(t=+e,s):t},s.y=function(e){return arguments.length?(n=+e,s):n},s}function So(e){var t=X(.1),n,r,i;typeof e!=`function`&&(e=X(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vx+=(i[t]-o.x)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:X(+e),o(),a):t},a.x=function(t){return arguments.length?(e=typeof t==`function`?t:X(+t),o(),a):e},a}function Co(e){var t=X(.1),n,r,i;typeof e!=`function`&&(e=X(e==null?0:+e));function a(e){for(var t=0,a=n.length,o;t<a;++t)o=n[t],o.vy+=(i[t]-o.y)*r[t]*e}function o(){if(n){var a,o=n.length;for(r=Array(o),i=Array(o),a=0;a<o;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return a.initialize=function(e){n=e,o()},a.strength=function(e){return arguments.length?(t=typeof e==`function`?e:X(+e),o(),a):t},a.y=function(t){return arguments.length?(e=typeof t==`function`?t:X(+t),o(),a):e},a}var wo=e=>()=>e;function To(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Eo(e,t,n){this.k=e,this.x=t,this.y=n}Eo.prototype={constructor:Eo,scale:function(e){return e===1?this:new Eo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Eo(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var Do=new Eo(1,0,0);Oo.prototype=Eo.prototype;function Oo(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Do;return e.__zoom}function ko(e){e.stopImmediatePropagation()}function Ao(e){e.preventDefault(),e.stopImmediatePropagation()}function jo(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function Mo(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function No(){return this.__zoom||Do}function Po(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Fo(){return navigator.maxTouchPoints||`ontouchstart`in this}function Io(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Lo(){var e=jo,t=Mo,n=Io,r=Po,i=Fo,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Kr,l=Te(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,No).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,ee).on(`touchmove.zoom`,te).on(`touchend.zoom touchcancel.zoom`,D).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,No),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(Do.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Eo(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Eo(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Eo(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=W(this.that).datum();l.call(e,this.that,new To(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=wn(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],bi(this),s.start();Ao(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=W(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=wn(t,i),l=t.clientX,u=t.clientY;kn(t.view),ko(t),a.mouse=[c,this.__zoom.invert(c)],bi(this),a.start();function d(e){if(Ao(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=wn(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),An(e.view,a.moved),Ao(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=wn(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);Ao(r),s>0?W(this).transition().duration(s).call(x,d,c,r):W(this).call(_.transform,d,c,r)}}function ee(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(ko(t),s=0;s<i;++s)c=r[s],l=wn(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),bi(this),a.start())}}function te(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(Ao(e),s=0;s<a;++s)c=i[s],l=wn(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function D(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(ko(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=wn(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=W(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:wo(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:wo(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:wo(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:wo([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var Ro=`0 0 24 24`,Z={assessment:`M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20ZM8 12l2.7 2.7L16 9`,code:`M8 9l-4 3 4 3M16 9l4 3-4 3M14 5l-4 14`,decision:`M5 4h14v16H5zM8 12l2.5 2.5L16 9`,folder:`M3 6h7l2 2h9v11H3z`,hierarchy:`M9 3h6v4H9zM4 17h6v4H4zM14 17h6v4h-6zM12 7v5M7 12h10M7 12v5M17 12v5`,link:`M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.8 1.7M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.8-1.7`,measure:`M4 16 16 4l4 4L8 20zM13 7l4 4M10 10l2 2M7 13l4 4`,purpose:`M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20ZM12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12ZM12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4`,scope:`M8 3H3v5M16 3h5v5M3 16v5h5M21 16v5h-5`,shield:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10ZM9 12l2 2 4-4`,source:`M6 3h8l4 4v14H6zM14 3v5h4M9 13h6M9 17h6`,transfer:`M4 7h11M12 4l3 3-3 3M20 17H9M12 14l-3 3 3 3`},zo={PART_OF:{messageKey:`PART_OF`,iconPath:Z.hierarchy},HAS_SOURCE:{messageKey:`HAS_SOURCE`,iconPath:Z.source},HAS_PURPOSE:{messageKey:`HAS_PURPOSE`,iconPath:Z.purpose},HAS_SCOPE:{messageKey:`HAS_SCOPE`,iconPath:Z.scope},GOVERNS:{messageKey:`GOVERNS`,iconPath:Z.shield},HAS_TECHNICAL_SUMMARY:{messageKey:`HAS_TECHNICAL_SUMMARY`,iconPath:Z.code},ASSESSED_AS:{messageKey:`ASSESSED_AS`,iconPath:Z.assessment},MEASURES:{messageKey:`MEASURES`,iconPath:Z.measure},CONTAINS_PROJECT:{messageKey:`CONTAINS_PROJECT`,iconPath:Z.folder},USES_KNOWLEDGE_FROM:{messageKey:`USES_KNOWLEDGE_FROM`,iconPath:Z.transfer},DEPENDS_ON:{messageKey:`DEPENDS_ON`,iconPath:Z.link},PROVIDES_TO:{messageKey:`PROVIDES_TO`,iconPath:Z.transfer},SHARES_CAPABILITY_WITH:{messageKey:`SHARES_CAPABILITY_WITH`,iconPath:Z.link},RELATED_TO:{messageKey:`RELATED_TO`,iconPath:Z.link},HAS_DECISION:{messageKey:`HAS_DECISION`,iconPath:Z.decision}},Bo={messageKey:`fallback`,iconPath:Z.link},Vo=RegExp(`\\b(${Object.keys(zo).join(`|`)})\\b`,`g`);function Ho(e){let t=zo[e.trim().toUpperCase()]??Bo,n=`knowledge.domain.relations.${t.messageKey}`;return{type:e,label:y(`${n}.label`),description:y(`${n}.description`),iconPath:t.iconPath}}function Uo(e){return e.replace(Vo,e=>y(`knowledge.domain.relations.quoted`,{label:Ho(e).label}))}function Wo(e){let t=new Set,n=[];for(let r of e){let e=r.trim().toUpperCase();!e||t.has(e)||(t.add(e),n.push(Ho(r)))}return n}var Go=[`#537966`,`#867550`,`#65758a`,`#8a655f`,`#6f6a88`,`#598080`,`#8a765f`],Ko=.18,qo=5,Jo=1.5;function Yo(e,t,n={}){let r=typeof n==`function`?{onNodeSelect:n}:n,i=Math.max(e.clientWidth||0,760),a=Math.max(e.clientHeight||0,520),o=t.nodes.map(e=>({...e})),s=new Set(o.map(({id:e})=>e)),c=t.edges.map(Xo).filter(({sourceId:e,targetId:t})=>s.has(e)&&s.has(t)),l=W(e);l.selectAll(`*`).remove(),l.attr(`viewBox`,`0 0 ${i} ${a}`).attr(`preserveAspectRatio`,`xMidYMid meet`);let u=`graph-arrow-${Math.random().toString(36).slice(2)}`;l.append(`defs`).append(`marker`).attr(`id`,u).attr(`viewBox`,`0 -5 10 10`).attr(`refX`,28).attr(`refY`,0).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M0,-5L10,0L0,5`).attr(`class`,`graph-arrow`);let d=l.append(`g`).attr(`class`,`graph-viewport`),f=d.append(`g`).attr(`class`,`graph-edges`),p=d.append(`g`).attr(`class`,`graph-edge-labels`),m=d.append(`g`).attr(`class`,`graph-nodes`),h=f.selectAll(`line.graph-edge`).data(c).join(`line`).attr(`class`,e=>[`graph-edge`,e.invalid_at?`historical`:null,es(e)?`human-change-pending`:null,e.human_change_status===`viewed`?`human-change-viewed`:null].filter(Boolean).join(` `)).attr(`marker-end`,`url(#${u})`),g=f.selectAll(`line.graph-edge-hit`).data(c).join(`line`).attr(`class`,`graph-edge-hit`).attr(`role`,`button`).attr(`tabindex`,0).attr(`aria-label`,e=>{let t=Ho(e.type);return`${t.label}:${Uo(e.fact||t.description)}`});g.append(`title`).text(e=>{let t=Ho(e.type);return`${t.label}:${Uo(e.fact||t.description)}`});let _=c.length<=90?p.selectAll(`g.graph-edge-label`).data(c).join(`g`).attr(`class`,`graph-edge-label`).attr(`data-relation-type`,e=>e.type):p.selectAll(`g.graph-edge-label`);_.append(`rect`).attr(`class`,`graph-edge-label-bg`).attr(`x`,e=>-ns(e)/2).attr(`y`,-10).attr(`width`,ns).attr(`height`,20).attr(`rx`,10),_.append(`path`).attr(`class`,`graph-edge-label-icon`).attr(`d`,e=>Ho(e.type).iconPath).attr(`transform`,e=>`translate(${-ns(e)/2+6},-6) scale(.5)`),_.append(`text`).attr(`class`,`graph-edge-label-text`).attr(`x`,e=>-ns(e)/2+22).attr(`y`,3.5).text(e=>Ho(e.type).label),_.append(`title`).text(e=>{let t=Ho(e.type);return`${t.label}:${t.description}`});let v=m.selectAll(`g.graph-node`).data(o).join(`g`).attr(`class`,e=>[`graph-node`,$(e)?`project-node`:null,es(e)?`human-change-pending`:null,e.human_change_status===`viewed`?`human-change-viewed`:null].filter(Boolean).join(` `)).attr(`tabindex`,0).attr(`role`,`button`).attr(`aria-label`,e=>`${Uo(e.name)},ID ${N(e)}`);v.filter(e=>!$(e)).append(`circle`).attr(`class`,`graph-node-shape`).attr(`r`,e=>10+Math.min(7,ts(e.id,c))).attr(`fill`,e=>$o(e.type)),v.filter($).append(`circle`).attr(`class`,`graph-project-ring`).attr(`r`,24),v.filter($).append(`circle`).attr(`class`,`graph-node-shape`).attr(`r`,19),v.filter($).append(`path`).attr(`class`,`graph-project-icon`).attr(`d`,`M-9,-7H-3L0,-4H9V7H-9Z`),v.filter(es).append(`circle`).attr(`class`,`graph-node-human-marker`).attr(`cx`,e=>$(e)?20:12).attr(`cy`,e=>$(e)?-20:-12).attr(`r`,4),v.append(`text`).attr(`class`,`graph-node-label`).attr(`y`,e=>$(e)?39:26+Math.min(7,ts(e.id,c))).text(e=>rs(Uo(e.name),22)),v.append(`text`).attr(`class`,`graph-node-id`).attr(`y`,e=>$(e)?51:38+Math.min(7,ts(e.id,c))).text(e=>`#${N(e)}`);let b=v.append(`g`).attr(`class`,`graph-search-badge`).attr(`transform`,e=>`translate(0,${$(e)?-36:-28})`);b.append(`rect`).attr(`x`,-15).attr(`y`,-8).attr(`width`,30).attr(`height`,15).attr(`rx`,4),b.append(`text`).attr(`y`,3).text(y(`knowledge.domain.graph.hit`)),v.append(`title`).text(e=>[Uo(e.name),e.type,`ID: ${e.id}`,$(e)?y(`knowledge.domain.graph.projectMarked`):null,es(e)?e.human_change_status===`unseen`?y(`knowledge.domain.graph.humanUnseen`):y(`knowledge.domain.graph.humanViewed`):null].filter(Boolean).join(`
|
|
2
|
+
`));let x=Lo().scaleExtent([Ko,qo]).on(`zoom`,e=>d.attr(`transform`,e.transform.toString()));l.call(x).on(`dblclick.zoom`,null);let S=yo(o).force(`link`,lo(c).id(({id:e})=>e).distance(118).strength(.42)).force(`charge`,bo().strength(-390).distanceMax(620)).force(`collide`,oo().radius(e=>$(e)?58:38+Math.min(10,ts(e.id,c)))).force(`project-focus`,xo(e=>$(e)?70:210,i/2,a/2).strength(e=>$(e)?.55:.008)).force(`center`,Ia(i/2,a/2)).force(`x`,So(i/2).strength(.025)).force(`y`,Co(a/2).strength(.025)).stop();for(let e=0;e<220;e+=1)S.tick();w();let C=Ln().on(`start`,(e,t)=>{e.sourceEvent?.stopPropagation(),t.dragMoved=!1,t.fx=t.x,t.fy=t.y}).on(`drag`,function(e,t){t.dragMoved=!0,t.fx=e.x,t.fy=e.y,t.x=e.x,t.y=e.y,W(this).classed(`pinned`,!0),w()}).on(`end`,function(e,t){t.dragMoved?(t.fx=t.x,t.fy=t.y):(t.fx=null,t.fy=null,W(this).classed(`pinned`,!1)),delete t.dragMoved});return v.call(C),v.on(`click`,(e,t)=>{e.stopPropagation(),T(t)}).on(`keydown`,(e,t)=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),T(t))}).on(`dblclick`,(e,t)=>{e.stopPropagation(),t.fx=null,t.fy=null,W(e.currentTarget).classed(`pinned`,!1),S.alpha(.35).restart(),window.setTimeout(()=>S.stop(),700)}),g.on(`click`,(e,t)=>{e.stopPropagation(),ee(t)}).on(`keydown`,(e,t)=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),ee(t))}),l.on(`click.selection`,t=>{t.target===e&&O()}),A(o,0),{zoomIn:()=>k(1.32),zoomOut:()=>k(.76),fit:()=>A(o),reset:()=>{O(),l.transition().duration(220).call(x.transform,Do)},selectItem(e,t){if(e===`entity`){let e=o.find(e=>e.id===t);return e?(E(e),A([e]),!0):!1}let n=c.find(e=>e.id===t);return n?(te(n),A([Qo(n.source),Qo(n.target)]),!0):!1},focusByNames(e,{projectOnly:t=!1,searchMatch:n=!1}={}){let r=o.filter(n=>e.has(n.name)&&(!t||$(n)));if(!r.length)return n?D({nodeIds:new Set,edgeIds:new Set,selectedNodeId:null,selectedEdgeId:null,searchMatch:n}):O(),0;let i=new Set(r.map(({id:e})=>e));return D({nodeIds:i,edgeIds:new Set(c.filter(({sourceId:e,targetId:t})=>i.has(e)&&i.has(t)).map(({id:e})=>e)),selectedNodeId:null,selectedEdgeId:null,searchMatch:n}),A(r),r.length},clearSelection:O,destroy(){S.stop(),l.on(`.zoom`,null).on(`.selection`,null),l.selectAll(`*`).remove()}};function w(){h.attr(`x1`,e=>Q(e.source,`x`)).attr(`y1`,e=>Q(e.source,`y`)).attr(`x2`,e=>Q(e.target,`x`)).attr(`y2`,e=>Q(e.target,`y`)),g.attr(`x1`,e=>Q(e.source,`x`)).attr(`y1`,e=>Q(e.source,`y`)).attr(`x2`,e=>Q(e.target,`x`)).attr(`y2`,e=>Q(e.target,`y`)),_.attr(`transform`,e=>`translate(${(Q(e.source,`x`)+Q(e.target,`x`))/2},${(Q(e.source,`y`)+Q(e.target,`y`))/2-5})`),v.attr(`transform`,e=>`translate(${e.x??i/2},${e.y??a/2})`)}function T(e){E(e),r.onNodeSelect?.(e)}function E(e){let t=new Set([e.id]),n=new Set;for(let r of c)r.sourceId!==e.id&&r.targetId!==e.id||(n.add(r.id),t.add(r.sourceId),t.add(r.targetId));D({nodeIds:t,edgeIds:n,selectedNodeId:e.id,selectedEdgeId:null})}function ee(e){te(e),r.onEdgeSelect?.(e.raw)}function te(e){D({nodeIds:new Set([e.sourceId,e.targetId]),edgeIds:new Set([e.id]),selectedNodeId:null,selectedEdgeId:e.id})}function D({nodeIds:e,edgeIds:t,selectedNodeId:n,selectedEdgeId:r,searchMatch:i=!1}){v.classed(`selected`,({id:e})=>e===n).classed(`related`,({id:t})=>e.has(t)&&t!==n).classed(`dimmed`,({id:t})=>!e.has(t)).classed(`search-match`,({id:t})=>i&&e.has(t)),h.classed(`selected`,({id:e})=>e===r).classed(`related`,({id:e})=>t.has(e)).classed(`dimmed`,({id:e})=>t.size>0?!t.has(e):!0).classed(`search-match`,({id:e})=>i&&t.has(e)),_.classed(`selected`,({id:e})=>e===r).classed(`related`,({id:e})=>t.has(e)).classed(`dimmed`,({id:e})=>t.size>0?!t.has(e):!0).classed(`search-match`,({id:e})=>i&&t.has(e))}function O(){v.classed(`selected related dimmed search-match`,!1),h.classed(`selected related dimmed search-match`,!1),_.classed(`selected related dimmed search-match`,!1)}function k(e){l.transition().duration(180).call(x.scaleBy,e)}function A(e,t=220){if(!e.length)return;let n=e.map(({x:e})=>e??i/2),r=e.map(({y:e})=>e??a/2),o=Math.min(...n),s=Math.max(...n),c=Math.min(...r),u=Math.max(...r),d=Math.max(s-o,90),f=Math.max(u-c,90),p=Math.max(Ko,Math.min(Jo,.82/Math.max(d/i,f/a))),m=(o+s)/2,h=(c+u)/2,g=Do.translate(i/2-p*m,a/2-p*h).scale(p);t?l.transition().duration(t).call(x.transform,g):l.call(x.transform,g)}}function Xo(e,t){let n=Zo(e.source),r=Zo(e.target);return{id:e.id||`edge-${t}-${n}-${r}`,sourceId:n,targetId:r,source:n,target:r,type:e.type,fact:e.fact,invalid_at:e.invalid_at,human_change_status:e.human_change_status,raw:e}}function Zo(e){return typeof e==`object`&&e?e.id:e}function Qo(e){if(typeof e==`object`&&e)return e;throw Error(`Graph edge endpoint was not linked: ${e}`)}function Q(e,t){return Qo(e)[t]??0}function $o(e){return Go[Math.floor(is(e)*Go.length)%Go.length]}function $(e){return e?.type===`PersonalProject`||e?.type===`RelatedPersonalProject`}function es(e){return e?.human_change_status===`unseen`||e?.human_change_status===`viewed`}function ts(e,t){return t.reduce((t,n)=>t+Number(n.sourceId===e||n.targetId===e),0)}function ns(e){return Math.max(54,31+[...Ho(e.type).label].length*10)}function rs(e,t){return e.length>t?`${e.slice(0,t-1)}…`:e}function is(e=``){let t=2166136261;for(let n of e)t=Math.imul(t^n.charCodeAt(0),16777619);return(t>>>0)%1e4/1e4}var as=[`aria-label`],os=r({__name:`GraphCanvas`,props:{graph:{},selectedItem:{}},emits:[`selectNode`,`selectEdge`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=p(null),d=null;c(f),u(()=>i.graph,f,{deep:!1}),u(()=>v(),f),u([()=>i.selectedItem?.itemKind,()=>i.selectedItem?.id],m),S(()=>d?.destroy()),n({zoomIn:()=>d?.zoomIn(),zoomOut:()=>d?.zoomOut(),fit:()=>d?.fit(),reset:()=>d?.reset(),clearSelection:()=>d?.clearSelection(),selectItem:(e,t)=>d?.selectItem(e,t)??!1,focusByNames:(e,t)=>d?.focusByNames(e,t)??0});async function f(){await e(),o.value&&(d?.destroy(),d=Yo(o.value,i.graph,{onNodeSelect:e=>a(`selectNode`,e),onEdgeSelect:e=>a(`selectEdge`,e)}),m())}function m(){let e=i.selectedItem;e&&d?.selectItem(e.itemKind,e.id)}return(e,t)=>(l(),D(`svg`,{id:`knowledge-graph`,ref_key:`svg`,ref:o,class:`knowledge-graph-canvas`,viewBox:`0 0 1000 620`,role:`img`,"aria-label":s(y)(`knowledge.workspace.graph.aria`)},null,8,as))}}),ss={key:0,class:`graph-relation-legend`},cs=[`viewBox`],ls={class:`graph-relation-legend-panel`},us=[`viewBox`],ds=[`d`],fs=r({__name:`GraphRelationLegend`,props:{relationTypes:{}},setup(e){let t=e,r=_(()=>Wo(t.relationTypes));return(e,t)=>r.value.length?(l(),D(`details`,ss,[O(`summary`,null,[(l(),D(`svg`,{viewBox:s(Ro),"aria-hidden":`true`},[...t[0]||=[O(`path`,{d:`M5 5h4v4H5zM15 15h4v4h-4zM9 7h4a4 4 0 0 1 4 4v4`},null,-1)]],8,cs)),O(`span`,null,o(s(y)(`knowledge.workspace.graph.legend`)),1),O(`small`,null,o(r.value.length),1),t[1]||=O(`i`,{"aria-hidden":`true`},null,-1)]),O(`div`,ls,[O(`header`,null,[O(`strong`,null,o(s(y)(`knowledge.workspace.graph.legend`)),1),O(`span`,null,o(s(y)(`knowledge.workspace.graph.legendCopy`)),1)]),O(`ul`,null,[(l(!0),D(k,null,a(r.value,e=>(l(),D(`li`,{key:e.type},[(l(),D(`svg`,{viewBox:s(Ro),"aria-hidden":`true`},[O(`path`,{d:e.iconPath},null,8,ds)],8,us)),O(`span`,null,[O(`strong`,null,o(e.label),1),O(`small`,null,o(e.description),1)])]))),128))])])])):n(``,!0)}}),ps=[`aria-label`],ms=[`aria-label`],hs=[`aria-selected`],gs=[`aria-selected`],_s={key:1,id:`directory-panel-knowledge`,class:`directory-tab-panel`,role:`tabpanel`,"aria-labelledby":`directory-tab-knowledge`},vs={class:`directory-section-heading`},ys={class:`directory-section-copy`},bs=[`aria-label`],xs=[`aria-pressed`],Ss=[`aria-pressed`],Cs=[`aria-pressed`],ws={class:`directory-section-count`},Ts={class:`knowledge-table-head`,"aria-hidden":`true`},Es={class:`knowledge-column-content`},Ds={class:`knowledge-column-quadrant`},Os={class:`knowledge-column-review`},ks={class:`knowledge-column-type`},As={class:`knowledge-column-source`},js={class:`knowledge-column-time`},Ms={class:`knowledge-column-validity`},Ns={class:`knowledge-directory-list`},Ps=[`data-item-key`,`onClick`],Fs={class:`knowledge-row-content`},Is={class:`knowledge-row-title`},Ls={class:`knowledge-row-type`},Rs={class:`knowledge-row-source`},zs={class:`knowledge-row-time`},Bs={key:0,class:`empty-state`},Vs={key:2,id:`directory-panel-materials`,class:`directory-tab-panel`,role:`tabpanel`,"aria-labelledby":`directory-tab-materials`},Hs={class:`directory-section-heading`},Us={class:`directory-section-copy`},Ws={class:`directory-section-count`},Gs={class:`project-material-list`},Ks=[`data-item-key`,`onClick`],qs={class:`project-material-copy`},Js={class:`project-material-type`},Ys={class:`project-material-link`},Xs={key:0,class:`empty-state`},Zs=r({__name:`KnowledgeDirectoryPanel`,props:{personalProjectsOnly:{type:Boolean},directorySection:{},knowledgeTabCount:{},materialTabCount:{},contentStatus:{},currentItemCount:{},historicalItemCount:{},allItems:{},visibleItems:{},projectMaterialItems:{},visibleProjectMaterialItems:{},selectedItem:{},sourceLabel:{type:Function}},emits:[`change-section`,`update-status`,`select-item`],setup(e,{emit:t}){let r=t;function i(e){return`${e.itemKind}:${e.id}`}return(t,c)=>(l(),D(`section`,{class:T([`knowledge-directory-panel`,{"has-directory-tabs":e.personalProjectsOnly}]),"aria-label":e.directorySection===`materials`?s(y)(`knowledge.workspace.workspace.view.materialDirectory`):s(y)(`knowledge.workspace.workspace.view.knowledgeDirectory`)},[e.personalProjectsOnly?(l(),D(`div`,{key:0,class:`directory-kind-tabs`,role:`tablist`,"aria-label":s(y)(`knowledge.workspace.workspace.view.directoryTypeAria`)},[O(`button`,{id:`directory-tab-knowledge`,class:`directory-kind-tab`,type:`button`,role:`tab`,"aria-controls":`directory-panel-knowledge`,"aria-selected":e.directorySection===`knowledge`,onClick:c[0]||=e=>r(`change-section`,`knowledge`)},[O(`span`,null,o(s(y)(`knowledge.workspace.workspace.view.knowledgeContent`)),1),O(`small`,null,o(e.knowledgeTabCount),1)],8,hs),O(`button`,{id:`directory-tab-materials`,class:`directory-kind-tab`,type:`button`,role:`tab`,"aria-controls":`directory-panel-materials`,"aria-selected":e.directorySection===`materials`,onClick:c[1]||=e=>r(`change-section`,`materials`)},[O(`span`,null,o(s(y)(`knowledge.workspace.workspace.view.projectMaterials`)),1),O(`small`,null,o(e.materialTabCount),1)],8,gs)],8,ms)):n(``,!0),e.directorySection===`knowledge`?(l(),D(`div`,_s,[O(`header`,vs,[O(`div`,ys,[O(`strong`,null,o(s(y)(`knowledge.workspace.workspace.view.knowledgeContent`)),1),O(`span`,null,o(s(y)(`knowledge.workspace.workspace.view.knowledgeCopy`)),1)]),O(`div`,{class:`knowledge-status-filter`,role:`group`,"aria-label":s(y)(`knowledge.workspace.workspace.view.knowledgeStatusAria`)},[O(`button`,{class:`knowledge-status-option`,"data-status":`current`,type:`button`,"aria-pressed":e.contentStatus===`current`,onClick:c[2]||=e=>r(`update-status`,`current`)},[f(o(s(y)(`common.status.current`))+` `,1),O(`span`,null,o(e.currentItemCount),1)],8,xs),O(`button`,{class:`knowledge-status-option`,"data-status":`historical`,type:`button`,"aria-pressed":e.contentStatus===`historical`,onClick:c[3]||=e=>r(`update-status`,`historical`)},[f(o(s(y)(`common.status.invalid`))+` `,1),O(`span`,null,o(e.historicalItemCount),1)],8,Ss),O(`button`,{class:`knowledge-status-option`,"data-status":`all`,type:`button`,"aria-pressed":e.contentStatus===`all`,onClick:c[4]||=e=>r(`update-status`,`all`)},[f(o(s(y)(`common.status.all`))+` `,1),O(`span`,null,o(e.allItems.length),1)],8,Cs)],8,bs),O(`small`,ws,o(s(y)(`common.counts.items`,{count:e.visibleItems.length})),1)]),O(`div`,Ts,[O(`span`,Es,o(s(y)(`knowledge.workspace.workspace.view.columns.content`)),1),O(`span`,Ds,o(s(y)(`knowledge.workspace.workspace.view.columns.quadrant`)),1),O(`span`,Os,o(s(y)(`knowledge.workspace.workspace.view.columns.review`)),1),O(`span`,ks,o(s(y)(`knowledge.workspace.workspace.view.columns.type`)),1),O(`span`,As,o(s(y)(`knowledge.workspace.workspace.view.columns.source`)),1),O(`span`,js,o(s(y)(`knowledge.workspace.workspace.view.columns.updated`)),1),O(`span`,Ms,o(s(y)(`knowledge.workspace.workspace.view.columns.validity`)),1)]),O(`div`,Ns,[(l(!0),D(k,null,a(e.visibleItems,t=>(l(),D(`button`,{key:i(t),class:T([`knowledge-row`,{selected:e.selectedItem?.itemKind===t.itemKind&&e.selectedItem?.id===t.id}]),type:`button`,"data-item-key":i(t),onClick:e=>r(`select-item`,t)},[O(`span`,Fs,[O(`span`,Is,[O(`strong`,null,o(t.title),1),t.humanChangeStatus===`unseen`||t.humanChangeStatus===`viewed`?(l(),D(`em`,{key:0,class:T([`human-change-badge`,`state-${t.humanChangeStatus}`])},o(s(_e)(t.humanChangeStatus)),3)):n(``,!0)]),O(`small`,null,o(t.profileAspect?`${s(F)(t.profileAspect)} · ${t.body}`:t.body),1)]),O(`span`,{class:T([`knowledge-row-quadrant`,t.originQuadrant])},o(s(ce)(t.originQuadrant)),3),O(`span`,{class:T([`knowledge-review-state`,`state-${s(de)(t)}`])},o(s(P)(t)),3),O(`span`,Ls,o(t.type),1),O(`span`,Rs,o(e.sourceLabel(t)),1),O(`span`,zs,o(s(pe)(s(I)(t))),1),O(`span`,{class:T([`knowledge-status`,t.invalidAt?`historical`:`current`])},o(t.invalidAt?s(y)(`common.status.invalid`):s(y)(`knowledge.workspace.workspace.view.active`)),3)],10,Ps))),128))]),e.visibleItems.length?n(``,!0):(l(),D(`div`,Bs,o(e.allItems.length?s(y)(`knowledge.workspace.workspace.view.noFilteredKnowledge`):s(y)(`knowledge.workspace.workspace.view.noKnowledge`)),1))])):(l(),D(`div`,Vs,[O(`header`,Hs,[O(`div`,Us,[O(`strong`,null,o(s(y)(`knowledge.workspace.workspace.view.projectMaterials`)),1),O(`span`,null,o(s(y)(`knowledge.workspace.workspace.view.materialCopy`)),1)]),O(`small`,Ws,o(s(y)(`common.counts.items`,{count:e.visibleProjectMaterialItems.length})),1)]),O(`div`,Gs,[(l(!0),D(k,null,a(e.visibleProjectMaterialItems,t=>(l(),D(`button`,{key:i(t),class:T([`project-material-row`,{selected:e.selectedItem?.itemKind===t.itemKind&&e.selectedItem?.id===t.id}]),type:`button`,"data-item-key":i(t),onClick:e=>r(`select-item`,t)},[O(`span`,qs,[O(`strong`,null,o(t.itemKind===`entity`?t.title:t.type),1),O(`small`,null,o(t.body),1)]),O(`span`,Js,o(s(se)(t)),1),O(`span`,Ys,o(s(y)(`knowledge.workspace.workspace.view.viewDetails`)),1)],10,Ks))),128))]),e.visibleProjectMaterialItems.length?n(``,!0):(l(),D(`div`,Xs,o(e.projectMaterialItems.length?s(y)(`knowledge.workspace.workspace.view.noFilteredMaterials`):s(y)(`knowledge.workspace.workspace.view.noMaterials`)),1))]))],10,ps))}}),Qs={key:0,open:``,class:`project-dialog knowledge-project-dialog vue-dialog`},$s={class:`project-dialog-shell`},ec={class:`project-dialog-header`},tc={class:`knowledge-project-source`},nc={class:`knowledge-project-mode`},rc=[`disabled`],ic={key:0,class:`knowledge-project-fields`},ac={class:`full-width`},oc={key:1,class:`knowledge-project-fields`},sc={class:`full-width`},cc={key:2,class:`knowledge-project-relation`},lc={class:`toggle-row`},uc={class:`knowledge-project-preview`},dc={key:0,class:`knowledge-project-compare`},fc={key:1,class:`knowledge-project-conflict-options`},pc={class:`knowledge-project-reason`},mc={key:3,class:`publish-dialog-error`,role:`alert`},hc={class:`knowledge-project-actions`},gc=[`disabled`],_c=r({__name:`KnowledgeProjectDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{}},emits:[`close`,`saved`],setup(e,{emit:t}){let r=e,a=t,c=ee(),d=p(`create`),v=p(``),b=p(``),S=p(``),w=p(``),E=p(!0),k=p(`RELATED_TO`),A=p(`defer`),j=p(``),M=p(null),ne=p(!1),re=p(!1),N=p(``),se=p(!1),P=0,F=_(()=>r.item?.itemKind===`entity`?r.item.raw:null),ce=_(()=>r.item?.assignments.at(0)?.project_id??r.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??r.personalProjectId??null),I=_(()=>r.projects.filter(({project_id:e})=>e!==ce.value)),le=_(()=>I.value.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${oe(e.project_id,26)}`,search:ae(e.project_id)}))),ue=_(()=>I.value.find(({project_id:e})=>e===v.value)??null),de=_(()=>{if(d.value===`create`)return{label:y(`projects.knowledgeDialog.previews.create.label`),title:y(`projects.knowledgeDialog.previews.create.title`),copy:ce.value?y(`projects.knowledgeDialog.previews.create.linkedCopy`):y(`projects.knowledgeDialog.previews.create.ownedCopy`)};if(ne.value)return{label:y(`projects.knowledgeDialog.previews.checking.label`),title:y(`projects.knowledgeDialog.previews.checking.title`),copy:y(`projects.knowledgeDialog.previews.checking.copy`)};if(!M.value)return{label:y(`projects.knowledgeDialog.previews.waiting.label`),title:y(`projects.knowledgeDialog.previews.waiting.title`),copy:y(`projects.knowledgeDialog.previews.waiting.copy`)};let e=Object.fromEntries([`none`,`already_linked`,`exact_duplicate`,`conflict`].map(e=>[e,[y(`projects.knowledgeDialog.previews.outcomes.${e}.title`),y(`projects.knowledgeDialog.previews.outcomes.${e}.copy`)]])),[t,n]=e[M.value.match.kind]??e.none;return{label:t,title:n,copy:M.value.match.reason}}),fe=_(()=>{let e=d.value===`existing`?y(`projects.knowledgeDialog.relationActors.sourceProject`):y(`projects.knowledgeDialog.relationActors.newProject`),t=d.value===`existing`?y(`projects.knowledgeDialog.relationActors.targetProject`):y(`projects.knowledgeDialog.relationActors.sourceProject`);return{RELATED_TO:y(`projects.knowledgeDialog.relations.related`,{object:t}),PART_OF:y(`projects.knowledgeDialog.relations.partOf`,{subject:e,object:t}),USES_KNOWLEDGE_FROM:y(`projects.knowledgeDialog.relations.usesKnowledge`,{subject:e,object:t}),DEPENDS_ON:y(`projects.knowledgeDialog.relations.dependsOn`,{subject:e,object:t}),PROVIDES_TO:y(`projects.knowledgeDialog.relations.providesTo`,{subject:e,object:t}),SHARES_CAPABILITY_WITH:y(`projects.knowledgeDialog.relations.sharesCapability`,{object:t}),SUCCESSOR_OF:y(`projects.knowledgeDialog.relations.successorOf`,{subject:e,object:t})}}),pe=_(()=>Object.entries(fe.value).map(([e,t])=>({value:e,label:t}))),me=_(()=>re.value?y(`projects.knowledgeDialog.actions.processing`):d.value===`create`?y(`projects.knowledgeDialog.actions.create`):M.value?.match.kind===`exact_duplicate`?y(`projects.knowledgeDialog.actions.reuse`):y(`projects.knowledgeDialog.actions.add`)),he=_(()=>re.value||d.value===`existing`&&(ne.value||!M.value));u(()=>r.item,e=>{P+=1,M.value=null,ne.value=!1,N.value=``,d.value=`create`,se.value=!1;let t=e?.itemKind===`entity`?e.raw:null;b.value=t?.name??``,S.value=ve(t?.name??``),w.value=t?.summary??``,j.value=t?y(`projects.knowledgeDialog.defaultReason`,{name:t.name}):``,E.value=!0,k.value=`RELATED_TO`,A.value=`defer`,v.value=I.value[0]?.project_id??``},{immediate:!0}),u(b,e=>{se.value||(S.value=ve(e))}),u([d,v,()=>r.item],()=>{d.value===`existing`?ge():(P+=1,M.value=null,ne.value=!1,N.value=``)});async function ge(){let e=r.item;if(!e||e.itemKind!==`entity`||!v.value)return;let t=++P;ne.value=!0,M.value=null,N.value=``;try{let n=await g(`/api/knowledge/entity/${encodeURIComponent(e.id)}/project-action/preview`,{personalSpaceId:r.personalSpaceId,targetProjectId:v.value});if(t!==P||r.item?.id!==e.id)return;M.value=n,n.match.kind===`conflict`&&(A.value=`defer`)}catch(e){if(t!==P)return;be(ye(e)),c.reportError(e)}finally{t===P&&(ne.value=!1)}}async function _e(){let e=r.item;if(!(!e||e.itemKind!==`entity`)){if(d.value===`create`&&(!b.value.trim()||!S.value.trim()))return be(y(`projects.knowledgeDialog.errors.projectIdentityRequired`));if(d.value===`existing`&&!v.value)return be(y(`projects.knowledgeDialog.errors.targetRequired`));if(d.value===`existing`&&!M.value)return be(y(`projects.knowledgeDialog.errors.previewRequired`));if(!j.value.trim())return be(y(`projects.knowledgeDialog.errors.reasonRequired`));re.value=!0,N.value=``;try{let t=await g(`/api/knowledge/entity/${encodeURIComponent(e.id)}/project-action`,{personalSpaceId:r.personalSpaceId,mode:d.value,targetProjectId:d.value===`existing`?v.value:null,newProjectId:d.value===`create`?S.value.trim():null,newProjectName:d.value===`create`?b.value.trim():null,newProjectPurpose:d.value===`create`?w.value.trim():null,keepSourceRelation:!!(ce.value&&E.value),relationType:k.value,conflictResolution:A.value,reason:j.value.trim()}),n=d.value===`create`?b.value.trim():ue.value?.profile.name??y(`projects.knowledgeDialog.relationActors.targetProject`);a(`close`),a(`saved`,t,n)}catch(e){be(ye(e)),c.reportError(e)}finally{re.value=!1}}}function ve(e){return e.normalize(`NFKC`).toLocaleLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``).slice(0,128)||`new-project`}function ye(e){let t=e instanceof Error?e.message:String(e);try{let e=JSON.parse(t);return e.message??e.detail??t}catch{return t}}function be(e){N.value=e}return(t,r)=>e.item?(l(),D(`dialog`,Qs,[O(`div`,$s,[O(`header`,ec,[O(`div`,null,[r[16]||=O(`p`,{class:`eyebrow`},`PERSONAL PROJECT`,-1),O(`h3`,null,o(s(y)(`projects.knowledgeDialog.title`)),1),O(`p`,null,o(s(y)(`projects.knowledgeDialog.intro`)),1)]),O(`button`,{class:`secondary-action`,type:`button`,onClick:r[0]||=e=>a(`close`)},o(s(y)(`common.actions.close`)),1)]),O(`form`,{class:`knowledge-project-form`,onSubmit:te(_e,[`prevent`])},[O(`div`,tc,[O(`span`,null,o(s(y)(`projects.knowledgeDialog.sourceNode`)),1),O(`strong`,null,o(F.value?.name),1),O(`p`,null,o(F.value?.summary||s(y)(`common.status.noDescription`)),1)]),O(`fieldset`,nc,[O(`legend`,null,o(s(y)(`projects.knowledgeDialog.chooseAction`)),1),O(`label`,null,[m(O(`input`,{"onUpdate:modelValue":r[1]||=e=>d.value=e,type:`radio`,value:`create`},null,512),[[x,d.value]]),O(`span`,null,[O(`strong`,null,o(s(y)(`projects.knowledgeDialog.createNew`)),1),O(`small`,null,o(s(y)(`projects.knowledgeDialog.createNewCopy`)),1)])]),O(`label`,{class:T({disabled:I.value.length===0})},[m(O(`input`,{"onUpdate:modelValue":r[2]||=e=>d.value=e,type:`radio`,value:`existing`,disabled:I.value.length===0},null,8,rc),[[x,d.value]]),O(`span`,null,[O(`strong`,null,o(s(y)(`projects.knowledgeDialog.addExisting`)),1),O(`small`,null,o(s(y)(`projects.knowledgeDialog.addExistingCopy`)),1)])],2)]),d.value===`create`?(l(),D(`section`,ic,[O(`label`,null,[f(o(s(y)(`projects.knowledgeDialog.projectName`))+` `,1),m(O(`input`,{"onUpdate:modelValue":r[3]||=e=>b.value=e,maxlength:`512`,required:``},null,512),[[h,b.value]])]),O(`label`,null,[f(o(s(y)(`projects.knowledgeDialog.projectId`))+` `,1),m(O(`input`,{"onUpdate:modelValue":r[4]||=e=>S.value=e,maxlength:`128`,required:``,onInput:r[5]||=e=>se.value=!0},null,544),[[h,S.value]])]),O(`label`,ac,[f(o(s(y)(`projects.knowledgeDialog.purpose`))+` `,1),m(O(`textarea`,{"onUpdate:modelValue":r[6]||=e=>w.value=e,maxlength:`4096`,rows:`3`},null,512),[[h,w.value]])])])):(l(),D(`section`,oc,[O(`label`,sc,[f(o(s(y)(`projects.knowledgeDialog.targetPersonalProject`))+` `,1),i(ie,{modelValue:v.value,"onUpdate:modelValue":r[7]||=e=>v.value=e,options:le.value,label:s(y)(`projects.knowledgeDialog.targetPersonalProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`])])])),ce.value?(l(),D(`section`,cc,[O(`label`,lc,[m(O(`input`,{"onUpdate:modelValue":r[8]||=e=>E.value=e,type:`checkbox`},null,512),[[C,E.value]]),O(`span`,null,[O(`strong`,null,o(s(y)(`projects.knowledgeDialog.preserveRelation`)),1),O(`small`,null,o(s(y)(`projects.knowledgeDialog.preserveRelationCopy`)),1)])]),O(`label`,null,[f(o(s(y)(`projects.knowledgeDialog.projectRelation`))+` `,1),i(ie,{modelValue:k.value,"onUpdate:modelValue":r[9]||=e=>k.value=e,options:pe.value,label:s(y)(`projects.knowledgeDialog.projectRelation`),disabled:!E.value},null,8,[`modelValue`,`options`,`label`,`disabled`])])])):n(``,!0),O(`section`,uc,[O(`div`,null,[O(`span`,null,o(de.value.label),1),O(`strong`,null,o(de.value.title),1),O(`p`,null,o(de.value.copy),1)]),M.value&&[`exact_duplicate`,`conflict`].includes(M.value.match.kind)?(l(),D(`div`,dc,[O(`article`,null,[O(`span`,null,o(s(y)(`projects.knowledgeDialog.currentNode`)),1),O(`strong`,null,o(M.value.item_name),1),O(`p`,null,o(M.value.item_summary||s(y)(`common.status.noDescription`)),1)]),O(`article`,null,[O(`span`,null,o(s(y)(`projects.knowledgeDialog.targetContent`)),1),O(`strong`,null,o(M.value.match.item_name||s(y)(`projects.knowledgeDialog.targetContentFallback`)),1),O(`p`,null,o(M.value.match.item_summary||s(y)(`common.status.noDescription`)),1)])])):n(``,!0),M.value?.match.kind===`conflict`?(l(),D(`fieldset`,fc,[O(`legend`,null,o(s(y)(`projects.knowledgeDialog.conflictResolution`)),1),O(`label`,null,[m(O(`input`,{"onUpdate:modelValue":r[10]||=e=>A.value=e,type:`radio`,value:`defer`},null,512),[[x,A.value]]),f(` `+o(s(y)(`projects.knowledgeDialog.defer`)),1)]),O(`label`,null,[m(O(`input`,{"onUpdate:modelValue":r[11]||=e=>A.value=e,type:`radio`,value:`keep_target`},null,512),[[x,A.value]]),f(` `+o(s(y)(`projects.knowledgeDialog.keepTarget`)),1)]),O(`label`,null,[m(O(`input`,{"onUpdate:modelValue":r[12]||=e=>A.value=e,type:`radio`,value:`use_source`},null,512),[[x,A.value]]),f(` `+o(s(y)(`projects.knowledgeDialog.useSource`)),1)]),O(`label`,null,[m(O(`input`,{"onUpdate:modelValue":r[13]||=e=>A.value=e,type:`radio`,value:`coexist`},null,512),[[x,A.value]]),f(` `+o(s(y)(`projects.knowledgeDialog.coexist`)),1)])])):n(``,!0)]),O(`label`,pc,[f(o(s(y)(`projects.knowledgeDialog.operationReason`))+` `,1),m(O(`textarea`,{"onUpdate:modelValue":r[14]||=e=>j.value=e,maxlength:`2048`,rows:`3`,required:``},null,512),[[h,j.value]])]),N.value?(l(),D(`p`,mc,o(N.value),1)):n(``,!0),O(`div`,hc,[O(`button`,{class:`secondary-action`,type:`button`,onClick:r[15]||=e=>a(`close`)},o(s(y)(`common.actions.cancel`)),1),O(`button`,{class:`primary-action`,type:`submit`,disabled:he.value},o(me.value),9,gc)])],32)])])):n(``,!0)}}),vc={key:0,open:``,class:`project-profile-dialog vue-dialog`},yc={class:`project-profile-dialog-header`},bc=[`disabled`],xc={class:`project-profile-fields`},Sc={value:`planned`},Cc={value:`active`},wc={value:`maintenance`},Tc={value:`archived`},Ec={class:`project-profile-wide-field`},Dc=[`placeholder`],Oc={class:`project-profile-wide-field`},kc=[`placeholder`],Ac={class:`project-profile-wide-field`},jc=[`placeholder`],Mc={class:`project-profile-wide-field`},Nc=[`placeholder`],Pc={class:`project-source-editor`},Fc={key:0,class:`project-source-list`},Ic=[`onUpdate:modelValue`],Lc=[`onUpdate:modelValue`],Rc=[`value`],zc={class:`project-source-wide-field`},Bc=[`onUpdate:modelValue`,`placeholder`],Vc={class:`project-source-wide-field`},Hc=[`onUpdate:modelValue`],Uc=[`onUpdate:modelValue`],Wc={value:`normal`},Gc={value:`private`},Kc={value:`restricted`},qc=[`onClick`],Jc={key:1,class:`project-source-empty`},Yc={class:`project-profile-state-note`},Xc={key:0,class:`project-profile-error`,role:`alert`},Zc={class:`project-profile-dialog-actions`},Qc=[`disabled`],$c=[`disabled`],el=r({__name:`PersonalProjectProfileDialog`,props:{project:{},materialType:{}},emits:[`close`,`saved`],setup(t,{emit:r}){let i=t,c=r,d=p(``),f=p(``),g=p(``),v=p(``),x=p(`planned`),S=p(``),C=p([]),T=p(``),E=p(!1),ee=p(null),A=p(null),j=p(null),M=p(null),ne=new Set([`ProjectPurpose`,`ProjectScope`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`PersonalProject`,`RelatedPersonalProject`]),re=_(()=>{let e=i.materialType??``;return ne.has(e)?y(`projects.profileDialog.materialTypes.${e}`):y(`projects.profileDialog.materialTypes.fallback`)}),ie=[`prd`,`product_document`,`technical_document`,`frontend_repository`,`backend_repository`,`repository`,`design`,`runbook`,`monitoring`,`issue_tracker`,`other`],N=_(()=>ie.map(e=>[e,e===`prd`?`PRD`:y(`projects.profileDialog.sourceTypes.${e}`)])),ae=new Set(ie),oe=new Set([`normal`,`private`,`restricted`]);u(()=>[i.project,i.materialType],async([t])=>{if(!t)return;let n=t.profile;d.value=n.name,f.value=n.purpose??``,g.value=n.scope??``,v.value=n.technical_summary??``,x.value=n.lifecycle??`planned`,S.value=(n.boundaries??[]).map(e=>String(e)).join(`
|
|
3
|
+
`),C.value=(n.sources??[]).map(se),T.value=``,await e(),de()},{immediate:!0});function se(e,t){let n=typeof e.kind==`string`&&ae.has(e.kind)?e.kind:`other`,r=typeof e.sensitivity==`string`&&oe.has(e.sensitivity)?e.sensitivity:`normal`;return{key:P(e.key)||`source-${t+1}`,kind:n,title:P(e.title)||P(e.name),uri:P(e.uri),summary:P(e.summary),sensitivity:r}}function P(e){return typeof e==`string`?e:``}function F(e){return e.trim()||null}function ce(){return[...new Set(S.value.split(`
|
|
4
|
+
`).map(e=>e.trim()).filter(Boolean))].slice(0,64)}function I(){C.value.push({key:`source-${Date.now().toString(36)}-${C.value.length+1}`,kind:`other`,title:``,uri:``,summary:``,sensitivity:`normal`})}function le(e){C.value.splice(e,1)}async function ue(){if(!i.project||E.value)return;let e=d.value.trim();if(!e){T.value=y(`projects.profileDialog.errors.nameRequired`);return}if(C.value.some(e=>!e.title.trim())){T.value=y(`projects.profileDialog.errors.sourceNameRequired`);return}E.value=!0,T.value=``;try{let t=await w(`/api/personal-projects`,{personalSpaceId:i.project.personal_space_id,projectId:i.project.project_id,profile:{name:e,purpose:F(f.value),scope:F(g.value),technicalSummary:F(v.value),lifecycle:x.value,sources:C.value.map(e=>({key:e.key,kind:e.kind,title:e.title.trim(),uri:F(e.uri),summary:F(e.summary),sensitivity:e.sensitivity})),boundaries:ce(),assessment:i.project.profile.assessment??null}});c(`saved`,t),c(`close`)}catch(e){T.value=e instanceof Error?e.message:y(`projects.profileDialog.errors.saveFailed`)}finally{E.value=!1}}function de(){i.materialType===`ProjectPurpose`?ee.value?.focus():i.materialType===`ProjectScope`?A.value?.focus():i.materialType===`ProjectBoundary`?j.value?.focus():i.materialType===`ProjectSource`&&M.value?.focus()}return(e,r)=>t.project?(l(),D(`dialog`,vc,[O(`form`,{class:`project-profile-dialog-shell`,onSubmit:te(ue,[`prevent`])},[O(`header`,yc,[O(`div`,null,[r[8]||=O(`p`,{class:`eyebrow`},`PROJECT MATERIAL`,-1),O(`h3`,null,o(s(y)(`projects.profileDialog.title`,{material:re.value})),1),O(`p`,null,o(s(y)(`projects.profileDialog.intro`)),1)]),O(`button`,{class:`secondary-action`,type:`button`,disabled:E.value,onClick:r[0]||=e=>c(`close`)},o(s(y)(`common.actions.close`)),9,bc)]),O(`div`,xc,[O(`label`,null,[O(`span`,null,o(s(y)(`projects.profileDialog.projectName`)),1),m(O(`input`,{"onUpdate:modelValue":r[1]||=e=>d.value=e,name:`project-name`,maxlength:`160`,required:``},null,512),[[h,d.value]])]),O(`label`,null,[O(`span`,null,o(s(y)(`projects.profileDialog.lifecycle`)),1),m(O(`select`,{"onUpdate:modelValue":r[2]||=e=>x.value=e,name:`project-lifecycle`},[O(`option`,Sc,o(s(y)(`projects.profileDialog.lifecycles.planned`)),1),O(`option`,Cc,o(s(y)(`projects.profileDialog.lifecycles.active`)),1),O(`option`,wc,o(s(y)(`projects.profileDialog.lifecycles.maintenance`)),1),O(`option`,Tc,o(s(y)(`projects.profileDialog.lifecycles.archived`)),1)],512),[[b,x.value]])]),O(`label`,Ec,[O(`span`,null,o(s(y)(`projects.profileDialog.purpose`)),1),m(O(`textarea`,{ref_key:`purposeField`,ref:ee,"onUpdate:modelValue":r[3]||=e=>f.value=e,name:`project-purpose`,maxlength:`4096`,rows:`4`,placeholder:s(y)(`projects.profileDialog.purposePlaceholder`)},null,8,Dc),[[h,f.value]])]),O(`label`,Oc,[O(`span`,null,o(s(y)(`projects.profileDialog.scope`)),1),m(O(`textarea`,{ref_key:`scopeField`,ref:A,"onUpdate:modelValue":r[4]||=e=>g.value=e,name:`project-scope`,maxlength:`4096`,rows:`4`,placeholder:s(y)(`projects.profileDialog.scopePlaceholder`)},null,8,kc),[[h,g.value]])]),O(`label`,Ac,[O(`span`,null,o(s(y)(`projects.profileDialog.technicalSummary`)),1),m(O(`textarea`,{"onUpdate:modelValue":r[5]||=e=>v.value=e,name:`project-technical-summary`,maxlength:`4096`,rows:`4`,placeholder:s(y)(`projects.profileDialog.technicalPlaceholder`)},null,8,jc),[[h,v.value]])]),O(`label`,Mc,[O(`span`,null,o(s(y)(`projects.profileDialog.boundary`)),1),m(O(`textarea`,{ref_key:`boundariesField`,ref:j,"onUpdate:modelValue":r[6]||=e=>S.value=e,name:`project-boundaries`,maxlength:`8192`,rows:`5`,placeholder:s(y)(`projects.profileDialog.boundaryPlaceholder`)},null,8,Nc),[[h,S.value]]),O(`small`,null,o(s(y)(`projects.profileDialog.boundaryHint`)),1)])]),O(`section`,Pc,[O(`div`,{ref_key:`sourcesHeading`,ref:M,class:`project-source-editor-heading`,tabindex:`-1`},[O(`div`,null,[O(`h4`,null,o(s(y)(`projects.profileDialog.sources`)),1),O(`p`,null,o(s(y)(`projects.profileDialog.sourcesCopy`)),1)]),O(`button`,{class:`secondary-action`,type:`button`,onClick:I},o(s(y)(`projects.profileDialog.addSource`)),1)],512),C.value.length?(l(),D(`div`,Fc,[(l(!0),D(k,null,a(C.value,(e,t)=>(l(),D(`article`,{key:e.key,class:`project-source-row`},[O(`label`,null,[O(`span`,null,o(s(y)(`projects.profileDialog.sourceName`)),1),m(O(`input`,{"onUpdate:modelValue":t=>e.title=t,maxlength:`512`,required:``},null,8,Ic),[[h,e.title]])]),O(`label`,null,[O(`span`,null,o(s(y)(`projects.profileDialog.sourceType`)),1),m(O(`select`,{"onUpdate:modelValue":t=>e.kind=t},[(l(!0),D(k,null,a(N.value,([e,t])=>(l(),D(`option`,{key:e,value:e},o(t),9,Rc))),128))],8,Lc),[[b,e.kind]])]),O(`label`,zc,[O(`span`,null,o(s(y)(`projects.profileDialog.sourceUri`)),1),m(O(`input`,{"onUpdate:modelValue":t=>e.uri=t,maxlength:`2048`,placeholder:s(y)(`projects.profileDialog.sourceUriPlaceholder`)},null,8,Bc),[[h,e.uri]])]),O(`label`,Vc,[O(`span`,null,o(s(y)(`projects.profileDialog.sourceSummary`)),1),m(O(`textarea`,{"onUpdate:modelValue":t=>e.summary=t,maxlength:`4096`,rows:`2`},null,8,Hc),[[h,e.summary]])]),O(`label`,null,[O(`span`,null,o(s(y)(`projects.profileDialog.sensitivity`)),1),m(O(`select`,{"onUpdate:modelValue":t=>e.sensitivity=t},[O(`option`,Wc,o(s(y)(`projects.profileDialog.sensitivities.normal`)),1),O(`option`,Gc,o(s(y)(`projects.profileDialog.sensitivities.private`)),1),O(`option`,Kc,o(s(y)(`projects.profileDialog.sensitivities.restricted`)),1)],8,Uc),[[b,e.sensitivity]])]),O(`button`,{class:`text-action project-source-remove`,type:`button`,onClick:e=>le(t)},o(s(y)(`common.actions.remove`)),9,qc)]))),128))])):(l(),D(`p`,Jc,o(s(y)(`projects.profileDialog.noSources`)),1))]),O(`p`,Yc,o(s(y)(`projects.profileDialog.stateBoundary`)),1),T.value?(l(),D(`p`,Xc,o(T.value),1)):n(``,!0),O(`footer`,Zc,[O(`button`,{class:`secondary-action`,type:`button`,disabled:E.value,onClick:r[7]||=e=>c(`close`)},o(s(y)(`common.actions.cancel`)),9,Qc),O(`button`,{class:`primary-action`,type:`submit`,disabled:E.value},o(E.value?s(y)(`projects.profileDialog.saving`):s(y)(`projects.profileDialog.save`)),9,$c)])],32)])):n(``,!0)}}),tl={key:0,open:``,class:`publish-dialog vue-dialog`},nl={class:`publish-dialog-shell`},rl={class:`publish-dialog-intro`},il={class:`publish-release-fields`},al=[`placeholder`],ol=[`placeholder`],sl=[`aria-label`],cl={key:0,class:`publish-dialog-error`,role:`alert`},ll={class:`publish-dialog-actions`},ul=[`disabled`],dl=[`disabled`],fl=r({__name:`PublishProjectDialog`,props:{project:{}},emits:[`close`,`published`],setup(e,{emit:t}){let r=e,i=t,a=ee(),c=p(``),d=p(``),f=p(``),v=p(!1),b=_(()=>a.state?.projects.find(({publication_key:e})=>e&&e===r.project?.publication_key)??null),x=_(()=>b.value?.current_release?.version??null),S=_(()=>a.state?.providers?.workspaces?.find(({status:e})=>e===`ready`)?.providerUrl??null);u(()=>r.project,e=>{e&&(c.value=w(x.value),d.value=``,f.value=``)},{immediate:!0});async function C(){if(r.project){if(!S.value){f.value=y(`projects.publishDialog.errors.providerUnavailable`);return}if(!c.value.trim()){f.value=y(`projects.publishDialog.errors.versionRequired`);return}if(!d.value.trim()){f.value=y(`projects.publishDialog.errors.summaryRequired`);return}v.value=!0,f.value=``;try{await g(`/api/projects/publish`,{personalSpaceId:a.activePersonalSpace?.id,localProjectId:r.project.project_id,providerUrl:S.value,releaseVersion:c.value.trim(),updateSummary:d.value.trim()}),a.notify(y(`projects.publishDialog.published`,{name:r.project.profile.name,version:c.value.trim()})),await a.refresh(),i(`close`),i(`published`)}catch(e){f.value=e instanceof Error?e.message:y(`projects.publishDialog.errors.failed`),a.reportError(e)}finally{v.value=!1}}}function w(e){if(!e||e===`legacy`)return`v1.0.0`;let t=e.match(/^(v?)(\d+)\.(\d+)\.(\d+)$/);return t?`${t[1]}${t[2]}.${t[3]}.${Number(t[4])+1}`:``}return(t,r)=>e.project?(l(),D(`dialog`,tl,[O(`div`,nl,[r[3]||=O(`p`,{class:`eyebrow`},`PUBLICATION`,-1),O(`h3`,null,o(s(y)(`projects.publishDialog.title`)),1),O(`p`,rl,[O(`strong`,null,o(e.project.profile.name),1),O(`span`,null,o(s(y)(`projects.publishDialog.warning`)),1)]),O(`div`,il,[O(`label`,null,[O(`span`,null,o(s(y)(`projects.publishDialog.version`)),1),m(O(`input`,{"onUpdate:modelValue":r[0]||=e=>c.value=e,maxlength:`64`,placeholder:s(y)(`projects.publishDialog.versionPlaceholder`)},null,8,al),[[h,c.value]]),O(`small`,null,o(x.value?s(y)(`projects.publishDialog.currentVersion`,{version:x.value}):s(y)(`projects.publishDialog.firstRelease`)),1)]),O(`label`,null,[O(`span`,null,o(s(y)(`projects.publishDialog.summary`)),1),m(O(`textarea`,{"onUpdate:modelValue":r[1]||=e=>d.value=e,maxlength:`4096`,rows:`4`,placeholder:s(y)(`projects.publishDialog.summaryPlaceholder`)},null,8,ol),[[h,d.value]])])]),O(`div`,{class:`publish-impact`,"aria-label":s(y)(`projects.publishDialog.impactAria`)},[O(`div`,null,[O(`strong`,null,o(s(y)(`projects.publishDialog.discoverable`)),1),O(`span`,null,o(s(y)(`projects.publishDialog.discoverableCopy`)),1)]),O(`div`,null,[O(`strong`,null,o(s(y)(`projects.publishDialog.owner`)),1),O(`span`,null,o(s(y)(`projects.publishDialog.ownerCopy`)),1)]),O(`div`,null,[O(`strong`,null,o(s(y)(`projects.publishDialog.syncProfile`)),1),O(`span`,null,o(s(y)(`projects.publishDialog.syncProfileCopy`)),1)])],8,sl),f.value?(l(),D(`p`,cl,o(f.value),1)):n(``,!0),O(`div`,ll,[O(`button`,{class:`secondary-action`,type:`button`,disabled:v.value,onClick:r[2]||=e=>i(`close`)},o(s(y)(`common.actions.cancel`)),9,ul),O(`button`,{class:`primary-action`,type:`button`,disabled:v.value,onClick:C},o(v.value?s(y)(`projects.publishDialog.publishing`):s(y)(`projects.publishDialog.confirm`)),9,dl)])])])):n(``,!0)}}),pl=r({__name:`KnowledgeWorkspaceDialogs`,props:{editingItem:{},confirmingItem:{},projectActionItem:{},publishingProject:{},managingProject:{},managingMaterialType:{},personalSpaceId:{},editingProjectId:{},confirmingProjectId:{},currentProjectId:{},projects:{},replacementItems:{}},emits:[`close-edit`,`close-confirm`,`close-project-action`,`close-publish`,`close-profile`,`refresh`,`project-saved`,`profile-saved`],setup(e,{emit:t}){let n=t;function r(e,t){n(`project-saved`,e,t)}function a(e){n(`profile-saved`,e)}return(t,o)=>(l(),D(k,null,[i(L,{item:e.editingItem,"personal-space-id":e.personalSpaceId,"personal-project-id":e.editingProjectId,projects:e.projects,"replacement-items":e.replacementItems,onClose:o[0]||=e=>n(`close-edit`),onSaved:o[1]||=e=>n(`refresh`)},null,8,[`item`,`personal-space-id`,`personal-project-id`,`projects`,`replacement-items`]),i(xe,{item:e.confirmingItem,"personal-space-id":e.personalSpaceId,"personal-project-id":e.confirmingProjectId,onClose:o[2]||=e=>n(`close-confirm`),onSaved:o[3]||=e=>n(`refresh`)},null,8,[`item`,`personal-space-id`,`personal-project-id`]),i(_c,{item:e.projectActionItem,"personal-space-id":e.personalSpaceId,"personal-project-id":e.currentProjectId,projects:e.projects,onClose:o[4]||=e=>n(`close-project-action`),onSaved:r},null,8,[`item`,`personal-space-id`,`personal-project-id`,`projects`]),i(fl,{project:e.publishingProject,onClose:o[5]||=e=>n(`close-publish`),onPublished:o[6]||=e=>n(`refresh`)},null,8,[`project`]),i(el,{project:e.managingProject,"material-type":e.managingMaterialType,onClose:o[7]||=e=>n(`close-profile`),onSaved:a},null,8,[`project`,`material-type`])],64))}}),ml=[`aria-label`],hl=[`aria-label`],gl=r({__name:`ProjectHierarchyAside`,props:{parents:{},activeProjectName:{},spaceId:{}},setup(e){let r=e;function i(){return r.activeProjectName||y(`knowledge.workspace.hierarchy.currentProject`)}return(r,c)=>e.parents.length?(l(),D(`aside`,{key:0,class:`project-hierarchy-aside`,"aria-label":s(y)(`knowledge.workspace.hierarchy.aria`)},[O(`header`,null,[O(`span`,null,o(s(y)(`knowledge.workspace.hierarchy.level`)),1),O(`strong`,null,o(s(y)(`knowledge.workspace.hierarchy.parents`)),1),O(`small`,null,o(s(y)(`common.counts.projects`,{count:e.parents.length})),1)]),O(`p`,null,o(s(y)(`knowledge.workspace.hierarchy.belongsTo`,{name:i()})),1),O(`nav`,{"aria-label":s(y)(`knowledge.workspace.hierarchy.listAria`)},[(l(!0),D(k,null,a(e.parents,n=>(l(),d(s(re),{key:n.nodeId,class:`project-parent-link`,to:s(j)(e.spaceId,`graph`,n.projectId),"aria-label":s(y)(`knowledge.workspace.hierarchy.openParent`,{name:n.name})},{default:t(()=>[c[0]||=O(`span`,{class:`project-parent-icon`,"aria-hidden":`true`},[O(`svg`,{viewBox:`0 0 24 24`},[O(`path`,{d:`M3 6h7l2 2h9v11H3zM12 16V9M9 12l3-3 3 3`})])],-1),O(`span`,null,[O(`small`,null,o(s(y)(`knowledge.workspace.hierarchy.parents`)),1),O(`strong`,null,o(n.name),1),O(`em`,null,o(s(y)(`knowledge.workspace.hierarchy.belongsToParent`,{name:i()})),1)]),c[1]||=O(`b`,{"aria-hidden":`true`},`→`,-1)]),_:2},1032,[`to`,`aria-label`]))),128))],8,hl)],8,ml)):n(``,!0)}}),_l=15,vl=4;async function yl({personalSpaceId:e,projects:t,query:n,baseline:r,signal:i,limit:a=_l,request:o=E}){let s=xl(r),c=t.slice(0,a),l=[];for(let t=0;t<c.length;t+=vl){i?.throwIfAborted();let r=c.slice(t,t+vl);l.push(...await Promise.all(r.map(async t=>{try{let r=Sl(await o(`/api/search?${new URLSearchParams({personalSpaceId:e,personalProjectId:t.project_id,q:n,limit:`30`})}`,{signal:i})).filter(({key:e})=>!s.has(e));return r.length?{status:`matched`,project:t,count:r.length,score:Math.max(...r.map(({score:e})=>e??0))}:{status:`empty`,project:t}}catch(e){if(i?.aborted)throw e;return{status:`failed`,project:t}}})))}return{matches:l.filter(e=>e.status===`matched`).sort((e,t)=>t.score-e.score||t.count-e.count||e.project.profile.name.localeCompare(t.project.profile.name)),checked:l.length,total:t.length,failed:l.filter(({status:e})=>e===`failed`).length}}function bl(e){let t=e.failed?y(`knowledge.domain.discovery.failedSuffix`,{count:e.failed}):``;return e.matches.length?y(`knowledge.domain.discovery.matches`,{failure:t}):e.total?e.failed===e.checked?y(`knowledge.domain.discovery.allFailed`):e.checked<e.total?y(`knowledge.domain.discovery.checkedPartial`,{checked:e.checked,total:e.total,failure:t}):y(`knowledge.domain.discovery.checkedAll`,{failure:t}):y(`knowledge.domain.discovery.noOtherProjects`)}function xl(e){return new Set(Sl(e).map(({key:e})=>e))}function Sl(e){return[...(e.entities??[]).map(e=>({key:`entity:${e.id}`,score:e.score})),...(e.facts??[]).map(e=>({key:`fact:${e.id}`,score:e.score}))]}function Cl(e,t){if(!t)return{graph:e,parents:[]};let n=e.nodes.find(e=>e.type===`PersonalProject`&&e.attributes?.projectId===t);if(!n)return{graph:e,parents:[]};let r=new Map(e.nodes.map(e=>[e.id,e])),i=new Map;for(let t of e.edges){if(t.type!==`PART_OF`||wl(t.source)!==n.id)continue;let e=r.get(wl(t.target));if(!e||!Tl(e))continue;let a=e.attributes?.projectId;typeof a!=`string`||!a||i.has(e.id)||i.set(e.id,{projectId:a,name:e.name,summary:e.summary||y(`knowledge.domain.hierarchy.parentSummary`),nodeId:e.id,relationId:t.id})}if(!i.size)return{graph:e,parents:[]};let a=new Set(i.keys()),o=e.nodes.filter(({id:e})=>!a.has(e)),s=new Set(o.map(({id:e})=>e)),c=e.edges.filter(e=>s.has(wl(e.source))&&s.has(wl(e.target)));return{graph:{...e,nodes:o,edges:c},parents:[...i.values()]}}function wl(e){return typeof e==`object`&&e?e.id:e}function Tl(e){return e.type===`PersonalProject`||e.type===`RelatedPersonalProject`}var El={class:`view graph-view vue-knowledge-view`},Dl={class:`knowledge-view-heading`},Ol=[`aria-label`],kl=[`aria-selected`],Al=[`aria-selected`],jl={class:`muted`},Ml={class:`graph-toolbar`},Nl={key:0,class:`personal-context-picker`},Pl={class:`personal-context-panel`},Fl={class:`personal-context-list`},Il=[`value`,`checked`],Ll=[`aria-label`],Rl=[`placeholder`,`aria-label`,`value`],zl={class:`graph-view-actions`},Bl=[`aria-label`],Vl=[`aria-label`],Hl=[`aria-label`],Ul={key:0,class:`view-loading`},Wl={key:1,class:`knowledge-layout`},Gl={class:`graph-canvas-panel`},Kl={key:0,class:`graph-search-status`,"aria-live":`polite`},ql={class:`graph-search-status-kicker`},Jl={class:`graph-search-status-title`},Yl={class:`graph-search-status-copy`},Xl={key:0,class:`graph-search-suggestions`},Zl={key:2,class:`graph-empty`},Ql={key:2,class:`graph-hint`},$l=r({__name:`KnowledgeWorkspace`,props:{personalProjectsOnly:{type:Boolean,default:!1}},setup(r){let c=r,m=ee(),h=A(),g=ne(),v=p(!1),b=p(null),x=p(null),C=p(null),w=p(Ut(h.query.q)),N=p(``),P=p(null),F=p(null),I=p(null),de=p(null),pe=p(null),_e=p(null),L=p(null),xe=new Set,we=0,Te=0,Ee=null,De=null,R=_(()=>h.params.mode===`graph`?`graph`:`directory`),z=_(()=>c.personalProjectsOnly?`personal`:h.params.scope===`public`?`public`:`personal`),B=_(()=>String(h.params.spaceId??m.activePersonalSpace?.id??``)),V=_(()=>{let e=h.params.projectId;return typeof e==`string`&&e?e:null}),Oe=_(()=>Wt(h.query.context)),ke=_(()=>JSON.stringify([c.personalProjectsOnly,z.value,B.value,V.value,Oe.value])),H=_(()=>fe(b.value)),Ae=_(()=>c.personalProjectsOnly?ve(b.value):[]),je=_(()=>{let e=w.value.trim().toLocaleLowerCase();return e?Ae.value.filter(t=>[t.title,t.body,t.type,se(t)].some(t=>t.toLocaleLowerCase().includes(e))):Ae.value}),Me=_(()=>[...Ae.value,...H.value]),Ne=_(()=>c.personalProjectsOnly?R.value===`directory`&&x.value?ue(x.value)?`materials`:`knowledge`:Ut(h.query.section)===`materials`?`materials`:`knowledge`:`knowledge`),Pe=_(()=>[...new Set(H.value.map(({type:e})=>e))].sort()),Fe=_(()=>[{value:`all`,label:y(`knowledge.workspace.workspace.filters.allTypes`)},...Pe.value.map(e=>({value:e,label:e}))]),Ie=_(()=>[{value:`all`,label:y(`knowledge.workspace.workspace.filters.allQuadrants`)},...[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:ce(e)}))]),Le=_(()=>[{value:`all`,label:y(`knowledge.workspace.workspace.filters.allKnowledge`)},{value:`profile`,label:y(`knowledge.workspace.workspace.filters.preferences`)},{value:`regular`,label:y(`knowledge.workspace.workspace.filters.projectKnowledge`)}]),Re=_(()=>[{value:`all`,label:y(`knowledge.workspace.workspace.filters.allHumanStates`)},{value:`human_changed`,label:y(`knowledge.workspace.workspace.filters.allHumanChanged`)},{value:`unseen`,label:y(`knowledge.workspace.workspace.filters.agentUnseen`)},{value:`viewed`,label:y(`knowledge.workspace.workspace.filters.viewedPending`)},{value:`reviewed`,label:y(`knowledge.workspace.workspace.filters.agentReviewed`)}]),ze=_(()=>{let e=Ut(h.query.status);return e===`historical`||e===`all`?e:`current`}),Be=_(()=>({query:w.value,type:Ut(h.query.type)||`all`,quadrant:Ut(h.query.quadrant)||`all`,profile:Ut(h.query.profile)||`all`,status:ze.value,humanChange:Ut(h.query.human)||`all`})),Ve=_(()=>le(H.value,Be.value)),He=_(()=>H.value.filter(({invalidAt:e})=>!e).length),Ue=_(()=>H.value.length-He.value),We=_(()=>ze.value===`current`?He.value:ze.value===`historical`?Ue.value:H.value.length),Ge=_(()=>ze.value===`current`?y(`common.status.current`):ze.value===`historical`?y(`common.status.invalid`):y(`knowledge.workspace.workspace.status.all`)),Ke=_(()=>b.value?he(b.value):null),qe=_(()=>Ke.value?Cl(Ke.value,V.value):null),Je=_(()=>qe.value?.graph??null),Ye=_(()=>qe.value?.parents??[]),Xe=_(()=>Je.value?.edges.map(({type:e})=>e)??[]),Ze=_(()=>{if(!b.value)return v.value?y(`common.status.loadingKnowledge`):y(`knowledge.workspace.workspace.status.graphUnread`);if(R.value===`graph`){let e=Je.value;return N.value||y(`knowledge.workspace.workspace.counts.graph`,{nodes:e?.nodes.length??0,edges:e?.edges.length??0})}return Ne.value===`materials`?je.value.length===Ae.value.length?y(`knowledge.workspace.workspace.counts.materials`,{count:Ae.value.length}):y(`knowledge.workspace.workspace.counts.visibleMaterials`,{visible:je.value.length,total:Ae.value.length}):Ve.value.length===We.value?y(`knowledge.workspace.workspace.counts.knowledge`,{status:Ge.value,count:We.value}):y(`knowledge.workspace.workspace.counts.visibleKnowledge`,{status:Ge.value,visible:Ve.value.length,total:We.value})}),Qe=_(()=>String(H.value.length)),$e=_(()=>String(Ae.value.length)),et=_(()=>(m.state?.personalProjects??[]).filter(({personal_space_id:e})=>e===B.value)),tt=_(()=>et.value.filter(({project_id:e})=>e!==V.value)),nt=_(()=>{let e=m.state;if(!e)return[];let t=e.personalSpaces.flatMap(t=>[{key:Ht(`personal`,t.id,null),scope:`personal`,spaceId:t.id,projectId:null,providerUrl:null,label:y(`knowledge.workspace.workspace.spaces.allPersonalProjects`,{name:t.name})},...(e.personalProjects??[]).filter(({personal_space_id:e})=>e===t.id).map(e=>({key:Ht(`personal`,t.id,e.project_id),scope:`personal`,spaceId:t.id,projectId:e.project_id,providerUrl:null,label:y(`knowledge.workspace.workspace.spaces.personalProject`,{name:e.profile.name})}))]);if(c.personalProjectsOnly)return t;let n=e.projects.map(e=>({key:Ht(`public`,e.id,null),scope:`public`,spaceId:e.id,projectId:null,providerUrl:e.providerUrl,label:y(`knowledge.workspace.workspace.spaces.publicProject`,{name:e.name})}));return[...t,...n]}),rt=_(()=>Ht(z.value,B.value,V.value)),it=_(()=>nt.value.map(e=>{let t=e.projectId??e.spaceId;return{value:e.key,label:e.label,meta:`#${oe(t,26)}`,search:ae(t)}})),at=_(()=>z.value===`personal`),ot=_(()=>m.state?.personalProjects?.find(({project_id:e})=>e===V.value)??null),st=_(()=>It(x.value)),ct=_(()=>L.value?L.value.checking?y(`knowledge.workspace.workspace.discovery.checking`):L.value.result?bl(L.value.result):y(`knowledge.workspace.workspace.discovery.retry`):``),lt=Ce(()=>{xt()},300);u([()=>m.state,()=>h.name,()=>h.params.mode,()=>h.params.spaceId],async([e])=>{e&&await ut()},{immediate:!0}),u([()=>m.state,ke],async([e])=>{e&&await dt()},{immediate:!0}),u(()=>Ut(h.query.q),e=>{e===w.value||xe.has(e)||(lt.cancel(),Ct(),w.value=e,wt(),R.value===`graph`&&e.trim()&&b.value&&!v.value&&De===ke.value&&Tt(e.trim()))},{flush:`sync`}),u(R,async()=>{lt.cancel(),Ct(),wt(),await e(),kt(),xt()}),u([()=>h.params.itemKind,()=>h.params.itemId],()=>kt()),S(()=>{lt.cancel(),Ct()});async function ut(){let e=m.activePersonalSpace;if(e){if(h.name===`knowledge-default`){await g.replace(M(`personal`,e.id,`directory`));return}if(B.value===`current`){let t=c.personalProjectsOnly?j(e.id,R.value,V.value):M(z.value,e.id,R.value,{projectId:V.value});await g.replace({path:t,query:h.query});return}h.params.mode!==`directory`&&h.params.mode!==`graph`&&await ht(c.personalProjectsOnly?`graph`:`directory`,!0)}}async function dt(){if(!B.value||B.value===`current`)return;let t=ke.value,n=++we;Ct(),v.value=!0,x.value=null,wt();try{let r=V.value&&z.value===`personal`?await ft():await pt(V.value);if(n!==we)return;b.value=r,De=t,kt(),R.value===`graph`&&w.value.trim()&&(await e(),Tt(w.value.trim()))}catch(e){if(n!==we)return;b.value=null,De=null,m.reportError(e)}finally{n===we&&(v.value=!1)}}async function ft(){let[e,...t]=await Promise.all([pt(V.value),...Oe.value.map(e=>pt(e))]);return be([e,...t])}function pt(e){let t=new URLSearchParams({spaceId:B.value,limit:`360`});if(z.value===`public`){let e=mt();e?.providerUrl&&t.set(`providerUrl`,e.providerUrl)}return e&&t.set(`personalProjectId`,e),E(`/api/graph?${t}`)}function mt(){return m.state?.projects.find(({id:e})=>e===B.value)??null}async function ht(e,t=!1){let n=x.value,r=c.personalProjectsOnly?j(B.value,e,V.value,{itemKind:n?.itemKind,itemId:n?.id}):M(z.value,B.value,e,{projectId:V.value,itemKind:n?.itemKind,itemId:n?.id}),i={...h.query};e===`graph`?delete i.section:c.personalProjectsOnly&&n&&(ue(n)?i.section=`materials`:delete i.section),await g[t?`replace`:`push`]({path:r,query:i})}async function gt(e){if(!c.personalProjectsOnly||e===Ne.value)return;x.value=null;let t={...h.query};e===`materials`?t.section=`materials`:delete t.section,await g.push({path:j(B.value,`directory`,V.value),query:t})}async function _t(e){let t=nt.value.find(({key:t})=>t===e);if(!t)return;let n=c.personalProjectsOnly?j(t.spaceId,R.value,t.projectId):M(t.scope,t.spaceId,R.value,{projectId:t.projectId});await g.push({path:n})}async function vt(e,t){let n={...h.query};!t||t===`all`&&e!==`status`||e===`status`&&t===`current`?delete n[e]:n[e]=t,await g.replace({query:n})}function yt(e){w.value=e,Ct(),wt(),lt.schedule()}function bt(){lt.cancel(),xt()}async function xt(){let e=w.value,t=e.trim();if(await St(e),!(w.value!==e||R.value===`directory`)){if(!t){Ct(),wt();return}v.value||!b.value||De!==ke.value||await Tt(t)}}async function St(t){if(Ut(h.query.q)!==t){xe.add(t);try{await vt(`q`,t)}catch(e){m.reportError(e)}finally{await e(),xe.delete(t)}}}function Ct(){Te+=1,Ee?.abort(),Ee=null}function wt(){N.value=``,L.value=null,C.value?.clearSelection();let e=x.value;R.value===`graph`&&e&&C.value?.selectItem(e.itemKind,e.id)}async function Tt(e){let t=m.activePersonalSpace?.id;if(!t)return;Ct();let n=Te,r=new AbortController;Ee=r,L.value=null,N.value=y(`knowledge.workspace.workspace.search.searching`);let i=new URLSearchParams({personalSpaceId:t,q:e,limit:`30`});V.value&&i.set(`personalProjectId`,V.value);for(let e of Oe.value)i.append(`contextPersonalProjectId`,e);z.value===`public`&&i.append(`projectId`,B.value);try{let a=await E(`/api/search?${i}`,{signal:r.signal});if(n!==Te)return;let o=a.facts??[],s=new Set([...(a.entities??[]).map(({name:e})=>e),...o.flatMap(({source_entity:e,target_entity:t})=>[e,t])]),c=C.value?.focusByNames(s,{searchMatch:!0})??0;if(c){N.value=y(`knowledge.workspace.workspace.search.results`,{entities:a.entities?.length??0,relationships:o.length,nodes:c});return}N.value=y(`knowledge.workspace.workspace.search.noResults`);let l=z.value===`personal`&&!V.value;if(L.value={query:e,checking:l,result:null},!l)return;let u=await yl({personalSpaceId:t,projects:et.value,query:e,baseline:a,signal:r.signal});if(n!==Te)return;L.value={query:e,checking:!1,result:u}}catch(e){if(r.signal.aborted||n!==Te)return;N.value=y(`knowledge.workspace.workspace.search.failed`),m.reportError(e)}finally{Ee===r&&(Ee=null)}}async function Et(e){x.value=e;let t=c.personalProjectsOnly?j(B.value,R.value,V.value,{itemKind:e.itemKind,itemId:e.id}):M(z.value,B.value,R.value,{projectId:V.value,itemKind:e.itemKind,itemId:e.id}),n={...h.query};R.value===`directory`&&c.personalProjectsOnly&&(ue(e)?n.section=`materials`:delete n.section),await g.replace({path:t,query:n})}function Dt(e){Et(Me.value.find(({itemKind:t,id:n})=>t===`entity`&&n===e.id)??me(e))}function Ot(e){Et(Me.value.find(({itemKind:t,id:n})=>t===`relationship`&&n===e.id)??ge(e,new Map(b.value?.nodes.map(e=>[e.id,e.name])??[])))}function kt(){let t=h.params.itemKind,n=h.params.itemId;if(typeof t!=`string`||typeof n!=`string`){x.value=null;return}let r=Me.value.find(e=>e.itemKind===t&&e.id===n),i=t===`entity`?b.value?.nodes.find(({id:e})=>e===n):b.value?.edges.find(({id:e})=>e===n);if(x.value=r??(t===`entity`&&i?me(i):t===`relationship`&&i?ge(i,new Map(b.value?.nodes.map(e=>[e.id,e.name])??[])):null),x.value&&R.value===`directory`){let t=Vt(x.value);e(()=>{let e=[...document.querySelectorAll(`[data-item-key]`)].find(e=>e.dataset.itemKey===t);e?.scrollIntoView?.({block:`center`}),e?.focus({preventScroll:!0})})}}function At(e){let t=e.currentTarget,n=new Set(Oe.value);t.checked?n.add(t.value):n.delete(t.value),vt(`context`,[...n])}async function jt(e){await g.push(j(B.value,R.value,e))}async function Mt(e,t){let n=c.personalProjectsOnly?j(B.value,t,V.value,{itemKind:e.itemKind,itemId:e.id}):M(z.value,B.value,t,{projectId:V.value,itemKind:e.itemKind,itemId:e.id}),r={...h.query};if(t===`directory`&&c.personalProjectsOnly&&ue(e)?r.section=`materials`:delete r.section,t===`directory`&&!ue(e)&&!le([e],Be.value).length)for(let e of[`q`,`type`,`quadrant`,`profile`,`status`,`human`])delete r[e];await g.push({path:n,query:r})}async function Nt(e){let t=c.personalProjectsOnly?j(B.value,`directory`,V.value,{itemKind:e.itemKind,itemId:e.id}):M(z.value,B.value,`directory`,{projectId:V.value,itemKind:e.itemKind,itemId:e.id}),n={...h.query};for(let e of[`q`,`type`,`quadrant`,`profile`,`human`,`section`])delete n[e];e.invalidAt?n.status=`historical`:delete n.status,await g.push({path:t,query:n})}function Pt(e){let t=It(e);if(!t){m.reportError(Error(y(`knowledge.workspace.workspace.errors.projectUnknown`)));return}_e.value=e.itemKind===`entity`?e.type:`PersonalProject`,pe.value=t}function Ft(e){return e?.profileAspect?null:V.value}function It(e){if(!e||!ue(e))return null;let t=ye(e),n=V.value,r=new Set;if(e.itemKind===`entity`)r.add(e.id);else{let t=e.raw;r.add(typeof t.source==`string`?t.source:t.source.id),r.add(typeof t.target==`string`?t.target:t.target.id)}for(let e of b.value?.nodes??[]){if(!r.has(e.id))continue;let t=e.attributes?.projectId;typeof t==`string`&&t&&r.add(t)}if(!t&&!n)for(let e of b.value?.edges??[]){if(!String(e.id).startsWith(`project-profile-edge:`))continue;let t=typeof e.source==`string`?e.source:e.source.id,n=typeof e.target==`string`?e.target:e.target.id;if(!r.has(t)&&!r.has(n))continue;let i=r.has(t)?n:t,a=(b.value?.nodes.find(({id:e})=>e===i))?.attributes?.projectId;typeof a==`string`&&a&&r.add(a)}let i=t??n??[...r].find(e=>m.state?.personalProjects?.some(({project_id:t})=>t===e));return m.state?.personalProjects?.find(({project_id:e})=>e===i)??null}async function Lt(e){await m.refresh(),await dt(),m.notify(y(`knowledge.workspace.workspace.notices.materialUpdated`,{name:e.profile.name}))}function Rt(e){let t=m.state?.personalProjects?.find(({project_id:t})=>t===e);t&&(de.value=t)}async function zt(e,t){let n={created:y(`knowledge.workspace.workspace.notices.projectCreated`,{name:t}),linked:y(`knowledge.workspace.workspace.notices.linked`,{name:t}),already_linked:y(`knowledge.workspace.workspace.notices.alreadyLinked`,{name:t}),duplicate_reused:y(`knowledge.workspace.workspace.notices.duplicateReused`,{name:t}),conflict_pending:y(`knowledge.workspace.workspace.notices.conflictPending`,{name:t}),conflict_resolved:y(`knowledge.workspace.workspace.notices.conflictResolved`)};await m.refresh(),await dt(),m.notify(n[e.status]??y(`knowledge.workspace.workspace.notices.scopeUpdated`))}function Bt(e){if(e.profileAspect)return`${e.preferenceScope===`project`?y(`knowledge.workspace.workspace.source.projectPreference`):y(`knowledge.workspace.workspace.source.personalGlobal`)} · ${e.evidence.length?y(`common.counts.sources`,{count:e.evidence.length}):y(`knowledge.workspace.workspace.source.noSources`)}`;let t=e.assignments.at(0),n=e.evidence.find(({personal_project_id:e})=>e)?.personal_project_id,r=t?.project_id??n,i=m.state?.personalProjects?.find(({project_id:e})=>e===r)?.profile.name;return`${i?y(`knowledge.workspace.workspace.source.primaryProject`,{name:i}):y(`knowledge.workspace.workspace.source.personalGlobal`)} · ${y(`common.counts.sources`,{count:e.evidence.length})}`}function Vt(e){return`${e.itemKind}:${e.id}`}function Ht(e,t,n){return JSON.stringify([e,t,n])}function Ut(e){return typeof e==`string`?e:``}function Wt(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):typeof e==`string`?[e]:[]}return(e,c)=>(l(),D(`section`,El,[O(`div`,Dl,[O(`div`,{class:`knowledge-mode-switch`,role:`tablist`,"aria-label":s(y)(`knowledge.workspace.workspace.view.modeAria`)},[O(`button`,{type:`button`,role:`tab`,"aria-selected":R.value===`directory`,onClick:c[0]||=e=>ht(`directory`)},o(s(y)(`knowledge.workspace.workspace.view.directory`)),9,kl),O(`button`,{type:`button`,role:`tab`,"aria-selected":R.value===`graph`,onClick:c[1]||=e=>ht(`graph`)},o(s(y)(`knowledge.workspace.workspace.view.graph`)),9,Al)],8,Ol),O(`span`,jl,o(Ze.value),1)]),O(`div`,Ml,[i(ie,{"model-value":rt.value,options:it.value,label:s(y)(`knowledge.workspace.workspace.view.graphSpace`),"control-id":`graph-space`,searchable:``,"onUpdate:modelValue":_t},null,8,[`model-value`,`options`,`label`]),V.value&&tt.value.length?(l(),D(`details`,Nl,[O(`summary`,null,[f(o(s(y)(`knowledge.workspace.workspace.view.borrowProjects`))+` `,1),O(`span`,null,o(Oe.value.length?s(y)(`knowledge.workspace.workspace.view.selectedContexts`,{count:Oe.value.length}):s(y)(`knowledge.workspace.workspace.view.noneSelected`)),1),c[23]||=O(`i`,{class:`searchable-select-arrow`,"aria-hidden":`true`},null,-1)]),O(`div`,Pl,[O(`strong`,null,o(s(y)(`knowledge.workspace.workspace.view.currentContext`)),1),O(`p`,null,o(s(y)(`knowledge.workspace.workspace.view.contextCopy`)),1),O(`div`,Fl,[(l(!0),D(k,null,a(tt.value,e=>(l(),D(`label`,{key:e.project_id,class:`personal-context-option`},[O(`input`,{type:`checkbox`,value:e.project_id,checked:Oe.value.includes(e.project_id),onChange:At},null,40,Il),O(`span`,null,[O(`strong`,null,o(e.profile.name),1),O(`small`,null,o(s(y)(`knowledge.workspace.workspace.view.currentScopeOnly`)),1)])]))),128))])])])):n(``,!0),O(`form`,{class:`search-form`,role:`search`,"aria-label":s(y)(`knowledge.workspace.workspace.search.aria`),onSubmit:te(bt,[`prevent`])},[O(`input`,{type:`search`,placeholder:R.value===`directory`&&Ne.value===`materials`?s(y)(`knowledge.workspace.workspace.search.materialsPlaceholder`):s(y)(`knowledge.workspace.workspace.search.contentPlaceholder`),"aria-label":R.value===`directory`&&Ne.value===`materials`?s(y)(`knowledge.workspace.workspace.search.materialsPlaceholder`):s(y)(`knowledge.workspace.workspace.search.knowledgeAria`),autocomplete:`off`,enterkeyhint:`search`,value:w.value,onInput:c[2]||=e=>yt(e.currentTarget.value)},null,40,Rl)],40,Ll),R.value===`directory`&&Ne.value===`knowledge`?(l(),D(k,{key:1},[i(ie,{"model-value":Be.value.type,options:Fe.value,label:s(y)(`knowledge.workspace.workspace.view.contentType`),"control-id":`knowledge-type-filter`,"onUpdate:modelValue":c[3]||=e=>vt(`type`,e)},null,8,[`model-value`,`options`,`label`]),i(ie,{"model-value":Be.value.quadrant,options:Ie.value,label:s(y)(`knowledge.workspace.workspace.view.discoveryQuadrant`),"control-id":`knowledge-quadrant-filter`,"onUpdate:modelValue":c[4]||=e=>vt(`quadrant`,e)},null,8,[`model-value`,`options`,`label`]),i(ie,{"model-value":Be.value.profile,options:Le.value,label:s(y)(`knowledge.workspace.workspace.view.classification`),"control-id":`knowledge-profile-filter`,"onUpdate:modelValue":c[5]||=e=>vt(`profile`,e)},null,8,[`model-value`,`options`,`label`]),i(ie,{"model-value":Be.value.humanChange,options:Re.value,label:s(y)(`knowledge.workspace.workspace.view.humanChangeStatus`),"control-id":`knowledge-human-change-filter`,"onUpdate:modelValue":c[6]||=e=>vt(`human`,e)},null,8,[`model-value`,`options`,`label`])],64)):n(``,!0),O(`div`,zl,[r.personalProjectsOnly&&ot.value&&s(m).state?.capabilities?.publishProject?(l(),D(`button`,{key:0,class:`toolbar-action`,type:`button`,onClick:c[7]||=e=>de.value=ot.value},o(s(y)(`knowledge.workspace.workspace.view.publishProject`)),1)):n(``,!0),R.value===`graph`?(l(),D(`div`,{key:1,class:`graph-controls`,role:`group`,"aria-label":s(y)(`knowledge.workspace.workspace.view.graphControls`)},[O(`button`,{class:`toolbar-action`,type:`button`,"aria-label":s(y)(`knowledge.workspace.workspace.view.zoomOut`),onClick:c[8]||=e=>C.value?.zoomOut()},`−`,8,Vl),O(`button`,{class:`toolbar-action`,type:`button`,"aria-label":s(y)(`knowledge.workspace.workspace.view.zoomIn`),onClick:c[9]||=e=>C.value?.zoomIn()},`+`,8,Hl),O(`button`,{class:`toolbar-action`,type:`button`,onClick:c[10]||=e=>C.value?.fit()},o(s(y)(`knowledge.workspace.workspace.view.fit`)),1),O(`button`,{class:`toolbar-action`,type:`button`,onClick:c[11]||=e=>C.value?.reset()},o(s(y)(`knowledge.workspace.workspace.view.reset`)),1)],8,Bl)):n(``,!0),O(`button`,{class:`toolbar-action`,type:`button`,onClick:dt},o(s(y)(`common.actions.refresh`)),1)])]),v.value&&!b.value?(l(),D(`div`,Ul,o(s(y)(`common.status.loadingKnowledge`)),1)):(l(),D(`div`,Wl,[R.value===`directory`?(l(),d(Zs,{key:0,"personal-projects-only":r.personalProjectsOnly,"directory-section":Ne.value,"knowledge-tab-count":Qe.value,"material-tab-count":$e.value,"content-status":ze.value,"current-item-count":He.value,"historical-item-count":Ue.value,"all-items":H.value,"visible-items":Ve.value,"project-material-items":Ae.value,"visible-project-material-items":je.value,"selected-item":x.value,"source-label":Bt,onChangeSection:gt,onUpdateStatus:c[12]||=e=>vt(`status`,e),onSelectItem:Et},null,8,[`personal-projects-only`,`directory-section`,`knowledge-tab-count`,`material-tab-count`,`content-status`,`current-item-count`,`historical-item-count`,`all-items`,`visible-items`,`project-material-items`,`visible-project-material-items`,`selected-item`])):(l(),D(`div`,{key:1,class:T([`graph-stage`,{"has-parent-projects":Ye.value.length}])},[i(gl,{parents:Ye.value,"active-project-name":ot.value?.profile.name,"space-id":B.value},null,8,[`parents`,`active-project-name`,`space-id`]),O(`div`,Gl,[L.value?(l(),D(`aside`,Kl,[O(`span`,ql,o(s(y)(`knowledge.workspace.workspace.discovery.noHitKicker`)),1),O(`strong`,Jl,o(s(y)(`knowledge.workspace.workspace.discovery.noResults`,{query:L.value.query})),1),O(`p`,Yl,o(ct.value),1),L.value.result?.matches.length?(l(),D(`div`,Xl,[(l(!0),D(k,null,a(L.value.result.matches.slice(0,5),e=>(l(),d(s(re),{key:e.project.project_id,class:`graph-search-suggestion`,to:{path:s(j)(B.value,`graph`,e.project.project_id),query:{q:L.value.query}}},{default:t(()=>[O(`span`,null,[O(`strong`,null,o(e.project.profile.name),1),O(`small`,null,o(s(y)(`knowledge.workspace.workspace.discovery.candidateCount`,{count:e.count})),1)]),O(`b`,null,o(s(y)(`knowledge.workspace.workspace.discovery.enterProject`)),1)]),_:2},1032,[`to`]))),128))])):n(``,!0)])):n(``,!0),i(fs,{"relation-types":Xe.value},null,8,[`relation-types`]),Je.value?.nodes.length?(l(),d(os,{key:1,ref_key:`graphCanvas`,ref:C,graph:Je.value,"selected-item":x.value,onSelectNode:Dt,onSelectEdge:Ot},null,8,[`graph`,`selected-item`])):(l(),D(`div`,Zl,o(v.value?s(y)(`common.status.loadingKnowledge`):s(y)(`knowledge.workspace.workspace.view.noGraph`)),1))])],2)),i(Se,{item:x.value,graph:b.value,editable:at.value,"current-project-id":V.value,"can-publish-project":s(m).state?.capabilities?.publishProject,"can-manage-project":!!st.value,mode:R.value,onConfirm:c[13]||=e=>P.value=e,onEdit:c[14]||=e=>F.value=e,onCreateProject:c[15]||=e=>I.value=e,onOpenProject:jt,onPublishProject:Rt,onOpenDirectory:c[16]||=e=>Mt(e,`directory`),onOpenGraph:c[17]||=e=>Mt(e,`graph`),onOpenReplacement:Nt,onManageProject:Pt},null,8,[`item`,`graph`,`editable`,`current-project-id`,`can-publish-project`,`can-manage-project`,`mode`])])),R.value===`graph`?(l(),D(`p`,Ql,o(s(y)(`knowledge.workspace.workspace.view.graphHint`)),1)):n(``,!0),i(pl,{"editing-item":F.value,"confirming-item":P.value,"project-action-item":I.value,"publishing-project":de.value,"managing-project":pe.value,"managing-material-type":_e.value,"personal-space-id":s(m).activePersonalSpace?.id??B.value,"editing-project-id":Ft(F.value),"confirming-project-id":Ft(P.value),"current-project-id":V.value,projects:s(m).state?.personalProjects??[],"replacement-items":H.value,onCloseEdit:c[18]||=e=>F.value=null,onCloseConfirm:c[19]||=e=>P.value=null,onCloseProjectAction:c[20]||=e=>I.value=null,onClosePublish:c[21]||=e=>de.value=null,onCloseProfile:c[22]||=e=>pe.value=null,onRefresh:dt,onProjectSaved:zt,onProfileSaved:Lt},null,8,[`editing-item`,`confirming-item`,`project-action-item`,`publishing-project`,`managing-project`,`managing-material-type`,`personal-space-id`,`editing-project-id`,`confirming-project-id`,`current-project-id`,`projects`,`replacement-items`])]))}});export{$l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as e,J as t,K as n,N as r,b as i,d as a,q as o,t as s,w as c,x as l}from"./console-B_Ena2DS.js";var u={class:`view`},d={class:`intro-row`},f=[`aria-label`],p={class:`two-column`},m={class:`section-block`},h={class:`section-title`},g={class:`flow-list`},_={class:`section-block`},v={class:`provider-list`},y={class:`provider-row`},b={class:`provider-state`},x={class:`provider-row`},S={class:`provider-state`},C=e({__name:`OverviewPage`,setup(e){let C=s(),w=i(()=>C.state),T=i(()=>w.value?.providers?.workspaces??[]),E=i(()=>T.value.filter(({status:e})=>e===`ready`).length);return(e,i)=>(r(),c(`section`,u,[l(`div`,d,[l(`div`,null,[l(`h3`,null,t(n(a)(`pages.overview.introTitle`)),1),l(`p`,null,t(n(a)(`pages.overview.introCopy`)),1)]),i[0]||=l(`span`,{class:`mode-chip`},`Agent structured`,-1)]),l(`div`,{class:`metrics`,"aria-label":n(a)(`pages.overview.metricsAria`)},[l(`article`,null,[l(`strong`,null,t(w.value?.personalSpaces.length??0),1),l(`span`,null,t(n(a)(`pages.overview.personalGraphs`)),1)]),l(`article`,null,[l(`strong`,null,t(w.value?.projects.length??0),1),l(`span`,null,t(n(a)(`pages.overview.accessibleProjects`)),1)]),l(`article`,null,[l(`strong`,null,t(w.value?.subscriptions.length??0),1),l(`span`,null,t(n(a)(`pages.overview.subscriptions`)),1)]),l(`article`,null,[l(`strong`,null,t(w.value?.personalProjects?.length??0),1),l(`span`,null,t(n(a)(`pages.overview.personalProjects`)),1)])],8,f),l(`div`,p,[l(`section`,m,[l(`div`,h,[l(`h3`,null,t(n(a)(`pages.overview.dataFlow`)),1)]),l(`ol`,g,[l(`li`,null,[i[1]||=l(`span`,null,`1`,-1),l(`div`,null,[l(`strong`,null,t(n(a)(`pages.overview.flow.identifyTitle`)),1),l(`p`,null,t(n(a)(`pages.overview.flow.identifyCopy`)),1)])]),l(`li`,null,[i[2]||=l(`span`,null,`2`,-1),l(`div`,null,[l(`strong`,null,t(n(a)(`pages.overview.flow.structureTitle`)),1),l(`p`,null,t(n(a)(`pages.overview.flow.structureCopy`)),1)])]),l(`li`,null,[i[3]||=l(`span`,null,`3`,-1),l(`div`,null,[l(`strong`,null,t(n(a)(`pages.overview.flow.routeTitle`)),1),l(`p`,null,t(n(a)(`pages.overview.flow.routeCopy`)),1)])])])]),l(`section`,_,[i[5]||=l(`div`,{class:`section-title`},[l(`h3`,null,`Provider`)],-1),l(`div`,v,[l(`div`,y,[l(`i`,{class:o({error:w.value?.providers?.personal?.status!==`ready`})},null,2),l(`div`,null,[l(`strong`,null,t(n(a)(`pages.overview.localKnowledge`)),1),i[4]||=l(`span`,null,`Graphiti / Neo4j`,-1)]),l(`span`,b,t(w.value?.providers?.personal?.status===`ready`?n(a)(`common.status.connected`):n(a)(`common.status.connectionError`)),1)]),l(`div`,x,[l(`i`,{class:o(n(C).publicRuntimeStatus)},null,2),l(`div`,null,[l(`strong`,null,t(n(a)(`pages.overview.publicService`)),1),l(`span`,null,t(n(C).publicRuntimeStatus===`ready`?n(a)(`pages.overview.sharedServicesReady`,{count:E.value||T.value.length}):n(C).publicRuntimeStatus===`error`?n(a)(`pages.overview.publicTemporarilyUnavailable`):n(a)(`pages.overview.publicOfflineLocalUnaffected`)),1)]),l(`span`,S,t(n(C).publicRuntimeStatus===`ready`?n(a)(`common.status.connected`):n(C).publicRuntimeStatus===`error`?n(a)(`common.status.connectionError`):n(a)(`common.status.notConnected`)),1)])])])])]))}});export{C as default};
|