fuli-context 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -58
- package/README.zh-CN.md +24 -54
- package/dist/web/assets/AboutPage-CKq4IRHd.js +1 -0
- package/dist/web/assets/AgentConversations-DfXiFvBN.js +2 -0
- package/dist/web/assets/AgentConversations-XqNEBY_2.css +1 -0
- package/dist/web/assets/AgentHand-BBM-sKh2.js +1 -0
- package/dist/web/assets/AgentName-C_6R80nP.js +1 -0
- package/dist/web/assets/AgentProfilePage-Cz-i1fRD.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-BI0EFz6y.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-yRWktiin.css +1 -0
- package/dist/web/assets/ConnectionsPage-BoC6kXgs.js +1 -0
- package/dist/web/assets/ConnectionsPage-CM9C-zEI.css +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-BVyclQAJ.js +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-CVbqCzHb.css +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-D-c_Jm2z.css +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-D2GvYraI.js +3 -0
- package/dist/web/assets/KnowledgeEditDialog-a0AKWics.js +1 -0
- package/dist/web/assets/KnowledgeEditDialog-hT9znkoe.css +1 -0
- package/dist/web/assets/KnowledgeInspector-DMg9yJZ2.js +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-BgsHM3Qw.js +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-DeL7Jp34.css +1 -0
- package/dist/web/assets/KnowledgePage-kn8MqUCO.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-BtRq9fvC.js +4 -0
- package/dist/web/assets/KnowledgeWorkspace-D4a7FcAb.css +1 -0
- package/dist/web/assets/NotFoundPage-D-7jLz3o.js +1 -0
- package/dist/web/assets/OverviewPage-BHPc-XxY.js +1 -0
- package/dist/web/assets/OverviewPage-By-fUzSG.css +1 -0
- package/dist/web/assets/PersonalProfilePage-C00iV0Kx.js +1 -0
- package/dist/web/assets/PersonalProfilePage-DrMDAAdy.css +1 -0
- package/dist/web/assets/PersonalProjectsPage-CFNkdHSo.js +1 -0
- package/dist/web/assets/ProjectAgentFirstTask-Bi1ZsTC1.css +1 -0
- package/dist/web/assets/ProjectAgentFirstTask-CrCWEYgn.js +1 -0
- package/dist/web/assets/ProjectAgentsPage-BzztLMH-.js +12 -0
- package/dist/web/assets/ProjectAgentsPage-DNLNjYp-.css +1 -0
- package/dist/web/assets/ProjectScopePicker-CMxn3txv.js +1 -0
- package/dist/web/assets/PublicProjectsPage-DKamXDV9.css +1 -0
- package/dist/web/assets/PublicProjectsPage-DQVtvhOS.js +1 -0
- package/dist/web/assets/ReviewPage-BZhvyDWc.js +1 -0
- package/dist/web/assets/RoundtablesPage-CVebTXQa.js +1 -0
- package/dist/web/assets/RoundtablesPage-Cb0R4GaM.css +1 -0
- package/dist/web/assets/SettingsPage-1knvfOW6.js +1 -0
- package/dist/web/assets/SettingsPage-BmYkLul4.css +1 -0
- package/dist/web/assets/SharedJefaReportPage-BCVq8u0P.js +1 -0
- package/dist/web/assets/UiDialog-Da1P10f4.js +1 -0
- package/dist/web/assets/UiDisclosure-8wE8YuE4.js +1 -0
- package/dist/web/assets/UiSegmented-BKZXc8QF.js +1 -0
- package/dist/web/assets/UiSelect-Bv6R0yr1.css +1 -0
- package/dist/web/assets/UiSelect-D5Xj5Ec4.js +1 -0
- package/dist/web/assets/WritingTastePage-B8-etOBn.js +1 -0
- package/dist/web/assets/WritingTastePage-B_zYD1df.css +1 -0
- package/dist/web/assets/agent-profile-BZj3ezWe.css +1 -0
- package/dist/web/assets/{attention-store-Dk-_P4Oi.js → attention-store-BfxtL9EV.js} +1 -1
- package/dist/web/assets/{catalog-DN72452f.js → catalog-6SN9i3WR.js} +1 -1
- package/dist/web/assets/client-CUTkF3t4.js +1 -0
- package/dist/web/assets/{console-BtPqo79j.js → console-CG8tdtSs.js} +1 -1
- package/dist/web/assets/{conversation-launcher-settings-jkHRmWai.js → conversation-launcher-settings-CyZkLJg7.js} +1 -1
- package/dist/web/assets/{i18n-D2CJkEYK.js → i18n-CCMR4gDS.js} +3 -3
- package/dist/web/assets/{identity-B3zEw-1u.js → identity-C1eN-FSB.js} +1 -1
- package/dist/web/assets/index-kPB0Cf8Q.css +1 -0
- package/dist/web/assets/index-sLDKI6R-.js +5 -0
- package/dist/web/assets/{model-S7ehAjky.js → model-l-sAqtW_.js} +1 -1
- package/dist/web/assets/{personal-profile-graph--GG3Mizo.js → personal-profile-graph-BD1Y6TDS.js} +1 -1
- package/dist/web/assets/shared-report-B46dxlCR.js +1 -0
- package/dist/web/assets/{useAgentRoster-BAPKWZ9y.js → useAgentRoster-DdxoKDEE.js} +1 -1
- package/dist/web/assets/{useApi-CROJJdhE-BtFMXFjw.js → useApi-CROJJdhE-DlOiu8lP.js} +1 -1
- package/dist/web/assets/{vue-router-DkaTtPn0.js → vue-router-DjqEU4W2.js} +1 -1
- package/dist/web/index.html +14 -16
- package/docs/agent-conversations-and-collaboration.md +9 -9
- package/docs/agent-roundtable.md +61 -0
- package/docs/employee-agents.md +2 -2
- package/docs/project-agent-memory.md +1 -1
- package/graph-provider/fuli_graph/agent_conversation_models.py +11 -2
- package/graph-provider/fuli_graph/conversation_context.py +40 -9
- package/graph-provider/fuli_graph/default_project_lead.py +88 -0
- package/graph-provider/fuli_graph/project_agent_memory_routes.py +7 -0
- package/graph-provider/fuli_graph/project_agent_task_models.py +3 -0
- package/graph-provider/fuli_graph/runtime.py +3 -76
- package/graph-provider/fuli_graph/store.py +2 -0
- package/graph-provider/fuli_graph/store_agent_conversations.py +60 -8
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +3 -1
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +12 -8
- package/graph-provider/fuli_graph/store_project_agents.py +25 -124
- package/graph-provider/fuli_graph/store_task_contexts.py +26 -0
- package/graph-provider/fuli_graph/system_agents.py +128 -0
- package/graph-provider/fuli_graph/system_hr_identity.py +1 -1
- package/graph-provider/fuli_graph/task_context_routes.py +10 -0
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -4
- package/skills/capturing-session-knowledge/SKILL.md +1 -1
- package/src/agent-roundtable/http.js +14 -0
- package/src/agent-roundtable/service.js +218 -0
- package/src/agent-roundtable/store.js +86 -0
- package/src/agent-roundtable/tools.js +61 -0
- package/src/agent-roundtable/wake.js +99 -0
- package/src/agent-tools/agent-conversation-definitions.js +3 -3
- package/src/agent-tools/graph-definitions.js +3 -2
- package/src/agent-tools/interface-catalog.js +0 -5
- package/src/agent-tools.js +2 -2
- package/src/agents/claude-code/lifecycle-hook.js +6 -19
- package/src/agents/claude-code/wake.js +37 -0
- package/src/agents/codex/lifecycle-hook.js +51 -27
- package/src/agents/codex/token-usage.js +235 -0
- package/src/agents/codex/wake.js +47 -0
- package/src/agents/cursor/lifecycle-hook.js +3 -9
- package/src/agents/identity-receipt.js +16 -6
- package/src/agents/session-log.js +34 -0
- package/src/agents/token-usage-resolver.js +147 -0
- package/src/agents/wake-registry.js +14 -0
- package/src/cli/command-registry.js +0 -2
- package/src/cli/setup-command.js +2 -5
- package/src/cli/update-command.js +13 -2
- package/src/cli.js +0 -5
- package/src/employees/management-policy.js +4 -2
- package/src/employees/manifest.js +3 -0
- package/src/employees/recruitment.js +3 -2
- package/src/graphiti/agent-conversations.js +11 -9
- package/src/graphiti/agent-knowledge-workflows.js +34 -7
- package/src/graphiti/federated-application.js +18 -6
- package/src/graphiti/project-agent-mapping.js +1 -1
- package/src/graphiti/project-agent-task-entry.js +19 -7
- package/src/graphiti/project-agent-workflows.js +6 -1
- package/src/graphiti/project-path-context.js +7 -2
- package/src/graphiti/provider-client.js +8 -0
- package/src/graphiti/repository-project-registration.js +17 -0
- package/src/graphiti/task-entry-preferences.js +5 -0
- package/src/http/api-router.js +5 -3
- package/src/http/error-mapping.js +0 -2
- package/src/mcp/instructions.js +5 -5
- package/src/mcp/session-id.js +1 -1
- package/src/mcp/tool-annotations.js +3 -2
- package/src/setup/agents.js +1 -41
- package/src/setup/graph-runtime.js +15 -2
- package/src/setup/session-skill.js +22 -2
- package/dist/web/assets/AboutPage-D-GyJNv1.js +0 -1
- package/dist/web/assets/AgentConversations-DOuZgUeA.js +0 -2
- package/dist/web/assets/AgentConversations-DS8h3yKn.css +0 -1
- package/dist/web/assets/AgentHand-eGsXoGSq.js +0 -1
- package/dist/web/assets/AgentName-Dtmu9Ff5.js +0 -1
- package/dist/web/assets/AgentProfilePage-D8Tvayn7.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage-BTEfKZjF.js +0 -1
- package/dist/web/assets/ConnectionsPage-C1w99yN3.css +0 -1
- package/dist/web/assets/ConnectionsPage-DwOIcvl9.js +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-BrIMRblq.css +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-D11blfwU.js +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-BcEzYt65.css +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-CK2BAoGt.js +0 -3
- package/dist/web/assets/GrowthLoading-KTjE2e50.js +0 -1
- package/dist/web/assets/KnowledgeEditDialog-B3x8vs3c.css +0 -1
- package/dist/web/assets/KnowledgeEditDialog-n9trHQ5d.js +0 -1
- package/dist/web/assets/KnowledgeInspector-BcNjgw9H.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-BzgxP-nG.css +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-DMBpGxLr.js +0 -1
- package/dist/web/assets/KnowledgePage-POkCMW8f.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-2FvQadhB.js +0 -4
- package/dist/web/assets/KnowledgeWorkspace-sb8OJ97I.css +0 -1
- package/dist/web/assets/NotFoundPage-BCMZbeB8.js +0 -1
- package/dist/web/assets/OverviewPage-0CFWCG9-.css +0 -1
- package/dist/web/assets/OverviewPage-0mYifpjp.js +0 -1
- package/dist/web/assets/PersonalProfilePage-Chv2a2pi.css +0 -1
- package/dist/web/assets/PersonalProfilePage-JW6Muix6.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-CRbi64JP.js +0 -1
- package/dist/web/assets/ProjectAgentFirstTask-6afJ8HUe.css +0 -1
- package/dist/web/assets/ProjectAgentFirstTask-DJ0wTbh8.js +0 -1
- package/dist/web/assets/ProjectAgentsPage-BgQLIpxg.css +0 -1
- package/dist/web/assets/ProjectAgentsPage-CQemHFxy.js +0 -12
- package/dist/web/assets/ProjectScopePicker-BwB7gK-7.js +0 -1
- package/dist/web/assets/PublicProjectsPage-CB272Sq-.js +0 -1
- package/dist/web/assets/ReviewPage-CelTZU4C.js +0 -1
- package/dist/web/assets/RoundtablesPage-ByVeZlgC.js +0 -2
- package/dist/web/assets/RoundtablesPage-DCbIBnBq.css +0 -1
- package/dist/web/assets/SearchableSelect-f7EHbyDL.js +0 -1
- package/dist/web/assets/SettingsPage-5g7mRN2F.css +0 -1
- package/dist/web/assets/SettingsPage-nAijmm5f.js +0 -1
- package/dist/web/assets/SharedJefaReportPage-CjpJ9bkk.js +0 -1
- package/dist/web/assets/UiDisclosure-CWlC91Zt.js +0 -1
- package/dist/web/assets/WritingTastePage-DaHWY61P.js +0 -1
- package/dist/web/assets/WritingTastePage-SMGF39mf.css +0 -1
- package/dist/web/assets/agent-profile-CBvJHGjt.css +0 -1
- package/dist/web/assets/client-B2cRl-7c.js +0 -1
- package/dist/web/assets/copy-D2LqwtPZ.js +0 -1
- package/dist/web/assets/index-CNp0tRNp.css +0 -1
- package/dist/web/assets/index-UygXwZDZ.js +0 -5
- package/dist/web/assets/shared-report-DEK9wvhl.js +0 -1
- package/dist/web/assets/useModalDialog-D8tiJfbc.js +0 -1
- package/docs/roundtable-beta-testing.md +0 -102
- package/docs/roundtable-beta-validation.md +0 -133
- package/docs/roundtable-research.md +0 -142
- package/src/agents/a2a/roundtable-participant.js +0 -374
- package/src/agents/claude-code/roundtable-participant.js +0 -24
- package/src/agents/codex/roundtable-config.js +0 -32
- package/src/agents/codex/roundtable-participant.js +0 -34
- package/src/agents/grok/roundtable-participant.js +0 -185
- package/src/agents/pi/roundtable-participant.js +0 -193
- package/src/agents/pi/roundtable-result-format.js +0 -183
- package/src/cli/roundtable-command.js +0 -79
- package/src/roundtables/application.js +0 -69
- package/src/roundtables/domain.js +0 -181
- package/src/roundtables/http-router.js +0 -56
- package/src/roundtables/mcp-server.js +0 -48
- package/src/roundtables/participant-registry.js +0 -12
- package/src/roundtables/process.js +0 -70
- package/src/roundtables/result-contract.js +0 -47
- package/src/roundtables/server.js +0 -52
- package/src/roundtables/service.js +0 -396
- package/src/roundtables/store.js +0 -59
- package/src/roundtables/tool-contract.js +0 -41
- package/src/roundtables/turn-prompt.js +0 -24
- package/src/roundtables/worker.js +0 -85
- /package/dist/web/assets/{GrowthLoading-CIuQ1icy.css → client-CIuQ1icy.css} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{B as e,C as t,F as n,M as r,O as i,P as a,R as o,S as s,V as c,X as l,_ as u,a as d,b as f,c as p,d as m,g as h,it as g,j as _,k as v,m as y,n as b,nt as x,tt as S,u as C,v as w,w as T,y as E}from"./i18n-CCMR4gDS.js";import{t as D}from"./console-CG8tdtSs.js";import{a as O,i as k,n as A,o as j,r as M,t as N}from"./client-CUTkF3t4.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as F,t as ee}from"./UiDialog-Da1P10f4.js";import{m as I}from"./useApi-CROJJdhE-DlOiu8lP.js";import{t as L}from"./vue-router-DjqEU4W2.js";import{t as R}from"./UiSelect-D5Xj5Ec4.js";import{t as z}from"./AgentHand-BBM-sKh2.js";import{t as te}from"./AgentConversations-DfXiFvBN.js";import{C as B,E as ne,S as V,T as H,_ as U,b as W,d as G,f as re,g as ie,h as ae,m as oe,p as K,r as se,t as ce,u as le,v as ue,w as q,x as de,y as fe}from"./agent-work-summary-LeW-Al_S.js";import{a as pe,i as me,s as he}from"./catalog-6SN9i3WR.js";import{t as ge}from"./ProjectAgentFirstTask-CrCWEYgn.js";import{t as _e}from"./ProjectScopePicker-CMxn3txv.js";import{t as ve}from"./EmployeeRecruitDialog-BVyclQAJ.js";function ye(){let e=new Date,t=new Date(e);return t.setUTCFullYear(t.getUTCFullYear()-1),{fromDate:be(t),toDate:be(e)}}function be(e){return e.toISOString().slice(0,10)}function xe(e,t){let n=q(e),r=G(n.days);if(!r.length&&!(`days`in n))return null;let i=r.map(e=>{let t=q(e);return{date:B(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(J).filter(e=>!!e)}}).filter(({date:e})=>e),a=B(n,`fromDate`,`from_date`),o=B(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?Se(i,c,l):[];return{agentId:B(n,`agentId`,`agent_id`)??t.agentId,personalSpaceId:B(n,`personalSpaceId`,`personal_space_id`)??t.personalSpaceId,fromDate:c,toDate:l,days:u}}function Se(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=be(e);o.push(r.get(t)??{date:t,completed:0,failed:0,cancelled:0,total:0,tasks:[]})}return o.reverse()}function J(e){let t=q(e),n=B(t,`taskId`,`task_id`);if(!n)return null;let r=K(H(t,`actualExecution`,`actual_execution`))??K({executor:B(t,`actualExecutor`,`actual_executor`),provider:B(t,`actualModelProvider`,`actual_model_provider`),model:B(t,`actualModel`,`actual_model`),client:B(t,`sourceApplication`,`source_application`)});return{taskId:n,title:B(t,`title`,`title`)??n,status:B(t,`status`,`status`),summary:B(t,`summary`,`summary`)??``,occurredAt:B(t,`occurredAt`,`occurred_at`)??``,personalProjectId:B(t,`personalProjectId`,`personal_project_id`),assignmentId:B(t,`assignmentId`,`assignment_id`),collaborators:G(t.collaborators).map(ae),sourceApplication:B(t,`sourceApplication`,`source_application`),sourceSessionId:B(t,`sourceSessionId`,`source_session_id`),sourceSessionUrl:B(t,`sourceSessionUrl`,`source_session_url`),workerRuntime:W(H(t,`workerRuntime`,`worker_runtime`)),toolsUsed:V(t,`toolsUsed`,`tools_used`),tokenUsage:fe(H(t,`tokenUsage`,`token_usage`)),actualExecution:r,actualModelProvider:B(t,`actualModelProvider`,`actual_model_provider`),actualModel:B(t,`actualModel`,`actual_model`)}}var Ce={class:`project-agent-assignment-fields`},we={key:1,class:`ui-field`},Te=[`value`],Ee={key:3,class:`ui-field project-agent-assignment-wide`},De=[`disabled`],Oe={key:4,class:`ui-field`},Y=[`disabled`],ke={key:5,class:`ui-field`},Ae=[`disabled`,`placeholder`],je={class:`ui-field project-agent-assignment-wide`},Me=[`disabled`,`placeholder`],Ne=P(T({__name:`AgentAssignmentDialog`,props:{open:{type:Boolean},agent:{},assignment:{default:null},action:{default:`assign`},projects:{},availableAgents:{default:()=>[]},defaultProjectId:{default:null}},emits:[`close`,`saved`,`changed`],setup(n,{emit:i}){let a=n,p=i,m=l(``),_=l(``),v=l(``),y=l(``),b=l(``),x=l(``),T=l(!1),D=l(``),O=h(()=>a.action!==`assign`),A=h(()=>a.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id}))),j=h(()=>a.availableAgents.filter(e=>e.agentId!==a.agent?.agentId&&e.profile.status===`active`).map(e=>({value:e.agentId,label:e.profile.displayName||e.profile.name,meta:e.profile.name})));o(()=>[a.open,a.agent,a.assignment,a.action,a.defaultProjectId],()=>{a.open&&(m.value=a.assignment?.personalProjectId??a.defaultProjectId??a.projects[0]?.project_id??``,_.value=``,v.value=a.assignment?.responsibility??a.agent?.profile.responsibility??``,y.value=a.assignment?.scope??``,b.value=a.assignment?.workKinds?.join(`
|
|
2
|
+
`)??``,x.value=``,D.value=``)},{immediate:!0});async function M(){if(!a.agent)return;D.value=``;let e=x.value.trim(),t=v.value.trim();if(!e||a.action===`assign`&&!t){D.value=d(`projectAgents.assignmentDialog.required`);return}if(a.action===`replace`&&!_.value){D.value=d(`projectAgents.assignmentDialog.replacementRequired`);return}T.value=!0;try{if(a.action===`assign`){let n=await k(`/api/project-agent-assignments`,{personalSpaceId:a.agent.personalSpaceId,personalProjectId:m.value,agentId:a.agent.agentId,idempotencyKey:P(),responsibility:t,workKinds:N(b.value),capabilities:[],reason:e});p(`saved`,n)}else{if(!a.assignment)return;await k(`/api/project-agent-assignments/${encodeURIComponent(a.assignment.assignmentId)}/${a.action}`,a.action===`replace`?{personalSpaceId:a.agent.personalSpaceId,personalProjectId:a.assignment.personalProjectId,assignmentId:a.assignment.assignmentId,expectedRevision:a.assignment.revision??0,replacementAgentId:_.value,idempotencyKey:P(),responsibility:t||a.assignment.responsibility,workKinds:N(b.value),capabilities:a.assignment.capabilities??[],reason:e}:{personalSpaceId:a.agent.personalSpaceId,personalProjectId:a.assignment.personalProjectId,assignmentId:a.assignment.assignmentId,expectedRevision:a.assignment.revision??0,reason:e}),p(`changed`)}p(`close`)}catch(e){D.value=e instanceof Error?e.message:d(`projectAgents.assignmentDialog.saveFailed`)}finally{T.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(i,o)=>(r(),w(ee,{open:n.open,class:`project-agent-assignment-dialog`,form:``,busy:T.value,error:D.value,title:S(d)(`projectAgents.assignmentDialog.${O.value?n.action:`assign`}Title`),onClose:o[7]||=e=>p(`close`),onSubmit:M},{footer:e(()=>[t(F,{variant:`ghost`,disabled:T.value,onClick:o[6]||=e=>p(`close`)},{default:e(()=>[s(g(S(d)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),t(F,{variant:`primary`,type:`submit`,busy:T.value,"busy-label":S(d)(`projectAgents.assignmentDialog.saving`)},{default:e(()=>[s(g(S(d)(`projectAgents.assignmentDialog.${O.value?`saveChange`:`saveAssign`}`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:e(()=>[u(`div`,Ce,[O.value?(r(),f(`label`,we,[s(g(S(d)(`projectAgents.fields.project`))+` `,1),u(`input`,{value:a.assignment?a.assignment.personalProjectId:``,disabled:``},null,8,Te)])):(r(),w(R,{key:0,modelValue:m.value,"onUpdate:modelValue":o[0]||=e=>m.value=e,field:``,"control-id":`project-agent-assignment-project`,options:A.value,label:S(d)(`projectAgents.fields.project`),placeholder:S(d)(`projectAgents.dialog.projectPlaceholder`),disabled:T.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])),O.value&&n.action===`replace`?(r(),w(R,{key:2,modelValue:_.value,"onUpdate:modelValue":o[1]||=e=>_.value=e,field:``,"control-id":`project-agent-assignment-replacement`,options:j.value,label:S(d)(`projectAgents.assignmentDialog.replacement`),placeholder:S(d)(`projectAgents.assignmentDialog.replacementPlaceholder`),disabled:T.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])):E(``,!0),O.value?E(``,!0):(r(),f(`label`,Ee,[s(g(S(d)(`projectAgents.fields.responsibility`))+` `,1),c(u(`textarea`,{"onUpdate:modelValue":o[2]||=e=>v.value=e,rows:`3`,maxlength:`4096`,disabled:T.value,required:``},null,8,De),[[C,v.value]])])),O.value?E(``,!0):(r(),f(`label`,Oe,[s(g(S(d)(`projectAgents.fields.scope`))+` `,1),c(u(`input`,{"onUpdate:modelValue":o[3]||=e=>y.value=e,maxlength:`4096`,disabled:T.value},null,8,Y),[[C,y.value]])])),O.value?E(``,!0):(r(),f(`label`,ke,[s(g(S(d)(`projectAgents.assignmentDialog.workKinds`))+` `,1),c(u(`textarea`,{"onUpdate:modelValue":o[4]||=e=>b.value=e,rows:`3`,disabled:T.value,placeholder:S(d)(`projectAgents.assignmentDialog.workKindsPlaceholder`)},null,8,Ae),[[C,b.value]])])),u(`label`,je,[s(g(S(d)(`projectAgents.fields.reason`))+` `,1),c(u(`textarea`,{"onUpdate:modelValue":o[5]||=e=>x.value=e,rows:`3`,maxlength:`2048`,disabled:T.value,placeholder:S(d)(`projectAgents.assignmentDialog.reasonPlaceholder`),required:``},null,8,Me),[[C,x.value]])])])]),_:1},8,[`open`,`busy`,`error`,`title`]))}}),[[`__scopeId`,`data-v-0c51a000`]]),X={class:`executor-routing-fields`},Pe={class:`ui-field`},Fe=[`disabled`],Ie={class:`ui-field`},Le=[`disabled`],Re={class:`ui-field`},ze=[`disabled`],Be={class:`ui-field`},Ve=[`disabled`],He={class:`ui-field executor-routing-wide`},Ue=[`disabled`],We={class:`ui-check executor-routing-wide`},Ge=[`disabled`],Ke={class:`ui-meta executor-routing-wide`},Z={class:`ui-field`},qe=[`disabled`],Je={key:1,class:`ui-field`},Ye=[`disabled`],Xe={class:`ui-field`},Ze=[`disabled`],Qe={class:`ui-field executor-routing-wide`},$e=[`placeholder`,`disabled`],et={class:`ui-field executor-routing-wide`},tt=[`disabled`],nt={class:`ui-field executor-routing-wide`},rt=[`disabled`],Q={class:`ui-meta executor-routing-wide`},it=P(T({__name:`ExecutorRoutingDialog`,props:{open:{type:Boolean},mode:{},personalSpaceId:{},executor:{default:null},rule:{default:null},projects:{default:()=>[]},availableExecutors:{default:()=>[]}},emits:[`close`,`saved`],setup(n,{emit:i}){let a=n,m=i,_=l(``),v=l(``),b=l(`external`),x=l(``),T=l(100),D=l(!1),k=l(`space`),A=l(``),j=l(``),M=l(``),N=l(``),P=l(``),I=l(``),L=l(!1),z=l(``),te=h(()=>!!a.executor),B=h(()=>a.mode===`executor`?te.value?`executorEditTitle`:`executorCreateTitle`:`ruleCreateTitle`),ne=h(()=>a.mode===`executor`?d(`projectAgents.routing.editor.savingExecutor`):d(`projectAgents.routing.editor.savingRule`)),V=[`space`,`project`,`task`].map(e=>({value:e,label:e})),H=h(()=>a.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id})));o(()=>[a.open,a.mode,a.executor,a.rule],([e])=>{if(!e)return;let t=a.executor,n=a.rule;_.value=t?.executorId??``,v.value=t?.displayName??t?.label??``,b.value=t?.executorKind??`external`,x.value=t?.capabilities?.join(`
|
|
4
|
+
`)??``,T.value=t?.globalPriority??n?.priority??100,D.value=t?.healthRequired===!0,k.value=n?.scope??`space`,A.value=n?.personalProjectId??``,j.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 U(e){return[...new Set(e.split(`
|
|
7
|
+
`).map(e=>e.trim()).filter(Boolean))]}function W(e){return`${e}-${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}async function G(){if(L.value)return;let e=U(x.value),t=I.value.trim();if(a.mode===`executor`){if(!_.value.trim()||!v.value.trim()||T.value<1){z.value=d(`projectAgents.routing.editor.executorRequired`);return}}else if(!M.value.trim()||!U(P.value).length||!t){z.value=d(`projectAgents.routing.editor.ruleRequired`);return}L.value=!0,z.value=``;try{if(a.mode===`executor`){let t=await O(`/api/executors`,{personalSpaceId:a.personalSpaceId,executorId:_.value.trim(),displayName:v.value.trim(),executorKind:b.value.trim()||`external`,capabilities:e,advertisedModels:a.executor?.advertisedModels??a.executor?.availableModels??[],globalPriority:T.value,healthRequired:D.value,expectedRevision:a.executor?.revision,idempotencyKey:W(`executor-directory`)});m(`saved`,t)}else{let e=await O(`/api/executor-routing-rules`,{personalSpaceId:k.value===`global`?void 0:a.personalSpaceId,scope:k.value,personalProjectId:(k.value===`project`||k.value===`task`)&&A.value||void 0,taskId:k.value===`task`&&j.value||void 0,workKind:M.value.trim(),requiredCapabilities:U(N.value),executorIds:U(P.value),priority:T.value,reason:t,idempotencyKey:W(`executor-rule`)});m(`saved`,e)}m(`close`)}catch(e){z.value=e instanceof Error?e.message:d(`projectAgents.routing.editor.saveFailed`)}finally{L.value=!1}}return(i,a)=>(r(),w(ee,{open:n.open,class:`executor-routing-dialog`,size:`lg`,form:``,busy:L.value,error:z.value,title:S(d)(`projectAgents.routing.editor.${B.value}`),onClose:a[15]||=e=>m(`close`),onSubmit:G},{footer:e(()=>[t(F,{variant:`ghost`,disabled:L.value,onClick:a[14]||=e=>m(`close`)},{default:e(()=>[s(g(S(d)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),t(F,{variant:`primary`,type:`submit`,busy:L.value,"busy-label":ne.value},{default:e(()=>[s(g(S(d)(`projectAgents.routing.editor.save`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:e(()=>[u(`div`,X,[n.mode===`executor`?(r(),f(y,{key:0},[u(`label`,Pe,[s(g(S(d)(`projectAgents.routing.editor.executorId`)),1),c(u(`input`,{"onUpdate:modelValue":a[0]||=e=>_.value=e,maxlength:`128`,disabled:te.value||L.value,required:``},null,8,Fe),[[C,_.value]])]),u(`label`,Ie,[s(g(S(d)(`projectAgents.routing.editor.displayName`)),1),c(u(`input`,{"onUpdate:modelValue":a[1]||=e=>v.value=e,maxlength:`160`,disabled:L.value,required:``},null,8,Le),[[C,v.value]])]),u(`label`,Re,[s(g(S(d)(`projectAgents.routing.editor.executorKind`)),1),c(u(`input`,{"onUpdate:modelValue":a[2]||=e=>b.value=e,maxlength:`128`,disabled:L.value},null,8,ze),[[C,b.value]])]),u(`label`,Be,[s(g(S(d)(`projectAgents.routing.editor.priority`)),1),c(u(`input`,{"onUpdate:modelValue":a[3]||=e=>T.value=e,type:`number`,min:`1`,max:`1000000`,disabled:L.value,required:``},null,8,Ve),[[C,T.value,void 0,{number:!0}]])]),u(`label`,He,[s(g(S(d)(`projectAgents.routing.editor.capabilities`)),1),c(u(`textarea`,{"onUpdate:modelValue":a[4]||=e=>x.value=e,rows:`3`,disabled:L.value},null,8,Ue),[[C,x.value]])]),u(`label`,We,[c(u(`input`,{"onUpdate:modelValue":a[5]||=e=>D.value=e,type:`checkbox`,disabled:L.value},null,8,Ge),[[p,D.value]]),u(`span`,null,g(S(d)(`projectAgents.routing.editor.healthRequired`)),1)]),u(`p`,Ke,g(S(d)(`projectAgents.routing.editor.evidenceNote`)),1)],64)):(r(),f(y,{key:1},[t(R,{modelValue:k.value,"onUpdate:modelValue":a[6]||=e=>k.value=e,field:``,label:S(d)(`projectAgents.routing.editor.scope`),options:S(V),disabled:L.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),u(`label`,Z,[s(g(S(d)(`projectAgents.routing.editor.priority`)),1),c(u(`input`,{"onUpdate:modelValue":a[7]||=e=>T.value=e,type:`number`,min:`1`,max:`1000000`,disabled:L.value,required:``},null,8,qe),[[C,T.value,void 0,{number:!0}]])]),k.value===`project`||k.value===`task`?(r(),w(R,{key:0,modelValue:A.value,"onUpdate:modelValue":a[8]||=e=>A.value=e,field:``,"control-id":`executor-rule-project`,options:H.value,label:S(d)(`projectAgents.fields.project`),disabled:L.value},null,8,[`modelValue`,`options`,`label`,`disabled`])):E(``,!0),k.value===`task`?(r(),f(`label`,Je,[s(g(S(d)(`projectAgents.routing.editor.taskId`)),1),c(u(`input`,{"onUpdate:modelValue":a[9]||=e=>j.value=e,maxlength:`128`,disabled:L.value},null,8,Ye),[[C,j.value]])])):E(``,!0),u(`label`,Xe,[s(g(S(d)(`projectAgents.routing.editor.workKind`)),1),c(u(`input`,{"onUpdate:modelValue":a[10]||=e=>M.value=e,maxlength:`128`,disabled:L.value,required:``},null,8,Ze),[[C,M.value]])]),u(`label`,Qe,[s(g(S(d)(`projectAgents.routing.editor.executorIds`)),1),c(u(`textarea`,{"onUpdate:modelValue":a[11]||=e=>P.value=e,rows:`3`,placeholder:S(d)(`projectAgents.routing.editor.executorIdsPlaceholder`),disabled:L.value,required:``},null,8,$e),[[C,P.value]])]),u(`label`,et,[s(g(S(d)(`projectAgents.routing.editor.requiredCapabilities`)),1),c(u(`textarea`,{"onUpdate:modelValue":a[12]||=e=>N.value=e,rows:`3`,disabled:L.value},null,8,tt),[[C,N.value]])]),u(`label`,nt,[s(g(S(d)(`projectAgents.fields.reason`)),1),c(u(`textarea`,{"onUpdate:modelValue":a[13]||=e=>I.value=e,rows:`3`,disabled:L.value,required:``},null,8,rt),[[C,I.value]])]),u(`p`,Q,g(S(d)(`projectAgents.routing.editor.ruleNote`)),1)],64))])]),_:1},8,[`open`,`busy`,`error`,`title`]))}}),[[`__scopeId`,`data-v-7120b758`]]),at=[`aria-label`,`aria-busy`],ot={key:1,class:`project-agent-policy-options`},st=[`checked`,`disabled`],ct=[`checked`,`disabled`],lt=[`checked`,`disabled`],ut={key:2,class:`project-team`},dt={class:`project-team-peers`},ft={key:1},pt={key:2},mt={class:`project-team-summary`},ht={key:0,class:`project-team-members`},gt=[`onClick`],$=[`disabled`],_t=[`onChange`],vt=[`value`],yt=[`disabled`],bt={class:`project-agent-policy-feedback`,"aria-live":`polite`},xt={key:0,role:`alert`},St=[`disabled`],Ct={key:2,role:`status`},wt=P(T({__name:`ProjectAgentAutomationPolicyPanel`,props:{personalSpaceId:{},personalProjectId:{},projectName:{},agents:{}},emits:[`select`],setup(e,{emit:n}){let i=e,m=n,_=l(re()),v=l(!1),b=l(!1),x=l(``),C=l(``),T=l(!1),D=l(``),O=l([]),k=0,N=h(()=>v.value||b.value),P=h(()=>(i.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===i.personalProjectId))),F=P,ee=h(()=>[{value:``,label:d(`projectAgents.team.noLead`)},...F.value.map(e=>({value:e.agentId,label:ne(e)}))]),I=h(()=>P.value.filter(e=>e.agentId!==D.value)),L=h(()=>O.value.filter(e=>!I.value.some(t=>t.agentId===e)).map(e=>({id:e,name:(i.agents??[]).find(t=>t.agentId===e)?.profile.displayName||(i.agents??[]).find(t=>t.agentId===e)?.profile.name||d(`projectAgents.team.unavailableMember`)}))),z=h(()=>P.value.find(e=>e.agentId===_.value.teamLeadAgentId)),te=h(()=>P.value.filter(e=>_.value.teamMemberAgentIds?.includes(e.agentId))),B=h(()=>D.value!==(_.value.teamLeadAgentId??``)||JSON.stringify([...O.value].sort())!==JSON.stringify([..._.value.teamMemberAgentIds??[]].sort()));o(D,e=>{O.value=e?O.value.filter(t=>t!==e):[]});function ne(e){return e.profile.displayName||e.profile.name}function V(){D.value=_.value.teamLeadAgentId??``,O.value=[..._.value.teamMemberAgentIds??[]]}o(()=>[i.personalSpaceId,i.personalProjectId],()=>void H(),{immediate:!0});async function H(){let e=++k;if(_.value=re(),V(),b.value=!1,v.value=!1,T.value=!1,C.value=``,!(!i.personalSpaceId||!i.personalProjectId)){v.value=!0,x.value=``;try{let t=await A(`/api/project-agent-coordination-policy?${new URLSearchParams({personalSpaceId:i.personalSpaceId,personalProjectId:i.personalProjectId})}`);e===k&&(_.value=ie(t),V())}catch(t){e===k&&(x.value=t instanceof Error?t.message:d(`projectAgents.coordination.loadFailed`))}finally{e===k&&(v.value=!1)}}}async function U(e,t){if(N.value||x.value)return;let n={..._.value},r=t.currentTarget.checked;_.value={..._.value,[e]:r},await G(n)}async function W(){N.value||x.value||!B.value||await G({..._.value},{teamLeadAgentId:D.value||null,teamMemberAgentIds:[...O.value]})}async function G(e,t){let n=k;b.value=!0,T.value=!1,C.value=``;try{let r=await M(`/api/project-agent-coordination-policy`,{personalSpaceId:i.personalSpaceId,personalProjectId:i.personalProjectId,askBeforeRecruitment:_.value.askBeforeRecruitment,autoReusePreviousAgent:_.value.autoReusePreviousAgent,autoGrowTeam:_.value.autoGrowTeam??!0,expectedUpdatedAt:e.updatedAt,...t});if(n!==k)return;_.value=ie(r),t&&V(),T.value=!0}catch(t){if(n!==k)return;_.value=e,C.value=t instanceof Error?t.message:d(`projectAgents.coordination.saveFailed`)}finally{n===k&&(b.value=!1)}}function re(){return{personalSpaceId:i.personalSpaceId,personalProjectId:i.personalProjectId,askBeforeRecruitment:!0,autoReusePreviousAgent:!0,autoGrowTeam:!0,updatedAt:null,teamLeadAgentId:null,teamMemberAgentIds:[]}}function ie(e){let t=e&&typeof e==`object`?e:{};return{personalSpaceId:oe(t.personalSpaceId??t.personal_space_id)||i.personalSpaceId,personalProjectId:oe(t.personalProjectId??t.personal_project_id)||i.personalProjectId,askBeforeRecruitment:ae(t.askBeforeRecruitment??t.ask_before_recruitment,!0),autoReusePreviousAgent:ae(t.autoReusePreviousAgent??t.auto_reuse_previous_agent,!0),updatedAt:oe(t.updatedAt??t.updated_at),autoGrowTeam:ae(t.autoGrowTeam??t.auto_grow_team,!0),teamLeadAgentId:oe(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 ae(e,t){return typeof e==`boolean`?e:t}function oe(e){return typeof e==`string`&&e?e:null}return(n,i)=>(r(),f(`section`,{class:`project-agent-automation-policy`,"aria-label":S(d)(`projectAgents.coordination.aria`,{project:e.projectName}),"aria-busy":N.value},[u(`header`,null,[u(`h3`,null,g(S(d)(`projectAgents.coordination.title`)),1),u(`span`,null,g(e.projectName),1)]),v.value?(r(),w(j,{key:0,variant:`compact`,label:S(d)(`projectAgents.coordination.loading`)},null,8,[`label`])):(r(),f(`div`,ot,[u(`label`,null,[u(`span`,null,[u(`strong`,null,g(S(d)(`projectAgents.coordination.autoReuse`)),1),u(`small`,null,g(S(d)(`projectAgents.coordination.autoReuseMeta`)),1)]),u(`input`,{checked:_.value.autoReusePreviousAgent,disabled:N.value||!!x.value,type:`checkbox`,role:`switch`,onChange:i[0]||=e=>U(`autoReusePreviousAgent`,e)},null,40,st)]),u(`label`,null,[u(`span`,null,[u(`strong`,null,g(S(d)(`projectAgents.coordination.askBeforeRecruitment`)),1),u(`small`,null,g(S(d)(`projectAgents.coordination.askBeforeRecruitmentMeta`)),1)]),u(`input`,{checked:_.value.askBeforeRecruitment,disabled:N.value||!!x.value,type:`checkbox`,role:`switch`,onChange:i[1]||=e=>U(`askBeforeRecruitment`,e)},null,40,ct)]),u(`label`,null,[u(`span`,null,[u(`strong`,null,g(S(d)(`projectAgents.team.autoGrow`)),1),u(`small`,null,g(S(d)(`projectAgents.team.autoGrowMeta`)),1)]),u(`input`,{checked:_.value.autoGrowTeam,disabled:N.value||!!x.value,type:`checkbox`,role:`switch`,onChange:i[2]||=e=>U(`autoGrowTeam`,e)},null,40,lt)])])),e.agents&&!v.value&&!x.value?(r(),f(`div`,ut,[u(`div`,dt,[u(`span`,null,g(S(d)(`projectAgents.team.hr`)),1),u(`span`,null,g(S(d)(`projectAgents.team.manager`)),1),z.value?(r(),f(`button`,{key:0,type:`button`,onClick:i[3]||=e=>m(`select`,z.value.agentId)},g(S(d)(`projectAgents.team.lead`))+` · `+g(ne(z.value)),1)):_.value.teamLeadAgentId?(r(),f(`span`,ft,g(S(d)(`projectAgents.team.unavailable`)),1)):(r(),f(`span`,pt,g(S(d)(`projectAgents.team.noLead`)),1))]),u(`p`,mt,g(S(d)(`projectAgents.team.summary`)),1),te.value.length?(r(),f(`ul`,ht,[(r(!0),f(y,null,a(te.value,e=>(r(),f(`li`,{key:e.agentId},[u(`button`,{type:`button`,onClick:t=>m(`select`,e.agentId)},[u(`strong`,null,g(ne(e)),1),u(`span`,null,g(e.profile.responsibility),1)],8,gt)]))),128))])):E(``,!0),u(`details`,null,[u(`summary`,null,g(S(d)(`projectAgents.team.edit`)),1),t(R,{modelValue:D.value,"onUpdate:modelValue":i[4]||=e=>D.value=e,class:`team-lead-field`,field:``,label:S(d)(`projectAgents.team.lead`),options:ee.value,disabled:N.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),u(`fieldset`,{disabled:N.value||!D.value},[u(`legend`,null,g(S(d)(`projectAgents.team.members`)),1),(r(!0),f(y,null,a(L.value,e=>(r(),f(`label`,{key:e.id,class:`unavailable-team-member`},[u(`input`,{type:`checkbox`,checked:``,onChange:t=>O.value=O.value.filter(t=>t!==e.id)},null,40,_t),s(` `+g(e.name)+` · `+g(S(d)(`projectAgents.team.removeUnavailable`)),1)]))),128)),(r(!0),f(y,null,a(I.value,e=>(r(),f(`label`,{key:e.agentId},[c(u(`input`,{"onUpdate:modelValue":i[5]||=e=>O.value=e,type:`checkbox`,value:e.agentId},null,8,vt),[[p,O.value]]),s(g(ne(e)),1)]))),128))],8,$),u(`button`,{type:`button`,disabled:N.value||!B.value,onClick:W},g(S(d)(`projectAgents.team.save`)),9,yt)])])):E(``,!0),u(`div`,bt,[x.value||C.value?(r(),f(`p`,xt,[s(g(x.value||C.value)+` `,1),x.value?(r(),f(`button`,{key:0,type:`button`,disabled:N.value,onClick:H},g(S(d)(`projectAgents.retry`)),9,St)):E(``,!0)])):b.value?(r(),w(j,{key:1,variant:`compact`,label:S(d)(`projectAgents.coordination.saving`)},null,8,[`label`])):T.value?(r(),f(`p`,Ct,g(S(d)(`projectAgents.coordination.saved`)),1)):E(``,!0)])],8,at))}}),[[`__scopeId`,`data-v-ade1eb42`]]),Tt={key:0,class:`project-agent-source-state`,role:`status`},Et={key:1,class:`project-agent-source-state`},Dt={key:2,class:`project-agent-source-state is-error`,role:`alert`},Ot=P(T({__name:`ProjectAgentDetailState`,props:{status:{},error:{},label:{}},emits:[`retry`],setup(e){return(i,a)=>e.status===`idle`?(r(),f(`div`,Tt,g(S(d)(`projectAgents.detail.notLoaded`)),1)):e.status===`loading`?(r(),f(`div`,Et,[t(j,{variant:`inline`,label:e.label},null,8,[`label`])])):e.status===`error`?(r(),f(`div`,Dt,[u(`span`,null,g(e.error||S(d)(`projectAgents.detail.sectionUnavailable`)),1),u(`button`,{class:`quiet-button`,type:`button`,onClick:a[0]||=e=>i.$emit(`retry`)},g(S(d)(`projectAgents.retry`)),1)])):n(i.$slots,`default`,{},void 0,!0,3)}}),[[`__scopeId`,`data-v-4f121023`]]),kt=[`aria-label`],At={"data-task-project-state":``},jt={key:0},Mt={"data-task-assignment-state":``},Nt={"data-task-execution-state":``},Pt={key:0,class:`project-agent-task-scope-hint`},Ft={key:1,"data-task-summary-reason":``},It=P(T({__name:`ProjectAgentTaskDiagnostics`,props:{task:{},projectName:{}},setup(e){let t=e,n=h(()=>!!(t.task.ownerAgentId||t.task.leadAgentId||t.task.participants.some(e=>e.agentId))),i=h(()=>t.task.projectScope?.type===`temporary`?`temporary`:t.task.personalProjectId?`identified`:`unresolved`),a=h(()=>{if(t.task.executionSummary!==void 0)return t.task.executionSummary;let e=new Map;for(let n of ne(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()]}),o=h(()=>{let e=a.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`}),s=h(()=>t.task.executionSummary?.length?``:a.value.length?`eventsOnly`:n.value?`assignedOnly`:`unassigned`);return(t,a)=>(r(),f(`section`,{class:`project-agent-task-diagnostics`,"aria-label":S(d)(`projectAgents.diagnostics.title`)},[u(`dl`,null,[u(`div`,At,[u(`dt`,null,g(S(d)(`projectAgents.diagnostics.project`)),1),u(`dd`,null,g(S(d)(`projectAgents.diagnostics.projectState.${i.value}`)),1),e.task.personalProjectId?(r(),f(`small`,jt,g(e.projectName),1)):E(``,!0)]),u(`div`,Mt,[u(`dt`,null,g(S(d)(`projectAgents.diagnostics.assignment`)),1),u(`dd`,null,g(S(d)(`projectAgents.diagnostics.assignmentState.${n.value?`assigned`:`unreported`}`)),1)]),u(`div`,Nt,[u(`dt`,null,g(S(d)(`projectAgents.diagnostics.execution`)),1),u(`dd`,null,g(S(d)(`projectAgents.diagnostics.executionState.${o.value}`)),1)])]),i.value===`temporary`?(r(),f(`p`,Pt,g(S(d)(`projectAgents.diagnostics.temporaryHint`)),1)):E(``,!0),s.value?(r(),f(`p`,Ft,g(S(d)(`projectAgents.diagnostics.summaryReason.${s.value}`)),1)):E(``,!0)],8,kt))}}),[[`__scopeId`,`data-v-f960dcef`]]),Lt={key:2,role:`alert`},Rt={key:3},zt={class:`work-record-meta`},Bt=[`datetime`],Vt={key:4},Ht=P(T({__name:`EmployeeWorkHistory`,props:{personalSpaceId:{},agentId:{},projects:{}},setup(e){let t=e,n=l(``),i=l(!1),s=l(!1),c=l(``),p=l([]),m=0;o(()=>[t.agentId,t.personalSpaceId,t.projects.map(e=>e.id).join(`
|
|
8
|
+
`)],()=>{let e=t.projects.some(e=>e.id===n.value)?n.value:t.projects[0]?.id??``;e===n.value?h():n.value=e},{immediate:!0}),o(n,()=>void h());async function h(){let e=++m;if(p.value=[],c.value=``,s.value=!1,!(!i.value||!n.value)){s.value=!0;try{let r=new URLSearchParams({personalSpaceId:t.personalSpaceId,personalProjectId:n.value}),i=await A(`/api/project-agents/${encodeURIComponent(t.agentId)}/memory?${r}`);e===m&&(p.value=i.workLog??[])}catch(t){e===m&&(c.value=t instanceof Error?t.message:d(`projectAgents.workHistory.loadFailed`))}finally{e===m&&(s.value=!1)}}}function _(e){let t=e.target.open;t!==i.value&&(i.value=t,i.value?h():++m)}function v(e){let t=new Date(e);return Number.isNaN(t.getTime())?d(`projectAgents.notReported`):new Intl.DateTimeFormat(b(),{dateStyle:`short`,timeStyle:`short`}).format(t)}function x(e){return d(`projectAgents.workHistory.${[`reported`,`completed`,`incomplete`,`failed`,`no_change`,`unreported`,`running`].includes(e)?e:`unreported`}`)}return(t,i)=>(r(),f(`details`,{class:`employee-work-history`,onToggle:_},[u(`summary`,null,g(S(d)(`projectAgents.workHistory.title`)),1),e.projects.length?(r(),w(R,{key:0,modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,field:``,label:S(d)(`projectAgents.fields.project`),options:e.projects.map(e=>({value:e.id,label:e.name}))},null,8,[`modelValue`,`label`,`options`])):E(``,!0),s.value?(r(),w(j,{key:1,variant:`compact`,label:S(d)(`projectAgents.workHistory.loading`)},null,8,[`label`])):c.value?(r(),f(`div`,Lt,[u(`p`,null,g(c.value),1),u(`button`,{type:`button`,class:`quiet-button`,onClick:h},g(S(d)(`projectAgents.retry`)),1)])):p.value.length?(r(),f(`ol`,Rt,[(r(!0),f(y,null,a(p.value,e=>(r(),f(`li`,{key:e.taskContextToken},[u(`div`,zt,[u(`strong`,null,g(x(e.status)),1),u(`span`,null,g(e.sourceApplication),1),u(`time`,{datetime:e.createdAt},g(v(e.createdAt)),9,Bt)]),u(`p`,null,g(e.summary),1)]))),128))])):(r(),f(`p`,Vt,g(S(d)(`projectAgents.workHistory.empty`)),1))],32))}}),[[`__scopeId`,`data-v-d4d00831`]]),Ut={class:`project-agent-fields`},Wt={class:`ui-field`},Gt=[`disabled`,`placeholder`],Kt={key:0,class:`ui-field-hint`},qt={class:`ui-field`},Jt=[`disabled`,`placeholder`],Yt={class:`ui-field`},Xt=[`disabled`],Zt={class:`ui-field`},Qt=[`disabled`,`placeholder`],$t={class:`ui-field project-agent-wide`},en=[`disabled`,`placeholder`],tn={class:`ui-field project-agent-wide`},nn=[`disabled`,`placeholder`],rn={class:`ui-field project-agent-wide`},an=[`disabled`,`placeholder`],on={class:`project-agent-wide project-agent-strategy`},sn={class:`ui-field project-agent-wide`},cn=[`disabled`,`placeholder`],ln={class:`ui-field-hint project-agent-wide`},un=P(T({__name:`ProjectAgentDialog`,props:{open:{type:Boolean},agent:{},projects:{},defaultProjectId:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(n,{emit:i}){let a=n,p=i,m=l(``),_=l(``),v=l(``),y=l(``),b=l(``),x=l(``),T=l(``),D=l(``),A=l(`active`),j=l(`durable`),M=l(`adaptive`),N=l(`flexible`),P=l(``),I=l(!1),L=l(``),z=h(()=>!!a.agent),te=h(()=>a.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id}))),B=h(()=>[`active`,`inactive`,`archived`].map(e=>({value:e,label:d(`projectAgents.status.${e}`)}))),ne=h(()=>[...[`durable`,`hr`].map(e=>({value:e,label:d(`projectAgents.agentType.${e}`)})),...z.value&&(j.value===`temporary`||j.value===`coordinator`)?[{value:j.value,label:d(`projectAgents.agentType.${j.value}`),disabled:!0}]:[]]),V=h(()=>[`flexible`,`locked`].map(e=>({value:e,label:d(`projectAgents.strategy.${e}`)}))),H=[`adaptive`,`fast`,`balanced`,`deep`].map(e=>({value:e,label:e}));o(()=>[a.open,a.agent,a.defaultProjectId],([e,t,n])=>{if(!e)return;m.value=t?.personalProjectId??n??a.projects[0]?.project_id??``,_.value=t?.agentId??``,v.value=t?.profile.name??``,y.value=t?.profile.displayName??``,b.value=t?.profile.occupationEmoji??``,x.value=t?.profile.responsibility??``,T.value=(t?.profile.capabilities??[]).join(`
|
|
9
|
+
`),D.value=(t?.profile.initialPreferences??[]).join(`
|
|
10
|
+
`),A.value=t?.profile.status??`active`,j.value=t?.profile.agentType??`durable`,M.value=t?.profile.defaultModelStrategy?.mode??`adaptive`,N.value=t?.profile.executorPolicy?.mode??`flexible`;let r=t?.profile.executorPolicy,i=r?.mode===`locked`?r.lockedExecutorIds:r?.preferredExecutorIds;P.value=(i?.length?i:r?.allowList?.map(({executorId:e})=>e)??[]).join(`
|
|
11
|
+
`),L.value=``},{immediate:!0});function U(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 W(){if(I.value)return;let e=m.value.trim(),t=_.value.trim(),n=v.value.trim(),r=b.value.trim(),i=x.value.trim();if(!t||!n||!i){L.value=d(`projectAgents.dialog.required`);return}let o=a.projects.find(({project_id:t})=>t===e);if(e&&!o){L.value=d(`projectAgents.dialog.projectUnavailable`);return}if(r&&!G(r)){L.value=d(`projectAgents.dialog.occupationEmojiInvalid`);return}let s=o?.personal_space_id??a.personalSpaceId??a.agent?.personalSpaceId;if(!s){L.value=d(`projectAgents.dialog.spaceUnavailable`);return}let c=U(T.value),l=U(D.value);if(!c||!l){L.value=d(`projectAgents.dialog.duplicate`);return}let u=U(P.value);if(!u||N.value===`locked`&&!u.length){L.value=d(`projectAgents.dialog.duplicate`);return}I.value=!0,L.value=``;try{let o={...a.agent?.profile,name:n,responsibility:i,capabilities:c,initialPreferences:l,status:A.value};y.value.trim()&&(o.displayName=y.value.trim()),r&&(o.occupationEmoji=r),j.value!==`durable`&&(o.agentType=j.value),M.value!==`adaptive`&&(o.defaultModelStrategy={mode:M.value}),(N.value!==`flexible`||u.length)&&(o.executorPolicy={mode:N.value,lockedExecutorIds:N.value===`locked`?u:[],preferredExecutorIds:N.value===`flexible`?u:[]});let f=await O(`/api/project-agents`,{personalSpaceId:s,personalProjectId:null,agentId:t,profile:o}),m=f;if(e&&!z.value){let n=await k(`/api/project-agent-assignments`,{personalSpaceId:s,personalProjectId:e,agentId:t,idempotencyKey:`directory:${t}:${Date.now()}`,responsibility:i,capabilities:c,reason:d(`projectAgents.dialog.initialAssignmentReason`)});m={...f,personalProjectId:e,assignments:[n]}}p(`saved`,m),p(`close`)}catch(e){L.value=e instanceof Error?e.message:d(`projectAgents.dialog.saveFailed`)}finally{I.value=!1}}function G(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(i,a)=>(r(),w(ee,{open:n.open,class:`project-agent-dialog`,size:`lg`,form:``,busy:I.value,error:L.value,title:z.value?S(d)(`projectAgents.dialog.editTitle`):S(d)(`projectAgents.dialog.createTitle`),onClose:a[14]||=e=>p(`close`),onSubmit:W},{footer:e(()=>[t(F,{variant:`ghost`,disabled:I.value,onClick:a[13]||=e=>p(`close`)},{default:e(()=>[s(g(S(d)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),t(F,{variant:`primary`,type:`submit`,busy:I.value,"busy-label":S(d)(`projectAgents.dialog.saving`)},{default:e(()=>[s(g(z.value?S(d)(`projectAgents.dialog.saveEdit`):S(d)(`projectAgents.dialog.saveCreate`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:e(()=>[u(`div`,Ut,[t(R,{modelValue:m.value,"onUpdate:modelValue":a[0]||=e=>m.value=e,field:``,"control-id":`project-agent-project`,options:te.value,label:S(d)(`projectAgents.fields.project`),placeholder:S(d)(`projectAgents.dialog.projectPlaceholder`),disabled:z.value||I.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`]),t(R,{modelValue:A.value,"onUpdate:modelValue":a[1]||=e=>A.value=e,field:``,name:`project-agent-status`,label:S(d)(`projectAgents.fields.status`),options:B.value,disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),t(R,{modelValue:j.value,"onUpdate:modelValue":a[2]||=e=>j.value=e,field:``,name:`project-agent-type`,label:S(d)(`projectAgents.fields.agentType`),options:ne.value,disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),u(`label`,Wt,[s(g(S(d)(`projectAgents.fields.agentId`))+` `,1),c(u(`input`,{"onUpdate:modelValue":a[3]||=e=>_.value=e,name:`project-agent-id`,maxlength:`128`,required:``,disabled:z.value||I.value,placeholder:S(d)(`projectAgents.dialog.agentIdPlaceholder`)},null,8,Gt),[[C,_.value]]),z.value?(r(),f(`small`,Kt,g(S(d)(`projectAgents.dialog.idLocked`)),1)):E(``,!0)]),u(`label`,qt,[s(g(S(d)(`attention.roleName`))+` `,1),c(u(`input`,{"onUpdate:modelValue":a[4]||=e=>v.value=e,name:`project-agent-name`,maxlength:`160`,required:``,disabled:I.value,placeholder:S(d)(`projectAgents.dialog.namePlaceholder`)},null,8,Jt),[[C,v.value]])]),u(`label`,Yt,[s(g(S(d)(`attention.displayName`))+` `,1),c(u(`input`,{"onUpdate:modelValue":a[5]||=e=>y.value=e,name:`project-agent-display-name`,maxlength:`160`,disabled:I.value},null,8,Xt),[[C,y.value]])]),u(`label`,Zt,[s(g(S(d)(`projectAgents.fields.occupationEmoji`))+` `,1),c(u(`input`,{"onUpdate:modelValue":a[6]||=e=>b.value=e,name:`project-agent-occupation-emoji`,maxlength:`64`,autocomplete:`off`,disabled:I.value,placeholder:S(d)(`projectAgents.dialog.occupationEmojiPlaceholder`)},null,8,Qt),[[C,b.value]])]),u(`label`,$t,[s(g(S(d)(`projectAgents.fields.responsibility`))+` `,1),c(u(`textarea`,{"onUpdate:modelValue":a[7]||=e=>x.value=e,name:`project-agent-responsibility`,maxlength:`4096`,rows:`4`,required:``,disabled:I.value,placeholder:S(d)(`projectAgents.dialog.responsibilityPlaceholder`)},null,8,en),[[C,x.value]])]),u(`label`,tn,[s(g(S(d)(`projectAgents.fields.capabilities`))+` `,1),c(u(`textarea`,{"onUpdate:modelValue":a[8]||=e=>T.value=e,name:`project-agent-capabilities`,maxlength:`8192`,rows:`4`,disabled:I.value,placeholder:S(d)(`projectAgents.dialog.capabilitiesPlaceholder`)},null,8,nn),[[C,T.value]])]),u(`label`,rn,[s(g(S(d)(`projectAgents.fields.initialPreferences`))+` `,1),c(u(`textarea`,{"onUpdate:modelValue":a[9]||=e=>D.value=e,name:`project-agent-preferences`,maxlength:`8192`,rows:`4`,disabled:I.value,placeholder:S(d)(`projectAgents.dialog.preferencesPlaceholder`)},null,8,an),[[C,D.value]])]),u(`fieldset`,on,[u(`legend`,null,g(S(d)(`projectAgents.fields.defaultModelStrategy`)),1),t(R,{modelValue:N.value,"onUpdate:modelValue":a[10]||=e=>N.value=e,field:``,name:`project-agent-selection-mode`,label:S(d)(`projectAgents.fields.executorPolicy`),options:V.value,disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),t(R,{modelValue:M.value,"onUpdate:modelValue":a[11]||=e=>M.value=e,field:``,name:`project-agent-model-mode`,label:S(d)(`projectAgents.fields.modelIntent`),options:S(H),disabled:I.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),u(`label`,sn,[s(g(S(d)(`projectAgents.fields.allowList`))+` `,1),c(u(`textarea`,{"onUpdate:modelValue":a[12]||=e=>P.value=e,name:`project-agent-allow-list`,rows:`3`,disabled:I.value,placeholder:S(d)(`projectAgents.dialog.allowListPlaceholder`)},null,8,cn),[[C,P.value]])]),u(`small`,ln,g(N.value===`locked`?S(d)(`projectAgents.strategy.lockedUnavailable`):S(d)(`projectAgents.strategy.providerNeutral`)),1)])])]),_:1},8,[`open`,`busy`,`error`,`title`]))}}),[[`__scopeId`,`data-v-86bea342`]]),dn=[`aria-label`],fn={class:`project-agents-header`},pn={key:0,class:`project-agents-header-meta`},mn={class:`project-agent-header-actions`},hn=[`disabled`],gn=[`disabled`],_n={key:0,class:`project-agents-summary`,"aria-live":`polite`},vn={class:`project-agents-toolbar`},yn={class:`project-agents-search`},bn={class:`sr-only`},xn=[`placeholder`],Sn=[`aria-label`],Cn=[`aria-pressed`,`onClick`],wn={key:4,class:`ui-card project-agents-state is-error`,role:`alert`},Tn={key:5,class:`ui-card project-agents-state`},En=[`disabled`],Dn={key:6,class:`ui-card project-agents-state`},On={key:7,class:`ui-card project-agents-directory`},kn=[`aria-label`],An=[`aria-current`,`onClick`],jn={class:`project-agent-row-heading`},Mn=[`aria-label`],Nn={class:`ui-badge project-agent-kind`},Pn={class:`project-agent-row-projects`},Fn={key:0},In={key:1},Ln={class:`project-agent-row-responsibility`},Rn={class:`project-agent-row-work`},zn=[`aria-label`],Bn={class:`project-agent-detail-heading`},Vn=[`aria-label`],Hn={key:0},Un={key:0},Wn={class:`project-agent-detail-actions`},Gn=[`disabled`],Kn=[`disabled`],qn={key:1},Jn={key:0,class:`project-agent-detail-notice`,role:`status`},Yn={key:1,class:`employee-project-overview`,"aria-labelledby":`employee-project-overview-title`},Xn={class:`employee-project-overview-heading`},Zn={id:`employee-project-overview-title`},Qn={key:0,class:`employee-assigned-projects`},$n={key:1,class:`employee-project-overview-hint`},er={class:`ui-card project-agent-detail-section is-responsibility`},tr={key:0,class:`project-agent-tags`},nr={class:`project-agent-detail-source`,"data-detail-section":`tasks`},rr={key:0,class:`project-agent-muted`,"data-task-partial":``},ir={class:`project-agent-detail-section`},ar={class:`project-agent-section-heading`},or={key:0,class:`project-agent-task-list`},sr=[`id`],cr={key:0},lr={key:1,class:`project-agent-inline-list`},ur=[`open`],dr=[`aria-label`],fr={class:`project-agent-section-heading`},pr=[`aria-label`],mr={class:`project-agent-execution-summary-table`},hr={class:`sr-only`},gr={scope:`col`},_r={scope:`col`},vr={scope:`col`},yr={scope:`col`},br={scope:`col`},xr={scope:`col`},Sr={scope:`col`},Cr={scope:`row`},wr={class:`project-agent-execution-worker`},Tr=[`aria-label`],Er={key:0},Dr=[`data-label`],Or=[`data-label`],kr=[`data-label`],Ar={key:0},jr={key:1},Mr=[`data-label`],Nr=[`href`],Pr={key:1},Fr={class:`project-agent-reporter-label`},Ir=[`href`],Lr={key:1},Rr=[`data-label`],zr=[`data-label`],Br={key:1},Vr={key:1,class:`project-agent-muted`},Hr=[`aria-label`],Ur={class:`project-agent-section-heading`},Wr={class:`project-agent-execution-summary-list`},Gr=[`aria-label`],Kr={key:1},qr={class:`project-agent-execution-summary-meta`},Jr={key:0},Yr={key:0},Xr={key:1},Zr={key:2},Qr={key:2},$r={key:3,class:`project-agent-routing-decision`},ei={class:`project-agent-section-heading`},ti={key:0},ni={key:1},ri={key:2},ii={key:0},ai={key:3},oi={key:0},si={key:4},ci={class:`project-agent-execution-line`},li={key:0},ui={key:1},di={key:2},fi={key:4},pi={key:5},mi={key:1,class:`project-agent-muted`},hi={class:`ui-disclosure project-agent-disclosure`},gi={class:`project-agent-detail-source`,"data-detail-section":`assignments`},_i={class:`project-agent-detail-section`},vi={class:`project-agent-section-heading`},yi={class:`project-agent-section-tools`},bi={key:0,class:`project-agent-assignment-list`},xi={class:`project-agent-card-actions`},Si=[`onClick`],Ci=[`onClick`],wi={key:0},Ti={key:1,class:`project-agent-inline-list`},Ei={class:`project-agent-strategy-note`},Di={key:0},Oi={key:2,class:`project-agent-tags`},ki={key:3},Ai={key:1,class:`project-agent-muted`},ji={class:`ui-disclosure project-agent-disclosure`},Mi={class:`project-agent-detail-source`,"data-detail-section":`activity`},Ni={class:`project-agent-detail-section`},Pi={class:`project-agent-section-heading`},Fi={key:0},Ii={key:0,class:`project-agent-heatmap-wrap project-agent-heatmap-viewport`},Li=[`aria-label`],Ri=[`aria-label`,`aria-pressed`,`onClick`],zi={class:`sr-only`},Bi={key:0,class:`project-agent-day-detail`},Vi={key:0,class:`project-agent-muted`},Hi={key:1},Ui={key:1,class:`project-agent-muted`},Wi={class:`ui-disclosure project-agent-disclosure`},Gi={class:`project-agent-detail-meta`},Ki={key:0},qi=[`open`],Ji={class:`project-agent-detail-source`,"data-detail-section":`recruitment`},Yi={class:`project-agent-detail-section`,"aria-labelledby":`project-agent-recruitment-heading`},Xi={class:`project-agent-section-heading`},Zi={id:`project-agent-recruitment-heading`},Qi={key:0,class:`project-agent-recruitment-list`},$i={class:`project-agent-card-actions`},ea={class:`ui-badge`},ta=[`disabled`,`onClick`],na={key:1},ra=[`disabled`,`onClick`],ia={key:1},aa={class:`project-agent-compact-meta`},oa={key:1,class:`project-agent-muted`},sa={class:`project-agent-detail-source`,"data-detail-section":`executors`},ca={class:`project-agent-detail-section`},la={class:`project-agent-section-heading`},ua={class:`project-agent-muted`},da={key:0,class:`project-agent-tags`},fa={key:1,class:`project-agent-blocked`},pa={key:2,class:`project-agent-muted`},ma={class:`project-agent-section-tools`},ha={key:3,class:`project-agent-executor-list`},ga=[`onClick`],_a=[`disabled`,`onClick`],va={key:1},ya=[`disabled`,`onClick`],ba={key:1},xa={class:`project-agent-detail-source`,"data-detail-section":`clients`},Sa={class:`project-agent-detail-section`},Ca={class:`project-agent-section-heading`},wa={key:0,class:`project-agent-client-list`},Ta={key:0},Ea={key:1},Da={key:2},Oa={key:1,class:`project-agent-muted`},ka={class:`project-agent-detail-source`,"data-detail-section":`routing`},Aa={class:`project-agent-detail-section`},ja={class:`project-agent-section-heading`},Ma={class:`project-agent-section-tools`},Na={key:0,class:`project-agent-rule-list`},Pa=[`disabled`,`onClick`],Fa={key:1},Ia={key:1,class:`project-agent-muted`},La={class:`project-agent-note`},Ra={class:`project-agent-detail-source`,"data-detail-section":`learning`},za={class:`project-agent-detail-section`},Ba={class:`project-agent-section-heading`},Va={key:0,class:`project-agent-learning-list`},Ha={class:`ui-badge`},Ua={key:0},Wa={key:1,class:`project-agent-inline-list`},Ga={key:0},Ka={key:2,class:`project-agent-evidence-list`},qa=[`disabled`,`onClick`],Ja={key:1},Ya={key:3,class:`project-agent-learning-actions`},Xa=[`disabled`,`onClick`],Za={key:1},Qa={key:1,class:`project-agent-muted`},$a={class:`project-agent-note`},eo={key:1,class:`project-agent-detail-placeholder`},to=P(T({__name:`ProjectAgentsPage`,setup(n){let p=[`assignments`,`tasks`,`activity`,`recruitments`,`executors`,`routingRules`,`learning`],T=D(),O=I(),P=l([]),F=l(!1),ee=l(``),R=l(null),V=l(!1),W=l(`all`),ae=l(``),K=l(``);o(()=>O.query.agent,e=>{typeof e==`string`&&(K.value=e)},{immediate:!0});let fe=l(!1),be=l(!1),Se=l(``),J=l(null),Ce=l(!1),we=l(`assign`),Te=l(null),Ee=l(!1),De=l({}),Oe=l({}),Y=l(``),ke=l(``),Ae=l(!1),je=l(``),Me=l(``),X=l(``),Pe=l(``),Fe=l(``),Ie=l(``),Le=l(!1),Re=l(`executor`),ze=l(null),Be=l(null),Ve=0,He=0,Ue=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]);function We(e){return`${e}:${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}let Ge=h(()=>T.state?.personalProjects??[]);async function Ke(e){await gt(),rt.value.some(t=>t.agentId===e.agent.agentId)||(R.value=null,W.value=`all`,ae.value=``);let t=K.value===e.agent.agentId;K.value=e.agent.agentId,t&&$()}let Z=h(()=>T.activePersonalSpace?.id??``),qe=h(()=>F.value||!T.state&&(T.runtimeStatus===`idle`||T.runtimeStatus===`loading`)),Je=h(()=>ee.value||(!T.state&&T.runtimeStatus===`error`?T.feedback?.message||d(`projectAgents.loadError`):``));function Ye(){T.state?gt():T.refresh()}let Xe=h(()=>new Map(Ge.value.map(e=>[e.project_id,e]))),Ze=h(()=>Ge.value.map(e=>({id:e.project_id,name:e.profile.name}))),Qe=h(()=>{let e=typeof O.query.agent==`string`?O.query.agent:``;return e?P.value.find(t=>t.personalSpaceId===Z.value&&(t.agentId===e||t.legacyAgentIds?.includes(e)))??null:null}),$e=h(()=>!!(Qe.value&&typeof O.query.project==`string`&&typeof O.query.task==`string`&&!V.value)),et=h({get:()=>R.value??Ze.value.map(e=>e.id),set:e=>{V.value=!0;let t=Ze.value.filter(t=>e.includes(t.id)).map(e=>e.id);R.value=t.length===Ze.value.length?null:t}}),tt=h(()=>R.value?.length===1?R.value[0]:``);o([()=>O.query.project,Ze],([e,t],n)=>{let r=!n||e!==n[0];typeof e==`string`&&t.some(t=>t.id===e)&&(r||!V.value)&&(R.value=[e],r&&(V.value=!1))},{immediate:!0});let nt=h(()=>[{value:`all`,label:d(`projectAgents.status.all`)},{value:`active`,label:d(`projectAgents.status.active`)},{value:`inactive`,label:d(`projectAgents.status.inactive`)},{value:`archived`,label:d(`projectAgents.status.archived`)}]),rt=h(()=>{let e=ae.value.trim().toLocaleLowerCase(b());return P.value.filter(e=>R.value===null||Kt(e).some(({id:e})=>R.value.includes(e))||$e.value&&e.agentId===Qe.value?.agentId).filter(e=>W.value===`all`||e.profile.status===W.value).filter(t=>!e||Jt(t).toLocaleLowerCase(b()).includes(e)).sort(Vt)}),Q=h(()=>rt.value.find(e=>e.agentId===K.value)??null),at=h(()=>Q.value?me(Q.value):null),ot=h(()=>pe.value.find(e=>e.id===at.value)),st=h(()=>Q.value?Kt(Q.value).filter(e=>Xe.value.get(e.id)?.profile.lifecycle!==`archived`):[]),ct=h(()=>P.value.filter(({profile:e})=>e.status===`active`).length),lt=h(()=>P.value.reduce((e,t)=>e+Gt(t).length,0)),ut=h(()=>new Set(P.value.flatMap(e=>Gt(e).map(({personalProjectId:e})=>e))).size),dt=h(()=>tt.value?tt.value:Q.value?.assignments?.find(({status:e})=>e===`active`)?.personalProjectId??Q.value?.personalProjectId??Ge.value[0]?.project_id??null),ft=h(()=>Q.value?.activity??null),pt=h(()=>ft.value?.days.find(({date:e})=>e===ke.value)??null),mt=h(()=>Object.entries(Q.value?.learningEvidence??{})),ht=h(()=>Q.value?.recruitments??[]);_(()=>{T.runtimeStatus===`idle`&&T.refresh()}),o(Z,e=>{++Ve,++He,De.value={},Oe.value={},K.value=``,P.value=[],V.value=!1,R.value=typeof O.query.project==`string`&&Ze.value.some(e=>e.id===O.query.project)?[O.query.project]:null,ee.value=``,e?gt(e):F.value=!1},{immediate:!0}),o(rt,e=>{if(!e.some(e=>e.agentId===K.value)){let t=e.find(e=>e.agentId===O.query.agent||typeof O.query.agent==`string`&&e.legacyAgentIds?.includes(O.query.agent));K.value=t?.agentId??($e.value?Qe.value?.agentId:void 0)??e[0]?.agentId??``}e.some(e=>e.activity?.days.some(({date:e})=>e===ke.value))||(ke.value=``)},{immediate:!0}),o([K,Z],([e,t])=>{ke.value=``,e&&t&&$(e,t)},{immediate:!0});async function gt(e=Z.value){if(!e)return;let t=++Ve;F.value=!0,ee.value=``;try{let n=new URLSearchParams({personalSpaceId:e}),[r,i]=await Promise.allSettled([A(`/api/project-agents?${n}`),A(`/api/project-agent-tasks?${n}`)]);if(t!==Ve)return;if(he(e),r.status===`rejected`)throw r.reason;if(t===Ve){let e=Go(le(r.value)),t=i.status===`fulfilled`?Ro(i.value).filter(e=>Ue.has(e.status)):[];P.value=Ao(e,t)}}catch(e){t===Ve&&(ee.value=e instanceof Error?e.message:d(`projectAgents.loadError`))}finally{t===Ve&&(F.value=!1)}}async function $(e=K.value,t=Z.value){let n=P.value.find(t=>t.agentId===e);if(!n||!t)return;let r=++He;Ee.value=!0,Y.value=``,yt(e,`loading`);let i=new URLSearchParams({personalSpaceId:t,agentId:e}),a=ye(),o=new URLSearchParams({personalSpaceId:t,agentId:e,fromDate:a.fromDate,toDate:a.toDate}),s={assignments:A(`/api/project-agent-assignments?${i}`),tasks:_t(i),activity:A(`/api/project-agent-activity?${o}`),recruitments:A(`/api/project-agent-recruitments?personalSpaceId=${encodeURIComponent(t)}`),executors:A(`/api/executors?personalSpaceId=${encodeURIComponent(t)}`),routingRules:A(`/api/executor-routing-rules?personalSpaceId=${encodeURIComponent(t)}`),learning:A(`/api/project-agent-routing-learning?${i}`)};await Promise.all(p.map(async i=>{try{let a=await s[i];if(!Ct(r,e,t))return;Tt(n,i,a),bt(e,i,{status:`ready`,error:``})}catch(n){if(!Ct(r,e,t))return;bt(e,i,{status:`error`,error:n instanceof Error?n.message:d(`projectAgents.detail.sectionUnavailable`)})}})),Ct(r,e,t)&&(Ee.value=!1)}async function _t(e){let t=e.get(`agentId`)??``,n=e.get(`personalSpaceId`)??``,r=typeof O.query.project==`string`?O.query.project:``,i=typeof O.query.task==`string`?O.query.task:``;e=new URLSearchParams({personalSpaceId:n,limit:`200`}),r&&e.set(`personalProjectId`,r);let a=await A(`/api/project-agent-tasks?${e}`);Et(a,[`tasks`,`items`]);let o=e=>(!e.personalSpaceId||e.personalSpaceId===n)&&(!r||e.personalProjectId===r)&&se(e,t),s=Ro(a).filter(o);if(i&&!s.some(e=>e.taskId===i)){let t=ue(await A(`/api/project-agent-tasks/${encodeURIComponent(i)}?${e}`));t&&o(t)&&s.unshift(t)}return{tasks:s,partial:!ce(a)}}o([()=>O.query.task,Ee],async([e,t])=>{t||typeof e!=`string`||(await v(),document.getElementById(`task-${e}`)?.scrollIntoView?.({block:`nearest`}))});function vt(e=`idle`){return Object.fromEntries(p.map(t=>[t,{status:e,error:``}]))}function yt(e,t){De.value={...De.value,[e]:vt(t)}}function bt(e,t,n){De.value={...De.value,[e]:{...De.value[e]??vt(),[t]:n}}}function xt(e){let t=(Array.isArray(e)?e:[e]).map(e=>De.value[K.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 St(e){return d(`projectAgents.detail.loading.`+e)}function Ct(e,t,n){return e===He&&t===K.value&&n===Z.value}function Tt(e,t,n){let r;switch(t){case`assignments`:Et(n,[`assignments`,`items`]),r={assignments:No(n,e)};break;case`tasks`:Et(n,[`tasks`,`items`]),Oe.value={...Oe.value,[e.agentId]:q(n).partial===!0},r={tasks:Ro(n)};break;case`activity`:{let e=xe(n,{agentId:K.value,personalSpaceId:Z.value});if(!e)throw Error(d(`projectAgents.detail.sectionUnavailable`));r={activity:e};break}case`recruitments`:Et(n,[`recruitments`,`items`]),r={recruitments:Bo(n).filter(t=>Vo(t,e))};break;case`executors`:Et(n,[`executors`,`items`]),r={executorDirectory:Fo(n),clientEvidence:Ho(n)};break;case`routingRules`:Et(n,[`rules`,`items`]),r={routingRules:Uo(n)};break;case`learning`:Et(n,[`learningEvidence`,`learning_evidence`,`items`],!0),r={learningEvidence:Wo(n)};break}P.value=P.value.map(t=>t.agentId===e.agentId?{...t,...r}:t)}function Et(e,t,n=!1){if(Array.isArray(e))return;let r=q(e);if(!t.some(e=>Array.isArray(r[e])||n&&Dt(r[e])))throw Error(d(`projectAgents.detail.sectionUnavailable`))}function Dt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function kt(e,t,n){let r=t===`ignore`?n:e.learningKey??e.modelStrategyKey,i=Q.value;if(!(!r||!i||!Z.value||je.value)){if(t===`reset`&&(!e.personalProjectId||!e.workKind||!e.executor)){Y.value=d(`projectAgents.learning.resetUnavailable`);return}je.value=r,Me.value=t;try{await M(`/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`:We(`console-learning:${r}:reset`),reason:`Console requested ${t} for explicit evidence`}),await $()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.learning.updateFailed`)}finally{je.value=``,Me.value=``}}}async function At(e,t){if(!(!Z.value||X.value)){X.value=e.recruitmentId,Pe.value=t;try{await k(`/api/project-agent-recruitments/decision`,{personalSpaceId:Z.value,personalProjectId:e.personalProjectId,recruitmentId:e.recruitmentId,expectedRevision:e.revision??0,decision:t,reason:d(`projectAgents.recruitment.${t}Reason`)}),await $()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.recruitment.decisionFailed`)}finally{X.value=``,Pe.value=``}}}async function jt(e,t){if(!(!Z.value||Fe.value)){Fe.value=e.executorId,Ie.value=t===`authorized`?`authorize`:`revoke`;try{await k(`/api/executors/authorization`,{personalSpaceId:Z.value,executorId:e.executorId,status:t,expectedRevision:e.permissionRevision??0,idempotencyKey:We(`console-executor:${e.executorId}:${t}`),reason:d(`projectAgents.routing.${t===`authorized`?`authorizeReason`:`revokeReason`}`)}),await $()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.routing.authorizationFailed`)}finally{Fe.value=``,Ie.value=``}}}function Mt(e=null){Re.value=`executor`,ze.value=e,Be.value=null,Le.value=!0}function Nt(e=null){Re.value=`rule`,Be.value=e,ze.value=null,Le.value=!0}function Pt(){Le.value=!1,ze.value=null,Be.value=null}function Ft(e){Q.value&&(P.value=P.value.map(t=>t.agentId===Q.value?.agentId?{...t,executorDirectory:Ko([...t.executorDirectory??[],e],({executorId:e})=>e)}:t),Pt())}function Lt(e){Q.value&&(P.value=P.value.map(t=>t.agentId===Q.value?.agentId?{...t,routingRules:Ko([...t.routingRules??[],e],({ruleId:e})=>e)}:t),Pt())}function Rt(e){Re.value===`executor`?Ft(e):Lt(e)}async function zt(e){if(!(!Z.value||!e.ruleId||X.value)){X.value=`rule:${e.ruleId}`,Pe.value=`disable`;try{await M(`/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:d(`projectAgents.routing.updateFailed`)}finally{X.value=``,Pe.value=``}}}async function Bt(e){if(e.profile.cleanupEligible){Ae.value=!0,Ee.value=!0;try{await N(`/api/project-agents/${encodeURIComponent(e.agentId)}?personalSpaceId=${encodeURIComponent(e.personalSpaceId)}&reason=archived%20test%20role`),await gt()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.source.cleanupFailed`)}finally{Ae.value=!1,Ee.value=!1}}}function Vt(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,b())||e.agentId.localeCompare(t.agentId,b())}function Ut(e){return e?Xe.value.get(e)?.profile.name??e:d(`projectAgents.notReported`)}function Wt(e){return e.assignments??(e.personalProjectId?[qt(e)]:[])}function Gt(e){return[...new Map(Wt(e).filter(e=>e.status===`active`).map(e=>[e.personalProjectId,e])).values()]}function Kt(e){let t=me(e);return(t?pe.value.find(e=>e.id===t):void 0)?.managedProjects??Gt(e).map(e=>({id:e.personalProjectId,name:Ut(e.personalProjectId)}))}function qt(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 Jt(e){return[e.agentId,e.profile.name,e.profile.displayName??``,e.profile.occupationEmoji??``,e.profile.responsibility,...e.profile.capabilities??[],...e.profile.workKinds??[],...Wt(e).flatMap(e=>[e.personalProjectId,e.responsibility,e.scope??``,...e.workKinds??[]]),...(e.tasks??[]).flatMap(e=>[e.taskId,e.title,e.workKind??``])].join(` `)}function Yt(){J.value=null,fe.value=!0}function Xt(e=``){Se.value=e,be.value=!0}function Zt(e){J.value=e,fe.value=!0}function Qt(){fe.value=!1,J.value=null}function $t(e,t=null,n=`assign`){let r=me(e);if(n===`assign`&&r){Xt(r);return}J.value=e,Te.value=t,we.value=n,Ce.value=!0}function en(){Ce.value=!1,Te.value=null,we.value=`assign`}function tn(e){J.value&&(P.value=P.value.map(t=>t.agentId===J.value?.agentId?{...t,assignments:Ko([...t.assignments??[],e],({assignmentId:e})=>e)}:t),K.value=J.value.agentId,en())}function nn(){en(),$()}function rn(e){let t=jo(e),n=P.value.filter(e=>!(e.agentId===t.agentId&&t.personalProjectId&&e.personalProjectId===t.personalProjectId));P.value=Go([...n,t]),t.personalProjectId&&(R.value=[t.personalProjectId]),W.value=`all`,ae.value=``,K.value=t.agentId,T.notify(d(`projectAgents.saved`))}function an(e){if(!e)return d(`projectAgents.notReported`);let t=new Date(e);return Number.isNaN(t.valueOf())?d(`projectAgents.notReported`):new Intl.DateTimeFormat(b(),{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t)}function on(e){if(!e)return d(`projectAgents.notReported`);let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.valueOf())?e:new Intl.DateTimeFormat(b(),{month:`short`,day:`numeric`}).format(t)}function sn(e){return e?.mode??`adaptive`}function cn(e){return e?.mode??`flexible`}function ln(e){return e?.mode===`locked`}function to(e){return e?e.allowList?.length?e.allowList:((e.mode===`locked`?e.lockedExecutorIds:e.preferredExecutorIds)??[]).map(e=>({executorId:e})):[]}function no(e){if(e.actualExecution)return e.actualExecution;let t=[...e.events??[]].reverse().find(e=>e.actualExecution);return t?re(t):null}function ro(e){return e.workerLabel&&e.workerId&&e.workerLabel!==e.workerId?`${e.workerLabel} · ${e.workerId}`:e.workerLabel||e.workerId||d(`projectAgents.notReported`)}function io(e){return e.workerOccupationEmoji||``}function ao(e){return co(e.workerStatus||e.status)}function oo(e){return e.workerLabel||e.agentName||e.workerId||e.agentId||d(`projectAgents.notReported`)}function so(e){return e.workerOccupationEmoji||e.occupationEmoji||``}function co(e){return e?_o(e):d(`projectAgents.notReported`)}function lo(e){if(!e)return d(`projectAgents.notReported`);let t=`projectAgents.participantRoles.${e}`,n=d(t);return n===t?e:n}function uo(e){return d(`projectAgents.tokenSources.${e}`)}function fo(e){return!e||![`executor`,`host`,`dingdong`].includes(e.source)||!Number.isSafeInteger(e.totalTokens)||e.totalTokens<0?`-`:`${new Intl.NumberFormat(b()).format(e.totalTokens)} Token · ${uo(e.source)}`}function po(e){return mo(e.workerRuntime?e.workerRuntime.sessionUrl:e.sourceSessionUrl)}function mo(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 ho(e){return e.workerRuntime?e.workerRuntime.sessionId:e.sourceSessionId}function go(e){return(e.tasks??[]).find(e=>Ue.has(e.status))??null}function _o(e){let t=`projectAgents.taskStatus.${e}`,n=d(t);return n===t?e:n}function vo(e){return d(`projectAgents.agentType.${e??`durable`}`)}function yo(e){return d(e?`projectAgents.clients.${e}`:`projectAgents.notReported`)}function bo(e){return qo([...e.profile.allowedClients??[],...e.observedClients??[],...(e.clientEvidence??[]).map(({client:e})=>e)])}function xo(e,t){return e.clientEvidence?.find(e=>e.client===t)}function So(e,t){return xo(e,t)?.actualUse?.count??0}function Co(e){return e.neutral!==!1||e.sampleCount<=0}function wo(e){return Co(e)?d(`projectAgents.learning.neutral`):d(`projectAgents.learning.recorded`)}function To(e){return e.recentWeightedSamples??d(`projectAgents.notReported`)}function Eo(e){return e.score??``}function Do(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 Oo(e){ke.value=e.date}function ko(e,t){return se(t,e.agentId)}function Ao(e,t){return e.map(e=>{let n=t.filter(t=>ko(e,t));return n.length?{...e,tasks:Ko([...e.tasks??[],...n],({taskId:e})=>e)}:e})}function jo(e){let t=q(e),n=q(t.profile),r=B(t,`agentId`,`agent_id`)??``,i=B(t,`createdAt`,`created_at`)??``,a=B(t,`updatedAt`,`updated_at`)??i,o={name:B(n,`name`,`name`)??r,displayName:B(n,`displayName`,`display_name`),responsibility:B(n,`responsibility`,`responsibility`)??``,capabilities:G(n.capabilities).filter(e=>typeof e==`string`),initialPreferences:G(H(n,`initialPreferences`,`initial_preferences`)).filter(e=>typeof e==`string`),status:B(n,`status`,`status`)??`active`,occupationEmoji:B(n,`occupationEmoji`,`occupation_emoji`),agentType:B(n,`agentType`,`agent_type`),workKinds:G(H(n,`workKinds`,`work_kinds`)).filter(e=>typeof e==`string`),defaultModelStrategy:U(H(n,`defaultModelStrategy`,`default_model_strategy`)),executorPolicy:ie(H(n,`executorPolicy`,`executor_policy`)),allowedClients:G(H(n,`allowedClients`,`allowed_clients`)).filter(e=>typeof e==`string`),character:{judgment:String(q(n.character).judgment??``),taste:String(q(n.character).taste??``),personality:String(q(n.character).personality??``)},expectations:B(n,`expectations`,`expectations`)??``,testSource:B(n,`testSource`,`test_source`),cleanupEligible:H(n,`cleanupEligible`,`cleanup_eligible`)===!0},s={agentId:r,personalSpaceId:B(t,`personalSpaceId`,`personal_space_id`)??Z.value,personalProjectId:B(t,`personalProjectId`,`personal_project_id`),profile:o,createdAt:i,updatedAt:a};return{...s,memoryScope:B(t,`memoryScope`,`memory_scope`)??void 0,assignments:Array.isArray(t.assignments)?t.assignments.map(e=>oe(e,s)).filter(Boolean):void 0,legacyAgentIds:G(t.legacyAgentIds??t.legacy_agent_ids).filter(e=>typeof e==`string`),recruitments:Bo(t.recruitments??t.recruitmentHistory).filter(e=>Vo(e,s)),recruitmentId:B(t,`recruitmentId`,`recruitment_id`),temporaryTaskId:B(t,`temporaryTaskId`,`temporary_task_id`),workStatus:B(t,`workStatus`,`work_status`),openTaskCount:typeof t.openTaskCount==`number`?t.openTaskCount:typeof t.open_task_count==`number`?t.open_task_count:void 0,currentTaskId:B(t,`currentTaskId`,`current_task_id`),observedClients:G(t.observedClients??t.observed_clients).filter(e=>typeof e==`string`),recruitedAt:B(t,`recruitedAt`,`recruited_at`),recruitmentReason:B(t,`recruitmentReason`,`recruitment_reason`),recruitmentSourceApplication:B(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(ue).filter(Boolean),activity:xe(t.activity,{agentId:K.value,personalSpaceId:Z.value}),clientEvidence:Ho(t.clientEvidence??t.client_evidence),routingRules:Uo(t.routingRules??t.routing_rules),learningEvidence:Lo(t.learningEvidence??t.learning_evidence)}}function Mo(e){let t=q(e),n=B(t,`client`,`client`);if(!n)return null;let r=q(H(t,`actualUse`,`actual_use`));return{client:n,allowed:t.allowed===!0,integrationStatus:B(t,`integrationStatus`,`integration_status`)??void 0,actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:B(r,`lastUsedAt`,`last_used_at`)}:null}}function No(e,t){let n=q(e);return G(Array.isArray(e)?e:n.assignments??n.items).map(e=>oe(e,t)).filter(e=>!!e)}function Po(e){let t=q(e),n=B(t,`provider`,`provider`),r=B(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(H(t,`strategyModes`,`strategy_modes`)).filter(e=>typeof e==`string`),reasoningEfforts:G(H(t,`reasoningEfforts`,`reasoning_efforts`)).filter(e=>typeof e==`string`),observedAt:B(t,`observedAt`,`observed_at`),unavailableReason:B(t,`unavailableReason`,`unavailable_reason`)}}function Fo(e){let t=q(e);return G(Array.isArray(e)?e:t.executors??t.items).map(e=>{let t=q(e),n=B(t,`executorId`,`executor_id`);if(!n)return null;let r=q(H(t,`actualUse`,`actual_use`));return{executorId:n,label:B(t,`label`,`label`),provider:B(t,`provider`,`provider`),model:B(t,`model`,`model`),client:B(t,`client`,`client`),availabilityStatus:B(t,`availabilityStatus`,`availability_status`),personalSpaceId:B(t,`personalSpaceId`,`personal_space_id`),displayName:B(t,`displayName`,`display_name`),executorKind:B(t,`executorKind`,`executor_kind`),capabilities:G(H(t,`capabilities`,`capabilities`)).filter(e=>typeof e==`string`),globalPriority:typeof H(t,`globalPriority`,`global_priority`)==`number`?H(t,`globalPriority`,`global_priority`):null,healthRequired:H(t,`healthRequired`,`health_required`)===!0,registrationStatus:B(t,`registrationStatus`,`registration_status`),permissionStatus:B(t,`permissionStatus`,`permission_status`),preflightStatus:B(t,`preflightStatus`,`preflight_status`),healthStatus:B(t,`healthStatus`,`health_status`),workspacePermission:typeof H(t,`workspacePermission`,`workspace_permission`)==`boolean`?H(t,`workspacePermission`,`workspace_permission`):null,revision:typeof t.revision==`number`?t.revision:void 0,permissionRevision:typeof H(t,`permissionRevision`,`permission_revision`)==`number`?H(t,`permissionRevision`,`permission_revision`):void 0,registeredAt:B(t,`registeredAt`,`registered_at`),updatedAt:B(t,`updatedAt`,`updated_at`),testSource:B(t,`testSource`,`test_source`),cleanupEligible:H(t,`cleanupEligible`,`cleanup_eligible`)===!0,advertisedModels:G(H(t,`advertisedModels`,`advertised_models`)).map(Po).filter(e=>e!==null),availableModels:G(H(t,`availableModels`,`available_models`)).map(Po).filter(e=>e!==null),actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:B(r,`lastUsedAt`,`last_used_at`)}:null}}).filter(e=>e!==null)}function Io(e){let t=q(e),n=B(t,`ruleId`,`rule_id`);if(!n)return null;let r=B(t,`status`,`status`);return{ruleId:n,scope:B(t,`scope`,`scope`)??`global`,priority:typeof t.priority==`number`?t.priority:0,personalProjectId:B(t,`personalProjectId`,`personal_project_id`),taskId:B(t,`taskId`,`task_id`),workKind:B(t,`workKind`,`work_kind`),agentId:B(t,`agentId`,`agent_id`),enabled:t.enabled!==!1&&(!r||r===`active`),executorIds:G(H(t,`executorIds`,`executor_ids`)).filter(e=>typeof e==`string`),requiredCapabilities:G(H(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),modelStrategy:U(H(t,`modelStrategy`,`model_strategy`)),reason:B(t,`reason`,`reason`),revision:typeof t.revision==`number`?t.revision:void 0,status:r??void 0,createdAt:B(t,`createdAt`,`created_at`),updatedAt:B(t,`updatedAt`,`updated_at`)}}function Lo(e){let t=q(e),n=Array.isArray(e)?e:t.learningEvidence??t.learning_evidence??t.items,r=(Array.isArray(n)?n:Object.values(q(n))).map((e,t)=>{let n=q(e),r=B(n,`personalProjectId`,`personal_project_id`),i=B(n,`workKind`,`work_kind`),a=B(n,`executorId`,`executor_id`)??B(n,`executor`,`executor`),o=U(H(n,`modelStrategy`,`model_strategy`)),s=B(n,`modelStrategyKey`,`model_strategy_key`),c=s??[r,i,a,String(t)].filter(Boolean).join(`:`),l=G(H(n,`evidenceContributions`,`evidence_contributions`)).map(e=>{let t=q(e),n=B(t,`signal`,`signal`),r=B(t,`evidenceKind`,`evidence_kind`)??`evidence`,i=typeof H(t,`decayWeight`,`decay_weight`)==`number`?H(t,`decayWeight`,`decay_weight`):null;return{evidenceId:B(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:B(t,`occurredAt`,`occurred_at`)}}),u=typeof H(n,`weightedSuccess`,`weighted_success`)==`number`?H(n,`weightedSuccess`,`weighted_success`):0,d=typeof H(n,`weightedFailure`,`weighted_failure`)==`number`?H(n,`weightedFailure`,`weighted_failure`):0,f=H(n,`halfLife`,`decay_half_life_days`);return[c,{learningKey:c,personalProjectId:r,workKind:i,executor:a,modelStrategy:o,modelStrategyKey:s,sampleCount:typeof H(n,`sampleCount`,`sample_count`)==`number`?H(n,`sampleCount`,`sample_count`):0,recentWeightedSamples:typeof H(n,`recentCount`,`recent_count`)==`number`?H(n,`recentCount`,`recent_count`):null,decayBasis:typeof f==`number`?`half-life ${f}d`:null,updatedAt:B(n,`asOf`,`as_of`)??B(n,`updatedAt`,`updated_at`),outcomes:{success:typeof H(n,`successCount`,`success_count`)==`number`?H(n,`successCount`,`success_count`):void 0,rework:typeof H(n,`reworkCount`,`rework_count`)==`number`?H(n,`reworkCount`,`rework_count`):void 0,failure:typeof H(n,`failureCount`,`failure_count`)==`number`?H(n,`failureCount`,`failure_count`):void 0,scoreCount:typeof H(n,`ratingCount`,`rating_count`)==`number`?H(n,`ratingCount`,`rating_count`):void 0},evidence:l,score:u-d,neutral:H(n,`neutralDueToInsufficientEvidence`,`neutral_due_to_insufficient_evidence`)===!0}]});return Object.fromEntries(r)}function Ro(e){let t=q(e);return G(Array.isArray(e)?e:t.tasks??t.items).map(ue).filter(Boolean)}function zo(e){let t=q(e),n=B(t,`recruitmentId`,`recruitment_id`);return n?{recruitmentId:n,personalSpaceId:B(t,`personalSpaceId`,`personal_space_id`)??Z.value,personalProjectId:B(t,`personalProjectId`,`personal_project_id`)??``,taskId:B(t,`taskId`,`task_id`)??``,coordinatorAgentId:B(t,`coordinatorAgentId`,`coordinator_agent_id`)??``,hrAgentId:B(t,`hrAgentId`,`hr_agent_id`),positionKind:B(t,`positionKind`,`position_kind`)??`durable`,workKind:B(t,`workKind`,`work_kind`)??``,requiredCapabilities:G(H(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),reasonCode:B(t,`reasonCode`,`reason_code`)??``,reason:B(t,`reason`,`reason`)??``,status:B(t,`status`,`status`)??`unknown`,confirmationMode:B(t,`confirmationMode`,`confirmation_mode`),proposedAgentId:B(t,`proposedAgentId`,`proposed_agent_id`)??``,revision:typeof t.revision==`number`?t.revision:void 0,recruitedAgentId:B(t,`recruitedAgentId`,`recruited_agent_id`),triggerSourceApplication:B(t,`triggerSourceApplication`,`trigger_source_application`),triggerSourceSessionId:B(t,`triggerSourceSessionId`,`trigger_source_session_id`),testSource:B(t,`testSource`,`test_source`),cleanupEligible:H(t,`cleanupEligible`,`cleanup_eligible`)===!0,createdAt:B(t,`createdAt`,`created_at`)??``,updatedAt:B(t,`updatedAt`,`updated_at`)??``,fulfilledAt:B(t,`fulfilledAt`,`fulfilled_at`)}:null}function Bo(e){let t=q(e);return G(Array.isArray(e)?e:t.recruitments??t.items).map(zo).filter(e=>!!e)}function Vo(e,t){return e.recruitedAgentId===t.agentId||e.proposedAgentId===t.agentId||e.recruitmentId===t.recruitmentId}function Ho(e){let t=q(e);return G(Array.isArray(e)?e:t.clients??t.executors??t.items).map(Mo).filter(Boolean)}function Uo(e){let t=q(e);return G(Array.isArray(e)?e:t.rules??t.items).map(Io).filter(Boolean)}function Wo(e){let t=q(e);return Lo(t.learningEvidence??t.learning_evidence??e)}function Go(e){let t=new Map;return e.map(jo).forEach(e=>{let n=t.get(e.agentId);if(!n){t.set(e.agentId,e);return}let r=[...Wt(n),...Wt(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:qo([...n.profile.capabilities,...e.profile.capabilities]),workKinds:qo([...n.profile.workKinds??[],...e.profile.workKinds??[]]),defaultModelStrategy:n.profile.defaultModelStrategy??e.profile.defaultModelStrategy,executorPolicy:n.profile.executorPolicy??e.profile.executorPolicy,allowedClients:qo([...n.profile.allowedClients??[],...e.profile.allowedClients??[]])},assignments:Ko(r,({assignmentId:e})=>e),recruitments:Ko([...n.recruitments??[],...e.recruitments??[]],({recruitmentId:e})=>e),tasks:Ko(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:qo([...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 Ko(e,t){return[...new Map(e.map(e=>[t(e),e])).values()]}function qo(e){return[...new Set(e)]}return(n,o)=>(r(),f(`section`,{class:`view project-agents-view`,"aria-label":S(d)(`projectAgents.aria`)},[u(`header`,fn,[u(`div`,null,[u(`h2`,null,g(S(d)(`projectAgents.title`)),1),!qe.value&&!Je.value?(r(),f(`p`,pn,g(S(d)(`projectAgents.stats.total`,{count:P.value.length}))+` · `+g(S(d)(`projectAgents.stats.assignments`,{count:lt.value}))+` · `+g(S(d)(`projectAgents.stats.projects`,{count:ut.value})),1)):E(``,!0)]),u(`div`,mn,[u(`button`,{class:`quiet-button`,type:`button`,disabled:!Z.value,onClick:Yt},g(S(d)(`projectAgents.add`)),9,hn),u(`button`,{class:`primary-button`,type:`button`,disabled:!Z.value,onClick:o[0]||=e=>Xt()},g(S(d)(`employees.recruit`)),9,gn)])]),t(ve,{open:be.value,"personal-space-id":Z.value,projects:Ge.value,"template-id":Se.value,"default-project-ids":R.value??[],onClose:o[1]||=e=>be.value=!1,onRecruited:Ke},null,8,[`open`,`personal-space-id`,`projects`,`template-id`,`default-project-ids`]),!qe.value&&!Je.value?(r(),f(`div`,_n,[u(`span`,null,g(S(d)(`projectAgents.stats.active`,{count:ct.value})),1),u(`span`,null,g(S(d)(`projectAgents.stats.noOnlineClaim`)),1)])):E(``,!0),!qe.value&&!Je.value&&!Ge.value.length?(r(),w(ge,{key:1,"personal-space-id":Z.value},null,8,[`personal-space-id`])):E(``,!0),u(`div`,vn,[t(_e,{modelValue:et.value,"onUpdate:modelValue":o[2]||=e=>et.value=e,class:`project-agents-project-filter`,compact:``,projects:Ze.value,label:S(d)(`employees.filterLabel`),hint:S(d)(`employees.filterHint`),"empty-label":S(d)(`employees.filterEmpty`)},null,8,[`modelValue`,`projects`,`label`,`hint`,`empty-label`]),u(`label`,yn,[u(`span`,bn,g(S(d)(`projectAgents.searchLabel`)),1),c(u(`input`,{"onUpdate:modelValue":o[3]||=e=>ae.value=e,type:`search`,placeholder:S(d)(`projectAgents.searchPlaceholder`)},null,8,xn),[[C,ae.value]])]),u(`div`,{class:`project-agents-status-filter`,"aria-label":S(d)(`projectAgents.fields.status`)},[(r(!0),f(y,null,a(nt.value,e=>(r(),f(`button`,{key:e.value,type:`button`,"aria-pressed":W.value===e.value,onClick:t=>W.value=e.value},g(e.label),9,Cn))),128))],8,Sn)]),tt.value?(r(),w(wt,{key:tt.value,"personal-space-id":Z.value,"personal-project-id":tt.value,"project-name":Ut(tt.value),agents:P.value,onSelect:o[4]||=e=>K.value=e},null,8,[`personal-space-id`,`personal-project-id`,`project-name`,`agents`])):E(``,!0),qe.value?(r(),w(j,{key:3,label:S(T).state?S(d)(`projectAgents.loading`):S(d)(`common.status.loadingConsole`)},null,8,[`label`])):Je.value?(r(),f(`div`,wn,[u(`p`,null,g(Je.value),1),u(`button`,{class:`quiet-button`,type:`button`,onClick:Ye},g(S(d)(`projectAgents.retry`)),1)])):P.value.length?rt.value.length?(r(),f(`div`,On,[u(`div`,{class:`project-agent-list`,role:`list`,"aria-label":S(d)(`projectAgents.listLabel`)},[(r(!0),f(y,null,a(rt.value,e=>(r(),f(`div`,{key:e.agentId,class:`project-agent-row-shell`},[u(`button`,{type:`button`,class:x([`project-agent-row`,{selected:K.value===e.agentId}]),"aria-current":K.value===e.agentId?`true`:void 0,onClick:t=>K.value=e.agentId},[u(`span`,jn,[e.profile.occupationEmoji?(r(),f(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${S(d)(`projectAgents.fields.occupationEmoji`)}: ${e.profile.occupationEmoji}`},g(e.profile.occupationEmoji),9,Mn)):E(``,!0),u(`strong`,null,g(e.profile.displayName||e.profile.name),1),u(`i`,Nn,g(vo(e.profile.agentType)),1),u(`i`,{class:x([`ui-badge`,`is-${e.profile.status}`])},g(S(d)(`projectAgents.status.${e.profile.status}`)),3)]),u(`span`,Pn,[(r(!0),f(y,null,a(Kt(e).slice(0,3),e=>(r(),f(`b`,{key:e.id},g(e.name),1))),128)),Kt(e).length>3?(r(),f(`b`,Fn,`+`+g(Kt(e).length-3),1)):E(``,!0),Kt(e).length?E(``,!0):(r(),f(`em`,In,g(S(d)(`employees.noAssignedProjects`)),1))]),u(`span`,Ln,g(e.profile.responsibility||S(d)(`projectAgents.notReported`)),1),u(`span`,Rn,[go(e)?(r(),f(y,{key:0},[u(`i`,{class:x([`project-agent-work-dot`,{"is-live":go(e).status===`running`}]),"aria-hidden":`true`},null,2),s(g(_o(go(e).status))+` · `+g(go(e).title),1)],64)):e.workStatus===`blocked`||e.workStatus===`queued`?(r(),f(y,{key:1},[s(g(_o(e.workStatus))+` · `+g(S(d)(`projectAgents.detail.stateReported`)),1)],64)):(r(),f(y,{key:2},[s(g(S(d)(`projectAgents.detail.noRun`)),1)],64))])],10,An),t(z,{"agent-id":e.agentId},null,8,[`agent-id`])]))),128))],8,kn),Q.value?(r(),f(`aside`,{key:0,class:`project-agent-detail`,"aria-label":Q.value.profile.displayName||Q.value.profile.name},[u(`header`,null,[u(`div`,Bn,[u(`h3`,null,[Q.value.profile.occupationEmoji?(r(),f(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${S(d)(`projectAgents.fields.occupationEmoji`)}: ${Q.value.profile.occupationEmoji}`},g(Q.value.profile.occupationEmoji),9,Vn)):E(``,!0),s(g(Q.value.profile.displayName||Q.value.profile.name)+` `,1),t(z,{"agent-id":Q.value.agentId},null,8,[`agent-id`])]),u(`p`,null,[s(g(vo(Q.value.profile.agentType)),1),Q.value.isTestRole?(r(),f(`span`,Hn,[s(` · `+g(S(d)(`projectAgents.source.testRole`)),1),Q.value.profile.testSource?(r(),f(`span`,Un,` · `+g(Q.value.profile.testSource),1)):E(``,!0)])):E(``,!0)])]),u(`div`,Wn,[u(`button`,{class:`quiet-button`,type:`button`,disabled:Ee.value,onClick:o[5]||=e=>$()},g(S(d)(`projectAgents.detail.refresh`)),9,Gn),u(`button`,{class:`quiet-button`,type:`button`,onClick:o[6]||=e=>Zt(Q.value)},g(S(d)(`projectAgents.edit`)),1),Q.value.profile.cleanupEligible?(r(),f(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:Ee.value,onClick:o[7]||=e=>Bt(Q.value)},[Ae.value?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.source.cleanupLoading`)},null,8,[`label`])):(r(),f(`span`,qn,g(S(d)(`projectAgents.source.cleanup`)),1))],8,Kn)):E(``,!0)])]),Y.value?(r(),f(`p`,Jn,g(Y.value),1)):E(``,!0),at.value?(r(),f(`section`,Yn,[u(`div`,Xn,[u(`div`,null,[u(`h4`,Zn,g(ot.value?.management?.mode===`all`?S(d)(`employees.scope.continuousAll`):S(d)(`employees.scope.label`)),1),u(`p`,null,g(S(d)(`employees.assignedCount`,{count:st.value.length})),1)]),u(`button`,{class:`primary-button`,type:`button`,onClick:o[8]||=e=>Xt(at.value)},g(S(d)(`employees.manageProjects`)),1)]),st.value.length?(r(),f(`div`,Qn,[(r(!0),f(y,null,a(st.value,t=>(r(),w(S(L),{key:t.id,to:`/employees/${encodeURIComponent(at.value)}?project=${encodeURIComponent(t.id)}`},{default:e(()=>[u(`span`,null,g(t.name),1),o[12]||=u(`svg`,{viewBox:`0 0 20 20`,width:`16`,height:`16`,"aria-hidden":`true`},[u(`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))])):(r(),f(`p`,$n,g(S(d)(`employees.manageHint`)),1))])):E(``,!0),u(`section`,er,[u(`h4`,null,g(S(d)(`projectAgents.fields.responsibility`)),1),u(`p`,null,g(Q.value.profile.responsibility||S(d)(`projectAgents.notReported`)),1),Q.value.profile.capabilities.length?(r(),f(`div`,tr,[(r(!0),f(y,null,a(Q.value.profile.capabilities,e=>(r(),f(`span`,{key:e},g(e),1))),128))])):E(``,!0)]),u(`div`,nr,[t(Ot,i(xt(`tasks`),{label:St(`tasks`),onRetry:$}),{default:e(()=>[Oe.value[Q.value.agentId]?(r(),f(`p`,rr,g(S(d)(`agentProfiles.partial`)),1)):E(``,!0),u(`section`,ir,[u(`div`,ar,[u(`h4`,null,g(S(d)(`projectAgents.sections.tasks`)),1),u(`span`,null,g(Q.value.tasks?.length??0),1)]),Q.value.tasks?.length?(r(),f(`div`,or,[(r(!0),f(y,null,a(Q.value.tasks,e=>(r(),f(`article`,{id:`task-${e.taskId}`,key:e.taskId,class:x([`ui-card project-agent-task-card`,{"is-linked":e.taskId===S(O).query.task}])},[u(`header`,null,[u(`div`,null,[u(`strong`,null,g(e.title),1),u(`small`,null,g(Ut(e.personalProjectId)),1)]),u(`i`,{class:x([`ui-badge`,`is-${e.status}`])},g(_o(e.status)),3)]),e.resultSummary||e.failureReason?(r(),f(`p`,cr,g(e.resultSummary||e.failureReason),1)):E(``,!0),u(`small`,null,g(S(d)(`projectAgents.fields.collaborators`))+` · `+g(e.participants.length),1),e.participants.length?(r(),f(`div`,lr,[(r(!0),f(y,null,a(e.participants,t=>(r(),f(`span`,{key:`${e.taskId}:${t.agentId}`},g(P.value.find(e=>e.agentId===t.agentId)?.profile.displayName||P.value.find(e=>e.agentId===t.agentId)?.profile.name||t.agentId)+` · `+g(lo(t.role)),1))),128))])):E(``,!0),t(It,{task:e,"project-name":Ut(e.personalProjectId)},null,8,[`task`,`project-name`]),u(`details`,{class:`ui-disclosure project-agent-disclosure`,open:e.taskId===S(O).query.task,"data-task-details":``},[u(`summary`,null,g(S(d)(`projectAgents.taskDetails`)),1),u(`small`,null,g(e.taskId),1),e.executionSummary===void 0?E(``,!0):(r(),f(`section`,{key:0,class:`project-agent-execution-summary`,"aria-label":S(d)(`projectAgents.fields.executionSummary`)},[u(`div`,fr,[u(`h5`,null,g(S(d)(`projectAgents.fields.executionSummary`)),1),u(`span`,null,g(e.executionSummary.length),1)]),e.executionSummary.length?(r(),f(`div`,{key:0,class:`project-agent-execution-summary-table-wrap`,role:`region`,tabindex:`0`,"aria-label":S(d)(`projectAgents.fields.executionSummary`)},[u(`table`,mr,[u(`caption`,hr,g(S(d)(`projectAgents.fields.executionSummary`)),1),u(`thead`,null,[u(`tr`,null,[u(`th`,gr,g(S(d)(`projectAgents.fields.worker`)),1),u(`th`,_r,g(S(d)(`projectAgents.fields.workSummary`)),1),u(`th`,vr,g(S(d)(`projectAgents.fields.toolsUsed`)),1),u(`th`,yr,g(S(d)(`projectAgents.fields.executionEnvironment`)),1),u(`th`,br,g(S(d)(`projectAgents.fields.sourceSession`)),1),u(`th`,xr,g(S(d)(`projectAgents.fields.tokenUsage`)),1),u(`th`,Sr,g(S(d)(`projectAgents.fields.terminalStatus`)),1)])]),u(`tbody`,null,[(r(!0),f(y,null,a(e.executionSummary,(t,n)=>(r(),f(`tr`,{key:e.taskId+`:execution:`+(t.workerId||t.agentId||n),class:`project-agent-execution-summary-row`},[u(`th`,Cr,[u(`span`,wr,[so(t)?(r(),f(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":S(d)(`projectAgents.fields.occupationEmoji`)+`: `+so(t)},g(so(t)),9,Tr)):E(``,!0),s(` `+g(oo(t)),1)]),t.agentId||t.workerId?(r(),f(`small`,Er,g(t.workerId||t.agentId),1)):E(``,!0),u(`small`,null,g(lo(t.participantRole)),1)]),u(`td`,{"data-label":S(d)(`projectAgents.fields.workSummary`)},g(t.workSummary||S(d)(`projectAgents.notReported`)),9,Dr),u(`td`,{"data-label":S(d)(`projectAgents.fields.toolsUsed`)},g(t.toolsUsed?t.toolsUsed.join(` · `)||S(d)(`projectAgents.noToolsUsed`):S(d)(`projectAgents.notReported`)),9,Or),u(`td`,{"data-label":S(d)(`projectAgents.fields.executionEnvironment`)},[u(`strong`,null,g(t.executor||S(d)(`projectAgents.notReported`)),1),t.executorId&&t.executorId!==t.executor?(r(),f(`small`,Ar,g(t.executorId),1)):E(``,!0),t.actualModelProvider||t.actualModel?(r(),f(`small`,jr,g([t.actualModelProvider,t.actualModel].filter(Boolean).join(` · `)),1)):E(``,!0)],8,kr),u(`td`,{"data-label":S(d)(`projectAgents.fields.sourceSession`)},[u(`span`,null,[t.workerRuntime?(r(),f(y,{key:0},[s(g(S(d)(`projectAgents.fields.workerSession`))+` · `,1)],64)):E(``,!0),s(g(yo(t.workerRuntime?.application||t.sourceApplication)),1)]),po(t)?(r(),f(`a`,{key:0,href:po(t)||void 0,target:`_blank`,rel:`noreferrer`},g(ho(t)||po(t)),9,Nr)):(r(),f(`small`,Pr,g(ho(t)||S(d)(`projectAgents.notReported`)),1)),t.workerRuntime?(r(),f(y,{key:2},[u(`small`,Fr,g(S(d)(`projectAgents.fields.reporterSession`))+` · `+g(yo(t.sourceApplication)),1),mo(t.sourceSessionUrl)?(r(),f(`a`,{key:0,href:mo(t.sourceSessionUrl)||void 0,target:`_blank`,rel:`noreferrer`},g(t.sourceSessionId||t.sourceSessionUrl),9,Ir)):(r(),f(`small`,Lr,g(t.sourceSessionId||S(d)(`projectAgents.notReported`)),1))],64)):E(``,!0)],8,Mr),u(`td`,{"data-label":S(d)(`projectAgents.fields.tokenUsage`)},g(fo(t.tokenUsage)),9,Rr),u(`td`,{"data-label":S(d)(`projectAgents.fields.terminalStatus`)},[t.status?(r(),f(`i`,{key:0,class:x(`is-`+t.status)},g(co(t.status)),3)):(r(),f(`span`,Br,g(S(d)(`projectAgents.notReported`)),1))],8,zr)]))),128))])])],8,pr)):(r(),f(`p`,Vr,g(S(d)(`projectAgents.detail.noExecutionSummary`)),1))],8,dr)),S(ne)(e).length?(r(),f(`section`,{key:1,class:`project-agent-worker-event-evidence`,"aria-label":S(d)(`projectAgents.fields.workerEventEvidence`)},[u(`div`,Ur,[u(`h5`,null,g(S(d)(`projectAgents.fields.workerEventEvidence`)),1),u(`span`,null,g(S(ne)(e).length),1)]),u(`ul`,Wr,[(r(!0),f(y,null,a(S(ne)(e),t=>(r(),f(`li`,{key:`${e.taskId}:worker-event:${t.eventId}`,class:`project-agent-worker-event-row`},[u(`header`,null,[u(`strong`,null,[io(t)?(r(),f(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${S(d)(`projectAgents.fields.occupationEmoji`)}: ${io(t)}`},g(io(t)),9,Gr)):E(``,!0),s(g(ro(t)),1),t.agentId?(r(),f(`small`,Kr,g(S(d)(`projectAgents.fields.agentId`))+` · `+g(t.agentId),1)):E(``,!0)]),u(`i`,{class:x(`is-${t.workerStatus||t.status}`)},g(ao(t)),3)]),u(`dl`,qr,[u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.workSummary`)),1),u(`dd`,null,g(t.summary||S(d)(`projectAgents.notReported`)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.sourceApplication`)),1),u(`dd`,null,g(yo(t.sourceApplication)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.sourceSession`)),1),u(`dd`,null,g(t.sourceSessionId||S(d)(`projectAgents.notReported`)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.tokenUsage`)),1),u(`dd`,null,g(fo(t.tokenUsage)),1)]),t.actualModelProvider||t.actualModel?(r(),f(`div`,Jr,[u(`dt`,null,g(S(d)(`projectAgents.fields.actualModel`)),1),u(`dd`,null,[t.actualModelProvider?(r(),f(`span`,Yr,g(t.actualModelProvider),1)):E(``,!0),t.actualModelProvider&&t.actualModel?(r(),f(`span`,Xr,` · `)):E(``,!0),t.actualModel?(r(),f(`span`,Zr,g(t.actualModel),1)):E(``,!0)])])):E(``,!0),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.reportedAt`)),1),u(`dd`,null,g(an(t.createdAt)),1)])])]))),128))])],8,Hr)):E(``,!0),e.effectiveModelStrategy?(r(),f(`small`,Qr,g(S(d)(`projectAgents.fields.strategySource`))+` · `+g(e.modelStrategySource||S(d)(`projectAgents.notReported`))+` · `+g(sn(e.effectiveModelStrategy))+` · `+g(cn(e.effectiveExecutorPolicy)),1)):E(``,!0),e.routingDecision?(r(),f(`div`,$r,[u(`div`,ei,[u(`span`,null,g(S(d)(`projectAgents.fields.reportedStaffingDecision`)),1),u(`strong`,null,g(e.routingDecision.outcome||S(d)(`projectAgents.notReported`)),1)]),e.routingDecision.coordinatorAgentId||e.coordinatorAgentId?(r(),f(`small`,ti,g(S(d)(`projectAgents.fields.coordinator`))+` · `+g(e.routingDecision.coordinatorAgentId||e.coordinatorAgentId),1)):E(``,!0),u(`small`,null,g(S(d)(`projectAgents.fields.matchBasis`))+` · `+g(e.routingDecision.matchBasis?.join(` · `)||S(d)(`projectAgents.notReported`))+` · `+g(e.routingDecision.reason||S(d)(`projectAgents.notReported`)),1),e.routingDecision.candidateAgentIds?.length?(r(),f(`small`,ni,g(S(d)(`projectAgents.fields.candidateAgents`))+` · `+g(e.routingDecision.candidateAgentIds.join(` · `)),1)):E(``,!0),e.routingDecision.complexity!==null&&e.routingDecision.complexity!==void 0?(r(),f(`small`,ri,[s(g(S(d)(`projectAgents.fields.complexity`))+` · `+g(e.routingDecision.complexity),1),e.routingDecision.complexityBasis?.length?(r(),f(`span`,ii,` · `+g(e.routingDecision.complexityBasis.join(` · `)),1)):E(``,!0)])):E(``,!0),S(de)(e.routingDecision.parallelPlan)?(r(),f(`small`,ai,[s(g(S(d)(`projectAgents.fields.parallelPlan`))+` · `+g(e.routingDecision.parallelPlan?.reason||S(d)(`projectAgents.notReported`)),1),e.routingDecision.parallelPlan?.workstreamBoundaries?.length?(r(),f(`span`,oi,` · `+g(e.routingDecision.parallelPlan.workstreamBoundaries.join(` · `)),1)):E(``,!0)])):E(``,!0),e.routingDecision.ruleId||e.routingDecision.fallback?(r(),f(`small`,si,g(e.routingDecision.ruleId||S(d)(`projectAgents.notReported`))+` · `+g(e.routingDecision.fallback||S(d)(`projectAgents.notReported`)),1)):E(``,!0)])):E(``,!0),u(`div`,ci,[u(`span`,null,g(S(d)(`projectAgents.fields.actualExecution`)),1),no(e)?(r(),f(`strong`,li,g(no(e)?.executor||no(e)?.provider||S(d)(`projectAgents.notReported`))+` / `+g(no(e)?.model||S(d)(`projectAgents.notReported`))+` / `+g(yo(no(e)?.client)),1)):(r(),f(`span`,ui,g(S(d)(`projectAgents.detail.notReportedActualExecution`)),1)),no(e)?.rule||no(e)?.fallback?(r(),f(`small`,di,g(no(e)?.rule||S(d)(`projectAgents.notReported`))+` · `+g(no(e)?.fallback||S(d)(`projectAgents.notReported`)),1)):E(``,!0)]),e.runId?(r(),f(`small`,fi,g(S(d)(`projectAgents.fields.run`))+` · `+g(e.runId),1)):(r(),f(`small`,pi,g(S(d)(`projectAgents.detail.noRun`)),1))],8,ur)],10,sr))),128))])):Oe.value[Q.value.agentId]?E(``,!0):(r(),f(`p`,mi,g(S(d)(`projectAgents.detail.noTasks`)),1))])]),_:1},16,[`label`])]),u(`details`,hi,[u(`summary`,null,g(S(d)(`projectAgents.sections.assignments`)),1),u(`div`,gi,[t(Ot,i(xt(`assignments`),{label:St(`assignments`),onRetry:$}),{default:e(()=>[u(`section`,_i,[u(`div`,vi,[u(`h4`,null,g(S(d)(`projectAgents.sections.assignments`)),1),u(`div`,yi,[u(`span`,null,g(Wt(Q.value).length),1),u(`button`,{class:`quiet-button`,type:`button`,onClick:o[9]||=e=>$t(Q.value)},g(S(d)(`projectAgents.assignmentDialog.assign`)),1)])]),Wt(Q.value).length?(r(),f(`div`,bi,[(r(!0),f(y,null,a(Wt(Q.value),e=>(r(),f(`article`,{key:e.assignmentId,class:`ui-card project-agent-assignment-card`},[u(`header`,null,[u(`strong`,null,g(Ut(e.personalProjectId)),1),u(`div`,xi,[u(`i`,{class:x([`ui-badge`,`is-${e.status}`])},g(S(d)(`projectAgents.assignmentStatus.${e.status}`)),3),e.status===`active`?(r(),f(`button`,{key:0,class:`quiet-button`,type:`button`,onClick:t=>$t(Q.value,e,`end`)},g(S(d)(`projectAgents.assignmentDialog.end`)),9,Si)):E(``,!0),e.status===`active`?(r(),f(`button`,{key:1,class:`quiet-button`,type:`button`,onClick:t=>$t(Q.value,e,`replace`)},g(S(d)(`projectAgents.assignmentDialog.replace`)),9,Ci)):E(``,!0)])]),u(`p`,null,g(e.responsibility||S(d)(`projectAgents.notReported`)),1),e.scope?(r(),f(`small`,wi,g(S(d)(`projectAgents.fields.scope`))+` · `+g(e.scope),1)):E(``,!0),u(`small`,null,g(an(e.assignedAt))+` → `+g(e.endedAt?an(e.endedAt):S(d)(`projectAgents.assignmentStatus.${e.status}`)),1),e.workKinds?.length?(r(),f(`div`,Ti,[(r(!0),f(y,null,a(e.workKinds,e=>(r(),f(`span`,{key:e},g(e),1))),128))])):E(``,!0),u(`div`,Ei,[u(`span`,null,g(S(d)(`projectAgents.fields.assignmentModel`)),1),u(`strong`,null,g(sn(e.modelStrategyOverride))+` · `+g(cn(e.executorPolicyOverride)),1),ln(e.executorPolicyOverride)&&!to(e.executorPolicyOverride).length?(r(),f(`small`,Di,g(S(d)(`projectAgents.strategy.lockedUnavailable`)),1)):E(``,!0)]),to(e.executorPolicyOverride).length?(r(),f(`div`,Oi,[(r(!0),f(y,null,a(to(e.executorPolicyOverride),e=>(r(),f(`span`,{key:e.executorId},g(e.label||e.executorId),1))),128))])):E(``,!0),e.reason?(r(),f(`small`,ki,g(S(d)(`projectAgents.fields.reason`))+` · `+g(e.reason),1)):E(``,!0)]))),128))])):(r(),f(`p`,Ai,g(S(d)(`projectAgents.detail.noAssignments`)),1))])]),_:1},16,[`label`])])]),u(`details`,ji,[u(`summary`,null,g(S(d)(`projectAgents.sections.activity`)),1),u(`div`,Mi,[t(Ot,i(xt(`activity`),{label:St(`activity`),onRetry:$}),{default:e(()=>[u(`section`,Ni,[u(`div`,Pi,[u(`h4`,null,g(S(d)(`projectAgents.sections.activity`)),1),ft.value?(r(),f(`span`,Fi,g(ft.value.days.length),1)):E(``,!0)]),ft.value?.days.length?(r(),f(`div`,Ii,[u(`div`,{class:`project-agent-heatmap`,role:`list`,"aria-label":S(d)(`projectAgents.activity.aria`)},[(r(!0),f(y,null,a(ft.value.days,e=>(r(),f(`button`,{key:e.date,type:`button`,role:`listitem`,class:x([`project-agent-heat-cell`,`intensity-${Do(e,ft.value)}`,{selected:ke.value===e.date}]),"aria-label":`${on(e.date)} · ${e.total}`,"aria-pressed":ke.value===e.date,onClick:t=>Oo(e)},[u(`span`,zi,g(on(e.date))+` · `+g(e.total),1)],10,Ri))),128))],8,Li),pt.value?(r(),f(`article`,Bi,[u(`header`,null,[u(`strong`,null,g(on(pt.value.date)),1),u(`span`,null,g(pt.value.total),1)]),pt.value.tasks?.length?(r(),f(`ul`,Hi,[(r(!0),f(y,null,a(pt.value.tasks,e=>(r(),f(`li`,{key:e.taskId},[u(`strong`,null,g(e.title),1),u(`span`,null,g(_o(e.status))+` · `+g(Ut(e.personalProjectId)),1),u(`small`,null,g(e.summary||S(d)(`projectAgents.notReported`)),1)]))),128))])):(r(),f(`p`,Vi,g(S(d)(`projectAgents.activity.noTasks`)),1))])):E(``,!0)])):(r(),f(`p`,Ui,g(S(d)(`projectAgents.activity.empty`)),1))])]),_:1},16,[`label`])])]),Q.value.memoryScope===`reviewed_agent`?(r(),w(te,{key:Q.value.agentId,"personal-space-id":Z.value,"agent-id":Q.value.agentId,projects:st.value},null,8,[`personal-space-id`,`agent-id`,`projects`])):E(``,!0),Q.value.memoryScope===`reviewed_agent`?(r(),w(Ht,{key:3,"personal-space-id":Z.value,"agent-id":Q.value.agentId,projects:st.value},null,8,[`personal-space-id`,`agent-id`,`projects`])):E(``,!0),u(`details`,Wi,[u(`summary`,null,g(S(d)(`projectAgents.profileDetails`)),1),u(`dl`,Gi,[u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.assignments`)),1),u(`dd`,null,g(Gt(Q.value).length),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.memoryScope`)),1),u(`dd`,null,g(Q.value.memoryScope??S(d)(`projectAgents.notReported`)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.status`)),1),u(`dd`,null,g(S(d)(`projectAgents.status.${Q.value.profile.status}`)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.recruitment`)),1),u(`dd`,null,[s(g(yo(Q.value.recruitmentSourceApplication)),1),Q.value.recruitmentReason?(r(),f(`small`,Ki,g(Q.value.recruitmentReason),1)):E(``,!0)])]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.fields.updatedAt`)),1),u(`dd`,null,g(an(Q.value.updatedAt)),1)])])]),u(`details`,{class:`ui-disclosure project-agent-disclosure`,open:ht.value.some(e=>e.status===`awaiting_confirmation`)},[u(`summary`,null,g(S(d)(`projectAgents.sections.recruitment`)),1),u(`div`,Ji,[t(Ot,i(xt(`recruitments`),{label:St(`recruitments`),onRetry:$}),{default:e(()=>[u(`section`,Yi,[u(`div`,Xi,[u(`h4`,Zi,g(S(d)(`projectAgents.sections.recruitment`)),1),u(`span`,null,g(ht.value.length),1)]),ht.value.length?(r(),f(`div`,Qi,[(r(!0),f(y,null,a(ht.value,e=>(r(),f(`article`,{key:e.recruitmentId,class:`ui-card project-agent-recruitment-card`},[u(`header`,null,[u(`strong`,null,g(e.positionKind)+` · `+g(e.workKind||S(d)(`projectAgents.notReported`)),1),u(`div`,$i,[u(`i`,ea,g(e.status),1),e.status===`awaiting_confirmation`?(r(),f(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>At(e,`approve`)},[X.value===e.recruitmentId&&Pe.value===`approve`?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.recruitment.approving`)},null,8,[`label`])):(r(),f(`span`,na,g(S(d)(`projectAgents.recruitment.approve`)),1))],8,ta)):E(``,!0),e.status===`awaiting_confirmation`?(r(),f(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>At(e,`cancel`)},[X.value===e.recruitmentId&&Pe.value===`cancel`?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.recruitment.cancelling`)},null,8,[`label`])):(r(),f(`span`,ia,g(S(d)(`projectAgents.recruitment.cancel`)),1))],8,ra)):E(``,!0)])]),u(`dl`,aa,[u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.recruitment.hr`)),1),u(`dd`,null,g(e.hrAgentId||S(d)(`projectAgents.notReported`)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.recruitment.trigger`)),1),u(`dd`,null,g(yo(e.triggerSourceApplication)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.recruitment.reason`)),1),u(`dd`,null,g(e.reason||e.reasonCode||S(d)(`projectAgents.notReported`)),1)]),u(`div`,null,[u(`dt`,null,g(S(d)(`projectAgents.recruitment.time`)),1),u(`dd`,null,g(an(e.fulfilledAt||e.createdAt)),1)])]),u(`small`,null,g(S(d)(`projectAgents.recruitment.testSource`))+` · `+g(e.testSource||S(d)(`projectAgents.notReported`)),1)]))),128))])):(r(),f(`p`,oa,g(S(d)(`projectAgents.recruitment.empty`)),1))])]),_:1},16,[`label`])])],8,qi),(r(),f(`details`,{key:`advanced:${Q.value.agentId}`,class:`ui-disclosure project-agent-disclosure`,"data-agent-advanced":``},[u(`summary`,null,g(S(d)(`projectAgents.advanced`)),1),u(`div`,sa,[t(Ot,i(xt(`executors`),{label:St(`executors`),onRetry:$}),{default:e(()=>[u(`section`,ca,[u(`div`,la,[u(`h4`,null,g(S(d)(`projectAgents.sections.strategy`)),1),u(`span`,null,g(sn(Q.value.profile.defaultModelStrategy))+` · `+g(cn(Q.value.profile.executorPolicy)),1)]),u(`p`,ua,g(S(d)(`projectAgents.strategy.providerNeutral`)),1),to(Q.value.profile.executorPolicy).length?(r(),f(`div`,da,[(r(!0),f(y,null,a(to(Q.value.profile.executorPolicy),e=>(r(),f(`span`,{key:e.executorId},g(e.label||e.executorId),1))),128))])):ln(Q.value.profile.executorPolicy)?(r(),f(`p`,fa,g(S(d)(`projectAgents.strategy.lockedUnavailable`)),1)):(r(),f(`p`,pa,g(S(d)(`projectAgents.strategy.noAllowList`)),1)),u(`div`,ma,[u(`button`,{class:`quiet-button`,type:`button`,onClick:o[10]||=e=>Mt()},g(S(d)(`projectAgents.routing.addExecutor`)),1)]),Q.value.executorDirectory?.length?(r(),f(`div`,ha,[(r(!0),f(y,null,a(Q.value.executorDirectory,e=>(r(),f(`div`,{key:e.executorId,class:`project-agent-executor-row`},[u(`strong`,null,g(e.displayName||e.label||e.executorId),1),u(`span`,null,g(e.provider||S(d)(`projectAgents.notReported`))+` / `+g(e.model||S(d)(`projectAgents.notReported`)),1),u(`span`,null,g(e.globalPriority??S(d)(`projectAgents.notReported`)),1),u(`small`,null,g(e.registrationStatus||S(d)(`projectAgents.notReported`))+` · `+g(e.permissionStatus||S(d)(`projectAgents.notReported`))+` · `+g(e.preflightStatus||S(d)(`projectAgents.strategy.availabilityUnreported`))+` · `+g(e.healthStatus||S(d)(`projectAgents.notReported`)),1),u(`button`,{class:`quiet-button`,type:`button`,onClick:t=>Mt(e)},g(S(d)(`projectAgents.routing.editExecutor`)),9,ga),e.permissionStatus===`authorized`?(r(),f(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!Fe.value,onClick:t=>jt(e,`revoked`)},[Fe.value===e.executorId&&Ie.value===`revoke`?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.routing.revoking`)},null,8,[`label`])):(r(),f(`span`,ba,g(S(d)(`projectAgents.routing.revoke`)),1))],8,ya)):(r(),f(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!Fe.value,onClick:t=>jt(e,`authorized`)},[Fe.value===e.executorId&&Ie.value===`authorize`?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.routing.authorizing`)},null,8,[`label`])):(r(),f(`span`,va,g(S(d)(`projectAgents.routing.authorize`)),1))],8,_a))]))),128))])):E(``,!0)])]),_:1},16,[`label`])]),u(`div`,xa,[t(Ot,i(xt(`executors`),{label:St(`executors`),onRetry:$}),{default:e(()=>[u(`section`,Sa,[u(`div`,Ca,[u(`h4`,null,g(S(d)(`projectAgents.sections.clients`)),1),u(`span`,null,g(bo(Q.value).length),1)]),bo(Q.value).length?(r(),f(`div`,wa,[(r(!0),f(y,null,a(bo(Q.value),e=>(r(),f(`div`,{key:e,class:`project-agent-client-row`},[u(`strong`,null,g(yo(e)),1),u(`span`,null,g(xo(Q.value,e)?.allowed||Q.value.profile.allowedClients?.includes(e)?S(d)(`projectAgents.clients.allowed`):S(d)(`projectAgents.clients.notAllowed`)),1),So(Q.value,e)?(r(),f(`span`,Ta,g(S(d)(`projectAgents.clients.observed`,{count:So(Q.value,e)})),1)):Q.value.observedClients?.includes(e)?(r(),f(`span`,Ea,g(S(d)(`projectAgents.clients.observedAny`)),1)):(r(),f(`span`,Da,g(S(d)(`projectAgents.clients.unreported`)),1)),u(`small`,null,g(xo(Q.value,e)?.integrationStatus||S(d)(`projectAgents.clients.integrationUnreported`)),1)]))),128))])):(r(),f(`p`,Oa,g(S(d)(`projectAgents.clients.empty`)),1))])]),_:1},16,[`label`])]),u(`div`,ka,[t(Ot,i(xt(`routingRules`),{label:St(`routingRules`),onRetry:$}),{default:e(()=>[u(`section`,Aa,[u(`div`,ja,[u(`h4`,null,g(S(d)(`projectAgents.sections.routing`)),1),u(`div`,Ma,[u(`span`,null,g(Q.value.routingRules?.length??0),1),u(`button`,{class:`quiet-button`,type:`button`,onClick:o[11]||=e=>Nt()},g(S(d)(`projectAgents.routing.addRule`)),1)])]),Q.value.routingRules?.length?(r(),f(`div`,Na,[(r(!0),f(y,null,a(Q.value.routingRules,e=>(r(),f(`div`,{key:e.ruleId,class:`project-agent-rule-row`},[u(`strong`,null,g(e.scope)+` · `+g(e.priority),1),u(`span`,null,g(e.workKind||e.reason||S(d)(`projectAgents.notReported`))+` · `+g(e.executorIds?.join(`, `)||S(d)(`projectAgents.notReported`)),1),e.enabled?(r(),f(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>zt(e)},[X.value===`rule:${e.ruleId}`&&Pe.value===`disable`?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.routing.disabling`)},null,8,[`label`])):(r(),f(`span`,Fa,g(S(d)(`projectAgents.routing.disable`)),1))],8,Pa)):E(``,!0)]))),128))])):(r(),f(`p`,Ia,g(S(d)(`projectAgents.routing.empty`)),1)),u(`small`,La,g(S(d)(`projectAgents.routing.priorityNote`)),1)])]),_:1},16,[`label`])]),u(`div`,Ra,[t(Ot,i(xt(`learning`),{label:St(`learning`),onRetry:$}),{default:e(()=>[u(`section`,za,[u(`div`,Ba,[u(`h4`,null,g(S(d)(`projectAgents.sections.learning`)),1),u(`span`,null,g(mt.value.length),1)]),mt.value.length?(r(),f(`div`,Va,[(r(!0),f(y,null,a(mt.value,([e,t])=>(r(),f(`article`,{key:e,class:`ui-card project-agent-learning-card`},[u(`header`,null,[u(`strong`,null,g(e),1),u(`i`,Ha,g(wo(t)),1)]),t.personalProjectId||t.workKind||t.executor||t.modelStrategy?(r(),f(`small`,Ua,g(Ut(t.personalProjectId))+` · `+g(t.workKind||S(d)(`projectAgents.notReported`))+` · `+g(t.executor||S(d)(`projectAgents.notReported`))+` / `+g(t.modelStrategy?sn(t.modelStrategy):S(d)(`projectAgents.notReported`)),1)):E(``,!0),u(`p`,null,g(S(d)(`projectAgents.learning.samples`,{count:t.sampleCount}))+` · `+g(S(d)(`projectAgents.learning.recent`,{count:To(t)})),1),u(`small`,null,g(t.decayBasis||S(d)(`projectAgents.learning.decayUnreported`))+` · `+g(an(t.updatedAt)),1),t.outcomes?(r(),f(`div`,Wa,[(r(!0),f(y,null,a(t.outcomes,(e,t)=>c((r(),f(`span`,{key:t},g(t)+` · `+g(e??S(d)(`projectAgents.notReported`)),1)),[[m,e!==void 0]])),128)),t.score!==null&&t.score!==void 0?(r(),f(`span`,Ga,g(S(d)(`projectAgents.learning.score`,{score:Eo(t)})),1)):E(``,!0)])):E(``,!0),t.evidence?.length?(r(),f(`ul`,Ka,[(r(!0),f(y,null,a(t.evidence,e=>(r(),f(`li`,{key:`${e.evidenceId}:${e.kind}:${e.occurredAt}`},[u(`span`,null,g(e.kind)+` · `+g(e.count??0)+` · `+g(e.summary||S(d)(`projectAgents.notReported`)),1),e.evidenceId?(r(),f(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!je.value,onClick:n=>kt(t,`ignore`,e.evidenceId)},[je.value===e.evidenceId&&Me.value===`ignore`?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.learning.ignoring`)},null,8,[`label`])):(r(),f(`span`,Ja,g(S(d)(`projectAgents.learning.ignore`)),1))],8,qa)):E(``,!0)]))),128))])):E(``,!0),t.learningKey?(r(),f(`div`,Ya,[u(`button`,{class:`quiet-button`,type:`button`,disabled:!!je.value||!t.personalProjectId||!t.workKind||!t.executor,onClick:e=>kt(t,`reset`)},[je.value===t.learningKey&&Me.value===`reset`?(r(),w(j,{key:0,variant:`inline`,label:S(d)(`projectAgents.learning.resetting`)},null,8,[`label`])):(r(),f(`span`,Za,g(S(d)(`projectAgents.learning.reset`)),1))],8,Xa)])):E(``,!0)]))),128))])):(r(),f(`p`,Qa,g(S(d)(`projectAgents.learning.empty`)),1)),u(`small`,$a,g(S(d)(`projectAgents.learning.note`)),1)])]),_:1},16,[`label`])])]))],8,zn)):(r(),f(`div`,eo,g(S(d)(`projectAgents.detail.choose`)),1))])):(r(),f(`div`,Dn,[u(`strong`,null,g(S(d)(`projectAgents.noMatchTitle`)),1),u(`p`,null,g(S(d)(`projectAgents.noMatchCopy`)),1)])):(r(),f(`div`,Tn,[u(`strong`,null,g(S(d)(`projectAgents.emptyTitle`)),1),u(`p`,null,g(S(d)(`projectAgents.emptyCopy`)),1),u(`button`,{class:`primary-button`,type:`button`,disabled:!Z.value,onClick:Yt},g(S(d)(`projectAgents.add`)),9,En)])),t(un,{open:fe.value,agent:J.value,projects:Ge.value,"default-project-id":dt.value,"personal-space-id":Z.value,onClose:Qt,onSaved:rn},null,8,[`open`,`agent`,`projects`,`default-project-id`,`personal-space-id`]),t(Ne,{open:Ce.value,agent:J.value,assignment:Te.value,action:we.value,projects:Ge.value,"available-agents":P.value,"default-project-id":dt.value,onClose:en,onSaved:tn,onChanged:nn},null,8,[`open`,`agent`,`assignment`,`action`,`projects`,`available-agents`,`default-project-id`]),t(it,{open:Le.value,mode:Re.value,"personal-space-id":Z.value,executor:ze.value,rule:Be.value,projects:Ge.value,"available-executors":Q.value?.executorDirectory??[],onClose:Pt,onSaved:Rt},null,8,[`open`,`mode`,`personal-space-id`,`executor`,`rule`,`projects`,`available-executors`])],8,dn))}}),[[`__scopeId`,`data-v-394b82e3`]]);export{to as default};
|
|
@@ -0,0 +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-ade1eb42]{border-top:1px solid var(--color-border);grid-column:1/-1;min-width:0;padding-block:12px}.project-team-peers[data-v-ade1eb42]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-team-peers[data-v-ade1eb42]>*{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-ade1eb42]{color:var(--color-muted);margin:9px 0;font-size:12px}.project-team-members[data-v-ade1eb42]{gap:9px;margin:10px 0 16px 18px;padding:0;list-style:none;display:grid}.project-team-members button[data-v-ade1eb42]{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-ade1eb42]{color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.project-team summary[data-v-ade1eb42]{cursor:pointer;font-size:12px}.team-lead-field[data-v-ade1eb42]{max-width:360px;margin-block:14px}.project-team fieldset[data-v-ade1eb42]{border:0;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:0;display:flex}.project-team fieldset label[data-v-ade1eb42]{align-items:center;gap:5px;font-size:12px;display:flex}.project-team legend[data-v-ade1eb42]{margin-bottom:8px;font-size:12px}.project-agent-automation-policy[data-v-ade1eb42]{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-ade1eb42]{min-width:0}.project-agent-automation-policy h3[data-v-ade1eb42]{color:var(--color-ink);font-size:12px;line-height:1.35}.project-agent-automation-policy header span[data-v-ade1eb42]{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-ade1eb42]{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.project-agent-policy-options label[data-v-ade1eb42]{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-ade1eb42]{border-inline-start:1px solid var(--color-border)}.project-agent-policy-options label>span[data-v-ade1eb42]{gap:3px;min-width:0;display:grid}.project-agent-policy-options strong[data-v-ade1eb42]{color:var(--color-ink);font-size:12px;line-height:1.4}.project-agent-policy-options small[data-v-ade1eb42]{max-width:54ch;color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.project-agent-policy-options input[data-v-ade1eb42]{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-ade1eb42]: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-ade1eb42]:checked{border-color:var(--color-ink);background:var(--color-muted)}.project-agent-policy-options input[data-v-ade1eb42]:checked:after{transform:translate(15px)}.project-agent-policy-options input[data-v-ade1eb42]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.project-agent-policy-options input[data-v-ade1eb42]:disabled{cursor:wait;opacity:.62}.project-agent-policy-feedback[data-v-ade1eb42]{grid-column:2;min-height:14px;padding-inline:16px}.project-agent-policy-state[data-v-ade1eb42],.project-agent-policy-feedback p[data-v-ade1eb42]{color:var(--color-muted);font-size:12px;line-height:1.45}.project-agent-policy-feedback p[role=alert][data-v-ade1eb42]{color:var(--color-danger)}.project-agent-policy-feedback button[data-v-ade1eb42]{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-ade1eb42],.project-agent-policy-options[data-v-ade1eb42]{grid-template-columns:minmax(0,1fr)}.project-agent-policy-options label[data-v-ade1eb42]{padding:8px 0}.project-agent-policy-options label+label[data-v-ade1eb42]{border-inline-start:0;border-block-start:1px solid var(--color-border)}.project-agent-policy-feedback[data-v-ade1eb42]{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}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,L as t,M as n,P as r,R as i,S as a,V as o,X as s,_ as c,a as l,b as u,f as d,g as f,it as p,j as m,k as h,m as ee,nt as g,p as te,tt as _,u as ne,w as v,y}from"./i18n-CCMR4gDS.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";var x={class:`project-scope-heading`},S=[`id`],re={key:0,class:`project-scope-count`,role:`status`},C=[`disabled`,`aria-expanded`,`aria-controls`,`aria-labelledby`],w={key:0,viewBox:`0 0 20 20`,width:`18`,height:`18`,"aria-hidden":`true`},ie=[`id`],ae={key:1,class:`project-scope-multiple`},oe=[`id`,`aria-labelledby`],se=[`placeholder`,`aria-label`,`disabled`],ce={class:`project-scope-bulk`},T={class:`project-scope-option project-scope-all`},E=[`checked`,`indeterminate`,`disabled`],D=[`disabled`],O=[`disabled`],k={class:`project-scope-list`},A=[`value`,`checked`,`disabled`,`onChange`],j={key:0,class:`project-scope-project-id`},M={key:0,class:`project-scope-empty`},N={key:0,class:`project-scope-footer`},P={role:`status`},F={key:1,class:`project-scope-hint`},I={key:2,class:`project-scope-hint`},L=b(v({__name:`ProjectScopePicker`,props:{modelValue:{},projects:{},disabled:{type:Boolean},inline:{type:Boolean},label:{},hint:{},emptyLabel:{},compact:{type:Boolean},allLabel:{},showCount:{type:Boolean},resettable:{type:Boolean}},emits:[`update:modelValue`,`reset`],setup(v,{emit:b}){let L=v,R=b,z=s(null),B=s(null),V=s(null),H=s(!1),U=s(``),W=`employee-projects-${t().replace(/[^a-zA-Z0-9_-]/g,``)}`,G=f(()=>new Set(L.modelValue)),K=f(()=>L.projects.filter(e=>G.value.has(e.id)).length),q=f(()=>L.projects.length>0&&K.value===L.projects.length),le=f(()=>L.label??l(`employees.scope.label`)),J=f(()=>{let e=new Map;for(let t of L.projects)e.set(t.name,(e.get(t.name)??0)+1);return new Set([...e].filter(([,e])=>e>1).map(([e])=>e))}),ue=f(()=>{let e=L.projects.find(e=>G.value.has(e.id));return e?`${e.name}${J.value.has(e.name)?` · ${e.id}`:``}`:``}),de=f(()=>L.showCount?l(`employees.scope.count`,{selected:K.value,total:L.projects.length}):q.value?L.allLabel??l(`employees.scope.allSummary`,{count:K.value}):K.value===1?ue.value:K.value?l(`employees.scope.selected`,{count:K.value}):L.emptyLabel??l(`employees.unassigned`)),Y=f(()=>{let e=U.value.trim().toLocaleLowerCase();return L.projects.filter(t=>`${t.name} ${t.id}`.toLocaleLowerCase().includes(e))});i(()=>L.disabled,e=>{e&&X()}),m(()=>document.addEventListener(`pointerdown`,Z)),e(()=>document.removeEventListener(`pointerdown`,Z));async function fe(){if(!L.disabled){if(H.value){X();return}U.value=``,H.value=!0,await h(),V.value?.focus()}}function X(e=!1){H.value=!1,e&&h(()=>B.value?.focus())}function Z(e){H.value&&!z.value?.contains(e.target)&&X()}function Q(e){e.relatedTarget&&!z.value?.contains(e.relatedTarget)&&X()}function pe(e){H.value&&e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),X(!0))}function $(e){L.disabled||R(`update:modelValue`,e)}function me(){$(q.value?[]:L.projects.map(e=>e.id))}function he(){$(L.projects.filter(e=>!G.value.has(e.id)).map(e=>e.id))}function ge(e){let t=new Set(L.modelValue);t.has(e)?t.delete(e):t.add(e),$(L.projects.filter(e=>t.has(e.id)).map(e=>e.id))}return(e,t)=>(n(),u(`div`,{ref_key:`root`,ref:z,class:g([`project-scope-picker`,{"is-inline":v.inline,"is-compact":v.compact,"has-count":v.showCount}]),onFocusout:Q,onKeydown:pe},[c(`div`,x,[c(`span`,{id:`${W}-label`,class:`project-scope-label`},p(le.value),9,S),v.inline?(n(),u(`span`,re,p(_(l)(`employees.scope.count`,{selected:K.value,total:v.projects.length})),1)):y(``,!0)]),v.inline?y(``,!0):(n(),u(`button`,{key:0,ref_key:`trigger`,ref:B,type:`button`,class:`project-scope-trigger`,disabled:v.disabled,"aria-expanded":H.value,"aria-controls":`${W}-panel`,"aria-labelledby":`${W}-label ${W}-value`,onClick:fe},[v.compact?(n(),u(`svg`,w,[...t[4]||=[c(`path`,{d:`M3 5h14M5.5 10h9M8 15h4`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`},null,-1)]])):y(``,!0),c(`span`,{id:`${W}-value`,class:`project-scope-value`},p(de.value),9,ie),v.compact&&!v.showCount?(n(),u(`small`,ae,p(_(l)(`employees.scope.multiple`)),1)):y(``,!0),t[5]||=c(`svg`,{viewBox:`0 0 20 20`,width:`18`,height:`18`,"aria-hidden":`true`},[c(`path`,{d:`m5 7.5 5 5 5-5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)],8,C)),v.inline||H.value?(n(),u(`div`,{key:1,id:`${W}-panel`,class:`project-scope-panel`,role:`group`,"aria-labelledby":`${W}-label`},[o(c(`input`,{ref_key:`search`,ref:V,"onUpdate:modelValue":t[0]||=e=>U.value=e,type:`search`,class:`project-scope-search`,placeholder:_(l)(`employees.scope.search`),"aria-label":_(l)(`employees.scope.search`),disabled:v.disabled,onKeydown:t[1]||=d(te(()=>{},[`prevent`]),[`enter`])},null,40,se),[[ne,U.value]]),c(`div`,ce,[c(`label`,T,[c(`input`,{type:`checkbox`,checked:q.value,indeterminate:K.value>0&&!q.value,disabled:v.disabled||!v.projects.length,onChange:me},null,40,E),c(`span`,null,[a(p(v.allLabel??_(l)(`employees.scope.all`))+` `,1),c(`small`,null,p(v.projects.length),1)])]),c(`button`,{type:`button`,disabled:v.disabled||!v.projects.length,onClick:he},p(_(l)(`employees.scope.invert`)),9,D),v.resettable?(n(),u(`button`,{key:0,class:`project-scope-reset`,type:`button`,disabled:v.disabled,onClick:t[2]||=e=>R(`reset`)},p(_(l)(`employees.scope.reset`)),9,O)):y(``,!0)]),c(`div`,k,[(n(!0),u(ee,null,r(Y.value,e=>(n(),u(`label`,{key:e.id,class:g([`project-scope-option`,{"is-selected":G.value.has(e.id)}])},[c(`input`,{type:`checkbox`,value:e.id,checked:G.value.has(e.id),disabled:v.disabled,onChange:t=>ge(e.id)},null,40,A),c(`span`,null,[a(p(e.name),1),J.value.has(e.name)?(n(),u(`small`,j,p(e.id),1)):y(``,!0)])],2))),128)),Y.value.length?y(``,!0):(n(),u(`p`,M,p(_(l)(v.projects.length?`employees.scope.noMatch`:`employees.scope.empty`)),1))]),v.inline?y(``,!0):(n(),u(`div`,N,[c(`span`,P,p(_(l)(`employees.scope.count`,{selected:K.value,total:v.projects.length})),1),c(`button`,{type:`button`,onClick:t[3]||=e=>X(!0)},p(_(l)(`employees.scope.done`)),1)])),v.compact&&v.hint?(n(),u(`p`,F,p(v.hint),1)):y(``,!0)],8,oe)):y(``,!0),!v.compact&&v.hint!==``?(n(),u(`p`,I,p(v.hint??_(l)(`employees.scope.snapshotHint`)),1)):y(``,!0)],34))}}),[[`__scopeId`,`data-v-ba5341fd`]]);export{L as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.public-project-details h3[data-v-df9baf3c]{margin:0 0 6px;font-size:13px;font-weight:600}.public-project-details p[data-v-df9baf3c]{margin:0}.project-latest-release[data-v-df9baf3c]{border:0;padding:0}.project-detail-columns[data-v-df9baf3c]{padding:0}.public-project-dialog-note[data-v-df9baf3c]{color:var(--color-muted);margin-right:auto;font-size:12px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,M as r,P as i,S as a,V as ee,X as o,_ as s,a as c,b as l,g as u,it as d,m as f,n as te,nt as ne,p as re,tt as p,u as ie,v as m,w as ae,y as h}from"./i18n-CCMR4gDS.js";import{t as oe}from"./console-CG8tdtSs.js";import{i as g,n as _,o as se,t as v}from"./client-CUTkF3t4.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as b,t as x}from"./UiDialog-Da1P10f4.js";import{h as ce}from"./useApi-CROJJdhE-DlOiu8lP.js";import{t as S}from"./UiSelect-D5Xj5Ec4.js";import{t as le}from"./paths-CDREouhi.js";import{r as C,t as w}from"./identity-C1eN-FSB.js";var ue={class:`view`},de={class:`space-heading public-space-heading`},fe=[`aria-label`],pe={class:`project-grid`},me={class:`project-card-heading`},he={class:`project-card-heading-actions`},ge=[`onClick`],_e={class:`completion-badge`},ve={class:`project-purpose`},ye={class:`evidence-row`},be={key:0,class:`muted`},xe={class:`project-access`},Se={class:`muted`},Ce={key:0,class:`project-release-meta`},we={class:`project-card-footer`},Te=[`onClick`],Ee=[`onClick`],De={key:0,class:`empty-state project-empty`},Oe={class:`project-section`},T={class:`section-toolbar compact-toolbar relation-section-toolbar`},ke=[`disabled`],Ae={key:0,class:`muted`},je={class:`compact-relation-preview`,"aria-live":`polite`},Me={key:0},Ne={key:1},Pe={class:`primary-action`,type:`submit`},Fe={class:`project-latest-release`},Ie={key:0},Le={key:1,class:`ui-muted`},Re={class:`project-detail-columns`},ze={key:1,class:`ui-muted`},Be={key:0,class:`ui-muted`},Ve={key:1,class:`ui-muted`},He={class:`public-project-dialog-note`},Ue={class:`ui-field`},We=[`disabled`],Ge={class:`public-project-dialog-note`},Ke=`fuli-workspace-v1`,E=y(ae({__name:`PublicProjectsPage`,setup(ae){let y=oe(),E=ce(),D=o(null),O=o([]),k=o([]),A=o(!1),j=o(!1),M=o(``),N=o(``),P=o(`RELATED_TO`),F=o(null),I=o(``),L=o(!1),R=o(``),z=0,B=null,V=u(()=>y.state?.projects??[]),qe=u(()=>y.state?.providers?.workspaces??[]),H=u(()=>new Set((y.state?.subscriptions??[]).map(({provider_url:e,project_id:t})=>`${e}::${t}`))),U=u(()=>V.value.filter(({role:e,isOwner:t})=>e===`maintainer`||t)),W=u(()=>U.value.filter(({providerUrl:e})=>J(e))),Je=u(()=>W.value.map(e=>({value:e.id,label:e.name,meta:`#${w(e.id,26)}`,search:C(e.id)}))),Ye=u(()=>{let e=V.value.find(({id:e})=>e===M.value);return!e||!J(e.providerUrl)?[]:V.value.filter(({id:t,providerUrl:n})=>t!==e.id&&n===e.providerUrl&&J(n))}),Xe=u(()=>Ye.value.map(e=>({value:e.id,label:e.name,meta:`#${w(e.id,26)}`,search:C(e.id)}))),Ze=u(()=>V.value.find(({id:e})=>e===M.value)??null),Qe=u(()=>V.value.find(({id:e})=>e===N.value)??null),$e=u(()=>K.value.find(({value:e})=>e===P.value)?.label??c(`pages.publicProjects.relationLabels.relatedTo`)),et=u(()=>D.value?J(D.value.providerUrl):!1),G=u(()=>!!(F.value&&I.value===F.value.name)),K=u(()=>[{value:`PART_OF`,label:c(`pages.publicProjects.relationLabels.partOf`)},{value:`USES_KNOWLEDGE_FROM`,label:c(`pages.publicProjects.relationLabels.usesKnowledgeFrom`)},{value:`DEPENDS_ON`,label:c(`pages.publicProjects.relationLabels.dependsOn`)},{value:`PROVIDES_TO`,label:c(`pages.publicProjects.relationLabels.providesTo`)},{value:`SHARES_CAPABILITY_WITH`,label:c(`pages.publicProjects.relationLabels.sharesCapabilityWith`)},{value:`SUCCESSOR_OF`,label:c(`pages.publicProjects.relationLabels.successorOf`)},{value:`RELATED_TO`,label:c(`pages.publicProjects.relationLabels.relatedTo`)}]);function q(e){return`${e.providerUrl}::${e.id}`}function J(e){return qe.value.find(({providerUrl:t})=>t===e)?.protocol!==Ke}function Y(e){return e.profile?.purpose||e.profile?.scope||e.profile?.technical_summary||e.description||c(`pages.publicProjects.fallbackDescription`)}async function X(e){try{if(H.value.has(q(e))){let t=new URLSearchParams({personalSpaceId:y.activePersonalSpace?.id??``,providerUrl:e.providerUrl});await v(`/api/subscriptions/${encodeURIComponent(e.id)}?${t}`),y.notify(c(`pages.publicProjects.unsubscribed`,{name:e.name}))}else await g(`/api/subscriptions`,{personalSpaceId:y.activePersonalSpace?.id,projectId:e.id,providerUrl:e.providerUrl,projectName:e.name}),y.notify(c(`pages.publicProjects.subscribed`,{name:e.name}));await y.refresh()}catch(e){y.reportError(e)}}async function tt(e){if(Q(),D.value=e,O.value=[],k.value=[],!J(e.providerUrl))return;let t=++z,n=new AbortController;B=n,A.value=!0;try{let r=new URLSearchParams({providerUrl:e.providerUrl}),[i,a]=await Promise.all([_(`/api/projects/${encodeURIComponent(e.id)}/releases?${r}`,{signal:n.signal}),_(`/api/project-relations?${new URLSearchParams({projectId:e.id,providerUrl:e.providerUrl})}`,{signal:n.signal})]);if(t!==z||n.signal.aborted)return;O.value=i.releases??[],k.value=a.relations??[]}catch(e){if(t!==z||n.signal.aborted)return;y.reportError(e)}finally{if(t!==z||n.signal.aborted)return;A.value=!1,B===n&&(B=null)}}async function nt(e){Q(),await E.push(le(`public`,e.id,`graph`))}function Z(){z+=1,B?.abort(),B=null,A.value=!1}function Q(){Z(),D.value=null,O.value=[],k.value=[]}function rt(e){J(e.providerUrl)&&(F.value=e,I.value=``,R.value=``)}function it(){L.value||(F.value=null,I.value=``,R.value=``)}async function at(){let e=F.value;if(!e||!G.value){R.value=c(`pages.publicProjects.deleteNameRequired`);return}if(!J(e.providerUrl)){R.value=c(`pages.publicProjects.providerOperationsUnavailable`);return}L.value=!0,R.value=``;try{let t=new URLSearchParams({providerUrl:e.providerUrl});await v(`/api/projects/${encodeURIComponent(e.id)}?${t}`),D.value=null,F.value=null,y.notify(c(`pages.publicProjects.deleted`,{name:e.name})),await y.refresh()}catch(e){R.value=e instanceof Error?e.message:c(`pages.publicProjects.deleteFailed`),y.reportError(e)}finally{L.value=!1}}async function ot(){let e=V.value.find(({id:e})=>e===M.value),t=V.value.find(({id:e})=>e===N.value);if(!e||!t){y.reportError(Error(c(`pages.publicProjects.chooseRelationProjects`)));return}if(!J(e.providerUrl)){y.reportError(Error(c(`pages.publicProjects.providerOperationsUnavailable`)));return}try{await g(`/api/project-relations`,{sourceProjectId:e.id,targetProjectId:t.id,providerUrl:e.providerUrl,relationType:P.value,note:null}),j.value=!1,M.value=``,N.value=``,y.notify(P.value===`PART_OF`?c(`pages.publicProjects.parentRelationSubmitted`):c(`pages.publicProjects.relationCreated`))}catch(e){y.reportError(e)}}e(Z);function $(e){return e?new Date(e).toLocaleString(te()):c(`pages.publicProjects.timeNotRecorded`)}return(e,o)=>(r(),l(`section`,ue,[s(`div`,de,[o[7]||=s(`span`,{class:`space-heading-icon`,"aria-hidden":`true`},[s(`span`,{class:`nav-icon nav-icon-public-project`})],-1),s(`div`,null,[s(`p`,null,d(p(c)(`pages.publicProjects.intro`)),1)]),s(`div`,{class:`public-space-stats`,"aria-label":p(c)(`pages.publicProjects.overviewAria`)},[s(`span`,null,[s(`strong`,null,d(V.value.length),1),a(d(p(c)(`pages.publicProjects.discoverable`)),1)]),s(`span`,null,[s(`strong`,null,d(p(y).state?.subscriptions.length??0),1),a(d(p(c)(`pages.publicProjects.subscribedCount`)),1)])],8,fe)]),s(`div`,pe,[(r(!0),l(f,null,i(V.value,e=>(r(),l(`article`,{key:q(e),class:`project-card`},[s(`div`,me,[s(`div`,null,[s(`h4`,null,d(e.name),1)]),s(`div`,he,[e.can_manage&&J(e.providerUrl)?(r(),l(`button`,{key:0,class:`management-action`,type:`button`,onClick:t=>rt(e)},d(p(c)(`pages.publicProjects.manage`)),9,ge)):h(``,!0),s(`div`,_e,[s(`strong`,null,d(e.profile?.assessment?.score??`—`),1),s(`span`,null,d(e.profile?.assessment?p(c)(`pages.publicProjects.coverage`):p(c)(`pages.publicProjects.noSummary`)),1)])])]),s(`p`,ve,d(Y(e)),1),s(`div`,ye,[(r(!0),l(f,null,i(e.profile?.sources??[],(e,t)=>(r(),l(`span`,{key:t,class:`status-chip`},d(e.kind??p(c)(`pages.publicProjects.material`)),1))),128)),e.profile?.sources?.length?h(``,!0):(r(),l(`span`,be,d(p(c)(`pages.publicProjects.noSources`)),1))]),s(`div`,xe,[s(`span`,{class:ne([`status-chip`,{owner:e.isOwner}])},d(e.isOwner?`Owner`:e.role??`Reader`),3),s(`span`,Se,d(e.isOwner?p(c)(`pages.publicProjects.publishedByYou`):p(c)(`pages.publicProjects.publiclyDiscoverable`)),1),e.current_release&&J(e.providerUrl)?(r(),l(`span`,Ce,[s(`strong`,null,d(e.current_release.version),1),s(`span`,null,d($(e.current_release.published_at)),1)])):h(``,!0)]),s(`footer`,we,[s(`button`,{class:`secondary-action`,type:`button`,onClick:t=>X(e)},d(H.value.has(q(e))?p(c)(`pages.publicProjects.unsubscribe`):p(c)(`pages.publicProjects.subscribe`)),9,Te),s(`button`,{class:`primary-action`,type:`button`,onClick:t=>tt(e)},d(p(c)(`common.actions.viewDetails`)),9,Ee)])]))),128)),V.value.length?h(``,!0):(r(),l(`div`,De,d(p(c)(`pages.publicProjects.noProjects`)),1))]),s(`section`,Oe,[s(`div`,T,[s(`div`,null,[s(`h3`,null,d(p(c)(`pages.publicProjects.relationsTitle`)),1)]),s(`button`,{class:`primary-action`,type:`button`,disabled:!W.value.length,onClick:o[0]||=e=>j.value=!j.value},d(p(c)(`pages.publicProjects.addRelation`)),9,ke)]),U.value.length&&!W.value.length?(r(),l(`p`,Ae,d(p(c)(`pages.publicProjects.providerOperationsUnavailable`)),1)):h(``,!0),j.value?(r(),l(`form`,{key:1,class:`relation-composer relation-composer-form compact-relation-form`,onSubmit:re(ot,[`prevent`])},[s(`label`,null,[a(d(p(c)(`pages.publicProjects.sourceProject`))+` `,1),n(S,{modelValue:M.value,"onUpdate:modelValue":o[1]||=e=>M.value=e,options:Je.value,label:p(c)(`pages.publicProjects.sourceProjectLabel`),placeholder:p(c)(`pages.publicProjects.chooseProject`),searchable:``,required:``,onChange:o[2]||=e=>N.value=``},null,8,[`modelValue`,`options`,`label`,`placeholder`])]),s(`label`,null,[a(d(p(c)(`pages.publicProjects.relation`))+` `,1),n(S,{modelValue:P.value,"onUpdate:modelValue":o[3]||=e=>P.value=e,options:K.value,label:p(c)(`pages.publicProjects.relationTypeLabel`)},null,8,[`modelValue`,`options`,`label`])]),s(`label`,null,[a(d(p(c)(`pages.publicProjects.targetProject`))+` `,1),n(S,{modelValue:N.value,"onUpdate:modelValue":o[4]||=e=>N.value=e,options:Xe.value,label:p(c)(`pages.publicProjects.targetProjectLabel`),placeholder:p(c)(`pages.publicProjects.chooseProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`])]),s(`div`,je,[s(`span`,null,d(p(c)(`pages.publicProjects.preview`)),1),s(`strong`,null,d(Ze.value?.name||p(c)(`pages.publicProjects.sourceProject`))+` `+d($e.value)+` `+d(Qe.value?.name||p(c)(`pages.publicProjects.targetProject`)),1),P.value===`PART_OF`?(r(),l(`p`,Me,d(p(c)(`pages.publicProjects.parentConfirmation`)),1)):(r(),l(`p`,Ne,d(p(c)(`pages.publicProjects.relationBoundary`)),1))]),s(`button`,Pe,d(p(c)(`pages.publicProjects.addRelation`)),1)],32)):h(``,!0)]),D.value?(r(),m(x,{key:0,open:``,class:`public-project-details`,size:`lg`,title:D.value.name,description:Y(D.value),onClose:Q},{footer:t(()=>[s(`span`,He,d(p(c)(`pages.publicProjects.contentManagementSeparated`)),1),n(b,{variant:`primary`,onClick:o[5]||=e=>nt(D.value)},{default:t(()=>[a(d(p(c)(`pages.publicProjects.viewGraph`)),1)]),_:1})]),default:t(()=>[et.value?(r(),l(f,{key:0},[s(`section`,Fe,[s(`h3`,null,d(p(c)(`pages.publicProjects.latestRelease`)),1),D.value.current_release?(r(),l(`p`,Ie,[s(`strong`,null,d(D.value.current_release.version),1),a(` · `+d($(D.value.current_release.published_at)),1)])):(r(),l(`p`,Le,d(p(c)(`pages.publicProjects.noRelease`)),1))]),s(`div`,Re,[s(`section`,null,[s(`h3`,null,d(p(c)(`pages.publicProjects.releaseHistory`)),1),A.value?(r(),m(se,{key:0,variant:`compact`,label:p(c)(`pages.publicProjects.loading`)},null,8,[`label`])):h(``,!0),(r(!0),l(f,null,i(O.value,e=>(r(),l(`article`,{key:e.version,class:`project-release-item`},[s(`strong`,null,d(e.version),1),s(`p`,null,d(e.update_summary),1),s(`small`,null,d($(e.published_at)),1)]))),128)),!A.value&&!O.value.length?(r(),l(`p`,ze,d(p(c)(`pages.publicProjects.noReleaseHistory`)),1)):h(``,!0)]),s(`section`,null,[s(`h3`,null,d(p(c)(`pages.publicProjects.relationsTitle`)),1),(r(!0),l(f,null,i(k.value,e=>(r(),l(`article`,{key:e.id,class:`project-detail-relation`},[s(`strong`,null,d(e.relation_type),1),s(`small`,null,d(e.status??`active`),1)]))),128)),!A.value&&!k.value.length?(r(),l(`p`,Be,d(p(c)(`pages.publicProjects.noRelations`)),1)):h(``,!0)])])],64)):(r(),l(`p`,Ve,d(p(c)(`pages.publicProjects.providerOperationsUnavailableTitle`)),1))]),_:1},8,[`title`,`description`])):h(``,!0),F.value?(r(),m(x,{key:1,open:``,class:`public-project-deletion`,size:`sm`,busy:L.value,error:R.value,title:p(c)(`pages.publicProjects.deleteTitle`),description:p(c)(`pages.publicProjects.deleteCopy`),onClose:it},{footer:t(()=>[s(`span`,Ge,d(p(c)(`pages.publicProjects.deleteWarning`)),1),n(b,{variant:`danger`,disabled:!G.value,busy:L.value,"busy-label":p(c)(`pages.publicProjects.deleting`),onClick:at},{default:t(()=>[a(d(p(c)(`pages.publicProjects.deletePermanently`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])]),default:t(()=>[s(`label`,Ue,[s(`span`,null,[a(d(p(c)(`pages.publicProjects.enterFullName`))+` `,1),s(`strong`,null,d(F.value.name),1)]),ee(s(`input`,{"onUpdate:modelValue":o[6]||=e=>I.value=e,autocomplete:`off`,disabled:L.value},null,8,We),[[ie,I.value]])])]),_:1},8,[`busy`,`error`,`title`,`description`])):h(``,!0)]))}}),[[`__scopeId`,`data-v-df9baf3c`]]);export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,C as t,M as n,P as r,R as i,X as a,_ as o,a as s,b as c,g as l,it as u,m as d,tt as f,v as p,w as ee,y as m}from"./i18n-CCMR4gDS.js";import{t as te}from"./console-CG8tdtSs.js";import{i as h,n as g,o as _}from"./client-CUTkF3t4.js";import{t as ne}from"./UiSelect-D5Xj5Ec4.js";import{r as re,t as ie}from"./identity-C1eN-FSB.js";import{u as v}from"./model-l-sAqtW_.js";var ae={class:`view`},oe={class:`section-title`},se={class:`review-list`,"data-review-queue":`personal`},ce={key:1,class:`review-error`,role:`alert`},le=[`disabled`],ue={class:`review-stage`},de={class:`review-meta`},fe={class:`review-actions stacked-actions`},pe=[`disabled`,`onClick`],me=[`disabled`,`onClick`],he=[`disabled`,`onClick`],y={key:2,class:`empty-state`},ge={key:0,class:`project-section`},_e={class:`section-toolbar`},ve={class:`review-list`,"data-review-queue":`shared`},ye={key:1,class:`review-error`,role:`alert`},be=[`disabled`],xe={class:`review-stage`},b={class:`review-meta`},Se={class:`review-actions`},Ce=[`disabled`,`onClick`],we=[`disabled`,`onClick`],Te={key:2,class:`empty-state`},x=ee({__name:`ReviewPage`,setup(ee){let x=te(),S=a([]),C=a([]),w=a(``),T=a(!1),E=a(``),D=a(!1),O=a(``),k=a(new Set),A=a(new Set),j=0,M=null,N=0,P=null,F=l(()=>(x.state?.projects??[]).filter(e=>e.role===`maintainer`&&Oe(e))),Ee=l(()=>F.value.map(e=>({value:e.id,label:e.name,meta:`#`+ie(e.id,26),search:re(e.id)}))),I=l(()=>F.value.find(({id:e})=>e===w.value)??null),De=l(()=>{let e=I.value;return e?e.id+`\0`+e.providerUrl:``});function Oe(e){return L(x.state,e)}function L(e,t){if(e?.capabilities?.reviewProposals!==!0)return!1;let n=e.providers?.workspaces?.find(({providerUrl:e})=>e===t.providerUrl);if(!n||n.status!==`ready`)return!1;let r=n.capabilities;return!!(r&&typeof r==`object`&&r.reviewProposals===!0)}function R(e){return e?e.personalSpaces.find(({id:t})=>t===e.activePersonalSpaceId)?.id??e.personalSpaces[0]?.id??``:``}function z(e,t){let n=(e?.projects??[]).find(n=>n.id===t&&n.role===`maintainer`&&L(e,n));return n?n.id+`\0`+n.providerUrl:``}function B(e){return e instanceof Error&&e.message?e.message:s(`common.errors.loadFailed`)}function V(e){return!!(e&&typeof e==`object`&&`name`in e&&e.name===`AbortError`)}function H(e,t,n){let r=new Set(e.value);n?r.add(t):r.delete(t),e.value=r}function U(){j+=1,M?.abort(),M=null,S.value=[],E.value=``,T.value=!1}function W(){N+=1,P?.abort(),P=null,C.value=[],O.value=``,D.value=!1}function G(e,t){return t===j&&x.activePersonalSpace?.id===e}function K(e,t){let n=I.value;return t===N&&n?.id===e.id&&n.providerUrl===e.providerUrl}function q(e,t,n){return G(n,t)&&S.value.some(({id:t})=>t===e.id)}function J(e,t,n){return K(t,n)&&C.value.some(({id:t})=>t===e.id)}function Y(e,t){return e+`\0`+t}async function X(e=x.activePersonalSpace?.id){M?.abort();let t=++j,n=new AbortController;if(M=n,T.value=!0,E.value=``,!e){T.value=!1,M===n&&(M=null);return}try{let r=await g(`/api/personal-review?`+new URLSearchParams({personalSpaceId:e,status:`pending`}),{signal:n.signal});if(!G(e,t)||n.signal.aborted)return;S.value=r.drafts??[]}catch(r){if(!G(e,t)||n.signal.aborted||V(r))return;E.value=B(r)}finally{t===j&&M===n&&(T.value=!1,M=null)}}async function Z(){let e=I.value;if(!e)return;P?.abort();let t=++N,n=new AbortController;P=n,D.value=!0,O.value=``;try{let r=await g(`/api/review?`+new URLSearchParams({projectId:e.id,providerUrl:e.providerUrl,status:`pending`}),{signal:n.signal});if(!K(e,t)||n.signal.aborted)return;C.value=r.proposals??[]}catch(r){if(!K(e,t)||n.signal.aborted||V(r))return;O.value=B(r)}finally{t===N&&P===n&&(D.value=!1,P=null)}}async function Q(e,t){let n=x.activePersonalSpace?.id,r=j;if(!(!n||T.value||E.value||!q(e,r,n))&&!k.value.has(e.id)){H(k,e.id,!0);try{if(T.value||E.value||!q(e,r,n)||(await h(`/api/personal-review/`+encodeURIComponent(e.id)+`/decision`,{decision:t}),!G(n,r)))return;await Promise.all([X(n),x.refresh()])}catch(e){G(n,r)&&!V(e)&&(E.value=B(e))}finally{H(k,e.id,!1)}}}async function $(e,t){let n=I.value,r=N;if(!n||D.value||O.value||!J(e,n,r))return;let i=Y(n.id,e.id);if(!A.value.has(i)){H(A,i,!0);try{if(D.value||O.value||!J(e,n,r)||(await h(`/api/review/`+encodeURIComponent(e.id)+`/decision`,{projectId:n.id,providerUrl:n.providerUrl,decision:t,note:null}),!K(n,r)))return;await Z()}catch(e){K(n,r)&&!V(e)&&(O.value=B(e))}finally{H(A,i,!1)}}}return i(()=>x.state,(e,t)=>{if(!e||!t)return;let n=R(t),r=R(e);r&&r===n&&X(r);let i=w.value,a=z(t,i),o=z(e,i);o&&o===a&&Z()},{flush:`sync`}),i(()=>x.activePersonalSpace?.id??``,e=>{U(),e&&X(e)},{immediate:!0,flush:`sync`}),i(F,e=>{e.some(({id:e})=>e===w.value)||(w.value=e[0]?.id??``)},{immediate:!0,flush:`sync`}),i(De,()=>{W(),I.value&&Z()},{immediate:!0,flush:`sync`}),e(()=>{U(),W()}),(e,i)=>(n(),c(`section`,ae,[o(`div`,oe,[o(`h3`,null,u(f(s)(`pages.review.personalTitle`)),1)]),o(`div`,se,[T.value?(n(),p(_,{key:0,variant:`compact`,label:f(s)(`pages.review.loadingPersonal`)},null,8,[`label`])):m(``,!0),E.value?(n(),c(`div`,ce,[o(`span`,null,u(E.value),1),o(`button`,{class:`secondary-action`,type:`button`,disabled:T.value,onClick:i[0]||=e=>X()},u(f(s)(`common.actions.retry`)),9,le)])):m(``,!0),(n(!0),c(d,null,r(S.value,e=>(n(),c(`article`,{key:e.id,class:`review-item review-item-detailed`},[o(`div`,null,[o(`div`,ue,u(f(s)(`pages.review.beforePublic`)),1),o(`h4`,null,u(e.episode.name),1),o(`p`,null,u(e.episode.summary||e.episode.source_description),1),o(`div`,de,[o(`span`,null,u(f(s)(`common.counts.entities`,{count:e.episode.entities?.length??0})),1),o(`span`,null,u(f(s)(`common.counts.relationships`,{count:e.episode.relationships?.length??0})),1),o(`span`,null,u(f(v)(e.created_at)),1)])]),o(`div`,fe,[k.value.has(e.id)?(n(),p(_,{key:0,variant:`inline`,label:f(s)(`pages.review.savingDecision`)},null,8,[`label`])):m(``,!0),o(`button`,{class:`secondary-action`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`keep_personal`)},u(f(s)(`pages.review.keepPersonal`)),9,pe),o(`button`,{class:`reject`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`ignore`)},u(f(s)(`pages.review.ignore`)),9,me),f(x).state?.capabilities?.submitKnowledge?(n(),c(`button`,{key:1,class:`approve`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`submit_public`)},u(f(s)(`pages.review.submitPublic`)),9,he)):m(``,!0)])]))),128)),!T.value&&!E.value&&!S.value.length?(n(),c(`div`,y,u(f(s)(`pages.review.noPersonalDrafts`)),1)):m(``,!0)]),f(x).state?.capabilities?.reviewProposals&&F.value.length?(n(),c(`section`,ge,[o(`div`,_e,[o(`div`,null,[o(`h3`,null,u(f(s)(`pages.review.publicTitle`)),1)]),t(ne,{modelValue:w.value,"onUpdate:modelValue":i[1]||=e=>w.value=e,options:Ee.value,label:f(s)(`pages.review.projectLabel`),"control-id":`review-project`,searchable:``},null,8,[`modelValue`,`options`,`label`])]),o(`div`,ve,[D.value?(n(),p(_,{key:0,variant:`compact`,label:f(s)(`pages.review.loadingPublic`)},null,8,[`label`])):m(``,!0),O.value?(n(),c(`div`,ye,[o(`span`,null,u(O.value),1),o(`button`,{class:`secondary-action`,type:`button`,disabled:D.value,onClick:i[2]||=e=>Z()},u(f(s)(`common.actions.retry`)),9,be)])):m(``,!0),(n(!0),c(d,null,r(C.value,e=>(n(),c(`article`,{key:e.id,class:`review-item`},[o(`div`,null,[o(`div`,xe,u(f(s)(`pages.review.maintainerReview`)),1),o(`h4`,null,u(e.episode.name),1),o(`p`,null,u(e.episode.summary||e.episode.source_description),1),o(`div`,b,[o(`span`,null,u(f(v)(e.created_at)),1)])]),o(`div`,Se,[A.value.has(Y(w.value,e.id))?(n(),p(_,{key:0,variant:`inline`,label:f(s)(`pages.review.savingDecision`)},null,8,[`label`])):m(``,!0),o(`button`,{class:`reject`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`reject`)},u(f(s)(`pages.review.reject`)),9,Ce),o(`button`,{class:`approve`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`approve`)},u(f(s)(`pages.review.approve`)),9,we)])]))),128)),!D.value&&!O.value&&!C.value.length?(n(),c(`div`,Te,u(f(s)(`pages.review.noProposals`)),1)):m(``,!0)])])):m(``,!0)]))}});export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,M as n,P as r,R as i,X as a,_ as o,a as s,b as c,g as ee,it as l,j as te,m as u,n as d,nt as f,tt as p,v as m,w as h,y as g}from"./i18n-CCMR4gDS.js";import{n as _,o as ne}from"./client-CUTkF3t4.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as y}from"./useApi-CROJJdhE-DlOiu8lP.js";import{t as b}from"./vue-router-DjqEU4W2.js";var x=()=>_(`/api/roundtable/threads`),S=e=>_(`/api/roundtable/threads/${encodeURIComponent(e)}`),re={class:`view roundtable-view`},ie={key:1,class:`ui-empty`,role:`alert`},ae={key:2,class:`roundtable-empty`},C={key:3,class:`roundtable-layout`},w=[`aria-label`],T={class:`roundtable-faces`,"aria-hidden":`true`},E={class:`roundtable-thread-copy`},D={key:0,class:`roundtable-preview`},O={class:`roundtable-thread-meta`},k=[`datetime`],A={key:0,class:`ui-badge ui-badge--warning`},j={key:0,class:`roundtable-timeline`,"data-testid":`roundtable-timeline`},M={class:`ui-meta`},N={class:`roundtable-avatar`,"aria-hidden":`true`},P={class:`roundtable-bubble`},F={class:`roundtable-byline`},I={key:0,class:`ui-badge`},L={class:`ui-meta`},R=[`datetime`],z={class:`roundtable-body`},B={key:0,class:`roundtable-delivery`},V={key:1,class:`roundtable-select ui-meta`},H=v(h({__name:`RoundtablesPage`,setup(h){let _=y(),v=a([]),H=a(null),U=a(!0),W=a(``),G=ee(()=>typeof _.params.threadId==`string`?_.params.threadId:``),K={claude_code:`Claude Code`,codex:`Codex`,cursor:`Cursor`,claude:`Claude`,other:`Agent`},q,J=0;async function Y(){let e=++J;try{let[t,n]=await Promise.all([x(),G.value?S(G.value):Promise.resolve(null)]);if(e!==J)return;v.value=t.threads,H.value=n,W.value=``}catch(t){e===J&&(W.value=t instanceof Error?t.message:String(t))}finally{e===J&&(U.value=!1)}}i(G,()=>{H.value=null,Y()}),te(()=>{Y(),q=setInterval(()=>{document.visibilityState===`visible`&&Y()},5e3)}),e(()=>clearInterval(q));let X=e=>e.client?K[e.client]??e.client:``,Z=e=>(e.name??`?`).trim().slice(0,1).toUpperCase();function Q(e){let t=new Date(e);return Number.isNaN(t.valueOf())?``:new Intl.DateTimeFormat(d(),{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t)}function $(e){if(e.kind===`reply`){let t=e.via?.split(`:`)[1];return t&&[`resume`,`new`,`inbox`].includes(t)?s(`roundtable.via.${t}`):``}return e.status===`answered`?``:s(`roundtable.status.${e.status}`)}return(e,i)=>(n(),c(`section`,re,[U.value?(n(),m(ne,{key:0,label:p(s)(`roundtable.loading`)},null,8,[`label`])):W.value&&!v.value.length?(n(),c(`div`,ie,[o(`p`,null,l(p(s)(`roundtable.loadFailed`))+` · `+l(W.value),1),o(`button`,{class:`ui-button`,type:`button`,onClick:Y},l(p(s)(`roundtable.retry`)),1)])):v.value.length?(n(),c(`div`,C,[o(`nav`,{class:`roundtable-threads`,"aria-label":p(s)(`roundtable.threads`)},[(n(!0),c(u,null,r(v.value,e=>(n(),m(p(b),{key:e.id,class:f([`roundtable-thread`,{"is-active":e.id===G.value}]),to:`/roundtables/${encodeURIComponent(e.id)}`,"data-testid":`roundtable-thread`},{default:t(()=>[o(`span`,T,[(n(!0),c(u,null,r(e.participants.slice(0,3),e=>(n(),c(`span`,{key:e.agentId??e.name??``},l(Z(e)),1))),128))]),o(`span`,E,[o(`strong`,null,l(e.subject),1),o(`small`,null,l(e.participants.map(e=>e.name).join(` · `)),1),e.last?(n(),c(`small`,D,l(e.last.from)+`:`+l(e.last.body),1)):g(``,!0)]),o(`span`,O,[o(`time`,{datetime:e.updatedAt},l(Q(e.updatedAt)),9,k),e.waiting?(n(),c(`span`,A,l(p(s)(`roundtable.waiting`)),1)):g(``,!0)])]),_:2},1032,[`class`,`to`]))),128))],8,w),H.value?(n(),c(`article`,j,[o(`header`,null,[o(`h2`,null,l(H.value.subject),1),o(`p`,M,l(p(s)(`roundtable.messages`,{count:H.value.messages.length}))+` · `+l(Q(H.value.createdAt)),1)]),o(`ol`,null,[(n(!0),c(u,null,r(H.value.messages,e=>(n(),c(`li`,{key:e.id,class:f([`roundtable-message`,`is-${e.kind}`])},[o(`span`,N,l(Z(e.from)),1),o(`div`,P,[o(`p`,F,[o(`strong`,null,l(e.from.name),1),X(e.from)?(n(),c(`span`,I,l(X(e.from)),1)):g(``,!0),o(`span`,L,l(p(s)(`roundtable.to`))+` `+l(e.to.name),1),o(`time`,{class:`ui-meta`,datetime:e.createdAt},l(Q(e.createdAt)),9,R)]),o(`p`,z,l(e.body),1),$(e)?(n(),c(`p`,B,l($(e)),1)):g(``,!0)])],2))),128))])])):(n(),c(`p`,V,l(p(s)(`roundtable.select`)),1))])):(n(),c(`div`,ae,[o(`strong`,null,l(p(s)(`roundtable.empty`)),1),o(`p`,null,l(p(s)(`roundtable.emptyHint`)),1)]))]))}}),[[`__scopeId`,`data-v-9d81b44c`]]);export{H as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.roundtable-view[data-v-9d81b44c]{flex-direction:column;display:flex;overflow:hidden}.roundtable-empty[data-v-9d81b44c]{text-align:center;max-width:520px;margin:12vh auto 0}.roundtable-empty strong[data-v-9d81b44c]{font-size:16px;font-weight:600}.roundtable-empty p[data-v-9d81b44c]{color:var(--color-muted);margin-top:8px}.roundtable-layout[data-v-9d81b44c]{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex:1;grid-template-columns:minmax(260px,340px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.roundtable-threads[data-v-9d81b44c]{border-right:1px solid var(--color-border);background:var(--color-bg);min-height:0;overflow-y:auto}.roundtable-thread[data-v-9d81b44c]{border-bottom:1px solid var(--color-border);color:var(--color-ink);transition:background-color var(--motion-fast);grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:14px 16px;text-decoration:none;display:grid}.roundtable-thread[data-v-9d81b44c]:hover{background:var(--color-surface-hover)}.roundtable-thread.is-active[data-v-9d81b44c]{background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-accent)}.roundtable-faces[data-v-9d81b44c]{padding-top:2px;display:flex}.roundtable-faces span[data-v-9d81b44c],.roundtable-avatar[data-v-9d81b44c]{border:2px solid var(--color-bg);width:26px;height:26px;color:var(--color-accent);background:var(--color-accent-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:650;display:grid}.roundtable-faces span+span[data-v-9d81b44c]{margin-left:-9px}.roundtable-thread-copy[data-v-9d81b44c]{gap:2px;min-width:0;display:grid}.roundtable-thread-copy strong[data-v-9d81b44c]{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.roundtable-thread-copy small[data-v-9d81b44c]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.roundtable-preview[data-v-9d81b44c]{color:var(--color-faint)!important}.roundtable-thread-meta[data-v-9d81b44c]{color:var(--color-faint);white-space:nowrap;align-content:start;justify-items:end;gap:6px;font-size:11px;display:grid}.roundtable-timeline[data-v-9d81b44c]{flex-direction:column;min-height:0;display:flex}.roundtable-timeline header[data-v-9d81b44c]{border-bottom:1px solid var(--color-border);padding:20px 28px 14px}.roundtable-timeline h2[data-v-9d81b44c]{font-size:17px}.roundtable-timeline ol[data-v-9d81b44c]{flex:1;align-content:start;gap:18px;min-height:0;margin:0;padding:20px 28px 32px;list-style:none;display:grid;overflow-y:auto}.roundtable-message[data-v-9d81b44c]{grid-template-columns:30px minmax(0,1fr);gap:12px;max-width:760px;display:grid}.roundtable-message.is-reply[data-v-9d81b44c]{margin-left:42px}.roundtable-avatar[data-v-9d81b44c]{border:0;width:30px;height:30px}.roundtable-message.is-reply .roundtable-avatar[data-v-9d81b44c]{color:var(--color-ink-soft);background:var(--color-surface-subtle)}.roundtable-bubble[data-v-9d81b44c]{min-width:0}.roundtable-byline[data-v-9d81b44c]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.roundtable-byline strong[data-v-9d81b44c]{font-size:14px;font-weight:600}.roundtable-body[data-v-9d81b44c]{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 12px 12px;padding:12px 14px;font-size:14px;line-height:1.7}.roundtable-message.is-reply .roundtable-body[data-v-9d81b44c]{background:var(--color-surface)}.roundtable-delivery[data-v-9d81b44c]{color:var(--color-faint);margin-top:6px;font-size:12px}.roundtable-select[data-v-9d81b44c]{place-self:center}@media (width<=860px){.roundtable-layout[data-v-9d81b44c]{grid-template-columns:minmax(0,1fr)}.roundtable-threads[data-v-9d81b44c]{border-right:0;border-bottom:1px solid var(--color-border);max-height:40vh}.roundtable-message.is-reply[data-v-9d81b44c]{margin-left:16px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,M as r,P as i,R as a,S as ee,V as o,X as s,_ as c,a as l,b as u,c as d,g as f,i as p,it as m,j as te,m as h,n as ne,p as re,r as ie,rt as g,tt as _,u as v,v as y,w as ae,y as b}from"./i18n-CCMR4gDS.js";import{t as oe}from"./console-CG8tdtSs.js";import{a as se,n as x,o as S}from"./client-CUTkF3t4.js";import{t as C}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as w}from"./UiSelect-D5Xj5Ec4.js";import{t as T}from"./UiDisclosure-8wE8YuE4.js";import{i as ce,n as E,s as le,t as D}from"./conversation-launcher-settings-CyZkLJg7.js";var ue=[`aria-label`],de={class:`settings-content`},fe={key:1,class:`settings-top-status`,role:`status`},pe={key:0},me={key:1},he=[`aria-busy`],ge=[`disabled`],_e={class:`settings-card behavior-card`},ve={class:`setting-list`},ye={class:`setting-row`},O=[`checked`],k={class:`setting-row`},A=[`checked`],j={class:`setting-row`},M={class:`setting-row select-row`},N={class:`setting-row select-row`},P={class:`setting-row select-row`},be={key:0,class:`restart-chip`},xe={class:`port-section`},Se={class:`port-grid`},Ce=[`onUpdate:modelValue`],we={class:`port-section development-section`},Te={class:`conversation-launcher-list`},Ee={class:`conversation-launcher-heading`},De={class:`conversation-launcher-switch`},Oe=[`onUpdate:modelValue`],ke={key:0,class:`conversation-launcher-note`},Ae={key:1,class:`conversation-launcher-fields`},je=[`onUpdate:modelValue`],Me={class:`conversation-launcher-template`},Ne=[`onUpdate:modelValue`],Pe={key:0,class:`settings-error`,role:`alert`},Fe={class:`settings-card resource-card`},Ie={class:`section-heading`},Le={key:0},Re=[`disabled`],ze={key:1,class:`settings-error`,role:`alert`},Be={class:`resource-totals`},Ve={class:`resource-breakdowns`},He={class:`resource-group`},Ue={class:`resource-group`},We={class:`resource-notes`},Ge={key:0},Ke={key:1},qe={key:4,class:`settings-error`,role:`alert`},F=C(ae({__name:`SettingsPage`,setup(ae){let C=oe(),F=s(null),I=s(null),L=s(null),R=s(!0),z=f({get:()=>C.settingsSaving,set:e=>{C.settingsSaving=e}}),B=s(!1),V=s(``),H=s(``),U=s(!1),W=null,Je=[`console`,`personalProvider`,`personalNeo4jHttp`,`personalNeo4jBolt`],G=f({get:()=>ne(),set:e=>p(e)}),K=[5,10,30,60],Ye=ce,Xe=f(()=>[{value:`zh-CN`,label:l(`settings.behavior.zh`)},{value:`en-US`,label:l(`settings.behavior.en`)}]),Ze=f(()=>K.map(e=>({value:String(e),label:l(`settings.resources.refreshUnit`,{seconds:e})}))),Qe=f(()=>[{value:`native`,label:l(`settings.behavior.runtimeModes.native`)},{value:`container`,label:l(`settings.behavior.runtimeModes.container`)}]),$e=f(()=>[{value:`any`,label:l(`settings.conversationLaunchers.idFormats.any`)},{value:`uuid`,label:l(`settings.conversationLaunchers.idFormats.uuid`)}]),et=f(()=>C.state?.capturePolicy?.enabled!==!1),tt=f(()=>C.state?.agentAccessPolicy?.enabled!==!1),nt=f(()=>Math.max(1,...L.value?.memory.components.map(({bytes:e})=>e)??[1])),rt=f(()=>Math.max(1,...L.value?.disk.components.map(({bytes:e})=>e)??[1])),it=f(()=>I.value?.graphRuntimeMode===`container`&&Number.isFinite(L.value?.memory.hostTotalBytes)&&Number(L.value?.memory.hostTotalBytes)<=16*1024**3);te(async()=>{C.runtimeStatus===`idle`&&C.refresh(),await Promise.all([at(),q()]),R.value=!1}),e(Y),a(()=>I.value?.resourceRefreshSeconds,()=>J());async function at(){try{let e=await x(`/api/system/settings`);F.value=e,I.value={...structuredClone(e.configured),conversationLaunchers:D(e.configured.conversationLaunchers)},E(e.configured.conversationLaunchers),V.value=``}catch(e){V.value=e instanceof Error?e.message:l(`settings.loadError`)}}async function q(){if(!(B.value||document.visibilityState===`hidden`)){B.value=!0;try{L.value=await x(`/api/system/resources`),H.value=``}catch(e){H.value=e instanceof Error?e.message:l(`settings.resources.unavailable`)}finally{B.value=!1}}}async function ot(){if(!(!I.value||z.value)){z.value=!0,U.value=!1;try{let e=await se(`/api/system/settings`,I.value);F.value=e,I.value={...structuredClone(e.configured),conversationLaunchers:D(e.configured.conversationLaunchers)},E(e.configured.conversationLaunchers),U.value=!0,V.value=``,window.setTimeout(()=>{U.value=!1},2400)}catch(e){V.value=e instanceof Error?e.message:l(`settings.saveError`)}finally{z.value=!1}}}function J(){Y();let e=I.value?.resourceRefreshSeconds;e&&(W=setInterval(()=>void q(),e*1e3))}function Y(){W&&clearInterval(W),W=null}function st(e){C.updateCapturePolicy(e.currentTarget.checked)}function ct(e){C.updateAgentAccessPolicy(e.currentTarget.checked)}function lt(e){(e===`zh-CN`||e===`en-US`)&&p(e)}function ut(e){let t=K.find(t=>String(t)===e);t===void 0||!I.value||(I.value.resourceRefreshSeconds=t)}function dt(e){!I.value||e!==`native`&&e!==`container`||(I.value.graphRuntimeMode=e)}function ft(e){let t=l(`settings.conversationLaunchers.applications.${e}`);return t===`settings.conversationLaunchers.applications.${e}`?le(e):t}function pt(e){return F.value?.active.ports[e]??`—`}function X(e){let t=`settings.resources.components.${e.id.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}`;return ie.global.te(t)?l(t):e.label}function Z(e){if(!Number.isFinite(e))return`—`;let t=Number(e),n=[`B`,`KiB`,`MiB`,`GiB`,`TiB`],r=t,i=0;for(;r>=1024&&i<n.length-1;)r/=1024,i+=1;let a=i===0||r>=100?0:r>=10?1:2;return`${r.toFixed(a)} ${n[i]}`}function Q(e,t){return`${Math.max(3,Math.round(e/t*100))}%`}function $(e){return e?new Intl.DateTimeFormat(G.value,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}).format(new Date(e)):`—`}function mt(e){let t=e.target.closest(`details`);for(;t;)t.open=!0,t=t.parentElement?.closest(`details`)??null}return(e,a)=>(r(),u(`section`,{class:`view settings-view`,"aria-label":_(l)(`settings.aria`)},[c(`div`,de,[z.value?(r(),y(S,{key:0,variant:`inline`,label:_(l)(`settings.saving`)},null,8,[`label`])):b(``,!0),U.value||F.value?.restartRequired?(r(),u(`div`,fe,[U.value?(r(),u(`strong`,pe,m(_(l)(`settings.saved`)),1)):b(``,!0),F.value?.restartRequired?(r(),u(`span`,me,m(_(l)(`settings.restartCopy`)),1)):b(``,!0)])):b(``,!0),R.value&&!I.value?(r(),y(S,{key:2,variant:`compact`,label:_(l)(`settings.loading`)},null,8,[`label`])):b(``,!0),I.value?(r(),u(`form`,{key:3,id:`settings-form`,class:`settings-form`,"aria-busy":z.value,onSubmit:re(ot,[`prevent`]),onInvalidCapture:mt},[c(`fieldset`,{class:`settings-fields`,disabled:z.value},[c(`section`,_e,[c(`h3`,null,m(_(l)(`settings.behavior.title`)),1),c(`div`,ve,[c(`label`,ye,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.capture`)),1),c(`small`,null,m(_(l)(`settings.behavior.captureMeta`)),1)]),c(`input`,{type:`checkbox`,role:`switch`,checked:et.value,onChange:st},null,40,O)]),c(`label`,k,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.agentAccess`)),1),c(`small`,null,m(_(l)(`settings.behavior.agentAccessMeta`)),1)]),c(`input`,{type:`checkbox`,role:`switch`,checked:tt.value,onChange:ct},null,40,A)]),c(`label`,j,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.lanAccess`)),1),c(`small`,null,m(_(l)(`settings.behavior.lanAccessMeta`)),1)]),o(c(`input`,{"onUpdate:modelValue":a[0]||=e=>I.value.lanAccess=e,type:`checkbox`,role:`switch`},null,512),[[d,I.value.lanAccess]])]),c(`div`,M,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.runtimeMode`)),1),c(`small`,null,m(it.value?_(l)(`settings.behavior.runtimeRecommendation`):_(l)(`settings.behavior.runtimeModeMeta`,{mode:_(l)(`settings.behavior.runtimeModes.${F.value?.active.graphRuntimeMode??I.value.graphRuntimeMode}`)})),1)]),n(w,{class:`settings-select`,"control-id":`settings-runtime-mode`,"model-value":I.value.graphRuntimeMode,options:Qe.value,label:_(l)(`settings.behavior.runtimeMode`),"onUpdate:modelValue":dt},null,8,[`model-value`,`options`,`label`])]),c(`div`,N,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.language`)),1)]),n(w,{class:`settings-select`,"control-id":`settings-language`,"model-value":G.value,options:Xe.value,label:_(l)(`settings.behavior.language`),"onUpdate:modelValue":lt},null,8,[`model-value`,`options`,`label`])]),c(`div`,P,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.resources.refresh`)),1)]),n(w,{class:`settings-select`,"control-id":`settings-refresh-interval`,"model-value":String(I.value.resourceRefreshSeconds),options:Ze.value,label:_(l)(`settings.resources.refresh`),"onUpdate:modelValue":ut},null,8,[`model-value`,`options`,`label`])])])]),n(T,{class:`settings-card ports-card`,title:_(l)(`settings.ports.title`)},{default:t(()=>[F.value?.restartRequired?(r(),u(`span`,be,m(_(l)(`settings.restartRequired`)),1)):b(``,!0),c(`div`,xe,[c(`h4`,null,m(_(l)(`settings.ports.personal`)),1),c(`div`,Se,[(r(),u(h,null,i(Je,e=>c(`label`,{key:e},[c(`span`,null,m(_(l)(`settings.ports.${e}`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.ports[e]=t,type:`number`,min:`1`,max:`65535`,required:``},null,8,Ce),[[v,I.value.ports[e],void 0,{number:!0}]]),c(`small`,null,m(_(l)(`settings.ports.active`,{port:pt(e)})),1)])),64))])]),c(`div`,we,[c(`div`,null,[c(`h4`,null,m(_(l)(`settings.ports.development`)),1),c(`span`,null,m(_(l)(`settings.ports.developing`)),1)]),c(`p`,null,m(_(l)(`settings.ports.developmentMeta`)),1)])]),_:1},8,[`title`]),n(T,{id:`conversation-launchers`,class:`settings-card conversation-launcher-card`,title:_(l)(`settings.conversationLaunchers.title`)},{default:t(()=>[c(`div`,Te,[(r(!0),u(h,null,i(_(Ye),e=>(r(),u(`article`,{key:e,class:`conversation-launcher-row`},[c(`div`,Ee,[c(`span`,null,[c(`strong`,null,m(ft(e)),1),c(`small`,null,m(_(l)(`settings.conversationLaunchers.sourceId`,{id:e})),1)]),c(`label`,De,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.enabled`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].enabled=t,type:`checkbox`,role:`switch`},null,8,Oe),[[d,I.value.conversationLaunchers[e].enabled]])])]),I.value.conversationLaunchers[e].enabled&&e===`codex`?(r(),u(`small`,ke,m(_(l)(`settings.conversationLaunchers.idFormatMeta`)),1)):b(``,!0),I.value.conversationLaunchers[e].enabled?(r(),u(`div`,Ae,[c(`label`,null,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.idFormat`)),1),n(w,{modelValue:I.value.conversationLaunchers[e].idFormat,"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].idFormat=t,class:`launcher-select`,"control-id":`settings-conversation-${e}-id-format`,options:$e.value,label:_(l)(`settings.conversationLaunchers.idFormat`)},null,8,[`modelValue`,`onUpdate:modelValue`,`control-id`,`options`,`label`])]),c(`label`,null,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.appName`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].appName=t,type:`text`,maxlength:`64`,required:``},null,8,je),[[v,I.value.conversationLaunchers[e].appName,void 0,{trim:!0}]])]),c(`label`,Me,[c(`span`,null,[ee(m(_(l)(`settings.conversationLaunchers.urlTemplate`))+` `,1),a[1]||=c(`small`,null,[c(`code`,null,`{id}`)],-1)]),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].urlTemplate=t,type:`text`,maxlength:`1024`,spellcheck:`false`,required:``},null,8,Ne),[[v,I.value.conversationLaunchers[e].urlTemplate,void 0,{trim:!0}]])])])):b(``,!0)]))),128))])]),_:1},8,[`title`])],8,ge),V.value?(r(),u(`p`,Pe,m(V.value),1)):b(``,!0)],40,he)):b(``,!0),c(`section`,Fe,[c(`header`,Ie,[c(`div`,null,[c(`h3`,null,m(_(l)(`settings.resources.title`)),1),L.value?(r(),u(`p`,Le,m(_(l)(`settings.resources.measuredAt`,{time:$(L.value.sampledAt)})),1)):b(``,!0)]),c(`button`,{class:`quiet-button`,type:`button`,disabled:B.value,onClick:q},m(_(l)(`common.actions.refresh`)),9,Re)]),B.value?(r(),y(S,{key:0,variant:L.value?`inline`:`compact`,label:_(l)(`settings.resources.loading`)},null,8,[`variant`,`label`])):b(``,!0),H.value?(r(),u(`p`,ze,m(H.value),1)):L.value?(r(),u(h,{key:2},[c(`div`,Be,[c(`article`,null,[c(`span`,null,m(_(l)(`settings.resources.memory`)),1),c(`strong`,null,m(Z(L.value.memory.usedBytes)),1),c(`small`,null,m(_(l)(`settings.resources.available`,{value:Z(L.value.memory.hostFreeBytes)})),1)]),c(`article`,null,[c(`span`,null,m(_(l)(`settings.resources.disk`)),1),c(`strong`,null,m(Z(L.value.disk.usedBytes)),1),c(`small`,null,m(_(l)(`settings.resources.available`,{value:Z(L.value.disk.hostFreeBytes)})),1)])]),n(T,{title:_(l)(`ui.usageDetails`)},{default:t(()=>[c(`div`,Ve,[c(`div`,He,[c(`h4`,null,m(_(l)(`settings.resources.memory`)),1),(r(!0),u(h,null,i(L.value.memory.components,e=>(r(),u(`div`,{key:e.id,class:`resource-row`},[c(`div`,null,[c(`span`,null,m(X(e)),1),c(`strong`,null,m(Z(e.bytes)),1)]),c(`i`,null,[c(`b`,{style:g({width:Q(e.bytes,nt.value)})},null,4)])]))),128))]),c(`div`,Ue,[c(`h4`,null,m(_(l)(`settings.resources.disk`)),1),(r(!0),u(h,null,i(L.value.disk.components,e=>(r(),u(`div`,{key:e.id,class:`resource-row`},[c(`div`,null,[c(`span`,null,m(X(e)),1),c(`strong`,null,m(Z(e.bytes)),1)]),c(`i`,null,[c(`b`,{style:g({width:Q(e.bytes,rt.value)})},null,4)])]))),128))])]),c(`div`,We,[c(`span`,null,m(_(l)(`settings.resources.diskMeasuredAt`,{time:$(L.value.disk.measuredAt)})),1),L.value.status===`partial`?(r(),u(`span`,Ge,m(_(l)(`settings.resources.partial`)),1)):b(``,!0),L.value.disk.temporaryBytes?(r(),u(`span`,Ke,m(_(l)(`settings.resources.temporary`,{value:Z(L.value.disk.temporaryBytes)})),1)):b(``,!0),c(`span`,null,m(_(l)(L.value.exclusions.includes(`shared-container-vm-overhead`)?`settings.resources.exclusionsContainer`:`settings.resources.exclusionsNative`)),1)])]),_:1},8,[`title`])],64)):b(``,!0)]),!R.value&&!I.value?(r(),u(`p`,qe,m(V.value||_(l)(`settings.loadError`)),1)):b(``,!0)])],8,ue))}}),[[`__scopeId`,`data-v-76e64a51`]]);export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.settings-fields[data-v-76e64a51]{border:0;min-width:0;margin:0;padding:0;display:contents}.settings-view[data-v-76e64a51]{background:var(--color-bg);padding-top:24px}.settings-content[data-v-76e64a51]{gap:18px;width:min(1120px,100%);margin:0 auto;display:grid}.settings-form[data-v-76e64a51]{gap:18px;display:grid}.settings-card[data-v-76e64a51]{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:26px}.section-heading[data-v-76e64a51]{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.settings-card h3[data-v-76e64a51]{color:var(--color-ink);font-size:16px}.section-heading p[data-v-76e64a51]{color:var(--color-muted);margin-top:5px;font-size:12px}.resource-totals[data-v-76e64a51]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.resource-totals article[data-v-76e64a51]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:center;gap:7px;min-height:126px;padding:20px 22px;display:grid}.resource-totals span[data-v-76e64a51]{color:var(--color-muted);font-size:12px}.resource-totals strong[data-v-76e64a51]{color:var(--color-ink);letter-spacing:-.04em;font-size:clamp(25px,3vw,34px)}.resource-totals small[data-v-76e64a51]{color:var(--color-muted);font-size:12px}.resource-breakdowns[data-v-76e64a51]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:26px;display:grid}.resource-group[data-v-76e64a51]{gap:13px;display:grid}.resource-group h4[data-v-76e64a51],.port-section h4[data-v-76e64a51]{color:var(--color-ink);font-size:12px}.resource-row[data-v-76e64a51]{gap:6px;display:grid}.resource-row>div[data-v-76e64a51]{color:var(--color-muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.resource-row strong[data-v-76e64a51]{color:var(--color-ink);font-weight:650}.resource-row i[data-v-76e64a51]{background:var(--color-surface-subtle);border-radius:999px;height:5px;overflow:hidden}.resource-row b[data-v-76e64a51]{border-radius:inherit;background:var(--color-muted);height:100%;display:block}.resource-group:last-child .resource-row b[data-v-76e64a51]{background:var(--color-muted)}.resource-notes[data-v-76e64a51]{color:var(--color-muted);flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:12px;display:flex}.restart-chip[data-v-76e64a51]{border:1px solid var(--color-warning);color:var(--color-warning);background:var(--color-warning-soft);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.port-section[data-v-76e64a51]{gap:13px;display:grid}.port-section+.port-section[data-v-76e64a51]{border-top:1px solid var(--color-border);margin-top:25px;padding-top:22px}.development-section>div[data-v-76e64a51]{align-items:center;gap:9px;display:flex}.development-section>div>span[data-v-76e64a51]{color:var(--color-warning);background:var(--color-warning-soft);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.development-section>p[data-v-76e64a51]{color:var(--color-muted);font-size:12px}.port-grid[data-v-76e64a51]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.port-grid label[data-v-76e64a51]{color:var(--color-muted);gap:7px;font-size:12px;display:grid}.port-grid input[data-v-76e64a51]{width:100%}.port-grid small[data-v-76e64a51]{color:var(--color-muted);font-size:12px}.behavior-card>h3[data-v-76e64a51],.conversation-launcher-card>h3[data-v-76e64a51]{margin-bottom:14px}.conversation-launcher-list[data-v-76e64a51]{display:grid}.conversation-launcher-row[data-v-76e64a51]{border-top:1px solid var(--color-border);padding:16px 0}.conversation-launcher-row[data-v-76e64a51]:first-child{border-top:0}.conversation-launcher-heading[data-v-76e64a51]{justify-content:space-between;align-items:center;gap:20px;min-height:34px;display:flex}.conversation-launcher-heading>span[data-v-76e64a51]{gap:4px;display:grid}.conversation-launcher-heading strong[data-v-76e64a51]{color:var(--color-ink);font-size:12px}.conversation-launcher-heading small[data-v-76e64a51]{color:var(--color-muted);font-size:12px}.conversation-launcher-switch[data-v-76e64a51]{color:var(--color-muted);align-items:center;gap:9px;font-size:12px;display:flex}.conversation-launcher-switch input[role=switch][data-v-76e64a51]{margin:0}.conversation-launcher-note[data-v-76e64a51]{max-width:760px;color:var(--color-muted);margin-top:9px;font-size:12px;line-height:1.45;display:block}.conversation-launcher-fields[data-v-76e64a51]{grid-template-columns:minmax(150px,.7fr) minmax(160px,.8fr) minmax(280px,1.5fr);align-items:start;gap:12px;margin-top:14px;display:grid}.conversation-launcher-fields>label[data-v-76e64a51]{min-width:0;color:var(--color-muted);grid-template-rows:18px 40px;align-content:start;gap:7px;font-size:12px;display:grid}.conversation-launcher-fields>label>span[data-v-76e64a51]{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:18px;display:block;overflow:hidden}.conversation-launcher-fields code[data-v-76e64a51]{color:var(--color-muted);font-size:12px}.conversation-launcher-fields[data-v-76e64a51] .launcher-select{width:100%;min-width:0;height:40px}.conversation-launcher-fields input[data-v-76e64a51]{width:100%}.setting-list[data-v-76e64a51]{display:grid}.setting-row[data-v-76e64a51]{border-top:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.setting-row[data-v-76e64a51]:first-child{border-top:0}.setting-row>span[data-v-76e64a51]{gap:4px;display:grid}.setting-row strong[data-v-76e64a51]{color:var(--color-ink);font-size:14px}.setting-row small[data-v-76e64a51]{color:var(--color-muted);font-size:12px}.setting-row input[role=switch][data-v-76e64a51],.conversation-launcher-switch input[role=switch][data-v-76e64a51]{appearance:none;background:var(--color-muted);cursor:pointer;border-radius:999px;width:38px;height:21px;transition:background .18s;position:relative}.setting-row input[role=switch][data-v-76e64a51]:after,.conversation-launcher-switch input[role=switch][data-v-76e64a51]:after{content:"";background:var(--color-surface);border-radius:50%;width:17px;height:17px;transition:transform .18s;position:absolute;top:50%;left:2px;transform:translateY(-50%);box-shadow:0 0 4px #0000002e}.setting-row input[role=switch][data-v-76e64a51]:checked,.conversation-launcher-switch input[role=switch][data-v-76e64a51]:checked{background:var(--color-accent)}.setting-row input[role=switch][data-v-76e64a51]:checked:after,.conversation-launcher-switch input[role=switch][data-v-76e64a51]:checked:after{transform:translate(17px,-50%)}.select-row .settings-select[data-v-76e64a51]{width:180px;min-width:0}.settings-top-status[data-v-76e64a51]{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 4px 2px;font-size:12px;display:flex}.settings-top-status strong[data-v-76e64a51]{color:var(--color-muted);font-weight:700}.settings-error[data-v-76e64a51]{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-surface);padding:11px 13px;font-size:12px}@media (width<=900px){.port-grid[data-v-76e64a51],.conversation-launcher-fields[data-v-76e64a51]{grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-launcher-template[data-v-76e64a51]{grid-column:1/-1}}@media (width<=680px){.settings-card[data-v-76e64a51]{padding:20px}.resource-totals[data-v-76e64a51],.resource-breakdowns[data-v-76e64a51],.port-grid[data-v-76e64a51],.conversation-launcher-fields[data-v-76e64a51]{grid-template-columns:1fr}.conversation-launcher-template[data-v-76e64a51]{grid-column:auto}.select-row[data-v-76e64a51]{flex-direction:column;align-items:flex-start;padding:14px 0}.select-row .settings-select[data-v-76e64a51]{width:100%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{M as e,R as t,X as n,_ as r,a as i,b as a,g as o,it as s,m as c,tt as l,v as u,w as d,y as f}from"./i18n-CCMR4gDS.js";import{o as p}from"./client-CUTkF3t4.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as h}from"./useApi-CROJJdhE-DlOiu8lP.js";import{i as g,n as _,t as v}from"./shared-report-B46dxlCR.js";var y={class:`shared-jefa-report`},b={key:1,class:`report-state`,role:`alert`},x={key:0,class:`report-warning`},S={key:1,class:`report-state`,role:`status`},C=m(d({__name:`SharedJefaReportPage`,setup(d){let m=h(),C=n([]),w=n([]),T=n(!1),E=n(0),D=n(``),O=o(()=>C.value.reduce((e,t)=>e+t.items.length,0)),k=o(()=>m.fullPath.includes(`#`)?m.fullPath.slice(m.fullPath.indexOf(`#`)):m.hash),A=0;t(k,()=>{j()},{immediate:!0});async function j(){let e=++A;C.value=[],D.value=``,E.value=0,T.value=!0;try{let t=_(k.value),n=await Promise.allSettled(t.map(v));if(e!==A)return;C.value=n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]),w.value=C.value.map(e=>e.project.id),E.value=n.filter(e=>e.status===`rejected`).length,C.value.length||(D.value=i(`employees.share.unavailable`))}catch{e===A&&(D.value=i(`employees.share.unavailable`))}finally{e===A&&(T.value=!1)}}return(t,n)=>(e(),a(`main`,y,[r(`header`,null,[n[1]||=r(`strong`,null,`Jefa`,-1),r(`h1`,null,s(l(i)(`employees.share.title`)),1),r(`span`,null,s(l(i)(`employees.share.readOnly`)),1)]),T.value?(e(),u(p,{key:0,label:l(i)(`employees.loadingReport`)},null,8,[`label`])):D.value?(e(),a(`div`,b,[r(`p`,null,s(D.value),1),r(`button`,{type:`button`,onClick:j},s(l(i)(`employees.retry`)),1)])):(e(),a(c,{key:2},[E.value?(e(),a(`p`,x,s(l(i)(`employees.share.unavailableCount`,{count:E.value})),1)):f(``,!0),O.value?(e(),u(g,{key:2,"visible-project-ids":w.value,"onUpdate:visibleProjectIds":n[0]||=e=>w.value=e,boards:C.value.filter(e=>w.value.includes(e.project.id)),projects:C.value.map(e=>e.project),"failed-projects":0,"can-move-tasks":!1,"read-only":``,onRetry:j},null,8,[`visible-project-ids`,`boards`,`projects`])):(e(),a(`div`,S,[r(`h2`,null,s(l(i)(`employees.shareContent.emptyTitle`)),1),r(`p`,null,s(l(i)(`employees.shareContent.emptyReport`,{count:C.value.length})),1),r(`button`,{type:`button`,onClick:j},s(l(i)(`common.actions.refresh`)),1)]))],64))]))}}),[[`__scopeId`,`data-v-79d38b0c`]]);export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,F as n,I as r,L as i,M as a,R as o,X as s,_ as c,a as l,b as u,it as d,k as f,nt as p,p as m,tt as h,v as g,w as _,y as v}from"./i18n-CCMR4gDS.js";import{o as y}from"./client-CUTkF3t4.js";var b=[`type`,`disabled`,`aria-busy`],x=_({__name:`UiButton`,props:{variant:{default:`default`},size:{default:`md`},type:{default:`button`},busy:{type:Boolean,default:!1},busyLabel:{default:``},disabled:{type:Boolean,default:!1},icon:{type:Boolean,default:!1}},setup(e){return(t,r)=>(a(),u(`button`,{type:e.type,class:p([`ui-button`,[`ui-button--${e.variant}`,{"ui-button--sm":e.size===`sm`,"ui-button--icon":e.icon}]]),disabled:e.disabled||e.busy,"aria-busy":e.busy||void 0},[e.busy?(a(),g(y,{key:0,variant:`inline`,label:e.busyLabel},null,8,[`label`])):n(t.$slots,`default`,{},void 0,void 0,1)],10,b))}}),S=[`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`a[href]`,`[contenteditable="true"]`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function C(t,n){let r=s(null),i=s(null),a=null,c=0;o(t,e=>{let n=++c;if(e){a=document.activeElement instanceof HTMLElement?document.activeElement:null,f().then(()=>{if(n!==c||!t())return;let e=r.value;if(!e)return;e.open||e.showModal();let a=e.querySelector(`.ui-dialog__body`);(i.value??e.querySelector(`[autofocus]`)??(a?w(a)[0]:void 0)??w(e)[0])?.focus({preventScroll:!0})});return}let o=r.value;o?.open&&o.close(),l(n)},{immediate:!0}),e(()=>{c+=1;let e=r.value;e?.open&&e.close();let t=a;a=null,t?.isConnected&&t.focus({preventScroll:!0})});function l(e){let t=a;a=null,f().then(()=>{e!==c||!t?.isConnected||t.focus({preventScroll:!0})})}function u(e){e.preventDefault(),n()}function d(e){if(e.key!==`Tab`)return;let t=r.value;if(!t)return;let n=w(t);if(!n.length){e.preventDefault(),t.focus({preventScroll:!0});return}let i=n[0],a=n.at(-1)??i,o=document.activeElement;e.shiftKey&&(o===i||!t.contains(o))?(e.preventDefault(),a.focus({preventScroll:!0})):!e.shiftKey&&(o===a||!t.contains(o))&&(e.preventDefault(),i.focus({preventScroll:!0}))}return{dialogRef:r,initialFocusRef:i,onCancel:u,onKeydown:d}}function w(e){return[...e.querySelectorAll(S)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}var T=[`aria-busy`],E={class:`ui-dialog__header`},D={key:0},O=[`disabled`,`aria-label`],k={class:`ui-dialog__body`},A={key:0,class:`ui-dialog__error`,role:`alert`},j={key:0,class:`ui-dialog__footer`},M=_({__name:`UiDialog`,props:{open:{type:Boolean},title:{},description:{default:void 0},size:{default:`md`},busy:{type:Boolean,default:!1},form:{type:Boolean,default:!1},error:{default:``}},emits:[`close`,`submit`],setup(e,{expose:o,emit:s}){let f=e,_=s,y=`ui-dialog-${i().replace(/[^A-Za-z0-9_-]/g,``)}`,{dialogRef:b,initialFocusRef:x,onCancel:S,onKeydown:w}=C(()=>f.open,M);function M(){f.busy||_(`close`)}return o({initialFocusRef:x}),(i,o)=>e.open?(a(),u(`dialog`,{key:0,ref_key:`dialogRef`,ref:b,class:p([`ui-dialog`,`ui-dialog--${e.size}`]),"aria-modal":`true`,"aria-labelledby":y,"aria-busy":e.busy||void 0,onCancel:o[1]||=(...e)=>h(S)&&h(S)(...e),onKeydown:o[2]||=(...e)=>h(w)&&h(w)(...e)},[(a(),g(r(e.form?`form`:`div`),{class:`ui-dialog__shell`,onSubmit:o[0]||=m(e=>_(`submit`),[`prevent`])},{default:t(()=>[c(`header`,E,[c(`div`,null,[c(`h2`,{id:y},d(e.title),1),e.description?(a(),u(`p`,D,d(e.description),1)):v(``,!0)]),c(`button`,{class:`ui-button ui-button--ghost ui-button--icon ui-button--sm`,type:`button`,disabled:e.busy,"aria-label":h(l)(`common.actions.close`),onClick:M},[...o[3]||=[c(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`},[c(`path`,{d:`m4 4 8 8M12 4l-8 8`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1)]],8,O)]),c(`div`,k,[e.error?(a(),u(`p`,A,d(e.error),1)):v(``,!0),n(i.$slots,`default`)]),i.$slots.footer?(a(),u(`footer`,j,[n(i.$slots,`footer`)])):v(``,!0)]),_:3},32))],42,T)):v(``,!0)}});export{x as n,M as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,M as t,S as n,_ as r,b as i,it as a,w as o}from"./i18n-CCMR4gDS.js";var s=[`open`],c=o({__name:`UiDisclosure`,props:{title:{},open:{type:Boolean,default:!1}},setup(o){return(c,l)=>(t(),i(`details`,{class:`ui-disclosure`,open:o.open},[r(`summary`,null,[n(a(o.title),1),e(c.$slots,`summary`)]),e(c.$slots,`default`)],8,s))}});export{c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{M as e,P as t,S as n,b as r,it as i,m as a,w as o,y as s}from"./i18n-CCMR4gDS.js";var c=[`aria-label`],l=[`aria-pressed`,`onClick`],u={key:0},d=o({__name:`UiSegmented`,props:{modelValue:{},options:{},label:{}},emits:[`update:modelValue`],setup(o){return(d,f)=>(e(),r(`div`,{class:`ui-segmented`,role:`group`,"aria-label":o.label},[(e(!0),r(a,null,t(o.options,t=>(e(),r(`button`,{key:t.value,type:`button`,"aria-pressed":t.value===o.modelValue,onClick:e=>d.$emit(`update:modelValue`,t.value)},[n(i(t.label),1),t.count===void 0?s(``,!0):(e(),r(`small`,u,i(t.count),1))],8,l))),128))],8,c))}});export{d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ui-select[data-v-3a363c0e]{min-width:0;position:relative}.ui-select__native[data-v-3a363c0e]{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ui-select__trigger[data-v-3a363c0e]{width:100%;min-height:var(--control-height);border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);align-items:center;gap:8px;padding:6px 10px 6px 12px;font-size:14px;display:flex}.ui-select--sm .ui-select__trigger[data-v-3a363c0e]{min-height:var(--control-height-sm);padding-block:3px;font-size:13px}.ui-select__trigger[data-v-3a363c0e]:hover:not(:disabled){border-color:var(--color-border-strong)}.is-open .ui-select__trigger[data-v-3a363c0e]{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.ui-select__trigger[data-v-3a363c0e]:disabled{color:var(--color-muted);background:var(--color-surface-subtle)}.ui-select__value[data-v-3a363c0e]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-select__value.is-placeholder[data-v-3a363c0e]{color:var(--color-faint)}.ui-select__chevron[data-v-3a363c0e]{color:var(--color-muted);transition:transform var(--motion-fast);flex:none}.is-open .ui-select__chevron[data-v-3a363c0e]{transform:rotate(180deg)}.ui-select__panel[data-v-3a363c0e]{z-index:60;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);max-height:300px;box-shadow:var(--shadow-popover);animation:ui-select-in-3a363c0e .12s var(--motion-ease);flex-direction:column;padding:4px;display:flex;position:fixed}@keyframes ui-select-in-3a363c0e{0%{opacity:0;transform:translateY(-2px)}}.ui-select__search[data-v-3a363c0e]{min-height:32px;margin:2px 2px 6px;font-size:13px}.ui-select__list[data-v-3a363c0e]{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.ui-select__option[data-v-3a363c0e]{width:100%;min-height:34px;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:14px;display:flex}.ui-select__option[data-v-3a363c0e]:hover:not(:disabled),.ui-select__option[data-v-3a363c0e]:focus-visible{background:var(--color-surface-hover);outline:none}.ui-select__option[aria-selected=true][data-v-3a363c0e]{color:var(--color-accent);font-weight:550}.ui-select__copy[data-v-3a363c0e]{flex:1;min-width:0;display:grid}.ui-select__copy>span[data-v-3a363c0e]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-select__copy small[data-v-3a363c0e]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.ui-select__check[data-v-3a363c0e]{flex:none}.ui-select__box[data-v-3a363c0e]{border:1.5px solid var(--color-control-border);border-radius:4px;flex:none;place-content:center;width:16px;height:16px;display:grid}.ui-select__option[aria-selected=true] .ui-select__box[data-v-3a363c0e]{border-color:var(--color-accent);background:var(--color-accent)}.ui-select__option[aria-selected=true] .ui-select__box[data-v-3a363c0e]:after{content:"";border:solid var(--color-on-accent);border-width:0 0 2px 2px;width:9px;height:5px;margin-top:-2px;transform:rotate(-45deg)}.ui-select__empty[data-v-3a363c0e]{color:var(--color-muted);text-align:center;padding:16px 10px;font-size:13px}.ui-select__actions[data-v-3a363c0e]{border-top:1px solid var(--color-border);justify-content:flex-end;gap:4px;margin-top:4px;padding:6px 4px 2px;display:flex}.ui-select__actions button[data-v-3a363c0e]{color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:12px}.ui-select__actions button[data-v-3a363c0e]:hover:not(:disabled){color:var(--color-ink);background:var(--color-surface-hover)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,L as t,M as n,P as r,R as i,V as a,X as o,_ as s,a as c,b as l,g as u,it as d,k as f,m as p,n as ee,nt as m,p as h,rt as g,tt as _,u as v,w as y,y as b}from"./i18n-CCMR4gDS.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";var te=[`data-select-id`],ne=[`name`,`required`,`disabled`,`multiple`],re=[`value`,`selected`],S=[`aria-expanded`,`aria-label`,`disabled`],C=[`placeholder`,`aria-label`],ie=[`aria-multiselectable`],ae=[`aria-selected`,`disabled`,`onClick`],w={key:0,class:`ui-select__box`,"aria-hidden":`true`},T={class:`ui-select__copy`},E={key:0},D={key:1,class:`ui-select__check`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},O={key:0,class:`ui-select__empty`},k={key:1,class:`ui-select__actions`},A=[`disabled`],j=x(y({__name:`UiSelect`,props:{modelValue:{},options:{},label:{},multiple:{type:Boolean,default:!1},placeholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0},controlId:{default:void 0},size:{default:`md`},field:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(y,{emit:x}){let j=y,M=x,N=o(null),P=o(null),F=o(null),I=o(null),L=o(!1),R=o(``),z=o({}),B=`${j.controlId||`ui-select-${t().replace(/[^A-Za-z0-9_-]/g,``)}`}-options`,V=u(()=>new Set(Array.isArray(j.modelValue)?j.modelValue:[j.modelValue])),H=u(()=>j.options.filter(e=>V.value.has(e.value))),U=u(()=>j.searchable??j.options.length>7),W=u(()=>{let e=H.value;return e.length?e.length===1?e[0].label:c(`common.searchableSelect.selectedCount`,{count:e.length}):j.placeholder??c(`common.searchableSelect.placeholder`)}),G=u(()=>{let e=ee(),t=R.value.trim().toLocaleLowerCase(e);return t?j.options.filter(n=>[n.label,n.value,n.meta,n.search].filter(Boolean).join(` `).toLocaleLowerCase(e).includes(t)):j.options});i(()=>j.disabled,e=>{e&&Y()}),e(()=>Q());function K(e){M(`update:modelValue`,e),M(`change`,e)}function q(e){if(j.disabled||e.disabled)return;if(!j.multiple){K(e.value),Y({restoreFocus:!0});return}let t=Array.isArray(j.modelValue)?j.modelValue:[];K(V.value.has(e.value)?t.filter(t=>t!==e.value):[...t,e.value])}function oe(){K(j.options.filter(e=>!e.disabled&&!V.value.has(e.value)).map(e=>e.value))}function se(){K([])}async function J(){j.disabled||L.value||(R.value=``,X(),L.value=!0,ce(),await f(),U.value?F.value?.focus():($().find(e=>e.getAttribute(`aria-selected`)===`true`)??$()[0])?.focus())}function Y({restoreFocus:e=!1}={}){L.value&&(L.value=!1,Q(),e&&f(()=>P.value?.focus()))}function X(){let e=P.value?.getBoundingClientRect();if(!e)return;let t=Math.max(e.width,220),n=Math.min(e.left,window.innerWidth-t-8),r=window.innerHeight-e.bottom;z.value=r<280&&e.top>r?{left:`${n}px`,width:`${t}px`,bottom:`${window.innerHeight-e.top+4}px`}:{left:`${n}px`,width:`${t}px`,top:`${e.bottom+4}px`}}function Z(e){N.value?.contains(e.target)||Y()}function ce(){document.addEventListener(`pointerdown`,Z,!0),window.addEventListener(`scroll`,X,!0),window.addEventListener(`resize`,X)}function Q(){document.removeEventListener(`pointerdown`,Z,!0),window.removeEventListener(`scroll`,X,!0),window.removeEventListener(`resize`,X)}function le(e){N.value?.contains(e.relatedTarget)||queueMicrotask(()=>{N.value?.contains(document.activeElement)||Y()})}function $(){return[...I.value?.querySelectorAll(`.ui-select__option:not(:disabled)`)??[]]}function ue(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),L.value&&e.key!==`ArrowDown`?Y():J())}function de(e){e.key===`Escape`?(e.preventDefault(),Y({restoreFocus:!0})):e.key===`ArrowDown`?(e.preventDefault(),$()[0]?.focus()):e.key===`Enter`&&(e.preventDefault(),$()[0]?.click())}function fe(e){if(e.key===`Escape`){e.preventDefault(),Y({restoreFocus:!0});return}if(e.key===`Tab`){Y();return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=$(),n=t.indexOf(e.currentTarget);t[e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?Math.min(t.length-1,n+1):Math.max(0,n-1)]?.focus()}return(e,t)=>(n(),l(`div`,{ref_key:`root`,ref:N,class:m([`ui-select`,[`ui-select--${y.size}`,{"is-open":L.value,"is-disabled":y.disabled,"ui-field":y.field}]]),"data-select-id":y.controlId,onFocusout:le},[y.field?(n(),l(`span`,{key:0,class:`ui-select__label`,onClick:t[0]||=e=>P.value?.focus()},d(y.label),1)):b(``,!0),s(`select`,{class:`ui-select__native`,name:y.name,required:y.required,disabled:y.disabled,multiple:y.multiple,tabindex:`-1`,"aria-hidden":`true`},[(n(!0),l(p,null,r(y.options,e=>(n(),l(`option`,{key:e.value,value:e.value,selected:V.value.has(e.value)},d(e.label),9,re))),128))],8,ne),s(`button`,{ref_key:`trigger`,ref:P,type:`button`,class:`ui-select__trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":L.value,"aria-controls":B,"aria-label":y.label,disabled:y.disabled,onClick:t[1]||=e=>L.value?Y():J(),onKeydown:ue},[s(`span`,{class:m([`ui-select__value`,{"is-placeholder":!H.value.length}])},d(W.value),3),t[6]||=s(`svg`,{class:`ui-select__chevron`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},[s(`path`,{d:`m3 4.5 3 3 3-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)],40,S),L.value?(n(),l(`div`,{key:1,class:`ui-select__panel`,style:g(z.value)},[U.value?a((n(),l(`input`,{key:0,ref_key:`searchInput`,ref:F,"onUpdate:modelValue":t[2]||=e=>R.value=e,class:`ui-select__search`,type:`search`,autocomplete:`off`,placeholder:_(c)(`common.searchableSelect.searchPlaceholder`),"aria-label":_(c)(`common.searchableSelect.searchAria`,{label:y.label}),onKeydown:de},null,40,C)),[[v,R.value]]):b(``,!0),s(`div`,{id:B,ref_key:`list`,ref:I,class:`ui-select__list`,role:`listbox`,"aria-multiselectable":y.multiple||void 0},[(n(!0),l(p,null,r(G.value,e=>(n(),l(`button`,{key:e.value,type:`button`,class:`ui-select__option`,role:`option`,"aria-selected":V.value.has(e.value),disabled:e.disabled,onMousedown:t[3]||=h(()=>{},[`prevent`]),onClick:t=>q(e),onKeydown:fe},[y.multiple?(n(),l(`span`,w)):b(``,!0),s(`span`,T,[s(`span`,null,d(e.label),1),e.meta?(n(),l(`small`,E,d(e.meta),1)):b(``,!0)]),!y.multiple&&V.value.has(e.value)?(n(),l(`svg`,D,[...t[7]||=[s(`path`,{d:`m2.5 6.2 2.3 2.3 4.7-5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):b(``,!0)],40,ae))),128)),G.value.length?b(``,!0):(n(),l(`p`,O,d(_(c)(`common.searchableSelect.noMatches`)),1))],8,ie),y.multiple&&y.options.length>3?(n(),l(`div`,k,[s(`button`,{type:`button`,onMousedown:t[4]||=h(()=>{},[`prevent`]),onClick:oe},d(_(c)(`common.searchableSelect.invert`)),33),s(`button`,{type:`button`,disabled:!H.value.length,onMousedown:t[5]||=h(()=>{},[`prevent`]),onClick:se},d(_(c)(`common.searchableSelect.clear`)),41,A)])):b(``,!0)],4)):b(``,!0)],42,te))}}),[[`__scopeId`,`data-v-3a363c0e`]]);export{j as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,M as r,P as i,R as a,S as o,X as s,_ as c,a as l,b as u,g as d,it as f,m as p,nt as m,tt as h,v as g,w as ee,y as _}from"./i18n-CCMR4gDS.js";import{t as te}from"./console-CG8tdtSs.js";import{n as ne,o as v}from"./client-CUTkF3t4.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./vue-router-DjqEU4W2.js";import{t as ie}from"./UiDisclosure-8wE8YuE4.js";import{i as ae,n as oe,t as se}from"./KnowledgeEditDialog-a0AKWics.js";import{u as ce,x as le}from"./model-l-sAqtW_.js";import{t as ue}from"./personal-profile-graph-BD1Y6TDS.js";var b={class:`view writing-taste-view`},de={key:2,class:`view-loading`,"aria-busy":`true`},x={key:3,class:`writing-taste-unavailable`},fe=[`role`],pe={class:`writing-taste-hero__copy`},me={class:`writing-taste-status`},S={class:`writing-taste-hero__score`,"aria-hidden":`true`},C=[`aria-label`],w={"aria-hidden":`true`},T={class:`writing-taste-rules`},E={key:0,class:`writing-taste-rule-list`},D={class:`writing-taste-rule__status`},O={key:0,class:`conflict`},k={class:`writing-taste-rule__body`},A={key:0},j={key:1},M={key:0},N={key:0,class:`writing-taste-rule__actions`},P=[`onClick`],F=[`onClick`],I={key:1,class:`writing-taste-empty`},L={key:0,class:`writing-taste-agent-preview`},R={key:0},z=y(ee({__name:`WritingTastePage`,setup(ee){let y=te(),z=s(null),B=s(null),V=s(!1),H=s(!1),U=s(null),W=s(null),G=s(!1),K=0,q=null,J=d(()=>V.value&&!z.value),Y=ae(J),X=d(()=>le(B.value)),Z=d(()=>new Map(X.value.map(e=>[`${e.itemKind}:${e.id}`,e]))),he=d(()=>z.value?.status===`active`?l(`writingTaste.page.activeTitle`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewTitle`):l(`writingTaste.page.collectingTitle`)),ge=d(()=>z.value?.status===`active`?l(`writingTaste.page.activeCopy`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewCopy`):l(`writingTaste.page.collectingCopy`));a(()=>y.activePersonalSpace?.id,e=>{z.value=null,B.value=null,U.value=null,W.value=null,G.value=!1,Q(e)},{immediate:!0,flush:`sync`});async function Q(e=y.activePersonalSpace?.id){let t=++K;if(q?.abort(),q=null,H.value=!1,!e){V.value=!1;return}let n=new AbortController;q=n,V.value=!0;try{let r=new URLSearchParams({personalSpaceId:e,limit:`500`}),[i,a]=await Promise.all([ne(`/api/writing-taste-profile?${r}`,{signal:n.signal}),ue(e,n.signal)]);if(t!==K)return;z.value=Se(i)?i:null,B.value=Ce(a)?a:null,xe()}catch{if(t!==K)return;z.value=null,B.value=null,H.value=!0}finally{t===K&&(V.value=!1,q=null)}}e(()=>{K+=1,q?.abort()});function $(e){return Z.value.get(`${e.item_kind}:${e.item_id}`)??null}function _e(e){U.value=$(e)}function ve(e){W.value=$(e)}function ye(e){if(e.preference_scope!==`project`||!e.preference_project_id)return l(`writingTaste.page.globalScope`);let t=y.state?.personalProjects?.find(({project_id:t})=>t===e.preference_project_id);return l(`writingTaste.page.projectScope`,{project:t?.profile.name??e.preference_project_id})}function be(e){return e.key===`conflicts`?l(`writingTaste.criteria.conflictsProgress`,{current:e.current}):l(`writingTaste.criteria.progress`,{current:e.current,target:e.target})}function xe(){U.value&&=Z.value.get(`${U.value.itemKind}:${U.value.id}`)??null,W.value&&=Z.value.get(`${W.value.itemKind}:${W.value.id}`)??null}function Se(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 Ce(e){if(!e||typeof e!=`object`)return!1;let t=e;return Array.isArray(t.nodes)&&Array.isArray(t.edges)}return(e,a)=>(r(),u(`section`,b,[n(h(re),{class:`writing-taste-back`,to:`/preferences`},{default:t(()=>[a[6]||=c(`span`,{"aria-hidden":`true`},`←`,-1),o(` `+f(h(l)(`writingTaste.page.back`)),1)]),_:1}),V.value&&z.value&&!h(Y)?(r(),g(v,{key:0,variant:`inline`,label:h(l)(`writingTaste.page.loading`)},null,8,[`label`])):_(``,!0),h(Y)?(r(),g(v,{key:1,label:h(l)(`writingTaste.page.loading`)},null,8,[`label`])):J.value?(r(),u(`div`,de)):z.value?(r(),u(p,{key:4},[c(`header`,{class:m([`writing-taste-hero`,`status-${z.value.status}`])},[c(`div`,pe,[c(`span`,me,[a[7]||=c(`i`,{"aria-hidden":`true`},null,-1),o(` `+f(h(l)(`writingTaste.status.${z.value.status}`)),1)]),c(`h2`,null,f(he.value),1),c(`p`,null,f(ge.value),1)]),c(`div`,S,[c(`strong`,null,f(z.value.readiness.rule_count),1),c(`span`,null,`/ `+f(z.value.readiness.thresholds.rule_count),1),c(`small`,null,f(h(l)(`writingTaste.criteria.rules`)),1)])],2),c(`section`,{class:`writing-taste-readiness`,"aria-label":h(l)(`writingTaste.page.readinessAria`)},[(r(!0),u(p,null,i(z.value.readiness.criteria,e=>(r(),u(`article`,{key:e.key,class:m({met:e.met})},[c(`span`,w,f(e.met?`✓`:`·`),1),c(`div`,null,[c(`strong`,null,f(h(l)(`writingTaste.criteria.${e.key}`)),1),c(`small`,null,f(be(e)),1)])],2))),128))],8,C),c(`section`,T,[c(`header`,null,[c(`h2`,null,f(h(l)(`writingTaste.page.rulesTitle`)),1),c(`span`,null,f(z.value.rules.length),1)]),z.value.rules.length?(r(),u(`div`,E,[(r(!0),u(p,null,i(z.value.rules,e=>(r(),u(`article`,{key:`${e.item_kind}:${e.item_id}`,class:m([`writing-taste-rule`,{"has-conflict":e.has_conflict,"is-hypothesis":e.evidence_status===`Working hypothesis`}])},[c(`div`,D,[c(`span`,{class:m(e.evidence_status.replaceAll(` `,`-`).toLowerCase())},f(h(l)(`writingTaste.evidenceStatus.${e.evidence_status}`)),3),c(`span`,null,f(ye(e)),1),e.has_conflict?(r(),u(`span`,O,f(h(l)(`writingTaste.page.conflict`)),1)):_(``,!0)]),c(`div`,k,[c(`h3`,null,f(e.title),1),c(`p`,null,f(e.instruction),1),e.reason||e.contexts.length?(r(),g(ie,{key:0,title:h(l)(`ui.details`)},{default:t(()=>[e.reason?(r(),u(`p`,A,f(e.reason),1)):_(``,!0),e.contexts.length?(r(),u(`p`,j,f(h(l)(`writingTaste.page.contexts`,{contexts:e.contexts.join(`、`)})),1)):_(``,!0)]),_:2},1032,[`title`])):_(``,!0)]),c(`footer`,null,[c(`div`,null,[c(`span`,null,f(h(l)(`writingTaste.page.evidence`,{evidence:e.evidence_count})),1),c(`span`,null,f(h(l)(`writingTaste.page.sessions`,{sessions:e.session_count})),1),e.updated_at?(r(),u(`span`,M,f(h(l)(`writingTaste.page.updated`,{time:h(ce)(e.updated_at)})),1)):_(``,!0)]),$(e)?(r(),u(`div`,N,[c(`button`,{class:`secondary-action`,type:`button`,onClick:t=>ve(e)},f(h(l)(`writingTaste.page.edit`)),9,P),e.evidence_status===`Confirmed`?_(``,!0):(r(),u(`button`,{key:0,class:`primary-action`,type:`button`,onClick:t=>_e(e)},f(h(l)(`writingTaste.page.confirm`)),9,F))])):_(``,!0)])],2))),128))])):(r(),u(`div`,I,f(h(l)(`writingTaste.page.rulesEmpty`)),1))]),z.value.ready&&z.value.agent_markdown?(r(),u(`section`,L,[c(`div`,null,[c(`h2`,null,f(h(l)(`writingTaste.page.agentPreviewTitle`)),1)]),c(`button`,{class:`secondary-action`,type:`button`,onClick:a[1]||=e=>G.value=!G.value},f(G.value?h(l)(`writingTaste.page.hideAgentPreview`):h(l)(`writingTaste.page.showAgentPreview`)),1),G.value?(r(),u(`pre`,R,f(z.value.agent_markdown),1)):_(``,!0)])):_(``,!0)],64)):(r(),u(`div`,x,[c(`p`,{role:H.value?`alert`:void 0},f(h(l)(H.value?`common.errors.loadFailed`:`writingTaste.page.profileUnavailable`)),9,fe),h(y).activePersonalSpace?(r(),u(`button`,{key:0,type:`button`,class:`secondary-action`,onClick:a[0]||=e=>Q()},f(h(l)(`common.actions.retry`)),1)):_(``,!0)])),n(se,{item:W.value,"personal-space-id":h(y).activePersonalSpace?.id??``,"personal-project-id":null,projects:h(y).state?.personalProjects??[],"replacement-items":X.value,onClose:a[2]||=e=>W.value=null,onSaved:a[3]||=e=>Q()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),n(oe,{item:U.value,"personal-space-id":h(y).activePersonalSpace?.id??``,"personal-project-id":null,onClose:a[4]||=e=>U.value=null,onSaved:a[5]||=e=>Q()},null,8,[`item`,`personal-space-id`])]))}}),[[`__scopeId`,`data-v-753ab4d9`]]);export{z as default};
|