fuli-context 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -6
- package/README.zh-CN.md +9 -4
- package/dist/web/assets/{AboutPage-BAD0iPVX.js → AboutPage-Dized8Uz.js} +1 -1
- package/dist/web/assets/{AgentConversations-1iGTd4sz.js → AgentConversations-Ccy41mEA.js} +1 -1
- package/dist/web/assets/{AgentHand-D_RafKOM.js → AgentHand-UzVhbKUC.js} +1 -1
- package/dist/web/assets/{AgentName-B5LKQ09q.js → AgentName-DJpvkub2.js} +1 -1
- package/dist/web/assets/AgentProfilePage-CFViQ8kj.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-CBFTg_IE.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-Cv-vxw2C.css +1 -0
- package/dist/web/assets/{ConnectionsPage-Tr2rRVOZ.js → ConnectionsPage-uXcabab_.js} +1 -1
- package/dist/web/assets/EmployeeRecruitDialog-D8Hvhc-M.js +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-TBl_HNj6.js +3 -0
- package/dist/web/assets/KnowledgeEditDialog-HmiqLC-Y.js +1 -0
- package/dist/web/assets/KnowledgeInspector-Cj2yK4Qh.js +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-DT3BROZm.js +1 -0
- package/dist/web/assets/KnowledgePage-C4J4VueL.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-DA_dqVRG.js +4 -0
- package/dist/web/assets/{NotFoundPage-fetSnp0N.js → NotFoundPage-x_Yd59mm.js} +1 -1
- package/dist/web/assets/{OverviewPage-BD4yY2Xz.js → OverviewPage-3eZjQ26v.js} +1 -1
- package/dist/web/assets/OverviewPage-8LBN8Shi.css +1 -0
- package/dist/web/assets/PersonalProfilePage-CDQk096L.js +1 -0
- package/dist/web/assets/PersonalProjectsPage-CJxp4Wyz.js +1 -0
- package/dist/web/assets/{ProjectAgentFirstTask-BcxqmKXQ.js → ProjectAgentFirstTask-BkRJ0zwO.js} +1 -1
- package/dist/web/assets/{ProjectAgentsPage-BWDJBESb.js → ProjectAgentsPage-BuNNqSEy.js} +8 -8
- package/dist/web/assets/{ProjectScopePicker-yodM7lF_.js → ProjectScopePicker-CiDxM2Yx.js} +1 -1
- package/dist/web/assets/PublicProjectsPage-ByOT559r.js +1 -0
- package/dist/web/assets/{ReviewPage-Cy0Rt4CO.js → ReviewPage-C0Vdr9uq.js} +1 -1
- package/dist/web/assets/RoundtablesPage-Drou-B81.css +1 -0
- package/dist/web/assets/RoundtablesPage-L3ShEWS3.js +1 -0
- package/dist/web/assets/SettingsPage-BE8pWbI6.css +1 -0
- package/dist/web/assets/SettingsPage-McYuinGz.js +1 -0
- package/dist/web/assets/{SharedJefaReportPage-C56kPciB.js → SharedJefaReportPage-Bg6lIk3E.js} +1 -1
- package/dist/web/assets/UiButton-x8hiHNRM.js +1 -0
- package/dist/web/assets/UiDialog-mjletK0y.js +1 -0
- package/dist/web/assets/{UiDisclosure-D0iMTplF.js → UiDisclosure-_IxeiexW.js} +1 -1
- package/dist/web/assets/{UiSegmented-DIJW6wv3.js → UiSegmented-WFfz9Evl.js} +1 -1
- package/dist/web/assets/{UiSelect-CMR0QqF6.js → UiSelect-K29jnV-1.js} +1 -1
- package/dist/web/assets/{WritingTastePage-QgNzssfF.js → WritingTastePage-DCULB-d2.js} +1 -1
- package/dist/web/assets/agent-pins-DS4mNsNt.js +1 -0
- package/dist/web/assets/agent-profile-Bh3MJGvb.css +1 -0
- package/dist/web/assets/{attention-store-B1DI8wmd.js → attention-store-CA5y8j1R.js} +1 -1
- package/dist/web/assets/catalog-D0VEfOAV.js +1 -0
- package/dist/web/assets/{client-CR-W5Wzp.js → client-DnwnUBQV.js} +1 -1
- package/dist/web/assets/{console-D7GHOMEC.js → console-Cw7TzOSC.js} +1 -1
- package/dist/web/assets/conversation-launcher-settings-Yc13viwr.js +1 -0
- package/dist/web/assets/{i18n-CVFhT_k7.js → i18n-oJFlt8hW.js} +3 -3
- package/dist/web/assets/{identity-CM6Dmy00.js → identity-DSGS4CZc.js} +1 -1
- package/dist/web/assets/index-BfHCcUL2.css +1 -0
- package/dist/web/assets/index-CxNER7Oo.js +5 -0
- package/dist/web/assets/{judgment-types-CJBEyJs1.js → judgment-types-DR931cZ7.js} +1 -1
- package/dist/web/assets/{model-WFhQZ3v_.js → model-BJ-UF4cs.js} +1 -1
- package/dist/web/assets/{personal-profile-graph-BwCh2M9G.js → personal-profile-graph-SOK0BR0w.js} +1 -1
- package/dist/web/assets/project-team-api-C_0qJk_B.js +1 -0
- package/dist/web/assets/{shared-report-CeIvrL9a.js → shared-report-CiX64ZiD.js} +1 -1
- package/dist/web/assets/useAgentRoster-B84mzZIg.js +1 -0
- package/dist/web/assets/{useApi-CROJJdhE-BYhbjaZB.js → useApi-CROJJdhE-7gt0QyQ5.js} +1 -1
- package/dist/web/assets/{vue-router-DaxrQwX3.js → vue-router-CCvPGaLD.js} +1 -1
- package/dist/web/index.html +15 -14
- package/dist/web/licenses/ant-design-icons.txt +22 -0
- package/docs/agent-conversations-and-collaboration.md +3 -3
- package/docs/agent-roundtable.md +33 -0
- package/docs/client-connections.md +108 -0
- package/docs/employee-agents.md +3 -3
- package/docs/project-agent-memory.md +6 -6
- package/graph-provider/fuli_graph/default_project_lead.py +1 -1
- package/graph-provider/fuli_graph/project_agent_delegations.py +70 -2
- package/graph-provider/fuli_graph/project_agent_memory_routes.py +18 -1
- package/graph-provider/fuli_graph/project_agent_remote_origins.py +154 -0
- package/graph-provider/fuli_graph/project_agent_task_models.py +1 -1
- package/graph-provider/fuli_graph/runtime.py +7 -0
- package/graph-provider/fuli_graph/store_project_agent_context.py +3 -2
- package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_task_reads.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +5 -5
- package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +2 -2
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +2 -2
- package/graph-provider/fuli_graph/store_project_agents.py +6 -6
- package/graph-provider/fuli_graph/system_agents.py +12 -2
- package/graph-provider/fuli_graph/system_hr_identity.py +2 -2
- package/graph-provider/pyproject.toml +2 -1
- package/npm-shrinkwrap.json +280 -5
- package/package.json +6 -2
- package/skills/operating-fuli/SKILL.md +3 -3
- package/src/agent-peer/coordinator-http.js +117 -0
- package/src/agent-peer/coordinator-service.js +258 -0
- package/src/agent-peer/coordinator-store.js +95 -0
- package/src/agent-peer/device-identity.js +70 -0
- package/src/agent-peer/http.js +47 -0
- package/src/agent-peer/node-store.js +127 -0
- package/src/agent-peer/origin-proof.js +56 -0
- package/src/agent-peer/peer-port.js +140 -0
- package/src/agent-peer/peer-runtime.js +298 -0
- package/src/agent-peer/peer-transport.js +78 -0
- package/src/agent-peer/protocol.js +161 -0
- package/src/agent-peer/runner.js +251 -0
- package/src/agent-roundtable/http.js +17 -3
- package/src/agent-roundtable/service.js +272 -43
- package/src/agent-roundtable/tools.js +15 -1
- package/src/agent-roundtable/wake.js +12 -3
- package/src/agent-tools/graph-definitions.js +14 -5
- package/src/agent-tools/graph-handlers.js +1 -0
- package/src/agent-tools/interface-catalog.js +10 -1
- package/src/agent-tools/project-agent-definitions.js +1 -1
- package/src/agents/identity-receipt.js +1 -1
- package/src/cli/command-registry.js +3 -0
- package/src/cli/connect-command.js +31 -0
- package/src/cli/mcp-command.js +101 -0
- package/src/cli/peer-command.js +100 -0
- package/src/cli/setup-agent-selection.js +2 -2
- package/src/cli/setup-command.js +12 -5
- package/src/cli.js +16 -0
- package/src/employees/catalog/bole.json +2 -2
- package/src/graphiti/federated-application.js +4 -1
- package/src/graphiti/project-agent-control-plane.js +7 -0
- package/src/graphiti/project-agent-task-entry.js +4 -4
- package/src/graphiti/project-agent-team-context.js +16 -18
- package/src/graphiti/project-team-view.js +82 -0
- package/src/graphiti/provider-client.js +9 -0
- package/src/graphiti/task-entry-preferences.js +1 -1
- package/src/http/api-router.js +10 -1
- package/src/http/graph-api-router.js +7 -0
- package/src/mcp/runtime.js +2 -1
- package/src/mcp/tool-annotations.js +4 -3
- package/src/mcp/tool-profiles.js +36 -0
- package/src/mcp-server.js +2 -100
- package/src/server.js +14 -2
- package/src/setup/agent-installation-status.js +5 -3
- package/src/setup/agents.js +23 -3
- package/src/setup/claude-desktop-config.js +60 -0
- package/src/setup/client-connection.js +25 -0
- package/src/setup/paths.js +3 -1
- package/src/setup/setup.js +1 -1
- package/src/setup/stable-package-root.js +29 -0
- package/src/system/system-service.js +5 -0
- package/dist/web/assets/AgentProfilePage-CioOdkBM.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage--1A9nvNA.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage-C7OUQH9v.css +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-1QevD4Qv.js +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-B0vQIgwA.js +0 -3
- package/dist/web/assets/KnowledgeEditDialog-ClnrfPZi.js +0 -1
- package/dist/web/assets/KnowledgeInspector-Te1hJZbx.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-CCCrWl6Y.js +0 -1
- package/dist/web/assets/KnowledgePage-DGOcBwr8.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-cKn1NCRe.js +0 -4
- package/dist/web/assets/OverviewPage-By-fUzSG.css +0 -1
- package/dist/web/assets/PersonalProfilePage-DGJVP_VB.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-D25HYMgD.js +0 -1
- package/dist/web/assets/PublicProjectsPage-CyNxVzW3.js +0 -1
- package/dist/web/assets/RoundtablesPage-BjVhvwMc.js +0 -1
- package/dist/web/assets/RoundtablesPage-Cb0R4GaM.css +0 -1
- package/dist/web/assets/SettingsPage-CCZqZtnH.js +0 -1
- package/dist/web/assets/SettingsPage-DYz5bTwa.css +0 -1
- package/dist/web/assets/UiDialog-CvDxg3B1.js +0 -1
- package/dist/web/assets/agent-pins-BcJ_qr8n.js +0 -1
- package/dist/web/assets/agent-profile-BZj3ezWe.css +0 -1
- package/dist/web/assets/catalog-DbXv0_bR.js +0 -1
- package/dist/web/assets/conversation-launcher-settings-Dj2GMzCI.js +0 -1
- package/dist/web/assets/index-CJ6Jmok9.css +0 -1
- package/dist/web/assets/index-CRa3GnYi.js +0 -5
- package/dist/web/assets/useAgentRoster-DCArHlxK.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,E as t,I as n,M as r,P as i,Q as a,S as o,T as ee,a as s,b as c,g as l,ot as u,rt as d,v as f,x as p,y as m}from"./i18n-
|
|
1
|
+
import{B as e,E as t,I as n,M as r,P as i,Q as a,S as o,T as ee,a as s,b as c,g as l,ot as u,rt as d,v as f,x as p,y as m}from"./i18n-oJFlt8hW.js";import{t as te}from"./console-Cw7TzOSC.js";import{a as h,r as g,s as _}from"./client-DnwnUBQV.js";import{t as ne}from"./UiSelect-K29jnV-1.js";import{r as re,t as ie}from"./identity-DSGS4CZc.js";import{u as v}from"./model-BJ-UF4cs.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=t({__name:`ReviewPage`,setup(t){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=f(()=>(x.state?.projects??[]).filter(e=>e.role===`maintainer`&&Oe(e))),Ee=f(()=>F.value.map(e=>({value:e.id,label:e.name,meta:`#`+ie(e.id,26),search:re(e.id)}))),I=f(()=>F.value.find(({id:e})=>e===w.value)??null),De=f(()=>{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 e(()=>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`}),e(()=>x.activePersonalSpace?.id??``,e=>{U(),e&&X(e)},{immediate:!0,flush:`sync`}),e(F,e=>{e.some(({id:e})=>e===w.value)||(w.value=e[0]?.id??``)},{immediate:!0,flush:`sync`}),e(De,()=>{W(),I.value&&Z()},{immediate:!0,flush:`sync`}),r(()=>{U(),W()}),(e,t)=>(i(),o(`section`,ae,[m(`div`,oe,[m(`h3`,null,u(d(s)(`pages.review.personalTitle`)),1)]),m(`div`,se,[T.value?(i(),c(_,{key:0,variant:`compact`,label:d(s)(`pages.review.loadingPersonal`)},null,8,[`label`])):p(``,!0),E.value?(i(),o(`div`,ce,[m(`span`,null,u(E.value),1),m(`button`,{class:`secondary-action`,type:`button`,disabled:T.value,onClick:t[0]||=e=>X()},u(d(s)(`common.actions.retry`)),9,le)])):p(``,!0),(i(!0),o(l,null,n(S.value,e=>(i(),o(`article`,{key:e.id,class:`review-item review-item-detailed`},[m(`div`,null,[m(`div`,ue,u(d(s)(`pages.review.beforePublic`)),1),m(`h4`,null,u(e.episode.name),1),m(`p`,null,u(e.episode.summary||e.episode.source_description),1),m(`div`,de,[m(`span`,null,u(d(s)(`common.counts.entities`,{count:e.episode.entities?.length??0})),1),m(`span`,null,u(d(s)(`common.counts.relationships`,{count:e.episode.relationships?.length??0})),1),m(`span`,null,u(d(v)(e.created_at)),1)])]),m(`div`,fe,[k.value.has(e.id)?(i(),c(_,{key:0,variant:`inline`,label:d(s)(`pages.review.savingDecision`)},null,8,[`label`])):p(``,!0),m(`button`,{class:`secondary-action`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`keep_personal`)},u(d(s)(`pages.review.keepPersonal`)),9,pe),m(`button`,{class:`reject`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`ignore`)},u(d(s)(`pages.review.ignore`)),9,me),d(x).state?.capabilities?.submitKnowledge?(i(),o(`button`,{key:1,class:`approve`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`submit_public`)},u(d(s)(`pages.review.submitPublic`)),9,he)):p(``,!0)])]))),128)),!T.value&&!E.value&&!S.value.length?(i(),o(`div`,y,u(d(s)(`pages.review.noPersonalDrafts`)),1)):p(``,!0)]),d(x).state?.capabilities?.reviewProposals&&F.value.length?(i(),o(`section`,ge,[m(`div`,_e,[m(`div`,null,[m(`h3`,null,u(d(s)(`pages.review.publicTitle`)),1)]),ee(ne,{modelValue:w.value,"onUpdate:modelValue":t[1]||=e=>w.value=e,options:Ee.value,label:d(s)(`pages.review.projectLabel`),"control-id":`review-project`,searchable:``},null,8,[`modelValue`,`options`,`label`])]),m(`div`,ve,[D.value?(i(),c(_,{key:0,variant:`compact`,label:d(s)(`pages.review.loadingPublic`)},null,8,[`label`])):p(``,!0),O.value?(i(),o(`div`,ye,[m(`span`,null,u(O.value),1),m(`button`,{class:`secondary-action`,type:`button`,disabled:D.value,onClick:t[2]||=e=>Z()},u(d(s)(`common.actions.retry`)),9,be)])):p(``,!0),(i(!0),o(l,null,n(C.value,e=>(i(),o(`article`,{key:e.id,class:`review-item`},[m(`div`,null,[m(`div`,xe,u(d(s)(`pages.review.maintainerReview`)),1),m(`h4`,null,u(e.episode.name),1),m(`p`,null,u(e.episode.summary||e.episode.source_description),1),m(`div`,b,[m(`span`,null,u(d(v)(e.created_at)),1)])]),m(`div`,Se,[A.value.has(Y(w.value,e.id))?(i(),c(_,{key:0,variant:`inline`,label:d(s)(`pages.review.savingDecision`)},null,8,[`label`])):p(``,!0),m(`button`,{class:`reject`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`reject`)},u(d(s)(`pages.review.reject`)),9,Ce),m(`button`,{class:`approve`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`approve`)},u(d(s)(`pages.review.approve`)),9,we)])]))),128)),!D.value&&!O.value&&!C.value.length?(i(),o(`div`,Te,u(d(s)(`pages.review.noProposals`)),1)):p(``,!0)])])):p(``,!0)]))}});export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.roundtable-view[data-v-119bf733]{flex-direction:column;display:flex;overflow:hidden}.roundtable-empty[data-v-119bf733]{text-align:center;max-width:520px;margin:12vh auto 0}.roundtable-empty strong[data-v-119bf733]{font-size:16px;font-weight:600}.roundtable-empty p[data-v-119bf733]{color:var(--color-muted);margin-top:8px}.roundtable-layout[data-v-119bf733]{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex:1;grid-template-columns:minmax(260px,340px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.roundtable-threads[data-v-119bf733]{border-right:1px solid var(--color-border);background:var(--color-bg);min-height:0;overflow-y:auto}.roundtable-thread[data-v-119bf733]{border-bottom:1px solid var(--color-border);color:var(--color-ink);transition:background-color var(--motion-fast);grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:14px 16px;text-decoration:none;display:grid}.roundtable-thread[data-v-119bf733]:hover{background:var(--color-surface-hover)}.roundtable-thread.is-active[data-v-119bf733]{background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-accent)}.roundtable-faces[data-v-119bf733]{padding-top:2px;display:flex}.roundtable-faces span[data-v-119bf733],.roundtable-avatar[data-v-119bf733]{border:2px solid var(--color-bg);width:26px;height:26px;color:var(--color-accent);background:var(--color-accent-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:650;display:grid}.roundtable-faces span+span[data-v-119bf733]{margin-left:-9px}.roundtable-thread-copy[data-v-119bf733]{gap:2px;min-width:0;display:grid}.roundtable-thread-copy strong[data-v-119bf733]{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.roundtable-thread-copy small[data-v-119bf733]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.roundtable-preview[data-v-119bf733]{color:var(--color-faint)!important}.roundtable-thread-meta[data-v-119bf733]{color:var(--color-faint);white-space:nowrap;align-content:start;justify-items:end;gap:6px;font-size:11px;display:grid}.roundtable-timeline[data-v-119bf733]{flex-direction:column;min-height:0;display:flex}.roundtable-timeline header[data-v-119bf733]{border-bottom:1px solid var(--color-border);padding:20px 28px 14px}.roundtable-timeline h2[data-v-119bf733]{overflow-wrap:anywhere;font-size:17px}.roundtable-timeline ol[data-v-119bf733]{flex:1;align-content:start;gap:18px;min-height:0;margin:0;padding:20px 28px 32px;list-style:none;display:grid;overflow-y:auto}.roundtable-message[data-v-119bf733]{grid-template-columns:30px minmax(0,1fr);gap:12px;max-width:760px;display:grid}.roundtable-message.is-reply[data-v-119bf733]{margin-left:42px}.roundtable-avatar[data-v-119bf733]{border:0;width:30px;height:30px}.roundtable-message.is-reply .roundtable-avatar[data-v-119bf733]{color:var(--color-ink-soft);background:var(--color-surface-subtle)}.roundtable-bubble[data-v-119bf733]{min-width:0}.roundtable-byline[data-v-119bf733]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.roundtable-byline[data-v-119bf733]>*{overflow-wrap:anywhere;min-width:0;max-width:100%}.roundtable-byline strong[data-v-119bf733]{font-size:14px;font-weight:600}.roundtable-body[data-v-119bf733]{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px 12px 12px;padding:12px 14px;font-size:14px;line-height:1.7}.roundtable-message.is-reply .roundtable-body[data-v-119bf733]{background:var(--color-surface)}.roundtable-delivery[data-v-119bf733]{color:var(--color-faint);margin-top:6px;font-size:12px}.roundtable-select[data-v-119bf733]{place-self:center}@media (width<=860px){.roundtable-layout[data-v-119bf733]{grid-template-columns:minmax(0,1fr)}.roundtable-threads[data-v-119bf733]{border-right:0;border-bottom:1px solid var(--color-border);max-height:40vh}.roundtable-message.is-reply[data-v-119bf733]{margin-left:16px}}@media (width<=480px){.roundtable-timeline header[data-v-119bf733],.roundtable-timeline ol[data-v-119bf733]{padding:16px}.roundtable-message[data-v-119bf733]{gap:8px}.roundtable-message.is-reply[data-v-119bf733]{margin-left:8px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,E as t,H as n,I as r,M as ee,N as i,P as a,Q as o,S as s,a as c,b as l,g as u,it as d,n as f,ot as p,rt as m,v as h,x as g,y as _}from"./i18n-oJFlt8hW.js";import{r as v,s as te}from"./client-DnwnUBQV.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as b}from"./useApi-CROJJdhE-7gt0QyQ5.js";import{t as x}from"./vue-router-CCvPGaLD.js";var S=()=>v(`/api/roundtable/threads`),C=e=>v(`/api/roundtable/threads/${encodeURIComponent(e)}`),ne={class:`view roundtable-view`},re={key:1,class:`ui-empty`,role:`alert`},ie={key:2,class:`roundtable-empty`},ae={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=y(t({__name:`RoundtablesPage`,setup(t){let v=b(),y=o([]),H=o(null),U=o(!0),W=o(``),G=h(()=>typeof v.params.threadId==`string`?v.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([S(),G.value?C(G.value):Promise.resolve(null)]);if(e!==J)return;y.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)}}e(G,()=>{H.value=null,Y()}),i(()=>{Y(),q=setInterval(()=>{document.visibilityState===`visible`&&Y()},5e3)}),ee(()=>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(f(),{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)?c(`roundtable.via.${t}`):``}return e.via===`peer`&&e.status===`sent`?c(`roundtable.status.remoteQueued`):e.status===`answered`?``:c(`roundtable.status.${e.status}`)}return(e,t)=>(a(),s(`section`,ne,[U.value?(a(),l(te,{key:0,label:m(c)(`roundtable.loading`)},null,8,[`label`])):W.value&&!y.value.length?(a(),s(`div`,re,[_(`p`,null,p(m(c)(`roundtable.loadFailed`))+` · `+p(W.value),1),_(`button`,{class:`ui-button`,type:`button`,onClick:Y},p(m(c)(`roundtable.retry`)),1)])):y.value.length?(a(),s(`div`,ae,[_(`nav`,{class:`roundtable-threads`,"aria-label":m(c)(`roundtable.threads`)},[(a(!0),s(u,null,r(y.value,e=>(a(),l(m(x),{key:e.id,class:d([`roundtable-thread`,{"is-active":e.id===G.value}]),to:`/roundtables/${encodeURIComponent(e.id)}`,"data-testid":`roundtable-thread`},{default:n(()=>[_(`span`,T,[(a(!0),s(u,null,r(e.participants.slice(0,3),e=>(a(),s(`span`,{key:e.agentId??e.name??``},p(Z(e)),1))),128))]),_(`span`,E,[_(`strong`,null,p(e.subject),1),_(`small`,null,p(e.participants.map(e=>e.name).join(` · `)),1),e.last?(a(),s(`small`,D,p(e.last.from)+`:`+p(e.last.body),1)):g(``,!0)]),_(`span`,O,[_(`time`,{datetime:e.updatedAt},p(Q(e.updatedAt)),9,k),e.waiting?(a(),s(`span`,A,p(m(c)(`roundtable.waiting`)),1)):g(``,!0)])]),_:2},1032,[`class`,`to`]))),128))],8,w),H.value?(a(),s(`article`,j,[_(`header`,null,[_(`h2`,null,p(H.value.subject),1),_(`p`,M,p(m(c)(`roundtable.messages`,{count:H.value.messages.length}))+` · `+p(Q(H.value.createdAt)),1)]),_(`ol`,null,[(a(!0),s(u,null,r(H.value.messages,e=>(a(),s(`li`,{key:e.id,class:d([`roundtable-message`,`is-${e.kind}`])},[_(`span`,N,p(Z(e.from)),1),_(`div`,P,[_(`p`,F,[_(`strong`,null,p(e.from.name),1),X(e.from)?(a(),s(`span`,I,p(X(e.from)),1)):g(``,!0),_(`span`,L,p(m(c)(`roundtable.to`))+` `+p(e.to.name),1),_(`time`,{class:`ui-meta`,datetime:e.createdAt},p(Q(e.createdAt)),9,R)]),_(`p`,z,p(e.body),1),$(e)?(a(),s(`p`,B,p($(e)),1)):g(``,!0)])],2))),128))])])):(a(),s(`p`,V,p(m(c)(`roundtable.select`)),1))])):(a(),s(`div`,ie,[_(`strong`,null,p(m(c)(`roundtable.empty`)),1),_(`p`,null,p(m(c)(`roundtable.emptyHint`)),1)]))]))}}),[[`__scopeId`,`data-v-119bf733`]]);export{H as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.judgment-policy-panel[data-v-98f9e2c8]{gap:18px;display:grid}.judgment-panel-heading[data-v-98f9e2c8]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.judgment-panel-heading h3[data-v-98f9e2c8]{color:var(--color-ink);margin:0;font-size:16px}.judgment-panel-heading p[data-v-98f9e2c8]{color:var(--color-muted);margin:6px 0 0;font-size:13px;line-height:1.55}.judgment-project-field[data-v-98f9e2c8]{grid-template-columns:minmax(130px,.45fr) minmax(180px,1fr) auto;align-items:center;gap:10px;display:grid}.judgment-project-field label[data-v-98f9e2c8],.judgment-progressive-fields label>span[data-v-98f9e2c8]{color:var(--color-muted);font-size:12px}.judgment-project-field select[data-v-98f9e2c8],.judgment-progressive-fields select[data-v-98f9e2c8]{min-height:var(--control-height);border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);font:inherit;padding:7px 10px}.judgment-project-field small[data-v-98f9e2c8]{color:var(--color-muted);white-space:nowrap;font-size:12px}.judgment-project-field small.is-inherited[data-v-98f9e2c8]{color:var(--color-accent)}.judgment-policy-fields[data-v-98f9e2c8]{border:0;gap:10px;min-width:0;padding:0;display:grid}.judgment-policy-fields legend[data-v-98f9e2c8]{color:var(--color-muted);margin-bottom:2px;font-size:12px}.judgment-mode-option[data-v-98f9e2c8]{border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.judgment-mode-option.is-selected[data-v-98f9e2c8]{border-color:var(--color-accent);background:var(--color-accent-soft)}.judgment-mode-option input[data-v-98f9e2c8]{accent-color:var(--color-accent);margin-top:3px}.judgment-mode-option span[data-v-98f9e2c8]{gap:3px;display:grid}.judgment-mode-option strong[data-v-98f9e2c8]{color:var(--color-ink);font-size:13px}.judgment-mode-option small[data-v-98f9e2c8]{color:var(--color-muted);font-size:12px;line-height:1.5}.judgment-progressive-fields[data-v-98f9e2c8]{border-left:2px solid var(--color-accent);background:var(--color-surface-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:3px;padding:12px;display:grid}.judgment-progressive-fields label[data-v-98f9e2c8]{gap:6px;display:grid}.judgment-policy-actions[data-v-98f9e2c8]{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.judgment-policy-saved[data-v-98f9e2c8]{color:var(--color-muted);font-size:12px}.judgment-policy-error[data-v-98f9e2c8]{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-danger-soft);justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;font-size:13px;display:flex}.judgment-policy-empty[data-v-98f9e2c8]{color:var(--color-muted);font-size:13px}@media (width<=640px){.judgment-project-field[data-v-98f9e2c8]{grid-template-columns:1fr;align-items:stretch}.judgment-progressive-fields[data-v-98f9e2c8]{grid-template-columns:1fr}}.connection-settings p[data-v-a09270ee]{color:var(--color-muted);margin:12px 0;font-size:13px;line-height:1.6}.connection-toolbar[data-v-a09270ee]{align-items:center;gap:12px;margin:16px 0 10px;display:flex}.connection-toolbar[data-v-a09270ee] .ui-select{flex:1;min-width:0;max-width:300px}.connection-copy[data-v-a09270ee]{flex:0 0 40px;width:40px;height:40px;padding:9px}.connection-copy svg[data-v-a09270ee]{width:20px;height:20px}textarea[data-v-a09270ee]{box-sizing:border-box;resize:vertical;width:100%;min-width:0;font:12px/1.65 var(--font-mono,monospace);overflow-wrap:anywhere;display:block}.connection-settings a[data-v-a09270ee]{font-size:13px}.peer-settings p[data-v-c2b7fda7],.peer-settings small[data-v-c2b7fda7]{color:var(--color-muted);font-size:13px;line-height:1.6}.peer-settings p[data-v-c2b7fda7]{margin:12px 0}.peer-alert[data-v-c2b7fda7],.peer-actions[data-v-c2b7fda7],.peer-identity[data-v-c2b7fda7],.peer-fields[data-v-c2b7fda7],.peer-share-title[data-v-c2b7fda7],.peer-devices li[data-v-c2b7fda7]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.peer-block[data-v-c2b7fda7]{gap:12px;min-width:0;margin:16px 0;display:grid}.peer-block h4[data-v-c2b7fda7]{font-size:13px;font-weight:650}.peer-fields[data-v-c2b7fda7]{align-items:end}.peer-fields[data-v-c2b7fda7] .ui-select{flex:180px;min-width:0}.peer-identity[data-v-c2b7fda7]{margin:12px 0}.peer-identity div[data-v-c2b7fda7]{flex:160px;min-width:0}.peer-identity dt[data-v-c2b7fda7]{color:var(--color-muted);font-size:12px}.peer-identity dd[data-v-c2b7fda7],.peer-identity code[data-v-c2b7fda7],.peer-identity strong[data-v-c2b7fda7],.peer-identity p[data-v-c2b7fda7]{overflow-wrap:anywhere}.peer-identity dd[data-v-c2b7fda7]{font-family:var(--font-mono);font-size:13px}.peer-settings label[data-v-c2b7fda7]{min-width:0;color:var(--color-muted);gap:6px;font-size:12px;display:grid}.peer-settings input[type=text][data-v-c2b7fda7],.peer-settings textarea[data-v-c2b7fda7]{box-sizing:border-box;overflow-wrap:anywhere;width:100%;min-width:0}.peer-settings textarea[data-v-c2b7fda7]{resize:vertical;font:12px/1.65 var(--font-mono)}.peer-shares[data-v-c2b7fda7],.peer-devices[data-v-c2b7fda7]{gap:16px;margin:0;padding:0;list-style:none;display:grid}.peer-shares li[data-v-c2b7fda7],.peer-devices li[data-v-c2b7fda7]{border-top:1px solid var(--color-border);min-width:0;padding:12px 0}.peer-share-title[data-v-c2b7fda7]{align-items:flex-start;gap:8px;display:flex}.peer-share-title strong[data-v-c2b7fda7]{overflow-wrap:anywhere;color:var(--color-ink);font-size:14px}.peer-shares fieldset[data-v-c2b7fda7]{border:0;flex-wrap:wrap;gap:12px 16px;padding:0;display:flex}.peer-shares fieldset label[data-v-c2b7fda7]{align-items:center;gap:6px;display:flex}.peer-devices li[data-v-c2b7fda7]{justify-content:space-between}.peer-devices strong[data-v-c2b7fda7],.peer-devices small[data-v-c2b7fda7]{overflow-wrap:anywhere;display:block}.peer-note[data-v-c2b7fda7]{color:var(--color-warning)}.settings-fields[data-v-36cbe773]{border:0;min-width:0;margin:0;padding:0;display:contents}.settings-view[data-v-36cbe773]{background:var(--color-bg);padding-top:24px}.settings-content[data-v-36cbe773]{width:min(var(--page-max), 100%);gap:18px;margin:0 auto;display:grid}.settings-form[data-v-36cbe773]{align-items:start;gap:18px;display:grid}@media (width>=1440px){.settings-form[data-v-36cbe773]{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form>.settings-error[data-v-36cbe773]{grid-column:1/-1}}.settings-card[data-v-36cbe773]{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:26px}.section-heading[data-v-36cbe773]{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.settings-card h3[data-v-36cbe773]{color:var(--color-ink);font-size:16px}.section-heading p[data-v-36cbe773]{color:var(--color-muted);margin-top:5px;font-size:12px}.resource-totals[data-v-36cbe773]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.resource-totals article[data-v-36cbe773]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:center;gap:7px;min-height:126px;padding:20px 22px;display:grid}.resource-totals span[data-v-36cbe773]{color:var(--color-muted);font-size:12px}.resource-totals strong[data-v-36cbe773]{color:var(--color-ink);letter-spacing:-.04em;font-size:clamp(25px,3vw,34px)}.resource-totals small[data-v-36cbe773]{color:var(--color-muted);font-size:12px}.resource-breakdowns[data-v-36cbe773]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:26px;display:grid}.resource-group[data-v-36cbe773]{gap:13px;display:grid}.resource-group h4[data-v-36cbe773],.port-section h4[data-v-36cbe773]{color:var(--color-ink);font-size:12px}.resource-row[data-v-36cbe773]{gap:6px;display:grid}.resource-row>div[data-v-36cbe773]{color:var(--color-muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.resource-row strong[data-v-36cbe773]{color:var(--color-ink);font-weight:650}.resource-row i[data-v-36cbe773]{background:var(--color-surface-subtle);border-radius:999px;height:5px;overflow:hidden}.resource-row b[data-v-36cbe773]{border-radius:inherit;background:var(--color-muted);height:100%;display:block}.resource-group:last-child .resource-row b[data-v-36cbe773]{background:var(--color-muted)}.resource-notes[data-v-36cbe773]{color:var(--color-muted);flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:12px;display:flex}.restart-chip[data-v-36cbe773]{border:1px solid var(--color-warning);color:var(--color-warning);background:var(--color-warning-soft);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.port-section[data-v-36cbe773]{gap:13px;display:grid}.port-section+.port-section[data-v-36cbe773]{border-top:1px solid var(--color-border);margin-top:25px;padding-top:22px}.development-section>div[data-v-36cbe773]{align-items:center;gap:9px;display:flex}.development-section>div>span[data-v-36cbe773]{color:var(--color-warning);background:var(--color-warning-soft);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.development-section>p[data-v-36cbe773]{color:var(--color-muted);font-size:12px}.port-grid[data-v-36cbe773]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.port-grid label[data-v-36cbe773]{color:var(--color-muted);gap:7px;font-size:12px;display:grid}.port-grid input[data-v-36cbe773]{width:100%}.port-grid small[data-v-36cbe773]{color:var(--color-muted);font-size:12px}.behavior-card>h3[data-v-36cbe773],.conversation-launcher-card>h3[data-v-36cbe773]{margin-bottom:14px}.conversation-launcher-list[data-v-36cbe773]{display:grid}.conversation-launcher-row[data-v-36cbe773]{border-top:1px solid var(--color-border);padding:16px 0}.conversation-launcher-row[data-v-36cbe773]:first-child{border-top:0}.conversation-launcher-heading[data-v-36cbe773]{justify-content:space-between;align-items:center;gap:20px;min-height:34px;display:flex}.conversation-launcher-heading>span[data-v-36cbe773]{gap:4px;display:grid}.conversation-launcher-heading strong[data-v-36cbe773]{color:var(--color-ink);font-size:12px}.conversation-launcher-heading small[data-v-36cbe773]{color:var(--color-muted);font-size:12px}.conversation-launcher-switch[data-v-36cbe773]{color:var(--color-muted);align-items:center;gap:9px;font-size:12px;display:flex}.conversation-launcher-switch input[role=switch][data-v-36cbe773]{margin:0}.conversation-launcher-note[data-v-36cbe773]{max-width:760px;color:var(--color-muted);margin-top:9px;font-size:12px;line-height:1.45;display:block}.conversation-launcher-fields[data-v-36cbe773]{grid-template-columns:minmax(150px,.7fr) minmax(160px,.8fr) minmax(280px,1.5fr);align-items:start;gap:12px;margin-top:14px;display:grid}.conversation-launcher-fields>label[data-v-36cbe773]{min-width:0;color:var(--color-muted);grid-template-rows:18px 40px;align-content:start;gap:7px;font-size:12px;display:grid}.conversation-launcher-fields>label>span[data-v-36cbe773]{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:18px;display:block;overflow:hidden}.conversation-launcher-fields code[data-v-36cbe773]{color:var(--color-muted);font-size:12px}.conversation-launcher-fields[data-v-36cbe773] .launcher-select{width:100%;min-width:0;height:40px}.conversation-launcher-fields input[data-v-36cbe773]{width:100%}.setting-list[data-v-36cbe773]{display:grid}.setting-row[data-v-36cbe773]{border-top:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.setting-row[data-v-36cbe773]:first-child{border-top:0}.setting-row>span[data-v-36cbe773]{gap:4px;display:grid}.setting-row strong[data-v-36cbe773]{color:var(--color-ink);font-size:14px}.setting-row small[data-v-36cbe773]{color:var(--color-muted);font-size:12px}.setting-row input[role=switch][data-v-36cbe773],.conversation-launcher-switch input[role=switch][data-v-36cbe773]{appearance:none;background:var(--color-muted);cursor:pointer;border:0;border-radius:999px;flex:none;width:38px;height:21px;margin:0;padding:0;transition:background .18s;position:relative}.setting-row input[role=switch][data-v-36cbe773]:after,.conversation-launcher-switch input[role=switch][data-v-36cbe773]:after{content:"";box-sizing:border-box;background:var(--color-surface);border-radius:50%;width:17px;height:17px;transition:transform .18s;position:absolute;top:50%;left:2px;transform:translateY(-50%);box-shadow:0 0 4px #0000002e}.setting-row input[role=switch][data-v-36cbe773]:checked,.conversation-launcher-switch input[role=switch][data-v-36cbe773]:checked{background:var(--color-accent)}.setting-row input[role=switch][data-v-36cbe773]:checked:after,.conversation-launcher-switch input[role=switch][data-v-36cbe773]:checked:after{transform:translate(17px,-50%)}.select-row .settings-select[data-v-36cbe773]{width:180px;min-width:0}.settings-top-status[data-v-36cbe773]{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 4px 2px;font-size:12px;display:flex}.settings-top-status strong[data-v-36cbe773]{color:var(--color-muted);font-weight:700}.settings-error[data-v-36cbe773]{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-surface);padding:11px 13px;font-size:12px}@media (width<=900px){.port-grid[data-v-36cbe773],.conversation-launcher-fields[data-v-36cbe773]{grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-launcher-template[data-v-36cbe773]{grid-column:1/-1}}@media (width<=680px){.settings-card[data-v-36cbe773]{padding:20px}.resource-totals[data-v-36cbe773],.resource-breakdowns[data-v-36cbe773],.port-grid[data-v-36cbe773],.conversation-launcher-fields[data-v-36cbe773]{grid-template-columns:1fr}.conversation-launcher-template[data-v-36cbe773]{grid-column:auto}.select-row[data-v-36cbe773]{flex-direction:column;align-items:flex-start;padding:14px 0}.select-row .settings-select[data-v-36cbe773]{width:100%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,E as t,H as n,I as r,M as i,N as a,P as o,Q as s,S as c,T as l,U as u,X as d,a as f,at as p,b as m,d as h,f as g,g as _,h as v,i as y,it as b,l as x,n as S,ot as C,r as w,rt as T,u as E,v as D,w as O,x as k,y as A}from"./i18n-oJFlt8hW.js";import{t as j}from"./console-Cw7TzOSC.js";import{a as M,o as N,r as P,s as F,t as I}from"./client-DnwnUBQV.js";import{t as L}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as R}from"./UiButton-x8hiHNRM.js";import{t as z}from"./UiSelect-K29jnV-1.js";import{t as B}from"./UiDisclosure-_IxeiexW.js";import{a as V,c as H,i as U,r as W,t as G,u as K}from"./judgment-types-DR931cZ7.js";import{i as ee,n as te,s as q,t as J}from"./conversation-launcher-settings-Yc13viwr.js";var Y=[`aria-label`],X={class:`judgment-panel-heading`},ne={key:1,class:`judgment-policy-empty`},re={key:0,class:`judgment-project-field`},ie={for:`judgment-project-select`},ae=[`disabled`],oe=[`value`],se={key:1,class:`judgment-policy-error`,role:`alert`},Z=[`disabled`],ce=[`disabled`],le=[`onUpdate:modelValue`,`value`],Q={key:0,class:`judgment-progressive-fields`},ue=[`value`],de=[`value`],fe={class:`judgment-policy-actions`},pe=[`disabled`],me=[`title`,`disabled`],he=[`disabled`],ge={key:3,class:`judgment-policy-saved`,role:`status`},_e={key:3,class:`judgment-policy-error`,role:`alert`},ve=L(t({__name:`JudgmentPolicyPanel`,props:{personalSpaceId:{},projects:{default:()=>[]}},setup(t){let n=t,i=s(``),a=s(null),l=s({...G}),d=s(!1),f=s(!1),p=s(``),g=s(``),v=s(!1),y=s(null),x=0,S=D(()=>[{id:``,name:K(`settings.global`)},...n.projects.filter(e=>e.id)]),w=D(()=>i.value||null),O=D(()=>!!(w.value&&a.value&&!a.value.inherited)),j=D(()=>d.value||f.value),M=D(()=>!!(a.value&&!p.value&&!f.value)),N=D(()=>!w.value||!a.value?``:a.value.inherited?K(`settings.inherited`):K(`settings.override`));e(()=>n.projects,e=>{i.value&&!e.some(e=>e.id===i.value)&&(i.value=``)},{deep:!0}),e([()=>n.personalSpaceId,i],()=>{P()},{immediate:!0});async function P(){let e=++x;if(a.value=null,y.value=null,l.value={...G},f.value=!1,v.value=!1,p.value=``,g.value=``,!n.personalSpaceId){d.value=!1;return}d.value=!0;try{let t=await V(n.personalSpaceId,w.value);if(e!==x)return;a.value=W(t),l.value=U(a.value)}catch(t){e===x&&(p.value=t instanceof Error?t.message:K(`settings.loadError`))}finally{e===x&&(d.value=!1)}}function I(e){return e&&typeof e==`object`&&`status`in e&&typeof e.status==`number`?e.status:null}async function L(e,t=!1){if(!a.value||!M.value)return;f.value=!0,v.value=!1,g.value=``;let r=x,i=a.value.inherited?null:U(a.value);try{let o=await H(n.personalSpaceId,w.value,e,a.value.revision);if(r!==x)return;a.value=W(o),l.value=U(a.value),v.value=!0,y.value=t?null:{policy:i}}catch(e){if(r!==x)return;if(I(e)===409){let e=x+1;await P(),x===e&&(g.value=K(`settings.conflictError`))}else g.value=e instanceof Error?e.message:K(`settings.saveError`)}finally{r===x&&(f.value=!1)}}function R(){return L({...l.value})}function z(){if(y.value)return L(y.value.policy,!0)}async function B(){if(O.value)return L(null)}return(e,t)=>(o(),c(`section`,{class:`judgment-policy-panel`,"aria-label":T(K)(`settings.title`)},[A(`header`,X,[A(`div`,null,[A(`h3`,null,C(T(K)(`settings.title`)),1),A(`p`,null,C(T(K)(`settings.hint`)),1)]),f.value?(o(),m(F,{key:0,variant:`inline`,label:T(K)(`settings.saving`)},null,8,[`label`])):k(``,!0)]),d.value&&!a.value?(o(),m(F,{key:0,variant:`compact`,label:T(K)(`settings.loading`)},null,8,[`label`])):n.personalSpaceId?(o(),c(_,{key:2},[n.projects.length?(o(),c(`div`,re,[A(`label`,ie,C(T(K)(`settings.project`)),1),u(A(`select`,{id:`judgment-project-select`,"data-select":`judgment-project`,"onUpdate:modelValue":t[0]||=e=>i.value=e,disabled:j.value},[(o(!0),c(_,null,r(S.value,e=>(o(),c(`option`,{key:e.id||`global`,value:e.id},C(e.name),9,oe))),128))],8,ae),[[h,i.value]]),N.value?(o(),c(`small`,{key:0,class:b({"is-inherited":a.value?.inherited})},C(N.value),3)):k(``,!0)])):k(``,!0),p.value?(o(),c(`div`,se,[A(`span`,null,C(p.value),1),A(`button`,{type:`button`,class:`quiet-button`,disabled:j.value,onClick:P},C(T(K)(`settings.retry`)),9,Z)])):a.value?(o(),c(`fieldset`,{key:2,class:`judgment-policy-fields`,disabled:!M.value},[A(`legend`,null,C(T(K)(`mode.title`)),1),(o(),c(_,null,r([`manual`,`shared`,`autonomous`],e=>A(`label`,{key:e,class:b([`judgment-mode-option`,{"is-selected":l.value.mode===e}])},[u(A(`input`,{"onUpdate:modelValue":e=>l.value.mode=e,type:`radio`,name:`judgment-mode`,value:e,onChange:t[1]||=e=>R()},null,40,le),[[E,l.value.mode]]),A(`span`,null,[A(`strong`,null,C(T(K)(`mode.${e}`)),1),A(`small`,null,C(T(K)(`mode.${e}Hint`)),1)])],2)),64)),l.value.mode===`manual`?k(``,!0):(o(),c(`div`,Q,[A(`label`,null,[A(`span`,null,C(T(K)(`quality.title`)),1),u(A(`select`,{"onUpdate:modelValue":t[2]||=e=>l.value.quality=e,"data-select":`judgment-quality`,onChange:t[3]||=e=>R()},[(o(),c(_,null,r([`quality`,`balanced`,`economy`],e=>A(`option`,{key:e,value:e},C(T(K)(`quality.${e}`)),9,ue)),64))],544),[[h,l.value.quality]])]),A(`label`,null,[A(`span`,null,C(T(K)(`client.title`)),1),u(A(`select`,{"onUpdate:modelValue":t[4]||=e=>l.value.client=e,"data-select":`judgment-client`,onChange:t[5]||=e=>R()},[(o(),c(_,null,r([`codex`,`claude_code`],e=>A(`option`,{key:e,value:e},C(T(K)(`client.${e}`)),9,de)),64))],544),[[h,l.value.client]])])])),A(`div`,fe,[g.value?(o(),c(`button`,{key:0,class:`quiet-button`,type:`button`,"data-action":`save-policy`,disabled:j.value,onClick:R},C(T(K)(`settings.retry`)),9,pe)):k(``,!0),O.value?(o(),c(`button`,{key:1,class:`quiet-button`,type:`button`,"data-action":`reset-policy`,title:T(K)(`settings.resetTitle`),disabled:j.value,onClick:B},C(T(K)(`settings.reset`)),9,me)):k(``,!0),y.value?(o(),c(`button`,{key:2,class:`quiet-button`,type:`button`,"data-action":`undo-policy`,disabled:j.value,onClick:z},C(T(K)(`settings.undo`)),9,he)):k(``,!0),v.value?(o(),c(`span`,ge,C(T(K)(`settings.saved`)),1)):k(``,!0)])],8,ce)):k(``,!0),g.value?(o(),c(`div`,_e,C(g.value),1)):k(``,!0)],64)):(o(),c(`div`,ne,C(T(K)(`settings.loadError`)),1))],8,Y))}}),[[`__scopeId`,`data-v-98f9e2c8`]]),ye=t({__name:`JudgmentPolicySettings`,setup(e){let t=j(),n=D(()=>t.activePersonalSpace?.id??``),r=D(()=>(t.state?.personalProjects??[]).filter(e=>e.personal_space_id===n.value).map(e=>({id:e.project_id,name:e.profile.name})));return(e,t)=>(o(),m(ve,{"personal-space-id":n.value,projects:r.value},null,8,[`personal-space-id`,`projects`]))}}),be={key:1,role:`alert`},xe={class:`connection-toolbar`},$=[`title`,`aria-label`],Se=[`value`,`aria-label`],Ce={key:0,role:`status`},we={class:`connection-boundary`},Te={href:`https://github.com/JevonsCode/fuli/blob/main/docs/client-connections.md`,target:`_blank`,rel:`noopener noreferrer`},Ee=L(t({__name:`ClientConnectionSettings`,setup(e){let t=s(null),r=s(`standard`),i=s(!1),a=s(``),u=s(``),d=D(()=>t.value?JSON.stringify(t.value[r.value],null,2):``),p=D(()=>[`standard`,`vscode`,`server`].map(e=>({value:e,label:f(`settings.connection.formats.${e}`)})));async function h(){if(!i.value){i.value=!0,a.value=``;try{t.value=await P(`/api/system/client-connection`)}catch{a.value=f(`settings.connection.loadError`)}finally{i.value=!1}}}function g(e){e.target.open&&!t.value&&!i.value&&!a.value&&h()}function v(e){(e===`standard`||e===`vscode`||e===`server`)&&(r.value=e,u.value=``)}async function y(){let e=d.value;try{if(!navigator.clipboard?.writeText)throw Error(`Clipboard unavailable`);await navigator.clipboard.writeText(e),d.value===e&&(u.value=`copied`)}catch{d.value===e&&(u.value=`manual`)}}return(e,s)=>(o(),m(B,{class:`settings-card connection-settings`,title:T(f)(`settings.connection.title`),onToggle:g},{default:n(()=>[A(`p`,null,C(T(f)(`settings.connection.description`)),1),i.value?(o(),m(F,{key:0,variant:`compact`,label:T(f)(`settings.connection.loading`)},null,8,[`label`])):k(``,!0),a.value?(o(),c(`div`,be,[A(`span`,null,C(a.value),1),A(`button`,{class:`ui-button`,type:`button`,"data-retry-connection":``,onClick:h},C(T(f)(`settings.connection.retry`)),1)])):k(``,!0),t.value?(o(),c(_,{key:2},[A(`div`,xe,[l(z,{"control-id":`client-connection-format`,"model-value":r.value,options:p.value,label:T(f)(`settings.connection.format`),"onUpdate:modelValue":v},null,8,[`model-value`,`options`,`label`]),A(`button`,{class:`ui-button connection-copy`,type:`button`,"data-copy-connection":``,title:T(f)(`settings.connection.copy`),"aria-label":T(f)(`settings.connection.copy`),onClick:y},[...s[0]||=[A(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"aria-hidden":`true`},[A(`rect`,{x:`8`,y:`8`,width:`12`,height:`12`,rx:`2`}),A(`path`,{d:`M16 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3`})],-1)]],8,$)]),A(`textarea`,{value:d.value,readonly:``,rows:`8`,spellcheck:`false`,"aria-label":T(f)(`settings.connection.configuration`)},null,8,Se),u.value?(o(),c(`p`,Ce,C(T(f)(`settings.connection.${u.value}`)),1)):k(``,!0),A(`p`,null,C(T(f)(`settings.connection.merge`)),1)],64)):k(``,!0),A(`p`,we,C(T(f)(`settings.connection.boundary`)),1),A(`a`,Te,C(T(f)(`settings.connection.guide`)),1)]),_:1},8,[`title`]))}}),[[`__scopeId`,`data-v-a09270ee`]]),De={key:1,class:`peer-alert`,role:`alert`},Oe={key:0,role:`status`},ke={class:`peer-block`},Ae={key:0},je={key:1,class:`peer-fields`},Me=[`disabled`],Ne={class:`peer-block`},Pe=[`disabled`,`placeholder`,`aria-label`],Fe=[`disabled`],Ie={key:0,class:`peer-identity`,"data-invitation-preview":``},Le={class:`peer-identity`},Re={key:0,class:`peer-block`},ze=[`value`,`aria-label`],Be={class:`peer-actions`},Ve={key:0,role:`status`},He={class:`peer-block`},Ue={key:0},We={key:1,class:`peer-shares`},Ge={class:`peer-share-title`},Ke=[`checked`,`disabled`,`onChange`],qe={key:0,class:`peer-note`},Je={key:1,class:`peer-note`},Ye=[`disabled`],Xe=[`checked`,`onChange`],Ze={key:3},Qe=[`onUpdate:modelValue`,`disabled`],$e={key:1,class:`peer-block`},et={class:`peer-devices`},tt=L(t({__name:`PeerSettings`,setup(t){let i=s(null),a=s(!1),p=s(``),h=s(``),v=s(``),y=s(``),b=s(``),x=s(``),S=s(null),w=s(``),E=s(null),j=d({}),L=D(()=>(i.value?.addresses??[]).map(e=>({value:e,label:e}))),V=D(()=>!!i.value?.role),H=D(()=>i.value?.role===`coordinator`),U=D(()=>(i.value?.devices??[]).filter(e=>!e.self));e(b,()=>{E.value=null});function W(e,t){if(e instanceof I&&e.detail)try{let t=JSON.parse(e.detail);if(typeof t.message==`string`&&t.message.trim())return t.message}catch{}return t}function G(e){return f(e===`claude_code`?`settings.peer.clientsClaude`:`settings.peer.clientsCodex`)}function K(e){i.value=e,!v.value&&e.addresses[0]&&(v.value=e.addresses[0]);let t=new Set(e.shareable.map(e=>e.projectId));for(let e of Object.keys(j))t.has(e)||delete j[e];for(let t of e.shareable){let n=e.shares.find(e=>e.projectId===t.projectId);j[t.projectId]??={selected:!!n,clients:n?.clients?.length?n.clients:t.clients.slice(0,1),folder:n?.workingDirectory??``}}}async function ee(){if(!a.value){a.value=!0,p.value=``;try{K(await P(`/api/peer`))}catch(e){p.value=W(e,f(`settings.peer.loadError`))}finally{a.value=!1}}}function te(e){e.target.open&&!i.value&&!a.value&&!p.value&&ee()}async function q(e,t){if(!h.value){h.value=e,p.value=``;try{let e=await t();e&&K(e)}catch(e){p.value=W(e,f(`settings.peer.loadError`))}finally{h.value=``}}}function J(){return q(`host`,()=>M(`/api/peer/coordinator`,{host:v.value,port:0,name:y.value.trim()||void 0}))}function Y(){return E.value?q(`join`,()=>M(`/api/peer/join`,{invitation:b.value.trim(),name:x.value.trim()||void 0})):q(`preview`,async()=>{let e=b.value.trim(),t=await M(`/api/peer/invitations/preview`,{invitation:e});b.value.trim()===e&&(E.value=t)})}async function X(){await q(`invite`,async()=>{S.value=await M(`/api/peer/invitations`,{}),w.value=``})}async function ne(){let e=S.value?.invitation;if(e)try{if(!navigator.clipboard?.writeText)throw Error(`Clipboard unavailable`);await navigator.clipboard.writeText(e),S.value?.invitation===e&&(w.value=`copied`)}catch{S.value?.invitation===e&&(w.value=`manual`)}}function re(e,t){let n=j[e.projectId];n&&(n.selected=t,t&&!n.clients.length&&(n.clients=e.clients.slice(0,1)))}function ie(e,t,n){let r=j[e];r&&(r.clients=n?[...new Set([...r.clients,t])]:r.clients.filter(e=>e!==t))}function ae(){let e=(i.value?.shareable??[]).flatMap(e=>{let t=j[e.projectId];return!t?.selected||!e.lead?[]:[{projectId:e.projectId,clients:t.clients,...t.folder.trim()?{workingDirectory:t.folder.trim()}:{}}]});return q(`shares`,()=>N(`/api/peer/shares`,{shares:e}))}function oe(e){return q(`revoke:${e}`,()=>M(`/api/peer/devices/${e}/revoke`,{}))}function se(){return q(`disable`,async()=>{let e=await M(`/api/peer/disable`,{});return S.value=null,b.value=``,e})}function Z(e){return i.value?.shares.find(t=>t.projectId===e)?.state??null}return(e,t)=>(o(),m(B,{class:`settings-card peer-settings`,title:T(f)(`settings.peer.title`),onToggle:te},{default:n(()=>[A(`p`,null,C(T(f)(`settings.peer.description`)),1),a.value?(o(),m(F,{key:0,variant:`compact`,label:T(f)(`settings.peer.loading`)},null,8,[`label`])):k(``,!0),p.value?(o(),c(`div`,De,[A(`span`,null,C(p.value),1),l(R,{size:`sm`,"data-retry-peer":``,busy:a.value,"busy-label":T(f)(`settings.peer.loading`),onClick:ee},{default:n(()=>[O(C(T(f)(`settings.peer.retry`)),1)]),_:1},8,[`busy`,`busy-label`])])):k(``,!0),i.value&&!V.value?(o(),c(_,{key:2},[A(`p`,null,C(T(f)(`settings.peer.off`)),1),i.value.remoteRemovalPending?(o(),c(`p`,Oe,C(T(f)(`settings.peer.removalPending`)),1)):k(``,!0),A(`section`,ke,[A(`h4`,null,C(T(f)(`settings.peer.host`)),1),i.value.addresses.length?(o(),c(`div`,je,[l(z,{"control-id":`peer-host-address`,"model-value":v.value,options:L.value,label:T(f)(`settings.peer.hostAddress`),"onUpdate:modelValue":t[0]||=e=>v.value=e},null,8,[`model-value`,`options`,`label`]),A(`label`,null,[A(`span`,null,C(T(f)(`settings.peer.hostName`)),1),u(A(`input`,{"onUpdate:modelValue":t[1]||=e=>y.value=e,type:`text`,maxlength:`60`,disabled:!!h.value},null,8,Me),[[g,y.value]])]),l(R,{variant:`primary`,size:`sm`,"data-host-peer":``,disabled:!v.value,busy:h.value===`host`,"busy-label":T(f)(`settings.peer.hosting`),onClick:J},{default:n(()=>[O(C(T(f)(`settings.peer.hostAction`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])])):(o(),c(`p`,Ae,C(T(f)(`settings.peer.noAddress`)),1))]),A(`section`,Ne,[A(`h4`,null,C(T(f)(`settings.peer.join`)),1),A(`label`,null,[A(`span`,null,C(T(f)(`settings.peer.invitation`)),1),u(A(`textarea`,{"onUpdate:modelValue":t[2]||=e=>b.value=e,rows:`3`,spellcheck:`false`,disabled:!!h.value,placeholder:T(f)(`settings.peer.invitationPlaceholder`),"aria-label":T(f)(`settings.peer.invitation`)},null,8,Pe),[[g,b.value]])]),A(`label`,null,[A(`span`,null,C(T(f)(`settings.peer.joinName`)),1),u(A(`input`,{"onUpdate:modelValue":t[3]||=e=>x.value=e,type:`text`,maxlength:`60`,disabled:!!h.value},null,8,Fe),[[g,x.value]])]),E.value?(o(),c(`div`,Ie,[A(`div`,null,[A(`strong`,null,C(E.value.name),1),A(`p`,null,C(E.value.url),1)]),A(`div`,null,[A(`p`,null,C(T(f)(`settings.peer.coordinatorFingerprint`)),1),A(`code`,null,C(E.value.shortFingerprint),1)]),A(`p`,null,C(T(f)(`settings.peer.compare`)),1)])):k(``,!0),l(R,{variant:`primary`,size:`sm`,"data-join-peer":``,disabled:!b.value.trim()||i.value.remoteRemovalPending,busy:h.value===`join`||h.value===`preview`,"busy-label":T(f)(E.value?`settings.peer.joining`:`settings.peer.previewing`),onClick:Y},{default:n(()=>[O(C(T(f)(E.value?`settings.peer.joinAction`:`settings.peer.previewAction`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])])],64)):k(``,!0),i.value&&V.value?(o(),c(_,{key:3},[A(`dl`,Le,[A(`div`,null,[A(`dt`,null,C(T(f)(`settings.peer.fingerprint`)),1),A(`dd`,null,C(i.value.device?.shortFingerprint),1)]),A(`div`,null,[A(`dt`,null,C(T(f)(`settings.peer.coordinatorFingerprint`)),1),A(`dd`,null,C(i.value.coordinator?.shortFingerprint),1)])]),H.value?(o(),c(`section`,Re,[l(R,{size:`sm`,"data-invite-peer":``,busy:h.value===`invite`,"busy-label":T(f)(`settings.peer.inviting`),onClick:X},{default:n(()=>[O(C(T(f)(`settings.peer.invite`)),1)]),_:1},8,[`busy`,`busy-label`]),A(`p`,null,C(T(f)(`settings.peer.inviteHint`)),1),S.value?(o(),c(_,{key:0},[A(`textarea`,{value:S.value.invitation,readonly:``,rows:`4`,spellcheck:`false`,"aria-label":T(f)(`settings.peer.invitation`)},null,8,ze),A(`div`,Be,[l(R,{size:`sm`,"data-copy-invite":``,onClick:ne},{default:n(()=>[O(C(T(f)(`settings.peer.copyInvite`)),1)]),_:1}),w.value?(o(),c(`p`,Ve,C(T(f)(`settings.peer.${w.value===`copied`?`copied`:`copyManual`}`)),1)):k(``,!0)])],64)):k(``,!0)])):k(``,!0),A(`section`,He,[A(`h4`,null,C(T(f)(`settings.peer.shares`)),1),A(`p`,null,C(T(f)(`settings.peer.sharesHint`)),1),i.value.shareable.length?(o(),c(`ul`,We,[(o(!0),c(_,null,r(i.value.shareable,e=>(o(),c(`li`,{key:e.projectId},[A(`label`,Ge,[A(`input`,{type:`checkbox`,checked:j[e.projectId]?.selected,disabled:!e.lead||!!h.value,onChange:t=>re(e,t.target.checked)},null,40,Ke),A(`strong`,null,C(e.projectName),1)]),A(`small`,null,C(e.lead?T(f)(`settings.peer.lead`,{name:e.lead.name}):T(f)(`settings.peer.noLead`)),1),Z(e.projectId)===`lead_changed`?(o(),c(`p`,qe,C(T(f)(`settings.peer.leadChanged`)),1)):k(``,!0),Z(e.projectId)===`lead_unavailable`?(o(),c(`p`,Je,C(T(f)(`settings.peer.leadUnavailable`)),1)):k(``,!0),j[e.projectId]?.selected&&e.lead?(o(),c(`fieldset`,{key:2,disabled:!!h.value},[A(`legend`,null,C(T(f)(`settings.peer.clients`)),1),(o(!0),c(_,null,r(e.clients,t=>(o(),c(`label`,{key:t},[A(`input`,{type:`checkbox`,checked:j[e.projectId]?.clients.includes(t),onChange:n=>ie(e.projectId,t,n.target.checked)},null,40,Xe),O(` `+C(G(t)),1)]))),128))],8,Ye)):k(``,!0),j[e.projectId]?.selected&&e.lead?(o(),c(`label`,Ze,[A(`span`,null,C(T(f)(`settings.peer.folder`)),1),u(A(`input`,{"onUpdate:modelValue":t=>j[e.projectId].folder=t,type:`text`,disabled:!!h.value},null,8,Qe),[[g,j[e.projectId].folder]]),A(`small`,null,C(T(f)(`settings.peer.folderHint`)),1)])):k(``,!0)]))),128))])):(o(),c(`p`,Ue,C(T(f)(`settings.peer.noProjects`)),1)),i.value.shareable.length?(o(),m(R,{key:2,variant:`primary`,size:`sm`,"data-save-shares":``,busy:h.value===`shares`,"busy-label":T(f)(`settings.peer.savingShares`),onClick:ae},{default:n(()=>[O(C(T(f)(`settings.peer.saveShares`)),1)]),_:1},8,[`busy`,`busy-label`])):k(``,!0)]),H.value&&U.value.length?(o(),c(`section`,$e,[A(`h4`,null,C(T(f)(`settings.peer.devices`)),1),A(`ul`,et,[(o(!0),c(_,null,r(U.value,e=>(o(),c(`li`,{key:e.nodeId},[A(`div`,null,[A(`strong`,null,C(e.name),1),A(`small`,null,C(e.shortFingerprint)+` · `+C(e.online?T(f)(`settings.peer.online`):T(f)(`settings.peer.offline`)),1)]),l(R,{size:`sm`,variant:`danger`,"data-revoke":e.nodeId,busy:h.value===`revoke:${e.nodeId}`,"busy-label":T(f)(`settings.peer.revoking`),onClick:t=>oe(e.nodeId)},{default:n(()=>[O(C(T(f)(`settings.peer.revoke`)),1)]),_:1},8,[`data-revoke`,`busy`,`busy-label`,`onClick`])]))),128))])])):k(``,!0),A(`p`,null,C(T(f)(`settings.peer.disableHint`)),1),l(R,{size:`sm`,"data-disable-peer":``,busy:h.value===`disable`,"busy-label":T(f)(`settings.peer.disabling`),onClick:se},{default:n(()=>[O(C(T(f)(`settings.peer.disable`)),1)]),_:1},8,[`busy`,`busy-label`])],64)):k(``,!0)]),_:1},8,[`title`]))}}),[[`__scopeId`,`data-v-c2b7fda7`]]),nt=[`aria-label`],rt={class:`settings-content`},it={key:1,class:`settings-top-status`,role:`status`},at={key:0},ot={key:1},st=[`aria-busy`],ct=[`disabled`],lt={class:`settings-card behavior-card`},ut={class:`setting-list`},dt={class:`setting-row`},ft=[`checked`],pt={class:`setting-row`},mt=[`checked`],ht={class:`setting-row`},gt={class:`setting-row select-row`},_t={class:`setting-row select-row`},vt={class:`setting-row select-row`},yt={class:`settings-card judgment-settings-card`},bt={key:0,class:`restart-chip`},xt={class:`port-section`},St={class:`port-grid`},Ct=[`onUpdate:modelValue`],wt={class:`port-section development-section`},Tt={class:`conversation-launcher-list`},Et={class:`conversation-launcher-heading`},Dt={class:`conversation-launcher-switch`},Ot=[`onUpdate:modelValue`],kt={key:0,class:`conversation-launcher-note`},At={key:1,class:`conversation-launcher-fields`},jt=[`onUpdate:modelValue`],Mt={class:`conversation-launcher-template`},Nt=[`onUpdate:modelValue`],Pt={key:0,class:`settings-error`,role:`alert`},Ft={class:`settings-card resource-card`},It={class:`section-heading`},Lt={key:0},Rt=[`disabled`],zt={key:1,class:`settings-error`,role:`alert`},Bt={class:`resource-totals`},Vt={class:`resource-breakdowns`},Ht={class:`resource-group`},Ut={class:`resource-group`},Wt={class:`resource-notes`},Gt={key:0},Kt={key:1},qt={key:4,class:`settings-error`,role:`alert`},Jt=L(t({__name:`SettingsPage`,setup(t){let d=j(),h=s(null),b=s(null),E=s(null),M=s(!0),I=D({get:()=>d.settingsSaving,set:e=>{d.settingsSaving=e}}),L=s(!1),R=s(``),V=s(``),H=s(!1),U=null,W=[`console`,`personalProvider`,`personalNeo4jHttp`,`personalNeo4jBolt`],G=D({get:()=>S(),set:e=>y(e)}),K=[5,10,30,60],Y=ee,X=D(()=>[{value:`zh-CN`,label:f(`settings.behavior.zh`)},{value:`en-US`,label:f(`settings.behavior.en`)}]),ne=D(()=>K.map(e=>({value:String(e),label:f(`settings.resources.refreshUnit`,{seconds:e})}))),re=D(()=>[{value:`native`,label:f(`settings.behavior.runtimeModes.native`)},{value:`container`,label:f(`settings.behavior.runtimeModes.container`)}]),ie=D(()=>[{value:`any`,label:f(`settings.conversationLaunchers.idFormats.any`)},{value:`uuid`,label:f(`settings.conversationLaunchers.idFormats.uuid`)}]),ae=D(()=>d.state?.capturePolicy?.enabled!==!1),oe=D(()=>d.state?.agentAccessPolicy?.enabled!==!1),se=D(()=>Math.max(1,...E.value?.memory.components.map(({bytes:e})=>e)??[1])),Z=D(()=>Math.max(1,...E.value?.disk.components.map(({bytes:e})=>e)??[1])),ce=D(()=>b.value?.graphRuntimeMode===`container`&&Number.isFinite(E.value?.memory.hostTotalBytes)&&Number(E.value?.memory.hostTotalBytes)<=16*1024**3);a(async()=>{d.runtimeStatus===`idle`&&d.refresh(),await Promise.all([le(),Q()]),M.value=!1}),i(fe),e(()=>b.value?.resourceRefreshSeconds,()=>de());async function le(){try{let e=await P(`/api/system/settings`);h.value=e,b.value={...structuredClone(e.configured),conversationLaunchers:J(e.configured.conversationLaunchers)},te(e.configured.conversationLaunchers),R.value=``}catch(e){R.value=e instanceof Error?e.message:f(`settings.loadError`)}}async function Q(){if(!(L.value||document.visibilityState===`hidden`)){L.value=!0;try{E.value=await P(`/api/system/resources`),V.value=``}catch(e){V.value=e instanceof Error?e.message:f(`settings.resources.unavailable`)}finally{L.value=!1}}}async function ue(){if(!(!b.value||I.value)){I.value=!0,H.value=!1;try{let e=await N(`/api/system/settings`,b.value);h.value=e,b.value={...structuredClone(e.configured),conversationLaunchers:J(e.configured.conversationLaunchers)},te(e.configured.conversationLaunchers),H.value=!0,R.value=``,window.setTimeout(()=>{H.value=!1},2400)}catch(e){R.value=e instanceof Error?e.message:f(`settings.saveError`)}finally{I.value=!1}}}function de(){fe();let e=b.value?.resourceRefreshSeconds;e&&(U=setInterval(()=>void Q(),e*1e3))}function fe(){U&&clearInterval(U),U=null}function pe(e){d.updateCapturePolicy(e.currentTarget.checked)}function me(e){d.updateAgentAccessPolicy(e.currentTarget.checked)}function he(e){(e===`zh-CN`||e===`en-US`)&&y(e)}function ge(e){let t=K.find(t=>String(t)===e);t===void 0||!b.value||(b.value.resourceRefreshSeconds=t)}function _e(e){!b.value||e!==`native`&&e!==`container`||(b.value.graphRuntimeMode=e)}function ve(e){let t=f(`settings.conversationLaunchers.applications.${e}`);return t===`settings.conversationLaunchers.applications.${e}`?q(e):t}function be(e){return h.value?.active.ports[e]??`—`}function xe(e){let t=`settings.resources.components.${e.id.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}`;return w.global.te(t)?f(t):e.label}function $(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 Se(e,t){return`${Math.max(3,Math.round(e/t*100))}%`}function Ce(e){return e?new Intl.DateTimeFormat(G.value,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}).format(new Date(e)):`—`}function we(e){let t=e.target.closest(`details`);for(;t;)t.open=!0,t=t.parentElement?.closest(`details`)??null}return(e,t)=>(o(),c(`section`,{class:`view settings-view`,"aria-label":T(f)(`settings.aria`)},[A(`div`,rt,[I.value?(o(),m(F,{key:0,variant:`inline`,label:T(f)(`settings.saving`)},null,8,[`label`])):k(``,!0),H.value||h.value?.restartRequired?(o(),c(`div`,it,[H.value?(o(),c(`strong`,at,C(T(f)(`settings.saved`)),1)):k(``,!0),h.value?.restartRequired?(o(),c(`span`,ot,C(T(f)(`settings.restartCopy`)),1)):k(``,!0)])):k(``,!0),M.value&&!b.value?(o(),m(F,{key:2,variant:`compact`,label:T(f)(`settings.loading`)},null,8,[`label`])):k(``,!0),b.value?(o(),c(`form`,{key:3,id:`settings-form`,class:`settings-form`,"aria-busy":I.value,onSubmit:v(ue,[`prevent`]),onInvalidCapture:we},[A(`fieldset`,{class:`settings-fields`,disabled:I.value},[A(`section`,lt,[A(`h3`,null,C(T(f)(`settings.behavior.title`)),1),A(`div`,ut,[A(`label`,dt,[A(`span`,null,[A(`strong`,null,C(T(f)(`settings.behavior.capture`)),1),A(`small`,null,C(T(f)(`settings.behavior.captureMeta`)),1)]),A(`input`,{type:`checkbox`,role:`switch`,checked:ae.value,onChange:pe},null,40,ft)]),A(`label`,pt,[A(`span`,null,[A(`strong`,null,C(T(f)(`settings.behavior.agentAccess`)),1),A(`small`,null,C(T(f)(`settings.behavior.agentAccessMeta`)),1)]),A(`input`,{type:`checkbox`,role:`switch`,checked:oe.value,onChange:me},null,40,mt)]),A(`label`,ht,[A(`span`,null,[A(`strong`,null,C(T(f)(`settings.behavior.lanAccess`)),1),A(`small`,null,C(T(f)(`settings.behavior.lanAccessMeta`)),1)]),u(A(`input`,{"onUpdate:modelValue":t[0]||=e=>b.value.lanAccess=e,type:`checkbox`,role:`switch`},null,512),[[x,b.value.lanAccess]])]),A(`div`,gt,[A(`span`,null,[A(`strong`,null,C(T(f)(`settings.behavior.runtimeMode`)),1),A(`small`,null,C(ce.value?T(f)(`settings.behavior.runtimeRecommendation`):T(f)(`settings.behavior.runtimeModeMeta`,{mode:T(f)(`settings.behavior.runtimeModes.${h.value?.active.graphRuntimeMode??b.value.graphRuntimeMode}`)})),1)]),l(z,{class:`settings-select`,"control-id":`settings-runtime-mode`,"model-value":b.value.graphRuntimeMode,options:re.value,label:T(f)(`settings.behavior.runtimeMode`),"onUpdate:modelValue":_e},null,8,[`model-value`,`options`,`label`])]),A(`div`,_t,[A(`span`,null,[A(`strong`,null,C(T(f)(`settings.behavior.language`)),1)]),l(z,{class:`settings-select`,"control-id":`settings-language`,"model-value":G.value,options:X.value,label:T(f)(`settings.behavior.language`),"onUpdate:modelValue":he},null,8,[`model-value`,`options`,`label`])]),A(`div`,vt,[A(`span`,null,[A(`strong`,null,C(T(f)(`settings.resources.refresh`)),1)]),l(z,{class:`settings-select`,"control-id":`settings-refresh-interval`,"model-value":String(b.value.resourceRefreshSeconds),options:ne.value,label:T(f)(`settings.resources.refresh`),"onUpdate:modelValue":ge},null,8,[`model-value`,`options`,`label`])])])]),A(`section`,yt,[l(ye)]),l(Ee),l(tt),l(B,{class:`settings-card ports-card`,title:T(f)(`settings.ports.title`)},{default:n(()=>[h.value?.restartRequired?(o(),c(`span`,bt,C(T(f)(`settings.restartRequired`)),1)):k(``,!0),A(`div`,xt,[A(`h4`,null,C(T(f)(`settings.ports.personal`)),1),A(`div`,St,[(o(),c(_,null,r(W,e=>A(`label`,{key:e},[A(`span`,null,C(T(f)(`settings.ports.${e}`)),1),u(A(`input`,{"onUpdate:modelValue":t=>b.value.ports[e]=t,type:`number`,min:`1`,max:`65535`,required:``},null,8,Ct),[[g,b.value.ports[e],void 0,{number:!0}]]),A(`small`,null,C(T(f)(`settings.ports.active`,{port:be(e)})),1)])),64))])]),A(`div`,wt,[A(`div`,null,[A(`h4`,null,C(T(f)(`settings.ports.development`)),1),A(`span`,null,C(T(f)(`settings.ports.developing`)),1)]),A(`p`,null,C(T(f)(`settings.ports.developmentMeta`)),1)])]),_:1},8,[`title`]),l(B,{id:`conversation-launchers`,class:`settings-card conversation-launcher-card`,title:T(f)(`settings.conversationLaunchers.title`)},{default:n(()=>[A(`div`,Tt,[(o(!0),c(_,null,r(T(Y),e=>(o(),c(`article`,{key:e,class:`conversation-launcher-row`},[A(`div`,Et,[A(`span`,null,[A(`strong`,null,C(ve(e)),1),A(`small`,null,C(T(f)(`settings.conversationLaunchers.sourceId`,{id:e})),1)]),A(`label`,Dt,[A(`span`,null,C(T(f)(`settings.conversationLaunchers.enabled`)),1),u(A(`input`,{"onUpdate:modelValue":t=>b.value.conversationLaunchers[e].enabled=t,type:`checkbox`,role:`switch`},null,8,Ot),[[x,b.value.conversationLaunchers[e].enabled]])])]),b.value.conversationLaunchers[e].enabled&&e===`codex`?(o(),c(`small`,kt,C(T(f)(`settings.conversationLaunchers.idFormatMeta`)),1)):k(``,!0),b.value.conversationLaunchers[e].enabled?(o(),c(`div`,At,[A(`label`,null,[A(`span`,null,C(T(f)(`settings.conversationLaunchers.idFormat`)),1),l(z,{modelValue:b.value.conversationLaunchers[e].idFormat,"onUpdate:modelValue":t=>b.value.conversationLaunchers[e].idFormat=t,class:`launcher-select`,"control-id":`settings-conversation-${e}-id-format`,options:ie.value,label:T(f)(`settings.conversationLaunchers.idFormat`)},null,8,[`modelValue`,`onUpdate:modelValue`,`control-id`,`options`,`label`])]),A(`label`,null,[A(`span`,null,C(T(f)(`settings.conversationLaunchers.appName`)),1),u(A(`input`,{"onUpdate:modelValue":t=>b.value.conversationLaunchers[e].appName=t,type:`text`,maxlength:`64`,required:``},null,8,jt),[[g,b.value.conversationLaunchers[e].appName,void 0,{trim:!0}]])]),A(`label`,Mt,[A(`span`,null,[O(C(T(f)(`settings.conversationLaunchers.urlTemplate`))+` `,1),t[1]||=A(`small`,null,[A(`code`,null,`{id}`)],-1)]),u(A(`input`,{"onUpdate:modelValue":t=>b.value.conversationLaunchers[e].urlTemplate=t,type:`text`,maxlength:`1024`,spellcheck:`false`,required:``},null,8,Nt),[[g,b.value.conversationLaunchers[e].urlTemplate,void 0,{trim:!0}]])])])):k(``,!0)]))),128))])]),_:1},8,[`title`])],8,ct),R.value?(o(),c(`p`,Pt,C(R.value),1)):k(``,!0)],40,st)):k(``,!0),A(`section`,Ft,[A(`header`,It,[A(`div`,null,[A(`h3`,null,C(T(f)(`settings.resources.title`)),1),E.value?(o(),c(`p`,Lt,C(T(f)(`settings.resources.measuredAt`,{time:Ce(E.value.sampledAt)})),1)):k(``,!0)]),A(`button`,{class:`quiet-button`,type:`button`,disabled:L.value,onClick:Q},C(T(f)(`common.actions.refresh`)),9,Rt)]),L.value?(o(),m(F,{key:0,variant:E.value?`inline`:`compact`,label:T(f)(`settings.resources.loading`)},null,8,[`variant`,`label`])):k(``,!0),V.value?(o(),c(`p`,zt,C(V.value),1)):E.value?(o(),c(_,{key:2},[A(`div`,Bt,[A(`article`,null,[A(`span`,null,C(T(f)(`settings.resources.memory`)),1),A(`strong`,null,C($(E.value.memory.usedBytes)),1),A(`small`,null,C(T(f)(`settings.resources.available`,{value:$(E.value.memory.hostFreeBytes)})),1)]),A(`article`,null,[A(`span`,null,C(T(f)(`settings.resources.disk`)),1),A(`strong`,null,C($(E.value.disk.usedBytes)),1),A(`small`,null,C(T(f)(`settings.resources.available`,{value:$(E.value.disk.hostFreeBytes)})),1)])]),l(B,{title:T(f)(`ui.usageDetails`)},{default:n(()=>[A(`div`,Vt,[A(`div`,Ht,[A(`h4`,null,C(T(f)(`settings.resources.memory`)),1),(o(!0),c(_,null,r(E.value.memory.components,e=>(o(),c(`div`,{key:e.id,class:`resource-row`},[A(`div`,null,[A(`span`,null,C(xe(e)),1),A(`strong`,null,C($(e.bytes)),1)]),A(`i`,null,[A(`b`,{style:p({width:Se(e.bytes,se.value)})},null,4)])]))),128))]),A(`div`,Ut,[A(`h4`,null,C(T(f)(`settings.resources.disk`)),1),(o(!0),c(_,null,r(E.value.disk.components,e=>(o(),c(`div`,{key:e.id,class:`resource-row`},[A(`div`,null,[A(`span`,null,C(xe(e)),1),A(`strong`,null,C($(e.bytes)),1)]),A(`i`,null,[A(`b`,{style:p({width:Se(e.bytes,Z.value)})},null,4)])]))),128))])]),A(`div`,Wt,[A(`span`,null,C(T(f)(`settings.resources.diskMeasuredAt`,{time:Ce(E.value.disk.measuredAt)})),1),E.value.status===`partial`?(o(),c(`span`,Gt,C(T(f)(`settings.resources.partial`)),1)):k(``,!0),E.value.disk.temporaryBytes?(o(),c(`span`,Kt,C(T(f)(`settings.resources.temporary`,{value:$(E.value.disk.temporaryBytes)})),1)):k(``,!0),A(`span`,null,C(T(f)(E.value.exclusions.includes(`shared-container-vm-overhead`)?`settings.resources.exclusionsContainer`:`settings.resources.exclusionsNative`)),1)])]),_:1},8,[`title`])],64)):k(``,!0)]),!M.value&&!b.value?(o(),c(`p`,qt,C(R.value||T(f)(`settings.loadError`)),1)):k(``,!0)])],8,nt))}}),[[`__scopeId`,`data-v-36cbe773`]]);export{Jt as default};
|
package/dist/web/assets/{SharedJefaReportPage-C56kPciB.js → SharedJefaReportPage-Bg6lIk3E.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,E as t,P as n,Q as r,S as i,a,b as o,g as s,ot as c,rt as l,v as u,x as d,y as f}from"./i18n-
|
|
1
|
+
import{B as e,E as t,P as n,Q as r,S as i,a,b as o,g as s,ot as c,rt as l,v as u,x as d,y as f}from"./i18n-oJFlt8hW.js";import{s as p}from"./client-DnwnUBQV.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as h}from"./useApi-CROJJdhE-7gt0QyQ5.js";import{i as g,n as _,t as v}from"./shared-report-CiX64ZiD.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(t({__name:`SharedJefaReportPage`,setup(t){let m=h(),C=r([]),w=r([]),T=r(!1),E=r(0),D=r(``),O=u(()=>C.value.reduce((e,t)=>e+t.items.length,0)),k=u(()=>m.fullPath.includes(`#`)?m.fullPath.slice(m.fullPath.indexOf(`#`)):m.hash),A=0;e(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=a(`employees.share.unavailable`))}catch{e===A&&(D.value=a(`employees.share.unavailable`))}finally{e===A&&(T.value=!1)}}return(e,t)=>(n(),i(`main`,y,[f(`header`,null,[t[1]||=f(`strong`,null,`Jefa`,-1),f(`h1`,null,c(l(a)(`employees.share.title`)),1),f(`span`,null,c(l(a)(`employees.share.readOnly`)),1)]),T.value?(n(),o(p,{key:0,label:l(a)(`employees.loadingReport`)},null,8,[`label`])):D.value?(n(),i(`div`,b,[f(`p`,null,c(D.value),1),f(`button`,{type:`button`,onClick:j},c(l(a)(`employees.retry`)),1)])):(n(),i(s,{key:2},[E.value?(n(),i(`p`,x,c(l(a)(`employees.share.unavailableCount`,{count:E.value})),1)):d(``,!0),O.value?(n(),o(g,{key:2,"visible-project-ids":w.value,"onUpdate:visibleProjectIds":t[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`])):(n(),i(`div`,S,[f(`h2`,null,c(l(a)(`employees.shareContent.emptyTitle`)),1),f(`p`,null,c(l(a)(`employees.shareContent.emptyReport`,{count:C.value.length})),1),f(`button`,{type:`button`,onClick:j},c(l(a)(`common.actions.refresh`)),1)]))],64))]))}}),[[`__scopeId`,`data-v-79d38b0c`]]);export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,L as t,P as n,S as r,b as i,it as a}from"./i18n-oJFlt8hW.js";import{s as o}from"./client-DnwnUBQV.js";var s=[`type`,`disabled`,`aria-busy`],c=e({__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(c,l)=>(n(),r(`button`,{type:e.type,class:a([`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?(n(),i(o,{key:0,variant:`inline`,label:e.busyLabel},null,8,[`label`])):t(c.$slots,`default`,{},void 0,void 0,1)],10,s))}});export{c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,E as t,H as n,L as r,M as i,P as a,Q as o,R as s,S as c,a as l,b as u,h as d,it as f,j as p,ot as m,rt as h,x as g,y as _,z as v}from"./i18n-oJFlt8hW.js";var y=[`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 b(t,n){let r=o(null),a=o(null),s=null,c=0;e(t,e=>{let n=++c;if(e){s=document.activeElement instanceof HTMLElement?document.activeElement:null,p().then(()=>{if(n!==c||!t())return;let e=r.value;if(!e)return;e.open||e.showModal();let i=e.querySelector(`.ui-dialog__body`);(a.value??e.querySelector(`[autofocus]`)??(i?x(i)[0]:void 0)??x(e)[0])?.focus({preventScroll:!0})});return}let i=r.value;i?.open&&i.close(),l(n)},{immediate:!0}),i(()=>{c+=1;let e=r.value;e?.open&&e.close();let t=s;s=null,t?.isConnected&&t.focus({preventScroll:!0})});function l(e){let t=s;s=null,p().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=x(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:a,onCancel:u,onKeydown:d}}function x(e){return[...e.querySelectorAll(y)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}var S=[`aria-busy`],C={class:`ui-dialog__header`},w={key:0},T=[`disabled`,`aria-label`],E={class:`ui-dialog__body`},D={key:0,class:`ui-dialog__error`,role:`alert`},O={key:0,class:`ui-dialog__footer`},k=t({__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:t,emit:i}){let o=e,p=i,y=`ui-dialog-${v().replace(/[^A-Za-z0-9_-]/g,``)}`,{dialogRef:x,initialFocusRef:k,onCancel:A,onKeydown:j}=b(()=>o.open,M);function M(){o.busy||p(`close`)}return t({initialFocusRef:k}),(t,i)=>e.open?(a(),c(`dialog`,{key:0,ref_key:`dialogRef`,ref:x,class:f([`ui-dialog`,`ui-dialog--${e.size}`]),"aria-modal":`true`,"aria-labelledby":y,"aria-busy":e.busy||void 0,onCancel:i[1]||=(...e)=>h(A)&&h(A)(...e),onKeydown:i[2]||=(...e)=>h(j)&&h(j)(...e)},[(a(),u(s(e.form?`form`:`div`),{class:`ui-dialog__shell`,onSubmit:i[0]||=d(e=>p(`submit`),[`prevent`])},{default:n(()=>[_(`header`,C,[_(`div`,null,[_(`h2`,{id:y},m(e.title),1),e.description?(a(),c(`p`,w,m(e.description),1)):g(``,!0)]),_(`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},[...i[3]||=[_(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`},[_(`path`,{d:`m4 4 8 8M12 4l-8 8`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})],-1)]],8,T)]),_(`div`,E,[e.error?(a(),c(`p`,D,m(e.error),1)):g(``,!0),r(t.$slots,`default`)]),t.$slots.footer?(a(),c(`footer`,O,[r(t.$slots,`footer`)])):g(``,!0)]),_:3},32))],42,S)):g(``,!0)}});export{k as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,L as t,P as n,S as r,ot as i,w as a,y as o}from"./i18n-
|
|
1
|
+
import{E as e,L as t,P as n,S as r,ot as i,w as a,y as o}from"./i18n-oJFlt8hW.js";var s=[`open`],c=e({__name:`UiDisclosure`,props:{title:{},open:{type:Boolean,default:!1}},setup(e){return(c,l)=>(n(),r(`details`,{class:`ui-disclosure`,open:e.open},[o(`summary`,null,[a(i(e.title),1),t(c.$slots,`summary`)]),t(c.$slots,`default`)],8,s))}});export{c as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,I as t,P as n,S as r,g as i,ot as a,w as o,x as s}from"./i18n-
|
|
1
|
+
import{E as e,I as t,P as n,S as r,g as i,ot as a,w as o,x as s}from"./i18n-oJFlt8hW.js";var c=[`aria-label`],l=[`aria-pressed`,`onClick`],u={key:0},d=e({__name:`UiSegmented`,props:{modelValue:{},options:{},label:{}},emits:[`update:modelValue`],setup(e){return(d,f)=>(n(),r(`div`,{class:`ui-segmented`,role:`group`,"aria-label":e.label},[(n(!0),r(i,null,t(e.options,t=>(n(),r(`button`,{key:t.value,type:`button`,"aria-pressed":t.value===e.modelValue,onClick:e=>d.$emit(`update:modelValue`,t.value)},[o(a(t.label),1),t.count===void 0?s(``,!0):(n(),r(`small`,u,a(t.count),1))],8,l))),128))],8,c))}});export{d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,E as t,I as n,M as r,P as i,Q as a,S as o,U as s,a as c,at as l,f as u,g as d,h as f,it as p,j as m,n as ee,ot as h,rt as g,v as _,x as v,y,z as b}from"./i18n-
|
|
1
|
+
import{B as e,E as t,I as n,M as r,P as i,Q as a,S as o,U as s,a as c,at as l,f as u,g as d,h as f,it as p,j as m,n as ee,ot as h,rt as g,v as _,x as v,y,z as b}from"./i18n-oJFlt8hW.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(t({__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(t,{emit:x}){let j=t,M=x,N=a(null),P=a(null),F=a(null),I=a(null),L=a(!1),R=a(``),z=a({}),B=`${j.controlId||`ui-select-${b().replace(/[^A-Za-z0-9_-]/g,``)}`}-options`,V=_(()=>new Set(Array.isArray(j.modelValue)?j.modelValue:[j.modelValue])),H=_(()=>j.options.filter(e=>V.value.has(e.value))),U=_(()=>j.searchable??j.options.length>7),W=_(()=>{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=_(()=>{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});e(()=>j.disabled,e=>{e&&Y()}),r(()=>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 m(),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&&m(()=>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,r)=>(i(),o(`div`,{ref_key:`root`,ref:N,class:p([`ui-select`,[`ui-select--${t.size}`,{"is-open":L.value,"is-disabled":t.disabled,"ui-field":t.field}]]),"data-select-id":t.controlId,onFocusout:le},[t.field?(i(),o(`span`,{key:0,class:`ui-select__label`,onClick:r[0]||=e=>P.value?.focus()},h(t.label),1)):v(``,!0),y(`select`,{class:`ui-select__native`,name:t.name,required:t.required,disabled:t.disabled,multiple:t.multiple,tabindex:`-1`,"aria-hidden":`true`},[(i(!0),o(d,null,n(t.options,e=>(i(),o(`option`,{key:e.value,value:e.value,selected:V.value.has(e.value)},h(e.label),9,re))),128))],8,ne),y(`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":t.label,disabled:t.disabled,onClick:r[1]||=e=>L.value?Y():J(),onKeydown:ue},[y(`span`,{class:p([`ui-select__value`,{"is-placeholder":!H.value.length}])},h(W.value),3),r[6]||=y(`svg`,{class:`ui-select__chevron`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},[y(`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?(i(),o(`div`,{key:1,class:`ui-select__panel`,style:l(z.value)},[U.value?s((i(),o(`input`,{key:0,ref_key:`searchInput`,ref:F,"onUpdate:modelValue":r[2]||=e=>R.value=e,class:`ui-select__search`,type:`search`,autocomplete:`off`,placeholder:g(c)(`common.searchableSelect.searchPlaceholder`),"aria-label":g(c)(`common.searchableSelect.searchAria`,{label:t.label}),onKeydown:de},null,40,C)),[[u,R.value]]):v(``,!0),y(`div`,{id:B,ref_key:`list`,ref:I,class:`ui-select__list`,role:`listbox`,"aria-multiselectable":t.multiple||void 0},[(i(!0),o(d,null,n(G.value,e=>(i(),o(`button`,{key:e.value,type:`button`,class:`ui-select__option`,role:`option`,"aria-selected":V.value.has(e.value),disabled:e.disabled,onMousedown:r[3]||=f(()=>{},[`prevent`]),onClick:t=>q(e),onKeydown:fe},[t.multiple?(i(),o(`span`,w)):v(``,!0),y(`span`,T,[y(`span`,null,h(e.label),1),e.meta?(i(),o(`small`,E,h(e.meta),1)):v(``,!0)]),!t.multiple&&V.value.has(e.value)?(i(),o(`svg`,D,[...r[7]||=[y(`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)]])):v(``,!0)],40,ae))),128)),G.value.length?v(``,!0):(i(),o(`p`,O,h(g(c)(`common.searchableSelect.noMatches`)),1))],8,ie),t.multiple&&t.options.length>3?(i(),o(`div`,k,[y(`button`,{type:`button`,onMousedown:r[4]||=f(()=>{},[`prevent`]),onClick:oe},h(g(c)(`common.searchableSelect.invert`)),33),y(`button`,{type:`button`,disabled:!H.value.length,onMousedown:r[5]||=f(()=>{},[`prevent`]),onClick:se},h(g(c)(`common.searchableSelect.clear`)),41,A)])):v(``,!0)],4)):v(``,!0)],42,te))}}),[[`__scopeId`,`data-v-3a363c0e`]]);export{j as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,E as t,H as n,I as r,M as i,P as a,Q as o,S as s,T as c,a as l,b as u,g as d,it as f,ot as p,rt as m,v as h,w as g,x as _,y as v}from"./i18n-
|
|
1
|
+
import{B as e,E as t,H as n,I as r,M as i,P as a,Q as o,S as s,T as c,a as l,b as u,g as d,it as f,ot as p,rt as m,v as h,w as g,x as _,y as v}from"./i18n-oJFlt8hW.js";import{t as y}from"./console-Cw7TzOSC.js";import{r as ee,s as b}from"./client-DnwnUBQV.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as te}from"./vue-router-CCvPGaLD.js";import{t as ne}from"./UiDisclosure-_IxeiexW.js";import{i as re,n as ie,t as ae}from"./KnowledgeEditDialog-HmiqLC-Y.js";import{u as oe,x as se}from"./model-BJ-UF4cs.js";import{t as ce}from"./personal-profile-graph-SOK0BR0w.js";var le={class:`view writing-taste-view`},S={key:2,class:`view-loading`,"aria-busy":`true`},ue={key:3,class:`writing-taste-unavailable`},de=[`role`],fe={class:`writing-taste-hero__copy`},pe={class:`writing-taste-status`},me={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=x(t({__name:`WritingTastePage`,setup(t){let x=y(),z=o(null),B=o(null),V=o(!1),H=o(!1),U=o(null),W=o(null),G=o(!1),K=0,q=null,J=h(()=>V.value&&!z.value),Y=re(J),X=h(()=>se(B.value)),Z=h(()=>new Map(X.value.map(e=>[`${e.itemKind}:${e.id}`,e]))),he=h(()=>z.value?.status===`active`?l(`writingTaste.page.activeTitle`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewTitle`):l(`writingTaste.page.collectingTitle`)),ge=h(()=>z.value?.status===`active`?l(`writingTaste.page.activeCopy`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewCopy`):l(`writingTaste.page.collectingCopy`));e(()=>x.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=x.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([ee(`/api/writing-taste-profile?${r}`,{signal:n.signal}),ce(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)}}i(()=>{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=x.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,t)=>(a(),s(`section`,le,[c(m(te),{class:`writing-taste-back`,to:`/preferences`},{default:n(()=>[t[6]||=v(`span`,{"aria-hidden":`true`},`←`,-1),g(` `+p(m(l)(`writingTaste.page.back`)),1)]),_:1}),V.value&&z.value&&!m(Y)?(a(),u(b,{key:0,variant:`inline`,label:m(l)(`writingTaste.page.loading`)},null,8,[`label`])):_(``,!0),m(Y)?(a(),u(b,{key:1,label:m(l)(`writingTaste.page.loading`)},null,8,[`label`])):J.value?(a(),s(`div`,S)):z.value?(a(),s(d,{key:4},[v(`header`,{class:f([`writing-taste-hero`,`status-${z.value.status}`])},[v(`div`,fe,[v(`span`,pe,[t[7]||=v(`i`,{"aria-hidden":`true`},null,-1),g(` `+p(m(l)(`writingTaste.status.${z.value.status}`)),1)]),v(`h2`,null,p(he.value),1),v(`p`,null,p(ge.value),1)]),v(`div`,me,[v(`strong`,null,p(z.value.readiness.rule_count),1),v(`span`,null,`/ `+p(z.value.readiness.thresholds.rule_count),1),v(`small`,null,p(m(l)(`writingTaste.criteria.rules`)),1)])],2),v(`section`,{class:`writing-taste-readiness`,"aria-label":m(l)(`writingTaste.page.readinessAria`)},[(a(!0),s(d,null,r(z.value.readiness.criteria,e=>(a(),s(`article`,{key:e.key,class:f({met:e.met})},[v(`span`,w,p(e.met?`✓`:`·`),1),v(`div`,null,[v(`strong`,null,p(m(l)(`writingTaste.criteria.${e.key}`)),1),v(`small`,null,p(be(e)),1)])],2))),128))],8,C),v(`section`,T,[v(`header`,null,[v(`h2`,null,p(m(l)(`writingTaste.page.rulesTitle`)),1),v(`span`,null,p(z.value.rules.length),1)]),z.value.rules.length?(a(),s(`div`,E,[(a(!0),s(d,null,r(z.value.rules,e=>(a(),s(`article`,{key:`${e.item_kind}:${e.item_id}`,class:f([`writing-taste-rule`,{"has-conflict":e.has_conflict,"is-hypothesis":e.evidence_status===`Working hypothesis`}])},[v(`div`,D,[v(`span`,{class:f(e.evidence_status.replaceAll(` `,`-`).toLowerCase())},p(m(l)(`writingTaste.evidenceStatus.${e.evidence_status}`)),3),v(`span`,null,p(ye(e)),1),e.has_conflict?(a(),s(`span`,O,p(m(l)(`writingTaste.page.conflict`)),1)):_(``,!0)]),v(`div`,k,[v(`h3`,null,p(e.title),1),v(`p`,null,p(e.instruction),1),e.reason||e.contexts.length?(a(),u(ne,{key:0,title:m(l)(`ui.details`)},{default:n(()=>[e.reason?(a(),s(`p`,A,p(e.reason),1)):_(``,!0),e.contexts.length?(a(),s(`p`,j,p(m(l)(`writingTaste.page.contexts`,{contexts:e.contexts.join(`、`)})),1)):_(``,!0)]),_:2},1032,[`title`])):_(``,!0)]),v(`footer`,null,[v(`div`,null,[v(`span`,null,p(m(l)(`writingTaste.page.evidence`,{evidence:e.evidence_count})),1),v(`span`,null,p(m(l)(`writingTaste.page.sessions`,{sessions:e.session_count})),1),e.updated_at?(a(),s(`span`,M,p(m(l)(`writingTaste.page.updated`,{time:m(oe)(e.updated_at)})),1)):_(``,!0)]),$(e)?(a(),s(`div`,N,[v(`button`,{class:`secondary-action`,type:`button`,onClick:t=>ve(e)},p(m(l)(`writingTaste.page.edit`)),9,P),e.evidence_status===`Confirmed`?_(``,!0):(a(),s(`button`,{key:0,class:`primary-action`,type:`button`,onClick:t=>_e(e)},p(m(l)(`writingTaste.page.confirm`)),9,F))])):_(``,!0)])],2))),128))])):(a(),s(`div`,I,p(m(l)(`writingTaste.page.rulesEmpty`)),1))]),z.value.ready&&z.value.agent_markdown?(a(),s(`section`,L,[v(`div`,null,[v(`h2`,null,p(m(l)(`writingTaste.page.agentPreviewTitle`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,onClick:t[1]||=e=>G.value=!G.value},p(G.value?m(l)(`writingTaste.page.hideAgentPreview`):m(l)(`writingTaste.page.showAgentPreview`)),1),G.value?(a(),s(`pre`,R,p(z.value.agent_markdown),1)):_(``,!0)])):_(``,!0)],64)):(a(),s(`div`,ue,[v(`p`,{role:H.value?`alert`:void 0},p(m(l)(H.value?`common.errors.loadFailed`:`writingTaste.page.profileUnavailable`)),9,de),m(x).activePersonalSpace?(a(),s(`button`,{key:0,type:`button`,class:`secondary-action`,onClick:t[0]||=e=>Q()},p(m(l)(`common.actions.retry`)),1)):_(``,!0)])),c(ae,{item:W.value,"personal-space-id":m(x).activePersonalSpace?.id??``,"personal-project-id":null,projects:m(x).state?.personalProjects??[],"replacement-items":X.value,onClose:t[2]||=e=>W.value=null,onSaved:t[3]||=e=>Q()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),c(ie,{item:U.value,"personal-space-id":m(x).activePersonalSpace?.id??``,"personal-project-id":null,onClose:t[4]||=e=>U.value=null,onSaved:t[5]||=e=>Q()},null,8,[`item`,`personal-space-id`])]))}}),[[`__scopeId`,`data-v-753ab4d9`]]);export{z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,Q as t,a as n,k as r,r as i}from"./i18n-oJFlt8hW.js";import{o as a,r as o}from"./client-DnwnUBQV.js";import{t as s}from"./useAgentRoster-B84mzZIg.js";var c=Symbol(`agent-pins`),l=Symbol(`agent-roster`),u=new Map,d={loading:`Reading pinned Agents…`,saving:`Saving Agent pin…`,loadError:`Pinned Agents are temporarily unavailable.`,saveError:`The Agent pin could not be saved.`,conflictError:`The pin list changed. Try again.`};function f(e,t){let r=`agentPins.${e}`;return i.global.te(r)?n(r):t}function p(e){return f(e,d[e])}function m(e){if(!e||typeof e!=`object`||!(`status`in e))return null;let t=e.status;return typeof t==`number`?t:null}function h(e){let t=e&&typeof e==`object`?e:{},n=Array.isArray(t.agentIds)?[...new Set(t.agentIds.filter(e=>typeof e==`string`&&e.length>0))]:[];return{revision:typeof t.revision==`number`?t.revision:0,agentIds:n}}function g(e){let t=u.get(e);if(t)return t;let n=o(`/api/agent-pins?${new URLSearchParams({personalSpaceId:e})}`).then(e=>h(e)).finally(()=>{u.get(e)===n&&u.delete(e)});return u.set(e,n),n}function _(n){let r=t([]),i=t(null),o=t(!1),s=t(null),c=t(``),l=new Map,u=0;function d(){r.value=[],i.value=null,o.value=!1,s.value=null,c.value=``}function f(e){i.value=e.revision,r.value=[...e.agentIds]}async function _(e={}){let t=n.value,r=++u;if(c.value=``,!t){d();return}let i=e.force?void 0:l.get(t);if(i){f(i),o.value=!1;return}o.value=!0;try{let e=await g(t);if(l.set(t,e),r!==u||n.value!==t)return;f(e)}catch{r===u&&n.value===t&&(c.value=p(`loadError`))}finally{r===u&&n.value===t&&(o.value=!1)}}async function v(e,t){let r=n.value;if(!r||(i.value===null&&await _(),n.value!==r||i.value===null))return!1;let o=i.value;s.value=e,c.value=``;try{let i=h(await a(`/api/agent-pins`,{personalSpaceId:r,agentId:e,pinned:t,expectedRevision:o}));return l.set(r,i),n.value===r&&f(i),!0}catch(e){return n.value===r&&(m(e)===409?(await _({force:!0}),n.value===r&&!c.value&&(c.value=p(`conflictError`))):c.value=p(`saveError`)),!1}finally{n.value===r&&(s.value=null)}}return e(n,()=>{u+=1,d(),n.value&&_()},{immediate:!0}),{agentIds:r,revision:i,loading:o,savingAgentId:s,error:c,load:_,setPinned:v}}function v(e){return r(c,null)??_(e)}function y(e){return r(l,null)??s(e)}export{v as a,_ as i,l as n,y as o,f as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.agents-directory,.agent-profile-page{min-width:0;color:var(--color-ink,#1d2129)}.agents-directory{width:100%;max-width:var(--page-max);margin-inline:auto}.agents-directory-heading{margin-bottom:var(--space-6,24px)}.agents-directory-count{color:var(--color-muted,#667085);margin:0;font-size:14px}.agent-directory-work-error{justify-content:space-between;align-items:center;gap:var(--space-3,12px);margin:calc(var(--space-6,24px) * -1) 0 var(--space-4,16px);color:var(--color-danger,#b93838);font-size:13px;display:flex}.agent-profile-actions{justify-content:flex-end;align-items:center;gap:var(--space-2,8px);flex-wrap:wrap;flex-shrink:0;display:flex}.agents-directory-filters{margin-bottom:var(--space-6,24px);align-items:stretch}.agents-directory-search{flex:280px;min-width:160px}.agents-directory-search input{box-sizing:border-box;width:100%}.agents-directory-select{flex:0 0 180px}.agents-directory-grid{gap:var(--space-4,16px);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.agents-directory-grid>li{min-width:0}.agent-card{box-sizing:border-box;height:100%;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;gap:10px;padding:18px;display:flex}.agent-card:hover{border-color:var(--color-border-strong);box-shadow:0 6px 20px #1b1f1d0f}.agent-card-topline,.agent-card-meta,.agent-section-heading,.agent-resume-name-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.agent-card-topline{justify-content:flex-start}.agent-portrait{background:var(--color-accent-soft);width:72px;height:72px;color:var(--color-accent);border-radius:20px;flex:0 0 72px;place-items:center;font-size:34px;line-height:1;display:grid}.agent-portrait.small{border-radius:11px;flex-basis:40px;width:40px;height:40px;font-size:19px}.agent-directory-name{flex:1;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:650;display:flex}.agent-directory-name a{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.agent-directory-name a:hover{color:var(--color-accent)}.agent-card-role{font-size:11px;font-weight:600}.agent-card-responsibility{color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.agent-inline-skills,.agent-card-project-list{flex-wrap:wrap;gap:6px;display:flex}.agent-inline-skills>span{overflow-wrap:anywhere;max-width:100%;color:var(--color-muted);font-size:12px;line-height:1.4}.agent-inline-skills>span+span:before{content:"·";color:var(--color-faint);margin-right:6px}.agent-card-meta{border-top:1px solid var(--color-border);margin-top:auto;padding-top:12px}.agent-card-projects{min-width:0}.agent-card-project-list .ui-badge{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.agent-card-project-count{color:var(--color-accent);background:var(--color-accent-soft)}.agent-card-no-project{color:var(--color-faint);font-size:12px}.agent-card-status{margin-left:auto}.agent-card-status.is-active,.agent-profile-membership.is-active{color:var(--color-success);background:var(--color-success-soft)}.agent-card-status.is-inactive,.agent-profile-membership.is-inactive{color:var(--color-warning);background:var(--color-warning-soft)}.agent-card-status.is-archived,.agent-profile-membership.is-archived{color:var(--color-muted);background:var(--color-surface-subtle)}.agent-card-work-status{max-width:140px;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex;overflow:hidden}.agent-card-work-status:before{content:"";background:var(--color-faint);border-radius:50%;flex:none;width:6px;height:6px}.agent-card-work-status.is-running{color:var(--color-accent)}.agent-card-work-status.is-running:before{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.agent-card-work-status:is(.is-awaiting_review,.is-queued,.is-paused,.is-awaiting_recruitment){color:var(--color-warning)}.agent-card-work-status:is(.is-awaiting_review,.is-queued,.is-paused,.is-awaiting_recruitment):before{background:var(--color-warning)}.agent-card-work-status:is(.is-blocked,.is-unavailable){color:var(--color-danger)}.agent-card-work-status:is(.is-blocked,.is-unavailable):before{background:var(--color-danger)}.agent-directory-open{color:var(--color-muted);white-space:nowrap;flex:none;font-size:12px;font-weight:550;text-decoration:none}.agent-directory-open:hover{color:var(--color-accent)}.agent-profile-empty{box-sizing:border-box;min-height:140px}.agents-directory .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.agent-profile-page{width:100%;max-width:min(var(--page-max), 1440px);box-sizing:border-box;margin:0 auto}.agent-profile-back{align-items:center;gap:var(--space-2,8px);margin-bottom:var(--space-5,20px);color:var(--color-muted,#667085);font-size:14px;text-decoration:none;display:inline-flex}.agent-profile-back:hover,.agent-profile-footer a,.agent-section-heading>a{color:var(--color-accent,#2563eb)}.agent-resume-header{align-items:start;gap:var(--space-5,20px);padding:var(--space-6,24px);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.agent-resume-intro{min-width:0}.agent-resume-intro h1{overflow-wrap:anywhere;letter-spacing:-.025em;min-width:0;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.15}.agent-resume-name-row{flex-wrap:wrap;justify-content:flex-start;align-items:baseline}.agent-profile-membership{flex:none}.agent-resume-intro>p{max-width:650px;margin:var(--space-3,12px) 0;overflow-wrap:anywhere;color:var(--color-muted,#667085);line-height:1.65}.agent-resume-meta{gap:var(--space-3,12px);color:var(--color-muted,#667085);flex-wrap:wrap;font-size:12px;display:flex}.agent-profile-refresh-status,.agent-profile-partial{margin:var(--space-4,16px) 0 0;color:var(--color-muted,#667085);font-size:13px}.agent-profile-tabs{gap:var(--space-5,20px);margin-top:var(--space-6,24px);border-bottom:1px solid var(--color-border,#e2e5ea);display:flex;overflow-x:auto}.agent-profile-tab{min-height:44px;color:var(--color-muted,#667085);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:8px 2px;font-size:13px;position:relative}.agent-profile-tab:hover,.agent-profile-tab[aria-selected=true]{color:var(--color-accent,#2563eb)}.agent-profile-tab[aria-selected=true]{border-bottom-color:var(--color-accent,#2563eb);font-weight:650}.agent-profile-panel{min-width:0;margin-top:var(--space-4,16px)}.agent-profile-panel>.ui-card+.ui-card{margin-top:var(--space-4,16px)}.agent-profile-primary-grid{gap:var(--space-4,16px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.agent-resume-section{box-sizing:border-box;min-width:0;padding:var(--space-6,24px)}.agent-resume-section h2{letter-spacing:-.01em;margin:0;font-size:18px}.agent-resume-section>h2{margin-bottom:var(--space-4,16px)}.agent-resume-section h3{margin:0 0 var(--space-2,8px);font-size:14px}.agent-resume-section p{margin:var(--space-2,8px) 0;overflow-wrap:anywhere;white-space:pre-line;line-height:1.7}.agent-section-heading{margin-bottom:var(--space-4,16px)}.agent-section-heading>span{color:var(--color-muted,#667085);font-size:12px}.agent-resume-list{margin:0;padding:0;list-style:none}.agent-resume-list li{padding:var(--space-3,12px) 0}.agent-resume-list li+li{border-top:1px solid var(--color-border,#e2e5ea)}.agent-project-link{color:var(--color-accent,#2563eb);text-decoration:none}.agent-project-link:hover{text-decoration:underline}.agent-project-overflow{margin-top:var(--space-3,12px)}.agent-project-overflow summary{color:var(--color-accent,#2563eb);cursor:pointer;font-size:13px}.agent-current-work-list{gap:var(--space-2,8px);margin:0;padding:0;list-style:none;display:grid}.agent-current-work-list li{justify-content:space-between;align-items:center;gap:var(--space-3,12px);min-width:0;padding:var(--space-3,12px);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-control,10px);display:flex}.agent-current-work-list .ui-badge,.agent-work-timeline .agent-section-heading>span{white-space:nowrap;flex:none}.agent-current-work-list a{overflow-wrap:anywhere;min-width:0;color:var(--color-accent,#2563eb);font-weight:600;text-decoration:none}.agent-muted,.agent-org-lead-unavailable,.agent-work-timeline small,.agent-collaborators span{color:var(--color-muted,#667085)}.agent-character{gap:var(--space-5,20px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.agent-character p{font-size:14px}.agent-strengths{margin-top:var(--space-5,20px)}.agent-strengths h3{margin-bottom:var(--space-3,12px)}.agent-expectation{padding:var(--space-4,16px);border-radius:var(--radius-control,10px);color:var(--color-ink,#1d2129);background:var(--color-accent-soft,#edf3ff)}.agent-expectation strong{margin-bottom:var(--space-2,8px);font-size:13px;display:block}.agent-organization{padding:var(--space-4,16px) 0}.agent-org-lead,.agent-org-members{gap:var(--space-4,16px);padding:var(--space-2,8px) 0;display:flex}.agent-org-lead>span,.agent-org-members>span{min-width:70px;color:var(--color-muted,#667085);font-size:12px}.agent-org-members{margin-left:var(--space-3,12px);padding-left:var(--space-4,16px);border-left:2px solid var(--color-border,#e2e5ea)}.agent-org-members ul{gap:var(--space-3,12px);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.agent-work-timeline{margin:var(--space-5,20px) 0 0 var(--space-2,8px);padding:0 0 0 var(--space-6,24px);border-left:1px solid var(--color-border-strong,#c5cbd5);list-style:none}.agent-work-timeline>li{margin:0 0 var(--space-6,24px);position:relative}.agent-work-timeline>li:before{background:var(--color-accent,#2563eb);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-29px}.agent-work-timeline .agent-section-heading{margin-bottom:var(--space-2,8px)}.agent-work-timeline a{color:var(--color-accent,#2563eb);font-weight:600;text-decoration:none}.agent-work-timeline p{font-size:14px}.agent-work-timeline small{font-size:12px}.agent-collaborators{gap:var(--space-5,20px) var(--space-8,32px);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.agent-collaborators li{gap:var(--space-2,8px);flex-direction:column;min-width:120px;display:flex}.agent-profile-management-links{gap:var(--space-2,8px);margin-top:var(--space-5,20px);flex-wrap:wrap;display:flex}.agent-profile-footer{gap:var(--space-5,20px);margin-top:var(--space-5,20px);padding:var(--space-5,20px) 0;border-top:1px solid var(--color-border,#e2e5ea);flex-wrap:wrap;font-size:13px;display:flex}.agent-simple-settings{box-sizing:border-box;margin-top:var(--space-4,16px);padding:var(--space-6,24px);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-card,16px);background:var(--color-surface,#fff)}.agent-simple-settings h3{margin:0 0 var(--space-5,20px)}.agent-simple-settings label,.agent-simple-settings .agent-platform-field{gap:var(--space-2,8px);margin-bottom:var(--space-5,20px);color:var(--color-ink,#1d2129);flex-direction:column;font-size:14px;display:flex}.agent-simple-settings small{color:var(--color-muted,#667085);font-size:12px}.agent-simple-settings details{margin:var(--space-5,20px) 0}.agent-simple-settings summary{margin-bottom:var(--space-4,16px);color:var(--color-ink,#1d2129);cursor:pointer;font-size:13px}.agent-simple-settings textarea{min-height:70px}.agent-simple-settings button:disabled{cursor:wait}.agent-locked-platforms p{color:var(--color-ink,#1d2129)}@media (width>=640px){.agents-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.agents-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.agents-directory-heading{align-items:flex-start}.agents-directory-heading .agent-profile-actions{gap:var(--space-2,8px)}.agents-directory-filters{align-items:stretch}.agents-directory-search{flex-basis:100%}.agents-directory-filters>select{flex:1;min-width:0}.agent-resume-header{grid-template-columns:auto minmax(0,1fr)}.agent-resume-header .agent-profile-actions{grid-column:1/-1;justify-content:flex-start}.agent-profile-primary-grid,.agent-character{grid-template-columns:1fr}.agent-profile-tabs{gap:var(--space-4,16px)}}@media (width<=480px){.agent-resume-header,.agent-resume-section,.agent-simple-settings{padding:var(--space-4,16px)}.agent-resume-header{grid-template-columns:1fr}.agent-resume-header .agent-profile-actions{grid-column:auto}.agent-portrait{border-radius:16px;flex-basis:56px;width:56px;height:56px;font-size:28px}.agent-current-work-list li{flex-direction:column;align-items:flex-start}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as e,a as t}from"./i18n-
|
|
1
|
+
import{Q as e,a as t}from"./i18n-oJFlt8hW.js";import{r as n}from"./console-Cw7TzOSC.js";import{a as r,r as i}from"./client-DnwnUBQV.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Q as e,a as t}from"./i18n-oJFlt8hW.js";import{r as n}from"./client-DnwnUBQV.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{E as e,P as t,S as n,a as r,it as i,ot as a,y as o}from"./i18n-
|
|
1
|
+
import{E as e,P as t,S as n,a as r,it as i,ot as a,y as o}from"./i18n-oJFlt8hW.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(e({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(e){let r=e;return(e,s)=>(t(),n(`span`,{class:i([`growth-loading`,[`growth-loading--${r.variant}`,{"view-loading":r.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":r.label},[o(`span`,l,[s[0]||=o(`span`,{class:`growth-loading__visual`,"aria-hidden":`true`},[o(`svg`,{class:`growth-loading__mark`,viewBox:`0 0 48 48`,"aria-hidden":`true`,focusable:`false`},[o(`path`,{class:`growth-loading__arc growth-loading__arc--1`,d:`M24 5 A19 19 0 0 1 40.45 33.5`}),o(`path`,{class:`growth-loading__arc growth-loading__arc--2`,d:`M40.45 33.5 A19 19 0 0 1 7.55 33.5`}),o(`path`,{class:`growth-loading__arc growth-loading__arc--3`,d:`M7.55 33.5 A19 19 0 0 1 24 5`})])],-1),o(`span`,u,a(r.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 n=await fetch(e,t);if(!n.ok){let e=(await n.text()).trim();throw new f(n.status>=500?r(`common.errors.serviceUnavailable`,{status:n.status}):e||r(`common.errors.requestFailed`,{status:n.status}),n.status,e)}return n.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{h as a,_ as i,v as n,g as o,m as r,d as s,f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,G as t,J as n,K as r,O as i,Q as a,W as o,X as s,Y as c,a as l,et as u,j as d,k as f,nt as p,q as m,tt as h,v as g}from"./i18n-
|
|
1
|
+
import{B as e,G as t,J as n,K as r,O as i,Q as a,W as o,X as s,Y as c,a as l,et as u,j as d,k as f,nt as p,q as m,tt as h,v as g}from"./i18n-oJFlt8hW.js";import{i as _,r as v}from"./client-DnwnUBQV.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=o(!0),t=e.run(()=>a({})),r=[],i=[],s=n({install(e){x(s),s._a=e,e.provide(S,s),e.config.globalProperties.$pinia=s,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return s}var L=()=>{};function R(e,n,r,i=L){e.add(n);let a=()=>{e.delete(n)&&i()};return!r&&t()&&c(a),a}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)&&!m(i)&&!r(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!!(m(e)&&e.effect)}function J(e,t,r,i){let{state:a,actions:o,getters:s}=t,c=r.state.value[e],l;function u(){return c||(r.state.value[e]=a?a():{}),K(p(r.state.value[e]),o,Object.keys(s||{}).reduce((t,i)=>(t[i]=n(g(()=>{x(r);let t=r._s.get(e);return s[i].call(t,t)})),t),{}))}return l=Y(e,u,t,r,i,!0),l}function Y(t,n,i={},a,c,l){let u,f=K({actions:{}},i),p={deep:!0},g,_,v=new Set,y=new Set,b=a.state.value[t];!l&&!b&&(a.state.value[t]={});let S;function C(e){let n;g=_=!1,typeof e==`function`?(e(a.state.value[t]),n={type:`patch function`,storeId:t,events:void 0}):(U(a.state.value[t],e),n={type:`patch object`,payload:e,storeId:t,events:void 0});let r=S=Symbol();d().then(()=>{S===r&&(g=!0)}),_=!0,z(v,n,a.state.value[t])}let w=l?function(){let{state:e}=i,t=e?e():{};this.$patch(e=>{K(e,t)})}:L;function T(){u.stop(),v.clear(),y.clear(),a._s.delete(t)}let E=(e,n=``)=>{if(V in e)return e[H]=n,e;let r=function(){x(a);let n=Array.from(arguments),i=new Set,o=new Set;function s(e){i.add(e)}function c(e){o.add(e)}z(y,{args:n,name:r[H],store:D,after:s,onError:c});let l;try{l=e.apply(this&&this.$id===t?this:D,n)}catch(e){throw z(o,e),e}return l instanceof Promise?l.then(e=>(z(i,e),e)).catch(e=>(z(o,e),Promise.reject(e))):(z(i,l),l)};return r[V]=!0,r[H]=n,r},D=s({_p:a,$id:t,$onAction:R.bind(null,y),$patch:C,$reset:w,$subscribe(n,r={}){if(v.has(n))return L;let i=R(v,n,r.detached,()=>o()),o=u.run(()=>e(()=>a.state.value[t],e=>{(r.flush===`sync`?_:g)&&n({storeId:t,type:`direct`,events:void 0},e)},K({},p,r)));return i},$dispose:T});a._s.set(t,D);let O=(a._a&&a._a.runWithContext||B)(()=>a._e.run(()=>(u=o()).run(()=>n({action:E}))));for(let e in O){let n=O[e];m(n)&&!q(n)||r(n)?l||(b&&G(n)&&(m(n)?n.value=b[e]:U(n,b[e])),a.state.value[t][e]=n):typeof n==`function`&&(O[e]=E(n,e),f.actions[e]=n)}return K(D,O),K(h(D),O),Object.defineProperty(D,"$state",{get:()=>a.state.value[t],set:e=>{C(t=>{K(t,e)})}}),a._p.forEach(e=>{let t=u.run(()=>e({store:D,app:a._a,pinia:a,options:f}));K(D,t)}),b&&l&&i.hydrate&&i.hydrate(D.$state,b),g=!0,_=!0,D}function X(e,t,n){let r,a=typeof t==`function`;r=a?n:t;function o(n,o){let s=i();return n||=s?f(S,null):null,n&&x(n),n=b,n._s.has(e)||(a?Y(e,t,r,n):J(e,r,n)),n._s.get(e)}return o.$id=e,o}var Z=X(`console`,()=>{let e=u(null),t=a(`idle`),n=a(!1),r=a(null),i=g(()=>{let t=e.value;return t?t.personalSpaces.find(({id:e})=>e===t.activePersonalSpaceId)??t.personalSpaces[0]??null:null}),o=g(()=>e.value?.mode===`connected`?`ready`:e.value?.mode===`degraded`?`error`:`disconnected`);async function s(){t.value=`loading`;try{e.value=await v(`/api/state`),t.value=`ready`}catch(e){t.value=`error`,m(e)}}async function c(t){try{let n=await _(`/api/capture-policy`,{enabled:t});e.value&&={...e.value,capturePolicy:n},p(l(t?`console.captureNotices.enabled`:`console.captureNotices.disabled`))}catch(e){m(e)}}async function d(t){try{let n=await _(`/api/agent-access-policy`,{enabled:t});e.value&&={...e.value,agentAccessPolicy:n},p(l(t?`console.agentAccess.enabledNotice`:`console.agentAccess.disabledNotice`))}catch(e){m(e)}}function f(t){return e.value?.capabilities?.[t]===!0}function p(e){r.value={message:e,tone:`success`}}function m(e){r.value={message:e instanceof Error?e.message:l(`common.errors.operationFailed`),tone:`error`}}function h(){r.value=null}return{state:e,runtimeStatus:t,settingsSaving:n,feedback:r,activePersonalSpace:i,publicRuntimeStatus:o,refresh:s,updateCapturePolicy:c,updateAgentAccessPolicy:d,hasCapability:f,notify:p,reportError:m,clearFeedback:h}});export{I as n,X as r,Z as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Z as e,a as t,et as n}from"./i18n-oJFlt8hW.js";import{r}from"./client-DnwnUBQV.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 n=u(e);return n===`other`?t(`knowledge.domain.actors.otherAgent`):a[n]}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=n(w(l)),b=null;function x(){return C(),e(y)}function S(e){y.value=w(e)}function C({force:e=!1}={}){return!e&&b||(b=r(`/api/system/settings`).then(e=>{S(e.configured.conversationLaunchers)}).catch(()=>void 0)),b}function w(e){return Object.fromEntries(i.map(t=>[t,{...l[t],...e?.[t]??{}}]))}export{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};
|