fuli-context 0.7.6 → 0.7.8
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 +69 -13
- package/README.zh-CN.md +60 -14
- package/dist/web/assets/{AboutPage-sLV9WChi.js → AboutPage-9CVX91tr.js} +1 -1
- package/dist/web/assets/{ConnectionsPage-BWn4ywGJ.js → ConnectionsPage-CWbCVFdv.js} +1 -1
- package/dist/web/assets/EmployeeRecruitDialog-CQgNpGJ_.js +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-CfFlyKSh.css +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-CWg4WJhr.css +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-CwU4qBgD.js +1 -0
- package/dist/web/assets/KnowledgeEditDialog-B6TGAcFH.js +1 -0
- package/dist/web/assets/{KnowledgeEditDialog-DWUV_NPp.css → KnowledgeEditDialog-iv-dgUeD.css} +1 -1
- package/dist/web/assets/{KnowledgeInspector-CRQWOaos.js → KnowledgeInspector-M2pLY0bR.js} +1 -1
- package/dist/web/assets/{KnowledgeOrganizerPage-Dfj3vIpU.js → KnowledgeOrganizerPage-DzeAlk9b.js} +1 -1
- package/dist/web/assets/KnowledgePage-BJu9w0fF.js +1 -0
- package/dist/web/assets/{KnowledgeWorkspace-ChEB5Bwk.js → KnowledgeWorkspace-CCt8rnBb.js} +1 -1
- package/dist/web/assets/{OverviewPage-Cd66M0RT.js → OverviewPage-CZswVqui.js} +1 -1
- package/dist/web/assets/{PersonalProfilePage-RCFHL0Wz.js → PersonalProfilePage-f1nSF6kx.js} +1 -1
- package/dist/web/assets/PersonalProjectsPage-D__eJf0t.js +1 -0
- package/dist/web/assets/ProjectAgentsPage-C3vW6wmk.css +1 -0
- package/dist/web/assets/ProjectAgentsPage-LrwagMGj.js +11 -0
- package/dist/web/assets/{PublicProjectsPage-mstPEjHe.js → PublicProjectsPage-BdC2Qk4n.js} +1 -1
- package/dist/web/assets/{ReviewPage-6Y1SmfZy.js → ReviewPage-Cbgl8_Si.js} +1 -1
- package/dist/web/assets/SearchableSelect-ERm-k4KI.js +1 -0
- package/dist/web/assets/{SettingsPage--LdTMUm7.js → SettingsPage-DWso4x29.js} +1 -1
- package/dist/web/assets/{WritingTastePage-CIpKswvs.js → WritingTastePage-CFpCjmIY.js} +1 -1
- package/dist/web/assets/catalog-WGLn7ERJ.js +1 -0
- package/dist/web/assets/{console-BT1P2Db4.js → console-DQgu0JIA.js} +1 -1
- package/dist/web/assets/conversation-launcher-settings-0KtlG_LV.js +1 -0
- package/dist/web/assets/{i18n-js6gfc7j.js → i18n-ByRiA3pJ.js} +3 -3
- package/dist/web/assets/{identity-CfDfanpa.js → identity-CxdPRMwH.js} +1 -1
- package/dist/web/assets/index-JAZe6lfX.js +2 -0
- package/dist/web/assets/index-wcXzzggp.css +1 -0
- package/dist/web/assets/{model-DJkLAJsg.js → model-Db4-KefQ.js} +1 -1
- package/dist/web/assets/{useApi-CROJJdhE-BdSti7Y2.js → useApi-CROJJdhE-CePMjc08.js} +1 -1
- package/dist/web/assets/{vue-router-Kk67EaCP.js → vue-router-CzX-hn3P.js} +1 -1
- package/dist/web/index.html +7 -6
- package/docs/employee-agents.md +99 -0
- package/docs/project-agent-memory.md +479 -0
- package/graph-provider/fuli_graph/knowledge_audit_models.py +171 -0
- package/graph-provider/fuli_graph/model_base.py +5 -0
- package/graph-provider/fuli_graph/model_validation.py +32 -0
- package/graph-provider/fuli_graph/models.py +26 -170
- package/graph-provider/fuli_graph/project_agent_context_models.py +29 -0
- package/graph-provider/fuli_graph/project_agent_executor_models.py +35 -7
- package/graph-provider/fuli_graph/project_agent_memory_models.py +79 -0
- package/graph-provider/fuli_graph/project_agent_memory_routes.py +46 -0
- package/graph-provider/fuli_graph/project_agent_models.py +9 -0
- package/graph-provider/fuli_graph/project_agent_recruitment_values.py +48 -0
- package/graph-provider/fuli_graph/project_agent_routes.py +21 -1
- package/graph-provider/fuli_graph/project_agent_task_models.py +217 -29
- package/graph-provider/fuli_graph/runtime.py +37 -1
- package/graph-provider/fuli_graph/store.py +6 -0
- package/graph-provider/fuli_graph/store_project_agent_context.py +65 -0
- package/graph-provider/fuli_graph/store_project_agent_executor_learning.py +175 -11
- package/graph-provider/fuli_graph/store_project_agent_executor_routing.py +33 -10
- package/graph-provider/fuli_graph/store_project_agent_executors.py +181 -14
- package/graph-provider/fuli_graph/store_project_agent_memory.py +174 -0
- package/graph-provider/fuli_graph/store_project_agent_task_activity.py +423 -0
- package/graph-provider/fuli_graph/store_project_agent_task_persistence.py +152 -0
- package/graph-provider/fuli_graph/store_project_agent_task_reads.py +187 -21
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +748 -162
- package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +230 -18
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +261 -468
- package/graph-provider/fuli_graph/store_project_agents.py +214 -46
- package/graph-provider/fuli_graph/store_task_contexts.py +217 -0
- package/graph-provider/fuli_graph/store_transactions.py +40 -0
- package/graph-provider/fuli_graph/task_context_models.py +50 -0
- package/graph-provider/fuli_graph/task_context_routes.py +31 -0
- package/graph-provider/fuli_graph/workflow_observation_models.py +1 -1
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +8 -8
- package/package.json +5 -2
- package/skills/capturing-session-knowledge/SKILL.md +18 -6
- package/src/adaptive-runtime/executor-pool.js +46 -5
- package/src/adaptive-runtime/graph-services.js +10 -3
- package/src/adaptive-runtime/lease-client.js +66 -14
- package/src/adaptive-runtime/runtime-broker.js +24 -9
- package/src/agent-tools/employee-definitions.js +43 -0
- package/src/agent-tools/graph-definitions.js +25 -6
- package/src/agent-tools/graph-handlers.js +11 -0
- package/src/agent-tools/project-agent-definitions.js +35 -4
- package/src/agent-tools/project-agent-memory-definitions.js +36 -0
- package/src/agent-tools.js +6 -2
- package/src/agents/codex/lifecycle-hook.js +107 -0
- package/src/agents/codex/lifecycle-hooks.js +231 -0
- package/src/agents/cursor/lifecycle-hook.js +133 -0
- package/src/agents/cursor/lifecycle-hooks.js +50 -0
- package/src/agents/lifecycle-message.js +19 -0
- package/src/app/agent-request-context.js +23 -0
- package/src/cli/command-registry.js +2 -0
- package/src/cli/employee-command.js +17 -0
- package/src/cli/remote-mcp-command.js +282 -0
- package/src/cli/setup-command.js +5 -0
- package/src/cli/update-command.js +6 -43
- package/src/cli.js +10 -0
- package/src/employees/catalog/jefa.json +21 -0
- package/src/employees/install-package.js +77 -0
- package/src/employees/management-policy.js +88 -0
- package/src/employees/manifest.js +53 -0
- package/src/employees/package-registry.js +107 -0
- package/src/employees/project-selection.js +50 -0
- package/src/employees/recruitment.js +199 -0
- package/src/employees/service.js +83 -0
- package/src/employees/task-entry.js +39 -0
- package/src/graphiti/agent-knowledge-workflows.js +135 -25
- package/src/graphiti/federated-application.js +78 -35
- package/src/graphiti/project-agent-control-plane.js +20 -3
- package/src/graphiti/project-agent-mapping.js +155 -5
- package/src/graphiti/project-agent-memory.js +115 -0
- package/src/graphiti/project-agent-task-entry.js +126 -0
- package/src/graphiti/project-agent-workflows.js +30 -14
- package/src/graphiti/provider-client.js +66 -4
- package/src/http/api-router.js +30 -5
- package/src/http/employee-api-router.js +64 -0
- package/src/http/error-mapping.js +4 -0
- package/src/http/graph-api-router.js +2 -0
- package/src/http/request-policy.js +6 -3
- package/src/http/static-handler.js +4 -3
- package/src/mcp/create-mcp-server.js +98 -37
- package/src/mcp/direct-call.js +38 -0
- package/src/mcp/instructions.js +8 -7
- package/src/mcp/provider-task-context-registry.js +74 -0
- package/src/mcp/remote-http-server.js +761 -0
- package/src/mcp/session-id.js +29 -3
- package/src/mcp/task-context-registry.js +88 -29
- package/src/mcp/tool-annotations.js +10 -2
- package/src/mcp/tool-result.js +8 -3
- package/src/mcp-server.js +20 -8
- package/src/native-runtime/runtime.js +58 -8
- package/src/semantic-version.js +42 -0
- package/src/server.js +76 -28
- package/src/setup/agent-installation-status.js +38 -6
- package/src/setup/agents.js +20 -8
- package/src/setup/claude-code-config.js +55 -13
- package/src/setup/codex-bootstrap.js +11 -10
- package/src/setup/codex-config.js +74 -7
- package/src/setup/config-backup.js +18 -2
- package/src/setup/cursor-config.js +22 -5
- package/src/setup/setup.js +30 -22
- package/src/storage/json-file.js +11 -3
- package/src/system/package-version-checker.js +72 -0
- package/src/system/system-service.js +3 -0
- package/dist/web/assets/KnowledgeEditDialog-CZ5ziPrD.js +0 -1
- package/dist/web/assets/KnowledgePage-BRYC9S5Y.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-DEh8XWby.js +0 -1
- package/dist/web/assets/ProjectAgentsPage-Crh7PrXa.css +0 -1
- package/dist/web/assets/ProjectAgentsPage-DPnaH-TR.js +0 -11
- package/dist/web/assets/SearchableSelect-D3HM8YF8.js +0 -1
- package/dist/web/assets/conversation-launcher-settings-DrJEotdf.js +0 -1
- package/dist/web/assets/index-BnH5mcZx.css +0 -1
- package/dist/web/assets/index-GqJf1xqg.js +0 -2
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,C as n,D as r,L as i,N as a,O as o,P as s,S as c,Y as l,_ as u,a as d,d as f,et as p,g as m,h,j as g,k as _,l as v,m as y,n as b,p as x,rt as S,s as C,tt as w,u as T,v as E,x as D,y as O,z as k}from"./i18n-js6gfc7j.js";import{a as A,i as j,n as M,o as ee,r as N,t as te}from"./console-BT1P2Db4.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ne}from"./SearchableSelect-D3HM8YF8.js";var F=[`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 re(e,t){let n=l(null),r=l(null),a=null,s=0;i(e,t=>{let i=++s;if(t){a=document.activeElement instanceof HTMLElement?document.activeElement:null,o().then(()=>{if(i!==s||!e())return;let t=n.value;t&&(t.open||t.showModal(),(r.value??I(t)[0])?.focus({preventScroll:!0}))});return}let l=n.value;l?.open&&l.close(),c(i)},{immediate:!0}),_(()=>{s+=1;let e=n.value;e?.open&&e.close();let t=a;a=null,t?.isConnected&&t.focus({preventScroll:!0})});function c(e){let t=a;a=null,o().then(()=>{e!==s||!t?.isConnected||t.focus({preventScroll:!0})})}function u(e){e.preventDefault(),t()}function d(e){if(e.key!==`Tab`)return;let t=n.value;if(!t)return;let r=I(t);if(!r.length){e.preventDefault(),t.focus({preventScroll:!0});return}let i=r[0],a=r.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:n,initialFocusRef:r,onCancel:u,onKeydown:d}}function I(e){return[...e.querySelectorAll(F)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}var L={class:`project-agent-assignment-dialog-header`},ie={id:`project-agent-assignment-dialog-title`},R=[`disabled`],z={class:`project-agent-assignment-dialog-fields`},B={key:0},V={key:1},H=[`value`],ae={key:2},U={key:3,class:`project-agent-assignment-wide-field`},oe=[`disabled`],se={key:4},ce=[`disabled`],le={key:5},ue=[`disabled`,`placeholder`],de={class:`project-agent-assignment-wide-field`},fe=[`disabled`,`placeholder`],pe={key:0,class:`project-agent-assignment-dialog-error`,role:`alert`},me={class:`project-agent-assignment-dialog-actions`},he=[`disabled`],W=[`disabled`],ge=P(n({__name:`AgentAssignmentDialog`,props:{open:{type:Boolean},agent:{},assignment:{default:null},action:{default:`assign`},projects:{},availableAgents:{default:()=>[]},defaultProjectId:{default:null}},emits:[`close`,`saved`,`changed`],setup(e,{emit:n}){let r=e,a=n,o=l(``),s=l(``),u=l(``),f=l(``),_=l(``),v=l(``),y=l(!1),b=l(``),{dialogRef:C,initialFocusRef:w,onCancel:D,onKeydown:k}=re(()=>r.open,()=>a(`close`)),j=h(()=>r.action!==`assign`),M=h(()=>r.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id}))),ee=h(()=>r.availableAgents.filter(e=>e.agentId!==r.agent?.agentId&&e.profile.status===`active`).map(e=>({value:e.agentId,label:e.profile.name,meta:e.agentId})));i(()=>[r.open,r.agent,r.assignment,r.action,r.defaultProjectId],()=>{r.open&&(o.value=r.assignment?.personalProjectId??r.defaultProjectId??r.projects[0]?.project_id??``,s.value=``,u.value=r.assignment?.responsibility??r.agent?.profile.responsibility??``,f.value=r.assignment?.scope??``,_.value=r.assignment?.workKinds?.join(`
|
|
2
|
-
`)??``,v.value=``,b.value=``)},{immediate:!0});async function N(){if(!r.agent)return;b.value=``;let e=v.value.trim(),t=u.value.trim();if(!e||r.action===`assign`&&!t){b.value=d(`projectAgents.assignmentDialog.required`);return}if(r.action===`replace`&&!s.value){b.value=d(`projectAgents.assignmentDialog.replacementRequired`);return}y.value=!0;try{if(r.action===`assign`){let n=await A(`/api/project-agent-assignments`,{personalSpaceId:r.agent.personalSpaceId,personalProjectId:o.value,agentId:r.agent.agentId,idempotencyKey:P(),responsibility:t,workKinds:te(_.value),capabilities:[],reason:e});a(`saved`,n)}else{if(!r.assignment)return;await A(`/api/project-agent-assignments/${encodeURIComponent(r.assignment.assignmentId)}/${r.action}`,r.action===`replace`?{personalSpaceId:r.agent.personalSpaceId,personalProjectId:r.assignment.personalProjectId,assignmentId:r.assignment.assignmentId,expectedRevision:r.assignment.revision??0,replacementAgentId:s.value,idempotencyKey:P(),responsibility:t||r.assignment.responsibility,workKinds:te(_.value),capabilities:r.assignment.capabilities??[],reason:e}:{personalSpaceId:r.agent.personalSpaceId,personalProjectId:r.assignment.personalProjectId,assignmentId:r.assignment.assignmentId,expectedRevision:r.assignment.revision??0,reason:e}),a(`changed`)}a(`close`)}catch(e){b.value=e instanceof Error?e.message:d(`projectAgents.assignmentDialog.saveFailed`)}finally{y.value=!1}}function te(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(n,i)=>e.open?(g(),O(`dialog`,{key:0,ref_key:`dialogRef`,ref:C,class:`project-agent-assignment-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`project-agent-assignment-dialog-title`,onCancel:i[8]||=(...e)=>p(D)&&p(D)(...e),onKeydown:i[9]||=(...e)=>p(k)&&p(k)(...e)},[m(`form`,{class:`project-agent-assignment-dialog-shell`,onSubmit:x(N,[`prevent`])},[m(`header`,L,[m(`h3`,ie,S(p(d)(`projectAgents.assignmentDialog.${j.value?e.action:`assign`}Title`)),1),m(`button`,{ref_key:`initialFocusRef`,ref:w,"data-dialog-initial-focus":``,class:`quiet-button`,type:`button`,disabled:y.value,onClick:i[0]||=e=>a(`close`)},S(p(d)(`common.actions.close`)),9,R)]),m(`div`,z,[j.value?(g(),O(`label`,V,[m(`span`,null,S(p(d)(`projectAgents.fields.project`)),1),m(`input`,{value:r.assignment?r.assignment.personalProjectId:``,disabled:``},null,8,H)])):(g(),O(`label`,B,[m(`span`,null,S(p(d)(`projectAgents.fields.project`)),1),c(ne,{modelValue:o.value,"onUpdate:modelValue":i[1]||=e=>o.value=e,"control-id":`project-agent-assignment-project`,options:M.value,label:p(d)(`projectAgents.fields.project`),placeholder:p(d)(`projectAgents.dialog.projectPlaceholder`),disabled:y.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])])),j.value&&e.action===`replace`?(g(),O(`label`,ae,[m(`span`,null,S(p(d)(`projectAgents.assignmentDialog.replacement`)),1),c(ne,{modelValue:s.value,"onUpdate:modelValue":i[2]||=e=>s.value=e,"control-id":`project-agent-assignment-replacement`,options:ee.value,label:p(d)(`projectAgents.assignmentDialog.replacement`),placeholder:p(d)(`projectAgents.assignmentDialog.replacementPlaceholder`),disabled:y.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])])):E(``,!0),j.value?E(``,!0):(g(),O(`label`,U,[m(`span`,null,S(p(d)(`projectAgents.fields.responsibility`)),1),t(m(`textarea`,{"onUpdate:modelValue":i[3]||=e=>u.value=e,rows:`3`,maxlength:`4096`,disabled:y.value,required:``},null,8,oe),[[T,u.value]])])),j.value?E(``,!0):(g(),O(`label`,se,[m(`span`,null,S(p(d)(`projectAgents.fields.scope`)),1),t(m(`input`,{"onUpdate:modelValue":i[4]||=e=>f.value=e,maxlength:`4096`,disabled:y.value},null,8,ce),[[T,f.value]])])),j.value?E(``,!0):(g(),O(`label`,le,[m(`span`,null,S(p(d)(`projectAgents.assignmentDialog.workKinds`)),1),t(m(`textarea`,{"onUpdate:modelValue":i[5]||=e=>_.value=e,rows:`3`,disabled:y.value,placeholder:p(d)(`projectAgents.assignmentDialog.workKindsPlaceholder`)},null,8,ue),[[T,_.value]])])),m(`label`,de,[m(`span`,null,S(p(d)(`projectAgents.fields.reason`)),1),t(m(`textarea`,{"onUpdate:modelValue":i[6]||=e=>v.value=e,rows:`3`,maxlength:`2048`,disabled:y.value,placeholder:p(d)(`projectAgents.assignmentDialog.reasonPlaceholder`),required:``},null,8,fe),[[T,v.value]])])]),b.value?(g(),O(`p`,pe,S(b.value),1)):E(``,!0),m(`footer`,me,[m(`button`,{class:`quiet-button`,type:`button`,disabled:y.value,onClick:i[7]||=e=>a(`close`)},S(p(d)(`common.actions.cancel`)),9,he),m(`button`,{class:`project-agent-primary-action`,type:`submit`,disabled:y.value},S(p(d)(`projectAgents.assignmentDialog.${j.value?`saveChange`:`saveAssign`}`)),9,W)])],32)],544)):E(``,!0)}}),[[`__scopeId`,`data-v-27954ba8`]]),_e={class:`project-agent-dialog-header`},ve={id:`executor-routing-dialog-title`},ye=[`disabled`],be={class:`project-agent-dialog-fields`},G=[`disabled`],xe=[`disabled`],Se=[`disabled`],Ce=[`disabled`],we={class:`project-agent-wide-field`},Te=[`disabled`],Ee={class:`project-agent-dialog-check`},De=[`disabled`],Oe={class:`project-agent-dialog-note project-agent-wide-field`},ke=[`disabled`],K=[`disabled`],Ae={key:0},je={key:1},Me=[`disabled`],q=[`disabled`],Ne={class:`project-agent-wide-field`},Pe=[`placeholder`,`disabled`],Fe={class:`project-agent-wide-field`},Ie=[`disabled`],Le={class:`project-agent-wide-field`},Re=[`disabled`],ze={class:`project-agent-dialog-note project-agent-wide-field`},Be={key:0,class:`project-agent-dialog-error`,role:`alert`},Ve={class:`project-agent-dialog-actions`},He=[`disabled`],Ue=[`disabled`],We=P(n({__name:`ExecutorRoutingDialog`,props:{open:{type:Boolean},mode:{},personalSpaceId:{},executor:{default:null},rule:{default:null},projects:{default:()=>[]},availableExecutors:{default:()=>[]}},emits:[`close`,`saved`],setup(e,{emit:n}){let r=e,a=n,o=l(``),s=l(``),u=l(`external`),f=l(``),_=l(100),b=l(!1),w=l(`space`),k=l(``),A=l(``),j=l(``),M=l(``),N=l(``),te=l(``),P=l(!1),F=l(``),{dialogRef:I,initialFocusRef:L,onCancel:ie,onKeydown:R}=re(()=>r.open,()=>a(`close`)),z=h(()=>!!r.executor),B=h(()=>r.mode===`executor`?z.value?`executorEditTitle`:`executorCreateTitle`:`ruleCreateTitle`),V=h(()=>r.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id})));h(()=>r.availableExecutors.map(e=>({value:e.executorId,label:e.displayName||e.label||e.executorId,meta:e.executorId}))),i(()=>[r.open,r.mode,r.executor,r.rule],([e])=>{if(!e)return;let t=r.executor,n=r.rule;o.value=t?.executorId??``,s.value=t?.displayName??t?.label??``,u.value=t?.executorKind??`external`,f.value=t?.capabilities?.join(`
|
|
4
|
-
`)??``,_.value=t?.globalPriority??n?.priority??100,b.value=t?.healthRequired===!0,w.value=n?.scope??`space`,k.value=n?.personalProjectId??``,A.value=n?.taskId??``,j.value=n?.workKind??``,M.value=n?.requiredCapabilities?.join(`
|
|
5
|
-
`)??``,N.value=n?.executorIds?.join(`
|
|
6
|
-
`)??``,te.value=``,F.value=``},{immediate:!0});function H(e){return[...new Set(e.split(`
|
|
7
|
-
`).map(e=>e.trim()).filter(Boolean))]}function ae(e){return`${e}-${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}async function U(){if(P.value)return;let e=H(f.value),t=te.value.trim();if(r.mode===`executor`){if(!o.value.trim()||!s.value.trim()||_.value<1){F.value=d(`projectAgents.routing.editor.executorRequired`);return}}else if(!j.value.trim()||!H(N.value).length||!t){F.value=d(`projectAgents.routing.editor.ruleRequired`);return}P.value=!0,F.value=``;try{if(r.mode===`executor`){let t=await ee(`/api/executors`,{personalSpaceId:r.personalSpaceId,executorId:o.value.trim(),displayName:s.value.trim(),executorKind:u.value.trim()||`external`,capabilities:e,advertisedModels:r.executor?.advertisedModels??r.executor?.availableModels??[],globalPriority:_.value,healthRequired:b.value,expectedRevision:r.executor?.revision,idempotencyKey:ae(`executor-directory`)});a(`saved`,t)}else{let e=await ee(`/api/executor-routing-rules`,{personalSpaceId:w.value===`global`?void 0:r.personalSpaceId,scope:w.value,personalProjectId:(w.value===`project`||w.value===`task`)&&k.value||void 0,taskId:w.value===`task`&&A.value||void 0,workKind:j.value.trim(),requiredCapabilities:H(M.value),executorIds:H(N.value),priority:_.value,reason:t,idempotencyKey:ae(`executor-rule`)});a(`saved`,e)}a(`close`)}catch(e){F.value=e instanceof Error?e.message:d(`projectAgents.routing.editor.saveFailed`)}finally{P.value=!1}}return(n,r)=>e.open?(g(),O(`dialog`,{key:0,ref_key:`dialogRef`,ref:I,class:`project-agent-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`executor-routing-dialog-title`,onCancel:r[16]||=(...e)=>p(ie)&&p(ie)(...e),onKeydown:r[17]||=(...e)=>p(R)&&p(R)(...e)},[m(`form`,{class:`project-agent-dialog-shell`,onSubmit:x(U,[`prevent`])},[m(`header`,_e,[m(`h3`,ve,S(p(d)(`projectAgents.routing.editor.${B.value}`)),1),m(`button`,{ref_key:`initialFocusRef`,ref:L,"data-dialog-initial-focus":``,class:`quiet-button`,type:`button`,disabled:P.value,onClick:r[0]||=e=>a(`close`)},S(p(d)(`common.actions.close`)),9,ye)]),m(`div`,be,[e.mode===`executor`?(g(),O(y,{key:0},[m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.executorId`)),1),t(m(`input`,{"onUpdate:modelValue":r[1]||=e=>o.value=e,maxlength:`128`,disabled:z.value||P.value,required:``},null,8,G),[[T,o.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.displayName`)),1),t(m(`input`,{"onUpdate:modelValue":r[2]||=e=>s.value=e,maxlength:`160`,disabled:P.value,required:``},null,8,xe),[[T,s.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.executorKind`)),1),t(m(`input`,{"onUpdate:modelValue":r[3]||=e=>u.value=e,maxlength:`128`,disabled:P.value},null,8,Se),[[T,u.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.priority`)),1),t(m(`input`,{"onUpdate:modelValue":r[4]||=e=>_.value=e,type:`number`,min:`1`,max:`1000000`,disabled:P.value,required:``},null,8,Ce),[[T,_.value,void 0,{number:!0}]])]),m(`label`,we,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.capabilities`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[5]||=e=>f.value=e,rows:`3`,disabled:P.value},null,8,Te),[[T,f.value]])]),m(`label`,Ee,[t(m(`input`,{"onUpdate:modelValue":r[6]||=e=>b.value=e,type:`checkbox`,disabled:P.value},null,8,De),[[C,b.value]]),r[18]||=D(),m(`span`,null,S(p(d)(`projectAgents.routing.editor.healthRequired`)),1)]),m(`p`,Oe,S(p(d)(`projectAgents.routing.editor.evidenceNote`)),1)],64)):(g(),O(y,{key:1},[m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.scope`)),1),t(m(`select`,{"onUpdate:modelValue":r[7]||=e=>w.value=e,disabled:P.value},[...r[19]||=[m(`option`,{value:`space`},`space`,-1),m(`option`,{value:`project`},`project`,-1),m(`option`,{value:`task`},`task`,-1)]],8,ke),[[v,w.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.priority`)),1),t(m(`input`,{"onUpdate:modelValue":r[8]||=e=>_.value=e,type:`number`,min:`1`,max:`1000000`,disabled:P.value,required:``},null,8,K),[[T,_.value,void 0,{number:!0}]])]),w.value===`project`||w.value===`task`?(g(),O(`label`,Ae,[m(`span`,null,S(p(d)(`projectAgents.fields.project`)),1),c(ne,{modelValue:k.value,"onUpdate:modelValue":r[9]||=e=>k.value=e,"control-id":`executor-rule-project`,options:V.value,label:p(d)(`projectAgents.fields.project`),disabled:P.value},null,8,[`modelValue`,`options`,`label`,`disabled`])])):E(``,!0),w.value===`task`?(g(),O(`label`,je,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.taskId`)),1),t(m(`input`,{"onUpdate:modelValue":r[10]||=e=>A.value=e,maxlength:`128`,disabled:P.value},null,8,Me),[[T,A.value]])])):E(``,!0),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.workKind`)),1),t(m(`input`,{"onUpdate:modelValue":r[11]||=e=>j.value=e,maxlength:`128`,disabled:P.value,required:``},null,8,q),[[T,j.value]])]),m(`label`,Ne,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.executorIds`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[12]||=e=>N.value=e,rows:`3`,placeholder:p(d)(`projectAgents.routing.editor.executorIdsPlaceholder`),disabled:P.value,required:``},null,8,Pe),[[T,N.value]])]),m(`label`,Fe,[m(`span`,null,S(p(d)(`projectAgents.routing.editor.requiredCapabilities`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[13]||=e=>M.value=e,rows:`3`,disabled:P.value},null,8,Ie),[[T,M.value]])]),m(`label`,Le,[m(`span`,null,S(p(d)(`projectAgents.fields.reason`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[14]||=e=>te.value=e,rows:`3`,disabled:P.value,required:``},null,8,Re),[[T,te.value]])]),m(`p`,ze,S(p(d)(`projectAgents.routing.editor.ruleNote`)),1)],64))]),F.value?(g(),O(`p`,Be,S(F.value),1)):E(``,!0),m(`footer`,Ve,[m(`button`,{class:`quiet-button`,type:`button`,disabled:P.value,onClick:r[15]||=e=>a(`close`)},S(p(d)(`common.actions.cancel`)),9,He),m(`button`,{class:`project-agent-primary-action`,type:`submit`,disabled:P.value},S(p(d)(`projectAgents.routing.editor.save`)),9,Ue)])],32)],544)):E(``,!0)}}),[[`__scopeId`,`data-v-6b96c90d`]]),Ge=[`aria-label`,`aria-busy`],Ke={key:0,class:`project-agent-policy-state`,role:`status`},qe={key:1,class:`project-agent-policy-options`},Je=[`checked`,`disabled`],Ye=[`checked`,`disabled`],Xe={class:`project-agent-policy-feedback`,"aria-live":`polite`},J={key:0,role:`alert`},Ze=[`disabled`],Qe={key:1,role:`status`},$e={key:2,role:`status`},et=P(n({__name:`ProjectAgentAutomationPolicyPanel`,props:{personalSpaceId:{},personalProjectId:{},projectName:{}},setup(e){let t=e,n=l(y()),r=l(!1),a=l(!1),o=l(``),s=l(``),c=l(!1),u=0,f=h(()=>r.value||a.value);i(()=>[t.personalSpaceId,t.personalProjectId],()=>void _(),{immediate:!0});async function _(){let e=++u;if(n.value=y(),c.value=!1,s.value=``,!(!t.personalSpaceId||!t.personalProjectId)){r.value=!0,o.value=``;try{let r=await N(`/api/project-agent-coordination-policy?${new URLSearchParams({personalSpaceId:t.personalSpaceId,personalProjectId:t.personalProjectId})}`);e===u&&(n.value=b(r))}catch(t){e===u&&(o.value=t instanceof Error?t.message:d(`projectAgents.coordination.loadFailed`))}finally{e===u&&(r.value=!1)}}}async function v(e,r){if(f.value)return;let i={...n.value},o=r.currentTarget.checked;n.value={...n.value,[e]:o},a.value=!0,c.value=!1,s.value=``;try{let e=await j(`/api/project-agent-coordination-policy`,{personalSpaceId:t.personalSpaceId,personalProjectId:t.personalProjectId,askBeforeRecruitment:n.value.askBeforeRecruitment,autoReusePreviousAgent:n.value.autoReusePreviousAgent});n.value=b(e),c.value=!0}catch(e){n.value=i,s.value=e instanceof Error?e.message:d(`projectAgents.coordination.saveFailed`)}finally{a.value=!1}}function y(){return{personalSpaceId:t.personalSpaceId,personalProjectId:t.personalProjectId,askBeforeRecruitment:!0,autoReusePreviousAgent:!0,updatedAt:null}}function b(e){let n=e&&typeof e==`object`?e:{};return{personalSpaceId:C(n.personalSpaceId??n.personal_space_id)||t.personalSpaceId,personalProjectId:C(n.personalProjectId??n.personal_project_id)||t.personalProjectId,askBeforeRecruitment:x(n.askBeforeRecruitment??n.ask_before_recruitment,!0),autoReusePreviousAgent:x(n.autoReusePreviousAgent??n.auto_reuse_previous_agent,!0),updatedAt:C(n.updatedAt??n.updated_at)}}function x(e,t){return typeof e==`boolean`?e:t}function C(e){return typeof e==`string`&&e?e:null}return(t,i)=>(g(),O(`section`,{class:`project-agent-automation-policy`,"aria-label":p(d)(`projectAgents.coordination.aria`,{project:e.projectName}),"aria-busy":f.value},[m(`header`,null,[m(`h3`,null,S(p(d)(`projectAgents.coordination.title`)),1),m(`span`,null,S(e.projectName),1)]),r.value?(g(),O(`p`,Ke,S(p(d)(`projectAgents.coordination.loading`)),1)):(g(),O(`div`,qe,[m(`label`,null,[m(`span`,null,[m(`strong`,null,S(p(d)(`projectAgents.coordination.autoReuse`)),1),m(`small`,null,S(p(d)(`projectAgents.coordination.autoReuseMeta`)),1)]),m(`input`,{checked:n.value.autoReusePreviousAgent,disabled:f.value,type:`checkbox`,role:`switch`,onChange:i[0]||=e=>v(`autoReusePreviousAgent`,e)},null,40,Je)]),m(`label`,null,[m(`span`,null,[m(`strong`,null,S(p(d)(`projectAgents.coordination.askBeforeRecruitment`)),1),m(`small`,null,S(p(d)(`projectAgents.coordination.askBeforeRecruitmentMeta`)),1)]),m(`input`,{checked:n.value.askBeforeRecruitment,disabled:f.value,type:`checkbox`,role:`switch`,onChange:i[1]||=e=>v(`askBeforeRecruitment`,e)},null,40,Ye)])])),m(`div`,Xe,[o.value||s.value?(g(),O(`p`,J,[D(S(o.value||s.value)+` `,1),o.value?(g(),O(`button`,{key:0,type:`button`,disabled:f.value,onClick:_},S(p(d)(`projectAgents.retry`)),9,Ze)):E(``,!0)])):a.value?(g(),O(`p`,Qe,S(p(d)(`projectAgents.coordination.saving`)),1)):c.value?(g(),O(`p`,$e,S(p(d)(`projectAgents.coordination.saved`)),1)):E(``,!0)])],8,Ge))}}),[[`__scopeId`,`data-v-4160a96e`]]),tt={key:0,class:`project-agent-source-state`,role:`status`},nt={key:1,class:`project-agent-source-state`,role:`status`},rt={key:2,class:`project-agent-source-state is-error`,role:`alert`},it=P(n({__name:`ProjectAgentDetailState`,props:{status:{},error:{}},emits:[`retry`],setup(e){return(t,n)=>e.status===`idle`?(g(),O(`div`,tt,S(p(d)(`projectAgents.detail.notLoaded`)),1)):e.status===`loading`?(g(),O(`div`,nt,S(p(d)(`projectAgents.detail.loadingSection`)),1)):e.status===`error`?(g(),O(`div`,rt,[m(`span`,null,S(e.error||p(d)(`projectAgents.detail.sectionUnavailable`)),1),m(`button`,{class:`quiet-button`,type:`button`,onClick:n[0]||=e=>t.$emit(`retry`)},S(p(d)(`projectAgents.retry`)),1)])):s(t.$slots,`default`,{},void 0,!0,3)}}),[[`__scopeId`,`data-v-f174e20d`]]);function Y(e){return e&&typeof e==`object`?e:{}}function X(e,t,n){return e[t]??e[n]}function Z(e,t,n){let r=X(e,t,n);return typeof r==`string`?r:null}function Q(e){return Array.isArray(e)?e:[]}function at(e){let t=Y(e);return Array.isArray(e)?e:Q(t.agents??t.items)}function ot(e){if(!e||typeof e!=`object`)return null;let t=Y(e);return{mode:Z(t,`mode`,`mode`)??null,reasoningEffort:Z(t,`reasoningEffort`,`reasoning_effort`)??null,capabilityHints:Q(X(t,`capabilityHints`,`capability_hints`)).filter(e=>typeof e==`string`)}}function st(e){if(!e||typeof e!=`object`)return null;let t=Y(e);return{enabled:typeof t.enabled==`boolean`?t.enabled:null,independentVerification:typeof X(t,`independentVerification`,`independent_verification`)==`boolean`?X(t,`independentVerification`,`independent_verification`):null,conflictFreeScopes:typeof X(t,`conflictFreeScopes`,`conflict_free_scopes`)==`boolean`?X(t,`conflictFreeScopes`,`conflict_free_scopes`):null,reason:Z(t,`reason`,`reason`),workstreamBoundaries:Q(X(t,`workstreamBoundaries`,`workstream_boundaries`)).filter(e=>typeof e==`string`)}}function ct(e){if(!e||typeof e!=`object`)return null;let t=Y(e),n=Q(X(t,`allowList`,`allow_list`)).map(e=>{if(typeof e==`string`)return{executorId:e};let t=Y(e);return{executorId:Z(t,`executorId`,`executor_id`)??``,label:Z(t,`label`,`label`),provider:Z(t,`provider`,`provider`),model:Z(t,`model`,`model`),client:Z(t,`client`,`client`)}}).filter(({executorId:e})=>e),r=Q(X(t,`lockedExecutorIds`,`locked_executor_ids`)).filter(e=>typeof e==`string`),i=Q(X(t,`preferredExecutorIds`,`preferred_executor_ids`)).filter(e=>typeof e==`string`);return{mode:Z(t,`mode`,`mode`)??`flexible`,allowList:n,lockedExecutorIds:r,preferredExecutorIds:i}}function lt(e){if(!e||typeof e!=`object`)return null;let t=Y(e),n={executor:Z(t,`executor`,`executor`),provider:Z(t,`provider`,`provider`)??Z(t,`actualModelProvider`,`actual_model_provider`),model:Z(t,`model`,`model`)??Z(t,`actualModel`,`actual_model`),client:Z(t,`client`,`client`)??Z(t,`sourceApplication`,`source_application`),rule:Z(t,`rule`,`rule`),fallback:Z(t,`fallback`,`fallback`),reportedAt:Z(t,`reportedAt`,`reported_at`)};return[n.executor,n.provider,n.model,n.rule,n.fallback].some(Boolean)?n:null}function ut(e,t){let n=Y(e),r=Z(n,`personalProjectId`,`personal_project_id`),i=Z(n,`assignmentId`,`assignment_id`);return!r||!i?null:{assignmentId:i,personalSpaceId:Z(n,`personalSpaceId`,`personal_space_id`)??t.personalSpaceId,personalProjectId:r,agentId:Z(n,`agentId`,`agent_id`)??t.agentId,responsibility:Z(n,`responsibility`,`responsibility`)??t.profile.responsibility,scope:Z(n,`scope`,`scope`),workKinds:Q(X(n,`workKinds`,`work_kinds`)).filter(e=>typeof e==`string`),capabilities:Q(n.capabilities).filter(e=>typeof e==`string`),modelStrategyOverride:ot(X(n,`modelStrategyOverride`,`model_strategy_override`)),executorPolicyOverride:ct(X(n,`executorPolicyOverride`,`executor_policy_override`)),reason:Z(n,`reason`,`reason`),status:Z(n,`status`,`status`)??`active`,revision:typeof n.revision==`number`?n.revision:void 0,sourceApplication:Z(n,`sourceApplication`,`source_application`),sourceSessionId:Z(n,`sourceSessionId`,`source_session_id`),assignedAt:Z(n,`assignedAt`,`assigned_at`)??t.createdAt,updatedAt:Z(n,`updatedAt`,`updated_at`)??t.updatedAt,endedAt:Z(n,`endedAt`,`ended_at`),endReason:Z(n,`endReason`,`end_reason`),replacedByAssignmentId:Z(n,`replacedByAssignmentId`,`replaced_by_assignment_id`)}}function dt(e){let t=Y(e);return{agentId:Z(t,`agentId`,`agent_id`)??``,assignmentId:Z(t,`assignmentId`,`assignment_id`),role:Z(t,`role`,`role`)??`collaborator`,status:Z(t,`status`,`status`),assignmentSummary:Z(t,`assignmentSummary`,`assignment_summary`),joinedAt:Z(t,`joinedAt`,`joined_at`),updatedAt:Z(t,`updatedAt`,`updated_at`),endedAt:Z(t,`endedAt`,`ended_at`)}}function ft(e){if(Array.isArray(e))return e.map(e=>{let t=Y(e);return{agentId:Z(t,`agentId`,`agent_id`),agentName:Z(t,`agentName`,`agent_name`),occupationEmoji:Z(t,`occupationEmoji`,`occupation_emoji`),workerId:Z(t,`workerId`,`worker_id`),workerLabel:Z(t,`workerLabel`,`worker_label`),workerOccupationEmoji:Z(t,`workerOccupationEmoji`,`worker_occupation_emoji`),participantRole:Z(t,`participantRole`,`participant_role`),executor:Z(t,`executor`,`executor`),executorId:Z(t,`executorId`,`executor_id`),sourceApplication:Z(t,`sourceApplication`,`source_application`),actualModelProvider:Z(t,`actualModelProvider`,`actual_model_provider`),actualModel:Z(t,`actualModel`,`actual_model`),workSummary:Z(t,`workSummary`,`work_summary`),status:Z(t,`status`,`status`)}})}function pt(e){let t=Y(e),n=Z(t,`eventId`,`event_id`),r=Z(t,`taskId`,`task_id`);if(!n||!r)return null;let i=lt(X(t,`actualExecution`,`actual_execution`))??lt({executor:Z(t,`actualExecutor`,`actual_executor`),provider:Z(t,`actualModelProvider`,`actual_model_provider`),model:Z(t,`actualModel`,`actual_model`),client:Z(t,`sourceApplication`,`source_application`),rule:Z(t,`routingRuleId`,`routing_rule_id`)??Z(t,`matchedExecutorRuleId`,`matched_executor_rule_id`),fallback:Z(t,`fallbackReason`,`fallback_reason`)??Z(t,`executorFallbackReason`,`executor_fallback_reason`),reportedAt:Z(t,`createdAt`,`created_at`)});return{eventId:n,taskId:r,agentId:Z(t,`agentId`,`agent_id`),status:Z(t,`status`,`status`),actorKind:Z(t,`actorKind`,`actor_kind`)??void 0,summary:Z(t,`summary`,`summary`)??``,sourceApplication:Z(t,`sourceApplication`,`source_application`),sourceSessionId:Z(t,`sourceSessionId`,`source_session_id`),actualExecution:i,actualModelProvider:Z(t,`actualModelProvider`,`actual_model_provider`),actualModel:Z(t,`actualModel`,`actual_model`),workerId:Z(t,`workerId`,`worker_id`),workerLabel:Z(t,`workerLabel`,`worker_label`),workerOccupationEmoji:Z(t,`workerOccupationEmoji`,`worker_occupation_emoji`),workerStatus:Z(t,`workerStatus`,`worker_status`),createdAt:Z(t,`createdAt`,`created_at`)??``}}function mt(e){if(!e||typeof e!=`object`)return null;let t=Y(e);return{decisionId:Z(t,`decisionId`,`decision_id`)??void 0,taskId:Z(t,`taskId`,`task_id`)??void 0,coordinatorAgentId:Z(t,`coordinatorAgentId`,`coordinator_agent_id`),complexity:(()=>{let e=X(t,`complexity`,`complexity`);return typeof e==`string`||typeof e==`number`?e:null})(),complexityBasis:Q(X(t,`complexityBasis`,`complexity_basis`)).filter(e=>typeof e==`string`),outcome:Z(t,`outcome`,`outcome`)??Z(t,`routingOutcome`,`routing_outcome`),reason:Z(t,`reason`,`reason`)??Z(t,`routingReason`,`routing_reason`),matchBasis:Q(X(t,`matchBasis`,`match_basis`)).filter(e=>typeof e==`string`),candidateAgentIds:Q(X(t,`candidateAgentIds`,`candidate_agent_ids`)).filter(e=>typeof e==`string`),optimizationPriority:Q(X(t,`optimizationPriority`,`optimization_priority`)).filter(e=>typeof e==`string`),parallelPlan:st(X(t,`parallelPlan`,`parallel_plan`)),selectedModelStrategy:ot(X(t,`selectedModelStrategy`,`selected_model_strategy`)),modelStrategySource:Z(t,`modelStrategySource`,`model_strategy_source`)??void 0,ruleId:Z(t,`ruleId`,`rule_id`)??Z(t,`matchedExecutorRuleId`,`matched_executor_rule_id`)??Z(t,`executorRuleId`,`executor_rule_id`),fallback:Z(t,`fallback`,`fallback`)??Z(t,`fallbackReason`,`fallback_reason`)??Z(t,`executorFallbackReason`,`executor_fallback_reason`)}}function ht(e){return e!=null&&(typeof e!=`string`||e.length>0)&&(!Array.isArray(e)||e.length>0)}function gt(e){return[`staffingIntent`,`staffing_intent`,`routingOutcome`,`routing_outcome`,`routingReason`,`routing_reason`,`routingExplanation`,`routing_explanation`,`coordinatorAgentId`,`coordinator_agent_id`,`complexity`,`complexityBasis`,`complexity_basis`,`matchBasis`,`match_basis`,`candidateAgentIds`,`candidate_agent_ids`].some(t=>ht(e[t]))?mt({outcome:X(e,`routingOutcome`,`routing_outcome`),reason:X(e,`routingReason`,`routing_reason`),matchBasis:X(e,`matchBasis`,`match_basis`),coordinatorAgentId:X(e,`coordinatorAgentId`,`coordinator_agent_id`),complexity:X(e,`complexity`,`complexity`),complexityBasis:X(e,`complexityBasis`,`complexity_basis`),candidateAgentIds:X(e,`candidateAgentIds`,`candidate_agent_ids`)}):null}function _t(e){let t=Y(e),n=Z(t,`taskId`,`task_id`);if(!n)return null;let r=lt(X(t,`actualExecution`,`actual_execution`))??lt({executor:Z(t,`actualExecutor`,`actual_executor`),provider:Z(t,`actualModelProvider`,`actual_model_provider`),model:Z(t,`actualModel`,`actual_model`),client:Z(t,`sourceApplication`,`source_application`),rule:Z(t,`routingRuleId`,`routing_rule_id`)??Z(t,`matchedExecutorRuleId`,`matched_executor_rule_id`),fallback:Z(t,`fallbackReason`,`fallback_reason`)??Z(t,`executorFallbackReason`,`executor_fallback_reason`)}),i=mt(X(t,`routingDecision`,`routing_decision`))??gt(t);return{taskId:n,personalSpaceId:Z(t,`personalSpaceId`,`personal_space_id`)??void 0,personalProjectId:Z(t,`personalProjectId`,`personal_project_id`),title:Z(t,`title`,`title`)??n,objective:Z(t,`objective`,`objective`),workKind:Z(t,`workKind`,`work_kind`),status:Z(t,`status`,`status`),runId:Z(t,`runId`,`run_id`),executionId:Z(t,`executionId`,`execution_id`),ownerAgentId:Z(t,`ownerAgentId`,`owner_agent_id`),leadAgentId:Z(t,`leadAgentId`,`lead_agent_id`),coordinatorAgentId:Z(t,`coordinatorAgentId`,`coordinator_agent_id`),hrAgentId:Z(t,`hrAgentId`,`hr_agent_id`),recruitmentId:Z(t,`recruitmentId`,`recruitment_id`),participants:Q(t.participants).map(dt),sourceApplication:Z(t,`sourceApplication`,`source_application`),sourceSessionId:Z(t,`sourceSessionId`,`source_session_id`),resultSummary:Z(t,`resultSummary`,`result_summary`),failureReason:Z(t,`failureReason`,`failure_reason`),createdAt:Z(t,`createdAt`,`created_at`),updatedAt:Z(t,`updatedAt`,`updated_at`),completedAt:Z(t,`completedAt`,`completed_at`),effectiveModelStrategy:ot(X(t,`effectiveModelStrategy`,`effective_model_strategy`)),effectiveExecutorPolicy:ct(X(t,`effectiveExecutorPolicy`,`effective_executor_policy`)??X(t,`executorPolicy`,`executor_policy`)),staffingIntent:Z(t,`staffingIntent`,`staffing_intent`),routingOutcome:Z(t,`routingOutcome`,`routing_outcome`),routingReason:Z(t,`routingReason`,`routing_reason`),routingExplanation:Z(t,`routingExplanation`,`routing_explanation`),matchBasis:Q(X(t,`matchBasis`,`match_basis`)).filter(e=>typeof e==`string`),complexity:(()=>{let e=X(t,`complexity`,`complexity`);return typeof e==`string`||typeof e==`number`?e:null})(),complexityBasis:Q(X(t,`complexityBasis`,`complexity_basis`)).filter(e=>typeof e==`string`),modelStrategySource:Z(t,`modelStrategySource`,`model_strategy_source`)??void 0,actualExecution:r,executionSummary:ft(X(t,`executionSummary`,`execution_summary`)),routingDecision:i,events:Q(t.events).map(pt).filter(Boolean)}}function vt(e){return e.executionSummary===void 0?(e.events??[]).filter(e=>!!(e.workerId||e.workerLabel||e.workerOccupationEmoji||e.workerStatus)):[]}function yt(e){return!!(e&&(e.enabled||e.independentVerification||e.conflictFreeScopes||e.reason||e.workstreamBoundaries?.length))}function bt(e){return e.actualExecution??{provider:e.actualModelProvider??null,model:e.actualModel??null,client:e.sourceApplication??null,reportedAt:e.createdAt}}var xt={class:`project-agent-dialog-header`},St={id:`project-agent-dialog-title`},Ct=[`disabled`],wt={class:`project-agent-dialog-fields`},$=[`disabled`],Tt={value:`active`},Et={value:`inactive`},Dt={value:`archived`},Ot=[`disabled`],kt={value:`durable`},At={value:`hr`},jt={key:0,value:`temporary`,disabled:``},Mt={key:1,value:`coordinator`,disabled:``},Nt=[`disabled`,`placeholder`],Pt=[`disabled`,`placeholder`],Ft=[`disabled`,`placeholder`],It={key:0,class:`project-agent-id-note`},Lt={class:`project-agent-wide-field`},Rt=[`disabled`,`placeholder`],zt={class:`project-agent-wide-field`},Bt=[`disabled`,`placeholder`],Vt={class:`project-agent-wide-field`},Ht=[`disabled`,`placeholder`],Ut={class:`project-agent-wide-field project-agent-strategy-fields`},Wt=[`disabled`],Gt={value:`flexible`},Kt={value:`locked`},qt=[`disabled`],Jt={class:`project-agent-wide-field`},Yt=[`disabled`,`placeholder`],Xt={key:0,class:`project-agent-dialog-error`,role:`alert`},Zt={class:`project-agent-dialog-actions`},Qt=[`disabled`],$t=[`disabled`],en=P(n({__name:`ProjectAgentDialog`,props:{open:{type:Boolean},agent:{},projects:{},defaultProjectId:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(e,{emit:n}){let r=e,a=n,o=l(``),s=l(``),u=l(``),f=l(``),_=l(``),y=l(``),b=l(``),C=l(`active`),w=l(`durable`),D=l(`adaptive`),k=l(`flexible`),j=l(``),M=l(!1),N=l(``),{dialogRef:te,initialFocusRef:P,onCancel:F,onKeydown:I}=re(()=>r.open,()=>a(`close`)),L=h(()=>!!r.agent),ie=h(()=>r.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id})));i(()=>[r.open,r.agent,r.defaultProjectId],([e,t,n])=>{if(!e)return;o.value=t?.personalProjectId??n??r.projects[0]?.project_id??``,s.value=t?.agentId??``,u.value=t?.profile.name??``,f.value=t?.profile.occupationEmoji??``,_.value=t?.profile.responsibility??``,y.value=(t?.profile.capabilities??[]).join(`
|
|
8
|
-
`),b.value=(t?.profile.initialPreferences??[]).join(`
|
|
9
|
-
`),C.value=t?.profile.status??`active`,w.value=t?.profile.agentType??`durable`,D.value=t?.profile.defaultModelStrategy?.mode??`adaptive`,k.value=t?.profile.executorPolicy?.mode??`flexible`;let i=t?.profile.executorPolicy,a=i?.mode===`locked`?i.lockedExecutorIds:i?.preferredExecutorIds;j.value=(a?.length?a:i?.allowList?.map(({executorId:e})=>e)??[]).join(`
|
|
10
|
-
`),N.value=``},{immediate:!0});function R(e){let t=e.split(`
|
|
11
|
-
`).map(e=>e.trim()).filter(Boolean),n=t.map(e=>e.toLocaleLowerCase());return new Set(n).size===n.length?t:null}async function z(){if(M.value)return;let e=o.value.trim(),t=s.value.trim(),n=u.value.trim(),i=f.value.trim(),c=_.value.trim();if(!t||!n||!c){N.value=d(`projectAgents.dialog.required`);return}let l=r.projects.find(({project_id:t})=>t===e);if(e&&!l){N.value=d(`projectAgents.dialog.projectUnavailable`);return}if(i&&!B(i)){N.value=d(`projectAgents.dialog.occupationEmojiInvalid`);return}let p=l?.personal_space_id??r.personalSpaceId??r.agent?.personalSpaceId;if(!p){N.value=d(`projectAgents.dialog.spaceUnavailable`);return}let m=R(y.value),h=R(b.value);if(!m||!h){N.value=d(`projectAgents.dialog.duplicate`);return}let g=R(j.value);if(!g||k.value===`locked`&&!g.length){N.value=d(`projectAgents.dialog.duplicate`);return}M.value=!0,N.value=``;try{let r={name:n,responsibility:c,capabilities:m,initialPreferences:h,status:C.value};i&&(r.occupationEmoji=i),w.value!==`durable`&&(r.agentType=w.value),D.value!==`adaptive`&&(r.defaultModelStrategy={mode:D.value}),(k.value!==`flexible`||g.length)&&(r.executorPolicy={mode:k.value,lockedExecutorIds:k.value===`locked`?g:[],preferredExecutorIds:k.value===`flexible`?g:[]});let o=await ee(`/api/project-agents`,{personalSpaceId:p,personalProjectId:null,agentId:t,profile:r}),s=o;if(e){let n=await A(`/api/project-agent-assignments`,{personalSpaceId:p,personalProjectId:e,agentId:t,idempotencyKey:`directory:${t}:${Date.now()}`,responsibility:c,capabilities:m,reason:d(`projectAgents.dialog.initialAssignmentReason`)});s={...o,personalProjectId:e,assignments:[n]}}a(`saved`,s),a(`close`)}catch(e){N.value=e instanceof Error?e.message:d(`projectAgents.dialog.saveFailed`)}finally{M.value=!1}}function B(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(n,r)=>e.open?(g(),O(`dialog`,{key:0,ref_key:`dialogRef`,ref:te,class:`project-agent-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`project-agent-dialog-title`,onCancel:r[14]||=(...e)=>p(F)&&p(F)(...e),onKeydown:r[15]||=(...e)=>p(I)&&p(I)(...e)},[m(`form`,{class:`project-agent-dialog-shell`,onSubmit:x(z,[`prevent`])},[m(`header`,xt,[m(`h3`,St,S(L.value?p(d)(`projectAgents.dialog.editTitle`):p(d)(`projectAgents.dialog.createTitle`)),1),m(`button`,{ref_key:`initialFocusRef`,ref:P,"data-dialog-initial-focus":``,class:`quiet-button`,type:`button`,disabled:M.value,onClick:r[0]||=e=>a(`close`)},S(p(d)(`common.actions.close`)),9,Ct)]),m(`div`,wt,[m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.project`)),1),c(ne,{modelValue:o.value,"onUpdate:modelValue":r[1]||=e=>o.value=e,"control-id":`project-agent-project`,options:ie.value,label:p(d)(`projectAgents.fields.project`),placeholder:p(d)(`projectAgents.dialog.projectPlaceholder`),disabled:L.value||M.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.status`)),1),t(m(`select`,{"onUpdate:modelValue":r[2]||=e=>C.value=e,name:`project-agent-status`,disabled:M.value},[m(`option`,Tt,S(p(d)(`projectAgents.status.active`)),1),m(`option`,Et,S(p(d)(`projectAgents.status.inactive`)),1),m(`option`,Dt,S(p(d)(`projectAgents.status.archived`)),1)],8,$),[[v,C.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.agentType`)),1),t(m(`select`,{"onUpdate:modelValue":r[3]||=e=>w.value=e,name:`project-agent-type`,disabled:M.value},[m(`option`,kt,S(p(d)(`projectAgents.agentType.durable`)),1),m(`option`,At,S(p(d)(`projectAgents.agentType.hr`)),1),L.value&&w.value===`temporary`?(g(),O(`option`,jt,S(p(d)(`projectAgents.agentType.temporary`)),1)):E(``,!0),L.value&&w.value===`coordinator`?(g(),O(`option`,Mt,S(p(d)(`projectAgents.agentType.coordinator`)),1)):E(``,!0)],8,Ot),[[v,w.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.agentId`)),1),t(m(`input`,{"onUpdate:modelValue":r[4]||=e=>s.value=e,name:`project-agent-id`,maxlength:`128`,required:``,disabled:L.value||M.value,placeholder:p(d)(`projectAgents.dialog.agentIdPlaceholder`)},null,8,Nt),[[T,s.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.name`)),1),t(m(`input`,{"onUpdate:modelValue":r[5]||=e=>u.value=e,name:`project-agent-name`,maxlength:`160`,required:``,disabled:M.value,placeholder:p(d)(`projectAgents.dialog.namePlaceholder`)},null,8,Pt),[[T,u.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.occupationEmoji`)),1),t(m(`input`,{"onUpdate:modelValue":r[6]||=e=>f.value=e,name:`project-agent-occupation-emoji`,maxlength:`64`,autocomplete:`off`,disabled:M.value,placeholder:p(d)(`projectAgents.dialog.occupationEmojiPlaceholder`)},null,8,Ft),[[T,f.value]])]),L.value?(g(),O(`small`,It,S(p(d)(`projectAgents.dialog.idLocked`)),1)):E(``,!0),m(`label`,Lt,[m(`span`,null,S(p(d)(`projectAgents.fields.responsibility`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[7]||=e=>_.value=e,name:`project-agent-responsibility`,maxlength:`4096`,rows:`4`,required:``,disabled:M.value,placeholder:p(d)(`projectAgents.dialog.responsibilityPlaceholder`)},null,8,Rt),[[T,_.value]])]),m(`label`,zt,[m(`span`,null,S(p(d)(`projectAgents.fields.capabilities`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[8]||=e=>y.value=e,name:`project-agent-capabilities`,maxlength:`8192`,rows:`4`,disabled:M.value,placeholder:p(d)(`projectAgents.dialog.capabilitiesPlaceholder`)},null,8,Bt),[[T,y.value]])]),m(`label`,Vt,[m(`span`,null,S(p(d)(`projectAgents.fields.initialPreferences`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[9]||=e=>b.value=e,name:`project-agent-preferences`,maxlength:`8192`,rows:`4`,disabled:M.value,placeholder:p(d)(`projectAgents.dialog.preferencesPlaceholder`)},null,8,Ht),[[T,b.value]])]),m(`fieldset`,Ut,[m(`legend`,null,S(p(d)(`projectAgents.fields.defaultModelStrategy`)),1),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.executorPolicy`)),1),t(m(`select`,{"onUpdate:modelValue":r[10]||=e=>k.value=e,name:`project-agent-selection-mode`,disabled:M.value},[m(`option`,Gt,S(p(d)(`projectAgents.strategy.flexible`)),1),m(`option`,Kt,S(p(d)(`projectAgents.strategy.locked`)),1)],8,Wt),[[v,k.value]])]),m(`label`,null,[m(`span`,null,S(p(d)(`projectAgents.fields.modelIntent`)),1),t(m(`select`,{"onUpdate:modelValue":r[11]||=e=>D.value=e,name:`project-agent-model-mode`,disabled:M.value},[...r[16]||=[m(`option`,{value:`adaptive`},`adaptive`,-1),m(`option`,{value:`fast`},`fast`,-1),m(`option`,{value:`balanced`},`balanced`,-1),m(`option`,{value:`deep`},`deep`,-1)]],8,qt),[[v,D.value]])]),m(`label`,Jt,[m(`span`,null,S(p(d)(`projectAgents.fields.allowList`)),1),t(m(`textarea`,{"onUpdate:modelValue":r[12]||=e=>j.value=e,name:`project-agent-allow-list`,rows:`3`,disabled:M.value,placeholder:p(d)(`projectAgents.dialog.allowListPlaceholder`)},null,8,Yt),[[T,j.value]])]),m(`small`,null,S(k.value===`locked`?p(d)(`projectAgents.strategy.lockedUnavailable`):p(d)(`projectAgents.strategy.providerNeutral`)),1)])]),N.value?(g(),O(`p`,Xt,S(N.value),1)):E(``,!0),m(`footer`,Zt,[m(`button`,{class:`quiet-button`,type:`button`,disabled:M.value,onClick:r[13]||=e=>a(`close`)},S(p(d)(`common.actions.cancel`)),9,Qt),m(`button`,{class:`project-agent-primary-action`,type:`submit`,disabled:M.value},S(L.value?p(d)(`projectAgents.dialog.saveEdit`):p(d)(`projectAgents.dialog.saveCreate`)),9,$t)])],32)],544)):E(``,!0)}}),[[`__scopeId`,`data-v-83825f22`]]),tn=[`aria-label`],nn={class:`project-agents-header`},rn={class:`project-agents-header-meta`},an=[`disabled`],on={class:`project-agents-summary`,"aria-live":`polite`},sn={class:`project-agents-toolbar`},cn={class:`project-agents-search`},ln={class:`sr-only`},un=[`placeholder`],dn=[`aria-label`],fn=[`aria-pressed`,`onClick`],pn={key:1,class:`project-agents-state`},mn={key:2,class:`project-agents-state is-error`,role:`alert`},hn={key:3,class:`project-agents-state`},gn=[`disabled`],_n={key:4,class:`project-agents-state`},vn={key:5,class:`project-agents-directory`},yn=[`aria-label`],bn=[`aria-current`,`onClick`],xn={class:`project-agent-row-heading`},Sn=[`aria-label`],Cn={class:`project-agent-kind`},wn={class:`project-agent-row-id`},Tn={class:`project-agent-row-projects`},En={key:0},Dn={class:`project-agent-row-responsibility`},On={class:`project-agent-row-work`},kn={class:`project-agent-row-capabilities`},An=[`aria-label`],jn={class:`project-agent-detail-heading`},Mn=[`aria-label`],Nn={key:0},Pn={key:0},Fn={class:`project-agent-detail-actions`},In=[`disabled`],Ln=[`disabled`],Rn={key:0,class:`project-agent-detail-notice`,role:`status`},zn={class:`project-agent-detail-meta`},Bn={key:0},Vn={class:`project-agent-detail-source`,"data-detail-section":`recruitment`},Hn={class:`project-agent-detail-section`,"aria-labelledby":`project-agent-recruitment-heading`},Un={class:`project-agent-section-heading`},Wn={id:`project-agent-recruitment-heading`},Gn={key:0,class:`project-agent-recruitment-list`},Kn={class:`project-agent-card-actions`},qn=[`disabled`,`onClick`],Jn=[`disabled`,`onClick`],Yn={class:`project-agent-compact-meta`},Xn={key:1,class:`project-agent-muted`},Zn={class:`project-agent-detail-section is-responsibility`},Qn={key:0,class:`project-agent-tags`},$n={class:`project-agent-detail-source`,"data-detail-section":`assignments`},er={class:`project-agent-detail-section`},tr={class:`project-agent-section-heading`},nr={class:`project-agent-section-tools`},rr={key:0,class:`project-agent-assignment-list`},ir={class:`project-agent-card-actions`},ar=[`onClick`],or=[`onClick`],sr={key:0},cr={key:1,class:`project-agent-inline-list`},lr={class:`project-agent-strategy-note`},ur={key:0},dr={key:2,class:`project-agent-tags`},fr={key:3},pr={key:1,class:`project-agent-muted`},mr={class:`project-agent-detail-source`,"data-detail-section":`executors`},hr={class:`project-agent-detail-section`},gr={class:`project-agent-section-heading`},_r={class:`project-agent-muted`},vr={key:0,class:`project-agent-tags`},yr={key:1,class:`project-agent-blocked`},br={key:2,class:`project-agent-muted`},xr={class:`project-agent-section-tools`},Sr={key:3,class:`project-agent-executor-list`},Cr=[`onClick`],wr=[`disabled`,`onClick`],Tr=[`disabled`,`onClick`],Er={class:`project-agent-detail-source`,"data-detail-section":`tasks`},Dr={class:`project-agent-detail-section`},Or={class:`project-agent-section-heading`},kr={key:0,class:`project-agent-task-list`},Ar={key:0},jr={key:1,class:`project-agent-inline-list`},Mr=[`aria-label`],Nr={class:`project-agent-section-heading`},Pr={key:0,class:`project-agent-execution-summary-list`},Fr=[`aria-label`],Ir={key:1},Lr={class:`project-agent-execution-summary-meta`},Rr={key:0},zr={key:0},Br={key:0},Vr={key:1},Hr={key:2},Ur={key:1,class:`project-agent-muted`},Wr=[`aria-label`],Gr={class:`project-agent-section-heading`},Kr={class:`project-agent-execution-summary-list`},qr=[`aria-label`],Jr={key:1},Yr={class:`project-agent-execution-summary-meta`},Xr={key:0},Zr={key:0},Qr={key:1},$r={key:2},ei={key:4},ti={key:5,class:`project-agent-routing-decision`},ni={class:`project-agent-section-heading`},ri={key:0},ii={key:1},ai={key:2},oi={key:0},si={key:3},ci={key:0},li={key:4},ui={class:`project-agent-execution-line`},di={key:0},fi={key:1},pi={key:2},mi={key:6},hi={key:7},gi={key:1,class:`project-agent-muted`},_i={class:`project-agent-detail-source`,"data-detail-section":`activity`},vi={class:`project-agent-detail-section`},yi={class:`project-agent-section-heading`},bi={key:0},xi={key:0,class:`project-agent-heatmap-wrap project-agent-heatmap-viewport`},Si=[`aria-label`],Ci=[`aria-label`,`aria-pressed`,`onClick`],wi={class:`sr-only`},Ti={key:0,class:`project-agent-day-detail`},Ei={key:0,class:`project-agent-muted`},Di={key:1},Oi={key:1,class:`project-agent-muted`},ki={class:`project-agent-detail-source`,"data-detail-section":`clients`},Ai={class:`project-agent-detail-section`},ji={class:`project-agent-section-heading`},Mi={key:0,class:`project-agent-client-list`},Ni={key:0},Pi={key:1},Fi={key:2},Ii={key:1,class:`project-agent-muted`},Li={class:`project-agent-detail-source`,"data-detail-section":`routing`},Ri={class:`project-agent-detail-section`},zi={class:`project-agent-section-heading`},Bi={class:`project-agent-section-tools`},Vi={key:0,class:`project-agent-rule-list`},Hi=[`disabled`,`onClick`],Ui={key:1,class:`project-agent-muted`},Wi={class:`project-agent-note`},Gi={class:`project-agent-detail-source`,"data-detail-section":`learning`},Ki={class:`project-agent-detail-section`},qi={class:`project-agent-section-heading`},Ji={key:0,class:`project-agent-learning-list`},Yi={key:0},Xi={key:1,class:`project-agent-inline-list`},Zi={key:0},Qi={key:2,class:`project-agent-evidence-list`},$i=[`disabled`,`onClick`],ea={key:3,class:`project-agent-learning-actions`},ta=[`disabled`,`onClick`],na={key:1,class:`project-agent-muted`},ra={class:`project-agent-note`},ia={class:`project-agent-detail-section`},aa={key:1,class:`project-agent-detail-placeholder`},oa=P(n({__name:`ProjectAgentsPage`,setup(n){let o=[`assignments`,`tasks`,`activity`,`recruitments`,`executors`,`routingRules`,`learning`],s=te(),_=l([]),v=l(!1),x=l(``),C=l(`all`),ee=l(`all`),P=l(``),F=l(``),re=l(!1),I=l(null),L=l(!1),ie=l(`assign`),R=l(null),z=l(!1),B=l({}),V=l(``),H=l(``),ae=l(``),U=l(``),oe=l(``),se=l(!1),ce=l(`executor`),le=l(null),ue=l(null),de=0,fe=0,pe=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]);function me(e){return`${e}:${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}let he=h(()=>s.state?.personalProjects??[]),W=h(()=>s.activePersonalSpace?.id??``),_e=h(()=>new Map(he.value.map(e=>[e.project_id,e]))),ve=h(()=>[{value:`all`,label:d(`projectAgents.allProjects`)},...he.value.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id}))]),ye=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`)}]),be=h(()=>{let e=P.value.trim().toLocaleLowerCase(b());return _.value.filter(e=>C.value===`all`||J(e).some(({personalProjectId:e})=>e===C.value)).filter(e=>ee.value===`all`||e.profile.status===ee.value).filter(t=>!e||Qe(t).toLocaleLowerCase(b()).includes(e)).sort(Ye)}),G=h(()=>be.value.find(e=>e.agentId===F.value)??null),xe=h(()=>_.value.filter(({profile:e})=>e.status===`active`).length),Se=h(()=>_.value.reduce((e,t)=>e+J(t).length,0)),Ce=h(()=>new Set(_.value.flatMap(e=>J(e).map(({personalProjectId:e})=>e))).size),we=h(()=>C.value===`all`?G.value?.assignments?.find(({status:e})=>e===`active`)?.personalProjectId??G.value?.personalProjectId??he.value[0]?.project_id??null:C.value),Te=h(()=>G.value?.activity??null),Ee=h(()=>Te.value?.days.find(({date:e})=>e===H.value)??null),De=h(()=>Object.entries(G.value?.learningEvidence??{})),Oe=h(()=>G.value?.recruitments??[]);e(()=>{s.runtimeStatus===`idle`&&s.refresh()}),i(W,e=>{++fe,B.value={},F.value=``,_.value=[],e?ke(e):s.runtimeStatus!==`loading`&&(v.value=!1)},{immediate:!0}),i(be,e=>{e.some(e=>e.agentId===F.value)||(F.value=e[0]?.agentId??``),e.some(e=>e.activity?.days.some(({date:e})=>e===H.value))||(H.value=``)},{immediate:!0}),i([F,W],([e,t])=>{H.value=``,e&&t&&K(e,t)},{immediate:!0});async function ke(e=W.value){if(!e)return;let t=++de;v.value=!0,x.value=``;try{let n=new URLSearchParams({personalSpaceId:e}),[r,i]=await Promise.allSettled([N(`/api/project-agents?${n}`),N(`/api/project-agent-tasks?${n}`)]);if(r.status===`rejected`)throw r.reason;if(t===de){let e=_a(at(r.value)),t=i.status===`fulfilled`?ua(i.value).filter(e=>pe.has(e.status)):[];_.value=Gt(e,t)}}catch(e){t===de&&(x.value=e instanceof Error?e.message:d(`projectAgents.loadError`))}finally{t===de&&(v.value=!1)}}async function K(e=F.value,t=W.value){let n=_.value.find(t=>t.agentId===e);if(!n||!t)return;let r=++fe;z.value=!0,V.value=``,je(e,`loading`);let i=new URLSearchParams({personalSpaceId:t,agentId:e}),a=Kt(),s=new URLSearchParams({personalSpaceId:t,agentId:e,fromDate:a.fromDate,toDate:a.toDate}),c={assignments:N(`/api/project-agent-assignments?${i}`),tasks:N(`/api/project-agent-tasks?${i}`),activity:N(`/api/project-agent-activity?${s}`),recruitments:N(`/api/project-agent-recruitments?personalSpaceId=${encodeURIComponent(t)}`),executors:N(`/api/executors?personalSpaceId=${encodeURIComponent(t)}`),routingRules:N(`/api/executor-routing-rules?personalSpaceId=${encodeURIComponent(t)}`),learning:N(`/api/project-agent-routing-learning?${i}`)};await Promise.all(o.map(async i=>{try{let a=await c[i];if(!Ne(r,e,t))return;Pe(n,i,a),Me(e,i,{status:`ready`,error:``})}catch(n){if(!Ne(r,e,t))return;Me(e,i,{status:`error`,error:n instanceof Error?n.message:d(`projectAgents.detail.sectionUnavailable`)})}})),Ne(r,e,t)&&(z.value=!1)}function Ae(e=`idle`){return Object.fromEntries(o.map(t=>[t,{status:e,error:``}]))}function je(e,t){B.value={...B.value,[e]:Ae(t)}}function Me(e,t,n){B.value={...B.value,[e]:{...B.value[e]??Ae(),[t]:n}}}function q(e){let t=(Array.isArray(e)?e:[e]).map(e=>B.value[F.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 Ne(e,t,n){return e===fe&&t===F.value&&n===W.value}function Pe(e,t,n){let r;switch(t){case`assignments`:Fe(n,[`assignments`,`items`]),r={assignments:$t(n,e)};break;case`tasks`:Fe(n,[`tasks`,`items`]),r={tasks:ua(n)};break;case`activity`:{let e=Jt(n);if(!e)throw Error(d(`projectAgents.detail.sectionUnavailable`));r={activity:e};break}case`recruitments`:Fe(n,[`recruitments`,`items`]),r={recruitments:fa(n).filter(t=>pa(t,e))};break;case`executors`:Fe(n,[`executors`,`items`]),r={executorDirectory:sa(n),clientEvidence:ma(n)};break;case`routingRules`:Fe(n,[`rules`,`items`]),r={routingRules:ha(n)};break;case`learning`:Fe(n,[`learningEvidence`,`learning_evidence`,`items`],!0),r={learningEvidence:ga(n)};break}_.value=_.value.map(t=>t.agentId===e.agentId?{...t,...r}:t)}function Fe(e,t,n=!1){if(Array.isArray(e))return;let r=Y(e);if(!t.some(e=>Array.isArray(r[e])||n&&Ie(r[e])))throw Error(d(`projectAgents.detail.sectionUnavailable`))}function Ie(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function Le(e,t,n){let r=t===`ignore`?n:e.learningKey??e.modelStrategyKey,i=G.value;if(!(!r||!i||!W.value||ae.value)){if(t===`reset`&&(!e.personalProjectId||!e.workKind||!e.executor)){V.value=d(`projectAgents.learning.resetUnavailable`);return}ae.value=r;try{await j(`/api/project-agent-learning/${encodeURIComponent(r)}`,{action:t,personalSpaceId:W.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`:me(`console-learning:${r}:reset`),reason:`Console requested ${t} for explicit evidence`}),await K()}catch(e){V.value=e instanceof Error?e.message:d(`projectAgents.learning.updateFailed`)}finally{ae.value=``}}}async function Re(e,t){if(!(!W.value||U.value)){U.value=e.recruitmentId;try{await A(`/api/project-agent-recruitments/decision`,{personalSpaceId:W.value,personalProjectId:e.personalProjectId,recruitmentId:e.recruitmentId,expectedRevision:e.revision??0,decision:t,reason:d(`projectAgents.recruitment.${t}Reason`)}),await K()}catch(e){V.value=e instanceof Error?e.message:d(`projectAgents.recruitment.decisionFailed`)}finally{U.value=``}}}async function ze(e,t){if(!(!W.value||oe.value)){oe.value=e.executorId;try{await A(`/api/executors/authorization`,{personalSpaceId:W.value,executorId:e.executorId,status:t,expectedRevision:e.permissionRevision??0,idempotencyKey:me(`console-executor:${e.executorId}:${t}`),reason:d(`projectAgents.routing.${t===`authorized`?`authorizeReason`:`revokeReason`}`)}),await K()}catch(e){V.value=e instanceof Error?e.message:d(`projectAgents.routing.authorizationFailed`)}finally{oe.value=``}}}function Be(e=null){ce.value=`executor`,le.value=e,ue.value=null,se.value=!0}function Ve(e=null){ce.value=`rule`,ue.value=e,le.value=null,se.value=!0}function He(){se.value=!1,le.value=null,ue.value=null}function Ue(e){G.value&&(_.value=_.value.map(t=>t.agentId===G.value?.agentId?{...t,executorDirectory:va([...t.executorDirectory??[],e],({executorId:e})=>e)}:t),He())}function Ge(e){G.value&&(_.value=_.value.map(t=>t.agentId===G.value?.agentId?{...t,routingRules:va([...t.routingRules??[],e],({ruleId:e})=>e)}:t),He())}function Ke(e){ce.value===`executor`?Ue(e):Ge(e)}async function qe(e){if(!(!W.value||!e.ruleId||U.value)){U.value=`rule:${e.ruleId}`;try{await j(`/api/executor-routing-rules/${encodeURIComponent(e.ruleId)}`,{personalSpaceId:W.value,ruleId:e.ruleId,expectedRevision:e.revision??0,status:`disabled`,idempotencyKey:`console-rule:${e.ruleId}:disable`,reason:`Console disabled explicit routing rule`}),await K()}catch(e){V.value=e instanceof Error?e.message:d(`projectAgents.routing.updateFailed`)}finally{U.value=``}}}async function Je(e){if(e.profile.cleanupEligible){z.value=!0;try{await M(`/api/project-agents/${encodeURIComponent(e.agentId)}?personalSpaceId=${encodeURIComponent(e.personalSpaceId)}&reason=archived%20test%20role`),await ke()}catch(e){V.value=e instanceof Error?e.message:d(`projectAgents.source.cleanupFailed`)}finally{z.value=!1}}}function Ye(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 Xe(e){return e?_e.value.get(e)?.profile.name??e:d(`projectAgents.notReported`)}function J(e){return e.assignments?.length?e.assignments:e.personalProjectId?[Ze(e)]:[]}function Ze(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 Qe(e){return[e.agentId,e.profile.name,e.profile.occupationEmoji??``,e.profile.responsibility,...e.profile.capabilities??[],...e.profile.workKinds??[],...J(e).flatMap(e=>[e.personalProjectId,e.responsibility,e.scope??``,...e.workKinds??[]]),...(e.tasks??[]).flatMap(e=>[e.taskId,e.title,e.workKind??``])].join(` `)}function $e(){I.value=null,re.value=!0}function tt(e){I.value=e,re.value=!0}function nt(){re.value=!1,I.value=null}function rt(e,t=null,n=`assign`){I.value=e,R.value=t,ie.value=n,L.value=!0}function st(){L.value=!1,R.value=null,ie.value=`assign`}function ft(e){I.value&&(_.value=_.value.map(t=>t.agentId===I.value?.agentId?{...t,assignments:va([...t.assignments??[],e],({assignmentId:e})=>e)}:t),F.value=I.value.agentId,st())}function pt(){st(),K()}function mt(e){let t=Zt(e),n=_.value.filter(e=>!(e.agentId===t.agentId&&t.personalProjectId&&e.personalProjectId===t.personalProjectId));_.value=_a([...n,t]),t.personalProjectId&&(C.value=t.personalProjectId),ee.value=`all`,P.value=``,F.value=t.agentId,s.notify(d(`projectAgents.saved`))}function ht(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 gt(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 xt(e){return e?.mode??`adaptive`}function St(e){return e?.mode??`flexible`}function Ct(e){return e?.mode===`locked`}function wt(e){return e?e.allowList?.length?e.allowList:((e.mode===`locked`?e.lockedExecutorIds:e.preferredExecutorIds)??[]).map(e=>({executorId:e})):[]}function $(e){if(e.actualExecution)return e.actualExecution;let t=[...e.events??[]].reverse().find(e=>e.actualExecution);return t?bt(t):null}function Tt(e){return e.workerLabel&&e.workerId&&e.workerLabel!==e.workerId?`${e.workerLabel} · ${e.workerId}`:e.workerLabel||e.workerId||d(`projectAgents.notReported`)}function Et(e){return e.workerOccupationEmoji||``}function Dt(e){return At(e.workerStatus||e.status)}function Ot(e){return e.workerLabel||e.agentName||e.workerId||e.agentId||d(`projectAgents.notReported`)}function kt(e){return e.workerOccupationEmoji||e.occupationEmoji||``}function At(e){return e?Mt(e):d(`projectAgents.notReported`)}function jt(e){return(e.tasks??[]).find(e=>pe.has(e.status))??null}function Mt(e){let t=`projectAgents.taskStatus.${e}`,n=d(t);return n===t?e:n}function Nt(e){return d(`projectAgents.agentType.${e??`durable`}`)}function Pt(e){return d(e?`projectAgents.clients.${e}`:`projectAgents.notReported`)}function Ft(e){return ya([...e.profile.allowedClients??[],...e.observedClients??[],...(e.clientEvidence??[]).map(({client:e})=>e)])}function It(e,t){return e.clientEvidence?.find(e=>e.client===t)}function Lt(e,t){return It(e,t)?.actualUse?.count??0}function Rt(e){return e.neutral!==!1||e.sampleCount<=0}function zt(e){return Rt(e)?d(`projectAgents.learning.neutral`):d(`projectAgents.learning.recorded`)}function Bt(e){return e.recentWeightedSamples??d(`projectAgents.notReported`)}function Vt(e){return e.score??``}function Ht(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 Ut(e){H.value=e.date}function Wt(e,t){return t.ownerAgentId===e.agentId||t.leadAgentId===e.agentId||t.coordinatorAgentId===e.agentId||t.participants.some(t=>t.agentId===e.agentId)}function Gt(e,t){return e.map(e=>{let n=t.filter(t=>Wt(e,t));return n.length?{...e,tasks:va([...e.tasks??[],...n],({taskId:e})=>e)}:e})}function Kt(){let e=new Date,t=new Date(e);return t.setUTCFullYear(t.getUTCFullYear()-1),{fromDate:qt(t),toDate:qt(e)}}function qt(e){return e.toISOString().slice(0,10)}function Jt(e){let t=Y(e),n=Q(t.days);if(!n.length&&!(`days`in t))return null;let r=n.map(e=>{let t=Y(e);return{date:Z(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:Q(t.tasks).map(Xt).filter(e=>!!e)}}).filter(({date:e})=>e),i=Z(t,`fromDate`,`from_date`),a=Z(t,`toDate`,`to_date`),o=r.some(({total:e,tasks:t})=>e>0||!!t?.length),s=i??(r.length?r.map(({date:e})=>e).sort()[0]:void 0),c=a??(r.length?r.map(({date:e})=>e).sort().at(-1):void 0),l=o&&s&&c?Yt(r,s,c):[];return{agentId:Z(t,`agentId`,`agent_id`)??F.value,personalSpaceId:Z(t,`personalSpaceId`,`personal_space_id`)??W.value,fromDate:s,toDate:c,days:l}}function Yt(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=qt(e);o.push(r.get(t)??{date:t,completed:0,failed:0,cancelled:0,total:0,tasks:[]})}return o.reverse()}function Xt(e){let t=Y(e),n=Z(t,`taskId`,`task_id`);if(!n)return null;let r=lt(X(t,`actualExecution`,`actual_execution`))??lt({executor:Z(t,`actualExecutor`,`actual_executor`),provider:Z(t,`actualModelProvider`,`actual_model_provider`),model:Z(t,`actualModel`,`actual_model`),client:Z(t,`sourceApplication`,`source_application`)});return{taskId:n,title:Z(t,`title`,`title`)??n,status:Z(t,`status`,`status`),summary:Z(t,`summary`,`summary`)??``,occurredAt:Z(t,`occurredAt`,`occurred_at`)??``,personalProjectId:Z(t,`personalProjectId`,`personal_project_id`),assignmentId:Z(t,`assignmentId`,`assignment_id`),collaborators:Q(t.collaborators).map(dt),sourceApplication:Z(t,`sourceApplication`,`source_application`),actualExecution:r,actualModelProvider:Z(t,`actualModelProvider`,`actual_model_provider`),actualModel:Z(t,`actualModel`,`actual_model`)}}function Zt(e){let t=Y(e),n=Y(t.profile),r=Z(t,`agentId`,`agent_id`)??``,i=Z(t,`createdAt`,`created_at`)??``,a=Z(t,`updatedAt`,`updated_at`)??i,o={name:Z(n,`name`,`name`)??r,responsibility:Z(n,`responsibility`,`responsibility`)??``,capabilities:Q(n.capabilities).filter(e=>typeof e==`string`),initialPreferences:Q(X(n,`initialPreferences`,`initial_preferences`)).filter(e=>typeof e==`string`),status:Z(n,`status`,`status`)??`active`,occupationEmoji:Z(n,`occupationEmoji`,`occupation_emoji`),agentType:Z(n,`agentType`,`agent_type`),workKinds:Q(X(n,`workKinds`,`work_kinds`)).filter(e=>typeof e==`string`),defaultModelStrategy:ot(X(n,`defaultModelStrategy`,`default_model_strategy`)),executorPolicy:ct(X(n,`executorPolicy`,`executor_policy`)),allowedClients:Q(X(n,`allowedClients`,`allowed_clients`)).filter(e=>typeof e==`string`),testSource:Z(n,`testSource`,`test_source`),cleanupEligible:X(n,`cleanupEligible`,`cleanup_eligible`)===!0},s={agentId:r,personalSpaceId:Z(t,`personalSpaceId`,`personal_space_id`)??W.value,personalProjectId:Z(t,`personalProjectId`,`personal_project_id`),profile:o,createdAt:i,updatedAt:a};return{...s,memoryScope:Z(t,`memoryScope`,`memory_scope`)??void 0,assignments:Q(t.assignments).map(e=>ut(e,s)).filter(Boolean),recruitments:fa(t.recruitments??t.recruitmentHistory).filter(e=>pa(e,s)),recruitmentId:Z(t,`recruitmentId`,`recruitment_id`),temporaryTaskId:Z(t,`temporaryTaskId`,`temporary_task_id`),workStatus:Z(t,`workStatus`,`work_status`),openTaskCount:typeof t.openTaskCount==`number`?t.openTaskCount:typeof t.open_task_count==`number`?t.open_task_count:void 0,currentTaskId:Z(t,`currentTaskId`,`current_task_id`),observedClients:Q(t.observedClients??t.observed_clients).filter(e=>typeof e==`string`),recruitedAt:Z(t,`recruitedAt`,`recruited_at`),recruitmentReason:Z(t,`recruitmentReason`,`recruitment_reason`),recruitmentSourceApplication:Z(t,`recruitmentSourceApplication`,`recruitment_source_application`),isTestRole:!!o.testSource||o.cleanupEligible||t.isTestRole===!0||t.is_test_role===!0,tasks:Q(t.tasks??t.taskHistory).map(_t).filter(Boolean),activity:Jt(t.activity),clientEvidence:ma(t.clientEvidence??t.client_evidence),routingRules:ha(t.routingRules??t.routing_rules),learningEvidence:la(t.learningEvidence??t.learning_evidence)}}function Qt(e){let t=Y(e),n=Z(t,`client`,`client`);if(!n)return null;let r=Y(X(t,`actualUse`,`actual_use`));return{client:n,allowed:t.allowed===!0,integrationStatus:Z(t,`integrationStatus`,`integration_status`)??void 0,actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:Z(r,`lastUsedAt`,`last_used_at`)}:null}}function $t(e,t){let n=Y(e);return Q(Array.isArray(e)?e:n.assignments??n.items).map(e=>ut(e,t)).filter(e=>!!e)}function oa(e){let t=Y(e),n=Z(t,`provider`,`provider`),r=Z(t,`model`,`model`);return!n||!r?null:{provider:n,model:r,capabilities:Q(t.capabilities).filter(e=>typeof e==`string`),available:typeof t.available==`boolean`?t.available:void 0,strategyModes:Q(X(t,`strategyModes`,`strategy_modes`)).filter(e=>typeof e==`string`),reasoningEfforts:Q(X(t,`reasoningEfforts`,`reasoning_efforts`)).filter(e=>typeof e==`string`),observedAt:Z(t,`observedAt`,`observed_at`),unavailableReason:Z(t,`unavailableReason`,`unavailable_reason`)}}function sa(e){let t=Y(e);return Q(Array.isArray(e)?e:t.executors??t.items).map(e=>{let t=Y(e),n=Z(t,`executorId`,`executor_id`);if(!n)return null;let r=Y(X(t,`actualUse`,`actual_use`));return{executorId:n,label:Z(t,`label`,`label`),provider:Z(t,`provider`,`provider`),model:Z(t,`model`,`model`),client:Z(t,`client`,`client`),availabilityStatus:Z(t,`availabilityStatus`,`availability_status`),personalSpaceId:Z(t,`personalSpaceId`,`personal_space_id`),displayName:Z(t,`displayName`,`display_name`),executorKind:Z(t,`executorKind`,`executor_kind`),capabilities:Q(X(t,`capabilities`,`capabilities`)).filter(e=>typeof e==`string`),globalPriority:typeof X(t,`globalPriority`,`global_priority`)==`number`?X(t,`globalPriority`,`global_priority`):null,healthRequired:X(t,`healthRequired`,`health_required`)===!0,registrationStatus:Z(t,`registrationStatus`,`registration_status`),permissionStatus:Z(t,`permissionStatus`,`permission_status`),preflightStatus:Z(t,`preflightStatus`,`preflight_status`),healthStatus:Z(t,`healthStatus`,`health_status`),workspacePermission:typeof X(t,`workspacePermission`,`workspace_permission`)==`boolean`?X(t,`workspacePermission`,`workspace_permission`):null,revision:typeof t.revision==`number`?t.revision:void 0,permissionRevision:typeof X(t,`permissionRevision`,`permission_revision`)==`number`?X(t,`permissionRevision`,`permission_revision`):void 0,registeredAt:Z(t,`registeredAt`,`registered_at`),updatedAt:Z(t,`updatedAt`,`updated_at`),testSource:Z(t,`testSource`,`test_source`),cleanupEligible:X(t,`cleanupEligible`,`cleanup_eligible`)===!0,advertisedModels:Q(X(t,`advertisedModels`,`advertised_models`)).map(oa).filter(e=>e!==null),availableModels:Q(X(t,`availableModels`,`available_models`)).map(oa).filter(e=>e!==null),actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:Z(r,`lastUsedAt`,`last_used_at`)}:null}}).filter(e=>e!==null)}function ca(e){let t=Y(e),n=Z(t,`ruleId`,`rule_id`);if(!n)return null;let r=Z(t,`status`,`status`);return{ruleId:n,scope:Z(t,`scope`,`scope`)??`global`,priority:typeof t.priority==`number`?t.priority:0,personalProjectId:Z(t,`personalProjectId`,`personal_project_id`),taskId:Z(t,`taskId`,`task_id`),workKind:Z(t,`workKind`,`work_kind`),agentId:Z(t,`agentId`,`agent_id`),enabled:t.enabled!==!1&&(!r||r===`active`),executorIds:Q(X(t,`executorIds`,`executor_ids`)).filter(e=>typeof e==`string`),requiredCapabilities:Q(X(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),modelStrategy:ot(X(t,`modelStrategy`,`model_strategy`)),reason:Z(t,`reason`,`reason`),revision:typeof t.revision==`number`?t.revision:void 0,status:r??void 0,createdAt:Z(t,`createdAt`,`created_at`),updatedAt:Z(t,`updatedAt`,`updated_at`)}}function la(e){let t=Y(e),n=Array.isArray(e)?e:t.learningEvidence??t.learning_evidence??t.items,r=(Array.isArray(n)?n:Object.values(Y(n))).map((e,t)=>{let n=Y(e),r=Z(n,`personalProjectId`,`personal_project_id`),i=Z(n,`workKind`,`work_kind`),a=Z(n,`executorId`,`executor_id`)??Z(n,`executor`,`executor`),o=ot(X(n,`modelStrategy`,`model_strategy`)),s=Z(n,`modelStrategyKey`,`model_strategy_key`),c=s??[r,i,a,String(t)].filter(Boolean).join(`:`),l=Q(X(n,`evidenceContributions`,`evidence_contributions`)).map(e=>{let t=Y(e),n=Z(t,`signal`,`signal`),r=Z(t,`evidenceKind`,`evidence_kind`)??`evidence`,i=typeof X(t,`decayWeight`,`decay_weight`)==`number`?X(t,`decayWeight`,`decay_weight`):null;return{evidenceId:Z(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:Z(t,`occurredAt`,`occurred_at`)}}),u=typeof X(n,`weightedSuccess`,`weighted_success`)==`number`?X(n,`weightedSuccess`,`weighted_success`):0,d=typeof X(n,`weightedFailure`,`weighted_failure`)==`number`?X(n,`weightedFailure`,`weighted_failure`):0,f=X(n,`halfLife`,`decay_half_life_days`);return[c,{learningKey:c,personalProjectId:r,workKind:i,executor:a,modelStrategy:o,modelStrategyKey:s,sampleCount:typeof X(n,`sampleCount`,`sample_count`)==`number`?X(n,`sampleCount`,`sample_count`):0,recentWeightedSamples:typeof X(n,`recentCount`,`recent_count`)==`number`?X(n,`recentCount`,`recent_count`):null,decayBasis:typeof f==`number`?`half-life ${f}d`:null,updatedAt:Z(n,`asOf`,`as_of`)??Z(n,`updatedAt`,`updated_at`),outcomes:{success:typeof X(n,`successCount`,`success_count`)==`number`?X(n,`successCount`,`success_count`):void 0,rework:typeof X(n,`reworkCount`,`rework_count`)==`number`?X(n,`reworkCount`,`rework_count`):void 0,failure:typeof X(n,`failureCount`,`failure_count`)==`number`?X(n,`failureCount`,`failure_count`):void 0,scoreCount:typeof X(n,`ratingCount`,`rating_count`)==`number`?X(n,`ratingCount`,`rating_count`):void 0},evidence:l,score:u-d,neutral:X(n,`neutralDueToInsufficientEvidence`,`neutral_due_to_insufficient_evidence`)===!0}]});return Object.fromEntries(r)}function ua(e){let t=Y(e);return Q(Array.isArray(e)?e:t.tasks??t.items).map(_t).filter(Boolean)}function da(e){let t=Y(e),n=Z(t,`recruitmentId`,`recruitment_id`);return n?{recruitmentId:n,personalSpaceId:Z(t,`personalSpaceId`,`personal_space_id`)??W.value,personalProjectId:Z(t,`personalProjectId`,`personal_project_id`)??``,taskId:Z(t,`taskId`,`task_id`)??``,coordinatorAgentId:Z(t,`coordinatorAgentId`,`coordinator_agent_id`)??``,hrAgentId:Z(t,`hrAgentId`,`hr_agent_id`),positionKind:Z(t,`positionKind`,`position_kind`)??`durable`,workKind:Z(t,`workKind`,`work_kind`)??``,requiredCapabilities:Q(X(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),reasonCode:Z(t,`reasonCode`,`reason_code`)??``,reason:Z(t,`reason`,`reason`)??``,status:Z(t,`status`,`status`)??`unknown`,confirmationMode:Z(t,`confirmationMode`,`confirmation_mode`),proposedAgentId:Z(t,`proposedAgentId`,`proposed_agent_id`)??``,revision:typeof t.revision==`number`?t.revision:void 0,recruitedAgentId:Z(t,`recruitedAgentId`,`recruited_agent_id`),triggerSourceApplication:Z(t,`triggerSourceApplication`,`trigger_source_application`),triggerSourceSessionId:Z(t,`triggerSourceSessionId`,`trigger_source_session_id`),testSource:Z(t,`testSource`,`test_source`),cleanupEligible:X(t,`cleanupEligible`,`cleanup_eligible`)===!0,createdAt:Z(t,`createdAt`,`created_at`)??``,updatedAt:Z(t,`updatedAt`,`updated_at`)??``,fulfilledAt:Z(t,`fulfilledAt`,`fulfilled_at`)}:null}function fa(e){let t=Y(e);return Q(Array.isArray(e)?e:t.recruitments??t.items).map(da).filter(e=>!!e)}function pa(e,t){return e.recruitedAgentId===t.agentId||e.proposedAgentId===t.agentId||e.recruitmentId===t.recruitmentId}function ma(e){let t=Y(e);return Q(Array.isArray(e)?e:t.clients??t.executors??t.items).map(Qt).filter(Boolean)}function ha(e){let t=Y(e);return Q(Array.isArray(e)?e:t.rules??t.items).map(ca).filter(Boolean)}function ga(e){let t=Y(e);return la(t.learningEvidence??t.learning_evidence??e)}function _a(e){let t=new Map;return e.map(Zt).forEach(e=>{let n=t.get(e.agentId);if(!n){t.set(e.agentId,e);return}let r=[...J(n),...J(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:ya([...n.profile.capabilities,...e.profile.capabilities]),workKinds:ya([...n.profile.workKinds??[],...e.profile.workKinds??[]]),defaultModelStrategy:n.profile.defaultModelStrategy??e.profile.defaultModelStrategy,executorPolicy:n.profile.executorPolicy??e.profile.executorPolicy,allowedClients:ya([...n.profile.allowedClients??[],...e.profile.allowedClients??[]])},assignments:va(r,({assignmentId:e})=>e),recruitments:va([...n.recruitments??[],...e.recruitments??[]],({recruitmentId:e})=>e),tasks:va(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:ya([...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 va(e,t){return[...new Map(e.map(e=>[t(e),e])).values()]}function ya(e){return[...new Set(e)]}return(e,n)=>(g(),O(`section`,{class:`view project-agents-view`,"aria-label":p(d)(`projectAgents.aria`)},[m(`header`,nn,[m(`div`,null,[m(`h2`,null,S(p(d)(`projectAgents.title`)),1),m(`p`,rn,S(p(d)(`projectAgents.stats.total`,{count:_.value.length}))+` · `+S(p(d)(`projectAgents.stats.assignments`,{count:Se.value}))+` · `+S(p(d)(`projectAgents.stats.projects`,{count:Ce.value})),1)]),m(`button`,{class:`project-agent-add`,type:`button`,disabled:!W.value,onClick:$e},S(p(d)(`projectAgents.add`)),9,an)]),m(`div`,on,[m(`span`,null,S(p(d)(`projectAgents.stats.active`,{count:xe.value})),1),m(`span`,null,S(p(d)(`projectAgents.stats.noOnlineClaim`)),1)]),m(`div`,sn,[c(ne,{modelValue:C.value,"onUpdate:modelValue":n[0]||=e=>C.value=e,class:`project-agents-project-filter`,"control-id":`project-agent-filter`,options:ve.value,label:p(d)(`projectAgents.projectFilter`)},null,8,[`modelValue`,`options`,`label`]),m(`label`,cn,[m(`span`,ln,S(p(d)(`projectAgents.searchLabel`)),1),t(m(`input`,{"onUpdate:modelValue":n[1]||=e=>P.value=e,type:`search`,placeholder:p(d)(`projectAgents.searchPlaceholder`)},null,8,un),[[T,P.value]])]),m(`div`,{class:`project-agents-status-filter`,"aria-label":p(d)(`projectAgents.fields.status`)},[(g(!0),O(y,null,a(ye.value,e=>(g(),O(`button`,{key:e.value,type:`button`,"aria-pressed":ee.value===e.value,onClick:t=>ee.value=e.value},S(e.label),9,fn))),128))],8,dn)]),C.value===`all`?E(``,!0):(g(),u(et,{key:C.value,"personal-space-id":W.value,"personal-project-id":C.value,"project-name":Xe(C.value)},null,8,[`personal-space-id`,`personal-project-id`,`project-name`])),v.value?(g(),O(`div`,pn,S(p(d)(`projectAgents.loading`)),1)):x.value?(g(),O(`div`,mn,[m(`p`,null,S(x.value),1),m(`button`,{class:`quiet-button`,type:`button`,onClick:n[2]||=e=>ke()},S(p(d)(`projectAgents.retry`)),1)])):_.value.length?be.value.length?(g(),O(`div`,vn,[m(`div`,{class:`project-agent-list`,role:`list`,"aria-label":p(d)(`projectAgents.listLabel`)},[(g(!0),O(y,null,a(be.value,e=>(g(),O(`button`,{key:e.agentId,type:`button`,class:w([`project-agent-row`,{selected:F.value===e.agentId}]),"aria-current":F.value===e.agentId?`true`:void 0,onClick:t=>F.value=e.agentId},[m(`span`,xn,[e.profile.occupationEmoji?(g(),O(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${p(d)(`projectAgents.fields.occupationEmoji`)}: ${e.profile.occupationEmoji}`},S(e.profile.occupationEmoji),9,Sn)):E(``,!0),m(`strong`,null,S(e.profile.name),1),m(`i`,Cn,S(Nt(e.profile.agentType)),1),m(`i`,{class:w(`is-${e.profile.status}`)},S(p(d)(`projectAgents.status.${e.profile.status}`)),3)]),m(`span`,wn,S(e.agentId),1),m(`span`,Tn,[(g(!0),O(y,null,a(J(e),e=>(g(),O(`b`,{key:e.assignmentId},S(Xe(e.personalProjectId)),1))),128)),J(e).length?E(``,!0):(g(),O(`em`,En,S(p(d)(`projectAgents.notReported`)),1))]),m(`span`,Dn,S(e.profile.responsibility||p(d)(`projectAgents.notReported`)),1),m(`span`,On,[jt(e)?(g(),O(y,{key:0},[m(`i`,{class:w([`project-agent-work-dot`,{"is-live":jt(e).status===`running`}]),"aria-hidden":`true`},null,2),D(S(Mt(jt(e).status))+` · `+S(jt(e).title),1)],64)):e.workStatus===`blocked`||e.workStatus===`queued`?(g(),O(y,{key:1},[D(S(Mt(e.workStatus))+` · `+S(p(d)(`projectAgents.detail.stateReported`)),1)],64)):(g(),O(y,{key:2},[D(S(p(d)(`projectAgents.detail.noRun`)),1)],64))]),m(`span`,kn,[(g(!0),O(y,null,a(e.profile.capabilities.slice(0,3),e=>(g(),O(`b`,{key:e},S(e),1))),128))])],10,bn))),128))],8,yn),G.value?(g(),O(`aside`,{key:0,class:`project-agent-detail`,"aria-label":G.value.profile.name},[m(`header`,null,[m(`div`,jn,[m(`h3`,null,[G.value.profile.occupationEmoji?(g(),O(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${p(d)(`projectAgents.fields.occupationEmoji`)}: ${G.value.profile.occupationEmoji}`},S(G.value.profile.occupationEmoji),9,Mn)):E(``,!0),D(S(G.value.profile.name),1)]),m(`p`,null,[D(S(G.value.agentId)+` · `+S(Nt(G.value.profile.agentType)),1),G.value.isTestRole?(g(),O(`span`,Nn,[D(` · `+S(p(d)(`projectAgents.source.testRole`)),1),G.value.profile.testSource?(g(),O(`span`,Pn,` · `+S(G.value.profile.testSource),1)):E(``,!0)])):E(``,!0)])]),m(`div`,Fn,[m(`button`,{class:`quiet-button`,type:`button`,disabled:z.value,onClick:n[3]||=e=>K()},S(z.value?p(d)(`projectAgents.detail.refreshing`):p(d)(`projectAgents.detail.refresh`)),9,In),m(`button`,{class:`quiet-button`,type:`button`,onClick:n[4]||=e=>tt(G.value)},S(p(d)(`projectAgents.edit`)),1),G.value.profile.cleanupEligible?(g(),O(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:z.value,onClick:n[5]||=e=>Je(G.value)},S(p(d)(`projectAgents.source.cleanup`)),9,Ln)):E(``,!0)])]),V.value?(g(),O(`p`,Rn,S(V.value),1)):E(``,!0),m(`dl`,zn,[m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.assignments`)),1),m(`dd`,null,S(J(G.value).length),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.memoryScope`)),1),m(`dd`,null,S(G.value.memoryScope??p(d)(`projectAgents.notReported`)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.status`)),1),m(`dd`,null,S(p(d)(`projectAgents.status.${G.value.profile.status}`)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.recruitment`)),1),m(`dd`,null,[D(S(Pt(G.value.recruitmentSourceApplication)),1),G.value.recruitmentReason?(g(),O(`small`,Bn,S(G.value.recruitmentReason),1)):E(``,!0)])]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.updatedAt`)),1),m(`dd`,null,S(ht(G.value.updatedAt)),1)])]),m(`div`,Vn,[c(it,r(q(`recruitments`),{onRetry:K}),{default:k(()=>[m(`section`,Hn,[m(`div`,Un,[m(`h4`,Wn,S(p(d)(`projectAgents.sections.recruitment`)),1),m(`span`,null,S(Oe.value.length),1)]),Oe.value.length?(g(),O(`div`,Gn,[(g(!0),O(y,null,a(Oe.value,e=>(g(),O(`article`,{key:e.recruitmentId,class:`project-agent-recruitment-card`},[m(`header`,null,[m(`strong`,null,S(e.positionKind)+` · `+S(e.workKind||p(d)(`projectAgents.notReported`)),1),m(`div`,Kn,[m(`i`,null,S(e.status),1),e.status===`awaiting_confirmation`?(g(),O(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!U.value,onClick:t=>Re(e,`approve`)},S(p(d)(`projectAgents.recruitment.approve`)),9,qn)):E(``,!0),e.status===`awaiting_confirmation`?(g(),O(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!U.value,onClick:t=>Re(e,`cancel`)},S(p(d)(`projectAgents.recruitment.cancel`)),9,Jn)):E(``,!0)])]),m(`dl`,Yn,[m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.recruitment.hr`)),1),m(`dd`,null,S(e.hrAgentId||p(d)(`projectAgents.notReported`)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.recruitment.trigger`)),1),m(`dd`,null,S(Pt(e.triggerSourceApplication)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.recruitment.reason`)),1),m(`dd`,null,S(e.reason||e.reasonCode||p(d)(`projectAgents.notReported`)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.recruitment.time`)),1),m(`dd`,null,S(ht(e.fulfilledAt||e.createdAt)),1)])]),m(`small`,null,S(p(d)(`projectAgents.recruitment.testSource`))+` · `+S(e.testSource||p(d)(`projectAgents.notReported`)),1)]))),128))])):(g(),O(`p`,Xn,S(p(d)(`projectAgents.recruitment.empty`)),1))])]),_:1},16)]),m(`section`,Zn,[m(`h4`,null,S(p(d)(`projectAgents.fields.responsibility`)),1),m(`p`,null,S(G.value.profile.responsibility||p(d)(`projectAgents.notReported`)),1),G.value.profile.capabilities.length?(g(),O(`div`,Qn,[(g(!0),O(y,null,a(G.value.profile.capabilities,e=>(g(),O(`span`,{key:e},S(e),1))),128))])):E(``,!0)]),m(`div`,$n,[c(it,r(q(`assignments`),{onRetry:K}),{default:k(()=>[m(`section`,er,[m(`div`,tr,[m(`h4`,null,S(p(d)(`projectAgents.sections.assignments`)),1),m(`div`,nr,[m(`span`,null,S(J(G.value).length),1),m(`button`,{class:`quiet-button`,type:`button`,onClick:n[6]||=e=>rt(G.value)},S(p(d)(`projectAgents.assignmentDialog.assign`)),1)])]),J(G.value).length?(g(),O(`div`,rr,[(g(!0),O(y,null,a(J(G.value),e=>(g(),O(`article`,{key:e.assignmentId,class:`project-agent-assignment-card`},[m(`header`,null,[m(`strong`,null,S(Xe(e.personalProjectId)),1),m(`div`,ir,[m(`i`,{class:w(`is-${e.status}`)},S(p(d)(`projectAgents.assignmentStatus.${e.status}`)),3),e.status===`active`?(g(),O(`button`,{key:0,class:`quiet-button`,type:`button`,onClick:t=>rt(G.value,e,`end`)},S(p(d)(`projectAgents.assignmentDialog.end`)),9,ar)):E(``,!0),e.status===`active`?(g(),O(`button`,{key:1,class:`quiet-button`,type:`button`,onClick:t=>rt(G.value,e,`replace`)},S(p(d)(`projectAgents.assignmentDialog.replace`)),9,or)):E(``,!0)])]),m(`p`,null,S(e.responsibility||p(d)(`projectAgents.notReported`)),1),e.scope?(g(),O(`small`,sr,S(p(d)(`projectAgents.fields.scope`))+` · `+S(e.scope),1)):E(``,!0),m(`small`,null,S(ht(e.assignedAt))+` → `+S(e.endedAt?ht(e.endedAt):p(d)(`projectAgents.assignmentStatus.active`)),1),e.workKinds?.length?(g(),O(`div`,cr,[(g(!0),O(y,null,a(e.workKinds,e=>(g(),O(`span`,{key:e},S(e),1))),128))])):E(``,!0),m(`div`,lr,[m(`span`,null,S(p(d)(`projectAgents.fields.assignmentModel`)),1),m(`strong`,null,S(xt(e.modelStrategyOverride))+` · `+S(St(e.executorPolicyOverride)),1),Ct(e.executorPolicyOverride)&&!wt(e.executorPolicyOverride).length?(g(),O(`small`,ur,S(p(d)(`projectAgents.strategy.lockedUnavailable`)),1)):E(``,!0)]),wt(e.executorPolicyOverride).length?(g(),O(`div`,dr,[(g(!0),O(y,null,a(wt(e.executorPolicyOverride),e=>(g(),O(`span`,{key:e.executorId},S(e.label||e.executorId),1))),128))])):E(``,!0),e.reason?(g(),O(`small`,fr,S(p(d)(`projectAgents.fields.reason`))+` · `+S(e.reason),1)):E(``,!0)]))),128))])):(g(),O(`p`,pr,S(p(d)(`projectAgents.detail.noAssignments`)),1))])]),_:1},16)]),m(`div`,mr,[c(it,r(q(`executors`),{onRetry:K}),{default:k(()=>[m(`section`,hr,[m(`div`,gr,[m(`h4`,null,S(p(d)(`projectAgents.sections.strategy`)),1),m(`span`,null,S(xt(G.value.profile.defaultModelStrategy))+` · `+S(St(G.value.profile.executorPolicy)),1)]),m(`p`,_r,S(p(d)(`projectAgents.strategy.providerNeutral`)),1),wt(G.value.profile.executorPolicy).length?(g(),O(`div`,vr,[(g(!0),O(y,null,a(wt(G.value.profile.executorPolicy),e=>(g(),O(`span`,{key:e.executorId},S(e.label||e.executorId),1))),128))])):Ct(G.value.profile.executorPolicy)?(g(),O(`p`,yr,S(p(d)(`projectAgents.strategy.lockedUnavailable`)),1)):(g(),O(`p`,br,S(p(d)(`projectAgents.strategy.noAllowList`)),1)),m(`div`,xr,[m(`button`,{class:`quiet-button`,type:`button`,onClick:n[7]||=e=>Be()},S(p(d)(`projectAgents.routing.addExecutor`)),1)]),G.value.executorDirectory?.length?(g(),O(`div`,Sr,[(g(!0),O(y,null,a(G.value.executorDirectory,e=>(g(),O(`div`,{key:e.executorId,class:`project-agent-executor-row`},[m(`strong`,null,S(e.displayName||e.label||e.executorId),1),m(`span`,null,S(e.provider||p(d)(`projectAgents.notReported`))+` / `+S(e.model||p(d)(`projectAgents.notReported`)),1),m(`span`,null,S(e.globalPriority??p(d)(`projectAgents.notReported`)),1),m(`small`,null,S(e.registrationStatus||p(d)(`projectAgents.notReported`))+` · `+S(e.permissionStatus||p(d)(`projectAgents.notReported`))+` · `+S(e.preflightStatus||p(d)(`projectAgents.strategy.availabilityUnreported`))+` · `+S(e.healthStatus||p(d)(`projectAgents.notReported`)),1),m(`button`,{class:`quiet-button`,type:`button`,onClick:t=>Be(e)},S(p(d)(`projectAgents.routing.editExecutor`)),9,Cr),e.permissionStatus===`authorized`?(g(),O(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!oe.value,onClick:t=>ze(e,`revoked`)},S(p(d)(`projectAgents.routing.revoke`)),9,Tr)):(g(),O(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!oe.value,onClick:t=>ze(e,`authorized`)},S(p(d)(`projectAgents.routing.authorize`)),9,wr))]))),128))])):E(``,!0)])]),_:1},16)]),m(`div`,Er,[c(it,r(q(`tasks`),{onRetry:K}),{default:k(()=>[m(`section`,Dr,[m(`div`,Or,[m(`h4`,null,S(p(d)(`projectAgents.sections.tasks`)),1),m(`span`,null,S(G.value.tasks?.length??0),1)]),G.value.tasks?.length?(g(),O(`div`,kr,[(g(!0),O(y,null,a(G.value.tasks,e=>(g(),O(`article`,{key:e.taskId,class:`project-agent-task-card`},[m(`header`,null,[m(`div`,null,[m(`strong`,null,S(e.title),1),m(`small`,null,S(e.taskId)+` · `+S(Xe(e.personalProjectId)),1)]),m(`i`,{class:w(`is-${e.status}`)},S(Mt(e.status)),3)]),e.resultSummary||e.failureReason?(g(),O(`p`,Ar,S(e.resultSummary||e.failureReason),1)):E(``,!0),m(`small`,null,S(p(d)(`projectAgents.fields.collaborators`))+` · `+S(e.participants.length),1),e.participants.length?(g(),O(`div`,jr,[(g(!0),O(y,null,a(e.participants,t=>(g(),O(`span`,{key:`${e.taskId}:${t.agentId}`},S(t.agentId)+` · `+S(t.role),1))),128))])):E(``,!0),e.executionSummary===void 0?E(``,!0):(g(),O(`section`,{key:2,class:`project-agent-execution-summary`,"aria-label":p(d)(`projectAgents.fields.executionSummary`)},[m(`div`,Nr,[m(`h5`,null,S(p(d)(`projectAgents.fields.executionSummary`)),1),m(`span`,null,S(e.executionSummary.length),1)]),e.executionSummary.length?(g(),O(`ul`,Pr,[(g(!0),O(y,null,a(e.executionSummary,(t,n)=>(g(),O(`li`,{key:`${e.taskId}:execution:${t.workerId||t.agentId||n}`,class:`project-agent-execution-summary-row`},[m(`header`,null,[m(`strong`,null,[kt(t)?(g(),O(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${p(d)(`projectAgents.fields.occupationEmoji`)}: ${kt(t)}`},S(kt(t)),9,Fr)):E(``,!0),D(S(Ot(t)),1),t.agentId||t.workerId?(g(),O(`small`,Ir,S(t.workerId||t.agentId),1)):E(``,!0)]),t.status?(g(),O(`i`,{key:0,class:w(`is-${t.status}`)},S(At(t.status)),3)):E(``,!0)]),m(`dl`,Lr,[m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.executionEnvironment`)),1),m(`dd`,null,[D(S(t.executor||p(d)(`projectAgents.notReported`)),1),t.executorId&&t.executorId!==t.executor?(g(),O(`small`,Rr,S(p(d)(`projectAgents.fields.executorId`))+` · `+S(t.executorId),1)):E(``,!0)])]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.participantRole`)),1),m(`dd`,null,S(t.participantRole||p(d)(`projectAgents.notReported`)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.sourceApplication`)),1),m(`dd`,null,S(Pt(t.sourceApplication)),1)]),t.actualModelProvider||t.actualModel?(g(),O(`div`,zr,[m(`dt`,null,S(p(d)(`projectAgents.fields.actualModel`)),1),m(`dd`,null,[t.actualModelProvider?(g(),O(`span`,Br,S(t.actualModelProvider),1)):E(``,!0),t.actualModelProvider&&t.actualModel?(g(),O(`span`,Vr,` · `)):E(``,!0),t.actualModel?(g(),O(`span`,Hr,S(t.actualModel),1)):E(``,!0)])])):E(``,!0),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.workSummary`)),1),m(`dd`,null,S(t.workSummary||p(d)(`projectAgents.notReported`)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.terminalStatus`)),1),m(`dd`,null,S(At(t.status)),1)])])]))),128))])):(g(),O(`p`,Ur,S(p(d)(`projectAgents.detail.noExecutionSummary`)),1))],8,Mr)),p(vt)(e).length?(g(),O(`section`,{key:3,class:`project-agent-worker-event-evidence`,"aria-label":p(d)(`projectAgents.fields.workerEventEvidence`)},[m(`div`,Gr,[m(`h5`,null,S(p(d)(`projectAgents.fields.workerEventEvidence`)),1),m(`span`,null,S(p(vt)(e).length),1)]),m(`ul`,Kr,[(g(!0),O(y,null,a(p(vt)(e),t=>(g(),O(`li`,{key:`${e.taskId}:worker-event:${t.eventId}`,class:`project-agent-execution-summary-row`},[m(`header`,null,[m(`strong`,null,[Et(t)?(g(),O(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${p(d)(`projectAgents.fields.occupationEmoji`)}: ${Et(t)}`},S(Et(t)),9,qr)):E(``,!0),D(S(Tt(t)),1),t.agentId?(g(),O(`small`,Jr,S(p(d)(`projectAgents.fields.agentId`))+` · `+S(t.agentId),1)):E(``,!0)]),m(`i`,{class:w(`is-${t.workerStatus||t.status}`)},S(Dt(t)),3)]),m(`dl`,Yr,[m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.workSummary`)),1),m(`dd`,null,S(t.summary||p(d)(`projectAgents.notReported`)),1)]),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.sourceApplication`)),1),m(`dd`,null,S(Pt(t.sourceApplication)),1)]),t.actualModelProvider||t.actualModel?(g(),O(`div`,Xr,[m(`dt`,null,S(p(d)(`projectAgents.fields.actualModel`)),1),m(`dd`,null,[t.actualModelProvider?(g(),O(`span`,Zr,S(t.actualModelProvider),1)):E(``,!0),t.actualModelProvider&&t.actualModel?(g(),O(`span`,Qr,` · `)):E(``,!0),t.actualModel?(g(),O(`span`,$r,S(t.actualModel),1)):E(``,!0)])])):E(``,!0),m(`div`,null,[m(`dt`,null,S(p(d)(`projectAgents.fields.reportedAt`)),1),m(`dd`,null,S(ht(t.createdAt)),1)])])]))),128))])],8,Wr)):E(``,!0),e.effectiveModelStrategy?(g(),O(`small`,ei,S(p(d)(`projectAgents.fields.strategySource`))+` · `+S(e.modelStrategySource||p(d)(`projectAgents.notReported`))+` · `+S(xt(e.effectiveModelStrategy))+` · `+S(St(e.effectiveExecutorPolicy)),1)):E(``,!0),e.routingDecision?(g(),O(`div`,ti,[m(`div`,ni,[m(`span`,null,S(p(d)(`projectAgents.fields.reportedStaffingDecision`)),1),m(`strong`,null,S(e.routingDecision.outcome||p(d)(`projectAgents.notReported`)),1)]),e.routingDecision.coordinatorAgentId||e.coordinatorAgentId?(g(),O(`small`,ri,S(p(d)(`projectAgents.fields.coordinator`))+` · `+S(e.routingDecision.coordinatorAgentId||e.coordinatorAgentId),1)):E(``,!0),m(`small`,null,S(p(d)(`projectAgents.fields.matchBasis`))+` · `+S(e.routingDecision.matchBasis?.join(` · `)||p(d)(`projectAgents.notReported`))+` · `+S(e.routingDecision.reason||p(d)(`projectAgents.notReported`)),1),e.routingDecision.candidateAgentIds?.length?(g(),O(`small`,ii,S(p(d)(`projectAgents.fields.candidateAgents`))+` · `+S(e.routingDecision.candidateAgentIds.join(` · `)),1)):E(``,!0),e.routingDecision.complexity!==null&&e.routingDecision.complexity!==void 0?(g(),O(`small`,ai,[D(S(p(d)(`projectAgents.fields.complexity`))+` · `+S(e.routingDecision.complexity),1),e.routingDecision.complexityBasis?.length?(g(),O(`span`,oi,` · `+S(e.routingDecision.complexityBasis.join(` · `)),1)):E(``,!0)])):E(``,!0),p(yt)(e.routingDecision.parallelPlan)?(g(),O(`small`,si,[D(S(p(d)(`projectAgents.fields.parallelPlan`))+` · `+S(e.routingDecision.parallelPlan?.reason||p(d)(`projectAgents.notReported`)),1),e.routingDecision.parallelPlan?.workstreamBoundaries?.length?(g(),O(`span`,ci,` · `+S(e.routingDecision.parallelPlan.workstreamBoundaries.join(` · `)),1)):E(``,!0)])):E(``,!0),e.routingDecision.ruleId||e.routingDecision.fallback?(g(),O(`small`,li,S(e.routingDecision.ruleId||p(d)(`projectAgents.notReported`))+` · `+S(e.routingDecision.fallback||p(d)(`projectAgents.notReported`)),1)):E(``,!0)])):E(``,!0),m(`div`,ui,[m(`span`,null,S(p(d)(`projectAgents.fields.actualExecution`)),1),$(e)?(g(),O(`strong`,di,S($(e)?.executor||$(e)?.provider||p(d)(`projectAgents.notReported`))+` / `+S($(e)?.model||p(d)(`projectAgents.notReported`))+` / `+S(Pt($(e)?.client)),1)):(g(),O(`span`,fi,S(p(d)(`projectAgents.detail.notReportedActualExecution`)),1)),$(e)?.rule||$(e)?.fallback?(g(),O(`small`,pi,S($(e)?.rule||p(d)(`projectAgents.notReported`))+` · `+S($(e)?.fallback||p(d)(`projectAgents.notReported`)),1)):E(``,!0)]),e.runId?(g(),O(`small`,mi,S(p(d)(`projectAgents.fields.run`))+` · `+S(e.runId),1)):(g(),O(`small`,hi,S(p(d)(`projectAgents.detail.noRun`)),1))]))),128))])):(g(),O(`p`,gi,S(p(d)(`projectAgents.detail.noTasks`)),1))])]),_:1},16)]),m(`div`,_i,[c(it,r(q(`activity`),{onRetry:K}),{default:k(()=>[m(`section`,vi,[m(`div`,yi,[m(`h4`,null,S(p(d)(`projectAgents.sections.activity`)),1),Te.value?(g(),O(`span`,bi,S(Te.value.days.length),1)):E(``,!0)]),Te.value?.days.length?(g(),O(`div`,xi,[m(`div`,{class:`project-agent-heatmap`,role:`list`,"aria-label":p(d)(`projectAgents.activity.aria`)},[(g(!0),O(y,null,a(Te.value.days,e=>(g(),O(`button`,{key:e.date,type:`button`,role:`listitem`,class:w([`project-agent-heat-cell`,`intensity-${Ht(e,Te.value)}`,{selected:H.value===e.date}]),"aria-label":`${gt(e.date)} · ${e.total}`,"aria-pressed":H.value===e.date,onClick:t=>Ut(e)},[m(`span`,wi,S(gt(e.date))+` · `+S(e.total),1)],10,Ci))),128))],8,Si),Ee.value?(g(),O(`article`,Ti,[m(`header`,null,[m(`strong`,null,S(gt(Ee.value.date)),1),m(`span`,null,S(Ee.value.total),1)]),Ee.value.tasks?.length?(g(),O(`ul`,Di,[(g(!0),O(y,null,a(Ee.value.tasks,e=>(g(),O(`li`,{key:e.taskId},[m(`strong`,null,S(e.title),1),m(`span`,null,S(Mt(e.status))+` · `+S(Xe(e.personalProjectId)),1),m(`small`,null,S(e.summary||p(d)(`projectAgents.notReported`)),1)]))),128))])):(g(),O(`p`,Ei,S(p(d)(`projectAgents.activity.noTasks`)),1))])):E(``,!0)])):(g(),O(`p`,Oi,S(p(d)(`projectAgents.activity.empty`)),1))])]),_:1},16)]),m(`div`,ki,[c(it,r(q(`executors`),{onRetry:K}),{default:k(()=>[m(`section`,Ai,[m(`div`,ji,[m(`h4`,null,S(p(d)(`projectAgents.sections.clients`)),1),m(`span`,null,S(Ft(G.value).length),1)]),Ft(G.value).length?(g(),O(`div`,Mi,[(g(!0),O(y,null,a(Ft(G.value),e=>(g(),O(`div`,{key:e,class:`project-agent-client-row`},[m(`strong`,null,S(Pt(e)),1),m(`span`,null,S(It(G.value,e)?.allowed||G.value.profile.allowedClients?.includes(e)?p(d)(`projectAgents.clients.allowed`):p(d)(`projectAgents.clients.notAllowed`)),1),Lt(G.value,e)?(g(),O(`span`,Ni,S(p(d)(`projectAgents.clients.observed`,{count:Lt(G.value,e)})),1)):G.value.observedClients?.includes(e)?(g(),O(`span`,Pi,S(p(d)(`projectAgents.clients.observedAny`)),1)):(g(),O(`span`,Fi,S(p(d)(`projectAgents.clients.unreported`)),1)),m(`small`,null,S(It(G.value,e)?.integrationStatus||p(d)(`projectAgents.clients.integrationUnreported`)),1)]))),128))])):(g(),O(`p`,Ii,S(p(d)(`projectAgents.clients.empty`)),1))])]),_:1},16)]),m(`div`,Li,[c(it,r(q(`routingRules`),{onRetry:K}),{default:k(()=>[m(`section`,Ri,[m(`div`,zi,[m(`h4`,null,S(p(d)(`projectAgents.sections.routing`)),1),m(`div`,Bi,[m(`span`,null,S(G.value.routingRules?.length??0),1),m(`button`,{class:`quiet-button`,type:`button`,onClick:n[8]||=e=>Ve()},S(p(d)(`projectAgents.routing.addRule`)),1)])]),G.value.routingRules?.length?(g(),O(`div`,Vi,[(g(!0),O(y,null,a(G.value.routingRules,e=>(g(),O(`div`,{key:e.ruleId,class:`project-agent-rule-row`},[m(`strong`,null,S(e.scope)+` · `+S(e.priority),1),m(`span`,null,S(e.workKind||e.reason||p(d)(`projectAgents.notReported`))+` · `+S(e.executorIds?.join(`, `)||p(d)(`projectAgents.notReported`)),1),e.enabled?(g(),O(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!U.value,onClick:t=>qe(e)},S(p(d)(`projectAgents.routing.disable`)),9,Hi)):E(``,!0)]))),128))])):(g(),O(`p`,Ui,S(p(d)(`projectAgents.routing.empty`)),1)),m(`small`,Wi,S(p(d)(`projectAgents.routing.priorityNote`)),1)])]),_:1},16)]),m(`div`,Gi,[c(it,r(q(`learning`),{onRetry:K}),{default:k(()=>[m(`section`,Ki,[m(`div`,qi,[m(`h4`,null,S(p(d)(`projectAgents.sections.learning`)),1),m(`span`,null,S(De.value.length),1)]),De.value.length?(g(),O(`div`,Ji,[(g(!0),O(y,null,a(De.value,([e,n])=>(g(),O(`article`,{key:e,class:`project-agent-learning-card`},[m(`header`,null,[m(`strong`,null,S(e),1),m(`i`,null,S(zt(n)),1)]),n.personalProjectId||n.workKind||n.executor||n.modelStrategy?(g(),O(`small`,Yi,S(Xe(n.personalProjectId))+` · `+S(n.workKind||p(d)(`projectAgents.notReported`))+` · `+S(n.executor||p(d)(`projectAgents.notReported`))+` / `+S(n.modelStrategy?xt(n.modelStrategy):p(d)(`projectAgents.notReported`)),1)):E(``,!0),m(`p`,null,S(p(d)(`projectAgents.learning.samples`,{count:n.sampleCount}))+` · `+S(p(d)(`projectAgents.learning.recent`,{count:Bt(n)})),1),m(`small`,null,S(n.decayBasis||p(d)(`projectAgents.learning.decayUnreported`))+` · `+S(ht(n.updatedAt)),1),n.outcomes?(g(),O(`div`,Xi,[(g(!0),O(y,null,a(n.outcomes,(e,n)=>t((g(),O(`span`,{key:n},S(n)+` · `+S(e??p(d)(`projectAgents.notReported`)),1)),[[f,e!==void 0]])),128)),n.score!==null&&n.score!==void 0?(g(),O(`span`,Zi,S(p(d)(`projectAgents.learning.score`,{score:Vt(n)})),1)):E(``,!0)])):E(``,!0),n.evidence?.length?(g(),O(`ul`,Qi,[(g(!0),O(y,null,a(n.evidence,e=>(g(),O(`li`,{key:`${e.evidenceId}:${e.kind}:${e.occurredAt}`},[m(`span`,null,S(e.kind)+` · `+S(e.count??0)+` · `+S(e.summary||p(d)(`projectAgents.notReported`)),1),e.evidenceId?(g(),O(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:ae.value===e.evidenceId,onClick:t=>Le(n,`ignore`,e.evidenceId)},S(p(d)(`projectAgents.learning.ignore`)),9,$i)):E(``,!0)]))),128))])):E(``,!0),n.learningKey?(g(),O(`div`,ea,[m(`button`,{class:`quiet-button`,type:`button`,disabled:ae.value===n.learningKey||!n.personalProjectId||!n.workKind||!n.executor,onClick:e=>Le(n,`reset`)},S(p(d)(`projectAgents.learning.reset`)),9,ta)])):E(``,!0)]))),128))])):(g(),O(`p`,na,S(p(d)(`projectAgents.learning.empty`)),1)),m(`small`,ra,S(p(d)(`projectAgents.learning.note`)),1)])]),_:1},16)]),m(`section`,ia,[m(`h4`,null,S(p(d)(`projectAgents.sections.memory`)),1),m(`p`,null,S(G.value.memoryScope??p(d)(`projectAgents.notReported`)),1),m(`small`,null,S(p(d)(`projectAgents.detail.memoryNote`)),1)])],8,An)):(g(),O(`div`,aa,S(p(d)(`projectAgents.detail.choose`)),1))])):(g(),O(`div`,_n,[m(`strong`,null,S(p(d)(`projectAgents.noMatchTitle`)),1),m(`p`,null,S(p(d)(`projectAgents.noMatchCopy`)),1)])):(g(),O(`div`,hn,[m(`strong`,null,S(p(d)(`projectAgents.emptyTitle`)),1),m(`p`,null,S(p(d)(`projectAgents.emptyCopy`)),1),m(`button`,{class:`project-agent-add`,type:`button`,disabled:!W.value,onClick:$e},S(p(d)(`projectAgents.add`)),9,gn)])),c(en,{open:re.value,agent:I.value,projects:he.value,"default-project-id":we.value,"personal-space-id":W.value,onClose:nt,onSaved:mt},null,8,[`open`,`agent`,`projects`,`default-project-id`,`personal-space-id`]),c(ge,{open:L.value,agent:I.value,assignment:R.value,action:ie.value,projects:he.value,"available-agents":_.value,"default-project-id":we.value,onClose:st,onSaved:ft,onChanged:pt},null,8,[`open`,`agent`,`assignment`,`action`,`projects`,`available-agents`,`default-project-id`]),c(We,{open:se.value,mode:ce.value,"personal-space-id":W.value,executor:le.value,rule:ue.value,projects:he.value,"available-executors":G.value?.executorDirectory??[],onClose:He,onSaved:Ke},null,8,[`open`,`mode`,`personal-space-id`,`executor`,`rule`,`projects`,`available-executors`])],8,tn))}}),[[`__scopeId`,`data-v-5eac051f`]]);export{oa as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,C as n,I as r,L as ee,N as i,O as a,Y as o,a as s,et as c,g as l,h as u,j as d,k as f,m as p,n as m,p as h,rt as g,tt as _,u as v,v as y,y as b}from"./i18n-js6gfc7j.js";var x=[`data-select-id`],S=[`value`,`name`,`required`,`disabled`],C=[`value`,`disabled`],w=[`aria-expanded`,`aria-controls`,`aria-label`,`disabled`],T={class:`searchable-select-current`},E={class:`searchable-select-current-label`},D={key:0,class:`searchable-select-current-meta`},O=[`hidden`],k={key:0,class:`searchable-select-search`},te=[`placeholder`,`aria-label`],ne=[`id`],re=[`aria-selected`,`disabled`,`onClick`],ie={class:`searchable-select-option-copy`},ae={key:0},oe={key:1,class:`searchable-select-empty`},A=n({__name:`SearchableSelect`,props:{modelValue:{},options:{},label:{},controlId:{default:void 0},placeholder:{default:void 0},searchPlaceholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0}},emits:[`update:modelValue`,`change`],setup(n,{emit:A}){let j=n,M=A,N=o(null),P=o(null),F=o(null),I=o(null),L=o(!1),R=o(!1),z=o(``),B=r().replace(/[^A-Za-z0-9_-]/g,``),V=u(()=>j.label),H=u(()=>j.placeholder??s(`common.searchableSelect.placeholder`)),U=u(()=>j.searchPlaceholder??s(`common.searchableSelect.searchPlaceholder`)),W=u(()=>`${j.controlId||`searchable-select-${B}`}-options`),G=u(()=>j.options.find(({value:e})=>e===j.modelValue)??null),K=u(()=>j.searchable??j.options.length>5),q=u(()=>{let e=m(),t=z.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});ee(()=>j.disabled,e=>{e&&Y()}),e(()=>{document.addEventListener(`pointerdown`,X)}),f(()=>{document.removeEventListener(`pointerdown`,X)});async function se(){L.value?Y():await J()}async function J(){j.disabled||(z.value=``,pe(),L.value=!0,await a(),K.value?F.value?.focus():fe()?.focus())}function Y({restoreFocus:e=!1}={}){L.value=!1,R.value=!1,z.value=``,e&&a(()=>P.value?.focus())}function ce(e){j.disabled||e.disabled||(M(`update:modelValue`,e.value),M(`change`,e.value),Y({restoreFocus:!0}))}function le(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),J())}function ue(e){if(e.key===`Escape`){e.preventDefault(),Y({restoreFocus:!0});return}if(e.key===`ArrowDown`){e.preventDefault(),$()?.focus();return}e.key===`Enter`&&(e.preventDefault(),$()?.click())}function de(e){if(e.key===`Escape`){e.preventDefault(),Y({restoreFocus:!0});return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=Q(),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()}function X(e){L.value&&!N.value?.contains(e.target)&&Y()}function Z(e){let t=e.relatedTarget;t&&N.value?.contains(t)||queueMicrotask(()=>{L.value&&!N.value?.contains(document.activeElement)&&Y()})}function Q(){return[...I.value?.querySelectorAll(`.searchable-select-option:not(:disabled)`)??[]]}function $(){return Q()[0]??null}function fe(){return Q().find(e=>e.getAttribute(`aria-selected`)===`true`)??$()}function pe(){let e=P.value?.getBoundingClientRect();R.value=!!(e&&window.innerHeight-e.bottom<270&&e.top>270)}return(e,r)=>(d(),b(`div`,{ref_key:`root`,ref:N,class:_([`searchable-select`,{open:L.value,"open-up":R.value,disabled:n.disabled}]),"data-select-id":n.controlId,onFocusout:Z},[l(`select`,{class:`searchable-select-native`,value:n.modelValue,name:n.name,required:n.required,disabled:n.disabled,tabindex:`-1`,"aria-hidden":`true`},[(d(!0),b(p,null,i(n.options,e=>(d(),b(`option`,{key:e.value,value:e.value,disabled:e.disabled},g(e.label),9,C))),128))],8,S),l(`button`,{ref_key:`trigger`,ref:P,type:`button`,class:`searchable-select-trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":L.value,"aria-controls":W.value,"aria-label":V.value,disabled:n.disabled,onPointerdown:r[0]||=h(()=>{},[`stop`]),onClick:h(se,[`stop`]),onKeydown:le},[l(`span`,T,[l(`span`,E,g(G.value?.label||H.value),1),G.value?.meta?(d(),b(`small`,D,g(G.value.meta),1)):y(``,!0)]),r[3]||=l(`i`,{class:`searchable-select-arrow`,"aria-hidden":`true`},null,-1)],40,w),l(`div`,{class:`searchable-select-panel`,hidden:!L.value},[K.value?(d(),b(`div`,k,[t(l(`input`,{ref_key:`searchInput`,ref:F,"onUpdate:modelValue":r[1]||=e=>z.value=e,type:`search`,autocomplete:`off`,placeholder:U.value,"aria-label":c(s)(`common.searchableSelect.searchAria`,{label:V.value}),onKeydown:ue},null,40,te),[[v,z.value]])])):y(``,!0),l(`div`,{id:W.value,ref_key:`optionsList`,ref:I,class:`searchable-select-options`,role:`listbox`},[(d(!0),b(p,null,i(q.value,e=>(d(),b(`button`,{key:e.value,type:`button`,class:`searchable-select-option`,role:`option`,"aria-selected":e.value===n.modelValue,disabled:e.disabled,onMousedown:r[2]||=h(()=>{},[`prevent`]),onClick:t=>ce(e),onKeydown:de},[l(`span`,ie,[l(`strong`,null,g(e.label),1),e.meta?(d(),b(`small`,ae,g(e.meta),1)):y(``,!0)]),r[4]||=l(`i`,{class:`searchable-select-check`,"aria-hidden":`true`},null,-1)],40,re))),128))],8,ne),q.value.length===0?(d(),b(`p`,oe,g(c(s)(`common.searchableSelect.noMatches`)),1)):y(``,!0)],8,O)],42,x))}});export{A as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{J as e,Z as t,a as n}from"./i18n-js6gfc7j.js";import{r}from"./console-BT1P2Db4.js";var i=[`codex`,`claude_code`,`cursor`,`gemini_cli`,`kiro`,`other`],a={codex:`Codex`,claude_code:`Claude Code`,cursor:`Cursor`,gemini_cli:`Gemini CLI`,kiro:`Kiro`,other:`Other Agent`},o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,s=/^[^\u0000-\u001f\u007f]{1,512}$/,c=new Set([`about`,`blob`,`data`,`file`,`javascript`]),l={codex:{enabled:!0,idFormat:`uuid`,appName:`Codex`,urlTemplate:`codex://threads/{id}`},claude_code:{enabled:!1,idFormat:`any`,appName:`Claude Code`,urlTemplate:``},cursor:{enabled:!1,idFormat:`any`,appName:`Cursor`,urlTemplate:``},gemini_cli:{enabled:!1,idFormat:`any`,appName:`Gemini CLI`,urlTemplate:``},kiro:{enabled:!1,idFormat:`any`,appName:`Kiro`,urlTemplate:``},other:{enabled:!1,idFormat:`any`,appName:`Other Agent`,urlTemplate:``}};function u(e={}){let t=e.source_application?.trim().toLocaleLowerCase().replaceAll(`-`,`_`).replaceAll(` `,`_`);if(t&&a[t])return t;let n=`${e.source_kind??``} ${e.source_description??``}`.toLocaleLowerCase();return n.includes(`claude`)?`claude_code`:n.includes(`cursor`)?`cursor`:n.includes(`gemini`)?`gemini_cli`:n.includes(`kiro`)?`kiro`:n.includes(`codex`)?`codex`:`other`}function d(e){let t=u(e);return t===`other`?n(`knowledge.domain.actors.otherAgent`):a[t]}function f(e){return a[e]}function p(e={},t=l){if(m(e,t)!==`available`)return null;let n=t[u(e)],r=e.session_id.trim();return n.urlTemplate.replace(`{id}`,encodeURIComponent(r))}function m(e={},t=l){let n=t[u(e)];return n?.enabled?_(e.session_id?.trim()??``,n.idFormat)?v(n.urlTemplate)?`available`:`invalid_template`:`invalid_id`:`disabled`}function h(e={},t=l){let n=t[u(e)];return n?.enabled&&n.appName.trim()?n.appName.trim():null}async function g(e={},t=globalThis.navigator?.clipboard){return!e.session_id||!t?.writeText?!1:(await t.writeText(e.session_id),!0)}function _(e,t){return s.test(e)?t===`any`||o.test(e):!1}function v(e){if(e.split(`{id}`).length!==2||/\s/.test(e))return!1;let t=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLocaleLowerCase();return!!t&&!c.has(t)}var y=t(w(l)),b=null;function x(){return C(),e(y)}function S(e){y.value=w(e)}function C({force:e=!1}={}){return!e&&b||(b=r(`/api/system/settings`).then(e=>{S(e.configured.conversationLaunchers)}).catch(()=>void 0)),b}function w(e){return Object.fromEntries(i.map(t=>[t,{...l[t],...e?.[t]??{}}]))}export{d as a,p as c,g as i,x as n,f as o,i as r,h as s,S as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.brand-block[data-v-efd904c7]{appearance:none;isolation:isolate;width:100%;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:14px;align-items:center;gap:11px;padding:0 8px 22px;display:flex;position:relative}.brand-block[data-v-efd904c7]:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle,#f4c97033,#f4c97000 68%);border-radius:50%;width:58px;height:58px;position:absolute;top:-8px;left:0}.brand-block[data-v-efd904c7]:focus{outline:none}.brand-block.is-keyboard-focused .brand-mark-wrap[data-v-efd904c7]{border-radius:50%;box-shadow:0 0 0 2px #789084}.brand-mark-wrap[data-v-efd904c7]{flex:none;width:38px;height:38px;position:relative}.brand-mark[data-v-efd904c7]{object-fit:contain;width:38px;height:38px;display:block}.brand-orbit[data-v-efd904c7]{z-index:3;opacity:0;pointer-events:none;border-radius:50%;animation:.94s cubic-bezier(.2,.7,.22,1) both brand-orbit-travel-efd904c7;position:absolute;inset:-8px}.brand-orbit[data-v-efd904c7]:before{content:"";border-radius:inherit;background:conic-gradient(from 20deg, transparent 0 74%, #e6b14a00 79%, #e6b14a3d 87%, #fff4d3c7 96%, transparent 100%);position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px))}.brand-orbit[data-v-efd904c7]:after{content:"";background:radial-gradient(circle at 34% 30%,#fff 0 14%,#fff1c7 30%,#e8b653 58%,#e8b65300 74%);border-radius:50%;width:6px;height:6px;position:absolute;top:-2px;left:50%;transform:translate(-50%);box-shadow:0 0 6px #f4c668c7,0 0 14px #f4c66852}.brand-copy[data-v-efd904c7]{min-width:0;display:grid;position:relative}.brand-title-row[data-v-efd904c7]{align-items:baseline;gap:7px;display:flex}.brand-name[data-v-efd904c7]{letter-spacing:-.02em;font-size:18px;font-weight:700}.brand-version[data-v-efd904c7]{color:#8a928c;letter-spacing:.02em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:600}.brand-subtitle[data-v-efd904c7]{color:#747d76;margin-top:2px;font-size:10px}.brand-copy-reflection[data-v-efd904c7]{z-index:3;opacity:0;pointer-events:none;clip-path:polygon(-26% -20%,-8% -20%,-18% 120%,-36% 120%);will-change:clip-path, opacity;height:22px;animation:.62s cubic-bezier(.22,.66,.25,1) .62s both brand-copy-reflection-efd904c7;position:absolute;top:0;left:0;right:0}.brand-copy-reflection .brand-name[data-v-efd904c7],.brand-copy-reflection .brand-version[data-v-efd904c7]{color:#c89536;text-shadow:0 0 6px #efbe5d47}.brand-block.is-sparkling[data-v-efd904c7]:before{animation:1.05s ease-out both brand-halo-efd904c7}@keyframes brand-orbit-travel-efd904c7{0%{opacity:0;transform:rotate(-132deg)scale(.94)}18%{opacity:0}32%{opacity:1}72%{opacity:.9}to{opacity:0;transform:rotate(80deg)scale(1.01)}}@keyframes brand-copy-reflection-efd904c7{0%{opacity:0;clip-path:polygon(-26% -20%,-8% -20%,-18% 120%,-36% 120%)}14%{opacity:.86}78%{opacity:.68}to{opacity:0;clip-path:polygon(132% -20%,150% -20%,140% 120%,122% 120%)}}@keyframes brand-halo-efd904c7{0%{opacity:0;transform:scale(.72)}34%{opacity:1}to{opacity:0;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.brand-orbit[data-v-efd904c7]{display:none}.brand-block.is-sparkling[data-v-efd904c7]:before{animation:.28s ease-out both brand-reduced-halo-efd904c7}.brand-copy-reflection[data-v-efd904c7]{clip-path:inset(0);animation:.28s ease-out both brand-reduced-glint-efd904c7}@keyframes brand-reduced-halo-efd904c7{0%,to{opacity:0}45%{opacity:.72}}@keyframes brand-reduced-glint-efd904c7{0%,to{opacity:0}45%{opacity:.58}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#202522;font-synthesis:none;background:#f4f5f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;scrollbar-color:#b8c2bb transparent;scrollbar-width:thin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:#b8c2bb padding-box padding-box;border:1px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#98a69d}[hidden]{display:none!important}html,body{height:100%;overflow:hidden}body{min-width:1060px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:18px}h2{letter-spacing:-.025em;font-size:25px}h3{font-size:15px}.app-shell{grid-template-columns:240px 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{background:#eef0ed;border-right:1px solid #dce0db;flex-direction:column;height:100vh;padding:20px 14px 16px;display:flex;position:sticky;top:0}.primary-nav{gap:3px;display:grid}.nav-section-label{color:#939a94;letter-spacing:.12em;text-transform:uppercase;margin:0 10px 5px;font-size:9px;font-weight:700}.nav-space-label,.nav-tool-label,.nav-about-label{margin-top:16px}.primary-nav button{color:#505852;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:24px 1fr auto;align-items:center;width:100%;padding:9px 10px;font-size:13px;display:grid;position:relative}.primary-nav button:hover{background:#e4e7e3}.primary-nav button:focus-visible{outline-offset:1px;outline:2px solid #91a398}.primary-nav button[aria-pressed=true]{color:#243b31;background:#dde4df;font-weight:650}.primary-nav .space-nav-button{min-height:52px;padding-block:8px}.primary-nav .personal-space-button[aria-pressed=true]{color:#254234;background:#dde7e1}.primary-nav .public-space-button[aria-pressed=true]{color:#2c414d;background:#e0e6e9}.nav-copy{gap:2px;display:grid}.nav-copy strong{font-size:13px;font-weight:650}.nav-copy small{color:#858d87;font-size:9px;font-weight:500}.primary-nav #review-count{color:#fff;text-align:center;background:#b94e45;border-radius:9px;min-width:20px;padding:1px 6px;font-size:10px}.nav-icon{width:17px;height:17px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;display:inline-block}.nav-icon-overview{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%2085.333333c235.648%200%20426.666667%20191.018667%20426.666667%20426.666667s-191.018667%20426.666667-426.666667%20426.666667S85.333333%20747.648%2085.333333%20512%20276.352%2085.333333%20512%2085.333333z%20m0%2085.333334a341.333333%20341.333333%200%201%200%200%20682.666666%20341.333333%20341.333333%200%200%200%200-682.666666z%20m0%2042.666666c43.434667%200%2084.693333%209.258667%20121.941333%2025.941334L567.253333%20305.92a213.333333%20213.333333%200%200%200-206.08%20356.949333L300.8%20723.2l-6.656-6.869333A298.666667%20298.666667%200%200%201%20512%20213.333333z%20m272.725333%20176.768c16.64%2037.205333%2025.941333%2078.506667%2025.941334%20121.898667a297.728%20297.728%200%200%201-87.466667%20211.2l-60.330667-60.330667a213.674667%20213.674667%200%200%200%2055.253334-206.08l66.602666-66.688z%20m-91.733333-119.466666l60.373333%2060.330666-158.933333%20158.976A85.461333%2085.461333%200%200%201%20512%20597.333333a85.333333%2085.333333%200%201%201%2022.058667-167.765333l158.976-158.933333z'/%3e%3c/svg%3e")}.nav-icon-personal-profile{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M853.333333%200H170.666667C75.093333%200%200%2075.093333%200%20170.666667v682.666666c0%2095.573333%2075.093333%20170.666667%20170.666667%20170.666667h682.666666c95.573333%200%20170.666667-75.093333%20170.666667-170.666667V170.666667c0-95.573333-75.093333-170.666667-170.666667-170.666667z%20m102.4%20853.333333c0%2054.613333-47.786667%20102.4-102.4%20102.4H170.666667c-54.613333%200-102.4-47.786667-102.4-102.4V170.666667c0-54.613333%2047.786667-102.4%20102.4-102.4h682.666666c54.613333%200%20102.4%2047.786667%20102.4%20102.4v682.666666z%20m-238.933333-477.866666c0-116.053333-88.746667-204.8-204.8-204.8s-204.8%2088.746667-204.8%20204.8c0%2061.44%2027.306667%20116.053333%2068.266667%20157.013333-122.88%2040.96-204.8%20157.013333-204.8%20286.72%200%2020.48%2013.653333%2034.133333%2034.133333%2034.133333s34.133333-13.653333%2034.133333-34.133333c0-129.706667%20109.226667-238.933333%20238.933334-238.933333h34.133333c116.053333%200%20204.8-88.746667%20204.8-204.8z%20m-204.8%20136.533333c-75.093333%200-136.533333-61.44-136.533333-136.533333s61.44-136.533333%20136.533333-136.533334%20136.533333%2061.44%20136.533333%20136.533334-61.44%20136.533333-136.533333%20136.533333z%20m273.066667%20102.4h-204.8c-20.48%200-34.133333%2013.653333-34.133334%2034.133333s13.653333%2034.133333%2034.133334%2034.133334h204.8c20.48%200%2034.133333-13.653333%2034.133333-34.133334s-13.653333-34.133333-34.133333-34.133333z%20m0%20136.533333h-204.8c-20.48%200-34.133333%2013.653333-34.133334%2034.133334s13.653333%2034.133334%2034.133334%2034.133334h204.8c20.48%200%2034.133333-13.653333%2034.133333-34.133333s-13.653333-34.133333-34.133333-34.133334z'/%3e%3c/svg%3e")}.nav-icon-knowledge-organizer{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M870%20719.5c-23.6%200-46%205.5-65.9%2015.3L689.6%20620.3c19.3-31.7%2030.4-69%2030.4-108.8s-11.1-77-30.4-108.8l113.8-113.8c20.1%2010%2042.7%2015.6%2066.6%2015.6%2082.7%200%20150-67.3%20150-150s-67.3-150-150-150-150%2067.3-150%20150c0%2022.4%204.9%2043.6%2013.7%2062.7L618.9%20332c-31.8-19.3-69.1-30.5-108.9-30.5-39.8%200-77%2011.1-108.8%2030.4L289.1%20219.7c9.6-19.7%2014.9-41.9%2014.9-65.2%200-82.7-67.3-150-150-150S4%2071.8%204%20154.5s67.3%20150%20150%20150c22.9%200%2044.6-5.2%2064-14.4l112.5%20112.5c-19.3%2031.8-30.5%2069.1-30.5%20108.9%200%2039.8%2011.2%2077.1%2030.5%20108.9L217.3%20733.5c-19.3-9-40.7-14-63.3-14-82.7%200-150%2067.3-150%20150s67.3%20150%20150%20150%20150-67.3%20150-150c0-23.6-5.5-46-15.3-65.9l112.5-112.5c31.7%2019.3%2069%2030.4%20108.8%2030.4s77.1-11.2%20108.9-30.5L734%20806.2c-9%2019.3-14%2040.7-14%2063.3%200%2082.7%2067.3%20150%20150%20150s150-67.3%20150-150-67.3-150-150-150zm0-615c27.6%200%2050%2022.4%2050%2050s-22.4%2050-50%2050-50-22.4-50-50%2022.4-50%2050-50zm-766%2050c0-27.6%2022.4-50%2050-50s50%2022.4%2050%2050-22.4%2050-50%2050-50-22.4-50-50zm50%20765c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050zm246-408c0-60.7%2049.3-110%20110-110s110%2049.3%20110%20110-49.3%20110-110%20110-110-49.3-110-110zm470%20408c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050z'/%3e%3c/svg%3e")}.nav-icon-personal-project{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M800.2%20299.5H683.7l-7.8-32.1c-7.8-31.9-30.6-66.8-62.6-95.6-15.3-13.8-55.2-46-94.4-46h-293c-46.3%200-84%2042-84%2093.7v140.3h.2v456.4c0%2045.2%2036.7%2081.9%2081.9%2081.9h576.2c45.2%200%2081.9-36.7%2081.9-81.9V381.4c0-45.1-36.7-81.9-81.9-81.9zM211.9%20219.5c0-14.2%208.4-23.7%2014-23.7h293c5.4%200%2024.1%206.8%2047.5%2027.9%2021.2%2019.1%2037.1%2042.2%2041.5%2060.3l1.4%205.8H211.9v-70.3zm600.2%20596.8c0%206.4-5.4%2011.9-11.9%2011.9H224c-6.4%200-11.9-5.4-11.9-11.9V369.5h588.1c6.4%200%2011.9%205.4%2011.9%2011.9v434.9z'/%3e%3cpath%20d='M282.4%20486.3h70v70h-70zM282.4%20644.4h70v70h-70zM731.6%20486.3H442.1c-19.3%200-35%2015.7-35%2035s15.7%2035%2035%2035h289.5c19.3%200%2035-15.7%2035-35s-15.7-35-35-35zM731.6%20644.4H442.1c-19.3%200-35%2015.7-35%2035s15.7%2035%2035%2035h289.5c19.3%200%2035-15.7%2035-35s-15.7-35-35-35z'/%3e%3c/svg%3e")}.nav-icon-project-agent{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%2072c121.5%200%20220%2098.5%20220%20220%200%2066.5-29.5%20126-76.1%20166.4C752.7%20499.7%20820%20595.6%20820%20707v89c0%2025.4-20.6%2046-46%2046H250c-25.4%200-46-20.6-46-46v-89c0-111.4%2067.3-207.3%20164.1-248.6A219.5%20219.5%200%200%201%20292%20292C292%20170.5%20390.5%2072%20512%2072Zm0%2076c-79.5%200-144%2064.5-144%20144s64.5%20144%20144%20144%20144-64.5%20144-144-64.5-144-144-144Zm0%20364c-128.1%200-232%2087.3-232%20195v59h464v-59c0-107.7-103.9-195-232-195Z'/%3e%3cpath%20d='M788%20184h96v-96h68v96h96v68h-96v96h-68v-96h-96z'%20transform='translate(-72%2024)'/%3e%3c/svg%3e")}.nav-icon-public-project{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M494.677333%20114.368a42.666667%2042.666667%200%200%201%2034.645334%200l329.173333%20146.304a21.333333%2021.333333%200%200%201%202.304%2037.76l-61.333333%2036.821333a42.666667%2042.666667%200%200%201-21.952%206.08H246.485333a42.666667%2042.666667%200%200%201-21.952-6.08L163.2%20298.453333a21.333333%2021.333333%200%200%201%202.304-37.781333l329.173333-146.304zM320%20384a21.333333%2021.333333%200%200%201%2021.333333%2021.333333v234.666667h42.666667V405.333333a21.333333%2021.333333%200%200%201%2021.333333-21.333333h64a21.333333%2021.333333%200%200%201%2021.333334%2021.333333v234.666667h42.666666V405.333333a21.333333%2021.333333%200%200%201%2021.333334-21.333333h64a21.333333%2021.333333%200%200%201%2021.333333%2021.333333v234.666667h42.666667V405.333333a21.333333%2021.333333%200%200%201%2021.333333-21.333333h64a21.333333%2021.333333%200%200%201%2021.333333%2021.333333v234.666667l38.4%2051.2A21.333333%2021.333333%200%200%201%20810.666667%20725.333333H213.333333a21.333333%2021.333333%200%200%201-17.066666-34.133333L234.666667%20640V405.333333a21.333333%2021.333333%200%200%201%2021.333333-21.333333h64zM149.333333%20789.333333a21.333333%2021.333333%200%200%201%2021.333334-21.333333h682.666666a21.333333%2021.333333%200%200%201%2021.333334%2021.333333v64a21.333333%2021.333333%200%200%201-21.333334%2021.333334H170.666667a21.333333%2021.333333%200%200%201-21.333334-21.333334v-64z'/%3e%3c/svg%3e")}.nav-icon-knowledge-graph{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M870%20719.5c-23.6%200-46%205.5-65.9%2015.3L689.6%20620.3c19.3-31.7%2030.4-69%2030.4-108.8s-11.1-77-30.4-108.8l113.8-113.8c20.1%2010%2042.7%2015.6%2066.6%2015.6%2082.7%200%20150-67.3%20150-150s-67.3-150-150-150-150%2067.3-150%20150c0%2022.4%204.9%2043.6%2013.7%2062.7L618.9%20332c-31.8-19.3-69.1-30.5-108.9-30.5-39.8%200-77%2011.1-108.8%2030.4L289.1%20219.7c9.6-19.7%2014.9-41.9%2014.9-65.2%200-82.7-67.3-150-150-150S4%2071.8%204%20154.5s67.3%20150%20150%20150c22.9%200%2044.6-5.2%2064-14.4l112.5%20112.5c-19.3%2031.8-30.5%2069.1-30.5%20108.9%200%2039.8%2011.2%2077.1%2030.5%20108.9L217.3%20733.5c-19.3-9-40.7-14-63.3-14-82.7%200-150%2067.3-150%20150s67.3%20150%20150%20150%20150-67.3%20150-150c0-23.6-5.5-46-15.3-65.9l112.5-112.5c31.7%2019.3%2069%2030.4%20108.8%2030.4s77.1-11.2%20108.9-30.5L734%20806.2c-9%2019.3-14%2040.7-14%2063.3%200%2082.7%2067.3%20150%20150%20150s150-67.3%20150-150-67.3-150-150-150zm0-615c27.6%200%2050%2022.4%2050%2050s-22.4%2050-50%2050-50-22.4-50-50%2022.4-50%2050-50zm-766%2050c0-27.6%2022.4-50%2050-50s50%2022.4%2050%2050-22.4%2050-50%2050-50-22.4-50-50zm50%20765c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050zm246-408c0-60.7%2049.3-110%20110-110s110%2049.3%20110%20110-49.3%20110-110%20110-110-49.3-110-110zm470%20408c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050z'/%3e%3c/svg%3e")}.nav-icon-about{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M5%204.5a2.5%202.5%200%201%200%200%205%202.5%202.5%200%200%200%200-5Zm0%2010a2.5%202.5%200%201%200%200%205%202.5%202.5%200%200%200%200-5ZM11%206h9v2h-9V6Zm0%2010h9v2h-9v-2Z'/%3e%3c/svg%3e")}.nav-icon-settings{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='3'/%3e%3cpath%20d='M19.4%2015a1.7%201.7%200%200%200%20.34%201.88l.06.06-2.83%202.83-.06-.06a1.7%201.7%200%200%200-1.88-.34%201.7%201.7%200%200%200-1.03%201.56V21h-4v-.08A1.7%201.7%200%200%200%209%2019.37a1.7%201.7%200%200%200-1.88.34l-.06.06-2.83-2.83.06-.06A1.7%201.7%200%200%200%204.63%2015%201.7%201.7%200%200%200%203.08%2014H3v-4h.08A1.7%201.7%200%200%200%204.63%209a1.7%201.7%200%200%200-.34-1.88l-.06-.06%202.83-2.83.06.06A1.7%201.7%200%200%200%209%204.63%201.7%201.7%200%200%200%2010%203.08V3h4v.08A1.7%201.7%200%200%200%2015%204.63a1.7%201.7%200%200%200%201.88-.34l.06-.06%202.83%202.83-.06.06A1.7%201.7%200%200%200%2019.37%209%201.7%201.7%200%200%200%2020.92%2010H21v4h-.08A1.7%201.7%200%200%200%2019.4%2015Z'/%3e%3c/svg%3e")}.nav-icon-review{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M768%20992H256c-89.6%200-160-70.4-160-160V320L377.6%2032H768c89.6%200%20160%2070.4%20160%20160v640c0%2089.6-70.4%20160-160%20160zM160%20345.6V832c0%2051.2%2044.8%2096%2096%2096h512c51.2%200%2096-44.8%2096-96V192c0-51.2-44.8-96-96-96H403.2L160%20345.6z'/%3e%3cpath%20d='M300.8%20352H147.2v-64h153.6c32%200%2051.2-25.6%2051.2-51.2V64h64v172.8c0%2064-51.2%20115.2-115.2%20115.2zm134.4%20358.4c-6.4%200-19.2%200-25.6-6.4l-128-140.8c-12.8-12.8-12.8-32%200-44.8%2012.8-12.8%2032-12.8%2044.8%200l134.4%20134.4c12.8%2012.8%2012.8%2032%200%2044.8-6.4%206.4-12.8%2012.8-25.6%2012.8z'/%3e%3cpath%20d='M435.2%20710.4c-6.4%200-19.2%200-25.6-6.4-12.8-12.8-12.8-32%200-44.8L684.8%20384c12.8-12.8%2032-12.8%2044.8%200s12.8%2032%200%2044.8L460.8%20697.6c-6.4%206.4-12.8%2012.8-25.6%2012.8z'/%3e%3c/svg%3e")}.nav-icon-connections{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M582.239997%20663.142968c-56.713997%200-113.426994-21.589999-156.609992-64.772997-11.728999-11.726999-11.728999-30.792998%200-42.520998%2011.728999-11.726999%2030.791998-11.726999%2042.520998%200%2062.910997%2062.909997%20165.212992%2062.909997%20228.121989%200L914.94998%20337.169984c62.910997-62.909997%2062.910997-165.211992%200-228.121989-62.907997-62.909997-165.210992-62.909997-228.119989%200L502.313%20293.565986c-11.728999%2011.727999-30.792998%2011.727999-42.521998%200-11.726999-11.727999-11.726999-30.792998%200-42.520998L644.308994%2066.527997c86.364996-86.364996%20226.858989-86.364996%20313.163985%200%2086.304996%2086.363996%2086.363996%20226.857989%200%20313.163985L738.794989%20598.368971c-43.183998%2043.183998-99.898995%2064.772997-156.612992%2064.772997zM221.386014%201023.99995c-56.714997%200-113.429994-21.591999-156.611992-64.772997-86.363996-86.364996-86.363996-226.856989%200-313.163985l218.678989-218.678989c86.364996-86.364996%20226.858989-86.364996%20313.162985%200%2011.727999%2011.727999%2011.727999%2030.791998%200%2042.520998-11.727999%2011.726999-30.792998%2011.726999-42.518998%200-62.910997-62.909997-165.213992-62.909997-228.122989%200L107.29402%20688.583966c-62.909997%2062.907997-62.909997%20165.212992%200%20228.120989%2062.908997%2062.907997%20165.211992%2062.907997%20228.121989%200l184.516991-184.517991c11.728999-11.728999%2030.793998-11.728999%2042.520998%200%2011.728999%2011.726999%2011.728999%2030.790998%200%2042.520998L377.938007%20959.226953C334.755009%201002.407951%20278.040011%201023.99995%20221.325014%201023.99995z'/%3e%3c/svg%3e")}.sidebar-foot{border-top:1px solid #d7dbd6;gap:11px;margin-top:auto;padding:12px 2px 2px;display:grid}.sidebar-foot small{color:#747d76;margin-top:2px;font-size:10px}.sidebar-foot strong{font-size:12px;display:block}.service-runtime-list{gap:8px;display:grid}.runtime-status{align-items:center;gap:8px;min-width:0;display:flex}.runtime-status>div{min-width:0}.capture-setting{color:#626b65;cursor:pointer;border-top:1px solid #dde1dc;justify-content:space-between;align-items:center;gap:8px;padding-top:9px;font-size:10px;display:flex}.capture-setting>span{min-width:0}.capture-setting>span strong{color:#46534b}.capture-setting>span small{margin-top:2px;display:block}.agent-access-setting{padding-top:10px}.agent-access-setting[data-enabled=false]>span strong{color:#8b4f49}.capture-setting input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.capture-setting i{background:#c8cdc9;border:1px solid #b9c0bb;border-radius:999px;flex:none;width:31px;height:18px;transition:background-color .16s,border-color .16s;position:relative}.capture-setting i:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #222b2538}.capture-setting input:checked+i{background:#5f816d;border-color:#537461}.capture-setting input:checked+i:after{transform:translate(13px)}.capture-setting input:focus-visible+i{outline-offset:2px;outline:2px solid #91a398}.capture-setting input:disabled+i{opacity:.55}.status-dot{background:#c4a34a;border-radius:50%;width:8px;height:8px}.status-dot.ready{background:#3f8b64}.status-dot.error{background:#b94e45}.status-dot.disconnected{background:#aeb5af}.workspace{flex-direction:column;min-width:0;height:100vh;min-height:0;display:flex;overflow:hidden}.topbar{background:#fafbf9eb;border-bottom:1px solid #e1e4df;justify-content:space-between;align-items:center;gap:28px;min-height:92px;padding:15px 32px 14px;display:flex}.topbar-heading{align-content:center;gap:2px;min-width:0;display:grid}.topbar-heading .eyebrow{margin:0 0 2px}.topbar-heading h2{line-height:1.12}.topbar-description{color:#7b847e;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(58vw,820px);font-size:10px;line-height:1.45;overflow:hidden}.topbar-actions{flex:none;align-items:center;gap:14px;display:flex}.eyebrow{color:#879088;letter-spacing:.14em;margin-bottom:5px;font-size:10px;font-weight:700}.quiet-button,.subscription-form button{color:#3f4741;background:#fff;border:1px solid #cfd5cf;border-radius:7px;padding:7px 12px;font-size:12px}.quiet-button:hover,.subscription-form button:hover{border-color:#8e9b92}.settings-save-button{color:#fff;background:#344c3d;border:0;border-radius:7px;padding:8px 13px;font-size:12px;font-weight:700}.settings-save-button:hover{background:#2b4234}.settings-save-button:focus-visible{outline-offset:2px;outline:2px solid #91a398}.feedback{color:#8b3f38;background:#fbf3f2;border:1px solid #d8b3ae;border-radius:7px;margin:18px 32px 0;padding:10px 12px;font-size:13px}.feedback.success{color:#356046;background:#f1f7f3;border-color:#bfd3c5}.view{flex:1;min-height:0;padding:30px 32px 44px;overflow:auto}.view[data-view-panel=personal-profile]{flex-direction:column;padding:18px 32px 20px;display:flex;overflow:hidden}.section-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-toolbar p{color:#68716a;font-size:13px;line-height:1.55}.mode-chip{color:#426352;background:#f5f8f6;border:1px solid #c8d3cb;border-radius:999px;padding:5px 9px;font-size:11px}.overview-summary{background:#fff;border:1px solid #dce1dc;border-radius:9px;grid-template-columns:minmax(220px,1.15fr) minmax(170px,.8fr) minmax(220px,1fr);margin:0 0 34px;display:grid;overflow:hidden}.overview-summary-card{min-width:0;min-height:166px;color:inherit;border-right:1px solid #e5e8e5;flex-direction:column;padding:21px 23px 18px;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:flex;position:relative}.overview-summary-card:last-child{border-right:0}.overview-summary-card:hover{background:#f7f9f7}.overview-summary-card:focus-visible{z-index:1;outline-offset:-3px;outline:2px solid #7f9b8a}.overview-space-card{background:#fbfcfb}.overview-summary-label{color:#737c76;font-size:11px;font-weight:650}.overview-summary-name,.overview-summary-value{color:#26372e;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:28px;font-weight:620;line-height:1.15;display:block;overflow:hidden}.overview-summary-name{font-size:25px}.overview-shared-value{font-size:24px}.overview-summary-meta{color:#78817a;align-items:center;gap:7px;min-height:18px;margin-top:7px;font-size:11px;line-height:1.45;display:flex}.overview-status-dot{background:#aeb5af;border-radius:50%;flex:none;width:7px;height:7px}.overview-status-dot.ready{background:#3f8b64}.overview-status-dot.error{background:#b94e45}.overview-summary-action{color:#315b46;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;font-size:11px;font-weight:680;display:flex}.overview-summary-action>span{color:#789083;font-size:15px;transition:transform .15s}.overview-summary-card:hover .overview-summary-action>span{transform:translate(2px)}.overview-shared-projects-card.is-disconnected .overview-summary-value{color:#67716a}.overview-shared-projects-card.is-error .overview-summary-value{color:#8b4b43}.two-column{grid-template-columns:1.15fr .85fr;gap:24px;display:grid}.section-block{border-top:1px solid #cfd5cf;padding-top:14px}.section-title{margin-bottom:14px}.flow-list{gap:17px;margin:0;padding:0;list-style:none;display:grid}.flow-list li{grid-template-columns:28px 1fr;align-items:start;gap:11px;display:grid}.flow-list li>span{color:#3f5d4e;background:#e3e9e5;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.flow-list strong{font-size:13px}.flow-list p{color:#79817b;margin-top:3px;font-size:12px}.space-heading{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:15px;padding:0 0 18px;display:grid}.space-heading-icon{color:#3f6652;background-color:#fff;border:1px solid #d7ded9;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.space-heading-icon .nav-icon{width:21px;height:21px}.public-space-heading .space-heading-icon{color:#496272;background-color:#f8fafb;border-color:#d5dde2}.space-heading p{color:#68716a;font-size:13px;line-height:1.55}.space-heading-status{text-align:right;border-left:1px solid #dfe3df;min-width:94px;padding-left:20px}.space-heading-status strong{color:#31523f;font-size:24px;font-weight:620;display:block}.space-heading-status span,.space-heading-status small{color:#747d76;font-size:10px;display:block}.space-heading-status small{color:#9aa19b;margin-top:2px}.public-space-stats{background:#f9fbfc;border:1px solid #d8dfe3;border-radius:8px;align-items:stretch;display:flex}.public-space-stats span{color:#79838a;text-align:center;min-width:76px;padding:9px 12px;font-size:9px}.public-space-stats span+span{border-left:1px solid #dde3e6}.public-space-stats strong{color:#385363;font-size:18px;line-height:1.15;display:block}.personal-profile-summary{background:#f0f3f0;border-radius:8px;align-items:center;gap:0;min-height:50px;padding:0 16px;display:flex}.personal-profile-summary strong{color:#314a3d;font-size:18px;display:block}.personal-profile-summary>button{color:#7a837d;text-align:left;background:0 0;border:0;min-width:102px;padding:10px 18px;font-size:10px;transition:color .15s,background-color .15s,box-shadow .15s}.personal-profile-summary>button+button{border-left:1px solid #dce2dd}.personal-profile-summary>button small{color:#879089;margin-top:2px;font-size:8px;font-weight:650;display:block}.personal-profile-summary>button:hover{color:#415249;background:#e9eeea}.personal-profile-summary>button:focus{outline:none}.personal-profile-summary>button:focus-visible{outline-offset:-2px;outline:2px solid #91a398}.personal-profile-summary>button[aria-pressed=true]{color:#2f4d3d;background:#e3ebe6;box-shadow:inset 0 -2px #71877a}.personal-profile-summary>button[aria-pressed=true] small{color:currentColor}.personal-profile-summary p{color:#7c857f;margin-left:auto;font-size:10px}.personal-profile-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:46px;display:flex}.personal-profile-toolbar-actions{align-items:center;gap:10px;display:flex}.personal-profile-filter-groups{align-items:center;gap:10px;min-width:0;display:flex}.personal-profile-filters{gap:4px;display:flex}.personal-profile-filters button{color:#69726c;background:0 0;border:1px solid #0000;border-radius:6px;min-width:64px;padding:6px 9px;font-size:10px}.personal-profile-filters button:hover{background:#eef2ef}.personal-profile-filters button[aria-pressed=true]{color:#31523f;background:#edf3ef;border-color:#aebfb4;font-weight:650}.personal-profile-scope-filter{width:min(240px,28vw)}.personal-profile-scope-filter .searchable-select-trigger{background:#fff;border-radius:6px;min-height:30px}.personal-profile-layout{isolation:isolate;background:#fff;border:1px solid #cfd7d1;border-radius:8px;flex:1;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;min-height:0;display:grid;overflow:hidden}.personal-profile-directory{min-width:0;min-height:0}.personal-profile-table-head,.personal-profile-row{grid-template-columns:88px minmax(240px,1.35fr) minmax(170px,.8fr) 130px;align-items:center;gap:13px;display:grid}.personal-profile-table-head{color:#8b938d;background:#f7f8f6;border-bottom:1px solid #e0e4e0;padding:10px 15px;font-size:9px;font-weight:680}.personal-profile-row{color:#4f5952;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ebe8;width:100%;height:100%;padding:12px 15px}.personal-profile-row:hover{background:#f8faf8}.personal-profile-row.selected{background:#f1f6f3;box-shadow:inset 0 0 0 1px #d2dfd7}.profile-aspect-mark{border-radius:999px;width:fit-content;padding:4px 8px;font-size:9px;font-weight:680}.profile-aspect-mark.taste{color:#5f5640;background:#f5f0e5}.profile-aspect-mark.personality{color:#4f5f78;background:#edf1f6}.profile-aspect-mark.judgment_preference{color:#405e50;background:#eaf3ee}.personal-profile-copy,.personal-profile-origin{gap:4px;min-width:0;display:grid}.personal-profile-copy strong,.personal-profile-origin strong{color:#303b35;font-size:11px}.personal-profile-origin strong.has-conflict{color:#53615a}.personal-profile-copy small,.personal-profile-origin small,.personal-profile-row time{color:#7b847e;font-size:9px;line-height:1.45}.personal-profile-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.personal-profile-inspector{align-self:stretch;min-width:0;position:static;overflow:auto}.project-section{margin-top:34px}.compact-toolbar{border-top:1px solid #cfd5cf;padding-top:14px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin-top:18px;display:grid}.project-empty{background:#fafbfa;border:1px dashed #d8ddd8;border-radius:8px;grid-column:1/-1}.project-card{background:#fff;border:1px solid #dfe3de;border-radius:9px;min-width:0;padding:18px}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-card-heading-actions{align-items:flex-start;gap:8px;display:flex}.project-card h4{color:#28352e;overflow-wrap:anywhere;margin:0;font-size:16px}.project-purpose{color:#626c65;min-height:38px;margin-top:12px;font-size:12px;line-height:1.55}.completion-badge{text-align:center;background:#f8faf8;border:1px solid #d4dbd5;border-radius:8px;flex:none;min-width:54px;padding:7px 8px}.completion-badge strong{color:#345241;font-size:18px;line-height:1;display:block}.completion-badge span{color:#7c857e;font-size:9px}.evidence-row{flex-wrap:wrap;gap:5px;min-height:24px;margin-top:13px;display:flex}.status-chip{color:#4d6558;background:#f7faf8;border:1px solid #d5ddd7;border-radius:999px;align-items:center;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650;display:inline-flex}.status-chip.owner{color:#2f5943;background:#eef6f1;border-color:#b8cdbf}.status-chip.private{color:#746448;background:#fbf8f1;border-color:#ddd5c5}.completion-note{color:#879088;margin-top:14px;font-size:10px}.completion-details{border-top:1px solid #e7eae7;margin-top:13px;padding-top:10px}.completion-details summary,.episode-details summary{color:#53645a;cursor:pointer;font-size:10px}.completion-columns{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px;display:grid}.assessment-block{background:#f7f8f7;border-radius:6px;min-width:0;padding:8px}.assessment-block>strong{color:#59645d;font-size:9px}.assessment-block ul{color:#6f7872;margin:5px 0 0;padding-left:14px;font-size:9px;line-height:1.45}.assessment-block.inferred{background:#faf8f2}.project-access,.project-actions{align-items:center;gap:7px;margin-top:14px;display:flex}.project-access{border-top:1px solid #e8ebe8;padding-top:12px}.project-actions{flex-wrap:wrap}.primary-action,.secondary-action,.management-action,.danger-action,.relation-actions button{border-radius:7px;min-height:32px;padding:7px 11px;font-size:10px;font-weight:600}.primary-action{color:#fff;background:#426f58;border:1px solid #3e6b54}.secondary-action{color:#53615a;background:#fff;border:1px solid #cdd5cf}.management-action{color:#59665f;background:#f8faf8;border:1px solid #d6dcd7}.danger-action{color:#fff;background:#ad4d44;border:1px solid #a64940}.primary-action:hover{background:#365f4a}.secondary-action:hover,.management-action:hover{background:#fafcfb;border-color:#9eaca2}.danger-action:hover{background:#983f37}.primary-action:disabled,.secondary-action:disabled,.management-action:disabled,.danger-action:disabled{cursor:wait;opacity:.58}.project-release-meta{border-left:1px solid #e2e6e2;gap:1px;margin-left:auto;padding-left:11px;display:grid}.project-release-meta strong{color:#3e5c4c;font-size:10px}.project-release-meta span{color:#89918b;font-size:9px}.project-card-footer{border-top:1px solid #e7eae7;justify-content:space-between;align-items:center;gap:14px;margin-top:15px;padding-top:13px;display:flex}.project-card-footer>.secondary-action,.project-card-footer>.primary-action{min-width:92px}.project-footer-label{color:#7f8982;font-size:9px;font-weight:650}.project-subscription-state{color:#53625a;align-items:center;gap:7px;font-size:10px;display:flex}.subscription-indicator{align-items:center;gap:6px;display:inline-flex}.subscription-indicator i{background:#3f8b64;border-radius:50%;width:7px;height:7px}.subscription-action{min-height:30px;margin-left:4px;padding:5px 10px;font-size:11px}.project-publication-bar{background:#f8faf8;border:1px solid #dfe5e0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px;display:flex}.project-publication-bar strong{color:#3d4f45;font-size:10px;display:block}.project-publication-bar span{color:#7e8881;margin-top:2px;font-size:9px;display:block}.project-relations{gap:6px;margin-top:11px;display:grid}.relation-loading{padding:9px 0 2px}.project-relation-row{background:#f7f8f7;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.project-relation-row strong{font-size:10px;display:block}.project-relation-row span{display:block}.relation-actions{gap:5px;display:flex}.relation-section-toolbar{align-items:center}.relation-section-toolbar .primary-action{flex:none;padding:8px 12px;font-size:11px}.relation-section-toolbar .primary-action:disabled{cursor:not-allowed}.relation-composer{background:#fff;border:1px solid #d9ded9;border-radius:10px;margin-top:16px;box-shadow:0 10px 30px #2330280f}.relation-composer-form{padding:18px}.relation-preview{background:#f8faf8;border:1px solid #e0e5e1;border-radius:9px;grid-template-columns:minmax(180px,1fr) minmax(150px,.65fr) minmax(180px,1fr);align-items:center;gap:16px;padding:18px;display:grid}.relation-preview-node{background:#fff;border:1px solid #ced8d1;border-radius:9px;align-content:center;gap:4px;min-width:0;min-height:98px;padding:15px;display:grid}.relation-preview-node span{color:#849087;letter-spacing:.09em;font-size:9px;font-weight:700}.relation-preview-node strong{color:#2e4137;overflow-wrap:anywhere;font-size:15px}.relation-preview-node small{color:#818a84;font-size:9px}.relation-preview-target{border-color:#ccd8de}.relation-preview-connector{text-align:center;grid-template-rows:auto 1px;align-items:center;gap:8px;display:grid}.relation-preview-connector span{color:#3f6250;overflow-wrap:anywhere;background:#fff;border:1px solid #c6d3cb;border-radius:999px;width:fit-content;max-width:100%;margin:0 auto;padding:4px 9px;font-size:10px;font-weight:650}.relation-preview-connector i{border-top:1px solid #91a399;width:100%}.relation-builder{border-top:1px solid #e3e7e3;border-bottom:1px solid #e3e7e3;grid-template-columns:minmax(170px,.75fr) minmax(360px,1.6fr) minmax(220px,1fr);gap:0;margin-top:18px;display:grid}.relation-builder-step{border:0;min-width:0;margin:0;padding:17px 18px 18px 0}.relation-builder-step+.relation-builder-step{border-left:1px solid #e4e8e4;padding-left:18px}.relation-builder-step>label,.relation-builder-step legend{color:#36443c;margin:3px 0 9px;padding:0;font-size:11px;font-weight:650;display:block}.relation-builder-step>select,.relation-builder-step>input{width:100%}.relation-builder-step>small{color:#8a928c;margin-top:8px;font-size:9px;line-height:1.45;display:block}.relation-step-number{color:#8b958e;letter-spacing:.11em;font-size:9px;font-weight:700}.relation-builder-step legend .relation-step-number{margin-bottom:7px;display:block}.relation-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.relation-type-options label,.relation-target-option{cursor:pointer;background:#fff;border:1px solid #dce2dd;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.relation-type-options label{min-height:55px;padding:9px}.relation-type-options label:hover,.relation-target-option:hover{background:#fafcfb;border-color:#aebbb2}.relation-type-options label:has(input:checked){background:#f1f6f3;border-color:#6d8b7b;box-shadow:0 0 0 1px #4d6f5c14}.relation-target-option:has(input:checked){background:#f1f6f3;border-color:#6d8b7b;box-shadow:0 0 0 1px #4d6f5c14}.relation-type-options input,.relation-target-option input{accent-color:#426f58;margin:2px 0 0}.relation-type-options span,.relation-target-option span{min-width:0}.relation-type-options strong,.relation-target-option strong{color:#3b4941;font-size:10px;display:block}.relation-type-options small,.relation-target-option small{color:#7f8882;overflow-wrap:anywhere;margin-top:3px;font-size:9px;line-height:1.35;display:block}.relation-target-list{gap:6px;max-height:152px;margin-top:8px;display:grid;overflow:auto}.relation-target-option{padding:9px}.relation-target-empty{color:#8b938d;text-align:center;padding:18px 8px;font-size:10px}.relation-composer-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 20px;padding-top:15px;display:grid}.relation-rule{color:#69736c;font-size:10px;line-height:1.45}.relation-validation{color:#98483f;grid-column:1;font-size:10px}.relation-composer-actions{grid-area:1/2/span 2;gap:7px;display:flex}.relation-composer-actions button{min-width:92px;padding:7px 11px}.provider-list,.subscription-list{gap:8px;display:grid}.provider-row,.subscription-row{border-bottom:1px solid #e3e6e2;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.provider-row:last-child,.subscription-row:last-child{border-bottom:0}.provider-row i{background:#3f8b64;border-radius:50%;width:7px;height:7px}.provider-row i.disconnected{background:#aeb5af}.provider-row strong,.subscription-row strong{font-size:12px;display:block}.provider-row span,.subscription-row span{color:#7a837c;font-size:11px}.provider-row .provider-state{color:#6d7770;font-size:10px;font-weight:620}.connections-view{padding-top:24px}.connection-intro{max-width:760px}.connection-intro h3{font-size:18px}.connection-intro p{color:#6d7770;margin-top:6px;font-size:12px;line-height:1.55}.service-connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.service-connection-card{background:#fff;border:1px solid #cfd7d1;border-radius:8px;min-width:0;padding:18px}.service-connection-card[data-status=ready]{border-color:#b8cbbf}.service-connection-card[data-status=error]{border-color:#dcc3bf}.service-connection-card>header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.service-connection-card>header .eyebrow{margin-bottom:2px;font-size:8px}.service-connection-card>header h3{color:#2f3c35;font-size:15px}.service-connection-icon{color:#426652;background:#f5f8f6;border:1px solid #d4ddd7;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.service-connection-icon.public{color:#4f6875;background:#f6f8f9;border-color:#d6dde1}.service-state{color:#66716a;align-items:center;gap:6px;font-size:10px;font-weight:650;display:inline-flex}.service-state:before{content:"";background:#aeb5af;border-radius:50%;width:6px;height:6px}.service-connection-card[data-status=ready] .service-state{color:#3c654f}.service-connection-card[data-status=ready] .service-state:before{background:#3f8b64}.service-connection-card[data-status=error] .service-state{color:#8b4b44}.service-connection-card[data-status=error] .service-state:before{background:#b94e45}.service-connection-card>p{color:#69736c;min-height:38px;margin-top:15px;font-size:11px;line-height:1.55}.service-connection-card dl{border-top:1px solid #e4e8e4;margin:14px 0 0}.service-connection-card dl>div{border-bottom:1px solid #edf0ed;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:9px 0;display:grid}.service-connection-card dl>div:last-child{border-bottom:0;padding-bottom:0}.service-connection-card dt{color:#8a928c;font-size:9px}.service-connection-card dd{color:#4d5851;overflow-wrap:anywhere;margin:0;font-size:10px}.connection-subscriptions{border-top:1px solid #d9dfda;margin-top:24px;padding-top:16px}.connection-subscriptions .section-title{margin-bottom:10px}.connection-subscriptions .section-title p{color:#7b847e;margin-top:4px;font-size:10px}.connection-title-row{align-items:center;gap:7px;display:flex}.feature-badge{letter-spacing:.07em;border-radius:999px;align-items:center;width:fit-content;padding:2px 6px;font-size:8px;font-weight:750;display:inline-flex}.feature-badge.beta{color:#8a5b15;background:#fff8e8;border:1px solid #dfbd82}.external-knowledge-section,.conflict-policy-section{border-top:1px solid #d9dfda;margin-top:14px;padding-top:12px}.section-title-with-help{align-items:center;gap:7px;display:flex}.section-help-link{color:#627168;background:#fff;border:1px solid #cbd4ce;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:10px;font-weight:750;line-height:1;text-decoration:none;display:inline-grid}.section-help-link:hover{color:#365744;background:#f6f9f7;border-color:#81958a}.section-help-link:focus-visible{outline-offset:2px;outline:2px solid #91a398}.external-binding-count{color:#8a928c;font-size:9px;font-weight:620}.external-binding-list{margin-top:10px;display:grid}.external-binding-row{border-bottom:1px solid #e3e6e2;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;display:grid}.external-binding-row>i{background:#3f8b64;border-radius:50%;width:7px;height:7px}.external-binding-row[data-status=error]>i{background:#b94e45}.external-binding-row strong{color:#354139;font-size:12px;display:block}.external-binding-row span,.external-binding-row small{color:#7a837c;margin-top:2px;font-size:9px;display:block}.external-binding-row small{color:#985149}.external-binding-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.quiet-button.danger{color:#914b44}.compact-empty{color:#858d87;padding:18px 0;font-size:11px}.external-binding-form{background:#fafbfa;border:1px solid #dce2dd;border-radius:8px;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;margin-top:16px;padding:15px;display:grid}.external-binding-form label,.conflict-policy-controls label{color:#68726b;gap:5px;min-width:0;font-size:9px;display:grid}.external-binding-form input,.external-binding-form textarea,.external-binding-form .searchable-select,.conflict-policy-controls .searchable-select{width:100%;min-width:0}.external-binding-form input,.external-binding-form textarea,.external-binding-form .searchable-select-trigger,.conflict-policy-controls .searchable-select-trigger{color:#354139;background:#fff;border:1px solid #cfd7d1;border-radius:6px;width:100%;min-width:0;padding:7px 8px;font-size:11px}.external-binding-form textarea{resize:vertical}.external-binding-form .wide-field{grid-column:span 3}.trusted-code-badge{color:#765718;background:#fff9ea;border:1px solid #dbc58f;border-radius:5px;width:fit-content;padding:5px 7px;font-size:9px}.conflict-policy-controls{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;max-width:700px;margin-top:10px;display:grid}@media (width<=1280px){.external-binding-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.external-binding-form .wide-field{grid-column:span 2}}.graph-view{flex-direction:column;padding:18px 24px 20px;display:flex;overflow:hidden}.graph-view.graph-canvas-active{overflow:hidden}.knowledge-view-heading{border-bottom:1px solid #dce1dc;justify-content:space-between;align-items:center;min-height:42px;display:flex}.knowledge-mode-switch{align-self:stretch;gap:22px;display:flex}.knowledge-mode-switch button{color:#7a837d;background:0 0;border:0;padding:0 1px;font-size:12px;font-weight:620;position:relative}.knowledge-mode-switch button[aria-selected=true]{color:#2f4d3d}.knowledge-mode-switch button[aria-selected=true]:after{content:"";background:#3f6b55;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}#graph-count.search-active{color:#8a5b16;font-weight:650}.graph-toolbar{flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:48px;padding:8px 0;display:flex}select,input,textarea{color:#303632;background:#fff;border:1px solid #cfd5cf;border-radius:7px;outline:none;padding:7px 9px;font-size:12px}textarea{resize:vertical;line-height:1.5}select:focus,input:focus,textarea:focus{border-color:#6f8577;box-shadow:0 0 0 2px #54715f1a}.searchable-select{color:#303632;vertical-align:middle;min-width:128px;font-size:11px;display:inline-block;position:relative}.searchable-select-native{display:none!important}.searchable-select-trigger{color:#39433d;text-align:left;background:#fff;border:1px solid #cfd5cf;border-radius:7px;grid-template-columns:minmax(0,1fr) 12px;align-items:center;gap:8px;width:100%;min-height:32px;padding:6px 9px;display:grid}.searchable-select-trigger:hover{background:#fcfdfc;border-color:#a9b4ac}.searchable-select-trigger:focus-visible{border-color:#6f8577;outline:0;box-shadow:0 0 0 2px #54715f1f}.searchable-select-current{align-items:baseline;gap:7px;min-width:0;display:flex}.searchable-select-current-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:560;overflow:hidden}.searchable-select-current-meta{color:#8a938d;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:520;overflow:hidden}.searchable-select-arrow{border-bottom:1.5px solid #7d8881;border-right:1.5px solid #7d8881;justify-self:end;width:7px;height:7px;transition:transform .14s;transform:translateY(-2px)rotate(45deg)}.searchable-select.open .searchable-select-arrow{transform:translateY(2px)rotate(225deg)}.searchable-select.disabled{opacity:.52}.searchable-select.disabled .searchable-select-trigger{cursor:not-allowed}.searchable-select-panel{z-index:45;background:#fff;border:1px solid #d4dad5;border-radius:9px;width:max(100%,268px);padding:7px;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 14px 36px #23302824}.searchable-select.open-up .searchable-select-panel{top:auto;bottom:calc(100% + 5px)}.searchable-select-search{padding:2px 2px 7px}.searchable-select-search input{background:#f7f9f7;border-color:#dbe0dc;width:100%;height:31px;padding:6px 8px;font-size:10px}.searchable-select-options{overscroll-behavior:contain;gap:2px;max-height:228px;display:grid;overflow:auto}.searchable-select-option{color:#455149;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:8px;width:100%;min-height:36px;padding:7px 8px;display:grid}.searchable-select-option:hover,.searchable-select-option:focus-visible{background:#f2f6f3;outline:0}.searchable-select-option[aria-selected=true]{color:#2f5541;background:#edf4ef}.searchable-select-option:disabled{cursor:not-allowed;opacity:.4}.searchable-select-option-copy{gap:2px;min-width:0;display:grid}.searchable-select-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:620;overflow:hidden}.searchable-select-option-copy small{color:#8a938d;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;overflow:hidden}.searchable-select-check{border-bottom:1.5px solid #0000;border-left:1.5px solid #0000;width:8px;height:4px;transform:rotate(-45deg)}.searchable-select-option[aria-selected=true] .searchable-select-check{border-color:#47705a}.searchable-select-empty{color:#8a938d;text-align:center;padding:20px 8px;font-size:10px}.searchable-select[data-select-id=graph-space]{min-width:225px}.searchable-select[data-select-id=knowledge-type-filter]{width:120px}.searchable-select[data-select-id=knowledge-quadrant-filter]{width:110px}.searchable-select[data-select-id=knowledge-profile-filter]{width:112px}.searchable-select[data-select-id=knowledge-status-filter]{width:105px}.relation-builder-step>.searchable-select,.knowledge-editor-form .searchable-select,.knowledge-project-fields .searchable-select,.knowledge-project-relation .searchable-select{width:100%}.personal-context-picker{position:relative}.personal-context-picker>summary{color:#4e5d54;cursor:pointer;background:#fff;border:1px solid #cfd5cf;border-radius:7px;align-items:center;gap:8px;min-height:32px;padding:6px 9px;font-size:10px;list-style:none;display:flex}.personal-context-picker>summary::-webkit-details-marker{display:none}.personal-context-picker>summary span{color:#7e8982}.personal-context-picker>summary .searchable-select-arrow{flex:none;margin-left:auto}.personal-context-picker[open]>summary .searchable-select-arrow{transform:translateY(2px)rotate(225deg)}.personal-context-panel{z-index:8;background:#fff;border:1px solid #d7ddd8;border-radius:8px;width:286px;padding:13px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #2330281a}.personal-context-panel>strong{color:#34483d;font-size:11px}.personal-context-panel>p{color:#7b847e;margin-top:4px;font-size:9px;line-height:1.45}.personal-context-list{gap:3px;max-height:220px;margin-top:10px;display:grid;overflow:auto}.personal-context-option{cursor:pointer;border-radius:6px;grid-template-columns:17px 1fr;align-items:center;gap:8px;padding:8px;display:grid}.personal-context-option:hover{background:#f3f6f4}.personal-context-option input{margin:0}.personal-context-option span{gap:2px;display:grid}.personal-context-option strong{color:#3f4d45;font-size:10px}.personal-context-option small{color:#879088;font-size:9px}.search-form{flex:0 300px;min-width:220px}.search-form input{width:100%}#knowledge-type-filter{max-width:160px}#knowledge-quadrant-filter{max-width:130px}#knowledge-profile-filter{max-width:135px}.graph-view-actions{border-left:1px solid #dfe3de;align-items:center;gap:3px;margin-left:auto;padding-left:4px;display:flex}.graph-controls{gap:3px;display:flex}.toolbar-action{color:#566059;background:0 0;border:1px solid #0000;border-radius:6px;min-width:31px;height:31px;padding:0 8px;font-size:12px}.toolbar-action:hover{color:#253d32;background:#fff;border-color:#d2d8d2}.toolbar-action:focus-visible{outline-offset:1px;outline:2px solid #3f6b5547}.knowledge-layout{isolation:isolate;background:#fbfcfa;border:1px solid #cfd7d1;border-radius:8px;flex:1;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;min-height:0;display:grid;overflow:hidden}.knowledge-directory-panel{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;container:knowledge-directory/inline-size}.directory-kind-tabs{z-index:4;background:#fafbf9f7;border-bottom:1px solid #dfe4df;align-items:stretch;gap:22px;min-height:44px;padding:0 16px;display:flex;position:sticky;top:0}.directory-kind-tab{color:#737d76;background:0 0;border:0;align-items:center;gap:7px;min-width:0;padding:0 1px;font-size:11px;font-weight:620;display:inline-flex;position:relative}.directory-kind-tab:hover{color:#365543}.directory-kind-tab:focus-visible{outline-offset:-2px;outline:2px solid #3f6b5547}.directory-kind-tab:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.directory-kind-tab[aria-selected=true]{color:#294838}.directory-kind-tab[aria-selected=true]:after{background:#52725f}.directory-kind-tab small{color:#78827b;text-align:center;background:#edf0ed;border-radius:999px;min-width:20px;padding:1px 6px;font-size:9px;font-weight:650}.directory-kind-tab[aria-selected=true] small{color:#3b604b;background:#e5eee8}.directory-tab-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.directory-section-heading{background:#f7f8f6;border-bottom:1px solid #e0e4e0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;min-width:0;padding:12px 16px;display:flex}.directory-section-copy{flex:260px;align-items:baseline;gap:10px;min-width:0;display:flex}.directory-section-heading strong{color:#34453b;font-size:11px;font-weight:680}.directory-section-copy span,.directory-section-count{color:#838c85;font-size:9px;line-height:1.45}.directory-section-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.directory-section-count{flex:none}.knowledge-status-filter{background:#eef1ee;border:1px solid #dce2dd;border-radius:7px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.knowledge-status-option{color:#707a73;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;height:24px;padding:0 7px;font-size:9px;font-weight:640;display:inline-flex}.knowledge-status-option:hover{color:#395545;background:#ffffffb8}.knowledge-status-option:focus-visible{outline-offset:1px;outline:2px solid #3f6b5547}.knowledge-status-option[aria-pressed=true]{color:#355844;background:#fff;border-color:#cbd7cf}.knowledge-status-option[data-status=historical][aria-pressed=true]{color:#78594f;background:#fbf5f3;border-color:#e1cec8}.knowledge-status-option span{min-width:16px;color:inherit;text-align:center;background:#4f695914;border-radius:999px;padding:0 4px;font-size:8px;line-height:16px}.knowledge-directory-virtual-list,.project-material-virtual-list{flex:1;min-width:0;min-height:0}.project-material-row{color:#4f5952;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ebe8;grid-template-columns:minmax(0,1fr) minmax(94px,118px) auto;align-items:center;gap:16px;width:100%;height:100%;padding:10px 16px;display:grid}.project-material-row:hover{background:#f8faf8}.project-material-row.selected{background:#f1f6f3;box-shadow:inset 0 0 0 1px #9fb5a8}.project-material-copy{gap:4px;min-width:0;display:grid}.project-material-copy strong{color:#2f3933;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:630;overflow:hidden}.project-material-copy small{color:#79827c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;overflow:hidden}.project-material-type{color:#4b6858;font-size:10px;font-weight:620}.project-material-link{color:#52705f;text-align:right;font-size:9px;font-weight:650}.graph-canvas-active .knowledge-layout{flex:1;align-items:stretch;min-height:0;overflow:hidden}.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(220px,1.8fr) minmax(92px,.68fr) minmax(104px,.75fr) minmax(90px,.65fr) minmax(118px,.9fr) minmax(102px,.72fr) minmax(58px,.42fr);align-items:center;gap:12px;width:100%;min-width:0;display:grid}.knowledge-table-head{color:#8b938d;letter-spacing:.05em;background:#f7f8f6;border-bottom:1px solid #e0e4e0;padding:10px 16px;font-size:9px;font-weight:680}.knowledge-row{color:#4f5952;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ebe8;height:100%;padding:11px 16px;font-size:10px}.knowledge-table-head>span,.knowledge-row>span{min-width:0}.knowledge-row:hover{background:#f8faf8}.knowledge-row.selected{background:#f1f6f3;box-shadow:inset 0 0 0 1px #9fb5a8}.knowledge-row-content{gap:4px;min-width:0;display:grid}.knowledge-row-title{align-items:center;gap:7px;min-width:0;display:flex}.knowledge-row-content strong{color:#2f3933;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:630;overflow:hidden}.human-change-badge{color:#765126;white-space:nowrap;background:#fff1d9;border-radius:999px;flex:none;padding:2px 6px;font-size:8px;font-style:normal;font-weight:700}.human-change-badge.state-viewed{color:#4f6076;background:#eaf0f7}.knowledge-row-content small{color:#79827c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;overflow:hidden}.knowledge-row-type,.knowledge-row-source,.knowledge-row-time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.knowledge-row-type{color:#4b6858;font-weight:620}.knowledge-row-source,.knowledge-row-time{color:#7d867f}.knowledge-row-quadrant{color:#59655e;white-space:nowrap;background:#f0f2ef;border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650}.knowledge-row-quadrant.known_known{color:#356047;background:#edf6f0}.knowledge-row-quadrant.known_unknown{color:#77602f;background:#f7f2e5}.knowledge-row-quadrant.unknown_known{color:#4d5f78;background:#eef2f7}.knowledge-row-quadrant.unknown_unknown{color:#725d70;background:#f5eff4}.knowledge-row-quadrant.unclassified{color:#666e68;background:#eff1ef}.knowledge-review-state{color:#59655e;white-space:nowrap;background:#f0f2ef;border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650}.knowledge-review-state.state-confirmed{color:#356047;background:#edf6f0}.knowledge-review-state.state-agent_confirmed{color:#4d5f78;background:#eef2f7}.knowledge-review-state.state-pending,.knowledge-review-state.state-needs_review{color:#77602f;background:#f7f2e5}.knowledge-review-state.state-exploratory{color:#725d70;background:#f5eff4}.knowledge-review-state.state-unclassified{color:#666e68;background:#eff1ef}.knowledge-status{border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650}.knowledge-status.current{color:#356047;background:#edf6f0}.knowledge-status.historical{color:#80645d;background:#f7efed}@container knowledge-directory (width<=900px){.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(220px,1.8fr) minmax(92px,.75fr) minmax(104px,.8fr) minmax(90px,.7fr) minmax(58px,.45fr)}.knowledge-column-source,.knowledge-column-time,.knowledge-row-source,.knowledge-row-time{display:none}}@container knowledge-directory (width<=660px){.knowledge-status-filter{order:3;margin-right:auto}.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(180px,1fr) 90px 96px 58px}.knowledge-column-type,.knowledge-row-type{display:none}.project-material-row{grid-template-columns:minmax(0,1fr) auto}.project-material-type{display:none}}@container knowledge-directory (width<=500px){.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(160px,1fr) 92px 58px}.knowledge-column-quadrant,.knowledge-row-quadrant{display:none}}.graph-inspector{overscroll-behavior:contain;background:#fff;border-left:1px solid #d7ddd8;align-self:stretch;padding:18px;position:static;overflow:auto}.graph-canvas-active .graph-inspector{align-self:stretch;position:static;overflow:auto}.graph-inspector h3{overflow-wrap:anywhere;margin-bottom:8px;font-size:16px}.graph-inspector .muted{color:#737c75;font-size:12px;line-height:1.55}.inspector-classification{background:#f7f9f7;border:1px solid #dbe1dc;border-radius:7px;gap:7px;margin-top:15px;padding:11px 12px;display:grid}.inspector-classification>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-classification span{color:#7f8982;font-size:9px;font-weight:650}.inspector-classification strong{color:#40574a;font-size:11px}.inspector-classification p{color:#68726b;font-size:10px;line-height:1.55}.inspector-classification.state-pending,.inspector-classification.state-needs_review{background:#faf8f1;border-color:#e2d7bd}.inspector-classification.state-pending strong,.inspector-classification.state-needs_review strong{color:#755d2e}.inspector-classification.state-exploratory{background:#f8f5f8;border-color:#ddd3dc}.inspector-classification.state-exploratory strong{color:#6f596c}.inspector-classification.state-unclassified{background:#f5f6f5;border-color:#d9ddda}.inspector-classification.state-unclassified strong{color:#626b65}.inspector-human-change{background:#fff9ee;border:1px solid #e2d3b8;border-radius:7px;gap:6px;margin-top:10px;padding:11px 12px;display:grid}.inspector-human-change>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-human-change span,.inspector-human-change small{color:#8b7a61;font-size:9px;font-weight:650}.inspector-human-change strong{color:#765126;font-size:11px}.inspector-human-change p{color:#766b5b;font-size:10px;line-height:1.55}.inspector-human-change.state-viewed{background:#f5f8fb;border-color:#d3dce7}.inspector-human-change.state-viewed strong{color:#4f6076}.inspector-human-change.state-reviewed{background:#f6f9f7;border-color:#d8e2db}.inspector-human-change.state-reviewed strong{color:#456451}.inspector-replacement{background:#fbf9f3;border:1px solid #dfd7c5;border-radius:7px;gap:8px;margin-top:10px;padding:11px 12px;display:grid}.inspector-replacement-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-replacement-heading span{color:#8a806b;font-size:9px;font-weight:650}.inspector-replacement-heading strong{color:#695934;font-size:11px}.inspector-replacement>p{color:#766f60;font-size:10px;line-height:1.55}.inspector-replacement-link{width:100%;color:inherit;text-align:left;background:#fff;border:1px solid #d7ded8;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.inspector-replacement-link:hover{background:#f6f9f7;border-color:#9fb2a5}.inspector-replacement-link>span{gap:3px;min-width:0;display:grid}.inspector-replacement-link strong,.inspector-replacement-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-replacement-link strong{color:#3d4d44;font-size:10px}.inspector-replacement-link small{color:#7d8780;font-size:9px}.inspector-replacement-link b{color:#446b57;white-space:nowrap;font-size:9px;font-weight:680}.inspector-project-material{background:#f4f8f5;border:1px solid #cfdcd4;border-radius:7px;gap:7px;margin-top:15px;padding:11px 12px;display:grid}.inspector-project-material>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-project-material span{color:#7b8980;font-size:9px;font-weight:650}.inspector-project-material strong{color:#3f5e4d;font-size:11px}.inspector-project-material p{color:#657269;font-size:10px;line-height:1.55}.inspector-identity{background:#f3f6f3;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin:2px 0 13px;padding:7px 8px;display:grid}.inspector-identity>span{color:#7f8982;font-size:8px;font-weight:650}.inspector-identity code{color:#4e5c54;overflow-wrap:anywhere;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;line-height:1.35}.inspector-identity-copy{color:#4a6b59;background:0 0;border:0;padding:2px 4px;font-size:8px}.inspector-identity-copy:hover{color:#274a38;text-decoration:underline}.inspector-identity-copy:focus-visible{outline-offset:2px;outline:1px solid #799284}.inspector-meta{gap:8px;margin-top:18px;display:grid}.inspector-meta div{border-top:1px solid #e6e8e5;padding-top:8px}.inspector-meta dt{color:#8a928c;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.inspector-meta dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.inspector-attributes{margin-top:0}.inspector-subtitle{color:#5d665f;margin:20px 0 7px;font-size:11px;font-weight:650}.inspector-reasoning{color:#626c65;white-space:pre-wrap;font-size:11px;line-height:1.6}.inspector-relations{display:grid}.inspector-relation{border-top:1px solid #edf0ec;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:10px 0;font-size:10px;display:grid}.relation-type{color:#4f6d5d;letter-spacing:.035em;overflow-wrap:anywhere;font-size:9px;font-weight:700;line-height:1.4}.relation-target{color:#737c75;overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.55}.inspector-evidence{gap:7px;display:grid}.evidence-card{background:#fafbf9;border:1px solid #e0e5e1;border-radius:7px;padding:10px}.evidence-card strong{color:#3c4b43;font-size:11px;display:block}.evidence-card p{color:#68726b;margin-top:4px;font-size:10px;line-height:1.5}.evidence-card span{color:#909791;margin-top:6px;font-size:9px;display:block}.evidence-card .evidence-excerpt{color:#59635d;white-space:pre-wrap;background:#f1f4f1;border-radius:5px;margin-top:8px;padding:8px}.evidence-source-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.evidence-source-action{color:#446755;background:0 0;border:0;margin:0;padding:0;font-size:10px;font-weight:650;text-decoration:none;display:inline-flex}.evidence-source-action:hover{color:#294c3a;text-decoration:underline}.evidence-source-action:disabled{color:#a3aaa5;cursor:not-allowed;text-decoration:none}.conflict-title{color:#806338}.suspected-conflicts .history-row strong{color:#775b31}.inspector-edit-button{width:100%;margin-top:16px}.inspector-actions{gap:7px;margin-top:16px;display:grid}.inspector-actions button{width:100%}.inspector-history{display:grid}.history-row{border-top:1px solid #e8ebe8;padding:9px 0}.history-row strong{color:#435149;font-size:10px}.history-row p{color:#68726b;margin-top:3px;font-size:10px;line-height:1.45}.history-row span{color:#929993;margin-top:4px;font-size:9px;display:block}.history-row small{color:#77827a;margin-top:4px;font-size:9px;display:block}.section-toolbar{border-bottom:1px solid #dfe3de;padding-bottom:18px}.section-toolbar h3{margin-bottom:5px;font-size:18px}.searchable-select[data-select-id=review-project]{min-width:220px}.review-list{margin-top:10px;display:grid}.review-item{border-bottom:1px solid #e0e3df;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:18px 0;display:grid}.review-item h4{margin:0 0 5px;font-size:14px}.review-item p{color:#677069;font-size:12px;line-height:1.55}.review-stage{color:#607068;letter-spacing:.08em;text-transform:uppercase;width:fit-content;margin-bottom:7px;font-size:9px;font-weight:700}.review-meta{color:#89908b;gap:12px;margin-top:9px;font-size:10px;display:flex}.review-actions{align-items:center;gap:7px;display:flex}.review-actions button{border-radius:7px;padding:7px 11px;font-size:12px}.approve{color:#fff;background:#3f6b55;border:1px solid #335e49}.reject{color:#666e68;background:#fff;border:1px solid #d0d5d0}.stacked-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;max-width:240px}.episode-details{margin-top:13px}.episode-body{background:#fafbfa;border:1px solid #e2e6e2;border-radius:7px;gap:12px;margin-top:10px;padding:12px;display:grid}.episode-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin:0;display:grid}.episode-meta div{min-width:0}.episode-meta dt{color:#89918b;font-size:9px}.episode-meta dd{color:#555f58;overflow-wrap:anywhere;margin:2px 0 0;font-size:10px}.episode-section{gap:5px;display:grid}.episode-section>strong{color:#5b655e;font-size:10px}.episode-record{border-top:1px solid #e7eae7;grid-template-columns:auto minmax(100px,.6fr) minmax(0,1fr);align-items:start;gap:7px;padding:6px 0;font-size:10px;display:grid}.episode-record small{color:#7a837c;overflow-wrap:anywhere;line-height:1.45}.empty-state{text-align:center;color:#858d87;padding:40px 0;font-size:13px}.connections-grid{align-items:start}.subscription-form{border-top:1px solid #dfe3de;gap:7px;margin-top:18px;padding-top:14px;display:flex}.subscription-form .searchable-select{flex:1}.muted{color:#7a837c;font-size:12px}.publish-dialog{color:#27312b;background:#fff;border:0;border-radius:12px;width:min(500px,100vw - 32px);padding:0;box-shadow:0 24px 70px #18221c3d}.publish-dialog::backdrop{background:#1c221e6b}.publish-dialog-shell{padding:24px}.publish-dialog h3{margin:0;font-size:20px}.publish-dialog-intro{color:#69736c;gap:4px;margin-top:13px;font-size:12px;line-height:1.55;display:grid}.publish-dialog-intro strong{color:#334039;font-size:14px}.publish-release-fields{gap:12px;margin-top:18px;display:grid}.publish-release-fields label{gap:6px;display:grid}.publish-release-fields label>span{color:#46534c;font-size:11px;font-weight:650}.publish-release-fields small{color:#89918b;font-size:9px}.publish-impact{border-top:1px solid #e2e6e2;border-bottom:1px solid #e2e6e2;margin-top:19px}.publish-impact>div{grid-template-columns:108px 1fr;gap:14px;padding:12px 0;display:grid}.publish-impact>div+div{border-top:1px solid #eceeec}.publish-impact strong{color:#34453c;font-size:11px}.publish-impact span{color:#6f7872;font-size:11px;line-height:1.5}.publish-dialog-error{color:#99483f;margin-top:12px;font-size:11px}.publish-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.publish-dialog-actions button{min-width:88px;padding:8px 13px;font-size:12px}.project-dialog{color:#27312b;background:#fff;border:0;border-radius:12px;width:min(900px,100vw - 32px);max-height:calc(100vh - 48px);padding:0;overflow:hidden;box-shadow:0 24px 70px #18221c3d}.project-dialog::backdrop{background:#1c221e6b}.project-dialog-shell{box-sizing:border-box;max-height:calc(100vh - 48px);padding:24px;overflow:auto}.project-dialog-header{border-bottom:1px solid #e1e5e2;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:18px;display:flex}.project-dialog-header h3{font-size:20px}.project-dialog-header p:last-child{color:#737d76;margin-top:5px;font-size:11px;line-height:1.5}.project-dialog-header>button{flex:none}.project-latest-release{border-bottom:1px solid #e3e6e3;padding:18px 0}.project-latest-release h4,.project-detail-section-heading h4,.danger-zone h4{color:#344239;margin:0;font-size:13px}.project-latest-release>div{margin-top:10px}.release-copy{grid-template-columns:90px minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.release-copy strong{color:#345a46;font-size:14px}.release-copy p{color:#59645d;font-size:11px;line-height:1.5}.release-copy small{color:#858e87;font-size:9px}.project-detail-columns{grid-template-columns:1fr 1fr;gap:24px;padding:20px 0;display:grid}.project-detail-columns>section+section{border-left:1px solid #e3e6e3;padding-left:24px}.project-detail-section-heading{justify-content:space-between;align-items:end;margin-bottom:10px;display:flex}.project-release-list,.project-details-relations{max-height:250px;display:grid;overflow:auto}.project-release-item{border-top:1px solid #e8ebe8;grid-template-columns:72px minmax(0,1fr);gap:3px 10px;padding:11px 0;display:grid}.project-release-item strong{color:#3e5c4c;grid-row:1/span 2;font-size:10px}.project-release-item p{color:#59635c;font-size:10px;line-height:1.45}.project-release-item small{color:#89918b;font-size:9px}.project-detail-relation{border-top:1px solid #e8ebe8;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 0;display:grid}.project-detail-relation>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px;display:grid}.project-detail-relation strong{font-size:10px}.project-detail-relation small{color:#879088;grid-column:2;font-size:9px}.project-detail-relation-actions{align-items:center;gap:5px;display:flex}.project-detail-relation-actions button{min-height:28px;padding:5px 8px}.project-dialog-actions{border-top:1px solid #e2e6e2;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;display:flex}.project-dialog-actions span{color:#89918b;font-size:9px}.management-summary{border-bottom:1px solid #e2e6e2;grid-template-columns:repeat(3,1fr);display:grid}.management-summary div{padding:18px 16px}.management-summary div+div{border-left:1px solid #e4e7e4}.management-summary span,.management-summary strong{display:block}.management-summary span{color:#89918b;font-size:9px}.management-summary strong{color:#3c4a42;margin-top:4px;font-size:12px}.danger-zone{background:#fcf8f7;border:1px solid #e5cfcc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:22px;padding:18px;display:grid}.danger-zone p{color:#7d6966;margin-top:5px;font-size:10px;line-height:1.5}.delete-confirmation{border-top:1px solid #ead8d5;grid-column:1/-1;padding-top:16px}.delete-confirmation label{color:#6f5c59;gap:6px;font-size:10px;display:grid}.delete-confirmation>p{color:#99483f}.delete-confirmation>div{justify-content:flex-end;gap:7px;margin-top:12px;display:flex}.knowledge-edit-dialog{width:min(880px,100vw - 32px)}.knowledge-edit-columns{grid-template-columns:1.15fr .85fr;gap:28px;padding-top:22px;display:grid}.knowledge-edit-columns>section+section{border-left:1px solid #e1e5e2;padding-left:28px}.knowledge-edit-columns h4{color:#344239;margin:0 0 6px;font-size:13px}.knowledge-edit-columns section>p{color:#78817b;font-size:10px;line-height:1.5}.knowledge-editor-form{gap:13px;margin-top:16px;display:grid}.knowledge-taxonomy-fields{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.knowledge-editor-form label{color:#5f6962;gap:6px;font-size:10px;font-weight:600;display:grid}.knowledge-editor-form .knowledge-classification-warning{color:#755f35;background:#faf8f1;border:1px solid #e3d8bf;border-radius:7px;padding:9px 10px;font-size:10px;line-height:1.5}.knowledge-confirmation-fields{background:#f9faf9;border:1px solid #dfe4e0;border-radius:8px;gap:11px;margin:0;padding:13px;display:grid}.knowledge-confirmation-fields legend{color:#45534a;padding:0 5px;font-size:10px;font-weight:680}.knowledge-confirmation-fields .knowledge-taxonomy-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-confirmation-fields>p{color:#7c857f;font-size:9px;line-height:1.5}.knowledge-replacement-fields{background:#fbfaf6;border:1px solid #e3dccb;border-radius:8px;gap:10px;margin:0;padding:13px;display:grid}.knowledge-replacement-fields legend{color:#5e553f;padding:0 5px;font-size:10px;font-weight:680}.knowledge-replacement-fields>p{color:#837b69;font-size:9px;line-height:1.5}.knowledge-editor-actions{justify-content:flex-end;gap:7px;padding-top:4px;display:flex}.knowledge-editor-actions button{min-width:94px}.knowledge-project-dialog{width:min(780px,100vw - 32px)}.knowledge-project-form{gap:18px;padding-top:20px;display:grid}.knowledge-project-source{border-bottom:1px solid #e3e6e3;padding-bottom:16px}.knowledge-project-source span,.knowledge-project-preview span{color:#89918b;letter-spacing:.08em;font-size:9px;font-weight:700;display:block}.knowledge-project-source strong{color:#34443b;margin-top:5px;font-size:15px;display:block}.knowledge-project-source p{color:#6e7871;margin-top:4px;font-size:11px;line-height:1.5}.knowledge-project-mode{border:0;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;display:grid}.knowledge-project-mode legend,.knowledge-project-conflict-options legend{color:#5c665f;grid-column:1/-1;margin-bottom:4px;font-size:10px;font-weight:650}.knowledge-project-mode label{cursor:pointer;background:#fff;border:1px solid #d7ddd8;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.knowledge-project-mode label:has(input:checked){background:#f5f8f6;border-color:#789487}.knowledge-project-mode label.disabled{cursor:not-allowed;opacity:.48}.knowledge-project-mode label span,.toggle-row span{gap:3px;display:grid}.knowledge-project-mode strong,.toggle-row strong{color:#3c4942;font-size:11px}.knowledge-project-mode small,.toggle-row small,.knowledge-project-fields small{color:#858e87;font-size:9px;line-height:1.4}.knowledge-project-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.knowledge-project-fields label,.knowledge-project-relation>label:not(.toggle-row),.knowledge-project-reason{color:#5f6962;gap:6px;font-size:10px;font-weight:600;display:grid}.knowledge-project-fields .full-width{grid-column:1/-1}.knowledge-project-relation{border-top:1px solid #e5e8e5;border-bottom:1px solid #e5e8e5;grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:18px;padding:13px 0;display:grid}.toggle-row{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.knowledge-project-preview{background:#fafbfa;border:1px solid #dce2dd;border-radius:8px;padding:14px}.knowledge-project-preview>div:first-child>strong{color:#34463c;margin-top:4px;font-size:12px;display:block}.knowledge-project-preview>div:first-child>p{color:#6d7770;margin-top:4px;font-size:10px;line-height:1.5}.knowledge-project-compare{background:#e1e5e2;border:1px solid #e1e5e2;grid-template-columns:1fr 1fr;gap:1px;margin-top:13px;display:grid}.knowledge-project-compare article{background:#fff;min-width:0;padding:11px}.knowledge-project-compare strong{color:#3f4b44;margin-top:4px;font-size:10px;display:block}.knowledge-project-compare p{color:#6e7771;white-space:pre-wrap;margin-top:4px;font-size:9px;line-height:1.5}.knowledge-project-conflict-options{border:0;border-top:1px solid #e5ddd4;gap:7px;margin:14px 0 0;padding:12px 0 0;display:grid}.knowledge-project-conflict-options label{color:#625b50;font-size:10px}.knowledge-project-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.knowledge-project-actions button{min-width:96px}.project-profile-dialog{color:#27312b;background:#fff;border:0;border-radius:12px;width:min(820px,100vw - 32px);max-height:calc(100vh - 48px);padding:0;overflow:hidden;box-shadow:0 24px 70px #18221c3d}.project-profile-dialog::backdrop{background:#1c221e6b}.project-profile-dialog-shell{box-sizing:border-box;max-height:calc(100vh - 48px);padding:24px;overflow:auto}.project-profile-dialog-header{border-bottom:1px solid #e1e5e2;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:18px;display:flex}.project-profile-dialog-header h3{font-size:20px}.project-profile-dialog-header p:last-child{color:#737d76;margin-top:5px;font-size:11px;line-height:1.5}.project-profile-fields{grid-template-columns:minmax(0,1fr) 180px;gap:13px;padding:20px 0;display:grid}.project-profile-fields label,.project-source-row label{color:#5f6962;align-content:start;gap:6px;font-size:10px;font-weight:600;display:grid}.project-profile-fields small{color:#858e87;font-size:9px;font-weight:500}.project-profile-wide-field{grid-column:1/-1}.project-source-editor{border-top:1px solid #e2e6e2;padding:18px 0}.project-source-editor-heading{outline:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.project-source-editor-heading h4{color:#344239;margin:0;font-size:13px}.project-source-editor-heading p{color:#78817b;margin-top:4px;font-size:10px;line-height:1.5}.project-source-list{gap:9px;margin-top:14px;display:grid}.project-source-row{background:#fafbfa;border:1px solid #dfe4e0;border-radius:8px;grid-template-columns:minmax(180px,1fr) 150px auto;align-items:end;gap:10px;padding:12px;display:grid}.project-source-wide-field{grid-column:1/span 2}.project-source-remove{color:#8b554e;background:0 0;border:0;min-height:32px;padding:6px 9px;font-size:10px}.project-source-remove:hover{color:#713b35;text-decoration:underline}.project-source-empty{color:#858e87;margin-top:13px;font-size:10px}.project-profile-state-note{color:#68736b;background:#f7f9f7;border:1px solid #dce2dd;border-radius:7px;padding:11px 12px;font-size:10px;line-height:1.55}.project-profile-error{color:#99483f;margin-top:11px;font-size:11px}.project-profile-dialog-actions{border-top:1px solid #e2e6e2;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;display:flex}.project-profile-dialog-actions button{min-width:100px}@media (width<=1180px){body{min-width:920px}.app-shell{grid-template-columns:210px 1fr}.two-column{grid-template-columns:1fr}.overview-summary-card{padding-inline:18px}.relation-builder{grid-template-columns:1fr 1.6fr}.relation-target-step{border-top:1px solid #e4e8e4;border-left:0;grid-column:1/-1;padding-left:0}.relation-preview{grid-template-columns:minmax(150px,1fr) minmax(110px,.6fr) minmax(150px,1fr)}.personal-profile-layout{grid-template-columns:minmax(0,1fr) 300px}.personal-profile-table-head,.personal-profile-row{grid-template-columns:78px minmax(190px,1fr) minmax(135px,.75fr) 105px}}.mobile-nav-toggle,.mobile-nav-close{display:none}@media (width<=920px){body{min-width:0}.app-shell{flex-direction:column;width:100%;height:100dvh;display:flex}.sidebar{border-bottom:1px solid #dce0db;border-right:0;flex:0 auto;width:100%;height:auto;max-height:62dvh;padding:12px 14px 16px;display:none;position:relative;top:auto;overflow:auto}.sidebar.is-mobile-open{display:flex}.mobile-nav-close{align-self:flex-end;margin-bottom:8px;display:inline-flex}.workspace{flex:auto;min-width:0;height:auto}.topbar{flex-wrap:wrap;gap:8px 10px;min-height:auto;padding:10px 12px}.mobile-nav-toggle{flex:none;align-items:center;gap:7px;display:inline-flex}.mobile-nav-icon{border-top:1.5px solid;border-bottom:1.5px solid;width:15px;height:10px;position:relative}.mobile-nav-icon:after{content:"";border-top:1.5px solid;position:absolute;inset:3px 0 auto}.topbar-heading{flex:180px}.topbar-description{text-overflow:clip;white-space:normal;max-width:none;overflow:visible}.topbar-actions{justify-content:flex-end;gap:8px;width:100%}.feedback{margin:12px 16px 0}.vue-dialog[open]{width:min(980px,100vw - 24px);max-height:calc(100dvh - 24px)}}.external-binding-copy{min-width:0;padding:10px 0}.external-binding-targets{flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;display:flex}.external-binding-row .external-binding-targets b{color:#6d7871;font-size:9px;font-weight:650}.external-binding-row .external-binding-target-chip{color:#486151;background:#f5f8f6;border:1px solid #d8e1da;border-radius:999px;align-items:center;width:fit-content;margin:0;padding:3px 7px;font-size:8px;font-weight:620;display:inline-flex}.external-binding-row .external-binding-target-chip[data-status=error]{color:#8f4c46;background:#fbf6f5;border-color:#e1ccca}.external-binding-editor{background:#fafbfa;border:1px solid #dce2dd;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;margin:8px 0 16px;padding:15px;display:grid}.external-binding-editor>label{color:#68726b;grid-area:1/1/auto/4;gap:5px;min-width:0;font-size:9px;display:grid}.external-binding-editor .searchable-select{width:100%;min-width:0}.external-target-mode-list{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.external-target-mode-row{background:#fff;border:1px solid #e1e6e2;border-radius:6px;grid-template-columns:minmax(120px,.62fr) minmax(170px,1fr);align-items:center;gap:12px;min-width:0;padding:8px 10px;display:grid}.external-binding-row .external-target-mode-row>span{color:#56635b;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:10px;font-weight:620;overflow:hidden}.external-binding-editor-actions{grid-area:1/4;justify-content:flex-end;gap:6px;display:flex}.external-binding-editor-actions button{min-height:36px}.external-create-action{appearance:none;color:#fff;letter-spacing:.01em;background:#426f58;border:1px solid #3e6b54;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-width:112px;min-height:36px;padding:8px 14px;font-size:11px;font-weight:720;transition:background-color .16s;display:inline-flex}.external-create-action-icon{color:#fff;border:1px solid #ffffffb8;border-radius:50%;flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:relative}.external-create-action-icon:before,.external-create-action-icon:after{content:"";background:currentColor;border-radius:999px;width:7px;height:1.5px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.external-create-action-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.external-create-action:hover{background:#365f4a}.external-create-action:active{background:#2f533f}.external-create-action:focus-visible{outline-offset:2px;outline:2px solid #91a398}.external-create-action:disabled{cursor:wait;opacity:.58}@media (width<=1280px){.external-binding-editor{grid-template-columns:repeat(2,minmax(180px,1fr))}.external-binding-editor>label{grid-column:1/-1}.external-target-mode-list{grid-template-columns:1fr}.external-binding-editor-actions{grid-area:3/1/auto/-1}}@media (width<=720px){.external-binding-editor{grid-template-columns:minmax(0,1fr);padding:12px}.external-target-mode-row{grid-template-columns:minmax(0,1fr);gap:6px}}.graph-stage{background:#f9faf8;grid-template-columns:minmax(0,1fr);min-width:0;min-height:520px;display:grid;position:relative;overflow:hidden}.graph-stage.has-parent-projects{grid-template-columns:minmax(190px,220px) minmax(0,1fr)}.graph-canvas-active .graph-stage{min-height:0}.graph-canvas-panel{min-width:0;min-height:0;position:relative;overflow:hidden}#knowledge-graph{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}#knowledge-graph:active{cursor:grabbing}.project-hierarchy-aside{z-index:4;background:#fff;border-right:1px solid #dbe1dc;min-width:0;padding:18px 16px;position:relative}.project-hierarchy-aside header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3px 8px;display:grid}.project-hierarchy-aside header>span{color:#7e8881;letter-spacing:.1em;grid-column:1/-1;font-size:8px;font-weight:720}.project-hierarchy-aside header>strong{color:#30483a;font-size:15px;font-weight:680}.project-hierarchy-aside header>small{color:#60756a;background:#edf2ee;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:680}.project-hierarchy-aside>p{color:#79837c;margin-top:7px;font-size:9px;line-height:1.5}.project-hierarchy-aside nav{border-top:1px solid #e4e8e5;margin-top:14px;display:grid}.project-parent-link{min-width:0;color:inherit;border-bottom:1px solid #e8ece9;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 1px;text-decoration:none;display:grid}.project-parent-link:hover{background:#f7f9f7}.project-parent-link:focus-visible{outline-offset:2px;outline:2px solid #3f6b5547}.project-parent-icon{color:#466c58;background:#edf3ef;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.project-parent-icon svg{width:17px;height:17px}.project-parent-icon path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.project-parent-link>span:nth-child(2){gap:2px;min-width:0;display:grid}.project-parent-link small{color:#7e8982;font-size:8px}.project-parent-link strong{color:#34483d;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:680;overflow:hidden}.project-parent-link em{color:#6f7a73;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.project-parent-link b{color:#54705f;font-size:11px;font-weight:680}.graph-relation-legend{z-index:4;position:absolute;top:12px;left:12px}.graph-relation-legend>summary{color:#536159;cursor:pointer;background:#fffffff2;border:1px solid #d8ded9;border-radius:7px;grid-template-columns:15px auto auto 8px;align-items:center;gap:6px;min-height:30px;padding:5px 8px;font-size:9px;font-weight:660;list-style:none;display:grid;box-shadow:0 3px 12px #26342b14}.graph-relation-legend>summary::-webkit-details-marker{display:none}.graph-relation-legend>summary svg{width:15px;height:15px}.graph-relation-legend>summary path{fill:none;stroke:#557161;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.graph-relation-legend>summary small{color:#68776e;text-align:center;background:#edf1ee;border-radius:999px;justify-self:end;width:fit-content;min-width:17px;padding:1px 5px;font-size:8px}.graph-relation-legend>summary i{border-bottom:1.3px solid #7d8881;border-right:1.3px solid #7d8881;width:6px;height:6px;transform:translateY(-2px)rotate(45deg)}.graph-relation-legend[open]>summary i{transform:translateY(2px)rotate(225deg)}.graph-relation-legend-panel{background:#fffffffa;border:1px solid #d8ded9;border-radius:8px;width:250px;margin-top:6px;padding:12px;box-shadow:0 12px 30px #23302821}.graph-relation-legend-panel header{gap:2px;padding-bottom:9px;display:grid}.graph-relation-legend-panel header strong{color:#34473c;font-size:11px}.graph-relation-legend-panel header span{color:#818b84;font-size:8px}.graph-relation-legend-panel ul{border-top:1px solid #e5e9e6;max-height:300px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.graph-relation-legend-panel li{border-bottom:1px solid #edf0ed;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px 0;display:grid}.graph-relation-legend-panel li:last-child{border-bottom:0}.graph-relation-legend-panel li>svg{color:#54705f;background:#f0f4f1;border-radius:7px;width:28px;height:28px;padding:6px}.graph-relation-legend-panel li path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.graph-relation-legend-panel li>span{gap:2px;min-width:0;display:grid}.graph-relation-legend-panel li strong{color:#3d4c43;font-size:10px}.graph-relation-legend-panel li small{color:#7b857e;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.graph-search-legend{z-index:2;color:#765019;pointer-events:none;background:#fffcf4f0;border:1px solid #e1c997;border-radius:6px;align-items:center;gap:7px;padding:7px 9px;font-size:10px;font-weight:680;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 4px 14px #49351717}.graph-search-legend[hidden]{display:none}.graph-search-legend i{background:#bd7416;border-radius:50%;width:8px;height:8px}.graph-search-status{z-index:3;box-sizing:border-box;color:#354139;background:#fffffff7;border:1px solid #d8ded9;border-radius:9px;width:min(440px,100% - 36px);padding:15px 16px;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #2b383021}.graph-search-status[hidden]{display:none}.graph-search-status-kicker{color:#875b1c;letter-spacing:.08em;margin-bottom:5px;font-size:9px;font-weight:720;display:block}.graph-search-status-title{font-size:14px;font-weight:680;display:block}.graph-search-status-copy{color:#6b756e;margin-top:5px;font-size:10px;line-height:1.55}.graph-search-suggestions{gap:5px;margin-top:11px;display:grid}.graph-search-suggestion{color:inherit;background:#f8faf8;border:1px solid #e0e5e1;border-radius:6px;justify-content:space-between;align-items:center;gap:18px;padding:8px 9px;text-decoration:none;display:flex}.graph-search-suggestion:hover{background:#f3f7f4;border-color:#a8b9ae}.graph-search-suggestion>span{gap:2px;min-width:0;display:grid}.graph-search-suggestion strong{color:#3b4941;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.graph-search-suggestion small{color:#859088;font-size:9px}.graph-search-suggestion b{color:#446b57;flex:none;font-size:10px;font-weight:680}.graph-empty{color:#858d87;pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.graph-hint{color:#88908a;text-align:right;margin-top:8px;font-size:10px}.graph-edge{stroke:#b5beb7;stroke-width:1.2px;opacity:.72;pointer-events:none;transition:opacity .12s,stroke .12s,stroke-width .12s}.graph-edge.historical{stroke-dasharray:5 4;opacity:.45}.graph-edge.human-change-pending{stroke:#c48738;stroke-width:2.2px;stroke-dasharray:4 3;opacity:.9}.graph-edge.human-change-viewed{stroke:#6f8299}.graph-edge-hit{stroke:#0000;stroke-width:15px;cursor:pointer}.graph-edge-label{opacity:.9;pointer-events:none;transition:opacity .12s}.graph-edge-label-bg{fill:#f9faf8f0;stroke:#dce2dd;stroke-width:.8px;transition:fill .12s,stroke .12s}.graph-edge-label-icon{fill:none;stroke:#6e7d74;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .12s}.graph-edge-label-text{fill:#66736b;pointer-events:none;font-size:8.5px;font-weight:650;transition:fill .12s}.graph-arrow{fill:#aeb8b0}.graph-node{cursor:move;outline:none;transition:opacity .12s}.graph-node-human-marker{fill:#d18a30;stroke:#fff;stroke-width:1.5px;pointer-events:none}.graph-node.human-change-viewed .graph-node-human-marker{fill:#70849b}.graph-node-shape{stroke:#fff;stroke-width:2.5px;filter:drop-shadow(0 1px 2px #1c2a2126);transition:stroke .12s,stroke-width .12s,opacity .12s}.graph-project-ring{fill:#f7faf8;stroke:#b9cbbf;stroke-width:1.5px;filter:drop-shadow(0 2px 4px #1f31271f);transition:fill .12s,stroke .12s,stroke-width .12s}.graph-node.project-node .graph-node-shape{fill:#466c58;stroke:#fff;stroke-width:2.5px}.graph-project-icon{fill:none;stroke:#fff;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.graph-node-label{fill:#3b443e;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#f9faf8;stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:540}.graph-node-id{fill:#7f8982;letter-spacing:.02em;text-anchor:middle;pointer-events:none;opacity:0;paint-order:stroke;stroke:#f9faf8;stroke-width:2.5px;stroke-linejoin:round;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:560;transition:opacity .12s}.graph-node.project-node .graph-node-id{opacity:.72}.graph-search-badge{pointer-events:none;display:none}.graph-search-badge rect{fill:#fff8e8;stroke:#bd7416;stroke-width:1px}.graph-search-badge text{fill:#855916;text-anchor:middle;paint-order:stroke;stroke:#fff8e8;stroke-width:1px;font-size:8px;font-weight:740}.graph-node.search-match .graph-search-badge{display:block}.graph-node:hover .graph-node-id,.graph-node:focus-visible .graph-node-id,.graph-node.selected .graph-node-id{opacity:1}.graph-node:not(.project-node):hover .graph-node-shape,.graph-node:not(.project-node):focus-visible .graph-node-shape,.graph-node:not(.project-node).selected .graph-node-shape{stroke:#334d42;stroke-width:3.5px}.graph-node:not(.project-node).related .graph-node-shape{stroke:#789282;stroke-width:3px}.graph-node.project-node:hover .graph-project-ring,.graph-node.project-node:focus-visible .graph-project-ring,.graph-node.project-node.selected .graph-project-ring{fill:#edf4ef;stroke:#315541;stroke-width:2.4px}.graph-node.project-node.related .graph-project-ring{stroke:#789282;stroke-width:2px}.graph-node:not(.project-node).search-match .graph-node-shape{stroke:#bd7416;stroke-width:5px;filter:drop-shadow(0 0 5px #bd74166b)}.graph-node.project-node.search-match .graph-project-ring{fill:#fff8e8;stroke:#bd7416;stroke-width:3px;filter:drop-shadow(0 0 5px #bd741652)}.graph-node.pinned .graph-node-shape{stroke:#658271;stroke-width:3px}.graph-node.dimmed,.graph-edge.dimmed,.graph-edge-label.dimmed{opacity:.08}.graph-node.dimmed .graph-node-id{opacity:.05}.graph-edge.related{stroke:#6c8a79;stroke-width:2px;opacity:.9}.graph-edge.selected{stroke:#334d42;stroke-width:2.8px;opacity:1}.graph-edge.search-match{stroke:#bd7416;stroke-width:2.8px;opacity:1}.graph-edge-label.search-match{opacity:1}.graph-edge-label.search-match .graph-edge-label-bg{fill:#fff8e8;stroke:#d39a4e}.graph-edge-label.search-match .graph-edge-label-icon{stroke:#855916}.graph-edge-label.search-match .graph-edge-label-text{fill:#855916}.graph-edge-label.related,.graph-edge-label.selected{opacity:1}.graph-edge-label.related .graph-edge-label-bg,.graph-edge-label.selected .graph-edge-label-bg{fill:#f2f7f4;stroke:#9fb5a8}.graph-edge-label.related .graph-edge-label-icon,.graph-edge-label.selected .graph-edge-label-icon{stroke:#405f4f}.graph-edge-label.related .graph-edge-label-text,.graph-edge-label.selected .graph-edge-label-text{fill:#405f4f;font-weight:700}#app{height:100%}.primary-nav a{color:#505852;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:24px 1fr auto;align-items:center;width:100%;padding:9px 10px;font-size:13px;text-decoration:none;display:grid;position:relative}.primary-nav a:hover{background:#e4e7e3}.primary-nav a:focus-visible{outline-offset:1px;outline:2px solid #91a398}.primary-nav a.is-active{color:#243b31;background:#dde4df;font-weight:650}.primary-nav a.space-nav-button{min-height:52px;padding-block:8px}.primary-nav a.personal-space-button.is-active{color:#254234;background:#dde7e1}.primary-nav a.public-space-button.is-active{color:#2c414d;background:#e0e6e9}.feedback-button{text-align:left;cursor:pointer;width:auto}.status-dot.idle,.provider-row i.disconnected{background:#aeb5af}.provider-row i.error{background:#b94e45}.provider-row i.ready{background:#3f8b64}.view-loading{color:#778079;place-items:center;min-height:240px;font-size:12px;display:grid}.inline-error{color:#8b3f38}.inspector-meta>div{min-width:0}.inspector-meta dd{overflow-wrap:anywhere}.inspector-placeholder{color:#7b847e;font-size:11px;line-height:1.55}.feedback,.project-card,.knowledge-row,.personal-profile-row{transition:border-color .15s,background-color .15s}.vue-personal-profile{flex-direction:column;padding:18px 32px 20px;display:flex;overflow:hidden}.vue-knowledge-view{flex-direction:column;padding:18px 24px 20px;display:flex;overflow:hidden}.vue-knowledge-view .knowledge-layout{flex:1;min-height:0}.compact-relation-form{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;gap:12px;padding:16px;display:grid}.compact-relation-form label{color:#67716a;gap:5px;font-size:10px;display:grid}.compact-relation-form select{min-width:0}.compact-relation-form .searchable-select{width:100%;min-width:0}.compact-relation-preview{background:#f8faf8;border:1px solid #dfe5e0;border-radius:8px;grid-column:1/-1;gap:4px;padding:11px 12px;display:grid}.compact-relation-preview span{color:#7f8982;letter-spacing:.08em;font-size:9px;font-weight:700}.compact-relation-preview strong{color:#35483e;font-size:11px}.compact-relation-preview p{color:#717b74;font-size:10px;line-height:1.5}.project-delete-confirmation{color:#6f5c59;gap:7px;padding:18px 0;font-size:10px;display:grid}.project-delete-confirmation strong{color:#493c3a}.vue-dialog[open]{z-index:20;width:min(980px,100vw - 64px);max-height:calc(100vh - 64px);margin:auto;display:grid;position:fixed;inset:0}.knowledge-edit-dialog.vue-dialog{width:min(1080px,100vw - 64px)}.vue-dialog::backdrop{background:#171f1b59}@media (width<=1180px){.compact-relation-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}.locale-switcher{background:#f5f7f5;border:1px solid #d8ded9;border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.locale-switcher button{color:#6a746d;min-width:30px;min-height:26px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 7px;font-size:11px;font-weight:700}.locale-switcher button:hover{color:#2f5d49}.locale-switcher button[aria-pressed=true]{color:#2f5d49;background:#fff;box-shadow:0 1px 2px #20342a1f}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OverviewPage-Cd66M0RT.js","assets/i18n-js6gfc7j.js","assets/console-BT1P2Db4.js","assets/vue-router-Kk67EaCP.js","assets/useApi-CROJJdhE-BdSti7Y2.js","assets/paths-CDREouhi.js","assets/PersonalProfilePage-RCFHL0Wz.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/SearchableSelect-D3HM8YF8.js","assets/KnowledgeEditDialog-CZ5ziPrD.js","assets/identity-CfDfanpa.js","assets/model-DJkLAJsg.js","assets/KnowledgeEditDialog-DWUV_NPp.css","assets/KnowledgeInspector-CRQWOaos.js","assets/conversation-launcher-settings-DrJEotdf.js","assets/KnowledgeInspector--1NujtXW.css","assets/PersonalProfilePage-B7T09bow.css","assets/WritingTastePage-CIpKswvs.js","assets/WritingTastePage-DSgvTH6x.css","assets/PersonalProjectsPage-DEh8XWby.js","assets/KnowledgeWorkspace-ChEB5Bwk.js","assets/KnowledgeOrganizerPage-Dfj3vIpU.js","assets/KnowledgeOrganizerPage-Cx1w1jb2.css","assets/ProjectAgentsPage-DPnaH-TR.js","assets/ProjectAgentsPage-Crh7PrXa.css","assets/PublicProjectsPage-mstPEjHe.js","assets/KnowledgePage-BRYC9S5Y.js","assets/ReviewPage-6Y1SmfZy.js","assets/ConnectionsPage-BWn4ywGJ.js","assets/ConnectionsPage-CBHAdZXT.css","assets/SettingsPage--LdTMUm7.js","assets/SettingsPage-CwZp2ka4.css","assets/AboutPage-sLV9WChi.js","assets/fuli-logo-Bu9WBuQe.js","assets/AboutPage-DXh7Fwxt.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{A as e,C as t,F as n,L as r,N as i,O as a,R as o,S as s,Y as c,_ as l,a as u,et as d,f,g as p,h as m,i as h,j as g,k as _,m as v,n as y,o as b,p as x,r as S,rt as C,t as w,tt as T,v as E,x as ee,y as D,z as O}from"./i18n-js6gfc7j.js";import{s as k,t as te}from"./console-BT1P2Db4.js";import{m as ne}from"./useApi-CROJJdhE-BdSti7Y2.js";import{i as A,n as re,r as j,t as M}from"./vue-router-Kk67EaCP.js";import{t as N}from"./fuli-logo-Bu9WBuQe.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ie,t as ae}from"./paths-CDREouhi.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var F={name:`fuli-context`,version:`0.7.6`,description:`Local-first collaboration relationship graph for AI agents.`,type:`module`,files:[`README.zh-CN.md`,`npm-shrinkwrap.json`,`src/`,`dist/web/`,`docs/external-knowledge-architecture.md`,`docs/public-personal-architecture.md`,`examples/external-knowledge/markdown-folder.mjs`,`graph-provider/Dockerfile`,`graph-provider/pyproject.toml`,`graph-provider/fuli_graph/*.py`,`graph-provider/fuli_graph/**/*.py`,`skills/`,`compose.graphiti.yml`],bin:{fl:`src/cli.js`,fuli:`src/cli.js`},keywords:[`ai-agent`,`mcp`,`context`,`knowledge-graph`,`local-first`,`codex`,`claude-code`],scripts:{mcp:`node src/mcp-server.js`,dev:`run-p dev:server dev:web`,"dev:server":`node src/server.js`,"dev:web":`vite`,build:`run-s typecheck:web build:web`,"build:web":`vite build`,"typecheck:web":`vue-tsc --noEmit -p tsconfig.app.json`,"test:node":`node --test`,"test:web":`vitest run --config vitest.config.ts`,"test:package":`node scripts/package-smoke.js`,"test:knowledge:live":`node acceptance/knowledge-live.js`,"test:external-knowledge:live":`node scripts/validate-external-knowledge-live.js`,start:`node src/server.js`,"graph:setup":`node src/graphiti/setup.js`,"graph:up":`docker compose -f compose.graphiti.yml up -d --build`,"graph:down":`docker compose -f compose.graphiti.yml down`,"test:structure":`node --test test/source-structure.test.js`,pretest:`npm run build:web`,test:`run-s typecheck:web test:node test:web`,prepack:`npm run build`,prepublishOnly:`npm test`},engines:{node:`>=24.12`},repository:{type:`git`,url:`git+https://github.com/JevonsCode/fuli.git`},homepage:`https://github.com/JevonsCode/fuli#readme`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.29.0`,zod:`^4.4.3`},devDependencies:{"@types/d3":`^7.4.3`,"@types/node":`^24.13.3`,"@vitejs/plugin-vue":`^6.0.8`,"@vue/test-utils":`^2.4.11`,"brace-expansion":`5.0.9`,d3:`^7.9.0`,gsap:`^3.15.0`,jsdom:`^29.1.1`,linkedom:`^0.18.12`,"npm-run-all2":`^9.0.2`,pinia:`^4.0.2`,typescript:`~6.0.0`,vite:`^8.1.5`,vitest:`^4.1.10`,vue:`^3.5.40`,"vue-i18n":`^11.4.8`,"vue-router":`^5.2.0`,"vue-tsc":`^3.3.8`},overrides:{"@modelcontextprotocol/sdk":{"@hono/node-server":`2.0.12`},"brace-expansion":`$brace-expansion`,"fast-uri":`3.1.5`}}.version,I=[`aria-label`],L={class:`brand-mark-wrap`},R=[`src`],z={class:`brand-copy`},B={class:`brand-title-row`},oe={class:`brand-name`},se={class:`brand-version`},V={class:`brand-title-row`},H={class:`brand-name`},U={class:`brand-version`},W=P(t({__name:`BrandEasterEgg`,setup(t){let n=c(0),r=c(!1),i=c(!1),a=!1;function o(){n.value+=1,r.value=!0}function s(){r.value=!1}function l(){a=!1,i.value=!1}function f(e){e.key===`Tab`&&(a=!0)}function m(){i.value=a}function h(){i.value=!1}return e(()=>{window.addEventListener(`pointerdown`,l,!0),window.addEventListener(`keydown`,f,!0)}),_(()=>{window.removeEventListener(`pointerdown`,l,!0),window.removeEventListener(`keydown`,f,!0)}),(e,t)=>(g(),D(`button`,{class:T([`brand-block`,{"is-sparkling":r.value,"is-keyboard-focused":i.value}]),type:`button`,"aria-label":d(u)(`console.brandEffect.aria`),onClick:o,onFocus:m,onBlur:h},[p(`span`,L,[p(`img`,{class:`brand-mark`,src:d(N),alt:``,"aria-hidden":`true`},null,8,R),r.value?(g(),D(`span`,{key:`orbit-${n.value}`,class:`brand-orbit`,"aria-hidden":`true`})):E(``,!0)]),p(`span`,z,[p(`span`,B,[p(`span`,oe,C(d(u)(`common.brand`)),1),p(`span`,se,`v`+C(d(F)),1)]),t[0]||=p(`span`,{class:`brand-subtitle`},`Context Graph`,-1),r.value?(g(),D(`span`,{key:`copy-reflection-${n.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:x(s,[`self`])},[p(`span`,V,[p(`span`,H,C(d(u)(`common.brand`)),1),p(`span`,U,`v`+C(d(F)),1)])],32)):E(``,!0)])],42,I))}}),[[`__scopeId`,`data-v-efd904c7`]]),G=[`aria-label`],K=[`lang`,`aria-label`,`aria-pressed`,`onClick`],ce=t({__name:`LocaleSwitcher`,setup(e){let t=m(()=>y()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&h(e)}return(e,a)=>(g(),D(`div`,{class:`locale-switcher`,role:`group`,"aria-label":d(u)(`common.language.label`)},[(g(!0),D(v,null,i(d(w),e=>(g(),D(`button`,{key:e,type:`button`,lang:e,"aria-label":d(u)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},C(n[e]),9,K))),128))],8,G))}}),le=[`routes.`,`common.`];function q(e,t=``){let n=typeof e==`string`&&e?e:t;return le.some(e=>n.startsWith(e))?u(n):n}function J(e){if(typeof document>`u`)return;let t=q(e,`routes.overview.title`);document.title=`${t} · ${u(`common.brand`)}`}var ue={class:`app-shell`},de=[`onKeydown`],fe=[`aria-label`],pe={class:`nav-section-label`},me={class:`nav-label`},he={class:`nav-section-label nav-space-label`},ge={class:`nav-copy`},_e={class:`nav-copy`},ve={class:`nav-copy`},ye={class:`nav-copy`},be={class:`nav-section-label nav-public-label`},xe={class:`nav-copy`},Se={class:`nav-section-label nav-tool-label`},Ce={class:`nav-label`},we={class:`nav-label`},Te={class:`nav-label`},Ee={class:`nav-section-label nav-about-label`},De={class:`nav-label`},Oe={class:`nav-label`},ke={class:`sidebar-foot`},Ae=[`aria-label`],je={class:`runtime-status`},Me={class:`runtime-status`},Ne={class:`workspace`},Pe={class:`topbar`},Fe=[`aria-expanded`],Ie={class:`topbar-heading`},Le={key:0,class:`eyebrow`},Re={key:1,class:`topbar-description`},Y={class:`topbar-actions`},ze={key:0,class:`mode-chip`},Be={key:1,class:`settings-save-button`,form:`settings-form`,type:`submit`},Ve=t({__name:`ConsoleLayout`,setup(t){let i=te(),h=ne(),_=c(!1),y=c(null),b=c(null),S=m(()=>i.activePersonalSpace?.id??`current`),w=m(()=>ie(S.value,`graph`)),k=m(()=>ae(`personal`,S.value,`directory`)),A=m(()=>q(h.meta.title,`routes.overview.title`)),j=m(()=>String(h.meta.eyebrow??`LOCAL + FEDERATED`)),N=m(()=>q(h.meta.description)),P=m(()=>i.publicRuntimeStatus===`ready`),F=m(()=>i.publicRuntimeStatus===`ready`?u(`console.services.publicReady`):i.publicRuntimeStatus===`error`?u(`console.services.publicError`):u(`console.services.publicOffline`)),I=m(()=>{if(i.publicRuntimeStatus===`ready`){let e=i.state?.capabilities;return e?.browsePublicProjects&&e?.subscribeProject&&!e?.publishProject&&!e?.submitKnowledge&&!e?.reviewProposals?u(`console.services.publicBrowseSubscribe`):u(`console.services.publicAvailable`)}return i.publicRuntimeStatus===`error`?u(`console.services.localUnaffected`):u(`console.services.localOnly`)}),L=m(()=>i.state?.capabilities?.browsePublicProjects!==!1),R=m(()=>{let e=i.state?.capabilities;return e?.submitKnowledge!==!1||e?.reviewProposals===!0});e(()=>{i.runtimeStatus===`idle`&&i.refresh()}),o(()=>{J(h.meta.title)}),r(()=>h.fullPath,()=>{_.value=!1});async function z(){_.value=!0,await a(),b.value?.focus({preventScroll:!0})}async function B(){_.value=!1,await a(),y.value?.focus({preventScroll:!0})}return(e,t)=>(g(),D(`div`,ue,[p(`aside`,{id:`console-primary-sidebar`,class:T([`sidebar`,{"is-mobile-open":_.value}]),onKeydown:f(x(B,[`stop`]),[`esc`])},[p(`button`,{ref_key:`mobileNavCloseRef`,ref:b,class:`mobile-nav-close quiet-button`,type:`button`,onClick:B},C(d(u)(`console.navigation.closeMenu`)),513),s(W),p(`nav`,{class:`primary-nav`,"aria-label":d(u)(`console.navigation.aria`)},[p(`p`,pe,C(d(u)(`console.navigation.workspace`)),1),s(d(M),{to:`/`,"exact-active-class":`is-active`},{default:O(()=>[t[2]||=p(`span`,{class:`nav-icon nav-icon-overview`,"aria-hidden":`true`},null,-1),p(`span`,me,C(d(u)(`console.navigation.overview`)),1)]),_:1}),p(`p`,he,C(d(u)(`console.navigation.personalSpace`)),1),s(d(M),{class:`space-nav-button personal-profile-button`,to:`/preferences`,"active-class":`is-active`},{default:O(()=>[t[3]||=p(`span`,{class:`nav-icon nav-icon-personal-profile`,"aria-hidden":`true`},null,-1),p(`span`,ge,[p(`strong`,null,C(d(u)(`console.navigation.preferences`)),1),p(`small`,null,C(d(u)(`console.navigation.preferencesMeta`)),1)])]),_:1}),s(d(M),{class:`space-nav-button knowledge-organizer-button`,to:`/organize`,"active-class":`is-active`},{default:O(()=>[t[4]||=p(`span`,{class:`nav-icon nav-icon-knowledge-organizer`,"aria-hidden":`true`},null,-1),p(`span`,_e,[p(`strong`,null,C(d(u)(`console.navigation.organizer`)),1),p(`small`,null,C(d(u)(`console.navigation.organizerMeta`)),1)])]),_:1}),s(d(M),{class:`space-nav-button personal-space-button`,to:w.value,"active-class":`is-active`},{default:O(()=>[t[5]||=p(`span`,{class:`nav-icon nav-icon-personal-project`,"aria-hidden":`true`},null,-1),p(`span`,ve,[p(`strong`,null,C(d(u)(`console.navigation.personalProjects`)),1),p(`small`,null,C(d(u)(`console.navigation.personalProjectsMeta`)),1)])]),_:1},8,[`to`]),s(d(M),{class:`space-nav-button project-agents-button`,to:`/project-agents`,"active-class":`is-active`},{default:O(()=>[t[6]||=p(`span`,{class:`nav-icon nav-icon-project-agent`,"aria-hidden":`true`},null,-1),p(`span`,ye,[p(`strong`,null,C(d(u)(`console.navigation.projectAgents`)),1),p(`small`,null,C(d(u)(`console.navigation.projectAgentsMeta`)),1)])]),_:1}),L.value?(g(),D(v,{key:0},[p(`p`,be,C(d(u)(`console.navigation.publicSpace`)),1),s(d(M),{class:`space-nav-button public-space-button`,to:`/public-projects`,"active-class":`is-active`},{default:O(()=>[t[7]||=p(`span`,{class:`nav-icon nav-icon-public-project`,"aria-hidden":`true`},null,-1),p(`span`,xe,[p(`strong`,null,C(d(u)(`console.navigation.publicProjects`)),1),p(`small`,null,C(d(u)(`console.navigation.publicProjectsMeta`)),1)])]),_:1})],64)):E(``,!0),p(`p`,Se,C(d(u)(`console.navigation.governance`)),1),s(d(M),{to:k.value,"active-class":`is-active`},{default:O(()=>[t[8]||=p(`span`,{class:`nav-icon nav-icon-knowledge-graph`,"aria-hidden":`true`},null,-1),p(`span`,Ce,C(d(u)(`console.navigation.knowledge`)),1)]),_:1},8,[`to`]),R.value?(g(),l(d(M),{key:1,to:`/review`,"active-class":`is-active`},{default:O(()=>[t[9]||=p(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),p(`span`,we,C(d(u)(`console.navigation.review`)),1)]),_:1})):E(``,!0),s(d(M),{to:`/connections`,"active-class":`is-active`},{default:O(()=>[t[10]||=p(`span`,{class:`nav-icon nav-icon-connections`,"aria-hidden":`true`},null,-1),p(`span`,Te,C(d(u)(`console.navigation.connections`)),1)]),_:1}),p(`p`,Ee,C(d(u)(`console.navigation.aboutSection`)),1),s(d(M),{to:`/settings`,"active-class":`is-active`},{default:O(()=>[t[11]||=p(`span`,{class:`nav-icon nav-icon-settings`,"aria-hidden":`true`},null,-1),p(`span`,De,C(d(u)(`console.navigation.settings`)),1)]),_:1}),s(d(M),{to:`/about`,"active-class":`is-active`},{default:O(()=>[t[12]||=p(`span`,{class:`nav-icon nav-icon-about`,"aria-hidden":`true`},null,-1),p(`span`,Oe,C(d(u)(`console.navigation.about`)),1)]),_:1})],8,fe),p(`div`,ke,[p(`div`,{class:`service-runtime-list`,"aria-label":d(u)(`console.services.aria`)},[p(`div`,je,[p(`span`,{class:T([`status-dot`,d(i).runtimeStatus])},null,2),p(`div`,null,[p(`strong`,null,C(d(i).runtimeStatus===`ready`?d(u)(`console.services.localReady`):d(i).runtimeStatus===`error`?d(u)(`console.services.localError`):d(u)(`console.services.localConnecting`)),1),t[13]||=p(`small`,null,`Graphiti / Neo4j`,-1)])]),p(`div`,Me,[p(`span`,{class:T([`status-dot`,d(i).publicRuntimeStatus])},null,2),p(`div`,null,[p(`strong`,null,C(F.value),1),p(`small`,null,C(I.value),1)])])],8,Ae)])],42,de),p(`main`,Ne,[p(`header`,Pe,[p(`button`,{ref_key:`mobileNavToggleRef`,ref:y,class:`mobile-nav-toggle quiet-button`,type:`button`,"aria-controls":`console-primary-sidebar`,"aria-expanded":_.value,onClick:z},[t[14]||=p(`span`,{class:`mobile-nav-icon`,"aria-hidden":`true`},null,-1),ee(` `+C(d(u)(`console.navigation.openMenu`)),1)],8,Fe),p(`div`,Ie,[j.value?(g(),D(`p`,Le,C(j.value),1)):E(``,!0),p(`h2`,null,C(A.value),1),N.value?(g(),D(`p`,Re,C(N.value),1)):E(``,!0)]),p(`div`,Y,[P.value?(g(),D(`span`,ze,C(d(u)(`console.publicReady`)),1)):E(``,!0),d(h).name===`settings`?(g(),D(`button`,Be,C(d(u)(`settings.save`)),1)):E(``,!0),s(ce),p(`button`,{class:`quiet-button`,type:`button`,onClick:t[0]||=(...e)=>d(i).refresh&&d(i).refresh(...e)},C(d(u)(`common.actions.refresh`)),1)])]),d(i).feedback?(g(),D(`button`,{key:0,class:T([`feedback feedback-button`,{success:d(i).feedback.tone===`success`}]),type:`button`,"aria-live":`polite`,onClick:t[1]||=(...e)=>d(i).clearFeedback&&d(i).clearFeedback(...e)},C(d(i).feedback.message),3)):E(``,!0),s(d(re),null,{default:O(({Component:e})=>[(g(),l(n(e)))]),_:1})])]))}}),He=t({__name:`App`,setup(e){return(e,t)=>(g(),l(Ve))}}),Ue=`modulepreload`,We=function(e){return`/`+e},X={},Z=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=We(t,n),t=s(t),t in X)return;X[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Ue,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function Ge(e){let t=e.match(/^#\/knowledge\/([^/?#]+)\/([^/?#]+)\/(entity|relationship)\/([^/?#]+)(?:\?([^#]*))?$/);if(!t)return null;let[,n,r,i,a,o]=t;return`/knowledge/${n}/${r}/directory/${i}/${a}${o?`?${o}`:``}`}var Q=j({history:A(`/`),routes:[{path:`/`,name:`overview`,component:()=>Z(()=>import(`./OverviewPage-Cd66M0RT.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{eyebrow:``,title:`routes.overview.title`}},{path:`/preferences`,name:`personal-profile`,component:()=>Z(()=>import(`./PersonalProfilePage-RCFHL0Wz.js`),__vite__mapDeps([6,1,2,3,4,7,8,9,10,11,12,13,14,15,16])),meta:{eyebrow:`PERSONAL LENS`,title:`routes.preferences.title`,description:`routes.preferences.description`}},{path:`/preferences/writing`,name:`writing-taste`,component:()=>Z(()=>import(`./WritingTastePage-CIpKswvs.js`),__vite__mapDeps([17,1,2,3,4,7,9,8,10,11,12,18])),meta:{eyebrow:``,title:`routes.writingTaste.title`}},{path:`/personal/:spaceId/projects/:projectId/:mode/:itemKind/:itemId`,name:`personal-project-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/personal/:spaceId/projects/:mode/:itemKind/:itemId`,name:`personal-projects-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:mode`,name:`personal-projects`,component:()=>Z(()=>import(`./PersonalProjectsPage-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:projectId/:mode`,name:`personal-project`,component:()=>Z(()=>import(`./PersonalProjectsPage-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/organize`,name:`knowledge-organizer`,component:()=>Z(()=>import(`./KnowledgeOrganizerPage-Dfj3vIpU.js`),__vite__mapDeps([21,1,2,7,8,10,9,11,12,13,14,15,22])),meta:{eyebrow:`KNOWLEDGE CLASSIFICATION`,title:`routes.organizer.title`}},{path:`/project-agents`,name:`project-agents`,component:()=>Z(()=>import(`./ProjectAgentsPage-DPnaH-TR.js`),__vite__mapDeps([23,1,2,7,8,24])),meta:{eyebrow:``,title:`routes.projectAgents.title`}},{path:`/public-projects`,name:`public-projects`,component:()=>Z(()=>import(`./PublicProjectsPage-mstPEjHe.js`),__vite__mapDeps([25,1,2,4,5,8,10])),meta:{eyebrow:`PUBLIC PROJECTS`,title:`routes.publicProjects.title`,description:`routes.publicProjects.description`}},{path:`/knowledge`,name:`knowledge-default`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode/:itemKind/:itemId`,name:`project-knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode/:itemKind/:itemId`,name:`knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode`,name:`project-knowledge`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode`,name:`knowledge`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/review`,name:`review`,component:()=>Z(()=>import(`./ReviewPage-6Y1SmfZy.js`),__vite__mapDeps([27,1,2,8,10,11])),meta:{eyebrow:`REVIEW WORKSPACE`,title:`routes.review.title`,description:`routes.review.description`}},{path:`/connections`,name:`connections`,component:()=>Z(()=>import(`./ConnectionsPage-BWn4ywGJ.js`),__vite__mapDeps([28,1,2,7,8,10,29])),meta:{eyebrow:`SERVICE CONNECTIONS`,title:`routes.connections.title`,description:`routes.connections.description`}},{path:`/settings`,name:`settings`,component:()=>Z(()=>import(`./SettingsPage--LdTMUm7.js`),__vite__mapDeps([30,1,2,7,8,14,31])),meta:{eyebrow:``,title:`routes.settings.title`}},{path:`/about`,name:`about`,component:()=>Z(()=>import(`./AboutPage-sLV9WChi.js`),__vite__mapDeps([32,1,33,7,34])),meta:{eyebrow:`FULI`,title:`routes.about.title`}},{path:`/:pathMatch(.*)*`,redirect:`/`}],scrollBehavior:()=>({top:0})});Q.beforeEach(e=>e.path!==`/`||typeof window>`u`?!0:Ge(window.location.hash)??!0),Q.afterEach(e=>{J(e.meta.title)});var $=b(He);$.use(k()),$.use(S),$.use(Q),await Q.isReady(),$.mount(`#app`);
|