fuli-context 0.8.3 → 0.9.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +105 -6
  2. package/README.zh-CN.md +92 -6
  3. package/dist/web/assets/{AboutPage-HLhChD_Q.js → AboutPage-u2Bv6cO-.js} +1 -1
  4. package/dist/web/assets/{AgentHand-BaLSbn08.js → AgentHand-CsMcNXUm.js} +1 -1
  5. package/dist/web/assets/{AgentName-0PIU7MOX.js → AgentName-BboCA-Fd.js} +1 -1
  6. package/dist/web/assets/{AgentProfilePage-9cSsZHnk.js → AgentProfilePage-Dyux6qE3.js} +1 -1
  7. package/dist/web/assets/AgentsDirectoryPage-BEJdvmX7.js +1 -0
  8. package/dist/web/assets/{ConnectionsPage-D0wPYbwd.js → ConnectionsPage-Dw_hK_EM.js} +1 -1
  9. package/dist/web/assets/{EmployeeRecruitDialog-BrPH3e50.js → EmployeeRecruitDialog-DP_ktv3w.js} +1 -1
  10. package/dist/web/assets/{EmployeeWorkbenchPage-u-jw38PW.js → EmployeeWorkbenchPage-CAt8lVnr.js} +1 -1
  11. package/dist/web/assets/{GrowthLoading-DFOy-mEl.js → GrowthLoading-DIwqGFSc.js} +1 -1
  12. package/dist/web/assets/{KnowledgeEditDialog-DBsjlkDr.js → KnowledgeEditDialog-Degd9AGD.js} +1 -1
  13. package/dist/web/assets/{KnowledgeInspector-C79hbuOo.js → KnowledgeInspector-yms1ysZ4.js} +1 -1
  14. package/dist/web/assets/{KnowledgeOrganizerPage-Cz1BnAtz.js → KnowledgeOrganizerPage-C64wNn8a.js} +1 -1
  15. package/dist/web/assets/KnowledgePage-BTFEXzgi.js +1 -0
  16. package/dist/web/assets/{KnowledgeWorkspace-B2vj12QG.js → KnowledgeWorkspace-BsF1X4Aq.js} +1 -1
  17. package/dist/web/assets/{NotFoundPage-D340EQJP.js → NotFoundPage-DfaNTiD1.js} +1 -1
  18. package/dist/web/assets/{OverviewPage-BKiYudrC.js → OverviewPage-VXMfcWFI.js} +1 -1
  19. package/dist/web/assets/{PersonalProfilePage-BIGTcem2.js → PersonalProfilePage-C1LBhcYu.js} +1 -1
  20. package/dist/web/assets/PersonalProjectsPage-B5lV4ZJW.js +1 -0
  21. package/dist/web/assets/ProjectAgentFirstTask-6afJ8HUe.css +1 -0
  22. package/dist/web/assets/ProjectAgentFirstTask-DF-IvEqp.js +1 -0
  23. package/dist/web/assets/ProjectAgentsPage-CgL92gng.js +13 -0
  24. package/dist/web/assets/ProjectAgentsPage-CoJ4qQlA.css +1 -0
  25. package/dist/web/assets/{ProjectScopePicker-8hrgvmg-.js → ProjectScopePicker-CZUMdyYz.js} +1 -1
  26. package/dist/web/assets/{PublicProjectsPage-b5zx0dFS.js → PublicProjectsPage-e4CpxHk9.js} +1 -1
  27. package/dist/web/assets/{ReviewPage-BLdWYDmj.js → ReviewPage-DugEaFvI.js} +1 -1
  28. package/dist/web/assets/RoundtablesPage-642YtZBC.js +2 -0
  29. package/dist/web/assets/RoundtablesPage-DCbIBnBq.css +1 -0
  30. package/dist/web/assets/{SearchableSelect-vaoSDq1g.js → SearchableSelect-Do6X3fXi.js} +1 -1
  31. package/dist/web/assets/{SettingsPage-Dxjrkq1g.js → SettingsPage-wqYxDPyu.js} +1 -1
  32. package/dist/web/assets/{SharedJefaReportPage-YG2xwQQy.js → SharedJefaReportPage-CNQDezJr.js} +1 -1
  33. package/dist/web/assets/{WritingTastePage-CPPduPb1.js → WritingTastePage-CAUvbDlL.js} +1 -1
  34. package/dist/web/assets/{agent-profile.css_vue_type_style_index_0_src_true_lang-LTJ1ptv9.js → agent-profile.css_vue_type_style_index_0_src_true_lang-DHOcWSe_.js} +1 -1
  35. package/dist/web/assets/{catalog-B9tlJAp9.js → catalog-JmKyJnKL.js} +1 -1
  36. package/dist/web/assets/{client-InXscj8J.js → client-DTQ_tUr2.js} +1 -1
  37. package/dist/web/assets/{console-hUns2aD-.js → console-CrhIK67Y.js} +1 -1
  38. package/dist/web/assets/{conversation-launcher-settings-DEtJ6pZg.js → conversation-launcher-settings-fUWCt3XG.js} +1 -1
  39. package/dist/web/assets/copy-CX6pyzAG.js +1 -0
  40. package/dist/web/assets/i18n-CIIxzhPZ.js +10 -0
  41. package/dist/web/assets/{identity-Wt2Xio_B.js → identity-CdFITIOu.js} +1 -1
  42. package/dist/web/assets/{index-CWMqDq8g.css → index-CYZi7E1e.css} +1 -1
  43. package/dist/web/assets/index-DMoxVzDU.js +2 -0
  44. package/dist/web/assets/{model-C1GwBvd9.js → model-CJsrDUNb.js} +1 -1
  45. package/dist/web/assets/{personal-profile-graph-BdV_3I1u.js → personal-profile-graph-CQLOait6.js} +1 -1
  46. package/dist/web/assets/{shared-report-tRQV1iJl.js → shared-report-Cll2Yj8W.js} +1 -1
  47. package/dist/web/assets/{task-evidence-BUu7yYIn.js → task-evidence-DTiPCs7r.js} +1 -1
  48. package/dist/web/assets/{useApi-CROJJdhE-QfNm4ADP.js → useApi-CROJJdhE-fcdVGInY.js} +1 -1
  49. package/dist/web/assets/{useModalDialog-BopF-KHN.js → useModalDialog-B-45idX9.js} +1 -1
  50. package/dist/web/assets/{vue-router-COCNAJJn.js → vue-router-BUX6njIv.js} +1 -1
  51. package/dist/web/index.html +12 -11
  52. package/docs/employee-agents.md +20 -1
  53. package/docs/roundtable-beta-testing.md +102 -0
  54. package/docs/roundtable-beta-validation.md +125 -0
  55. package/docs/roundtable-research.md +142 -0
  56. package/graph-provider/fuli_graph/app.py +5 -0
  57. package/graph-provider/fuli_graph/models.py +1 -0
  58. package/graph-provider/fuli_graph/project_agent_task_models.py +1 -0
  59. package/graph-provider/fuli_graph/store_project_agent_context.py +4 -0
  60. package/graph-provider/fuli_graph/store_project_agent_task_reads.py +23 -8
  61. package/graph-provider/fuli_graph/store_project_agent_tasks.py +1 -0
  62. package/graph-provider/fuli_graph/store_records.py +1 -0
  63. package/graph-provider/fuli_graph/store_task_contexts.py +2 -1
  64. package/graph-provider/fuli_graph/task_context_adoption.py +9 -4
  65. package/graph-provider/fuli_graph/task_context_temporary_owner.py +25 -0
  66. package/graph-provider/fuli_graph/temporary_project_scope.py +88 -0
  67. package/npm-shrinkwrap.json +131 -79
  68. package/package.json +7 -3
  69. package/skills/capturing-session-knowledge/SKILL.md +20 -5
  70. package/src/agent-tools/graph-definitions.js +1 -1
  71. package/src/agent-tools/interface-catalog.js +5 -0
  72. package/src/agent-tools/project-agent-definitions.js +2 -2
  73. package/src/agent-tools.js +9 -2
  74. package/src/agents/a2a/roundtable-participant.js +374 -0
  75. package/src/agents/claude-code/roundtable-participant.js +24 -0
  76. package/src/agents/codex/roundtable-config.js +29 -0
  77. package/src/agents/codex/roundtable-participant.js +34 -0
  78. package/src/agents/grok/roundtable-participant.js +185 -0
  79. package/src/agents/pi/roundtable-participant.js +193 -0
  80. package/src/agents/pi/roundtable-result-format.js +183 -0
  81. package/src/cli/command-registry.js +2 -0
  82. package/src/cli/roundtable-command.js +59 -0
  83. package/src/cli.js +5 -0
  84. package/src/graphiti/agent-knowledge-workflows.js +14 -5
  85. package/src/graphiti/federated-application.js +3 -1
  86. package/src/graphiti/project-agent-mapping.js +1 -0
  87. package/src/graphiti/project-agent-workflows.js +28 -11
  88. package/src/graphiti/project-path-context.js +1 -0
  89. package/src/graphiti/provider-client.js +3 -0
  90. package/src/graphiti/temporary-project-scope.js +46 -0
  91. package/src/http/api-router.js +2 -0
  92. package/src/http/error-mapping.js +2 -0
  93. package/src/mcp/provider-task-context-registry.js +10 -0
  94. package/src/mcp/session-id.js +1 -0
  95. package/src/mcp/tool-annotations.js +2 -0
  96. package/src/roundtables/application.js +69 -0
  97. package/src/roundtables/domain.js +181 -0
  98. package/src/roundtables/http-router.js +56 -0
  99. package/src/roundtables/mcp-server.js +48 -0
  100. package/src/roundtables/participant-registry.js +12 -0
  101. package/src/roundtables/process.js +70 -0
  102. package/src/roundtables/result-contract.js +47 -0
  103. package/src/roundtables/server.js +52 -0
  104. package/src/roundtables/service.js +396 -0
  105. package/src/roundtables/store.js +59 -0
  106. package/src/roundtables/tool-contract.js +41 -0
  107. package/src/roundtables/turn-prompt.js +21 -0
  108. package/src/roundtables/worker.js +85 -0
  109. package/dist/web/assets/AgentsDirectoryPage-7G02Xm6C.js +0 -1
  110. package/dist/web/assets/KnowledgePage-JyfFFUrg.js +0 -1
  111. package/dist/web/assets/PersonalProjectsPage-CzjDCIi0.js +0 -1
  112. package/dist/web/assets/ProjectAgentsPage-C5F2WgwJ.js +0 -13
  113. package/dist/web/assets/ProjectAgentsPage-C89ZEDgi.css +0 -1
  114. package/dist/web/assets/i18n-75woNt31.js +0 -9
  115. package/dist/web/assets/index-pleRuLpw.js +0 -2
@@ -1 +1 @@
1
- import{C as e,F as t,N as n,T as r,V as i,Z as a,_ as o,a as s,at as c,b as l,h as u,m as ee,nt as d,rt as te,v as f,w as p,x as m,y as h,z as g}from"./i18n-75woNt31.js";import{t as _}from"./GrowthLoading-DFOy-mEl.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as y}from"./vue-router-COCNAJJn.js";import{i as ne}from"./client-InXscj8J.js";import{a as re,o as ie,r as b,s as ae}from"./catalog-B9tlJAp9.js";import{i as oe}from"./AgentHand-BaLSbn08.js";import{t as se}from"./useModalDialog-BopF-KHN.js";import{n as ce}from"./paths-CDREouhi.js";import{t as le}from"./ProjectScopePicker-8hrgvmg-.js";import{t as x}from"./SearchableSelect-vaoSDq1g.js";var ue={class:`employee-recruit-heading`},de={id:`employee-recruit-title`},fe=[`disabled`],pe={key:1,role:`alert`,class:`employee-message`},me={key:2},he={class:`employee-recruit-body`},ge={key:0,class:`employee-picker-field`},_e={class:`employee-profile`},ve={class:`employee-avatar`,"aria-hidden":`true`},ye=[`src`],be={class:`employee-specialties`},xe=[`aria-label`],Se=[`data-scope`,`aria-checked`,`tabindex`,`disabled`,`onClick`],Ce={key:3,class:`employee-scope-rule`,role:`status`},we={key:4,class:`employee-muted`},Te={key:5,class:`employee-muted`},Ee={key:6,class:`employee-muted`},De=[`aria-label`],Oe={class:`employee-title-controls`},ke={class:`employee-picker-field`},Ae={class:`employee-picker-field`},je={class:`employee-title-preview`},Me={class:`employee-muted`},Ne=[`aria-label`],Pe={key:9,class:`employee-error`,role:`alert`},Fe=[`disabled`],Ie={key:11,class:`employee-success`,role:`status`},Le={class:`employee-recruit-actions`},Re=[`disabled`],ze=[`disabled`],S=v(r({__name:`EmployeeRecruitDialog`,props:{open:{type:Boolean},personalSpaceId:{},projects:{},defaultProjectId:{},defaultProjectIds:{},templateId:{}},emits:[`close`,`recruited`],setup(r,{emit:v}){let S=r,C=v,w=a([]),T=a([]),E=a(`selected`),D=a([]),O=a(`auto`),k=a(`emoji`),A=a(``),j=a(``),M=a(!1),N=a(!1),P=a(``),F=a(!1),I=a(``),L=a(null),R=a([]),z=a(``),{dialogRef:Be,initialFocusRef:Ve,onCancel:He,onKeydown:Ue}=se(()=>S.open,Q),B=o(()=>R.value),V=o(()=>S.templateId?B.value.find(e=>e.id===S.templateId):B.value.find(e=>e.id===P.value)??B.value[0]),We=o(()=>V.value?.agentId?s(`employees.manageProjectsTitle`,{name:V.value.name}):s(`employees.recruit`)),H=o(()=>S.projects.filter(e=>e.profile.lifecycle!==`archived`).map(e=>({id:e.project_id,name:e.profile.name}))),U=o(()=>V.value?.management!==void 0),W=o({get:()=>E.value===`all`?H.value.filter(e=>!D.value.includes(e.id)).map(e=>e.id):w.value,set:e=>{if(E.value===`all`){let t=new Set(H.value.map(e=>e.id));D.value=[...D.value.filter(e=>!t.has(e)),...H.value.filter(t=>!e.includes(t.id)).map(e=>e.id)]}else w.value=e}}),G=o(()=>({mode:E.value,projectIds:E.value===`selected`?[...w.value].sort():[],excludedProjectIds:E.value===`all`?[...D.value].sort():[],titleMode:O.value,titleStyle:k.value})),Ge=o(()=>[`auto`,`suggest`,`off`].map(e=>({value:e,label:s(`employees.titles.${e}`)}))),Ke=o(()=>[`emoji`,`text`].map(e=>({value:e,label:s(`employees.titles.${e}`)}))),K=o(()=>new Set(T.value)),qe=o(()=>[...K.value].filter(e=>!W.value.includes(e))),q=o(()=>!!(V.value?.agentStatus&&V.value.agentStatus!==`active`)),J=o(()=>V.value?.agentStatus===`active`&&(U.value?JSON.stringify(G.value)===A.value&&(E.value===`all`||w.value.length===K.value.size&&w.value.every(e=>K.value.has(e))):w.value.length===K.value.size&&w.value.every(e=>K.value.has(e)))),Je=o(()=>F.value?s(`employees.recruiting`):q.value?s(`employees.rehire`,{name:V.value?.name??``}):J.value||V.value?.agentId?s(`employees.assign`):s(`employees.recruitName`,{name:V.value?.name??``})),Ye=o(()=>V.value&&W.value.length?`/employees/${encodeURIComponent(V.value.id)}?project=${encodeURIComponent(W.value[0])}`:``),Y=0;g([()=>S.open,()=>S.personalSpaceId,()=>S.templateId],([e])=>{Y+=1,e&&Z(!0)},{immediate:!0}),g(P,()=>{S.open&&!M.value&&X(!0)}),g(G,()=>{I.value=N.value?I.value:``,L.value=null},{flush:`sync`});function X(e=!1){let t=new Set(H.value.map(e=>e.id));T.value=[...new Set((V.value?.assignments??[]).filter(e=>e.status===`active`&&t.has(e.personalProjectId)).map(e=>e.personalProjectId))];let n=e&&!V.value?.agentId?S.defaultProjectIds??(S.defaultProjectId?[S.defaultProjectId]:[]):[];w.value=[...new Set([...T.value,...n.filter(e=>t.has(e))])];let r=V.value?.management;E.value=r?.mode??`selected`,D.value=[...r?.excludedProjectIds??[]],O.value=r?.titleMode??`auto`,k.value=r?.titleStyle??`emoji`,r?.mode===`selected`&&V.value?.agentId&&(w.value=r.projectIds.filter(e=>t.has(e))),r?.mode===`all`&&V.value?.agentId&&(T.value=[...W.value]),A.value=JSON.stringify(G.value),j.value=V.value?.assignmentsVersion??``,N.value=!1,I.value=``,L.value=null}async function Z(e=!1){let t=++Y;M.value=!0,R.value=[],z.value=``;try{let n=await ie(S.personalSpaceId);if(t!==Y||!S.open)return;R.value=n,X(e)}catch(e){t===Y&&S.open&&(R.value=[],z.value=b(e))}finally{t===Y&&(M.value=!1)}}function Q(){F.value||C(`close`)}async function Xe(){if(!V.value||V.value.identityConflict||!S.personalSpaceId||F.value||M.value||N.value||!j.value||J.value)return;F.value=!0,I.value=``;let e=V.value.id;try{let t=await ne(`/api/employee-templates/${encodeURIComponent(e)}/recruit`,{personalSpaceId:S.personalSpaceId,...U.value?{management:G.value}:{personalProjectIds:[...w.value]},replaceAssignments:!0,expectedAssignmentsVersion:j.value,...q.value?{reactivate:!0}:{}});await ae(S.personalSpaceId),R.value=[...re.value],X(),L.value=t,C(`recruited`,t)}catch(e){I.value=b(e);try{let t=JSON.parse(e instanceof Error?e.message:``);N.value=t.code===`assignment_scope_conflict`||t.code===`assignment_update_incomplete`}catch{}}finally{F.value=!1}}function $(e){e===`selected`&&(w.value=[...W.value]),E.value=e}function Ze(e){if(!(F.value||M.value||N.value)&&[`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){e.preventDefault();let t=e.key===`Home`?`all`:e.key===`End`||E.value===`all`?`selected`:`all`;$(t),e.currentTarget.querySelector(`[data-scope="${t}"]`)?.focus()}}return(a,o)=>r.open?(n(),m(`dialog`,{key:0,ref_key:`dialogRef`,ref:Be,class:`employee-recruit-dialog`,"aria-modal":`true`,"aria-labelledby":`employee-recruit-title`,onCancel:o[6]||=(...e)=>d(He)&&d(He)(...e),onKeydown:o[7]||=(...e)=>d(Ue)&&d(Ue)(...e)},[f(`header`,ue,[f(`h2`,de,c(We.value),1),f(`button`,{ref_key:`initialFocusRef`,ref:Ve,type:`button`,class:`quiet-button`,disabled:F.value,onClick:Q},c(d(s)(`employees.close`)),9,fe)]),M.value&&!B.value.length?(n(),h(_,{key:0,variant:`compact`,label:d(s)(`employees.loading`)},null,8,[`label`])):z.value?(n(),m(`div`,pe,[f(`p`,null,c(z.value),1),f(`button`,{class:`quiet-button`,type:`button`,onClick:o[0]||=e=>Z(!0)},c(d(s)(`employees.retry`)),1)])):V.value?(n(),m(`form`,{key:3,onSubmit:ee(Xe,[`prevent`])},[f(`div`,he,[B.value.length>1&&!S.templateId?(n(),m(`div`,ge,[f(`span`,null,c(d(s)(`employees.choose`)),1),p(x,{modelValue:P.value,"onUpdate:modelValue":o[1]||=e=>P.value=e,"control-id":`employee-template`,label:d(s)(`employees.choose`),options:B.value.map(e=>({value:e.id,label:e.name,meta:e.role})),disabled:F.value||M.value},null,8,[`modelValue`,`label`,`options`,`disabled`])])):l(``,!0),f(`div`,_e,[f(`span`,ve,[d(oe)(V.value.id)?(n(),m(`img`,{key:0,src:d(oe)(V.value.id),alt:``},null,8,ye)):(n(),m(u,{key:1},[e(c(V.value.name.slice(0,1)),1)],64))]),f(`div`,null,[f(`h3`,null,[e(c(V.value.name)+` `,1),f(`span`,null,c(V.value.role),1)]),f(`p`,null,c(V.value.description),1)])]),f(`p`,be,c(V.value.capabilities.join(` · `)),1),M.value?(n(),h(_,{key:1,variant:`compact`,label:d(s)(`employees.loadingScope`)},null,8,[`label`])):l(``,!0),U.value?(n(),m(`div`,{key:2,class:`employee-scope-mode`,role:`radiogroup`,"aria-label":d(s)(`employees.scope.rule`),onKeydown:Ze},[(n(),m(u,null,t([`all`,`selected`],e=>f(`button`,{key:e,type:`button`,role:`radio`,"data-scope":e,"aria-checked":E.value===e,tabindex:E.value===e?0:-1,disabled:F.value||M.value||N.value,onClick:t=>$(e)},c(d(s)(`employees.scope.${e===`all`?`continuousAll`:`onlySelected`}`)),9,Se)),64))],40,xe)):l(``,!0),U.value?(n(),m(`p`,Ce,c(E.value===`all`?d(s)(`employees.scope.allHint`,{name:V.value.name}):d(s)(`employees.scope.selectedHint`)),1)):l(``,!0),p(le,{modelValue:W.value,"onUpdate:modelValue":o[2]||=e=>W.value=e,projects:H.value,inline:``,hint:E.value===`all`?d(s)(`employees.scope.excludeHint`):void 0,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`projects`,`hint`,`disabled`]),E.value===`all`&&D.value.length?(n(),m(`p`,we,c(d(s)(`employees.scope.excludedCount`,{count:D.value.length})),1)):l(``,!0),H.value.length?l(``,!0):(n(),m(`p`,Te,[e(c(d(s)(`employees.noProjects`))+` `,1),p(d(y),{to:d(ce)(r.personalSpaceId,`directory`),onClick:Q},{default:i(()=>[e(c(d(s)(`employees.createProject`)),1)]),_:1},8,[`to`])])),qe.value.length&&!L.value?(n(),m(`p`,Ee,c(d(s)(`employees.scopeRemoved`,{count:qe.value.length})),1)):l(``,!0),U.value&&V.value.permissions.includes(`session.title`)?(n(),m(`section`,{key:7,class:`employee-title-settings`,"aria-label":d(s)(`employees.titles.heading`)},[f(`h3`,null,c(d(s)(`employees.titles.heading`)),1),f(`div`,Oe,[f(`div`,ke,[f(`span`,null,c(d(s)(`employees.titles.mode`)),1),p(x,{modelValue:O.value,"onUpdate:modelValue":o[3]||=e=>O.value=e,"control-id":`employee-title-mode`,label:d(s)(`employees.titles.mode`),options:Ge.value,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`label`,`options`,`disabled`])]),f(`div`,Ae,[f(`span`,null,c(d(s)(`employees.titles.style`)),1),p(x,{modelValue:k.value,"onUpdate:modelValue":o[4]||=e=>k.value=e,"control-id":`employee-title-style`,label:d(s)(`employees.titles.style`),options:Ke.value,disabled:F.value||M.value||N.value||O.value===`off`},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),f(`p`,je,[e(c(d(s)(`employees.titles.example`))+` `,1),f(`span`,null,`【P1|`+c(k.value===`emoji`?`🔧 `:``)+`FIX|`+c(d(s)(`employees.titles.exampleTask`))+`】`,1)]),f(`p`,Me,c(d(s)(`employees.titles.boundary`)),1)],8,De)):l(``,!0),f(`section`,{class:`employee-permissions`,"aria-label":d(s)(`employees.permissions`)},[f(`strong`,null,c(d(s)(`employees.permissions`)),1),f(`ul`,null,[(n(!0),m(u,null,t(V.value.permissions,e=>(n(),m(`li`,{key:e},c(e===`board.read`?d(s)(`employees.boardRead`):e===`board.write`?d(s)(`employees.boardWrite`):e===`session.title`?d(s)(`employees.titles.heading`):e),1))),128))]),f(`p`,null,c(d(s)(`employees.noExecutor`)),1)],8,Ne),V.value.runtime?(n(),m(`p`,{key:8,class:te([`employee-runtime`,{"is-warning":V.value.runtimeStatus!==`ready`}])},c(V.value.runtimeStatus===`ready`?d(s)(`employees.hostReady`):d(s)(`employees.installRequired`)),3)):l(``,!0),I.value||V.value.identityConflict?(n(),m(`p`,Pe,c(I.value||d(s)(`employees.errors.identity_conflict`)),1)):l(``,!0),N.value?(n(),m(`button`,{key:10,type:`button`,class:`quiet-button`,disabled:M.value,onClick:o[5]||=e=>Z()},c(d(s)(`employees.reloadScope`)),9,Fe)):l(``,!0),L.value?(n(),m(`div`,Ie,[f(`strong`,null,c(d(s)(`employees.scopeSaved`)),1),f(`p`,null,c(E.value===`all`?d(s)(`employees.scope.successAll`,{count:W.value.length}):W.value.length?d(s)(`employees.successMultiple`,{count:W.value.length}):d(s)(`employees.successUnassigned`)),1)])):l(``,!0)]),f(`footer`,Le,[f(`button`,{class:`quiet-button`,type:`button`,disabled:F.value,onClick:Q},c(d(s)(`employees.cancel`)),9,Re),J.value&&Ye.value&&!F.value&&!M.value&&!N.value&&V.value.runtimeStatus===`ready`?(n(),h(d(y),{key:0,class:`employee-primary`,to:Ye.value,onClick:Q},{default:i(()=>[e(c(d(s)(`employees.open`)),1)]),_:1},8,[`to`])):(n(),m(`button`,{key:1,class:`employee-primary`,type:`submit`,disabled:F.value||M.value||N.value||!j.value||J.value||V.value.identityConflict||!r.personalSpaceId},[F.value?(n(),h(_,{key:0,variant:`inline`,label:Je.value},null,8,[`label`])):(n(),m(u,{key:1},[e(c(Je.value),1)],64))],8,ze))])],32)):(n(),m(`p`,me,c(d(s)(`employees.noTemplates`)),1))],544)):l(``,!0)}}),[[`__scopeId`,`data-v-53eaa264`]]);export{S as t};
1
+ import{C as e,F as t,N as n,T as r,V as i,Z as a,_ as o,a as s,at as c,b as l,h as u,m as ee,nt as d,rt as te,v as f,w as p,x as m,y as h,z as g}from"./i18n-CIIxzhPZ.js";import{t as _}from"./GrowthLoading-DIwqGFSc.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as y}from"./vue-router-BUX6njIv.js";import{i as ne}from"./client-DTQ_tUr2.js";import{a as re,o as ie,r as b,s as ae}from"./catalog-JmKyJnKL.js";import{i as oe}from"./AgentHand-CsMcNXUm.js";import{t as se}from"./useModalDialog-B-45idX9.js";import{n as ce}from"./paths-CDREouhi.js";import{t as le}from"./ProjectScopePicker-CZUMdyYz.js";import{t as x}from"./SearchableSelect-Do6X3fXi.js";var ue={class:`employee-recruit-heading`},de={id:`employee-recruit-title`},fe=[`disabled`],pe={key:1,role:`alert`,class:`employee-message`},me={key:2},he={class:`employee-recruit-body`},ge={key:0,class:`employee-picker-field`},_e={class:`employee-profile`},ve={class:`employee-avatar`,"aria-hidden":`true`},ye=[`src`],be={class:`employee-specialties`},xe=[`aria-label`],Se=[`data-scope`,`aria-checked`,`tabindex`,`disabled`,`onClick`],Ce={key:3,class:`employee-scope-rule`,role:`status`},we={key:4,class:`employee-muted`},Te={key:5,class:`employee-muted`},Ee={key:6,class:`employee-muted`},De=[`aria-label`],Oe={class:`employee-title-controls`},ke={class:`employee-picker-field`},Ae={class:`employee-picker-field`},je={class:`employee-title-preview`},Me={class:`employee-muted`},Ne=[`aria-label`],Pe={key:9,class:`employee-error`,role:`alert`},Fe=[`disabled`],Ie={key:11,class:`employee-success`,role:`status`},Le={class:`employee-recruit-actions`},Re=[`disabled`],ze=[`disabled`],S=v(r({__name:`EmployeeRecruitDialog`,props:{open:{type:Boolean},personalSpaceId:{},projects:{},defaultProjectId:{},defaultProjectIds:{},templateId:{}},emits:[`close`,`recruited`],setup(r,{emit:v}){let S=r,C=v,w=a([]),T=a([]),E=a(`selected`),D=a([]),O=a(`auto`),k=a(`emoji`),A=a(``),j=a(``),M=a(!1),N=a(!1),P=a(``),F=a(!1),I=a(``),L=a(null),R=a([]),z=a(``),{dialogRef:Be,initialFocusRef:Ve,onCancel:He,onKeydown:Ue}=se(()=>S.open,Q),B=o(()=>R.value),V=o(()=>S.templateId?B.value.find(e=>e.id===S.templateId):B.value.find(e=>e.id===P.value)??B.value[0]),We=o(()=>V.value?.agentId?s(`employees.manageProjectsTitle`,{name:V.value.name}):s(`employees.recruit`)),H=o(()=>S.projects.filter(e=>e.profile.lifecycle!==`archived`).map(e=>({id:e.project_id,name:e.profile.name}))),U=o(()=>V.value?.management!==void 0),W=o({get:()=>E.value===`all`?H.value.filter(e=>!D.value.includes(e.id)).map(e=>e.id):w.value,set:e=>{if(E.value===`all`){let t=new Set(H.value.map(e=>e.id));D.value=[...D.value.filter(e=>!t.has(e)),...H.value.filter(t=>!e.includes(t.id)).map(e=>e.id)]}else w.value=e}}),G=o(()=>({mode:E.value,projectIds:E.value===`selected`?[...w.value].sort():[],excludedProjectIds:E.value===`all`?[...D.value].sort():[],titleMode:O.value,titleStyle:k.value})),Ge=o(()=>[`auto`,`suggest`,`off`].map(e=>({value:e,label:s(`employees.titles.${e}`)}))),Ke=o(()=>[`emoji`,`text`].map(e=>({value:e,label:s(`employees.titles.${e}`)}))),K=o(()=>new Set(T.value)),qe=o(()=>[...K.value].filter(e=>!W.value.includes(e))),q=o(()=>!!(V.value?.agentStatus&&V.value.agentStatus!==`active`)),J=o(()=>V.value?.agentStatus===`active`&&(U.value?JSON.stringify(G.value)===A.value&&(E.value===`all`||w.value.length===K.value.size&&w.value.every(e=>K.value.has(e))):w.value.length===K.value.size&&w.value.every(e=>K.value.has(e)))),Je=o(()=>F.value?s(`employees.recruiting`):q.value?s(`employees.rehire`,{name:V.value?.name??``}):J.value||V.value?.agentId?s(`employees.assign`):s(`employees.recruitName`,{name:V.value?.name??``})),Ye=o(()=>V.value&&W.value.length?`/employees/${encodeURIComponent(V.value.id)}?project=${encodeURIComponent(W.value[0])}`:``),Y=0;g([()=>S.open,()=>S.personalSpaceId,()=>S.templateId],([e])=>{Y+=1,e&&Z(!0)},{immediate:!0}),g(P,()=>{S.open&&!M.value&&X(!0)}),g(G,()=>{I.value=N.value?I.value:``,L.value=null},{flush:`sync`});function X(e=!1){let t=new Set(H.value.map(e=>e.id));T.value=[...new Set((V.value?.assignments??[]).filter(e=>e.status===`active`&&t.has(e.personalProjectId)).map(e=>e.personalProjectId))];let n=e&&!V.value?.agentId?S.defaultProjectIds??(S.defaultProjectId?[S.defaultProjectId]:[]):[];w.value=[...new Set([...T.value,...n.filter(e=>t.has(e))])];let r=V.value?.management;E.value=r?.mode??`selected`,D.value=[...r?.excludedProjectIds??[]],O.value=r?.titleMode??`auto`,k.value=r?.titleStyle??`emoji`,r?.mode===`selected`&&V.value?.agentId&&(w.value=r.projectIds.filter(e=>t.has(e))),r?.mode===`all`&&V.value?.agentId&&(T.value=[...W.value]),A.value=JSON.stringify(G.value),j.value=V.value?.assignmentsVersion??``,N.value=!1,I.value=``,L.value=null}async function Z(e=!1){let t=++Y;M.value=!0,R.value=[],z.value=``;try{let n=await ie(S.personalSpaceId);if(t!==Y||!S.open)return;R.value=n,X(e)}catch(e){t===Y&&S.open&&(R.value=[],z.value=b(e))}finally{t===Y&&(M.value=!1)}}function Q(){F.value||C(`close`)}async function Xe(){if(!V.value||V.value.identityConflict||!S.personalSpaceId||F.value||M.value||N.value||!j.value||J.value)return;F.value=!0,I.value=``;let e=V.value.id;try{let t=await ne(`/api/employee-templates/${encodeURIComponent(e)}/recruit`,{personalSpaceId:S.personalSpaceId,...U.value?{management:G.value}:{personalProjectIds:[...w.value]},replaceAssignments:!0,expectedAssignmentsVersion:j.value,...q.value?{reactivate:!0}:{}});await ae(S.personalSpaceId),R.value=[...re.value],X(),L.value=t,C(`recruited`,t)}catch(e){I.value=b(e);try{let t=JSON.parse(e instanceof Error?e.message:``);N.value=t.code===`assignment_scope_conflict`||t.code===`assignment_update_incomplete`}catch{}}finally{F.value=!1}}function $(e){e===`selected`&&(w.value=[...W.value]),E.value=e}function Ze(e){if(!(F.value||M.value||N.value)&&[`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){e.preventDefault();let t=e.key===`Home`?`all`:e.key===`End`||E.value===`all`?`selected`:`all`;$(t),e.currentTarget.querySelector(`[data-scope="${t}"]`)?.focus()}}return(a,o)=>r.open?(n(),m(`dialog`,{key:0,ref_key:`dialogRef`,ref:Be,class:`employee-recruit-dialog`,"aria-modal":`true`,"aria-labelledby":`employee-recruit-title`,onCancel:o[6]||=(...e)=>d(He)&&d(He)(...e),onKeydown:o[7]||=(...e)=>d(Ue)&&d(Ue)(...e)},[f(`header`,ue,[f(`h2`,de,c(We.value),1),f(`button`,{ref_key:`initialFocusRef`,ref:Ve,type:`button`,class:`quiet-button`,disabled:F.value,onClick:Q},c(d(s)(`employees.close`)),9,fe)]),M.value&&!B.value.length?(n(),h(_,{key:0,variant:`compact`,label:d(s)(`employees.loading`)},null,8,[`label`])):z.value?(n(),m(`div`,pe,[f(`p`,null,c(z.value),1),f(`button`,{class:`quiet-button`,type:`button`,onClick:o[0]||=e=>Z(!0)},c(d(s)(`employees.retry`)),1)])):V.value?(n(),m(`form`,{key:3,onSubmit:ee(Xe,[`prevent`])},[f(`div`,he,[B.value.length>1&&!S.templateId?(n(),m(`div`,ge,[f(`span`,null,c(d(s)(`employees.choose`)),1),p(x,{modelValue:P.value,"onUpdate:modelValue":o[1]||=e=>P.value=e,"control-id":`employee-template`,label:d(s)(`employees.choose`),options:B.value.map(e=>({value:e.id,label:e.name,meta:e.role})),disabled:F.value||M.value},null,8,[`modelValue`,`label`,`options`,`disabled`])])):l(``,!0),f(`div`,_e,[f(`span`,ve,[d(oe)(V.value.id)?(n(),m(`img`,{key:0,src:d(oe)(V.value.id),alt:``},null,8,ye)):(n(),m(u,{key:1},[e(c(V.value.name.slice(0,1)),1)],64))]),f(`div`,null,[f(`h3`,null,[e(c(V.value.name)+` `,1),f(`span`,null,c(V.value.role),1)]),f(`p`,null,c(V.value.description),1)])]),f(`p`,be,c(V.value.capabilities.join(` · `)),1),M.value?(n(),h(_,{key:1,variant:`compact`,label:d(s)(`employees.loadingScope`)},null,8,[`label`])):l(``,!0),U.value?(n(),m(`div`,{key:2,class:`employee-scope-mode`,role:`radiogroup`,"aria-label":d(s)(`employees.scope.rule`),onKeydown:Ze},[(n(),m(u,null,t([`all`,`selected`],e=>f(`button`,{key:e,type:`button`,role:`radio`,"data-scope":e,"aria-checked":E.value===e,tabindex:E.value===e?0:-1,disabled:F.value||M.value||N.value,onClick:t=>$(e)},c(d(s)(`employees.scope.${e===`all`?`continuousAll`:`onlySelected`}`)),9,Se)),64))],40,xe)):l(``,!0),U.value?(n(),m(`p`,Ce,c(E.value===`all`?d(s)(`employees.scope.allHint`,{name:V.value.name}):d(s)(`employees.scope.selectedHint`)),1)):l(``,!0),p(le,{modelValue:W.value,"onUpdate:modelValue":o[2]||=e=>W.value=e,projects:H.value,inline:``,hint:E.value===`all`?d(s)(`employees.scope.excludeHint`):void 0,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`projects`,`hint`,`disabled`]),E.value===`all`&&D.value.length?(n(),m(`p`,we,c(d(s)(`employees.scope.excludedCount`,{count:D.value.length})),1)):l(``,!0),H.value.length?l(``,!0):(n(),m(`p`,Te,[e(c(d(s)(`employees.noProjects`))+` `,1),p(d(y),{to:d(ce)(r.personalSpaceId,`directory`),onClick:Q},{default:i(()=>[e(c(d(s)(`employees.createProject`)),1)]),_:1},8,[`to`])])),qe.value.length&&!L.value?(n(),m(`p`,Ee,c(d(s)(`employees.scopeRemoved`,{count:qe.value.length})),1)):l(``,!0),U.value&&V.value.permissions.includes(`session.title`)?(n(),m(`section`,{key:7,class:`employee-title-settings`,"aria-label":d(s)(`employees.titles.heading`)},[f(`h3`,null,c(d(s)(`employees.titles.heading`)),1),f(`div`,Oe,[f(`div`,ke,[f(`span`,null,c(d(s)(`employees.titles.mode`)),1),p(x,{modelValue:O.value,"onUpdate:modelValue":o[3]||=e=>O.value=e,"control-id":`employee-title-mode`,label:d(s)(`employees.titles.mode`),options:Ge.value,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`label`,`options`,`disabled`])]),f(`div`,Ae,[f(`span`,null,c(d(s)(`employees.titles.style`)),1),p(x,{modelValue:k.value,"onUpdate:modelValue":o[4]||=e=>k.value=e,"control-id":`employee-title-style`,label:d(s)(`employees.titles.style`),options:Ke.value,disabled:F.value||M.value||N.value||O.value===`off`},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),f(`p`,je,[e(c(d(s)(`employees.titles.example`))+` `,1),f(`span`,null,`【P1|`+c(k.value===`emoji`?`🔧 `:``)+`FIX|`+c(d(s)(`employees.titles.exampleTask`))+`】`,1)]),f(`p`,Me,c(d(s)(`employees.titles.boundary`)),1)],8,De)):l(``,!0),f(`section`,{class:`employee-permissions`,"aria-label":d(s)(`employees.permissions`)},[f(`strong`,null,c(d(s)(`employees.permissions`)),1),f(`ul`,null,[(n(!0),m(u,null,t(V.value.permissions,e=>(n(),m(`li`,{key:e},c(e===`board.read`?d(s)(`employees.boardRead`):e===`board.write`?d(s)(`employees.boardWrite`):e===`session.title`?d(s)(`employees.titles.heading`):e),1))),128))]),f(`p`,null,c(d(s)(`employees.noExecutor`)),1)],8,Ne),V.value.runtime?(n(),m(`p`,{key:8,class:te([`employee-runtime`,{"is-warning":V.value.runtimeStatus!==`ready`}])},c(V.value.runtimeStatus===`ready`?d(s)(`employees.hostReady`):d(s)(`employees.installRequired`)),3)):l(``,!0),I.value||V.value.identityConflict?(n(),m(`p`,Pe,c(I.value||d(s)(`employees.errors.identity_conflict`)),1)):l(``,!0),N.value?(n(),m(`button`,{key:10,type:`button`,class:`quiet-button`,disabled:M.value,onClick:o[5]||=e=>Z()},c(d(s)(`employees.reloadScope`)),9,Fe)):l(``,!0),L.value?(n(),m(`div`,Ie,[f(`strong`,null,c(d(s)(`employees.scopeSaved`)),1),f(`p`,null,c(E.value===`all`?d(s)(`employees.scope.successAll`,{count:W.value.length}):W.value.length?d(s)(`employees.successMultiple`,{count:W.value.length}):d(s)(`employees.successUnassigned`)),1)])):l(``,!0)]),f(`footer`,Le,[f(`button`,{class:`quiet-button`,type:`button`,disabled:F.value,onClick:Q},c(d(s)(`employees.cancel`)),9,Re),J.value&&Ye.value&&!F.value&&!M.value&&!N.value&&V.value.runtimeStatus===`ready`?(n(),h(d(y),{key:0,class:`employee-primary`,to:Ye.value,onClick:Q},{default:i(()=>[e(c(d(s)(`employees.open`)),1)]),_:1},8,[`to`])):(n(),m(`button`,{key:1,class:`employee-primary`,type:`submit`,disabled:F.value||M.value||N.value||!j.value||J.value||V.value.identityConflict||!r.personalSpaceId},[F.value?(n(),h(_,{key:0,variant:`inline`,label:Je.value},null,8,[`label`])):(n(),m(u,{key:1},[e(c(Je.value),1)],64))],8,ze))])],32)):(n(),m(`p`,me,c(d(s)(`employees.noTemplates`)),1))],544)):l(``,!0)}}),[[`__scopeId`,`data-v-53eaa264`]]);export{S as t};
@@ -1,3 +1,3 @@
1
- import{C as e,F as t,H as n,N as r,T as i,V as a,Z as o,_ as s,a as c,at as l,b as u,d,h as f,m as p,nt as m,u as h,v as g,w as _,x as v,y,z as b}from"./i18n-75woNt31.js";import{t as x}from"./console-hUns2aD-.js";import{t as ee}from"./GrowthLoading-DFOy-mEl.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{h as C,m as w}from"./useApi-CROJJdhE-QfNm4ADP.js";import{t as T}from"./vue-router-COCNAJJn.js";import{i as E,n as D,r as O}from"./client-InXscj8J.js";import{a as k,n as A,r as j,s as M,t as N}from"./catalog-B9tlJAp9.js";import{i as P,t as F}from"./AgentHand-BaLSbn08.js";import{i as I}from"./profile-model-BQO4zNs9.js";import{t as L}from"./useModalDialog-BopF-KHN.js";/* empty css */import{t as R}from"./AgentName-0PIU7MOX.js";import{t as z}from"./ProjectScopePicker-8hrgvmg-.js";import{t as B}from"./EmployeeRecruitDialog-BrPH3e50.js";import{i as te,r as V,t as H}from"./shared-report-tRQV1iJl.js";var ne=[`aria-busy`],U={key:0,class:`bole-alert`,role:`alert`},re={class:`bole-header`},ie={class:`bole-heading`},ae={id:`bole-overview-title`},W=[`aria-label`],G=[`aria-pressed`],K={"data-testid":`people-total`},q=[`aria-pressed`],J=[`aria-label`],oe={"data-testid":`people-working`},se=[`disabled`],ce={class:`bole-controls`},le={class:`bole-filters`},Y=[`aria-label`,`placeholder`],ue=[`aria-label`],X={value:`all`},de={value:`working`},fe={value:`idle`},pe={id:`bole-search-hint`,class:`bole-search-hint`},Z=[`aria-label`],me=[`aria-pressed`],he=[`aria-pressed`,`onClick`],Q={key:1,class:`bole-result-count`,role:`status`},ge=[`aria-label`],_e={key:1,"aria-labelledby":`bole-work-title`},ve={key:0,class:`bole-empty`,role:`status`},ye={key:1,class:`bole-agent-list`},be={class:`bole-table-heading`,"aria-hidden":`true`},xe={class:`bole-agent-identity`},Se={class:`bole-agent-mark`,"aria-hidden":`true`},Ce=[`src`],we={class:`bole-agent-work`},Te=[`data-status`],Ee={key:1,class:`is-idle`},De={class:`bole-agent-projects`},Oe={key:0},ke={key:1},Ae={key:2,class:`bole-empty`},je={key:2,"aria-labelledby":`bole-history-title`},Me={key:0,class:`bole-timeline`},Ne={class:`bole-recruitment-identity`},Pe={class:`bole-recruitment-reason`},Fe=[`datetime`],Ie={key:1,class:`bole-empty`},Le=`__bole_unassigned__`,Re=200,ze=S(i({__name:`BolePeoplePanel`,props:{personalSpaceId:{},projects:{}},setup(i){let a=i,p=w(),x=o([]),S=o([]),C=o([]),T=o(!1),E=o(!1),O=o(`people`),k=o(``),A=o(``),j=o(`all`),M=o(null),N=o(null),L=s(()=>S.value.length>=Re),B=0,te=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]),V=s(()=>new Map(a.projects.map(e=>[e.project_id,e.profile.name]))),H=s(()=>x.value.filter(e=>e.status===`active`)),ze=s(()=>S.value.filter(e=>te.has(e.status))),Be=s(()=>new Set(Ue.value.filter(e=>e.task).map(e=>e.id))),Ve=s(()=>new Set(H.value.flatMap(e=>e.projectIds).filter(Boolean))),He=s(()=>{let e=[`coordinator`,`durable`,`hr`,`temporary`],t=new Map;for(let e of H.value)t.set(e.type,(t.get(e.type)??0)+1);return[...t.entries()].sort(([t],[n])=>lt(e,t)-lt(e,n)).map(([e,t])=>({type:e,count:t,label:ut(e)}))}),Ue=s(()=>H.value.map(e=>({...e,task:e.workStatus?te.has(e.workStatus)&&e.currentTaskId?S.value.find(t=>t.id===e.currentTaskId)??{id:e.currentTaskId,title:e.currentTaskId,status:e.workStatus,projectId:``,agentIds:[e.id],updatedAt:``}:void 0:ze.value.filter(t=>t.agentIds.includes(e.id)).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}))),We=s(()=>[...C.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt))),Ge=s(()=>[...new Set([...a.projects.map(e=>e.project_id),...x.value.flatMap(e=>e.projectIds),...S.value.map(e=>e.projectId),...C.value.map(e=>e.projectId)].filter(Boolean))].map(e=>({id:e,name:V.value.get(e)??e})).sort((e,t)=>e.name.localeCompare(t.name)).concat({id:Le,name:c(`employees.bole.noProject`)})),Ke=s({get:()=>M.value??Ge.value.map(e=>e.id),set:e=>{M.value=e.length===Ge.value.length?null:e}}),qe=s(()=>Ue.value.filter(e=>{let t=[...e.projectIds,...e.task?.projectId?[e.task.projectId]:[]];return Xe(t)&&(!A.value||e.type===A.value)&&(j.value===`all`||(j.value===`working`?!!e.task:!e.task))&&Ze([e.name,e.responsibility,...e.searchTerms,e.task?.title??``,...t.map(pt)])}).sort((e,t)=>Number(!!t.task)-Number(!!e.task)||e.name.localeCompare(t.name))),Je=s(()=>We.value.filter(e=>Xe(e.projectId?[e.projectId]:[])&&(!A.value||e.positionKind===A.value)&&Ze([...Qe(e.agentId),e.reason,e.workKind,pt(e.projectId)]))),Ye=s(()=>k.value||A.value||M.value!==null||O.value===`people`&&j.value!==`all`);function Xe(e){return M.value===null||(e.length?e:[Le]).some(e=>M.value?.includes(e))}function Ze(e){return I(e.join(` `),k.value)}function Qe(e){let t=x.value.find(t=>t.id===e);return t?[t.name,t.responsibility,...t.searchTerms]:[e]}function $e(){k.value=``,A.value=``,j.value=`all`,M.value=null}function et(e){return P(e.replace(/^employee\./,``))}b([O,k,A,j,M],()=>{N.value&&(N.value.scrollTop=0)}),b([()=>a.personalSpaceId,()=>p.query.q],([e,t],[n])=>{e===n?k.value=typeof t==`string`?t:``:($e(),n===void 0&&(k.value=typeof t==`string`?t:``),tt())},{immediate:!0});async function tt(){let e=++B;if(x.value=[],S.value=[],C.value=[],E.value=!1,!a.personalSpaceId){T.value=!1;return}T.value=!0;let t=new URLSearchParams({personalSpaceId:a.personalSpaceId}),n=await Promise.allSettled([D(`/api/project-agents?${t}`),D(`/api/project-agent-tasks?${t}&limit=${Re}`),D(`/api/project-agent-recruitments?${t}`)]);e===B&&(n[0].status===`fulfilled`&&(x.value=rt(n[0].value,`agents`).map(at).filter(ct)),n[1].status===`fulfilled`&&(S.value=rt(n[1].value,`tasks`).map(ot).filter(ct)),n[2].status===`fulfilled`&&(C.value=rt(n[2].value,`recruitments`).map(st).filter(ct)),E.value=n.some(e=>e.status===`rejected`),T.value=!1)}function nt(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function rt(e,t){if(Array.isArray(e))return e;let n=nt(e),r=n[t]??n.items;return Array.isArray(r)?r:[]}function $(e,t,n=t){let r=e[t]??e[n];return typeof r==`string`?r:``}function it(e){return Array.isArray(e)?e:[]}function at(e){let t=nt(e),n=nt(t.profile),r=$(t,`agentId`,`agent_id`);if(!r)return null;let i=it(t.assignments).flatMap(e=>{let t=nt(e),n=$(t,`status`),r=$(t,`personalProjectId`,`personal_project_id`);return n===`active`&&r?[r]:[]}),a=$(t,`personalProjectId`,`personal_project_id`);return{id:r,name:$(n,`displayName`,`display_name`)||$(n,`name`)||r,emoji:$(n,`occupationEmoji`,`occupation_emoji`)||`✦`,responsibility:$(n,`responsibility`),searchTerms:[$(n,`name`),...it(n.capabilities),...it(n.workKinds??n.work_kinds)].filter(e=>typeof e==`string`),type:$(n,`agentType`,`agent_type`)||`other`,status:$(n,`status`)||`active`,projectIds:[...new Set([...i,...a?[a]:[]])],currentTaskId:$(t,`currentTaskId`,`current_task_id`),workStatus:$(t,`workStatus`,`work_status`)}}function ot(e){let t=nt(e),n=$(t,`taskId`,`task_id`);if(!n)return null;let r=[$(t,`ownerAgentId`,`owner_agent_id`),$(t,`leadAgentId`,`lead_agent_id`)],i=it(t.participants).flatMap(e=>{let t=nt(e),n=$(t,`status`);return n&&!te.has(n)?[]:[$(t,`agentId`,`agent_id`)]});return{id:n,title:$(t,`title`)||n,status:$(t,`status`)||`queued`,projectId:$(t,`personalProjectId`,`personal_project_id`),agentIds:[...new Set([...r,...i].filter(Boolean))],updatedAt:$(t,`updatedAt`,`updated_at`)||$(t,`createdAt`,`created_at`)}}function st(e){let t=nt(e),n=$(t,`recruitmentId`,`recruitment_id`);return n?{id:n,agentId:$(t,`recruitedAgentId`,`recruited_agent_id`)||$(t,`proposedAgentId`,`proposed_agent_id`),projectId:$(t,`personalProjectId`,`personal_project_id`),workKind:$(t,`workKind`,`work_kind`),positionKind:$(t,`positionKind`,`position_kind`),reason:$(t,`reason`)||$(t,`reasonCode`,`reason_code`),status:$(t,`status`),createdAt:$(t,`createdAt`,`created_at`)}:null}function ct(e){return e!==null}function lt(e,t){let n=e.indexOf(t);return n<0?e.length:n}function ut(e){return[`coordinator`,`durable`,`hr`,`temporary`].includes(e)?c(`employees.bole.types.${e}`):c(`employees.bole.types.other`)}function dt(e){return[`awaiting_recruitment`,`queued`,`running`,`paused`,`failed`,`awaiting_review`,`blocked`].includes(e)?c(`employees.bole.status.${e}`):e}function ft(e){return x.value.find(t=>t.id===e)?.name??e}function pt(e){return V.value.get(e)??c(`employees.bole.noProject`)}function mt(e){if(!e)return c(`employees.bole.unknownTime`);let t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(t)}return(a,o)=>(r(),v(`div`,{class:`bole-panel`,"aria-busy":T.value},[E.value?(r(),v(`div`,U,[g(`span`,null,l(m(c)(`employees.bole.partialError`)),1),g(`button`,{type:`button`,onClick:tt},l(m(c)(`employees.retry`)),1)])):u(``,!0),g(`header`,re,[g(`div`,ie,[g(`h2`,ae,l(m(c)(`employees.bole.title`)),1),g(`nav`,{class:`bole-views`,"aria-label":m(c)(`employees.bole.viewLabel`)},[g(`button`,{id:`bole-work-title`,type:`button`,"aria-pressed":O.value===`people`,onClick:o[0]||=e=>O.value=`people`},[e(l(m(c)(`employees.bole.currentWork`))+` `,1),g(`span`,K,l(T.value?`—`:H.value.length),1)],8,G),g(`button`,{id:`bole-history-title`,type:`button`,"aria-pressed":O.value===`history`,onClick:o[1]||=e=>O.value=`history`},[e(l(m(c)(`employees.bole.recruitmentHistory`))+` `,1),g(`span`,null,l(T.value?`—`:C.value.length),1)],8,q)],8,W)]),g(`dl`,{class:`bole-summary`,"aria-label":m(c)(`employees.bole.overview`)},[g(`div`,oe,[g(`dt`,null,l(m(c)(`employees.bole.workingNow`)),1),g(`dd`,null,l(T.value?`—`:Be.value.size),1)]),g(`div`,null,[g(`dt`,null,l(m(c)(`employees.bole.coveredProjects`)),1),g(`dd`,null,l(T.value?`—`:Ve.value.size),1)])],8,J),g(`button`,{class:`bole-refresh`,type:`button`,disabled:T.value,onClick:tt},l(m(c)(`common.actions.refresh`)),9,se)]),g(`div`,ce,[g(`div`,le,[n(g(`input`,{"onUpdate:modelValue":o[2]||=e=>k.value=e,type:`search`,class:`bole-search`,"aria-label":m(c)(`employees.bole.search`),placeholder:m(c)(`employees.bole.search`),"aria-describedby":`bole-search-hint`},null,8,Y),[[d,k.value]]),_(z,{modelValue:Ke.value,"onUpdate:modelValue":o[3]||=e=>Ke.value=e,projects:Ge.value,label:m(c)(`employees.allProjects.projectFilter`),"all-label":m(c)(`employees.bole.allProjects`),"empty-label":m(c)(`employees.filterEmpty`),compact:``,hint:``},null,8,[`modelValue`,`projects`,`label`,`all-label`,`empty-label`]),O.value===`people`?n((r(),v(`select`,{key:0,"onUpdate:modelValue":o[4]||=e=>j.value=e,"aria-label":m(c)(`employees.bole.workFilter`)},[g(`option`,X,l(m(c)(`employees.bole.allWork`)),1),g(`option`,de,l(m(c)(`employees.bole.workingNow`)),1),g(`option`,fe,l(m(c)(`employees.bole.withoutTask`)),1)],8,ue)),[[h,j.value]]):u(``,!0)]),g(`p`,pe,l(m(c)(`agentProfiles.hrSearchHint`)),1),g(`div`,{class:`bole-role-filters`,role:`group`,"aria-label":m(c)(`employees.bole.distribution`)},[g(`button`,{type:`button`,"aria-pressed":!A.value,onClick:o[5]||=e=>A.value=``},l(m(c)(`employees.bole.allRoles`)),9,me),(r(!0),v(f,null,t(He.value,t=>(r(),v(`button`,{key:t.type,type:`button`,"aria-pressed":A.value===t.type,onClick:e=>A.value=A.value===t.type?``:t.type},[e(l(t.label)+` `,1),g(`span`,null,l(t.count),1)],8,he))),128)),Ye.value?(r(),v(`button`,{key:0,class:`bole-clear`,type:`button`,onClick:$e},l(m(c)(`employees.bole.clearFilters`)),1)):u(``,!0),Ye.value&&!T.value?(r(),v(`span`,Q,l(m(c)(`employees.bole.resultCount`,{count:O.value===`people`?qe.value.length:Je.value.length})),1)):u(``,!0)],8,Z)]),g(`div`,{ref_key:`scrollRegion`,ref:N,class:`bole-content`,tabindex:`0`,role:`region`,"aria-label":m(c)(O.value===`people`?`employees.bole.currentWork`:`employees.bole.recruitmentHistory`)},[T.value?(r(),y(ee,{key:0,variant:`compact`,label:m(c)(`employees.bole.loading`)},null,8,[`label`])):O.value===`people`?(r(),v(`section`,_e,[L.value?(r(),v(`p`,ve,l(m(c)(`employees.bole.taskLimit`)),1)):u(``,!0),qe.value.length?(r(),v(`div`,ye,[g(`div`,be,[o[6]||=g(`span`,null,`Agent`,-1),g(`span`,null,l(m(c)(`employees.bole.taskColumn`)),1),g(`span`,null,l(m(c)(`employees.bole.projectsColumn`)),1)]),(r(!0),v(f,null,t(qe.value,n=>(r(),v(`article`,{key:n.id,class:`bole-agent-row`},[g(`div`,xe,[g(`span`,Se,[et(n.id)?(r(),v(`img`,{key:0,src:et(n.id),alt:``},null,8,Ce)):(r(),v(f,{key:1},[e(l(n.emoji),1)],64))]),g(`div`,null,[g(`strong`,null,[_(R,{"space-id":i.personalSpaceId,"agent-id":n.id,name:n.name},null,8,[`space-id`,`agent-id`,`name`])]),_(F,{"agent-id":n.id},null,8,[`agent-id`]),g(`small`,null,l(n.responsibility||ut(n.type)),1)])]),g(`div`,we,[n.task?(r(),v(f,{key:0},[g(`span`,{class:`bole-status`,"data-status":n.task.status},l(dt(n.task.status)),9,Te),g(`p`,null,l(n.task.title),1)],64)):(r(),v(`p`,Ee,l(m(c)(`employees.bole.idle`)),1))]),g(`div`,De,[n.projectIds.length?(r(),v(f,{key:0},[(r(!0),v(f,null,t(n.projectIds.slice(0,2),e=>(r(),v(`span`,{key:e},l(pt(e)),1))),128)),n.projectIds.length>2?(r(),v(`details`,Oe,[g(`summary`,null,l(m(c)(`employees.bole.moreProjects`,{count:n.projectIds.length-2})),1),(r(!0),v(f,null,t(n.projectIds.slice(2),e=>(r(),v(`span`,{key:e},l(pt(e)),1))),128))])):u(``,!0)],64)):(r(),v(`span`,ke,l(n.task?.projectId?pt(n.task.projectId):m(c)(`employees.bole.noProject`)),1))])]))),128))])):(r(),v(`p`,Ae,l(m(c)(Ye.value?`employees.bole.noMatch`:`employees.bole.noAgents`)),1))])):(r(),v(`section`,je,[Je.value.length?(r(),v(`ol`,Me,[(r(!0),v(f,null,t(Je.value,e=>(r(),v(`li`,{key:e.id},[g(`div`,Ne,[g(`strong`,null,[_(R,{"space-id":i.personalSpaceId,"agent-id":e.agentId,name:ft(e.agentId)},null,8,[`space-id`,`agent-id`,`name`])]),g(`small`,null,l(ut(e.positionKind))+` · `+l(pt(e.projectId)),1)]),g(`div`,Pe,[g(`p`,null,l(e.reason),1),g(`small`,null,l(e.workKind||e.status),1)]),g(`time`,{datetime:e.createdAt},l(mt(e.createdAt)),9,Fe)]))),128))])):(r(),v(`p`,Ie,l(m(c)(Ye.value?`employees.bole.noMatch`:`employees.bole.noRecruitments`)),1))]))],8,ge)],8,ne))}}),[[`__scopeId`,`data-v-50022289`]]),Be={id:`employee-task-title`},Ve=[`disabled`,`aria-label`],He={class:`employee-dialog-body`},Ue={key:1,class:`employee-dialog-error`,role:`alert`},We=[`disabled`],Ge=[`disabled`],Ke={disabled:``,value:``},qe=[`value`],Je=[`readonly`,`disabled`],Ye={key:0,class:`employee-task-status`},Xe=[`readonly`,`disabled`],Ze=[`disabled`],Qe=[`value`],$e=[`readonly`,`disabled`],et=[`readonly`,`disabled`],tt=[`disabled`],nt=[`disabled`],rt=i({__name:`EmployeeTaskDialog`,props:{open:{type:Boolean},item:{},projects:{},defaultProjectId:{},personalSpaceId:{},canWrite:{type:Boolean}},emits:[`close`,`saved`],setup(i,{emit:a}){let _=i,x=a,S=o(!1),C=o(!1),w=o(``),T=o(null),D=o(``),O=o(``),k=o(``),A=o(`medium`),M=o(``),N=o(``),P=0,F={signature:``,id:``},I=s(()=>_.canWrite&&!C.value&&!w.value&&!!D.value&&O.value.trim().length>=2),{dialogRef:R,initialFocusRef:z,onCancel:B,onKeydown:te}=L(()=>_.open,U);b([()=>_.open,()=>_.item,()=>_.personalSpaceId],()=>{H()},{immediate:!0});async function V(e,t){return E(`/api/employee-templates/jefa/call`,{personalSpaceId:_.personalSpaceId,personalProjectId:D.value,tool:e,arguments:t})}async function H(){let e=++P;if(_.open&&(w.value=``,T.value=null,F={signature:``,id:``},D.value=_.item?.projectId??_.defaultProjectId??``,O.value=``,k.value=``,A.value=`medium`,M.value=``,N.value=``,C.value=!!_.item,_.item))try{let t=await V(`get_task`,{workItemId:_.item.id});if(e!==P)return;if(t.item.id!==_.item.id||t.item.projectId!==D.value||!t.item.updatedAt)throw Error(c(`employees.loadError`));T.value=t.item,O.value=t.item.title,k.value=t.item.summary??``,A.value=t.item.priority??`medium`,M.value=t.item.acceptanceCriteria?.join(`
1
+ import{C as e,F as t,H as n,N as r,T as i,V as a,Z as o,_ as s,a as c,at as l,b as u,d,h as f,m as p,nt as m,u as h,v as g,w as _,x as v,y,z as b}from"./i18n-CIIxzhPZ.js";import{t as x}from"./console-CrhIK67Y.js";import{t as ee}from"./GrowthLoading-DIwqGFSc.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{h as C,m as w}from"./useApi-CROJJdhE-fcdVGInY.js";import{t as T}from"./vue-router-BUX6njIv.js";import{i as E,n as D,r as O}from"./client-DTQ_tUr2.js";import{a as k,n as A,r as j,s as M,t as N}from"./catalog-JmKyJnKL.js";import{i as P,t as F}from"./AgentHand-CsMcNXUm.js";import{i as I}from"./profile-model-BQO4zNs9.js";import{t as L}from"./useModalDialog-B-45idX9.js";/* empty css */import{t as R}from"./AgentName-BboCA-Fd.js";import{t as z}from"./ProjectScopePicker-CZUMdyYz.js";import{t as B}from"./EmployeeRecruitDialog-DP_ktv3w.js";import{i as te,r as V,t as H}from"./shared-report-Cll2Yj8W.js";var ne=[`aria-busy`],U={key:0,class:`bole-alert`,role:`alert`},re={class:`bole-header`},ie={class:`bole-heading`},ae={id:`bole-overview-title`},W=[`aria-label`],G=[`aria-pressed`],K={"data-testid":`people-total`},q=[`aria-pressed`],J=[`aria-label`],oe={"data-testid":`people-working`},se=[`disabled`],ce={class:`bole-controls`},le={class:`bole-filters`},Y=[`aria-label`,`placeholder`],ue=[`aria-label`],X={value:`all`},de={value:`working`},fe={value:`idle`},pe={id:`bole-search-hint`,class:`bole-search-hint`},Z=[`aria-label`],me=[`aria-pressed`],he=[`aria-pressed`,`onClick`],Q={key:1,class:`bole-result-count`,role:`status`},ge=[`aria-label`],_e={key:1,"aria-labelledby":`bole-work-title`},ve={key:0,class:`bole-empty`,role:`status`},ye={key:1,class:`bole-agent-list`},be={class:`bole-table-heading`,"aria-hidden":`true`},xe={class:`bole-agent-identity`},Se={class:`bole-agent-mark`,"aria-hidden":`true`},Ce=[`src`],we={class:`bole-agent-work`},Te=[`data-status`],Ee={key:1,class:`is-idle`},De={class:`bole-agent-projects`},Oe={key:0},ke={key:1},Ae={key:2,class:`bole-empty`},je={key:2,"aria-labelledby":`bole-history-title`},Me={key:0,class:`bole-timeline`},Ne={class:`bole-recruitment-identity`},Pe={class:`bole-recruitment-reason`},Fe=[`datetime`],Ie={key:1,class:`bole-empty`},Le=`__bole_unassigned__`,Re=200,ze=S(i({__name:`BolePeoplePanel`,props:{personalSpaceId:{},projects:{}},setup(i){let a=i,p=w(),x=o([]),S=o([]),C=o([]),T=o(!1),E=o(!1),O=o(`people`),k=o(``),A=o(``),j=o(`all`),M=o(null),N=o(null),L=s(()=>S.value.length>=Re),B=0,te=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]),V=s(()=>new Map(a.projects.map(e=>[e.project_id,e.profile.name]))),H=s(()=>x.value.filter(e=>e.status===`active`)),ze=s(()=>S.value.filter(e=>te.has(e.status))),Be=s(()=>new Set(Ue.value.filter(e=>e.task).map(e=>e.id))),Ve=s(()=>new Set(H.value.flatMap(e=>e.projectIds).filter(Boolean))),He=s(()=>{let e=[`coordinator`,`durable`,`hr`,`temporary`],t=new Map;for(let e of H.value)t.set(e.type,(t.get(e.type)??0)+1);return[...t.entries()].sort(([t],[n])=>lt(e,t)-lt(e,n)).map(([e,t])=>({type:e,count:t,label:ut(e)}))}),Ue=s(()=>H.value.map(e=>({...e,task:e.workStatus?te.has(e.workStatus)&&e.currentTaskId?S.value.find(t=>t.id===e.currentTaskId)??{id:e.currentTaskId,title:e.currentTaskId,status:e.workStatus,projectId:``,agentIds:[e.id],updatedAt:``}:void 0:ze.value.filter(t=>t.agentIds.includes(e.id)).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}))),We=s(()=>[...C.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt))),Ge=s(()=>[...new Set([...a.projects.map(e=>e.project_id),...x.value.flatMap(e=>e.projectIds),...S.value.map(e=>e.projectId),...C.value.map(e=>e.projectId)].filter(Boolean))].map(e=>({id:e,name:V.value.get(e)??e})).sort((e,t)=>e.name.localeCompare(t.name)).concat({id:Le,name:c(`employees.bole.noProject`)})),Ke=s({get:()=>M.value??Ge.value.map(e=>e.id),set:e=>{M.value=e.length===Ge.value.length?null:e}}),qe=s(()=>Ue.value.filter(e=>{let t=[...e.projectIds,...e.task?.projectId?[e.task.projectId]:[]];return Xe(t)&&(!A.value||e.type===A.value)&&(j.value===`all`||(j.value===`working`?!!e.task:!e.task))&&Ze([e.name,e.responsibility,...e.searchTerms,e.task?.title??``,...t.map(pt)])}).sort((e,t)=>Number(!!t.task)-Number(!!e.task)||e.name.localeCompare(t.name))),Je=s(()=>We.value.filter(e=>Xe(e.projectId?[e.projectId]:[])&&(!A.value||e.positionKind===A.value)&&Ze([...Qe(e.agentId),e.reason,e.workKind,pt(e.projectId)]))),Ye=s(()=>k.value||A.value||M.value!==null||O.value===`people`&&j.value!==`all`);function Xe(e){return M.value===null||(e.length?e:[Le]).some(e=>M.value?.includes(e))}function Ze(e){return I(e.join(` `),k.value)}function Qe(e){let t=x.value.find(t=>t.id===e);return t?[t.name,t.responsibility,...t.searchTerms]:[e]}function $e(){k.value=``,A.value=``,j.value=`all`,M.value=null}function et(e){return P(e.replace(/^employee\./,``))}b([O,k,A,j,M],()=>{N.value&&(N.value.scrollTop=0)}),b([()=>a.personalSpaceId,()=>p.query.q],([e,t],[n])=>{e===n?k.value=typeof t==`string`?t:``:($e(),n===void 0&&(k.value=typeof t==`string`?t:``),tt())},{immediate:!0});async function tt(){let e=++B;if(x.value=[],S.value=[],C.value=[],E.value=!1,!a.personalSpaceId){T.value=!1;return}T.value=!0;let t=new URLSearchParams({personalSpaceId:a.personalSpaceId}),n=await Promise.allSettled([D(`/api/project-agents?${t}`),D(`/api/project-agent-tasks?${t}&limit=${Re}`),D(`/api/project-agent-recruitments?${t}`)]);e===B&&(n[0].status===`fulfilled`&&(x.value=rt(n[0].value,`agents`).map(at).filter(ct)),n[1].status===`fulfilled`&&(S.value=rt(n[1].value,`tasks`).map(ot).filter(ct)),n[2].status===`fulfilled`&&(C.value=rt(n[2].value,`recruitments`).map(st).filter(ct)),E.value=n.some(e=>e.status===`rejected`),T.value=!1)}function nt(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function rt(e,t){if(Array.isArray(e))return e;let n=nt(e),r=n[t]??n.items;return Array.isArray(r)?r:[]}function $(e,t,n=t){let r=e[t]??e[n];return typeof r==`string`?r:``}function it(e){return Array.isArray(e)?e:[]}function at(e){let t=nt(e),n=nt(t.profile),r=$(t,`agentId`,`agent_id`);if(!r)return null;let i=it(t.assignments).flatMap(e=>{let t=nt(e),n=$(t,`status`),r=$(t,`personalProjectId`,`personal_project_id`);return n===`active`&&r?[r]:[]}),a=$(t,`personalProjectId`,`personal_project_id`);return{id:r,name:$(n,`displayName`,`display_name`)||$(n,`name`)||r,emoji:$(n,`occupationEmoji`,`occupation_emoji`)||`✦`,responsibility:$(n,`responsibility`),searchTerms:[$(n,`name`),...it(n.capabilities),...it(n.workKinds??n.work_kinds)].filter(e=>typeof e==`string`),type:$(n,`agentType`,`agent_type`)||`other`,status:$(n,`status`)||`active`,projectIds:[...new Set([...i,...a?[a]:[]])],currentTaskId:$(t,`currentTaskId`,`current_task_id`),workStatus:$(t,`workStatus`,`work_status`)}}function ot(e){let t=nt(e),n=$(t,`taskId`,`task_id`);if(!n)return null;let r=[$(t,`ownerAgentId`,`owner_agent_id`),$(t,`leadAgentId`,`lead_agent_id`)],i=it(t.participants).flatMap(e=>{let t=nt(e),n=$(t,`status`);return n&&!te.has(n)?[]:[$(t,`agentId`,`agent_id`)]});return{id:n,title:$(t,`title`)||n,status:$(t,`status`)||`queued`,projectId:$(t,`personalProjectId`,`personal_project_id`),agentIds:[...new Set([...r,...i].filter(Boolean))],updatedAt:$(t,`updatedAt`,`updated_at`)||$(t,`createdAt`,`created_at`)}}function st(e){let t=nt(e),n=$(t,`recruitmentId`,`recruitment_id`);return n?{id:n,agentId:$(t,`recruitedAgentId`,`recruited_agent_id`)||$(t,`proposedAgentId`,`proposed_agent_id`),projectId:$(t,`personalProjectId`,`personal_project_id`),workKind:$(t,`workKind`,`work_kind`),positionKind:$(t,`positionKind`,`position_kind`),reason:$(t,`reason`)||$(t,`reasonCode`,`reason_code`),status:$(t,`status`),createdAt:$(t,`createdAt`,`created_at`)}:null}function ct(e){return e!==null}function lt(e,t){let n=e.indexOf(t);return n<0?e.length:n}function ut(e){return[`coordinator`,`durable`,`hr`,`temporary`].includes(e)?c(`employees.bole.types.${e}`):c(`employees.bole.types.other`)}function dt(e){return[`awaiting_recruitment`,`queued`,`running`,`paused`,`failed`,`awaiting_review`,`blocked`].includes(e)?c(`employees.bole.status.${e}`):e}function ft(e){return x.value.find(t=>t.id===e)?.name??e}function pt(e){return V.value.get(e)??c(`employees.bole.noProject`)}function mt(e){if(!e)return c(`employees.bole.unknownTime`);let t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(t)}return(a,o)=>(r(),v(`div`,{class:`bole-panel`,"aria-busy":T.value},[E.value?(r(),v(`div`,U,[g(`span`,null,l(m(c)(`employees.bole.partialError`)),1),g(`button`,{type:`button`,onClick:tt},l(m(c)(`employees.retry`)),1)])):u(``,!0),g(`header`,re,[g(`div`,ie,[g(`h2`,ae,l(m(c)(`employees.bole.title`)),1),g(`nav`,{class:`bole-views`,"aria-label":m(c)(`employees.bole.viewLabel`)},[g(`button`,{id:`bole-work-title`,type:`button`,"aria-pressed":O.value===`people`,onClick:o[0]||=e=>O.value=`people`},[e(l(m(c)(`employees.bole.currentWork`))+` `,1),g(`span`,K,l(T.value?`—`:H.value.length),1)],8,G),g(`button`,{id:`bole-history-title`,type:`button`,"aria-pressed":O.value===`history`,onClick:o[1]||=e=>O.value=`history`},[e(l(m(c)(`employees.bole.recruitmentHistory`))+` `,1),g(`span`,null,l(T.value?`—`:C.value.length),1)],8,q)],8,W)]),g(`dl`,{class:`bole-summary`,"aria-label":m(c)(`employees.bole.overview`)},[g(`div`,oe,[g(`dt`,null,l(m(c)(`employees.bole.workingNow`)),1),g(`dd`,null,l(T.value?`—`:Be.value.size),1)]),g(`div`,null,[g(`dt`,null,l(m(c)(`employees.bole.coveredProjects`)),1),g(`dd`,null,l(T.value?`—`:Ve.value.size),1)])],8,J),g(`button`,{class:`bole-refresh`,type:`button`,disabled:T.value,onClick:tt},l(m(c)(`common.actions.refresh`)),9,se)]),g(`div`,ce,[g(`div`,le,[n(g(`input`,{"onUpdate:modelValue":o[2]||=e=>k.value=e,type:`search`,class:`bole-search`,"aria-label":m(c)(`employees.bole.search`),placeholder:m(c)(`employees.bole.search`),"aria-describedby":`bole-search-hint`},null,8,Y),[[d,k.value]]),_(z,{modelValue:Ke.value,"onUpdate:modelValue":o[3]||=e=>Ke.value=e,projects:Ge.value,label:m(c)(`employees.allProjects.projectFilter`),"all-label":m(c)(`employees.bole.allProjects`),"empty-label":m(c)(`employees.filterEmpty`),compact:``,hint:``},null,8,[`modelValue`,`projects`,`label`,`all-label`,`empty-label`]),O.value===`people`?n((r(),v(`select`,{key:0,"onUpdate:modelValue":o[4]||=e=>j.value=e,"aria-label":m(c)(`employees.bole.workFilter`)},[g(`option`,X,l(m(c)(`employees.bole.allWork`)),1),g(`option`,de,l(m(c)(`employees.bole.workingNow`)),1),g(`option`,fe,l(m(c)(`employees.bole.withoutTask`)),1)],8,ue)),[[h,j.value]]):u(``,!0)]),g(`p`,pe,l(m(c)(`agentProfiles.hrSearchHint`)),1),g(`div`,{class:`bole-role-filters`,role:`group`,"aria-label":m(c)(`employees.bole.distribution`)},[g(`button`,{type:`button`,"aria-pressed":!A.value,onClick:o[5]||=e=>A.value=``},l(m(c)(`employees.bole.allRoles`)),9,me),(r(!0),v(f,null,t(He.value,t=>(r(),v(`button`,{key:t.type,type:`button`,"aria-pressed":A.value===t.type,onClick:e=>A.value=A.value===t.type?``:t.type},[e(l(t.label)+` `,1),g(`span`,null,l(t.count),1)],8,he))),128)),Ye.value?(r(),v(`button`,{key:0,class:`bole-clear`,type:`button`,onClick:$e},l(m(c)(`employees.bole.clearFilters`)),1)):u(``,!0),Ye.value&&!T.value?(r(),v(`span`,Q,l(m(c)(`employees.bole.resultCount`,{count:O.value===`people`?qe.value.length:Je.value.length})),1)):u(``,!0)],8,Z)]),g(`div`,{ref_key:`scrollRegion`,ref:N,class:`bole-content`,tabindex:`0`,role:`region`,"aria-label":m(c)(O.value===`people`?`employees.bole.currentWork`:`employees.bole.recruitmentHistory`)},[T.value?(r(),y(ee,{key:0,variant:`compact`,label:m(c)(`employees.bole.loading`)},null,8,[`label`])):O.value===`people`?(r(),v(`section`,_e,[L.value?(r(),v(`p`,ve,l(m(c)(`employees.bole.taskLimit`)),1)):u(``,!0),qe.value.length?(r(),v(`div`,ye,[g(`div`,be,[o[6]||=g(`span`,null,`Agent`,-1),g(`span`,null,l(m(c)(`employees.bole.taskColumn`)),1),g(`span`,null,l(m(c)(`employees.bole.projectsColumn`)),1)]),(r(!0),v(f,null,t(qe.value,n=>(r(),v(`article`,{key:n.id,class:`bole-agent-row`},[g(`div`,xe,[g(`span`,Se,[et(n.id)?(r(),v(`img`,{key:0,src:et(n.id),alt:``},null,8,Ce)):(r(),v(f,{key:1},[e(l(n.emoji),1)],64))]),g(`div`,null,[g(`strong`,null,[_(R,{"space-id":i.personalSpaceId,"agent-id":n.id,name:n.name},null,8,[`space-id`,`agent-id`,`name`])]),_(F,{"agent-id":n.id},null,8,[`agent-id`]),g(`small`,null,l(n.responsibility||ut(n.type)),1)])]),g(`div`,we,[n.task?(r(),v(f,{key:0},[g(`span`,{class:`bole-status`,"data-status":n.task.status},l(dt(n.task.status)),9,Te),g(`p`,null,l(n.task.title),1)],64)):(r(),v(`p`,Ee,l(m(c)(`employees.bole.idle`)),1))]),g(`div`,De,[n.projectIds.length?(r(),v(f,{key:0},[(r(!0),v(f,null,t(n.projectIds.slice(0,2),e=>(r(),v(`span`,{key:e},l(pt(e)),1))),128)),n.projectIds.length>2?(r(),v(`details`,Oe,[g(`summary`,null,l(m(c)(`employees.bole.moreProjects`,{count:n.projectIds.length-2})),1),(r(!0),v(f,null,t(n.projectIds.slice(2),e=>(r(),v(`span`,{key:e},l(pt(e)),1))),128))])):u(``,!0)],64)):(r(),v(`span`,ke,l(n.task?.projectId?pt(n.task.projectId):m(c)(`employees.bole.noProject`)),1))])]))),128))])):(r(),v(`p`,Ae,l(m(c)(Ye.value?`employees.bole.noMatch`:`employees.bole.noAgents`)),1))])):(r(),v(`section`,je,[Je.value.length?(r(),v(`ol`,Me,[(r(!0),v(f,null,t(Je.value,e=>(r(),v(`li`,{key:e.id},[g(`div`,Ne,[g(`strong`,null,[_(R,{"space-id":i.personalSpaceId,"agent-id":e.agentId,name:ft(e.agentId)},null,8,[`space-id`,`agent-id`,`name`])]),g(`small`,null,l(ut(e.positionKind))+` · `+l(pt(e.projectId)),1)]),g(`div`,Pe,[g(`p`,null,l(e.reason),1),g(`small`,null,l(e.workKind||e.status),1)]),g(`time`,{datetime:e.createdAt},l(mt(e.createdAt)),9,Fe)]))),128))])):(r(),v(`p`,Ie,l(m(c)(Ye.value?`employees.bole.noMatch`:`employees.bole.noRecruitments`)),1))]))],8,ge)],8,ne))}}),[[`__scopeId`,`data-v-50022289`]]),Be={id:`employee-task-title`},Ve=[`disabled`,`aria-label`],He={class:`employee-dialog-body`},Ue={key:1,class:`employee-dialog-error`,role:`alert`},We=[`disabled`],Ge=[`disabled`],Ke={disabled:``,value:``},qe=[`value`],Je=[`readonly`,`disabled`],Ye={key:0,class:`employee-task-status`},Xe=[`readonly`,`disabled`],Ze=[`disabled`],Qe=[`value`],$e=[`readonly`,`disabled`],et=[`readonly`,`disabled`],tt=[`disabled`],nt=[`disabled`],rt=i({__name:`EmployeeTaskDialog`,props:{open:{type:Boolean},item:{},projects:{},defaultProjectId:{},personalSpaceId:{},canWrite:{type:Boolean}},emits:[`close`,`saved`],setup(i,{emit:a}){let _=i,x=a,S=o(!1),C=o(!1),w=o(``),T=o(null),D=o(``),O=o(``),k=o(``),A=o(`medium`),M=o(``),N=o(``),P=0,F={signature:``,id:``},I=s(()=>_.canWrite&&!C.value&&!w.value&&!!D.value&&O.value.trim().length>=2),{dialogRef:R,initialFocusRef:z,onCancel:B,onKeydown:te}=L(()=>_.open,U);b([()=>_.open,()=>_.item,()=>_.personalSpaceId],()=>{H()},{immediate:!0});async function V(e,t){return E(`/api/employee-templates/jefa/call`,{personalSpaceId:_.personalSpaceId,personalProjectId:D.value,tool:e,arguments:t})}async function H(){let e=++P;if(_.open&&(w.value=``,T.value=null,F={signature:``,id:``},D.value=_.item?.projectId??_.defaultProjectId??``,O.value=``,k.value=``,A.value=`medium`,M.value=``,N.value=``,C.value=!!_.item,_.item))try{let t=await V(`get_task`,{workItemId:_.item.id});if(e!==P)return;if(t.item.id!==_.item.id||t.item.projectId!==D.value||!t.item.updatedAt)throw Error(c(`employees.loadError`));T.value=t.item,O.value=t.item.title,k.value=t.item.summary??``,A.value=t.item.priority??`medium`,M.value=t.item.acceptanceCriteria?.join(`
2
2
  `)??``,N.value=t.item.tags?.join(`, `)??``}catch(t){e===P&&(w.value=j(t))}finally{e===P&&(C.value=!1)}}async function ne(){if(!I.value||S.value)return;S.value=!0;let e={title:O.value.trim(),summary:k.value.trim()||O.value.trim(),priority:A.value,acceptanceCriteria:M.value.split(`
3
3
  `).map(e=>e.trim()).filter(Boolean),tags:N.value.split(/[,,]/).map(e=>e.trim()).filter(Boolean)},t=JSON.stringify([D.value,T.value?.updatedAt,e]);F.signature!==t&&(F={signature:t,id:`board-edit-${crypto.randomUUID()}`});try{T.value?await V(`update_tasks`,{requestId:F.id,updates:[{id:T.value.id,expectedUpdatedAt:T.value.updatedAt,...e}]}):await V(`create_tasks`,{messageId:F.id,tasks:[e]}),x(`saved`),x(`close`)}catch(e){w.value=j(e)}finally{S.value=!1}}function U(){S.value||x(`close`)}return(a,o)=>(r(),v(`dialog`,{ref_key:`dialogRef`,ref:R,class:`employee-dialog`,"aria-labelledby":`employee-task-title`,onCancel:o[6]||=(...e)=>m(B)&&m(B)(...e),onKeydown:o[7]||=(...e)=>m(te)&&m(te)(...e)},[g(`form`,{class:`employee-dialog-shell`,onSubmit:p(ne,[`prevent`])},[g(`header`,null,[g(`h2`,Be,l(m(c)(i.item?`employees.task.detail`:`employees.task.create`)),1),g(`button`,{type:`button`,disabled:S.value,"aria-label":m(c)(`employees.close`),onClick:U},`×`,8,Ve)]),g(`div`,He,[C.value?(r(),y(ee,{key:0,variant:`compact`,label:m(c)(`employees.loadingTask`)},null,8,[`label`])):u(``,!0),w.value?(r(),v(`div`,Ue,[g(`p`,null,l(w.value),1),g(`button`,{type:`button`,disabled:S.value,onClick:H},l(m(c)(`employees.task.reload`)),9,We)])):u(``,!0),C.value?u(``,!0):(r(),v(f,{key:2},[g(`label`,null,[e(l(m(c)(`employees.task.project`)),1),n(g(`select`,{"onUpdate:modelValue":o[0]||=e=>D.value=e,disabled:!!i.item||S.value||!i.canWrite,required:``},[g(`option`,Ke,l(m(c)(`employees.task.chooseProject`)),1),(r(!0),v(f,null,t(i.projects,e=>(r(),v(`option`,{key:e.id,value:e.id},l(e.name),9,qe))),128))],8,Ge),[[h,D.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.title`)),1),n(g(`input`,{ref_key:`initialFocusRef`,ref:z,"onUpdate:modelValue":o[1]||=e=>O.value=e,minlength:`2`,maxlength:`180`,required:``,readonly:!i.canWrite,disabled:S.value},null,8,Je),[[d,O.value]])]),T.value?(r(),v(`p`,Ye,l(m(c)(`employees.allProjects.status.${T.value.status}`)),1)):u(``,!0),g(`label`,null,[e(l(m(c)(`employees.task.summary`)),1),n(g(`textarea`,{"onUpdate:modelValue":o[2]||=e=>k.value=e,rows:`4`,maxlength:`2000`,readonly:!i.canWrite,disabled:S.value},null,8,Xe),[[d,k.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.priority`)),1),n(g(`select`,{"onUpdate:modelValue":o[3]||=e=>A.value=e,disabled:!i.canWrite||S.value},[(r(),v(f,null,t([`critical`,`high`,`medium`,`low`],e=>g(`option`,{key:e,value:e},l(m(c)(`employees.task.priorities.${e}`)),9,Qe)),64))],8,Ze),[[h,A.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.criteria`)),1),n(g(`textarea`,{"onUpdate:modelValue":o[4]||=e=>M.value=e,rows:`3`,readonly:!i.canWrite,disabled:S.value},null,8,$e),[[d,M.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.tags`)),1),n(g(`input`,{"onUpdate:modelValue":o[5]||=e=>N.value=e,readonly:!i.canWrite,disabled:S.value},null,8,et),[[d,N.value]])])],64))]),g(`footer`,null,[g(`button`,{type:`button`,disabled:S.value,onClick:U},l(m(c)(`employees.close`)),9,tt),i.canWrite?(r(),v(`button`,{key:0,class:`primary`,type:`submit`,disabled:!I.value||S.value},[S.value?(r(),y(ee,{key:0,variant:`inline`,label:m(c)(`employees.task.saving`)},null,8,[`label`])):(r(),v(f,{key:1},[e(l(m(c)(`employees.task.save`)),1)],64))],8,nt)):u(``,!0)])],32)],544))}}),$={class:`employee-dialog-shell`},it={id:`employee-share-title`},at=[`disabled`,`aria-label`],ot={class:`employee-dialog-body`},st=[`disabled`],ct={key:1,class:`employee-share-preview`,role:`status`},lt={key:2,class:`employee-share-empty`},ut=[`disabled`],dt={key:3,class:`employee-dialog-error`,role:`alert`},ft={key:4,class:`employee-share-result`},pt=[`value`,`aria-label`],mt=[`href`],ht={key:5,class:`employee-share-local`},gt={key:6,class:`employee-share-active`},_t=[`disabled`,`onClick`],vt=[`disabled`],yt=S(i({__name:`EmployeeShareDialog`,props:{open:{type:Boolean},projects:{}},emits:[`close`],setup(n,{emit:i}){let a=n,d=i,p=o([]),h=o({}),x=o({}),S=o(!1),C=o(!1),w=o(null),T=o(``),E=o(``),k=o(``),A=o(!1),M=0,{dialogRef:N,initialFocusRef:P,onCancel:F,onKeydown:I}=L(()=>a.open,W),R=s(()=>a.projects.filter(e=>h.value[e.id]?.publicShareEnabled)),B=s(()=>p.value.every(e=>x.value[e]!==void 0)?p.value.reduce((e,t)=>e+x.value[t],0):null),te=[`localhost`,`127.0.0.1`,`[::1]`].includes(window.location.hostname);b([()=>a.open,()=>JSON.stringify(a.projects.map(e=>e.id))],()=>{a.open?U():++M},{immediate:!0}),b(p,()=>{k.value=``,A.value=!1});function ne(e){return`/employee-workspaces/jefa/${encodeURIComponent(e)}/api`}async function U(e=!1){let t=++M;e||(p.value=[]),h.value={},x.value={},E.value=``,k.value=``,S.value=!0;let n=await Promise.allSettled(a.projects.map(async e=>{let t=(await D(`${ne(e.id)}/snapshot`)).snapshot.projects.find(t=>t.id===e.id);if(!t)throw Error(c(`employees.loadError`));let n=null,r=!1;if(t.publicShareEnabled&&t.publicShareSlug)try{n=(await H({id:e.id,slug:t.publicShareSlug})).items.length}catch{r=!0}return{state:t,count:n,previewFailed:r}}));if(t===M){for(let e of n)e.status===`fulfilled`&&(h.value[e.value.state.id]=e.value.state,e.value.count!==null&&(x.value[e.value.state.id]=e.value.count));n.some(e=>e.status===`rejected`||e.value.previewFailed)&&(E.value=c(`employees.share.loadFailed`)),S.value=!1}}async function re(){if(!p.value.length||C.value||S.value||B.value===0)return;C.value=!0,w.value=`generate`,T.value=``,E.value=``,k.value=``,A.value=!1;let e=M,t=p.value.filter(e=>a.projects.some(t=>t.id===e));try{let n=await Promise.allSettled(t.map(async t=>{if(!h.value[t])throw Error(c(`employees.share.loadFailed`));let n=h.value[t];if(!n.publicShareEnabled||!n.publicShareSlug){if(n=(await O(`/employee-workspaces/jefa/${encodeURIComponent(t)}/api/projects/${encodeURIComponent(t)}/sharing`,{publicShareEnabled:!0,acceptsPublicRequests:!1})).project,n.id!==t||!n.publicShareEnabled||!n.publicShareSlug)throw Error(c(`employees.loadError`));if(e!==M)throw Error(c(`employees.share.loadFailed`));h.value[t]=n}let r=(await H({id:t,slug:n.publicShareSlug})).items.length;if(e!==M)throw Error(c(`employees.share.loadFailed`));return x.value[t]=r,{id:t,slug:n.publicShareSlug}}));if(e!==M)return;if(n.some(e=>e.status===`rejected`))throw Error(c(`employees.share.partial`));if(t.every(e=>x.value[e]===0))throw Error(c(`employees.shareContent.emptySelection`));k.value=V(n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]),window.location.origin)}catch(t){e===M&&(E.value=j(t))}finally{C.value=!1,w.value=null,T.value=``}}async function ie(e){if(!C.value){C.value=!0,w.value=`revoke`,T.value=e,E.value=``,k.value=``,A.value=!1;try{let t=await O(`/employee-workspaces/jefa/${encodeURIComponent(e)}/api/projects/${encodeURIComponent(e)}/sharing`,{publicShareEnabled:!1,acceptsPublicRequests:!1});if(t.project.id!==e||t.project.publicShareEnabled)throw Error(c(`employees.loadError`));h.value[e]=t.project,delete x.value[e]}catch(e){E.value=j(e)}finally{C.value=!1,w.value=null,T.value=``}}}async function ae(){try{await navigator.clipboard.writeText(k.value),A.value=!0}catch{E.value=c(`employees.share.copyFailed`)}}function W(){C.value||d(`close`)}return(i,a)=>(r(),v(`dialog`,{ref_key:`dialogRef`,ref:N,class:`employee-dialog employee-share-dialog`,"aria-labelledby":`employee-share-title`,onCancel:a[4]||=(...e)=>m(F)&&m(F)(...e),onKeydown:a[5]||=(...e)=>m(I)&&m(I)(...e)},[g(`div`,$,[g(`header`,null,[g(`h2`,it,l(m(c)(`employees.share.title`)),1),g(`button`,{ref_key:`initialFocusRef`,ref:P,type:`button`,disabled:C.value,"aria-label":m(c)(`employees.close`),onClick:W},`×`,8,at)]),g(`div`,ot,[g(`p`,null,l(m(c)(`employees.share.scopeHint`)),1),g(`p`,null,l(m(c)(`employees.share.disclosure`)),1),S.value?(r(),y(ee,{key:0,variant:`compact`,label:m(c)(`employees.loadingShare`)},null,8,[`label`])):u(``,!0),g(`fieldset`,{disabled:C.value||S.value},[_(z,{modelValue:p.value,"onUpdate:modelValue":a[0]||=e=>p.value=e,projects:n.projects,disabled:C.value||S.value,inline:``,label:m(c)(`employees.share.projects`),hint:m(c)(`employees.share.selectionHint`)},null,8,[`modelValue`,`projects`,`disabled`,`label`,`hint`])],8,st),p.value.length&&!S.value?(r(),v(`p`,ct,l(B.value===null?m(c)(`employees.shareContent.verifyContent`):m(c)(`employees.shareContent.publicCount`,{count:B.value})),1)):u(``,!0),p.value.length&&!S.value&&B.value===0?(r(),v(`p`,lt,l(m(c)(`employees.shareContent.emptySelection`)),1)):u(``,!0),g(`button`,{type:`button`,disabled:C.value||S.value,onClick:a[1]||=e=>U(!0)},l(m(c)(`common.actions.refresh`)),9,ut),E.value?(r(),v(`div`,dt,[g(`p`,null,l(E.value),1),C.value?u(``,!0):(r(),v(`button`,{key:0,type:`button`,onClick:a[2]||=e=>U(!0)},l(m(c)(`employees.retry`)),1))])):u(``,!0),k.value?(r(),v(`div`,ft,[g(`label`,null,[e(l(m(c)(`employees.share.link`)),1),g(`input`,{value:k.value,readonly:``,"aria-label":m(c)(`employees.share.link`),onFocus:a[3]||=e=>e.target.select()},null,40,pt)]),g(`div`,null,[g(`button`,{type:`button`,onClick:ae},l(m(c)(A.value?`employees.share.copied`:`employees.share.copy`)),1),g(`a`,{href:k.value,target:`_blank`,rel:`noreferrer`},l(m(c)(`employees.share.preview`)),9,mt)])])):u(``,!0),m(te)?(r(),v(`p`,ht,l(m(c)(`employees.share.local`)),1)):u(``,!0),R.value.length?(r(),v(`section`,gt,[g(`h3`,null,l(m(c)(`employees.share.active`)),1),(r(!0),v(f,null,t(R.value,t=>(r(),v(`div`,{key:t.id},[g(`span`,null,l(t.name),1),g(`button`,{type:`button`,disabled:C.value,onClick:e=>ie(t.id)},[w.value===`revoke`&&T.value===t.id?(r(),y(ee,{key:0,variant:`inline`,label:m(c)(`employees.share.revoking`)},null,8,[`label`])):(r(),v(f,{key:1},[e(l(m(c)(`employees.share.revoke`)),1)],64))],8,_t)]))),128))])):u(``,!0)]),g(`footer`,null,[g(`span`,null,l(m(c)(`employees.scope.count`,{selected:p.value.length,total:n.projects.length})),1),g(`button`,{class:`primary`,type:`button`,disabled:!p.value.length||C.value||S.value||B.value===0,onClick:re},[w.value===`generate`?(r(),y(ee,{key:0,variant:`inline`,label:m(c)(`employees.share.generating`)},null,8,[`label`])):(r(),v(f,{key:1},[e(l(m(c)(`employees.share.generate`)),1)],64))],8,vt)])])],544))}}),[[`__scopeId`,`data-v-2da40afc`]]);function bt(e){return`fuli:jefa:project-filter:v1:${encodeURIComponent(e)}`}function xt(e){let t=w(),n=C(),r=o(null),i=o(!1),a=o(!1),c=!1,l=``,u=!0;b([e.enabled,e.spaceId],([e,t])=>{let n=e?t:``;if(n!==l&&(u=!l||!n,l=n,r.value=null,c=!1,i.value=!1,a.value=!1,l))try{let e=localStorage.getItem(bt(l));if(!e)return;let t=JSON.parse(e);t&&typeof t==`object`&&`version`in t&&t.version===1&&`projectIds`in t&&Array.isArray(t.projectIds)&&t.projectIds.every(e=>typeof e==`string`&&e.length>0&&e===e.trim())&&(r.value=[...new Set(t.projectIds)],c=!0)}catch(e){a.value=!(e instanceof SyntaxError)}},{immediate:!0,flush:`sync`});function d(){if(l)try{let e=bt(l);r.value===null?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify({version:1,projectIds:r.value})),a.value=!1}catch{a.value=!0}}function f(){let e=t.query.project;return[...new Set((Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`&&!!e))]}function p(){return[t.query.empty].flat().includes(`1`)}function m(e){return!e.length&&!p()||e.length===1&&[`all`,`__all__`].includes(e[0])}let h=s(()=>e.projectIds.value.filter(e=>r.value===null||r.value.includes(e)));function g(){if(!e.enabled.value||!l||!e.ready.value||!c)return;let i=h.value,a=f(),o=r.value===null||i.length>0&&i.length===e.projectIds.value.length;o&&t.query.project===`all`&&t.query.empty===void 0||r.value!==null&&!m(a)&&a.length===i.length&&a.every(e=>i.includes(e))&&(i.length>0||t.query.empty===`1`)||n.replace({query:{...t.query,project:o?`all`:i.length?i:``,empty:o||i.length?void 0:`1`}})}b([e.enabled,e.spaceId,e.ready,e.projectIds,()=>t.query.project,()=>t.query.empty],()=>{if(!(!e.enabled.value||!l||!e.ready.value)){if(!c){let t=f(),n=!u||m(t);if(i.value=!n&&t.some(t=>!e.projectIds.value.includes(t)),i.value)return;r.value=n?null:[...new Set(t)],c=!0,n||d()}g()}},{immediate:!0});let _=s({get:()=>h.value,set:t=>{if(!e.enabled.value||!l||!e.ready.value)return;let n=r.value?.filter(t=>!e.projectIds.value.includes(t))??[];r.value=[...new Set([...n,...t.filter(t=>e.projectIds.value.includes(t))])],c=!0,i.value=!1,d(),g()}});function v(){r.value=null,c=!0,i.value=!1,d(),g()}return{selection:_,reset:v,invalidScope:i,storageUnavailable:a}}var St=[`aria-label`],Ct={class:`employee-workbench-toolbar`},wt={class:`employee-workbench-identity`},Tt={class:`employee-workbench-mark`,"aria-hidden":`true`},Et=[`src`],Dt=[`aria-label`,`title`],Ot={class:`employee-workbench-actions`},kt=[`disabled`],At={key:4,class:`employee-workbench-state`,role:`alert`},jt={key:5,class:`employee-workbench-state`},Mt={key:7,class:`employee-workbench-state`},Nt={key:8,class:`employee-workbench-state`},Pt={key:10,class:`employee-workbench-state`},Ft=[`src`,`title`],It=`all`,Lt=S(i({__name:`EmployeeWorkbenchPage`,setup(t){let n=w(),i=C(),d=x(),p=o(``),h=o(null),S=o([]),F=o([]),I=o([]),L=o([]),R=o(``),z=o(``),V=o(!1),H=o(!1),ne=o(!1),U=o(!1),re=o(!1),ie=o(!1),ae=o(null),W=s(()=>d.activePersonalSpace?.id??``),G=s(()=>String(n.params.templateId??``)),K=s(()=>k.value.find(e=>e.id===G.value)),q=s(()=>K.value?.workbench?.kind===`native`&&K.value.workbench.view===`people`),J=s(()=>G.value===`jefa`),oe=s(()=>!d.state&&(d.runtimeStatus===`idle`||d.runtimeStatus===`loading`)||!H.value||V.value),se=s(()=>d.state?A.value||!H.value?c(`employees.loading`):c(`employees.loadingBoard`):c(`common.status.loadingConsole`)),ce=s(()=>!d.state&&d.runtimeStatus===`error`?d.feedback?.message||c(`employees.loadError`):``),le=s(()=>ce.value||N.value||(J.value&&X.invalidScope.value?c(`employees.invalidScope`):z.value)),Y=s(()=>K.value?.managedProjects===void 0?(K.value?.assignments??[]).filter(e=>e.status===`active`).map(e=>({value:e.personalProjectId,label:d.state?.personalProjects?.find(t=>t.project_id===e.personalProjectId)?.profile.name??e.personalProjectId})):K.value.managedProjects.map(e=>({value:e.id,label:e.name}))),ue=s(()=>JSON.stringify([...new Set(Y.value.map(e=>e.value))].sort()));b(W,e=>{H.value=!1,M(e)},{immediate:!0});let X=xt({enabled:J,spaceId:W,projectIds:s(()=>Y.value.map(e=>e.value)),ready:s(()=>!A.value&&!N.value&&!!K.value)}),de=s({get:()=>{if(J.value)return X.selection.value;let e=new Set(I.value);return Y.value.filter(t=>!e.has(t.value)).map(e=>e.value)},set:e=>{if(J.value){X.selection.value=e;return}let t=new Set(Y.value.map(e=>e.value)),n=new Set(e);I.value=[...I.value.filter(e=>!t.has(e)),...Y.value.filter(e=>!n.has(e.value)).map(e=>e.value)]}}),fe=s(()=>{let e=new Set(de.value);return S.value.filter(t=>e.has(t.project.id))}),pe=s(()=>{let e=new Set(de.value);return F.value.filter(t=>e.has(t)).length}),Z=s(()=>K.value?.runtimeStatus===`ready`&&K.value.permissions.includes(`board.read`)&&Y.value.length>0),me=s(()=>Z.value?[{value:It,label:c(`employees.allProjects.option`),meta:c(`employees.allProjects.optionMeta`,{count:Y.value.length})},...Y.value]:Y.value),he=0;b([G,W],()=>{I.value=[],ie.value=!1,re.value=!1,ae.value=null}),b([me,()=>n.query.project,()=>n.query.empty,G,q],()=>{if(q.value){if(++he,p.value=``,V.value=!1,z.value=``,n.query.project!==void 0){let{project:e,...t}=n.query;i.replace({query:t})}return}if(J.value){p.value=Y.value.length?It:``;return}let e=typeof n.query.project==`string`?n.query.project:``,t=me.value;p.value=e||(t.some(e=>e.value===p.value)?p.value:t[0]?.value??``),!e&&p.value&&i.replace({query:{...n.query,project:p.value}})},{immediate:!0}),b([G,p,W,Z,H],()=>{!q.value&&H.value&&Q()},{immediate:!0}),b(A,e=>{if(!e){if(!H.value){H.value=!0;return}ne.value&&(ne.value=!1,Q())}},{immediate:!0}),b(X.invalidScope,e=>{!e&&J.value&&H.value&&Q()}),b(ue,(e,t)=>{e===t||!H.value||q.value||Q()});async function Q(){let e=++he;if(h.value=null,S.value=[],F.value=[],R.value=``,z.value=``,q.value||!K.value||!p.value||!W.value){V.value=!1;return}if(J.value&&!Z.value){V.value=!1;return}if(J.value&&X.invalidScope.value){V.value=!1;return}if(A.value){ne.value=!0,V.value=!0;return}ne.value=!1;let t=G.value,n=p.value;V.value=!0;try{if(n===It&&Z.value){let n=await Promise.all(Y.value.map(async e=>{try{let n=await E(`/api/employee-templates/${encodeURIComponent(t)}/call`,{personalSpaceId:W.value,personalProjectId:e.value,tool:`read_board`,arguments:{limit:100}}),r=Array.isArray(n.items)?n.items.filter(xe).filter(t=>t.projectId===e.value):[],i=n.truncated;if(t===`jefa`&&i)try{let t=await D(`/employee-workspaces/jefa/${encodeURIComponent(e.value)}/api/snapshot`);if(!Array.isArray(t.snapshot.workItems))throw Error(`Invalid board snapshot`);r=t.snapshot.workItems.filter(xe).filter(t=>t.projectId===e.value),i=!1}catch{}return{ok:!0,board:{...n,truncated:i,project:{id:e.value,name:e.label},items:r}}}catch(t){return{ok:!1,cause:t,projectId:e.value}}}));if(e!==he)return;S.value=n.filter(e=>e.ok).map(e=>e.board),F.value=n.flatMap(e=>e.ok?[]:[e.projectId]),!S.value.length&&F.value.length&&(z.value=j(n.find(e=>!e.ok)?.cause));return}let r=await D(`/api/employee-templates/${encodeURIComponent(t)}/workspace?${new URLSearchParams({personalSpaceId:W.value,personalProjectId:n})}`),i=`/employee-workspaces/${encodeURIComponent(t)}/${encodeURIComponent(n)}/`;if(r.workbenchUrl!==i)throw Error(c(`employees.loadError`));e===he&&(h.value=r)}catch(t){e===he&&(z.value=j(t))}finally{e===he&&(V.value=!1)}}function ge(e=null){ae.value=e,ie.value=!0}function _e(e){return`${e.projectId}:${e.id}`}function ve(e,t,n){S.value=S.value.map(r=>r.project.id===e?{...r,items:r.items.map(e=>e.id===t?n:e)}:r)}function ye(){return`aggregate-board-move-${globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`}async function be(e,t){if(e.status===t)return;let n=_e(e);if(L.value.includes(n))return;let r=`${G.value}:${W.value}`,i={...e,status:t};R.value=``,L.value=[...L.value,n],ve(e.projectId,e.id,i);try{let n;if(G.value===`jefa`&&t===`done`)n=(await O(`/employee-workspaces/${encodeURIComponent(G.value)}/${encodeURIComponent(e.projectId)}/api/work-items/${encodeURIComponent(e.id)}/status`,{status:t})).workItem;else{if(!e.updatedAt)throw Error(c(`employees.allProjects.refreshRequired`));n=(await E(`/api/employee-templates/${encodeURIComponent(G.value)}/call`,{personalSpaceId:W.value,personalProjectId:e.projectId,tool:`update_tasks`,arguments:{requestId:ye(),updates:[{id:e.id,expectedUpdatedAt:e.updatedAt,status:t}]}})).updatedWorkItems?.find(t=>t.id===e.id)}if(`${G.value}:${W.value}`!==r)return;if(!n||!xe(n)||n.projectId!==e.projectId||n.id!==e.id||!n.updatedAt)throw Error(c(`employees.allProjects.refreshRequired`));ve(e.projectId,e.id,n)}catch(t){if(`${G.value}:${W.value}`!==r)return;ve(e.projectId,e.id,e),R.value=c(`employees.allProjects.moveFailed`,{error:j(t)})}finally{L.value=L.value.filter(e=>e!==n)}}function xe(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.projectId==`string`&&typeof t.title==`string`&&[`planned`,`active`,`blocked`,`review`,`done`].includes(t.status??``)}async function Se(){if(!d.state){await d.refresh();return}await M(W.value),N.value||await Q()}async function Ce(){if(J.value){await i.replace({query:{...n.query,project:It,empty:void 0}}),await Q();return}let e=p.value===It&&Z.value?It:Y.value.find(e=>e.value===p.value)?.value??me.value[0]?.value;await i.replace({query:e?{project:e}:{}}),await Q()}return(t,n)=>(r(),v(`section`,{class:`employee-workbench-view`,"aria-label":K.value?.name??m(c)(`employees.workbench`)},[g(`header`,Ct,[g(`div`,wt,[g(`span`,Tt,[m(P)(G.value)?(r(),v(`img`,{key:0,src:m(P)(G.value),alt:``},null,8,Et)):(r(),v(f,{key:1},[e(l(K.value?.name.slice(0,1)??`A`),1)],64))]),g(`h1`,null,[e(l(K.value?.name??m(c)(`employees.workbench`))+` `,1),g(`span`,null,l(K.value?.role),1)]),J.value&&Z.value?(r(),v(`button`,{key:0,class:`employee-share-button`,type:`button`,"aria-label":m(c)(`employees.share.title`),title:m(c)(`employees.share.title`),onClick:n[0]||=e=>re.value=!0},[...n[8]||=[g(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[g(`path`,{d:`M14 3h7v7m0-7-9 9M10 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}),g(`path`,{d:`M7 16v-3m4 3v-1`})],-1)]],8,Dt)):u(``,!0)]),g(`div`,Ot,[K.value&&!q.value?(r(),v(`button`,{key:0,class:`employee-manage-projects`,type:`button`,disabled:!W.value,onClick:n[1]||=e=>U.value=!0},[n[9]||=g(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"aria-hidden":`true`},[g(`path`,{d:`M4 7h9m4 0h3M4 17h3m4 0h9`}),g(`circle`,{cx:`15`,cy:`7`,r:`2`}),g(`circle`,{cx:`9`,cy:`17`,r:`2`})],-1),e(` `+l(m(c)(`employees.manageProjects`)),1)],8,kt)):u(``,!0)])]),q.value?u(``,!0):(r(),y(B,{key:0,open:U.value,"personal-space-id":W.value,projects:m(d).state?.personalProjects??[],"template-id":G.value,onClose:n[2]||=e=>U.value=!1,onRecruited:Ce},null,8,[`open`,`personal-space-id`,`projects`,`template-id`])),J.value?(r(),y(rt,{key:1,open:ie.value,item:ae.value,projects:Y.value.map(e=>({id:e.value,name:e.label})),"default-project-id":de.value.length===1?de.value[0]:void 0,"personal-space-id":W.value,"can-write":K.value?.permissions.includes(`board.write`)??!1,onClose:n[3]||=e=>ie.value=!1,onSaved:Q},null,8,[`open`,`item`,`projects`,`default-project-id`,`personal-space-id`,`can-write`])):u(``,!0),J.value?(r(),y(yt,{key:2,open:re.value,projects:Y.value.map(e=>({id:e.value,name:e.label})),onClose:n[4]||=e=>re.value=!1},null,8,[`open`,`projects`])):u(``,!0),oe.value?(r(),y(ee,{key:3,label:se.value},null,8,[`label`])):le.value?(r(),v(`div`,At,[g(`p`,null,l(le.value),1),g(`button`,{class:`quiet-button`,type:`button`,onClick:Se},l(m(c)(`employees.retry`)),1)])):K.value?q.value?(r(),y(ze,{key:6,"personal-space-id":W.value,projects:m(d).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`])):J.value&&K.value.runtimeStatus!==`ready`?(r(),v(`div`,Mt,[g(`p`,null,l(m(c)(`employees.installRequired`)),1),g(`small`,null,l(m(c)(`employees.installHelp`)),1)])):p.value?p.value===It&&Z.value?(r(),y(te,{key:9,"visible-project-ids":de.value,"onUpdate:visibleProjectIds":n[6]||=e=>de.value=e,boards:fe.value,projects:Y.value.map(e=>({id:e.value,name:e.label})),"failed-projects":pe.value,"can-move-tasks":K.value.permissions.includes(`board.write`),"moving-item-keys":L.value,"action-error":R.value,"resettable-filter":J.value,"filter-storage-unavailable":m(X).storageUnavailable.value,onResetProjectFilter:m(X).reset,onMoveTask:be,onSelectTask:ge,onCreateTask:n[7]||=e=>ge(),onRetry:Q},null,8,[`visible-project-ids`,`boards`,`projects`,`failed-projects`,`can-move-tasks`,`moving-item-keys`,`action-error`,`resettable-filter`,`filter-storage-unavailable`,`onResetProjectFilter`])):h.value&&h.value.runtimeStatus!==`ready`?(r(),v(`div`,Pt,[g(`p`,null,l(m(c)(`employees.installRequired`)),1),g(`small`,null,l(m(c)(`employees.installHelp`)),1)])):h.value?(r(),v(`iframe`,{key:h.value.workbenchUrl,src:h.value.workbenchUrl,title:`${h.value.name} · ${h.value.project.name}`,class:`employee-workbench-frame`},null,8,Ft)):u(``,!0):(r(),v(`div`,Nt,[g(`h2`,null,l(m(c)(`employees.emptyWorkbench`)),1),g(`p`,null,l(m(c)(`employees.manageHint`)),1),g(`button`,{class:`quiet-button`,type:`button`,onClick:n[5]||=e=>U.value=!0},l(m(c)(`employees.manageProjects`)),1)])):(r(),v(`div`,jt,[g(`p`,null,l(m(c)(`employees.unavailable`)),1),_(m(T),{to:`/project-agents`},{default:a(()=>[e(l(m(c)(`employees.backToAgents`)),1)]),_:1})]))],8,St))}}),[[`__scopeId`,`data-v-fba11ab5`]]);export{Lt as default};
@@ -1 +1 @@
1
- import{N as e,S as t,T as n,at as r,rt as i,v as a,x as o}from"./i18n-75woNt31.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c={class:`growth-loading__content`},l={class:`growth-loading__label`},u=s(n({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(n){return(s,u)=>(e(),o(`span`,{class:i([`growth-loading`,[`growth-loading--${n.variant}`,{"view-loading":n.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`},[a(`span`,c,[u[0]||=t(`<span class="growth-loading__visual" aria-hidden="true" data-v-9d0eb26c><span class="growth-loading__chart" aria-hidden="true" data-v-9d0eb26c><span class="growth-loading__bar growth-loading__bar--1" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--2" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--3" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--4" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--5" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__baseline" data-v-9d0eb26c></span></span></span>`,1),a(`span`,l,r(n.label),1)])],2))}}),[[`__scopeId`,`data-v-9d0eb26c`]]);export{u as t};
1
+ import{N as e,S as t,T as n,at as r,rt as i,v as a,x as o}from"./i18n-CIIxzhPZ.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c={class:`growth-loading__content`},l={class:`growth-loading__label`},u=s(n({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(n){return(s,u)=>(e(),o(`span`,{class:i([`growth-loading`,[`growth-loading--${n.variant}`,{"view-loading":n.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`},[a(`span`,c,[u[0]||=t(`<span class="growth-loading__visual" aria-hidden="true" data-v-9d0eb26c><span class="growth-loading__chart" aria-hidden="true" data-v-9d0eb26c><span class="growth-loading__bar growth-loading__bar--1" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--2" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--3" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--4" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--5" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__baseline" data-v-9d0eb26c></span></span></span>`,1),a(`span`,l,r(n.label),1)])],2))}}),[[`__scopeId`,`data-v-9d0eb26c`]]);export{u as t};
@@ -1 +1 @@
1
- import{C as e,H as t,N as n,R as r,T as i,X as a,Y as o,Z as s,_ as c,a as l,at as u,b as d,c as f,d as p,h as m,j as h,m as g,nt as _,v,w as y,x as b,y as x,z as ee}from"./i18n-75woNt31.js";import{t as te}from"./console-hUns2aD-.js";import{t as S}from"./GrowthLoading-DFOy-mEl.js";import{t as C}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as w,r as T}from"./client-InXscj8J.js";import{t as ne}from"./useModalDialog-BopF-KHN.js";import{t as E}from"./SearchableSelect-vaoSDq1g.js";import{r as D,t as O}from"./identity-Wt2Xio_B.js";import{E as k,T as A}from"./model-C1GwBvd9.js";var j=`testLoading`;function M(e=typeof window>`u`?``:window.location.search){return new URLSearchParams(e).get(j)===`1`}function N(e,t=500){let n=s(!1),r=0,i=null;function o(){i!==null&&(clearTimeout(i),i=null)}return ee(e,e=>{if(o(),e){n.value||(r=Date.now()),n.value=!0;return}if(!n.value)return;let a=Math.max(0,t-(Date.now()-r));if(a===0){n.value=!1;return}i=setTimeout(()=>{i=null,n.value=!1},a)},{immediate:!0,flush:`sync`}),h(o),a(n)}var P=[`aria-labelledby`],F={class:`project-dialog-header`},I=[`id`],L=[`disabled`],R={class:`knowledge-confirm-summary`},z={class:`knowledge-confirm-fields`},B={class:`knowledge-confirm-acknowledgement`},V={key:0,class:`publish-dialog-error`,role:`alert`},H={class:`project-profile-dialog-actions`},U=[`disabled`],W=[`disabled`],G=C(i({__name:`KnowledgeConfirmDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{}},emits:[`close`,`saved`],setup(i,{emit:a}){let o=i,h=a,y=te(),C=s(``),w=s(``),E=s(``),D=s(!1),O=s(!1),j=r(),{dialogRef:M,onCancel:N,onKeydown:G}=ne(()=>!!o.item,()=>{O.value||h(`close`)}),K=s(``),q=s({kind:`import`,label:l(`knowledge.domain.actors.historicalRecord`)}),J=c(()=>o.item?.profileAspect?l(`knowledge.dialogs.confirm.preferenceSubject`):l(`knowledge.dialogs.confirm.knowledgeSubject`));ee(()=>o.item,e=>{if(!e)return;let t=e.evidence.at(0),n=e.confirmationBasis;C.value=n?.existence_reason||t?.source_description||t?.summary||l(`knowledge.dialogs.confirm.sourceSupport`),w.value=n?.quadrant_reason||e.reasoningSummary||l(`knowledge.dialogs.confirm.quadrantReason`,{quadrant:k(e.originQuadrant),description:A(e.originQuadrant)}),q.value=n?.proposed_by??ie(t),E.value=l(`knowledge.dialogs.confirm.confirmationReason`),D.value=!1,K.value=``},{immediate:!0});async function re(){let e=o.item;if(!(!e||O.value)){if(!e.classificationExplicit)return Y(l(`knowledge.dialogs.confirm.errors.quadrantRequired`));if(!C.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.existenceRequired`));if(!w.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.quadrantReasonRequired`));if(!E.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.confirmationReasonRequired`));if(!D.value)return Y(l(`knowledge.dialogs.confirm.errors.acknowledgmentRequired`));O.value=!0,K.value=``;try{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{personalSpaceId:o.personalSpaceId,personalProjectId:o.personalProjectId,action:`confirm`,reason:E.value.trim(),confirmationStatus:`confirmed`,confirmationBasis:{existenceReason:C.value.trim(),quadrantReason:w.value.trim(),proposedBy:q.value,confirmedBy:{kind:`user`,label:l(`knowledge.domain.actors.currentUser`)},confirmedAt:new Date().toISOString()}}),y.notify(l(`knowledge.dialogs.confirm.confirmed`,{subject:J.value})),h(`saved`),h(`close`)}catch(e){K.value=e instanceof Error?e.message:l(`knowledge.dialogs.confirm.errors.failed`),y.reportError(e)}finally{O.value=!1}}}function ie(e){let t={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:l(`knowledge.domain.actors.otherAgent`)}[e?.source_application??``];return t?{kind:`agent`,label:t}:{kind:`import`,label:l(`knowledge.domain.actors.historicalRecord`)}}function Y(e){K.value=e}return(r,a)=>i.item?(n(),b(`dialog`,{key:0,ref_key:`dialogRef`,ref:M,"aria-modal":`true`,"aria-labelledby":_(j),onCancel:a[6]||=(...e)=>_(N)&&_(N)(...e),onKeydown:a[7]||=(...e)=>_(G)&&_(G)(...e),class:`knowledge-confirm-dialog vue-dialog`},[v(`form`,{class:`knowledge-confirm-dialog-shell`,onSubmit:g(re,[`prevent`])},[v(`header`,F,[v(`div`,null,[v(`h3`,{id:_(j)},u(_(l)(`knowledge.dialogs.confirm.title`,{subject:J.value})),9,I),v(`p`,null,u(_(l)(`knowledge.dialogs.confirm.intro`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:a[0]||=e=>h(`close`)},u(_(l)(`common.actions.close`)),9,L)]),v(`section`,R,[v(`span`,null,u(i.item.profileAspect?_(l)(`knowledge.dialogs.confirm.preference`):_(l)(`knowledge.dialogs.confirm.knowledge`)),1),v(`strong`,null,u(i.item.title),1),v(`p`,null,u(i.item.body),1),v(`small`,null,u(_(l)(`knowledge.dialogs.confirm.quadrant`,{quadrant:_(k)(i.item.originQuadrant)})),1)]),v(`div`,z,[v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.whyExists`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[1]||=e=>C.value=e,name:`confirmation-existence-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,C.value]])]),v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.whyQuadrant`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[2]||=e=>w.value=e,name:`confirmation-quadrant-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,w.value]])]),v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.confirmationCopy`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[3]||=e=>E.value=e,name:`confirmation-reason`,maxlength:`2000`,rows:`2`,required:``},null,512),[[p,E.value]])])]),v(`label`,B,[t(v(`input`,{"onUpdate:modelValue":a[4]||=e=>D.value=e,name:`confirmation-acknowledged`,type:`checkbox`},null,512),[[f,D.value]]),v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.acknowledgment`)),1)]),K.value?(n(),b(`p`,V,u(K.value),1)):d(``,!0),v(`footer`,H,[v(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:a[5]||=e=>h(`close`)},u(_(l)(`common.actions.cancel`)),9,U),v(`button`,{class:`primary-action`,type:`submit`,disabled:O.value||!D.value},[O.value?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.confirm.confirming`,{subject:J.value})},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.confirm.confirmSubject`,{subject:J.value})),1)],64))],8,W)])],32)],40,P)):d(``,!0)}}),[[`__scopeId`,`data-v-b8c3dc93`]]),K=[`aria-labelledby`],q={class:`project-dialog-shell`},J={class:`project-dialog-header`},re=[`id`],ie=[`disabled`],Y={class:`knowledge-edit-columns`},ae=[`disabled`],oe={key:0},se={key:1},ce={key:2},le={class:`knowledge-taxonomy-fields`},ue={class:`knowledge-classification-warning`},de={key:3,class:`knowledge-classification-warning`},fe={class:`knowledge-confirmation-fields`},pe={class:`knowledge-taxonomy-fields`},me=[`placeholder`],he=[`placeholder`],ge={key:4,class:`knowledge-replacement-fields`},_e={key:0},ve={class:`knowledge-replacement-fields`},ye={key:5,class:`publish-dialog-error`,role:`alert`},be={class:`knowledge-editor-actions`},xe=[`disabled`],Se=[`disabled`],Ce=[`disabled`],we=[`disabled`],Te={key:0},Ee=[`disabled`],De=[`disabled`],Oe={key:1},ke=[`disabled`],Ae={key:0},je=[`disabled`],X=C(i({__name:`KnowledgeEditDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{},replacementItems:{default:()=>[]}},emits:[`close`,`saved`],setup(i,{emit:a}){let f=i,h=a,C=te(),A=s(!1),j=s(null),M=r(),{dialogRef:N,onCancel:P,onKeydown:F}=ne(()=>!!f.item,()=>{A.value||h(`close`)}),I=s(``),L=s(``),R=s(``),z=s(`global`),B=s(``),V=s(``),H=s(``),U=s(``),W=o({name:``,summary:``,fact:``,currentQuadrant:``,confirmationStatus:`pending`,existenceReason:``,quadrantReason:``,proposedByKind:`agent`,proposedByLabel:``,confirmedByKind:`user`,confirmedByLabel:``,profileAspect:`none`,inheritanceMode:`local_only`,reason:``}),G=c(()=>f.item?.itemKind===`relationship`),X=c(()=>!!f.item?.invalidAt),Me=c(()=>!!f.item?.raw.profile_aspect),Ne=c(()=>f.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${O(e.project_id,26)}`,search:D(e.project_id)}))),Pe=c(()=>[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:l(`knowledge.dialogs.edit.quadrants.${e}`)}))),Fe=c(()=>[{value:`pending`,label:l(`knowledge.dialogs.edit.confirmationStates.pending`)},{value:`confirmed`,label:l(`knowledge.dialogs.edit.confirmationStates.confirmed`)}]),Ie=c(()=>[{value:`local_only`,label:l(`knowledge.dialogs.edit.inheritance.local`)},{value:`descendants`,label:l(`knowledge.dialogs.edit.inheritance.descendants`)},{value:`selected_projects`,label:l(`knowledge.dialogs.edit.inheritance.selected`)}]),Le=c(()=>[`user`,`agent`,`authoritative_source`,`import`].map(e=>({value:e,label:l(`knowledge.domain.actors.${e}`)}))),Re=c(()=>[`user`,`authoritative_source`].map(e=>({value:e,label:l(`knowledge.domain.actors.${e}`)}))),ze=c(()=>[{value:`none`,label:l(`knowledge.dialogs.edit.profiles.none`)},...[`taste`,`personality`,`judgment_preference`].map(e=>({value:e,label:l(`knowledge.domain.profiles.${e}`)}))]),Be=c(()=>[{value:`global`,label:l(`knowledge.dialogs.edit.scopes.global`)},{value:`project`,label:l(`knowledge.dialogs.edit.scopes.project`),disabled:f.projects.length===0}]),Ve=c(()=>[{value:``,label:l(`knowledge.dialogs.edit.replacementNone`)},...f.replacementItems.filter(e=>!e.invalidAt&&(e.itemKind!==f.item?.itemKind||e.id!==f.item?.id)).map(e=>({value:Ye(e.itemKind,e.id),label:e.title,meta:e.type,search:`${e.body} ${e.id}`}))]),Z=c(()=>{if(!U.value)return null;try{let[e,t]=JSON.parse(U.value);return e!==`entity`&&e!==`relationship`||typeof t!=`string`?null:{itemKind:e,id:t}}catch{return null}}),He=c(()=>f.item?.assignments.at(0)?.project_id??f.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??f.personalProjectId??null);ee(()=>f.item,e=>{if(!e)return;let t=e.raw;W.name=e.itemKind===`entity`?t.name:``,W.summary=e.itemKind===`entity`?t.summary??``:``,W.fact=e.itemKind===`relationship`?t.fact??``:``;let n=e.confirmationBasis,r=e.evidence.at(0);W.currentQuadrant=e.classificationExplicit?t.current_quadrant??t.origin_quadrant??`known_known`:``,W.confirmationStatus=e.confirmationStatus===`confirmed`?`confirmed`:`pending`,W.existenceReason=n?.existence_reason??r?.source_description??r?.summary??``,W.quadrantReason=n?.quadrant_reason??t.reasoning_summary??``,W.proposedByKind=n?.proposed_by.kind??`agent`,W.proposedByLabel=n?.proposed_by.label??``,W.confirmedByKind=n?.confirmed_by?.kind??`user`,W.confirmedByLabel=n?.confirmed_by?.label??``,W.profileAspect=t.profile_aspect??`none`,W.inheritanceMode=t.profile_aspect?`local_only`:t.inheritance_mode??`local_only`,H.value=t.inherited_project_ids?.at(0)??f.projects[0]?.project_id??``,W.reason=``,L.value=``,R.value=He.value??f.projects[0]?.project_id??``,z.value=t.preference_scope??`global`,B.value=t.preference_project_id??f.projects[0]?.project_id??``,V.value=``,U.value=e.replacedByItemId&&e.replacedByItemKind?Ye(e.replacedByItemKind,e.replacedByItemId):``,I.value=``},{immediate:!0});async function Ue(){let e=f.item;if(!e)return;if(!W.reason.trim())return $(l(`knowledge.dialogs.edit.errors.reasonRequired`));if(!G.value&&!W.name.trim())return $(l(`knowledge.dialogs.edit.errors.nameRequired`));if(G.value&&!W.fact.trim())return $(l(`knowledge.dialogs.edit.errors.factRequired`));if(!W.currentQuadrant||!W.confirmationStatus)return $(l(`knowledge.dialogs.edit.errors.classificationRequired`));if(!W.existenceReason.trim())return $(l(`knowledge.dialogs.edit.errors.existenceRequired`));if(!W.quadrantReason.trim())return $(l(`knowledge.dialogs.edit.errors.quadrantRequired`));if(!W.proposedByKind)return $(l(`knowledge.dialogs.edit.errors.proposerRequired`));if(W.confirmationStatus===`confirmed`&&!W.confirmedByKind)return $(l(`knowledge.dialogs.edit.errors.confirmerRequired`));if(W.inheritanceMode===`selected_projects`&&!H.value)return $(l(`knowledge.dialogs.edit.errors.inheritedProjectsRequired`));let t={...Je(`update`),confirmationStatus:W.confirmationStatus,confirmationBasis:{existenceReason:W.existenceReason.trim(),quadrantReason:W.quadrantReason.trim(),proposedBy:{kind:W.proposedByKind,label:W.proposedByLabel.trim()||null},confirmedBy:W.confirmationStatus===`confirmed`?{kind:W.confirmedByKind,label:W.confirmedByLabel.trim()||null}:null,confirmedAt:W.confirmationStatus===`confirmed`?new Date().toISOString():null},profileAspect:W.profileAspect,inheritanceMode:W.profileAspect===`none`?W.inheritanceMode:`local_only`,inheritedProjectIds:W.profileAspect===`none`&&W.inheritanceMode===`selected_projects`?[H.value]:[],reasoningSummary:W.quadrantReason.trim()};f.item.classificationExplicit?t.currentQuadrant=W.currentQuadrant:t.originQuadrant=W.currentQuadrant,G.value?t.fact=W.fact.trim():(t.name=W.name.trim(),t.summary=W.summary.trim()),await Q(`correction`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,t),C.notify(l(`knowledge.dialogs.edit.notices.corrected`))})}async function We(e){let t=f.item;if(t){if(!W.reason.trim())return $(l(e===`invalidate`?`knowledge.dialogs.edit.errors.statusReasonRequired`:`knowledge.dialogs.edit.errors.restoreReasonRequired`));await Q(e===`invalidate`?`invalidate`:`restore`,async()=>{let n=Je(e);e===`invalidate`&&Z.value&&(n.replacementItemId=Z.value.id,n.replacementItemKind=Z.value.itemKind),await T(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}`,n),C.notify(e===`invalidate`?Z.value?l(`knowledge.dialogs.edit.notices.invalidatedWithReplacement`):l(`knowledge.dialogs.edit.notices.invalidated`):l(`knowledge.dialogs.edit.notices.restored`))})}}async function Ge(){let e=f.item,t=Z.value;if(!(!e||!X.value)){if(!t)return $(l(`knowledge.dialogs.edit.errors.replacementRequired`));if(!W.reason.trim())return $(l(`knowledge.dialogs.edit.errors.replacementReasonRequired`));await Q(`replacement`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{...Je(`link_replacement`),replacementItemId:t.id,replacementItemKind:t.itemKind}),C.notify(l(`knowledge.dialogs.edit.notices.replacementSaved`))})}}async function Ke(){let e=f.item;if(e){if(!R.value)return $(l(`knowledge.dialogs.edit.errors.projectRequired`));if(!L.value.trim())return $(l(`knowledge.dialogs.edit.errors.assignmentReasonRequired`));if(R.value===He.value)return $(l(`knowledge.dialogs.edit.errors.alreadyAssigned`));await Q(`ownership`,async()=>{await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/assignment`,{personalSpaceId:f.personalSpaceId,targetProjectId:R.value,reason:L.value.trim()}),C.notify(l(`knowledge.dialogs.edit.notices.assignmentChanged`))})}}async function qe(){let e=f.item;if(!e)return;let t=z.value===`project`?B.value:null;if(z.value===`project`&&!t)return $(l(`knowledge.dialogs.edit.errors.preferenceProjectRequired`));if(!V.value.trim())return $(l(`knowledge.dialogs.edit.errors.preferenceReasonRequired`));await Q(`scope`,async()=>{await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/preference-scope`,{personalSpaceId:f.personalSpaceId,scope:z.value,projectId:t,reason:V.value.trim()}),C.notify(z.value===`global`?l(`knowledge.dialogs.edit.notices.preferenceGlobal`):l(`knowledge.dialogs.edit.notices.preferenceProject`))})}function Je(e){return{personalSpaceId:f.personalSpaceId,personalProjectId:f.personalProjectId,action:e,reason:W.reason.trim()}}function Ye(e,t){return JSON.stringify([e,t])}async function Q(e,t){if(!A.value){A.value=!0,j.value=e,I.value=``;try{await t(),h(`close`),h(`saved`)}catch(e){I.value=e instanceof Error?e.message:l(`knowledge.dialogs.edit.errors.saveFailed`),C.reportError(e)}finally{A.value=!1,j.value=null}}}function $(e){I.value=e}return(r,a)=>i.item?(n(),b(`dialog`,{key:0,ref_key:`dialogRef`,ref:N,"aria-modal":`true`,"aria-labelledby":_(M),onCancel:a[24]||=(...e)=>_(P)&&_(P)(...e),onKeydown:a[25]||=(...e)=>_(F)&&_(F)(...e),class:`project-dialog knowledge-edit-dialog vue-dialog`},[v(`div`,q,[v(`header`,J,[v(`div`,null,[v(`h3`,{id:_(M)},u(X.value?_(l)(`knowledge.dialogs.edit.titleRestore`):_(l)(`knowledge.dialogs.edit.titleCorrect`)),9,re),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.intro`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[0]||=e=>h(`close`)},u(_(l)(`common.actions.close`)),9,ie)]),v(`div`,Y,[v(`section`,null,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.currentContent`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(Ue,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[G.value?d(``,!0):(n(),b(`label`,oe,[e(u(_(l)(`knowledge.dialogs.edit.name`)),1),t(v(`input`,{"onUpdate:modelValue":a[1]||=e=>W.name=e,maxlength:`512`},null,512),[[p,W.name]])])),G.value?(n(),b(`label`,ce,[e(u(_(l)(`knowledge.dialogs.edit.fact`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[3]||=e=>W.fact=e,maxlength:`8192`,rows:`5`},null,512),[[p,W.fact]])])):(n(),b(`label`,se,[e(u(_(l)(`knowledge.dialogs.edit.description`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[2]||=e=>W.summary=e,maxlength:`4096`,rows:`5`},null,512),[[p,W.summary]])])),v(`div`,le,[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.classification`))+` `,1),y(E,{modelValue:W.currentQuadrant,"onUpdate:modelValue":a[4]||=e=>W.currentQuadrant=e,options:Pe.value,label:_(l)(`knowledge.dialogs.edit.classification`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmationStatus`))+` `,1),y(E,{modelValue:W.confirmationStatus,"onUpdate:modelValue":a[5]||=e=>W.confirmationStatus=e,options:Fe.value,label:_(l)(`knowledge.dialogs.edit.confirmationStatus`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.preferenceDimension`))+` `,1),y(E,{modelValue:W.profileAspect,"onUpdate:modelValue":a[6]||=e=>W.profileAspect=e,options:ze.value,label:_(l)(`knowledge.dialogs.edit.preferenceDimension`)},null,8,[`modelValue`,`options`,`label`])])]),v(`p`,ue,u(_(l)(`knowledge.dialogs.edit.originQuadrant`,{quadrant:_(k)(i.item.originQuadrant)})),1),i.item.classificationExplicit?d(``,!0):(n(),b(`p`,de,u(_(l)(`knowledge.dialogs.edit.missingQuadrant`)),1)),v(`fieldset`,fe,[v(`legend`,null,u(_(l)(`knowledge.dialogs.edit.basis`)),1),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.whyExists`))+` `,1),t(v(`textarea`,{"onUpdate:modelValue":a[7]||=e=>W.existenceReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,W.existenceReason]])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.whyQuadrant`))+` `,1),t(v(`textarea`,{"onUpdate:modelValue":a[8]||=e=>W.quadrantReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,W.quadrantReason]])]),v(`div`,pe,[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.proposer`))+` `,1),y(E,{modelValue:W.proposedByKind,"onUpdate:modelValue":a[9]||=e=>W.proposedByKind=e,options:Le.value,label:_(l)(`knowledge.dialogs.edit.proposer`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.proposerDescription`))+` `,1),t(v(`input`,{"onUpdate:modelValue":a[10]||=e=>W.proposedByLabel=e,maxlength:`160`,placeholder:_(l)(`knowledge.dialogs.edit.proposerPlaceholder`)},null,8,me),[[p,W.proposedByLabel]])]),W.confirmationStatus===`confirmed`?(n(),b(m,{key:0},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmer`))+` `,1),y(E,{modelValue:W.confirmedByKind,"onUpdate:modelValue":a[11]||=e=>W.confirmedByKind=e,options:Re.value,label:_(l)(`knowledge.dialogs.edit.confirmer`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmerDescription`))+` `,1),t(v(`input`,{"onUpdate:modelValue":a[12]||=e=>W.confirmedByLabel=e,maxlength:`160`,placeholder:_(l)(`knowledge.dialogs.edit.confirmerPlaceholder`)},null,8,he),[[p,W.confirmedByLabel]])])],64)):d(``,!0)]),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.agentConfirmedBoundary`)),1)]),Me.value?d(``,!0):(n(),b(`fieldset`,ge,[v(`legend`,null,u(_(l)(`knowledge.dialogs.edit.crossProjectInheritance`)),1),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.inheritanceScope`))+` `,1),y(E,{modelValue:W.inheritanceMode,"onUpdate:modelValue":a[13]||=e=>W.inheritanceMode=e,options:Ie.value,label:_(l)(`knowledge.dialogs.edit.inheritanceScope`)},null,8,[`modelValue`,`options`,`label`])]),W.inheritanceMode===`selected_projects`?(n(),b(`label`,_e,[e(u(_(l)(`knowledge.dialogs.edit.inheritedProjects`))+` `,1),y(E,{modelValue:H.value,"onUpdate:modelValue":a[14]||=e=>H.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.inheritedProjects`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):d(``,!0),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.inheritanceBoundary`)),1)])),v(`fieldset`,ve,[v(`legend`,null,u(X.value?_(l)(`knowledge.dialogs.edit.replacement`):_(l)(`knowledge.dialogs.edit.optionalReplacement`)),1),v(`label`,null,[e(u(X.value?_(l)(`knowledge.dialogs.edit.historicalReplacement`):_(l)(`knowledge.dialogs.edit.activeReplacement`))+` `,1),y(E,{modelValue:U.value,"onUpdate:modelValue":a[15]||=e=>U.value=e,options:Ve.value,label:_(l)(`knowledge.dialogs.edit.replacement`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.replacementBoundary`)),1)]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.correctionReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[16]||=e=>W.reason=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,W.reason]])]),I.value?(n(),b(`p`,ye,u(I.value),1)):d(``,!0),v(`div`,be,[X.value?(n(),b(m,{key:1},[v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[18]||=e=>We(`restore`)},[j.value===`restore`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.restoring`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.restore`)),1)],64))],8,Se),v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:Ge},[j.value===`replacement`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.savingReplacement`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.saveReplacement`)),1)],64))],8,Ce)],64)):(n(),b(`button`,{key:0,class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[17]||=e=>We(`invalidate`)},[j.value===`invalidate`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.invalidating`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.invalidate`)),1)],64))],8,xe)),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value},[j.value===`correction`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(W.confirmationStatus===`confirmed`?`knowledge.dialogs.edit.savingConfirmed`:`knowledge.dialogs.edit.savingPending`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(W.confirmationStatus===`confirmed`?_(l)(`knowledge.dialogs.edit.saveConfirmed`):_(l)(`knowledge.dialogs.edit.savePending`)),1)],64))],8,we)])],8,ae)],32)]),Me.value?(n(),b(`section`,Oe,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.preferenceScope`)),1),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.preferenceScopeCopy`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(qe,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.effectiveScope`))+` `,1),y(E,{modelValue:z.value,"onUpdate:modelValue":a[21]||=e=>z.value=e,options:Be.value,label:_(l)(`knowledge.dialogs.edit.preferenceScope`)},null,8,[`modelValue`,`options`,`label`])]),z.value===`project`?(n(),b(`label`,Ae,[e(u(_(l)(`knowledge.dialogs.edit.personalProject`))+` `,1),y(E,{modelValue:B.value,"onUpdate:modelValue":a[22]||=e=>B.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.personalProject`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):d(``,!0),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.assignmentReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[23]||=e=>V.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,V.value]])]),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value},[j.value===`scope`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.savingScope`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.saveScope`)),1)],64))],8,je)],8,ke)],32)])):(n(),b(`section`,Te,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.projectOwnership`)),1),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.ownershipCopy`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(Ke,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.targetProject`))+` `,1),y(E,{modelValue:R.value,"onUpdate:modelValue":a[19]||=e=>R.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.targetProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.assignmentReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[20]||=e=>L.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,L.value]])]),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value||i.projects.length===0},[j.value===`ownership`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.changingOwnership`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.adjustOwnership`)),1)],64))],8,De)],8,Ee)],32)]))])])],40,K)):d(``,!0)}}),[[`__scopeId`,`data-v-c980bb96`]]);export{N as i,G as n,M as r,X as t};
1
+ import{C as e,H as t,N as n,R as r,T as i,X as a,Y as o,Z as s,_ as c,a as l,at as u,b as d,c as f,d as p,h as m,j as h,m as g,nt as _,v,w as y,x as b,y as x,z as ee}from"./i18n-CIIxzhPZ.js";import{t as te}from"./console-CrhIK67Y.js";import{t as S}from"./GrowthLoading-DIwqGFSc.js";import{t as C}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as w,r as T}from"./client-DTQ_tUr2.js";import{t as ne}from"./useModalDialog-B-45idX9.js";import{t as E}from"./SearchableSelect-Do6X3fXi.js";import{r as D,t as O}from"./identity-CdFITIOu.js";import{E as k,T as A}from"./model-CJsrDUNb.js";var j=`testLoading`;function M(e=typeof window>`u`?``:window.location.search){return new URLSearchParams(e).get(j)===`1`}function N(e,t=500){let n=s(!1),r=0,i=null;function o(){i!==null&&(clearTimeout(i),i=null)}return ee(e,e=>{if(o(),e){n.value||(r=Date.now()),n.value=!0;return}if(!n.value)return;let a=Math.max(0,t-(Date.now()-r));if(a===0){n.value=!1;return}i=setTimeout(()=>{i=null,n.value=!1},a)},{immediate:!0,flush:`sync`}),h(o),a(n)}var P=[`aria-labelledby`],F={class:`project-dialog-header`},I=[`id`],L=[`disabled`],R={class:`knowledge-confirm-summary`},z={class:`knowledge-confirm-fields`},B={class:`knowledge-confirm-acknowledgement`},V={key:0,class:`publish-dialog-error`,role:`alert`},H={class:`project-profile-dialog-actions`},U=[`disabled`],W=[`disabled`],G=C(i({__name:`KnowledgeConfirmDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{}},emits:[`close`,`saved`],setup(i,{emit:a}){let o=i,h=a,y=te(),C=s(``),w=s(``),E=s(``),D=s(!1),O=s(!1),j=r(),{dialogRef:M,onCancel:N,onKeydown:G}=ne(()=>!!o.item,()=>{O.value||h(`close`)}),K=s(``),q=s({kind:`import`,label:l(`knowledge.domain.actors.historicalRecord`)}),J=c(()=>o.item?.profileAspect?l(`knowledge.dialogs.confirm.preferenceSubject`):l(`knowledge.dialogs.confirm.knowledgeSubject`));ee(()=>o.item,e=>{if(!e)return;let t=e.evidence.at(0),n=e.confirmationBasis;C.value=n?.existence_reason||t?.source_description||t?.summary||l(`knowledge.dialogs.confirm.sourceSupport`),w.value=n?.quadrant_reason||e.reasoningSummary||l(`knowledge.dialogs.confirm.quadrantReason`,{quadrant:k(e.originQuadrant),description:A(e.originQuadrant)}),q.value=n?.proposed_by??ie(t),E.value=l(`knowledge.dialogs.confirm.confirmationReason`),D.value=!1,K.value=``},{immediate:!0});async function re(){let e=o.item;if(!(!e||O.value)){if(!e.classificationExplicit)return Y(l(`knowledge.dialogs.confirm.errors.quadrantRequired`));if(!C.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.existenceRequired`));if(!w.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.quadrantReasonRequired`));if(!E.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.confirmationReasonRequired`));if(!D.value)return Y(l(`knowledge.dialogs.confirm.errors.acknowledgmentRequired`));O.value=!0,K.value=``;try{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{personalSpaceId:o.personalSpaceId,personalProjectId:o.personalProjectId,action:`confirm`,reason:E.value.trim(),confirmationStatus:`confirmed`,confirmationBasis:{existenceReason:C.value.trim(),quadrantReason:w.value.trim(),proposedBy:q.value,confirmedBy:{kind:`user`,label:l(`knowledge.domain.actors.currentUser`)},confirmedAt:new Date().toISOString()}}),y.notify(l(`knowledge.dialogs.confirm.confirmed`,{subject:J.value})),h(`saved`),h(`close`)}catch(e){K.value=e instanceof Error?e.message:l(`knowledge.dialogs.confirm.errors.failed`),y.reportError(e)}finally{O.value=!1}}}function ie(e){let t={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:l(`knowledge.domain.actors.otherAgent`)}[e?.source_application??``];return t?{kind:`agent`,label:t}:{kind:`import`,label:l(`knowledge.domain.actors.historicalRecord`)}}function Y(e){K.value=e}return(r,a)=>i.item?(n(),b(`dialog`,{key:0,ref_key:`dialogRef`,ref:M,"aria-modal":`true`,"aria-labelledby":_(j),onCancel:a[6]||=(...e)=>_(N)&&_(N)(...e),onKeydown:a[7]||=(...e)=>_(G)&&_(G)(...e),class:`knowledge-confirm-dialog vue-dialog`},[v(`form`,{class:`knowledge-confirm-dialog-shell`,onSubmit:g(re,[`prevent`])},[v(`header`,F,[v(`div`,null,[v(`h3`,{id:_(j)},u(_(l)(`knowledge.dialogs.confirm.title`,{subject:J.value})),9,I),v(`p`,null,u(_(l)(`knowledge.dialogs.confirm.intro`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:a[0]||=e=>h(`close`)},u(_(l)(`common.actions.close`)),9,L)]),v(`section`,R,[v(`span`,null,u(i.item.profileAspect?_(l)(`knowledge.dialogs.confirm.preference`):_(l)(`knowledge.dialogs.confirm.knowledge`)),1),v(`strong`,null,u(i.item.title),1),v(`p`,null,u(i.item.body),1),v(`small`,null,u(_(l)(`knowledge.dialogs.confirm.quadrant`,{quadrant:_(k)(i.item.originQuadrant)})),1)]),v(`div`,z,[v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.whyExists`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[1]||=e=>C.value=e,name:`confirmation-existence-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,C.value]])]),v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.whyQuadrant`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[2]||=e=>w.value=e,name:`confirmation-quadrant-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,w.value]])]),v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.confirmationCopy`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[3]||=e=>E.value=e,name:`confirmation-reason`,maxlength:`2000`,rows:`2`,required:``},null,512),[[p,E.value]])])]),v(`label`,B,[t(v(`input`,{"onUpdate:modelValue":a[4]||=e=>D.value=e,name:`confirmation-acknowledged`,type:`checkbox`},null,512),[[f,D.value]]),v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.acknowledgment`)),1)]),K.value?(n(),b(`p`,V,u(K.value),1)):d(``,!0),v(`footer`,H,[v(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:a[5]||=e=>h(`close`)},u(_(l)(`common.actions.cancel`)),9,U),v(`button`,{class:`primary-action`,type:`submit`,disabled:O.value||!D.value},[O.value?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.confirm.confirming`,{subject:J.value})},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.confirm.confirmSubject`,{subject:J.value})),1)],64))],8,W)])],32)],40,P)):d(``,!0)}}),[[`__scopeId`,`data-v-b8c3dc93`]]),K=[`aria-labelledby`],q={class:`project-dialog-shell`},J={class:`project-dialog-header`},re=[`id`],ie=[`disabled`],Y={class:`knowledge-edit-columns`},ae=[`disabled`],oe={key:0},se={key:1},ce={key:2},le={class:`knowledge-taxonomy-fields`},ue={class:`knowledge-classification-warning`},de={key:3,class:`knowledge-classification-warning`},fe={class:`knowledge-confirmation-fields`},pe={class:`knowledge-taxonomy-fields`},me=[`placeholder`],he=[`placeholder`],ge={key:4,class:`knowledge-replacement-fields`},_e={key:0},ve={class:`knowledge-replacement-fields`},ye={key:5,class:`publish-dialog-error`,role:`alert`},be={class:`knowledge-editor-actions`},xe=[`disabled`],Se=[`disabled`],Ce=[`disabled`],we=[`disabled`],Te={key:0},Ee=[`disabled`],De=[`disabled`],Oe={key:1},ke=[`disabled`],Ae={key:0},je=[`disabled`],X=C(i({__name:`KnowledgeEditDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{},replacementItems:{default:()=>[]}},emits:[`close`,`saved`],setup(i,{emit:a}){let f=i,h=a,C=te(),A=s(!1),j=s(null),M=r(),{dialogRef:N,onCancel:P,onKeydown:F}=ne(()=>!!f.item,()=>{A.value||h(`close`)}),I=s(``),L=s(``),R=s(``),z=s(`global`),B=s(``),V=s(``),H=s(``),U=s(``),W=o({name:``,summary:``,fact:``,currentQuadrant:``,confirmationStatus:`pending`,existenceReason:``,quadrantReason:``,proposedByKind:`agent`,proposedByLabel:``,confirmedByKind:`user`,confirmedByLabel:``,profileAspect:`none`,inheritanceMode:`local_only`,reason:``}),G=c(()=>f.item?.itemKind===`relationship`),X=c(()=>!!f.item?.invalidAt),Me=c(()=>!!f.item?.raw.profile_aspect),Ne=c(()=>f.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${O(e.project_id,26)}`,search:D(e.project_id)}))),Pe=c(()=>[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:l(`knowledge.dialogs.edit.quadrants.${e}`)}))),Fe=c(()=>[{value:`pending`,label:l(`knowledge.dialogs.edit.confirmationStates.pending`)},{value:`confirmed`,label:l(`knowledge.dialogs.edit.confirmationStates.confirmed`)}]),Ie=c(()=>[{value:`local_only`,label:l(`knowledge.dialogs.edit.inheritance.local`)},{value:`descendants`,label:l(`knowledge.dialogs.edit.inheritance.descendants`)},{value:`selected_projects`,label:l(`knowledge.dialogs.edit.inheritance.selected`)}]),Le=c(()=>[`user`,`agent`,`authoritative_source`,`import`].map(e=>({value:e,label:l(`knowledge.domain.actors.${e}`)}))),Re=c(()=>[`user`,`authoritative_source`].map(e=>({value:e,label:l(`knowledge.domain.actors.${e}`)}))),ze=c(()=>[{value:`none`,label:l(`knowledge.dialogs.edit.profiles.none`)},...[`taste`,`personality`,`judgment_preference`].map(e=>({value:e,label:l(`knowledge.domain.profiles.${e}`)}))]),Be=c(()=>[{value:`global`,label:l(`knowledge.dialogs.edit.scopes.global`)},{value:`project`,label:l(`knowledge.dialogs.edit.scopes.project`),disabled:f.projects.length===0}]),Ve=c(()=>[{value:``,label:l(`knowledge.dialogs.edit.replacementNone`)},...f.replacementItems.filter(e=>!e.invalidAt&&(e.itemKind!==f.item?.itemKind||e.id!==f.item?.id)).map(e=>({value:Ye(e.itemKind,e.id),label:e.title,meta:e.type,search:`${e.body} ${e.id}`}))]),Z=c(()=>{if(!U.value)return null;try{let[e,t]=JSON.parse(U.value);return e!==`entity`&&e!==`relationship`||typeof t!=`string`?null:{itemKind:e,id:t}}catch{return null}}),He=c(()=>f.item?.assignments.at(0)?.project_id??f.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??f.personalProjectId??null);ee(()=>f.item,e=>{if(!e)return;let t=e.raw;W.name=e.itemKind===`entity`?t.name:``,W.summary=e.itemKind===`entity`?t.summary??``:``,W.fact=e.itemKind===`relationship`?t.fact??``:``;let n=e.confirmationBasis,r=e.evidence.at(0);W.currentQuadrant=e.classificationExplicit?t.current_quadrant??t.origin_quadrant??`known_known`:``,W.confirmationStatus=e.confirmationStatus===`confirmed`?`confirmed`:`pending`,W.existenceReason=n?.existence_reason??r?.source_description??r?.summary??``,W.quadrantReason=n?.quadrant_reason??t.reasoning_summary??``,W.proposedByKind=n?.proposed_by.kind??`agent`,W.proposedByLabel=n?.proposed_by.label??``,W.confirmedByKind=n?.confirmed_by?.kind??`user`,W.confirmedByLabel=n?.confirmed_by?.label??``,W.profileAspect=t.profile_aspect??`none`,W.inheritanceMode=t.profile_aspect?`local_only`:t.inheritance_mode??`local_only`,H.value=t.inherited_project_ids?.at(0)??f.projects[0]?.project_id??``,W.reason=``,L.value=``,R.value=He.value??f.projects[0]?.project_id??``,z.value=t.preference_scope??`global`,B.value=t.preference_project_id??f.projects[0]?.project_id??``,V.value=``,U.value=e.replacedByItemId&&e.replacedByItemKind?Ye(e.replacedByItemKind,e.replacedByItemId):``,I.value=``},{immediate:!0});async function Ue(){let e=f.item;if(!e)return;if(!W.reason.trim())return $(l(`knowledge.dialogs.edit.errors.reasonRequired`));if(!G.value&&!W.name.trim())return $(l(`knowledge.dialogs.edit.errors.nameRequired`));if(G.value&&!W.fact.trim())return $(l(`knowledge.dialogs.edit.errors.factRequired`));if(!W.currentQuadrant||!W.confirmationStatus)return $(l(`knowledge.dialogs.edit.errors.classificationRequired`));if(!W.existenceReason.trim())return $(l(`knowledge.dialogs.edit.errors.existenceRequired`));if(!W.quadrantReason.trim())return $(l(`knowledge.dialogs.edit.errors.quadrantRequired`));if(!W.proposedByKind)return $(l(`knowledge.dialogs.edit.errors.proposerRequired`));if(W.confirmationStatus===`confirmed`&&!W.confirmedByKind)return $(l(`knowledge.dialogs.edit.errors.confirmerRequired`));if(W.inheritanceMode===`selected_projects`&&!H.value)return $(l(`knowledge.dialogs.edit.errors.inheritedProjectsRequired`));let t={...Je(`update`),confirmationStatus:W.confirmationStatus,confirmationBasis:{existenceReason:W.existenceReason.trim(),quadrantReason:W.quadrantReason.trim(),proposedBy:{kind:W.proposedByKind,label:W.proposedByLabel.trim()||null},confirmedBy:W.confirmationStatus===`confirmed`?{kind:W.confirmedByKind,label:W.confirmedByLabel.trim()||null}:null,confirmedAt:W.confirmationStatus===`confirmed`?new Date().toISOString():null},profileAspect:W.profileAspect,inheritanceMode:W.profileAspect===`none`?W.inheritanceMode:`local_only`,inheritedProjectIds:W.profileAspect===`none`&&W.inheritanceMode===`selected_projects`?[H.value]:[],reasoningSummary:W.quadrantReason.trim()};f.item.classificationExplicit?t.currentQuadrant=W.currentQuadrant:t.originQuadrant=W.currentQuadrant,G.value?t.fact=W.fact.trim():(t.name=W.name.trim(),t.summary=W.summary.trim()),await Q(`correction`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,t),C.notify(l(`knowledge.dialogs.edit.notices.corrected`))})}async function We(e){let t=f.item;if(t){if(!W.reason.trim())return $(l(e===`invalidate`?`knowledge.dialogs.edit.errors.statusReasonRequired`:`knowledge.dialogs.edit.errors.restoreReasonRequired`));await Q(e===`invalidate`?`invalidate`:`restore`,async()=>{let n=Je(e);e===`invalidate`&&Z.value&&(n.replacementItemId=Z.value.id,n.replacementItemKind=Z.value.itemKind),await T(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}`,n),C.notify(e===`invalidate`?Z.value?l(`knowledge.dialogs.edit.notices.invalidatedWithReplacement`):l(`knowledge.dialogs.edit.notices.invalidated`):l(`knowledge.dialogs.edit.notices.restored`))})}}async function Ge(){let e=f.item,t=Z.value;if(!(!e||!X.value)){if(!t)return $(l(`knowledge.dialogs.edit.errors.replacementRequired`));if(!W.reason.trim())return $(l(`knowledge.dialogs.edit.errors.replacementReasonRequired`));await Q(`replacement`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{...Je(`link_replacement`),replacementItemId:t.id,replacementItemKind:t.itemKind}),C.notify(l(`knowledge.dialogs.edit.notices.replacementSaved`))})}}async function Ke(){let e=f.item;if(e){if(!R.value)return $(l(`knowledge.dialogs.edit.errors.projectRequired`));if(!L.value.trim())return $(l(`knowledge.dialogs.edit.errors.assignmentReasonRequired`));if(R.value===He.value)return $(l(`knowledge.dialogs.edit.errors.alreadyAssigned`));await Q(`ownership`,async()=>{await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/assignment`,{personalSpaceId:f.personalSpaceId,targetProjectId:R.value,reason:L.value.trim()}),C.notify(l(`knowledge.dialogs.edit.notices.assignmentChanged`))})}}async function qe(){let e=f.item;if(!e)return;let t=z.value===`project`?B.value:null;if(z.value===`project`&&!t)return $(l(`knowledge.dialogs.edit.errors.preferenceProjectRequired`));if(!V.value.trim())return $(l(`knowledge.dialogs.edit.errors.preferenceReasonRequired`));await Q(`scope`,async()=>{await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/preference-scope`,{personalSpaceId:f.personalSpaceId,scope:z.value,projectId:t,reason:V.value.trim()}),C.notify(z.value===`global`?l(`knowledge.dialogs.edit.notices.preferenceGlobal`):l(`knowledge.dialogs.edit.notices.preferenceProject`))})}function Je(e){return{personalSpaceId:f.personalSpaceId,personalProjectId:f.personalProjectId,action:e,reason:W.reason.trim()}}function Ye(e,t){return JSON.stringify([e,t])}async function Q(e,t){if(!A.value){A.value=!0,j.value=e,I.value=``;try{await t(),h(`close`),h(`saved`)}catch(e){I.value=e instanceof Error?e.message:l(`knowledge.dialogs.edit.errors.saveFailed`),C.reportError(e)}finally{A.value=!1,j.value=null}}}function $(e){I.value=e}return(r,a)=>i.item?(n(),b(`dialog`,{key:0,ref_key:`dialogRef`,ref:N,"aria-modal":`true`,"aria-labelledby":_(M),onCancel:a[24]||=(...e)=>_(P)&&_(P)(...e),onKeydown:a[25]||=(...e)=>_(F)&&_(F)(...e),class:`project-dialog knowledge-edit-dialog vue-dialog`},[v(`div`,q,[v(`header`,J,[v(`div`,null,[v(`h3`,{id:_(M)},u(X.value?_(l)(`knowledge.dialogs.edit.titleRestore`):_(l)(`knowledge.dialogs.edit.titleCorrect`)),9,re),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.intro`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[0]||=e=>h(`close`)},u(_(l)(`common.actions.close`)),9,ie)]),v(`div`,Y,[v(`section`,null,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.currentContent`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(Ue,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[G.value?d(``,!0):(n(),b(`label`,oe,[e(u(_(l)(`knowledge.dialogs.edit.name`)),1),t(v(`input`,{"onUpdate:modelValue":a[1]||=e=>W.name=e,maxlength:`512`},null,512),[[p,W.name]])])),G.value?(n(),b(`label`,ce,[e(u(_(l)(`knowledge.dialogs.edit.fact`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[3]||=e=>W.fact=e,maxlength:`8192`,rows:`5`},null,512),[[p,W.fact]])])):(n(),b(`label`,se,[e(u(_(l)(`knowledge.dialogs.edit.description`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[2]||=e=>W.summary=e,maxlength:`4096`,rows:`5`},null,512),[[p,W.summary]])])),v(`div`,le,[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.classification`))+` `,1),y(E,{modelValue:W.currentQuadrant,"onUpdate:modelValue":a[4]||=e=>W.currentQuadrant=e,options:Pe.value,label:_(l)(`knowledge.dialogs.edit.classification`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmationStatus`))+` `,1),y(E,{modelValue:W.confirmationStatus,"onUpdate:modelValue":a[5]||=e=>W.confirmationStatus=e,options:Fe.value,label:_(l)(`knowledge.dialogs.edit.confirmationStatus`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.preferenceDimension`))+` `,1),y(E,{modelValue:W.profileAspect,"onUpdate:modelValue":a[6]||=e=>W.profileAspect=e,options:ze.value,label:_(l)(`knowledge.dialogs.edit.preferenceDimension`)},null,8,[`modelValue`,`options`,`label`])])]),v(`p`,ue,u(_(l)(`knowledge.dialogs.edit.originQuadrant`,{quadrant:_(k)(i.item.originQuadrant)})),1),i.item.classificationExplicit?d(``,!0):(n(),b(`p`,de,u(_(l)(`knowledge.dialogs.edit.missingQuadrant`)),1)),v(`fieldset`,fe,[v(`legend`,null,u(_(l)(`knowledge.dialogs.edit.basis`)),1),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.whyExists`))+` `,1),t(v(`textarea`,{"onUpdate:modelValue":a[7]||=e=>W.existenceReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,W.existenceReason]])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.whyQuadrant`))+` `,1),t(v(`textarea`,{"onUpdate:modelValue":a[8]||=e=>W.quadrantReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,W.quadrantReason]])]),v(`div`,pe,[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.proposer`))+` `,1),y(E,{modelValue:W.proposedByKind,"onUpdate:modelValue":a[9]||=e=>W.proposedByKind=e,options:Le.value,label:_(l)(`knowledge.dialogs.edit.proposer`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.proposerDescription`))+` `,1),t(v(`input`,{"onUpdate:modelValue":a[10]||=e=>W.proposedByLabel=e,maxlength:`160`,placeholder:_(l)(`knowledge.dialogs.edit.proposerPlaceholder`)},null,8,me),[[p,W.proposedByLabel]])]),W.confirmationStatus===`confirmed`?(n(),b(m,{key:0},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmer`))+` `,1),y(E,{modelValue:W.confirmedByKind,"onUpdate:modelValue":a[11]||=e=>W.confirmedByKind=e,options:Re.value,label:_(l)(`knowledge.dialogs.edit.confirmer`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmerDescription`))+` `,1),t(v(`input`,{"onUpdate:modelValue":a[12]||=e=>W.confirmedByLabel=e,maxlength:`160`,placeholder:_(l)(`knowledge.dialogs.edit.confirmerPlaceholder`)},null,8,he),[[p,W.confirmedByLabel]])])],64)):d(``,!0)]),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.agentConfirmedBoundary`)),1)]),Me.value?d(``,!0):(n(),b(`fieldset`,ge,[v(`legend`,null,u(_(l)(`knowledge.dialogs.edit.crossProjectInheritance`)),1),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.inheritanceScope`))+` `,1),y(E,{modelValue:W.inheritanceMode,"onUpdate:modelValue":a[13]||=e=>W.inheritanceMode=e,options:Ie.value,label:_(l)(`knowledge.dialogs.edit.inheritanceScope`)},null,8,[`modelValue`,`options`,`label`])]),W.inheritanceMode===`selected_projects`?(n(),b(`label`,_e,[e(u(_(l)(`knowledge.dialogs.edit.inheritedProjects`))+` `,1),y(E,{modelValue:H.value,"onUpdate:modelValue":a[14]||=e=>H.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.inheritedProjects`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):d(``,!0),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.inheritanceBoundary`)),1)])),v(`fieldset`,ve,[v(`legend`,null,u(X.value?_(l)(`knowledge.dialogs.edit.replacement`):_(l)(`knowledge.dialogs.edit.optionalReplacement`)),1),v(`label`,null,[e(u(X.value?_(l)(`knowledge.dialogs.edit.historicalReplacement`):_(l)(`knowledge.dialogs.edit.activeReplacement`))+` `,1),y(E,{modelValue:U.value,"onUpdate:modelValue":a[15]||=e=>U.value=e,options:Ve.value,label:_(l)(`knowledge.dialogs.edit.replacement`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.replacementBoundary`)),1)]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.correctionReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[16]||=e=>W.reason=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,W.reason]])]),I.value?(n(),b(`p`,ye,u(I.value),1)):d(``,!0),v(`div`,be,[X.value?(n(),b(m,{key:1},[v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[18]||=e=>We(`restore`)},[j.value===`restore`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.restoring`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.restore`)),1)],64))],8,Se),v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:Ge},[j.value===`replacement`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.savingReplacement`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.saveReplacement`)),1)],64))],8,Ce)],64)):(n(),b(`button`,{key:0,class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[17]||=e=>We(`invalidate`)},[j.value===`invalidate`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.invalidating`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.invalidate`)),1)],64))],8,xe)),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value},[j.value===`correction`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(W.confirmationStatus===`confirmed`?`knowledge.dialogs.edit.savingConfirmed`:`knowledge.dialogs.edit.savingPending`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(W.confirmationStatus===`confirmed`?_(l)(`knowledge.dialogs.edit.saveConfirmed`):_(l)(`knowledge.dialogs.edit.savePending`)),1)],64))],8,we)])],8,ae)],32)]),Me.value?(n(),b(`section`,Oe,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.preferenceScope`)),1),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.preferenceScopeCopy`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(qe,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.effectiveScope`))+` `,1),y(E,{modelValue:z.value,"onUpdate:modelValue":a[21]||=e=>z.value=e,options:Be.value,label:_(l)(`knowledge.dialogs.edit.preferenceScope`)},null,8,[`modelValue`,`options`,`label`])]),z.value===`project`?(n(),b(`label`,Ae,[e(u(_(l)(`knowledge.dialogs.edit.personalProject`))+` `,1),y(E,{modelValue:B.value,"onUpdate:modelValue":a[22]||=e=>B.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.personalProject`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):d(``,!0),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.assignmentReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[23]||=e=>V.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,V.value]])]),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value},[j.value===`scope`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.savingScope`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.saveScope`)),1)],64))],8,je)],8,ke)],32)])):(n(),b(`section`,Te,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.projectOwnership`)),1),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.ownershipCopy`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(Ke,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.targetProject`))+` `,1),y(E,{modelValue:R.value,"onUpdate:modelValue":a[19]||=e=>R.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.targetProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.assignmentReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[20]||=e=>L.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,L.value]])]),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value||i.projects.length===0},[j.value===`ownership`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.changingOwnership`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.adjustOwnership`)),1)],64))],8,De)],8,Ee)],32)]))])])],40,K)):d(``,!0)}}),[[`__scopeId`,`data-v-c980bb96`]]);export{N as i,G as n,M as r,X as t};
@@ -1 +1 @@
1
- import{A as e,F as t,I as n,N as r,T as i,Z as a,_ as o,a as s,at as c,b as l,h as u,it as d,j as f,nt as p,rt as m,v as h,x as g,z as _}from"./i18n-75woNt31.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{C as y,D as b,E as x,O as S,S as C,T as w,_ as T,a as E,c as D,d as O,f as k,g as A,i as j,p as M,u as N,w as P}from"./model-C1GwBvd9.js";import{a as F,c as I,l as L,o as R,r as ee}from"./conversation-launcher-settings-DEtJ6pZg.js";var z=[`aria-label`],B=[`data-virtual-index`],V={class:`virtual-directory-list__content`},H={class:`virtual-directory-list__watermark`,"aria-hidden":`true`},U=[`aria-label`],W=v(i({__name:`VirtualDirectoryList`,props:{items:{},rowHeight:{},label:{},minWidth:{default:`100%`},overscan:{default:8},resetKey:{default:void 0},activeIndex:{default:-1},watermarkPrefix:{default:`#`},itemKey:{type:Function,default:void 0}},setup(i,{expose:v}){let y=i,b=a(null),x=a(null),S=a(0),C=a(640),w=a(0),T=null,E=o(()=>y.items.length),D=o(()=>Math.max(3,String(E.value).length)),O=o(()=>E.value?Math.min(E.value,Math.floor(S.value/y.rowHeight)+1):0),k=o(()=>{let e=Math.max(0,Math.floor(S.value/y.rowHeight)-y.overscan),t=Math.ceil(C.value/y.rowHeight)+y.overscan*2;return{start:e,end:Math.min(E.value,e+t)}}),A=o(()=>Array.from({length:k.value.end-k.value.start},(e,t)=>k.value.start+t)),j=o(()=>({height:`${E.value*y.rowHeight}px`,minWidth:y.minWidth})),M=o(()=>({minWidth:y.minWidth}));_([b,x],([e,t])=>{T?.disconnect(),T=null,e&&(P(),typeof ResizeObserver==`function`&&(T=new ResizeObserver(P),T.observe(e),t&&T.observe(t)))},{flush:`post`}),_(()=>y.resetKey,async()=>{await e(),I()},{flush:`post`}),_(E,async()=>{await e();let t=b.value;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight);t.scrollTop>n&&(t.scrollTop=n),P()}),_([b,()=>y.activeIndex],async([t,n])=>{!t||n<0||n>=E.value||(await e(),L(n))},{flush:`post`}),f(()=>T?.disconnect());function N(e){return String(e).padStart(D.value,`0`)}function P(){let e=b.value;e&&(S.value=e.scrollTop,C.value=e.clientHeight||C.value,w.value=x.value?.offsetHeight??0)}function F(e){let t=e.currentTarget;S.value=t.scrollTop}function I(){let e=b.value;e&&(e.scrollTop=0,S.value=0)}function L(e){let t=b.value;if(!t||e<0||e>=E.value)return;let n=e*y.rowHeight,r=n+y.rowHeight,i=t.scrollTop,a=i+t.clientHeight-w.value;n<i?t.scrollTop=n:t.clientHeight&&r>a&&(t.scrollTop=r-t.clientHeight+w.value),S.value=t.scrollTop}return v({scrollToStart:I,scrollIndexIntoView:L}),(e,a)=>(r(),g(`section`,{class:`virtual-directory-list`,"aria-label":i.label},[h(`div`,{ref_key:`scroller`,ref:b,class:`virtual-directory-list__scroller`,onScrollPassive:F},[e.$slots.header?(r(),g(`div`,{key:0,ref_key:`header`,ref:x,class:`virtual-directory-list__header`,style:d(M.value)},[n(e.$slots,`header`,{},void 0,!0)],4)):l(``,!0),h(`div`,{class:`virtual-directory-list__canvas`,style:d(j.value)},[(r(!0),g(u,null,t(A.value,t=>(r(),g(`div`,{key:i.itemKey?.(i.items[t],t)??t,class:m([`virtual-directory-list__row`,{"is-active":t===i.activeIndex}]),"data-virtual-index":t,style:d({height:`${i.rowHeight}px`,transform:`translateY(${t*i.rowHeight}px)`})},[h(`div`,V,[n(e.$slots,`default`,{item:i.items[t],index:t,formattedIndex:N(t+1)},void 0,!0)]),h(`span`,H,c(i.watermarkPrefix)+c(N(t+1)),1)],14,B))),128))],4),!E.value&&e.$slots.empty?(r(),g(`div`,{key:1,class:`virtual-directory-list__empty`,style:d(M.value)},[n(e.$slots,`empty`,{},void 0,!0)],4)):l(``,!0),e.$slots.footer?(r(),g(`div`,{key:2,class:`virtual-directory-list__footer`,style:d(M.value)},[n(e.$slots,`footer`,{},void 0,!0)],4)):l(``,!0)],544),E.value?(r(),g(`output`,{key:0,class:`virtual-directory-list__position`,"aria-label":p(s)(`common.counts.listPosition`,{current:O.value,total:E.value})},[h(`strong`,null,c(N(O.value)),1),h(`span`,null,`/ `+c(N(E.value)),1)],8,U)):l(``,!0)],8,z))}}),[[`__scopeId`,`data-v-dd2afd66`]]),te={class:`graph-inspector`},ne={class:`eyebrow`},re={class:`inspector-identity`},ie={class:`muted`},ae={key:0,class:`inspector-project-material`},oe={key:3,class:`inspector-replacement`},se={class:`inspector-replacement-heading`},ce={key:1},le={key:2},ue={class:`inspector-meta`},de={key:0},fe={key:1},pe={key:2},me={key:3},he={key:4},ge={key:5},_e={key:6},ve={key:7},ye={key:8},be={key:9},xe={key:10},Se={key:12},Ce={class:`inspector-subtitle`},we={key:0,class:`inspector-meta inspector-confirmation-basis`},Te={key:0},Ee={key:1,class:`inspector-reasoning`},De={class:`inspector-subtitle`},Oe={class:`inspector-meta inspector-attributes`},ke={class:`inspector-subtitle`},Ae={class:`inspector-reasoning`},je={key:7,class:`inspector-actions`},Me={class:`inspector-subtitle`},Ne={class:`inspector-relations`},Pe={class:`relation-type`},Fe={class:`relation-target`},Ie={class:`inspector-subtitle`},Le={class:`inspector-evidence`},Re={key:0,class:`evidence-excerpt`},ze={key:1,class:`evidence-source-actions`},Be=[`onClick`],Ve=[`href`,`title`],He={class:`inspector-subtitle`},Ue={class:`inspector-history`},We={class:`inspector-subtitle`},Ge={class:`inspector-history inspector-audit-history`},Ke={key:0},qe={class:`eyebrow`},Je={class:`inspector-placeholder`},G=i({__name:`KnowledgeInspector`,props:{item:{},graph:{},editable:{type:Boolean},currentProjectId:{},canPublishProject:{type:Boolean},canManageProject:{type:Boolean},mode:{},conversationLaunchers:{}},emits:[`confirm`,`edit`,`createProject`,`openProject`,`publishProject`,`openDirectory`,`openGraph`,`openReplacement`,`manageProject`],setup(e,{emit:n}){let i=e,d=n,f=o(()=>i.item?.itemKind===`entity`?i.item.raw:null),_=o(()=>i.item?.itemKind===`relationship`?i.item.raw:null),v=o(()=>new Map(i.graph?.nodes.map(e=>[e.id,e.name])??[])),z=o(()=>!f.value||!i.graph?[]:i.graph.edges.filter(e=>D(e.source)===f.value?.id||D(e.target)===f.value?.id).slice(0,12)),B=o(()=>Object.entries(i.item?.raw.attributes??{}).filter(([,e])=>e!=null&&e!==``)),V=o(()=>k(i.item)),H=o(()=>C(i.item)),U=o(()=>i.item?.itemKind===`entity`&&[`PersonalProject`,`RelatedPersonalProject`].includes(i.item.type)),W=o(()=>i.editable&&i.item?.itemKind===`entity`&&!i.item.invalidAt&&!i.item.profileAspect&&!V.value),G=o(()=>i.editable&&!V.value),K=o(()=>i.editable&&!V.value&&!i.item?.invalidAt&&!!i.item?.classificationExplicit&&J.value===`pending`),q=o(()=>V.value&&i.canManageProject&&i.item?.type!==`ExternalKnowledgeSource`),Ye=o(()=>W.value||G.value||K.value||q.value||!!i.mode||U.value&&!!H.value&&H.value!==i.currentProjectId||U.value&&!!H.value&&i.canPublishProject),J=o(()=>i.item?T(i.item):`unclassified`),Xe=o(()=>i.item?j(i.item):``),Y=o(()=>i.item?.confirmationBasis??null),X=a(``),Ze=ee(),Z=o(()=>i.conversationLaunchers??Ze.value),Q=o(()=>{let e=i.item?.replacedByItemId,t=i.item?.replacedByItemKind;return!e||!t?null:A(i.graph).find(n=>n.id===e&&n.itemKind===t)??null}),Qe=o(()=>{let e=i.item;return e?.humanEdited?e.humanChangeStatus===`unseen`?s(`knowledge.workspace.inspector.humanReview.unseen`):e.humanChangeStatus===`viewed`?s(`knowledge.workspace.inspector.humanReview.viewed`):s(`knowledge.workspace.inspector.humanReview.reviewed`):``});function $e(e){return typeof e==`string`?e:JSON.stringify(e)}function et(e){return`${Math.round(e*100)}%`}function tt(e){return e.inheritanceMode===`descendants`?s(`knowledge.workspace.inspector.inheritance.descendants`):e.inheritanceMode===`selected_projects`?s(`knowledge.workspace.inspector.inheritance.selected`,{count:e.inheritedProjectIds.length}):s(`knowledge.workspace.inspector.inheritance.local`)}function nt(e){if(e.preferenceScope!==`project`||!e.preferenceProjectId)return s(`knowledge.workspace.inspector.personalGlobal`);let t=e.preferenceProjectId,n=i.graph?.nodes.find(e=>e.attributes?.projectId===t)?.name;return s(`knowledge.workspace.inspector.selectedProject`,{project:n&&n.toLocaleLowerCase()!==t.toLocaleLowerCase()?`${n} (${t})`:t})}function rt(e){return L(e,Z.value)}function it(e){return I(e,Z.value)}function $(e,t){return String(e.id??e.session_id??t)}async function at(e,t){await F(e)&&(X.value=$(e,t))}return(n,i)=>(r(),g(`aside`,te,[e.item?(r(),g(u,{key:0},[h(`p`,ne,c(V.value?`PROJECT MATERIAL`:e.item.itemKind===`entity`?`ENTITY`:`RELATIONSHIP`),1),h(`h3`,null,c(e.item.itemKind===`entity`?e.item.title:_.value?.type),1),h(`div`,re,[h(`span`,null,c(V.value?p(s)(`knowledge.workspace.inspector.ids.projection`):e.item.itemKind===`entity`?p(s)(`knowledge.workspace.inspector.ids.node`):p(s)(`knowledge.workspace.inspector.ids.relationship`)),1),h(`code`,null,c(e.item.id),1)]),h(`p`,ie,c(e.item.body),1),V.value?(r(),g(`section`,ae,[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.ownership`)),1),h(`strong`,null,c(p(P)(e.item)),1)]),h(`p`,null,c(p(s)(`knowledge.workspace.inspector.projectionCopy`)),1)])):(r(),g(`section`,{key:1,class:m([`inspector-classification`,`state-${J.value}`])},[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.currentJudgment`)),1),h(`strong`,null,c(p(b)(e.item)),1)]),h(`p`,null,c(Xe.value),1)],2)),!V.value&&e.item.humanEdited?(r(),g(`section`,{key:2,class:m([`inspector-human-change`,`state-${e.item.humanChangeStatus}`])},[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.humanReviewTitle`)),1),h(`strong`,null,c(p(O)(e.item.humanChangeStatus)),1)]),h(`p`,null,c(Qe.value),1),h(`small`,null,c(p(s)(`knowledge.workspace.inspector.humanVersion`,{version:e.item.humanChangeVersion})),1)],2)):l(``,!0),!V.value&&e.item.invalidAt?(r(),g(`section`,oe,[h(`div`,se,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.replacement`)),1),h(`strong`,null,c(Q.value?p(s)(`knowledge.workspace.inspector.replacedBy`):p(s)(`knowledge.workspace.inspector.noReplacement`)),1)]),Q.value?(r(),g(`button`,{key:0,class:`inspector-replacement-link`,type:`button`,onClick:i[0]||=e=>d(`openReplacement`,Q.value)},[h(`span`,null,[h(`strong`,null,c(Q.value.title),1),h(`small`,null,c(Q.value.body),1)]),h(`b`,null,c(p(s)(`knowledge.workspace.inspector.viewReplacement`)),1)])):e.item.replacedByItemId?(r(),g(`p`,ce,c(p(s)(`knowledge.workspace.inspector.replacementOutOfScope`)),1)):(r(),g(`p`,le,c(p(s)(`knowledge.workspace.inspector.missingReplacement`)),1))])):l(``,!0),h(`dl`,ue,[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.type`)),1),h(`dd`,null,c(e.item.type),1)]),V.value?l(``,!0):(r(),g(`div`,de,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.originQuadrant`)),1),h(`dd`,null,c(p(x)(e.item.originQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,fe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.currentQuadrant`)),1),h(`dd`,null,c(p(x)(e.item.currentQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,pe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.quadrantExplanation`)),1),h(`dd`,null,c(p(w)(e.item.originQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,me,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.confirmationStatus`)),1),h(`dd`,null,c(p(b)(e.item)),1)])),V.value?l(``,!0):(r(),g(`div`,he,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.confidence`)),1),h(`dd`,null,c(et(e.item.confidenceScore)),1)])),V.value?l(``,!0):(r(),g(`div`,ge,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.utility`)),1),h(`dd`,null,c(et(e.item.utilityScore)),1)])),V.value?l(``,!0):(r(),g(`div`,_e,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.materialUse`)),1),h(`dd`,null,c(p(s)(`knowledge.workspace.inspector.useCount`,{uses:e.item.qualifiedUseCount,tasks:e.item.distinctTaskCount})),1)])),V.value?l(``,!0):(r(),g(`div`,ve,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.recentUse`)),1),h(`dd`,null,c(p(N)(e.item.lastUsedAt)),1)])),!V.value&&!e.item.profileAspect?(r(),g(`div`,ye,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.inheritance`)),1),h(`dd`,null,c(tt(e.item)),1)])):l(``,!0),!V.value&&e.item.profileAspect?(r(),g(`div`,be,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.preference`)),1),h(`dd`,null,c(p(y)(e.item.profileAspect)),1)])):l(``,!0),!V.value&&e.item.profileAspect?(r(),g(`div`,xe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.effectiveScope`)),1),h(`dd`,null,c(nt(e.item)),1)])):l(``,!0),_.value?(r(),g(u,{key:11},[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.source`)),1),h(`dd`,null,c(v.value.get(p(D)(_.value.source))??_.value.source_name??p(D)(_.value.source)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.target`)),1),h(`dd`,null,c(v.value.get(p(D)(_.value.target))??_.value.target_name??p(D)(_.value.target)),1)])],64)):l(``,!0),V.value?l(``,!0):(r(),g(`div`,Se,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.status`)),1),h(`dd`,null,c(e.item.invalidAt?p(s)(`knowledge.workspace.inspector.historical`):p(s)(`common.status.current`)),1)]))]),V.value?l(``,!0):(r(),g(u,{key:4},[h(`h4`,Ce,c(p(s)(`knowledge.workspace.inspector.basisTitle`)),1),Y.value?(r(),g(`dl`,we,[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.existence`)),1),h(`dd`,null,c(Y.value.existence_reason),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.quadrant`)),1),h(`dd`,null,c(Y.value.quadrant_reason),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.proposer`)),1),h(`dd`,null,c(p(E)(Y.value.proposed_by)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.confirmer`)),1),h(`dd`,null,c(p(E)(Y.value.confirmed_by)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.time`)),1),h(`dd`,null,c(p(N)(Y.value.confirmed_at)),1)]),Y.value.agent_policy_version?(r(),g(`div`,Te,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.agentPolicy`)),1),h(`dd`,null,c(Y.value.agent_policy_version),1)])):l(``,!0)])):(r(),g(`p`,Ee,c(p(s)(`knowledge.workspace.inspector.legacyBasis`)),1))],64)),B.value.length?(r(),g(u,{key:5},[h(`h4`,De,c(p(s)(`knowledge.workspace.inspector.contentDetails`)),1),h(`dl`,Oe,[(r(!0),g(u,null,t(B.value,([e,t])=>(r(),g(`div`,{key:e},[h(`dt`,null,c(e),1),h(`dd`,null,c($e(t)),1)]))),128))])],64)):l(``,!0),e.item.reasoningSummary?(r(),g(u,{key:6},[h(`h4`,ke,c(p(s)(`knowledge.workspace.inspector.formation`)),1),h(`p`,Ae,c(e.item.reasoningSummary),1)],64)):l(``,!0),Ye.value?(r(),g(`div`,je,[K.value?(r(),g(`button`,{key:0,class:`primary-action inspector-confirm-action`,type:`button`,onClick:i[1]||=t=>d(`confirm`,e.item)},c(e.item.profileAspect?p(s)(`knowledge.workspace.inspector.confirmPreference`):p(s)(`knowledge.workspace.inspector.confirmKnowledge`)),1)):l(``,!0),q.value?(r(),g(`button`,{key:1,class:`primary-action`,type:`button`,onClick:i[2]||=t=>d(`manageProject`,e.item)},c(p(s)(`knowledge.workspace.inspector.editMaterials`)),1)):l(``,!0),e.mode===`graph`?(r(),g(`button`,{key:2,class:`secondary-action`,type:`button`,onClick:i[3]||=t=>d(`openDirectory`,e.item)},c(p(s)(`knowledge.workspace.inspector.locateDirectory`)),1)):l(``,!0),e.mode===`directory`?(r(),g(`button`,{key:3,class:`secondary-action`,type:`button`,onClick:i[4]||=t=>d(`openGraph`,e.item)},c(p(s)(`knowledge.workspace.inspector.locateGraph`)),1)):l(``,!0),U.value&&H.value&&H.value!==e.currentProjectId?(r(),g(`button`,{key:4,class:`primary-action`,type:`button`,onClick:i[5]||=e=>d(`openProject`,H.value)},c(p(s)(`knowledge.workspace.inspector.enterProject`)),1)):l(``,!0),U.value&&H.value&&e.canPublishProject?(r(),g(`button`,{key:5,class:`secondary-action`,type:`button`,onClick:i[6]||=e=>d(`publishProject`,H.value)},c(p(s)(`knowledge.workspace.inspector.publish`)),1)):l(``,!0),W.value?(r(),g(`button`,{key:6,class:`primary-action`,type:`button`,onClick:i[7]||=t=>d(`createProject`,e.item)},c(p(s)(`knowledge.workspace.inspector.createProject`)),1)):l(``,!0),G.value?(r(),g(`button`,{key:7,class:`secondary-action inspector-edit-action`,type:`button`,onClick:i[8]||=t=>d(`edit`,e.item)},c(e.item.profileAspect?p(s)(`knowledge.workspace.inspector.correctPreference`):p(s)(`knowledge.workspace.inspector.correctOrAssign`)),1)):l(``,!0)])):l(``,!0),z.value.length?(r(),g(u,{key:8},[h(`h4`,Me,c(p(s)(`knowledge.workspace.inspector.relations`)),1),h(`div`,Ne,[(r(!0),g(u,null,t(z.value,e=>(r(),g(`div`,{key:e.id,class:`inspector-relation`},[h(`strong`,Pe,c(e.type),1),h(`p`,Fe,c(e.fact||p(s)(`knowledge.workspace.inspector.relationshipFallback`)),1)]))),128))])],64)):l(``,!0),e.item.evidence.length?(r(),g(u,{key:9},[h(`h4`,Ie,c(p(s)(`knowledge.workspace.inspector.evidence`)),1),h(`div`,Le,[(r(!0),g(u,null,t(e.item.evidence,(e,t)=>(r(),g(`article`,{key:$(e,t),class:`evidence-card`},[h(`strong`,null,c(e.name||e.source_description||p(s)(`knowledge.workspace.inspector.sourceRecord`)),1),h(`p`,null,c(e.summary||e.source_description),1),h(`span`,null,c(p(R)(e))+` · `+c(e.source_kind||p(s)(`knowledge.workspace.inspector.source`))+` · `+c(p(N)(e.reference_time||e.created_at)),1),e.source_excerpt?(r(),g(`p`,Re,c(e.source_excerpt),1)):l(``,!0),e.session_id?(r(),g(`div`,ze,[h(`button`,{class:`evidence-source-action`,type:`button`,onClick:n=>at(e,t)},c(X.value===$(e,t)?p(s)(`knowledge.workspace.inspector.copiedSessionId`):p(s)(`knowledge.workspace.inspector.copySessionId`)),9,Be),rt(e)?(r(),g(`a`,{key:0,class:`evidence-source-action`,href:rt(e)??void 0,title:p(s)(`knowledge.workspace.inspector.openConversationWith`,{app:it(e)??p(R)(e)})},c(p(s)(`knowledge.workspace.inspector.openConversation`)),9,Ve)):l(``,!0)])):l(``,!0)]))),128))])],64)):l(``,!0),e.item.revisions.length?(r(),g(u,{key:10},[h(`h4`,He,c(p(s)(`knowledge.workspace.inspector.revisions`)),1),h(`div`,Ue,[(r(!0),g(u,null,t(e.item.revisions,(e,t)=>(r(),g(`article`,{key:String(e.id??t),class:`history-row`},[h(`strong`,null,c(p(S)(e.action)),1),h(`p`,null,c(e.reason??e.summary??p(s)(`knowledge.workspace.inspector.noRevisionCopy`)),1),h(`span`,null,c(p(N)(e.created_at)),1)]))),128))])],64)):l(``,!0),e.item.auditEvents.length?(r(),g(u,{key:11},[h(`h4`,We,c(p(s)(`knowledge.workspace.inspector.audit`)),1),h(`div`,Ge,[(r(!0),g(u,null,t(e.item.auditEvents,e=>(r(),g(`article`,{key:e.id,class:`history-row`},[h(`strong`,null,c(p(M)(e.action)),1),h(`p`,null,c(e.reason),1),h(`span`,null,c(p(s)(`knowledge.workspace.inspector.version`,{version:e.human_change_version}))+` · `+c(p(N)(e.created_at)),1),e.action===`agent_review`?(r(),g(`small`,Ke,c(p(s)(`knowledge.workspace.inspector.conflictClassification`,{conflict:e.conflict_check===`no_conflict`?p(s)(`knowledge.workspace.inspector.conflictNone`):p(s)(`knowledge.workspace.inspector.conflictFound`),classification:e.classification_check===`reasonable`?p(s)(`knowledge.workspace.inspector.classificationReasonable`):p(s)(`knowledge.workspace.inspector.classificationAdjust`)})),1)):l(``,!0)]))),128))])],64)):l(``,!0)],64)):(r(),g(u,{key:1},[h(`p`,qe,c(p(s)(`knowledge.workspace.inspector.contentDetails`)),1),h(`h3`,null,c(p(s)(`knowledge.workspace.inspector.placeholderTitle`)),1),h(`p`,Je,c(p(s)(`knowledge.workspace.inspector.placeholderCopy`)),1)],64))]))}});export{W as n,G as t};
1
+ import{A as e,F as t,I as n,N as r,T as i,Z as a,_ as o,a as s,at as c,b as l,h as u,it as d,j as f,nt as p,rt as m,v as h,x as g,z as _}from"./i18n-CIIxzhPZ.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{C as y,D as b,E as x,O as S,S as C,T as w,_ as T,a as E,c as D,d as O,f as k,g as A,i as j,p as M,u as N,w as P}from"./model-CJsrDUNb.js";import{a as F,c as I,l as L,o as R,r as ee}from"./conversation-launcher-settings-fUWCt3XG.js";var z=[`aria-label`],B=[`data-virtual-index`],V={class:`virtual-directory-list__content`},H={class:`virtual-directory-list__watermark`,"aria-hidden":`true`},U=[`aria-label`],W=v(i({__name:`VirtualDirectoryList`,props:{items:{},rowHeight:{},label:{},minWidth:{default:`100%`},overscan:{default:8},resetKey:{default:void 0},activeIndex:{default:-1},watermarkPrefix:{default:`#`},itemKey:{type:Function,default:void 0}},setup(i,{expose:v}){let y=i,b=a(null),x=a(null),S=a(0),C=a(640),w=a(0),T=null,E=o(()=>y.items.length),D=o(()=>Math.max(3,String(E.value).length)),O=o(()=>E.value?Math.min(E.value,Math.floor(S.value/y.rowHeight)+1):0),k=o(()=>{let e=Math.max(0,Math.floor(S.value/y.rowHeight)-y.overscan),t=Math.ceil(C.value/y.rowHeight)+y.overscan*2;return{start:e,end:Math.min(E.value,e+t)}}),A=o(()=>Array.from({length:k.value.end-k.value.start},(e,t)=>k.value.start+t)),j=o(()=>({height:`${E.value*y.rowHeight}px`,minWidth:y.minWidth})),M=o(()=>({minWidth:y.minWidth}));_([b,x],([e,t])=>{T?.disconnect(),T=null,e&&(P(),typeof ResizeObserver==`function`&&(T=new ResizeObserver(P),T.observe(e),t&&T.observe(t)))},{flush:`post`}),_(()=>y.resetKey,async()=>{await e(),I()},{flush:`post`}),_(E,async()=>{await e();let t=b.value;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight);t.scrollTop>n&&(t.scrollTop=n),P()}),_([b,()=>y.activeIndex],async([t,n])=>{!t||n<0||n>=E.value||(await e(),L(n))},{flush:`post`}),f(()=>T?.disconnect());function N(e){return String(e).padStart(D.value,`0`)}function P(){let e=b.value;e&&(S.value=e.scrollTop,C.value=e.clientHeight||C.value,w.value=x.value?.offsetHeight??0)}function F(e){let t=e.currentTarget;S.value=t.scrollTop}function I(){let e=b.value;e&&(e.scrollTop=0,S.value=0)}function L(e){let t=b.value;if(!t||e<0||e>=E.value)return;let n=e*y.rowHeight,r=n+y.rowHeight,i=t.scrollTop,a=i+t.clientHeight-w.value;n<i?t.scrollTop=n:t.clientHeight&&r>a&&(t.scrollTop=r-t.clientHeight+w.value),S.value=t.scrollTop}return v({scrollToStart:I,scrollIndexIntoView:L}),(e,a)=>(r(),g(`section`,{class:`virtual-directory-list`,"aria-label":i.label},[h(`div`,{ref_key:`scroller`,ref:b,class:`virtual-directory-list__scroller`,onScrollPassive:F},[e.$slots.header?(r(),g(`div`,{key:0,ref_key:`header`,ref:x,class:`virtual-directory-list__header`,style:d(M.value)},[n(e.$slots,`header`,{},void 0,!0)],4)):l(``,!0),h(`div`,{class:`virtual-directory-list__canvas`,style:d(j.value)},[(r(!0),g(u,null,t(A.value,t=>(r(),g(`div`,{key:i.itemKey?.(i.items[t],t)??t,class:m([`virtual-directory-list__row`,{"is-active":t===i.activeIndex}]),"data-virtual-index":t,style:d({height:`${i.rowHeight}px`,transform:`translateY(${t*i.rowHeight}px)`})},[h(`div`,V,[n(e.$slots,`default`,{item:i.items[t],index:t,formattedIndex:N(t+1)},void 0,!0)]),h(`span`,H,c(i.watermarkPrefix)+c(N(t+1)),1)],14,B))),128))],4),!E.value&&e.$slots.empty?(r(),g(`div`,{key:1,class:`virtual-directory-list__empty`,style:d(M.value)},[n(e.$slots,`empty`,{},void 0,!0)],4)):l(``,!0),e.$slots.footer?(r(),g(`div`,{key:2,class:`virtual-directory-list__footer`,style:d(M.value)},[n(e.$slots,`footer`,{},void 0,!0)],4)):l(``,!0)],544),E.value?(r(),g(`output`,{key:0,class:`virtual-directory-list__position`,"aria-label":p(s)(`common.counts.listPosition`,{current:O.value,total:E.value})},[h(`strong`,null,c(N(O.value)),1),h(`span`,null,`/ `+c(N(E.value)),1)],8,U)):l(``,!0)],8,z))}}),[[`__scopeId`,`data-v-dd2afd66`]]),te={class:`graph-inspector`},ne={class:`eyebrow`},re={class:`inspector-identity`},ie={class:`muted`},ae={key:0,class:`inspector-project-material`},oe={key:3,class:`inspector-replacement`},se={class:`inspector-replacement-heading`},ce={key:1},le={key:2},ue={class:`inspector-meta`},de={key:0},fe={key:1},pe={key:2},me={key:3},he={key:4},ge={key:5},_e={key:6},ve={key:7},ye={key:8},be={key:9},xe={key:10},Se={key:12},Ce={class:`inspector-subtitle`},we={key:0,class:`inspector-meta inspector-confirmation-basis`},Te={key:0},Ee={key:1,class:`inspector-reasoning`},De={class:`inspector-subtitle`},Oe={class:`inspector-meta inspector-attributes`},ke={class:`inspector-subtitle`},Ae={class:`inspector-reasoning`},je={key:7,class:`inspector-actions`},Me={class:`inspector-subtitle`},Ne={class:`inspector-relations`},Pe={class:`relation-type`},Fe={class:`relation-target`},Ie={class:`inspector-subtitle`},Le={class:`inspector-evidence`},Re={key:0,class:`evidence-excerpt`},ze={key:1,class:`evidence-source-actions`},Be=[`onClick`],Ve=[`href`,`title`],He={class:`inspector-subtitle`},Ue={class:`inspector-history`},We={class:`inspector-subtitle`},Ge={class:`inspector-history inspector-audit-history`},Ke={key:0},qe={class:`eyebrow`},Je={class:`inspector-placeholder`},G=i({__name:`KnowledgeInspector`,props:{item:{},graph:{},editable:{type:Boolean},currentProjectId:{},canPublishProject:{type:Boolean},canManageProject:{type:Boolean},mode:{},conversationLaunchers:{}},emits:[`confirm`,`edit`,`createProject`,`openProject`,`publishProject`,`openDirectory`,`openGraph`,`openReplacement`,`manageProject`],setup(e,{emit:n}){let i=e,d=n,f=o(()=>i.item?.itemKind===`entity`?i.item.raw:null),_=o(()=>i.item?.itemKind===`relationship`?i.item.raw:null),v=o(()=>new Map(i.graph?.nodes.map(e=>[e.id,e.name])??[])),z=o(()=>!f.value||!i.graph?[]:i.graph.edges.filter(e=>D(e.source)===f.value?.id||D(e.target)===f.value?.id).slice(0,12)),B=o(()=>Object.entries(i.item?.raw.attributes??{}).filter(([,e])=>e!=null&&e!==``)),V=o(()=>k(i.item)),H=o(()=>C(i.item)),U=o(()=>i.item?.itemKind===`entity`&&[`PersonalProject`,`RelatedPersonalProject`].includes(i.item.type)),W=o(()=>i.editable&&i.item?.itemKind===`entity`&&!i.item.invalidAt&&!i.item.profileAspect&&!V.value),G=o(()=>i.editable&&!V.value),K=o(()=>i.editable&&!V.value&&!i.item?.invalidAt&&!!i.item?.classificationExplicit&&J.value===`pending`),q=o(()=>V.value&&i.canManageProject&&i.item?.type!==`ExternalKnowledgeSource`),Ye=o(()=>W.value||G.value||K.value||q.value||!!i.mode||U.value&&!!H.value&&H.value!==i.currentProjectId||U.value&&!!H.value&&i.canPublishProject),J=o(()=>i.item?T(i.item):`unclassified`),Xe=o(()=>i.item?j(i.item):``),Y=o(()=>i.item?.confirmationBasis??null),X=a(``),Ze=ee(),Z=o(()=>i.conversationLaunchers??Ze.value),Q=o(()=>{let e=i.item?.replacedByItemId,t=i.item?.replacedByItemKind;return!e||!t?null:A(i.graph).find(n=>n.id===e&&n.itemKind===t)??null}),Qe=o(()=>{let e=i.item;return e?.humanEdited?e.humanChangeStatus===`unseen`?s(`knowledge.workspace.inspector.humanReview.unseen`):e.humanChangeStatus===`viewed`?s(`knowledge.workspace.inspector.humanReview.viewed`):s(`knowledge.workspace.inspector.humanReview.reviewed`):``});function $e(e){return typeof e==`string`?e:JSON.stringify(e)}function et(e){return`${Math.round(e*100)}%`}function tt(e){return e.inheritanceMode===`descendants`?s(`knowledge.workspace.inspector.inheritance.descendants`):e.inheritanceMode===`selected_projects`?s(`knowledge.workspace.inspector.inheritance.selected`,{count:e.inheritedProjectIds.length}):s(`knowledge.workspace.inspector.inheritance.local`)}function nt(e){if(e.preferenceScope!==`project`||!e.preferenceProjectId)return s(`knowledge.workspace.inspector.personalGlobal`);let t=e.preferenceProjectId,n=i.graph?.nodes.find(e=>e.attributes?.projectId===t)?.name;return s(`knowledge.workspace.inspector.selectedProject`,{project:n&&n.toLocaleLowerCase()!==t.toLocaleLowerCase()?`${n} (${t})`:t})}function rt(e){return L(e,Z.value)}function it(e){return I(e,Z.value)}function $(e,t){return String(e.id??e.session_id??t)}async function at(e,t){await F(e)&&(X.value=$(e,t))}return(n,i)=>(r(),g(`aside`,te,[e.item?(r(),g(u,{key:0},[h(`p`,ne,c(V.value?`PROJECT MATERIAL`:e.item.itemKind===`entity`?`ENTITY`:`RELATIONSHIP`),1),h(`h3`,null,c(e.item.itemKind===`entity`?e.item.title:_.value?.type),1),h(`div`,re,[h(`span`,null,c(V.value?p(s)(`knowledge.workspace.inspector.ids.projection`):e.item.itemKind===`entity`?p(s)(`knowledge.workspace.inspector.ids.node`):p(s)(`knowledge.workspace.inspector.ids.relationship`)),1),h(`code`,null,c(e.item.id),1)]),h(`p`,ie,c(e.item.body),1),V.value?(r(),g(`section`,ae,[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.ownership`)),1),h(`strong`,null,c(p(P)(e.item)),1)]),h(`p`,null,c(p(s)(`knowledge.workspace.inspector.projectionCopy`)),1)])):(r(),g(`section`,{key:1,class:m([`inspector-classification`,`state-${J.value}`])},[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.currentJudgment`)),1),h(`strong`,null,c(p(b)(e.item)),1)]),h(`p`,null,c(Xe.value),1)],2)),!V.value&&e.item.humanEdited?(r(),g(`section`,{key:2,class:m([`inspector-human-change`,`state-${e.item.humanChangeStatus}`])},[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.humanReviewTitle`)),1),h(`strong`,null,c(p(O)(e.item.humanChangeStatus)),1)]),h(`p`,null,c(Qe.value),1),h(`small`,null,c(p(s)(`knowledge.workspace.inspector.humanVersion`,{version:e.item.humanChangeVersion})),1)],2)):l(``,!0),!V.value&&e.item.invalidAt?(r(),g(`section`,oe,[h(`div`,se,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.replacement`)),1),h(`strong`,null,c(Q.value?p(s)(`knowledge.workspace.inspector.replacedBy`):p(s)(`knowledge.workspace.inspector.noReplacement`)),1)]),Q.value?(r(),g(`button`,{key:0,class:`inspector-replacement-link`,type:`button`,onClick:i[0]||=e=>d(`openReplacement`,Q.value)},[h(`span`,null,[h(`strong`,null,c(Q.value.title),1),h(`small`,null,c(Q.value.body),1)]),h(`b`,null,c(p(s)(`knowledge.workspace.inspector.viewReplacement`)),1)])):e.item.replacedByItemId?(r(),g(`p`,ce,c(p(s)(`knowledge.workspace.inspector.replacementOutOfScope`)),1)):(r(),g(`p`,le,c(p(s)(`knowledge.workspace.inspector.missingReplacement`)),1))])):l(``,!0),h(`dl`,ue,[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.type`)),1),h(`dd`,null,c(e.item.type),1)]),V.value?l(``,!0):(r(),g(`div`,de,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.originQuadrant`)),1),h(`dd`,null,c(p(x)(e.item.originQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,fe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.currentQuadrant`)),1),h(`dd`,null,c(p(x)(e.item.currentQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,pe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.quadrantExplanation`)),1),h(`dd`,null,c(p(w)(e.item.originQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,me,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.confirmationStatus`)),1),h(`dd`,null,c(p(b)(e.item)),1)])),V.value?l(``,!0):(r(),g(`div`,he,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.confidence`)),1),h(`dd`,null,c(et(e.item.confidenceScore)),1)])),V.value?l(``,!0):(r(),g(`div`,ge,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.utility`)),1),h(`dd`,null,c(et(e.item.utilityScore)),1)])),V.value?l(``,!0):(r(),g(`div`,_e,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.materialUse`)),1),h(`dd`,null,c(p(s)(`knowledge.workspace.inspector.useCount`,{uses:e.item.qualifiedUseCount,tasks:e.item.distinctTaskCount})),1)])),V.value?l(``,!0):(r(),g(`div`,ve,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.recentUse`)),1),h(`dd`,null,c(p(N)(e.item.lastUsedAt)),1)])),!V.value&&!e.item.profileAspect?(r(),g(`div`,ye,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.inheritance`)),1),h(`dd`,null,c(tt(e.item)),1)])):l(``,!0),!V.value&&e.item.profileAspect?(r(),g(`div`,be,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.preference`)),1),h(`dd`,null,c(p(y)(e.item.profileAspect)),1)])):l(``,!0),!V.value&&e.item.profileAspect?(r(),g(`div`,xe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.effectiveScope`)),1),h(`dd`,null,c(nt(e.item)),1)])):l(``,!0),_.value?(r(),g(u,{key:11},[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.source`)),1),h(`dd`,null,c(v.value.get(p(D)(_.value.source))??_.value.source_name??p(D)(_.value.source)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.target`)),1),h(`dd`,null,c(v.value.get(p(D)(_.value.target))??_.value.target_name??p(D)(_.value.target)),1)])],64)):l(``,!0),V.value?l(``,!0):(r(),g(`div`,Se,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.status`)),1),h(`dd`,null,c(e.item.invalidAt?p(s)(`knowledge.workspace.inspector.historical`):p(s)(`common.status.current`)),1)]))]),V.value?l(``,!0):(r(),g(u,{key:4},[h(`h4`,Ce,c(p(s)(`knowledge.workspace.inspector.basisTitle`)),1),Y.value?(r(),g(`dl`,we,[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.existence`)),1),h(`dd`,null,c(Y.value.existence_reason),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.quadrant`)),1),h(`dd`,null,c(Y.value.quadrant_reason),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.proposer`)),1),h(`dd`,null,c(p(E)(Y.value.proposed_by)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.confirmer`)),1),h(`dd`,null,c(p(E)(Y.value.confirmed_by)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.time`)),1),h(`dd`,null,c(p(N)(Y.value.confirmed_at)),1)]),Y.value.agent_policy_version?(r(),g(`div`,Te,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.agentPolicy`)),1),h(`dd`,null,c(Y.value.agent_policy_version),1)])):l(``,!0)])):(r(),g(`p`,Ee,c(p(s)(`knowledge.workspace.inspector.legacyBasis`)),1))],64)),B.value.length?(r(),g(u,{key:5},[h(`h4`,De,c(p(s)(`knowledge.workspace.inspector.contentDetails`)),1),h(`dl`,Oe,[(r(!0),g(u,null,t(B.value,([e,t])=>(r(),g(`div`,{key:e},[h(`dt`,null,c(e),1),h(`dd`,null,c($e(t)),1)]))),128))])],64)):l(``,!0),e.item.reasoningSummary?(r(),g(u,{key:6},[h(`h4`,ke,c(p(s)(`knowledge.workspace.inspector.formation`)),1),h(`p`,Ae,c(e.item.reasoningSummary),1)],64)):l(``,!0),Ye.value?(r(),g(`div`,je,[K.value?(r(),g(`button`,{key:0,class:`primary-action inspector-confirm-action`,type:`button`,onClick:i[1]||=t=>d(`confirm`,e.item)},c(e.item.profileAspect?p(s)(`knowledge.workspace.inspector.confirmPreference`):p(s)(`knowledge.workspace.inspector.confirmKnowledge`)),1)):l(``,!0),q.value?(r(),g(`button`,{key:1,class:`primary-action`,type:`button`,onClick:i[2]||=t=>d(`manageProject`,e.item)},c(p(s)(`knowledge.workspace.inspector.editMaterials`)),1)):l(``,!0),e.mode===`graph`?(r(),g(`button`,{key:2,class:`secondary-action`,type:`button`,onClick:i[3]||=t=>d(`openDirectory`,e.item)},c(p(s)(`knowledge.workspace.inspector.locateDirectory`)),1)):l(``,!0),e.mode===`directory`?(r(),g(`button`,{key:3,class:`secondary-action`,type:`button`,onClick:i[4]||=t=>d(`openGraph`,e.item)},c(p(s)(`knowledge.workspace.inspector.locateGraph`)),1)):l(``,!0),U.value&&H.value&&H.value!==e.currentProjectId?(r(),g(`button`,{key:4,class:`primary-action`,type:`button`,onClick:i[5]||=e=>d(`openProject`,H.value)},c(p(s)(`knowledge.workspace.inspector.enterProject`)),1)):l(``,!0),U.value&&H.value&&e.canPublishProject?(r(),g(`button`,{key:5,class:`secondary-action`,type:`button`,onClick:i[6]||=e=>d(`publishProject`,H.value)},c(p(s)(`knowledge.workspace.inspector.publish`)),1)):l(``,!0),W.value?(r(),g(`button`,{key:6,class:`primary-action`,type:`button`,onClick:i[7]||=t=>d(`createProject`,e.item)},c(p(s)(`knowledge.workspace.inspector.createProject`)),1)):l(``,!0),G.value?(r(),g(`button`,{key:7,class:`secondary-action inspector-edit-action`,type:`button`,onClick:i[8]||=t=>d(`edit`,e.item)},c(e.item.profileAspect?p(s)(`knowledge.workspace.inspector.correctPreference`):p(s)(`knowledge.workspace.inspector.correctOrAssign`)),1)):l(``,!0)])):l(``,!0),z.value.length?(r(),g(u,{key:8},[h(`h4`,Me,c(p(s)(`knowledge.workspace.inspector.relations`)),1),h(`div`,Ne,[(r(!0),g(u,null,t(z.value,e=>(r(),g(`div`,{key:e.id,class:`inspector-relation`},[h(`strong`,Pe,c(e.type),1),h(`p`,Fe,c(e.fact||p(s)(`knowledge.workspace.inspector.relationshipFallback`)),1)]))),128))])],64)):l(``,!0),e.item.evidence.length?(r(),g(u,{key:9},[h(`h4`,Ie,c(p(s)(`knowledge.workspace.inspector.evidence`)),1),h(`div`,Le,[(r(!0),g(u,null,t(e.item.evidence,(e,t)=>(r(),g(`article`,{key:$(e,t),class:`evidence-card`},[h(`strong`,null,c(e.name||e.source_description||p(s)(`knowledge.workspace.inspector.sourceRecord`)),1),h(`p`,null,c(e.summary||e.source_description),1),h(`span`,null,c(p(R)(e))+` · `+c(e.source_kind||p(s)(`knowledge.workspace.inspector.source`))+` · `+c(p(N)(e.reference_time||e.created_at)),1),e.source_excerpt?(r(),g(`p`,Re,c(e.source_excerpt),1)):l(``,!0),e.session_id?(r(),g(`div`,ze,[h(`button`,{class:`evidence-source-action`,type:`button`,onClick:n=>at(e,t)},c(X.value===$(e,t)?p(s)(`knowledge.workspace.inspector.copiedSessionId`):p(s)(`knowledge.workspace.inspector.copySessionId`)),9,Be),rt(e)?(r(),g(`a`,{key:0,class:`evidence-source-action`,href:rt(e)??void 0,title:p(s)(`knowledge.workspace.inspector.openConversationWith`,{app:it(e)??p(R)(e)})},c(p(s)(`knowledge.workspace.inspector.openConversation`)),9,Ve)):l(``,!0)])):l(``,!0)]))),128))])],64)):l(``,!0),e.item.revisions.length?(r(),g(u,{key:10},[h(`h4`,He,c(p(s)(`knowledge.workspace.inspector.revisions`)),1),h(`div`,Ue,[(r(!0),g(u,null,t(e.item.revisions,(e,t)=>(r(),g(`article`,{key:String(e.id??t),class:`history-row`},[h(`strong`,null,c(p(S)(e.action)),1),h(`p`,null,c(e.reason??e.summary??p(s)(`knowledge.workspace.inspector.noRevisionCopy`)),1),h(`span`,null,c(p(N)(e.created_at)),1)]))),128))])],64)):l(``,!0),e.item.auditEvents.length?(r(),g(u,{key:11},[h(`h4`,We,c(p(s)(`knowledge.workspace.inspector.audit`)),1),h(`div`,Ge,[(r(!0),g(u,null,t(e.item.auditEvents,e=>(r(),g(`article`,{key:e.id,class:`history-row`},[h(`strong`,null,c(p(M)(e.action)),1),h(`p`,null,c(e.reason),1),h(`span`,null,c(p(s)(`knowledge.workspace.inspector.version`,{version:e.human_change_version}))+` · `+c(p(N)(e.created_at)),1),e.action===`agent_review`?(r(),g(`small`,Ke,c(p(s)(`knowledge.workspace.inspector.conflictClassification`,{conflict:e.conflict_check===`no_conflict`?p(s)(`knowledge.workspace.inspector.conflictNone`):p(s)(`knowledge.workspace.inspector.conflictFound`),classification:e.classification_check===`reasonable`?p(s)(`knowledge.workspace.inspector.classificationReasonable`):p(s)(`knowledge.workspace.inspector.classificationAdjust`)})),1)):l(``,!0)]))),128))])],64)):l(``,!0)],64)):(r(),g(u,{key:1},[h(`p`,qe,c(p(s)(`knowledge.workspace.inspector.contentDetails`)),1),h(`h3`,null,c(p(s)(`knowledge.workspace.inspector.placeholderTitle`)),1),h(`p`,Je,c(p(s)(`knowledge.workspace.inspector.placeholderCopy`)),1)],64))]))}});export{W as n,G as t};
@@ -1 +1 @@
1
- import{A as e,C as t,F as n,H as r,N as i,R as a,T as o,V as s,Z as c,_ as l,a as u,at as d,b as f,c as p,d as ee,h as m,j as h,m as g,nt as _,rt as v,v as y,w as b,x,y as S,z as C}from"./i18n-75woNt31.js";import{t as te}from"./console-hUns2aD-.js";import{t as w}from"./GrowthLoading-DFOy-mEl.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as E,n as D}from"./client-InXscj8J.js";import{t as O}from"./useModalDialog-BopF-KHN.js";import{t as k}from"./SearchableSelect-vaoSDq1g.js";import{r as A,t as j}from"./identity-Wt2Xio_B.js";import{n as M,t as N}from"./KnowledgeInspector-C79hbuOo.js";import{i as P,n as F,r as I,t as ne}from"./KnowledgeEditDialog-DBsjlkDr.js";import{D as re,E as ie,_ as L,g as ae,n as R,o as z,r as oe,t as B,u as V,v as H}from"./model-C1GwBvd9.js";var U=[`aria-labelledby`],se={class:`project-dialog-shell`},ce={class:`project-dialog-header`},W=[`id`],le=[`disabled`],G={class:`batch-confirm-controls`},K={key:0,class:`batch-group-summary`},q={class:`batch-confirmer-fields`},ue=[`required`,`placeholder`],de=[`placeholder`],J={class:`batch-confirm-rule`},fe={class:`batch-confirm-review`},Y={class:`batch-review-heading`},pe={key:0,class:`batch-limit-note`},me={class:`batch-review-list`},X=[`value`],he={class:`batch-confirm-acknowledgement`},ge={key:0,class:`publish-dialog-error`,role:`alert`},_e={class:`publish-dialog-actions`},ve=[`disabled`],ye=[`disabled`],be=T(o({__name:`KnowledgeBatchConfirmDialog`,props:{groups:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(e,{emit:o}){let s=e,h=o,v=te(),T=c(``),D=c([]),M=c(`user`),N=c(``),P=c(``),F=c(!1),I=c(!1),ne=a(),{dialogRef:re,onCancel:L,onKeydown:ae}=O(()=>!0,()=>{I.value||h(`close`)}),z=c(``),oe=l(()=>s.groups.map(e=>({value:e.key,label:e.label,meta:u(`knowledge.dialogs.batch.groupMeta`,{kind:e.kind===`source`?u(`knowledge.dialogs.batch.sameSource`):u(`knowledge.dialogs.batch.sameSession`),count:e.items.length}),search:`${A(e.value)} ${e.description}`}))),B=l(()=>s.groups.find(({key:e})=>e===T.value)??null),V=l(()=>B.value?.items.slice(0,200)??[]),H=l(()=>{let e=new Set(D.value);return V.value.filter(t=>e.has(Z(t)))}),be=l(()=>V.value.length>0&&H.value.length===V.value.length),xe=l(()=>!I.value&&H.value.length>=2&&!!P.value.trim()&&F.value&&(M.value!==`authoritative_source`||!!N.value.trim())),Se=l(()=>[{value:`user`,label:u(`knowledge.domain.actors.user`)},{value:`authoritative_source`,label:u(`knowledge.domain.actors.authoritative_source`)}]);C(()=>s.groups,e=>{e.some(({key:e})=>e===T.value)||(T.value=e[0]?.key??``)},{immediate:!0}),C(T,()=>{D.value=V.value.map(Z),F.value=!1,z.value=``},{immediate:!0});function Z(e){return`${e.itemKind}:${e.id}`}function Ce(){D.value=be.value?[]:V.value.map(Z),F.value=!1}function Q(e){let t=B.value;return t?R(e,t):null}async function we(){if(I.value)return;let e=B.value;if(!e)return $(u(`knowledge.dialogs.batch.errors.groupRequired`));if(H.value.length<2)return $(u(`knowledge.dialogs.batch.errors.itemsRequired`));if(!P.value.trim())return $(u(`knowledge.dialogs.batch.errors.reasonRequired`));if(M.value===`authoritative_source`&&!N.value.trim())return $(u(`knowledge.dialogs.batch.errors.sourceNameRequired`));if(!F.value)return $(u(`knowledge.dialogs.batch.errors.acknowledgmentRequired`));I.value=!0,z.value=``;try{let t=await E(`/api/knowledge/batch-confirmation`,{personalSpaceId:s.personalSpaceId,groupKind:e.kind,groupValue:e.value,reason:P.value.trim(),confirmer:{kind:M.value,label:N.value.trim()||null},items:H.value.map(e=>{let t=Q(e);return{itemId:e.id,itemKind:e.itemKind,existenceReason:t.existenceReason,quadrantReason:t.quadrantReason,proposedBy:t.proposedBy}})});v.notify(u(`knowledge.dialogs.batch.confirmed`,{count:t.confirmed_count})),h(`saved`),h(`close`)}catch(e){z.value=e instanceof Error?e.message:u(`knowledge.dialogs.batch.errors.failed`),v.reportError(e)}finally{I.value=!1}}function $(e){z.value=e}return(e,a)=>(i(),x(`dialog`,{ref_key:`dialogRef`,ref:re,"aria-modal":`true`,"aria-labelledby":_(ne),onCancel:a[8]||=(...e)=>_(L)&&_(L)(...e),onKeydown:a[9]||=(...e)=>_(ae)&&_(ae)(...e),class:`project-dialog batch-confirm-dialog vue-dialog`},[y(`div`,se,[y(`header`,ce,[y(`div`,null,[y(`h3`,{id:_(ne)},d(_(u)(`knowledge.dialogs.batch.title`)),9,W),y(`p`,null,d(_(u)(`knowledge.dialogs.batch.intro`)),1)]),y(`button`,{class:`secondary-action`,type:`button`,disabled:I.value,onClick:a[0]||=e=>h(`close`)},d(_(u)(`common.actions.close`)),9,le)]),y(`form`,{class:`batch-confirm-form`,onSubmit:g(we,[`prevent`])},[y(`section`,G,[y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.range`))+` `,1),b(k,{modelValue:T.value,"onUpdate:modelValue":a[1]||=e=>T.value=e,options:oe.value,label:_(u)(`knowledge.dialogs.batch.rangeLabel`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),B.value?(i(),x(`div`,K,[y(`span`,null,d(B.value.kind===`source`?_(u)(`knowledge.dialogs.batch.sameSource`):_(u)(`knowledge.dialogs.batch.sameSession`)),1),y(`strong`,null,d(B.value.label),1),y(`p`,null,d(B.value.description),1),y(`small`,null,`#`+d(_(j)(B.value.value,28)),1)])):f(``,!0),y(`div`,q,[y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.confirmer`))+` `,1),b(k,{modelValue:M.value,"onUpdate:modelValue":a[2]||=e=>M.value=e,options:Se.value,label:_(u)(`knowledge.dialogs.batch.confirmerLabel`)},null,8,[`modelValue`,`options`,`label`])]),y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.confirmerDescription`))+` `,1),r(y(`input`,{"onUpdate:modelValue":a[3]||=e=>N.value=e,maxlength:`160`,required:M.value===`authoritative_source`,placeholder:M.value===`user`?_(u)(`knowledge.dialogs.batch.userPlaceholder`):_(u)(`knowledge.dialogs.batch.sourcePlaceholder`)},null,8,ue),[[ee,N.value]])])]),y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.basis`))+` `,1),r(y(`textarea`,{"onUpdate:modelValue":a[4]||=e=>P.value=e,maxlength:`2000`,rows:`3`,required:``,placeholder:_(u)(`knowledge.dialogs.batch.basisPlaceholder`)},null,8,de),[[ee,P.value]])]),y(`p`,J,d(_(u)(`knowledge.dialogs.batch.agentBoundary`)),1)]),y(`section`,fe,[y(`div`,Y,[y(`div`,null,[y(`h4`,null,d(_(u)(`knowledge.dialogs.batch.itemReview`)),1),y(`p`,null,d(_(u)(`knowledge.dialogs.batch.selected`,{selected:H.value.length,total:V.value.length})),1)]),y(`button`,{class:`secondary-action`,type:`button`,onClick:Ce},d(be.value?_(u)(`knowledge.dialogs.batch.clearAll`):_(u)(`knowledge.dialogs.batch.selectAll`)),1)]),(B.value?.items.length??0)>200?(i(),x(`p`,pe,d(_(u)(`knowledge.dialogs.batch.limit`)),1)):f(``,!0),y(`div`,me,[(i(!0),x(m,null,n(V.value,e=>(i(),x(`label`,{key:Z(e),class:`batch-review-item`},[r(y(`input`,{"onUpdate:modelValue":a[5]||=e=>D.value=e,type:`checkbox`,value:Z(e)},null,8,X),[[p,D.value]]),y(`span`,null,[y(`strong`,null,d(e.title),1),y(`small`,null,d(_(ie)(e.originQuadrant))+` · `+d(e.type),1),y(`em`,null,d(Q(e)?.existenceReason),1),y(`em`,null,d(Q(e)?.quadrantReason),1)])]))),128))]),y(`label`,he,[r(y(`input`,{"onUpdate:modelValue":a[6]||=e=>F.value=e,type:`checkbox`},null,512),[[p,F.value]]),y(`span`,null,d(_(u)(`knowledge.dialogs.batch.acknowledgment`)),1)])]),z.value?(i(),x(`p`,ge,d(z.value),1)):f(``,!0),y(`div`,_e,[y(`button`,{class:`secondary-action`,type:`button`,disabled:I.value,onClick:a[7]||=e=>h(`close`)},d(_(u)(`common.actions.cancel`)),9,ve),y(`button`,{class:`primary-action`,type:`submit`,disabled:!xe.value},[I.value?(i(),S(w,{key:0,variant:`inline`,label:_(u)(`knowledge.dialogs.batch.confirming`)},null,8,[`label`])):(i(),x(m,{key:1},[t(d(_(u)(`knowledge.dialogs.batch.confirmItems`,{count:H.value.length})),1)],64))],8,ye)])],32)])],40,U))}}),[[`__scopeId`,`data-v-4e3e492e`]]),xe={class:`view knowledge-organizer`},Se={class:`organizer-toolbar`},Z={class:`organizer-search`},Ce=[`placeholder`],Q=[`aria-label`],we=[`aria-pressed`],$=[`data-quadrant`,`aria-pressed`,`title`,`onClick`],Te=[`aria-label`],Ee=[`aria-pressed`],De=[`data-review-state`,`aria-pressed`,`title`,`onClick`],Oe={class:`organizer-toolbar-actions`},ke={class:`organizer-result-summary`},Ae={key:0},je=[`disabled`],Me={class:`organizer-table-head`,"aria-hidden":`true`},Ne=[`onClick`],Pe={class:`organizer-item-copy`},Fe={class:`organizer-basis`},Ie={class:`empty-state`},Le=100,Re=68,ze=T(o({__name:`KnowledgeOrganizerPage`,setup(a){let o=te(),p=c(null),g=c(!1),T=c(!1),E=c(``),O=c(`all`),k=c(`all`),A=c(null),j=c(null),R=c(null),U=c(!1),se=I(),ce=P(l(()=>se||g.value&&!p.value)),W=0,le=l(()=>[{value:`known_unknown`,short:u(`knowledge.workspace.organizer.quadrants.known_unknown.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.known_unknown.coordinate`)},{value:`known_known`,short:u(`knowledge.workspace.organizer.quadrants.known_known.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.known_known.coordinate`)},{value:`unknown_unknown`,short:u(`knowledge.workspace.organizer.quadrants.unknown_unknown.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.unknown_unknown.coordinate`)},{value:`unknown_known`,short:u(`knowledge.workspace.organizer.quadrants.unknown_known.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.unknown_known.coordinate`)}]),G=l(()=>[{value:`pending`,label:u(`knowledge.domain.reviewStates.pending`),hint:u(`knowledge.workspace.organizer.review.pendingHint`)},{value:`agent_confirmed`,label:u(`knowledge.domain.reviewStates.agent_confirmed`),hint:u(`knowledge.workspace.organizer.review.agentConfirmedHint`)},{value:`confirmed`,label:u(`knowledge.domain.reviewStates.confirmed`),hint:u(`knowledge.workspace.organizer.review.confirmedHint`)}]),K=l(()=>ae(p.value)),q=l(()=>oe(K.value)),ue=l(()=>Object.fromEntries([...le.value.map(({value:e})=>e),`unclassified`].map(e=>[e,K.value.filter(t=>t.originQuadrant===e).length]))),de=l(()=>O.value!==`all`),J=l(()=>de.value?K.value.filter(e=>e.originQuadrant===O.value):K.value),fe=l(()=>Object.fromEntries(G.value.map(({value:e})=>[e,J.value.filter(t=>L(t)===e).length]))),Y=l(()=>{let e=E.value.trim().toLocaleLowerCase();return K.value.filter(t=>O.value!==`all`&&t.originQuadrant!==O.value||k.value!==`all`&&L(t)!==k.value?!1:!e||[t.title,t.body,t.type,ie(t.originQuadrant),re(t),...t.evidence.flatMap(e=>[e.name,e.summary,e.source_description])].filter(Boolean).join(` `).toLocaleLowerCase().includes(e))}),pe=l(()=>`${E.value}\u0000${O.value}\u0000${k.value}`),me=l(()=>A.value?Y.value.findIndex(({id:e,itemKind:t})=>e===A.value?.id&&t===A.value?.itemKind):-1);C(()=>o.activePersonalSpace?.id,e=>{e&&X(e)},{immediate:!0}),C(Y,e=>{A.value&&!e.some(({id:e,itemKind:t})=>e===A.value?.id&&t===A.value?.itemKind)&&(A.value=null)}),h(()=>{W+=1});async function X(t=o.activePersonalSpace?.id){if(!t)return;let n=++W;g.value=!0,T.value=!1;let r=!1;try{let i=0;for(;n===W;){let a=await D(`/api/graph?${new URLSearchParams({spaceId:t,limit:String(Le),offset:String(i)})}`);if(n!==W)return;if(p.value=r?B(p.value,a):a,r=!0,A.value&&=K.value.find(({id:e,itemKind:t})=>e===A.value?.id&&t===A.value?.itemKind)??null,g.value=!1,!a.truncated)break;let o=a.next_offset;if(!Number.isInteger(o)||o<=i)throw Error(u(`knowledge.workspace.organizer.paginationError`));i=o,T.value=!0,await e()}}catch(e){r||(p.value=null),o.reportError(e)}finally{n===W&&(g.value=!1,T.value=!1)}}function he(e){return`${e.itemKind}:${e.id}`}function ge(e){O.value=O.value===e?`all`:e}function _e(e){k.value=e}function ve(e){E.value=``,O.value=e.originQuadrant,k.value=`all`,A.value=e}return(e,a)=>(i(),x(`section`,xe,[y(`div`,Se,[y(`label`,Z,[y(`span`,null,d(_(u)(`knowledge.workspace.organizer.filterKnowledge`)),1),r(y(`input`,{"onUpdate:modelValue":a[0]||=e=>E.value=e,type:`search`,placeholder:_(u)(`knowledge.workspace.organizer.searchPlaceholder`)},null,8,Ce),[[ee,E.value]])]),y(`div`,{class:`quadrant-filter`,"aria-label":_(u)(`knowledge.workspace.organizer.quadrantFilterAria`)},[y(`span`,null,d(_(u)(`knowledge.workspace.organizer.discoverySource`)),1),y(`button`,{type:`button`,"data-quadrant":`all`,class:v({active:O.value===`all`}),"aria-pressed":O.value===`all`,onClick:a[1]||=e=>O.value=`all`},[t(d(_(u)(`common.status.all`))+` `,1),y(`strong`,null,d(K.value.length),1)],10,we),(i(!0),x(m,null,n(le.value,e=>(i(),x(`button`,{key:e.value,type:`button`,"data-quadrant":e.value,class:v({active:O.value===e.value}),"aria-pressed":O.value===e.value,title:e.coordinate,onClick:t=>ge(e.value)},[t(d(e.short)+` `,1),y(`strong`,null,d(ue.value[e.value]),1)],10,$))),128))],8,Q),y(`div`,{class:`review-state-filter`,"aria-label":_(u)(`knowledge.workspace.organizer.reviewFilterAria`)},[y(`span`,null,d(_(u)(`knowledge.workspace.organizer.reviewStatus`)),1),y(`button`,{type:`button`,"data-review-state":`all`,class:v({active:k.value===`all`}),"aria-pressed":k.value===`all`,onClick:a[2]||=e=>_e(`all`)},[t(d(_(u)(`common.status.all`))+` `,1),y(`strong`,null,d(J.value.length),1)],10,Ee),(i(!0),x(m,null,n(G.value,e=>(i(),x(`button`,{key:e.value,type:`button`,"data-review-state":e.value,class:v([`state-${e.value}`,{active:k.value===e.value}]),"aria-pressed":k.value===e.value,title:e.hint,onClick:t=>_e(e.value)},[t(d(e.label)+` `,1),y(`strong`,null,d(fe.value[e.value]),1)],10,De))),128))],8,Te),y(`div`,Oe,[y(`p`,ke,[t(d(_(u)(`knowledge.workspace.organizer.showing`,{visible:Y.value.length,total:J.value.length}))+` `,1),k.value===`all`?f(``,!0):(i(),x(`span`,Ae,` · `+d(G.value.find(({value:e})=>e===k.value)?.label),1))]),q.value.length?(i(),x(`button`,{key:0,class:`toolbar-action batch-confirm-action`,type:`button`,onClick:a[3]||=e=>U.value=!0},d(_(u)(`knowledge.workspace.organizer.batchConfirm`,{count:q.value.length})),1)):f(``,!0),y(`button`,{class:`toolbar-action`,type:`button`,disabled:g.value||T.value,onClick:a[4]||=e=>X()},d(_(u)(`common.actions.refresh`)),9,je)])]),g.value&&!T.value&&!_(ce)?(i(),S(w,{key:0,variant:`inline`,label:_(u)(`common.status.loadingKnowledge`)},null,8,[`label`])):f(``,!0),_(ce)?(i(),S(w,{key:1,label:_(u)(`common.status.loadingKnowledge`)},null,8,[`label`])):(i(),x(`div`,{key:2,class:v([`organizer-layout`,{"has-selection":A.value}])},[b(M,{class:`organizer-directory`,items:Y.value,"row-height":Re,"active-index":me.value,"reset-key":pe.value,"item-key":he,"min-width":`var(--organizer-list-min-width)`,label:_(u)(`knowledge.workspace.organizer.directoryAria`)},{header:s(()=>[y(`div`,Me,[y(`span`,null,d(_(u)(`knowledge.workspace.workspace.view.knowledgeContent`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.workspace.view.columns.quadrant`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.workspace.view.columns.review`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.organizer.confirmationBasis`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.organizer.updated`)),1)])]),default:s(({item:e})=>[y(`button`,{type:`button`,class:v([`organizer-row`,{selected:A.value?.id===e.id}]),onClick:t=>A.value=e},[y(`span`,Pe,[y(`strong`,null,d(e.title),1),y(`small`,null,d(e.body),1)]),y(`span`,{class:v([`quadrant-chip`,e.originQuadrant])},d(_(ie)(e.originQuadrant)),3),y(`span`,{class:v([`review-chip`,`state-${_(L)(e)}`])},d(_(re)(e)),3),y(`span`,Fe,d(_(z)(e)),1),y(`time`,null,d(_(V)(_(H)(e))),1)],10,Ne)]),footer:s(()=>[T.value?(i(),S(w,{key:0,variant:`compact`,label:_(u)(`knowledge.workspace.organizer.loadingMore`)},null,8,[`label`])):f(``,!0)]),empty:s(()=>[y(`div`,Ie,d(K.value.length?_(u)(`knowledge.workspace.organizer.noFilteredContent`):_(u)(`knowledge.workspace.organizer.noContent`)),1)]),_:1},8,[`items`,`active-index`,`reset-key`,`label`]),b(N,{item:A.value,graph:p.value,editable:``,onConfirm:a[5]||=e=>j.value=e,onEdit:a[6]||=e=>R.value=e,onOpenReplacement:ve},null,8,[`item`,`graph`])],2)),b(ne,{item:R.value,"personal-space-id":_(o).activePersonalSpace?.id??``,"personal-project-id":null,projects:_(o).state?.personalProjects??[],"replacement-items":K.value,onClose:a[7]||=e=>R.value=null,onSaved:a[8]||=e=>X()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),b(F,{item:j.value,"personal-space-id":_(o).activePersonalSpace?.id??``,"personal-project-id":null,onClose:a[9]||=e=>j.value=null,onSaved:a[10]||=e=>X()},null,8,[`item`,`personal-space-id`]),U.value?(i(),S(be,{key:3,groups:q.value,"personal-space-id":_(o).activePersonalSpace?.id??``,onClose:a[11]||=e=>U.value=!1,onSaved:a[12]||=e=>X()},null,8,[`groups`,`personal-space-id`])):f(``,!0)]))}}),[[`__scopeId`,`data-v-32d323c2`]]);export{ze as default};
1
+ import{A as e,C as t,F as n,H as r,N as i,R as a,T as o,V as s,Z as c,_ as l,a as u,at as d,b as f,c as p,d as ee,h as m,j as h,m as g,nt as _,rt as v,v as y,w as b,x,y as S,z as C}from"./i18n-CIIxzhPZ.js";import{t as te}from"./console-CrhIK67Y.js";import{t as w}from"./GrowthLoading-DIwqGFSc.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as E,n as D}from"./client-DTQ_tUr2.js";import{t as O}from"./useModalDialog-B-45idX9.js";import{t as k}from"./SearchableSelect-Do6X3fXi.js";import{r as A,t as j}from"./identity-CdFITIOu.js";import{n as M,t as N}from"./KnowledgeInspector-yms1ysZ4.js";import{i as P,n as F,r as I,t as ne}from"./KnowledgeEditDialog-Degd9AGD.js";import{D as re,E as ie,_ as L,g as ae,n as R,o as z,r as oe,t as B,u as V,v as H}from"./model-CJsrDUNb.js";var U=[`aria-labelledby`],se={class:`project-dialog-shell`},ce={class:`project-dialog-header`},W=[`id`],le=[`disabled`],G={class:`batch-confirm-controls`},K={key:0,class:`batch-group-summary`},q={class:`batch-confirmer-fields`},ue=[`required`,`placeholder`],de=[`placeholder`],J={class:`batch-confirm-rule`},fe={class:`batch-confirm-review`},Y={class:`batch-review-heading`},pe={key:0,class:`batch-limit-note`},me={class:`batch-review-list`},X=[`value`],he={class:`batch-confirm-acknowledgement`},ge={key:0,class:`publish-dialog-error`,role:`alert`},_e={class:`publish-dialog-actions`},ve=[`disabled`],ye=[`disabled`],be=T(o({__name:`KnowledgeBatchConfirmDialog`,props:{groups:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(e,{emit:o}){let s=e,h=o,v=te(),T=c(``),D=c([]),M=c(`user`),N=c(``),P=c(``),F=c(!1),I=c(!1),ne=a(),{dialogRef:re,onCancel:L,onKeydown:ae}=O(()=>!0,()=>{I.value||h(`close`)}),z=c(``),oe=l(()=>s.groups.map(e=>({value:e.key,label:e.label,meta:u(`knowledge.dialogs.batch.groupMeta`,{kind:e.kind===`source`?u(`knowledge.dialogs.batch.sameSource`):u(`knowledge.dialogs.batch.sameSession`),count:e.items.length}),search:`${A(e.value)} ${e.description}`}))),B=l(()=>s.groups.find(({key:e})=>e===T.value)??null),V=l(()=>B.value?.items.slice(0,200)??[]),H=l(()=>{let e=new Set(D.value);return V.value.filter(t=>e.has(Z(t)))}),be=l(()=>V.value.length>0&&H.value.length===V.value.length),xe=l(()=>!I.value&&H.value.length>=2&&!!P.value.trim()&&F.value&&(M.value!==`authoritative_source`||!!N.value.trim())),Se=l(()=>[{value:`user`,label:u(`knowledge.domain.actors.user`)},{value:`authoritative_source`,label:u(`knowledge.domain.actors.authoritative_source`)}]);C(()=>s.groups,e=>{e.some(({key:e})=>e===T.value)||(T.value=e[0]?.key??``)},{immediate:!0}),C(T,()=>{D.value=V.value.map(Z),F.value=!1,z.value=``},{immediate:!0});function Z(e){return`${e.itemKind}:${e.id}`}function Ce(){D.value=be.value?[]:V.value.map(Z),F.value=!1}function Q(e){let t=B.value;return t?R(e,t):null}async function we(){if(I.value)return;let e=B.value;if(!e)return $(u(`knowledge.dialogs.batch.errors.groupRequired`));if(H.value.length<2)return $(u(`knowledge.dialogs.batch.errors.itemsRequired`));if(!P.value.trim())return $(u(`knowledge.dialogs.batch.errors.reasonRequired`));if(M.value===`authoritative_source`&&!N.value.trim())return $(u(`knowledge.dialogs.batch.errors.sourceNameRequired`));if(!F.value)return $(u(`knowledge.dialogs.batch.errors.acknowledgmentRequired`));I.value=!0,z.value=``;try{let t=await E(`/api/knowledge/batch-confirmation`,{personalSpaceId:s.personalSpaceId,groupKind:e.kind,groupValue:e.value,reason:P.value.trim(),confirmer:{kind:M.value,label:N.value.trim()||null},items:H.value.map(e=>{let t=Q(e);return{itemId:e.id,itemKind:e.itemKind,existenceReason:t.existenceReason,quadrantReason:t.quadrantReason,proposedBy:t.proposedBy}})});v.notify(u(`knowledge.dialogs.batch.confirmed`,{count:t.confirmed_count})),h(`saved`),h(`close`)}catch(e){z.value=e instanceof Error?e.message:u(`knowledge.dialogs.batch.errors.failed`),v.reportError(e)}finally{I.value=!1}}function $(e){z.value=e}return(e,a)=>(i(),x(`dialog`,{ref_key:`dialogRef`,ref:re,"aria-modal":`true`,"aria-labelledby":_(ne),onCancel:a[8]||=(...e)=>_(L)&&_(L)(...e),onKeydown:a[9]||=(...e)=>_(ae)&&_(ae)(...e),class:`project-dialog batch-confirm-dialog vue-dialog`},[y(`div`,se,[y(`header`,ce,[y(`div`,null,[y(`h3`,{id:_(ne)},d(_(u)(`knowledge.dialogs.batch.title`)),9,W),y(`p`,null,d(_(u)(`knowledge.dialogs.batch.intro`)),1)]),y(`button`,{class:`secondary-action`,type:`button`,disabled:I.value,onClick:a[0]||=e=>h(`close`)},d(_(u)(`common.actions.close`)),9,le)]),y(`form`,{class:`batch-confirm-form`,onSubmit:g(we,[`prevent`])},[y(`section`,G,[y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.range`))+` `,1),b(k,{modelValue:T.value,"onUpdate:modelValue":a[1]||=e=>T.value=e,options:oe.value,label:_(u)(`knowledge.dialogs.batch.rangeLabel`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),B.value?(i(),x(`div`,K,[y(`span`,null,d(B.value.kind===`source`?_(u)(`knowledge.dialogs.batch.sameSource`):_(u)(`knowledge.dialogs.batch.sameSession`)),1),y(`strong`,null,d(B.value.label),1),y(`p`,null,d(B.value.description),1),y(`small`,null,`#`+d(_(j)(B.value.value,28)),1)])):f(``,!0),y(`div`,q,[y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.confirmer`))+` `,1),b(k,{modelValue:M.value,"onUpdate:modelValue":a[2]||=e=>M.value=e,options:Se.value,label:_(u)(`knowledge.dialogs.batch.confirmerLabel`)},null,8,[`modelValue`,`options`,`label`])]),y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.confirmerDescription`))+` `,1),r(y(`input`,{"onUpdate:modelValue":a[3]||=e=>N.value=e,maxlength:`160`,required:M.value===`authoritative_source`,placeholder:M.value===`user`?_(u)(`knowledge.dialogs.batch.userPlaceholder`):_(u)(`knowledge.dialogs.batch.sourcePlaceholder`)},null,8,ue),[[ee,N.value]])])]),y(`label`,null,[t(d(_(u)(`knowledge.dialogs.batch.basis`))+` `,1),r(y(`textarea`,{"onUpdate:modelValue":a[4]||=e=>P.value=e,maxlength:`2000`,rows:`3`,required:``,placeholder:_(u)(`knowledge.dialogs.batch.basisPlaceholder`)},null,8,de),[[ee,P.value]])]),y(`p`,J,d(_(u)(`knowledge.dialogs.batch.agentBoundary`)),1)]),y(`section`,fe,[y(`div`,Y,[y(`div`,null,[y(`h4`,null,d(_(u)(`knowledge.dialogs.batch.itemReview`)),1),y(`p`,null,d(_(u)(`knowledge.dialogs.batch.selected`,{selected:H.value.length,total:V.value.length})),1)]),y(`button`,{class:`secondary-action`,type:`button`,onClick:Ce},d(be.value?_(u)(`knowledge.dialogs.batch.clearAll`):_(u)(`knowledge.dialogs.batch.selectAll`)),1)]),(B.value?.items.length??0)>200?(i(),x(`p`,pe,d(_(u)(`knowledge.dialogs.batch.limit`)),1)):f(``,!0),y(`div`,me,[(i(!0),x(m,null,n(V.value,e=>(i(),x(`label`,{key:Z(e),class:`batch-review-item`},[r(y(`input`,{"onUpdate:modelValue":a[5]||=e=>D.value=e,type:`checkbox`,value:Z(e)},null,8,X),[[p,D.value]]),y(`span`,null,[y(`strong`,null,d(e.title),1),y(`small`,null,d(_(ie)(e.originQuadrant))+` · `+d(e.type),1),y(`em`,null,d(Q(e)?.existenceReason),1),y(`em`,null,d(Q(e)?.quadrantReason),1)])]))),128))]),y(`label`,he,[r(y(`input`,{"onUpdate:modelValue":a[6]||=e=>F.value=e,type:`checkbox`},null,512),[[p,F.value]]),y(`span`,null,d(_(u)(`knowledge.dialogs.batch.acknowledgment`)),1)])]),z.value?(i(),x(`p`,ge,d(z.value),1)):f(``,!0),y(`div`,_e,[y(`button`,{class:`secondary-action`,type:`button`,disabled:I.value,onClick:a[7]||=e=>h(`close`)},d(_(u)(`common.actions.cancel`)),9,ve),y(`button`,{class:`primary-action`,type:`submit`,disabled:!xe.value},[I.value?(i(),S(w,{key:0,variant:`inline`,label:_(u)(`knowledge.dialogs.batch.confirming`)},null,8,[`label`])):(i(),x(m,{key:1},[t(d(_(u)(`knowledge.dialogs.batch.confirmItems`,{count:H.value.length})),1)],64))],8,ye)])],32)])],40,U))}}),[[`__scopeId`,`data-v-4e3e492e`]]),xe={class:`view knowledge-organizer`},Se={class:`organizer-toolbar`},Z={class:`organizer-search`},Ce=[`placeholder`],Q=[`aria-label`],we=[`aria-pressed`],$=[`data-quadrant`,`aria-pressed`,`title`,`onClick`],Te=[`aria-label`],Ee=[`aria-pressed`],De=[`data-review-state`,`aria-pressed`,`title`,`onClick`],Oe={class:`organizer-toolbar-actions`},ke={class:`organizer-result-summary`},Ae={key:0},je=[`disabled`],Me={class:`organizer-table-head`,"aria-hidden":`true`},Ne=[`onClick`],Pe={class:`organizer-item-copy`},Fe={class:`organizer-basis`},Ie={class:`empty-state`},Le=100,Re=68,ze=T(o({__name:`KnowledgeOrganizerPage`,setup(a){let o=te(),p=c(null),g=c(!1),T=c(!1),E=c(``),O=c(`all`),k=c(`all`),A=c(null),j=c(null),R=c(null),U=c(!1),se=I(),ce=P(l(()=>se||g.value&&!p.value)),W=0,le=l(()=>[{value:`known_unknown`,short:u(`knowledge.workspace.organizer.quadrants.known_unknown.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.known_unknown.coordinate`)},{value:`known_known`,short:u(`knowledge.workspace.organizer.quadrants.known_known.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.known_known.coordinate`)},{value:`unknown_unknown`,short:u(`knowledge.workspace.organizer.quadrants.unknown_unknown.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.unknown_unknown.coordinate`)},{value:`unknown_known`,short:u(`knowledge.workspace.organizer.quadrants.unknown_known.short`),coordinate:u(`knowledge.workspace.organizer.quadrants.unknown_known.coordinate`)}]),G=l(()=>[{value:`pending`,label:u(`knowledge.domain.reviewStates.pending`),hint:u(`knowledge.workspace.organizer.review.pendingHint`)},{value:`agent_confirmed`,label:u(`knowledge.domain.reviewStates.agent_confirmed`),hint:u(`knowledge.workspace.organizer.review.agentConfirmedHint`)},{value:`confirmed`,label:u(`knowledge.domain.reviewStates.confirmed`),hint:u(`knowledge.workspace.organizer.review.confirmedHint`)}]),K=l(()=>ae(p.value)),q=l(()=>oe(K.value)),ue=l(()=>Object.fromEntries([...le.value.map(({value:e})=>e),`unclassified`].map(e=>[e,K.value.filter(t=>t.originQuadrant===e).length]))),de=l(()=>O.value!==`all`),J=l(()=>de.value?K.value.filter(e=>e.originQuadrant===O.value):K.value),fe=l(()=>Object.fromEntries(G.value.map(({value:e})=>[e,J.value.filter(t=>L(t)===e).length]))),Y=l(()=>{let e=E.value.trim().toLocaleLowerCase();return K.value.filter(t=>O.value!==`all`&&t.originQuadrant!==O.value||k.value!==`all`&&L(t)!==k.value?!1:!e||[t.title,t.body,t.type,ie(t.originQuadrant),re(t),...t.evidence.flatMap(e=>[e.name,e.summary,e.source_description])].filter(Boolean).join(` `).toLocaleLowerCase().includes(e))}),pe=l(()=>`${E.value}\u0000${O.value}\u0000${k.value}`),me=l(()=>A.value?Y.value.findIndex(({id:e,itemKind:t})=>e===A.value?.id&&t===A.value?.itemKind):-1);C(()=>o.activePersonalSpace?.id,e=>{e&&X(e)},{immediate:!0}),C(Y,e=>{A.value&&!e.some(({id:e,itemKind:t})=>e===A.value?.id&&t===A.value?.itemKind)&&(A.value=null)}),h(()=>{W+=1});async function X(t=o.activePersonalSpace?.id){if(!t)return;let n=++W;g.value=!0,T.value=!1;let r=!1;try{let i=0;for(;n===W;){let a=await D(`/api/graph?${new URLSearchParams({spaceId:t,limit:String(Le),offset:String(i)})}`);if(n!==W)return;if(p.value=r?B(p.value,a):a,r=!0,A.value&&=K.value.find(({id:e,itemKind:t})=>e===A.value?.id&&t===A.value?.itemKind)??null,g.value=!1,!a.truncated)break;let o=a.next_offset;if(!Number.isInteger(o)||o<=i)throw Error(u(`knowledge.workspace.organizer.paginationError`));i=o,T.value=!0,await e()}}catch(e){r||(p.value=null),o.reportError(e)}finally{n===W&&(g.value=!1,T.value=!1)}}function he(e){return`${e.itemKind}:${e.id}`}function ge(e){O.value=O.value===e?`all`:e}function _e(e){k.value=e}function ve(e){E.value=``,O.value=e.originQuadrant,k.value=`all`,A.value=e}return(e,a)=>(i(),x(`section`,xe,[y(`div`,Se,[y(`label`,Z,[y(`span`,null,d(_(u)(`knowledge.workspace.organizer.filterKnowledge`)),1),r(y(`input`,{"onUpdate:modelValue":a[0]||=e=>E.value=e,type:`search`,placeholder:_(u)(`knowledge.workspace.organizer.searchPlaceholder`)},null,8,Ce),[[ee,E.value]])]),y(`div`,{class:`quadrant-filter`,"aria-label":_(u)(`knowledge.workspace.organizer.quadrantFilterAria`)},[y(`span`,null,d(_(u)(`knowledge.workspace.organizer.discoverySource`)),1),y(`button`,{type:`button`,"data-quadrant":`all`,class:v({active:O.value===`all`}),"aria-pressed":O.value===`all`,onClick:a[1]||=e=>O.value=`all`},[t(d(_(u)(`common.status.all`))+` `,1),y(`strong`,null,d(K.value.length),1)],10,we),(i(!0),x(m,null,n(le.value,e=>(i(),x(`button`,{key:e.value,type:`button`,"data-quadrant":e.value,class:v({active:O.value===e.value}),"aria-pressed":O.value===e.value,title:e.coordinate,onClick:t=>ge(e.value)},[t(d(e.short)+` `,1),y(`strong`,null,d(ue.value[e.value]),1)],10,$))),128))],8,Q),y(`div`,{class:`review-state-filter`,"aria-label":_(u)(`knowledge.workspace.organizer.reviewFilterAria`)},[y(`span`,null,d(_(u)(`knowledge.workspace.organizer.reviewStatus`)),1),y(`button`,{type:`button`,"data-review-state":`all`,class:v({active:k.value===`all`}),"aria-pressed":k.value===`all`,onClick:a[2]||=e=>_e(`all`)},[t(d(_(u)(`common.status.all`))+` `,1),y(`strong`,null,d(J.value.length),1)],10,Ee),(i(!0),x(m,null,n(G.value,e=>(i(),x(`button`,{key:e.value,type:`button`,"data-review-state":e.value,class:v([`state-${e.value}`,{active:k.value===e.value}]),"aria-pressed":k.value===e.value,title:e.hint,onClick:t=>_e(e.value)},[t(d(e.label)+` `,1),y(`strong`,null,d(fe.value[e.value]),1)],10,De))),128))],8,Te),y(`div`,Oe,[y(`p`,ke,[t(d(_(u)(`knowledge.workspace.organizer.showing`,{visible:Y.value.length,total:J.value.length}))+` `,1),k.value===`all`?f(``,!0):(i(),x(`span`,Ae,` · `+d(G.value.find(({value:e})=>e===k.value)?.label),1))]),q.value.length?(i(),x(`button`,{key:0,class:`toolbar-action batch-confirm-action`,type:`button`,onClick:a[3]||=e=>U.value=!0},d(_(u)(`knowledge.workspace.organizer.batchConfirm`,{count:q.value.length})),1)):f(``,!0),y(`button`,{class:`toolbar-action`,type:`button`,disabled:g.value||T.value,onClick:a[4]||=e=>X()},d(_(u)(`common.actions.refresh`)),9,je)])]),g.value&&!T.value&&!_(ce)?(i(),S(w,{key:0,variant:`inline`,label:_(u)(`common.status.loadingKnowledge`)},null,8,[`label`])):f(``,!0),_(ce)?(i(),S(w,{key:1,label:_(u)(`common.status.loadingKnowledge`)},null,8,[`label`])):(i(),x(`div`,{key:2,class:v([`organizer-layout`,{"has-selection":A.value}])},[b(M,{class:`organizer-directory`,items:Y.value,"row-height":Re,"active-index":me.value,"reset-key":pe.value,"item-key":he,"min-width":`var(--organizer-list-min-width)`,label:_(u)(`knowledge.workspace.organizer.directoryAria`)},{header:s(()=>[y(`div`,Me,[y(`span`,null,d(_(u)(`knowledge.workspace.workspace.view.knowledgeContent`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.workspace.view.columns.quadrant`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.workspace.view.columns.review`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.organizer.confirmationBasis`)),1),y(`span`,null,d(_(u)(`knowledge.workspace.organizer.updated`)),1)])]),default:s(({item:e})=>[y(`button`,{type:`button`,class:v([`organizer-row`,{selected:A.value?.id===e.id}]),onClick:t=>A.value=e},[y(`span`,Pe,[y(`strong`,null,d(e.title),1),y(`small`,null,d(e.body),1)]),y(`span`,{class:v([`quadrant-chip`,e.originQuadrant])},d(_(ie)(e.originQuadrant)),3),y(`span`,{class:v([`review-chip`,`state-${_(L)(e)}`])},d(_(re)(e)),3),y(`span`,Fe,d(_(z)(e)),1),y(`time`,null,d(_(V)(_(H)(e))),1)],10,Ne)]),footer:s(()=>[T.value?(i(),S(w,{key:0,variant:`compact`,label:_(u)(`knowledge.workspace.organizer.loadingMore`)},null,8,[`label`])):f(``,!0)]),empty:s(()=>[y(`div`,Ie,d(K.value.length?_(u)(`knowledge.workspace.organizer.noFilteredContent`):_(u)(`knowledge.workspace.organizer.noContent`)),1)]),_:1},8,[`items`,`active-index`,`reset-key`,`label`]),b(N,{item:A.value,graph:p.value,editable:``,onConfirm:a[5]||=e=>j.value=e,onEdit:a[6]||=e=>R.value=e,onOpenReplacement:ve},null,8,[`item`,`graph`])],2)),b(ne,{item:R.value,"personal-space-id":_(o).activePersonalSpace?.id??``,"personal-project-id":null,projects:_(o).state?.personalProjects??[],"replacement-items":K.value,onClose:a[7]||=e=>R.value=null,onSaved:a[8]||=e=>X()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),b(F,{item:j.value,"personal-space-id":_(o).activePersonalSpace?.id??``,"personal-project-id":null,onClose:a[9]||=e=>j.value=null,onSaved:a[10]||=e=>X()},null,8,[`item`,`personal-space-id`]),U.value?(i(),S(be,{key:3,groups:q.value,"personal-space-id":_(o).activePersonalSpace?.id??``,onClose:a[11]||=e=>U.value=!1,onSaved:a[12]||=e=>X()},null,8,[`groups`,`personal-space-id`])):f(``,!0)]))}}),[[`__scopeId`,`data-v-32d323c2`]]);export{ze as default};
@@ -0,0 +1 @@
1
+ import{N as e,T as t,y as n}from"./i18n-CIIxzhPZ.js";import{t as r}from"./KnowledgeWorkspace-BsF1X4Aq.js";var i=t({__name:`KnowledgePage`,setup(t){return(t,i)=>(e(),n(r))}});export{i as default};