fuli-context 0.12.4 → 0.20.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/web/assets/{AboutPage-DKsgqteA.js → AboutPage-DC3Eu95G.js} +1 -1
  2. package/dist/web/assets/{AgentHand-B5lezlek.js → AgentHand-Bex3jrOr.js} +1 -1
  3. package/dist/web/assets/{AgentName-C-V41xs0.js → AgentName-E3TrVNIR.js} +1 -1
  4. package/dist/web/assets/AgentProfilePage-pHzDx457.js +1 -0
  5. package/dist/web/assets/{AgentsDirectoryPage-IgN5QEdW.js → AgentsDirectoryPage-itsP9chX.js} +1 -1
  6. package/dist/web/assets/{ConnectionsPage-CXtNiTEF.js → ConnectionsPage-D0L5VcbN.js} +1 -1
  7. package/dist/web/assets/{EmployeeRecruitDialog-o6eyMw2g.js → EmployeeRecruitDialog-DcYqq75q.js} +1 -1
  8. package/dist/web/assets/{EmployeeWorkbenchPage-4EnGLauW.js → EmployeeWorkbenchPage-BDN6whBV.js} +1 -1
  9. package/dist/web/assets/{KnowledgeEditDialog-BlBd6Xql.js → KnowledgeEditDialog-BnFbCSK7.js} +1 -1
  10. package/dist/web/assets/{KnowledgeInspector-Dl7SAgaY.js → KnowledgeInspector-u0HypEW7.js} +1 -1
  11. package/dist/web/assets/{KnowledgeOrganizerPage-CpH4x6UA.js → KnowledgeOrganizerPage-B3GoSV-E.js} +1 -1
  12. package/dist/web/assets/KnowledgePage-DrRnvfrO.js +1 -0
  13. package/dist/web/assets/{KnowledgeWorkspace-4q_HfXas.js → KnowledgeWorkspace-_wWZQw_h.js} +1 -1
  14. package/dist/web/assets/{NotFoundPage-DtmfJSGx.js → NotFoundPage-BcPx7tfG.js} +1 -1
  15. package/dist/web/assets/{OverviewPage-C1zw_8_6.js → OverviewPage-C2jrJWDc.js} +1 -1
  16. package/dist/web/assets/{PersonalProfilePage-tQyS7qsa.js → PersonalProfilePage-DkOcops6.js} +1 -1
  17. package/dist/web/assets/PersonalProjectsPage-uJXnueKw.js +1 -0
  18. package/dist/web/assets/{ProjectAgentFirstTask-Caf7c6F_.js → ProjectAgentFirstTask-Cwto-bOU.js} +1 -1
  19. package/dist/web/assets/ProjectAgentsPage-DDuhJnAH.js +12 -0
  20. package/dist/web/assets/{ProjectAgentsPage-DWGkgIsr.css → ProjectAgentsPage-VYiEOpFJ.css} +1 -1
  21. package/dist/web/assets/{ProjectScopePicker-NyqcG6Iz.js → ProjectScopePicker-Bc7A6Rdj.js} +1 -1
  22. package/dist/web/assets/{PublicProjectsPage-CYwQLZmy.js → PublicProjectsPage-KvmU4tDo.js} +1 -1
  23. package/dist/web/assets/{ReviewPage-EyuAtIOq.js → ReviewPage-BfKG8Hgw.js} +1 -1
  24. package/dist/web/assets/{RoundtablesPage-JVBXsJrs.js → RoundtablesPage-IXKQq62P.js} +1 -1
  25. package/dist/web/assets/SettingsPage-6FZ7_3-X.css +1 -0
  26. package/dist/web/assets/SettingsPage-Clhe1bei.js +1 -0
  27. package/dist/web/assets/{SharedJefaReportPage-DFy5Ty7o.js → SharedJefaReportPage-B55966fF.js} +1 -1
  28. package/dist/web/assets/TaskExecutionPlan-BuEIInIV.css +1 -0
  29. package/dist/web/assets/TaskExecutionPlan-ZoOE8Ltc.js +2 -0
  30. package/dist/web/assets/{UiButton-neeym_gA.js → UiButton-DYcQLYXP.js} +1 -1
  31. package/dist/web/assets/{UiDialog-BFVoqFnc.js → UiDialog-D70VuNpZ.js} +1 -1
  32. package/dist/web/assets/{UiDisclosure-B-T7BmB5.js → UiDisclosure-CaeBp1mn.js} +1 -1
  33. package/dist/web/assets/{UiSegmented-D_kyRKDw.js → UiSegmented-DpXRULl-.js} +1 -1
  34. package/dist/web/assets/{UiSelect-DDyct4mf.js → UiSelect-Alpe2iY3.js} +1 -1
  35. package/dist/web/assets/{WritingTastePage-BPRq6kJ6.js → WritingTastePage-BwNCyys9.js} +1 -1
  36. package/dist/web/assets/{agent-pins-6LRHTMF6.js → agent-pins-DbcPCnxU.js} +1 -1
  37. package/dist/web/assets/{agent-profile-UgNiXgpU.css → agent-profile-DTn-2VAG.css} +1 -1
  38. package/dist/web/assets/{agent-work-summary-C-yW7x7A.js → agent-work-summary-DRJy9v48.js} +1 -1
  39. package/dist/web/assets/{attention-store-BGHyzWfv.js → attention-store-AfhjzTC5.js} +1 -1
  40. package/dist/web/assets/{catalog-kb-cA8t6.js → catalog-ykylXINx.js} +1 -1
  41. package/dist/web/assets/{client-DodUFQDp.js → client-mT6kHxUd.js} +1 -1
  42. package/dist/web/assets/{console-C2Lfifq-.js → console-CDOkjZU8.js} +1 -1
  43. package/dist/web/assets/{conversation-launcher-settings-CowfVz7l.js → conversation-launcher-settings-CJfHOqqX.js} +1 -1
  44. package/dist/web/assets/{i18n-B4Fp9Oa5.js → i18n-DUTWmrzf.js} +3 -3
  45. package/dist/web/assets/{identity-DG_za-J7.js → identity-CAQk8V-Q.js} +1 -1
  46. package/dist/web/assets/{index-RxlM8aQV.js → index-DSUd-aqC.js} +3 -3
  47. package/dist/web/assets/{judgment-types-DRqrjStd.js → judgment-types-aERVgHxJ.js} +1 -1
  48. package/dist/web/assets/{model-C0eHDNsF.js → model-DiN6uWZA.js} +1 -1
  49. package/dist/web/assets/{personal-profile-graph-CHY3WYhi.js → personal-profile-graph-C6IZoTJK.js} +1 -1
  50. package/dist/web/assets/project-team-api-B3dwwoUU.js +1 -0
  51. package/dist/web/assets/{shared-report-8JFvD9TZ.js → shared-report-n864kqhr.js} +1 -1
  52. package/dist/web/assets/task-evidence-i9SDhd3E.js +1 -0
  53. package/dist/web/assets/{useAgentRoster-QDbOwtLj.js → useAgentRoster-BF8eZGbq.js} +1 -1
  54. package/dist/web/assets/{useApi-CROJJdhE-IuC5qwny.js → useApi-CROJJdhE-sOV3uq1T.js} +1 -1
  55. package/dist/web/assets/{vue-router-nZMhR3dI.js → vue-router-CBdnor1K.js} +1 -1
  56. package/dist/web/index.html +15 -15
  57. package/docs/agent-conversations-and-collaboration.md +91 -127
  58. package/docs/agent-interface-architecture.md +11 -0
  59. package/docs/client-connections.md +42 -6
  60. package/docs/project-agent-memory.md +86 -138
  61. package/graph-provider/fuli_graph/agent_conversation_models.py +1 -1
  62. package/graph-provider/fuli_graph/app.py +6 -0
  63. package/graph-provider/fuli_graph/collaboration_context.py +38 -7
  64. package/graph-provider/fuli_graph/conversation_context.py +183 -20
  65. package/graph-provider/fuli_graph/default_project_lead.py +3 -2
  66. package/graph-provider/fuli_graph/models.py +3 -0
  67. package/graph-provider/fuli_graph/project_agent_access.py +6 -4
  68. package/graph-provider/fuli_graph/project_agent_context_models.py +4 -0
  69. package/graph-provider/fuli_graph/project_agent_memory_models.py +4 -4
  70. package/graph-provider/fuli_graph/project_agent_memory_routes.py +1 -1
  71. package/graph-provider/fuli_graph/project_agent_routes.py +6 -1
  72. package/graph-provider/fuli_graph/project_agent_task_models.py +41 -1
  73. package/graph-provider/fuli_graph/project_agent_work_log.py +3 -1
  74. package/graph-provider/fuli_graph/store_agent_conversations.py +20 -7
  75. package/graph-provider/fuli_graph/store_knowledge.py +6 -0
  76. package/graph-provider/fuli_graph/store_project_agent_context.py +28 -2
  77. package/graph-provider/fuli_graph/store_project_agent_memory.py +17 -7
  78. package/graph-provider/fuli_graph/store_project_agent_task_activity.py +2 -0
  79. package/graph-provider/fuli_graph/store_project_agent_task_reads.py +3 -0
  80. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +115 -31
  81. package/graph-provider/fuli_graph/store_project_agent_tasks.py +34 -8
  82. package/graph-provider/fuli_graph/store_task_contexts.py +3 -3
  83. package/graph-provider/fuli_graph/task_context_models.py +0 -6
  84. package/graph-provider/fuli_graph/task_notifications.py +54 -0
  85. package/npm-shrinkwrap.json +13 -0
  86. package/package.json +2 -1
  87. package/skills/capturing-session-knowledge/SKILL.md +8 -0
  88. package/src/agent-tools/agent-collaboration-definitions.js +8 -2
  89. package/src/agent-tools/agent-conversation-definitions.js +5 -5
  90. package/src/agent-tools/graph-definitions.js +3 -1
  91. package/src/agent-tools/graph-handlers.js +1 -0
  92. package/src/agent-tools/interface-catalog.js +1 -0
  93. package/src/agent-tools/interface-definitions.js +2 -2
  94. package/src/agent-tools/project-agent-definitions.js +13 -0
  95. package/src/agent-tools/project-agent-memory-definitions.js +13 -5
  96. package/src/agents/claude-code/lifecycle-hook.js +17 -11
  97. package/src/agents/codex/conversation-transcript.js +2 -0
  98. package/src/agents/directory-snapshots.js +303 -0
  99. package/src/agents/identity-receipt.js +4 -2
  100. package/src/cli/mcp-command.js +1 -2
  101. package/src/conversations/current-task-lookup.js +2 -1
  102. package/src/conversations/task-context-view.js +70 -15
  103. package/src/conversations/transcript-reader.js +9 -1
  104. package/src/graphiti/agent-collaboration.js +125 -22
  105. package/src/graphiti/agent-conversations.js +7 -5
  106. package/src/graphiti/agent-knowledge-workflows.js +16 -3
  107. package/src/graphiti/collaboration-preference-projection.js +1 -0
  108. package/src/graphiti/collaboration-preference-workflow.js +15 -4
  109. package/src/graphiti/federated-application.js +14 -6
  110. package/src/graphiti/preference-task-scope.js +26 -0
  111. package/src/graphiti/project-agent-control-plane.js +21 -3
  112. package/src/graphiti/project-agent-mapping.js +2 -0
  113. package/src/graphiti/project-agent-memory.js +127 -7
  114. package/src/graphiti/project-agent-mention.js +2 -2
  115. package/src/graphiti/project-agent-task-entry.js +55 -19
  116. package/src/graphiti/project-agent-workflows.js +1 -0
  117. package/src/graphiti/provider-client.js +22 -7
  118. package/src/graphiti/task-entry-preferences.js +21 -2
  119. package/src/graphiti/task-entry-project-scope.js +10 -1
  120. package/src/graphiti/task-knowledge-recall.js +15 -2
  121. package/src/http/api-router.js +6 -0
  122. package/src/http/graph-api-router.js +11 -0
  123. package/src/http/task-events-api-router.js +34 -0
  124. package/src/judgment/routing.js +1 -1
  125. package/src/mcp/agent-tool-catalog.js +14 -0
  126. package/src/mcp/create-mcp-server.js +41 -7
  127. package/src/mcp/runtime.js +2 -1
  128. package/src/mcp/session-id.js +2 -0
  129. package/src/mcp/tool-annotations.js +1 -0
  130. package/src/mcp/tool-profiles.js +1 -0
  131. package/src/mcp/tool-result.js +4 -0
  132. package/src/server.js +2 -0
  133. package/src/setup/agent-installation-status.js +3 -0
  134. package/src/setup/claude-code-config.js +5 -1
  135. package/src/setup/client-connection.js +1 -1
  136. package/src/setup/installed-tool-profile.js +11 -0
  137. package/src/setup/paths.js +1 -0
  138. package/src/system/client-connection-status.js +163 -0
  139. package/src/system/system-service.js +19 -0
  140. package/dist/web/assets/AgentConversations-BnFsfRj3.js +0 -2
  141. package/dist/web/assets/AgentConversations-XqNEBY_2.css +0 -1
  142. package/dist/web/assets/AgentProfilePage-DjgqtOdz.js +0 -1
  143. package/dist/web/assets/KnowledgePage-C-gFr7ln.js +0 -1
  144. package/dist/web/assets/PersonalProjectsPage-Cgd_bjeK.js +0 -1
  145. package/dist/web/assets/ProjectAgentsPage-BOGkN5ZN.js +0 -12
  146. package/dist/web/assets/SettingsPage-BARo0Ds0.css +0 -1
  147. package/dist/web/assets/SettingsPage-Dfi7kl9c.js +0 -1
  148. package/dist/web/assets/project-team-api-Dfm8C4B8.js +0 -1
  149. package/dist/web/assets/task-evidence-DTiPCs7r.js +0 -1
@@ -1 +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-B4Fp9Oa5.js";import{t as ee}from"./console-C2Lfifq-.js";import{a as te,i as C,r as ne,s as w}from"./client-DodUFQDp.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as E}from"./UiButton-neeym_gA.js";import{t as D}from"./vue-router-nZMhR3dI.js";import{t as O}from"./UiDialog-BFVoqFnc.js";import{t as re}from"./UiSelect-DDyct4mf.js";import{t as k}from"./UiSegmented-D_kyRKDw.js";import{n as A,t as j}from"./KnowledgeInspector-Dl7SAgaY.js";import{i as M,n as ie,t as N}from"./KnowledgeEditDialog-BlBd6Xql.js";import{C as P,D as F,_ as I,u as ae,v as L,x as oe}from"./model-C0eHDNsF.js";import{t as se}from"./personal-profile-graph-CHY3WYhi.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-5a04aa82`]]),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={key:0,class:`personal-profile-notices`},We=[`aria-label`],Ge={class:`personal-profile-toolbar`},Ke={class:`personal-profile-filter-groups`},qe=[`aria-label`],Je=[`aria-pressed`,`onClick`],Ye={class:`personal-profile-toolbar-actions`},Xe={key:0,class:`muted`},Ze={key:1,class:`muted`},Qe={key:2,class:`muted`},$e=[`disabled`],et={key:3,class:`view-loading`,"aria-busy":`true`},tt=[`aria-label`],nt={class:`preference-conflict-list`},rt={class:`preference-conflict-card-heading`},it={class:`preference-conflict-pair`},at={key:0},ot={class:`preference-conflict-actions`},st=[`disabled`,`onClick`],ct=[`onClick`],lt={key:1,class:`empty-state`},ut={class:`personal-profile-table-head`,"aria-hidden":`true`},dt=[`onClick`],ft={class:`personal-profile-copy`},pt={class:`personal-profile-origin`},mt={class:`empty-state`},ht=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),p.value||X.value.length&&!z.value&&k.value===`all`?(a(),s(`div`,Ue,[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,We)):x(``,!0),c(Ie,{profile:p.value},null,8,[`profile`])])):x(``,!0),S(`div`,Ge,[S(`div`,Ke,[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,Je))),128))],8,qe),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`,Ye,[z.value?(a(),s(`span`,Xe,_(v(u)(`preferences.profile.filters.conflictsCount`,{visible:Q.value.length,total:X.value.length})),1)):k.value===`all`?(a(),s(`span`,Qe,_(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`,Ze,_(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,$e)])]),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`,et)):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`,nt,[(a(!0),s(m,null,r(Q.value,(e,n)=>(a(),s(`article`,{key:e.id,class:`preference-conflict-card`},[S(`div`,rt,[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`,it,[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`,at,_(v(u)(`preferences.profile.workbench.additions`,{values:e.difference.rightOnly.join(`、`)})),1)):x(``,!0)]),S(`div`,ot,[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,st),S(`button`,{class:`primary-action`,type:`button`,onClick:t=>W.value=e},_(v(u)(`preferences.profile.workbench.handleNow`)),9,ct)])])]))),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`,lt,_(X.value.length?v(u)(`preferences.profile.workbench.noFiltered`):v(u)(`preferences.profile.workbench.empty`)),1))],8,tt)):(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`,ut,[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`,ft,[S(`strong`,null,_(e.title),1),S(`small`,null,_(e.body),1)]),S(`span`,pt,[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,dt)]),empty:n(()=>[S(`div`,mt,_(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-95fd7fac`]]);export{ht as default};
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-DUTWmrzf.js";import{t as ee}from"./console-CDOkjZU8.js";import{a as te,i as C,r as ne,s as w}from"./client-mT6kHxUd.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as E}from"./UiButton-DYcQLYXP.js";import{t as D}from"./vue-router-CBdnor1K.js";import{t as O}from"./UiDialog-D70VuNpZ.js";import{t as re}from"./UiSelect-Alpe2iY3.js";import{t as k}from"./UiSegmented-DpXRULl-.js";import{n as A,t as j}from"./KnowledgeInspector-u0HypEW7.js";import{i as M,n as ie,t as N}from"./KnowledgeEditDialog-BnFbCSK7.js";import{C as P,D as F,_ as I,u as ae,v as L,x as oe}from"./model-DiN6uWZA.js";import{t as se}from"./personal-profile-graph-C6IZoTJK.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-5a04aa82`]]),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={key:0,class:`personal-profile-notices`},We=[`aria-label`],Ge={class:`personal-profile-toolbar`},Ke={class:`personal-profile-filter-groups`},qe=[`aria-label`],Je=[`aria-pressed`,`onClick`],Ye={class:`personal-profile-toolbar-actions`},Xe={key:0,class:`muted`},Ze={key:1,class:`muted`},Qe={key:2,class:`muted`},$e=[`disabled`],et={key:3,class:`view-loading`,"aria-busy":`true`},tt=[`aria-label`],nt={class:`preference-conflict-list`},rt={class:`preference-conflict-card-heading`},it={class:`preference-conflict-pair`},at={key:0},ot={class:`preference-conflict-actions`},st=[`disabled`,`onClick`],ct=[`onClick`],lt={key:1,class:`empty-state`},ut={class:`personal-profile-table-head`,"aria-hidden":`true`},dt=[`onClick`],ft={class:`personal-profile-copy`},pt={class:`personal-profile-origin`},mt={class:`empty-state`},ht=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),p.value||X.value.length&&!z.value&&k.value===`all`?(a(),s(`div`,Ue,[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,We)):x(``,!0),c(Ie,{profile:p.value},null,8,[`profile`])])):x(``,!0),S(`div`,Ge,[S(`div`,Ke,[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,Je))),128))],8,qe),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`,Ye,[z.value?(a(),s(`span`,Xe,_(v(u)(`preferences.profile.filters.conflictsCount`,{visible:Q.value.length,total:X.value.length})),1)):k.value===`all`?(a(),s(`span`,Qe,_(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`,Ze,_(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,$e)])]),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`,et)):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`,nt,[(a(!0),s(m,null,r(Q.value,(e,n)=>(a(),s(`article`,{key:e.id,class:`preference-conflict-card`},[S(`div`,rt,[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`,it,[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`,at,_(v(u)(`preferences.profile.workbench.additions`,{values:e.difference.rightOnly.join(`、`)})),1)):x(``,!0)]),S(`div`,ot,[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,st),S(`button`,{class:`primary-action`,type:`button`,onClick:t=>W.value=e},_(v(u)(`preferences.profile.workbench.handleNow`)),9,ct)])])]))),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`,lt,_(X.value.length?v(u)(`preferences.profile.workbench.noFiltered`):v(u)(`preferences.profile.workbench.empty`)),1))],8,tt)):(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`,ut,[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`,ft,[S(`strong`,null,_(e.title),1),S(`small`,null,_(e.body),1)]),S(`span`,pt,[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,dt)]),empty:n(()=>[S(`div`,mt,_(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-95fd7fac`]]);export{ht as default};
@@ -0,0 +1 @@
1
+ import{E as e,P as t,b as n}from"./i18n-DUTWmrzf.js";import{t as r}from"./KnowledgeWorkspace-_wWZQw_h.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-B4Fp9Oa5.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-DUTWmrzf.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};
@@ -0,0 +1,12 @@
1
+ import{A as e,B as t,E as n,H as r,I as i,L as a,N as o,P as s,Q as c,S as l,T as u,U as d,a as f,b as p,f as m,g as h,it as g,j as _,l as v,n as y,ot as b,p as x,rt as S,v as C,w,x as T,y as E}from"./i18n-DUTWmrzf.js";import{t as D}from"./console-CDOkjZU8.js";import{a as O,i as k,n as A,o as j,r as M,s as N}from"./client-mT6kHxUd.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as F}from"./UiButton-DYcQLYXP.js";import{m as I}from"./useApi-CROJJdhE-sOV3uq1T.js";import{t as L}from"./vue-router-CBdnor1K.js";import{t as ee}from"./UiDialog-D70VuNpZ.js";import{t as R}from"./UiSelect-Alpe2iY3.js";import{t as z}from"./AgentHand-Bex3jrOr.js";import{_ as te,a as ne,c as re,d as B,f as ie,g as V,h as H,i as U,l as ae,m as W,n as G,o as K,p as q,r as oe,s as se,t as ce,u as le}from"./task-evidence-i9SDhd3E.js";import{n as ue,t as de}from"./TaskExecutionPlan-ZoOE8Ltc.js";import{r as fe,t as pe}from"./agent-work-summary-DRJy9v48.js";import{a as me,i as he,s as ge}from"./catalog-ykylXINx.js";import{t as _e}from"./ProjectAgentFirstTask-Cwto-bOU.js";import{t as ve}from"./ProjectScopePicker-Bc7A6Rdj.js";import{t as ye}from"./EmployeeRecruitDialog-DcYqq75q.js";function be(){let e=new Date,t=new Date(e);return t.setUTCFullYear(t.getUTCFullYear()-1),{fromDate:xe(t),toDate:xe(e)}}function xe(e){return e.toISOString().slice(0,10)}function Se(e,t){let n=H(e),r=G(n.days);if(!r.length&&!(`days`in n))return null;let i=r.map(e=>{let t=H(e);return{date:W(t,`date`,`date`)??``,completed:typeof t.completed==`number`?t.completed:0,failed:typeof t.failed==`number`?t.failed:0,cancelled:typeof t.cancelled==`number`?t.cancelled:0,total:typeof t.total==`number`?t.total:0,tasks:G(t.tasks).map(we).filter(e=>!!e)}}).filter(({date:e})=>e),a=W(n,`fromDate`,`from_date`),o=W(n,`toDate`,`to_date`),s=i.some(({total:e,tasks:t})=>e>0||!!t?.length),c=a??(i.length?i.map(({date:e})=>e).sort()[0]:void 0),l=o??(i.length?i.map(({date:e})=>e).sort().at(-1):void 0),u=s&&c&&l?Ce(i,c,l):[];return{agentId:W(n,`agentId`,`agent_id`)??t.agentId,personalSpaceId:W(n,`personalSpaceId`,`personal_space_id`)??t.personalSpaceId,fromDate:c,toDate:l,days:u}}function Ce(e,t,n){let r=new Map(e.map(e=>[e.date,e])),i=new Date(`${t}T00:00:00Z`),a=new Date(`${n}T00:00:00Z`);if(Number.isNaN(i.valueOf())||Number.isNaN(a.valueOf())||i>a)return e;let o=[];for(let e=new Date(i);e<=a;e.setUTCDate(e.getUTCDate()+1)){let t=xe(e);o.push(r.get(t)??{date:t,completed:0,failed:0,cancelled:0,total:0,tasks:[]})}return o.reverse()}function we(e){let t=H(e),n=W(t,`taskId`,`task_id`);if(!n)return null;let r=U(V(t,`actualExecution`,`actual_execution`))??U({executor:W(t,`actualExecutor`,`actual_executor`),provider:W(t,`actualModelProvider`,`actual_model_provider`),model:W(t,`actualModel`,`actual_model`),client:W(t,`sourceApplication`,`source_application`)});return{taskId:n,title:W(t,`title`,`title`)??n,status:W(t,`status`,`status`),summary:W(t,`summary`,`summary`)??``,occurredAt:W(t,`occurredAt`,`occurred_at`)??``,personalProjectId:W(t,`personalProjectId`,`personal_project_id`),assignmentId:W(t,`assignmentId`,`assignment_id`),collaborators:G(t.collaborators).map(K),sourceApplication:W(t,`sourceApplication`,`source_application`),sourceSessionId:W(t,`sourceSessionId`,`source_session_id`),sourceSessionUrl:W(t,`sourceSessionUrl`,`source_session_url`),workerRuntime:B(V(t,`workerRuntime`,`worker_runtime`)),toolsUsed:q(t,`toolsUsed`,`tools_used`),tokenUsage:le(V(t,`tokenUsage`,`token_usage`)),actualExecution:r,actualModelProvider:W(t,`actualModelProvider`,`actual_model_provider`),actualModel:W(t,`actualModel`,`actual_model`)}}var Te={class:`project-agent-assignment-fields`},J={key:1,class:`ui-field`},Ee=[`value`],De={key:3,class:`ui-field project-agent-assignment-wide`},Oe=[`disabled`],ke={key:4,class:`ui-field`},Ae=[`disabled`],je={key:5,class:`ui-field`},Y=[`disabled`,`placeholder`],Me={class:`ui-field project-agent-assignment-wide`},Ne=[`disabled`,`placeholder`],Pe=P(n({__name:`AgentAssignmentDialog`,props:{open:{type:Boolean},agent:{},assignment:{default:null},action:{default:`assign`},projects:{},availableAgents:{default:()=>[]},defaultProjectId:{default:null}},emits:[`close`,`saved`,`changed`],setup(e,{emit:n}){let i=e,a=n,o=c(``),h=c(``),g=c(``),_=c(``),v=c(``),y=c(``),x=c(!1),D=c(``),k=C(()=>i.action!==`assign`),A=C(()=>i.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id}))),j=C(()=>i.availableAgents.filter(e=>e.agentId!==i.agent?.agentId&&e.profile.status===`active`).map(e=>({value:e.agentId,label:e.profile.displayName||e.profile.name,meta:e.profile.name})));t(()=>[i.open,i.agent,i.assignment,i.action,i.defaultProjectId],()=>{i.open&&(o.value=i.assignment?.personalProjectId??i.defaultProjectId??i.projects[0]?.project_id??``,h.value=``,g.value=i.assignment?.responsibility??i.agent?.profile.responsibility??``,_.value=i.assignment?.scope??``,v.value=i.assignment?.workKinds?.join(`
2
+ `)??``,y.value=``,D.value=``)},{immediate:!0});async function M(){if(!i.agent)return;D.value=``;let e=y.value.trim(),t=g.value.trim();if(!e||i.action===`assign`&&!t){D.value=f(`projectAgents.assignmentDialog.required`);return}if(i.action===`replace`&&!h.value){D.value=f(`projectAgents.assignmentDialog.replacementRequired`);return}x.value=!0;try{if(i.action===`assign`){let n=await O(`/api/project-agent-assignments`,{personalSpaceId:i.agent.personalSpaceId,personalProjectId:o.value,agentId:i.agent.agentId,idempotencyKey:P(),responsibility:t,workKinds:N(v.value),capabilities:[],reason:e});a(`saved`,n)}else{if(!i.assignment)return;await O(`/api/project-agent-assignments/${encodeURIComponent(i.assignment.assignmentId)}/${i.action}`,i.action===`replace`?{personalSpaceId:i.agent.personalSpaceId,personalProjectId:i.assignment.personalProjectId,assignmentId:i.assignment.assignmentId,expectedRevision:i.assignment.revision??0,replacementAgentId:h.value,idempotencyKey:P(),responsibility:t||i.assignment.responsibility,workKinds:N(v.value),capabilities:i.assignment.capabilities??[],reason:e}:{personalSpaceId:i.agent.personalSpaceId,personalProjectId:i.assignment.personalProjectId,assignmentId:i.assignment.assignmentId,expectedRevision:i.assignment.revision??0,reason:e}),a(`changed`)}a(`close`)}catch(e){D.value=e instanceof Error?e.message:f(`projectAgents.assignmentDialog.saveFailed`)}finally{x.value=!1}}function N(e){return[...new Set(e.split(`
3
+ `).map(e=>e.trim()).filter(Boolean))]}function P(){return`project-agent-assignment-${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}return(t,n)=>(s(),p(ee,{open:e.open,class:`project-agent-assignment-dialog`,form:``,busy:x.value,error:D.value,title:S(f)(`projectAgents.assignmentDialog.${k.value?e.action:`assign`}Title`),onClose:n[7]||=e=>a(`close`),onSubmit:M},{footer:r(()=>[u(F,{variant:`ghost`,disabled:x.value,onClick:n[6]||=e=>a(`close`)},{default:r(()=>[w(b(S(f)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),u(F,{variant:`primary`,type:`submit`,busy:x.value,"busy-label":S(f)(`projectAgents.assignmentDialog.saving`)},{default:r(()=>[w(b(S(f)(`projectAgents.assignmentDialog.${k.value?`saveChange`:`saveAssign`}`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:r(()=>[E(`div`,Te,[k.value?(s(),l(`label`,J,[w(b(S(f)(`projectAgents.fields.project`))+` `,1),E(`input`,{value:i.assignment?i.assignment.personalProjectId:``,disabled:``},null,8,Ee)])):(s(),p(R,{key:0,modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,field:``,"control-id":`project-agent-assignment-project`,options:A.value,label:S(f)(`projectAgents.fields.project`),placeholder:S(f)(`projectAgents.dialog.projectPlaceholder`),disabled:x.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])),k.value&&e.action===`replace`?(s(),p(R,{key:2,modelValue:h.value,"onUpdate:modelValue":n[1]||=e=>h.value=e,field:``,"control-id":`project-agent-assignment-replacement`,options:j.value,label:S(f)(`projectAgents.assignmentDialog.replacement`),placeholder:S(f)(`projectAgents.assignmentDialog.replacementPlaceholder`),disabled:x.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])):T(``,!0),k.value?T(``,!0):(s(),l(`label`,De,[w(b(S(f)(`projectAgents.fields.responsibility`))+` `,1),d(E(`textarea`,{"onUpdate:modelValue":n[2]||=e=>g.value=e,rows:`3`,maxlength:`4096`,disabled:x.value,required:``},null,8,Oe),[[m,g.value]])])),k.value?T(``,!0):(s(),l(`label`,ke,[w(b(S(f)(`projectAgents.fields.scope`))+` `,1),d(E(`input`,{"onUpdate:modelValue":n[3]||=e=>_.value=e,maxlength:`4096`,disabled:x.value},null,8,Ae),[[m,_.value]])])),k.value?T(``,!0):(s(),l(`label`,je,[w(b(S(f)(`projectAgents.assignmentDialog.workKinds`))+` `,1),d(E(`textarea`,{"onUpdate:modelValue":n[4]||=e=>v.value=e,rows:`3`,disabled:x.value,placeholder:S(f)(`projectAgents.assignmentDialog.workKindsPlaceholder`)},null,8,Y),[[m,v.value]])])),E(`label`,Me,[w(b(S(f)(`projectAgents.fields.reason`))+` `,1),d(E(`textarea`,{"onUpdate:modelValue":n[5]||=e=>y.value=e,rows:`3`,maxlength:`2048`,disabled:x.value,placeholder:S(f)(`projectAgents.assignmentDialog.reasonPlaceholder`),required:``},null,8,Ne),[[m,y.value]])])])]),_:1},8,[`open`,`busy`,`error`,`title`]))}}),[[`__scopeId`,`data-v-0c51a000`]]),Fe={class:`executor-routing-fields`},Ie={class:`ui-field`},X=[`disabled`],Le={class:`ui-field`},Re=[`disabled`],ze={class:`ui-field`},Be=[`disabled`],Ve={class:`ui-field`},He=[`disabled`],Ue={class:`ui-field executor-routing-wide`},We=[`disabled`],Ge={class:`ui-check executor-routing-wide`},Ke=[`disabled`],qe={class:`ui-meta executor-routing-wide`},Je={class:`ui-field`},Ye=[`disabled`],Z={key:1,class:`ui-field`},Xe=[`disabled`],Ze={class:`ui-field`},Qe=[`disabled`],$e={class:`ui-field executor-routing-wide`},et=[`placeholder`,`disabled`],tt={class:`ui-field executor-routing-wide`},nt=[`disabled`],rt={class:`ui-field executor-routing-wide`},it=[`disabled`],at={class:`ui-meta executor-routing-wide`},ot=P(n({__name:`ExecutorRoutingDialog`,props:{open:{type:Boolean},mode:{},personalSpaceId:{},executor:{default:null},rule:{default:null},projects:{default:()=>[]},availableExecutors:{default:()=>[]}},emits:[`close`,`saved`],setup(e,{emit:n}){let i=e,a=n,o=c(``),g=c(``),_=c(`external`),y=c(``),x=c(100),D=c(!1),O=c(`space`),k=c(``),A=c(``),M=c(``),N=c(``),P=c(``),I=c(``),L=c(!1),z=c(``),te=C(()=>!!i.executor),ne=C(()=>i.mode===`executor`?te.value?`executorEditTitle`:`executorCreateTitle`:`ruleCreateTitle`),re=C(()=>i.mode===`executor`?f(`projectAgents.routing.editor.savingExecutor`):f(`projectAgents.routing.editor.savingRule`)),B=[`space`,`project`,`task`].map(e=>({value:e,label:e})),ie=C(()=>i.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id})));t(()=>[i.open,i.mode,i.executor,i.rule],([e])=>{if(!e)return;let t=i.executor,n=i.rule;o.value=t?.executorId??``,g.value=t?.displayName??t?.label??``,_.value=t?.executorKind??`external`,y.value=t?.capabilities?.join(`
4
+ `)??``,x.value=t?.globalPriority??n?.priority??100,D.value=t?.healthRequired===!0,O.value=n?.scope??`space`,k.value=n?.personalProjectId??``,A.value=n?.taskId??``,M.value=n?.workKind??``,N.value=n?.requiredCapabilities?.join(`
5
+ `)??``,P.value=n?.executorIds?.join(`
6
+ `)??``,I.value=``,z.value=``},{immediate:!0});function V(e){return[...new Set(e.split(`
7
+ `).map(e=>e.trim()).filter(Boolean))]}function H(e){return`${e}-${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}async function U(){if(L.value)return;let e=V(y.value),t=I.value.trim();if(i.mode===`executor`){if(!o.value.trim()||!g.value.trim()||x.value<1){z.value=f(`projectAgents.routing.editor.executorRequired`);return}}else if(!M.value.trim()||!V(P.value).length||!t){z.value=f(`projectAgents.routing.editor.ruleRequired`);return}L.value=!0,z.value=``;try{if(i.mode===`executor`){let t=await j(`/api/executors`,{personalSpaceId:i.personalSpaceId,executorId:o.value.trim(),displayName:g.value.trim(),executorKind:_.value.trim()||`external`,capabilities:e,advertisedModels:i.executor?.advertisedModels??i.executor?.availableModels??[],globalPriority:x.value,healthRequired:D.value,expectedRevision:i.executor?.revision,idempotencyKey:H(`executor-directory`)});a(`saved`,t)}else{let e=await j(`/api/executor-routing-rules`,{personalSpaceId:O.value===`global`?void 0:i.personalSpaceId,scope:O.value,personalProjectId:(O.value===`project`||O.value===`task`)&&k.value||void 0,taskId:O.value===`task`&&A.value||void 0,workKind:M.value.trim(),requiredCapabilities:V(N.value),executorIds:V(P.value),priority:x.value,reason:t,idempotencyKey:H(`executor-rule`)});a(`saved`,e)}a(`close`)}catch(e){z.value=e instanceof Error?e.message:f(`projectAgents.routing.editor.saveFailed`)}finally{L.value=!1}}return(t,n)=>(s(),p(ee,{open:e.open,class:`executor-routing-dialog`,size:`lg`,form:``,busy:L.value,error:z.value,title:S(f)(`projectAgents.routing.editor.${ne.value}`),onClose:n[15]||=e=>a(`close`),onSubmit:U},{footer:r(()=>[u(F,{variant:`ghost`,disabled:L.value,onClick:n[14]||=e=>a(`close`)},{default:r(()=>[w(b(S(f)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),u(F,{variant:`primary`,type:`submit`,busy:L.value,"busy-label":re.value},{default:r(()=>[w(b(S(f)(`projectAgents.routing.editor.save`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:r(()=>[E(`div`,Fe,[e.mode===`executor`?(s(),l(h,{key:0},[E(`label`,Ie,[w(b(S(f)(`projectAgents.routing.editor.executorId`)),1),d(E(`input`,{"onUpdate:modelValue":n[0]||=e=>o.value=e,maxlength:`128`,disabled:te.value||L.value,required:``},null,8,X),[[m,o.value]])]),E(`label`,Le,[w(b(S(f)(`projectAgents.routing.editor.displayName`)),1),d(E(`input`,{"onUpdate:modelValue":n[1]||=e=>g.value=e,maxlength:`160`,disabled:L.value,required:``},null,8,Re),[[m,g.value]])]),E(`label`,ze,[w(b(S(f)(`projectAgents.routing.editor.executorKind`)),1),d(E(`input`,{"onUpdate:modelValue":n[2]||=e=>_.value=e,maxlength:`128`,disabled:L.value},null,8,Be),[[m,_.value]])]),E(`label`,Ve,[w(b(S(f)(`projectAgents.routing.editor.priority`)),1),d(E(`input`,{"onUpdate:modelValue":n[3]||=e=>x.value=e,type:`number`,min:`1`,max:`1000000`,disabled:L.value,required:``},null,8,He),[[m,x.value,void 0,{number:!0}]])]),E(`label`,Ue,[w(b(S(f)(`projectAgents.routing.editor.capabilities`)),1),d(E(`textarea`,{"onUpdate:modelValue":n[4]||=e=>y.value=e,rows:`3`,disabled:L.value},null,8,We),[[m,y.value]])]),E(`label`,Ge,[d(E(`input`,{"onUpdate:modelValue":n[5]||=e=>D.value=e,type:`checkbox`,disabled:L.value},null,8,Ke),[[v,D.value]]),E(`span`,null,b(S(f)(`projectAgents.routing.editor.healthRequired`)),1)]),E(`p`,qe,b(S(f)(`projectAgents.routing.editor.evidenceNote`)),1)],64)):(s(),l(h,{key:1},[u(R,{modelValue:O.value,"onUpdate:modelValue":n[6]||=e=>O.value=e,field:``,label:S(f)(`projectAgents.routing.editor.scope`),options:S(B),disabled:L.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),E(`label`,Je,[w(b(S(f)(`projectAgents.routing.editor.priority`)),1),d(E(`input`,{"onUpdate:modelValue":n[7]||=e=>x.value=e,type:`number`,min:`1`,max:`1000000`,disabled:L.value,required:``},null,8,Ye),[[m,x.value,void 0,{number:!0}]])]),O.value===`project`||O.value===`task`?(s(),p(R,{key:0,modelValue:k.value,"onUpdate:modelValue":n[8]||=e=>k.value=e,field:``,"control-id":`executor-rule-project`,options:ie.value,label:S(f)(`projectAgents.fields.project`),disabled:L.value},null,8,[`modelValue`,`options`,`label`,`disabled`])):T(``,!0),O.value===`task`?(s(),l(`label`,Z,[w(b(S(f)(`projectAgents.routing.editor.taskId`)),1),d(E(`input`,{"onUpdate:modelValue":n[9]||=e=>A.value=e,maxlength:`128`,disabled:L.value},null,8,Xe),[[m,A.value]])])):T(``,!0),E(`label`,Ze,[w(b(S(f)(`projectAgents.routing.editor.workKind`)),1),d(E(`input`,{"onUpdate:modelValue":n[10]||=e=>M.value=e,maxlength:`128`,disabled:L.value,required:``},null,8,Qe),[[m,M.value]])]),E(`label`,$e,[w(b(S(f)(`projectAgents.routing.editor.executorIds`)),1),d(E(`textarea`,{"onUpdate:modelValue":n[11]||=e=>P.value=e,rows:`3`,placeholder:S(f)(`projectAgents.routing.editor.executorIdsPlaceholder`),disabled:L.value,required:``},null,8,et),[[m,P.value]])]),E(`label`,tt,[w(b(S(f)(`projectAgents.routing.editor.requiredCapabilities`)),1),d(E(`textarea`,{"onUpdate:modelValue":n[12]||=e=>N.value=e,rows:`3`,disabled:L.value},null,8,nt),[[m,N.value]])]),E(`label`,rt,[w(b(S(f)(`projectAgents.fields.reason`)),1),d(E(`textarea`,{"onUpdate:modelValue":n[13]||=e=>I.value=e,rows:`3`,disabled:L.value,required:``},null,8,it),[[m,I.value]])]),E(`p`,at,b(S(f)(`projectAgents.routing.editor.ruleNote`)),1)],64))])]),_:1},8,[`open`,`busy`,`error`,`title`]))}}),[[`__scopeId`,`data-v-7120b758`]]),st=[`aria-label`,`aria-busy`],Q={key:1,class:`project-agent-policy-options`},ct=[`checked`,`disabled`],lt=[`checked`,`disabled`],ut=[`checked`,`disabled`],dt={key:2,class:`project-team`},ft={class:`project-team-peers`},pt={key:1},mt={key:2},ht={class:`project-team-summary`},gt={key:0,class:`project-team-members`},_t=[`onClick`],vt=[`disabled`],yt=[`onChange`],bt=[`value`],$=[`disabled`],xt={class:`project-agent-policy-feedback`,"aria-live":`polite`},St={key:0,role:`alert`},Ct=[`disabled`],wt={key:2,role:`status`},Tt=P(n({__name:`ProjectAgentAutomationPolicyPanel`,props:{personalSpaceId:{},personalProjectId:{},projectName:{},agents:{}},emits:[`select`],setup(e,{emit:n}){let r=e,a=n,o=c(ae()),m=c(!1),g=c(!1),_=c(``),y=c(``),x=c(!1),D=c(``),O=c([]),A=0,j=C(()=>m.value||g.value),P=C(()=>(r.agents??[]).filter(e=>e.profile.status===`active`&&(e.profile.agentType??`durable`)===`durable`&&!e.agentId.startsWith(`employee.`)&&!e.profile.capabilities.some(e=>e.startsWith(`fuli.employee:`))&&e.assignments?.some(e=>e.status===`active`&&e.personalProjectId===r.personalProjectId))),F=P,I=C(()=>[...o.value.teamLeadAgentId?[]:[{value:``,label:f(`projectAgents.team.noLead`)}],...F.value.map(e=>({value:e.agentId,label:re(e)}))]),L=C(()=>P.value.filter(e=>e.agentId!==D.value)),ee=C(()=>O.value.filter(e=>!L.value.some(t=>t.agentId===e)).map(e=>({id:e,name:(r.agents??[]).find(t=>t.agentId===e)?.profile.displayName||(r.agents??[]).find(t=>t.agentId===e)?.profile.name||f(`projectAgents.team.unavailableMember`)}))),z=C(()=>P.value.find(e=>e.agentId===o.value.teamLeadAgentId)),te=C(()=>P.value.filter(e=>o.value.teamMemberAgentIds?.includes(e.agentId))),ne=C(()=>D.value!==(o.value.teamLeadAgentId??``)||JSON.stringify([...O.value].sort())!==JSON.stringify([...o.value.teamMemberAgentIds??[]].sort()));t(D,e=>{O.value=e?O.value.filter(t=>t!==e):[]});function re(e){return e.profile.displayName||e.profile.name}function B(){D.value=o.value.teamLeadAgentId??``,O.value=[...o.value.teamMemberAgentIds??[]]}t(()=>[r.personalSpaceId,r.personalProjectId],()=>void ie(),{immediate:!0});async function ie(){let e=++A;if(o.value=ae(),B(),g.value=!1,m.value=!1,x.value=!1,y.value=``,!(!r.personalSpaceId||!r.personalProjectId)){m.value=!0,_.value=``;try{let t=await M(`/api/project-agent-coordination-policy?${new URLSearchParams({personalSpaceId:r.personalSpaceId,personalProjectId:r.personalProjectId})}`);e===A&&(o.value=W(t),B())}catch(t){e===A&&(_.value=t instanceof Error?t.message:f(`projectAgents.coordination.loadFailed`))}finally{e===A&&(m.value=!1)}}}async function V(e,t){if(j.value||_.value)return;let n={...o.value},r=t.currentTarget.checked;o.value={...o.value,[e]:r},await U(n)}async function H(){j.value||_.value||!ne.value||!D.value||await U({...o.value},{teamLeadAgentId:D.value||null,teamMemberAgentIds:[...O.value]})}async function U(e,t){let n=A;g.value=!0,x.value=!1,y.value=``;try{let i=await k(`/api/project-agent-coordination-policy`,{personalSpaceId:r.personalSpaceId,personalProjectId:r.personalProjectId,askBeforeRecruitment:o.value.askBeforeRecruitment,autoReusePreviousAgent:o.value.autoReusePreviousAgent,autoGrowTeam:o.value.autoGrowTeam??!0,expectedUpdatedAt:e.updatedAt,...t});if(n!==A)return;o.value=W(i),t&&B(),x.value=!0}catch(t){if(n!==A)return;o.value=e,y.value=t instanceof Error?t.message:f(`projectAgents.coordination.saveFailed`)}finally{n===A&&(g.value=!1)}}function ae(){return{personalSpaceId:r.personalSpaceId,personalProjectId:r.personalProjectId,askBeforeRecruitment:!0,autoReusePreviousAgent:!0,autoGrowTeam:!0,updatedAt:null,teamLeadAgentId:null,teamMemberAgentIds:[]}}function W(e){let t=e&&typeof e==`object`?e:{};return{personalSpaceId:K(t.personalSpaceId??t.personal_space_id)||r.personalSpaceId,personalProjectId:K(t.personalProjectId??t.personal_project_id)||r.personalProjectId,askBeforeRecruitment:G(t.askBeforeRecruitment??t.ask_before_recruitment,!0),autoReusePreviousAgent:G(t.autoReusePreviousAgent??t.auto_reuse_previous_agent,!0),updatedAt:K(t.updatedAt??t.updated_at),autoGrowTeam:G(t.autoGrowTeam??t.auto_grow_team,!0),teamLeadAgentId:K(t.teamLeadAgentId??t.team_lead_agent_id),teamMemberAgentIds:Array.isArray(t.teamMemberAgentIds??t.team_member_agent_ids)?t.teamMemberAgentIds??t.team_member_agent_ids:[]}}function G(e,t){return typeof e==`boolean`?e:t}function K(e){return typeof e==`string`&&e?e:null}return(t,n)=>(s(),l(`section`,{class:`project-agent-automation-policy`,"aria-label":S(f)(`projectAgents.coordination.aria`,{project:e.projectName}),"aria-busy":j.value},[E(`header`,null,[E(`h3`,null,b(S(f)(`projectAgents.coordination.title`)),1),E(`span`,null,b(e.projectName),1)]),m.value?(s(),p(N,{key:0,variant:`compact`,label:S(f)(`projectAgents.coordination.loading`)},null,8,[`label`])):(s(),l(`div`,Q,[E(`label`,null,[E(`span`,null,[E(`strong`,null,b(S(f)(`projectAgents.coordination.autoReuse`)),1),E(`small`,null,b(S(f)(`projectAgents.coordination.autoReuseMeta`)),1)]),E(`input`,{checked:o.value.autoReusePreviousAgent,disabled:j.value||!!_.value,type:`checkbox`,role:`switch`,onChange:n[0]||=e=>V(`autoReusePreviousAgent`,e)},null,40,ct)]),E(`label`,null,[E(`span`,null,[E(`strong`,null,b(S(f)(`projectAgents.coordination.askBeforeRecruitment`)),1),E(`small`,null,b(S(f)(`projectAgents.coordination.askBeforeRecruitmentMeta`)),1)]),E(`input`,{checked:o.value.askBeforeRecruitment,disabled:j.value||!!_.value,type:`checkbox`,role:`switch`,onChange:n[1]||=e=>V(`askBeforeRecruitment`,e)},null,40,lt)]),E(`label`,null,[E(`span`,null,[E(`strong`,null,b(S(f)(`projectAgents.team.autoGrow`)),1),E(`small`,null,b(S(f)(`projectAgents.team.autoGrowMeta`)),1)]),E(`input`,{checked:o.value.autoGrowTeam,disabled:j.value||!!_.value,type:`checkbox`,role:`switch`,onChange:n[2]||=e=>V(`autoGrowTeam`,e)},null,40,ut)])])),e.agents&&!m.value&&!_.value?(s(),l(`div`,dt,[E(`div`,ft,[E(`span`,null,b(S(f)(`projectAgents.team.hr`)),1),E(`span`,null,b(S(f)(`projectAgents.team.manager`)),1),z.value?(s(),l(`button`,{key:0,type:`button`,onClick:n[3]||=e=>a(`select`,z.value.agentId)},b(S(f)(`projectAgents.team.lead`))+` · `+b(re(z.value)),1)):o.value.teamLeadAgentId?(s(),l(`span`,pt,b(S(f)(`projectAgents.team.unavailable`)),1)):(s(),l(`span`,mt,b(S(f)(`projectAgents.team.noLead`)),1))]),E(`p`,ht,b(S(f)(`projectAgents.team.summary`)),1),te.value.length?(s(),l(`ul`,gt,[(s(!0),l(h,null,i(te.value,e=>(s(),l(`li`,{key:e.agentId},[E(`button`,{type:`button`,onClick:t=>a(`select`,e.agentId)},[E(`strong`,null,b(re(e)),1),E(`span`,null,b(e.profile.responsibility),1)],8,_t)]))),128))])):T(``,!0),E(`details`,null,[E(`summary`,null,b(S(f)(`projectAgents.team.edit`)),1),u(R,{modelValue:D.value,"onUpdate:modelValue":n[4]||=e=>D.value=e,class:`team-lead-field`,field:``,label:S(f)(`projectAgents.team.lead`),options:I.value,disabled:j.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),E(`fieldset`,{disabled:j.value||!D.value},[E(`legend`,null,b(S(f)(`projectAgents.team.members`)),1),(s(!0),l(h,null,i(ee.value,e=>(s(),l(`label`,{key:e.id,class:`unavailable-team-member`},[E(`input`,{type:`checkbox`,checked:``,onChange:t=>O.value=O.value.filter(t=>t!==e.id)},null,40,yt),w(` `+b(e.name)+` · `+b(S(f)(`projectAgents.team.removeUnavailable`)),1)]))),128)),(s(!0),l(h,null,i(L.value,e=>(s(),l(`label`,{key:e.agentId},[d(E(`input`,{"onUpdate:modelValue":n[5]||=e=>O.value=e,type:`checkbox`,value:e.agentId},null,8,bt),[[v,O.value]]),w(b(re(e)),1)]))),128))],8,vt),E(`button`,{type:`button`,disabled:j.value||!ne.value||!D.value,onClick:H},b(S(f)(`projectAgents.team.save`)),9,$)])])):T(``,!0),E(`div`,xt,[_.value||y.value?(s(),l(`p`,St,[w(b(_.value||y.value)+` `,1),_.value?(s(),l(`button`,{key:0,type:`button`,disabled:j.value,onClick:ie},b(S(f)(`projectAgents.retry`)),9,Ct)):T(``,!0)])):g.value?(s(),p(N,{key:1,variant:`compact`,label:S(f)(`projectAgents.coordination.saving`)},null,8,[`label`])):x.value?(s(),l(`p`,wt,b(S(f)(`projectAgents.coordination.saved`)),1)):T(``,!0)])],8,st))}}),[[`__scopeId`,`data-v-881ab823`]]),Et={key:0,class:`project-agent-source-state`,role:`status`},Dt={key:1,class:`project-agent-source-state`},Ot={key:2,class:`project-agent-source-state is-error`,role:`alert`},kt=P(n({__name:`ProjectAgentDetailState`,props:{status:{},error:{},label:{}},emits:[`retry`],setup(e){return(t,n)=>e.status===`idle`?(s(),l(`div`,Et,b(S(f)(`projectAgents.detail.notLoaded`)),1)):e.status===`loading`?(s(),l(`div`,Dt,[u(N,{variant:`inline`,label:e.label},null,8,[`label`])])):e.status===`error`?(s(),l(`div`,Ot,[E(`span`,null,b(e.error||S(f)(`projectAgents.detail.sectionUnavailable`)),1),E(`button`,{class:`quiet-button`,type:`button`,onClick:n[0]||=e=>t.$emit(`retry`)},b(S(f)(`projectAgents.retry`)),1)])):a(t.$slots,`default`,{},void 0,!0,3)}}),[[`__scopeId`,`data-v-4f121023`]]),At=[`aria-label`],jt={"data-task-project-state":``},Mt={key:0},Nt={"data-task-assignment-state":``},Pt={"data-task-execution-state":``},Ft={key:0,class:`project-agent-task-scope-hint`},It={key:1,"data-task-summary-reason":``},Lt=P(n({__name:`ProjectAgentTaskDiagnostics`,props:{task:{},projectName:{}},setup(e){let t=e,n=C(()=>!!(t.task.ownerAgentId||t.task.leadAgentId||t.task.participants.some(e=>e.agentId))),r=C(()=>t.task.projectScope?.type===`temporary`?`temporary`:t.task.personalProjectId?`identified`:`unresolved`),i=C(()=>{if(t.task.executionSummary!==void 0)return t.task.executionSummary;let e=new Map;for(let n of te(t.task)){let t=n.workerId||n.agentId||n.workerLabel||n.eventId,r=e.get(t);(!r||n.createdAt>=r.createdAt)&&e.set(t,{status:n.workerStatus,createdAt:n.createdAt})}return[...e.values()]}),a=C(()=>{let e=i.value;return e.length?e.some(e=>e.status===`running`)?`running`:e.every(e=>e.status===`queued`)?`queued`:e.every(e=>[`completed`,`failed`,`cancelled`].includes(e.status??``))?`ended`:`reported`:`unreported`}),o=C(()=>t.task.executionSummary?.length?``:i.value.length?`eventsOnly`:n.value?`assignedOnly`:`unassigned`);return(t,i)=>(s(),l(`section`,{class:`project-agent-task-diagnostics`,"aria-label":S(f)(`projectAgents.diagnostics.title`)},[E(`dl`,null,[E(`div`,jt,[E(`dt`,null,b(S(f)(`projectAgents.diagnostics.project`)),1),E(`dd`,null,b(S(f)(`projectAgents.diagnostics.projectState.${r.value}`)),1),e.task.personalProjectId?(s(),l(`small`,Mt,b(e.projectName),1)):T(``,!0)]),E(`div`,Nt,[E(`dt`,null,b(S(f)(`projectAgents.diagnostics.assignment`)),1),E(`dd`,null,b(S(f)(`projectAgents.diagnostics.assignmentState.${n.value?`assigned`:`unreported`}`)),1)]),E(`div`,Pt,[E(`dt`,null,b(S(f)(`projectAgents.diagnostics.execution`)),1),E(`dd`,null,b(S(f)(`projectAgents.diagnostics.executionState.${a.value}`)),1)])]),r.value===`temporary`?(s(),l(`p`,Ft,b(S(f)(`projectAgents.diagnostics.temporaryHint`)),1)):T(``,!0),o.value?(s(),l(`p`,It,b(S(f)(`projectAgents.diagnostics.summaryReason.${o.value}`)),1)):T(``,!0)],8,At))}}),[[`__scopeId`,`data-v-f960dcef`]]),Rt={key:1,role:`alert`},zt={key:2},Bt={class:`work-record-meta`},Vt=[`datetime`],Ht={key:3},Ut=P(n({__name:`EmployeeWorkHistory`,props:{personalSpaceId:{},agentId:{},projects:{}},setup(e){let n=e,r=c(``),a=c(!1),o=c(!1),d=c(``),m=c([]),g=0;t(()=>[n.agentId,n.personalSpaceId,n.projects.map(e=>e.id).join(`
8
+ `)],()=>{let e=a.value&&r.value===``?``:n.projects.some(e=>e.id===r.value)?r.value:n.projects[0]?.id??``;e===r.value?_():r.value=e},{immediate:!0}),t(r,()=>void _());async function _(){let e=++g;if(m.value=[],d.value=``,o.value=!1,a.value){o.value=!0;try{let t=new URLSearchParams({personalSpaceId:n.personalSpaceId});r.value&&t.set(`personalProjectId`,r.value);let i=await M(`/api/project-agents/${encodeURIComponent(n.agentId)}/memory?${t}`);e===g&&(m.value=i.workLog??[])}catch(t){e===g&&(d.value=t instanceof Error?t.message:f(`projectAgents.workHistory.loadFailed`))}finally{e===g&&(o.value=!1)}}}function v(e){let t=e.target.open;t!==a.value&&(a.value=t,a.value?_():++g)}function x(e){let t=new Date(e);return Number.isNaN(t.getTime())?f(`projectAgents.notReported`):new Intl.DateTimeFormat(y(),{dateStyle:`short`,timeStyle:`short`}).format(t)}function C(e){return f(`projectAgents.workHistory.${[`reported`,`completed`,`incomplete`,`failed`,`no_change`,`unreported`,`running`].includes(e)?e:`unreported`}`)}return(t,n)=>(s(),l(`details`,{class:`employee-work-history`,onToggle:v},[E(`summary`,null,b(S(f)(`projectAgents.workHistory.title`)),1),u(R,{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,field:``,label:S(f)(`projectAgents.conversations.scope`),options:[{value:``,label:S(f)(`projectAgents.conversations.global`)},...e.projects.map(e=>({value:e.id,label:e.name}))]},null,8,[`modelValue`,`label`,`options`]),o.value?(s(),p(N,{key:0,variant:`compact`,label:S(f)(`projectAgents.workHistory.loading`)},null,8,[`label`])):d.value?(s(),l(`div`,Rt,[E(`p`,null,b(d.value),1),E(`button`,{type:`button`,class:`quiet-button`,onClick:_},b(S(f)(`projectAgents.retry`)),1)])):m.value.length?(s(),l(`ol`,zt,[(s(!0),l(h,null,i(m.value,e=>(s(),l(`li`,{key:e.taskContextToken},[E(`div`,Bt,[E(`strong`,null,b(C(e.status)),1),E(`span`,null,b(e.sourceApplication),1),E(`time`,{datetime:e.createdAt},b(x(e.createdAt)),9,Vt)]),E(`p`,null,b(e.summary),1)]))),128))])):(s(),l(`p`,Ht,b(S(f)(`projectAgents.workHistory.empty`)),1))],32))}}),[[`__scopeId`,`data-v-3cf411f4`]]),Wt={class:`project-agent-fields`},Gt={class:`ui-field`},Kt=[`disabled`,`placeholder`],qt={key:0,class:`ui-field-hint`},Jt={class:`ui-field`},Yt=[`disabled`,`placeholder`],Xt={class:`ui-field`},Zt=[`disabled`],Qt={class:`ui-field`},$t=[`disabled`,`placeholder`],en={class:`ui-field project-agent-wide`},tn=[`disabled`,`placeholder`],nn={class:`ui-field project-agent-wide`},rn=[`disabled`,`placeholder`],an={class:`ui-field project-agent-wide`},on=[`disabled`,`placeholder`],sn={class:`project-agent-wide project-agent-strategy`},cn={class:`ui-field project-agent-wide`},ln=[`disabled`,`placeholder`],un={class:`ui-field-hint project-agent-wide`},dn=P(n({__name:`ProjectAgentDialog`,props:{open:{type:Boolean},agent:{},projects:{},defaultProjectId:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(e,{emit:n}){let i=e,a=n,o=c(``),h=c(``),g=c(``),_=c(``),v=c(``),y=c(``),x=c(``),D=c(``),k=c(`active`),A=c(`durable`),M=c(`adaptive`),N=c(`flexible`),P=c(``),I=c(!1),L=c(``),z=C(()=>!!i.agent),te=C(()=>i.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id}))),ne=C(()=>[`active`,`inactive`,`archived`].map(e=>({value:e,label:f(`projectAgents.status.${e}`)}))),re=C(()=>[...[`durable`,`hr`].map(e=>({value:e,label:f(`projectAgents.agentType.${e}`)})),...z.value&&(A.value===`temporary`||A.value===`coordinator`)?[{value:A.value,label:f(`projectAgents.agentType.${A.value}`),disabled:!0}]:[]]),B=C(()=>[`flexible`,`locked`].map(e=>({value:e,label:f(`projectAgents.strategy.${e}`)}))),ie=[`adaptive`,`fast`,`balanced`,`deep`].map(e=>({value:e,label:e}));t(()=>[i.open,i.agent,i.defaultProjectId],([e,t,n])=>{if(!e)return;o.value=t?.personalProjectId??n??i.projects[0]?.project_id??``,h.value=t?.agentId??``,g.value=t?.profile.name??``,_.value=t?.profile.displayName??``,v.value=t?.profile.occupationEmoji??``,y.value=t?.profile.responsibility??``,x.value=(t?.profile.capabilities??[]).join(`
9
+ `),D.value=(t?.profile.initialPreferences??[]).join(`
10
+ `),k.value=t?.profile.status??`active`,A.value=t?.profile.agentType??`durable`,M.value=t?.profile.defaultModelStrategy?.mode??`adaptive`,N.value=t?.profile.executorPolicy?.mode??`flexible`;let r=t?.profile.executorPolicy,a=r?.mode===`locked`?r.lockedExecutorIds:r?.preferredExecutorIds;P.value=(a?.length?a:r?.allowList?.map(({executorId:e})=>e)??[]).join(`
11
+ `),L.value=``},{immediate:!0});function V(e){let t=e.split(`
12
+ `).map(e=>e.trim()).filter(Boolean),n=t.map(e=>e.toLocaleLowerCase());return new Set(n).size===n.length?t:null}async function H(){if(I.value)return;let e=o.value.trim(),t=h.value.trim(),n=g.value.trim(),r=v.value.trim(),s=y.value.trim();if(!t||!n||!s){L.value=f(`projectAgents.dialog.required`);return}let c=i.projects.find(({project_id:t})=>t===e);if(e&&!c){L.value=f(`projectAgents.dialog.projectUnavailable`);return}if(r&&!U(r)){L.value=f(`projectAgents.dialog.occupationEmojiInvalid`);return}let l=c?.personal_space_id??i.personalSpaceId??i.agent?.personalSpaceId;if(!l){L.value=f(`projectAgents.dialog.spaceUnavailable`);return}let u=V(x.value),d=V(D.value);if(!u||!d){L.value=f(`projectAgents.dialog.duplicate`);return}let p=V(P.value);if(!p||N.value===`locked`&&!p.length){L.value=f(`projectAgents.dialog.duplicate`);return}I.value=!0,L.value=``;try{let o={...i.agent?.profile,name:n,responsibility:s,capabilities:u,initialPreferences:d,status:k.value};_.value.trim()&&(o.displayName=_.value.trim()),r&&(o.occupationEmoji=r),A.value!==`durable`&&(o.agentType=A.value),M.value!==`adaptive`&&(o.defaultModelStrategy={mode:M.value}),(N.value!==`flexible`||p.length)&&(o.executorPolicy={mode:N.value,lockedExecutorIds:N.value===`locked`?p:[],preferredExecutorIds:N.value===`flexible`?p:[]});let c=await j(`/api/project-agents`,{personalSpaceId:l,personalProjectId:null,agentId:t,profile:o}),m=c;if(e&&!z.value){let n=await O(`/api/project-agent-assignments`,{personalSpaceId:l,personalProjectId:e,agentId:t,idempotencyKey:`directory:${t}:${Date.now()}`,responsibility:s,capabilities:u,reason:f(`projectAgents.dialog.initialAssignmentReason`)});m={...c,personalProjectId:e,assignments:[n]}}a(`saved`,m),a(`close`)}catch(e){L.value=e instanceof Error?e.message:f(`projectAgents.dialog.saveFailed`)}finally{I.value=!1}}function U(e){return Array.from(e).length>32||/\s/u.test(e)||Array.from(new Intl.Segmenter(void 0,{granularity:`grapheme`}).segment(e)).length!==1?!1:/\p{Extended_Pictographic}|\p{Regional_Indicator}{2}|[#*0-9]\uFE0F?\u20E3/u.test(e)&&/^[\p{Extended_Pictographic}\p{Emoji_Component}\uFE0E\uFE0F\u200D\u{E0020}-\u{E007F}#*0-9]+$/u.test(e)}return(t,n)=>(s(),p(ee,{open:e.open,class:`project-agent-dialog`,size:`lg`,form:``,busy:I.value,error:L.value,title:z.value?S(f)(`projectAgents.dialog.editTitle`):S(f)(`projectAgents.dialog.createTitle`),onClose:n[14]||=e=>a(`close`),onSubmit:H},{footer:r(()=>[u(F,{variant:`ghost`,disabled:I.value,onClick:n[13]||=e=>a(`close`)},{default:r(()=>[w(b(S(f)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),u(F,{variant:`primary`,type:`submit`,busy:I.value,"busy-label":S(f)(`projectAgents.dialog.saving`)},{default:r(()=>[w(b(z.value?S(f)(`projectAgents.dialog.saveEdit`):S(f)(`projectAgents.dialog.saveCreate`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:r(()=>[E(`div`,Wt,[u(R,{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,field:``,"control-id":`project-agent-project`,options:te.value,label:S(f)(`projectAgents.fields.project`),placeholder:S(f)(`projectAgents.dialog.projectPlaceholder`),disabled:z.value||I.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`]),u(R,{modelValue:k.value,"onUpdate:modelValue":n[1]||=e=>k.value=e,field:``,name:`project-agent-status`,label:S(f)(`projectAgents.fields.status`),options:ne.value,disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),u(R,{modelValue:A.value,"onUpdate:modelValue":n[2]||=e=>A.value=e,field:``,name:`project-agent-type`,label:S(f)(`projectAgents.fields.agentType`),options:re.value,disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),E(`label`,Gt,[w(b(S(f)(`projectAgents.fields.agentId`))+` `,1),d(E(`input`,{"onUpdate:modelValue":n[3]||=e=>h.value=e,name:`project-agent-id`,maxlength:`128`,required:``,disabled:z.value||I.value,placeholder:S(f)(`projectAgents.dialog.agentIdPlaceholder`)},null,8,Kt),[[m,h.value]]),z.value?(s(),l(`small`,qt,b(S(f)(`projectAgents.dialog.idLocked`)),1)):T(``,!0)]),E(`label`,Jt,[w(b(S(f)(`attention.roleName`))+` `,1),d(E(`input`,{"onUpdate:modelValue":n[4]||=e=>g.value=e,name:`project-agent-name`,maxlength:`160`,required:``,disabled:I.value,placeholder:S(f)(`projectAgents.dialog.namePlaceholder`)},null,8,Yt),[[m,g.value]])]),E(`label`,Xt,[w(b(S(f)(`attention.displayName`))+` `,1),d(E(`input`,{"onUpdate:modelValue":n[5]||=e=>_.value=e,name:`project-agent-display-name`,maxlength:`160`,disabled:I.value},null,8,Zt),[[m,_.value]])]),E(`label`,Qt,[w(b(S(f)(`projectAgents.fields.occupationEmoji`))+` `,1),d(E(`input`,{"onUpdate:modelValue":n[6]||=e=>v.value=e,name:`project-agent-occupation-emoji`,maxlength:`64`,autocomplete:`off`,disabled:I.value,placeholder:S(f)(`projectAgents.dialog.occupationEmojiPlaceholder`)},null,8,$t),[[m,v.value]])]),E(`label`,en,[w(b(S(f)(`projectAgents.fields.responsibility`))+` `,1),d(E(`textarea`,{"onUpdate:modelValue":n[7]||=e=>y.value=e,name:`project-agent-responsibility`,maxlength:`4096`,rows:`4`,required:``,disabled:I.value,placeholder:S(f)(`projectAgents.dialog.responsibilityPlaceholder`)},null,8,tn),[[m,y.value]])]),E(`label`,nn,[w(b(S(f)(`projectAgents.fields.capabilities`))+` `,1),d(E(`textarea`,{"onUpdate:modelValue":n[8]||=e=>x.value=e,name:`project-agent-capabilities`,maxlength:`8192`,rows:`4`,disabled:I.value,placeholder:S(f)(`projectAgents.dialog.capabilitiesPlaceholder`)},null,8,rn),[[m,x.value]])]),E(`label`,an,[w(b(S(f)(`projectAgents.fields.initialPreferences`))+` `,1),d(E(`textarea`,{"onUpdate:modelValue":n[9]||=e=>D.value=e,name:`project-agent-preferences`,maxlength:`8192`,rows:`4`,disabled:I.value,placeholder:S(f)(`projectAgents.dialog.preferencesPlaceholder`)},null,8,on),[[m,D.value]])]),E(`fieldset`,sn,[E(`legend`,null,b(S(f)(`projectAgents.fields.defaultModelStrategy`)),1),u(R,{modelValue:N.value,"onUpdate:modelValue":n[10]||=e=>N.value=e,field:``,name:`project-agent-selection-mode`,label:S(f)(`projectAgents.fields.executorPolicy`),options:B.value,disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),u(R,{modelValue:M.value,"onUpdate:modelValue":n[11]||=e=>M.value=e,field:``,name:`project-agent-model-mode`,label:S(f)(`projectAgents.fields.modelIntent`),options:S(ie),disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),E(`label`,cn,[w(b(S(f)(`projectAgents.fields.allowList`))+` `,1),d(E(`textarea`,{"onUpdate:modelValue":n[12]||=e=>P.value=e,name:`project-agent-allow-list`,rows:`3`,disabled:I.value,placeholder:S(f)(`projectAgents.dialog.allowListPlaceholder`)},null,8,ln),[[m,P.value]])]),E(`small`,un,b(N.value===`locked`?S(f)(`projectAgents.strategy.lockedUnavailable`):S(f)(`projectAgents.strategy.providerNeutral`)),1)])])]),_:1},8,[`open`,`busy`,`error`,`title`]))}}),[[`__scopeId`,`data-v-86bea342`]]),fn=[`aria-label`],pn={class:`project-agents-header`},mn={key:0,class:`project-agents-header-meta`},hn={class:`project-agent-header-actions`},gn=[`disabled`],_n=[`disabled`],vn={key:0,class:`project-agents-summary`,"aria-live":`polite`},yn={class:`project-agents-toolbar`},bn={class:`project-agents-search`},xn={class:`sr-only`},Sn=[`placeholder`],Cn=[`aria-label`],wn=[`aria-pressed`,`onClick`],Tn={key:4,class:`ui-card project-agents-state is-error`,role:`alert`},En={key:5,class:`ui-card project-agents-state`},Dn=[`disabled`],On={key:6,class:`ui-card project-agents-state`},kn={key:7,class:`ui-card project-agents-directory`},An=[`aria-label`],jn=[`aria-current`,`onClick`],Mn={class:`project-agent-row-heading`},Nn=[`aria-label`],Pn={class:`ui-badge project-agent-kind`},Fn={class:`project-agent-row-projects`},In={key:0},Ln={key:1},Rn={class:`project-agent-row-responsibility`},zn={class:`project-agent-row-work`},Bn=[`aria-label`],Vn={class:`project-agent-detail-heading`},Hn=[`aria-label`],Un={key:0},Wn={key:0},Gn={class:`project-agent-detail-actions`},Kn=[`disabled`],qn=[`disabled`],Jn={key:1},Yn={key:0,class:`project-agent-detail-notice`,role:`status`},Xn={key:1,class:`employee-project-overview`,"aria-labelledby":`employee-project-overview-title`},Zn={class:`employee-project-overview-heading`},Qn={id:`employee-project-overview-title`},$n={key:0,class:`employee-assigned-projects`},er={key:1,class:`employee-project-overview-hint`},tr={class:`ui-card project-agent-detail-section is-responsibility`},nr={key:0,class:`project-agent-tags`},rr={class:`project-agent-detail-source`,"data-detail-section":`tasks`},ir={key:0,class:`project-agent-muted`,"data-task-partial":``},ar={class:`project-agent-detail-section`},or={class:`project-agent-section-heading`},sr={key:0,class:`project-agent-task-list`},cr=[`id`],lr={key:0},ur={key:1,class:`project-agent-inline-list`},dr=[`open`,`onToggle`],fr=[`aria-label`],pr={class:`project-agent-section-heading`},mr=[`aria-label`],hr={class:`project-agent-execution-summary-table`},gr={class:`sr-only`},_r={scope:`col`},vr={scope:`col`},yr={scope:`col`},br={scope:`col`},xr={scope:`col`},Sr={scope:`col`},Cr={scope:`col`},wr={scope:`row`},Tr={class:`project-agent-execution-worker`},Er=[`aria-label`],Dr={key:0},Or=[`data-label`],kr=[`data-label`],Ar=[`data-label`],jr={key:0},Mr={key:1},Nr=[`data-label`],Pr=[`href`],Fr={key:1},Ir={class:`project-agent-reporter-label`},Lr=[`href`],Rr={key:1},zr=[`data-label`],Br=[`data-label`],Vr={key:1},Hr={key:1,class:`project-agent-muted`},Ur=[`aria-label`],Wr={class:`project-agent-section-heading`},Gr={class:`project-agent-execution-summary-list`},Kr=[`aria-label`],qr={key:1},Jr={class:`project-agent-execution-summary-meta`},Yr={key:0},Xr={key:0},Zr={key:1},Qr={key:2},$r={key:2},ei={key:3,class:`project-agent-routing-decision`},ti={class:`project-agent-section-heading`},ni={key:0},ri={key:1},ii={key:2},ai={key:0},oi={key:3},si={key:0},ci={key:4},li={class:`project-agent-execution-line`},ui={key:0},di={key:1},fi={key:2},pi={key:4},mi={key:5},hi={key:1,class:`project-agent-muted`},gi={class:`ui-disclosure project-agent-disclosure`},_i={class:`project-agent-detail-source`,"data-detail-section":`assignments`},vi={class:`project-agent-detail-section`},yi={class:`project-agent-section-heading`},bi={class:`project-agent-section-tools`},xi={key:0,class:`project-agent-assignment-list`},Si={class:`project-agent-card-actions`},Ci=[`onClick`],wi=[`onClick`],Ti={key:0},Ei={key:1,class:`project-agent-inline-list`},Di={class:`project-agent-strategy-note`},Oi={key:0},ki={key:2,class:`project-agent-tags`},Ai={key:3},ji={key:1,class:`project-agent-muted`},Mi={class:`ui-disclosure project-agent-disclosure`},Ni={class:`project-agent-detail-source`,"data-detail-section":`activity`},Pi={class:`project-agent-detail-section`},Fi={class:`project-agent-section-heading`},Ii={key:0},Li={key:0,class:`project-agent-heatmap-wrap project-agent-heatmap-viewport`},Ri=[`aria-label`],zi=[`aria-label`,`aria-pressed`,`onClick`],Bi={class:`sr-only`},Vi={key:0,class:`project-agent-day-detail`},Hi={key:0,class:`project-agent-muted`},Ui={key:1},Wi={key:1,class:`project-agent-muted`},Gi={class:`ui-disclosure project-agent-disclosure`},Ki={class:`project-agent-detail-meta`},qi={key:0},Ji=[`open`],Yi={class:`project-agent-detail-source`,"data-detail-section":`recruitment`},Xi={class:`project-agent-detail-section`,"aria-labelledby":`project-agent-recruitment-heading`},Zi={class:`project-agent-section-heading`},Qi={id:`project-agent-recruitment-heading`},$i={key:0,class:`project-agent-recruitment-list`},ea={class:`project-agent-card-actions`},ta={class:`ui-badge`},na=[`disabled`,`onClick`],ra={key:1},ia=[`disabled`,`onClick`],aa={key:1},oa={class:`project-agent-compact-meta`},sa={key:1,class:`project-agent-muted`},ca={class:`project-agent-detail-source`,"data-detail-section":`executors`},la={class:`project-agent-detail-section`},ua={class:`project-agent-section-heading`},da={class:`project-agent-muted`},fa={key:0,class:`project-agent-tags`},pa={key:1,class:`project-agent-blocked`},ma={key:2,class:`project-agent-muted`},ha={class:`project-agent-section-tools`},ga={key:3,class:`project-agent-executor-list`},_a=[`onClick`],va=[`disabled`,`onClick`],ya={key:1},ba=[`disabled`,`onClick`],xa={key:1},Sa={class:`project-agent-detail-source`,"data-detail-section":`clients`},Ca={class:`project-agent-detail-section`},wa={class:`project-agent-section-heading`},Ta={key:0,class:`project-agent-client-list`},Ea={key:0},Da={key:1},Oa={key:2},ka={key:1,class:`project-agent-muted`},Aa={class:`project-agent-detail-source`,"data-detail-section":`routing`},ja={class:`project-agent-detail-section`},Ma={class:`project-agent-section-heading`},Na={class:`project-agent-section-tools`},Pa={key:0,class:`project-agent-rule-list`},Fa=[`disabled`,`onClick`],Ia={key:1},La={key:1,class:`project-agent-muted`},Ra={class:`project-agent-note`},za={class:`project-agent-detail-source`,"data-detail-section":`learning`},Ba={class:`project-agent-detail-section`},Va={class:`project-agent-section-heading`},Ha={key:0,class:`project-agent-learning-list`},Ua={class:`ui-badge`},Wa={key:0},Ga={key:1,class:`project-agent-inline-list`},Ka={key:0},qa={key:2,class:`project-agent-evidence-list`},Ja=[`disabled`,`onClick`],Ya={key:1},Xa={key:3,class:`project-agent-learning-actions`},Za=[`disabled`,`onClick`],Qa={key:1},$a={key:1,class:`project-agent-muted`},eo={class:`project-agent-note`},to={key:1,class:`project-agent-detail-placeholder`},no=P(n({__name:`ProjectAgentsPage`,setup(n){let a=[`assignments`,`tasks`,`activity`,`recruitments`,`executors`,`routingRules`,`learning`],v=D(),j=I(),P=c([]),F=c(!1),ee=c(``),R=c(null),B=c(!1),U=c(`all`),K=c(``),q=c(``),le=c(new Set);function xe(e,t){t.target.open?le.value.add(e):le.value.delete(e)}t(()=>j.query.agent,e=>{typeof e==`string`&&(q.value=e)},{immediate:!0});let Ce=c(!1),we=c(!1),Te=c(``),J=c(null),Ee=c(!1),De=c(`assign`),Oe=c(null),ke=c(!1),Ae=c({}),je=c({}),Y=c(``),Me=c(``),Ne=c(!1),Fe=c(``),Ie=c(``),X=c(``),Le=c(``),Re=c(``),ze=c(``),Be=c(!1),Ve=c(`executor`),He=c(null),Ue=c(null),We=0,Ge=0,Ke=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]);function qe(e){return`${e}:${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}let Je=C(()=>v.state?.personalProjects??[]);async function Ye(e){await bt(),st.value.some(t=>t.agentId===e.agent.agentId)||(R.value=null,U.value=`all`,K.value=``);let t=q.value===e.agent.agentId;q.value=e.agent.agentId,t&&$()}let Z=C(()=>v.activePersonalSpace?.id??``),Xe=C(()=>F.value||!v.state&&(v.runtimeStatus===`idle`||v.runtimeStatus===`loading`)),Ze=C(()=>ee.value||(!v.state&&v.runtimeStatus===`error`?v.feedback?.message||f(`projectAgents.loadError`):``));function Qe(){v.state?bt():v.refresh()}let $e=C(()=>new Map(Je.value.map(e=>[e.project_id,e]))),et=C(()=>Je.value.map(e=>({id:e.project_id,name:e.profile.name}))),tt=C(()=>{let e=typeof j.query.agent==`string`?j.query.agent:``;return e?P.value.find(t=>t.personalSpaceId===Z.value&&(t.agentId===e||t.legacyAgentIds?.includes(e)))??null:null}),nt=C(()=>!!(tt.value&&typeof j.query.project==`string`&&typeof j.query.task==`string`&&!B.value)),rt=C({get:()=>R.value??et.value.map(e=>e.id),set:e=>{B.value=!0;let t=et.value.filter(t=>e.includes(t.id)).map(e=>e.id);R.value=t.length===et.value.length?null:t}}),it=C(()=>R.value?.length===1?R.value[0]:``);t([()=>j.query.project,et],([e,t],n)=>{let r=!n||e!==n[0];typeof e==`string`&&t.some(t=>t.id===e)&&(r||!B.value)&&(R.value=[e],r&&(B.value=!1))},{immediate:!0});let at=C(()=>[{value:`all`,label:f(`projectAgents.status.all`)},{value:`active`,label:f(`projectAgents.status.active`)},{value:`inactive`,label:f(`projectAgents.status.inactive`)},{value:`archived`,label:f(`projectAgents.status.archived`)}]),st=C(()=>{let e=K.value.trim().toLocaleLowerCase(y());return P.value.filter(e=>R.value===null||Xt(e).some(({id:e})=>R.value.includes(e))||nt.value&&e.agentId===tt.value?.agentId).filter(e=>U.value===`all`||e.profile.status===U.value).filter(t=>!e||Qt(t).toLocaleLowerCase(y()).includes(e)).sort(Kt)}),Q=C(()=>st.value.find(e=>e.agentId===q.value)??null),ct=C(()=>Q.value?he(Q.value):null),lt=C(()=>me.value.find(e=>e.id===ct.value)),ut=C(()=>Q.value?Xt(Q.value).filter(e=>$e.value.get(e.id)?.profile.lifecycle!==`archived`):[]),dt=C(()=>Q.value?Yt(Q.value).map(e=>({id:e.personalProjectId,name:qt(e.personalProjectId)})):[]),ft=C(()=>P.value.filter(({profile:e})=>e.status===`active`).length),pt=C(()=>P.value.reduce((e,t)=>e+Yt(t).length,0)),mt=C(()=>new Set(P.value.flatMap(e=>Yt(e).map(({personalProjectId:e})=>e))).size),ht=C(()=>it.value?it.value:Q.value?.assignments?.find(({status:e})=>e===`active`)?.personalProjectId??Q.value?.personalProjectId??Je.value[0]?.project_id??null),gt=C(()=>Q.value?.activity??null),_t=C(()=>gt.value?.days.find(({date:e})=>e===Me.value)??null),vt=C(()=>Object.entries(Q.value?.learningEvidence??{})),yt=C(()=>Q.value?.recruitments??[]);o(()=>{v.runtimeStatus===`idle`&&v.refresh()}),t(Z,e=>{++We,++Ge,Ae.value={},je.value={},q.value=``,P.value=[],B.value=!1,R.value=typeof j.query.project==`string`&&et.value.some(e=>e.id===j.query.project)?[j.query.project]:null,ee.value=``,e?bt(e):F.value=!1},{immediate:!0}),t(st,e=>{if(!e.some(e=>e.agentId===q.value)){let t=e.find(e=>e.agentId===j.query.agent||typeof j.query.agent==`string`&&e.legacyAgentIds?.includes(j.query.agent));q.value=t?.agentId??(nt.value?tt.value?.agentId:void 0)??e[0]?.agentId??``}e.some(e=>e.activity?.days.some(({date:e})=>e===Me.value))||(Me.value=``)},{immediate:!0}),t([q,Z],([e,t])=>{Me.value=``,e&&t&&$(e,t)},{immediate:!0});async function bt(e=Z.value){if(!e)return;let t=++We;F.value=!0,ee.value=``;try{let n=new URLSearchParams({personalSpaceId:e}),[r,i]=await Promise.allSettled([M(`/api/project-agents?${n}`),M(`/api/project-agent-tasks?${n}`)]);if(t!==We)return;if(ge(e),r.status===`rejected`)throw r.reason;if(t===We){let e=Yo(ce(r.value)),t=i.status===`fulfilled`?Ho(i.value).filter(e=>Ke.has(e.status)):[];P.value=Po(e,t)}}catch(e){t===We&&(ee.value=e instanceof Error?e.message:f(`projectAgents.loadError`))}finally{t===We&&(F.value=!1)}}async function $(e=q.value,t=Z.value){let n=P.value.find(t=>t.agentId===e);if(!n||!t)return;let r=++Ge;ke.value=!0,Y.value=``,Ct(e,`loading`);let i=new URLSearchParams({personalSpaceId:t,agentId:e}),o=be(),s=new URLSearchParams({personalSpaceId:t,agentId:e,fromDate:o.fromDate,toDate:o.toDate}),c={assignments:M(`/api/project-agent-assignments?${i}`),tasks:xt(i),activity:M(`/api/project-agent-activity?${s}`),recruitments:M(`/api/project-agent-recruitments?personalSpaceId=${encodeURIComponent(t)}`),executors:M(`/api/executors?personalSpaceId=${encodeURIComponent(t)}`),routingRules:M(`/api/executor-routing-rules?personalSpaceId=${encodeURIComponent(t)}`),learning:M(`/api/project-agent-routing-learning?${i}`)};await Promise.all(a.map(async i=>{try{let a=await c[i];if(!Ot(r,e,t))return;At(n,i,a),wt(e,i,{status:`ready`,error:``})}catch(n){if(!Ot(r,e,t))return;wt(e,i,{status:`error`,error:n instanceof Error?n.message:f(`projectAgents.detail.sectionUnavailable`)})}})),Ot(r,e,t)&&(ke.value=!1)}async function xt(e){let t=e.get(`agentId`)??``,n=e.get(`personalSpaceId`)??``,r=typeof j.query.project==`string`?j.query.project:``,i=typeof j.query.task==`string`?j.query.task:``;e=new URLSearchParams({personalSpaceId:n,limit:`200`}),r&&e.set(`personalProjectId`,r);let a=await M(`/api/project-agent-tasks?${e}`);jt(a,[`tasks`,`items`]);let o=e=>(!e.personalSpaceId||e.personalSpaceId===n)&&(!r||e.personalProjectId===r)&&fe(e,t),s=Ho(a).filter(o);if(i&&!s.some(e=>e.taskId===i)){let t=ae(await M(`/api/project-agent-tasks/${encodeURIComponent(i)}?${e}`));t&&o(t)&&s.unshift(t)}return{tasks:s,partial:!pe(a)}}t([()=>j.query.task,ke],async([e,t])=>{t||typeof e!=`string`||(await _(),document.getElementById(`task-${e}`)?.scrollIntoView?.({block:`nearest`}))});function St(e=`idle`){return Object.fromEntries(a.map(t=>[t,{status:e,error:``}]))}function Ct(e,t){Ae.value={...Ae.value,[e]:St(t)}}function wt(e,t,n){Ae.value={...Ae.value,[e]:{...Ae.value[e]??St(),[t]:n}}}function Et(e){let t=(Array.isArray(e)?e:[e]).map(e=>Ae.value[q.value]?.[e]??{status:`idle`,error:``});return t.find(({status:e})=>e===`error`)??t.find(({status:e})=>e===`loading`)??t.find(({status:e})=>e===`idle`)??{status:`ready`,error:``}}function Dt(e){return f(`projectAgents.detail.loading.`+e)}function Ot(e,t,n){return e===Ge&&t===q.value&&n===Z.value}function At(e,t,n){let r;switch(t){case`assignments`:jt(n,[`assignments`,`items`]),r={assignments:Lo(n,e)};break;case`tasks`:jt(n,[`tasks`,`items`]),je.value={...je.value,[e.agentId]:H(n).partial===!0},r={tasks:Ho(n)};break;case`activity`:{let e=Se(n,{agentId:q.value,personalSpaceId:Z.value});if(!e)throw Error(f(`projectAgents.detail.sectionUnavailable`));r={activity:e};break}case`recruitments`:jt(n,[`recruitments`,`items`]),r={recruitments:Wo(n).filter(t=>Go(t,e))};break;case`executors`:jt(n,[`executors`,`items`]),r={executorDirectory:zo(n),clientEvidence:Ko(n)};break;case`routingRules`:jt(n,[`rules`,`items`]),r={routingRules:qo(n)};break;case`learning`:jt(n,[`learningEvidence`,`learning_evidence`,`items`],!0),r={learningEvidence:Jo(n)};break}P.value=P.value.map(t=>t.agentId===e.agentId?{...t,...r}:t)}function jt(e,t,n=!1){if(Array.isArray(e))return;let r=H(e);if(!t.some(e=>Array.isArray(r[e])||n&&Mt(r[e])))throw Error(f(`projectAgents.detail.sectionUnavailable`))}function Mt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function Nt(e,t,n){let r=t===`ignore`?n:e.learningKey??e.modelStrategyKey,i=Q.value;if(!(!r||!i||!Z.value||Fe.value)){if(t===`reset`&&(!e.personalProjectId||!e.workKind||!e.executor)){Y.value=f(`projectAgents.learning.resetUnavailable`);return}Fe.value=r,Ie.value=t;try{await k(`/api/project-agent-learning/${encodeURIComponent(r)}`,{action:t,personalSpaceId:Z.value,personalProjectId:e.personalProjectId,agentId:i.agentId,workKind:e.workKind,executorId:e.executor,modelStrategy:e.modelStrategy,modelStrategyKey:e.modelStrategyKey,resetAt:t===`reset`?new Date().toISOString():void 0,idempotencyKey:t===`ignore`?`console-learning:${r}:ignore`:qe(`console-learning:${r}:reset`),reason:`Console requested ${t} for explicit evidence`}),await $()}catch(e){Y.value=e instanceof Error?e.message:f(`projectAgents.learning.updateFailed`)}finally{Fe.value=``,Ie.value=``}}}async function Pt(e,t){if(!(!Z.value||X.value)){X.value=e.recruitmentId,Le.value=t;try{await O(`/api/project-agent-recruitments/decision`,{personalSpaceId:Z.value,personalProjectId:e.personalProjectId,recruitmentId:e.recruitmentId,expectedRevision:e.revision??0,decision:t,reason:f(`projectAgents.recruitment.${t}Reason`)}),await $()}catch(e){Y.value=e instanceof Error?e.message:f(`projectAgents.recruitment.decisionFailed`)}finally{X.value=``,Le.value=``}}}async function Ft(e,t){if(!(!Z.value||Re.value)){Re.value=e.executorId,ze.value=t===`authorized`?`authorize`:`revoke`;try{await O(`/api/executors/authorization`,{personalSpaceId:Z.value,executorId:e.executorId,status:t,expectedRevision:e.permissionRevision??0,idempotencyKey:qe(`console-executor:${e.executorId}:${t}`),reason:f(`projectAgents.routing.${t===`authorized`?`authorizeReason`:`revokeReason`}`)}),await $()}catch(e){Y.value=e instanceof Error?e.message:f(`projectAgents.routing.authorizationFailed`)}finally{Re.value=``,ze.value=``}}}function It(e=null){Ve.value=`executor`,He.value=e,Ue.value=null,Be.value=!0}function Rt(e=null){Ve.value=`rule`,Ue.value=e,He.value=null,Be.value=!0}function zt(){Be.value=!1,He.value=null,Ue.value=null}function Bt(e){Q.value&&(P.value=P.value.map(t=>t.agentId===Q.value?.agentId?{...t,executorDirectory:Xo([...t.executorDirectory??[],e],({executorId:e})=>e)}:t),zt())}function Vt(e){Q.value&&(P.value=P.value.map(t=>t.agentId===Q.value?.agentId?{...t,routingRules:Xo([...t.routingRules??[],e],({ruleId:e})=>e)}:t),zt())}function Ht(e){Ve.value===`executor`?Bt(e):Vt(e)}async function Wt(e){if(!(!Z.value||!e.ruleId||X.value)){X.value=`rule:${e.ruleId}`,Le.value=`disable`;try{await k(`/api/executor-routing-rules/${encodeURIComponent(e.ruleId)}`,{personalSpaceId:Z.value,ruleId:e.ruleId,expectedRevision:e.revision??0,status:`disabled`,idempotencyKey:`console-rule:${e.ruleId}:disable`,reason:`Console disabled explicit routing rule`}),await $()}catch(e){Y.value=e instanceof Error?e.message:f(`projectAgents.routing.updateFailed`)}finally{X.value=``,Le.value=``}}}async function Gt(e){if(e.profile.cleanupEligible){Ne.value=!0,ke.value=!0;try{await A(`/api/project-agents/${encodeURIComponent(e.agentId)}?personalSpaceId=${encodeURIComponent(e.personalSpaceId)}&reason=archived%20test%20role`),await bt()}catch(e){Y.value=e instanceof Error?e.message:f(`projectAgents.source.cleanupFailed`)}finally{Ne.value=!1,ke.value=!1}}}function Kt(e,t){let n={active:0,inactive:1,archived:2};return n[e.profile.status]-n[t.profile.status]||e.profile.name.localeCompare(t.profile.name,y())||e.agentId.localeCompare(t.agentId,y())}function qt(e){return e?$e.value.get(e)?.profile.name??e:f(`projectAgents.notReported`)}function Jt(e){return e.assignments??(e.personalProjectId?[Zt(e)]:[])}function Yt(e){return[...new Map(Jt(e).filter(e=>e.status===`active`).map(e=>[e.personalProjectId,e])).values()]}function Xt(e){let t=he(e);return(t?me.value.find(e=>e.id===t):void 0)?.managedProjects??Yt(e).map(e=>({id:e.personalProjectId,name:qt(e.personalProjectId)}))}function Zt(e){return{assignmentId:`legacy:${e.agentId}:${e.personalProjectId}`,personalSpaceId:e.personalSpaceId,personalProjectId:e.personalProjectId??``,agentId:e.agentId,responsibility:e.profile.responsibility,capabilities:e.profile.capabilities,status:e.profile.status===`active`?`active`:`ended`,assignedAt:e.createdAt,updatedAt:e.updatedAt,reason:null}}function Qt(e){return[e.agentId,e.profile.name,e.profile.displayName??``,e.profile.occupationEmoji??``,e.profile.responsibility,...e.profile.capabilities??[],...e.profile.workKinds??[],...Jt(e).flatMap(e=>[e.personalProjectId,e.responsibility,e.scope??``,...e.workKinds??[]]),...(e.tasks??[]).flatMap(e=>[e.taskId,e.title,e.workKind??``])].join(` `)}function $t(){J.value=null,Ce.value=!0}function en(e=``){Te.value=e,we.value=!0}function tn(e){J.value=e,Ce.value=!0}function nn(){Ce.value=!1,J.value=null}function rn(e,t=null,n=`assign`){let r=he(e);if(n===`assign`&&r){en(r);return}J.value=e,Oe.value=t,De.value=n,Ee.value=!0}function an(){Ee.value=!1,Oe.value=null,De.value=`assign`}function on(e){J.value&&(P.value=P.value.map(t=>t.agentId===J.value?.agentId?{...t,assignments:Xo([...t.assignments??[],e],({assignmentId:e})=>e)}:t),q.value=J.value.agentId,an())}function sn(){an(),$()}function cn(e){let t=Fo(e),n=P.value.filter(e=>!(e.agentId===t.agentId&&t.personalProjectId&&e.personalProjectId===t.personalProjectId));P.value=Yo([...n,t]),t.personalProjectId&&(R.value=[t.personalProjectId]),U.value=`all`,K.value=``,q.value=t.agentId,v.notify(f(`projectAgents.saved`))}function ln(e){if(!e)return f(`projectAgents.notReported`);let t=new Date(e);return Number.isNaN(t.valueOf())?f(`projectAgents.notReported`):new Intl.DateTimeFormat(y(),{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t)}function un(e){if(!e)return f(`projectAgents.notReported`);let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.valueOf())?e:new Intl.DateTimeFormat(y(),{month:`short`,day:`numeric`}).format(t)}function no(e){return e?.mode??`adaptive`}function ro(e){return e?.mode??`flexible`}function io(e){return e?.mode===`locked`}function ao(e){return e?e.allowList?.length?e.allowList:((e.mode===`locked`?e.lockedExecutorIds:e.preferredExecutorIds)??[]).map(e=>({executorId:e})):[]}function oo(e){if(e.actualExecution)return e.actualExecution;let t=[...e.events??[]].reverse().find(e=>e.actualExecution);return t?oe(t):null}function so(e){return e.workerLabel&&e.workerId&&e.workerLabel!==e.workerId?`${e.workerLabel} · ${e.workerId}`:e.workerLabel||e.workerId||f(`projectAgents.notReported`)}function co(e){return e.workerOccupationEmoji||``}function lo(e){return po(e.workerStatus||e.status)}function uo(e){return e.workerLabel||e.agentName||e.workerId||e.agentId||f(`projectAgents.notReported`)}function fo(e){return e.workerOccupationEmoji||e.occupationEmoji||``}function po(e){return e?xo(e):f(`projectAgents.notReported`)}function mo(e){if(!e)return f(`projectAgents.notReported`);let t=`projectAgents.participantRoles.${e}`,n=f(t);return n===t?e:n}function ho(e){return f(`projectAgents.tokenSources.${e}`)}function go(e){return!e||![`executor`,`host`,`dingdong`].includes(e.source)||!Number.isSafeInteger(e.totalTokens)||e.totalTokens<0?`-`:`${new Intl.NumberFormat(y()).format(e.totalTokens)} Token · ${ho(e.source)}`}function _o(e){return vo(e.workerRuntime?e.workerRuntime.sessionUrl:e.sourceSessionUrl)}function vo(e){let t=e?.trim();if(!t)return null;try{let e=new URL(t);if(e.username||e.password||e.search||e.hash)return null;if(e.protocol===`https:`||e.protocol===`http:`&&[`127.0.0.1`,`localhost`,`[::1]`].includes(e.hostname)||e.protocol===`codex:`&&e.hostname===`threads`&&e.pathname!==`/`)return t}catch{return null}return null}function yo(e){return e.workerRuntime?e.workerRuntime.sessionId:e.sourceSessionId}function bo(e){return(e.tasks??[]).find(e=>Ke.has(e.status))??null}function xo(e){let t=`projectAgents.taskStatus.${e}`,n=f(t);return n===t?e:n}function So(e){return f(`projectAgents.agentType.${e??`durable`}`)}function Co(e){return f(e?`projectAgents.clients.${e}`:`projectAgents.notReported`)}function wo(e){return Zo([...e.profile.allowedClients??[],...e.observedClients??[],...(e.clientEvidence??[]).map(({client:e})=>e)])}function To(e,t){return e.clientEvidence?.find(e=>e.client===t)}function Eo(e,t){return To(e,t)?.actualUse?.count??0}function Do(e){return e.neutral!==!1||e.sampleCount<=0}function Oo(e){return Do(e)?f(`projectAgents.learning.neutral`):f(`projectAgents.learning.recorded`)}function ko(e){return e.recentWeightedSamples??f(`projectAgents.notReported`)}function Ao(e){return e.score??``}function jo(e,t){let n=Math.max(...t.days.map(({total:e})=>e),0);return!n||!e.total?0:Math.min(4,Math.ceil(e.total/n*4))}function Mo(e){Me.value=e.date}function No(e,t){return fe(t,e.agentId)}function Po(e,t){return e.map(e=>{let n=t.filter(t=>No(e,t));return n.length?{...e,tasks:Xo([...e.tasks??[],...n],({taskId:e})=>e)}:e})}function Fo(e){let t=H(e),n=H(t.profile),r=W(t,`agentId`,`agent_id`)??``,i=W(t,`createdAt`,`created_at`)??``,a=W(t,`updatedAt`,`updated_at`)??i,o={name:W(n,`name`,`name`)??r,displayName:W(n,`displayName`,`display_name`),responsibility:W(n,`responsibility`,`responsibility`)??``,capabilities:G(n.capabilities).filter(e=>typeof e==`string`),initialPreferences:G(V(n,`initialPreferences`,`initial_preferences`)).filter(e=>typeof e==`string`),status:W(n,`status`,`status`)??`active`,occupationEmoji:W(n,`occupationEmoji`,`occupation_emoji`),agentType:W(n,`agentType`,`agent_type`),workKinds:G(V(n,`workKinds`,`work_kinds`)).filter(e=>typeof e==`string`),defaultModelStrategy:re(V(n,`defaultModelStrategy`,`default_model_strategy`)),executorPolicy:se(V(n,`executorPolicy`,`executor_policy`)),allowedClients:G(V(n,`allowedClients`,`allowed_clients`)).filter(e=>typeof e==`string`),character:{judgment:String(H(n.character).judgment??``),taste:String(H(n.character).taste??``),personality:String(H(n.character).personality??``)},expectations:W(n,`expectations`,`expectations`)??``,testSource:W(n,`testSource`,`test_source`),cleanupEligible:V(n,`cleanupEligible`,`cleanup_eligible`)===!0},s={agentId:r,personalSpaceId:W(t,`personalSpaceId`,`personal_space_id`)??Z.value,personalProjectId:W(t,`personalProjectId`,`personal_project_id`),profile:o,createdAt:i,updatedAt:a};return{...s,memoryScope:W(t,`memoryScope`,`memory_scope`)??void 0,assignments:Array.isArray(t.assignments)?t.assignments.map(e=>ne(e,s)).filter(Boolean):void 0,legacyAgentIds:G(t.legacyAgentIds??t.legacy_agent_ids).filter(e=>typeof e==`string`),recruitments:Wo(t.recruitments??t.recruitmentHistory).filter(e=>Go(e,s)),recruitmentId:W(t,`recruitmentId`,`recruitment_id`),temporaryTaskId:W(t,`temporaryTaskId`,`temporary_task_id`),workStatus:W(t,`workStatus`,`work_status`),openTaskCount:typeof t.openTaskCount==`number`?t.openTaskCount:typeof t.open_task_count==`number`?t.open_task_count:void 0,currentTaskId:W(t,`currentTaskId`,`current_task_id`),observedClients:G(t.observedClients??t.observed_clients).filter(e=>typeof e==`string`),recruitedAt:W(t,`recruitedAt`,`recruited_at`),recruitmentReason:W(t,`recruitmentReason`,`recruitment_reason`),recruitmentSourceApplication:W(t,`recruitmentSourceApplication`,`recruitment_source_application`),isTestRole:!!o.testSource||o.cleanupEligible||t.isTestRole===!0||t.is_test_role===!0,tasks:G(t.tasks??t.taskHistory).map(ae).filter(Boolean),activity:Se(t.activity,{agentId:q.value,personalSpaceId:Z.value}),clientEvidence:Ko(t.clientEvidence??t.client_evidence),routingRules:qo(t.routingRules??t.routing_rules),learningEvidence:Vo(t.learningEvidence??t.learning_evidence)}}function Io(e){let t=H(e),n=W(t,`client`,`client`);if(!n)return null;let r=H(V(t,`actualUse`,`actual_use`));return{client:n,allowed:t.allowed===!0,integrationStatus:W(t,`integrationStatus`,`integration_status`)??void 0,actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:W(r,`lastUsedAt`,`last_used_at`)}:null}}function Lo(e,t){let n=H(e);return G(Array.isArray(e)?e:n.assignments??n.items).map(e=>ne(e,t)).filter(e=>!!e)}function Ro(e){let t=H(e),n=W(t,`provider`,`provider`),r=W(t,`model`,`model`);return!n||!r?null:{provider:n,model:r,capabilities:G(t.capabilities).filter(e=>typeof e==`string`),available:typeof t.available==`boolean`?t.available:void 0,strategyModes:G(V(t,`strategyModes`,`strategy_modes`)).filter(e=>typeof e==`string`),reasoningEfforts:G(V(t,`reasoningEfforts`,`reasoning_efforts`)).filter(e=>typeof e==`string`),observedAt:W(t,`observedAt`,`observed_at`),unavailableReason:W(t,`unavailableReason`,`unavailable_reason`)}}function zo(e){let t=H(e);return G(Array.isArray(e)?e:t.executors??t.items).map(e=>{let t=H(e),n=W(t,`executorId`,`executor_id`);if(!n)return null;let r=H(V(t,`actualUse`,`actual_use`));return{executorId:n,label:W(t,`label`,`label`),provider:W(t,`provider`,`provider`),model:W(t,`model`,`model`),client:W(t,`client`,`client`),availabilityStatus:W(t,`availabilityStatus`,`availability_status`),personalSpaceId:W(t,`personalSpaceId`,`personal_space_id`),displayName:W(t,`displayName`,`display_name`),executorKind:W(t,`executorKind`,`executor_kind`),capabilities:G(V(t,`capabilities`,`capabilities`)).filter(e=>typeof e==`string`),globalPriority:typeof V(t,`globalPriority`,`global_priority`)==`number`?V(t,`globalPriority`,`global_priority`):null,healthRequired:V(t,`healthRequired`,`health_required`)===!0,registrationStatus:W(t,`registrationStatus`,`registration_status`),permissionStatus:W(t,`permissionStatus`,`permission_status`),preflightStatus:W(t,`preflightStatus`,`preflight_status`),healthStatus:W(t,`healthStatus`,`health_status`),workspacePermission:typeof V(t,`workspacePermission`,`workspace_permission`)==`boolean`?V(t,`workspacePermission`,`workspace_permission`):null,revision:typeof t.revision==`number`?t.revision:void 0,permissionRevision:typeof V(t,`permissionRevision`,`permission_revision`)==`number`?V(t,`permissionRevision`,`permission_revision`):void 0,registeredAt:W(t,`registeredAt`,`registered_at`),updatedAt:W(t,`updatedAt`,`updated_at`),testSource:W(t,`testSource`,`test_source`),cleanupEligible:V(t,`cleanupEligible`,`cleanup_eligible`)===!0,advertisedModels:G(V(t,`advertisedModels`,`advertised_models`)).map(Ro).filter(e=>e!==null),availableModels:G(V(t,`availableModels`,`available_models`)).map(Ro).filter(e=>e!==null),actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:W(r,`lastUsedAt`,`last_used_at`)}:null}}).filter(e=>e!==null)}function Bo(e){let t=H(e),n=W(t,`ruleId`,`rule_id`);if(!n)return null;let r=W(t,`status`,`status`);return{ruleId:n,scope:W(t,`scope`,`scope`)??`global`,priority:typeof t.priority==`number`?t.priority:0,personalProjectId:W(t,`personalProjectId`,`personal_project_id`),taskId:W(t,`taskId`,`task_id`),workKind:W(t,`workKind`,`work_kind`),agentId:W(t,`agentId`,`agent_id`),enabled:t.enabled!==!1&&(!r||r===`active`),executorIds:G(V(t,`executorIds`,`executor_ids`)).filter(e=>typeof e==`string`),requiredCapabilities:G(V(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),modelStrategy:re(V(t,`modelStrategy`,`model_strategy`)),reason:W(t,`reason`,`reason`),revision:typeof t.revision==`number`?t.revision:void 0,status:r??void 0,createdAt:W(t,`createdAt`,`created_at`),updatedAt:W(t,`updatedAt`,`updated_at`)}}function Vo(e){let t=H(e),n=Array.isArray(e)?e:t.learningEvidence??t.learning_evidence??t.items,r=(Array.isArray(n)?n:Object.values(H(n))).map((e,t)=>{let n=H(e),r=W(n,`personalProjectId`,`personal_project_id`),i=W(n,`workKind`,`work_kind`),a=W(n,`executorId`,`executor_id`)??W(n,`executor`,`executor`),o=re(V(n,`modelStrategy`,`model_strategy`)),s=W(n,`modelStrategyKey`,`model_strategy_key`),c=s??[r,i,a,String(t)].filter(Boolean).join(`:`),l=G(V(n,`evidenceContributions`,`evidence_contributions`)).map(e=>{let t=H(e),n=W(t,`signal`,`signal`),r=W(t,`evidenceKind`,`evidence_kind`)??`evidence`,i=typeof V(t,`decayWeight`,`decay_weight`)==`number`?V(t,`decayWeight`,`decay_weight`):null;return{evidenceId:W(t,`evidenceId`,`evidence_id`)??void 0,kind:r,count:typeof t.value==`number`?t.value:void 0,summary:n?`${n}${i===null?``:` · ${i.toFixed(3)}`}`:null,occurredAt:W(t,`occurredAt`,`occurred_at`)}}),u=typeof V(n,`weightedSuccess`,`weighted_success`)==`number`?V(n,`weightedSuccess`,`weighted_success`):0,d=typeof V(n,`weightedFailure`,`weighted_failure`)==`number`?V(n,`weightedFailure`,`weighted_failure`):0,f=V(n,`halfLife`,`decay_half_life_days`);return[c,{learningKey:c,personalProjectId:r,workKind:i,executor:a,modelStrategy:o,modelStrategyKey:s,sampleCount:typeof V(n,`sampleCount`,`sample_count`)==`number`?V(n,`sampleCount`,`sample_count`):0,recentWeightedSamples:typeof V(n,`recentCount`,`recent_count`)==`number`?V(n,`recentCount`,`recent_count`):null,decayBasis:typeof f==`number`?`half-life ${f}d`:null,updatedAt:W(n,`asOf`,`as_of`)??W(n,`updatedAt`,`updated_at`),outcomes:{success:typeof V(n,`successCount`,`success_count`)==`number`?V(n,`successCount`,`success_count`):void 0,rework:typeof V(n,`reworkCount`,`rework_count`)==`number`?V(n,`reworkCount`,`rework_count`):void 0,failure:typeof V(n,`failureCount`,`failure_count`)==`number`?V(n,`failureCount`,`failure_count`):void 0,scoreCount:typeof V(n,`ratingCount`,`rating_count`)==`number`?V(n,`ratingCount`,`rating_count`):void 0},evidence:l,score:u-d,neutral:V(n,`neutralDueToInsufficientEvidence`,`neutral_due_to_insufficient_evidence`)===!0}]});return Object.fromEntries(r)}function Ho(e){let t=H(e);return G(Array.isArray(e)?e:t.tasks??t.items).map(ae).filter(Boolean)}function Uo(e){let t=H(e),n=W(t,`recruitmentId`,`recruitment_id`);return n?{recruitmentId:n,personalSpaceId:W(t,`personalSpaceId`,`personal_space_id`)??Z.value,personalProjectId:W(t,`personalProjectId`,`personal_project_id`)??``,taskId:W(t,`taskId`,`task_id`)??``,coordinatorAgentId:W(t,`coordinatorAgentId`,`coordinator_agent_id`)??``,hrAgentId:W(t,`hrAgentId`,`hr_agent_id`),positionKind:W(t,`positionKind`,`position_kind`)??`durable`,workKind:W(t,`workKind`,`work_kind`)??``,requiredCapabilities:G(V(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),reasonCode:W(t,`reasonCode`,`reason_code`)??``,reason:W(t,`reason`,`reason`)??``,status:W(t,`status`,`status`)??`unknown`,confirmationMode:W(t,`confirmationMode`,`confirmation_mode`),proposedAgentId:W(t,`proposedAgentId`,`proposed_agent_id`)??``,revision:typeof t.revision==`number`?t.revision:void 0,recruitedAgentId:W(t,`recruitedAgentId`,`recruited_agent_id`),triggerSourceApplication:W(t,`triggerSourceApplication`,`trigger_source_application`),triggerSourceSessionId:W(t,`triggerSourceSessionId`,`trigger_source_session_id`),testSource:W(t,`testSource`,`test_source`),cleanupEligible:V(t,`cleanupEligible`,`cleanup_eligible`)===!0,createdAt:W(t,`createdAt`,`created_at`)??``,updatedAt:W(t,`updatedAt`,`updated_at`)??``,fulfilledAt:W(t,`fulfilledAt`,`fulfilled_at`)}:null}function Wo(e){let t=H(e);return G(Array.isArray(e)?e:t.recruitments??t.items).map(Uo).filter(e=>!!e)}function Go(e,t){return e.recruitedAgentId===t.agentId||e.proposedAgentId===t.agentId||e.recruitmentId===t.recruitmentId}function Ko(e){let t=H(e);return G(Array.isArray(e)?e:t.clients??t.executors??t.items).map(Io).filter(Boolean)}function qo(e){let t=H(e);return G(Array.isArray(e)?e:t.rules??t.items).map(Bo).filter(Boolean)}function Jo(e){let t=H(e);return Vo(t.learningEvidence??t.learning_evidence??e)}function Yo(e){let t=new Map;return e.map(Fo).forEach(e=>{let n=t.get(e.agentId);if(!n){t.set(e.agentId,e);return}let r=[...Jt(n),...Jt(e)],i=[...n.tasks??[],...e.tasks??[]];t.set(e.agentId,{...n,personalProjectId:n.personalProjectId??e.personalProjectId,profile:{...n.profile,occupationEmoji:n.profile.occupationEmoji??e.profile.occupationEmoji,capabilities:Zo([...n.profile.capabilities,...e.profile.capabilities]),workKinds:Zo([...n.profile.workKinds??[],...e.profile.workKinds??[]]),defaultModelStrategy:n.profile.defaultModelStrategy??e.profile.defaultModelStrategy,executorPolicy:n.profile.executorPolicy??e.profile.executorPolicy,allowedClients:Zo([...n.profile.allowedClients??[],...e.profile.allowedClients??[]])},assignments:Xo(r,({assignmentId:e})=>e),recruitments:Xo([...n.recruitments??[],...e.recruitments??[]],({recruitmentId:e})=>e),tasks:Xo(i,({taskId:e})=>e),activity:n.activity??e.activity,clientEvidence:n.clientEvidence?.length?n.clientEvidence:e.clientEvidence,routingRules:n.routingRules?.length?n.routingRules:e.routingRules,learningEvidence:{...e.learningEvidence??{},...n.learningEvidence??{}},observedClients:Zo([...n.observedClients??[],...e.observedClients??[]]),openTaskCount:Math.max(n.openTaskCount??0,e.openTaskCount??0)||void 0,currentTaskId:n.currentTaskId??e.currentTaskId,workStatus:n.workStatus??e.workStatus})}),[...t.values()]}function Xo(e,t){return[...new Map(e.map(e=>[t(e),e])).values()]}function Zo(e){return[...new Set(e)]}return(t,n)=>(s(),l(`section`,{class:`view project-agents-view`,"aria-label":S(f)(`projectAgents.aria`)},[E(`header`,pn,[E(`div`,null,[E(`h2`,null,b(S(f)(`projectAgents.title`)),1),!Xe.value&&!Ze.value?(s(),l(`p`,mn,b(S(f)(`projectAgents.stats.total`,{count:P.value.length}))+` · `+b(S(f)(`projectAgents.stats.assignments`,{count:pt.value}))+` · `+b(S(f)(`projectAgents.stats.projects`,{count:mt.value})),1)):T(``,!0)]),E(`div`,hn,[E(`button`,{class:`quiet-button`,type:`button`,disabled:!Z.value,onClick:$t},b(S(f)(`projectAgents.add`)),9,gn),E(`button`,{class:`primary-button`,type:`button`,disabled:!Z.value,onClick:n[0]||=e=>en()},b(S(f)(`employees.recruit`)),9,_n)])]),u(ye,{open:we.value,"personal-space-id":Z.value,projects:Je.value,"template-id":Te.value,"default-project-ids":R.value??[],onClose:n[1]||=e=>we.value=!1,onRecruited:Ye},null,8,[`open`,`personal-space-id`,`projects`,`template-id`,`default-project-ids`]),!Xe.value&&!Ze.value?(s(),l(`div`,vn,[E(`span`,null,b(S(f)(`projectAgents.stats.active`,{count:ft.value})),1),E(`span`,null,b(S(f)(`projectAgents.stats.noOnlineClaim`)),1)])):T(``,!0),!Xe.value&&!Ze.value&&!Je.value.length?(s(),p(_e,{key:1,"personal-space-id":Z.value},null,8,[`personal-space-id`])):T(``,!0),E(`div`,yn,[u(ve,{modelValue:rt.value,"onUpdate:modelValue":n[2]||=e=>rt.value=e,class:`project-agents-project-filter`,compact:``,projects:et.value,label:S(f)(`employees.filterLabel`),hint:S(f)(`employees.filterHint`),"empty-label":S(f)(`employees.filterEmpty`)},null,8,[`modelValue`,`projects`,`label`,`hint`,`empty-label`]),E(`label`,bn,[E(`span`,xn,b(S(f)(`projectAgents.searchLabel`)),1),d(E(`input`,{"onUpdate:modelValue":n[3]||=e=>K.value=e,type:`search`,placeholder:S(f)(`projectAgents.searchPlaceholder`)},null,8,Sn),[[m,K.value]])]),E(`div`,{class:`project-agents-status-filter`,"aria-label":S(f)(`projectAgents.fields.status`)},[(s(!0),l(h,null,i(at.value,e=>(s(),l(`button`,{key:e.value,type:`button`,"aria-pressed":U.value===e.value,onClick:t=>U.value=e.value},b(e.label),9,wn))),128))],8,Cn)]),it.value?(s(),p(Tt,{key:it.value,"personal-space-id":Z.value,"personal-project-id":it.value,"project-name":qt(it.value),agents:P.value,onSelect:n[4]||=e=>q.value=e},null,8,[`personal-space-id`,`personal-project-id`,`project-name`,`agents`])):T(``,!0),Xe.value?(s(),p(N,{key:3,label:S(v).state?S(f)(`projectAgents.loading`):S(f)(`common.status.loadingConsole`)},null,8,[`label`])):Ze.value?(s(),l(`div`,Tn,[E(`p`,null,b(Ze.value),1),E(`button`,{class:`quiet-button`,type:`button`,onClick:Qe},b(S(f)(`projectAgents.retry`)),1)])):P.value.length?st.value.length?(s(),l(`div`,kn,[E(`div`,{class:`project-agent-list`,role:`list`,"aria-label":S(f)(`projectAgents.listLabel`)},[(s(!0),l(h,null,i(st.value,e=>(s(),l(`div`,{key:e.agentId,class:`project-agent-row-shell`},[E(`button`,{type:`button`,class:g([`project-agent-row`,{selected:q.value===e.agentId}]),"aria-current":q.value===e.agentId?`true`:void 0,onClick:t=>q.value=e.agentId},[E(`span`,Mn,[e.profile.occupationEmoji?(s(),l(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${S(f)(`projectAgents.fields.occupationEmoji`)}: ${e.profile.occupationEmoji}`},b(e.profile.occupationEmoji),9,Nn)):T(``,!0),E(`strong`,null,b(e.profile.displayName||e.profile.name),1),E(`i`,Pn,b(So(e.profile.agentType)),1),E(`i`,{class:g([`ui-badge`,`is-${e.profile.status}`])},b(S(f)(`projectAgents.status.${e.profile.status}`)),3)]),E(`span`,Fn,[(s(!0),l(h,null,i(Xt(e).slice(0,3),e=>(s(),l(`b`,{key:e.id},b(e.name),1))),128)),Xt(e).length>3?(s(),l(`b`,In,`+`+b(Xt(e).length-3),1)):T(``,!0),Xt(e).length?T(``,!0):(s(),l(`em`,Ln,b(S(f)(`employees.noAssignedProjects`)),1))]),E(`span`,Rn,b(e.profile.responsibility||S(f)(`projectAgents.notReported`)),1),E(`span`,zn,[bo(e)?(s(),l(h,{key:0},[E(`i`,{class:g([`project-agent-work-dot`,{"is-live":bo(e).status===`running`}]),"aria-hidden":`true`},null,2),w(b(xo(bo(e).status))+` · `+b(bo(e).title),1)],64)):e.workStatus===`blocked`||e.workStatus===`queued`?(s(),l(h,{key:1},[w(b(xo(e.workStatus))+` · `+b(S(f)(`projectAgents.detail.stateReported`)),1)],64)):(s(),l(h,{key:2},[w(b(S(f)(`projectAgents.detail.noRun`)),1)],64))])],10,jn),u(z,{"agent-id":e.agentId},null,8,[`agent-id`])]))),128))],8,An),Q.value?(s(),l(`aside`,{key:0,class:`project-agent-detail`,"aria-label":Q.value.profile.displayName||Q.value.profile.name},[E(`header`,null,[E(`div`,Vn,[E(`h3`,null,[Q.value.profile.occupationEmoji?(s(),l(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${S(f)(`projectAgents.fields.occupationEmoji`)}: ${Q.value.profile.occupationEmoji}`},b(Q.value.profile.occupationEmoji),9,Hn)):T(``,!0),w(b(Q.value.profile.displayName||Q.value.profile.name)+` `,1),u(z,{"agent-id":Q.value.agentId},null,8,[`agent-id`])]),E(`p`,null,[w(b(So(Q.value.profile.agentType)),1),Q.value.isTestRole?(s(),l(`span`,Un,[w(` · `+b(S(f)(`projectAgents.source.testRole`)),1),Q.value.profile.testSource?(s(),l(`span`,Wn,` · `+b(Q.value.profile.testSource),1)):T(``,!0)])):T(``,!0)])]),E(`div`,Gn,[E(`button`,{class:`quiet-button`,type:`button`,disabled:ke.value,onClick:n[5]||=e=>$()},b(S(f)(`projectAgents.detail.refresh`)),9,Kn),E(`button`,{class:`quiet-button`,type:`button`,onClick:n[6]||=e=>tn(Q.value)},b(S(f)(`projectAgents.edit`)),1),Q.value.profile.cleanupEligible?(s(),l(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:ke.value,onClick:n[7]||=e=>Gt(Q.value)},[Ne.value?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.source.cleanupLoading`)},null,8,[`label`])):(s(),l(`span`,Jn,b(S(f)(`projectAgents.source.cleanup`)),1))],8,qn)):T(``,!0)])]),Y.value?(s(),l(`p`,Yn,b(Y.value),1)):T(``,!0),ct.value?(s(),l(`section`,Xn,[E(`div`,Zn,[E(`div`,null,[E(`h4`,Qn,b(lt.value?.management?.mode===`all`?S(f)(`employees.scope.continuousAll`):S(f)(`employees.scope.label`)),1),E(`p`,null,b(S(f)(`employees.assignedCount`,{count:ut.value.length})),1)]),E(`button`,{class:`primary-button`,type:`button`,onClick:n[8]||=e=>en(ct.value)},b(S(f)(`employees.manageProjects`)),1)]),ut.value.length?(s(),l(`div`,$n,[(s(!0),l(h,null,i(ut.value,e=>(s(),p(S(L),{key:e.id,to:`/employees/${encodeURIComponent(ct.value)}?project=${encodeURIComponent(e.id)}`},{default:r(()=>[E(`span`,null,b(e.name),1),n[12]||=E(`svg`,{viewBox:`0 0 20 20`,width:`16`,height:`16`,"aria-hidden":`true`},[E(`path`,{d:`M4 10h12m-5-5 5 5-5 5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]),_:2},1032,[`to`]))),128))])):(s(),l(`p`,er,b(S(f)(`employees.manageHint`)),1))])):T(``,!0),E(`section`,tr,[E(`h4`,null,b(S(f)(`projectAgents.fields.responsibility`)),1),E(`p`,null,b(Q.value.profile.responsibility||S(f)(`projectAgents.notReported`)),1),Q.value.profile.capabilities.length?(s(),l(`div`,nr,[(s(!0),l(h,null,i(Q.value.profile.capabilities,e=>(s(),l(`span`,{key:e},b(e),1))),128))])):T(``,!0)]),E(`div`,rr,[u(kt,e(Et(`tasks`),{label:Dt(`tasks`),onRetry:$}),{default:r(()=>[je.value[Q.value.agentId]?(s(),l(`p`,ir,b(S(f)(`agentProfiles.partial`)),1)):T(``,!0),E(`section`,ar,[E(`div`,or,[E(`h4`,null,b(S(f)(`projectAgents.sections.tasks`)),1),E(`span`,null,b(Q.value.tasks?.length??0),1)]),Q.value.tasks?.length?(s(),l(`div`,sr,[(s(!0),l(h,null,i(Q.value.tasks,e=>(s(),l(`article`,{id:`task-${e.taskId}`,key:e.taskId,class:g([`ui-card project-agent-task-card`,{"is-linked":e.taskId===S(j).query.task}])},[E(`header`,null,[E(`div`,null,[E(`strong`,null,b(e.title),1),E(`small`,null,b(qt(e.personalProjectId)),1)]),E(`i`,{class:g([`ui-badge`,`is-${e.status}`])},b(xo(e.status)),3)]),e.resultSummary||e.failureReason?(s(),l(`p`,lr,b(e.resultSummary||e.failureReason),1)):T(``,!0),E(`small`,null,b(S(f)(`projectAgents.fields.collaborators`))+` · `+b(e.participants.length),1),e.participants.length?(s(),l(`div`,ur,[(s(!0),l(h,null,i(e.participants,t=>(s(),l(`span`,{key:`${e.taskId}:${t.agentId}`},b(P.value.find(e=>e.agentId===t.agentId)?.profile.displayName||P.value.find(e=>e.agentId===t.agentId)?.profile.name||t.agentId)+` · `+b(mo(t.role)),1))),128))])):T(``,!0),u(Lt,{task:e,"project-name":qt(e.personalProjectId)},null,8,[`task`,`project-name`]),E(`details`,{class:`ui-disclosure project-agent-disclosure`,open:e.taskId===S(j).query.task,onToggle:t=>xe(e.taskId,t),"data-task-details":``},[E(`summary`,null,b(S(f)(`projectAgents.taskDetails`)),1),u(de,{task:e,"personal-space-id":Z.value,active:le.value.has(e.taskId)},null,8,[`task`,`personal-space-id`,`active`]),E(`small`,null,b(e.taskId),1),e.executionSummary===void 0?T(``,!0):(s(),l(`section`,{key:0,class:`project-agent-execution-summary`,"aria-label":S(f)(`projectAgents.fields.executionSummary`)},[E(`div`,pr,[E(`h5`,null,b(S(f)(`projectAgents.fields.executionSummary`)),1),E(`span`,null,b(e.executionSummary.length),1)]),e.executionSummary.length?(s(),l(`div`,{key:0,class:`project-agent-execution-summary-table-wrap`,role:`region`,tabindex:`0`,"aria-label":S(f)(`projectAgents.fields.executionSummary`)},[E(`table`,hr,[E(`caption`,gr,b(S(f)(`projectAgents.fields.executionSummary`)),1),E(`thead`,null,[E(`tr`,null,[E(`th`,_r,b(S(f)(`projectAgents.fields.worker`)),1),E(`th`,vr,b(S(f)(`projectAgents.fields.workSummary`)),1),E(`th`,yr,b(S(f)(`projectAgents.fields.toolsUsed`)),1),E(`th`,br,b(S(f)(`projectAgents.fields.executionEnvironment`)),1),E(`th`,xr,b(S(f)(`projectAgents.fields.sourceSession`)),1),E(`th`,Sr,b(S(f)(`projectAgents.fields.tokenUsage`)),1),E(`th`,Cr,b(S(f)(`projectAgents.fields.terminalStatus`)),1)])]),E(`tbody`,null,[(s(!0),l(h,null,i(e.executionSummary,(t,n)=>(s(),l(`tr`,{key:e.taskId+`:execution:`+(t.workerId||t.agentId||n),class:`project-agent-execution-summary-row`},[E(`th`,wr,[E(`span`,Tr,[fo(t)?(s(),l(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":S(f)(`projectAgents.fields.occupationEmoji`)+`: `+fo(t)},b(fo(t)),9,Er)):T(``,!0),w(` `+b(uo(t)),1)]),t.agentId||t.workerId?(s(),l(`small`,Dr,b(t.workerId||t.agentId),1)):T(``,!0),E(`small`,null,b(mo(t.participantRole)),1)]),E(`td`,{"data-label":S(f)(`projectAgents.fields.workSummary`)},b(t.workSummary||S(f)(`projectAgents.notReported`)),9,Or),E(`td`,{"data-label":S(f)(`projectAgents.fields.toolsUsed`)},b(t.toolsUsed?t.toolsUsed.join(` · `)||S(f)(`projectAgents.noToolsUsed`):S(f)(`projectAgents.notReported`)),9,kr),E(`td`,{"data-label":S(f)(`projectAgents.fields.executionEnvironment`)},[E(`strong`,null,b(t.executor||S(f)(`projectAgents.notReported`)),1),t.executorId&&t.executorId!==t.executor?(s(),l(`small`,jr,b(t.executorId),1)):T(``,!0),t.actualModelProvider||t.actualModel?(s(),l(`small`,Mr,b([t.actualModelProvider,t.actualModel].filter(Boolean).join(` · `)),1)):T(``,!0)],8,Ar),E(`td`,{"data-label":S(f)(`projectAgents.fields.sourceSession`)},[E(`span`,null,[t.workerRuntime?(s(),l(h,{key:0},[w(b(S(f)(`projectAgents.fields.workerSession`))+` · `,1)],64)):T(``,!0),w(b(Co(t.workerRuntime?.application||t.sourceApplication)),1)]),_o(t)?(s(),l(`a`,{key:0,href:_o(t)||void 0,target:`_blank`,rel:`noreferrer`},b(yo(t)||_o(t)),9,Pr)):(s(),l(`small`,Fr,b(yo(t)||S(f)(`projectAgents.notReported`)),1)),t.workerRuntime?(s(),l(h,{key:2},[E(`small`,Ir,b(S(f)(`projectAgents.fields.reporterSession`))+` · `+b(Co(t.sourceApplication)),1),vo(t.sourceSessionUrl)?(s(),l(`a`,{key:0,href:vo(t.sourceSessionUrl)||void 0,target:`_blank`,rel:`noreferrer`},b(t.sourceSessionId||t.sourceSessionUrl),9,Lr)):(s(),l(`small`,Rr,b(t.sourceSessionId||S(f)(`projectAgents.notReported`)),1))],64)):T(``,!0)],8,Nr),E(`td`,{"data-label":S(f)(`projectAgents.fields.tokenUsage`)},b(go(t.tokenUsage)),9,zr),E(`td`,{"data-label":S(f)(`projectAgents.fields.terminalStatus`)},[t.status?(s(),l(`i`,{key:0,class:g(`is-`+t.status)},b(po(t.status)),3)):(s(),l(`span`,Vr,b(S(f)(`projectAgents.notReported`)),1))],8,Br)]))),128))])])],8,mr)):(s(),l(`p`,Hr,b(S(f)(`projectAgents.detail.noExecutionSummary`)),1))],8,fr)),S(te)(e).length?(s(),l(`section`,{key:1,class:`project-agent-worker-event-evidence`,"aria-label":S(f)(`projectAgents.fields.workerEventEvidence`)},[E(`div`,Wr,[E(`h5`,null,b(S(f)(`projectAgents.fields.workerEventEvidence`)),1),E(`span`,null,b(S(te)(e).length),1)]),E(`ul`,Gr,[(s(!0),l(h,null,i(S(te)(e),t=>(s(),l(`li`,{key:`${e.taskId}:worker-event:${t.eventId}`,class:`project-agent-worker-event-row`},[E(`header`,null,[E(`strong`,null,[co(t)?(s(),l(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${S(f)(`projectAgents.fields.occupationEmoji`)}: ${co(t)}`},b(co(t)),9,Kr)):T(``,!0),w(b(so(t)),1),t.agentId?(s(),l(`small`,qr,b(S(f)(`projectAgents.fields.agentId`))+` · `+b(t.agentId),1)):T(``,!0)]),E(`i`,{class:g(`is-${t.workerStatus||t.status}`)},b(lo(t)),3)]),E(`dl`,Jr,[E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.workSummary`)),1),E(`dd`,null,b(t.summary||S(f)(`projectAgents.notReported`)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.sourceApplication`)),1),E(`dd`,null,b(Co(t.sourceApplication)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.sourceSession`)),1),E(`dd`,null,b(t.sourceSessionId||S(f)(`projectAgents.notReported`)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.tokenUsage`)),1),E(`dd`,null,b(go(t.tokenUsage)),1)]),t.actualModelProvider||t.actualModel?(s(),l(`div`,Yr,[E(`dt`,null,b(S(f)(`projectAgents.fields.actualModel`)),1),E(`dd`,null,[t.actualModelProvider?(s(),l(`span`,Xr,b(t.actualModelProvider),1)):T(``,!0),t.actualModelProvider&&t.actualModel?(s(),l(`span`,Zr,` · `)):T(``,!0),t.actualModel?(s(),l(`span`,Qr,b(t.actualModel),1)):T(``,!0)])])):T(``,!0),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.reportedAt`)),1),E(`dd`,null,b(ln(t.createdAt)),1)])])]))),128))])],8,Ur)):T(``,!0),e.effectiveModelStrategy?(s(),l(`small`,$r,b(S(f)(`projectAgents.fields.strategySource`))+` · `+b(e.modelStrategySource||S(f)(`projectAgents.notReported`))+` · `+b(no(e.effectiveModelStrategy))+` · `+b(ro(e.effectiveExecutorPolicy)),1)):T(``,!0),e.routingDecision?(s(),l(`div`,ei,[E(`div`,ti,[E(`span`,null,b(S(f)(`projectAgents.fields.reportedStaffingDecision`)),1),E(`strong`,null,b(e.routingDecision.outcome||S(f)(`projectAgents.notReported`)),1)]),e.routingDecision.coordinatorAgentId||e.coordinatorAgentId?(s(),l(`small`,ni,b(S(f)(`projectAgents.fields.coordinator`))+` · `+b(e.routingDecision.coordinatorAgentId||e.coordinatorAgentId),1)):T(``,!0),E(`small`,null,b(S(f)(`projectAgents.fields.matchBasis`))+` · `+b(e.routingDecision.matchBasis?.join(` · `)||S(f)(`projectAgents.notReported`))+` · `+b(e.routingDecision.reason||S(f)(`projectAgents.notReported`)),1),e.routingDecision.candidateAgentIds?.length?(s(),l(`small`,ri,b(S(f)(`projectAgents.fields.candidateAgents`))+` · `+b(e.routingDecision.candidateAgentIds.join(` · `)),1)):T(``,!0),e.routingDecision.complexity!==null&&e.routingDecision.complexity!==void 0?(s(),l(`small`,ii,[w(b(S(f)(`projectAgents.fields.complexity`))+` · `+b(e.routingDecision.complexity),1),e.routingDecision.complexityBasis?.length?(s(),l(`span`,ai,` · `+b(e.routingDecision.complexityBasis.join(` · `)),1)):T(``,!0)])):T(``,!0),S(ie)(e.routingDecision.parallelPlan)?(s(),l(`small`,oi,[w(b(S(f)(`projectAgents.fields.parallelPlan`))+` · `+b(e.routingDecision.parallelPlan?.reason||S(f)(`projectAgents.notReported`)),1),e.routingDecision.parallelPlan?.workstreamBoundaries?.length?(s(),l(`span`,si,` · `+b(e.routingDecision.parallelPlan.workstreamBoundaries.join(` · `)),1)):T(``,!0)])):T(``,!0),e.routingDecision.ruleId||e.routingDecision.fallback?(s(),l(`small`,ci,b(e.routingDecision.ruleId||S(f)(`projectAgents.notReported`))+` · `+b(e.routingDecision.fallback||S(f)(`projectAgents.notReported`)),1)):T(``,!0)])):T(``,!0),E(`div`,li,[E(`span`,null,b(S(f)(`projectAgents.fields.actualExecution`)),1),oo(e)?(s(),l(`strong`,ui,b(oo(e)?.executor||oo(e)?.provider||S(f)(`projectAgents.notReported`))+` / `+b(oo(e)?.model||S(f)(`projectAgents.notReported`))+` / `+b(Co(oo(e)?.client)),1)):(s(),l(`span`,di,b(S(f)(`projectAgents.detail.notReportedActualExecution`)),1)),oo(e)?.rule||oo(e)?.fallback?(s(),l(`small`,fi,b(oo(e)?.rule||S(f)(`projectAgents.notReported`))+` · `+b(oo(e)?.fallback||S(f)(`projectAgents.notReported`)),1)):T(``,!0)]),e.runId?(s(),l(`small`,pi,b(S(f)(`projectAgents.fields.run`))+` · `+b(e.runId),1)):(s(),l(`small`,mi,b(S(f)(`projectAgents.detail.noRun`)),1))],40,dr)],10,cr))),128))])):je.value[Q.value.agentId]?T(``,!0):(s(),l(`p`,hi,b(S(f)(`projectAgents.detail.noTasks`)),1))])]),_:1},16,[`label`])]),E(`details`,gi,[E(`summary`,null,b(S(f)(`projectAgents.sections.assignments`)),1),E(`div`,_i,[u(kt,e(Et(`assignments`),{label:Dt(`assignments`),onRetry:$}),{default:r(()=>[E(`section`,vi,[E(`div`,yi,[E(`h4`,null,b(S(f)(`projectAgents.sections.assignments`)),1),E(`div`,bi,[E(`span`,null,b(Jt(Q.value).length),1),E(`button`,{class:`quiet-button`,type:`button`,onClick:n[9]||=e=>rn(Q.value)},b(S(f)(`projectAgents.assignmentDialog.assign`)),1)])]),Jt(Q.value).length?(s(),l(`div`,xi,[(s(!0),l(h,null,i(Jt(Q.value),e=>(s(),l(`article`,{key:e.assignmentId,class:`ui-card project-agent-assignment-card`},[E(`header`,null,[E(`strong`,null,b(qt(e.personalProjectId)),1),E(`div`,Si,[E(`i`,{class:g([`ui-badge`,`is-${e.status}`])},b(S(f)(`projectAgents.assignmentStatus.${e.status}`)),3),e.status===`active`?(s(),l(`button`,{key:0,class:`quiet-button`,type:`button`,onClick:t=>rn(Q.value,e,`end`)},b(S(f)(`projectAgents.assignmentDialog.end`)),9,Ci)):T(``,!0),e.status===`active`?(s(),l(`button`,{key:1,class:`quiet-button`,type:`button`,onClick:t=>rn(Q.value,e,`replace`)},b(S(f)(`projectAgents.assignmentDialog.replace`)),9,wi)):T(``,!0)])]),E(`p`,null,b(e.responsibility||S(f)(`projectAgents.notReported`)),1),e.scope?(s(),l(`small`,Ti,b(S(f)(`projectAgents.fields.scope`))+` · `+b(e.scope),1)):T(``,!0),E(`small`,null,b(ln(e.assignedAt))+` → `+b(e.endedAt?ln(e.endedAt):S(f)(`projectAgents.assignmentStatus.${e.status}`)),1),e.workKinds?.length?(s(),l(`div`,Ei,[(s(!0),l(h,null,i(e.workKinds,e=>(s(),l(`span`,{key:e},b(e),1))),128))])):T(``,!0),E(`div`,Di,[E(`span`,null,b(S(f)(`projectAgents.fields.assignmentModel`)),1),E(`strong`,null,b(no(e.modelStrategyOverride))+` · `+b(ro(e.executorPolicyOverride)),1),io(e.executorPolicyOverride)&&!ao(e.executorPolicyOverride).length?(s(),l(`small`,Oi,b(S(f)(`projectAgents.strategy.lockedUnavailable`)),1)):T(``,!0)]),ao(e.executorPolicyOverride).length?(s(),l(`div`,ki,[(s(!0),l(h,null,i(ao(e.executorPolicyOverride),e=>(s(),l(`span`,{key:e.executorId},b(e.label||e.executorId),1))),128))])):T(``,!0),e.reason?(s(),l(`small`,Ai,b(S(f)(`projectAgents.fields.reason`))+` · `+b(e.reason),1)):T(``,!0)]))),128))])):(s(),l(`p`,ji,b(S(f)(`projectAgents.detail.noAssignments`)),1))])]),_:1},16,[`label`])])]),E(`details`,Mi,[E(`summary`,null,b(S(f)(`projectAgents.sections.activity`)),1),E(`div`,Ni,[u(kt,e(Et(`activity`),{label:Dt(`activity`),onRetry:$}),{default:r(()=>[E(`section`,Pi,[E(`div`,Fi,[E(`h4`,null,b(S(f)(`projectAgents.sections.activity`)),1),gt.value?(s(),l(`span`,Ii,b(gt.value.days.length),1)):T(``,!0)]),gt.value?.days.length?(s(),l(`div`,Li,[E(`div`,{class:`project-agent-heatmap`,role:`list`,"aria-label":S(f)(`projectAgents.activity.aria`)},[(s(!0),l(h,null,i(gt.value.days,e=>(s(),l(`button`,{key:e.date,type:`button`,role:`listitem`,class:g([`project-agent-heat-cell`,`intensity-${jo(e,gt.value)}`,{selected:Me.value===e.date}]),"aria-label":`${un(e.date)} · ${e.total}`,"aria-pressed":Me.value===e.date,onClick:t=>Mo(e)},[E(`span`,Bi,b(un(e.date))+` · `+b(e.total),1)],10,zi))),128))],8,Ri),_t.value?(s(),l(`article`,Vi,[E(`header`,null,[E(`strong`,null,b(un(_t.value.date)),1),E(`span`,null,b(_t.value.total),1)]),_t.value.tasks?.length?(s(),l(`ul`,Ui,[(s(!0),l(h,null,i(_t.value.tasks,e=>(s(),l(`li`,{key:e.taskId},[E(`strong`,null,b(e.title),1),E(`span`,null,b(xo(e.status))+` · `+b(qt(e.personalProjectId)),1),E(`small`,null,b(e.summary||S(f)(`projectAgents.notReported`)),1)]))),128))])):(s(),l(`p`,Hi,b(S(f)(`projectAgents.activity.noTasks`)),1))])):T(``,!0)])):(s(),l(`p`,Wi,b(S(f)(`projectAgents.activity.empty`)),1))])]),_:1},16,[`label`])])]),Q.value.memoryScope===`reviewed_agent`?(s(),p(ue,{key:Q.value.agentId,"personal-space-id":Z.value,"agent-id":Q.value.agentId,projects:dt.value},null,8,[`personal-space-id`,`agent-id`,`projects`])):T(``,!0),Q.value.memoryScope===`reviewed_agent`?(s(),p(Ut,{key:3,"personal-space-id":Z.value,"agent-id":Q.value.agentId,projects:dt.value},null,8,[`personal-space-id`,`agent-id`,`projects`])):T(``,!0),E(`details`,Gi,[E(`summary`,null,b(S(f)(`projectAgents.profileDetails`)),1),E(`dl`,Ki,[E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.assignments`)),1),E(`dd`,null,b(Yt(Q.value).length),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.memoryScope`)),1),E(`dd`,null,b(Q.value.memoryScope??S(f)(`projectAgents.notReported`)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.status`)),1),E(`dd`,null,b(S(f)(`projectAgents.status.${Q.value.profile.status}`)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.recruitment`)),1),E(`dd`,null,[w(b(Co(Q.value.recruitmentSourceApplication)),1),Q.value.recruitmentReason?(s(),l(`small`,qi,b(Q.value.recruitmentReason),1)):T(``,!0)])]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.fields.updatedAt`)),1),E(`dd`,null,b(ln(Q.value.updatedAt)),1)])])]),E(`details`,{class:`ui-disclosure project-agent-disclosure`,open:yt.value.some(e=>e.status===`awaiting_confirmation`)},[E(`summary`,null,b(S(f)(`projectAgents.sections.recruitment`)),1),E(`div`,Yi,[u(kt,e(Et(`recruitments`),{label:Dt(`recruitments`),onRetry:$}),{default:r(()=>[E(`section`,Xi,[E(`div`,Zi,[E(`h4`,Qi,b(S(f)(`projectAgents.sections.recruitment`)),1),E(`span`,null,b(yt.value.length),1)]),yt.value.length?(s(),l(`div`,$i,[(s(!0),l(h,null,i(yt.value,e=>(s(),l(`article`,{key:e.recruitmentId,class:`ui-card project-agent-recruitment-card`},[E(`header`,null,[E(`strong`,null,b(e.positionKind)+` · `+b(e.workKind||S(f)(`projectAgents.notReported`)),1),E(`div`,ea,[E(`i`,ta,b(e.status),1),e.status===`awaiting_confirmation`?(s(),l(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>Pt(e,`approve`)},[X.value===e.recruitmentId&&Le.value===`approve`?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.recruitment.approving`)},null,8,[`label`])):(s(),l(`span`,ra,b(S(f)(`projectAgents.recruitment.approve`)),1))],8,na)):T(``,!0),e.status===`awaiting_confirmation`?(s(),l(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>Pt(e,`cancel`)},[X.value===e.recruitmentId&&Le.value===`cancel`?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.recruitment.cancelling`)},null,8,[`label`])):(s(),l(`span`,aa,b(S(f)(`projectAgents.recruitment.cancel`)),1))],8,ia)):T(``,!0)])]),E(`dl`,oa,[E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.recruitment.hr`)),1),E(`dd`,null,b(e.hrAgentId||S(f)(`projectAgents.notReported`)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.recruitment.trigger`)),1),E(`dd`,null,b(Co(e.triggerSourceApplication)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.recruitment.reason`)),1),E(`dd`,null,b(e.reason||e.reasonCode||S(f)(`projectAgents.notReported`)),1)]),E(`div`,null,[E(`dt`,null,b(S(f)(`projectAgents.recruitment.time`)),1),E(`dd`,null,b(ln(e.fulfilledAt||e.createdAt)),1)])]),E(`small`,null,b(S(f)(`projectAgents.recruitment.testSource`))+` · `+b(e.testSource||S(f)(`projectAgents.notReported`)),1)]))),128))])):(s(),l(`p`,sa,b(S(f)(`projectAgents.recruitment.empty`)),1))])]),_:1},16,[`label`])])],8,Ji),(s(),l(`details`,{key:`advanced:${Q.value.agentId}`,class:`ui-disclosure project-agent-disclosure`,"data-agent-advanced":``},[E(`summary`,null,b(S(f)(`projectAgents.advanced`)),1),E(`div`,ca,[u(kt,e(Et(`executors`),{label:Dt(`executors`),onRetry:$}),{default:r(()=>[E(`section`,la,[E(`div`,ua,[E(`h4`,null,b(S(f)(`projectAgents.sections.strategy`)),1),E(`span`,null,b(no(Q.value.profile.defaultModelStrategy))+` · `+b(ro(Q.value.profile.executorPolicy)),1)]),E(`p`,da,b(S(f)(`projectAgents.strategy.providerNeutral`)),1),ao(Q.value.profile.executorPolicy).length?(s(),l(`div`,fa,[(s(!0),l(h,null,i(ao(Q.value.profile.executorPolicy),e=>(s(),l(`span`,{key:e.executorId},b(e.label||e.executorId),1))),128))])):io(Q.value.profile.executorPolicy)?(s(),l(`p`,pa,b(S(f)(`projectAgents.strategy.lockedUnavailable`)),1)):(s(),l(`p`,ma,b(S(f)(`projectAgents.strategy.noAllowList`)),1)),E(`div`,ha,[E(`button`,{class:`quiet-button`,type:`button`,onClick:n[10]||=e=>It()},b(S(f)(`projectAgents.routing.addExecutor`)),1)]),Q.value.executorDirectory?.length?(s(),l(`div`,ga,[(s(!0),l(h,null,i(Q.value.executorDirectory,e=>(s(),l(`div`,{key:e.executorId,class:`project-agent-executor-row`},[E(`strong`,null,b(e.displayName||e.label||e.executorId),1),E(`span`,null,b(e.provider||S(f)(`projectAgents.notReported`))+` / `+b(e.model||S(f)(`projectAgents.notReported`)),1),E(`span`,null,b(e.globalPriority??S(f)(`projectAgents.notReported`)),1),E(`small`,null,b(e.registrationStatus||S(f)(`projectAgents.notReported`))+` · `+b(e.permissionStatus||S(f)(`projectAgents.notReported`))+` · `+b(e.preflightStatus||S(f)(`projectAgents.strategy.availabilityUnreported`))+` · `+b(e.healthStatus||S(f)(`projectAgents.notReported`)),1),E(`button`,{class:`quiet-button`,type:`button`,onClick:t=>It(e)},b(S(f)(`projectAgents.routing.editExecutor`)),9,_a),e.permissionStatus===`authorized`?(s(),l(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!Re.value,onClick:t=>Ft(e,`revoked`)},[Re.value===e.executorId&&ze.value===`revoke`?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.routing.revoking`)},null,8,[`label`])):(s(),l(`span`,xa,b(S(f)(`projectAgents.routing.revoke`)),1))],8,ba)):(s(),l(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!Re.value,onClick:t=>Ft(e,`authorized`)},[Re.value===e.executorId&&ze.value===`authorize`?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.routing.authorizing`)},null,8,[`label`])):(s(),l(`span`,ya,b(S(f)(`projectAgents.routing.authorize`)),1))],8,va))]))),128))])):T(``,!0)])]),_:1},16,[`label`])]),E(`div`,Sa,[u(kt,e(Et(`executors`),{label:Dt(`executors`),onRetry:$}),{default:r(()=>[E(`section`,Ca,[E(`div`,wa,[E(`h4`,null,b(S(f)(`projectAgents.sections.clients`)),1),E(`span`,null,b(wo(Q.value).length),1)]),wo(Q.value).length?(s(),l(`div`,Ta,[(s(!0),l(h,null,i(wo(Q.value),e=>(s(),l(`div`,{key:e,class:`project-agent-client-row`},[E(`strong`,null,b(Co(e)),1),E(`span`,null,b(To(Q.value,e)?.allowed||Q.value.profile.allowedClients?.includes(e)?S(f)(`projectAgents.clients.allowed`):S(f)(`projectAgents.clients.notAllowed`)),1),Eo(Q.value,e)?(s(),l(`span`,Ea,b(S(f)(`projectAgents.clients.observed`,{count:Eo(Q.value,e)})),1)):Q.value.observedClients?.includes(e)?(s(),l(`span`,Da,b(S(f)(`projectAgents.clients.observedAny`)),1)):(s(),l(`span`,Oa,b(S(f)(`projectAgents.clients.unreported`)),1)),E(`small`,null,b(To(Q.value,e)?.integrationStatus||S(f)(`projectAgents.clients.integrationUnreported`)),1)]))),128))])):(s(),l(`p`,ka,b(S(f)(`projectAgents.clients.empty`)),1))])]),_:1},16,[`label`])]),E(`div`,Aa,[u(kt,e(Et(`routingRules`),{label:Dt(`routingRules`),onRetry:$}),{default:r(()=>[E(`section`,ja,[E(`div`,Ma,[E(`h4`,null,b(S(f)(`projectAgents.sections.routing`)),1),E(`div`,Na,[E(`span`,null,b(Q.value.routingRules?.length??0),1),E(`button`,{class:`quiet-button`,type:`button`,onClick:n[11]||=e=>Rt()},b(S(f)(`projectAgents.routing.addRule`)),1)])]),Q.value.routingRules?.length?(s(),l(`div`,Pa,[(s(!0),l(h,null,i(Q.value.routingRules,e=>(s(),l(`div`,{key:e.ruleId,class:`project-agent-rule-row`},[E(`strong`,null,b(e.scope)+` · `+b(e.priority),1),E(`span`,null,b(e.workKind||e.reason||S(f)(`projectAgents.notReported`))+` · `+b(e.executorIds?.join(`, `)||S(f)(`projectAgents.notReported`)),1),e.enabled?(s(),l(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>Wt(e)},[X.value===`rule:${e.ruleId}`&&Le.value===`disable`?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.routing.disabling`)},null,8,[`label`])):(s(),l(`span`,Ia,b(S(f)(`projectAgents.routing.disable`)),1))],8,Fa)):T(``,!0)]))),128))])):(s(),l(`p`,La,b(S(f)(`projectAgents.routing.empty`)),1)),E(`small`,Ra,b(S(f)(`projectAgents.routing.priorityNote`)),1)])]),_:1},16,[`label`])]),E(`div`,za,[u(kt,e(Et(`learning`),{label:Dt(`learning`),onRetry:$}),{default:r(()=>[E(`section`,Ba,[E(`div`,Va,[E(`h4`,null,b(S(f)(`projectAgents.sections.learning`)),1),E(`span`,null,b(vt.value.length),1)]),vt.value.length?(s(),l(`div`,Ha,[(s(!0),l(h,null,i(vt.value,([e,t])=>(s(),l(`article`,{key:e,class:`ui-card project-agent-learning-card`},[E(`header`,null,[E(`strong`,null,b(e),1),E(`i`,Ua,b(Oo(t)),1)]),t.personalProjectId||t.workKind||t.executor||t.modelStrategy?(s(),l(`small`,Wa,b(qt(t.personalProjectId))+` · `+b(t.workKind||S(f)(`projectAgents.notReported`))+` · `+b(t.executor||S(f)(`projectAgents.notReported`))+` / `+b(t.modelStrategy?no(t.modelStrategy):S(f)(`projectAgents.notReported`)),1)):T(``,!0),E(`p`,null,b(S(f)(`projectAgents.learning.samples`,{count:t.sampleCount}))+` · `+b(S(f)(`projectAgents.learning.recent`,{count:ko(t)})),1),E(`small`,null,b(t.decayBasis||S(f)(`projectAgents.learning.decayUnreported`))+` · `+b(ln(t.updatedAt)),1),t.outcomes?(s(),l(`div`,Ga,[(s(!0),l(h,null,i(t.outcomes,(e,t)=>d((s(),l(`span`,{key:t},b(t)+` · `+b(e??S(f)(`projectAgents.notReported`)),1)),[[x,e!==void 0]])),128)),t.score!==null&&t.score!==void 0?(s(),l(`span`,Ka,b(S(f)(`projectAgents.learning.score`,{score:Ao(t)})),1)):T(``,!0)])):T(``,!0),t.evidence?.length?(s(),l(`ul`,qa,[(s(!0),l(h,null,i(t.evidence,e=>(s(),l(`li`,{key:`${e.evidenceId}:${e.kind}:${e.occurredAt}`},[E(`span`,null,b(e.kind)+` · `+b(e.count??0)+` · `+b(e.summary||S(f)(`projectAgents.notReported`)),1),e.evidenceId?(s(),l(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!Fe.value,onClick:n=>Nt(t,`ignore`,e.evidenceId)},[Fe.value===e.evidenceId&&Ie.value===`ignore`?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.learning.ignoring`)},null,8,[`label`])):(s(),l(`span`,Ya,b(S(f)(`projectAgents.learning.ignore`)),1))],8,Ja)):T(``,!0)]))),128))])):T(``,!0),t.learningKey?(s(),l(`div`,Xa,[E(`button`,{class:`quiet-button`,type:`button`,disabled:!!Fe.value||!t.personalProjectId||!t.workKind||!t.executor,onClick:e=>Nt(t,`reset`)},[Fe.value===t.learningKey&&Ie.value===`reset`?(s(),p(N,{key:0,variant:`inline`,label:S(f)(`projectAgents.learning.resetting`)},null,8,[`label`])):(s(),l(`span`,Qa,b(S(f)(`projectAgents.learning.reset`)),1))],8,Za)])):T(``,!0)]))),128))])):(s(),l(`p`,$a,b(S(f)(`projectAgents.learning.empty`)),1)),E(`small`,eo,b(S(f)(`projectAgents.learning.note`)),1)])]),_:1},16,[`label`])])]))],8,Bn)):(s(),l(`div`,to,b(S(f)(`projectAgents.detail.choose`)),1))])):(s(),l(`div`,On,[E(`strong`,null,b(S(f)(`projectAgents.noMatchTitle`)),1),E(`p`,null,b(S(f)(`projectAgents.noMatchCopy`)),1)])):(s(),l(`div`,En,[E(`strong`,null,b(S(f)(`projectAgents.emptyTitle`)),1),E(`p`,null,b(S(f)(`projectAgents.emptyCopy`)),1),E(`button`,{class:`primary-button`,type:`button`,disabled:!Z.value,onClick:$t},b(S(f)(`projectAgents.add`)),9,Dn)])),u(dn,{open:Ce.value,agent:J.value,projects:Je.value,"default-project-id":ht.value,"personal-space-id":Z.value,onClose:nn,onSaved:cn},null,8,[`open`,`agent`,`projects`,`default-project-id`,`personal-space-id`]),u(Pe,{open:Ee.value,agent:J.value,assignment:Oe.value,action:De.value,projects:Je.value,"available-agents":P.value,"default-project-id":ht.value,onClose:an,onSaved:on,onChanged:sn},null,8,[`open`,`agent`,`assignment`,`action`,`projects`,`available-agents`,`default-project-id`]),u(ot,{open:Be.value,mode:Ve.value,"personal-space-id":Z.value,executor:He.value,rule:Ue.value,projects:Je.value,"available-executors":Q.value?.executorDirectory??[],onClose:zt,onSaved:Ht},null,8,[`open`,`mode`,`personal-space-id`,`executor`,`rule`,`projects`,`available-executors`])],8,fn))}}),[[`__scopeId`,`data-v-61d39661`]]);export{no as default};
@@ -1 +1 @@
1
- .project-agent-assignment-fields[data-v-0c51a000]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-agent-assignment-wide[data-v-0c51a000]{grid-column:1/-1}@media (width<=620px){.project-agent-assignment-fields[data-v-0c51a000]{grid-template-columns:1fr}.project-agent-assignment-wide[data-v-0c51a000]{grid-column:auto}}.executor-routing-fields[data-v-7120b758]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.executor-routing-wide[data-v-7120b758]{grid-column:1/-1}.executor-routing-fields p[data-v-7120b758]{margin:0}@media (width<=620px){.executor-routing-fields[data-v-7120b758]{grid-template-columns:1fr}.executor-routing-wide[data-v-7120b758]{grid-column:auto}}.project-team[data-v-881ab823]{border-top:1px solid var(--color-border);grid-column:1/-1;min-width:0;padding-block:12px}.project-team-peers[data-v-881ab823]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-team-peers[data-v-881ab823]>*{background:var(--color-surface-subtle);border:1px solid var(--color-border-strong);color:var(--color-ink);border-radius:6px;padding:7px 10px;font-size:12px}.project-team-summary[data-v-881ab823]{color:var(--color-muted);margin:9px 0;font-size:12px}.project-team-members[data-v-881ab823]{gap:9px;margin:10px 0 16px 18px;padding:0;list-style:none;display:grid}.project-team-members button[data-v-881ab823]{text-align:start;max-width:100%;color:var(--color-ink);background:0 0;border:0;gap:3px;display:grid}.project-team-members span[data-v-881ab823]{color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.project-team summary[data-v-881ab823]{cursor:pointer;font-size:12px}.team-lead-field[data-v-881ab823]{max-width:360px;margin-block:14px}.project-team fieldset[data-v-881ab823]{border:0;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:0;display:flex}.project-team fieldset label[data-v-881ab823]{align-items:center;gap:5px;font-size:12px;display:flex}.project-team legend[data-v-881ab823]{margin-bottom:8px;font-size:12px}.project-agent-automation-policy[data-v-881ab823]{border-block:1px solid var(--color-border);grid-template-columns:minmax(110px,150px) minmax(0,1fr);align-items:center;gap:14px;padding:11px 0;display:grid}.project-agent-automation-policy>header[data-v-881ab823]{min-width:0}.project-agent-automation-policy h3[data-v-881ab823]{color:var(--color-ink);font-size:12px;line-height:1.35}.project-agent-automation-policy header span[data-v-881ab823]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.project-agent-policy-options[data-v-881ab823]{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.project-agent-policy-options label[data-v-881ab823]{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:2px 16px;display:grid}.project-agent-policy-options label+label[data-v-881ab823]{border-inline-start:1px solid var(--color-border)}.project-agent-policy-options label>span[data-v-881ab823]{gap:3px;min-width:0;display:grid}.project-agent-policy-options strong[data-v-881ab823]{color:var(--color-ink);font-size:12px;line-height:1.4}.project-agent-policy-options small[data-v-881ab823]{max-width:54ch;color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.project-agent-policy-options input[data-v-881ab823]{appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface-subtle);cursor:pointer;border-radius:999px;width:34px;height:19px;margin:0;transition:background-color .14s ease-out,border-color .14s ease-out;position:relative}.project-agent-policy-options input[data-v-881ab823]:after{background:var(--color-surface);content:"";border-radius:50%;width:13px;height:13px;transition:transform .14s ease-out;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #24372c38}.project-agent-policy-options input[data-v-881ab823]:checked{border-color:var(--color-ink);background:var(--color-muted)}.project-agent-policy-options input[data-v-881ab823]:checked:after{transform:translate(15px)}.project-agent-policy-options input[data-v-881ab823]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.project-agent-policy-options input[data-v-881ab823]:disabled{cursor:wait;opacity:.62}.project-agent-policy-feedback[data-v-881ab823]{grid-column:2;min-height:14px;padding-inline:16px}.project-agent-policy-state[data-v-881ab823],.project-agent-policy-feedback p[data-v-881ab823]{color:var(--color-muted);font-size:12px;line-height:1.45}.project-agent-policy-feedback p[role=alert][data-v-881ab823]{color:var(--color-danger)}.project-agent-policy-feedback button[data-v-881ab823]{color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;margin-inline-start:6px;padding:0;font-weight:700}@media (width<=760px){.project-agent-automation-policy[data-v-881ab823],.project-agent-policy-options[data-v-881ab823]{grid-template-columns:minmax(0,1fr)}.project-agent-policy-options label[data-v-881ab823]{padding:8px 0}.project-agent-policy-options label+label[data-v-881ab823]{border-inline-start:0;border-block-start:1px solid var(--color-border)}.project-agent-policy-feedback[data-v-881ab823]{grid-column:1;padding-inline:0}}.project-agent-source-state[data-v-4f121023]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding:10px 12px;font-size:12px;display:flex}.project-agent-source-state.is-error[data-v-4f121023]{border-color:var(--color-danger-soft);background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-task-diagnostics[data-v-f960dcef]{color:#334b3c;background:#f1f5f2;border-radius:8px;margin:12px 0;padding:12px}.project-agent-task-diagnostics dl[data-v-f960dcef]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.project-agent-task-diagnostics dt[data-v-f960dcef]{color:#65766b;margin-bottom:4px;font-size:11px}.project-agent-task-diagnostics dd[data-v-f960dcef]{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.project-agent-task-diagnostics small[data-v-f960dcef]{color:#65766b;overflow-wrap:anywhere;margin-top:4px;font-size:11px;display:block}.project-agent-task-diagnostics p[data-v-f960dcef]{color:#52665a;margin:10px 0 0;font-size:12px;line-height:1.6}@media (width<=540px){.project-agent-task-diagnostics dl[data-v-f960dcef]{grid-template-columns:1fr;gap:10px}}.employee-work-history[data-v-d4d00831]{margin-block:24px;font-size:14px}summary[data-v-d4d00831]{cursor:pointer;padding-block:12px;font-weight:650}label[data-v-d4d00831]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}select[data-v-d4d00831]{max-width:100%;font:inherit;padding:8px}ol[data-v-d4d00831]{margin:12px 0;padding:0;list-style:none}li[data-v-d4d00831]{border-top:1px solid var(--color-border);padding-block:14px}.work-record-meta[data-v-d4d00831]{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}p[data-v-d4d00831]{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}@media (width<=640px){.employee-work-history[data-v-d4d00831]{font-size:16px}}.project-agent-fields[data-v-86bea342]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-agent-wide[data-v-86bea342]{grid-column:1/-1}.project-agent-strategy[data-v-86bea342]{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:14px;display:grid}.project-agent-strategy legend[data-v-86bea342]{padding:0 6px;font-size:12px;font-weight:600}@media (width<=620px){.project-agent-fields[data-v-86bea342],.project-agent-strategy[data-v-86bea342]{grid-template-columns:1fr}.project-agent-wide[data-v-86bea342]{grid-column:auto}}.project-agent-row-shell[data-v-394b82e3]{align-items:flex-start;gap:6px;min-width:0;display:flex}.project-agent-row-shell>.project-agent-row[data-v-394b82e3]{flex:1;min-width:0}.project-agent-row-shell>.agent-hand[data-v-394b82e3]{margin-top:14px}.project-agent-header-actions[data-v-394b82e3]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-agents-view[data-v-394b82e3]{flex-direction:column;gap:16px;min-height:0;padding:20px 32px 24px;display:flex;overflow:hidden}.project-agents-header[data-v-394b82e3],.project-agent-section-heading[data-v-394b82e3],.project-agent-section-tools[data-v-394b82e3],.project-agent-detail-actions[data-v-394b82e3],.project-agent-assignment-card header[data-v-394b82e3],.project-agent-task-card header[data-v-394b82e3],.project-agent-learning-card header[data-v-394b82e3],.project-agent-day-detail header[data-v-394b82e3]{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-agents-header h2[data-v-394b82e3]{color:var(--color-ink);font-size:20px}.project-agents-header-meta[data-v-394b82e3]{color:var(--color-muted);font-size:12px}.project-agents-summary[data-v-394b82e3]{color:var(--color-muted);gap:18px;padding:2px 0 4px;font-size:12px;line-height:1.5;display:flex}.project-agents-summary span[data-v-394b82e3]:first-child{color:var(--color-ink);font-weight:700}.project-agents-toolbar[data-v-394b82e3]{grid-template-columns:minmax(240px,320px) minmax(200px,1fr) auto;align-items:center;gap:12px;display:grid}.project-agents-search input[data-v-394b82e3]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-ink);padding:10px 12px;font-size:13px}.project-agents-search input[data-v-394b82e3]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.project-agents-status-filter[data-v-394b82e3]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:3px;padding:3px;display:flex}.project-agents-status-filter button[data-v-394b82e3]{min-height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:12px}.project-agents-status-filter button[aria-pressed=true][data-v-394b82e3]{background:var(--color-surface);color:var(--color-ink);font-weight:700;box-shadow:0 1px 3px #27392f1f}.project-agents-directory[data-v-394b82e3]{flex:1;grid-template-columns:minmax(360px,.94fr) minmax(390px,1.06fr);min-height:0;display:grid;overflow:hidden}.project-agent-list[data-v-394b82e3]{border-right:1px solid var(--color-border);min-width:0;min-height:0;overflow:auto}.project-agent-row[data-v-394b82e3]{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;color:inherit;text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:14px 16px;display:grid}.project-agent-row[data-v-394b82e3]:hover{background:var(--color-surface)}.project-agent-row.selected[data-v-394b82e3]{background:var(--color-surface-subtle)}.project-agent-row[data-v-394b82e3]:focus-visible{z-index:1;outline:2px solid var(--color-accent);outline-offset:-3px;position:relative}.project-agent-row-heading[data-v-394b82e3]{align-items:center;gap:7px;min-width:0;display:flex}.project-agent-occupation-emoji[data-v-394b82e3]{flex:none;justify-content:center;align-items:center;min-width:1.2em;font-size:15px;line-height:1;display:inline-flex}.project-agent-row-heading strong[data-v-394b82e3]{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.project-agent-row-heading .ui-badge[data-v-394b82e3]{flex:none;font-style:normal;font-weight:650}.project-agent-row-heading .ui-badge.is-active[data-v-394b82e3]{color:var(--color-accent)}.project-agent-row-heading .ui-badge.is-archived[data-v-394b82e3],.project-agent-kind[data-v-394b82e3]{color:var(--color-muted)}.project-agent-row-projects[data-v-394b82e3]{flex-wrap:wrap;grid-column:1/-1;gap:4px;display:flex}.project-agent-row-projects b[data-v-394b82e3],.project-agent-tags span[data-v-394b82e3],.project-agent-inline-list span[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;padding:3px 7px;font-size:12px;font-weight:650}.project-agent-row-projects em[data-v-394b82e3]{color:var(--color-muted);font-size:12px;font-style:normal}.project-agent-row-responsibility[data-v-394b82e3]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;line-height:1.5;overflow:hidden}.project-agent-row-work[data-v-394b82e3]{color:var(--color-muted);grid-column:1/-1;font-size:12px;line-height:1.5}.project-agent-work-dot[data-v-394b82e3]{background:var(--color-muted);border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.project-agent-detail[data-v-394b82e3]{min-width:0;min-height:0;padding:24px;overflow:auto;container-type:inline-size}.employee-project-overview[data-v-394b82e3]{border-bottom:1px solid var(--color-border);margin:22px 0;padding-bottom:18px}.employee-project-overview-heading[data-v-394b82e3]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.employee-project-overview-heading h4[data-v-394b82e3]{color:var(--color-ink);margin:0;font-size:14px}.employee-project-overview-heading p[data-v-394b82e3],.employee-project-overview-hint[data-v-394b82e3]{color:var(--color-muted);margin:5px 0 0;font-size:12px;line-height:1.6}.employee-project-overview-hint[data-v-394b82e3]{margin-top:12px}.employee-assigned-projects[data-v-394b82e3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;margin-top:12px;display:grid}.employee-assigned-projects a[data-v-394b82e3]{color:var(--color-ink);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:13px;line-height:1.5;text-decoration:none;display:flex}.employee-assigned-projects a[data-v-394b82e3]:hover{text-underline-offset:3px;text-decoration:underline}.employee-assigned-projects a[data-v-394b82e3]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-assigned-projects a span[data-v-394b82e3]{overflow-wrap:anywhere}.employee-assigned-projects svg[data-v-394b82e3]{flex-shrink:0}@container (width<=480px){.employee-assigned-projects[data-v-394b82e3]{grid-template-columns:minmax(0,1fr)}}.project-agent-detail>header[data-v-394b82e3]{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) max-content;align-items:flex-start;gap:16px;padding-bottom:16px;display:grid}.project-agent-detail-heading[data-v-394b82e3]{min-width:0}.project-agent-detail h3[data-v-394b82e3]{color:var(--color-ink);text-wrap:balance;font-size:18px;line-height:1.32}.project-agent-detail header p[data-v-394b82e3]{max-width:72ch;color:var(--color-muted);overflow-wrap:anywhere;margin-top:5px;font-size:13px;line-height:1.5}.project-agent-detail-actions[data-v-394b82e3]{grid-auto-columns:minmax(78px,max-content);grid-auto-flow:column;justify-content:end;gap:8px;display:grid}.project-agent-detail-actions .quiet-button[data-v-394b82e3]{white-space:nowrap;min-width:78px}.project-agent-detail-meta[data-v-394b82e3],.project-agent-compact-meta[data-v-394b82e3]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}.project-agent-detail-meta div[data-v-394b82e3],.project-agent-compact-meta div[data-v-394b82e3]{min-width:0}.project-agent-detail-meta dt[data-v-394b82e3],.project-agent-compact-meta dt[data-v-394b82e3],.project-agent-detail-section h4[data-v-394b82e3]{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.project-agent-detail-meta dd[data-v-394b82e3],.project-agent-compact-meta dd[data-v-394b82e3]{overflow-wrap:anywhere;color:var(--color-ink);margin:4px 0 0;font-size:12px}.project-agent-detail-meta dd small[data-v-394b82e3]{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.4;display:block}.project-agent-detail-section[data-v-394b82e3]{margin-top:24px}.project-agent-detail-section.is-responsibility[data-v-394b82e3]{border-radius:var(--radius-card);background:var(--color-surface-subtle);padding:16px}.project-agent-detail-section p[data-v-394b82e3],.project-agent-detail-section li[data-v-394b82e3]{color:var(--color-ink);font-size:14px;line-height:1.6}.project-agent-tags[data-v-394b82e3],.project-agent-inline-list[data-v-394b82e3]{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.project-agent-muted[data-v-394b82e3]{color:var(--color-muted)!important}.project-agent-detail-notice[data-v-394b82e3]{border-radius:var(--radius-control);background:var(--color-surface-subtle);margin:12px 0 0;padding:8px 10px;color:var(--color-muted)!important}.project-agent-detail-placeholder[data-v-394b82e3],.project-agents-state[data-v-394b82e3]{min-height:240px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:8px;font-size:14px;display:grid}.project-agents-state[data-v-394b82e3]{flex:1}.project-agents-state strong[data-v-394b82e3]{color:var(--color-ink);font-size:14px}.project-agents-state p[data-v-394b82e3]{max-width:52ch;line-height:1.6}.project-agents-state.is-error[data-v-394b82e3]{color:var(--color-danger)}.project-agent-assignment-list[data-v-394b82e3],.project-agent-task-list[data-v-394b82e3],.project-agent-learning-list[data-v-394b82e3],.project-agent-recruitment-list[data-v-394b82e3]{gap:12px;margin-top:12px;display:grid}.project-agent-task-list[data-v-394b82e3]{grid-template-columns:minmax(0,1fr);min-width:0}.project-agent-execution-summary[data-v-394b82e3]{border-top:1px solid var(--color-border);min-width:0;margin-top:13px;padding-top:12px}.project-agent-worker-event-evidence[data-v-394b82e3]{border:1px dashed var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);margin-top:13px;padding:10px 10px 0}.project-agent-execution-summary .project-agent-section-heading[data-v-394b82e3]{gap:8px}.project-agent-execution-summary h5[data-v-394b82e3]{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.project-agent-execution-summary-table-wrap[data-v-394b82e3]{box-sizing:border-box;overscroll-behavior-inline:contain;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;max-width:100%;margin-top:7px;overflow-x:auto}.project-agent-execution-summary-table-wrap[data-v-394b82e3]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-agent-execution-summary-table[data-v-394b82e3]{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1040px;color:var(--color-ink);font-size:12px;line-height:1.5}.project-agent-execution-summary-table th[data-v-394b82e3],.project-agent-execution-summary-table td[data-v-394b82e3]{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;text-align:left;vertical-align:top;min-width:0;padding:8px 9px}.project-agent-execution-summary-table tr[data-v-394b82e3]>:last-child{border-right:0}.project-agent-execution-summary-table tbody tr[data-v-394b82e3]:last-child>*{border-bottom:0}.project-agent-execution-summary-table thead th[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:750}.project-agent-execution-summary-table thead th[data-v-394b82e3]:first-child{width:14%}.project-agent-execution-summary-table thead th[data-v-394b82e3]:nth-child(2){width:20%}.project-agent-execution-summary-table thead th[data-v-394b82e3]:nth-child(3){width:13%}.project-agent-execution-summary-table thead th[data-v-394b82e3]:nth-child(4),.project-agent-execution-summary-table thead th[data-v-394b82e3]:nth-child(5){width:15%}.project-agent-execution-summary-table thead th[data-v-394b82e3]:nth-child(6){width:12%}.project-agent-execution-summary-table tbody tr[data-v-394b82e3]:hover{background:var(--color-surface)}.project-agent-execution-summary-table tbody th[data-v-394b82e3]{color:var(--color-ink);font-weight:700}.project-agent-execution-summary-table tbody strong[data-v-394b82e3],.project-agent-execution-summary-table tbody span[data-v-394b82e3],.project-agent-execution-summary-table tbody small[data-v-394b82e3],.project-agent-execution-summary-table tbody a[data-v-394b82e3]{display:block}.project-agent-execution-summary-table tbody small[data-v-394b82e3]{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:500}.project-agent-execution-summary-table tbody .project-agent-reporter-label[data-v-394b82e3]{margin-top:8px}.project-agent-execution-summary-table tbody a[data-v-394b82e3]{color:var(--color-ink);text-underline-offset:2px;margin-top:3px;text-decoration-thickness:1px}.project-agent-execution-summary-table tbody a[data-v-394b82e3]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.project-agent-execution-worker[data-v-394b82e3]{align-items:center;gap:4px;display:flex!important}.project-agent-execution-summary-row i[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700;display:inline-flex}.project-agent-execution-summary-row i.is-completed[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-ink)}.project-agent-execution-summary-row i.is-failed[data-v-394b82e3]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-execution-summary-row i.is-cancelled[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-muted)}.project-agent-execution-summary-list[data-v-394b82e3]{margin:7px 0 0;padding:0;list-style:none;display:grid}.project-agent-worker-event-row[data-v-394b82e3]{border-top:1px solid var(--color-border);min-width:0;padding:10px 0}.project-agent-worker-event-row[data-v-394b82e3]:first-child{border-top:0}.project-agent-worker-event-row header[data-v-394b82e3]{align-items:flex-start}.project-agent-worker-event-row header strong[data-v-394b82e3]{overflow-wrap:anywhere;min-width:0;color:var(--color-ink);align-items:center;gap:5px;font-size:12px;display:flex}.project-agent-worker-event-row header strong small[data-v-394b82e3]{color:var(--color-muted);margin:0;font-size:12px;font-weight:500;display:inline}.project-agent-worker-event-row header i[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;flex:none;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700}.project-agent-worker-event-row header i.is-completed[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-ink)}.project-agent-worker-event-row header i.is-failed[data-v-394b82e3]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-worker-event-row header i.is-cancelled[data-v-394b82e3]{background:var(--color-surface-subtle);color:var(--color-muted)}.project-agent-execution-summary-meta[data-v-394b82e3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin:8px 0 0;display:grid}.project-agent-execution-summary-meta div[data-v-394b82e3]{min-width:0}.project-agent-execution-summary-meta dt[data-v-394b82e3]{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.project-agent-execution-summary-meta dd[data-v-394b82e3]{overflow-wrap:anywhere;color:var(--color-ink);margin:2px 0 0;font-size:12px;line-height:1.45}.project-agent-execution-summary-meta dd small[data-v-394b82e3]{color:var(--color-muted);margin-top:2px;font-size:12px;display:block}.project-agent-assignment-card[data-v-394b82e3],.project-agent-task-card[data-v-394b82e3],.project-agent-learning-card[data-v-394b82e3],.project-agent-recruitment-card[data-v-394b82e3]{min-width:0;padding:16px}.project-agent-assignment-card header strong[data-v-394b82e3],.project-agent-task-card header strong[data-v-394b82e3],.project-agent-learning-card header strong[data-v-394b82e3],.project-agent-recruitment-card header strong[data-v-394b82e3]{color:var(--color-ink);font-size:14px}.project-agent-card-actions[data-v-394b82e3]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.project-agent-assignment-card p[data-v-394b82e3],.project-agent-task-card p[data-v-394b82e3],.project-agent-learning-card p[data-v-394b82e3]{margin:8px 0 0;font-size:14px;line-height:1.55}.project-agent-assignment-card small[data-v-394b82e3],.project-agent-task-card small[data-v-394b82e3],.project-agent-learning-card small[data-v-394b82e3]{color:var(--color-muted);margin-top:8px;font-size:12px;line-height:1.5;display:block}.project-agent-assignment-card header .ui-badge.is-ended[data-v-394b82e3],.project-agent-assignment-card header .ui-badge.is-replaced[data-v-394b82e3]{color:var(--color-muted)}.project-agent-strategy-note[data-v-394b82e3],.project-agent-execution-line[data-v-394b82e3]{color:var(--color-muted);flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:8px;font-size:12px;display:flex}.project-agent-strategy-note strong[data-v-394b82e3],.project-agent-execution-line strong[data-v-394b82e3]{color:var(--color-muted);font-size:12px}.project-agent-strategy-note small[data-v-394b82e3]{color:var(--color-danger);flex-basis:100%}.project-agent-routing-decision[data-v-394b82e3]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);color:var(--color-muted);gap:5px;margin-top:10px;padding:9px 10px;font-size:12px;display:grid}.project-agent-routing-decision .project-agent-section-heading[data-v-394b82e3]{align-items:baseline;gap:8px}.project-agent-routing-decision .project-agent-section-heading strong[data-v-394b82e3]{color:var(--color-ink);font-size:12px}.project-agent-routing-decision small[data-v-394b82e3]{color:var(--color-muted);line-height:1.45}.project-agent-blocked[data-v-394b82e3]{color:var(--color-danger)!important}.project-agent-task-card[data-v-394b82e3]{scroll-margin:16px}.project-agent-task-card.is-linked[data-v-394b82e3]{box-shadow:inset 0 0 0 2px var(--color-accent)}.project-agent-task-card header[data-v-394b82e3]{align-items:flex-start}.project-agent-task-card header small[data-v-394b82e3]{margin-top:3px}.project-agent-task-card header .ui-badge[data-v-394b82e3]{color:var(--color-muted);font-style:normal}.project-agent-task-card header .ui-badge.is-completed[data-v-394b82e3]{color:var(--color-ink)}.project-agent-task-card header .ui-badge.is-failed[data-v-394b82e3]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-task-card header .ui-badge.is-cancelled[data-v-394b82e3]{color:var(--color-muted)}.project-agent-heatmap-viewport[data-v-394b82e3]{contain:layout inline-size paint;min-width:0;max-width:100%;overflow-x:clip}.project-agent-heatmap[data-v-394b82e3]{grid-template-rows:repeat(7,minmax(10px,1fr));grid-auto-columns:minmax(10px,1fr);grid-auto-flow:column;gap:3px;width:100%;max-width:100%;margin-top:9px;padding:0;display:grid;overflow-x:auto}.project-agent-heat-cell[data-v-394b82e3]{appearance:none;box-sizing:border-box;aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:3px;min-width:9px;margin:0;padding:0}.project-agent-heat-cell.intensity-1[data-v-394b82e3]{background:var(--color-surface-subtle)}.project-agent-heat-cell.intensity-2[data-v-394b82e3],.project-agent-heat-cell.intensity-3[data-v-394b82e3],.project-agent-heat-cell.intensity-4[data-v-394b82e3]{background:var(--color-muted)}.project-agent-heat-cell[data-v-394b82e3]:focus-visible,.project-agent-heat-cell.selected[data-v-394b82e3]{border:2px solid var(--color-accent);box-shadow:none;outline:none}.project-agent-day-detail[data-v-394b82e3]{border-radius:var(--radius-control);background:var(--color-surface-subtle);margin-top:10px;padding:10px}.project-agent-day-detail ul[data-v-394b82e3]{margin:8px 0 0;padding-left:17px}.project-agent-day-detail li[data-v-394b82e3]{margin-top:6px}.project-agent-day-detail li strong[data-v-394b82e3],.project-agent-day-detail li span[data-v-394b82e3],.project-agent-day-detail li small[data-v-394b82e3]{display:block}.project-agent-day-detail li span[data-v-394b82e3],.project-agent-day-detail li small[data-v-394b82e3]{color:var(--color-muted);font-size:12px}.project-agent-client-list[data-v-394b82e3],.project-agent-rule-list[data-v-394b82e3]{gap:5px;margin-top:9px;display:grid}.project-agent-client-row[data-v-394b82e3],.project-agent-rule-row[data-v-394b82e3]{border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:grid}.project-agent-client-row strong[data-v-394b82e3],.project-agent-rule-row strong[data-v-394b82e3]{color:var(--color-ink);font-size:12px}.project-agent-client-row small[data-v-394b82e3]{color:var(--color-muted);grid-column:1/-1}.project-agent-executor-list[data-v-394b82e3]{gap:5px;margin-top:9px;display:grid}.project-agent-executor-row[data-v-394b82e3]{border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:grid}.project-agent-executor-row strong[data-v-394b82e3]{color:var(--color-ink);font-size:12px}.project-agent-executor-row small[data-v-394b82e3]{color:var(--color-muted);grid-column:1/-1}.project-agent-learning-card header .ui-badge[data-v-394b82e3]{color:var(--color-muted);font-style:normal}.project-agent-evidence-list[data-v-394b82e3]{margin:8px 0 0;padding-left:17px}.project-agent-evidence-list li[data-v-394b82e3]{color:var(--color-muted);font-size:12px}.project-agent-learning-actions[data-v-394b82e3]{gap:6px;margin-top:8px;display:flex}.project-agent-note[data-v-394b82e3]{color:var(--color-muted);margin-top:9px;font-size:12px;line-height:1.5;display:block}.project-agent-detail .ui-badge[data-v-394b82e3]{font-style:normal}.sr-only[data-v-394b82e3]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1180px){.project-agents-toolbar[data-v-394b82e3]{grid-template-columns:minmax(220px,280px) 1fr}.project-agents-status-filter[data-v-394b82e3]{grid-column:1/-1;justify-self:start}.project-agents-directory[data-v-394b82e3]{grid-template-columns:minmax(320px,.9fr) minmax(330px,1fr)}.project-agent-detail-meta[data-v-394b82e3],.project-agent-compact-meta[data-v-394b82e3]{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=420px){.project-agent-detail>header[data-v-394b82e3]{grid-template-columns:minmax(0,1fr)}.project-agent-detail-actions[data-v-394b82e3]{justify-content:start}}@media (width<=760px){.project-agents-view[data-v-394b82e3]{padding:14px 16px 18px;overflow:auto}.project-agents-header[data-v-394b82e3],.project-agents-summary[data-v-394b82e3],.project-agent-section-heading[data-v-394b82e3],.project-agent-assignment-card header[data-v-394b82e3]{flex-wrap:wrap;align-items:flex-start}.project-agents-toolbar[data-v-394b82e3]{grid-template-columns:minmax(0,1fr)}.project-agents-project-filter[data-v-394b82e3],.project-agents-search[data-v-394b82e3],.project-agents-status-filter[data-v-394b82e3]{grid-column:1}.project-agents-status-filter[data-v-394b82e3]{flex-wrap:wrap;justify-self:stretch;width:100%}.project-agents-directory[data-v-394b82e3]{flex:none;grid-template-columns:minmax(0,1fr);overflow:visible}.project-agent-list[data-v-394b82e3]{border-right:0;border-bottom:1px solid var(--color-border);max-height:340px}.project-agent-detail[data-v-394b82e3]{min-height:520px;padding:16px}.project-agent-client-row[data-v-394b82e3],.project-agent-rule-row[data-v-394b82e3],.project-agent-executor-row[data-v-394b82e3]{grid-template-columns:minmax(0,1fr);align-items:start}.project-agent-client-row small[data-v-394b82e3],.project-agent-executor-row small[data-v-394b82e3]{grid-column:1}.project-agent-execution-summary-meta[data-v-394b82e3]{grid-template-columns:minmax(0,1fr)}.project-agent-worker-event-row header[data-v-394b82e3]{gap:8px}}.project-agent-disclosure[data-v-394b82e3]{margin-top:16px}.project-agent-disclosure .project-agent-detail-section[data-v-394b82e3]:first-child{margin-top:0}
1
+ .project-agent-assignment-fields[data-v-0c51a000]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-agent-assignment-wide[data-v-0c51a000]{grid-column:1/-1}@media (width<=620px){.project-agent-assignment-fields[data-v-0c51a000]{grid-template-columns:1fr}.project-agent-assignment-wide[data-v-0c51a000]{grid-column:auto}}.executor-routing-fields[data-v-7120b758]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.executor-routing-wide[data-v-7120b758]{grid-column:1/-1}.executor-routing-fields p[data-v-7120b758]{margin:0}@media (width<=620px){.executor-routing-fields[data-v-7120b758]{grid-template-columns:1fr}.executor-routing-wide[data-v-7120b758]{grid-column:auto}}.project-team[data-v-881ab823]{border-top:1px solid var(--color-border);grid-column:1/-1;min-width:0;padding-block:12px}.project-team-peers[data-v-881ab823]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-team-peers[data-v-881ab823]>*{background:var(--color-surface-subtle);border:1px solid var(--color-border-strong);color:var(--color-ink);border-radius:6px;padding:7px 10px;font-size:12px}.project-team-summary[data-v-881ab823]{color:var(--color-muted);margin:9px 0;font-size:12px}.project-team-members[data-v-881ab823]{gap:9px;margin:10px 0 16px 18px;padding:0;list-style:none;display:grid}.project-team-members button[data-v-881ab823]{text-align:start;max-width:100%;color:var(--color-ink);background:0 0;border:0;gap:3px;display:grid}.project-team-members span[data-v-881ab823]{color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.project-team summary[data-v-881ab823]{cursor:pointer;font-size:12px}.team-lead-field[data-v-881ab823]{max-width:360px;margin-block:14px}.project-team fieldset[data-v-881ab823]{border:0;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:0;display:flex}.project-team fieldset label[data-v-881ab823]{align-items:center;gap:5px;font-size:12px;display:flex}.project-team legend[data-v-881ab823]{margin-bottom:8px;font-size:12px}.project-agent-automation-policy[data-v-881ab823]{border-block:1px solid var(--color-border);grid-template-columns:minmax(110px,150px) minmax(0,1fr);align-items:center;gap:14px;padding:11px 0;display:grid}.project-agent-automation-policy>header[data-v-881ab823]{min-width:0}.project-agent-automation-policy h3[data-v-881ab823]{color:var(--color-ink);font-size:12px;line-height:1.35}.project-agent-automation-policy header span[data-v-881ab823]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.project-agent-policy-options[data-v-881ab823]{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.project-agent-policy-options label[data-v-881ab823]{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:2px 16px;display:grid}.project-agent-policy-options label+label[data-v-881ab823]{border-inline-start:1px solid var(--color-border)}.project-agent-policy-options label>span[data-v-881ab823]{gap:3px;min-width:0;display:grid}.project-agent-policy-options strong[data-v-881ab823]{color:var(--color-ink);font-size:12px;line-height:1.4}.project-agent-policy-options small[data-v-881ab823]{max-width:54ch;color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.project-agent-policy-options input[data-v-881ab823]{appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface-subtle);cursor:pointer;border-radius:999px;width:34px;height:19px;margin:0;transition:background-color .14s ease-out,border-color .14s ease-out;position:relative}.project-agent-policy-options input[data-v-881ab823]:after{background:var(--color-surface);content:"";border-radius:50%;width:13px;height:13px;transition:transform .14s ease-out;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #24372c38}.project-agent-policy-options input[data-v-881ab823]:checked{border-color:var(--color-ink);background:var(--color-muted)}.project-agent-policy-options input[data-v-881ab823]:checked:after{transform:translate(15px)}.project-agent-policy-options input[data-v-881ab823]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.project-agent-policy-options input[data-v-881ab823]:disabled{cursor:wait;opacity:.62}.project-agent-policy-feedback[data-v-881ab823]{grid-column:2;min-height:14px;padding-inline:16px}.project-agent-policy-state[data-v-881ab823],.project-agent-policy-feedback p[data-v-881ab823]{color:var(--color-muted);font-size:12px;line-height:1.45}.project-agent-policy-feedback p[role=alert][data-v-881ab823]{color:var(--color-danger)}.project-agent-policy-feedback button[data-v-881ab823]{color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;margin-inline-start:6px;padding:0;font-weight:700}@media (width<=760px){.project-agent-automation-policy[data-v-881ab823],.project-agent-policy-options[data-v-881ab823]{grid-template-columns:minmax(0,1fr)}.project-agent-policy-options label[data-v-881ab823]{padding:8px 0}.project-agent-policy-options label+label[data-v-881ab823]{border-inline-start:0;border-block-start:1px solid var(--color-border)}.project-agent-policy-feedback[data-v-881ab823]{grid-column:1;padding-inline:0}}.project-agent-source-state[data-v-4f121023]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding:10px 12px;font-size:12px;display:flex}.project-agent-source-state.is-error[data-v-4f121023]{border-color:var(--color-danger-soft);background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-task-diagnostics[data-v-f960dcef]{color:#334b3c;background:#f1f5f2;border-radius:8px;margin:12px 0;padding:12px}.project-agent-task-diagnostics dl[data-v-f960dcef]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.project-agent-task-diagnostics dt[data-v-f960dcef]{color:#65766b;margin-bottom:4px;font-size:11px}.project-agent-task-diagnostics dd[data-v-f960dcef]{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.project-agent-task-diagnostics small[data-v-f960dcef]{color:#65766b;overflow-wrap:anywhere;margin-top:4px;font-size:11px;display:block}.project-agent-task-diagnostics p[data-v-f960dcef]{color:#52665a;margin:10px 0 0;font-size:12px;line-height:1.6}@media (width<=540px){.project-agent-task-diagnostics dl[data-v-f960dcef]{grid-template-columns:1fr;gap:10px}}.employee-work-history[data-v-3cf411f4]{margin-block:24px;font-size:14px}summary[data-v-3cf411f4]{cursor:pointer;padding-block:12px;font-weight:650}label[data-v-3cf411f4]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}select[data-v-3cf411f4]{max-width:100%;font:inherit;padding:8px}ol[data-v-3cf411f4]{margin:12px 0;padding:0;list-style:none}li[data-v-3cf411f4]{border-top:1px solid var(--color-border);padding-block:14px}.work-record-meta[data-v-3cf411f4]{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}p[data-v-3cf411f4]{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}@media (width<=640px){.employee-work-history[data-v-3cf411f4]{font-size:16px}}.project-agent-fields[data-v-86bea342]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.project-agent-wide[data-v-86bea342]{grid-column:1/-1}.project-agent-strategy[data-v-86bea342]{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:14px;display:grid}.project-agent-strategy legend[data-v-86bea342]{padding:0 6px;font-size:12px;font-weight:600}@media (width<=620px){.project-agent-fields[data-v-86bea342],.project-agent-strategy[data-v-86bea342]{grid-template-columns:1fr}.project-agent-wide[data-v-86bea342]{grid-column:auto}}.project-agent-row-shell[data-v-61d39661]{align-items:flex-start;gap:6px;min-width:0;display:flex}.project-agent-row-shell>.project-agent-row[data-v-61d39661]{flex:1;min-width:0}.project-agent-row-shell>.agent-hand[data-v-61d39661]{margin-top:14px}.project-agent-header-actions[data-v-61d39661]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-agents-view[data-v-61d39661]{flex-direction:column;gap:16px;min-height:0;padding:20px 32px 24px;display:flex;overflow:hidden}.project-agents-header[data-v-61d39661],.project-agent-section-heading[data-v-61d39661],.project-agent-section-tools[data-v-61d39661],.project-agent-detail-actions[data-v-61d39661],.project-agent-assignment-card header[data-v-61d39661],.project-agent-task-card header[data-v-61d39661],.project-agent-learning-card header[data-v-61d39661],.project-agent-day-detail header[data-v-61d39661]{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-agents-header h2[data-v-61d39661]{color:var(--color-ink);font-size:20px}.project-agents-header-meta[data-v-61d39661]{color:var(--color-muted);font-size:12px}.project-agents-summary[data-v-61d39661]{color:var(--color-muted);gap:18px;padding:2px 0 4px;font-size:12px;line-height:1.5;display:flex}.project-agents-summary span[data-v-61d39661]:first-child{color:var(--color-ink);font-weight:700}.project-agents-toolbar[data-v-61d39661]{grid-template-columns:minmax(240px,320px) minmax(200px,1fr) auto;align-items:center;gap:12px;display:grid}.project-agents-search input[data-v-61d39661]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-ink);padding:10px 12px;font-size:13px}.project-agents-search input[data-v-61d39661]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.project-agents-status-filter[data-v-61d39661]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:3px;padding:3px;display:flex}.project-agents-status-filter button[data-v-61d39661]{min-height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:12px}.project-agents-status-filter button[aria-pressed=true][data-v-61d39661]{background:var(--color-surface);color:var(--color-ink);font-weight:700;box-shadow:0 1px 3px #27392f1f}.project-agents-directory[data-v-61d39661]{flex:1;grid-template-columns:minmax(360px,.94fr) minmax(390px,1.06fr);min-height:0;display:grid;overflow:hidden}.project-agent-list[data-v-61d39661]{border-right:1px solid var(--color-border);min-width:0;min-height:0;overflow:auto}.project-agent-row[data-v-61d39661]{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;color:inherit;text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:14px 16px;display:grid}.project-agent-row[data-v-61d39661]:hover{background:var(--color-surface)}.project-agent-row.selected[data-v-61d39661]{background:var(--color-surface-subtle)}.project-agent-row[data-v-61d39661]:focus-visible{z-index:1;outline:2px solid var(--color-accent);outline-offset:-3px;position:relative}.project-agent-row-heading[data-v-61d39661]{align-items:center;gap:7px;min-width:0;display:flex}.project-agent-occupation-emoji[data-v-61d39661]{flex:none;justify-content:center;align-items:center;min-width:1.2em;font-size:15px;line-height:1;display:inline-flex}.project-agent-row-heading strong[data-v-61d39661]{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.project-agent-row-heading .ui-badge[data-v-61d39661]{flex:none;font-style:normal;font-weight:650}.project-agent-row-heading .ui-badge.is-active[data-v-61d39661]{color:var(--color-accent)}.project-agent-row-heading .ui-badge.is-archived[data-v-61d39661],.project-agent-kind[data-v-61d39661]{color:var(--color-muted)}.project-agent-row-projects[data-v-61d39661]{flex-wrap:wrap;grid-column:1/-1;gap:4px;display:flex}.project-agent-row-projects b[data-v-61d39661],.project-agent-tags span[data-v-61d39661],.project-agent-inline-list span[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;padding:3px 7px;font-size:12px;font-weight:650}.project-agent-row-projects em[data-v-61d39661]{color:var(--color-muted);font-size:12px;font-style:normal}.project-agent-row-responsibility[data-v-61d39661]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;line-height:1.5;overflow:hidden}.project-agent-row-work[data-v-61d39661]{color:var(--color-muted);grid-column:1/-1;font-size:12px;line-height:1.5}.project-agent-work-dot[data-v-61d39661]{background:var(--color-muted);border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.project-agent-detail[data-v-61d39661]{min-width:0;min-height:0;padding:24px;overflow:auto;container-type:inline-size}.employee-project-overview[data-v-61d39661]{border-bottom:1px solid var(--color-border);margin:22px 0;padding-bottom:18px}.employee-project-overview-heading[data-v-61d39661]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.employee-project-overview-heading h4[data-v-61d39661]{color:var(--color-ink);margin:0;font-size:14px}.employee-project-overview-heading p[data-v-61d39661],.employee-project-overview-hint[data-v-61d39661]{color:var(--color-muted);margin:5px 0 0;font-size:12px;line-height:1.6}.employee-project-overview-hint[data-v-61d39661]{margin-top:12px}.employee-assigned-projects[data-v-61d39661]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;margin-top:12px;display:grid}.employee-assigned-projects a[data-v-61d39661]{color:var(--color-ink);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:13px;line-height:1.5;text-decoration:none;display:flex}.employee-assigned-projects a[data-v-61d39661]:hover{text-underline-offset:3px;text-decoration:underline}.employee-assigned-projects a[data-v-61d39661]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-assigned-projects a span[data-v-61d39661]{overflow-wrap:anywhere}.employee-assigned-projects svg[data-v-61d39661]{flex-shrink:0}@container (width<=480px){.employee-assigned-projects[data-v-61d39661]{grid-template-columns:minmax(0,1fr)}}.project-agent-detail>header[data-v-61d39661]{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) max-content;align-items:flex-start;gap:16px;padding-bottom:16px;display:grid}.project-agent-detail-heading[data-v-61d39661]{min-width:0}.project-agent-detail h3[data-v-61d39661]{color:var(--color-ink);text-wrap:balance;font-size:18px;line-height:1.32}.project-agent-detail header p[data-v-61d39661]{max-width:72ch;color:var(--color-muted);overflow-wrap:anywhere;margin-top:5px;font-size:13px;line-height:1.5}.project-agent-detail-actions[data-v-61d39661]{grid-auto-columns:minmax(78px,max-content);grid-auto-flow:column;justify-content:end;gap:8px;display:grid}.project-agent-detail-actions .quiet-button[data-v-61d39661]{white-space:nowrap;min-width:78px}.project-agent-detail-meta[data-v-61d39661],.project-agent-compact-meta[data-v-61d39661]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}.project-agent-detail-meta div[data-v-61d39661],.project-agent-compact-meta div[data-v-61d39661]{min-width:0}.project-agent-detail-meta dt[data-v-61d39661],.project-agent-compact-meta dt[data-v-61d39661],.project-agent-detail-section h4[data-v-61d39661]{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.project-agent-detail-meta dd[data-v-61d39661],.project-agent-compact-meta dd[data-v-61d39661]{overflow-wrap:anywhere;color:var(--color-ink);margin:4px 0 0;font-size:12px}.project-agent-detail-meta dd small[data-v-61d39661]{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.4;display:block}.project-agent-detail-section[data-v-61d39661]{margin-top:24px}.project-agent-detail-section.is-responsibility[data-v-61d39661]{border-radius:var(--radius-card);background:var(--color-surface-subtle);padding:16px}.project-agent-detail-section p[data-v-61d39661],.project-agent-detail-section li[data-v-61d39661]{color:var(--color-ink);font-size:14px;line-height:1.6}.project-agent-tags[data-v-61d39661],.project-agent-inline-list[data-v-61d39661]{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.project-agent-muted[data-v-61d39661]{color:var(--color-muted)!important}.project-agent-detail-notice[data-v-61d39661]{border-radius:var(--radius-control);background:var(--color-surface-subtle);margin:12px 0 0;padding:8px 10px;color:var(--color-muted)!important}.project-agent-detail-placeholder[data-v-61d39661],.project-agents-state[data-v-61d39661]{min-height:240px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:8px;font-size:14px;display:grid}.project-agents-state[data-v-61d39661]{flex:1}.project-agents-state strong[data-v-61d39661]{color:var(--color-ink);font-size:14px}.project-agents-state p[data-v-61d39661]{max-width:52ch;line-height:1.6}.project-agents-state.is-error[data-v-61d39661]{color:var(--color-danger)}.project-agent-assignment-list[data-v-61d39661],.project-agent-task-list[data-v-61d39661],.project-agent-learning-list[data-v-61d39661],.project-agent-recruitment-list[data-v-61d39661]{gap:12px;margin-top:12px;display:grid}.project-agent-task-list[data-v-61d39661]{grid-template-columns:minmax(0,1fr);min-width:0}.project-agent-execution-summary[data-v-61d39661]{border-top:1px solid var(--color-border);min-width:0;margin-top:13px;padding-top:12px}.project-agent-worker-event-evidence[data-v-61d39661]{border:1px dashed var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);margin-top:13px;padding:10px 10px 0}.project-agent-execution-summary .project-agent-section-heading[data-v-61d39661]{gap:8px}.project-agent-execution-summary h5[data-v-61d39661]{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.project-agent-execution-summary-table-wrap[data-v-61d39661]{box-sizing:border-box;overscroll-behavior-inline:contain;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;max-width:100%;margin-top:7px;overflow-x:auto}.project-agent-execution-summary-table-wrap[data-v-61d39661]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-agent-execution-summary-table[data-v-61d39661]{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1040px;color:var(--color-ink);font-size:12px;line-height:1.5}.project-agent-execution-summary-table th[data-v-61d39661],.project-agent-execution-summary-table td[data-v-61d39661]{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;text-align:left;vertical-align:top;min-width:0;padding:8px 9px}.project-agent-execution-summary-table tr[data-v-61d39661]>:last-child{border-right:0}.project-agent-execution-summary-table tbody tr[data-v-61d39661]:last-child>*{border-bottom:0}.project-agent-execution-summary-table thead th[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:750}.project-agent-execution-summary-table thead th[data-v-61d39661]:first-child{width:14%}.project-agent-execution-summary-table thead th[data-v-61d39661]:nth-child(2){width:20%}.project-agent-execution-summary-table thead th[data-v-61d39661]:nth-child(3){width:13%}.project-agent-execution-summary-table thead th[data-v-61d39661]:nth-child(4),.project-agent-execution-summary-table thead th[data-v-61d39661]:nth-child(5){width:15%}.project-agent-execution-summary-table thead th[data-v-61d39661]:nth-child(6){width:12%}.project-agent-execution-summary-table tbody tr[data-v-61d39661]:hover{background:var(--color-surface)}.project-agent-execution-summary-table tbody th[data-v-61d39661]{color:var(--color-ink);font-weight:700}.project-agent-execution-summary-table tbody strong[data-v-61d39661],.project-agent-execution-summary-table tbody span[data-v-61d39661],.project-agent-execution-summary-table tbody small[data-v-61d39661],.project-agent-execution-summary-table tbody a[data-v-61d39661]{display:block}.project-agent-execution-summary-table tbody small[data-v-61d39661]{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:500}.project-agent-execution-summary-table tbody .project-agent-reporter-label[data-v-61d39661]{margin-top:8px}.project-agent-execution-summary-table tbody a[data-v-61d39661]{color:var(--color-ink);text-underline-offset:2px;margin-top:3px;text-decoration-thickness:1px}.project-agent-execution-summary-table tbody a[data-v-61d39661]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.project-agent-execution-worker[data-v-61d39661]{align-items:center;gap:4px;display:flex!important}.project-agent-execution-summary-row i[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700;display:inline-flex}.project-agent-execution-summary-row i.is-completed[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-ink)}.project-agent-execution-summary-row i.is-failed[data-v-61d39661]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-execution-summary-row i.is-cancelled[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-muted)}.project-agent-execution-summary-list[data-v-61d39661]{margin:7px 0 0;padding:0;list-style:none;display:grid}.project-agent-worker-event-row[data-v-61d39661]{border-top:1px solid var(--color-border);min-width:0;padding:10px 0}.project-agent-worker-event-row[data-v-61d39661]:first-child{border-top:0}.project-agent-worker-event-row header[data-v-61d39661]{align-items:flex-start}.project-agent-worker-event-row header strong[data-v-61d39661]{overflow-wrap:anywhere;min-width:0;color:var(--color-ink);align-items:center;gap:5px;font-size:12px;display:flex}.project-agent-worker-event-row header strong small[data-v-61d39661]{color:var(--color-muted);margin:0;font-size:12px;font-weight:500;display:inline}.project-agent-worker-event-row header i[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;flex:none;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700}.project-agent-worker-event-row header i.is-completed[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-ink)}.project-agent-worker-event-row header i.is-failed[data-v-61d39661]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-worker-event-row header i.is-cancelled[data-v-61d39661]{background:var(--color-surface-subtle);color:var(--color-muted)}.project-agent-execution-summary-meta[data-v-61d39661]{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin:8px 0 0;display:grid}.project-agent-execution-summary-meta div[data-v-61d39661]{min-width:0}.project-agent-execution-summary-meta dt[data-v-61d39661]{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.project-agent-execution-summary-meta dd[data-v-61d39661]{overflow-wrap:anywhere;color:var(--color-ink);margin:2px 0 0;font-size:12px;line-height:1.45}.project-agent-execution-summary-meta dd small[data-v-61d39661]{color:var(--color-muted);margin-top:2px;font-size:12px;display:block}.project-agent-assignment-card[data-v-61d39661],.project-agent-task-card[data-v-61d39661],.project-agent-learning-card[data-v-61d39661],.project-agent-recruitment-card[data-v-61d39661]{min-width:0;padding:16px}.project-agent-assignment-card header strong[data-v-61d39661],.project-agent-task-card header strong[data-v-61d39661],.project-agent-learning-card header strong[data-v-61d39661],.project-agent-recruitment-card header strong[data-v-61d39661]{color:var(--color-ink);font-size:14px}.project-agent-card-actions[data-v-61d39661]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.project-agent-assignment-card p[data-v-61d39661],.project-agent-task-card p[data-v-61d39661],.project-agent-learning-card p[data-v-61d39661]{margin:8px 0 0;font-size:14px;line-height:1.55}.project-agent-assignment-card small[data-v-61d39661],.project-agent-task-card small[data-v-61d39661],.project-agent-learning-card small[data-v-61d39661]{color:var(--color-muted);margin-top:8px;font-size:12px;line-height:1.5;display:block}.project-agent-assignment-card header .ui-badge.is-ended[data-v-61d39661],.project-agent-assignment-card header .ui-badge.is-replaced[data-v-61d39661]{color:var(--color-muted)}.project-agent-strategy-note[data-v-61d39661],.project-agent-execution-line[data-v-61d39661]{color:var(--color-muted);flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:8px;font-size:12px;display:flex}.project-agent-strategy-note strong[data-v-61d39661],.project-agent-execution-line strong[data-v-61d39661]{color:var(--color-muted);font-size:12px}.project-agent-strategy-note small[data-v-61d39661]{color:var(--color-danger);flex-basis:100%}.project-agent-routing-decision[data-v-61d39661]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);color:var(--color-muted);gap:5px;margin-top:10px;padding:9px 10px;font-size:12px;display:grid}.project-agent-routing-decision .project-agent-section-heading[data-v-61d39661]{align-items:baseline;gap:8px}.project-agent-routing-decision .project-agent-section-heading strong[data-v-61d39661]{color:var(--color-ink);font-size:12px}.project-agent-routing-decision small[data-v-61d39661]{color:var(--color-muted);line-height:1.45}.project-agent-blocked[data-v-61d39661]{color:var(--color-danger)!important}.project-agent-task-card[data-v-61d39661]{scroll-margin:16px}.project-agent-task-card.is-linked[data-v-61d39661]{box-shadow:inset 0 0 0 2px var(--color-accent)}.project-agent-task-card header[data-v-61d39661]{align-items:flex-start}.project-agent-task-card header small[data-v-61d39661]{margin-top:3px}.project-agent-task-card header .ui-badge[data-v-61d39661]{color:var(--color-muted);font-style:normal}.project-agent-task-card header .ui-badge.is-completed[data-v-61d39661]{color:var(--color-ink)}.project-agent-task-card header .ui-badge.is-failed[data-v-61d39661]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-task-card header .ui-badge.is-cancelled[data-v-61d39661]{color:var(--color-muted)}.project-agent-heatmap-viewport[data-v-61d39661]{contain:layout inline-size paint;min-width:0;max-width:100%;overflow-x:clip}.project-agent-heatmap[data-v-61d39661]{grid-template-rows:repeat(7,minmax(10px,1fr));grid-auto-columns:minmax(10px,1fr);grid-auto-flow:column;gap:3px;width:100%;max-width:100%;margin-top:9px;padding:0;display:grid;overflow-x:auto}.project-agent-heat-cell[data-v-61d39661]{appearance:none;box-sizing:border-box;aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:3px;min-width:9px;margin:0;padding:0}.project-agent-heat-cell.intensity-1[data-v-61d39661]{background:var(--color-surface-subtle)}.project-agent-heat-cell.intensity-2[data-v-61d39661],.project-agent-heat-cell.intensity-3[data-v-61d39661],.project-agent-heat-cell.intensity-4[data-v-61d39661]{background:var(--color-muted)}.project-agent-heat-cell[data-v-61d39661]:focus-visible,.project-agent-heat-cell.selected[data-v-61d39661]{border:2px solid var(--color-accent);box-shadow:none;outline:none}.project-agent-day-detail[data-v-61d39661]{border-radius:var(--radius-control);background:var(--color-surface-subtle);margin-top:10px;padding:10px}.project-agent-day-detail ul[data-v-61d39661]{margin:8px 0 0;padding-left:17px}.project-agent-day-detail li[data-v-61d39661]{margin-top:6px}.project-agent-day-detail li strong[data-v-61d39661],.project-agent-day-detail li span[data-v-61d39661],.project-agent-day-detail li small[data-v-61d39661]{display:block}.project-agent-day-detail li span[data-v-61d39661],.project-agent-day-detail li small[data-v-61d39661]{color:var(--color-muted);font-size:12px}.project-agent-client-list[data-v-61d39661],.project-agent-rule-list[data-v-61d39661]{gap:5px;margin-top:9px;display:grid}.project-agent-client-row[data-v-61d39661],.project-agent-rule-row[data-v-61d39661]{border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:grid}.project-agent-client-row strong[data-v-61d39661],.project-agent-rule-row strong[data-v-61d39661]{color:var(--color-ink);font-size:12px}.project-agent-client-row small[data-v-61d39661]{color:var(--color-muted);grid-column:1/-1}.project-agent-executor-list[data-v-61d39661]{gap:5px;margin-top:9px;display:grid}.project-agent-executor-row[data-v-61d39661]{border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:grid}.project-agent-executor-row strong[data-v-61d39661]{color:var(--color-ink);font-size:12px}.project-agent-executor-row small[data-v-61d39661]{color:var(--color-muted);grid-column:1/-1}.project-agent-learning-card header .ui-badge[data-v-61d39661]{color:var(--color-muted);font-style:normal}.project-agent-evidence-list[data-v-61d39661]{margin:8px 0 0;padding-left:17px}.project-agent-evidence-list li[data-v-61d39661]{color:var(--color-muted);font-size:12px}.project-agent-learning-actions[data-v-61d39661]{gap:6px;margin-top:8px;display:flex}.project-agent-note[data-v-61d39661]{color:var(--color-muted);margin-top:9px;font-size:12px;line-height:1.5;display:block}.project-agent-detail .ui-badge[data-v-61d39661]{font-style:normal}.sr-only[data-v-61d39661]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1180px){.project-agents-toolbar[data-v-61d39661]{grid-template-columns:minmax(220px,280px) 1fr}.project-agents-status-filter[data-v-61d39661]{grid-column:1/-1;justify-self:start}.project-agents-directory[data-v-61d39661]{grid-template-columns:minmax(320px,.9fr) minmax(330px,1fr)}.project-agent-detail-meta[data-v-61d39661],.project-agent-compact-meta[data-v-61d39661]{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=420px){.project-agent-detail>header[data-v-61d39661]{grid-template-columns:minmax(0,1fr)}.project-agent-detail-actions[data-v-61d39661]{justify-content:start}}@media (width<=760px){.project-agents-view[data-v-61d39661]{padding:14px 16px 18px;overflow:auto}.project-agents-header[data-v-61d39661],.project-agents-summary[data-v-61d39661],.project-agent-section-heading[data-v-61d39661],.project-agent-assignment-card header[data-v-61d39661]{flex-wrap:wrap;align-items:flex-start}.project-agents-toolbar[data-v-61d39661]{grid-template-columns:minmax(0,1fr)}.project-agents-project-filter[data-v-61d39661],.project-agents-search[data-v-61d39661],.project-agents-status-filter[data-v-61d39661]{grid-column:1}.project-agents-status-filter[data-v-61d39661]{flex-wrap:wrap;justify-self:stretch;width:100%}.project-agents-directory[data-v-61d39661]{flex:none;grid-template-columns:minmax(0,1fr);overflow:visible}.project-agent-list[data-v-61d39661]{border-right:0;border-bottom:1px solid var(--color-border);max-height:340px}.project-agent-detail[data-v-61d39661]{min-height:520px;padding:16px}.project-agent-client-row[data-v-61d39661],.project-agent-rule-row[data-v-61d39661],.project-agent-executor-row[data-v-61d39661]{grid-template-columns:minmax(0,1fr);align-items:start}.project-agent-client-row small[data-v-61d39661],.project-agent-executor-row small[data-v-61d39661]{grid-column:1}.project-agent-execution-summary-meta[data-v-61d39661]{grid-template-columns:minmax(0,1fr)}.project-agent-worker-event-row header[data-v-61d39661]{gap:8px}}.project-agent-disclosure[data-v-61d39661]{margin-top:16px}.project-agent-disclosure .project-agent-detail-section[data-v-61d39661]:first-child{margin-top:0}