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.
Files changed (160) hide show
  1. package/README.md +14 -6
  2. package/README.zh-CN.md +9 -4
  3. package/dist/web/assets/{AboutPage-BAD0iPVX.js → AboutPage-Dized8Uz.js} +1 -1
  4. package/dist/web/assets/{AgentConversations-1iGTd4sz.js → AgentConversations-Ccy41mEA.js} +1 -1
  5. package/dist/web/assets/{AgentHand-D_RafKOM.js → AgentHand-UzVhbKUC.js} +1 -1
  6. package/dist/web/assets/{AgentName-B5LKQ09q.js → AgentName-DJpvkub2.js} +1 -1
  7. package/dist/web/assets/AgentProfilePage-CFViQ8kj.js +1 -0
  8. package/dist/web/assets/AgentsDirectoryPage-CBFTg_IE.js +1 -0
  9. package/dist/web/assets/AgentsDirectoryPage-Cv-vxw2C.css +1 -0
  10. package/dist/web/assets/{ConnectionsPage-Tr2rRVOZ.js → ConnectionsPage-uXcabab_.js} +1 -1
  11. package/dist/web/assets/EmployeeRecruitDialog-D8Hvhc-M.js +1 -0
  12. package/dist/web/assets/EmployeeWorkbenchPage-TBl_HNj6.js +3 -0
  13. package/dist/web/assets/KnowledgeEditDialog-HmiqLC-Y.js +1 -0
  14. package/dist/web/assets/KnowledgeInspector-Cj2yK4Qh.js +1 -0
  15. package/dist/web/assets/KnowledgeOrganizerPage-DT3BROZm.js +1 -0
  16. package/dist/web/assets/KnowledgePage-C4J4VueL.js +1 -0
  17. package/dist/web/assets/KnowledgeWorkspace-DA_dqVRG.js +4 -0
  18. package/dist/web/assets/{NotFoundPage-fetSnp0N.js → NotFoundPage-x_Yd59mm.js} +1 -1
  19. package/dist/web/assets/{OverviewPage-BD4yY2Xz.js → OverviewPage-3eZjQ26v.js} +1 -1
  20. package/dist/web/assets/OverviewPage-8LBN8Shi.css +1 -0
  21. package/dist/web/assets/PersonalProfilePage-CDQk096L.js +1 -0
  22. package/dist/web/assets/PersonalProjectsPage-CJxp4Wyz.js +1 -0
  23. package/dist/web/assets/{ProjectAgentFirstTask-BcxqmKXQ.js → ProjectAgentFirstTask-BkRJ0zwO.js} +1 -1
  24. package/dist/web/assets/{ProjectAgentsPage-BWDJBESb.js → ProjectAgentsPage-BuNNqSEy.js} +8 -8
  25. package/dist/web/assets/{ProjectScopePicker-yodM7lF_.js → ProjectScopePicker-CiDxM2Yx.js} +1 -1
  26. package/dist/web/assets/PublicProjectsPage-ByOT559r.js +1 -0
  27. package/dist/web/assets/{ReviewPage-Cy0Rt4CO.js → ReviewPage-C0Vdr9uq.js} +1 -1
  28. package/dist/web/assets/RoundtablesPage-Drou-B81.css +1 -0
  29. package/dist/web/assets/RoundtablesPage-L3ShEWS3.js +1 -0
  30. package/dist/web/assets/SettingsPage-BE8pWbI6.css +1 -0
  31. package/dist/web/assets/SettingsPage-McYuinGz.js +1 -0
  32. package/dist/web/assets/{SharedJefaReportPage-C56kPciB.js → SharedJefaReportPage-Bg6lIk3E.js} +1 -1
  33. package/dist/web/assets/UiButton-x8hiHNRM.js +1 -0
  34. package/dist/web/assets/UiDialog-mjletK0y.js +1 -0
  35. package/dist/web/assets/{UiDisclosure-D0iMTplF.js → UiDisclosure-_IxeiexW.js} +1 -1
  36. package/dist/web/assets/{UiSegmented-DIJW6wv3.js → UiSegmented-WFfz9Evl.js} +1 -1
  37. package/dist/web/assets/{UiSelect-CMR0QqF6.js → UiSelect-K29jnV-1.js} +1 -1
  38. package/dist/web/assets/{WritingTastePage-QgNzssfF.js → WritingTastePage-DCULB-d2.js} +1 -1
  39. package/dist/web/assets/agent-pins-DS4mNsNt.js +1 -0
  40. package/dist/web/assets/agent-profile-Bh3MJGvb.css +1 -0
  41. package/dist/web/assets/{attention-store-B1DI8wmd.js → attention-store-CA5y8j1R.js} +1 -1
  42. package/dist/web/assets/catalog-D0VEfOAV.js +1 -0
  43. package/dist/web/assets/{client-CR-W5Wzp.js → client-DnwnUBQV.js} +1 -1
  44. package/dist/web/assets/{console-D7GHOMEC.js → console-Cw7TzOSC.js} +1 -1
  45. package/dist/web/assets/conversation-launcher-settings-Yc13viwr.js +1 -0
  46. package/dist/web/assets/{i18n-CVFhT_k7.js → i18n-oJFlt8hW.js} +3 -3
  47. package/dist/web/assets/{identity-CM6Dmy00.js → identity-DSGS4CZc.js} +1 -1
  48. package/dist/web/assets/index-BfHCcUL2.css +1 -0
  49. package/dist/web/assets/index-CxNER7Oo.js +5 -0
  50. package/dist/web/assets/{judgment-types-CJBEyJs1.js → judgment-types-DR931cZ7.js} +1 -1
  51. package/dist/web/assets/{model-WFhQZ3v_.js → model-BJ-UF4cs.js} +1 -1
  52. package/dist/web/assets/{personal-profile-graph-BwCh2M9G.js → personal-profile-graph-SOK0BR0w.js} +1 -1
  53. package/dist/web/assets/project-team-api-C_0qJk_B.js +1 -0
  54. package/dist/web/assets/{shared-report-CeIvrL9a.js → shared-report-CiX64ZiD.js} +1 -1
  55. package/dist/web/assets/useAgentRoster-B84mzZIg.js +1 -0
  56. package/dist/web/assets/{useApi-CROJJdhE-BYhbjaZB.js → useApi-CROJJdhE-7gt0QyQ5.js} +1 -1
  57. package/dist/web/assets/{vue-router-DaxrQwX3.js → vue-router-CCvPGaLD.js} +1 -1
  58. package/dist/web/index.html +15 -14
  59. package/dist/web/licenses/ant-design-icons.txt +22 -0
  60. package/docs/agent-conversations-and-collaboration.md +3 -3
  61. package/docs/agent-roundtable.md +33 -0
  62. package/docs/client-connections.md +108 -0
  63. package/docs/employee-agents.md +3 -3
  64. package/docs/project-agent-memory.md +6 -6
  65. package/graph-provider/fuli_graph/default_project_lead.py +1 -1
  66. package/graph-provider/fuli_graph/project_agent_delegations.py +70 -2
  67. package/graph-provider/fuli_graph/project_agent_memory_routes.py +18 -1
  68. package/graph-provider/fuli_graph/project_agent_remote_origins.py +154 -0
  69. package/graph-provider/fuli_graph/project_agent_task_models.py +1 -1
  70. package/graph-provider/fuli_graph/runtime.py +7 -0
  71. package/graph-provider/fuli_graph/store_project_agent_context.py +3 -2
  72. package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +1 -1
  73. package/graph-provider/fuli_graph/store_project_agent_task_reads.py +1 -1
  74. package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +5 -5
  75. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +2 -2
  76. package/graph-provider/fuli_graph/store_project_agent_tasks.py +2 -2
  77. package/graph-provider/fuli_graph/store_project_agents.py +6 -6
  78. package/graph-provider/fuli_graph/system_agents.py +12 -2
  79. package/graph-provider/fuli_graph/system_hr_identity.py +2 -2
  80. package/graph-provider/pyproject.toml +2 -1
  81. package/npm-shrinkwrap.json +280 -5
  82. package/package.json +6 -2
  83. package/skills/operating-fuli/SKILL.md +3 -3
  84. package/src/agent-peer/coordinator-http.js +117 -0
  85. package/src/agent-peer/coordinator-service.js +258 -0
  86. package/src/agent-peer/coordinator-store.js +95 -0
  87. package/src/agent-peer/device-identity.js +70 -0
  88. package/src/agent-peer/http.js +47 -0
  89. package/src/agent-peer/node-store.js +127 -0
  90. package/src/agent-peer/origin-proof.js +56 -0
  91. package/src/agent-peer/peer-port.js +140 -0
  92. package/src/agent-peer/peer-runtime.js +298 -0
  93. package/src/agent-peer/peer-transport.js +78 -0
  94. package/src/agent-peer/protocol.js +161 -0
  95. package/src/agent-peer/runner.js +251 -0
  96. package/src/agent-roundtable/http.js +17 -3
  97. package/src/agent-roundtable/service.js +272 -43
  98. package/src/agent-roundtable/tools.js +15 -1
  99. package/src/agent-roundtable/wake.js +12 -3
  100. package/src/agent-tools/graph-definitions.js +14 -5
  101. package/src/agent-tools/graph-handlers.js +1 -0
  102. package/src/agent-tools/interface-catalog.js +10 -1
  103. package/src/agent-tools/project-agent-definitions.js +1 -1
  104. package/src/agents/identity-receipt.js +1 -1
  105. package/src/cli/command-registry.js +3 -0
  106. package/src/cli/connect-command.js +31 -0
  107. package/src/cli/mcp-command.js +101 -0
  108. package/src/cli/peer-command.js +100 -0
  109. package/src/cli/setup-agent-selection.js +2 -2
  110. package/src/cli/setup-command.js +12 -5
  111. package/src/cli.js +16 -0
  112. package/src/employees/catalog/bole.json +2 -2
  113. package/src/graphiti/federated-application.js +4 -1
  114. package/src/graphiti/project-agent-control-plane.js +7 -0
  115. package/src/graphiti/project-agent-task-entry.js +4 -4
  116. package/src/graphiti/project-agent-team-context.js +16 -18
  117. package/src/graphiti/project-team-view.js +82 -0
  118. package/src/graphiti/provider-client.js +9 -0
  119. package/src/graphiti/task-entry-preferences.js +1 -1
  120. package/src/http/api-router.js +10 -1
  121. package/src/http/graph-api-router.js +7 -0
  122. package/src/mcp/runtime.js +2 -1
  123. package/src/mcp/tool-annotations.js +4 -3
  124. package/src/mcp/tool-profiles.js +36 -0
  125. package/src/mcp-server.js +2 -100
  126. package/src/server.js +14 -2
  127. package/src/setup/agent-installation-status.js +5 -3
  128. package/src/setup/agents.js +23 -3
  129. package/src/setup/claude-desktop-config.js +60 -0
  130. package/src/setup/client-connection.js +25 -0
  131. package/src/setup/paths.js +3 -1
  132. package/src/setup/setup.js +1 -1
  133. package/src/setup/stable-package-root.js +29 -0
  134. package/src/system/system-service.js +5 -0
  135. package/dist/web/assets/AgentProfilePage-CioOdkBM.js +0 -1
  136. package/dist/web/assets/AgentsDirectoryPage--1A9nvNA.js +0 -1
  137. package/dist/web/assets/AgentsDirectoryPage-C7OUQH9v.css +0 -1
  138. package/dist/web/assets/EmployeeRecruitDialog-1QevD4Qv.js +0 -1
  139. package/dist/web/assets/EmployeeWorkbenchPage-B0vQIgwA.js +0 -3
  140. package/dist/web/assets/KnowledgeEditDialog-ClnrfPZi.js +0 -1
  141. package/dist/web/assets/KnowledgeInspector-Te1hJZbx.js +0 -1
  142. package/dist/web/assets/KnowledgeOrganizerPage-CCCrWl6Y.js +0 -1
  143. package/dist/web/assets/KnowledgePage-DGOcBwr8.js +0 -1
  144. package/dist/web/assets/KnowledgeWorkspace-cKn1NCRe.js +0 -4
  145. package/dist/web/assets/OverviewPage-By-fUzSG.css +0 -1
  146. package/dist/web/assets/PersonalProfilePage-DGJVP_VB.js +0 -1
  147. package/dist/web/assets/PersonalProjectsPage-D25HYMgD.js +0 -1
  148. package/dist/web/assets/PublicProjectsPage-CyNxVzW3.js +0 -1
  149. package/dist/web/assets/RoundtablesPage-BjVhvwMc.js +0 -1
  150. package/dist/web/assets/RoundtablesPage-Cb0R4GaM.css +0 -1
  151. package/dist/web/assets/SettingsPage-CCZqZtnH.js +0 -1
  152. package/dist/web/assets/SettingsPage-DYz5bTwa.css +0 -1
  153. package/dist/web/assets/UiDialog-CvDxg3B1.js +0 -1
  154. package/dist/web/assets/agent-pins-BcJ_qr8n.js +0 -1
  155. package/dist/web/assets/agent-profile-BZj3ezWe.css +0 -1
  156. package/dist/web/assets/catalog-DbXv0_bR.js +0 -1
  157. package/dist/web/assets/conversation-launcher-settings-Dj2GMzCI.js +0 -1
  158. package/dist/web/assets/index-CJ6Jmok9.css +0 -1
  159. package/dist/web/assets/index-CRa3GnYi.js +0 -5
  160. package/dist/web/assets/useAgentRoster-DCArHlxK.js +0 -1
@@ -0,0 +1 @@
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-oJFlt8hW.js";import{t as ee}from"./console-Cw7TzOSC.js";import{a as te,i as C,r as ne,s as w}from"./client-DnwnUBQV.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as E}from"./UiButton-x8hiHNRM.js";import{t as D}from"./vue-router-CCvPGaLD.js";import{t as O}from"./UiDialog-mjletK0y.js";import{t as re}from"./UiSelect-K29jnV-1.js";import{t as k}from"./UiSegmented-WFfz9Evl.js";import{n as A,t as j}from"./KnowledgeInspector-Cj2yK4Qh.js";import{i as M,n as ie,t as N}from"./KnowledgeEditDialog-HmiqLC-Y.js";import{C as P,D as F,_ as I,u as ae,v as L,x as oe}from"./model-BJ-UF4cs.js";import{t as se}from"./personal-profile-graph-SOK0BR0w.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(),w=o(null),T=o(`right`),D=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=D.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||!w.value)return u(`preferences.dialog.impact.choose`);if(w.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(w.value===`keep_left`||w.value===`keep_right`){let t=w.value===`keep_left`?e.left:e.right,n=w.value===`keep_left`?e.right:e.left;return u(`preferences.dialog.impact.keep`,{kept:t.title,historical:n.title})}let t=D.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`,D.value=`right`,j.value=G(V(e.right),V(e.left)),w.value=e.recommendedAction,A.value=``,P.value=``,z(e.recommendedAction))},{immediate:!0}),e([D,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||(w.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||!w.value)return J(u(`preferences.dialog.errors.actionRequired`));if(!M.value.trim())return J(u(`preferences.dialog.errors.reasonRequired`));if(w.value===`merge`&&!j.value.trim())return J(u(`preferences.dialog.errors.mergedValueRequired`));if(w.value===`split_scope`&&!A.value)return J(u(`preferences.dialog.errors.projectRequired`));let t=w.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 C(`/api/knowledge/${r.itemKind}/${encodeURIComponent(r.id)}`,a),await C(`/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 C(`/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=D.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(O,{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:!w.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":w.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":w.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":w.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":w.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),w.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),w.value===`split_scope`?(a(),s(`section`,Oe,[S(`div`,ke,[S(`span`,null,_(v(u)(`preferences.dialog.adjustRecord`)),1),c(k,{modelValue:D.value,"onUpdate:modelValue":i[6]||=e=>D.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(D),{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),C=o(!1),T=y(()=>C.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,C.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,C.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;C.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:C.value,onClick:t[6]||=e=>$()},_(v(u)(`common.actions.refresh`)),9,Qe)])]),C.value&&d.value&&!v(E)&&!z.value?(a(),f(w,{key:1,variant:`inline`,label:v(u)(`preferences.profile.directory.loading`)},null,8,[`label`])):x(``,!0),v(E)?(a(),f(w,{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))]),C.value?(a(),f(w,{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};
@@ -0,0 +1 @@
1
+ import{E as e,P as t,b as n}from"./i18n-oJFlt8hW.js";import{t as r}from"./KnowledgeWorkspace-DA_dqVRG.js";var i=e({__name:`PersonalProjectsPage`,setup(e){return(e,i)=>(t(),n(r,{"personal-projects-only":``}))}});export{i as default};
@@ -1 +1 @@
1
- import{E as e,P as t,S as n,a as r,ot as i,rt as a,y as o}from"./i18n-CVFhT_k7.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c=[`aria-label`],l=s(e({__name:`ProjectAgentFirstTask`,props:{personalSpaceId:{}},setup(e){return(e,s)=>(t(),n(`aside`,{class:`project-agent-first-task`,"aria-label":a(r)(`projectAgents.firstTask.title`)},[o(`strong`,null,i(a(r)(`projectAgents.firstTask.title`)),1),o(`p`,null,i(a(r)(`projectAgents.firstTask.hint`)),1)],8,c))}}),[[`__scopeId`,`data-v-f08512ca`]]);export{l as t};
1
+ import{E as e,P as t,S as n,a as r,ot as i,rt as a,y as o}from"./i18n-oJFlt8hW.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c=[`aria-label`],l=s(e({__name:`ProjectAgentFirstTask`,props:{personalSpaceId:{}},setup(e){return(e,s)=>(t(),n(`aside`,{class:`project-agent-first-task`,"aria-label":a(r)(`projectAgents.firstTask.title`)},[o(`strong`,null,i(a(r)(`projectAgents.firstTask.title`)),1),o(`p`,null,i(a(r)(`projectAgents.firstTask.hint`)),1)],8,c))}}),[[`__scopeId`,`data-v-f08512ca`]]);export{l as t};