fuli-context 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -6
- package/README.zh-CN.md +9 -4
- package/dist/web/assets/{AboutPage-BAD0iPVX.js → AboutPage-Dized8Uz.js} +1 -1
- package/dist/web/assets/{AgentConversations-1iGTd4sz.js → AgentConversations-Ccy41mEA.js} +1 -1
- package/dist/web/assets/{AgentHand-D_RafKOM.js → AgentHand-UzVhbKUC.js} +1 -1
- package/dist/web/assets/{AgentName-B5LKQ09q.js → AgentName-DJpvkub2.js} +1 -1
- package/dist/web/assets/AgentProfilePage-CFViQ8kj.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-CBFTg_IE.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-Cv-vxw2C.css +1 -0
- package/dist/web/assets/{ConnectionsPage-Tr2rRVOZ.js → ConnectionsPage-uXcabab_.js} +1 -1
- package/dist/web/assets/EmployeeRecruitDialog-D8Hvhc-M.js +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-TBl_HNj6.js +3 -0
- package/dist/web/assets/KnowledgeEditDialog-HmiqLC-Y.js +1 -0
- package/dist/web/assets/KnowledgeInspector-Cj2yK4Qh.js +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-DT3BROZm.js +1 -0
- package/dist/web/assets/KnowledgePage-C4J4VueL.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-DA_dqVRG.js +4 -0
- package/dist/web/assets/{NotFoundPage-fetSnp0N.js → NotFoundPage-x_Yd59mm.js} +1 -1
- package/dist/web/assets/{OverviewPage-BD4yY2Xz.js → OverviewPage-3eZjQ26v.js} +1 -1
- package/dist/web/assets/OverviewPage-8LBN8Shi.css +1 -0
- package/dist/web/assets/PersonalProfilePage-CDQk096L.js +1 -0
- package/dist/web/assets/PersonalProjectsPage-CJxp4Wyz.js +1 -0
- package/dist/web/assets/{ProjectAgentFirstTask-BcxqmKXQ.js → ProjectAgentFirstTask-BkRJ0zwO.js} +1 -1
- package/dist/web/assets/{ProjectAgentsPage-BWDJBESb.js → ProjectAgentsPage-BuNNqSEy.js} +8 -8
- package/dist/web/assets/{ProjectScopePicker-yodM7lF_.js → ProjectScopePicker-CiDxM2Yx.js} +1 -1
- package/dist/web/assets/PublicProjectsPage-ByOT559r.js +1 -0
- package/dist/web/assets/{ReviewPage-Cy0Rt4CO.js → ReviewPage-C0Vdr9uq.js} +1 -1
- package/dist/web/assets/RoundtablesPage-Drou-B81.css +1 -0
- package/dist/web/assets/RoundtablesPage-L3ShEWS3.js +1 -0
- package/dist/web/assets/SettingsPage-BE8pWbI6.css +1 -0
- package/dist/web/assets/SettingsPage-McYuinGz.js +1 -0
- package/dist/web/assets/{SharedJefaReportPage-C56kPciB.js → SharedJefaReportPage-Bg6lIk3E.js} +1 -1
- package/dist/web/assets/UiButton-x8hiHNRM.js +1 -0
- package/dist/web/assets/UiDialog-mjletK0y.js +1 -0
- package/dist/web/assets/{UiDisclosure-D0iMTplF.js → UiDisclosure-_IxeiexW.js} +1 -1
- package/dist/web/assets/{UiSegmented-DIJW6wv3.js → UiSegmented-WFfz9Evl.js} +1 -1
- package/dist/web/assets/{UiSelect-CMR0QqF6.js → UiSelect-K29jnV-1.js} +1 -1
- package/dist/web/assets/{WritingTastePage-QgNzssfF.js → WritingTastePage-DCULB-d2.js} +1 -1
- package/dist/web/assets/agent-pins-DS4mNsNt.js +1 -0
- package/dist/web/assets/agent-profile-Bh3MJGvb.css +1 -0
- package/dist/web/assets/{attention-store-B1DI8wmd.js → attention-store-CA5y8j1R.js} +1 -1
- package/dist/web/assets/catalog-D0VEfOAV.js +1 -0
- package/dist/web/assets/{client-CR-W5Wzp.js → client-DnwnUBQV.js} +1 -1
- package/dist/web/assets/{console-D7GHOMEC.js → console-Cw7TzOSC.js} +1 -1
- package/dist/web/assets/conversation-launcher-settings-Yc13viwr.js +1 -0
- package/dist/web/assets/{i18n-CVFhT_k7.js → i18n-oJFlt8hW.js} +3 -3
- package/dist/web/assets/{identity-CM6Dmy00.js → identity-DSGS4CZc.js} +1 -1
- package/dist/web/assets/index-BfHCcUL2.css +1 -0
- package/dist/web/assets/index-CxNER7Oo.js +5 -0
- package/dist/web/assets/{judgment-types-CJBEyJs1.js → judgment-types-DR931cZ7.js} +1 -1
- package/dist/web/assets/{model-WFhQZ3v_.js → model-BJ-UF4cs.js} +1 -1
- package/dist/web/assets/{personal-profile-graph-BwCh2M9G.js → personal-profile-graph-SOK0BR0w.js} +1 -1
- package/dist/web/assets/project-team-api-C_0qJk_B.js +1 -0
- package/dist/web/assets/{shared-report-CeIvrL9a.js → shared-report-CiX64ZiD.js} +1 -1
- package/dist/web/assets/useAgentRoster-B84mzZIg.js +1 -0
- package/dist/web/assets/{useApi-CROJJdhE-BYhbjaZB.js → useApi-CROJJdhE-7gt0QyQ5.js} +1 -1
- package/dist/web/assets/{vue-router-DaxrQwX3.js → vue-router-CCvPGaLD.js} +1 -1
- package/dist/web/index.html +15 -14
- package/dist/web/licenses/ant-design-icons.txt +22 -0
- package/docs/agent-conversations-and-collaboration.md +3 -3
- package/docs/agent-roundtable.md +33 -0
- package/docs/client-connections.md +108 -0
- package/docs/employee-agents.md +3 -3
- package/docs/project-agent-memory.md +6 -6
- package/graph-provider/fuli_graph/default_project_lead.py +1 -1
- package/graph-provider/fuli_graph/project_agent_delegations.py +70 -2
- package/graph-provider/fuli_graph/project_agent_memory_routes.py +18 -1
- package/graph-provider/fuli_graph/project_agent_remote_origins.py +154 -0
- package/graph-provider/fuli_graph/project_agent_task_models.py +1 -1
- package/graph-provider/fuli_graph/runtime.py +7 -0
- package/graph-provider/fuli_graph/store_project_agent_context.py +3 -2
- package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_task_reads.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +5 -5
- package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +2 -2
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +2 -2
- package/graph-provider/fuli_graph/store_project_agents.py +6 -6
- package/graph-provider/fuli_graph/system_agents.py +12 -2
- package/graph-provider/fuli_graph/system_hr_identity.py +2 -2
- package/graph-provider/pyproject.toml +2 -1
- package/npm-shrinkwrap.json +280 -5
- package/package.json +6 -2
- package/skills/operating-fuli/SKILL.md +3 -3
- package/src/agent-peer/coordinator-http.js +117 -0
- package/src/agent-peer/coordinator-service.js +258 -0
- package/src/agent-peer/coordinator-store.js +95 -0
- package/src/agent-peer/device-identity.js +70 -0
- package/src/agent-peer/http.js +47 -0
- package/src/agent-peer/node-store.js +127 -0
- package/src/agent-peer/origin-proof.js +56 -0
- package/src/agent-peer/peer-port.js +140 -0
- package/src/agent-peer/peer-runtime.js +298 -0
- package/src/agent-peer/peer-transport.js +78 -0
- package/src/agent-peer/protocol.js +161 -0
- package/src/agent-peer/runner.js +251 -0
- package/src/agent-roundtable/http.js +17 -3
- package/src/agent-roundtable/service.js +272 -43
- package/src/agent-roundtable/tools.js +15 -1
- package/src/agent-roundtable/wake.js +12 -3
- package/src/agent-tools/graph-definitions.js +14 -5
- package/src/agent-tools/graph-handlers.js +1 -0
- package/src/agent-tools/interface-catalog.js +10 -1
- package/src/agent-tools/project-agent-definitions.js +1 -1
- package/src/agents/identity-receipt.js +1 -1
- package/src/cli/command-registry.js +3 -0
- package/src/cli/connect-command.js +31 -0
- package/src/cli/mcp-command.js +101 -0
- package/src/cli/peer-command.js +100 -0
- package/src/cli/setup-agent-selection.js +2 -2
- package/src/cli/setup-command.js +12 -5
- package/src/cli.js +16 -0
- package/src/employees/catalog/bole.json +2 -2
- package/src/graphiti/federated-application.js +4 -1
- package/src/graphiti/project-agent-control-plane.js +7 -0
- package/src/graphiti/project-agent-task-entry.js +4 -4
- package/src/graphiti/project-agent-team-context.js +16 -18
- package/src/graphiti/project-team-view.js +82 -0
- package/src/graphiti/provider-client.js +9 -0
- package/src/graphiti/task-entry-preferences.js +1 -1
- package/src/http/api-router.js +10 -1
- package/src/http/graph-api-router.js +7 -0
- package/src/mcp/runtime.js +2 -1
- package/src/mcp/tool-annotations.js +4 -3
- package/src/mcp/tool-profiles.js +36 -0
- package/src/mcp-server.js +2 -100
- package/src/server.js +14 -2
- package/src/setup/agent-installation-status.js +5 -3
- package/src/setup/agents.js +23 -3
- package/src/setup/claude-desktop-config.js +60 -0
- package/src/setup/client-connection.js +25 -0
- package/src/setup/paths.js +3 -1
- package/src/setup/setup.js +1 -1
- package/src/setup/stable-package-root.js +29 -0
- package/src/system/system-service.js +5 -0
- package/dist/web/assets/AgentProfilePage-CioOdkBM.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage--1A9nvNA.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage-C7OUQH9v.css +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-1QevD4Qv.js +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-B0vQIgwA.js +0 -3
- package/dist/web/assets/KnowledgeEditDialog-ClnrfPZi.js +0 -1
- package/dist/web/assets/KnowledgeInspector-Te1hJZbx.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-CCCrWl6Y.js +0 -1
- package/dist/web/assets/KnowledgePage-DGOcBwr8.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-cKn1NCRe.js +0 -4
- package/dist/web/assets/OverviewPage-By-fUzSG.css +0 -1
- package/dist/web/assets/PersonalProfilePage-DGJVP_VB.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-D25HYMgD.js +0 -1
- package/dist/web/assets/PublicProjectsPage-CyNxVzW3.js +0 -1
- package/dist/web/assets/RoundtablesPage-BjVhvwMc.js +0 -1
- package/dist/web/assets/RoundtablesPage-Cb0R4GaM.css +0 -1
- package/dist/web/assets/SettingsPage-CCZqZtnH.js +0 -1
- package/dist/web/assets/SettingsPage-DYz5bTwa.css +0 -1
- package/dist/web/assets/UiDialog-CvDxg3B1.js +0 -1
- package/dist/web/assets/agent-pins-BcJ_qr8n.js +0 -1
- package/dist/web/assets/agent-profile-BZj3ezWe.css +0 -1
- package/dist/web/assets/catalog-DbXv0_bR.js +0 -1
- package/dist/web/assets/conversation-launcher-settings-Dj2GMzCI.js +0 -1
- package/dist/web/assets/index-CJ6Jmok9.css +0 -1
- package/dist/web/assets/index-CRa3GnYi.js +0 -5
- package/dist/web/assets/useAgentRoster-DCArHlxK.js +0 -1
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{B as e,E as t,H as n,I as r,M as i,N as a,P as o,Q as s,S as c,T as l,U as u,a as d,b as f,f as p,g as m,h,it as g,j as _,l as v,n as y,ot as b,rt as x,u as S,v as C,w,x as T,y as E}from"./i18n-CVFhT_k7.js";import{t as ee}from"./console-D7GHOMEC.js";import{a as D,i as O,n as k,o as A}from"./client-CR-W5Wzp.js";import{t as j}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as M,t as N}from"./UiDialog-CvDxg3B1.js";import{h as te,m as P}from"./useApi-CROJJdhE-BYhbjaZB.js";import{t as ne}from"./vue-router-DaxrQwX3.js";import{t as re}from"./UiSelect-CMR0QqF6.js";import{t as F}from"./UiDisclosure-D0iMTplF.js";import{n as I,t as L}from"./paths-CDREouhi.js";import{n as R,r as ie,t as ae}from"./identity-CM6Dmy00.js";import{n as z,t as B}from"./KnowledgeInspector-Te1hJZbx.js";import{i as oe,n as se,r as ce,t as le}from"./KnowledgeEditDialog-ClnrfPZi.js";import{C as ue,D as de,E as fe,S as pe,_ as me,b as he,d as ge,f as _e,g as ve,h as ye,l as be,m as xe,s as Se,u as Ce,v as V,w as we,y as Te}from"./model-WFhQZ3v_.js";function Ee(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 De={value:()=>{}};function Oe(){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 ke(n)}function ke(e){this._=e}function Ae(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}})}ke.prototype=Oe.prototype={constructor:ke,on:function(e,t){var n=this._,r=Ae(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=je(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]=H(n[i],e.name,t);else if(t==null)for(i in n)n[i]=H(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 ke(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 je(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function H(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=De,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var U={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 W(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),U.hasOwnProperty(t)?{space:U[t],local:e}:e}function G(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 Me(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ne(e){var t=W(e);return(t.local?Me:G)(t)}function Pe(){}function Fe(e){return e==null?Pe:function(){return this.querySelector(e)}}function Ie(e){typeof e!=`function`&&(e=Fe(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 K(r,this._parents)}function Le(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Re(){return[]}function ze(e){return e==null?Re:function(){return this.querySelectorAll(e)}}function Be(e){return function(){return Le(e.apply(this,arguments))}}function Ve(e){e=typeof e==`function`?Be(e):ze(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 K(r,i)}function He(e){return function(){return this.matches(e)}}function Ue(e){return function(t){return t.matches(e)}}var We=Array.prototype.find;function Ge(e){return function(){return We.call(this.children,e)}}function Ke(){return this.firstElementChild}function qe(e){return this.select(e==null?Ke:Ge(typeof e==`function`?e:Ue(e)))}var Je=Array.prototype.filter;function Ye(){return Array.from(this.children)}function Xe(e){return function(){return Je.call(this.children,e)}}function Ze(e){return this.selectAll(e==null?Ye:Xe(typeof e==`function`?e:Ue(e)))}function Qe(e){typeof e!=`function`&&(e=He(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 K(r,this._parents)}function $e(e){return Array(e.length)}function et(){return new K(this._enter||this._groups.map($e),this._parents)}function tt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}tt.prototype={constructor:tt,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 nt(e){return function(){return e}}function rt(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 tt(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function it(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 tt(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function at(e){return e.__data__}function ot(e,t){if(!arguments.length)return Array.from(this,at);var n=t?it:rt,r=this._parents,i=this._groups;typeof e!=`function`&&(e=nt(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=st(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 K(o,r),o._enter=s,o._exit=c,o}function st(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ct(){return new K(this._exit||this._groups.map($e),this._parents)}function lt(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 ut(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 K(s,this._parents)}function dt(){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 ft(e){e||=pt;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 K(i,this._parents).order()}function pt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function mt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ht(){return Array.from(this)}function gt(){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 _t(){let e=0;for(let t of this)++e;return e}function vt(){return!this.node()}function yt(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 bt(e){return function(){this.removeAttribute(e)}}function xt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function St(e,t){return function(){this.setAttribute(e,t)}}function Ct(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function wt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Tt(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 Et(e,t){var n=W(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?xt:bt:typeof t==`function`?n.local?Tt:wt:n.local?Ct:St)(n,t))}function Dt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ot(e){return function(){this.style.removeProperty(e)}}function kt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function At(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function jt(e,t,n){return arguments.length>1?this.each((t==null?Ot:typeof t==`function`?At:kt)(e,t,n??``)):Mt(this.node(),e)}function Mt(e,t){return e.style.getPropertyValue(t)||Dt(e).getComputedStyle(e,null).getPropertyValue(t)}function Nt(e){return function(){delete this[e]}}function Pt(e,t){return function(){this[e]=t}}function Ft(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function It(e,t){return arguments.length>1?this.each((t==null?Nt:typeof t==`function`?Ft:Pt)(e,t)):this.node()[e]}function Lt(e){return e.trim().split(/^|\s+/)}function Rt(e){return e.classList||new zt(e)}function zt(e){this._node=e,this._names=Lt(e.getAttribute(`class`)||``)}zt.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 Bt(e,t){for(var n=Rt(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Vt(e,t){for(var n=Rt(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Ht(e){return function(){Bt(this,e)}}function Ut(e){return function(){Vt(this,e)}}function Wt(e,t){return function(){(t.apply(this,arguments)?Bt:Vt)(this,e)}}function Gt(e,t){var n=Lt(e+``);if(arguments.length<2){for(var r=Rt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Wt:t?Ht:Ut)(n,t))}function Kt(){this.textContent=``}function qt(e){return function(){this.textContent=e}}function Jt(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Yt(e){return arguments.length?this.each(e==null?Kt:(typeof e==`function`?Jt:qt)(e)):this.node().textContent}function Xt(){this.innerHTML=``}function Zt(e){return function(){this.innerHTML=e}}function Qt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function $t(e){return arguments.length?this.each(e==null?Xt:(typeof e==`function`?Qt:Zt)(e)):this.node().innerHTML}function en(){this.nextSibling&&this.parentNode.appendChild(this)}function tn(){return this.each(en)}function nn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function rn(){return this.each(nn)}function an(e){var t=typeof e==`function`?e:Ne(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function on(){return null}function sn(e,t){var n=typeof e==`function`?e:Ne(e),r=t==null?on:typeof t==`function`?t:Fe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function cn(){var e=this.parentNode;e&&e.removeChild(this)}function ln(){return this.each(cn)}function un(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function dn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function fn(e){return this.select(e?dn:un)}function pn(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function mn(e){return function(t){e.call(this,t,this.__data__)}}function hn(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 gn(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 _n(e,t,n){return function(){var r=this.__on,i,a=mn(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 vn(e,t,n){var r=hn(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?_n:gn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function yn(e,t,n){var r=Dt(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 bn(e,t){return function(){return yn(this,e,t)}}function xn(e,t){return function(){return yn(this,e,t.apply(this,arguments))}}function Sn(e,t){return this.each((typeof t==`function`?xn:bn)(e,t))}function*Cn(){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 wn=[null];function K(e,t){this._groups=e,this._parents=t}function Tn(){return new K([[document.documentElement]],wn)}function En(){return this}K.prototype=Tn.prototype={constructor:K,select:Ie,selectAll:Ve,selectChild:qe,selectChildren:Ze,filter:Qe,data:ot,enter:et,exit:ct,join:lt,merge:ut,selection:En,order:dt,sort:ft,call:mt,nodes:ht,node:gt,size:_t,empty:vt,each:yt,attr:Et,style:jt,property:It,classed:Gt,text:Yt,html:$t,raise:tn,lower:rn,append:an,insert:sn,remove:ln,clone:fn,datum:pn,on:vn,dispatch:Sn,[Symbol.iterator]:Cn};function q(e){return typeof e==`string`?new K([[document.querySelector(e)]],[document.documentElement]):new K([[e]],wn)}function Dn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function On(e,t){if(e=Dn(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 kn={passive:!1},An={capture:!0,passive:!1};function jn(e){e.stopImmediatePropagation()}function Mn(e){e.preventDefault(),e.stopImmediatePropagation()}function Nn(e){var t=e.document.documentElement,n=q(e).on(`dragstart.drag`,Mn,An);`onselectstart`in t?n.on(`selectstart.drag`,Mn,An):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Pn(e,t){var n=e.document.documentElement,r=q(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,Mn,An),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 Fn=e=>()=>e;function In(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}})}In.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Ln(e){return!e.ctrlKey&&!e.button}function Rn(){return this.parentNode}function zn(e,t){return t??{x:e.x,y:e.y}}function Bn(){return navigator.maxTouchPoints||`ontouchstart`in this}function Vn(){var e=Ln,t=Rn,n=zn,r=Bn,i={},a=Oe(`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`,_,kn).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&&(q(n.view).on(`mousemove.drag`,m,An).on(`mouseup.drag`,h,An),Nn(n.view),jn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(Mn(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){q(e.view).on(`mousemove.drag mouseup.drag`,null),Pn(e.view,l),Mn(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]))&&(jn(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])&&(Mn(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])&&(jn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=On(l||r,t),p,m,h;if((h=n.call(e,new In(`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=On(l||a,t),_=o;break}u.call(r,e,new In(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:Fn(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Fn(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Fn(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Fn(!!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 Hn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Un(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Wn(){}var Gn=.7,Kn=1/Gn,qn=`\\s*([+-]?\\d+)\\s*`,Jn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Yn=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Xn=/^#([0-9a-f]{3,8})$/,Zn=RegExp(`^rgb\\(${qn},${qn},${qn}\\)$`),Qn=RegExp(`^rgb\\(${Yn},${Yn},${Yn}\\)$`),$n=RegExp(`^rgba\\(${qn},${qn},${qn},${Jn}\\)$`),er=RegExp(`^rgba\\(${Yn},${Yn},${Yn},${Jn}\\)$`),tr=RegExp(`^hsl\\(${Jn},${Yn},${Yn}\\)$`),nr=RegExp(`^hsla\\(${Jn},${Yn},${Yn},${Jn}\\)$`),rr={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};Hn(Wn,cr,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ir,formatHex:ir,formatHex8:ar,formatHsl:or,formatRgb:sr,toString:sr});function ir(){return this.rgb().formatHex()}function ar(){return this.rgb().formatHex8()}function or(){return br(this).formatHsl()}function sr(){return this.rgb().formatRgb()}function cr(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Xn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?lr(t):n===3?new J(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ur(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ur(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=Zn.exec(e))?new J(t[1],t[2],t[3],1):(t=Qn.exec(e))?new J(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=$n.exec(e))?ur(t[1],t[2],t[3],t[4]):(t=er.exec(e))?ur(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=tr.exec(e))?yr(t[1],t[2]/100,t[3]/100,1):(t=nr.exec(e))?yr(t[1],t[2]/100,t[3]/100,t[4]):rr.hasOwnProperty(e)?lr(rr[e]):e===`transparent`?new J(NaN,NaN,NaN,0):null}function lr(e){return new J(e>>16&255,e>>8&255,e&255,1)}function ur(e,t,n,r){return r<=0&&(e=t=n=NaN),new J(e,t,n,r)}function dr(e){return e instanceof Wn||(e=cr(e)),e?(e=e.rgb(),new J(e.r,e.g,e.b,e.opacity)):new J}function fr(e,t,n,r){return arguments.length===1?dr(e):new J(e,t,n,r??1)}function J(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Hn(J,fr,Un(Wn,{brighter(e){return e=e==null?Kn:Kn**+e,new J(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Gn:Gn**+e,new J(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new J(_r(this.r),_r(this.g),_r(this.b),gr(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:pr,formatHex:pr,formatHex8:mr,formatRgb:hr,toString:hr}));function pr(){return`#${vr(this.r)}${vr(this.g)}${vr(this.b)}`}function mr(){return`#${vr(this.r)}${vr(this.g)}${vr(this.b)}${vr((isNaN(this.opacity)?1:this.opacity)*255)}`}function hr(){let e=gr(this.opacity);return`${e===1?`rgb(`:`rgba(`}${_r(this.r)}, ${_r(this.g)}, ${_r(this.b)}${e===1?`)`:`, ${e})`}`}function gr(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function _r(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vr(e){return e=_r(e),(e<16?`0`:``)+e.toString(16)}function yr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Sr(e,t,n,r)}function br(e){if(e instanceof Sr)return new Sr(e.h,e.s,e.l,e.opacity);if(e instanceof Wn||(e=cr(e)),!e)return new Sr;if(e instanceof Sr)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 Sr(o,s,c,e.opacity)}function xr(e,t,n,r){return arguments.length===1?br(e):new Sr(e,t,n,r??1)}function Sr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Hn(Sr,xr,Un(Wn,{brighter(e){return e=e==null?Kn:Kn**+e,new Sr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Gn:Gn**+e,new Sr(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 J(Tr(e>=240?e-240:e+120,i,r),Tr(e,i,r),Tr(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Sr(Cr(this.h),wr(this.s),wr(this.l),gr(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=gr(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Cr(this.h)}, ${wr(this.s)*100}%, ${wr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Cr(e){return e=(e||0)%360,e<0?e+360:e}function wr(e){return Math.max(0,Math.min(1,e||0))}function Tr(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 Er=e=>()=>e;function Dr(e,t){return function(n){return e+n*t}}function Or(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function kr(e){return(e=+e)==1?Ar:function(t,n){return n-t?Or(t,n,e):Er(isNaN(t)?n:t)}}function Ar(e,t){var n=t-e;return n?Dr(e,n):Er(isNaN(e)?t:e)}var jr=(function e(t){var n=kr(t);function r(e,t){var r=n((e=fr(e)).r,(t=fr(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Ar(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 Mr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Nr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pr=new RegExp(Nr.source,`g`);function Fr(e){return function(){return e}}function Ir(e){return function(t){return e(t)+``}}function Lr(e,t){var n=Nr.lastIndex=Pr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Nr.exec(e))&&(i=Pr.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:Mr(r,i)})),n=Pr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Ir(c[0].x):Fr(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 Rr=180/Math.PI,zr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Br(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)*Rr,skewX:Math.atan(c)*Rr,scaleX:o,scaleY:s}}var Vr;function Hr(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?zr:Br(t.a,t.b,t.c,t.d,t.e,t.f)}function Ur(e){return e==null||(Vr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Vr.setAttribute(`transform`,e),!(e=Vr.transform.baseVal.consolidate()))?zr:(e=e.matrix,Br(e.a,e.b,e.c,e.d,e.e,e.f))}function Wr(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:Mr(e,i)},{i:c-2,x:Mr(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:Mr(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:Mr(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:Mr(e,n)},{i:s-2,x:Mr(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 Gr=Wr(Hr,`px, `,`px)`,`deg)`),Kr=Wr(Ur,`, `,`)`,`)`),qr=1e-12;function Jr(e){return((e=Math.exp(e))+1/e)/2}function Yr(e){return((e=Math.exp(e))-1/e)/2}function Xr(e){return((e=Math.exp(2*e))-1)/(e+1)}var Zr=(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<qr)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=Jr(y),c=s/(n*g)*(i*Xr(t*r+y)-Yr(y));return[a+c*d,o+c*f,s*i/Jr(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,$r=0,ei=0,ti=1e3,ni,ri,ii=0,ai=0,oi=0,si=typeof performance==`object`&&performance.now?performance:Date,ci=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function li(){return ai||=(ci(ui),si.now()+oi)}function ui(){ai=0}function di(){this._call=this._time=this._next=null}di.prototype=fi.prototype={constructor:di,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?li():+n)+(t==null?0:+t),!this._next&&ri!==this&&(ri?ri._next=this:ni=this,ri=this),this._call=e,this._time=n,_i()},stop:function(){this._call&&(this._call=null,this._time=1/0,_i())}};function fi(e,t,n){var r=new di;return r.restart(e,t,n),r}function pi(){li(),++Qr;for(var e=ni,t;e;)(t=ai-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Qr}function mi(){ai=(ii=si.now())+oi,Qr=$r=0;try{pi()}finally{Qr=0,gi(),ai=0}}function hi(){var e=si.now(),t=e-ii;t>ti&&(oi-=t,ii=e)}function gi(){for(var e,t=ni,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:ni=n);ri=e,_i(r)}function _i(e){Qr||($r&&=clearTimeout($r),e-ai>24?(e<1/0&&($r=setTimeout(mi,e-si.now()-oi)),ei&&=clearInterval(ei)):(ei||=(ii=si.now(),setInterval(hi,ti)),Qr=1,ci(mi)))}function vi(e,t,n){var r=new di;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var yi=Oe(`start`,`end`,`cancel`,`interrupt`),bi=[];function xi(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;Ti(e,n,{name:t,index:r,group:i,on:yi,tween:bi,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Si(e,t){var n=wi(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function Ci(e,t){var n=wi(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function wi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Ti(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=fi(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 vi(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(vi(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 Ei(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 Di(e){return this.each(function(){Ei(this,e)})}function Oi(e,t){var n,r;return function(){var i=Ci(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 ki(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=Ci(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 Ai(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=wi(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?Oi:ki)(n,e,t))}function ji(e,t,n){var r=e._id;return e.each(function(){var e=Ci(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return wi(e,r).value[t]}}function Mi(e,t){var n;return(typeof t==`number`?Mr:t instanceof cr?jr:(n=cr(t))?(t=n,jr):Lr)(e,t)}function Ni(e){return function(){this.removeAttribute(e)}}function Pi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Fi(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 Ii(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 Li(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 Ri(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 zi(e,t){var n=W(e),r=n===`transform`?Kr:Mi;return this.attrTween(e,typeof t==`function`?(n.local?Ri:Li)(n,r,ji(this,`attr.`+e,t)):t==null?(n.local?Pi:Ni)(n):(n.local?Ii:Fi)(n,r,t))}function Bi(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Vi(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Hi(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Vi(e,i)),n}return i._value=t,i}function Ui(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Bi(e,i)),n}return i._value=t,i}function Wi(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=W(e);return this.tween(n,(r.local?Hi:Ui)(r,t))}function Gi(e,t){return function(){Si(this,e).delay=+t.apply(this,arguments)}}function Ki(e,t){return t=+t,function(){Si(this,e).delay=t}}function qi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Gi:Ki)(t,e)):wi(this.node(),t).delay}function Ji(e,t){return function(){Ci(this,e).duration=+t.apply(this,arguments)}}function Yi(e,t){return t=+t,function(){Ci(this,e).duration=t}}function Xi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Ji:Yi)(t,e)):wi(this.node(),t).duration}function Zi(e,t){if(typeof t!=`function`)throw Error();return function(){Ci(this,e).ease=t}}function Qi(e){var t=this._id;return arguments.length?this.each(Zi(t,e)):wi(this.node(),t).ease}function $i(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();Ci(this,e).ease=n}}function ea(e){if(typeof e!=`function`)throw Error();return this.each($i(this._id,e))}function ta(e){typeof e!=`function`&&(e=He(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 Aa(r,this._parents,this._name,this._id)}function na(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 Aa(o,this._parents,this._name,this._id)}function ra(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 ia(e,t,n){var r,i,a=ra(t)?Si:Ci;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function aa(e,t){var n=this._id;return arguments.length<2?wi(this.node(),n).on.on(e):this.each(ia(n,e,t))}function oa(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function sa(){return this.on(`end.remove`,oa(this._id))}function ca(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Fe(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,xi(l[f],t,n,f,l,wi(u,n)));return new Aa(a,this._parents,t,n)}function la(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ze(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=wi(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&xi(p,t,n,h,f,m);a.push(f),o.push(u)}return new Aa(a,o,t,n)}var ua=Tn.prototype.constructor;function da(){return new ua(this._groups,this._parents)}function fa(e,t){var n,r,i;return function(){var a=Mt(this,e),o=(this.style.removeProperty(e),Mt(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function pa(e){return function(){this.style.removeProperty(e)}}function ma(e,t,n){var r,i=n+``,a;return function(){var o=Mt(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function ha(e,t,n){var r,i,a;return function(){var o=Mt(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Mt(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function ga(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=Ci(this,e),l=c.on,u=c.value[a]==null?s||=pa(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function _a(e,t,n){var r=(e+=``)==`transform`?Gr:Mi;return t==null?this.styleTween(e,fa(e,r)).on(`end.style.`+e,pa(e)):typeof t==`function`?this.styleTween(e,ha(e,r,ji(this,`style.`+e,t))).each(ga(this._id,e)):this.styleTween(e,ma(e,r,t),n).on(`end.style.`+e,null)}function va(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function ya(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&va(e,a,n)),r}return a._value=t,a}function ba(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,ya(e,t,n??``))}function xa(e){return function(){this.textContent=e}}function Sa(e){return function(){var t=e(this);this.textContent=t??``}}function Ca(e){return this.tween(`text`,typeof e==`function`?Sa(ji(this,`text`,e)):xa(e==null?``:e+``))}function wa(e){return function(t){this.textContent=e.call(this,t)}}function Ta(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&wa(r)),t}return r._value=e,r}function Ea(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,Ta(e))}function Da(){for(var e=this._name,t=this._id,n=Ma(),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=wi(c,t);xi(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Aa(r,this._parents,e,n)}function Oa(){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=Ci(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 ka=0;function Aa(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function ja(e){return Tn().transition(e)}function Ma(){return++ka}var Na=Tn.prototype;Aa.prototype=ja.prototype={constructor:Aa,select:ca,selectAll:la,selectChild:Na.selectChild,selectChildren:Na.selectChildren,filter:ta,merge:na,selection:da,transition:Da,call:Na.call,nodes:Na.nodes,node:Na.node,size:Na.size,empty:Na.empty,each:Na.each,on:aa,attr:zi,attrTween:Wi,style:_a,styleTween:ba,text:Ca,textTween:Ea,remove:sa,tween:Ai,delay:qi,duration:Xi,ease:Qi,easeVarying:ea,end:Oa,[Symbol.iterator]:Na[Symbol.iterator]};function Pa(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Fa={time:null,delay:0,duration:250,ease:Pa};function Ia(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function La(e){var t,n;e instanceof Aa?(t=e._id,e=e._name):(t=Ma(),(n=Fa).time=li(),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])&&xi(c,e,t,l,o,n||Ia(c,t));return new Aa(r,this._parents,e,t)}Tn.prototype.interrupt=Di,Tn.prototype.transition=La;var{abs:Ra,max:za,min:Ba}=Math;[`w`,`e`].map(Va),[`n`,`s`].map(Va),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Va);function Va(e){return{type:e}}function Ha(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 Ua(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return Wa(this.cover(t,n),t,n,e)}function Wa(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 Ga(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)Wa(this,o[n],s[n],e[n]);return this}function Ka(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 qa(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function Ja(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 Y(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function Ya(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 Y(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 Y(p[3],g,_,c,l),new Y(p[2],o,_,g,l),new Y(p[1],g,s,c,_),new Y(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 Xa(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 Za(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function Qa(){return this._root}function $a(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function eo(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new Y(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 Y(i,l,u,s,c)),(i=r[2])&&t.push(new Y(i,a,u,l,c)),(i=r[1])&&t.push(new Y(i,l,o,s,u)),(i=r[0])&&t.push(new Y(i,a,o,l,u))}return this}function to(e){var t=[],n=[],r;for(this._root&&t.push(new Y(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 Y(a,o,s,u,d)),(a=i[1])&&t.push(new Y(a,u,s,c,d)),(a=i[2])&&t.push(new Y(a,o,d,u,l)),(a=i[3])&&t.push(new Y(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 no(e){return e[0]}function ro(e){return arguments.length?(this._x=e,this):this._x}function io(e){return e[1]}function ao(e){return arguments.length?(this._y=e,this):this._y}function oo(e,t,n){var r=new so(t??no,n??io,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function so(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 co(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var X=oo.prototype=so.prototype;X.copy=function(){var e=new so(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=co(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]=co(r));return e},X.add=Ua,X.addAll=Ga,X.cover=Ka,X.data=qa,X.extent=Ja,X.find=Ya,X.remove=Xa,X.removeAll=Za,X.root=Qa,X.size=$a,X.visit=eo,X.visitAfter=to,X.x=ro,X.y=ao;function Z(e){return function(){return e}}function lo(e){return(e()-.5)*1e-6}function uo(e){return e.x+e.vx}function fo(e){return e.y+e.vy}function po(e){var t,n,r,i=1,a=1;typeof e!=`function`&&(e=Z(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=oo(t,uo,fo).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=lo(r),_+=h*h),g===0&&(g=lo(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:Z(+t),c(),o):e},o}function mo(e){return e.index}function ho(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function go(e){var t=mo,n=d,r,i=Z(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||lo(l),m=f.y+f.vy-d.y-d.vy||lo(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=ho(u,d.source)),typeof d.target!=`object`&&(d.target=ho(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:Z(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:Z(+e),h(),f):i},f}var _o=1664525,vo=1013904223,yo=4294967296;function bo(){let e=1;return()=>(e=(_o*e+vo)%yo)/yo}function xo(e){return e.x}function So(e){return e.y}var Co=10,wo=Math.PI*(3-Math.sqrt(5));function To(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=fi(d),l=Oe(`tick`,`end`),u=bo();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=Co*Math.sqrt(.5+t),a=t*wo;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 Eo(){var e,t,n,r,i=Z(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=oo(e,xo,So).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=lo(n),m+=d*d),f===0&&(f=lo(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=lo(n),m+=d*d),f===0&&(f=lo(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:Z(+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 Do(e,t,n){var r,i=Z(.1),a,o;typeof e!=`function`&&(e=Z(+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:Z(+e),c(),s):i},s.radius=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+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 Oo(e){var t=Z(.1),n,r,i;typeof e!=`function`&&(e=Z(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:Z(+e),o(),a):t},a.x=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),o(),a):e},a}function ko(e){var t=Z(.1),n,r,i;typeof e!=`function`&&(e=Z(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:Z(+e),o(),a):t},a.y=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),o(),a):e},a}var Ao=e=>()=>e;function jo(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 Mo(e,t,n){this.k=e,this.x=t,this.y=n}Mo.prototype={constructor:Mo,scale:function(e){return e===1?this:new Mo(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Mo(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 No=new Mo(1,0,0);Po.prototype=Mo.prototype;function Po(e){for(;!e.__zoom;)if(!(e=e.parentNode))return No;return e.__zoom}function Fo(e){e.stopImmediatePropagation()}function Io(e){e.preventDefault(),e.stopImmediatePropagation()}function Lo(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function Ro(){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 zo(){return this.__zoom||No}function Bo(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Vo(){return navigator.maxTouchPoints||`ontouchstart`in this}function Ho(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 Uo(){var e=Lo,t=Ro,n=Ho,r=Bo,i=Vo,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Zr,l=Oe(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,zo).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,ee).on(`touchmove.zoom`,D).on(`touchend.zoom touchcancel.zoom`,O).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`,zo),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(No.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 Mo(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 Mo(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 Mo(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=q(this.that).datum();l.call(e,this.that,new jo(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=On(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)],Ei(this),s.start();Io(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=q(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=On(t,i),l=t.clientX,u=t.clientY;Nn(t.view),Fo(t),a.mouse=[c,this.__zoom.invert(c)],Ei(this),a.start();function d(e){if(Io(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]=On(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Pn(e.view,a.moved),Io(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=On(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);Io(r),s>0?q(this).transition().duration(s).call(x,d,c,r):q(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(Fo(t),s=0;s<i;++s)c=r[s],l=On(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)),Ei(this),a.start())}}function D(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(Io(e),s=0;s<a;++s)c=i[s],l=On(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 O(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(Fo(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=On(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=q(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:Ao(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Ao(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:Ao(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:Ao([[+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 Wo=`0 0 24 24`,Q={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`},Go={PART_OF:{messageKey:`PART_OF`,iconPath:Q.hierarchy},HAS_SOURCE:{messageKey:`HAS_SOURCE`,iconPath:Q.source},HAS_PURPOSE:{messageKey:`HAS_PURPOSE`,iconPath:Q.purpose},HAS_SCOPE:{messageKey:`HAS_SCOPE`,iconPath:Q.scope},GOVERNS:{messageKey:`GOVERNS`,iconPath:Q.shield},HAS_TECHNICAL_SUMMARY:{messageKey:`HAS_TECHNICAL_SUMMARY`,iconPath:Q.code},ASSESSED_AS:{messageKey:`ASSESSED_AS`,iconPath:Q.assessment},MEASURES:{messageKey:`MEASURES`,iconPath:Q.measure},CONTAINS_PROJECT:{messageKey:`CONTAINS_PROJECT`,iconPath:Q.folder},USES_KNOWLEDGE_FROM:{messageKey:`USES_KNOWLEDGE_FROM`,iconPath:Q.transfer},USES_EXTERNAL_KNOWLEDGE:{messageKey:`USES_EXTERNAL_KNOWLEDGE`,iconPath:Q.transfer},DEPENDS_ON:{messageKey:`DEPENDS_ON`,iconPath:Q.link},PROVIDES_TO:{messageKey:`PROVIDES_TO`,iconPath:Q.transfer},SHARES_CAPABILITY_WITH:{messageKey:`SHARES_CAPABILITY_WITH`,iconPath:Q.link},RELATED_TO:{messageKey:`RELATED_TO`,iconPath:Q.link},HAS_DECISION:{messageKey:`HAS_DECISION`,iconPath:Q.decision}},Ko={messageKey:`fallback`,iconPath:Q.link},qo=RegExp(`\\b(${Object.keys(Go).join(`|`)})\\b`,`g`);function Jo(e){let t=Go[e.trim().toUpperCase()]??Ko,n=`knowledge.domain.relations.${t.messageKey}`;return{type:e,label:d(`${n}.label`),description:d(`${n}.description`),iconPath:t.iconPath}}function Yo(e){return e.replace(qo,e=>d(`knowledge.domain.relations.quoted`,{label:Jo(e).label}))}function Xo(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(Jo(r)))}return n}var Zo=[`blue`,`teal`,`violet`,`amber`,`rose`,`cyan`,`slate`].map(e=>`var(--color-chart-${e})`),Qo=.18,$o=5,es=1.5,ts=.72;function ns(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(rs).filter(({sourceId:e,targetId:t})=>s.has(e)&&s.has(t)),l=q(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 f=l.append(`g`).attr(`class`,`graph-viewport`),p=f.append(`g`).attr(`class`,`graph-edges`),m=f.append(`g`).attr(`class`,`graph-edge-labels`),h=f.append(`g`).attr(`class`,`graph-nodes`),g=p.selectAll(`line.graph-edge`).data(c).join(`line`).attr(`class`,e=>[`graph-edge`,e.invalid_at?`historical`:null,cs(e)?`human-change-pending`:null,e.human_change_status===`viewed`?`human-change-viewed`:null].filter(Boolean).join(` `)).attr(`marker-end`,`url(#${u})`),_=p.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=Jo(e.type);return`${t.label}:${Yo(e.fact||t.description)}`});_.append(`title`).text(e=>{let t=Jo(e.type);return`${t.label}:${Yo(e.fact||t.description)}`});let v=c.length<=90?m.selectAll(`g.graph-edge-label`).data(c).join(`g`).attr(`class`,`graph-edge-label`).attr(`data-relation-type`,e=>e.type):m.selectAll(`g.graph-edge-label`);v.append(`rect`).attr(`class`,`graph-edge-label-bg`).attr(`x`,e=>-us(e)/2).attr(`y`,-10).attr(`width`,us).attr(`height`,20).attr(`rx`,10),v.append(`path`).attr(`class`,`graph-edge-label-icon`).attr(`d`,e=>Jo(e.type).iconPath).attr(`transform`,e=>`translate(${-us(e)/2+6},-6) scale(.5)`),v.append(`text`).attr(`class`,`graph-edge-label-text`).attr(`x`,e=>-us(e)/2+22).attr(`y`,3.5).text(e=>Jo(e.type).label),v.append(`title`).text(e=>{let t=Jo(e.type);return`${t.label}:${t.description}`});let y=h.selectAll(`g.graph-node`).data(o).join(`g`).attr(`class`,e=>[`graph-node`,$(e)?`project-node`:null,cs(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=>`${Yo(e.name)},ID ${R(e)}`);y.filter(e=>!$(e)).append(`circle`).attr(`class`,`graph-node-shape`).attr(`r`,e=>10+Math.min(7,ls(e.id,c))).attr(`fill`,e=>ss(e.type)),y.filter($).append(`circle`).attr(`class`,`graph-project-ring`).attr(`r`,24),y.filter($).append(`circle`).attr(`class`,`graph-node-shape`).attr(`r`,19),y.filter($).append(`path`).attr(`class`,`graph-project-icon`).attr(`d`,`M-9,-7H-3L0,-4H9V7H-9Z`),y.filter(cs).append(`circle`).attr(`class`,`graph-node-human-marker`).attr(`cx`,e=>$(e)?20:12).attr(`cy`,e=>$(e)?-20:-12).attr(`r`,4),y.append(`text`).attr(`class`,`graph-node-label`).attr(`y`,e=>$(e)?39:26+Math.min(7,ls(e.id,c))).text(e=>ds(Yo(e.name),22)),y.append(`text`).attr(`class`,`graph-node-id`).attr(`y`,e=>$(e)?51:38+Math.min(7,ls(e.id,c))).text(e=>`#${R(e)}`);let b=y.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(d(`knowledge.domain.graph.hit`)),y.append(`title`).text(e=>[Yo(e.name),e.type,`ID: ${e.id}`,$(e)?d(`knowledge.domain.graph.projectMarked`):null,cs(e)?e.human_change_status===`unseen`?d(`knowledge.domain.graph.humanUnseen`):d(`knowledge.domain.graph.humanViewed`):null].filter(Boolean).join(`
|
|
2
|
-
`));let x=Uo().scaleExtent([Qo,$o]).on(`zoom`,e=>{f.attr(`transform`,e.transform.toString()).classed(`graph-viewport--compact-labels`,e.transform.k<ts)});l.call(x).on(`dblclick.zoom`,null);let S=To(o).force(`link`,go(c).id(({id:e})=>e).distance(118).strength(.42)).force(`charge`,Eo().strength(-390).distanceMax(620)).force(`collide`,po().radius(e=>$(e)?58:38+Math.min(10,ls(e.id,c)))).force(`project-focus`,Do(e=>$(e)?70:210,i/2,a/2).strength(e=>$(e)?.55:.008)).force(`center`,Ha(i/2,a/2)).force(`x`,Oo(i/2).strength(.025)).force(`y`,ko(a/2).strength(.025)).stop();for(let e=0;e<220;e+=1)S.tick();T();let C=null,w=Vn().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,q(this).classed(`pinned`,!0),T()}).on(`end`,function(e,t){t.dragMoved?(t.fx=t.x,t.fy=t.y):(t.fx=null,t.fy=null,q(this).classed(`pinned`,!1)),delete t.dragMoved});return y.call(w),y.on(`click`,(e,t)=>{e.stopPropagation(),E(t)}).on(`keydown`,(e,t)=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),E(t))}).on(`dblclick`,(e,t)=>{e.stopPropagation(),t.fx=null,t.fy=null,q(e.currentTarget).classed(`pinned`,!1),S.alpha(.35).restart(),C!==null&&window.clearTimeout(C),C=window.setTimeout(()=>{C=null,S.stop()},700)}),_.on(`click`,(e,t)=>{e.stopPropagation(),D(t)}).on(`keydown`,(e,t)=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),D(t))}).on(`mouseenter.labels`,(e,t)=>O(t,`hovered`,!0)).on(`mouseleave.labels`,(e,t)=>O(t,`hovered`,!1)).on(`focus.labels`,(e,t)=>O(t,`focused`,!0)).on(`blur.labels`,(e,t)=>O(t,`focused`,!1)),l.on(`click.selection`,t=>{t.target===e&&j()}),N(o,0),{zoomIn:()=>M(1.32),zoomOut:()=>M(.76),fit:()=>N(o),reset:()=>{j(),l.transition().duration(220).call(x.transform,No)},selectItem(e,t){if(e===`entity`){let e=o.find(e=>e.id===t);return e?(ee(e),N([e]),!0):!1}let n=c.find(e=>e.id===t);return n?(k(n),N([as(n.source),as(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?A({nodeIds:new Set,edgeIds:new Set,selectedNodeId:null,selectedEdgeId:null,searchMatch:n}):j(),0;let i=new Set(r.map(({id:e})=>e));return A({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}),N(r),r.length},clearSelection:j,destroy(){C!==null&&(window.clearTimeout(C),C=null),S.stop(),l.on(`.zoom`,null).on(`.selection`,null),l.selectAll(`*`).remove()}};function T(){g.attr(`x1`,e=>os(e.source,`x`)).attr(`y1`,e=>os(e.source,`y`)).attr(`x2`,e=>os(e.target,`x`)).attr(`y2`,e=>os(e.target,`y`)),_.attr(`x1`,e=>os(e.source,`x`)).attr(`y1`,e=>os(e.source,`y`)).attr(`x2`,e=>os(e.target,`x`)).attr(`y2`,e=>os(e.target,`y`)),v.attr(`transform`,e=>`translate(${(os(e.source,`x`)+os(e.target,`x`))/2},${(os(e.source,`y`)+os(e.target,`y`))/2-5})`),y.attr(`transform`,e=>`translate(${e.x??i/2},${e.y??a/2})`)}function E(e){ee(e),r.onNodeSelect?.(e)}function ee(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));A({nodeIds:t,edgeIds:n,selectedNodeId:e.id,selectedEdgeId:null})}function D(e){k(e),r.onEdgeSelect?.(e.raw)}function O(e,t,n){v.filter(({id:t})=>t===e.id).classed(t,n)}function k(e){A({nodeIds:new Set([e.sourceId,e.targetId]),edgeIds:new Set([e.id]),selectedNodeId:null,selectedEdgeId:e.id})}function A({nodeIds:e,edgeIds:t,selectedNodeId:n,selectedEdgeId:r,searchMatch:i=!1}){y.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)),g.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)),v.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 j(){y.classed(`selected related dimmed search-match`,!1),g.classed(`selected related dimmed search-match`,!1),v.classed(`selected related dimmed search-match`,!1)}function M(e){l.transition().duration(180).call(x.scaleBy,e)}function N(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(Qo,Math.min(es,.82/Math.max(d/i,f/a))),m=(o+s)/2,h=(c+u)/2,g=No.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 rs(e,t){let n=is(e.source),r=is(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 is(e){return typeof e==`object`&&e?e.id:e}function as(e){if(typeof e==`object`&&e)return e;throw Error(`Graph edge endpoint was not linked: ${e}`)}function os(e,t){return as(e)[t]??0}function ss(e){return Zo[Math.floor(fs(e)*Zo.length)%Zo.length]}function $(e){return e?.type===`PersonalProject`||e?.type===`RelatedPersonalProject`}function cs(e){return e?.human_change_status===`unseen`||e?.human_change_status===`viewed`}function ls(e,t){return t.reduce((t,n)=>t+Number(n.sourceId===e||n.targetId===e),0)}function us(e){return Math.max(54,31+[...Jo(e.type).label].length*10)}function ds(e,t){return e.length>t?`${e.slice(0,t-1)}…`:e}function fs(e=``){let t=2166136261;for(let n of e)t=Math.imul(t^n.charCodeAt(0),16777619);return(t>>>0)%1e4/1e4}var ps=[`aria-label`],ms=t({__name:`GraphCanvas`,props:{graph:{},selectedItem:{}},emits:[`selectNode`,`selectEdge`],setup(t,{expose:n,emit:r}){let l=t,u=r,f=s(null),p=null;a(m),e(()=>l.graph,m,{deep:!1}),e(()=>y(),m),e([()=>l.selectedItem?.itemKind,()=>l.selectedItem?.id],h),i(()=>p?.destroy()),n({zoomIn:()=>p?.zoomIn(),zoomOut:()=>p?.zoomOut(),fit:()=>p?.fit(),reset:()=>p?.reset(),clearSelection:()=>p?.clearSelection(),selectItem:(e,t)=>p?.selectItem(e,t)??!1,focusByNames:(e,t)=>p?.focusByNames(e,t)??0});async function m(){await _(),f.value&&(p?.destroy(),p=ns(f.value,l.graph,{onNodeSelect:e=>u(`selectNode`,e),onEdgeSelect:e=>u(`selectEdge`,e)}),h())}function h(){let e=l.selectedItem;e&&p?.selectItem(e.itemKind,e.id)}return(e,t)=>(o(),c(`svg`,{id:`knowledge-graph`,ref_key:`svg`,ref:f,class:`knowledge-graph-canvas`,viewBox:`0 0 1000 620`,role:`img`,"aria-label":x(d)(`knowledge.workspace.graph.aria`)},null,8,ps))}}),hs={key:0,class:`graph-relation-legend`},gs=[`viewBox`],_s={class:`graph-relation-legend-panel`},vs=[`viewBox`],ys=[`d`],bs=t({__name:`GraphRelationLegend`,props:{relationTypes:{}},setup(e){let t=e,n=C(()=>Xo(t.relationTypes));return(e,t)=>n.value.length?(o(),c(`details`,hs,[E(`summary`,null,[(o(),c(`svg`,{viewBox:x(Wo),"aria-hidden":`true`},[...t[0]||=[E(`path`,{d:`M5 5h4v4H5zM15 15h4v4h-4zM9 7h4a4 4 0 0 1 4 4v4`},null,-1)]],8,gs)),E(`span`,null,b(x(d)(`knowledge.workspace.graph.legend`)),1),E(`small`,null,b(n.value.length),1),t[1]||=E(`i`,{"aria-hidden":`true`},null,-1)]),E(`div`,_s,[E(`header`,null,[E(`strong`,null,b(x(d)(`knowledge.workspace.graph.legend`)),1),E(`span`,null,b(x(d)(`knowledge.workspace.graph.legendCopy`)),1)]),E(`ul`,null,[(o(!0),c(m,null,r(n.value,e=>(o(),c(`li`,{key:e.type},[(o(),c(`svg`,{viewBox:x(Wo),"aria-hidden":`true`},[E(`path`,{d:e.iconPath},null,8,ys)],8,vs)),E(`span`,null,[E(`strong`,null,b(e.label),1),E(`small`,null,b(e.description),1)])]))),128))])])])):T(``,!0)}}),xs=[`aria-label`],Ss=[`aria-label`],Cs=[`aria-selected`],ws=[`aria-selected`],Ts={key:1,id:`directory-panel-knowledge`,class:`directory-tab-panel`,role:`tabpanel`,"aria-labelledby":`directory-tab-knowledge`},Es={class:`directory-section-heading`},Ds={class:`directory-section-copy`},Os=[`aria-label`],ks=[`aria-pressed`],As=[`aria-pressed`],js=[`aria-pressed`],Ms={class:`directory-section-count`},Ns={class:`knowledge-table-head`,"aria-hidden":`true`},Ps={class:`knowledge-column-content`},Fs={class:`knowledge-column-quadrant`},Is={class:`knowledge-column-review`},Ls={class:`knowledge-column-type`},Rs={class:`knowledge-column-source`},zs={class:`knowledge-column-time`},Bs={class:`knowledge-column-validity`},Vs=[`data-item-key`,`onClick`],Hs={class:`knowledge-row-content`},Us={class:`knowledge-row-title`},Ws={class:`knowledge-row-type`},Gs={class:`knowledge-row-source`},Ks={class:`knowledge-row-time`},qs={class:`empty-state`},Js={key:2,id:`directory-panel-materials`,class:`directory-tab-panel`,role:`tabpanel`,"aria-labelledby":`directory-tab-materials`},Ys={class:`directory-section-heading`},Xs={class:`directory-section-copy`},Zs={class:`directory-section-count`},Qs=[`data-item-key`,`onClick`],$s={class:`project-material-copy`},ec={class:`project-material-type`},tc={class:`project-material-link`},nc={class:`empty-state`},rc=t({__name:`KnowledgeDirectoryPanel`,props:{personalProjectsOnly:{type:Boolean},directorySection:{},knowledgeTabCount:{},materialTabCount:{},contentStatus:{},currentItemCount:{},historicalItemCount:{},allItems:{},visibleItems:{},projectMaterialItems:{},visibleProjectMaterialItems:{},selectedItem:{},listResetKey:{},sourceLabel:{type:Function}},emits:[`change-section`,`update-status`,`select-item`],setup(e,{emit:t}){let r=e,i=t;function a(e){return`${e.itemKind}:${e.id}`}let s=C(()=>r.selectedItem?r.visibleItems.findIndex(e=>a(e)===a(r.selectedItem)):-1),u=C(()=>r.selectedItem?r.visibleProjectMaterialItems.findIndex(e=>a(e)===a(r.selectedItem)):-1);return(t,r)=>(o(),c(`section`,{class:g([`knowledge-directory-panel`,{"has-directory-tabs":e.personalProjectsOnly}]),"aria-label":e.directorySection===`materials`?x(d)(`knowledge.workspace.workspace.view.materialDirectory`):x(d)(`knowledge.workspace.workspace.view.knowledgeDirectory`)},[e.personalProjectsOnly?(o(),c(`div`,{key:0,class:`directory-kind-tabs`,role:`tablist`,"aria-label":x(d)(`knowledge.workspace.workspace.view.directoryTypeAria`)},[E(`button`,{id:`directory-tab-knowledge`,class:`directory-kind-tab`,type:`button`,role:`tab`,"aria-controls":`directory-panel-knowledge`,"aria-selected":e.directorySection===`knowledge`,onClick:r[0]||=e=>i(`change-section`,`knowledge`)},[E(`span`,null,b(x(d)(`knowledge.workspace.workspace.view.knowledgeContent`)),1),E(`small`,null,b(e.knowledgeTabCount),1)],8,Cs),E(`button`,{id:`directory-tab-materials`,class:`directory-kind-tab`,type:`button`,role:`tab`,"aria-controls":`directory-panel-materials`,"aria-selected":e.directorySection===`materials`,onClick:r[1]||=e=>i(`change-section`,`materials`)},[E(`span`,null,b(x(d)(`knowledge.workspace.workspace.view.projectMaterials`)),1),E(`small`,null,b(e.materialTabCount),1)],8,ws)],8,Ss)):T(``,!0),e.directorySection===`knowledge`?(o(),c(`div`,Ts,[E(`header`,Es,[E(`div`,Ds,[E(`strong`,null,b(x(d)(`knowledge.workspace.workspace.view.knowledgeContent`)),1)]),E(`div`,{class:`knowledge-status-filter`,role:`group`,"aria-label":x(d)(`knowledge.workspace.workspace.view.knowledgeStatusAria`)},[E(`button`,{class:`knowledge-status-option`,"data-status":`current`,type:`button`,"aria-pressed":e.contentStatus===`current`,onClick:r[2]||=e=>i(`update-status`,`current`)},[w(b(x(d)(`common.status.current`))+` `,1),E(`span`,null,b(e.currentItemCount),1)],8,ks),E(`button`,{class:`knowledge-status-option`,"data-status":`historical`,type:`button`,"aria-pressed":e.contentStatus===`historical`,onClick:r[3]||=e=>i(`update-status`,`historical`)},[w(b(x(d)(`common.status.invalid`))+` `,1),E(`span`,null,b(e.historicalItemCount),1)],8,As),E(`button`,{class:`knowledge-status-option`,"data-status":`all`,type:`button`,"aria-pressed":e.contentStatus===`all`,onClick:r[4]||=e=>i(`update-status`,`all`)},[w(b(x(d)(`common.status.all`))+` `,1),E(`span`,null,b(e.allItems.length),1)],8,js)],8,Os),E(`small`,Ms,b(x(d)(`common.counts.items`,{count:e.visibleItems.length})),1)]),l(z,{class:`knowledge-directory-virtual-list`,items:e.visibleItems,"row-height":68,"active-index":s.value,"reset-key":e.listResetKey,"item-key":a,label:x(d)(`knowledge.workspace.workspace.view.knowledgeDirectory`)},{header:n(()=>[E(`div`,Ns,[E(`span`,Ps,b(x(d)(`knowledge.workspace.workspace.view.columns.content`)),1),E(`span`,Fs,b(x(d)(`knowledge.workspace.workspace.view.columns.quadrant`)),1),E(`span`,Is,b(x(d)(`knowledge.workspace.workspace.view.columns.review`)),1),E(`span`,Ls,b(x(d)(`knowledge.workspace.workspace.view.columns.type`)),1),E(`span`,Rs,b(x(d)(`knowledge.workspace.workspace.view.columns.source`)),1),E(`span`,zs,b(x(d)(`knowledge.workspace.workspace.view.columns.updated`)),1),E(`span`,Bs,b(x(d)(`knowledge.workspace.workspace.view.columns.validity`)),1)])]),default:n(({item:t})=>[E(`button`,{class:g([`knowledge-row`,{selected:e.selectedItem?.itemKind===t.itemKind&&e.selectedItem?.id===t.id}]),type:`button`,"data-item-key":a(t),onClick:e=>i(`select-item`,t)},[E(`span`,Hs,[E(`span`,Us,[E(`strong`,null,b(t.title),1),t.humanChangeStatus===`unseen`||t.humanChangeStatus===`viewed`?(o(),c(`em`,{key:0,class:g([`human-change-badge`,`state-${t.humanChangeStatus}`])},b(x(ge)(t.humanChangeStatus)),3)):T(``,!0)]),E(`small`,null,b(t.profileAspect?`${x(ue)(t.profileAspect)} · ${t.body}`:t.body),1)]),E(`span`,{class:g([`knowledge-row-quadrant`,t.originQuadrant])},b(x(fe)(t.originQuadrant)),3),E(`span`,{class:g([`knowledge-review-state`,`state-${x(me)(t)}`])},b(x(de)(t)),3),E(`span`,Ws,b(t.type),1),E(`span`,Gs,b(e.sourceLabel(t)),1),E(`span`,Ks,b(x(Ce)(x(V)(t))),1),E(`span`,{class:g([`knowledge-status`,t.invalidAt?`historical`:`current`])},b(t.invalidAt?x(d)(`common.status.invalid`):x(d)(`knowledge.workspace.workspace.view.active`)),3)],10,Vs)]),empty:n(()=>[E(`div`,qs,b(e.allItems.length?x(d)(`knowledge.workspace.workspace.view.noFilteredKnowledge`):x(d)(`knowledge.workspace.workspace.view.noKnowledge`)),1)]),_:1},8,[`items`,`active-index`,`reset-key`,`label`])])):(o(),c(`div`,Js,[E(`header`,Ys,[E(`div`,Xs,[E(`strong`,null,b(x(d)(`knowledge.workspace.workspace.view.projectMaterials`)),1)]),E(`small`,Zs,b(x(d)(`common.counts.items`,{count:e.visibleProjectMaterialItems.length})),1)]),l(z,{class:`project-material-virtual-list`,items:e.visibleProjectMaterialItems,"row-height":61,"active-index":u.value,"reset-key":e.listResetKey,"item-key":a,label:x(d)(`knowledge.workspace.workspace.view.materialDirectory`)},{default:n(({item:t})=>[E(`button`,{class:g([`project-material-row`,{selected:e.selectedItem?.itemKind===t.itemKind&&e.selectedItem?.id===t.id}]),type:`button`,"data-item-key":a(t),onClick:e=>i(`select-item`,t)},[E(`span`,$s,[E(`strong`,null,b(t.itemKind===`entity`?t.title:t.type),1),E(`small`,null,b(t.body),1)]),E(`span`,ec,b(x(we)(t)),1),E(`span`,tc,b(x(d)(`knowledge.workspace.workspace.view.viewDetails`)),1)],10,Qs)]),empty:n(()=>[E(`div`,nc,b(e.projectMaterialItems.length?x(d)(`knowledge.workspace.workspace.view.noFilteredMaterials`):x(d)(`knowledge.workspace.workspace.view.noMaterials`)),1)]),_:1},8,[`items`,`active-index`,`reset-key`,`label`])]))],10,xs))}}),ic=[`disabled`],ac={class:`knowledge-project-source`},oc={class:`ui-meta`},sc={class:`knowledge-project-mode`},cc=[`disabled`],lc={key:0,class:`knowledge-project-fields`},uc={class:`ui-field`},dc={class:`ui-field`},fc={class:`ui-field knowledge-project-wide`},pc={key:2,class:`knowledge-project-relation`},mc={class:`ui-check`},hc={class:`ui-meta`},gc={class:`knowledge-project-preview`},_c={key:1},vc={class:`ui-meta`},yc={key:2,class:`knowledge-project-compare`},bc={class:`ui-meta`},xc={class:`ui-meta`},Sc={key:3,class:`knowledge-project-conflict-options`},Cc={class:`ui-check`},wc={class:`ui-check`},Tc={class:`ui-check`},Ec={class:`ui-check`},Dc={class:`ui-field`},Oc=j(t({__name:`KnowledgeProjectDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{}},emits:[`close`,`saved`],setup(t,{emit:r}){let i=t,a=r,m=ee(),h=s(`create`),_=s(``),y=s(``),D=s(``),k=s(``),j=s(!0),te=s(`RELATED_TO`),P=s(`defer`),ne=s(``),F=s(null),I=s(!1),L=s(!1),R=s(``),z=s(!1),B=0,oe=C(()=>i.item?.itemKind===`entity`?i.item.raw:null),se=C(()=>i.item?.assignments.at(0)?.project_id??i.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??i.personalProjectId??null),ce=C(()=>i.projects.filter(({project_id:e})=>e!==se.value)),le=C(()=>ce.value.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${ae(e.project_id,26)}`,search:ie(e.project_id)}))),ue=C(()=>ce.value.find(({project_id:e})=>e===_.value)??null),de=C(()=>{if(h.value===`create`)return{label:d(`projects.knowledgeDialog.previews.create.label`),title:d(`projects.knowledgeDialog.previews.create.title`),copy:se.value?d(`projects.knowledgeDialog.previews.create.linkedCopy`):d(`projects.knowledgeDialog.previews.create.ownedCopy`)};if(I.value)return{label:d(`projects.knowledgeDialog.previews.checking.label`),title:d(`projects.knowledgeDialog.previews.checking.title`),copy:d(`projects.knowledgeDialog.previews.checking.copy`)};if(!F.value)return{label:d(`projects.knowledgeDialog.previews.waiting.label`),title:d(`projects.knowledgeDialog.previews.waiting.title`),copy:d(`projects.knowledgeDialog.previews.waiting.copy`)};let e=Object.fromEntries([`none`,`already_linked`,`exact_duplicate`,`conflict`].map(e=>[e,[d(`projects.knowledgeDialog.previews.outcomes.${e}.title`),d(`projects.knowledgeDialog.previews.outcomes.${e}.copy`)]])),[t,n]=e[F.value.match.kind]??e.none;return{label:t,title:n,copy:F.value.match.reason}}),fe=C(()=>{let e=h.value===`existing`?d(`projects.knowledgeDialog.relationActors.sourceProject`):d(`projects.knowledgeDialog.relationActors.newProject`),t=h.value===`existing`?d(`projects.knowledgeDialog.relationActors.targetProject`):d(`projects.knowledgeDialog.relationActors.sourceProject`);return{RELATED_TO:d(`projects.knowledgeDialog.relations.related`,{object:t}),PART_OF:d(`projects.knowledgeDialog.relations.partOf`,{subject:e,object:t}),USES_KNOWLEDGE_FROM:d(`projects.knowledgeDialog.relations.usesKnowledge`,{subject:e,object:t}),DEPENDS_ON:d(`projects.knowledgeDialog.relations.dependsOn`,{subject:e,object:t}),PROVIDES_TO:d(`projects.knowledgeDialog.relations.providesTo`,{subject:e,object:t}),SHARES_CAPABILITY_WITH:d(`projects.knowledgeDialog.relations.sharesCapability`,{object:t}),SUCCESSOR_OF:d(`projects.knowledgeDialog.relations.successorOf`,{subject:e,object:t})}}),pe=C(()=>Object.entries(fe.value).map(([e,t])=>({value:e,label:t}))),me=C(()=>h.value===`create`?d(`projects.knowledgeDialog.actions.create`):F.value?.match.kind===`exact_duplicate`?d(`projects.knowledgeDialog.actions.reuse`):d(`projects.knowledgeDialog.actions.add`)),he=C(()=>h.value===`create`?d(`projects.knowledgeDialog.actions.creating`):F.value?.match.kind===`exact_duplicate`?d(`projects.knowledgeDialog.actions.reusing`):d(`projects.knowledgeDialog.actions.adding`)),ge=C(()=>L.value||h.value===`existing`&&(I.value||!F.value));e(()=>i.item,e=>{B+=1,F.value=null,I.value=!1,R.value=``,h.value=`create`,z.value=!1;let t=e?.itemKind===`entity`?e.raw:null;y.value=t?.name??``,D.value=ye(t?.name??``),k.value=t?.summary??``,ne.value=t?d(`projects.knowledgeDialog.defaultReason`,{name:t.name}):``,j.value=!0,te.value=`RELATED_TO`,P.value=`defer`,_.value=ce.value[0]?.project_id??``},{immediate:!0}),e(y,e=>{z.value||(D.value=ye(e))}),e([h,_,()=>i.item],()=>{h.value===`existing`?_e():(B+=1,F.value=null,I.value=!1,R.value=``)});async function _e(){let e=i.item;if(!e||e.itemKind!==`entity`||!_.value)return;let t=++B;I.value=!0,F.value=null,R.value=``;try{let n=await O(`/api/knowledge/entity/${encodeURIComponent(e.id)}/project-action/preview`,{personalSpaceId:i.personalSpaceId,targetProjectId:_.value});if(t!==B||i.item?.id!==e.id)return;F.value=n,n.match.kind===`conflict`&&(P.value=`defer`)}catch(e){if(t!==B)return;xe(be(e)),m.reportError(e)}finally{t===B&&(I.value=!1)}}async function ve(){if(L.value)return;let e=i.item;if(!(!e||e.itemKind!==`entity`)){if(h.value===`create`&&(!y.value.trim()||!D.value.trim()))return xe(d(`projects.knowledgeDialog.errors.projectIdentityRequired`));if(h.value===`existing`&&!_.value)return xe(d(`projects.knowledgeDialog.errors.targetRequired`));if(h.value===`existing`&&!F.value)return xe(d(`projects.knowledgeDialog.errors.previewRequired`));if(!ne.value.trim())return xe(d(`projects.knowledgeDialog.errors.reasonRequired`));L.value=!0,R.value=``;try{let t=await O(`/api/knowledge/entity/${encodeURIComponent(e.id)}/project-action`,{personalSpaceId:i.personalSpaceId,mode:h.value,targetProjectId:h.value===`existing`?_.value:null,newProjectId:h.value===`create`?D.value.trim():null,newProjectName:h.value===`create`?y.value.trim():null,newProjectPurpose:h.value===`create`?k.value.trim():null,keepSourceRelation:!!(se.value&&j.value),relationType:te.value,conflictResolution:P.value,reason:ne.value.trim()}),n=h.value===`create`?y.value.trim():ue.value?.profile.name??d(`projects.knowledgeDialog.relationActors.targetProject`);a(`close`),a(`saved`,t,n)}catch(e){xe(be(e)),m.reportError(e)}finally{L.value=!1}}}function ye(e){return e.normalize(`NFKC`).toLocaleLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``).slice(0,128)||`new-project`}function be(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 xe(e){R.value=e}return(e,r)=>t.item?(o(),f(N,{key:0,open:``,class:`knowledge-project-dialog`,size:`lg`,form:``,busy:L.value,error:R.value,title:x(d)(`projects.knowledgeDialog.title`),description:x(d)(`projects.knowledgeDialog.intro`),onClose:r[15]||=e=>a(`close`),onSubmit:ve},{footer:n(()=>[l(M,{variant:`ghost`,disabled:L.value,onClick:r[14]||=e=>a(`close`)},{default:n(()=>[w(b(x(d)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),l(M,{variant:`primary`,type:`submit`,disabled:ge.value,busy:L.value,"busy-label":he.value},{default:n(()=>[w(b(me.value),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])]),default:n(()=>[E(`fieldset`,{class:`knowledge-project-body`,disabled:L.value},[E(`div`,ac,[E(`span`,oc,b(x(d)(`projects.knowledgeDialog.sourceNode`)),1),E(`strong`,null,b(oe.value?.name),1),E(`p`,null,b(oe.value?.summary||x(d)(`common.status.noDescription`)),1)]),E(`fieldset`,sc,[E(`legend`,null,b(x(d)(`projects.knowledgeDialog.chooseAction`)),1),E(`label`,null,[u(E(`input`,{"onUpdate:modelValue":r[0]||=e=>h.value=e,type:`radio`,value:`create`},null,512),[[S,h.value]]),E(`span`,null,[E(`strong`,null,b(x(d)(`projects.knowledgeDialog.createNew`)),1),E(`small`,null,b(x(d)(`projects.knowledgeDialog.createNewCopy`)),1)])]),E(`label`,{class:g({disabled:ce.value.length===0})},[u(E(`input`,{"onUpdate:modelValue":r[1]||=e=>h.value=e,type:`radio`,value:`existing`,disabled:ce.value.length===0},null,8,cc),[[S,h.value]]),E(`span`,null,[E(`strong`,null,b(x(d)(`projects.knowledgeDialog.addExisting`)),1),E(`small`,null,b(x(d)(`projects.knowledgeDialog.addExistingCopy`)),1)])],2)]),h.value===`create`?(o(),c(`section`,lc,[E(`label`,uc,[w(b(x(d)(`projects.knowledgeDialog.projectName`))+` `,1),u(E(`input`,{"onUpdate:modelValue":r[2]||=e=>y.value=e,maxlength:`512`,required:``},null,512),[[p,y.value]])]),E(`label`,dc,[w(b(x(d)(`projects.knowledgeDialog.projectId`))+` `,1),u(E(`input`,{"onUpdate:modelValue":r[3]||=e=>D.value=e,maxlength:`128`,required:``,onInput:r[4]||=e=>z.value=!0},null,544),[[p,D.value]])]),E(`label`,fc,[w(b(x(d)(`projects.knowledgeDialog.purpose`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":r[5]||=e=>k.value=e,maxlength:`4096`,rows:`3`},null,512),[[p,k.value]])])])):(o(),f(re,{key:1,modelValue:_.value,"onUpdate:modelValue":r[6]||=e=>_.value=e,field:``,options:le.value,label:x(d)(`projects.knowledgeDialog.targetPersonalProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`])),se.value?(o(),c(`section`,pc,[E(`label`,mc,[u(E(`input`,{"onUpdate:modelValue":r[7]||=e=>j.value=e,type:`checkbox`},null,512),[[v,j.value]]),E(`span`,null,[E(`strong`,null,b(x(d)(`projects.knowledgeDialog.preserveRelation`)),1),E(`small`,hc,b(x(d)(`projects.knowledgeDialog.preserveRelationCopy`)),1)])]),l(re,{modelValue:te.value,"onUpdate:modelValue":r[8]||=e=>te.value=e,field:``,options:pe.value,label:x(d)(`projects.knowledgeDialog.projectRelation`),disabled:!j.value},null,8,[`modelValue`,`options`,`label`,`disabled`])])):T(``,!0),E(`section`,gc,[I.value?(o(),f(A,{key:0,variant:`compact`,label:x(d)(`projects.knowledgeDialog.previews.checking.title`)},null,8,[`label`])):(o(),c(`div`,_c,[E(`span`,vc,b(de.value.label),1),E(`strong`,null,b(de.value.title),1),E(`p`,null,b(de.value.copy),1)])),F.value&&[`exact_duplicate`,`conflict`].includes(F.value.match.kind)?(o(),c(`div`,yc,[E(`article`,null,[E(`span`,bc,b(x(d)(`projects.knowledgeDialog.currentNode`)),1),E(`strong`,null,b(F.value.item_name),1),E(`p`,null,b(F.value.item_summary||x(d)(`common.status.noDescription`)),1)]),E(`article`,null,[E(`span`,xc,b(x(d)(`projects.knowledgeDialog.targetContent`)),1),E(`strong`,null,b(F.value.match.item_name||x(d)(`projects.knowledgeDialog.targetContentFallback`)),1),E(`p`,null,b(F.value.match.item_summary||x(d)(`common.status.noDescription`)),1)])])):T(``,!0),F.value?.match.kind===`conflict`?(o(),c(`fieldset`,Sc,[E(`legend`,null,b(x(d)(`projects.knowledgeDialog.conflictResolution`)),1),E(`label`,Cc,[u(E(`input`,{"onUpdate:modelValue":r[9]||=e=>P.value=e,type:`radio`,value:`defer`},null,512),[[S,P.value]]),E(`span`,null,b(x(d)(`projects.knowledgeDialog.defer`)),1)]),E(`label`,wc,[u(E(`input`,{"onUpdate:modelValue":r[10]||=e=>P.value=e,type:`radio`,value:`keep_target`},null,512),[[S,P.value]]),E(`span`,null,b(x(d)(`projects.knowledgeDialog.keepTarget`)),1)]),E(`label`,Tc,[u(E(`input`,{"onUpdate:modelValue":r[11]||=e=>P.value=e,type:`radio`,value:`use_source`},null,512),[[S,P.value]]),E(`span`,null,b(x(d)(`projects.knowledgeDialog.useSource`)),1)]),E(`label`,Ec,[u(E(`input`,{"onUpdate:modelValue":r[12]||=e=>P.value=e,type:`radio`,value:`coexist`},null,512),[[S,P.value]]),E(`span`,null,b(x(d)(`projects.knowledgeDialog.coexist`)),1)])])):T(``,!0)]),E(`label`,Dc,[w(b(x(d)(`projects.knowledgeDialog.operationReason`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":r[13]||=e=>ne.value=e,maxlength:`2048`,rows:`3`,required:``},null,512),[[p,ne.value]])])],8,ic)]),_:1},8,[`busy`,`error`,`title`,`description`])):T(``,!0)}}),[[`__scopeId`,`data-v-75e03db0`]]),kc={class:`project-profile-fields`},Ac={class:`ui-field`},jc={class:`ui-field project-profile-wide-field`},Mc=[`autofocus`,`placeholder`],Nc={class:`ui-field project-profile-wide-field`},Pc=[`autofocus`,`placeholder`],Fc={class:`ui-field project-profile-wide-field`},Ic=[`placeholder`],Lc={class:`ui-field project-profile-wide-field`},Rc=[`autofocus`,`placeholder`],zc={class:`ui-field-hint`},Bc={class:`project-source-editor`},Vc=[`autofocus`],Hc={class:`ui-meta`},Uc={key:0,class:`project-source-list`},Wc={class:`ui-field`},Gc=[`onUpdate:modelValue`],Kc={class:`ui-field project-source-wide-field`},qc=[`onUpdate:modelValue`,`placeholder`],Jc={class:`ui-field project-source-wide-field`},Yc=[`onUpdate:modelValue`],Xc={key:1,class:`ui-meta`},Zc={class:`ui-meta`},Qc=j(t({__name:`PersonalProjectProfileDialog`,props:{project:{},materialType:{}},emits:[`close`,`saved`],setup(t,{emit:i}){let a=t,h=i,g=s(``),_=s(``),v=s(``),y=s(``),S=s(`planned`),ee=s(``),O=s([]),k=s(``),A=s(!1),j=new Set([`ProjectPurpose`,`ProjectScope`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`PersonalProject`,`RelatedPersonalProject`]),te=C(()=>{let e=a.materialType??``;return j.has(e)?d(`projects.profileDialog.materialTypes.${e}`):d(`projects.profileDialog.materialTypes.fallback`)}),P=[`prd`,`product_document`,`technical_document`,`frontend_repository`,`backend_repository`,`repository`,`design`,`runbook`,`monitoring`,`issue_tracker`,`other`],ne=C(()=>P.map(e=>({value:e,label:e===`prd`?`PRD`:d(`projects.profileDialog.sourceTypes.${e}`)}))),F=C(()=>[`planned`,`active`,`maintenance`,`archived`].map(e=>({value:e,label:d(`projects.profileDialog.lifecycles.${e}`)}))),I=[`normal`,`private`,`restricted`],L=C(()=>I.map(e=>({value:e,label:d(`projects.profileDialog.sensitivities.${e}`)}))),R=new Set(P),ie=new Set(I);e(()=>[a.project,a.materialType],([e])=>{if(!e)return;let t=e.profile;g.value=t.name,_.value=t.purpose??``,v.value=t.scope??``,y.value=t.technical_summary??``,S.value=t.lifecycle??`planned`,ee.value=(t.boundaries??[]).map(e=>String(e)).join(`
|
|
3
|
-
`),O.value=(t.sources??[]).map(ae),k.value=``},{immediate:!0});function ae(e,t){let n=typeof e.kind==`string`&&R.has(e.kind)?e.kind:`other`,r=typeof e.sensitivity==`string`&&ie.has(e.sensitivity)?e.sensitivity:`normal`;return{key:z(e.key)||`source-${t+1}`,kind:n,title:z(e.title)||z(e.name),uri:z(e.uri),summary:z(e.summary),sensitivity:r}}function z(e){return typeof e==`string`?e:``}function B(e){return e.trim()||null}function oe(){return[...new Set(ee.value.split(`
|
|
4
|
-
`).map(e=>e.trim()).filter(Boolean))].slice(0,64)}function se(){O.value.push({key:`source-${Date.now().toString(36)}-${O.value.length+1}`,kind:`other`,title:``,uri:``,summary:``,sensitivity:`normal`})}function ce(e){O.value.splice(e,1)}async function le(){if(!a.project||A.value)return;let e=g.value.trim();if(!e){k.value=d(`projects.profileDialog.errors.nameRequired`);return}if(O.value.some(e=>!e.title.trim())){k.value=d(`projects.profileDialog.errors.sourceNameRequired`);return}A.value=!0,k.value=``;try{let t=await D(`/api/personal-projects`,{personalSpaceId:a.project.personal_space_id,projectId:a.project.project_id,profile:{name:e,purpose:B(_.value),scope:B(v.value),technicalSummary:B(y.value),lifecycle:S.value,sources:O.value.map(e=>({key:e.key,kind:e.kind,title:e.title.trim(),uri:B(e.uri),summary:B(e.summary),sensitivity:e.sensitivity})),boundaries:oe(),assessment:a.project.profile.assessment??null}});h(`saved`,t),h(`close`)}catch(e){k.value=e instanceof Error?e.message:d(`projects.profileDialog.errors.saveFailed`)}finally{A.value=!1}}return(e,i)=>t.project?(o(),f(N,{key:0,open:``,class:`project-profile-dialog`,size:`lg`,form:``,busy:A.value,error:k.value,title:x(d)(`projects.profileDialog.title`,{material:te.value}),description:x(d)(`projects.profileDialog.intro`),onClose:i[7]||=e=>h(`close`),onSubmit:le},{footer:n(()=>[l(M,{variant:`ghost`,disabled:A.value,onClick:i[6]||=e=>h(`close`)},{default:n(()=>[w(b(x(d)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),l(M,{variant:`primary`,type:`submit`,busy:A.value,"busy-label":x(d)(`projects.profileDialog.saving`)},{default:n(()=>[w(b(x(d)(`projects.profileDialog.save`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:n(()=>[E(`div`,kc,[E(`label`,Ac,[w(b(x(d)(`projects.profileDialog.projectName`))+` `,1),u(E(`input`,{"onUpdate:modelValue":i[0]||=e=>g.value=e,name:`project-name`,maxlength:`160`,required:``},null,512),[[p,g.value]])]),l(re,{modelValue:S.value,"onUpdate:modelValue":i[1]||=e=>S.value=e,field:``,name:`project-lifecycle`,label:x(d)(`projects.profileDialog.lifecycle`),options:F.value},null,8,[`modelValue`,`label`,`options`]),E(`label`,jc,[w(b(x(d)(`projects.profileDialog.purpose`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":i[2]||=e=>_.value=e,name:`project-purpose`,maxlength:`4096`,rows:`4`,autofocus:t.materialType===`ProjectPurpose`,placeholder:x(d)(`projects.profileDialog.purposePlaceholder`)},null,8,Mc),[[p,_.value]])]),E(`label`,Nc,[w(b(x(d)(`projects.profileDialog.scope`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":i[3]||=e=>v.value=e,name:`project-scope`,maxlength:`4096`,rows:`4`,autofocus:t.materialType===`ProjectScope`,placeholder:x(d)(`projects.profileDialog.scopePlaceholder`)},null,8,Pc),[[p,v.value]])]),E(`label`,Fc,[w(b(x(d)(`projects.profileDialog.technicalSummary`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":i[4]||=e=>y.value=e,name:`project-technical-summary`,maxlength:`4096`,rows:`4`,placeholder:x(d)(`projects.profileDialog.technicalPlaceholder`)},null,8,Ic),[[p,y.value]])]),E(`label`,Lc,[w(b(x(d)(`projects.profileDialog.boundary`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":i[5]||=e=>ee.value=e,name:`project-boundaries`,maxlength:`8192`,rows:`5`,autofocus:t.materialType===`ProjectBoundary`,placeholder:x(d)(`projects.profileDialog.boundaryPlaceholder`)},null,8,Rc),[[p,ee.value]]),E(`small`,zc,b(x(d)(`projects.profileDialog.boundaryHint`)),1)])]),E(`section`,Bc,[E(`div`,{class:`project-source-editor-heading`,tabindex:`-1`,autofocus:t.materialType===`ProjectSource`},[E(`div`,null,[E(`h3`,null,b(x(d)(`projects.profileDialog.sources`)),1),E(`p`,Hc,b(x(d)(`projects.profileDialog.sourcesCopy`)),1)]),l(M,{size:`sm`,onClick:se},{default:n(()=>[w(b(x(d)(`projects.profileDialog.addSource`)),1)]),_:1})],8,Vc),O.value.length?(o(),c(`div`,Uc,[(o(!0),c(m,null,r(O.value,(e,t)=>(o(),c(`article`,{key:e.key,class:`project-source-row`},[E(`label`,Wc,[w(b(x(d)(`projects.profileDialog.sourceName`))+` `,1),u(E(`input`,{"onUpdate:modelValue":t=>e.title=t,maxlength:`512`,required:``},null,8,Gc),[[p,e.title]])]),l(re,{modelValue:e.kind,"onUpdate:modelValue":t=>e.kind=t,field:``,label:x(d)(`projects.profileDialog.sourceType`),options:ne.value},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`options`]),E(`label`,Kc,[w(b(x(d)(`projects.profileDialog.sourceUri`))+` `,1),u(E(`input`,{"onUpdate:modelValue":t=>e.uri=t,maxlength:`2048`,placeholder:x(d)(`projects.profileDialog.sourceUriPlaceholder`)},null,8,qc),[[p,e.uri]])]),E(`label`,Jc,[w(b(x(d)(`projects.profileDialog.sourceSummary`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":t=>e.summary=t,maxlength:`4096`,rows:`2`},null,8,Yc),[[p,e.summary]])]),l(re,{modelValue:e.sensitivity,"onUpdate:modelValue":t=>e.sensitivity=t,field:``,label:x(d)(`projects.profileDialog.sensitivity`),options:L.value},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`options`]),l(M,{class:`project-source-remove`,size:`sm`,variant:`danger`,onClick:e=>ce(t)},{default:n(()=>[w(b(x(d)(`common.actions.remove`)),1)]),_:1},8,[`onClick`])]))),128))])):(o(),c(`p`,Xc,b(x(d)(`projects.profileDialog.noSources`)),1))]),E(`p`,Zc,b(x(d)(`projects.profileDialog.stateBoundary`)),1)]),_:1},8,[`busy`,`error`,`title`,`description`])):T(``,!0)}}),[[`__scopeId`,`data-v-c4ab96eb`]]),$c={class:`publish-dialog-project`},el={class:`ui-field`},tl=[`placeholder`],nl={class:`ui-field-hint`},rl={class:`ui-field`},il=[`placeholder`],al=[`aria-label`],ol=j(t({__name:`PublishProjectDialog`,props:{project:{}},emits:[`close`,`published`],setup(t,{emit:r}){let i=t,a=r,c=ee(),m=s(``),h=s(``),g=s(``),_=s(!1),v=C(()=>c.state?.projects.find(({publication_key:e})=>e&&e===i.project?.publication_key)??null),y=C(()=>v.value?.current_release?.version??null),S=C(()=>c.state?.providers?.workspaces?.find(({status:e})=>e===`ready`)?.providerUrl??null);e(()=>i.project,e=>{e&&(m.value=k(y.value),h.value=``,g.value=``)},{immediate:!0});async function D(){if(!_.value&&i.project){if(!S.value){g.value=d(`projects.publishDialog.errors.providerUnavailable`);return}if(!m.value.trim()){g.value=d(`projects.publishDialog.errors.versionRequired`);return}if(!h.value.trim()){g.value=d(`projects.publishDialog.errors.summaryRequired`);return}_.value=!0,g.value=``;try{await O(`/api/projects/publish`,{personalSpaceId:c.activePersonalSpace?.id,localProjectId:i.project.project_id,providerUrl:S.value,releaseVersion:m.value.trim(),updateSummary:h.value.trim()}),c.notify(d(`projects.publishDialog.published`,{name:i.project.profile.name,version:m.value.trim()})),await c.refresh(),a(`close`),a(`published`)}catch(e){g.value=e instanceof Error?e.message:d(`projects.publishDialog.errors.failed`),c.reportError(e)}finally{_.value=!1}}}function k(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(e,r)=>t.project?(o(),f(N,{key:0,open:``,class:`publish-dialog`,title:x(d)(`projects.publishDialog.title`),description:x(d)(`projects.publishDialog.warning`),busy:_.value,error:g.value,onClose:r[3]||=e=>a(`close`)},{footer:n(()=>[l(M,{variant:`ghost`,disabled:_.value,onClick:r[2]||=e=>a(`close`)},{default:n(()=>[w(b(x(d)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),l(M,{variant:`primary`,busy:_.value,"busy-label":x(d)(`projects.publishDialog.publishing`),onClick:D},{default:n(()=>[w(b(x(d)(`projects.publishDialog.confirm`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:n(()=>[E(`p`,$c,b(t.project.profile.name),1),E(`label`,el,[w(b(x(d)(`projects.publishDialog.version`))+` `,1),u(E(`input`,{"onUpdate:modelValue":r[0]||=e=>m.value=e,maxlength:`64`,placeholder:x(d)(`projects.publishDialog.versionPlaceholder`)},null,8,tl),[[p,m.value]]),E(`small`,nl,b(y.value?x(d)(`projects.publishDialog.currentVersion`,{version:y.value}):x(d)(`projects.publishDialog.firstRelease`)),1)]),E(`label`,rl,[w(b(x(d)(`projects.publishDialog.summary`))+` `,1),u(E(`textarea`,{"onUpdate:modelValue":r[1]||=e=>h.value=e,maxlength:`4096`,rows:`4`,placeholder:x(d)(`projects.publishDialog.summaryPlaceholder`)},null,8,il),[[p,h.value]])]),E(`dl`,{class:`publish-impact`,"aria-label":x(d)(`projects.publishDialog.impactAria`)},[E(`div`,null,[E(`dt`,null,b(x(d)(`projects.publishDialog.discoverable`)),1),E(`dd`,null,b(x(d)(`projects.publishDialog.discoverableCopy`)),1)]),E(`div`,null,[E(`dt`,null,b(x(d)(`projects.publishDialog.owner`)),1),E(`dd`,null,b(x(d)(`projects.publishDialog.ownerCopy`)),1)]),E(`div`,null,[E(`dt`,null,b(x(d)(`projects.publishDialog.syncProfile`)),1),E(`dd`,null,b(x(d)(`projects.publishDialog.syncProfileCopy`)),1)])],8,al)]),_:1},8,[`title`,`description`,`busy`,`error`])):T(``,!0)}}),[[`__scopeId`,`data-v-c2b80db1`]]),sl=t({__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 i(e){n(`profile-saved`,e)}return(t,a)=>(o(),c(m,null,[l(le,{item:e.editingItem,"personal-space-id":e.personalSpaceId,"personal-project-id":e.editingProjectId,projects:e.projects,"replacement-items":e.replacementItems,onClose:a[0]||=e=>n(`close-edit`),onSaved:a[1]||=e=>n(`refresh`)},null,8,[`item`,`personal-space-id`,`personal-project-id`,`projects`,`replacement-items`]),l(se,{item:e.confirmingItem,"personal-space-id":e.personalSpaceId,"personal-project-id":e.confirmingProjectId,onClose:a[2]||=e=>n(`close-confirm`),onSaved:a[3]||=e=>n(`refresh`)},null,8,[`item`,`personal-space-id`,`personal-project-id`]),l(Oc,{item:e.projectActionItem,"personal-space-id":e.personalSpaceId,"personal-project-id":e.currentProjectId,projects:e.projects,onClose:a[4]||=e=>n(`close-project-action`),onSaved:r},null,8,[`item`,`personal-space-id`,`personal-project-id`,`projects`]),l(ol,{project:e.publishingProject,onClose:a[5]||=e=>n(`close-publish`),onPublished:a[6]||=e=>n(`refresh`)},null,8,[`project`]),l(Qc,{project:e.managingProject,"material-type":e.managingMaterialType,onClose:a[7]||=e=>n(`close-profile`),onSaved:i},null,8,[`project`,`material-type`])],64))}}),cl=[`aria-label`],ll=[`aria-label`],ul=t({__name:`ProjectHierarchyAside`,props:{parents:{},activeProjectName:{},spaceId:{}},setup(e){let t=e;function i(){return t.activeProjectName||d(`knowledge.workspace.hierarchy.currentProject`)}return(t,a)=>e.parents.length?(o(),c(`aside`,{key:0,class:`project-hierarchy-aside`,"aria-label":x(d)(`knowledge.workspace.hierarchy.aria`)},[E(`header`,null,[E(`span`,null,b(x(d)(`knowledge.workspace.hierarchy.level`)),1),E(`strong`,null,b(x(d)(`knowledge.workspace.hierarchy.parents`)),1),E(`small`,null,b(x(d)(`common.counts.projects`,{count:e.parents.length})),1)]),E(`p`,null,b(x(d)(`knowledge.workspace.hierarchy.belongsTo`,{name:i()})),1),E(`nav`,{"aria-label":x(d)(`knowledge.workspace.hierarchy.listAria`)},[(o(!0),c(m,null,r(e.parents,t=>(o(),f(x(ne),{key:t.nodeId,class:`project-parent-link`,to:x(I)(e.spaceId,`graph`,t.projectId),"aria-label":x(d)(`knowledge.workspace.hierarchy.openParent`,{name:t.name})},{default:n(()=>[a[0]||=E(`span`,{class:`project-parent-icon`,"aria-hidden":`true`},[E(`svg`,{viewBox:`0 0 24 24`},[E(`path`,{d:`M3 6h7l2 2h9v11H3zM12 16V9M9 12l3-3 3 3`})])],-1),E(`span`,null,[E(`small`,null,b(x(d)(`knowledge.workspace.hierarchy.parents`)),1),E(`strong`,null,b(t.name),1),E(`em`,null,b(x(d)(`knowledge.workspace.hierarchy.belongsToParent`,{name:i()})),1)]),a[1]||=E(`b`,{"aria-hidden":`true`},`→`,-1)]),_:2},1032,[`to`,`aria-label`]))),128))],8,ll)],8,cl)):T(``,!0)}}),dl=15,fl=4;async function pl({personalSpaceId:e,projects:t,query:n,baseline:r,signal:i,limit:a=dl,request:o=k}){let s=hl(r),c=t.slice(0,a),l=[];for(let t=0;t<c.length;t+=fl){i?.throwIfAborted();let r=c.slice(t,t+fl);l.push(...await Promise.all(r.map(async t=>{try{let r=gl(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 ml(e){let t=e.failed?d(`knowledge.domain.discovery.failedSuffix`,{count:e.failed}):``;return e.matches.length?d(`knowledge.domain.discovery.matches`,{failure:t}):e.total?e.failed===e.checked?d(`knowledge.domain.discovery.allFailed`):e.checked<e.total?d(`knowledge.domain.discovery.checkedPartial`,{checked:e.checked,total:e.total,failure:t}):d(`knowledge.domain.discovery.checkedAll`,{failure:t}):d(`knowledge.domain.discovery.noOtherProjects`)}function hl(e){return new Set(gl(e).map(({key:e})=>e))}function gl(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 _l(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`||vl(t.source)!==n.id)continue;let e=r.get(vl(t.target));if(!e||!yl(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||d(`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(vl(e.source))&&s.has(vl(e.target)));return{graph:{...e,nodes:o,edges:c},parents:[...i.values()]}}function vl(e){return typeof e==`object`&&e?e.id:e}function yl(e){return e.type===`PersonalProject`||e.type===`RelatedPersonalProject`}var bl={class:`knowledge-view-heading`},xl=[`aria-label`],Sl=[`aria-selected`],Cl=[`aria-selected`],wl={key:2,class:`muted`},Tl={class:`graph-toolbar`},El={key:0,class:`personal-context-picker`},Dl={class:`personal-context-panel`},Ol={class:`personal-context-list`},kl=[`value`,`checked`],Al=[`aria-label`],jl=[`placeholder`,`aria-label`,`value`],Ml={class:`graph-view-actions`},Nl=[`aria-label`],Pl=[`aria-label`],Fl=[`aria-label`],Il=[`aria-label`,`title`],Ll={class:`knowledge-filter-controls`},Rl={key:2,class:`view-loading`,"aria-busy":`true`},zl={class:`graph-canvas-panel`},Bl={key:0,class:`graph-search-status`,"aria-live":`polite`},Vl={class:`graph-search-status-kicker`},Hl={class:`graph-search-status-title`},Ul={key:1,class:`graph-search-status-copy`},Wl={key:2,class:`graph-search-suggestions`},Gl={key:3,class:`graph-empty`},Kl={key:4,class:`graph-hint`},ql=t({__name:`KnowledgeWorkspace`,props:{personalProjectsOnly:{type:Boolean,default:!1}},setup(t){let a=t,u=ee(),p=P(),v=te(),y=s(!1),S=s(null),D=ce(),O=C(()=>D||y.value&&!S.value),j=oe(O),M=s(null),N=s(null),R=s(Yt(p.query.q)),z=s(``),se=s(!1),le=s(null),ue=s(null),de=s(null),me=s(null),ge=s(null),Ce=s(null),V=s(null),De=new Set,Oe=0,ke=0,Ae=null,je=null,H=C(()=>p.params.mode===`graph`?`graph`:`directory`),U=C(()=>a.personalProjectsOnly?`personal`:p.params.scope===`public`?`public`:`personal`),W=C(()=>String(p.params.spaceId??u.activePersonalSpace?.id??``)),G=C(()=>{let e=p.params.projectId;return typeof e==`string`&&e?e:null}),Me=C(()=>Xt(p.query.context)),Ne=C(()=>JSON.stringify([a.personalProjectsOnly,U.value,W.value,G.value,Me.value])),Pe=C(()=>ve(S.value)),Fe=C(()=>a.personalProjectsOnly?Te(S.value):[]),Ie=C(()=>{let e=R.value.trim().toLocaleLowerCase();return e?Fe.value.filter(t=>[t.title,t.body,t.type,we(t)].some(t=>t.toLocaleLowerCase().includes(e))):Fe.value}),Le=C(()=>[...Fe.value,...Pe.value]),Re=C(()=>a.personalProjectsOnly?H.value===`directory`&&M.value?_e(M.value)?`materials`:`knowledge`:Yt(p.query.section)===`materials`?`materials`:`knowledge`:`knowledge`),ze=C(()=>[...new Set(Pe.value.map(({type:e})=>e))].sort()),Be=C(()=>[{value:`all`,label:d(`knowledge.workspace.workspace.filters.allTypes`)},...ze.value.map(e=>({value:e,label:e}))]),Ve=C(()=>[{value:`all`,label:d(`knowledge.workspace.workspace.filters.allQuadrants`)},...[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:fe(e)}))]),He=C(()=>[{value:`all`,label:d(`knowledge.workspace.workspace.filters.allKnowledge`)},{value:`profile`,label:d(`knowledge.workspace.workspace.filters.preferences`)},{value:`regular`,label:d(`knowledge.workspace.workspace.filters.projectKnowledge`)}]),Ue=C(()=>[{value:`all`,label:d(`knowledge.workspace.workspace.filters.allHumanStates`)},{value:`human_changed`,label:d(`knowledge.workspace.workspace.filters.allHumanChanged`)},{value:`unseen`,label:d(`knowledge.workspace.workspace.filters.agentUnseen`)},{value:`viewed`,label:d(`knowledge.workspace.workspace.filters.viewedPending`)},{value:`reviewed`,label:d(`knowledge.workspace.workspace.filters.agentReviewed`)}]),We=C(()=>{let e=Yt(p.query.status);return e===`historical`||e===`all`?e:`current`}),Ge=C(()=>({query:R.value,type:Yt(p.query.type)||`all`,quadrant:Yt(p.query.quadrant)||`all`,profile:Yt(p.query.profile)||`all`,status:We.value,humanChange:Yt(p.query.human)||`all`})),Ke=C(()=>JSON.stringify([Re.value,Ge.value])),qe=C(()=>be(Pe.value,Ge.value)),Je=C(()=>Pe.value.filter(({invalidAt:e})=>!e).length),Ye=C(()=>Pe.value.length-Je.value),Xe=C(()=>We.value===`current`?Je.value:We.value===`historical`?Ye.value:Pe.value.length),Ze=C(()=>We.value===`current`?d(`common.status.current`):We.value===`historical`?d(`common.status.invalid`):d(`knowledge.workspace.workspace.status.all`)),Qe=C(()=>S.value?Se(S.value):null),$e=C(()=>Qe.value?_l(Qe.value,G.value):null),et=C(()=>$e.value?.graph??null),tt=C(()=>$e.value?.parents??[]),nt=C(()=>et.value?.edges.map(({type:e})=>e)??[]),rt=C(()=>{if(!S.value)return y.value?d(`common.status.loadingKnowledge`):d(`knowledge.workspace.workspace.status.graphUnread`);if(H.value===`graph`){let e=et.value;return z.value||d(`knowledge.workspace.workspace.counts.graph`,{nodes:e?.nodes.length??0,edges:e?.edges.length??0})}return Re.value===`materials`?Ie.value.length===Fe.value.length?d(`knowledge.workspace.workspace.counts.materials`,{count:Fe.value.length}):d(`knowledge.workspace.workspace.counts.visibleMaterials`,{visible:Ie.value.length,total:Fe.value.length}):qe.value.length===Xe.value?d(`knowledge.workspace.workspace.counts.knowledge`,{status:Ze.value,count:Xe.value}):d(`knowledge.workspace.workspace.counts.visibleKnowledge`,{status:Ze.value,visible:qe.value.length,total:Xe.value})}),it=C(()=>String(Pe.value.length)),at=C(()=>String(Fe.value.length)),ot=C(()=>(u.state?.personalProjects??[]).filter(({personal_space_id:e})=>e===W.value)),st=C(()=>ot.value.filter(({project_id:e})=>e!==G.value)),ct=C(()=>{let e=u.state;if(!e)return[];let t=e.personalSpaces.flatMap(t=>[{key:Jt(`personal`,t.id,null),scope:`personal`,spaceId:t.id,projectId:null,providerUrl:null,label:d(`knowledge.workspace.workspace.spaces.allPersonalProjects`,{name:t.name})},...(e.personalProjects??[]).filter(({personal_space_id:e})=>e===t.id).map(e=>({key:Jt(`personal`,t.id,e.project_id),scope:`personal`,spaceId:t.id,projectId:e.project_id,providerUrl:null,label:d(`knowledge.workspace.workspace.spaces.personalProject`,{name:e.profile.name})}))]);if(a.personalProjectsOnly)return t;let n=e.projects.map(e=>({key:Jt(`public`,e.id,null),scope:`public`,spaceId:e.id,projectId:null,providerUrl:e.providerUrl,label:d(`knowledge.workspace.workspace.spaces.publicProject`,{name:e.name})}));return[...t,...n]}),lt=C(()=>Jt(U.value,W.value,G.value)),ut=C(()=>ct.value.map(e=>{let t=e.projectId??e.spaceId;return{value:e.key,label:e.label,meta:`#${ae(t,26)}`,search:ie(t)}})),dt=C(()=>U.value===`personal`),ft=C(()=>u.state?.personalProjects?.find(({project_id:e})=>e===G.value)??null),pt=C(()=>Ht(M.value)),mt=C(()=>V.value?V.value.checking?d(`knowledge.workspace.workspace.discovery.checking`):V.value.result?ml(V.value.result):d(`knowledge.workspace.workspace.discovery.retry`):``),ht=Ee(()=>{Dt()},300);e([()=>u.state,()=>p.name,()=>p.params.mode,()=>p.params.spaceId],async([e])=>{e&&await gt()},{immediate:!0}),e([()=>u.state,Ne],async([e])=>{e&&await _t()},{immediate:!0}),e(()=>Yt(p.query.q),e=>{e===R.value||De.has(e)||(ht.cancel(),kt(),R.value=e,At(),H.value===`graph`&&e.trim()&&S.value&&!y.value&&je===Ne.value&&jt(e.trim()))},{flush:`sync`}),e(H,async()=>{ht.cancel(),kt(),At(),await _(),Ft(),Dt()}),e([()=>p.params.itemKind,()=>p.params.itemId],()=>Ft()),i(()=>{ht.cancel(),kt()});async function gt(){let e=u.activePersonalSpace;if(e){if(p.name===`knowledge-default`){await v.replace(L(`personal`,e.id,`directory`));return}if(W.value===`current`){let t=a.personalProjectsOnly?I(e.id,H.value,G.value):L(U.value,e.id,H.value,{projectId:G.value});await v.replace({path:t,query:p.query});return}p.params.mode!==`directory`&&p.params.mode!==`graph`&&await xt(a.personalProjectsOnly?`graph`:`directory`,!0)}}async function _t(){if(!W.value||W.value===`current`)return;let e=Ne.value,t=++Oe;kt(),y.value=!0,M.value=null,At();try{let n=G.value&&U.value===`personal`?await vt():await yt(G.value);if(t!==Oe)return;S.value=n,je=e,Ft(),H.value===`graph`&&R.value.trim()&&(await _(),jt(R.value.trim()))}catch(e){if(t!==Oe)return;S.value=null,je=null,u.reportError(e)}finally{t===Oe&&(y.value=!1)}}async function vt(){let[e,...t]=await Promise.all([yt(G.value),...Me.value.map(e=>yt(e))]);return he([e,...t])}function yt(e){let t=new URLSearchParams({spaceId:W.value,limit:`360`});if(U.value===`public`){let e=bt();e?.providerUrl&&t.set(`providerUrl`,e.providerUrl)}return e&&t.set(`personalProjectId`,e),k(`/api/graph?${t}`)}function bt(){return u.state?.projects.find(({id:e})=>e===W.value)??null}async function xt(e,t=!1){let n=M.value,r=a.personalProjectsOnly?I(W.value,e,G.value,{itemKind:n?.itemKind,itemId:n?.id}):L(U.value,W.value,e,{projectId:G.value,itemKind:n?.itemKind,itemId:n?.id}),i={...p.query};e===`graph`?delete i.section:a.personalProjectsOnly&&n&&(_e(n)?i.section=`materials`:delete i.section),await v[t?`replace`:`push`]({path:r,query:i})}async function St(e){if(!a.personalProjectsOnly||e===Re.value)return;M.value=null;let t={...p.query};e===`materials`?t.section=`materials`:delete t.section,await v.push({path:I(W.value,`directory`,G.value),query:t})}async function Ct(e){let t=ct.value.find(({key:t})=>t===e);if(!t)return;let n=a.personalProjectsOnly?I(t.spaceId,H.value,t.projectId):L(t.scope,t.spaceId,H.value,{projectId:t.projectId});await v.push({path:n})}async function wt(e,t){let n={...p.query};!t||t===`all`&&e!==`status`||e===`status`&&t===`current`?delete n[e]:n[e]=t,await v.replace({query:n})}function Tt(e){R.value=e,kt(),At(),ht.schedule()}function Et(){ht.cancel(),Dt()}async function Dt(){let e=R.value,t=e.trim();if(await Ot(e),!(R.value!==e||H.value===`directory`)){if(!t){kt(),At();return}y.value||!S.value||je!==Ne.value||await jt(t)}}async function Ot(e){if(Yt(p.query.q)!==e){De.add(e);try{await wt(`q`,e)}catch(e){u.reportError(e)}finally{await _(),De.delete(e)}}}function kt(){se.value=!1,ke+=1,Ae?.abort(),Ae=null}function At(){z.value=``,V.value=null,N.value?.clearSelection();let e=M.value;H.value===`graph`&&e&&N.value?.selectItem(e.itemKind,e.id)}async function jt(e){let t=u.activePersonalSpace?.id;if(!t)return;kt();let n=ke,r=new AbortController;Ae=r,V.value=null,se.value=!0,z.value=``;let i=new URLSearchParams({personalSpaceId:t,q:e,limit:`30`});G.value&&i.set(`personalProjectId`,G.value);for(let e of Me.value)i.append(`contextPersonalProjectId`,e);U.value===`public`&&i.append(`projectId`,W.value);try{let a=await k(`/api/search?${i}`,{signal:r.signal});if(n!==ke)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=N.value?.focusByNames(s,{searchMatch:!0})??0;if(c){z.value=d(`knowledge.workspace.workspace.search.results`,{entities:a.entities?.length??0,relationships:o.length,nodes:c});return}z.value=d(`knowledge.workspace.workspace.search.noResults`);let l=U.value===`personal`&&!G.value;if(V.value={query:e,checking:l,result:null},!l)return;let u=await pl({personalSpaceId:t,projects:ot.value,query:e,baseline:a,signal:r.signal});if(n!==ke)return;V.value={query:e,checking:!1,result:u}}catch(e){if(r.signal.aborted||n!==ke)return;z.value=d(`knowledge.workspace.workspace.search.failed`),u.reportError(e)}finally{Ae===r&&(Ae=null,se.value=!1)}}async function Mt(e){M.value=e;let t=a.personalProjectsOnly?I(W.value,H.value,G.value,{itemKind:e.itemKind,itemId:e.id}):L(U.value,W.value,H.value,{projectId:G.value,itemKind:e.itemKind,itemId:e.id}),n={...p.query};H.value===`directory`&&a.personalProjectsOnly&&(_e(e)?n.section=`materials`:delete n.section),await v.replace({path:t,query:n})}function Nt(e){Mt(Le.value.find(({itemKind:t,id:n})=>t===`entity`&&n===e.id)??ye(e))}function Pt(e){Mt(Le.value.find(({itemKind:t,id:n})=>t===`relationship`&&n===e.id)??xe(e,new Map(S.value?.nodes.map(e=>[e.id,e.name])??[])))}function Ft(){let e=p.params.itemKind,t=p.params.itemId;if(typeof e!=`string`||typeof t!=`string`){M.value=null;return}let n=Le.value.find(n=>n.itemKind===e&&n.id===t),r=e===`entity`?S.value?.nodes.find(({id:e})=>e===t):S.value?.edges.find(({id:e})=>e===t);if(M.value=n??(e===`entity`&&r?ye(r):e===`relationship`&&r?xe(r,new Map(S.value?.nodes.map(e=>[e.id,e.name])??[])):null),M.value&&H.value===`directory`){let e=qt(M.value);_(()=>{let t=[...document.querySelectorAll(`[data-item-key]`)].find(t=>t.dataset.itemKey===e);t?.scrollIntoView?.({block:`center`}),t?.focus({preventScroll:!0})})}}function It(e){let t=e.currentTarget,n=new Set(Me.value);t.checked?n.add(t.value):n.delete(t.value),wt(`context`,[...n])}async function Lt(e){await v.push(I(W.value,H.value,e))}async function Rt(e,t){let n=a.personalProjectsOnly?I(W.value,t,G.value,{itemKind:e.itemKind,itemId:e.id}):L(U.value,W.value,t,{projectId:G.value,itemKind:e.itemKind,itemId:e.id}),r={...p.query};if(t===`directory`&&a.personalProjectsOnly&&_e(e)?r.section=`materials`:delete r.section,t===`directory`&&!_e(e)&&!be([e],Ge.value).length)for(let e of[`q`,`type`,`quadrant`,`profile`,`status`,`human`])delete r[e];await v.push({path:n,query:r})}async function zt(e){let t=a.personalProjectsOnly?I(W.value,`directory`,G.value,{itemKind:e.itemKind,itemId:e.id}):L(U.value,W.value,`directory`,{projectId:G.value,itemKind:e.itemKind,itemId:e.id}),n={...p.query};for(let e of[`q`,`type`,`quadrant`,`profile`,`human`,`section`])delete n[e];e.invalidAt?n.status=`historical`:delete n.status,await v.push({path:t,query:n})}function Bt(e){let t=Ht(e);if(!t){u.reportError(Error(d(`knowledge.workspace.workspace.errors.projectUnknown`)));return}Ce.value=e.itemKind===`entity`?e.type:`PersonalProject`,ge.value=t}function Vt(e){return e?.profileAspect?null:G.value}function Ht(e){if(!e||!_e(e))return null;let t=pe(e),n=G.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 S.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 S.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=(S.value?.nodes.find(({id:e})=>e===i))?.attributes?.projectId;typeof a==`string`&&a&&r.add(a)}let i=t??n??[...r].find(e=>u.state?.personalProjects?.some(({project_id:t})=>t===e));return u.state?.personalProjects?.find(({project_id:e})=>e===i)??null}async function Ut(e){await u.refresh(),await _t(),u.notify(d(`knowledge.workspace.workspace.notices.materialUpdated`,{name:e.profile.name}))}function Wt(e){let t=u.state?.personalProjects?.find(({project_id:t})=>t===e);t&&(me.value=t)}async function Gt(e,t){let n={created:d(`knowledge.workspace.workspace.notices.projectCreated`,{name:t}),linked:d(`knowledge.workspace.workspace.notices.linked`,{name:t}),already_linked:d(`knowledge.workspace.workspace.notices.alreadyLinked`,{name:t}),duplicate_reused:d(`knowledge.workspace.workspace.notices.duplicateReused`,{name:t}),conflict_pending:d(`knowledge.workspace.workspace.notices.conflictPending`,{name:t}),conflict_resolved:d(`knowledge.workspace.workspace.notices.conflictResolved`)};await u.refresh(),await _t(),u.notify(n[e.status]??d(`knowledge.workspace.workspace.notices.scopeUpdated`))}function Kt(e){if(e.profileAspect)return`${e.preferenceScope===`project`?d(`knowledge.workspace.workspace.source.projectPreference`):d(`knowledge.workspace.workspace.source.personalGlobal`)} · ${e.evidence.length?d(`common.counts.sources`,{count:e.evidence.length}):d(`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=u.state?.personalProjects?.find(({project_id:e})=>e===r)?.profile.name;return`${i?d(`knowledge.workspace.workspace.source.primaryProject`,{name:i}):d(`knowledge.workspace.workspace.source.personalGlobal`)} · ${d(`common.counts.sources`,{count:e.evidence.length})}`}function qt(e){return`${e.itemKind}:${e.id}`}function Jt(e,t,n){return JSON.stringify([e,t,n])}function Yt(e){return typeof e==`string`?e:``}function Xt(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):typeof e==`string`?[e]:[]}return(e,i)=>(o(),c(`section`,{class:g([`view graph-view vue-knowledge-view`,{"graph-canvas-active":H.value===`graph`}])},[E(`div`,bl,[E(`div`,{class:`knowledge-mode-switch`,role:`tablist`,"aria-label":x(d)(`knowledge.workspace.workspace.view.modeAria`)},[E(`button`,{type:`button`,role:`tab`,"aria-selected":H.value===`directory`,onClick:i[0]||=e=>xt(`directory`)},b(x(d)(`knowledge.workspace.workspace.view.directory`)),9,Sl),E(`button`,{type:`button`,role:`tab`,"aria-selected":H.value===`graph`,onClick:i[1]||=e=>xt(`graph`)},b(x(d)(`knowledge.workspace.workspace.view.graph`)),9,Cl)],8,xl),se.value&&!V.value?.checking?(o(),f(A,{key:0,variant:`inline`,label:x(d)(`knowledge.workspace.workspace.search.searching`)},null,8,[`label`])):y.value&&S.value&&!x(j)&&(H.value!==`graph`||et.value?.nodes.length)?(o(),f(A,{key:1,variant:`inline`,label:x(d)(`common.status.loadingKnowledge`)},null,8,[`label`])):H.value===`graph`&&!x(j)?(o(),c(`span`,wl,b(rt.value),1)):T(``,!0)]),E(`div`,Tl,[l(re,{"model-value":lt.value,options:ut.value,label:x(d)(`knowledge.workspace.workspace.view.graphSpace`),"control-id":`graph-space`,searchable:``,"onUpdate:modelValue":Ct},null,8,[`model-value`,`options`,`label`]),G.value&&st.value.length?(o(),c(`details`,El,[E(`summary`,null,[w(b(x(d)(`knowledge.workspace.workspace.view.borrowProjects`))+` `,1),E(`span`,null,b(Me.value.length?x(d)(`knowledge.workspace.workspace.view.selectedContexts`,{count:Me.value.length}):x(d)(`knowledge.workspace.workspace.view.noneSelected`)),1),i[23]||=E(`i`,{class:`picker-chevron`,"aria-hidden":`true`},null,-1)]),E(`div`,Dl,[E(`strong`,null,b(x(d)(`knowledge.workspace.workspace.view.currentContext`)),1),E(`p`,null,b(x(d)(`knowledge.workspace.workspace.view.contextCopy`)),1),E(`div`,Ol,[(o(!0),c(m,null,r(st.value,e=>(o(),c(`label`,{key:e.project_id,class:`personal-context-option`},[E(`input`,{type:`checkbox`,value:e.project_id,checked:Me.value.includes(e.project_id),onChange:It},null,40,kl),E(`span`,null,[E(`strong`,null,b(e.profile.name),1),E(`small`,null,b(x(d)(`knowledge.workspace.workspace.view.currentScopeOnly`)),1)])]))),128))])])])):T(``,!0),E(`form`,{class:`search-form`,role:`search`,"aria-label":x(d)(`knowledge.workspace.workspace.search.aria`),onSubmit:h(Et,[`prevent`])},[E(`input`,{type:`search`,placeholder:H.value===`directory`&&Re.value===`materials`?x(d)(`knowledge.workspace.workspace.search.materialsPlaceholder`):x(d)(`knowledge.workspace.workspace.search.contentPlaceholder`),"aria-label":H.value===`directory`&&Re.value===`materials`?x(d)(`knowledge.workspace.workspace.search.materialsPlaceholder`):x(d)(`knowledge.workspace.workspace.search.knowledgeAria`),autocomplete:`off`,enterkeyhint:`search`,value:R.value,onInput:i[2]||=e=>Tt(e.currentTarget.value)},null,40,jl)],40,Al),E(`div`,Ml,[t.personalProjectsOnly&&ft.value&&x(u).state?.capabilities?.publishProject?(o(),c(`button`,{key:0,class:`toolbar-action`,type:`button`,onClick:i[3]||=e=>me.value=ft.value},b(x(d)(`knowledge.workspace.workspace.view.publishProject`)),1)):T(``,!0),H.value===`graph`?(o(),c(`div`,{key:1,class:`graph-controls`,role:`group`,"aria-label":x(d)(`knowledge.workspace.workspace.view.graphControls`)},[E(`button`,{class:`toolbar-action`,type:`button`,"aria-label":x(d)(`knowledge.workspace.workspace.view.zoomOut`),onClick:i[4]||=e=>N.value?.zoomOut()},`−`,8,Pl),E(`button`,{class:`toolbar-action`,type:`button`,"aria-label":x(d)(`knowledge.workspace.workspace.view.zoomIn`),onClick:i[5]||=e=>N.value?.zoomIn()},`+`,8,Fl),E(`button`,{class:`toolbar-action`,type:`button`,onClick:i[6]||=e=>N.value?.fit()},b(x(d)(`knowledge.workspace.workspace.view.fit`)),1),E(`button`,{class:`toolbar-action`,type:`button`,onClick:i[7]||=e=>N.value?.reset()},b(x(d)(`knowledge.workspace.workspace.view.reset`)),1)],8,Nl)):T(``,!0),E(`button`,{class:`toolbar-action ui-button--icon`,type:`button`,"aria-label":x(d)(`common.actions.refresh`),title:x(d)(`common.actions.refresh`),onClick:_t},[...i[24]||=[E(`span`,{"aria-hidden":`true`},`↻`,-1)]],8,Il)])]),H.value===`directory`&&Re.value===`knowledge`?(o(),f(F,{key:0,class:`knowledge-filter-disclosure`,title:x(d)(`ui.filters`),open:Ge.value.type!==`all`||Ge.value.quadrant!==`all`||Ge.value.profile!==`all`||Ge.value.humanChange!==`all`},{default:n(()=>[E(`div`,Ll,[l(re,{"model-value":Ge.value.type,options:Be.value,label:x(d)(`knowledge.workspace.workspace.view.contentType`),"control-id":`knowledge-type-filter`,"onUpdate:modelValue":i[8]||=e=>wt(`type`,e)},null,8,[`model-value`,`options`,`label`]),l(re,{"model-value":Ge.value.quadrant,options:Ve.value,label:x(d)(`knowledge.workspace.workspace.view.discoveryQuadrant`),"control-id":`knowledge-quadrant-filter`,"onUpdate:modelValue":i[9]||=e=>wt(`quadrant`,e)},null,8,[`model-value`,`options`,`label`]),l(re,{"model-value":Ge.value.profile,options:He.value,label:x(d)(`knowledge.workspace.workspace.view.classification`),"control-id":`knowledge-profile-filter`,"onUpdate:modelValue":i[10]||=e=>wt(`profile`,e)},null,8,[`model-value`,`options`,`label`]),l(re,{"model-value":Ge.value.humanChange,options:Ue.value,label:x(d)(`knowledge.workspace.workspace.view.humanChangeStatus`),"control-id":`knowledge-human-change-filter`,"onUpdate:modelValue":i[11]||=e=>wt(`human`,e)},null,8,[`model-value`,`options`,`label`])])]),_:1},8,[`title`,`open`])):T(``,!0),x(j)?(o(),f(A,{key:1,label:x(d)(`common.status.loadingKnowledge`)},null,8,[`label`])):O.value?(o(),c(`div`,Rl)):(o(),c(`div`,{key:3,class:g([`knowledge-layout`,{"has-selection":!!M.value}])},[H.value===`directory`?(o(),f(rc,{key:0,"personal-projects-only":t.personalProjectsOnly,"directory-section":Re.value,"knowledge-tab-count":it.value,"material-tab-count":at.value,"content-status":We.value,"current-item-count":Je.value,"historical-item-count":Ye.value,"all-items":Pe.value,"visible-items":qe.value,"project-material-items":Fe.value,"visible-project-material-items":Ie.value,"selected-item":M.value,"list-reset-key":Ke.value,"source-label":Kt,onChangeSection:St,onUpdateStatus:i[12]||=e=>wt(`status`,e),onSelectItem:Mt},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`,`list-reset-key`])):(o(),c(`div`,{key:1,class:g([`graph-stage`,{"has-parent-projects":tt.value.length}])},[l(ul,{parents:tt.value,"active-project-name":ft.value?.profile.name,"space-id":W.value},null,8,[`parents`,`active-project-name`,`space-id`]),E(`div`,zl,[V.value?(o(),c(`aside`,Bl,[E(`span`,Vl,b(x(d)(`knowledge.workspace.workspace.discovery.noHitKicker`)),1),E(`strong`,Hl,b(x(d)(`knowledge.workspace.workspace.discovery.noResults`,{query:V.value.query})),1),V.value.checking?(o(),f(A,{key:0,variant:`inline`,label:mt.value},null,8,[`label`])):(o(),c(`p`,Ul,b(mt.value),1)),V.value.result?.matches.length?(o(),c(`div`,Wl,[(o(!0),c(m,null,r(V.value.result.matches.slice(0,5),e=>(o(),f(x(ne),{key:e.project.project_id,class:`graph-search-suggestion`,to:{path:x(I)(W.value,`graph`,e.project.project_id),query:{q:V.value.query}}},{default:n(()=>[E(`span`,null,[E(`strong`,null,b(e.project.profile.name),1),E(`small`,null,b(x(d)(`knowledge.workspace.workspace.discovery.candidateCount`,{count:e.count})),1)]),E(`b`,null,b(x(d)(`knowledge.workspace.workspace.discovery.enterProject`)),1)]),_:2},1032,[`to`]))),128))])):T(``,!0)])):T(``,!0),l(bs,{"relation-types":nt.value},null,8,[`relation-types`]),et.value?.nodes.length?(o(),f(ms,{key:1,ref_key:`graphCanvas`,ref:N,graph:et.value,"selected-item":M.value,onSelectNode:Nt,onSelectEdge:Pt},null,8,[`graph`,`selected-item`])):y.value?(o(),f(A,{key:2,variant:`compact`,label:x(d)(`common.status.loadingKnowledge`)},null,8,[`label`])):(o(),c(`div`,Gl,b(x(d)(`knowledge.workspace.workspace.view.noGraph`)),1))])],2)),l(B,{item:M.value,graph:S.value,editable:dt.value,"current-project-id":G.value,"can-publish-project":x(u).state?.capabilities?.publishProject,"can-manage-project":!!pt.value,mode:H.value,onConfirm:i[13]||=e=>le.value=e,onEdit:i[14]||=e=>ue.value=e,onCreateProject:i[15]||=e=>de.value=e,onOpenProject:Lt,onPublishProject:Wt,onOpenDirectory:i[16]||=e=>Rt(e,`directory`),onOpenGraph:i[17]||=e=>Rt(e,`graph`),onOpenReplacement:zt,onManageProject:Bt},null,8,[`item`,`graph`,`editable`,`current-project-id`,`can-publish-project`,`can-manage-project`,`mode`])],2)),H.value===`graph`?(o(),c(`p`,Kl,b(x(d)(`knowledge.workspace.workspace.view.graphHint`)),1)):T(``,!0),l(sl,{"editing-item":ue.value,"confirming-item":le.value,"project-action-item":de.value,"publishing-project":me.value,"managing-project":ge.value,"managing-material-type":Ce.value,"personal-space-id":x(u).activePersonalSpace?.id??W.value,"editing-project-id":Vt(ue.value),"confirming-project-id":Vt(le.value),"current-project-id":G.value,projects:x(u).state?.personalProjects??[],"replacement-items":Pe.value,onCloseEdit:i[18]||=e=>ue.value=null,onCloseConfirm:i[19]||=e=>le.value=null,onCloseProjectAction:i[20]||=e=>de.value=null,onClosePublish:i[21]||=e=>me.value=null,onCloseProfile:i[22]||=e=>ge.value=null,onRefresh:_t,onProjectSaved:Gt,onProfileSaved:Ut},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`])],2))}});export{ql as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.overview-content-grid[data-v-aa3a8710]{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start;gap:40px;max-width:1240px;display:grid}.overview-column[data-v-aa3a8710]{gap:36px;min-width:0;display:grid}.overview-section[data-v-aa3a8710]{min-width:0}.overview-section-header[data-v-aa3a8710]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:30px;padding-bottom:10px;display:flex}.overview-section-header>div[data-v-aa3a8710]:first-child{align-items:center;gap:8px;min-width:0;display:flex}.overview-section-header h2[data-v-aa3a8710]{letter-spacing:.04em;color:var(--color-muted);margin:0;font-size:13px;font-weight:600}.overview-section-actions[data-v-aa3a8710],.overview-inline-error[data-v-aa3a8710]{justify-content:flex-end;align-items:center;gap:8px;display:flex}.overview-inline-error[data-v-aa3a8710]{color:var(--color-danger);justify-content:space-between;margin-top:12px;font-size:12px}.overview-inline-notice[data-v-aa3a8710]{color:var(--color-muted);margin-top:12px;font-size:12px}.overview-state[data-v-aa3a8710]{text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;display:flex}.overview-state p[data-v-aa3a8710]{color:var(--color-faint);margin:0;font-size:14px}.overview-attention-list[data-v-aa3a8710],.overview-work-list[data-v-aa3a8710],.overview-project-list[data-v-aa3a8710],.overview-service-list[data-v-aa3a8710]{margin:0;padding:0;list-style:none;display:grid}.overview-attention-item[data-v-aa3a8710],.overview-current-work-item[data-v-aa3a8710],.overview-recent-project[data-v-aa3a8710],.overview-service-item[data-v-aa3a8710]{border-bottom:1px solid var(--color-border);min-width:0}.overview-attention-item[data-v-aa3a8710]{align-items:center;gap:12px;padding:12px 0;display:flex}.overview-attention-open[data-v-aa3a8710],.overview-task-card[data-v-aa3a8710],.overview-project-list a[data-v-aa3a8710]{min-width:0;color:inherit;text-align:left;text-decoration:none}.overview-attention-open[data-v-aa3a8710]{color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;gap:3px;padding:0;display:grid}.overview-attention-open:hover strong[data-v-aa3a8710],.overview-task-card:hover strong[data-v-aa3a8710],.overview-project-list a:hover strong[data-v-aa3a8710]{color:var(--color-accent)}.overview-attention-open strong[data-v-aa3a8710],.overview-task-card strong[data-v-aa3a8710],.overview-project-list strong[data-v-aa3a8710]{text-overflow:ellipsis;white-space:nowrap;transition:color var(--motion-fast);font-size:14px;font-weight:550;line-height:1.4;overflow:hidden}.overview-attention-open span[data-v-aa3a8710],.overview-task-meta[data-v-aa3a8710],.overview-project-list span[data-v-aa3a8710],.overview-service-item div span[data-v-aa3a8710]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.overview-task-link[data-v-aa3a8710]{flex:none}.overview-task-card[data-v-aa3a8710]{gap:4px;padding:12px 0;display:grid}.overview-task-heading[data-v-aa3a8710]{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.overview-task-heading strong[data-v-aa3a8710]{min-width:0}.overview-task-heading .ui-badge[data-v-aa3a8710]{flex:none}.overview-project-list a[data-v-aa3a8710]{gap:2px;padding:11px 0;display:grid}.overview-service-item[data-v-aa3a8710]{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;display:grid}.overview-service-item div[data-v-aa3a8710]{gap:2px;min-width:0;display:grid}.overview-service-item strong[data-v-aa3a8710]{font-size:13px;font-weight:550}.overview-service-dot[data-v-aa3a8710]{background:var(--color-faint);border-radius:50%;width:7px;height:7px}.overview-service-dot.is-ready[data-v-aa3a8710]{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft)}.overview-service-dot.is-error[data-v-aa3a8710]{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.overview-service-dot.is-loading[data-v-aa3a8710]{background:var(--color-accent)}@media (width<=980px){.overview-content-grid[data-v-aa3a8710]{grid-template-columns:minmax(0,1fr);gap:32px}.overview-attention-item[data-v-aa3a8710]{flex-direction:column;align-items:start}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,E as t,H as n,I as r,M as i,P as a,Q as o,S as s,T as c,U as l,a as u,at as d,b as f,f as p,g as m,it as h,n as g,ot as _,rt as v,v as y,w as b,x,y as S}from"./i18n-CVFhT_k7.js";import{t as ee}from"./console-D7GHOMEC.js";import{i as te,n as ne,o as C,r as w}from"./client-CR-W5Wzp.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as E,t as D}from"./UiDialog-CvDxg3B1.js";import{t as O}from"./vue-router-DaxrQwX3.js";import{t as re}from"./UiSelect-CMR0QqF6.js";import{t as k}from"./UiSegmented-DIJW6wv3.js";import{n as A,t as j}from"./KnowledgeInspector-Te1hJZbx.js";import{i as M,n as ie,t as N}from"./KnowledgeEditDialog-ClnrfPZi.js";import{C as P,D as F,_ as I,u as ae,v as L,x as oe}from"./model-WFhQZ3v_.js";import{t as se}from"./personal-profile-graph-BwCh2M9G.js";function ce(e,t=[]){let n=[],r=e.filter(e=>!e.invalidAt);for(let e=0;e<r.length;e+=1)for(let i=e+1;i<r.length;i+=1){let a=r[e],o=r[i];if(!q(a,o)||!J(a,o)||Y(a,o))continue;let[s,c]=X(a,o),l=W(V(s),V(c)),d=K(l)?`complementary`:`review`,f=t.find(e=>e.status===`ai_pending`&&z(e,s,c))??null;n.push({id:ue(s,c),preferenceKey:B(s),scopeKey:H(s),scopeLabel:U(s),left:s,right:c,difference:l,relation:d,recommendedAction:d===`complementary`?`merge`:null,reason:u(`preferences.shared.conflictReason`,{key:B(s)}),aiRecord:f})}return n.sort((e,t)=>{let n=g();return e.scopeKey.localeCompare(t.scopeKey,n)||e.preferenceKey.localeCompare(t.preferenceKey,n)})}function R(e){return[e.left_item_id,e.right_item_id]}function z(e,t,n){let r=new Set([`${e.left_item_kind}:${e.left_item_id}`,`${e.right_item_kind}:${e.right_item_id}`]);return r.has(`${t.itemKind}:${t.id}`)&&r.has(`${n.itemKind}:${n.id}`)}function B(e){let t=e.raw.attributes??{};return String(t.preferenceKey??t.preference_key??e.title).trim()}function V(e){return e.body.trim()}function H(e){return e.preferenceScope===`project`&&e.preferenceProjectId?`project:${e.preferenceProjectId}`:`global`}function U(e){return e.preferenceScope===`project`&&e.preferenceProjectId?u(`preferences.shared.projectScope`,{project:e.preferenceProjectId}):u(`preferences.shared.personalGlobal`)}function W(e,t){let n=Z(e),r=Z(t),i=new Set,a=[],o=[];for(let e of n){let t=r.findIndex((t,n)=>!i.has(n)&&de(e,t));if(t<0){o.push(e);continue}i.add(t),a.push(fe(e,r[t]))}return{shared:a,leftOnly:o,rightOnly:r.filter((e,t)=>!i.has(t)),similarity:a.length/Math.max(n.length,r.length,1)}}function G(e,t){let n=[...Z(e)];for(let e of Z(t)){let t=n.findIndex(t=>de(t,e));if(t<0){n.push(e);continue}n[t]=fe(n[t],e)}if(!n.length)return``;let r=n.some(e=>e.length>24)?`;`:`、`;return n.join(r)}function K(e){return e.shared.length>0&&(e.leftOnly.length===0||e.rightOnly.length===0)}function q(e,t){return H(e)===H(t)}function J(e,t){return Q(B(e))===Q(B(t))}function Y(e,t){return Q(V(e))===Q(V(t))}function X(e,t){let n=le(e),r=le(t);return n===r?e.id.localeCompare(t.id)<=0?[e,t]:[t,e]:n<=r?[e,t]:[t,e]}function le(e){let t=L(e);if(!t)return 0;let n=new Date(t).getTime();return Number.isNaN(n)?0:n}function ue(e,t){return[e.itemKind,e.id,t.itemKind,t.id].join(`:`)}function Z(e){return e.split(/[\n\r,,、;;。.!!??]+/u).map(e=>e.trim()).filter(Boolean)}function de(e,t){let n=Q(e),r=Q(t);if(n===r)return!0;let i=n.length<=r.length?n:r,a=i===n?r:n;return i.length>=2&&a.includes(i)}function fe(e,t){return Q(e).length>=Q(t).length?e:t}function Q(e){return String(e??``).trim().toLocaleLowerCase().replace(/[“”‘’"'`]/gu,``).replace(/\s+/gu,` `)}var pe=[`aria-label`],me=[`aria-label`],he={class:`conflict-side-heading`},ge=[`aria-label`],_e={key:0},$={key:1,class:`ui-muted`},ve=[`disabled`],ye=[`aria-label`],be=[`aria-pressed`],xe={key:0},Se=[`aria-pressed`],Ce=[`aria-pressed`],we=[`disabled`,`aria-pressed`],Te={key:0,class:`conflict-resolution-detail`},Ee={class:`conflict-inline-options`},De={class:`ui-field`},Oe={key:1,class:`conflict-resolution-detail`},ke={class:`conflict-inline-options`},Ae={class:`conflict-impact-preview`},je={class:`ui-field conflict-resolution-reason`},Me={class:`conflict-footer-note`},Ne=T(t({__name:`PreferenceConflictDialog`,props:{conflict:{},personalSpaceId:{},projects:{}},emits:[`close`,`resolved`,`edit`],setup(t,{emit:i}){let d=t,g=i,ne=ee(),C=o(null),T=o(`right`),O=o(`right`),A=o(``),j=o(``),M=o(``),ie=o(``),N=o(!1),P=o(``),F=y(()=>{let e=d.conflict;if(!e)return[];let t=O.value===`left`?e.left:e.right;return d.projects.filter(({project_id:e})=>t.preferenceScope!==`project`||e!==t.preferenceProjectId)}),I=y(()=>F.value.length>0),oe=y(()=>F.value.map(e=>({value:e.project_id,label:e.profile.name}))),se=y(()=>{let e=d.conflict?.difference;return e?[{key:`shared`,label:u(`preferences.dialog.shared`),values:e.shared,empty:u(`preferences.dialog.noShared`)},{key:`left`,label:u(`preferences.dialog.onlyA`),values:e.leftOnly,empty:u(`preferences.dialog.noUnique`)},{key:`right`,label:u(`preferences.dialog.onlyB`),values:e.rightOnly,empty:u(`preferences.dialog.noUnique`)}]:[]}),ce=y(()=>{let e=d.conflict;if(!e||!C.value)return u(`preferences.dialog.impact.choose`);if(C.value===`merge`){let t=T.value===`left`?e.left:e.right,n=T.value===`left`?e.right:e.left;return u(`preferences.dialog.impact.merge`,{target:t.title,historical:n.title})}if(C.value===`keep_left`||C.value===`keep_right`){let t=C.value===`keep_left`?e.left:e.right,n=C.value===`keep_left`?e.right:e.left;return u(`preferences.dialog.impact.keep`,{kept:t.title,historical:n.title})}let t=O.value===`left`?e.left:e.right,n=F.value.find(({project_id:e})=>e===A.value);return n?u(`preferences.dialog.impact.split`,{item:t.title,project:n.profile.name}):u(`preferences.dialog.impact.chooseProject`)});e(()=>d.conflict,e=>{e&&(T.value=`right`,O.value=`right`,j.value=G(V(e.right),V(e.left)),C.value=e.recommendedAction,A.value=``,P.value=``,z(e.recommendedAction))},{immediate:!0}),e([O,F],()=>{A.value&&F.value.some(({project_id:e})=>e===A.value)||(A.value=F.value[0]?.project_id??``)},{immediate:!0});function R(e){N.value||(C.value=e,(!M.value.trim()||M.value===ie.value)&&z(e))}function z(e){let t=d.conflict,n=t&&e?q(e,t):``;ie.value=n,M.value=n}async function B(){if(N.value)return;let e=d.conflict;if(!e||!C.value)return J(u(`preferences.dialog.errors.actionRequired`));if(!M.value.trim())return J(u(`preferences.dialog.errors.reasonRequired`));if(C.value===`merge`&&!j.value.trim())return J(u(`preferences.dialog.errors.mergedValueRequired`));if(C.value===`split_scope`&&!A.value)return J(u(`preferences.dialog.errors.projectRequired`));let t=C.value,n=M.value.trim(),r=d.personalSpaceId;N.value=!0,P.value=``;try{t===`merge`?await H(e):t===`split_scope`?await W(e):await U(e,t),e.aiRecord&&await te(`/api/preference-conflicts/${encodeURIComponent(e.aiRecord.id)}/complete`,{personalSpaceId:r,resolution:t,reason:n}),ne.notify(u(`preferences.dialog.resolved`)),g(`resolved`),g(`close`)}catch(e){P.value=e instanceof Error?e.message:u(`preferences.dialog.errors.failed`),ne.reportError(e)}finally{N.value=!1}}async function H(e){let t=M.value.trim(),n=d.personalSpaceId,r=T.value===`left`?e.left:e.right,i=T.value===`left`?e.right:e.left,a={personalSpaceId:n,personalProjectId:null,action:`update`,reason:t};r.itemKind===`entity`?(a.name=r.title,a.summary=j.value.trim()):a.fact=j.value.trim(),r.classificationExplicit&&r.originQuadrant!==`unclassified`&&(a.originQuadrant=r.originQuadrant,a.confirmationStatus=`confirmed`,a.confirmationBasis={existenceReason:u(`preferences.dialog.audit.mergedFromConflict`,{reason:e.reason}),quadrantReason:r.confirmationBasis?.quadrant_reason||r.reasoningSummary||u(`preferences.dialog.audit.keepQuadrant`),proposedBy:r.confirmationBasis?.proposed_by?K(r.confirmationBasis.proposed_by):{kind:`import`,label:u(`preferences.dialog.audit.historicalRecord`)},confirmedBy:{kind:`user`,label:u(`preferences.dialog.audit.user`)},confirmedAt:new Date().toISOString()}),await w(`/api/knowledge/${r.itemKind}/${encodeURIComponent(r.id)}`,a),await w(`/api/knowledge/${i.itemKind}/${encodeURIComponent(i.id)}`,{personalSpaceId:n,personalProjectId:null,action:`invalidate`,reason:t,replacementItemId:r.id,replacementItemKind:r.itemKind})}async function U(e,t){let n=t===`keep_left`?e.left:e.right,r=t===`keep_left`?e.right:e.left;await w(`/api/knowledge/${r.itemKind}/${encodeURIComponent(r.id)}`,{personalSpaceId:d.personalSpaceId,personalProjectId:null,action:`invalidate`,reason:M.value.trim(),replacementItemId:n.id,replacementItemKind:n.itemKind})}async function W(e){let t=O.value===`left`?e.left:e.right;await te(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}/preference-scope`,{personalSpaceId:d.personalSpaceId,scope:`project`,projectId:A.value,reason:M.value.trim()})}function K(e){return{kind:e.kind,label:e.label??null}}function q(e,t){return e===`merge`?u(`preferences.dialog.defaultReason.merge`):e===`keep_left`?u(`preferences.dialog.defaultReason.keepLeft`,{title:t.left.title}):e===`keep_right`?u(`preferences.dialog.defaultReason.keepRight`,{title:t.right.title}):u(`preferences.dialog.defaultReason.split`)}function J(e){P.value=e}return(e,i)=>t.conflict?(a(),f(D,{key:0,open:``,class:`conflict-resolution-dialog`,size:`xl`,busy:N.value,error:P.value,title:v(u)(`preferences.dialog.title`),description:v(u)(`preferences.dialog.intro`,{reason:t.conflict.reason}),onClose:i[10]||=e=>g(`close`)},{footer:n(()=>[S(`span`,Me,_(v(u)(`preferences.dialog.pendingCopy`)),1),c(E,{variant:`ghost`,disabled:N.value,onClick:i[9]||=e=>g(`close`)},{default:n(()=>[b(_(v(u)(`preferences.dialog.defer`)),1)]),_:1},8,[`disabled`]),c(E,{variant:`primary`,disabled:!C.value,busy:N.value,"busy-label":v(u)(`preferences.dialog.processing`),onClick:B},{default:n(()=>[b(_(v(u)(`preferences.dialog.confirm`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])]),default:n(()=>[S(`section`,{class:`conflict-pair-context`,"aria-label":v(u)(`preferences.dialog.basisAria`)},[S(`span`,null,[b(_(v(u)(`preferences.dialog.preferenceKey`)),1),S(`strong`,null,_(t.conflict.preferenceKey),1)]),S(`span`,null,[b(_(v(u)(`preferences.dialog.effectiveScope`)),1),S(`strong`,null,_(t.conflict.scopeLabel),1)]),S(`span`,null,[b(_(v(u)(`preferences.dialog.suggestion`)),1),S(`strong`,null,_(t.conflict.recommendedAction===`merge`?v(u)(`preferences.dialog.mergeSuggestion`):v(u)(`preferences.dialog.reviewSuggestion`)),1)])],8,pe),S(`section`,{class:`conflict-comparison`,"aria-label":v(u)(`preferences.dialog.comparisonAria`)},[(a(),s(m,null,r([`left`,`right`],e=>S(`article`,{key:e,class:h([`conflict-side`,`conflict-side-${e}`])},[S(`div`,he,[S(`span`,null,_(v(u)(e===`left`?`preferences.dialog.older`:`preferences.dialog.newer`)),1),S(`time`,null,_(v(ae)(v(L)(t.conflict[e]))),1)]),S(`h3`,null,_(t.conflict[e].title),1),S(`p`,null,_(v(V)(t.conflict[e])),1),S(`small`,null,_(v(u)(`preferences.dialog.sourceCount`,{count:t.conflict[e].evidence.length}))+` · `+_(t.conflict[e].id),1),c(E,{size:`sm`,variant:`ghost`,onClick:n=>g(`edit`,t.conflict[e])},{default:n(()=>[b(_(v(u)(e===`left`?`preferences.dialog.editA`:`preferences.dialog.editB`)),1)]),_:2},1032,[`onClick`])],2)),64))],8,me),S(`section`,{class:`conflict-difference`,"aria-label":v(u)(`preferences.dialog.differenceAria`)},[(a(!0),s(m,null,r(se.value,e=>(a(),s(`div`,{key:e.key},[S(`span`,null,_(e.label),1),e.values.length?(a(),s(`p`,_e,[(a(!0),s(m,null,r(e.values,e=>(a(),s(`b`,{key:e},_(e),1))),128))])):(a(),s(`p`,$,_(e.empty),1))]))),128))],8,ge),S(`fieldset`,{class:`conflict-inputs`,disabled:N.value},[S(`section`,{class:`conflict-resolution-options`,"aria-label":v(u)(`preferences.dialog.actionsAria`)},[S(`button`,{type:`button`,"aria-pressed":C.value===`merge`,onClick:i[0]||=e=>R(`merge`)},[S(`strong`,null,_(v(u)(`preferences.dialog.actions.merge`)),1),S(`span`,null,_(v(u)(`preferences.dialog.actions.mergeCopy`)),1),t.conflict.recommendedAction===`merge`?(a(),s(`em`,xe,_(v(u)(`preferences.dialog.actions.recommended`)),1)):x(``,!0)],8,be),S(`button`,{type:`button`,"aria-pressed":C.value===`keep_left`,onClick:i[1]||=e=>R(`keep_left`)},[S(`strong`,null,_(v(u)(`preferences.dialog.actions.keepA`)),1),S(`span`,null,_(v(u)(`preferences.dialog.actions.keepACopy`)),1)],8,Se),S(`button`,{type:`button`,"aria-pressed":C.value===`keep_right`,onClick:i[2]||=e=>R(`keep_right`)},[S(`strong`,null,_(v(u)(`preferences.dialog.actions.keepB`)),1),S(`span`,null,_(v(u)(`preferences.dialog.actions.keepBCopy`)),1)],8,Ce),S(`button`,{type:`button`,disabled:!I.value,"aria-pressed":C.value===`split_scope`,onClick:i[3]||=e=>R(`split_scope`)},[S(`strong`,null,_(v(u)(`preferences.dialog.actions.split`)),1),S(`span`,null,_(I.value?v(u)(`preferences.dialog.actions.splitCopy`):v(u)(`preferences.dialog.actions.noProjects`)),1)],8,we)],8,ye),C.value===`merge`?(a(),s(`section`,Te,[S(`div`,Ee,[S(`span`,null,_(v(u)(`preferences.dialog.canonicalIdentity`)),1),c(k,{modelValue:T.value,"onUpdate:modelValue":i[4]||=e=>T.value=e,label:v(u)(`preferences.dialog.mergeIdentityAria`),options:[{value:`left`,label:v(u)(`preferences.dialog.identityA`)},{value:`right`,label:v(u)(`preferences.dialog.identityB`)}]},null,8,[`modelValue`,`label`,`options`])]),S(`label`,De,[b(_(v(u)(`preferences.dialog.mergedContent`)),1),l(S(`textarea`,{"onUpdate:modelValue":i[5]||=e=>j.value=e,rows:`4`,maxlength:`4096`},null,512),[[p,j.value]])])])):x(``,!0),C.value===`split_scope`?(a(),s(`section`,Oe,[S(`div`,ke,[S(`span`,null,_(v(u)(`preferences.dialog.adjustRecord`)),1),c(k,{modelValue:O.value,"onUpdate:modelValue":i[6]||=e=>O.value=e,label:v(u)(`preferences.dialog.splitRecordAria`),options:[{value:`left`,label:`A`},{value:`right`,label:`B`}]},null,8,[`modelValue`,`label`])]),c(re,{modelValue:A.value,"onUpdate:modelValue":i[7]||=e=>A.value=e,field:``,label:v(u)(`preferences.dialog.projectOnly`),placeholder:v(u)(`preferences.dialog.chooseProject`),options:oe.value},null,8,[`modelValue`,`label`,`placeholder`,`options`])])):x(``,!0),S(`section`,Ae,[S(`span`,null,_(v(u)(`preferences.dialog.impactTitle`)),1),S(`p`,null,_(ce.value),1)]),S(`label`,je,[b(_(v(u)(`preferences.dialog.reason`)),1),l(S(`textarea`,{"onUpdate:modelValue":i[8]||=e=>M.value=e,rows:`2`,maxlength:`2000`},null,512),[[p,M.value]])])],8,ve)]),_:1},8,[`busy`,`error`,`title`,`description`])):x(``,!0)}}),[[`__scopeId`,`data-v-57134f7d`]]),Pe={class:`writing-taste-milestone__progress`,"aria-hidden":`true`},Fe={class:`writing-taste-milestone__action`},Ie=T(t({__name:`WritingTasteMilestone`,props:{profile:{}},setup(e){let t=e,r=y(()=>t.profile?.status===`active`?u(`writingTaste.milestone.activeTitle`):t.profile?.status===`preview_ready`?u(`writingTaste.milestone.previewTitle`):u(`writingTaste.milestone.collectingTitle`)),i=y(()=>{let e=t.profile?.readiness;if(!e)return 0;let n=[o(e.rule_count,e.thresholds.rule_count),o(e.evidence_count,e.thresholds.evidence_count),o(e.session_count,e.thresholds.session_count),o(e.observation_day_count,e.thresholds.observation_day_count)];return Math.round(n.reduce((e,t)=>e+t,0)/n.length*100)});function o(e,t){return t<=0?1:Math.min(Math.max(e/t,0),1)}return(t,o)=>e.profile?(a(),f(v(O),{key:0,to:`/preferences/writing`,class:h([`writing-taste-milestone`,`status-${e.profile.status}`]),"aria-label":v(u)(`writingTaste.milestone.aria`)},{default:n(()=>[S(`strong`,null,_(r.value),1),S(`span`,Pe,[S(`i`,{style:d({transform:`scaleX(${i.value/100})`})},null,4)]),S(`small`,null,_(v(u)(`writingTaste.milestone.rules`,{current:e.profile.readiness.rule_count,target:e.profile.readiness.thresholds.rule_count}))+` · `+_(v(u)(`writingTaste.milestone.sessions`,{current:e.profile.readiness.session_count,target:e.profile.readiness.thresholds.session_count})),1),S(`span`,Fe,_(v(u)(`writingTaste.milestone.open`))+` →`,1)]),_:1},8,[`class`,`aria-label`])):x(``,!0)}}),[[`__scopeId`,`data-v-9f3e6330`]]),Le={class:`view vue-personal-profile`},Re=[`aria-label`],ze=[`aria-label`,`aria-pressed`],Be=[`aria-label`,`aria-pressed`],Ve=[`aria-label`,`aria-pressed`],He=[`aria-label`,`aria-pressed`],Ue=[`aria-label`],We={class:`personal-profile-toolbar`},Ge={class:`personal-profile-filter-groups`},Ke=[`aria-label`],qe=[`aria-pressed`,`onClick`],Je={class:`personal-profile-toolbar-actions`},Ye={key:0,class:`muted`},Xe={key:1,class:`muted`},Ze={key:2,class:`muted`},Qe=[`disabled`],$e={key:3,class:`view-loading`,"aria-busy":`true`},et=[`aria-label`],tt={class:`preference-conflict-list`},nt={class:`preference-conflict-card-heading`},rt={class:`preference-conflict-pair`},it={key:0},at={class:`preference-conflict-actions`},ot=[`disabled`,`onClick`],st=[`onClick`],ct={key:1,class:`empty-state`},lt={class:`personal-profile-table-head`,"aria-hidden":`true`},ut=[`onClick`],dt={class:`personal-profile-copy`},ft={class:`personal-profile-origin`},pt={class:`empty-state`},mt=T(t({__name:`PersonalProfilePage`,setup(t){let l=ee(),d=o(null),p=o(null),w=o(!1),T=y(()=>w.value&&!d.value),E=M(T),D=o(`all`),O=o(`all`),k=o(`all`),z=o(!1),B=o(null),H=o(null),U=o(null),W=o(null),G=o([]),K=o(``),q=0,J=null,Y=y(()=>oe(d.value)),X=y(()=>ce(Y.value,G.value)),le=y(()=>new Set(X.value.flatMap(({left:e,right:t})=>[e.id,t.id]))),ue=y(()=>new Set(G.value.filter(({status:e,resolved_by:t})=>e===`resolved`&&t===`agent`).flatMap(R))),Z=y(()=>Y.value.filter(e=>Se(e)&&(k.value===`all`||I(e)===k.value))),de=y(()=>JSON.stringify([D.value,O.value,k.value,z.value])),fe=y(()=>B.value?Z.value.findIndex(({id:e,itemKind:t})=>e===B.value?.id&&t===B.value?.itemKind):-1),Q=y(()=>X.value.filter(({left:e,right:t})=>Se(e)||Se(t))),pe=y(()=>[[`all`,u(`preferences.profile.filters.all`)],[`taste`,u(`preferences.profile.filters.taste`)],[`personality`,u(`preferences.profile.filters.personality`)],[`judgment_preference`,u(`preferences.profile.filters.judgment`)]]),me=y(()=>{let e=new Map((l.state?.personalProjects??[]).map(e=>[e.project_id,e.profile.name])),t=[...new Set(Y.value.filter(({preferenceScope:e,preferenceProjectId:t})=>e===`project`&&!!t).map(({preferenceProjectId:e})=>e))].sort((t,n)=>(e.get(t)??t).localeCompare(e.get(n)??n,g()));return[{value:`all`,label:u(`preferences.profile.scopes.all`),meta:u(`common.counts.items`,{count:Y.value.length})},{value:`global`,label:u(`preferences.profile.scopes.global`),meta:u(`common.counts.items`,{count:Y.value.filter(({preferenceScope:e})=>e!==`project`).length})},...t.map(t=>({value:`project:${t}`,label:e.get(t)??t,meta:u(`preferences.profile.scopes.projectMeta`,{count:Y.value.filter(({preferenceScope:e,preferenceProjectId:n})=>e===`project`&&n===t).length}),search:t}))]}),he=y(()=>Y.value.filter(e=>I(e)===`confirmed`).length),ge=y(()=>Y.value.filter(e=>I(e)===`pending`).length),_e=y(()=>Y.value.filter(e=>I(e)===`agent_confirmed`).length);e(()=>l.activePersonalSpace?.id,(e,t)=>{e!==t&&(d.value=null,p.value=null,G.value=[],B.value=null,H.value=null,U.value=null,W.value=null,O.value=`all`),e?$(e):(q+=1,J?.abort(),J=null,w.value=!1)},{immediate:!0}),i(()=>{q+=1,J?.abort(),J=null}),e([D,O,k,z],()=>{B.value&&!Z.value.some(({id:e})=>e===B.value?.id)&&(B.value=null)}),e(me,e=>{e.some(({value:e})=>e===O.value)||(O.value=`all`)});async function $(e=l.activePersonalSpace?.id){if(!e)return;J?.abort();let t=++q,n=new AbortController;J=n,w.value=!0;try{let r=new URLSearchParams({personalSpaceId:e,limit:`500`}),i=new URLSearchParams({personalSpaceId:e,limit:`500`}),[a,o,s]=await Promise.all([se(e,n.signal),ne(`/api/preference-conflicts?${r}`,{signal:n.signal}),ne(`/api/writing-taste-profile?${i}`,{signal:n.signal}).catch(()=>null)]);if(t!==q||n.signal.aborted)return;d.value=a,G.value=Array.isArray(o)?o:[],p.value=ve(s)?s:null,B.value&&=Y.value.find(({id:e})=>e===B.value?.id)??null}catch(e){if(t!==q||n.signal.aborted)return;d.value=null,p.value=null,l.reportError(e)}finally{if(t!==q||n.signal.aborted)return;w.value=!1,J===n&&(J=null)}}function ve(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`collecting`,`preview_ready`,`active`].includes(t.status??``)&&!!t.readiness&&Array.isArray(t.rules)}function ye(e){let t=F(e),n=X.value.find(({left:t,right:n})=>t.id===e.id||n.id===e.id);return n?.aiRecord?`${t} · ${u(`preferences.profile.statusSuffix.aiPending`)}`:n?`${t} · ${u(`preferences.profile.statusSuffix.conflict`)}`:ue.value.has(e.id)?`${t} · ${u(`preferences.profile.statusSuffix.aiResolved`)}`:t}function be(e){return`${e.itemKind}:${e.id}`}function xe(e){if(e.preferenceScope!==`project`||!e.preferenceProjectId)return u(`preferences.shared.personalGlobal`);let t=l.state?.personalProjects?.find(({project_id:t})=>t===e.preferenceProjectId);return u(`preferences.shared.projectOnly`,{project:t?.profile.name??e.preferenceProjectId})}function Se(e){if(D.value!==`all`&&e.profileAspect!==D.value||O.value===`global`&&e.preferenceScope===`project`)return!1;if(O.value.startsWith(`project:`)){let t=O.value.slice(8);return e.preferenceScope===`project`&&e.preferenceProjectId===t}return!0}function Ce(e){if(e.scopeKey===`global`)return u(`preferences.shared.personalGlobal`);let t=e.scopeKey.slice(8),n=l.state?.personalProjects?.find(({project_id:e})=>e===t);return u(`preferences.shared.projectOnly`,{project:n?.profile.name??t})}function we(e){D.value=e.profileAspect??`all`,O.value=e.preferenceScope===`project`&&e.preferenceProjectId?`project:${e.preferenceProjectId}`:`global`,z.value=!1,B.value=e}function Te(e){W.value=null,U.value=e}function Ee(e){let t=!z.value&&k.value===e?`all`:e;z.value=!1,k.value=t,t!==`all`&&(B.value=Z.value.at(0)??null)}function De(e=!1){let t=e||!z.value;z.value=t,t&&(k.value=`all`,B.value=null)}async function Oe(e){let t=l.activePersonalSpace?.id;if(!(!t||e.aiRecord)){K.value=e.id;try{let n=await te(`/api/preference-conflicts/defer`,{personalSpaceId:t,conflictId:e.id,preferenceKey:e.preferenceKey,preferenceScope:e.left.preferenceScope??`global`,preferenceProjectId:e.left.preferenceProjectId,leftItemId:e.left.id,leftItemKind:e.left.itemKind,rightItemId:e.right.id,rightItemKind:e.right.itemKind,reason:u(`preferences.profile.deferReason`)});G.value=[n,...G.value.filter(({id:e})=>e!==n.id)],l.notify(u(`preferences.profile.deferNotice`))}catch(e){l.reportError(e)}finally{K.value=``}}}return(e,t)=>(a(),s(`section`,Le,[S(`div`,{class:`personal-profile-summary`,"aria-label":v(u)(`preferences.profile.summaryAria`)},[S(`button`,{type:`button`,class:`profile-summary-action state-confirmed`,"aria-label":v(u)(`preferences.profile.summary.confirmedAria`,{count:he.value}),"aria-pressed":!z.value&&k.value===`confirmed`,onClick:t[0]||=e=>Ee(`confirmed`)},[b(_(v(u)(`preferences.profile.summary.confirmed`)),1),S(`strong`,null,_(he.value),1)],8,ze),S(`button`,{type:`button`,class:`profile-summary-action state-agent-confirmed`,"aria-label":v(u)(`preferences.profile.summary.agentConfirmedAria`,{count:_e.value}),"aria-pressed":!z.value&&k.value===`agent_confirmed`,onClick:t[1]||=e=>Ee(`agent_confirmed`)},[b(_(v(u)(`preferences.profile.summary.agentConfirmed`)),1),S(`strong`,null,_(_e.value),1)],8,Be),S(`button`,{type:`button`,class:`profile-summary-action state-pending`,"aria-label":v(u)(`preferences.profile.summary.pendingAria`,{count:ge.value}),"aria-pressed":!z.value&&k.value===`pending`,onClick:t[2]||=e=>Ee(`pending`)},[b(_(v(u)(`preferences.profile.summary.pending`)),1),S(`strong`,null,_(ge.value),1)],8,Ve),S(`button`,{type:`button`,class:`profile-summary-action state-conflict`,"aria-label":X.value.length?v(u)(`preferences.profile.summary.conflictAria`,{count:X.value.length}):v(u)(`preferences.profile.summary.noConflictsAria`),"aria-pressed":z.value,onClick:t[3]||=e=>De()},[b(_(v(u)(`preferences.profile.summary.conflicts`)),1),S(`strong`,null,_(X.value.length),1)],8,He)],8,Re),X.value.length&&!z.value&&k.value===`all`?(a(),s(`section`,{key:0,class:`preference-conflict-alert`,"aria-label":v(u)(`preferences.profile.alert.aria`)},[t[15]||=S(`div`,{class:`preference-conflict-alert-icon`,"aria-hidden":`true`},`!`,-1),S(`div`,null,[S(`h2`,null,_(v(u)(`preferences.profile.alert.title`,{count:X.value.length})),1),S(`p`,null,_(v(u)(`preferences.profile.alert.copy`)),1)]),S(`button`,{class:`primary-action`,type:`button`,onClick:t[4]||=e=>De(!0)},_(v(u)(`preferences.profile.alert.action`)),1)],8,Ue)):x(``,!0),c(Ie,{profile:p.value},null,8,[`profile`]),S(`div`,We,[S(`div`,Ge,[S(`div`,{class:`personal-profile-filters ui-segmented`,role:`group`,"aria-label":v(u)(`preferences.profile.filters.aspectAria`)},[(a(!0),s(m,null,r(pe.value,([e,t])=>(a(),s(`button`,{key:e,type:`button`,"aria-pressed":D.value===e,onClick:t=>D.value=e},_(t),9,qe))),128))],8,Ke),c(re,{modelValue:O.value,"onUpdate:modelValue":t[5]||=e=>O.value=e,class:`personal-profile-scope-filter`,"control-id":`personal-profile-scope`,label:v(u)(`preferences.profile.filters.scopeLabel`),options:me.value},null,8,[`modelValue`,`label`,`options`])]),S(`div`,Je,[z.value?(a(),s(`span`,Ye,_(v(u)(`preferences.profile.filters.conflictsCount`,{visible:Q.value.length,total:X.value.length})),1)):k.value===`all`?(a(),s(`span`,Ze,_(Z.value.length===Y.value.length?v(u)(`preferences.profile.filters.personalUnderstanding`,{count:Y.value.length}):v(u)(`preferences.profile.filters.visibleCount`,{visible:Z.value.length,total:Y.value.length})),1)):(a(),s(`span`,Xe,_(v(u)(`preferences.profile.filters.reviewCount`,{count:Z.value.length,status:k.value===`pending`?v(u)(`preferences.profile.summary.pending`):k.value===`agent_confirmed`?v(u)(`preferences.profile.summary.agentConfirmed`):v(u)(`preferences.profile.summary.confirmed`)})),1)),S(`button`,{class:`toolbar-action`,type:`button`,disabled:w.value,onClick:t[6]||=e=>$()},_(v(u)(`common.actions.refresh`)),9,Qe)])]),w.value&&d.value&&!v(E)&&!z.value?(a(),f(C,{key:1,variant:`inline`,label:v(u)(`preferences.profile.directory.loading`)},null,8,[`label`])):x(``,!0),v(E)?(a(),f(C,{key:2,label:v(u)(`preferences.profile.directory.loading`)},null,8,[`label`])):T.value?(a(),s(`div`,$e)):z.value?(a(),s(`section`,{key:4,class:`preference-conflict-workbench`,"aria-label":v(u)(`preferences.profile.workbench.aria`)},[S(`header`,null,[S(`div`,null,[S(`h2`,null,_(v(u)(`preferences.profile.workbench.title`)),1)])]),S(`div`,tt,[(a(!0),s(m,null,r(Q.value,(e,n)=>(a(),s(`article`,{key:e.id,class:`preference-conflict-card`},[S(`div`,nt,[S(`div`,null,[S(`span`,null,_(v(u)(`preferences.profile.workbench.group`,{index:n+1})),1),S(`h3`,null,_(e.preferenceKey),1)]),S(`div`,null,[S(`span`,null,_(Ce(e)),1),S(`strong`,null,_(e.aiRecord?v(u)(`preferences.profile.workbench.aiPending`):e.recommendedAction===`merge`?v(u)(`preferences.profile.workbench.mergeSuggested`):v(u)(`preferences.profile.workbench.humanReview`)),1)])]),S(`div`,rt,[S(`section`,null,[S(`span`,null,_(v(u)(`preferences.profile.workbench.older`)),1),S(`strong`,null,_(e.left.title),1),S(`p`,null,_(v(V)(e.left)),1),S(`small`,null,_(v(ae)(v(L)(e.left))),1)]),t[16]||=S(`i`,{"aria-hidden":`true`},`↔`,-1),S(`section`,null,[S(`span`,null,_(v(u)(`preferences.profile.workbench.newer`)),1),S(`strong`,null,_(e.right.title),1),S(`p`,null,_(v(V)(e.right)),1),S(`small`,null,_(v(ae)(v(L)(e.right))),1)])]),S(`footer`,null,[S(`div`,null,[S(`span`,null,_(v(u)(`preferences.profile.workbench.reason`)),1),S(`p`,null,_(e.reason),1),e.difference.rightOnly.length?(a(),s(`small`,it,_(v(u)(`preferences.profile.workbench.additions`,{values:e.difference.rightOnly.join(`、`)})),1)):x(``,!0)]),S(`div`,at,[S(`button`,{class:`secondary-action`,type:`button`,disabled:!!e.aiRecord||K.value===e.id,onClick:t=>Oe(e)},_(e.aiRecord?v(u)(`preferences.profile.workbench.deferred`):K.value===e.id?v(u)(`preferences.profile.workbench.deferring`):v(u)(`preferences.profile.workbench.defer`)),9,ot),S(`button`,{class:`primary-action`,type:`button`,onClick:t=>W.value=e},_(v(u)(`preferences.profile.workbench.handleNow`)),9,st)])])]))),128))]),w.value?(a(),f(C,{key:0,variant:`compact`,label:v(u)(`preferences.profile.workbench.loading`)},null,8,[`label`])):Q.value.length?x(``,!0):(a(),s(`div`,ct,_(X.value.length?v(u)(`preferences.profile.workbench.noFiltered`):v(u)(`preferences.profile.workbench.empty`)),1))],8,et)):(a(),s(`div`,{key:5,class:h([`personal-profile-layout`,{"has-selection":B.value}])},[c(A,{class:`personal-profile-directory`,items:Z.value,"row-height":76,"active-index":fe.value,"reset-key":de.value,"item-key":be,label:v(u)(`preferences.profile.directory.aria`)},{header:n(()=>[S(`div`,lt,[S(`span`,null,_(v(u)(`preferences.profile.directory.aspect`)),1),S(`span`,null,_(v(u)(`preferences.profile.directory.content`)),1),S(`span`,null,_(v(u)(`preferences.profile.directory.statusScopeSource`)),1),S(`span`,null,_(v(u)(`preferences.profile.directory.updated`)),1)])]),default:n(({item:e})=>[S(`button`,{class:h([`personal-profile-row`,{selected:B.value?.id===e.id,"pending-review":v(I)(e)===`pending`,"ai-resolved-conflict":ue.value.has(e.id)}]),type:`button`,onClick:t=>B.value=e},[S(`span`,{class:h([`profile-aspect-mark`,e.profileAspect])},_(v(P)(e.profileAspect)),3),S(`span`,dt,[S(`strong`,null,_(e.title),1),S(`small`,null,_(e.body),1)]),S(`span`,ft,[S(`strong`,{class:h({"has-conflict":le.value.has(e.id)})},_(ye(e)),3),S(`small`,null,_(xe(e))+` · `+_(v(u)(`preferences.profile.directory.sourceCount`,{count:e.evidence.length})),1)]),S(`time`,null,_(v(ae)(v(L)(e))),1)],10,ut)]),empty:n(()=>[S(`div`,pt,_(Y.value.length?v(u)(`preferences.profile.directory.noFiltered`):v(u)(`preferences.profile.directory.empty`)),1)]),_:1},8,[`items`,`active-index`,`reset-key`,`label`]),c(j,{class:`personal-profile-inspector`,item:B.value,graph:d.value,editable:``,onConfirm:t[7]||=e=>H.value=e,onEdit:t[8]||=e=>U.value=e,onOpenReplacement:we},null,8,[`item`,`graph`])],2)),c(N,{item:U.value,"personal-space-id":v(l).activePersonalSpace?.id??``,"personal-project-id":null,projects:v(l).state?.personalProjects??[],"replacement-items":Y.value,onClose:t[9]||=e=>U.value=null,onSaved:t[10]||=e=>$()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),c(ie,{item:H.value,"personal-space-id":v(l).activePersonalSpace?.id??``,"personal-project-id":null,onClose:t[11]||=e=>H.value=null,onSaved:t[12]||=e=>$()},null,8,[`item`,`personal-space-id`]),c(Ne,{conflict:W.value,"personal-space-id":v(l).activePersonalSpace?.id??``,projects:v(l).state?.personalProjects??[],onClose:t[13]||=e=>W.value=null,onResolved:t[14]||=e=>$(),onEdit:Te},null,8,[`conflict`,`personal-space-id`,`projects`])]))}}),[[`__scopeId`,`data-v-1a3c54ed`]]);export{mt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as e,P as t,b as n}from"./i18n-CVFhT_k7.js";import{t as r}from"./KnowledgeWorkspace-cKn1NCRe.js";var i=e({__name:`PersonalProjectsPage`,setup(e){return(e,i)=>(t(),n(r,{"personal-projects-only":``}))}});export{i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as e,H as t,I as n,M as r,P as i,Q as a,S as o,T as s,U as ee,a as c,b as l,f as te,g as u,h as ne,it as re,n as ie,ot as d,rt as f,v as p,w as m,x as h,y as g}from"./i18n-CVFhT_k7.js";import{t as ae}from"./console-D7GHOMEC.js";import{i as _,n as v,o as oe,t as y}from"./client-CR-W5Wzp.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as x,t as S}from"./UiDialog-CvDxg3B1.js";import{h as se}from"./useApi-CROJJdhE-BYhbjaZB.js";import{t as C}from"./UiSelect-CMR0QqF6.js";import{t as ce}from"./paths-CDREouhi.js";import{r as w,t as T}from"./identity-CM6Dmy00.js";var le={class:`view`},ue={class:`space-heading public-space-heading`},de=[`aria-label`],fe={class:`project-grid`},pe={class:`project-card-heading`},me={class:`project-card-heading-actions`},he=[`onClick`],ge={class:`completion-badge`},_e={class:`project-purpose`},ve={class:`evidence-row`},ye={key:0,class:`muted`},be={class:`project-access`},xe={class:`muted`},Se={key:0,class:`project-release-meta`},Ce={class:`project-card-footer`},we=[`onClick`],Te=[`onClick`],Ee={key:0,class:`empty-state project-empty`},De={class:`project-section`},Oe={class:`section-toolbar compact-toolbar relation-section-toolbar`},ke=[`disabled`],Ae={key:0,class:`muted`},je={class:`compact-relation-preview`,"aria-live":`polite`},Me={key:0},Ne={key:1},Pe={class:`primary-action`,type:`submit`},Fe={class:`project-latest-release`},Ie={key:0},Le={key:1,class:`ui-muted`},Re={class:`project-detail-columns`},ze={key:1,class:`ui-muted`},Be={key:0,class:`ui-muted`},Ve={key:1,class:`ui-muted`},He={class:`public-project-dialog-note`},Ue={class:`ui-field`},We=[`disabled`],Ge={class:`public-project-dialog-note`},Ke=`fuli-workspace-v1`,E=b(e({__name:`PublicProjectsPage`,setup(e){let b=ae(),E=se(),D=a(null),O=a([]),k=a([]),A=a(!1),j=a(!1),M=a(``),N=a(``),P=a(`RELATED_TO`),F=a(null),I=a(``),L=a(!1),R=a(``),z=0,B=null,V=p(()=>b.state?.projects??[]),qe=p(()=>b.state?.providers?.workspaces??[]),H=p(()=>new Set((b.state?.subscriptions??[]).map(({provider_url:e,project_id:t})=>`${e}::${t}`))),U=p(()=>V.value.filter(({role:e,isOwner:t})=>e===`maintainer`||t)),W=p(()=>U.value.filter(({providerUrl:e})=>J(e))),Je=p(()=>W.value.map(e=>({value:e.id,label:e.name,meta:`#${T(e.id,26)}`,search:w(e.id)}))),Ye=p(()=>{let e=V.value.find(({id:e})=>e===M.value);return!e||!J(e.providerUrl)?[]:V.value.filter(({id:t,providerUrl:n})=>t!==e.id&&n===e.providerUrl&&J(n))}),Xe=p(()=>Ye.value.map(e=>({value:e.id,label:e.name,meta:`#${T(e.id,26)}`,search:w(e.id)}))),Ze=p(()=>V.value.find(({id:e})=>e===M.value)??null),Qe=p(()=>V.value.find(({id:e})=>e===N.value)??null),$e=p(()=>K.value.find(({value:e})=>e===P.value)?.label??c(`pages.publicProjects.relationLabels.relatedTo`)),et=p(()=>D.value?J(D.value.providerUrl):!1),G=p(()=>!!(F.value&&I.value===F.value.name)),K=p(()=>[{value:`PART_OF`,label:c(`pages.publicProjects.relationLabels.partOf`)},{value:`USES_KNOWLEDGE_FROM`,label:c(`pages.publicProjects.relationLabels.usesKnowledgeFrom`)},{value:`DEPENDS_ON`,label:c(`pages.publicProjects.relationLabels.dependsOn`)},{value:`PROVIDES_TO`,label:c(`pages.publicProjects.relationLabels.providesTo`)},{value:`SHARES_CAPABILITY_WITH`,label:c(`pages.publicProjects.relationLabels.sharesCapabilityWith`)},{value:`SUCCESSOR_OF`,label:c(`pages.publicProjects.relationLabels.successorOf`)},{value:`RELATED_TO`,label:c(`pages.publicProjects.relationLabels.relatedTo`)}]);function q(e){return`${e.providerUrl}::${e.id}`}function J(e){return qe.value.find(({providerUrl:t})=>t===e)?.protocol!==Ke}function Y(e){return e.profile?.purpose||e.profile?.scope||e.profile?.technical_summary||e.description||c(`pages.publicProjects.fallbackDescription`)}async function X(e){try{if(H.value.has(q(e))){let t=new URLSearchParams({personalSpaceId:b.activePersonalSpace?.id??``,providerUrl:e.providerUrl});await y(`/api/subscriptions/${encodeURIComponent(e.id)}?${t}`),b.notify(c(`pages.publicProjects.unsubscribed`,{name:e.name}))}else await _(`/api/subscriptions`,{personalSpaceId:b.activePersonalSpace?.id,projectId:e.id,providerUrl:e.providerUrl,projectName:e.name}),b.notify(c(`pages.publicProjects.subscribed`,{name:e.name}));await b.refresh()}catch(e){b.reportError(e)}}async function tt(e){if(Q(),D.value=e,O.value=[],k.value=[],!J(e.providerUrl))return;let t=++z,n=new AbortController;B=n,A.value=!0;try{let r=new URLSearchParams({providerUrl:e.providerUrl}),[i,a]=await Promise.all([v(`/api/projects/${encodeURIComponent(e.id)}/releases?${r}`,{signal:n.signal}),v(`/api/project-relations?${new URLSearchParams({projectId:e.id,providerUrl:e.providerUrl})}`,{signal:n.signal})]);if(t!==z||n.signal.aborted)return;O.value=i.releases??[],k.value=a.relations??[]}catch(e){if(t!==z||n.signal.aborted)return;b.reportError(e)}finally{if(t!==z||n.signal.aborted)return;A.value=!1,B===n&&(B=null)}}async function nt(e){Q(),await E.push(ce(`public`,e.id,`graph`))}function Z(){z+=1,B?.abort(),B=null,A.value=!1}function Q(){Z(),D.value=null,O.value=[],k.value=[]}function rt(e){J(e.providerUrl)&&(F.value=e,I.value=``,R.value=``)}function it(){L.value||(F.value=null,I.value=``,R.value=``)}async function at(){let e=F.value;if(!e||!G.value){R.value=c(`pages.publicProjects.deleteNameRequired`);return}if(!J(e.providerUrl)){R.value=c(`pages.publicProjects.providerOperationsUnavailable`);return}L.value=!0,R.value=``;try{let t=new URLSearchParams({providerUrl:e.providerUrl});await y(`/api/projects/${encodeURIComponent(e.id)}?${t}`),D.value=null,F.value=null,b.notify(c(`pages.publicProjects.deleted`,{name:e.name})),await b.refresh()}catch(e){R.value=e instanceof Error?e.message:c(`pages.publicProjects.deleteFailed`),b.reportError(e)}finally{L.value=!1}}async function ot(){let e=V.value.find(({id:e})=>e===M.value),t=V.value.find(({id:e})=>e===N.value);if(!e||!t){b.reportError(Error(c(`pages.publicProjects.chooseRelationProjects`)));return}if(!J(e.providerUrl)){b.reportError(Error(c(`pages.publicProjects.providerOperationsUnavailable`)));return}try{await _(`/api/project-relations`,{sourceProjectId:e.id,targetProjectId:t.id,providerUrl:e.providerUrl,relationType:P.value,note:null}),j.value=!1,M.value=``,N.value=``,b.notify(P.value===`PART_OF`?c(`pages.publicProjects.parentRelationSubmitted`):c(`pages.publicProjects.relationCreated`))}catch(e){b.reportError(e)}}r(Z);function $(e){return e?new Date(e).toLocaleString(ie()):c(`pages.publicProjects.timeNotRecorded`)}return(e,r)=>(i(),o(`section`,le,[g(`div`,ue,[r[7]||=g(`span`,{class:`space-heading-icon`,"aria-hidden":`true`},[g(`span`,{class:`nav-icon nav-icon-public-project`})],-1),g(`div`,null,[g(`p`,null,d(f(c)(`pages.publicProjects.intro`)),1)]),g(`div`,{class:`public-space-stats`,"aria-label":f(c)(`pages.publicProjects.overviewAria`)},[g(`span`,null,[g(`strong`,null,d(V.value.length),1),m(d(f(c)(`pages.publicProjects.discoverable`)),1)]),g(`span`,null,[g(`strong`,null,d(f(b).state?.subscriptions.length??0),1),m(d(f(c)(`pages.publicProjects.subscribedCount`)),1)])],8,de)]),g(`div`,fe,[(i(!0),o(u,null,n(V.value,e=>(i(),o(`article`,{key:q(e),class:`project-card`},[g(`div`,pe,[g(`div`,null,[g(`h4`,null,d(e.name),1)]),g(`div`,me,[e.can_manage&&J(e.providerUrl)?(i(),o(`button`,{key:0,class:`management-action`,type:`button`,onClick:t=>rt(e)},d(f(c)(`pages.publicProjects.manage`)),9,he)):h(``,!0),g(`div`,ge,[g(`strong`,null,d(e.profile?.assessment?.score??`—`),1),g(`span`,null,d(e.profile?.assessment?f(c)(`pages.publicProjects.coverage`):f(c)(`pages.publicProjects.noSummary`)),1)])])]),g(`p`,_e,d(Y(e)),1),g(`div`,ve,[(i(!0),o(u,null,n(e.profile?.sources??[],(e,t)=>(i(),o(`span`,{key:t,class:`status-chip`},d(e.kind??f(c)(`pages.publicProjects.material`)),1))),128)),e.profile?.sources?.length?h(``,!0):(i(),o(`span`,ye,d(f(c)(`pages.publicProjects.noSources`)),1))]),g(`div`,be,[g(`span`,{class:re([`status-chip`,{owner:e.isOwner}])},d(e.isOwner?`Owner`:e.role??`Reader`),3),g(`span`,xe,d(e.isOwner?f(c)(`pages.publicProjects.publishedByYou`):f(c)(`pages.publicProjects.publiclyDiscoverable`)),1),e.current_release&&J(e.providerUrl)?(i(),o(`span`,Se,[g(`strong`,null,d(e.current_release.version),1),g(`span`,null,d($(e.current_release.published_at)),1)])):h(``,!0)]),g(`footer`,Ce,[g(`button`,{class:`secondary-action`,type:`button`,onClick:t=>X(e)},d(H.value.has(q(e))?f(c)(`pages.publicProjects.unsubscribe`):f(c)(`pages.publicProjects.subscribe`)),9,we),g(`button`,{class:`primary-action`,type:`button`,onClick:t=>tt(e)},d(f(c)(`common.actions.viewDetails`)),9,Te)])]))),128)),V.value.length?h(``,!0):(i(),o(`div`,Ee,d(f(c)(`pages.publicProjects.noProjects`)),1))]),g(`section`,De,[g(`div`,Oe,[g(`div`,null,[g(`h3`,null,d(f(c)(`pages.publicProjects.relationsTitle`)),1)]),g(`button`,{class:`primary-action`,type:`button`,disabled:!W.value.length,onClick:r[0]||=e=>j.value=!j.value},d(f(c)(`pages.publicProjects.addRelation`)),9,ke)]),U.value.length&&!W.value.length?(i(),o(`p`,Ae,d(f(c)(`pages.publicProjects.providerOperationsUnavailable`)),1)):h(``,!0),j.value?(i(),o(`form`,{key:1,class:`relation-composer relation-composer-form compact-relation-form`,onSubmit:ne(ot,[`prevent`])},[g(`label`,null,[m(d(f(c)(`pages.publicProjects.sourceProject`))+` `,1),s(C,{modelValue:M.value,"onUpdate:modelValue":r[1]||=e=>M.value=e,options:Je.value,label:f(c)(`pages.publicProjects.sourceProjectLabel`),placeholder:f(c)(`pages.publicProjects.chooseProject`),searchable:``,required:``,onChange:r[2]||=e=>N.value=``},null,8,[`modelValue`,`options`,`label`,`placeholder`])]),g(`label`,null,[m(d(f(c)(`pages.publicProjects.relation`))+` `,1),s(C,{modelValue:P.value,"onUpdate:modelValue":r[3]||=e=>P.value=e,options:K.value,label:f(c)(`pages.publicProjects.relationTypeLabel`)},null,8,[`modelValue`,`options`,`label`])]),g(`label`,null,[m(d(f(c)(`pages.publicProjects.targetProject`))+` `,1),s(C,{modelValue:N.value,"onUpdate:modelValue":r[4]||=e=>N.value=e,options:Xe.value,label:f(c)(`pages.publicProjects.targetProjectLabel`),placeholder:f(c)(`pages.publicProjects.chooseProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`])]),g(`div`,je,[g(`span`,null,d(f(c)(`pages.publicProjects.preview`)),1),g(`strong`,null,d(Ze.value?.name||f(c)(`pages.publicProjects.sourceProject`))+` `+d($e.value)+` `+d(Qe.value?.name||f(c)(`pages.publicProjects.targetProject`)),1),P.value===`PART_OF`?(i(),o(`p`,Me,d(f(c)(`pages.publicProjects.parentConfirmation`)),1)):(i(),o(`p`,Ne,d(f(c)(`pages.publicProjects.relationBoundary`)),1))]),g(`button`,Pe,d(f(c)(`pages.publicProjects.addRelation`)),1)],32)):h(``,!0)]),D.value?(i(),l(S,{key:0,open:``,class:`public-project-details`,size:`lg`,title:D.value.name,description:Y(D.value),onClose:Q},{footer:t(()=>[g(`span`,He,d(f(c)(`pages.publicProjects.contentManagementSeparated`)),1),s(x,{variant:`primary`,onClick:r[5]||=e=>nt(D.value)},{default:t(()=>[m(d(f(c)(`pages.publicProjects.viewGraph`)),1)]),_:1})]),default:t(()=>[et.value?(i(),o(u,{key:0},[g(`section`,Fe,[g(`h3`,null,d(f(c)(`pages.publicProjects.latestRelease`)),1),D.value.current_release?(i(),o(`p`,Ie,[g(`strong`,null,d(D.value.current_release.version),1),m(` · `+d($(D.value.current_release.published_at)),1)])):(i(),o(`p`,Le,d(f(c)(`pages.publicProjects.noRelease`)),1))]),g(`div`,Re,[g(`section`,null,[g(`h3`,null,d(f(c)(`pages.publicProjects.releaseHistory`)),1),A.value?(i(),l(oe,{key:0,variant:`compact`,label:f(c)(`pages.publicProjects.loading`)},null,8,[`label`])):h(``,!0),(i(!0),o(u,null,n(O.value,e=>(i(),o(`article`,{key:e.version,class:`project-release-item`},[g(`strong`,null,d(e.version),1),g(`p`,null,d(e.update_summary),1),g(`small`,null,d($(e.published_at)),1)]))),128)),!A.value&&!O.value.length?(i(),o(`p`,ze,d(f(c)(`pages.publicProjects.noReleaseHistory`)),1)):h(``,!0)]),g(`section`,null,[g(`h3`,null,d(f(c)(`pages.publicProjects.relationsTitle`)),1),(i(!0),o(u,null,n(k.value,e=>(i(),o(`article`,{key:e.id,class:`project-detail-relation`},[g(`strong`,null,d(e.relation_type),1),g(`small`,null,d(e.status??`active`),1)]))),128)),!A.value&&!k.value.length?(i(),o(`p`,Be,d(f(c)(`pages.publicProjects.noRelations`)),1)):h(``,!0)])])],64)):(i(),o(`p`,Ve,d(f(c)(`pages.publicProjects.providerOperationsUnavailableTitle`)),1))]),_:1},8,[`title`,`description`])):h(``,!0),F.value?(i(),l(S,{key:1,open:``,class:`public-project-deletion`,size:`sm`,busy:L.value,error:R.value,title:f(c)(`pages.publicProjects.deleteTitle`),description:f(c)(`pages.publicProjects.deleteCopy`),onClose:it},{footer:t(()=>[g(`span`,Ge,d(f(c)(`pages.publicProjects.deleteWarning`)),1),s(x,{variant:`danger`,disabled:!G.value,busy:L.value,"busy-label":f(c)(`pages.publicProjects.deleting`),onClick:at},{default:t(()=>[m(d(f(c)(`pages.publicProjects.deletePermanently`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])]),default:t(()=>[g(`label`,Ue,[g(`span`,null,[m(d(f(c)(`pages.publicProjects.enterFullName`))+` `,1),g(`strong`,null,d(F.value.name),1)]),ee(g(`input`,{"onUpdate:modelValue":r[6]||=e=>I.value=e,autocomplete:`off`,disabled:L.value},null,8,We),[[te,I.value]])])]),_:1},8,[`busy`,`error`,`title`,`description`])):h(``,!0)]))}}),[[`__scopeId`,`data-v-df9baf3c`]]);export{E as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,E as t,H as n,I as r,M as ee,N as i,P as a,Q as o,S as s,a as c,b as l,g as u,it as d,n as f,ot as p,rt as m,v as h,x as g,y as _}from"./i18n-CVFhT_k7.js";import{n as v,o as te}from"./client-CR-W5Wzp.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as b}from"./useApi-CROJJdhE-BYhbjaZB.js";import{t as x}from"./vue-router-DaxrQwX3.js";var S=()=>v(`/api/roundtable/threads`),C=e=>v(`/api/roundtable/threads/${encodeURIComponent(e)}`),ne={class:`view roundtable-view`},re={key:1,class:`ui-empty`,role:`alert`},ie={key:2,class:`roundtable-empty`},ae={key:3,class:`roundtable-layout`},w=[`aria-label`],T={class:`roundtable-faces`,"aria-hidden":`true`},E={class:`roundtable-thread-copy`},D={key:0,class:`roundtable-preview`},O={class:`roundtable-thread-meta`},k=[`datetime`],A={key:0,class:`ui-badge ui-badge--warning`},j={key:0,class:`roundtable-timeline`,"data-testid":`roundtable-timeline`},M={class:`ui-meta`},N={class:`roundtable-avatar`,"aria-hidden":`true`},P={class:`roundtable-bubble`},F={class:`roundtable-byline`},I={key:0,class:`ui-badge`},L={class:`ui-meta`},R=[`datetime`],z={class:`roundtable-body`},B={key:0,class:`roundtable-delivery`},V={key:1,class:`roundtable-select ui-meta`},H=y(t({__name:`RoundtablesPage`,setup(t){let v=b(),y=o([]),H=o(null),U=o(!0),W=o(``),G=h(()=>typeof v.params.threadId==`string`?v.params.threadId:``),K={claude_code:`Claude Code`,codex:`Codex`,cursor:`Cursor`,claude:`Claude`,other:`Agent`},q,J=0;async function Y(){let e=++J;try{let[t,n]=await Promise.all([S(),G.value?C(G.value):Promise.resolve(null)]);if(e!==J)return;y.value=t.threads,H.value=n,W.value=``}catch(t){e===J&&(W.value=t instanceof Error?t.message:String(t))}finally{e===J&&(U.value=!1)}}e(G,()=>{H.value=null,Y()}),i(()=>{Y(),q=setInterval(()=>{document.visibilityState===`visible`&&Y()},5e3)}),ee(()=>clearInterval(q));let X=e=>e.client?K[e.client]??e.client:``,Z=e=>(e.name??`?`).trim().slice(0,1).toUpperCase();function Q(e){let t=new Date(e);return Number.isNaN(t.valueOf())?``:new Intl.DateTimeFormat(f(),{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t)}function $(e){if(e.kind===`reply`){let t=e.via?.split(`:`)[1];return t&&[`resume`,`new`,`inbox`].includes(t)?c(`roundtable.via.${t}`):``}return e.status===`answered`?``:c(`roundtable.status.${e.status}`)}return(e,t)=>(a(),s(`section`,ne,[U.value?(a(),l(te,{key:0,label:m(c)(`roundtable.loading`)},null,8,[`label`])):W.value&&!y.value.length?(a(),s(`div`,re,[_(`p`,null,p(m(c)(`roundtable.loadFailed`))+` · `+p(W.value),1),_(`button`,{class:`ui-button`,type:`button`,onClick:Y},p(m(c)(`roundtable.retry`)),1)])):y.value.length?(a(),s(`div`,ae,[_(`nav`,{class:`roundtable-threads`,"aria-label":m(c)(`roundtable.threads`)},[(a(!0),s(u,null,r(y.value,e=>(a(),l(m(x),{key:e.id,class:d([`roundtable-thread`,{"is-active":e.id===G.value}]),to:`/roundtables/${encodeURIComponent(e.id)}`,"data-testid":`roundtable-thread`},{default:n(()=>[_(`span`,T,[(a(!0),s(u,null,r(e.participants.slice(0,3),e=>(a(),s(`span`,{key:e.agentId??e.name??``},p(Z(e)),1))),128))]),_(`span`,E,[_(`strong`,null,p(e.subject),1),_(`small`,null,p(e.participants.map(e=>e.name).join(` · `)),1),e.last?(a(),s(`small`,D,p(e.last.from)+`:`+p(e.last.body),1)):g(``,!0)]),_(`span`,O,[_(`time`,{datetime:e.updatedAt},p(Q(e.updatedAt)),9,k),e.waiting?(a(),s(`span`,A,p(m(c)(`roundtable.waiting`)),1)):g(``,!0)])]),_:2},1032,[`class`,`to`]))),128))],8,w),H.value?(a(),s(`article`,j,[_(`header`,null,[_(`h2`,null,p(H.value.subject),1),_(`p`,M,p(m(c)(`roundtable.messages`,{count:H.value.messages.length}))+` · `+p(Q(H.value.createdAt)),1)]),_(`ol`,null,[(a(!0),s(u,null,r(H.value.messages,e=>(a(),s(`li`,{key:e.id,class:d([`roundtable-message`,`is-${e.kind}`])},[_(`span`,N,p(Z(e.from)),1),_(`div`,P,[_(`p`,F,[_(`strong`,null,p(e.from.name),1),X(e.from)?(a(),s(`span`,I,p(X(e.from)),1)):g(``,!0),_(`span`,L,p(m(c)(`roundtable.to`))+` `+p(e.to.name),1),_(`time`,{class:`ui-meta`,datetime:e.createdAt},p(Q(e.createdAt)),9,R)]),_(`p`,z,p(e.body),1),$(e)?(a(),s(`p`,B,p($(e)),1)):g(``,!0)])],2))),128))])])):(a(),s(`p`,V,p(m(c)(`roundtable.select`)),1))])):(a(),s(`div`,ie,[_(`strong`,null,p(m(c)(`roundtable.empty`)),1),_(`p`,null,p(m(c)(`roundtable.emptyHint`)),1)]))]))}}),[[`__scopeId`,`data-v-9d81b44c`]]);export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.roundtable-view[data-v-9d81b44c]{flex-direction:column;display:flex;overflow:hidden}.roundtable-empty[data-v-9d81b44c]{text-align:center;max-width:520px;margin:12vh auto 0}.roundtable-empty strong[data-v-9d81b44c]{font-size:16px;font-weight:600}.roundtable-empty p[data-v-9d81b44c]{color:var(--color-muted);margin-top:8px}.roundtable-layout[data-v-9d81b44c]{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex:1;grid-template-columns:minmax(260px,340px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.roundtable-threads[data-v-9d81b44c]{border-right:1px solid var(--color-border);background:var(--color-bg);min-height:0;overflow-y:auto}.roundtable-thread[data-v-9d81b44c]{border-bottom:1px solid var(--color-border);color:var(--color-ink);transition:background-color var(--motion-fast);grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:14px 16px;text-decoration:none;display:grid}.roundtable-thread[data-v-9d81b44c]:hover{background:var(--color-surface-hover)}.roundtable-thread.is-active[data-v-9d81b44c]{background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-accent)}.roundtable-faces[data-v-9d81b44c]{padding-top:2px;display:flex}.roundtable-faces span[data-v-9d81b44c],.roundtable-avatar[data-v-9d81b44c]{border:2px solid var(--color-bg);width:26px;height:26px;color:var(--color-accent);background:var(--color-accent-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:650;display:grid}.roundtable-faces span+span[data-v-9d81b44c]{margin-left:-9px}.roundtable-thread-copy[data-v-9d81b44c]{gap:2px;min-width:0;display:grid}.roundtable-thread-copy strong[data-v-9d81b44c]{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.roundtable-thread-copy small[data-v-9d81b44c]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.roundtable-preview[data-v-9d81b44c]{color:var(--color-faint)!important}.roundtable-thread-meta[data-v-9d81b44c]{color:var(--color-faint);white-space:nowrap;align-content:start;justify-items:end;gap:6px;font-size:11px;display:grid}.roundtable-timeline[data-v-9d81b44c]{flex-direction:column;min-height:0;display:flex}.roundtable-timeline header[data-v-9d81b44c]{border-bottom:1px solid var(--color-border);padding:20px 28px 14px}.roundtable-timeline h2[data-v-9d81b44c]{font-size:17px}.roundtable-timeline ol[data-v-9d81b44c]{flex:1;align-content:start;gap:18px;min-height:0;margin:0;padding:20px 28px 32px;list-style:none;display:grid;overflow-y:auto}.roundtable-message[data-v-9d81b44c]{grid-template-columns:30px minmax(0,1fr);gap:12px;max-width:760px;display:grid}.roundtable-message.is-reply[data-v-9d81b44c]{margin-left:42px}.roundtable-avatar[data-v-9d81b44c]{border:0;width:30px;height:30px}.roundtable-message.is-reply .roundtable-avatar[data-v-9d81b44c]{color:var(--color-ink-soft);background:var(--color-surface-subtle)}.roundtable-bubble[data-v-9d81b44c]{min-width:0}.roundtable-byline[data-v-9d81b44c]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.roundtable-byline strong[data-v-9d81b44c]{font-size:14px;font-weight:600}.roundtable-body[data-v-9d81b44c]{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 12px 12px;padding:12px 14px;font-size:14px;line-height:1.7}.roundtable-message.is-reply .roundtable-body[data-v-9d81b44c]{background:var(--color-surface)}.roundtable-delivery[data-v-9d81b44c]{color:var(--color-faint);margin-top:6px;font-size:12px}.roundtable-select[data-v-9d81b44c]{place-self:center}@media (width<=860px){.roundtable-layout[data-v-9d81b44c]{grid-template-columns:minmax(0,1fr)}.roundtable-threads[data-v-9d81b44c]{border-right:0;border-bottom:1px solid var(--color-border);max-height:40vh}.roundtable-message.is-reply[data-v-9d81b44c]{margin-left:16px}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,E as t,H as n,I as r,M as i,N as a,P as o,Q as s,S as c,T as l,U as u,a as d,at as f,b as p,d as m,f as h,g,h as _,i as v,it as y,l as b,n as x,ot as S,r as ee,rt as C,u as w,v as T,w as E,x as D,y as O}from"./i18n-CVFhT_k7.js";import{t as k}from"./console-D7GHOMEC.js";import{a as A,n as j,o as M}from"./client-CR-W5Wzp.js";import{t as N}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as P}from"./UiSelect-CMR0QqF6.js";import{t as F}from"./UiDisclosure-D0iMTplF.js";import{a as I,c as L,i as R,r as z,t as B,u as V}from"./judgment-types-CJBEyJs1.js";import{i as H,n as U,s as te,t as W}from"./conversation-launcher-settings-Dj2GMzCI.js";var G=[`aria-label`],ne={class:`judgment-panel-heading`},K={key:1,class:`judgment-policy-empty`},q={key:0,class:`judgment-project-field`},re={for:`judgment-project-select`},ie=[`disabled`],J=[`value`],Y={key:1,class:`judgment-policy-error`,role:`alert`},ae=[`disabled`],oe=[`disabled`],se=[`onUpdate:modelValue`,`value`],ce={key:0,class:`judgment-progressive-fields`},le=[`value`],ue=[`value`],de={class:`judgment-policy-actions`},X=[`disabled`],fe=[`title`,`disabled`],Z=[`disabled`],Q={key:3,class:`judgment-policy-saved`,role:`status`},pe={key:3,class:`judgment-policy-error`,role:`alert`},me=N(t({__name:`JudgmentPolicyPanel`,props:{personalSpaceId:{},projects:{default:()=>[]}},setup(t){let n=t,i=s(``),a=s(null),l=s({...B}),d=s(!1),f=s(!1),h=s(``),_=s(``),v=s(!1),b=s(null),x=0,ee=T(()=>[{id:``,name:V(`settings.global`)},...n.projects.filter(e=>e.id)]),E=T(()=>i.value||null),k=T(()=>!!(E.value&&a.value&&!a.value.inherited)),A=T(()=>d.value||f.value),j=T(()=>!!(a.value&&!h.value&&!f.value)),N=T(()=>!E.value||!a.value?``:a.value.inherited?V(`settings.inherited`):V(`settings.override`));e(()=>n.projects,e=>{i.value&&!e.some(e=>e.id===i.value)&&(i.value=``)},{deep:!0}),e([()=>n.personalSpaceId,i],()=>{P()},{immediate:!0});async function P(){let e=++x;if(a.value=null,b.value=null,l.value={...B},f.value=!1,v.value=!1,h.value=``,_.value=``,!n.personalSpaceId){d.value=!1;return}d.value=!0;try{let t=await I(n.personalSpaceId,E.value);if(e!==x)return;a.value=z(t),l.value=R(a.value)}catch(t){e===x&&(h.value=t instanceof Error?t.message:V(`settings.loadError`))}finally{e===x&&(d.value=!1)}}function F(e){return e&&typeof e==`object`&&`status`in e&&typeof e.status==`number`?e.status:null}async function H(e,t=!1){if(!a.value||!j.value)return;f.value=!0,v.value=!1,_.value=``;let r=x,i=a.value.inherited?null:R(a.value);try{let o=await L(n.personalSpaceId,E.value,e,a.value.revision);if(r!==x)return;a.value=z(o),l.value=R(a.value),v.value=!0,b.value=t?null:{policy:i}}catch(e){if(r!==x)return;if(F(e)===409){let e=x+1;await P(),x===e&&(_.value=V(`settings.conflictError`))}else _.value=e instanceof Error?e.message:V(`settings.saveError`)}finally{r===x&&(f.value=!1)}}function U(){return H({...l.value})}function te(){if(b.value)return H(b.value.policy,!0)}async function W(){if(k.value)return H(null)}return(e,t)=>(o(),c(`section`,{class:`judgment-policy-panel`,"aria-label":C(V)(`settings.title`)},[O(`header`,ne,[O(`div`,null,[O(`h3`,null,S(C(V)(`settings.title`)),1),O(`p`,null,S(C(V)(`settings.hint`)),1)]),f.value?(o(),p(M,{key:0,variant:`inline`,label:C(V)(`settings.saving`)},null,8,[`label`])):D(``,!0)]),d.value&&!a.value?(o(),p(M,{key:0,variant:`compact`,label:C(V)(`settings.loading`)},null,8,[`label`])):n.personalSpaceId?(o(),c(g,{key:2},[n.projects.length?(o(),c(`div`,q,[O(`label`,re,S(C(V)(`settings.project`)),1),u(O(`select`,{id:`judgment-project-select`,"data-select":`judgment-project`,"onUpdate:modelValue":t[0]||=e=>i.value=e,disabled:A.value},[(o(!0),c(g,null,r(ee.value,e=>(o(),c(`option`,{key:e.id||`global`,value:e.id},S(e.name),9,J))),128))],8,ie),[[m,i.value]]),N.value?(o(),c(`small`,{key:0,class:y({"is-inherited":a.value?.inherited})},S(N.value),3)):D(``,!0)])):D(``,!0),h.value?(o(),c(`div`,Y,[O(`span`,null,S(h.value),1),O(`button`,{type:`button`,class:`quiet-button`,disabled:A.value,onClick:P},S(C(V)(`settings.retry`)),9,ae)])):a.value?(o(),c(`fieldset`,{key:2,class:`judgment-policy-fields`,disabled:!j.value},[O(`legend`,null,S(C(V)(`mode.title`)),1),(o(),c(g,null,r([`manual`,`shared`,`autonomous`],e=>O(`label`,{key:e,class:y([`judgment-mode-option`,{"is-selected":l.value.mode===e}])},[u(O(`input`,{"onUpdate:modelValue":e=>l.value.mode=e,type:`radio`,name:`judgment-mode`,value:e,onChange:t[1]||=e=>U()},null,40,se),[[w,l.value.mode]]),O(`span`,null,[O(`strong`,null,S(C(V)(`mode.${e}`)),1),O(`small`,null,S(C(V)(`mode.${e}Hint`)),1)])],2)),64)),l.value.mode===`manual`?D(``,!0):(o(),c(`div`,ce,[O(`label`,null,[O(`span`,null,S(C(V)(`quality.title`)),1),u(O(`select`,{"onUpdate:modelValue":t[2]||=e=>l.value.quality=e,"data-select":`judgment-quality`,onChange:t[3]||=e=>U()},[(o(),c(g,null,r([`quality`,`balanced`,`economy`],e=>O(`option`,{key:e,value:e},S(C(V)(`quality.${e}`)),9,le)),64))],544),[[m,l.value.quality]])]),O(`label`,null,[O(`span`,null,S(C(V)(`client.title`)),1),u(O(`select`,{"onUpdate:modelValue":t[4]||=e=>l.value.client=e,"data-select":`judgment-client`,onChange:t[5]||=e=>U()},[(o(),c(g,null,r([`codex`,`claude_code`],e=>O(`option`,{key:e,value:e},S(C(V)(`client.${e}`)),9,ue)),64))],544),[[m,l.value.client]])])])),O(`div`,de,[_.value?(o(),c(`button`,{key:0,class:`quiet-button`,type:`button`,"data-action":`save-policy`,disabled:A.value,onClick:U},S(C(V)(`settings.retry`)),9,X)):D(``,!0),k.value?(o(),c(`button`,{key:1,class:`quiet-button`,type:`button`,"data-action":`reset-policy`,title:C(V)(`settings.resetTitle`),disabled:A.value,onClick:W},S(C(V)(`settings.reset`)),9,fe)):D(``,!0),b.value?(o(),c(`button`,{key:2,class:`quiet-button`,type:`button`,"data-action":`undo-policy`,disabled:A.value,onClick:te},S(C(V)(`settings.undo`)),9,Z)):D(``,!0),v.value?(o(),c(`span`,Q,S(C(V)(`settings.saved`)),1)):D(``,!0)])],8,oe)):D(``,!0),_.value?(o(),c(`div`,pe,S(_.value),1)):D(``,!0)],64)):(o(),c(`div`,K,S(C(V)(`settings.loadError`)),1))],8,G))}}),[[`__scopeId`,`data-v-98f9e2c8`]]),he=t({__name:`JudgmentPolicySettings`,setup(e){let t=k(),n=T(()=>t.activePersonalSpace?.id??``),r=T(()=>(t.state?.personalProjects??[]).filter(e=>e.personal_space_id===n.value).map(e=>({id:e.project_id,name:e.profile.name})));return(e,t)=>(o(),p(me,{"personal-space-id":n.value,projects:r.value},null,8,[`personal-space-id`,`projects`]))}}),ge=[`aria-label`],_e={class:`settings-content`},ve={key:1,class:`settings-top-status`,role:`status`},ye={key:0},be={key:1},xe=[`aria-busy`],Se=[`disabled`],Ce={class:`settings-card behavior-card`},we={class:`setting-list`},Te={class:`setting-row`},Ee=[`checked`],De={class:`setting-row`},Oe=[`checked`],ke={class:`setting-row`},Ae={class:`setting-row select-row`},je={class:`setting-row select-row`},Me={class:`setting-row select-row`},Ne={class:`settings-card judgment-settings-card`},Pe={key:0,class:`restart-chip`},Fe={class:`port-section`},Ie={class:`port-grid`},Le=[`onUpdate:modelValue`],Re={class:`port-section development-section`},ze={class:`conversation-launcher-list`},Be={class:`conversation-launcher-heading`},Ve={class:`conversation-launcher-switch`},He=[`onUpdate:modelValue`],Ue={key:0,class:`conversation-launcher-note`},We={key:1,class:`conversation-launcher-fields`},Ge=[`onUpdate:modelValue`],Ke={class:`conversation-launcher-template`},qe=[`onUpdate:modelValue`],Je={key:0,class:`settings-error`,role:`alert`},Ye={class:`settings-card resource-card`},Xe={class:`section-heading`},Ze={key:0},Qe=[`disabled`],$e={key:1,class:`settings-error`,role:`alert`},et={class:`resource-totals`},tt={class:`resource-breakdowns`},nt={class:`resource-group`},rt={class:`resource-group`},it={class:`resource-notes`},at={key:0},ot={key:1},st={key:4,class:`settings-error`,role:`alert`},ct=N(t({__name:`SettingsPage`,setup(t){let m=k(),y=s(null),w=s(null),N=s(null),I=s(!0),L=T({get:()=>m.settingsSaving,set:e=>{m.settingsSaving=e}}),R=s(!1),z=s(``),B=s(``),V=s(!1),G=null,ne=[`console`,`personalProvider`,`personalNeo4jHttp`,`personalNeo4jBolt`],K=T({get:()=>x(),set:e=>v(e)}),q=[5,10,30,60],re=H,ie=T(()=>[{value:`zh-CN`,label:d(`settings.behavior.zh`)},{value:`en-US`,label:d(`settings.behavior.en`)}]),J=T(()=>q.map(e=>({value:String(e),label:d(`settings.resources.refreshUnit`,{seconds:e})}))),Y=T(()=>[{value:`native`,label:d(`settings.behavior.runtimeModes.native`)},{value:`container`,label:d(`settings.behavior.runtimeModes.container`)}]),ae=T(()=>[{value:`any`,label:d(`settings.conversationLaunchers.idFormats.any`)},{value:`uuid`,label:d(`settings.conversationLaunchers.idFormats.uuid`)}]),oe=T(()=>m.state?.capturePolicy?.enabled!==!1),se=T(()=>m.state?.agentAccessPolicy?.enabled!==!1),ce=T(()=>Math.max(1,...N.value?.memory.components.map(({bytes:e})=>e)??[1])),le=T(()=>Math.max(1,...N.value?.disk.components.map(({bytes:e})=>e)??[1])),ue=T(()=>w.value?.graphRuntimeMode===`container`&&Number.isFinite(N.value?.memory.hostTotalBytes)&&Number(N.value?.memory.hostTotalBytes)<=16*1024**3);a(async()=>{m.runtimeStatus===`idle`&&m.refresh(),await Promise.all([de(),X()]),I.value=!1}),i(Q),e(()=>w.value?.resourceRefreshSeconds,()=>Z());async function de(){try{let e=await j(`/api/system/settings`);y.value=e,w.value={...structuredClone(e.configured),conversationLaunchers:W(e.configured.conversationLaunchers)},U(e.configured.conversationLaunchers),z.value=``}catch(e){z.value=e instanceof Error?e.message:d(`settings.loadError`)}}async function X(){if(!(R.value||document.visibilityState===`hidden`)){R.value=!0;try{N.value=await j(`/api/system/resources`),B.value=``}catch(e){B.value=e instanceof Error?e.message:d(`settings.resources.unavailable`)}finally{R.value=!1}}}async function fe(){if(!(!w.value||L.value)){L.value=!0,V.value=!1;try{let e=await A(`/api/system/settings`,w.value);y.value=e,w.value={...structuredClone(e.configured),conversationLaunchers:W(e.configured.conversationLaunchers)},U(e.configured.conversationLaunchers),V.value=!0,z.value=``,window.setTimeout(()=>{V.value=!1},2400)}catch(e){z.value=e instanceof Error?e.message:d(`settings.saveError`)}finally{L.value=!1}}}function Z(){Q();let e=w.value?.resourceRefreshSeconds;e&&(G=setInterval(()=>void X(),e*1e3))}function Q(){G&&clearInterval(G),G=null}function pe(e){m.updateCapturePolicy(e.currentTarget.checked)}function me(e){m.updateAgentAccessPolicy(e.currentTarget.checked)}function ct(e){(e===`zh-CN`||e===`en-US`)&&v(e)}function lt(e){let t=q.find(t=>String(t)===e);t===void 0||!w.value||(w.value.resourceRefreshSeconds=t)}function ut(e){!w.value||e!==`native`&&e!==`container`||(w.value.graphRuntimeMode=e)}function dt(e){let t=d(`settings.conversationLaunchers.applications.${e}`);return t===`settings.conversationLaunchers.applications.${e}`?te(e):t}function ft(e){return y.value?.active.ports[e]??`—`}function pt(e){let t=`settings.resources.components.${e.id.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}`;return ee.global.te(t)?d(t):e.label}function $(e){if(!Number.isFinite(e))return`—`;let t=Number(e),n=[`B`,`KiB`,`MiB`,`GiB`,`TiB`],r=t,i=0;for(;r>=1024&&i<n.length-1;)r/=1024,i+=1;let a=i===0||r>=100?0:r>=10?1:2;return`${r.toFixed(a)} ${n[i]}`}function mt(e,t){return`${Math.max(3,Math.round(e/t*100))}%`}function ht(e){return e?new Intl.DateTimeFormat(K.value,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}).format(new Date(e)):`—`}function gt(e){let t=e.target.closest(`details`);for(;t;)t.open=!0,t=t.parentElement?.closest(`details`)??null}return(e,t)=>(o(),c(`section`,{class:`view settings-view`,"aria-label":C(d)(`settings.aria`)},[O(`div`,_e,[L.value?(o(),p(M,{key:0,variant:`inline`,label:C(d)(`settings.saving`)},null,8,[`label`])):D(``,!0),V.value||y.value?.restartRequired?(o(),c(`div`,ve,[V.value?(o(),c(`strong`,ye,S(C(d)(`settings.saved`)),1)):D(``,!0),y.value?.restartRequired?(o(),c(`span`,be,S(C(d)(`settings.restartCopy`)),1)):D(``,!0)])):D(``,!0),I.value&&!w.value?(o(),p(M,{key:2,variant:`compact`,label:C(d)(`settings.loading`)},null,8,[`label`])):D(``,!0),w.value?(o(),c(`form`,{key:3,id:`settings-form`,class:`settings-form`,"aria-busy":L.value,onSubmit:_(fe,[`prevent`]),onInvalidCapture:gt},[O(`fieldset`,{class:`settings-fields`,disabled:L.value},[O(`section`,Ce,[O(`h3`,null,S(C(d)(`settings.behavior.title`)),1),O(`div`,we,[O(`label`,Te,[O(`span`,null,[O(`strong`,null,S(C(d)(`settings.behavior.capture`)),1),O(`small`,null,S(C(d)(`settings.behavior.captureMeta`)),1)]),O(`input`,{type:`checkbox`,role:`switch`,checked:oe.value,onChange:pe},null,40,Ee)]),O(`label`,De,[O(`span`,null,[O(`strong`,null,S(C(d)(`settings.behavior.agentAccess`)),1),O(`small`,null,S(C(d)(`settings.behavior.agentAccessMeta`)),1)]),O(`input`,{type:`checkbox`,role:`switch`,checked:se.value,onChange:me},null,40,Oe)]),O(`label`,ke,[O(`span`,null,[O(`strong`,null,S(C(d)(`settings.behavior.lanAccess`)),1),O(`small`,null,S(C(d)(`settings.behavior.lanAccessMeta`)),1)]),u(O(`input`,{"onUpdate:modelValue":t[0]||=e=>w.value.lanAccess=e,type:`checkbox`,role:`switch`},null,512),[[b,w.value.lanAccess]])]),O(`div`,Ae,[O(`span`,null,[O(`strong`,null,S(C(d)(`settings.behavior.runtimeMode`)),1),O(`small`,null,S(ue.value?C(d)(`settings.behavior.runtimeRecommendation`):C(d)(`settings.behavior.runtimeModeMeta`,{mode:C(d)(`settings.behavior.runtimeModes.${y.value?.active.graphRuntimeMode??w.value.graphRuntimeMode}`)})),1)]),l(P,{class:`settings-select`,"control-id":`settings-runtime-mode`,"model-value":w.value.graphRuntimeMode,options:Y.value,label:C(d)(`settings.behavior.runtimeMode`),"onUpdate:modelValue":ut},null,8,[`model-value`,`options`,`label`])]),O(`div`,je,[O(`span`,null,[O(`strong`,null,S(C(d)(`settings.behavior.language`)),1)]),l(P,{class:`settings-select`,"control-id":`settings-language`,"model-value":K.value,options:ie.value,label:C(d)(`settings.behavior.language`),"onUpdate:modelValue":ct},null,8,[`model-value`,`options`,`label`])]),O(`div`,Me,[O(`span`,null,[O(`strong`,null,S(C(d)(`settings.resources.refresh`)),1)]),l(P,{class:`settings-select`,"control-id":`settings-refresh-interval`,"model-value":String(w.value.resourceRefreshSeconds),options:J.value,label:C(d)(`settings.resources.refresh`),"onUpdate:modelValue":lt},null,8,[`model-value`,`options`,`label`])])])]),O(`section`,Ne,[l(he)]),l(F,{class:`settings-card ports-card`,title:C(d)(`settings.ports.title`)},{default:n(()=>[y.value?.restartRequired?(o(),c(`span`,Pe,S(C(d)(`settings.restartRequired`)),1)):D(``,!0),O(`div`,Fe,[O(`h4`,null,S(C(d)(`settings.ports.personal`)),1),O(`div`,Ie,[(o(),c(g,null,r(ne,e=>O(`label`,{key:e},[O(`span`,null,S(C(d)(`settings.ports.${e}`)),1),u(O(`input`,{"onUpdate:modelValue":t=>w.value.ports[e]=t,type:`number`,min:`1`,max:`65535`,required:``},null,8,Le),[[h,w.value.ports[e],void 0,{number:!0}]]),O(`small`,null,S(C(d)(`settings.ports.active`,{port:ft(e)})),1)])),64))])]),O(`div`,Re,[O(`div`,null,[O(`h4`,null,S(C(d)(`settings.ports.development`)),1),O(`span`,null,S(C(d)(`settings.ports.developing`)),1)]),O(`p`,null,S(C(d)(`settings.ports.developmentMeta`)),1)])]),_:1},8,[`title`]),l(F,{id:`conversation-launchers`,class:`settings-card conversation-launcher-card`,title:C(d)(`settings.conversationLaunchers.title`)},{default:n(()=>[O(`div`,ze,[(o(!0),c(g,null,r(C(re),e=>(o(),c(`article`,{key:e,class:`conversation-launcher-row`},[O(`div`,Be,[O(`span`,null,[O(`strong`,null,S(dt(e)),1),O(`small`,null,S(C(d)(`settings.conversationLaunchers.sourceId`,{id:e})),1)]),O(`label`,Ve,[O(`span`,null,S(C(d)(`settings.conversationLaunchers.enabled`)),1),u(O(`input`,{"onUpdate:modelValue":t=>w.value.conversationLaunchers[e].enabled=t,type:`checkbox`,role:`switch`},null,8,He),[[b,w.value.conversationLaunchers[e].enabled]])])]),w.value.conversationLaunchers[e].enabled&&e===`codex`?(o(),c(`small`,Ue,S(C(d)(`settings.conversationLaunchers.idFormatMeta`)),1)):D(``,!0),w.value.conversationLaunchers[e].enabled?(o(),c(`div`,We,[O(`label`,null,[O(`span`,null,S(C(d)(`settings.conversationLaunchers.idFormat`)),1),l(P,{modelValue:w.value.conversationLaunchers[e].idFormat,"onUpdate:modelValue":t=>w.value.conversationLaunchers[e].idFormat=t,class:`launcher-select`,"control-id":`settings-conversation-${e}-id-format`,options:ae.value,label:C(d)(`settings.conversationLaunchers.idFormat`)},null,8,[`modelValue`,`onUpdate:modelValue`,`control-id`,`options`,`label`])]),O(`label`,null,[O(`span`,null,S(C(d)(`settings.conversationLaunchers.appName`)),1),u(O(`input`,{"onUpdate:modelValue":t=>w.value.conversationLaunchers[e].appName=t,type:`text`,maxlength:`64`,required:``},null,8,Ge),[[h,w.value.conversationLaunchers[e].appName,void 0,{trim:!0}]])]),O(`label`,Ke,[O(`span`,null,[E(S(C(d)(`settings.conversationLaunchers.urlTemplate`))+` `,1),t[1]||=O(`small`,null,[O(`code`,null,`{id}`)],-1)]),u(O(`input`,{"onUpdate:modelValue":t=>w.value.conversationLaunchers[e].urlTemplate=t,type:`text`,maxlength:`1024`,spellcheck:`false`,required:``},null,8,qe),[[h,w.value.conversationLaunchers[e].urlTemplate,void 0,{trim:!0}]])])])):D(``,!0)]))),128))])]),_:1},8,[`title`])],8,Se),z.value?(o(),c(`p`,Je,S(z.value),1)):D(``,!0)],40,xe)):D(``,!0),O(`section`,Ye,[O(`header`,Xe,[O(`div`,null,[O(`h3`,null,S(C(d)(`settings.resources.title`)),1),N.value?(o(),c(`p`,Ze,S(C(d)(`settings.resources.measuredAt`,{time:ht(N.value.sampledAt)})),1)):D(``,!0)]),O(`button`,{class:`quiet-button`,type:`button`,disabled:R.value,onClick:X},S(C(d)(`common.actions.refresh`)),9,Qe)]),R.value?(o(),p(M,{key:0,variant:N.value?`inline`:`compact`,label:C(d)(`settings.resources.loading`)},null,8,[`variant`,`label`])):D(``,!0),B.value?(o(),c(`p`,$e,S(B.value),1)):N.value?(o(),c(g,{key:2},[O(`div`,et,[O(`article`,null,[O(`span`,null,S(C(d)(`settings.resources.memory`)),1),O(`strong`,null,S($(N.value.memory.usedBytes)),1),O(`small`,null,S(C(d)(`settings.resources.available`,{value:$(N.value.memory.hostFreeBytes)})),1)]),O(`article`,null,[O(`span`,null,S(C(d)(`settings.resources.disk`)),1),O(`strong`,null,S($(N.value.disk.usedBytes)),1),O(`small`,null,S(C(d)(`settings.resources.available`,{value:$(N.value.disk.hostFreeBytes)})),1)])]),l(F,{title:C(d)(`ui.usageDetails`)},{default:n(()=>[O(`div`,tt,[O(`div`,nt,[O(`h4`,null,S(C(d)(`settings.resources.memory`)),1),(o(!0),c(g,null,r(N.value.memory.components,e=>(o(),c(`div`,{key:e.id,class:`resource-row`},[O(`div`,null,[O(`span`,null,S(pt(e)),1),O(`strong`,null,S($(e.bytes)),1)]),O(`i`,null,[O(`b`,{style:f({width:mt(e.bytes,ce.value)})},null,4)])]))),128))]),O(`div`,rt,[O(`h4`,null,S(C(d)(`settings.resources.disk`)),1),(o(!0),c(g,null,r(N.value.disk.components,e=>(o(),c(`div`,{key:e.id,class:`resource-row`},[O(`div`,null,[O(`span`,null,S(pt(e)),1),O(`strong`,null,S($(e.bytes)),1)]),O(`i`,null,[O(`b`,{style:f({width:mt(e.bytes,le.value)})},null,4)])]))),128))])]),O(`div`,it,[O(`span`,null,S(C(d)(`settings.resources.diskMeasuredAt`,{time:ht(N.value.disk.measuredAt)})),1),N.value.status===`partial`?(o(),c(`span`,at,S(C(d)(`settings.resources.partial`)),1)):D(``,!0),N.value.disk.temporaryBytes?(o(),c(`span`,ot,S(C(d)(`settings.resources.temporary`,{value:$(N.value.disk.temporaryBytes)})),1)):D(``,!0),O(`span`,null,S(C(d)(N.value.exclusions.includes(`shared-container-vm-overhead`)?`settings.resources.exclusionsContainer`:`settings.resources.exclusionsNative`)),1)])]),_:1},8,[`title`])],64)):D(``,!0)]),!I.value&&!w.value?(o(),c(`p`,st,S(z.value||C(d)(`settings.loadError`)),1)):D(``,!0)])],8,ge))}}),[[`__scopeId`,`data-v-5bcb456c`]]);export{ct as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.judgment-policy-panel[data-v-98f9e2c8]{gap:18px;display:grid}.judgment-panel-heading[data-v-98f9e2c8]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.judgment-panel-heading h3[data-v-98f9e2c8]{color:var(--color-ink);margin:0;font-size:16px}.judgment-panel-heading p[data-v-98f9e2c8]{color:var(--color-muted);margin:6px 0 0;font-size:13px;line-height:1.55}.judgment-project-field[data-v-98f9e2c8]{grid-template-columns:minmax(130px,.45fr) minmax(180px,1fr) auto;align-items:center;gap:10px;display:grid}.judgment-project-field label[data-v-98f9e2c8],.judgment-progressive-fields label>span[data-v-98f9e2c8]{color:var(--color-muted);font-size:12px}.judgment-project-field select[data-v-98f9e2c8],.judgment-progressive-fields select[data-v-98f9e2c8]{min-height:var(--control-height);border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);font:inherit;padding:7px 10px}.judgment-project-field small[data-v-98f9e2c8]{color:var(--color-muted);white-space:nowrap;font-size:12px}.judgment-project-field small.is-inherited[data-v-98f9e2c8]{color:var(--color-accent)}.judgment-policy-fields[data-v-98f9e2c8]{border:0;gap:10px;min-width:0;padding:0;display:grid}.judgment-policy-fields legend[data-v-98f9e2c8]{color:var(--color-muted);margin-bottom:2px;font-size:12px}.judgment-mode-option[data-v-98f9e2c8]{border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.judgment-mode-option.is-selected[data-v-98f9e2c8]{border-color:var(--color-accent);background:var(--color-accent-soft)}.judgment-mode-option input[data-v-98f9e2c8]{accent-color:var(--color-accent);margin-top:3px}.judgment-mode-option span[data-v-98f9e2c8]{gap:3px;display:grid}.judgment-mode-option strong[data-v-98f9e2c8]{color:var(--color-ink);font-size:13px}.judgment-mode-option small[data-v-98f9e2c8]{color:var(--color-muted);font-size:12px;line-height:1.5}.judgment-progressive-fields[data-v-98f9e2c8]{border-left:2px solid var(--color-accent);background:var(--color-surface-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:3px;padding:12px;display:grid}.judgment-progressive-fields label[data-v-98f9e2c8]{gap:6px;display:grid}.judgment-policy-actions[data-v-98f9e2c8]{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.judgment-policy-saved[data-v-98f9e2c8]{color:var(--color-muted);font-size:12px}.judgment-policy-error[data-v-98f9e2c8]{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-danger-soft);justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;font-size:13px;display:flex}.judgment-policy-empty[data-v-98f9e2c8]{color:var(--color-muted);font-size:13px}@media (width<=640px){.judgment-project-field[data-v-98f9e2c8]{grid-template-columns:1fr;align-items:stretch}.judgment-progressive-fields[data-v-98f9e2c8]{grid-template-columns:1fr}}.settings-fields[data-v-5bcb456c]{border:0;min-width:0;margin:0;padding:0;display:contents}.settings-view[data-v-5bcb456c]{background:var(--color-bg);padding-top:24px}.settings-content[data-v-5bcb456c]{gap:18px;width:min(1120px,100%);margin:0 auto;display:grid}.settings-form[data-v-5bcb456c]{gap:18px;display:grid}.settings-card[data-v-5bcb456c]{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:26px}.section-heading[data-v-5bcb456c]{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.settings-card h3[data-v-5bcb456c]{color:var(--color-ink);font-size:16px}.section-heading p[data-v-5bcb456c]{color:var(--color-muted);margin-top:5px;font-size:12px}.resource-totals[data-v-5bcb456c]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.resource-totals article[data-v-5bcb456c]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:center;gap:7px;min-height:126px;padding:20px 22px;display:grid}.resource-totals span[data-v-5bcb456c]{color:var(--color-muted);font-size:12px}.resource-totals strong[data-v-5bcb456c]{color:var(--color-ink);letter-spacing:-.04em;font-size:clamp(25px,3vw,34px)}.resource-totals small[data-v-5bcb456c]{color:var(--color-muted);font-size:12px}.resource-breakdowns[data-v-5bcb456c]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:26px;display:grid}.resource-group[data-v-5bcb456c]{gap:13px;display:grid}.resource-group h4[data-v-5bcb456c],.port-section h4[data-v-5bcb456c]{color:var(--color-ink);font-size:12px}.resource-row[data-v-5bcb456c]{gap:6px;display:grid}.resource-row>div[data-v-5bcb456c]{color:var(--color-muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.resource-row strong[data-v-5bcb456c]{color:var(--color-ink);font-weight:650}.resource-row i[data-v-5bcb456c]{background:var(--color-surface-subtle);border-radius:999px;height:5px;overflow:hidden}.resource-row b[data-v-5bcb456c]{border-radius:inherit;background:var(--color-muted);height:100%;display:block}.resource-group:last-child .resource-row b[data-v-5bcb456c]{background:var(--color-muted)}.resource-notes[data-v-5bcb456c]{color:var(--color-muted);flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:12px;display:flex}.restart-chip[data-v-5bcb456c]{border:1px solid var(--color-warning);color:var(--color-warning);background:var(--color-warning-soft);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.port-section[data-v-5bcb456c]{gap:13px;display:grid}.port-section+.port-section[data-v-5bcb456c]{border-top:1px solid var(--color-border);margin-top:25px;padding-top:22px}.development-section>div[data-v-5bcb456c]{align-items:center;gap:9px;display:flex}.development-section>div>span[data-v-5bcb456c]{color:var(--color-warning);background:var(--color-warning-soft);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.development-section>p[data-v-5bcb456c]{color:var(--color-muted);font-size:12px}.port-grid[data-v-5bcb456c]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.port-grid label[data-v-5bcb456c]{color:var(--color-muted);gap:7px;font-size:12px;display:grid}.port-grid input[data-v-5bcb456c]{width:100%}.port-grid small[data-v-5bcb456c]{color:var(--color-muted);font-size:12px}.behavior-card>h3[data-v-5bcb456c],.conversation-launcher-card>h3[data-v-5bcb456c]{margin-bottom:14px}.conversation-launcher-list[data-v-5bcb456c]{display:grid}.conversation-launcher-row[data-v-5bcb456c]{border-top:1px solid var(--color-border);padding:16px 0}.conversation-launcher-row[data-v-5bcb456c]:first-child{border-top:0}.conversation-launcher-heading[data-v-5bcb456c]{justify-content:space-between;align-items:center;gap:20px;min-height:34px;display:flex}.conversation-launcher-heading>span[data-v-5bcb456c]{gap:4px;display:grid}.conversation-launcher-heading strong[data-v-5bcb456c]{color:var(--color-ink);font-size:12px}.conversation-launcher-heading small[data-v-5bcb456c]{color:var(--color-muted);font-size:12px}.conversation-launcher-switch[data-v-5bcb456c]{color:var(--color-muted);align-items:center;gap:9px;font-size:12px;display:flex}.conversation-launcher-switch input[role=switch][data-v-5bcb456c]{margin:0}.conversation-launcher-note[data-v-5bcb456c]{max-width:760px;color:var(--color-muted);margin-top:9px;font-size:12px;line-height:1.45;display:block}.conversation-launcher-fields[data-v-5bcb456c]{grid-template-columns:minmax(150px,.7fr) minmax(160px,.8fr) minmax(280px,1.5fr);align-items:start;gap:12px;margin-top:14px;display:grid}.conversation-launcher-fields>label[data-v-5bcb456c]{min-width:0;color:var(--color-muted);grid-template-rows:18px 40px;align-content:start;gap:7px;font-size:12px;display:grid}.conversation-launcher-fields>label>span[data-v-5bcb456c]{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:18px;display:block;overflow:hidden}.conversation-launcher-fields code[data-v-5bcb456c]{color:var(--color-muted);font-size:12px}.conversation-launcher-fields[data-v-5bcb456c] .launcher-select{width:100%;min-width:0;height:40px}.conversation-launcher-fields input[data-v-5bcb456c]{width:100%}.setting-list[data-v-5bcb456c]{display:grid}.setting-row[data-v-5bcb456c]{border-top:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.setting-row[data-v-5bcb456c]:first-child{border-top:0}.setting-row>span[data-v-5bcb456c]{gap:4px;display:grid}.setting-row strong[data-v-5bcb456c]{color:var(--color-ink);font-size:14px}.setting-row small[data-v-5bcb456c]{color:var(--color-muted);font-size:12px}.setting-row input[role=switch][data-v-5bcb456c],.conversation-launcher-switch input[role=switch][data-v-5bcb456c]{appearance:none;background:var(--color-muted);cursor:pointer;border:0;border-radius:999px;flex:none;width:38px;height:21px;margin:0;padding:0;transition:background .18s;position:relative}.setting-row input[role=switch][data-v-5bcb456c]:after,.conversation-launcher-switch input[role=switch][data-v-5bcb456c]:after{content:"";box-sizing:border-box;background:var(--color-surface);border-radius:50%;width:17px;height:17px;transition:transform .18s;position:absolute;top:50%;left:2px;transform:translateY(-50%);box-shadow:0 0 4px #0000002e}.setting-row input[role=switch][data-v-5bcb456c]:checked,.conversation-launcher-switch input[role=switch][data-v-5bcb456c]:checked{background:var(--color-accent)}.setting-row input[role=switch][data-v-5bcb456c]:checked:after,.conversation-launcher-switch input[role=switch][data-v-5bcb456c]:checked:after{transform:translate(17px,-50%)}.select-row .settings-select[data-v-5bcb456c]{width:180px;min-width:0}.settings-top-status[data-v-5bcb456c]{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 4px 2px;font-size:12px;display:flex}.settings-top-status strong[data-v-5bcb456c]{color:var(--color-muted);font-weight:700}.settings-error[data-v-5bcb456c]{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-surface);padding:11px 13px;font-size:12px}@media (width<=900px){.port-grid[data-v-5bcb456c],.conversation-launcher-fields[data-v-5bcb456c]{grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-launcher-template[data-v-5bcb456c]{grid-column:1/-1}}@media (width<=680px){.settings-card[data-v-5bcb456c]{padding:20px}.resource-totals[data-v-5bcb456c],.resource-breakdowns[data-v-5bcb456c],.port-grid[data-v-5bcb456c],.conversation-launcher-fields[data-v-5bcb456c]{grid-template-columns:1fr}.conversation-launcher-template[data-v-5bcb456c]{grid-column:auto}.select-row[data-v-5bcb456c]{flex-direction:column;align-items:flex-start;padding:14px 0}.select-row .settings-select[data-v-5bcb456c]{width:100%}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,E as t,H as n,L as r,M as i,P as a,Q as o,R as s,S as c,a as l,b as u,h as d,it as f,j as p,ot as m,rt as h,x as g,y as _,z as v}from"./i18n-CVFhT_k7.js";import{o as y}from"./client-CR-W5Wzp.js";var b=[`type`,`disabled`,`aria-busy`],x=t({__name:`UiButton`,props:{variant:{default:`default`},size:{default:`md`},type:{default:`button`},busy:{type:Boolean,default:!1},busyLabel:{default:``},disabled:{type:Boolean,default:!1},icon:{type:Boolean,default:!1}},setup(e){return(t,n)=>(a(),c(`button`,{type:e.type,class:f([`ui-button`,[`ui-button--${e.variant}`,{"ui-button--sm":e.size===`sm`,"ui-button--icon":e.icon}]]),disabled:e.disabled||e.busy,"aria-busy":e.busy||void 0},[e.busy?(a(),u(y,{key:0,variant:`inline`,label:e.busyLabel},null,8,[`label`])):r(t.$slots,`default`,{},void 0,void 0,1)],10,b))}}),S=[`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`a[href]`,`[contenteditable="true"]`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function C(t,n){let r=o(null),a=o(null),s=null,c=0;e(t,e=>{let n=++c;if(e){s=document.activeElement instanceof HTMLElement?document.activeElement:null,p().then(()=>{if(n!==c||!t())return;let e=r.value;if(!e)return;e.open||e.showModal();let i=e.querySelector(`.ui-dialog__body`);(a.value??e.querySelector(`[autofocus]`)??(i?w(i)[0]:void 0)??w(e)[0])?.focus({preventScroll:!0})});return}let i=r.value;i?.open&&i.close(),l(n)},{immediate:!0}),i(()=>{c+=1;let e=r.value;e?.open&&e.close();let t=s;s=null,t?.isConnected&&t.focus({preventScroll:!0})});function l(e){let t=s;s=null,p().then(()=>{e!==c||!t?.isConnected||t.focus({preventScroll:!0})})}function u(e){e.preventDefault(),n()}function d(e){if(e.key!==`Tab`)return;let t=r.value;if(!t)return;let n=w(t);if(!n.length){e.preventDefault(),t.focus({preventScroll:!0});return}let i=n[0],a=n.at(-1)??i,o=document.activeElement;e.shiftKey&&(o===i||!t.contains(o))?(e.preventDefault(),a.focus({preventScroll:!0})):!e.shiftKey&&(o===a||!t.contains(o))&&(e.preventDefault(),i.focus({preventScroll:!0}))}return{dialogRef:r,initialFocusRef:a,onCancel:u,onKeydown:d}}function w(e){return[...e.querySelectorAll(S)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}var T=[`aria-busy`],E={class:`ui-dialog__header`},D={key:0},O=[`disabled`,`aria-label`],k={class:`ui-dialog__body`},A={key:0,class:`ui-dialog__error`,role:`alert`},j={key:0,class:`ui-dialog__footer`},M=t({__name:`UiDialog`,props:{open:{type:Boolean},title:{},description:{default:void 0},size:{default:`md`},busy:{type:Boolean,default:!1},form:{type:Boolean,default:!1},error:{default:``}},emits:[`close`,`submit`],setup(e,{expose:t,emit:i}){let o=e,p=i,y=`ui-dialog-${v().replace(/[^A-Za-z0-9_-]/g,``)}`,{dialogRef:b,initialFocusRef:x,onCancel:S,onKeydown:w}=C(()=>o.open,M);function M(){o.busy||p(`close`)}return t({initialFocusRef:x}),(t,i)=>e.open?(a(),c(`dialog`,{key:0,ref_key:`dialogRef`,ref:b,class:f([`ui-dialog`,`ui-dialog--${e.size}`]),"aria-modal":`true`,"aria-labelledby":y,"aria-busy":e.busy||void 0,onCancel:i[1]||=(...e)=>h(S)&&h(S)(...e),onKeydown:i[2]||=(...e)=>h(w)&&h(w)(...e)},[(a(),u(s(e.form?`form`:`div`),{class:`ui-dialog__shell`,onSubmit:i[0]||=d(e=>p(`submit`),[`prevent`])},{default:n(()=>[_(`header`,E,[_(`div`,null,[_(`h2`,{id:y},m(e.title),1),e.description?(a(),c(`p`,D,m(e.description),1)):g(``,!0)]),_(`button`,{class:`ui-button ui-button--ghost ui-button--icon ui-button--sm`,type:`button`,disabled:e.busy,"aria-label":h(l)(`common.actions.close`),onClick:M},[...i[3]||=[_(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`},[_(`path`,{d:`m4 4 8 8M12 4l-8 8`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1)]],8,O)]),_(`div`,k,[e.error?(a(),c(`p`,A,m(e.error),1)):g(``,!0),r(t.$slots,`default`)]),t.$slots.footer?(a(),c(`footer`,j,[r(t.$slots,`footer`)])):g(``,!0)]),_:3},32))],42,T)):g(``,!0)}});export{x as n,M as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,Q as t,a as n,k as r,r as i}from"./i18n-CVFhT_k7.js";import{a,n as o}from"./client-CR-W5Wzp.js";import{t as s}from"./useAgentRoster-DCArHlxK.js";var c=Symbol(`agent-pins`),l=Symbol(`agent-roster`),u=new Map,d={loading:`Reading pinned Agents…`,saving:`Saving Agent pin…`,loadError:`Pinned Agents are temporarily unavailable.`,saveError:`The Agent pin could not be saved.`,conflictError:`The pin list changed. Try again.`};function f(e,t){let r=`agentPins.${e}`;return i.global.te(r)?n(r):t}function p(e){return f(e,d[e])}function m(e){if(!e||typeof e!=`object`||!(`status`in e))return null;let t=e.status;return typeof t==`number`?t:null}function h(e){let t=e&&typeof e==`object`?e:{},n=Array.isArray(t.agentIds)?[...new Set(t.agentIds.filter(e=>typeof e==`string`&&e.length>0))]:[];return{revision:typeof t.revision==`number`?t.revision:0,agentIds:n}}function g(e){let t=u.get(e);if(t)return t;let n=o(`/api/agent-pins?${new URLSearchParams({personalSpaceId:e})}`).then(e=>h(e)).finally(()=>{u.get(e)===n&&u.delete(e)});return u.set(e,n),n}function _(n){let r=t([]),i=t(null),o=t(!1),s=t(null),c=t(``),l=new Map,u=0;function d(){r.value=[],i.value=null,o.value=!1,s.value=null,c.value=``}function f(e){i.value=e.revision,r.value=[...e.agentIds]}async function _(e={}){let t=n.value,r=++u;if(c.value=``,!t){d();return}let i=e.force?void 0:l.get(t);if(i){f(i),o.value=!1;return}o.value=!0;try{let e=await g(t);if(l.set(t,e),r!==u||n.value!==t)return;f(e)}catch{r===u&&n.value===t&&(c.value=p(`loadError`))}finally{r===u&&n.value===t&&(o.value=!1)}}async function v(e,t){let r=n.value;if(!r||(i.value===null&&await _(),n.value!==r||i.value===null))return!1;let o=i.value;s.value=e,c.value=``;try{let i=h(await a(`/api/agent-pins`,{personalSpaceId:r,agentId:e,pinned:t,expectedRevision:o}));return l.set(r,i),n.value===r&&f(i),!0}catch(e){return n.value===r&&(m(e)===409?(await _({force:!0}),n.value===r&&!c.value&&(c.value=p(`conflictError`))):c.value=p(`saveError`)),!1}finally{n.value===r&&(s.value=null)}}return e(n,()=>{u+=1,d(),n.value&&_()},{immediate:!0}),{agentIds:r,revision:i,loading:o,savingAgentId:s,error:c,load:_,setPinned:v}}function v(e){return r(c,null)??_(e)}function y(e){return r(l,null)??s(e)}export{v as a,_ as i,l as n,y as o,f as r,c as t};
|