fuli-context 0.11.0 → 0.11.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 (77) hide show
  1. package/dist/web/assets/{AboutPage-CKq4IRHd.js → AboutPage-cW9hDghN.js} +1 -1
  2. package/dist/web/assets/{AgentConversations-DfXiFvBN.js → AgentConversations-CGznTWuV.js} +1 -1
  3. package/dist/web/assets/{AgentHand-BBM-sKh2.js → AgentHand-DkyF4vgk.js} +1 -1
  4. package/dist/web/assets/{AgentName-C_6R80nP.js → AgentName-C1mAVr-v.js} +1 -1
  5. package/dist/web/assets/AgentProfilePage-pKUR0rfj.js +1 -0
  6. package/dist/web/assets/AgentsDirectoryPage-CUlbT2hD.js +1 -0
  7. package/dist/web/assets/{ConnectionsPage-BoC6kXgs.js → ConnectionsPage-CuDHIJXu.js} +1 -1
  8. package/dist/web/assets/{EmployeeRecruitDialog-BVyclQAJ.js → EmployeeRecruitDialog-D9QfGipd.js} +1 -1
  9. package/dist/web/assets/{EmployeeWorkbenchPage-D2GvYraI.js → EmployeeWorkbenchPage-DAtvGney.js} +1 -1
  10. package/dist/web/assets/{KnowledgeEditDialog-a0AKWics.js → KnowledgeEditDialog-a-5rasG0.js} +1 -1
  11. package/dist/web/assets/{KnowledgeInspector-DMg9yJZ2.js → KnowledgeInspector-BGsqjNY2.js} +1 -1
  12. package/dist/web/assets/{KnowledgeOrganizerPage-BgsHM3Qw.js → KnowledgeOrganizerPage-BndgUsHS.js} +1 -1
  13. package/dist/web/assets/KnowledgePage-CQweO0YJ.js +1 -0
  14. package/dist/web/assets/{KnowledgeWorkspace-BtRq9fvC.js → KnowledgeWorkspace-BtUjKTLb.js} +1 -1
  15. package/dist/web/assets/{NotFoundPage-D-7jLz3o.js → NotFoundPage-BmQTTqQn.js} +1 -1
  16. package/dist/web/assets/{OverviewPage-BHPc-XxY.js → OverviewPage-C73HyTsM.js} +1 -1
  17. package/dist/web/assets/{PersonalProfilePage-C00iV0Kx.js → PersonalProfilePage-BMuOrppx.js} +1 -1
  18. package/dist/web/assets/PersonalProjectsPage-Cq9_kFvs.js +1 -0
  19. package/dist/web/assets/{ProjectAgentFirstTask-CrCWEYgn.js → ProjectAgentFirstTask-CaHvOjkp.js} +1 -1
  20. package/dist/web/assets/{ProjectAgentsPage-DNLNjYp-.css → ProjectAgentsPage-DWGkgIsr.css} +1 -1
  21. package/dist/web/assets/{ProjectAgentsPage-BzztLMH-.js → ProjectAgentsPage-WVcNdzVi.js} +2 -2
  22. package/dist/web/assets/{ProjectScopePicker-CMxn3txv.js → ProjectScopePicker-zAgiaZKL.js} +1 -1
  23. package/dist/web/assets/{PublicProjectsPage-DQVtvhOS.js → PublicProjectsPage-DL093f65.js} +1 -1
  24. package/dist/web/assets/{ReviewPage-BZhvyDWc.js → ReviewPage-D_NIhPx8.js} +1 -1
  25. package/dist/web/assets/{RoundtablesPage-CVebTXQa.js → RoundtablesPage-CdVVyZE-.js} +1 -1
  26. package/dist/web/assets/{SettingsPage-1knvfOW6.js → SettingsPage-CbLaau8Q.js} +1 -1
  27. package/dist/web/assets/{SharedJefaReportPage-BCVq8u0P.js → SharedJefaReportPage-aygd6wvb.js} +1 -1
  28. package/dist/web/assets/{UiDialog-Da1P10f4.js → UiDialog-Q7fsJUoO.js} +1 -1
  29. package/dist/web/assets/{UiDisclosure-8wE8YuE4.js → UiDisclosure-BS-muK5j.js} +1 -1
  30. package/dist/web/assets/{UiSegmented-BKZXc8QF.js → UiSegmented-CT28bxqw.js} +1 -1
  31. package/dist/web/assets/{UiSelect-D5Xj5Ec4.js → UiSelect-DcGpPQQo.js} +1 -1
  32. package/dist/web/assets/{WritingTastePage-B8-etOBn.js → WritingTastePage-CYlwAFqV.js} +1 -1
  33. package/dist/web/assets/{attention-store-BfxtL9EV.js → attention-store-D-qIFRIb.js} +1 -1
  34. package/dist/web/assets/{catalog-6SN9i3WR.js → catalog-UDv854JN.js} +1 -1
  35. package/dist/web/assets/{client-CUTkF3t4.js → client-DLS5FZBI.js} +1 -1
  36. package/dist/web/assets/{console-CG8tdtSs.js → console-CqzwSo7a.js} +1 -1
  37. package/dist/web/assets/{conversation-launcher-settings-CyZkLJg7.js → conversation-launcher-settings-DRoIz42V.js} +1 -1
  38. package/dist/web/assets/{i18n-CCMR4gDS.js → i18n-b14l2pQA.js} +2 -2
  39. package/dist/web/assets/{identity-C1eN-FSB.js → identity-BWbPmZZf.js} +1 -1
  40. package/dist/web/assets/{index-sLDKI6R-.js → index-D1OHIz4c.js} +3 -3
  41. package/dist/web/assets/{model-l-sAqtW_.js → model-DupZy8Qb.js} +1 -1
  42. package/dist/web/assets/{personal-profile-graph-BD1Y6TDS.js → personal-profile-graph-BPTtMJTZ.js} +1 -1
  43. package/dist/web/assets/{shared-report-B46dxlCR.js → shared-report-BYnLhmCZ.js} +1 -1
  44. package/dist/web/assets/{useAgentRoster-DdxoKDEE.js → useAgentRoster-ep7SpKv1.js} +1 -1
  45. package/dist/web/assets/{useApi-CROJJdhE-DlOiu8lP.js → useApi-CROJJdhE-CEQAEuug.js} +1 -1
  46. package/dist/web/assets/{vue-router-DjqEU4W2.js → vue-router-B6ZjK-Br.js} +1 -1
  47. package/dist/web/index.html +11 -11
  48. package/docs/agent-roundtable.md +17 -1
  49. package/graph-provider/fuli_graph/project_agent_context_models.py +5 -1
  50. package/graph-provider/fuli_graph/project_agent_delegations.py +118 -0
  51. package/graph-provider/fuli_graph/project_agent_employee_numbers.py +41 -0
  52. package/graph-provider/fuli_graph/project_agent_memory_routes.py +13 -0
  53. package/graph-provider/fuli_graph/project_agent_models.py +1 -0
  54. package/graph-provider/fuli_graph/project_agent_team_growth.py +2 -2
  55. package/graph-provider/fuli_graph/runtime.py +7 -0
  56. package/graph-provider/fuli_graph/store_project_agent_context.py +52 -4
  57. package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +16 -1
  58. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +3 -2
  59. package/graph-provider/fuli_graph/store_project_agents.py +31 -5
  60. package/graph-provider/fuli_graph/system_agents.py +3 -1
  61. package/graph-provider/pyproject.toml +1 -1
  62. package/npm-shrinkwrap.json +2 -2
  63. package/package.json +1 -1
  64. package/src/agent-roundtable/service.js +34 -5
  65. package/src/agent-roundtable/wake.js +2 -1
  66. package/src/agents/identity-receipt.js +20 -2
  67. package/src/graphiti/federated-application.js +5 -1
  68. package/src/graphiti/project-agent-mapping.js +2 -0
  69. package/src/graphiti/project-agent-task-entry.js +21 -3
  70. package/src/graphiti/project-agent-team-context.js +4 -1
  71. package/src/graphiti/provider-client.js +9 -0
  72. package/src/graphiti/task-entry-preferences.js +12 -4
  73. package/src/graphiti/task-entry-project-scope.js +67 -0
  74. package/dist/web/assets/AgentProfilePage-Cz-i1fRD.js +0 -1
  75. package/dist/web/assets/AgentsDirectoryPage-BI0EFz6y.js +0 -1
  76. package/dist/web/assets/KnowledgePage-kn8MqUCO.js +0 -1
  77. package/dist/web/assets/PersonalProjectsPage-CFNkdHSo.js +0 -1
@@ -1 +1 @@
1
- import{A as e,C as t,M as n,P as r,R as i,X as a,_ as o,a as s,b as c,g as l,it as u,m as d,tt as f,v as p,w as ee,y as m}from"./i18n-CCMR4gDS.js";import{t as te}from"./console-CG8tdtSs.js";import{i as h,n as g,o as _}from"./client-CUTkF3t4.js";import{t as ne}from"./UiSelect-D5Xj5Ec4.js";import{r as re,t as ie}from"./identity-C1eN-FSB.js";import{u as v}from"./model-l-sAqtW_.js";var ae={class:`view`},oe={class:`section-title`},se={class:`review-list`,"data-review-queue":`personal`},ce={key:1,class:`review-error`,role:`alert`},le=[`disabled`],ue={class:`review-stage`},de={class:`review-meta`},fe={class:`review-actions stacked-actions`},pe=[`disabled`,`onClick`],me=[`disabled`,`onClick`],he=[`disabled`,`onClick`],y={key:2,class:`empty-state`},ge={key:0,class:`project-section`},_e={class:`section-toolbar`},ve={class:`review-list`,"data-review-queue":`shared`},ye={key:1,class:`review-error`,role:`alert`},be=[`disabled`],xe={class:`review-stage`},b={class:`review-meta`},Se={class:`review-actions`},Ce=[`disabled`,`onClick`],we=[`disabled`,`onClick`],Te={key:2,class:`empty-state`},x=ee({__name:`ReviewPage`,setup(ee){let x=te(),S=a([]),C=a([]),w=a(``),T=a(!1),E=a(``),D=a(!1),O=a(``),k=a(new Set),A=a(new Set),j=0,M=null,N=0,P=null,F=l(()=>(x.state?.projects??[]).filter(e=>e.role===`maintainer`&&Oe(e))),Ee=l(()=>F.value.map(e=>({value:e.id,label:e.name,meta:`#`+ie(e.id,26),search:re(e.id)}))),I=l(()=>F.value.find(({id:e})=>e===w.value)??null),De=l(()=>{let e=I.value;return e?e.id+`\0`+e.providerUrl:``});function Oe(e){return L(x.state,e)}function L(e,t){if(e?.capabilities?.reviewProposals!==!0)return!1;let n=e.providers?.workspaces?.find(({providerUrl:e})=>e===t.providerUrl);if(!n||n.status!==`ready`)return!1;let r=n.capabilities;return!!(r&&typeof r==`object`&&r.reviewProposals===!0)}function R(e){return e?e.personalSpaces.find(({id:t})=>t===e.activePersonalSpaceId)?.id??e.personalSpaces[0]?.id??``:``}function z(e,t){let n=(e?.projects??[]).find(n=>n.id===t&&n.role===`maintainer`&&L(e,n));return n?n.id+`\0`+n.providerUrl:``}function B(e){return e instanceof Error&&e.message?e.message:s(`common.errors.loadFailed`)}function V(e){return!!(e&&typeof e==`object`&&`name`in e&&e.name===`AbortError`)}function H(e,t,n){let r=new Set(e.value);n?r.add(t):r.delete(t),e.value=r}function U(){j+=1,M?.abort(),M=null,S.value=[],E.value=``,T.value=!1}function W(){N+=1,P?.abort(),P=null,C.value=[],O.value=``,D.value=!1}function G(e,t){return t===j&&x.activePersonalSpace?.id===e}function K(e,t){let n=I.value;return t===N&&n?.id===e.id&&n.providerUrl===e.providerUrl}function q(e,t,n){return G(n,t)&&S.value.some(({id:t})=>t===e.id)}function J(e,t,n){return K(t,n)&&C.value.some(({id:t})=>t===e.id)}function Y(e,t){return e+`\0`+t}async function X(e=x.activePersonalSpace?.id){M?.abort();let t=++j,n=new AbortController;if(M=n,T.value=!0,E.value=``,!e){T.value=!1,M===n&&(M=null);return}try{let r=await g(`/api/personal-review?`+new URLSearchParams({personalSpaceId:e,status:`pending`}),{signal:n.signal});if(!G(e,t)||n.signal.aborted)return;S.value=r.drafts??[]}catch(r){if(!G(e,t)||n.signal.aborted||V(r))return;E.value=B(r)}finally{t===j&&M===n&&(T.value=!1,M=null)}}async function Z(){let e=I.value;if(!e)return;P?.abort();let t=++N,n=new AbortController;P=n,D.value=!0,O.value=``;try{let r=await g(`/api/review?`+new URLSearchParams({projectId:e.id,providerUrl:e.providerUrl,status:`pending`}),{signal:n.signal});if(!K(e,t)||n.signal.aborted)return;C.value=r.proposals??[]}catch(r){if(!K(e,t)||n.signal.aborted||V(r))return;O.value=B(r)}finally{t===N&&P===n&&(D.value=!1,P=null)}}async function Q(e,t){let n=x.activePersonalSpace?.id,r=j;if(!(!n||T.value||E.value||!q(e,r,n))&&!k.value.has(e.id)){H(k,e.id,!0);try{if(T.value||E.value||!q(e,r,n)||(await h(`/api/personal-review/`+encodeURIComponent(e.id)+`/decision`,{decision:t}),!G(n,r)))return;await Promise.all([X(n),x.refresh()])}catch(e){G(n,r)&&!V(e)&&(E.value=B(e))}finally{H(k,e.id,!1)}}}async function $(e,t){let n=I.value,r=N;if(!n||D.value||O.value||!J(e,n,r))return;let i=Y(n.id,e.id);if(!A.value.has(i)){H(A,i,!0);try{if(D.value||O.value||!J(e,n,r)||(await h(`/api/review/`+encodeURIComponent(e.id)+`/decision`,{projectId:n.id,providerUrl:n.providerUrl,decision:t,note:null}),!K(n,r)))return;await Z()}catch(e){K(n,r)&&!V(e)&&(O.value=B(e))}finally{H(A,i,!1)}}}return i(()=>x.state,(e,t)=>{if(!e||!t)return;let n=R(t),r=R(e);r&&r===n&&X(r);let i=w.value,a=z(t,i),o=z(e,i);o&&o===a&&Z()},{flush:`sync`}),i(()=>x.activePersonalSpace?.id??``,e=>{U(),e&&X(e)},{immediate:!0,flush:`sync`}),i(F,e=>{e.some(({id:e})=>e===w.value)||(w.value=e[0]?.id??``)},{immediate:!0,flush:`sync`}),i(De,()=>{W(),I.value&&Z()},{immediate:!0,flush:`sync`}),e(()=>{U(),W()}),(e,i)=>(n(),c(`section`,ae,[o(`div`,oe,[o(`h3`,null,u(f(s)(`pages.review.personalTitle`)),1)]),o(`div`,se,[T.value?(n(),p(_,{key:0,variant:`compact`,label:f(s)(`pages.review.loadingPersonal`)},null,8,[`label`])):m(``,!0),E.value?(n(),c(`div`,ce,[o(`span`,null,u(E.value),1),o(`button`,{class:`secondary-action`,type:`button`,disabled:T.value,onClick:i[0]||=e=>X()},u(f(s)(`common.actions.retry`)),9,le)])):m(``,!0),(n(!0),c(d,null,r(S.value,e=>(n(),c(`article`,{key:e.id,class:`review-item review-item-detailed`},[o(`div`,null,[o(`div`,ue,u(f(s)(`pages.review.beforePublic`)),1),o(`h4`,null,u(e.episode.name),1),o(`p`,null,u(e.episode.summary||e.episode.source_description),1),o(`div`,de,[o(`span`,null,u(f(s)(`common.counts.entities`,{count:e.episode.entities?.length??0})),1),o(`span`,null,u(f(s)(`common.counts.relationships`,{count:e.episode.relationships?.length??0})),1),o(`span`,null,u(f(v)(e.created_at)),1)])]),o(`div`,fe,[k.value.has(e.id)?(n(),p(_,{key:0,variant:`inline`,label:f(s)(`pages.review.savingDecision`)},null,8,[`label`])):m(``,!0),o(`button`,{class:`secondary-action`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`keep_personal`)},u(f(s)(`pages.review.keepPersonal`)),9,pe),o(`button`,{class:`reject`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`ignore`)},u(f(s)(`pages.review.ignore`)),9,me),f(x).state?.capabilities?.submitKnowledge?(n(),c(`button`,{key:1,class:`approve`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`submit_public`)},u(f(s)(`pages.review.submitPublic`)),9,he)):m(``,!0)])]))),128)),!T.value&&!E.value&&!S.value.length?(n(),c(`div`,y,u(f(s)(`pages.review.noPersonalDrafts`)),1)):m(``,!0)]),f(x).state?.capabilities?.reviewProposals&&F.value.length?(n(),c(`section`,ge,[o(`div`,_e,[o(`div`,null,[o(`h3`,null,u(f(s)(`pages.review.publicTitle`)),1)]),t(ne,{modelValue:w.value,"onUpdate:modelValue":i[1]||=e=>w.value=e,options:Ee.value,label:f(s)(`pages.review.projectLabel`),"control-id":`review-project`,searchable:``},null,8,[`modelValue`,`options`,`label`])]),o(`div`,ve,[D.value?(n(),p(_,{key:0,variant:`compact`,label:f(s)(`pages.review.loadingPublic`)},null,8,[`label`])):m(``,!0),O.value?(n(),c(`div`,ye,[o(`span`,null,u(O.value),1),o(`button`,{class:`secondary-action`,type:`button`,disabled:D.value,onClick:i[2]||=e=>Z()},u(f(s)(`common.actions.retry`)),9,be)])):m(``,!0),(n(!0),c(d,null,r(C.value,e=>(n(),c(`article`,{key:e.id,class:`review-item`},[o(`div`,null,[o(`div`,xe,u(f(s)(`pages.review.maintainerReview`)),1),o(`h4`,null,u(e.episode.name),1),o(`p`,null,u(e.episode.summary||e.episode.source_description),1),o(`div`,b,[o(`span`,null,u(f(v)(e.created_at)),1)])]),o(`div`,Se,[A.value.has(Y(w.value,e.id))?(n(),p(_,{key:0,variant:`inline`,label:f(s)(`pages.review.savingDecision`)},null,8,[`label`])):m(``,!0),o(`button`,{class:`reject`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`reject`)},u(f(s)(`pages.review.reject`)),9,Ce),o(`button`,{class:`approve`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`approve`)},u(f(s)(`pages.review.approve`)),9,we)])]))),128)),!D.value&&!O.value&&!C.value.length?(n(),c(`div`,Te,u(f(s)(`pages.review.noProposals`)),1)):m(``,!0)])])):m(``,!0)]))}});export{x as default};
1
+ import{A as e,C as t,M as n,P as r,R as i,X as a,_ as o,a as s,b as c,g as l,it as u,m as d,tt as f,v as p,w as ee,y as m}from"./i18n-b14l2pQA.js";import{t as te}from"./console-CqzwSo7a.js";import{i as h,n as g,o as _}from"./client-DLS5FZBI.js";import{t as ne}from"./UiSelect-DcGpPQQo.js";import{r as re,t as ie}from"./identity-BWbPmZZf.js";import{u as v}from"./model-DupZy8Qb.js";var ae={class:`view`},oe={class:`section-title`},se={class:`review-list`,"data-review-queue":`personal`},ce={key:1,class:`review-error`,role:`alert`},le=[`disabled`],ue={class:`review-stage`},de={class:`review-meta`},fe={class:`review-actions stacked-actions`},pe=[`disabled`,`onClick`],me=[`disabled`,`onClick`],he=[`disabled`,`onClick`],y={key:2,class:`empty-state`},ge={key:0,class:`project-section`},_e={class:`section-toolbar`},ve={class:`review-list`,"data-review-queue":`shared`},ye={key:1,class:`review-error`,role:`alert`},be=[`disabled`],xe={class:`review-stage`},b={class:`review-meta`},Se={class:`review-actions`},Ce=[`disabled`,`onClick`],we=[`disabled`,`onClick`],Te={key:2,class:`empty-state`},x=ee({__name:`ReviewPage`,setup(ee){let x=te(),S=a([]),C=a([]),w=a(``),T=a(!1),E=a(``),D=a(!1),O=a(``),k=a(new Set),A=a(new Set),j=0,M=null,N=0,P=null,F=l(()=>(x.state?.projects??[]).filter(e=>e.role===`maintainer`&&Oe(e))),Ee=l(()=>F.value.map(e=>({value:e.id,label:e.name,meta:`#`+ie(e.id,26),search:re(e.id)}))),I=l(()=>F.value.find(({id:e})=>e===w.value)??null),De=l(()=>{let e=I.value;return e?e.id+`\0`+e.providerUrl:``});function Oe(e){return L(x.state,e)}function L(e,t){if(e?.capabilities?.reviewProposals!==!0)return!1;let n=e.providers?.workspaces?.find(({providerUrl:e})=>e===t.providerUrl);if(!n||n.status!==`ready`)return!1;let r=n.capabilities;return!!(r&&typeof r==`object`&&r.reviewProposals===!0)}function R(e){return e?e.personalSpaces.find(({id:t})=>t===e.activePersonalSpaceId)?.id??e.personalSpaces[0]?.id??``:``}function z(e,t){let n=(e?.projects??[]).find(n=>n.id===t&&n.role===`maintainer`&&L(e,n));return n?n.id+`\0`+n.providerUrl:``}function B(e){return e instanceof Error&&e.message?e.message:s(`common.errors.loadFailed`)}function V(e){return!!(e&&typeof e==`object`&&`name`in e&&e.name===`AbortError`)}function H(e,t,n){let r=new Set(e.value);n?r.add(t):r.delete(t),e.value=r}function U(){j+=1,M?.abort(),M=null,S.value=[],E.value=``,T.value=!1}function W(){N+=1,P?.abort(),P=null,C.value=[],O.value=``,D.value=!1}function G(e,t){return t===j&&x.activePersonalSpace?.id===e}function K(e,t){let n=I.value;return t===N&&n?.id===e.id&&n.providerUrl===e.providerUrl}function q(e,t,n){return G(n,t)&&S.value.some(({id:t})=>t===e.id)}function J(e,t,n){return K(t,n)&&C.value.some(({id:t})=>t===e.id)}function Y(e,t){return e+`\0`+t}async function X(e=x.activePersonalSpace?.id){M?.abort();let t=++j,n=new AbortController;if(M=n,T.value=!0,E.value=``,!e){T.value=!1,M===n&&(M=null);return}try{let r=await g(`/api/personal-review?`+new URLSearchParams({personalSpaceId:e,status:`pending`}),{signal:n.signal});if(!G(e,t)||n.signal.aborted)return;S.value=r.drafts??[]}catch(r){if(!G(e,t)||n.signal.aborted||V(r))return;E.value=B(r)}finally{t===j&&M===n&&(T.value=!1,M=null)}}async function Z(){let e=I.value;if(!e)return;P?.abort();let t=++N,n=new AbortController;P=n,D.value=!0,O.value=``;try{let r=await g(`/api/review?`+new URLSearchParams({projectId:e.id,providerUrl:e.providerUrl,status:`pending`}),{signal:n.signal});if(!K(e,t)||n.signal.aborted)return;C.value=r.proposals??[]}catch(r){if(!K(e,t)||n.signal.aborted||V(r))return;O.value=B(r)}finally{t===N&&P===n&&(D.value=!1,P=null)}}async function Q(e,t){let n=x.activePersonalSpace?.id,r=j;if(!(!n||T.value||E.value||!q(e,r,n))&&!k.value.has(e.id)){H(k,e.id,!0);try{if(T.value||E.value||!q(e,r,n)||(await h(`/api/personal-review/`+encodeURIComponent(e.id)+`/decision`,{decision:t}),!G(n,r)))return;await Promise.all([X(n),x.refresh()])}catch(e){G(n,r)&&!V(e)&&(E.value=B(e))}finally{H(k,e.id,!1)}}}async function $(e,t){let n=I.value,r=N;if(!n||D.value||O.value||!J(e,n,r))return;let i=Y(n.id,e.id);if(!A.value.has(i)){H(A,i,!0);try{if(D.value||O.value||!J(e,n,r)||(await h(`/api/review/`+encodeURIComponent(e.id)+`/decision`,{projectId:n.id,providerUrl:n.providerUrl,decision:t,note:null}),!K(n,r)))return;await Z()}catch(e){K(n,r)&&!V(e)&&(O.value=B(e))}finally{H(A,i,!1)}}}return i(()=>x.state,(e,t)=>{if(!e||!t)return;let n=R(t),r=R(e);r&&r===n&&X(r);let i=w.value,a=z(t,i),o=z(e,i);o&&o===a&&Z()},{flush:`sync`}),i(()=>x.activePersonalSpace?.id??``,e=>{U(),e&&X(e)},{immediate:!0,flush:`sync`}),i(F,e=>{e.some(({id:e})=>e===w.value)||(w.value=e[0]?.id??``)},{immediate:!0,flush:`sync`}),i(De,()=>{W(),I.value&&Z()},{immediate:!0,flush:`sync`}),e(()=>{U(),W()}),(e,i)=>(n(),c(`section`,ae,[o(`div`,oe,[o(`h3`,null,u(f(s)(`pages.review.personalTitle`)),1)]),o(`div`,se,[T.value?(n(),p(_,{key:0,variant:`compact`,label:f(s)(`pages.review.loadingPersonal`)},null,8,[`label`])):m(``,!0),E.value?(n(),c(`div`,ce,[o(`span`,null,u(E.value),1),o(`button`,{class:`secondary-action`,type:`button`,disabled:T.value,onClick:i[0]||=e=>X()},u(f(s)(`common.actions.retry`)),9,le)])):m(``,!0),(n(!0),c(d,null,r(S.value,e=>(n(),c(`article`,{key:e.id,class:`review-item review-item-detailed`},[o(`div`,null,[o(`div`,ue,u(f(s)(`pages.review.beforePublic`)),1),o(`h4`,null,u(e.episode.name),1),o(`p`,null,u(e.episode.summary||e.episode.source_description),1),o(`div`,de,[o(`span`,null,u(f(s)(`common.counts.entities`,{count:e.episode.entities?.length??0})),1),o(`span`,null,u(f(s)(`common.counts.relationships`,{count:e.episode.relationships?.length??0})),1),o(`span`,null,u(f(v)(e.created_at)),1)])]),o(`div`,fe,[k.value.has(e.id)?(n(),p(_,{key:0,variant:`inline`,label:f(s)(`pages.review.savingDecision`)},null,8,[`label`])):m(``,!0),o(`button`,{class:`secondary-action`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`keep_personal`)},u(f(s)(`pages.review.keepPersonal`)),9,pe),o(`button`,{class:`reject`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`ignore`)},u(f(s)(`pages.review.ignore`)),9,me),f(x).state?.capabilities?.submitKnowledge?(n(),c(`button`,{key:1,class:`approve`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`submit_public`)},u(f(s)(`pages.review.submitPublic`)),9,he)):m(``,!0)])]))),128)),!T.value&&!E.value&&!S.value.length?(n(),c(`div`,y,u(f(s)(`pages.review.noPersonalDrafts`)),1)):m(``,!0)]),f(x).state?.capabilities?.reviewProposals&&F.value.length?(n(),c(`section`,ge,[o(`div`,_e,[o(`div`,null,[o(`h3`,null,u(f(s)(`pages.review.publicTitle`)),1)]),t(ne,{modelValue:w.value,"onUpdate:modelValue":i[1]||=e=>w.value=e,options:Ee.value,label:f(s)(`pages.review.projectLabel`),"control-id":`review-project`,searchable:``},null,8,[`modelValue`,`options`,`label`])]),o(`div`,ve,[D.value?(n(),p(_,{key:0,variant:`compact`,label:f(s)(`pages.review.loadingPublic`)},null,8,[`label`])):m(``,!0),O.value?(n(),c(`div`,ye,[o(`span`,null,u(O.value),1),o(`button`,{class:`secondary-action`,type:`button`,disabled:D.value,onClick:i[2]||=e=>Z()},u(f(s)(`common.actions.retry`)),9,be)])):m(``,!0),(n(!0),c(d,null,r(C.value,e=>(n(),c(`article`,{key:e.id,class:`review-item`},[o(`div`,null,[o(`div`,xe,u(f(s)(`pages.review.maintainerReview`)),1),o(`h4`,null,u(e.episode.name),1),o(`p`,null,u(e.episode.summary||e.episode.source_description),1),o(`div`,b,[o(`span`,null,u(f(v)(e.created_at)),1)])]),o(`div`,Se,[A.value.has(Y(w.value,e.id))?(n(),p(_,{key:0,variant:`inline`,label:f(s)(`pages.review.savingDecision`)},null,8,[`label`])):m(``,!0),o(`button`,{class:`reject`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`reject`)},u(f(s)(`pages.review.reject`)),9,Ce),o(`button`,{class:`approve`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`approve`)},u(f(s)(`pages.review.approve`)),9,we)])]))),128)),!D.value&&!O.value&&!C.value.length?(n(),c(`div`,Te,u(f(s)(`pages.review.noProposals`)),1)):m(``,!0)])])):m(``,!0)]))}});export{x as default};
@@ -1 +1 @@
1
- import{A as e,B as t,M as n,P as r,R as i,X as a,_ as o,a as s,b as c,g as ee,it as l,j as te,m as u,n as d,nt as f,tt as p,v as m,w as h,y as g}from"./i18n-CCMR4gDS.js";import{n as _,o as ne}from"./client-CUTkF3t4.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as y}from"./useApi-CROJJdhE-DlOiu8lP.js";import{t as b}from"./vue-router-DjqEU4W2.js";var x=()=>_(`/api/roundtable/threads`),S=e=>_(`/api/roundtable/threads/${encodeURIComponent(e)}`),re={class:`view roundtable-view`},ie={key:1,class:`ui-empty`,role:`alert`},ae={key:2,class:`roundtable-empty`},C={key:3,class:`roundtable-layout`},w=[`aria-label`],T={class:`roundtable-faces`,"aria-hidden":`true`},E={class:`roundtable-thread-copy`},D={key:0,class:`roundtable-preview`},O={class:`roundtable-thread-meta`},k=[`datetime`],A={key:0,class:`ui-badge ui-badge--warning`},j={key:0,class:`roundtable-timeline`,"data-testid":`roundtable-timeline`},M={class:`ui-meta`},N={class:`roundtable-avatar`,"aria-hidden":`true`},P={class:`roundtable-bubble`},F={class:`roundtable-byline`},I={key:0,class:`ui-badge`},L={class:`ui-meta`},R=[`datetime`],z={class:`roundtable-body`},B={key:0,class:`roundtable-delivery`},V={key:1,class:`roundtable-select ui-meta`},H=v(h({__name:`RoundtablesPage`,setup(h){let _=y(),v=a([]),H=a(null),U=a(!0),W=a(``),G=ee(()=>typeof _.params.threadId==`string`?_.params.threadId:``),K={claude_code:`Claude Code`,codex:`Codex`,cursor:`Cursor`,claude:`Claude`,other:`Agent`},q,J=0;async function Y(){let e=++J;try{let[t,n]=await Promise.all([x(),G.value?S(G.value):Promise.resolve(null)]);if(e!==J)return;v.value=t.threads,H.value=n,W.value=``}catch(t){e===J&&(W.value=t instanceof Error?t.message:String(t))}finally{e===J&&(U.value=!1)}}i(G,()=>{H.value=null,Y()}),te(()=>{Y(),q=setInterval(()=>{document.visibilityState===`visible`&&Y()},5e3)}),e(()=>clearInterval(q));let X=e=>e.client?K[e.client]??e.client:``,Z=e=>(e.name??`?`).trim().slice(0,1).toUpperCase();function Q(e){let t=new Date(e);return Number.isNaN(t.valueOf())?``:new Intl.DateTimeFormat(d(),{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t)}function $(e){if(e.kind===`reply`){let t=e.via?.split(`:`)[1];return t&&[`resume`,`new`,`inbox`].includes(t)?s(`roundtable.via.${t}`):``}return e.status===`answered`?``:s(`roundtable.status.${e.status}`)}return(e,i)=>(n(),c(`section`,re,[U.value?(n(),m(ne,{key:0,label:p(s)(`roundtable.loading`)},null,8,[`label`])):W.value&&!v.value.length?(n(),c(`div`,ie,[o(`p`,null,l(p(s)(`roundtable.loadFailed`))+` · `+l(W.value),1),o(`button`,{class:`ui-button`,type:`button`,onClick:Y},l(p(s)(`roundtable.retry`)),1)])):v.value.length?(n(),c(`div`,C,[o(`nav`,{class:`roundtable-threads`,"aria-label":p(s)(`roundtable.threads`)},[(n(!0),c(u,null,r(v.value,e=>(n(),m(p(b),{key:e.id,class:f([`roundtable-thread`,{"is-active":e.id===G.value}]),to:`/roundtables/${encodeURIComponent(e.id)}`,"data-testid":`roundtable-thread`},{default:t(()=>[o(`span`,T,[(n(!0),c(u,null,r(e.participants.slice(0,3),e=>(n(),c(`span`,{key:e.agentId??e.name??``},l(Z(e)),1))),128))]),o(`span`,E,[o(`strong`,null,l(e.subject),1),o(`small`,null,l(e.participants.map(e=>e.name).join(` · `)),1),e.last?(n(),c(`small`,D,l(e.last.from)+`:`+l(e.last.body),1)):g(``,!0)]),o(`span`,O,[o(`time`,{datetime:e.updatedAt},l(Q(e.updatedAt)),9,k),e.waiting?(n(),c(`span`,A,l(p(s)(`roundtable.waiting`)),1)):g(``,!0)])]),_:2},1032,[`class`,`to`]))),128))],8,w),H.value?(n(),c(`article`,j,[o(`header`,null,[o(`h2`,null,l(H.value.subject),1),o(`p`,M,l(p(s)(`roundtable.messages`,{count:H.value.messages.length}))+` · `+l(Q(H.value.createdAt)),1)]),o(`ol`,null,[(n(!0),c(u,null,r(H.value.messages,e=>(n(),c(`li`,{key:e.id,class:f([`roundtable-message`,`is-${e.kind}`])},[o(`span`,N,l(Z(e.from)),1),o(`div`,P,[o(`p`,F,[o(`strong`,null,l(e.from.name),1),X(e.from)?(n(),c(`span`,I,l(X(e.from)),1)):g(``,!0),o(`span`,L,l(p(s)(`roundtable.to`))+` `+l(e.to.name),1),o(`time`,{class:`ui-meta`,datetime:e.createdAt},l(Q(e.createdAt)),9,R)]),o(`p`,z,l(e.body),1),$(e)?(n(),c(`p`,B,l($(e)),1)):g(``,!0)])],2))),128))])])):(n(),c(`p`,V,l(p(s)(`roundtable.select`)),1))])):(n(),c(`div`,ae,[o(`strong`,null,l(p(s)(`roundtable.empty`)),1),o(`p`,null,l(p(s)(`roundtable.emptyHint`)),1)]))]))}}),[[`__scopeId`,`data-v-9d81b44c`]]);export{H as default};
1
+ import{A as e,B as t,M as n,P as r,R as i,X as a,_ as o,a as s,b as c,g as ee,it as l,j as te,m as u,n as d,nt as f,tt as p,v as m,w as h,y as g}from"./i18n-b14l2pQA.js";import{n as _,o as ne}from"./client-DLS5FZBI.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as y}from"./useApi-CROJJdhE-CEQAEuug.js";import{t as b}from"./vue-router-B6ZjK-Br.js";var x=()=>_(`/api/roundtable/threads`),S=e=>_(`/api/roundtable/threads/${encodeURIComponent(e)}`),re={class:`view roundtable-view`},ie={key:1,class:`ui-empty`,role:`alert`},ae={key:2,class:`roundtable-empty`},C={key:3,class:`roundtable-layout`},w=[`aria-label`],T={class:`roundtable-faces`,"aria-hidden":`true`},E={class:`roundtable-thread-copy`},D={key:0,class:`roundtable-preview`},O={class:`roundtable-thread-meta`},k=[`datetime`],A={key:0,class:`ui-badge ui-badge--warning`},j={key:0,class:`roundtable-timeline`,"data-testid":`roundtable-timeline`},M={class:`ui-meta`},N={class:`roundtable-avatar`,"aria-hidden":`true`},P={class:`roundtable-bubble`},F={class:`roundtable-byline`},I={key:0,class:`ui-badge`},L={class:`ui-meta`},R=[`datetime`],z={class:`roundtable-body`},B={key:0,class:`roundtable-delivery`},V={key:1,class:`roundtable-select ui-meta`},H=v(h({__name:`RoundtablesPage`,setup(h){let _=y(),v=a([]),H=a(null),U=a(!0),W=a(``),G=ee(()=>typeof _.params.threadId==`string`?_.params.threadId:``),K={claude_code:`Claude Code`,codex:`Codex`,cursor:`Cursor`,claude:`Claude`,other:`Agent`},q,J=0;async function Y(){let e=++J;try{let[t,n]=await Promise.all([x(),G.value?S(G.value):Promise.resolve(null)]);if(e!==J)return;v.value=t.threads,H.value=n,W.value=``}catch(t){e===J&&(W.value=t instanceof Error?t.message:String(t))}finally{e===J&&(U.value=!1)}}i(G,()=>{H.value=null,Y()}),te(()=>{Y(),q=setInterval(()=>{document.visibilityState===`visible`&&Y()},5e3)}),e(()=>clearInterval(q));let X=e=>e.client?K[e.client]??e.client:``,Z=e=>(e.name??`?`).trim().slice(0,1).toUpperCase();function Q(e){let t=new Date(e);return Number.isNaN(t.valueOf())?``:new Intl.DateTimeFormat(d(),{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t)}function $(e){if(e.kind===`reply`){let t=e.via?.split(`:`)[1];return t&&[`resume`,`new`,`inbox`].includes(t)?s(`roundtable.via.${t}`):``}return e.status===`answered`?``:s(`roundtable.status.${e.status}`)}return(e,i)=>(n(),c(`section`,re,[U.value?(n(),m(ne,{key:0,label:p(s)(`roundtable.loading`)},null,8,[`label`])):W.value&&!v.value.length?(n(),c(`div`,ie,[o(`p`,null,l(p(s)(`roundtable.loadFailed`))+` · `+l(W.value),1),o(`button`,{class:`ui-button`,type:`button`,onClick:Y},l(p(s)(`roundtable.retry`)),1)])):v.value.length?(n(),c(`div`,C,[o(`nav`,{class:`roundtable-threads`,"aria-label":p(s)(`roundtable.threads`)},[(n(!0),c(u,null,r(v.value,e=>(n(),m(p(b),{key:e.id,class:f([`roundtable-thread`,{"is-active":e.id===G.value}]),to:`/roundtables/${encodeURIComponent(e.id)}`,"data-testid":`roundtable-thread`},{default:t(()=>[o(`span`,T,[(n(!0),c(u,null,r(e.participants.slice(0,3),e=>(n(),c(`span`,{key:e.agentId??e.name??``},l(Z(e)),1))),128))]),o(`span`,E,[o(`strong`,null,l(e.subject),1),o(`small`,null,l(e.participants.map(e=>e.name).join(` · `)),1),e.last?(n(),c(`small`,D,l(e.last.from)+`:`+l(e.last.body),1)):g(``,!0)]),o(`span`,O,[o(`time`,{datetime:e.updatedAt},l(Q(e.updatedAt)),9,k),e.waiting?(n(),c(`span`,A,l(p(s)(`roundtable.waiting`)),1)):g(``,!0)])]),_:2},1032,[`class`,`to`]))),128))],8,w),H.value?(n(),c(`article`,j,[o(`header`,null,[o(`h2`,null,l(H.value.subject),1),o(`p`,M,l(p(s)(`roundtable.messages`,{count:H.value.messages.length}))+` · `+l(Q(H.value.createdAt)),1)]),o(`ol`,null,[(n(!0),c(u,null,r(H.value.messages,e=>(n(),c(`li`,{key:e.id,class:f([`roundtable-message`,`is-${e.kind}`])},[o(`span`,N,l(Z(e.from)),1),o(`div`,P,[o(`p`,F,[o(`strong`,null,l(e.from.name),1),X(e.from)?(n(),c(`span`,I,l(X(e.from)),1)):g(``,!0),o(`span`,L,l(p(s)(`roundtable.to`))+` `+l(e.to.name),1),o(`time`,{class:`ui-meta`,datetime:e.createdAt},l(Q(e.createdAt)),9,R)]),o(`p`,z,l(e.body),1),$(e)?(n(),c(`p`,B,l($(e)),1)):g(``,!0)])],2))),128))])])):(n(),c(`p`,V,l(p(s)(`roundtable.select`)),1))])):(n(),c(`div`,ae,[o(`strong`,null,l(p(s)(`roundtable.empty`)),1),o(`p`,null,l(p(s)(`roundtable.emptyHint`)),1)]))]))}}),[[`__scopeId`,`data-v-9d81b44c`]]);export{H as default};
@@ -1 +1 @@
1
- import{A as e,B as t,C as n,M as r,P as i,R as a,S as ee,V as o,X as s,_ as c,a as l,b as u,c as d,g as f,i as p,it as m,j as te,m as h,n as ne,p as re,r as ie,rt as g,tt as _,u as v,v as y,w as ae,y as b}from"./i18n-CCMR4gDS.js";import{t as oe}from"./console-CG8tdtSs.js";import{a as se,n as x,o as S}from"./client-CUTkF3t4.js";import{t as C}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as w}from"./UiSelect-D5Xj5Ec4.js";import{t as T}from"./UiDisclosure-8wE8YuE4.js";import{i as ce,n as E,s as le,t as D}from"./conversation-launcher-settings-CyZkLJg7.js";var ue=[`aria-label`],de={class:`settings-content`},fe={key:1,class:`settings-top-status`,role:`status`},pe={key:0},me={key:1},he=[`aria-busy`],ge=[`disabled`],_e={class:`settings-card behavior-card`},ve={class:`setting-list`},ye={class:`setting-row`},O=[`checked`],k={class:`setting-row`},A=[`checked`],j={class:`setting-row`},M={class:`setting-row select-row`},N={class:`setting-row select-row`},P={class:`setting-row select-row`},be={key:0,class:`restart-chip`},xe={class:`port-section`},Se={class:`port-grid`},Ce=[`onUpdate:modelValue`],we={class:`port-section development-section`},Te={class:`conversation-launcher-list`},Ee={class:`conversation-launcher-heading`},De={class:`conversation-launcher-switch`},Oe=[`onUpdate:modelValue`],ke={key:0,class:`conversation-launcher-note`},Ae={key:1,class:`conversation-launcher-fields`},je=[`onUpdate:modelValue`],Me={class:`conversation-launcher-template`},Ne=[`onUpdate:modelValue`],Pe={key:0,class:`settings-error`,role:`alert`},Fe={class:`settings-card resource-card`},Ie={class:`section-heading`},Le={key:0},Re=[`disabled`],ze={key:1,class:`settings-error`,role:`alert`},Be={class:`resource-totals`},Ve={class:`resource-breakdowns`},He={class:`resource-group`},Ue={class:`resource-group`},We={class:`resource-notes`},Ge={key:0},Ke={key:1},qe={key:4,class:`settings-error`,role:`alert`},F=C(ae({__name:`SettingsPage`,setup(ae){let C=oe(),F=s(null),I=s(null),L=s(null),R=s(!0),z=f({get:()=>C.settingsSaving,set:e=>{C.settingsSaving=e}}),B=s(!1),V=s(``),H=s(``),U=s(!1),W=null,Je=[`console`,`personalProvider`,`personalNeo4jHttp`,`personalNeo4jBolt`],G=f({get:()=>ne(),set:e=>p(e)}),K=[5,10,30,60],Ye=ce,Xe=f(()=>[{value:`zh-CN`,label:l(`settings.behavior.zh`)},{value:`en-US`,label:l(`settings.behavior.en`)}]),Ze=f(()=>K.map(e=>({value:String(e),label:l(`settings.resources.refreshUnit`,{seconds:e})}))),Qe=f(()=>[{value:`native`,label:l(`settings.behavior.runtimeModes.native`)},{value:`container`,label:l(`settings.behavior.runtimeModes.container`)}]),$e=f(()=>[{value:`any`,label:l(`settings.conversationLaunchers.idFormats.any`)},{value:`uuid`,label:l(`settings.conversationLaunchers.idFormats.uuid`)}]),et=f(()=>C.state?.capturePolicy?.enabled!==!1),tt=f(()=>C.state?.agentAccessPolicy?.enabled!==!1),nt=f(()=>Math.max(1,...L.value?.memory.components.map(({bytes:e})=>e)??[1])),rt=f(()=>Math.max(1,...L.value?.disk.components.map(({bytes:e})=>e)??[1])),it=f(()=>I.value?.graphRuntimeMode===`container`&&Number.isFinite(L.value?.memory.hostTotalBytes)&&Number(L.value?.memory.hostTotalBytes)<=16*1024**3);te(async()=>{C.runtimeStatus===`idle`&&C.refresh(),await Promise.all([at(),q()]),R.value=!1}),e(Y),a(()=>I.value?.resourceRefreshSeconds,()=>J());async function at(){try{let e=await x(`/api/system/settings`);F.value=e,I.value={...structuredClone(e.configured),conversationLaunchers:D(e.configured.conversationLaunchers)},E(e.configured.conversationLaunchers),V.value=``}catch(e){V.value=e instanceof Error?e.message:l(`settings.loadError`)}}async function q(){if(!(B.value||document.visibilityState===`hidden`)){B.value=!0;try{L.value=await x(`/api/system/resources`),H.value=``}catch(e){H.value=e instanceof Error?e.message:l(`settings.resources.unavailable`)}finally{B.value=!1}}}async function ot(){if(!(!I.value||z.value)){z.value=!0,U.value=!1;try{let e=await se(`/api/system/settings`,I.value);F.value=e,I.value={...structuredClone(e.configured),conversationLaunchers:D(e.configured.conversationLaunchers)},E(e.configured.conversationLaunchers),U.value=!0,V.value=``,window.setTimeout(()=>{U.value=!1},2400)}catch(e){V.value=e instanceof Error?e.message:l(`settings.saveError`)}finally{z.value=!1}}}function J(){Y();let e=I.value?.resourceRefreshSeconds;e&&(W=setInterval(()=>void q(),e*1e3))}function Y(){W&&clearInterval(W),W=null}function st(e){C.updateCapturePolicy(e.currentTarget.checked)}function ct(e){C.updateAgentAccessPolicy(e.currentTarget.checked)}function lt(e){(e===`zh-CN`||e===`en-US`)&&p(e)}function ut(e){let t=K.find(t=>String(t)===e);t===void 0||!I.value||(I.value.resourceRefreshSeconds=t)}function dt(e){!I.value||e!==`native`&&e!==`container`||(I.value.graphRuntimeMode=e)}function ft(e){let t=l(`settings.conversationLaunchers.applications.${e}`);return t===`settings.conversationLaunchers.applications.${e}`?le(e):t}function pt(e){return F.value?.active.ports[e]??`—`}function X(e){let t=`settings.resources.components.${e.id.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}`;return ie.global.te(t)?l(t):e.label}function Z(e){if(!Number.isFinite(e))return`—`;let t=Number(e),n=[`B`,`KiB`,`MiB`,`GiB`,`TiB`],r=t,i=0;for(;r>=1024&&i<n.length-1;)r/=1024,i+=1;let a=i===0||r>=100?0:r>=10?1:2;return`${r.toFixed(a)} ${n[i]}`}function Q(e,t){return`${Math.max(3,Math.round(e/t*100))}%`}function $(e){return e?new Intl.DateTimeFormat(G.value,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}).format(new Date(e)):`—`}function mt(e){let t=e.target.closest(`details`);for(;t;)t.open=!0,t=t.parentElement?.closest(`details`)??null}return(e,a)=>(r(),u(`section`,{class:`view settings-view`,"aria-label":_(l)(`settings.aria`)},[c(`div`,de,[z.value?(r(),y(S,{key:0,variant:`inline`,label:_(l)(`settings.saving`)},null,8,[`label`])):b(``,!0),U.value||F.value?.restartRequired?(r(),u(`div`,fe,[U.value?(r(),u(`strong`,pe,m(_(l)(`settings.saved`)),1)):b(``,!0),F.value?.restartRequired?(r(),u(`span`,me,m(_(l)(`settings.restartCopy`)),1)):b(``,!0)])):b(``,!0),R.value&&!I.value?(r(),y(S,{key:2,variant:`compact`,label:_(l)(`settings.loading`)},null,8,[`label`])):b(``,!0),I.value?(r(),u(`form`,{key:3,id:`settings-form`,class:`settings-form`,"aria-busy":z.value,onSubmit:re(ot,[`prevent`]),onInvalidCapture:mt},[c(`fieldset`,{class:`settings-fields`,disabled:z.value},[c(`section`,_e,[c(`h3`,null,m(_(l)(`settings.behavior.title`)),1),c(`div`,ve,[c(`label`,ye,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.capture`)),1),c(`small`,null,m(_(l)(`settings.behavior.captureMeta`)),1)]),c(`input`,{type:`checkbox`,role:`switch`,checked:et.value,onChange:st},null,40,O)]),c(`label`,k,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.agentAccess`)),1),c(`small`,null,m(_(l)(`settings.behavior.agentAccessMeta`)),1)]),c(`input`,{type:`checkbox`,role:`switch`,checked:tt.value,onChange:ct},null,40,A)]),c(`label`,j,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.lanAccess`)),1),c(`small`,null,m(_(l)(`settings.behavior.lanAccessMeta`)),1)]),o(c(`input`,{"onUpdate:modelValue":a[0]||=e=>I.value.lanAccess=e,type:`checkbox`,role:`switch`},null,512),[[d,I.value.lanAccess]])]),c(`div`,M,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.runtimeMode`)),1),c(`small`,null,m(it.value?_(l)(`settings.behavior.runtimeRecommendation`):_(l)(`settings.behavior.runtimeModeMeta`,{mode:_(l)(`settings.behavior.runtimeModes.${F.value?.active.graphRuntimeMode??I.value.graphRuntimeMode}`)})),1)]),n(w,{class:`settings-select`,"control-id":`settings-runtime-mode`,"model-value":I.value.graphRuntimeMode,options:Qe.value,label:_(l)(`settings.behavior.runtimeMode`),"onUpdate:modelValue":dt},null,8,[`model-value`,`options`,`label`])]),c(`div`,N,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.language`)),1)]),n(w,{class:`settings-select`,"control-id":`settings-language`,"model-value":G.value,options:Xe.value,label:_(l)(`settings.behavior.language`),"onUpdate:modelValue":lt},null,8,[`model-value`,`options`,`label`])]),c(`div`,P,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.resources.refresh`)),1)]),n(w,{class:`settings-select`,"control-id":`settings-refresh-interval`,"model-value":String(I.value.resourceRefreshSeconds),options:Ze.value,label:_(l)(`settings.resources.refresh`),"onUpdate:modelValue":ut},null,8,[`model-value`,`options`,`label`])])])]),n(T,{class:`settings-card ports-card`,title:_(l)(`settings.ports.title`)},{default:t(()=>[F.value?.restartRequired?(r(),u(`span`,be,m(_(l)(`settings.restartRequired`)),1)):b(``,!0),c(`div`,xe,[c(`h4`,null,m(_(l)(`settings.ports.personal`)),1),c(`div`,Se,[(r(),u(h,null,i(Je,e=>c(`label`,{key:e},[c(`span`,null,m(_(l)(`settings.ports.${e}`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.ports[e]=t,type:`number`,min:`1`,max:`65535`,required:``},null,8,Ce),[[v,I.value.ports[e],void 0,{number:!0}]]),c(`small`,null,m(_(l)(`settings.ports.active`,{port:pt(e)})),1)])),64))])]),c(`div`,we,[c(`div`,null,[c(`h4`,null,m(_(l)(`settings.ports.development`)),1),c(`span`,null,m(_(l)(`settings.ports.developing`)),1)]),c(`p`,null,m(_(l)(`settings.ports.developmentMeta`)),1)])]),_:1},8,[`title`]),n(T,{id:`conversation-launchers`,class:`settings-card conversation-launcher-card`,title:_(l)(`settings.conversationLaunchers.title`)},{default:t(()=>[c(`div`,Te,[(r(!0),u(h,null,i(_(Ye),e=>(r(),u(`article`,{key:e,class:`conversation-launcher-row`},[c(`div`,Ee,[c(`span`,null,[c(`strong`,null,m(ft(e)),1),c(`small`,null,m(_(l)(`settings.conversationLaunchers.sourceId`,{id:e})),1)]),c(`label`,De,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.enabled`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].enabled=t,type:`checkbox`,role:`switch`},null,8,Oe),[[d,I.value.conversationLaunchers[e].enabled]])])]),I.value.conversationLaunchers[e].enabled&&e===`codex`?(r(),u(`small`,ke,m(_(l)(`settings.conversationLaunchers.idFormatMeta`)),1)):b(``,!0),I.value.conversationLaunchers[e].enabled?(r(),u(`div`,Ae,[c(`label`,null,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.idFormat`)),1),n(w,{modelValue:I.value.conversationLaunchers[e].idFormat,"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].idFormat=t,class:`launcher-select`,"control-id":`settings-conversation-${e}-id-format`,options:$e.value,label:_(l)(`settings.conversationLaunchers.idFormat`)},null,8,[`modelValue`,`onUpdate:modelValue`,`control-id`,`options`,`label`])]),c(`label`,null,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.appName`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].appName=t,type:`text`,maxlength:`64`,required:``},null,8,je),[[v,I.value.conversationLaunchers[e].appName,void 0,{trim:!0}]])]),c(`label`,Me,[c(`span`,null,[ee(m(_(l)(`settings.conversationLaunchers.urlTemplate`))+` `,1),a[1]||=c(`small`,null,[c(`code`,null,`{id}`)],-1)]),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].urlTemplate=t,type:`text`,maxlength:`1024`,spellcheck:`false`,required:``},null,8,Ne),[[v,I.value.conversationLaunchers[e].urlTemplate,void 0,{trim:!0}]])])])):b(``,!0)]))),128))])]),_:1},8,[`title`])],8,ge),V.value?(r(),u(`p`,Pe,m(V.value),1)):b(``,!0)],40,he)):b(``,!0),c(`section`,Fe,[c(`header`,Ie,[c(`div`,null,[c(`h3`,null,m(_(l)(`settings.resources.title`)),1),L.value?(r(),u(`p`,Le,m(_(l)(`settings.resources.measuredAt`,{time:$(L.value.sampledAt)})),1)):b(``,!0)]),c(`button`,{class:`quiet-button`,type:`button`,disabled:B.value,onClick:q},m(_(l)(`common.actions.refresh`)),9,Re)]),B.value?(r(),y(S,{key:0,variant:L.value?`inline`:`compact`,label:_(l)(`settings.resources.loading`)},null,8,[`variant`,`label`])):b(``,!0),H.value?(r(),u(`p`,ze,m(H.value),1)):L.value?(r(),u(h,{key:2},[c(`div`,Be,[c(`article`,null,[c(`span`,null,m(_(l)(`settings.resources.memory`)),1),c(`strong`,null,m(Z(L.value.memory.usedBytes)),1),c(`small`,null,m(_(l)(`settings.resources.available`,{value:Z(L.value.memory.hostFreeBytes)})),1)]),c(`article`,null,[c(`span`,null,m(_(l)(`settings.resources.disk`)),1),c(`strong`,null,m(Z(L.value.disk.usedBytes)),1),c(`small`,null,m(_(l)(`settings.resources.available`,{value:Z(L.value.disk.hostFreeBytes)})),1)])]),n(T,{title:_(l)(`ui.usageDetails`)},{default:t(()=>[c(`div`,Ve,[c(`div`,He,[c(`h4`,null,m(_(l)(`settings.resources.memory`)),1),(r(!0),u(h,null,i(L.value.memory.components,e=>(r(),u(`div`,{key:e.id,class:`resource-row`},[c(`div`,null,[c(`span`,null,m(X(e)),1),c(`strong`,null,m(Z(e.bytes)),1)]),c(`i`,null,[c(`b`,{style:g({width:Q(e.bytes,nt.value)})},null,4)])]))),128))]),c(`div`,Ue,[c(`h4`,null,m(_(l)(`settings.resources.disk`)),1),(r(!0),u(h,null,i(L.value.disk.components,e=>(r(),u(`div`,{key:e.id,class:`resource-row`},[c(`div`,null,[c(`span`,null,m(X(e)),1),c(`strong`,null,m(Z(e.bytes)),1)]),c(`i`,null,[c(`b`,{style:g({width:Q(e.bytes,rt.value)})},null,4)])]))),128))])]),c(`div`,We,[c(`span`,null,m(_(l)(`settings.resources.diskMeasuredAt`,{time:$(L.value.disk.measuredAt)})),1),L.value.status===`partial`?(r(),u(`span`,Ge,m(_(l)(`settings.resources.partial`)),1)):b(``,!0),L.value.disk.temporaryBytes?(r(),u(`span`,Ke,m(_(l)(`settings.resources.temporary`,{value:Z(L.value.disk.temporaryBytes)})),1)):b(``,!0),c(`span`,null,m(_(l)(L.value.exclusions.includes(`shared-container-vm-overhead`)?`settings.resources.exclusionsContainer`:`settings.resources.exclusionsNative`)),1)])]),_:1},8,[`title`])],64)):b(``,!0)]),!R.value&&!I.value?(r(),u(`p`,qe,m(V.value||_(l)(`settings.loadError`)),1)):b(``,!0)])],8,ue))}}),[[`__scopeId`,`data-v-76e64a51`]]);export{F as default};
1
+ import{A as e,B as t,C as n,M as r,P as i,R as a,S as ee,V as o,X as s,_ as c,a as l,b as u,c as d,g as f,i as p,it as m,j as te,m as h,n as ne,p as re,r as ie,rt as g,tt as _,u as v,v as y,w as ae,y as b}from"./i18n-b14l2pQA.js";import{t as oe}from"./console-CqzwSo7a.js";import{a as se,n as x,o as S}from"./client-DLS5FZBI.js";import{t as C}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as w}from"./UiSelect-DcGpPQQo.js";import{t as T}from"./UiDisclosure-BS-muK5j.js";import{i as ce,n as E,s as le,t as D}from"./conversation-launcher-settings-DRoIz42V.js";var ue=[`aria-label`],de={class:`settings-content`},fe={key:1,class:`settings-top-status`,role:`status`},pe={key:0},me={key:1},he=[`aria-busy`],ge=[`disabled`],_e={class:`settings-card behavior-card`},ve={class:`setting-list`},ye={class:`setting-row`},O=[`checked`],k={class:`setting-row`},A=[`checked`],j={class:`setting-row`},M={class:`setting-row select-row`},N={class:`setting-row select-row`},P={class:`setting-row select-row`},be={key:0,class:`restart-chip`},xe={class:`port-section`},Se={class:`port-grid`},Ce=[`onUpdate:modelValue`],we={class:`port-section development-section`},Te={class:`conversation-launcher-list`},Ee={class:`conversation-launcher-heading`},De={class:`conversation-launcher-switch`},Oe=[`onUpdate:modelValue`],ke={key:0,class:`conversation-launcher-note`},Ae={key:1,class:`conversation-launcher-fields`},je=[`onUpdate:modelValue`],Me={class:`conversation-launcher-template`},Ne=[`onUpdate:modelValue`],Pe={key:0,class:`settings-error`,role:`alert`},Fe={class:`settings-card resource-card`},Ie={class:`section-heading`},Le={key:0},Re=[`disabled`],ze={key:1,class:`settings-error`,role:`alert`},Be={class:`resource-totals`},Ve={class:`resource-breakdowns`},He={class:`resource-group`},Ue={class:`resource-group`},We={class:`resource-notes`},Ge={key:0},Ke={key:1},qe={key:4,class:`settings-error`,role:`alert`},F=C(ae({__name:`SettingsPage`,setup(ae){let C=oe(),F=s(null),I=s(null),L=s(null),R=s(!0),z=f({get:()=>C.settingsSaving,set:e=>{C.settingsSaving=e}}),B=s(!1),V=s(``),H=s(``),U=s(!1),W=null,Je=[`console`,`personalProvider`,`personalNeo4jHttp`,`personalNeo4jBolt`],G=f({get:()=>ne(),set:e=>p(e)}),K=[5,10,30,60],Ye=ce,Xe=f(()=>[{value:`zh-CN`,label:l(`settings.behavior.zh`)},{value:`en-US`,label:l(`settings.behavior.en`)}]),Ze=f(()=>K.map(e=>({value:String(e),label:l(`settings.resources.refreshUnit`,{seconds:e})}))),Qe=f(()=>[{value:`native`,label:l(`settings.behavior.runtimeModes.native`)},{value:`container`,label:l(`settings.behavior.runtimeModes.container`)}]),$e=f(()=>[{value:`any`,label:l(`settings.conversationLaunchers.idFormats.any`)},{value:`uuid`,label:l(`settings.conversationLaunchers.idFormats.uuid`)}]),et=f(()=>C.state?.capturePolicy?.enabled!==!1),tt=f(()=>C.state?.agentAccessPolicy?.enabled!==!1),nt=f(()=>Math.max(1,...L.value?.memory.components.map(({bytes:e})=>e)??[1])),rt=f(()=>Math.max(1,...L.value?.disk.components.map(({bytes:e})=>e)??[1])),it=f(()=>I.value?.graphRuntimeMode===`container`&&Number.isFinite(L.value?.memory.hostTotalBytes)&&Number(L.value?.memory.hostTotalBytes)<=16*1024**3);te(async()=>{C.runtimeStatus===`idle`&&C.refresh(),await Promise.all([at(),q()]),R.value=!1}),e(Y),a(()=>I.value?.resourceRefreshSeconds,()=>J());async function at(){try{let e=await x(`/api/system/settings`);F.value=e,I.value={...structuredClone(e.configured),conversationLaunchers:D(e.configured.conversationLaunchers)},E(e.configured.conversationLaunchers),V.value=``}catch(e){V.value=e instanceof Error?e.message:l(`settings.loadError`)}}async function q(){if(!(B.value||document.visibilityState===`hidden`)){B.value=!0;try{L.value=await x(`/api/system/resources`),H.value=``}catch(e){H.value=e instanceof Error?e.message:l(`settings.resources.unavailable`)}finally{B.value=!1}}}async function ot(){if(!(!I.value||z.value)){z.value=!0,U.value=!1;try{let e=await se(`/api/system/settings`,I.value);F.value=e,I.value={...structuredClone(e.configured),conversationLaunchers:D(e.configured.conversationLaunchers)},E(e.configured.conversationLaunchers),U.value=!0,V.value=``,window.setTimeout(()=>{U.value=!1},2400)}catch(e){V.value=e instanceof Error?e.message:l(`settings.saveError`)}finally{z.value=!1}}}function J(){Y();let e=I.value?.resourceRefreshSeconds;e&&(W=setInterval(()=>void q(),e*1e3))}function Y(){W&&clearInterval(W),W=null}function st(e){C.updateCapturePolicy(e.currentTarget.checked)}function ct(e){C.updateAgentAccessPolicy(e.currentTarget.checked)}function lt(e){(e===`zh-CN`||e===`en-US`)&&p(e)}function ut(e){let t=K.find(t=>String(t)===e);t===void 0||!I.value||(I.value.resourceRefreshSeconds=t)}function dt(e){!I.value||e!==`native`&&e!==`container`||(I.value.graphRuntimeMode=e)}function ft(e){let t=l(`settings.conversationLaunchers.applications.${e}`);return t===`settings.conversationLaunchers.applications.${e}`?le(e):t}function pt(e){return F.value?.active.ports[e]??`—`}function X(e){let t=`settings.resources.components.${e.id.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}`;return ie.global.te(t)?l(t):e.label}function Z(e){if(!Number.isFinite(e))return`—`;let t=Number(e),n=[`B`,`KiB`,`MiB`,`GiB`,`TiB`],r=t,i=0;for(;r>=1024&&i<n.length-1;)r/=1024,i+=1;let a=i===0||r>=100?0:r>=10?1:2;return`${r.toFixed(a)} ${n[i]}`}function Q(e,t){return`${Math.max(3,Math.round(e/t*100))}%`}function $(e){return e?new Intl.DateTimeFormat(G.value,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}).format(new Date(e)):`—`}function mt(e){let t=e.target.closest(`details`);for(;t;)t.open=!0,t=t.parentElement?.closest(`details`)??null}return(e,a)=>(r(),u(`section`,{class:`view settings-view`,"aria-label":_(l)(`settings.aria`)},[c(`div`,de,[z.value?(r(),y(S,{key:0,variant:`inline`,label:_(l)(`settings.saving`)},null,8,[`label`])):b(``,!0),U.value||F.value?.restartRequired?(r(),u(`div`,fe,[U.value?(r(),u(`strong`,pe,m(_(l)(`settings.saved`)),1)):b(``,!0),F.value?.restartRequired?(r(),u(`span`,me,m(_(l)(`settings.restartCopy`)),1)):b(``,!0)])):b(``,!0),R.value&&!I.value?(r(),y(S,{key:2,variant:`compact`,label:_(l)(`settings.loading`)},null,8,[`label`])):b(``,!0),I.value?(r(),u(`form`,{key:3,id:`settings-form`,class:`settings-form`,"aria-busy":z.value,onSubmit:re(ot,[`prevent`]),onInvalidCapture:mt},[c(`fieldset`,{class:`settings-fields`,disabled:z.value},[c(`section`,_e,[c(`h3`,null,m(_(l)(`settings.behavior.title`)),1),c(`div`,ve,[c(`label`,ye,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.capture`)),1),c(`small`,null,m(_(l)(`settings.behavior.captureMeta`)),1)]),c(`input`,{type:`checkbox`,role:`switch`,checked:et.value,onChange:st},null,40,O)]),c(`label`,k,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.agentAccess`)),1),c(`small`,null,m(_(l)(`settings.behavior.agentAccessMeta`)),1)]),c(`input`,{type:`checkbox`,role:`switch`,checked:tt.value,onChange:ct},null,40,A)]),c(`label`,j,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.lanAccess`)),1),c(`small`,null,m(_(l)(`settings.behavior.lanAccessMeta`)),1)]),o(c(`input`,{"onUpdate:modelValue":a[0]||=e=>I.value.lanAccess=e,type:`checkbox`,role:`switch`},null,512),[[d,I.value.lanAccess]])]),c(`div`,M,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.runtimeMode`)),1),c(`small`,null,m(it.value?_(l)(`settings.behavior.runtimeRecommendation`):_(l)(`settings.behavior.runtimeModeMeta`,{mode:_(l)(`settings.behavior.runtimeModes.${F.value?.active.graphRuntimeMode??I.value.graphRuntimeMode}`)})),1)]),n(w,{class:`settings-select`,"control-id":`settings-runtime-mode`,"model-value":I.value.graphRuntimeMode,options:Qe.value,label:_(l)(`settings.behavior.runtimeMode`),"onUpdate:modelValue":dt},null,8,[`model-value`,`options`,`label`])]),c(`div`,N,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.behavior.language`)),1)]),n(w,{class:`settings-select`,"control-id":`settings-language`,"model-value":G.value,options:Xe.value,label:_(l)(`settings.behavior.language`),"onUpdate:modelValue":lt},null,8,[`model-value`,`options`,`label`])]),c(`div`,P,[c(`span`,null,[c(`strong`,null,m(_(l)(`settings.resources.refresh`)),1)]),n(w,{class:`settings-select`,"control-id":`settings-refresh-interval`,"model-value":String(I.value.resourceRefreshSeconds),options:Ze.value,label:_(l)(`settings.resources.refresh`),"onUpdate:modelValue":ut},null,8,[`model-value`,`options`,`label`])])])]),n(T,{class:`settings-card ports-card`,title:_(l)(`settings.ports.title`)},{default:t(()=>[F.value?.restartRequired?(r(),u(`span`,be,m(_(l)(`settings.restartRequired`)),1)):b(``,!0),c(`div`,xe,[c(`h4`,null,m(_(l)(`settings.ports.personal`)),1),c(`div`,Se,[(r(),u(h,null,i(Je,e=>c(`label`,{key:e},[c(`span`,null,m(_(l)(`settings.ports.${e}`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.ports[e]=t,type:`number`,min:`1`,max:`65535`,required:``},null,8,Ce),[[v,I.value.ports[e],void 0,{number:!0}]]),c(`small`,null,m(_(l)(`settings.ports.active`,{port:pt(e)})),1)])),64))])]),c(`div`,we,[c(`div`,null,[c(`h4`,null,m(_(l)(`settings.ports.development`)),1),c(`span`,null,m(_(l)(`settings.ports.developing`)),1)]),c(`p`,null,m(_(l)(`settings.ports.developmentMeta`)),1)])]),_:1},8,[`title`]),n(T,{id:`conversation-launchers`,class:`settings-card conversation-launcher-card`,title:_(l)(`settings.conversationLaunchers.title`)},{default:t(()=>[c(`div`,Te,[(r(!0),u(h,null,i(_(Ye),e=>(r(),u(`article`,{key:e,class:`conversation-launcher-row`},[c(`div`,Ee,[c(`span`,null,[c(`strong`,null,m(ft(e)),1),c(`small`,null,m(_(l)(`settings.conversationLaunchers.sourceId`,{id:e})),1)]),c(`label`,De,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.enabled`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].enabled=t,type:`checkbox`,role:`switch`},null,8,Oe),[[d,I.value.conversationLaunchers[e].enabled]])])]),I.value.conversationLaunchers[e].enabled&&e===`codex`?(r(),u(`small`,ke,m(_(l)(`settings.conversationLaunchers.idFormatMeta`)),1)):b(``,!0),I.value.conversationLaunchers[e].enabled?(r(),u(`div`,Ae,[c(`label`,null,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.idFormat`)),1),n(w,{modelValue:I.value.conversationLaunchers[e].idFormat,"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].idFormat=t,class:`launcher-select`,"control-id":`settings-conversation-${e}-id-format`,options:$e.value,label:_(l)(`settings.conversationLaunchers.idFormat`)},null,8,[`modelValue`,`onUpdate:modelValue`,`control-id`,`options`,`label`])]),c(`label`,null,[c(`span`,null,m(_(l)(`settings.conversationLaunchers.appName`)),1),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].appName=t,type:`text`,maxlength:`64`,required:``},null,8,je),[[v,I.value.conversationLaunchers[e].appName,void 0,{trim:!0}]])]),c(`label`,Me,[c(`span`,null,[ee(m(_(l)(`settings.conversationLaunchers.urlTemplate`))+` `,1),a[1]||=c(`small`,null,[c(`code`,null,`{id}`)],-1)]),o(c(`input`,{"onUpdate:modelValue":t=>I.value.conversationLaunchers[e].urlTemplate=t,type:`text`,maxlength:`1024`,spellcheck:`false`,required:``},null,8,Ne),[[v,I.value.conversationLaunchers[e].urlTemplate,void 0,{trim:!0}]])])])):b(``,!0)]))),128))])]),_:1},8,[`title`])],8,ge),V.value?(r(),u(`p`,Pe,m(V.value),1)):b(``,!0)],40,he)):b(``,!0),c(`section`,Fe,[c(`header`,Ie,[c(`div`,null,[c(`h3`,null,m(_(l)(`settings.resources.title`)),1),L.value?(r(),u(`p`,Le,m(_(l)(`settings.resources.measuredAt`,{time:$(L.value.sampledAt)})),1)):b(``,!0)]),c(`button`,{class:`quiet-button`,type:`button`,disabled:B.value,onClick:q},m(_(l)(`common.actions.refresh`)),9,Re)]),B.value?(r(),y(S,{key:0,variant:L.value?`inline`:`compact`,label:_(l)(`settings.resources.loading`)},null,8,[`variant`,`label`])):b(``,!0),H.value?(r(),u(`p`,ze,m(H.value),1)):L.value?(r(),u(h,{key:2},[c(`div`,Be,[c(`article`,null,[c(`span`,null,m(_(l)(`settings.resources.memory`)),1),c(`strong`,null,m(Z(L.value.memory.usedBytes)),1),c(`small`,null,m(_(l)(`settings.resources.available`,{value:Z(L.value.memory.hostFreeBytes)})),1)]),c(`article`,null,[c(`span`,null,m(_(l)(`settings.resources.disk`)),1),c(`strong`,null,m(Z(L.value.disk.usedBytes)),1),c(`small`,null,m(_(l)(`settings.resources.available`,{value:Z(L.value.disk.hostFreeBytes)})),1)])]),n(T,{title:_(l)(`ui.usageDetails`)},{default:t(()=>[c(`div`,Ve,[c(`div`,He,[c(`h4`,null,m(_(l)(`settings.resources.memory`)),1),(r(!0),u(h,null,i(L.value.memory.components,e=>(r(),u(`div`,{key:e.id,class:`resource-row`},[c(`div`,null,[c(`span`,null,m(X(e)),1),c(`strong`,null,m(Z(e.bytes)),1)]),c(`i`,null,[c(`b`,{style:g({width:Q(e.bytes,nt.value)})},null,4)])]))),128))]),c(`div`,Ue,[c(`h4`,null,m(_(l)(`settings.resources.disk`)),1),(r(!0),u(h,null,i(L.value.disk.components,e=>(r(),u(`div`,{key:e.id,class:`resource-row`},[c(`div`,null,[c(`span`,null,m(X(e)),1),c(`strong`,null,m(Z(e.bytes)),1)]),c(`i`,null,[c(`b`,{style:g({width:Q(e.bytes,rt.value)})},null,4)])]))),128))])]),c(`div`,We,[c(`span`,null,m(_(l)(`settings.resources.diskMeasuredAt`,{time:$(L.value.disk.measuredAt)})),1),L.value.status===`partial`?(r(),u(`span`,Ge,m(_(l)(`settings.resources.partial`)),1)):b(``,!0),L.value.disk.temporaryBytes?(r(),u(`span`,Ke,m(_(l)(`settings.resources.temporary`,{value:Z(L.value.disk.temporaryBytes)})),1)):b(``,!0),c(`span`,null,m(_(l)(L.value.exclusions.includes(`shared-container-vm-overhead`)?`settings.resources.exclusionsContainer`:`settings.resources.exclusionsNative`)),1)])]),_:1},8,[`title`])],64)):b(``,!0)]),!R.value&&!I.value?(r(),u(`p`,qe,m(V.value||_(l)(`settings.loadError`)),1)):b(``,!0)])],8,ue))}}),[[`__scopeId`,`data-v-76e64a51`]]);export{F as default};
@@ -1 +1 @@
1
- import{M as e,R as t,X as n,_ as r,a as i,b as a,g as o,it as s,m as c,tt as l,v as u,w as d,y as f}from"./i18n-CCMR4gDS.js";import{o as p}from"./client-CUTkF3t4.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as h}from"./useApi-CROJJdhE-DlOiu8lP.js";import{i as g,n as _,t as v}from"./shared-report-B46dxlCR.js";var y={class:`shared-jefa-report`},b={key:1,class:`report-state`,role:`alert`},x={key:0,class:`report-warning`},S={key:1,class:`report-state`,role:`status`},C=m(d({__name:`SharedJefaReportPage`,setup(d){let m=h(),C=n([]),w=n([]),T=n(!1),E=n(0),D=n(``),O=o(()=>C.value.reduce((e,t)=>e+t.items.length,0)),k=o(()=>m.fullPath.includes(`#`)?m.fullPath.slice(m.fullPath.indexOf(`#`)):m.hash),A=0;t(k,()=>{j()},{immediate:!0});async function j(){let e=++A;C.value=[],D.value=``,E.value=0,T.value=!0;try{let t=_(k.value),n=await Promise.allSettled(t.map(v));if(e!==A)return;C.value=n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]),w.value=C.value.map(e=>e.project.id),E.value=n.filter(e=>e.status===`rejected`).length,C.value.length||(D.value=i(`employees.share.unavailable`))}catch{e===A&&(D.value=i(`employees.share.unavailable`))}finally{e===A&&(T.value=!1)}}return(t,n)=>(e(),a(`main`,y,[r(`header`,null,[n[1]||=r(`strong`,null,`Jefa`,-1),r(`h1`,null,s(l(i)(`employees.share.title`)),1),r(`span`,null,s(l(i)(`employees.share.readOnly`)),1)]),T.value?(e(),u(p,{key:0,label:l(i)(`employees.loadingReport`)},null,8,[`label`])):D.value?(e(),a(`div`,b,[r(`p`,null,s(D.value),1),r(`button`,{type:`button`,onClick:j},s(l(i)(`employees.retry`)),1)])):(e(),a(c,{key:2},[E.value?(e(),a(`p`,x,s(l(i)(`employees.share.unavailableCount`,{count:E.value})),1)):f(``,!0),O.value?(e(),u(g,{key:2,"visible-project-ids":w.value,"onUpdate:visibleProjectIds":n[0]||=e=>w.value=e,boards:C.value.filter(e=>w.value.includes(e.project.id)),projects:C.value.map(e=>e.project),"failed-projects":0,"can-move-tasks":!1,"read-only":``,onRetry:j},null,8,[`visible-project-ids`,`boards`,`projects`])):(e(),a(`div`,S,[r(`h2`,null,s(l(i)(`employees.shareContent.emptyTitle`)),1),r(`p`,null,s(l(i)(`employees.shareContent.emptyReport`,{count:C.value.length})),1),r(`button`,{type:`button`,onClick:j},s(l(i)(`common.actions.refresh`)),1)]))],64))]))}}),[[`__scopeId`,`data-v-79d38b0c`]]);export{C as default};
1
+ import{M as e,R as t,X as n,_ as r,a as i,b as a,g as o,it as s,m as c,tt as l,v as u,w as d,y as f}from"./i18n-b14l2pQA.js";import{o as p}from"./client-DLS5FZBI.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as h}from"./useApi-CROJJdhE-CEQAEuug.js";import{i as g,n as _,t as v}from"./shared-report-BYnLhmCZ.js";var y={class:`shared-jefa-report`},b={key:1,class:`report-state`,role:`alert`},x={key:0,class:`report-warning`},S={key:1,class:`report-state`,role:`status`},C=m(d({__name:`SharedJefaReportPage`,setup(d){let m=h(),C=n([]),w=n([]),T=n(!1),E=n(0),D=n(``),O=o(()=>C.value.reduce((e,t)=>e+t.items.length,0)),k=o(()=>m.fullPath.includes(`#`)?m.fullPath.slice(m.fullPath.indexOf(`#`)):m.hash),A=0;t(k,()=>{j()},{immediate:!0});async function j(){let e=++A;C.value=[],D.value=``,E.value=0,T.value=!0;try{let t=_(k.value),n=await Promise.allSettled(t.map(v));if(e!==A)return;C.value=n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]),w.value=C.value.map(e=>e.project.id),E.value=n.filter(e=>e.status===`rejected`).length,C.value.length||(D.value=i(`employees.share.unavailable`))}catch{e===A&&(D.value=i(`employees.share.unavailable`))}finally{e===A&&(T.value=!1)}}return(t,n)=>(e(),a(`main`,y,[r(`header`,null,[n[1]||=r(`strong`,null,`Jefa`,-1),r(`h1`,null,s(l(i)(`employees.share.title`)),1),r(`span`,null,s(l(i)(`employees.share.readOnly`)),1)]),T.value?(e(),u(p,{key:0,label:l(i)(`employees.loadingReport`)},null,8,[`label`])):D.value?(e(),a(`div`,b,[r(`p`,null,s(D.value),1),r(`button`,{type:`button`,onClick:j},s(l(i)(`employees.retry`)),1)])):(e(),a(c,{key:2},[E.value?(e(),a(`p`,x,s(l(i)(`employees.share.unavailableCount`,{count:E.value})),1)):f(``,!0),O.value?(e(),u(g,{key:2,"visible-project-ids":w.value,"onUpdate:visibleProjectIds":n[0]||=e=>w.value=e,boards:C.value.filter(e=>w.value.includes(e.project.id)),projects:C.value.map(e=>e.project),"failed-projects":0,"can-move-tasks":!1,"read-only":``,onRetry:j},null,8,[`visible-project-ids`,`boards`,`projects`])):(e(),a(`div`,S,[r(`h2`,null,s(l(i)(`employees.shareContent.emptyTitle`)),1),r(`p`,null,s(l(i)(`employees.shareContent.emptyReport`,{count:C.value.length})),1),r(`button`,{type:`button`,onClick:j},s(l(i)(`common.actions.refresh`)),1)]))],64))]))}}),[[`__scopeId`,`data-v-79d38b0c`]]);export{C as default};
@@ -1 +1 @@
1
- import{A as e,B as t,F as n,I as r,L as i,M as a,R as o,X as s,_ as c,a as l,b as u,it as d,k as f,nt as p,p as m,tt as h,v as g,w as _,y as v}from"./i18n-CCMR4gDS.js";import{o as y}from"./client-CUTkF3t4.js";var b=[`type`,`disabled`,`aria-busy`],x=_({__name:`UiButton`,props:{variant:{default:`default`},size:{default:`md`},type:{default:`button`},busy:{type:Boolean,default:!1},busyLabel:{default:``},disabled:{type:Boolean,default:!1},icon:{type:Boolean,default:!1}},setup(e){return(t,r)=>(a(),u(`button`,{type:e.type,class:p([`ui-button`,[`ui-button--${e.variant}`,{"ui-button--sm":e.size===`sm`,"ui-button--icon":e.icon}]]),disabled:e.disabled||e.busy,"aria-busy":e.busy||void 0},[e.busy?(a(),g(y,{key:0,variant:`inline`,label:e.busyLabel},null,8,[`label`])):n(t.$slots,`default`,{},void 0,void 0,1)],10,b))}}),S=[`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`a[href]`,`[contenteditable="true"]`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function C(t,n){let r=s(null),i=s(null),a=null,c=0;o(t,e=>{let n=++c;if(e){a=document.activeElement instanceof HTMLElement?document.activeElement:null,f().then(()=>{if(n!==c||!t())return;let e=r.value;if(!e)return;e.open||e.showModal();let a=e.querySelector(`.ui-dialog__body`);(i.value??e.querySelector(`[autofocus]`)??(a?w(a)[0]:void 0)??w(e)[0])?.focus({preventScroll:!0})});return}let o=r.value;o?.open&&o.close(),l(n)},{immediate:!0}),e(()=>{c+=1;let e=r.value;e?.open&&e.close();let t=a;a=null,t?.isConnected&&t.focus({preventScroll:!0})});function l(e){let t=a;a=null,f().then(()=>{e!==c||!t?.isConnected||t.focus({preventScroll:!0})})}function u(e){e.preventDefault(),n()}function d(e){if(e.key!==`Tab`)return;let t=r.value;if(!t)return;let n=w(t);if(!n.length){e.preventDefault(),t.focus({preventScroll:!0});return}let i=n[0],a=n.at(-1)??i,o=document.activeElement;e.shiftKey&&(o===i||!t.contains(o))?(e.preventDefault(),a.focus({preventScroll:!0})):!e.shiftKey&&(o===a||!t.contains(o))&&(e.preventDefault(),i.focus({preventScroll:!0}))}return{dialogRef:r,initialFocusRef:i,onCancel:u,onKeydown:d}}function w(e){return[...e.querySelectorAll(S)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}var T=[`aria-busy`],E={class:`ui-dialog__header`},D={key:0},O=[`disabled`,`aria-label`],k={class:`ui-dialog__body`},A={key:0,class:`ui-dialog__error`,role:`alert`},j={key:0,class:`ui-dialog__footer`},M=_({__name:`UiDialog`,props:{open:{type:Boolean},title:{},description:{default:void 0},size:{default:`md`},busy:{type:Boolean,default:!1},form:{type:Boolean,default:!1},error:{default:``}},emits:[`close`,`submit`],setup(e,{expose:o,emit:s}){let f=e,_=s,y=`ui-dialog-${i().replace(/[^A-Za-z0-9_-]/g,``)}`,{dialogRef:b,initialFocusRef:x,onCancel:S,onKeydown:w}=C(()=>f.open,M);function M(){f.busy||_(`close`)}return o({initialFocusRef:x}),(i,o)=>e.open?(a(),u(`dialog`,{key:0,ref_key:`dialogRef`,ref:b,class:p([`ui-dialog`,`ui-dialog--${e.size}`]),"aria-modal":`true`,"aria-labelledby":y,"aria-busy":e.busy||void 0,onCancel:o[1]||=(...e)=>h(S)&&h(S)(...e),onKeydown:o[2]||=(...e)=>h(w)&&h(w)(...e)},[(a(),g(r(e.form?`form`:`div`),{class:`ui-dialog__shell`,onSubmit:o[0]||=m(e=>_(`submit`),[`prevent`])},{default:t(()=>[c(`header`,E,[c(`div`,null,[c(`h2`,{id:y},d(e.title),1),e.description?(a(),u(`p`,D,d(e.description),1)):v(``,!0)]),c(`button`,{class:`ui-button ui-button--ghost ui-button--icon ui-button--sm`,type:`button`,disabled:e.busy,"aria-label":h(l)(`common.actions.close`),onClick:M},[...o[3]||=[c(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`},[c(`path`,{d:`m4 4 8 8M12 4l-8 8`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1)]],8,O)]),c(`div`,k,[e.error?(a(),u(`p`,A,d(e.error),1)):v(``,!0),n(i.$slots,`default`)]),i.$slots.footer?(a(),u(`footer`,j,[n(i.$slots,`footer`)])):v(``,!0)]),_:3},32))],42,T)):v(``,!0)}});export{x as n,M as t};
1
+ import{A as e,B as t,F as n,I as r,L as i,M as a,R as o,X as s,_ as c,a as l,b as u,it as d,k as f,nt as p,p as m,tt as h,v as g,w as _,y as v}from"./i18n-b14l2pQA.js";import{o as y}from"./client-DLS5FZBI.js";var b=[`type`,`disabled`,`aria-busy`],x=_({__name:`UiButton`,props:{variant:{default:`default`},size:{default:`md`},type:{default:`button`},busy:{type:Boolean,default:!1},busyLabel:{default:``},disabled:{type:Boolean,default:!1},icon:{type:Boolean,default:!1}},setup(e){return(t,r)=>(a(),u(`button`,{type:e.type,class:p([`ui-button`,[`ui-button--${e.variant}`,{"ui-button--sm":e.size===`sm`,"ui-button--icon":e.icon}]]),disabled:e.disabled||e.busy,"aria-busy":e.busy||void 0},[e.busy?(a(),g(y,{key:0,variant:`inline`,label:e.busyLabel},null,8,[`label`])):n(t.$slots,`default`,{},void 0,void 0,1)],10,b))}}),S=[`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`a[href]`,`[contenteditable="true"]`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function C(t,n){let r=s(null),i=s(null),a=null,c=0;o(t,e=>{let n=++c;if(e){a=document.activeElement instanceof HTMLElement?document.activeElement:null,f().then(()=>{if(n!==c||!t())return;let e=r.value;if(!e)return;e.open||e.showModal();let a=e.querySelector(`.ui-dialog__body`);(i.value??e.querySelector(`[autofocus]`)??(a?w(a)[0]:void 0)??w(e)[0])?.focus({preventScroll:!0})});return}let o=r.value;o?.open&&o.close(),l(n)},{immediate:!0}),e(()=>{c+=1;let e=r.value;e?.open&&e.close();let t=a;a=null,t?.isConnected&&t.focus({preventScroll:!0})});function l(e){let t=a;a=null,f().then(()=>{e!==c||!t?.isConnected||t.focus({preventScroll:!0})})}function u(e){e.preventDefault(),n()}function d(e){if(e.key!==`Tab`)return;let t=r.value;if(!t)return;let n=w(t);if(!n.length){e.preventDefault(),t.focus({preventScroll:!0});return}let i=n[0],a=n.at(-1)??i,o=document.activeElement;e.shiftKey&&(o===i||!t.contains(o))?(e.preventDefault(),a.focus({preventScroll:!0})):!e.shiftKey&&(o===a||!t.contains(o))&&(e.preventDefault(),i.focus({preventScroll:!0}))}return{dialogRef:r,initialFocusRef:i,onCancel:u,onKeydown:d}}function w(e){return[...e.querySelectorAll(S)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}var T=[`aria-busy`],E={class:`ui-dialog__header`},D={key:0},O=[`disabled`,`aria-label`],k={class:`ui-dialog__body`},A={key:0,class:`ui-dialog__error`,role:`alert`},j={key:0,class:`ui-dialog__footer`},M=_({__name:`UiDialog`,props:{open:{type:Boolean},title:{},description:{default:void 0},size:{default:`md`},busy:{type:Boolean,default:!1},form:{type:Boolean,default:!1},error:{default:``}},emits:[`close`,`submit`],setup(e,{expose:o,emit:s}){let f=e,_=s,y=`ui-dialog-${i().replace(/[^A-Za-z0-9_-]/g,``)}`,{dialogRef:b,initialFocusRef:x,onCancel:S,onKeydown:w}=C(()=>f.open,M);function M(){f.busy||_(`close`)}return o({initialFocusRef:x}),(i,o)=>e.open?(a(),u(`dialog`,{key:0,ref_key:`dialogRef`,ref:b,class:p([`ui-dialog`,`ui-dialog--${e.size}`]),"aria-modal":`true`,"aria-labelledby":y,"aria-busy":e.busy||void 0,onCancel:o[1]||=(...e)=>h(S)&&h(S)(...e),onKeydown:o[2]||=(...e)=>h(w)&&h(w)(...e)},[(a(),g(r(e.form?`form`:`div`),{class:`ui-dialog__shell`,onSubmit:o[0]||=m(e=>_(`submit`),[`prevent`])},{default:t(()=>[c(`header`,E,[c(`div`,null,[c(`h2`,{id:y},d(e.title),1),e.description?(a(),u(`p`,D,d(e.description),1)):v(``,!0)]),c(`button`,{class:`ui-button ui-button--ghost ui-button--icon ui-button--sm`,type:`button`,disabled:e.busy,"aria-label":h(l)(`common.actions.close`),onClick:M},[...o[3]||=[c(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`},[c(`path`,{d:`m4 4 8 8M12 4l-8 8`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1)]],8,O)]),c(`div`,k,[e.error?(a(),u(`p`,A,d(e.error),1)):v(``,!0),n(i.$slots,`default`)]),i.$slots.footer?(a(),u(`footer`,j,[n(i.$slots,`footer`)])):v(``,!0)]),_:3},32))],42,T)):v(``,!0)}});export{x as n,M as t};
@@ -1 +1 @@
1
- import{F as e,M as t,S as n,_ as r,b as i,it as a,w as o}from"./i18n-CCMR4gDS.js";var s=[`open`],c=o({__name:`UiDisclosure`,props:{title:{},open:{type:Boolean,default:!1}},setup(o){return(c,l)=>(t(),i(`details`,{class:`ui-disclosure`,open:o.open},[r(`summary`,null,[n(a(o.title),1),e(c.$slots,`summary`)]),e(c.$slots,`default`)],8,s))}});export{c as t};
1
+ import{F as e,M as t,S as n,_ as r,b as i,it as a,w as o}from"./i18n-b14l2pQA.js";var s=[`open`],c=o({__name:`UiDisclosure`,props:{title:{},open:{type:Boolean,default:!1}},setup(o){return(c,l)=>(t(),i(`details`,{class:`ui-disclosure`,open:o.open},[r(`summary`,null,[n(a(o.title),1),e(c.$slots,`summary`)]),e(c.$slots,`default`)],8,s))}});export{c as t};
@@ -1 +1 @@
1
- import{M as e,P as t,S as n,b as r,it as i,m as a,w as o,y as s}from"./i18n-CCMR4gDS.js";var c=[`aria-label`],l=[`aria-pressed`,`onClick`],u={key:0},d=o({__name:`UiSegmented`,props:{modelValue:{},options:{},label:{}},emits:[`update:modelValue`],setup(o){return(d,f)=>(e(),r(`div`,{class:`ui-segmented`,role:`group`,"aria-label":o.label},[(e(!0),r(a,null,t(o.options,t=>(e(),r(`button`,{key:t.value,type:`button`,"aria-pressed":t.value===o.modelValue,onClick:e=>d.$emit(`update:modelValue`,t.value)},[n(i(t.label),1),t.count===void 0?s(``,!0):(e(),r(`small`,u,i(t.count),1))],8,l))),128))],8,c))}});export{d as t};
1
+ import{M as e,P as t,S as n,b as r,it as i,m as a,w as o,y as s}from"./i18n-b14l2pQA.js";var c=[`aria-label`],l=[`aria-pressed`,`onClick`],u={key:0},d=o({__name:`UiSegmented`,props:{modelValue:{},options:{},label:{}},emits:[`update:modelValue`],setup(o){return(d,f)=>(e(),r(`div`,{class:`ui-segmented`,role:`group`,"aria-label":o.label},[(e(!0),r(a,null,t(o.options,t=>(e(),r(`button`,{key:t.value,type:`button`,"aria-pressed":t.value===o.modelValue,onClick:e=>d.$emit(`update:modelValue`,t.value)},[n(i(t.label),1),t.count===void 0?s(``,!0):(e(),r(`small`,u,i(t.count),1))],8,l))),128))],8,c))}});export{d as t};
@@ -1 +1 @@
1
- import{A as e,L as t,M as n,P as r,R as i,V as a,X as o,_ as s,a as c,b as l,g as u,it as d,k as f,m as p,n as ee,nt as m,p as h,rt as g,tt as _,u as v,w as y,y as b}from"./i18n-CCMR4gDS.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";var te=[`data-select-id`],ne=[`name`,`required`,`disabled`,`multiple`],re=[`value`,`selected`],S=[`aria-expanded`,`aria-label`,`disabled`],C=[`placeholder`,`aria-label`],ie=[`aria-multiselectable`],ae=[`aria-selected`,`disabled`,`onClick`],w={key:0,class:`ui-select__box`,"aria-hidden":`true`},T={class:`ui-select__copy`},E={key:0},D={key:1,class:`ui-select__check`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},O={key:0,class:`ui-select__empty`},k={key:1,class:`ui-select__actions`},A=[`disabled`],j=x(y({__name:`UiSelect`,props:{modelValue:{},options:{},label:{},multiple:{type:Boolean,default:!1},placeholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0},controlId:{default:void 0},size:{default:`md`},field:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(y,{emit:x}){let j=y,M=x,N=o(null),P=o(null),F=o(null),I=o(null),L=o(!1),R=o(``),z=o({}),B=`${j.controlId||`ui-select-${t().replace(/[^A-Za-z0-9_-]/g,``)}`}-options`,V=u(()=>new Set(Array.isArray(j.modelValue)?j.modelValue:[j.modelValue])),H=u(()=>j.options.filter(e=>V.value.has(e.value))),U=u(()=>j.searchable??j.options.length>7),W=u(()=>{let e=H.value;return e.length?e.length===1?e[0].label:c(`common.searchableSelect.selectedCount`,{count:e.length}):j.placeholder??c(`common.searchableSelect.placeholder`)}),G=u(()=>{let e=ee(),t=R.value.trim().toLocaleLowerCase(e);return t?j.options.filter(n=>[n.label,n.value,n.meta,n.search].filter(Boolean).join(` `).toLocaleLowerCase(e).includes(t)):j.options});i(()=>j.disabled,e=>{e&&Y()}),e(()=>Q());function K(e){M(`update:modelValue`,e),M(`change`,e)}function q(e){if(j.disabled||e.disabled)return;if(!j.multiple){K(e.value),Y({restoreFocus:!0});return}let t=Array.isArray(j.modelValue)?j.modelValue:[];K(V.value.has(e.value)?t.filter(t=>t!==e.value):[...t,e.value])}function oe(){K(j.options.filter(e=>!e.disabled&&!V.value.has(e.value)).map(e=>e.value))}function se(){K([])}async function J(){j.disabled||L.value||(R.value=``,X(),L.value=!0,ce(),await f(),U.value?F.value?.focus():($().find(e=>e.getAttribute(`aria-selected`)===`true`)??$()[0])?.focus())}function Y({restoreFocus:e=!1}={}){L.value&&(L.value=!1,Q(),e&&f(()=>P.value?.focus()))}function X(){let e=P.value?.getBoundingClientRect();if(!e)return;let t=Math.max(e.width,220),n=Math.min(e.left,window.innerWidth-t-8),r=window.innerHeight-e.bottom;z.value=r<280&&e.top>r?{left:`${n}px`,width:`${t}px`,bottom:`${window.innerHeight-e.top+4}px`}:{left:`${n}px`,width:`${t}px`,top:`${e.bottom+4}px`}}function Z(e){N.value?.contains(e.target)||Y()}function ce(){document.addEventListener(`pointerdown`,Z,!0),window.addEventListener(`scroll`,X,!0),window.addEventListener(`resize`,X)}function Q(){document.removeEventListener(`pointerdown`,Z,!0),window.removeEventListener(`scroll`,X,!0),window.removeEventListener(`resize`,X)}function le(e){N.value?.contains(e.relatedTarget)||queueMicrotask(()=>{N.value?.contains(document.activeElement)||Y()})}function $(){return[...I.value?.querySelectorAll(`.ui-select__option:not(:disabled)`)??[]]}function ue(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),L.value&&e.key!==`ArrowDown`?Y():J())}function de(e){e.key===`Escape`?(e.preventDefault(),Y({restoreFocus:!0})):e.key===`ArrowDown`?(e.preventDefault(),$()[0]?.focus()):e.key===`Enter`&&(e.preventDefault(),$()[0]?.click())}function fe(e){if(e.key===`Escape`){e.preventDefault(),Y({restoreFocus:!0});return}if(e.key===`Tab`){Y();return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=$(),n=t.indexOf(e.currentTarget);t[e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?Math.min(t.length-1,n+1):Math.max(0,n-1)]?.focus()}return(e,t)=>(n(),l(`div`,{ref_key:`root`,ref:N,class:m([`ui-select`,[`ui-select--${y.size}`,{"is-open":L.value,"is-disabled":y.disabled,"ui-field":y.field}]]),"data-select-id":y.controlId,onFocusout:le},[y.field?(n(),l(`span`,{key:0,class:`ui-select__label`,onClick:t[0]||=e=>P.value?.focus()},d(y.label),1)):b(``,!0),s(`select`,{class:`ui-select__native`,name:y.name,required:y.required,disabled:y.disabled,multiple:y.multiple,tabindex:`-1`,"aria-hidden":`true`},[(n(!0),l(p,null,r(y.options,e=>(n(),l(`option`,{key:e.value,value:e.value,selected:V.value.has(e.value)},d(e.label),9,re))),128))],8,ne),s(`button`,{ref_key:`trigger`,ref:P,type:`button`,class:`ui-select__trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":L.value,"aria-controls":B,"aria-label":y.label,disabled:y.disabled,onClick:t[1]||=e=>L.value?Y():J(),onKeydown:ue},[s(`span`,{class:m([`ui-select__value`,{"is-placeholder":!H.value.length}])},d(W.value),3),t[6]||=s(`svg`,{class:`ui-select__chevron`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},[s(`path`,{d:`m3 4.5 3 3 3-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)],40,S),L.value?(n(),l(`div`,{key:1,class:`ui-select__panel`,style:g(z.value)},[U.value?a((n(),l(`input`,{key:0,ref_key:`searchInput`,ref:F,"onUpdate:modelValue":t[2]||=e=>R.value=e,class:`ui-select__search`,type:`search`,autocomplete:`off`,placeholder:_(c)(`common.searchableSelect.searchPlaceholder`),"aria-label":_(c)(`common.searchableSelect.searchAria`,{label:y.label}),onKeydown:de},null,40,C)),[[v,R.value]]):b(``,!0),s(`div`,{id:B,ref_key:`list`,ref:I,class:`ui-select__list`,role:`listbox`,"aria-multiselectable":y.multiple||void 0},[(n(!0),l(p,null,r(G.value,e=>(n(),l(`button`,{key:e.value,type:`button`,class:`ui-select__option`,role:`option`,"aria-selected":V.value.has(e.value),disabled:e.disabled,onMousedown:t[3]||=h(()=>{},[`prevent`]),onClick:t=>q(e),onKeydown:fe},[y.multiple?(n(),l(`span`,w)):b(``,!0),s(`span`,T,[s(`span`,null,d(e.label),1),e.meta?(n(),l(`small`,E,d(e.meta),1)):b(``,!0)]),!y.multiple&&V.value.has(e.value)?(n(),l(`svg`,D,[...t[7]||=[s(`path`,{d:`m2.5 6.2 2.3 2.3 4.7-5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):b(``,!0)],40,ae))),128)),G.value.length?b(``,!0):(n(),l(`p`,O,d(_(c)(`common.searchableSelect.noMatches`)),1))],8,ie),y.multiple&&y.options.length>3?(n(),l(`div`,k,[s(`button`,{type:`button`,onMousedown:t[4]||=h(()=>{},[`prevent`]),onClick:oe},d(_(c)(`common.searchableSelect.invert`)),33),s(`button`,{type:`button`,disabled:!H.value.length,onMousedown:t[5]||=h(()=>{},[`prevent`]),onClick:se},d(_(c)(`common.searchableSelect.clear`)),41,A)])):b(``,!0)],4)):b(``,!0)],42,te))}}),[[`__scopeId`,`data-v-3a363c0e`]]);export{j as t};
1
+ import{A as e,L as t,M as n,P as r,R as i,V as a,X as o,_ as s,a as c,b as l,g as u,it as d,k as f,m as p,n as ee,nt as m,p as h,rt as g,tt as _,u as v,w as y,y as b}from"./i18n-b14l2pQA.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";var te=[`data-select-id`],ne=[`name`,`required`,`disabled`,`multiple`],re=[`value`,`selected`],S=[`aria-expanded`,`aria-label`,`disabled`],C=[`placeholder`,`aria-label`],ie=[`aria-multiselectable`],ae=[`aria-selected`,`disabled`,`onClick`],w={key:0,class:`ui-select__box`,"aria-hidden":`true`},T={class:`ui-select__copy`},E={key:0},D={key:1,class:`ui-select__check`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},O={key:0,class:`ui-select__empty`},k={key:1,class:`ui-select__actions`},A=[`disabled`],j=x(y({__name:`UiSelect`,props:{modelValue:{},options:{},label:{},multiple:{type:Boolean,default:!1},placeholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0},controlId:{default:void 0},size:{default:`md`},field:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(y,{emit:x}){let j=y,M=x,N=o(null),P=o(null),F=o(null),I=o(null),L=o(!1),R=o(``),z=o({}),B=`${j.controlId||`ui-select-${t().replace(/[^A-Za-z0-9_-]/g,``)}`}-options`,V=u(()=>new Set(Array.isArray(j.modelValue)?j.modelValue:[j.modelValue])),H=u(()=>j.options.filter(e=>V.value.has(e.value))),U=u(()=>j.searchable??j.options.length>7),W=u(()=>{let e=H.value;return e.length?e.length===1?e[0].label:c(`common.searchableSelect.selectedCount`,{count:e.length}):j.placeholder??c(`common.searchableSelect.placeholder`)}),G=u(()=>{let e=ee(),t=R.value.trim().toLocaleLowerCase(e);return t?j.options.filter(n=>[n.label,n.value,n.meta,n.search].filter(Boolean).join(` `).toLocaleLowerCase(e).includes(t)):j.options});i(()=>j.disabled,e=>{e&&Y()}),e(()=>Q());function K(e){M(`update:modelValue`,e),M(`change`,e)}function q(e){if(j.disabled||e.disabled)return;if(!j.multiple){K(e.value),Y({restoreFocus:!0});return}let t=Array.isArray(j.modelValue)?j.modelValue:[];K(V.value.has(e.value)?t.filter(t=>t!==e.value):[...t,e.value])}function oe(){K(j.options.filter(e=>!e.disabled&&!V.value.has(e.value)).map(e=>e.value))}function se(){K([])}async function J(){j.disabled||L.value||(R.value=``,X(),L.value=!0,ce(),await f(),U.value?F.value?.focus():($().find(e=>e.getAttribute(`aria-selected`)===`true`)??$()[0])?.focus())}function Y({restoreFocus:e=!1}={}){L.value&&(L.value=!1,Q(),e&&f(()=>P.value?.focus()))}function X(){let e=P.value?.getBoundingClientRect();if(!e)return;let t=Math.max(e.width,220),n=Math.min(e.left,window.innerWidth-t-8),r=window.innerHeight-e.bottom;z.value=r<280&&e.top>r?{left:`${n}px`,width:`${t}px`,bottom:`${window.innerHeight-e.top+4}px`}:{left:`${n}px`,width:`${t}px`,top:`${e.bottom+4}px`}}function Z(e){N.value?.contains(e.target)||Y()}function ce(){document.addEventListener(`pointerdown`,Z,!0),window.addEventListener(`scroll`,X,!0),window.addEventListener(`resize`,X)}function Q(){document.removeEventListener(`pointerdown`,Z,!0),window.removeEventListener(`scroll`,X,!0),window.removeEventListener(`resize`,X)}function le(e){N.value?.contains(e.relatedTarget)||queueMicrotask(()=>{N.value?.contains(document.activeElement)||Y()})}function $(){return[...I.value?.querySelectorAll(`.ui-select__option:not(:disabled)`)??[]]}function ue(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),L.value&&e.key!==`ArrowDown`?Y():J())}function de(e){e.key===`Escape`?(e.preventDefault(),Y({restoreFocus:!0})):e.key===`ArrowDown`?(e.preventDefault(),$()[0]?.focus()):e.key===`Enter`&&(e.preventDefault(),$()[0]?.click())}function fe(e){if(e.key===`Escape`){e.preventDefault(),Y({restoreFocus:!0});return}if(e.key===`Tab`){Y();return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=$(),n=t.indexOf(e.currentTarget);t[e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?Math.min(t.length-1,n+1):Math.max(0,n-1)]?.focus()}return(e,t)=>(n(),l(`div`,{ref_key:`root`,ref:N,class:m([`ui-select`,[`ui-select--${y.size}`,{"is-open":L.value,"is-disabled":y.disabled,"ui-field":y.field}]]),"data-select-id":y.controlId,onFocusout:le},[y.field?(n(),l(`span`,{key:0,class:`ui-select__label`,onClick:t[0]||=e=>P.value?.focus()},d(y.label),1)):b(``,!0),s(`select`,{class:`ui-select__native`,name:y.name,required:y.required,disabled:y.disabled,multiple:y.multiple,tabindex:`-1`,"aria-hidden":`true`},[(n(!0),l(p,null,r(y.options,e=>(n(),l(`option`,{key:e.value,value:e.value,selected:V.value.has(e.value)},d(e.label),9,re))),128))],8,ne),s(`button`,{ref_key:`trigger`,ref:P,type:`button`,class:`ui-select__trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":L.value,"aria-controls":B,"aria-label":y.label,disabled:y.disabled,onClick:t[1]||=e=>L.value?Y():J(),onKeydown:ue},[s(`span`,{class:m([`ui-select__value`,{"is-placeholder":!H.value.length}])},d(W.value),3),t[6]||=s(`svg`,{class:`ui-select__chevron`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},[s(`path`,{d:`m3 4.5 3 3 3-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)],40,S),L.value?(n(),l(`div`,{key:1,class:`ui-select__panel`,style:g(z.value)},[U.value?a((n(),l(`input`,{key:0,ref_key:`searchInput`,ref:F,"onUpdate:modelValue":t[2]||=e=>R.value=e,class:`ui-select__search`,type:`search`,autocomplete:`off`,placeholder:_(c)(`common.searchableSelect.searchPlaceholder`),"aria-label":_(c)(`common.searchableSelect.searchAria`,{label:y.label}),onKeydown:de},null,40,C)),[[v,R.value]]):b(``,!0),s(`div`,{id:B,ref_key:`list`,ref:I,class:`ui-select__list`,role:`listbox`,"aria-multiselectable":y.multiple||void 0},[(n(!0),l(p,null,r(G.value,e=>(n(),l(`button`,{key:e.value,type:`button`,class:`ui-select__option`,role:`option`,"aria-selected":V.value.has(e.value),disabled:e.disabled,onMousedown:t[3]||=h(()=>{},[`prevent`]),onClick:t=>q(e),onKeydown:fe},[y.multiple?(n(),l(`span`,w)):b(``,!0),s(`span`,T,[s(`span`,null,d(e.label),1),e.meta?(n(),l(`small`,E,d(e.meta),1)):b(``,!0)]),!y.multiple&&V.value.has(e.value)?(n(),l(`svg`,D,[...t[7]||=[s(`path`,{d:`m2.5 6.2 2.3 2.3 4.7-5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):b(``,!0)],40,ae))),128)),G.value.length?b(``,!0):(n(),l(`p`,O,d(_(c)(`common.searchableSelect.noMatches`)),1))],8,ie),y.multiple&&y.options.length>3?(n(),l(`div`,k,[s(`button`,{type:`button`,onMousedown:t[4]||=h(()=>{},[`prevent`]),onClick:oe},d(_(c)(`common.searchableSelect.invert`)),33),s(`button`,{type:`button`,disabled:!H.value.length,onMousedown:t[5]||=h(()=>{},[`prevent`]),onClick:se},d(_(c)(`common.searchableSelect.clear`)),41,A)])):b(``,!0)],4)):b(``,!0)],42,te))}}),[[`__scopeId`,`data-v-3a363c0e`]]);export{j as t};
@@ -1 +1 @@
1
- import{A as e,B as t,C as n,M as r,P as i,R as a,S as o,X as s,_ as c,a as l,b as u,g as d,it as f,m as p,nt as m,tt as h,v as g,w as ee,y as _}from"./i18n-CCMR4gDS.js";import{t as te}from"./console-CG8tdtSs.js";import{n as ne,o as v}from"./client-CUTkF3t4.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./vue-router-DjqEU4W2.js";import{t as ie}from"./UiDisclosure-8wE8YuE4.js";import{i as ae,n as oe,t as se}from"./KnowledgeEditDialog-a0AKWics.js";import{u as ce,x as le}from"./model-l-sAqtW_.js";import{t as ue}from"./personal-profile-graph-BD1Y6TDS.js";var b={class:`view writing-taste-view`},de={key:2,class:`view-loading`,"aria-busy":`true`},x={key:3,class:`writing-taste-unavailable`},fe=[`role`],pe={class:`writing-taste-hero__copy`},me={class:`writing-taste-status`},S={class:`writing-taste-hero__score`,"aria-hidden":`true`},C=[`aria-label`],w={"aria-hidden":`true`},T={class:`writing-taste-rules`},E={key:0,class:`writing-taste-rule-list`},D={class:`writing-taste-rule__status`},O={key:0,class:`conflict`},k={class:`writing-taste-rule__body`},A={key:0},j={key:1},M={key:0},N={key:0,class:`writing-taste-rule__actions`},P=[`onClick`],F=[`onClick`],I={key:1,class:`writing-taste-empty`},L={key:0,class:`writing-taste-agent-preview`},R={key:0},z=y(ee({__name:`WritingTastePage`,setup(ee){let y=te(),z=s(null),B=s(null),V=s(!1),H=s(!1),U=s(null),W=s(null),G=s(!1),K=0,q=null,J=d(()=>V.value&&!z.value),Y=ae(J),X=d(()=>le(B.value)),Z=d(()=>new Map(X.value.map(e=>[`${e.itemKind}:${e.id}`,e]))),he=d(()=>z.value?.status===`active`?l(`writingTaste.page.activeTitle`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewTitle`):l(`writingTaste.page.collectingTitle`)),ge=d(()=>z.value?.status===`active`?l(`writingTaste.page.activeCopy`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewCopy`):l(`writingTaste.page.collectingCopy`));a(()=>y.activePersonalSpace?.id,e=>{z.value=null,B.value=null,U.value=null,W.value=null,G.value=!1,Q(e)},{immediate:!0,flush:`sync`});async function Q(e=y.activePersonalSpace?.id){let t=++K;if(q?.abort(),q=null,H.value=!1,!e){V.value=!1;return}let n=new AbortController;q=n,V.value=!0;try{let r=new URLSearchParams({personalSpaceId:e,limit:`500`}),[i,a]=await Promise.all([ne(`/api/writing-taste-profile?${r}`,{signal:n.signal}),ue(e,n.signal)]);if(t!==K)return;z.value=Se(i)?i:null,B.value=Ce(a)?a:null,xe()}catch{if(t!==K)return;z.value=null,B.value=null,H.value=!0}finally{t===K&&(V.value=!1,q=null)}}e(()=>{K+=1,q?.abort()});function $(e){return Z.value.get(`${e.item_kind}:${e.item_id}`)??null}function _e(e){U.value=$(e)}function ve(e){W.value=$(e)}function ye(e){if(e.preference_scope!==`project`||!e.preference_project_id)return l(`writingTaste.page.globalScope`);let t=y.state?.personalProjects?.find(({project_id:t})=>t===e.preference_project_id);return l(`writingTaste.page.projectScope`,{project:t?.profile.name??e.preference_project_id})}function be(e){return e.key===`conflicts`?l(`writingTaste.criteria.conflictsProgress`,{current:e.current}):l(`writingTaste.criteria.progress`,{current:e.current,target:e.target})}function xe(){U.value&&=Z.value.get(`${U.value.itemKind}:${U.value.id}`)??null,W.value&&=Z.value.get(`${W.value.itemKind}:${W.value.id}`)??null}function Se(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`collecting`,`preview_ready`,`active`].includes(t.status??``)&&!!t.readiness&&Array.isArray(t.rules)}function Ce(e){if(!e||typeof e!=`object`)return!1;let t=e;return Array.isArray(t.nodes)&&Array.isArray(t.edges)}return(e,a)=>(r(),u(`section`,b,[n(h(re),{class:`writing-taste-back`,to:`/preferences`},{default:t(()=>[a[6]||=c(`span`,{"aria-hidden":`true`},`←`,-1),o(` `+f(h(l)(`writingTaste.page.back`)),1)]),_:1}),V.value&&z.value&&!h(Y)?(r(),g(v,{key:0,variant:`inline`,label:h(l)(`writingTaste.page.loading`)},null,8,[`label`])):_(``,!0),h(Y)?(r(),g(v,{key:1,label:h(l)(`writingTaste.page.loading`)},null,8,[`label`])):J.value?(r(),u(`div`,de)):z.value?(r(),u(p,{key:4},[c(`header`,{class:m([`writing-taste-hero`,`status-${z.value.status}`])},[c(`div`,pe,[c(`span`,me,[a[7]||=c(`i`,{"aria-hidden":`true`},null,-1),o(` `+f(h(l)(`writingTaste.status.${z.value.status}`)),1)]),c(`h2`,null,f(he.value),1),c(`p`,null,f(ge.value),1)]),c(`div`,S,[c(`strong`,null,f(z.value.readiness.rule_count),1),c(`span`,null,`/ `+f(z.value.readiness.thresholds.rule_count),1),c(`small`,null,f(h(l)(`writingTaste.criteria.rules`)),1)])],2),c(`section`,{class:`writing-taste-readiness`,"aria-label":h(l)(`writingTaste.page.readinessAria`)},[(r(!0),u(p,null,i(z.value.readiness.criteria,e=>(r(),u(`article`,{key:e.key,class:m({met:e.met})},[c(`span`,w,f(e.met?`✓`:`·`),1),c(`div`,null,[c(`strong`,null,f(h(l)(`writingTaste.criteria.${e.key}`)),1),c(`small`,null,f(be(e)),1)])],2))),128))],8,C),c(`section`,T,[c(`header`,null,[c(`h2`,null,f(h(l)(`writingTaste.page.rulesTitle`)),1),c(`span`,null,f(z.value.rules.length),1)]),z.value.rules.length?(r(),u(`div`,E,[(r(!0),u(p,null,i(z.value.rules,e=>(r(),u(`article`,{key:`${e.item_kind}:${e.item_id}`,class:m([`writing-taste-rule`,{"has-conflict":e.has_conflict,"is-hypothesis":e.evidence_status===`Working hypothesis`}])},[c(`div`,D,[c(`span`,{class:m(e.evidence_status.replaceAll(` `,`-`).toLowerCase())},f(h(l)(`writingTaste.evidenceStatus.${e.evidence_status}`)),3),c(`span`,null,f(ye(e)),1),e.has_conflict?(r(),u(`span`,O,f(h(l)(`writingTaste.page.conflict`)),1)):_(``,!0)]),c(`div`,k,[c(`h3`,null,f(e.title),1),c(`p`,null,f(e.instruction),1),e.reason||e.contexts.length?(r(),g(ie,{key:0,title:h(l)(`ui.details`)},{default:t(()=>[e.reason?(r(),u(`p`,A,f(e.reason),1)):_(``,!0),e.contexts.length?(r(),u(`p`,j,f(h(l)(`writingTaste.page.contexts`,{contexts:e.contexts.join(`、`)})),1)):_(``,!0)]),_:2},1032,[`title`])):_(``,!0)]),c(`footer`,null,[c(`div`,null,[c(`span`,null,f(h(l)(`writingTaste.page.evidence`,{evidence:e.evidence_count})),1),c(`span`,null,f(h(l)(`writingTaste.page.sessions`,{sessions:e.session_count})),1),e.updated_at?(r(),u(`span`,M,f(h(l)(`writingTaste.page.updated`,{time:h(ce)(e.updated_at)})),1)):_(``,!0)]),$(e)?(r(),u(`div`,N,[c(`button`,{class:`secondary-action`,type:`button`,onClick:t=>ve(e)},f(h(l)(`writingTaste.page.edit`)),9,P),e.evidence_status===`Confirmed`?_(``,!0):(r(),u(`button`,{key:0,class:`primary-action`,type:`button`,onClick:t=>_e(e)},f(h(l)(`writingTaste.page.confirm`)),9,F))])):_(``,!0)])],2))),128))])):(r(),u(`div`,I,f(h(l)(`writingTaste.page.rulesEmpty`)),1))]),z.value.ready&&z.value.agent_markdown?(r(),u(`section`,L,[c(`div`,null,[c(`h2`,null,f(h(l)(`writingTaste.page.agentPreviewTitle`)),1)]),c(`button`,{class:`secondary-action`,type:`button`,onClick:a[1]||=e=>G.value=!G.value},f(G.value?h(l)(`writingTaste.page.hideAgentPreview`):h(l)(`writingTaste.page.showAgentPreview`)),1),G.value?(r(),u(`pre`,R,f(z.value.agent_markdown),1)):_(``,!0)])):_(``,!0)],64)):(r(),u(`div`,x,[c(`p`,{role:H.value?`alert`:void 0},f(h(l)(H.value?`common.errors.loadFailed`:`writingTaste.page.profileUnavailable`)),9,fe),h(y).activePersonalSpace?(r(),u(`button`,{key:0,type:`button`,class:`secondary-action`,onClick:a[0]||=e=>Q()},f(h(l)(`common.actions.retry`)),1)):_(``,!0)])),n(se,{item:W.value,"personal-space-id":h(y).activePersonalSpace?.id??``,"personal-project-id":null,projects:h(y).state?.personalProjects??[],"replacement-items":X.value,onClose:a[2]||=e=>W.value=null,onSaved:a[3]||=e=>Q()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),n(oe,{item:U.value,"personal-space-id":h(y).activePersonalSpace?.id??``,"personal-project-id":null,onClose:a[4]||=e=>U.value=null,onSaved:a[5]||=e=>Q()},null,8,[`item`,`personal-space-id`])]))}}),[[`__scopeId`,`data-v-753ab4d9`]]);export{z as default};
1
+ import{A as e,B as t,C as n,M as r,P as i,R as a,S as o,X as s,_ as c,a as l,b as u,g as d,it as f,m as p,nt as m,tt as h,v as g,w as ee,y as _}from"./i18n-b14l2pQA.js";import{t as te}from"./console-CqzwSo7a.js";import{n as ne,o as v}from"./client-DLS5FZBI.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./vue-router-B6ZjK-Br.js";import{t as ie}from"./UiDisclosure-BS-muK5j.js";import{i as ae,n as oe,t as se}from"./KnowledgeEditDialog-a-5rasG0.js";import{u as ce,x as le}from"./model-DupZy8Qb.js";import{t as ue}from"./personal-profile-graph-BPTtMJTZ.js";var b={class:`view writing-taste-view`},de={key:2,class:`view-loading`,"aria-busy":`true`},x={key:3,class:`writing-taste-unavailable`},fe=[`role`],pe={class:`writing-taste-hero__copy`},me={class:`writing-taste-status`},S={class:`writing-taste-hero__score`,"aria-hidden":`true`},C=[`aria-label`],w={"aria-hidden":`true`},T={class:`writing-taste-rules`},E={key:0,class:`writing-taste-rule-list`},D={class:`writing-taste-rule__status`},O={key:0,class:`conflict`},k={class:`writing-taste-rule__body`},A={key:0},j={key:1},M={key:0},N={key:0,class:`writing-taste-rule__actions`},P=[`onClick`],F=[`onClick`],I={key:1,class:`writing-taste-empty`},L={key:0,class:`writing-taste-agent-preview`},R={key:0},z=y(ee({__name:`WritingTastePage`,setup(ee){let y=te(),z=s(null),B=s(null),V=s(!1),H=s(!1),U=s(null),W=s(null),G=s(!1),K=0,q=null,J=d(()=>V.value&&!z.value),Y=ae(J),X=d(()=>le(B.value)),Z=d(()=>new Map(X.value.map(e=>[`${e.itemKind}:${e.id}`,e]))),he=d(()=>z.value?.status===`active`?l(`writingTaste.page.activeTitle`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewTitle`):l(`writingTaste.page.collectingTitle`)),ge=d(()=>z.value?.status===`active`?l(`writingTaste.page.activeCopy`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewCopy`):l(`writingTaste.page.collectingCopy`));a(()=>y.activePersonalSpace?.id,e=>{z.value=null,B.value=null,U.value=null,W.value=null,G.value=!1,Q(e)},{immediate:!0,flush:`sync`});async function Q(e=y.activePersonalSpace?.id){let t=++K;if(q?.abort(),q=null,H.value=!1,!e){V.value=!1;return}let n=new AbortController;q=n,V.value=!0;try{let r=new URLSearchParams({personalSpaceId:e,limit:`500`}),[i,a]=await Promise.all([ne(`/api/writing-taste-profile?${r}`,{signal:n.signal}),ue(e,n.signal)]);if(t!==K)return;z.value=Se(i)?i:null,B.value=Ce(a)?a:null,xe()}catch{if(t!==K)return;z.value=null,B.value=null,H.value=!0}finally{t===K&&(V.value=!1,q=null)}}e(()=>{K+=1,q?.abort()});function $(e){return Z.value.get(`${e.item_kind}:${e.item_id}`)??null}function _e(e){U.value=$(e)}function ve(e){W.value=$(e)}function ye(e){if(e.preference_scope!==`project`||!e.preference_project_id)return l(`writingTaste.page.globalScope`);let t=y.state?.personalProjects?.find(({project_id:t})=>t===e.preference_project_id);return l(`writingTaste.page.projectScope`,{project:t?.profile.name??e.preference_project_id})}function be(e){return e.key===`conflicts`?l(`writingTaste.criteria.conflictsProgress`,{current:e.current}):l(`writingTaste.criteria.progress`,{current:e.current,target:e.target})}function xe(){U.value&&=Z.value.get(`${U.value.itemKind}:${U.value.id}`)??null,W.value&&=Z.value.get(`${W.value.itemKind}:${W.value.id}`)??null}function Se(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`collecting`,`preview_ready`,`active`].includes(t.status??``)&&!!t.readiness&&Array.isArray(t.rules)}function Ce(e){if(!e||typeof e!=`object`)return!1;let t=e;return Array.isArray(t.nodes)&&Array.isArray(t.edges)}return(e,a)=>(r(),u(`section`,b,[n(h(re),{class:`writing-taste-back`,to:`/preferences`},{default:t(()=>[a[6]||=c(`span`,{"aria-hidden":`true`},`←`,-1),o(` `+f(h(l)(`writingTaste.page.back`)),1)]),_:1}),V.value&&z.value&&!h(Y)?(r(),g(v,{key:0,variant:`inline`,label:h(l)(`writingTaste.page.loading`)},null,8,[`label`])):_(``,!0),h(Y)?(r(),g(v,{key:1,label:h(l)(`writingTaste.page.loading`)},null,8,[`label`])):J.value?(r(),u(`div`,de)):z.value?(r(),u(p,{key:4},[c(`header`,{class:m([`writing-taste-hero`,`status-${z.value.status}`])},[c(`div`,pe,[c(`span`,me,[a[7]||=c(`i`,{"aria-hidden":`true`},null,-1),o(` `+f(h(l)(`writingTaste.status.${z.value.status}`)),1)]),c(`h2`,null,f(he.value),1),c(`p`,null,f(ge.value),1)]),c(`div`,S,[c(`strong`,null,f(z.value.readiness.rule_count),1),c(`span`,null,`/ `+f(z.value.readiness.thresholds.rule_count),1),c(`small`,null,f(h(l)(`writingTaste.criteria.rules`)),1)])],2),c(`section`,{class:`writing-taste-readiness`,"aria-label":h(l)(`writingTaste.page.readinessAria`)},[(r(!0),u(p,null,i(z.value.readiness.criteria,e=>(r(),u(`article`,{key:e.key,class:m({met:e.met})},[c(`span`,w,f(e.met?`✓`:`·`),1),c(`div`,null,[c(`strong`,null,f(h(l)(`writingTaste.criteria.${e.key}`)),1),c(`small`,null,f(be(e)),1)])],2))),128))],8,C),c(`section`,T,[c(`header`,null,[c(`h2`,null,f(h(l)(`writingTaste.page.rulesTitle`)),1),c(`span`,null,f(z.value.rules.length),1)]),z.value.rules.length?(r(),u(`div`,E,[(r(!0),u(p,null,i(z.value.rules,e=>(r(),u(`article`,{key:`${e.item_kind}:${e.item_id}`,class:m([`writing-taste-rule`,{"has-conflict":e.has_conflict,"is-hypothesis":e.evidence_status===`Working hypothesis`}])},[c(`div`,D,[c(`span`,{class:m(e.evidence_status.replaceAll(` `,`-`).toLowerCase())},f(h(l)(`writingTaste.evidenceStatus.${e.evidence_status}`)),3),c(`span`,null,f(ye(e)),1),e.has_conflict?(r(),u(`span`,O,f(h(l)(`writingTaste.page.conflict`)),1)):_(``,!0)]),c(`div`,k,[c(`h3`,null,f(e.title),1),c(`p`,null,f(e.instruction),1),e.reason||e.contexts.length?(r(),g(ie,{key:0,title:h(l)(`ui.details`)},{default:t(()=>[e.reason?(r(),u(`p`,A,f(e.reason),1)):_(``,!0),e.contexts.length?(r(),u(`p`,j,f(h(l)(`writingTaste.page.contexts`,{contexts:e.contexts.join(`、`)})),1)):_(``,!0)]),_:2},1032,[`title`])):_(``,!0)]),c(`footer`,null,[c(`div`,null,[c(`span`,null,f(h(l)(`writingTaste.page.evidence`,{evidence:e.evidence_count})),1),c(`span`,null,f(h(l)(`writingTaste.page.sessions`,{sessions:e.session_count})),1),e.updated_at?(r(),u(`span`,M,f(h(l)(`writingTaste.page.updated`,{time:h(ce)(e.updated_at)})),1)):_(``,!0)]),$(e)?(r(),u(`div`,N,[c(`button`,{class:`secondary-action`,type:`button`,onClick:t=>ve(e)},f(h(l)(`writingTaste.page.edit`)),9,P),e.evidence_status===`Confirmed`?_(``,!0):(r(),u(`button`,{key:0,class:`primary-action`,type:`button`,onClick:t=>_e(e)},f(h(l)(`writingTaste.page.confirm`)),9,F))])):_(``,!0)])],2))),128))])):(r(),u(`div`,I,f(h(l)(`writingTaste.page.rulesEmpty`)),1))]),z.value.ready&&z.value.agent_markdown?(r(),u(`section`,L,[c(`div`,null,[c(`h2`,null,f(h(l)(`writingTaste.page.agentPreviewTitle`)),1)]),c(`button`,{class:`secondary-action`,type:`button`,onClick:a[1]||=e=>G.value=!G.value},f(G.value?h(l)(`writingTaste.page.hideAgentPreview`):h(l)(`writingTaste.page.showAgentPreview`)),1),G.value?(r(),u(`pre`,R,f(z.value.agent_markdown),1)):_(``,!0)])):_(``,!0)],64)):(r(),u(`div`,x,[c(`p`,{role:H.value?`alert`:void 0},f(h(l)(H.value?`common.errors.loadFailed`:`writingTaste.page.profileUnavailable`)),9,fe),h(y).activePersonalSpace?(r(),u(`button`,{key:0,type:`button`,class:`secondary-action`,onClick:a[0]||=e=>Q()},f(h(l)(`common.actions.retry`)),1)):_(``,!0)])),n(se,{item:W.value,"personal-space-id":h(y).activePersonalSpace?.id??``,"personal-project-id":null,projects:h(y).state?.personalProjects??[],"replacement-items":X.value,onClose:a[2]||=e=>W.value=null,onSaved:a[3]||=e=>Q()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),n(oe,{item:U.value,"personal-space-id":h(y).activePersonalSpace?.id??``,"personal-project-id":null,onClose:a[4]||=e=>U.value=null,onSaved:a[5]||=e=>Q()},null,8,[`item`,`personal-space-id`])]))}}),[[`__scopeId`,`data-v-753ab4d9`]]);export{z as default};
@@ -1 +1 @@
1
- import{X as e,a as t}from"./i18n-CCMR4gDS.js";import{r as n}from"./console-CG8tdtSs.js";import{i as r,n as i}from"./client-CUTkF3t4.js";var a=n(`agent-attention`,()=>{let n=e(``),a=e({}),o=e(0),s=e([]),c=e(0),l=e([]),u=e(0),d=e(``),f=e(!1),p=e(!1),m=e(``),h=e(``),g=e(!1),_=e(!1),v=e(``),y=0,b=0;function x(e,t){d.value=e,l.value=t.items.filter(t=>t.personalSpaceId===e).slice(0,5),u.value=t.total,p.value=!0,m.value=``}function S(){b++,d.value=``,l.value=[],u.value=0,p.value=!1,f.value=!1,m.value=``}async function C(){let e=++y;if(!n.value)return;_.value=!0;let t=++b;d.value=n.value,f.value=!0,m.value=``;try{let r=new URLSearchParams({personalSpaceId:n.value,status:`open`}),l=await i(`/api/agent-attention?${r}&limit=5`);if(e!==y)return;if(a.value=l.counts,o.value=l.total,t===b&&(x(n.value,l),f.value=!1),g.value){h.value&&r.set(`agentId`,h.value);let t=await i(`/api/agent-attention?${r}&limit=100`);if(e!==y)return;s.value=t.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)),c.value=t.total}v.value=``}catch(n){e===y&&(v.value=n instanceof Error?n.message:String(n)),t===b&&(m.value=n instanceof Error?n.message:String(n),f.value=!1)}finally{e===y&&(_.value=!1),t===b&&(f.value=!1)}}async function w(e=n.value,t={}){if(!e||!t.force&&d.value===e&&(f.value||p.value))return;let r=++b;d.value!==e&&(l.value=[],u.value=0,p.value=!1),d.value=e,f.value=!0,m.value=``;try{let t=await i(`/api/agent-attention?${new URLSearchParams({personalSpaceId:e,status:`open`,limit:`5`})}`);if(r!==b)return;x(e,t)}catch(e){r===b&&(m.value=e instanceof Error?e.message:String(e))}finally{r===b&&(f.value=!1)}}function T(e){n.value!==e&&(y++,n.value=e,a.value={},s.value=[],o.value=0,c.value=0,v.value=``,g.value=!1,_.value=!1,h.value=``,S(),e&&C())}function E(e=``){h.value=e,s.value=[],c.value=0,g.value=!0,C()}async function D(){if(_.value)return;let e=++y;_.value=!0;try{let t=new URLSearchParams({personalSpaceId:n.value,status:`open`,limit:`100`,offset:String(s.value.length)});h.value&&t.set(`agentId`,h.value);let r=await i(`/api/agent-attention?${t}`);if(e!==y)return;let a=new Set(s.value.map(e=>e.requestId));s.value.push(...r.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)&&!a.has(e.requestId))),c.value=r.total}catch(t){e===y&&(v.value=String(t))}finally{e===y&&(_.value=!1)}}async function O(e,i){let f=n.value;if(!f||e.personalSpaceId!==f)throw Error(t(`attention.wrongSpace`));await r(`/api/agent-attention/respond`,{personalSpaceId:f,personalProjectId:e.personalProjectId,requestId:e.requestId,expectedRevision:e.revision,response:i}),n.value===f&&(s.value=s.value.filter(t=>t.requestId!==e.requestId),o.value=Math.max(0,o.value-1),a.value={...a.value,[e.agentId]:Math.max(0,(a.value[e.agentId]??0)-1)},(!h.value||h.value===e.agentId)&&(c.value=Math.max(0,c.value-1)),d.value===f&&(l.value=l.value.filter(t=>t.requestId!==e.requestId),u.value=Math.max(0,u.value-1)),await C())}return{spaceId:n,counts:a,total:o,items:s,filteredTotal:c,previewItems:l,previewTotal:u,previewSpaceId:d,previewLoading:f,previewLoaded:p,previewError:m,agentId:h,open:g,loading:_,error:v,setSpace:T,show:E,refresh:C,refreshPreview:w,more:D,respond:O}});function o(e){let t=new URLSearchParams({agent:e.agentId,project:e.personalProjectId});return e.taskId&&t.set(`task`,e.taskId),`/project-agents?${t}${e.taskId?`#task-${encodeURIComponent(e.taskId)}`:``}`}export{a as n,o as t};
1
+ import{X as e,a as t}from"./i18n-b14l2pQA.js";import{r as n}from"./console-CqzwSo7a.js";import{i as r,n as i}from"./client-DLS5FZBI.js";var a=n(`agent-attention`,()=>{let n=e(``),a=e({}),o=e(0),s=e([]),c=e(0),l=e([]),u=e(0),d=e(``),f=e(!1),p=e(!1),m=e(``),h=e(``),g=e(!1),_=e(!1),v=e(``),y=0,b=0;function x(e,t){d.value=e,l.value=t.items.filter(t=>t.personalSpaceId===e).slice(0,5),u.value=t.total,p.value=!0,m.value=``}function S(){b++,d.value=``,l.value=[],u.value=0,p.value=!1,f.value=!1,m.value=``}async function C(){let e=++y;if(!n.value)return;_.value=!0;let t=++b;d.value=n.value,f.value=!0,m.value=``;try{let r=new URLSearchParams({personalSpaceId:n.value,status:`open`}),l=await i(`/api/agent-attention?${r}&limit=5`);if(e!==y)return;if(a.value=l.counts,o.value=l.total,t===b&&(x(n.value,l),f.value=!1),g.value){h.value&&r.set(`agentId`,h.value);let t=await i(`/api/agent-attention?${r}&limit=100`);if(e!==y)return;s.value=t.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)),c.value=t.total}v.value=``}catch(n){e===y&&(v.value=n instanceof Error?n.message:String(n)),t===b&&(m.value=n instanceof Error?n.message:String(n),f.value=!1)}finally{e===y&&(_.value=!1),t===b&&(f.value=!1)}}async function w(e=n.value,t={}){if(!e||!t.force&&d.value===e&&(f.value||p.value))return;let r=++b;d.value!==e&&(l.value=[],u.value=0,p.value=!1),d.value=e,f.value=!0,m.value=``;try{let t=await i(`/api/agent-attention?${new URLSearchParams({personalSpaceId:e,status:`open`,limit:`5`})}`);if(r!==b)return;x(e,t)}catch(e){r===b&&(m.value=e instanceof Error?e.message:String(e))}finally{r===b&&(f.value=!1)}}function T(e){n.value!==e&&(y++,n.value=e,a.value={},s.value=[],o.value=0,c.value=0,v.value=``,g.value=!1,_.value=!1,h.value=``,S(),e&&C())}function E(e=``){h.value=e,s.value=[],c.value=0,g.value=!0,C()}async function D(){if(_.value)return;let e=++y;_.value=!0;try{let t=new URLSearchParams({personalSpaceId:n.value,status:`open`,limit:`100`,offset:String(s.value.length)});h.value&&t.set(`agentId`,h.value);let r=await i(`/api/agent-attention?${t}`);if(e!==y)return;let a=new Set(s.value.map(e=>e.requestId));s.value.push(...r.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)&&!a.has(e.requestId))),c.value=r.total}catch(t){e===y&&(v.value=String(t))}finally{e===y&&(_.value=!1)}}async function O(e,i){let f=n.value;if(!f||e.personalSpaceId!==f)throw Error(t(`attention.wrongSpace`));await r(`/api/agent-attention/respond`,{personalSpaceId:f,personalProjectId:e.personalProjectId,requestId:e.requestId,expectedRevision:e.revision,response:i}),n.value===f&&(s.value=s.value.filter(t=>t.requestId!==e.requestId),o.value=Math.max(0,o.value-1),a.value={...a.value,[e.agentId]:Math.max(0,(a.value[e.agentId]??0)-1)},(!h.value||h.value===e.agentId)&&(c.value=Math.max(0,c.value-1)),d.value===f&&(l.value=l.value.filter(t=>t.requestId!==e.requestId),u.value=Math.max(0,u.value-1)),await C())}return{spaceId:n,counts:a,total:o,items:s,filteredTotal:c,previewItems:l,previewTotal:u,previewSpaceId:d,previewLoading:f,previewLoaded:p,previewError:m,agentId:h,open:g,loading:_,error:v,setSpace:T,show:E,refresh:C,refreshPreview:w,more:D,respond:O}});function o(e){let t=new URLSearchParams({agent:e.agentId,project:e.personalProjectId});return e.taskId&&t.set(`task`,e.taskId),`/project-agents?${t}${e.taskId?`#task-${encodeURIComponent(e.taskId)}`:``}`}export{a as n,o as t};
@@ -1 +1 @@
1
- import{X as e,a as t}from"./i18n-CCMR4gDS.js";import{n}from"./client-CUTkF3t4.js";function r(e){let t=/^employee\.([a-z][a-z0-9-]{0,63})$/.exec(e.agentId)?.[1];return t&&e.profile.capabilities.includes(`fuli.employee:${t}`)?t:null}var i=e([]),a=e(!1),o=e(``),s=``,c=null,l=0;async function u(e){if(!e)return[];let t=await n(`/api/employee-templates?${new URLSearchParams({personalSpaceId:e})}`);return Array.isArray(t.templates)?t.templates:[]}function d(e){if(e===s&&c)return c;let t=++l;return e!==s&&(i.value=[]),s=e,o.value=``,e?(a.value=!0,c=u(e).then(e=>{t===l&&(i.value=e)}).catch(e=>{t===l&&(i.value=[],o.value=f(e))}).finally(()=>{t===l&&(a.value=!1,c=null)}),c):(i.value=[],a.value=!1,Promise.resolve())}function f(e){let n=e instanceof Error?e.message:``;try{let e=JSON.parse(n);return e.code&&[`runtime_unavailable`,`assignment_required`,`project_not_found`,`identity_conflict`,`reactivation_required`,`assignment_scope_conflict`,`assignment_update_incomplete`].includes(e.code)?t(`employees.errors.${e.code}`):e.error||t(`employees.loadError`)}catch{return n||t(`employees.loadError`)}}export{i as a,r as i,a as n,u as o,f as r,d as s,o as t};
1
+ import{X as e,a as t}from"./i18n-b14l2pQA.js";import{n}from"./client-DLS5FZBI.js";function r(e){let t=/^employee\.([a-z][a-z0-9-]{0,63})$/.exec(e.agentId)?.[1];return t&&e.profile.capabilities.includes(`fuli.employee:${t}`)?t:null}var i=e([]),a=e(!1),o=e(``),s=``,c=null,l=0;async function u(e){if(!e)return[];let t=await n(`/api/employee-templates?${new URLSearchParams({personalSpaceId:e})}`);return Array.isArray(t.templates)?t.templates:[]}function d(e){if(e===s&&c)return c;let t=++l;return e!==s&&(i.value=[]),s=e,o.value=``,e?(a.value=!0,c=u(e).then(e=>{t===l&&(i.value=e)}).catch(e=>{t===l&&(i.value=[],o.value=f(e))}).finally(()=>{t===l&&(a.value=!1,c=null)}),c):(i.value=[],a.value=!1,Promise.resolve())}function f(e){let n=e instanceof Error?e.message:``;try{let e=JSON.parse(n);return e.code&&[`runtime_unavailable`,`assignment_required`,`project_not_found`,`identity_conflict`,`reactivation_required`,`assignment_scope_conflict`,`assignment_update_incomplete`].includes(e.code)?t(`employees.errors.${e.code}`):e.error||t(`employees.loadError`)}catch{return n||t(`employees.loadError`)}}export{i as a,r as i,a as n,u as o,f as r,d as s,o as t};
@@ -1 +1 @@
1
- import{M as e,_ as t,a as n,b as r,it as i,nt as a,w as o}from"./i18n-CCMR4gDS.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c=[`aria-label`],l={class:`growth-loading__content`},u={class:`growth-loading__label`},d=s(o({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(n){let o=n;return(n,s)=>(e(),r(`span`,{class:a([`growth-loading`,[`growth-loading--${o.variant}`,{"view-loading":o.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":o.label},[t(`span`,l,[s[0]||=t(`span`,{class:`growth-loading__visual`,"aria-hidden":`true`},[t(`svg`,{class:`growth-loading__mark`,viewBox:`0 0 48 48`,"aria-hidden":`true`,focusable:`false`},[t(`path`,{class:`growth-loading__arc growth-loading__arc--1`,d:`M24 5 A19 19 0 0 1 40.45 33.5`}),t(`path`,{class:`growth-loading__arc growth-loading__arc--2`,d:`M40.45 33.5 A19 19 0 0 1 7.55 33.5`}),t(`path`,{class:`growth-loading__arc growth-loading__arc--3`,d:`M7.55 33.5 A19 19 0 0 1 24 5`})])],-1),t(`span`,u,i(o.label),1)])],10,c))}}),[[`__scopeId`,`data-v-9303b8a4`]]),f=class extends Error{status;detail;constructor(e,t,n=``){super(e),this.name=`ApiError`,this.status=t,this.detail=n}};async function p(e,t){let r=await fetch(e,t);if(!r.ok){let e=(await r.text()).trim();throw new f(r.status>=500?n(`common.errors.serviceUnavailable`,{status:r.status}):e||n(`common.errors.requestFailed`,{status:r.status}),r.status,e)}return r.json()}function m(e,t){return p(e,t)}function h(e,t){return p(e,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function g(e,t){return p(e,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function _(e,t){return p(e,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function v(e){return p(e,{method:`DELETE`})}export{g as a,h as i,m as n,d as o,_ as r,v as t};
1
+ import{M as e,_ as t,a as n,b as r,it as i,nt as a,w as o}from"./i18n-b14l2pQA.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c=[`aria-label`],l={class:`growth-loading__content`},u={class:`growth-loading__label`},d=s(o({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(n){let o=n;return(n,s)=>(e(),r(`span`,{class:a([`growth-loading`,[`growth-loading--${o.variant}`,{"view-loading":o.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":o.label},[t(`span`,l,[s[0]||=t(`span`,{class:`growth-loading__visual`,"aria-hidden":`true`},[t(`svg`,{class:`growth-loading__mark`,viewBox:`0 0 48 48`,"aria-hidden":`true`,focusable:`false`},[t(`path`,{class:`growth-loading__arc growth-loading__arc--1`,d:`M24 5 A19 19 0 0 1 40.45 33.5`}),t(`path`,{class:`growth-loading__arc growth-loading__arc--2`,d:`M40.45 33.5 A19 19 0 0 1 7.55 33.5`}),t(`path`,{class:`growth-loading__arc growth-loading__arc--3`,d:`M7.55 33.5 A19 19 0 0 1 24 5`})])],-1),t(`span`,u,i(o.label),1)])],10,c))}}),[[`__scopeId`,`data-v-9303b8a4`]]),f=class extends Error{status;detail;constructor(e,t,n=``){super(e),this.name=`ApiError`,this.status=t,this.detail=n}};async function p(e,t){let r=await fetch(e,t);if(!r.ok){let e=(await r.text()).trim();throw new f(r.status>=500?n(`common.errors.serviceUnavailable`,{status:r.status}):e||n(`common.errors.requestFailed`,{status:r.status}),r.status,e)}return r.json()}function m(e,t){return p(e,t)}function h(e,t){return p(e,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function g(e,t){return p(e,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function _(e,t){return p(e,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function v(e){return p(e,{method:`DELETE`})}export{g as a,h as i,m as n,d as o,_ as r,v as t};
@@ -1 +1 @@
1
- import{$ as e,D as t,E as n,G as r,H as i,J as a,K as o,Q as s,R as c,U as l,W as u,X as d,a as f,et as p,g as m,k as h,q as g}from"./i18n-CCMR4gDS.js";import{n as _,r as v}from"./client-CUTkF3t4.js";var y=typeof window<`u`,b,x=e=>b=e,S=Symbol();function C(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var w=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function T(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function E(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){j(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function D(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function O(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var k=typeof navigator==`object`?navigator:{userAgent:``},A=/Macintosh/.test(k.userAgent)&&/AppleWebKit/.test(k.userAgent)&&!/Safari/.test(k.userAgent),j=y?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!A?M:`msSaveOrOpenBlob`in k?N:P:()=>{};function M(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?O(r):D(r.href)?E(e,t,n):(r.target=`_blank`,O(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){O(r)},0))}function N(e,t=`download`,n){if(typeof e==`string`)if(D(e))E(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){O(t)})}else navigator.msSaveOrOpenBlob(T(e,n),t)}function P(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return E(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(w.HTMLElement))||`safari`in w,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||A)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:F}=Object;function I(){let e=i(!0),t=e.run(()=>d({})),n=[],r=[],a=o({install(e){x(a),a._a=e,e.provide(S,a),e.config.globalProperties.$pinia=a,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}var L=()=>{};function R(e,t,n,r=L){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&l()&&g(i),i}function z(e,...t){e.forEach(e=>{e(...t)})}var B=e=>e(),V=Symbol(),H=Symbol();function U(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n],a=e[n];C(a)&&C(i)&&Object.hasOwn(e,n)&&!r(i)&&!u(i)?e[n]=U(a,i):e[n]=i}return e}var W=Symbol();function G(e){return!e||typeof e!=`object`||!Object.hasOwn(e,W)}var{assign:K}=Object;function q(e){return!!(r(e)&&e.effect)}function J(e,t,n,r){let{state:i,actions:a,getters:s}=t,c=n.state.value[e],l;function u(){return c||(n.state.value[e]=i?i():{}),K(p(n.state.value[e]),a,Object.keys(s||{}).reduce((t,r)=>(t[r]=o(m(()=>{x(n);let t=n._s.get(e);return s[r].call(t,t)})),t),{}))}return l=Y(e,u,t,n,r,!0),l}function Y(t,n,o={},s,l,d){let f,p=K({actions:{}},o),m={deep:!0},g,_,v=new Set,y=new Set,b=s.state.value[t];!d&&!b&&(s.state.value[t]={});let S;function C(e){let n;g=_=!1,typeof e==`function`?(e(s.state.value[t]),n={type:`patch function`,storeId:t,events:void 0}):(U(s.state.value[t],e),n={type:`patch object`,payload:e,storeId:t,events:void 0});let r=S=Symbol();h().then(()=>{S===r&&(g=!0)}),_=!0,z(v,n,s.state.value[t])}let w=d?function(){let{state:e}=o,t=e?e():{};this.$patch(e=>{K(e,t)})}:L;function T(){f.stop(),v.clear(),y.clear(),s._s.delete(t)}let E=(e,n=``)=>{if(V in e)return e[H]=n,e;let r=function(){x(s);let n=Array.from(arguments),i=new Set,a=new Set;function o(e){i.add(e)}function c(e){a.add(e)}z(y,{args:n,name:r[H],store:D,after:o,onError:c});let l;try{l=e.apply(this&&this.$id===t?this:D,n)}catch(e){throw z(a,e),e}return l instanceof Promise?l.then(e=>(z(i,e),e)).catch(e=>(z(a,e),Promise.reject(e))):(z(i,l),l)};return r[V]=!0,r[H]=n,r},D=a({_p:s,$id:t,$onAction:R.bind(null,y),$patch:C,$reset:w,$subscribe(e,n={}){if(v.has(e))return L;let r=R(v,e,n.detached,()=>i()),i=f.run(()=>c(()=>s.state.value[t],r=>{(n.flush===`sync`?_:g)&&e({storeId:t,type:`direct`,events:void 0},r)},K({},m,n)));return r},$dispose:T});s._s.set(t,D);let O=(s._a&&s._a.runWithContext||B)(()=>s._e.run(()=>(f=i()).run(()=>n({action:E}))));for(let e in O){let n=O[e];r(n)&&!q(n)||u(n)?d||(b&&G(n)&&(r(n)?n.value=b[e]:U(n,b[e])),s.state.value[t][e]=n):typeof n==`function`&&(O[e]=E(n,e),p.actions[e]=n)}return K(D,O),K(e(D),O),Object.defineProperty(D,"$state",{get:()=>s.state.value[t],set:e=>{C(t=>{K(t,e)})}}),s._p.forEach(e=>{let t=f.run(()=>e({store:D,app:s._a,pinia:s,options:p}));K(D,t)}),b&&d&&o.hydrate&&o.hydrate(D.$state,b),g=!0,_=!0,D}function X(e,r,i){let a,o=typeof r==`function`;a=o?i:r;function s(i,s){let c=n();return i||=c?t(S,null):null,i&&x(i),i=b,i._s.has(e)||(o?Y(e,r,a,i):J(e,a,i)),i._s.get(e)}return s.$id=e,s}var Z=X(`console`,()=>{let e=s(null),t=d(`idle`),n=d(!1),r=d(null),i=m(()=>{let t=e.value;return t?t.personalSpaces.find(({id:e})=>e===t.activePersonalSpaceId)??t.personalSpaces[0]??null:null}),a=m(()=>e.value?.mode===`connected`?`ready`:e.value?.mode===`degraded`?`error`:`disconnected`);async function o(){t.value=`loading`;try{e.value=await _(`/api/state`),t.value=`ready`}catch(e){t.value=`error`,h(e)}}async function c(t){try{let n=await v(`/api/capture-policy`,{enabled:t});e.value&&={...e.value,capturePolicy:n},p(f(t?`console.captureNotices.enabled`:`console.captureNotices.disabled`))}catch(e){h(e)}}async function l(t){try{let n=await v(`/api/agent-access-policy`,{enabled:t});e.value&&={...e.value,agentAccessPolicy:n},p(f(t?`console.agentAccess.enabledNotice`:`console.agentAccess.disabledNotice`))}catch(e){h(e)}}function u(t){return e.value?.capabilities?.[t]===!0}function p(e){r.value={message:e,tone:`success`}}function h(e){r.value={message:e instanceof Error?e.message:f(`common.errors.operationFailed`),tone:`error`}}function g(){r.value=null}return{state:e,runtimeStatus:t,settingsSaving:n,feedback:r,activePersonalSpace:i,publicRuntimeStatus:a,refresh:o,updateCapturePolicy:c,updateAgentAccessPolicy:l,hasCapability:u,notify:p,reportError:h,clearFeedback:g}});export{I as n,X as r,Z as t};
1
+ import{$ as e,D as t,E as n,G as r,H as i,J as a,K as o,Q as s,R as c,U as l,W as u,X as d,a as f,et as p,g as m,k as h,q as g}from"./i18n-b14l2pQA.js";import{n as _,r as v}from"./client-DLS5FZBI.js";var y=typeof window<`u`,b,x=e=>b=e,S=Symbol();function C(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var w=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function T(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function E(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){j(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function D(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function O(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var k=typeof navigator==`object`?navigator:{userAgent:``},A=/Macintosh/.test(k.userAgent)&&/AppleWebKit/.test(k.userAgent)&&!/Safari/.test(k.userAgent),j=y?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!A?M:`msSaveOrOpenBlob`in k?N:P:()=>{};function M(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?O(r):D(r.href)?E(e,t,n):(r.target=`_blank`,O(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){O(r)},0))}function N(e,t=`download`,n){if(typeof e==`string`)if(D(e))E(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){O(t)})}else navigator.msSaveOrOpenBlob(T(e,n),t)}function P(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return E(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(w.HTMLElement))||`safari`in w,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||A)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:F}=Object;function I(){let e=i(!0),t=e.run(()=>d({})),n=[],r=[],a=o({install(e){x(a),a._a=e,e.provide(S,a),e.config.globalProperties.$pinia=a,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}var L=()=>{};function R(e,t,n,r=L){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&l()&&g(i),i}function z(e,...t){e.forEach(e=>{e(...t)})}var B=e=>e(),V=Symbol(),H=Symbol();function U(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n],a=e[n];C(a)&&C(i)&&Object.hasOwn(e,n)&&!r(i)&&!u(i)?e[n]=U(a,i):e[n]=i}return e}var W=Symbol();function G(e){return!e||typeof e!=`object`||!Object.hasOwn(e,W)}var{assign:K}=Object;function q(e){return!!(r(e)&&e.effect)}function J(e,t,n,r){let{state:i,actions:a,getters:s}=t,c=n.state.value[e],l;function u(){return c||(n.state.value[e]=i?i():{}),K(p(n.state.value[e]),a,Object.keys(s||{}).reduce((t,r)=>(t[r]=o(m(()=>{x(n);let t=n._s.get(e);return s[r].call(t,t)})),t),{}))}return l=Y(e,u,t,n,r,!0),l}function Y(t,n,o={},s,l,d){let f,p=K({actions:{}},o),m={deep:!0},g,_,v=new Set,y=new Set,b=s.state.value[t];!d&&!b&&(s.state.value[t]={});let S;function C(e){let n;g=_=!1,typeof e==`function`?(e(s.state.value[t]),n={type:`patch function`,storeId:t,events:void 0}):(U(s.state.value[t],e),n={type:`patch object`,payload:e,storeId:t,events:void 0});let r=S=Symbol();h().then(()=>{S===r&&(g=!0)}),_=!0,z(v,n,s.state.value[t])}let w=d?function(){let{state:e}=o,t=e?e():{};this.$patch(e=>{K(e,t)})}:L;function T(){f.stop(),v.clear(),y.clear(),s._s.delete(t)}let E=(e,n=``)=>{if(V in e)return e[H]=n,e;let r=function(){x(s);let n=Array.from(arguments),i=new Set,a=new Set;function o(e){i.add(e)}function c(e){a.add(e)}z(y,{args:n,name:r[H],store:D,after:o,onError:c});let l;try{l=e.apply(this&&this.$id===t?this:D,n)}catch(e){throw z(a,e),e}return l instanceof Promise?l.then(e=>(z(i,e),e)).catch(e=>(z(a,e),Promise.reject(e))):(z(i,l),l)};return r[V]=!0,r[H]=n,r},D=a({_p:s,$id:t,$onAction:R.bind(null,y),$patch:C,$reset:w,$subscribe(e,n={}){if(v.has(e))return L;let r=R(v,e,n.detached,()=>i()),i=f.run(()=>c(()=>s.state.value[t],r=>{(n.flush===`sync`?_:g)&&e({storeId:t,type:`direct`,events:void 0},r)},K({},m,n)));return r},$dispose:T});s._s.set(t,D);let O=(s._a&&s._a.runWithContext||B)(()=>s._e.run(()=>(f=i()).run(()=>n({action:E}))));for(let e in O){let n=O[e];r(n)&&!q(n)||u(n)?d||(b&&G(n)&&(r(n)?n.value=b[e]:U(n,b[e])),s.state.value[t][e]=n):typeof n==`function`&&(O[e]=E(n,e),p.actions[e]=n)}return K(D,O),K(e(D),O),Object.defineProperty(D,"$state",{get:()=>s.state.value[t],set:e=>{C(t=>{K(t,e)})}}),s._p.forEach(e=>{let t=f.run(()=>e({store:D,app:s._a,pinia:s,options:p}));K(D,t)}),b&&d&&o.hydrate&&o.hydrate(D.$state,b),g=!0,_=!0,D}function X(e,r,i){let a,o=typeof r==`function`;a=o?i:r;function s(i,s){let c=n();return i||=c?t(S,null):null,i&&x(i),i=b,i._s.has(e)||(o?Y(e,r,a,i):J(e,a,i)),i._s.get(e)}return s.$id=e,s}var Z=X(`console`,()=>{let e=s(null),t=d(`idle`),n=d(!1),r=d(null),i=m(()=>{let t=e.value;return t?t.personalSpaces.find(({id:e})=>e===t.activePersonalSpaceId)??t.personalSpaces[0]??null:null}),a=m(()=>e.value?.mode===`connected`?`ready`:e.value?.mode===`degraded`?`error`:`disconnected`);async function o(){t.value=`loading`;try{e.value=await _(`/api/state`),t.value=`ready`}catch(e){t.value=`error`,h(e)}}async function c(t){try{let n=await v(`/api/capture-policy`,{enabled:t});e.value&&={...e.value,capturePolicy:n},p(f(t?`console.captureNotices.enabled`:`console.captureNotices.disabled`))}catch(e){h(e)}}async function l(t){try{let n=await v(`/api/agent-access-policy`,{enabled:t});e.value&&={...e.value,agentAccessPolicy:n},p(f(t?`console.agentAccess.enabledNotice`:`console.agentAccess.disabledNotice`))}catch(e){h(e)}}function u(t){return e.value?.capabilities?.[t]===!0}function p(e){r.value={message:e,tone:`success`}}function h(e){r.value={message:e instanceof Error?e.message:f(`common.errors.operationFailed`),tone:`error`}}function g(){r.value=null}return{state:e,runtimeStatus:t,settingsSaving:n,feedback:r,activePersonalSpace:i,publicRuntimeStatus:a,refresh:o,updateCapturePolicy:c,updateAgentAccessPolicy:l,hasCapability:u,notify:p,reportError:h,clearFeedback:g}});export{I as n,X as r,Z as t};
@@ -1 +1 @@
1
- import{Q as e,Y as t,a as n}from"./i18n-CCMR4gDS.js";import{n as r}from"./client-CUTkF3t4.js";var i=[`codex`,`claude`,`claude_code`,`cursor`,`gemini_cli`,`kiro`,`other`],a={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,gemini_cli:`Gemini CLI`,kiro:`Kiro`,other:`Other Agent`},o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,s=/^[^\u0000-\u001f\u007f]{1,512}$/,c=new Set([`about`,`blob`,`data`,`file`,`javascript`]),l={codex:{enabled:!0,idFormat:`uuid`,appName:`Codex`,urlTemplate:`codex://threads/{id}`},claude:{enabled:!1,idFormat:`any`,appName:`Claude`,urlTemplate:``},claude_code:{enabled:!1,idFormat:`any`,appName:`Claude Code`,urlTemplate:``},cursor:{enabled:!1,idFormat:`any`,appName:`Cursor`,urlTemplate:``},gemini_cli:{enabled:!1,idFormat:`any`,appName:`Gemini CLI`,urlTemplate:``},kiro:{enabled:!1,idFormat:`any`,appName:`Kiro`,urlTemplate:``},other:{enabled:!1,idFormat:`any`,appName:`Other Agent`,urlTemplate:``}};function u(e={}){let t=e.source_application?.trim().toLocaleLowerCase().replaceAll(`-`,`_`).replaceAll(` `,`_`);if(t&&a[t])return t;let n=`${e.source_kind??``} ${e.source_description??``}`.toLocaleLowerCase();return n.includes(`claude`)?`claude_code`:n.includes(`cursor`)?`cursor`:n.includes(`gemini`)?`gemini_cli`:n.includes(`kiro`)?`kiro`:n.includes(`codex`)?`codex`:`other`}function d(e){let t=u(e);return t===`other`?n(`knowledge.domain.actors.otherAgent`):a[t]}function f(e){return a[e]}function p(e={},t=l){if(m(e,t)!==`available`)return null;let n=t[u(e)],r=e.session_id.trim();return n.urlTemplate.replace(`{id}`,encodeURIComponent(r))}function m(e={},t=l){let n=t[u(e)];return n?.enabled?_(e.session_id?.trim()??``,n.idFormat)?v(n.urlTemplate)?`available`:`invalid_template`:`invalid_id`:`disabled`}function h(e={},t=l){let n=t[u(e)];return n?.enabled&&n.appName.trim()?n.appName.trim():null}async function g(e={},t=globalThis.navigator?.clipboard){return!e.session_id||!t?.writeText?!1:(await t.writeText(e.session_id),!0)}function _(e,t){return s.test(e)?t===`any`||o.test(e):!1}function v(e){if(e.split(`{id}`).length!==2||/\s/.test(e))return!1;let t=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLocaleLowerCase();return!!t&&!c.has(t)}var y=e(w(l)),b=null;function x(){return C(),t(y)}function S(e){y.value=w(e)}function C({force:e=!1}={}){return!e&&b||(b=r(`/api/system/settings`).then(e=>{S(e.configured.conversationLaunchers)}).catch(()=>void 0)),b}function w(e){return Object.fromEntries(i.map(t=>[t,{...l[t],...e?.[t]??{}}]))}export{g as a,h as c,i,p as l,S as n,d as o,x as r,f as s,w as t};
1
+ import{Q as e,Y as t,a as n}from"./i18n-b14l2pQA.js";import{n as r}from"./client-DLS5FZBI.js";var i=[`codex`,`claude`,`claude_code`,`cursor`,`gemini_cli`,`kiro`,`other`],a={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,gemini_cli:`Gemini CLI`,kiro:`Kiro`,other:`Other Agent`},o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,s=/^[^\u0000-\u001f\u007f]{1,512}$/,c=new Set([`about`,`blob`,`data`,`file`,`javascript`]),l={codex:{enabled:!0,idFormat:`uuid`,appName:`Codex`,urlTemplate:`codex://threads/{id}`},claude:{enabled:!1,idFormat:`any`,appName:`Claude`,urlTemplate:``},claude_code:{enabled:!1,idFormat:`any`,appName:`Claude Code`,urlTemplate:``},cursor:{enabled:!1,idFormat:`any`,appName:`Cursor`,urlTemplate:``},gemini_cli:{enabled:!1,idFormat:`any`,appName:`Gemini CLI`,urlTemplate:``},kiro:{enabled:!1,idFormat:`any`,appName:`Kiro`,urlTemplate:``},other:{enabled:!1,idFormat:`any`,appName:`Other Agent`,urlTemplate:``}};function u(e={}){let t=e.source_application?.trim().toLocaleLowerCase().replaceAll(`-`,`_`).replaceAll(` `,`_`);if(t&&a[t])return t;let n=`${e.source_kind??``} ${e.source_description??``}`.toLocaleLowerCase();return n.includes(`claude`)?`claude_code`:n.includes(`cursor`)?`cursor`:n.includes(`gemini`)?`gemini_cli`:n.includes(`kiro`)?`kiro`:n.includes(`codex`)?`codex`:`other`}function d(e){let t=u(e);return t===`other`?n(`knowledge.domain.actors.otherAgent`):a[t]}function f(e){return a[e]}function p(e={},t=l){if(m(e,t)!==`available`)return null;let n=t[u(e)],r=e.session_id.trim();return n.urlTemplate.replace(`{id}`,encodeURIComponent(r))}function m(e={},t=l){let n=t[u(e)];return n?.enabled?_(e.session_id?.trim()??``,n.idFormat)?v(n.urlTemplate)?`available`:`invalid_template`:`invalid_id`:`disabled`}function h(e={},t=l){let n=t[u(e)];return n?.enabled&&n.appName.trim()?n.appName.trim():null}async function g(e={},t=globalThis.navigator?.clipboard){return!e.session_id||!t?.writeText?!1:(await t.writeText(e.session_id),!0)}function _(e,t){return s.test(e)?t===`any`||o.test(e):!1}function v(e){if(e.split(`{id}`).length!==2||/\s/.test(e))return!1;let t=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLocaleLowerCase();return!!t&&!c.has(t)}var y=e(w(l)),b=null;function x(){return C(),t(y)}function S(e){y.value=w(e)}function C({force:e=!1}={}){return!e&&b||(b=r(`/api/system/settings`).then(e=>{S(e.configured.conversationLaunchers)}).catch(()=>void 0)),b}function w(e){return Object.fromEntries(i.map(t=>[t,{...l[t],...e?.[t]??{}}]))}export{g as a,h as c,i,p as l,S as n,d as o,x as r,f as s,w as t};