fuli-context 0.9.0-beta.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/web/assets/AboutPage-D-GyJNv1.js +1 -0
- package/dist/web/assets/AboutPage-c4dQpUiP.css +1 -0
- package/dist/web/assets/AgentConversations-DOuZgUeA.js +2 -0
- package/dist/web/assets/AgentConversations-DS8h3yKn.css +1 -0
- package/dist/web/assets/AgentHand-Y83Oo36U.css +1 -0
- package/dist/web/assets/AgentHand-eGsXoGSq.js +1 -0
- package/dist/web/assets/AgentName-BQTFCWn0.css +1 -0
- package/dist/web/assets/AgentName-Dtmu9Ff5.js +1 -0
- package/dist/web/assets/AgentProfilePage-D8Tvayn7.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-BTEfKZjF.js +1 -0
- package/dist/web/assets/ConnectionsPage-C1w99yN3.css +1 -0
- package/dist/web/assets/ConnectionsPage-DwOIcvl9.js +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-BrIMRblq.css +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-D11blfwU.js +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-BcEzYt65.css +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-CK2BAoGt.js +3 -0
- package/dist/web/assets/GrowthLoading-CIuQ1icy.css +1 -0
- package/dist/web/assets/GrowthLoading-KTjE2e50.js +1 -0
- package/dist/web/assets/KnowledgeEditDialog-B3x8vs3c.css +1 -0
- package/dist/web/assets/KnowledgeEditDialog-n9trHQ5d.js +1 -0
- package/dist/web/assets/KnowledgeInspector-BcNjgw9H.js +1 -0
- package/dist/web/assets/KnowledgeInspector-pgDELOEf.css +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-BzgxP-nG.css +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-DMBpGxLr.js +1 -0
- package/dist/web/assets/KnowledgePage-POkCMW8f.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-2FvQadhB.js +4 -0
- package/dist/web/assets/NotFoundPage-BCMZbeB8.js +1 -0
- package/dist/web/assets/OverviewPage-0CFWCG9-.css +1 -0
- package/dist/web/assets/OverviewPage-0mYifpjp.js +1 -0
- package/dist/web/assets/PersonalProfilePage-Chv2a2pi.css +1 -0
- package/dist/web/assets/PersonalProfilePage-JW6Muix6.js +1 -0
- package/dist/web/assets/PersonalProjectsPage-CRbi64JP.js +1 -0
- package/dist/web/assets/ProjectAgentFirstTask-DJ0wTbh8.js +1 -0
- package/dist/web/assets/ProjectAgentsPage-BgQLIpxg.css +1 -0
- package/dist/web/assets/ProjectAgentsPage-CQemHFxy.js +12 -0
- package/dist/web/assets/ProjectScopePicker-BwB7gK-7.js +1 -0
- package/dist/web/assets/ProjectScopePicker-DYA7L1Ex.css +1 -0
- package/dist/web/assets/PublicProjectsPage-CB272Sq-.js +1 -0
- package/dist/web/assets/ReviewPage-CelTZU4C.js +1 -0
- package/dist/web/assets/RoundtablesPage-ByVeZlgC.js +2 -0
- package/dist/web/assets/{SearchableSelect-Do6X3fXi.js → SearchableSelect-f7EHbyDL.js} +1 -1
- package/dist/web/assets/SettingsPage-5g7mRN2F.css +1 -0
- package/dist/web/assets/SettingsPage-nAijmm5f.js +1 -0
- package/dist/web/assets/SharedJefaReportPage-CjpJ9bkk.js +1 -0
- package/dist/web/assets/SharedJefaReportPage-D92FSPru.css +1 -0
- package/dist/web/assets/UiDisclosure-CWlC91Zt.js +1 -0
- package/dist/web/assets/WritingTastePage-DaHWY61P.js +1 -0
- package/dist/web/assets/WritingTastePage-SMGF39mf.css +1 -0
- package/dist/web/assets/agent-profile-CBvJHGjt.css +1 -0
- package/dist/web/assets/{task-evidence-DTiPCs7r.js → agent-work-summary-LeW-Al_S.js} +1 -1
- package/dist/web/assets/attention-store-Dk-_P4Oi.js +1 -0
- package/dist/web/assets/{catalog-JmKyJnKL.js → catalog-DN72452f.js} +1 -1
- package/dist/web/assets/{client-DTQ_tUr2.js → client-B2cRl-7c.js} +1 -1
- package/dist/web/assets/console-BtPqo79j.js +1 -0
- package/dist/web/assets/{conversation-launcher-settings-fUWCt3XG.js → conversation-launcher-settings-jkHRmWai.js} +1 -1
- package/dist/web/assets/{copy-CX6pyzAG.js → copy-D2LqwtPZ.js} +1 -1
- package/dist/web/assets/{i18n-CIIxzhPZ.js → i18n-D2CJkEYK.js} +2 -2
- package/dist/web/assets/{identity-CdFITIOu.js → identity-B3zEw-1u.js} +1 -1
- package/dist/web/assets/index-CNp0tRNp.css +1 -0
- package/dist/web/assets/index-UygXwZDZ.js +5 -0
- package/dist/web/assets/{model-CJsrDUNb.js → model-S7ehAjky.js} +1 -1
- package/dist/web/assets/{personal-profile-graph-CQLOait6.js → personal-profile-graph--GG3Mizo.js} +1 -1
- package/dist/web/assets/shared-report-CGlCpmNd.css +1 -0
- package/dist/web/assets/shared-report-DEK9wvhl.js +1 -0
- package/dist/web/assets/useAgentRoster-BAPKWZ9y.js +1 -0
- package/dist/web/assets/{useApi-CROJJdhE-fcdVGInY.js → useApi-CROJJdhE-BtFMXFjw.js} +1 -1
- package/dist/web/assets/{useModalDialog-B-45idX9.js → useModalDialog-D8tiJfbc.js} +1 -1
- package/dist/web/assets/{vue-router-BUX6njIv.js → vue-router-DkaTtPn0.js} +1 -1
- package/dist/web/index.html +16 -15
- package/docs/project-agent-memory.md +6 -0
- package/docs/roundtable-beta-validation.md +10 -2
- package/graph-provider/fuli_graph/app.py +3 -1
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/skills/capturing-session-knowledge/SKILL.md +4 -0
- package/skills/operating-fuli/SKILL.md +4 -0
- package/src/agent-tools/graph-definitions.js +2 -2
- package/src/agents/codex/lifecycle-hook.js +7 -0
- package/src/agents/codex/roundtable-config.js +3 -0
- package/src/agents/cursor/lifecycle-hook.js +1 -0
- package/src/agents/identity-receipt.js +11 -4
- package/src/cli/command-registry.js +1 -1
- package/src/cli/roundtable-command.js +29 -9
- package/src/conversations/current-task-lookup.js +40 -0
- package/src/conversations/sync-transcript.js +4 -2
- package/src/graphiti/federated-application.js +1 -0
- package/src/graphiti/provider-client.js +7 -4
- package/src/graphiti/task-entry-preferences.js +6 -7
- package/src/http/static-handler.js +3 -1
- package/src/mcp/instructions.js +8 -7
- package/src/mcp/tool-result.js +20 -8
- package/src/native-runtime/runtime.js +41 -6
- package/src/roundtables/turn-prompt.js +3 -0
- package/dist/web/assets/AboutPage-u2Bv6cO-.js +0 -1
- package/dist/web/assets/AboutPage-vYIBifKw.css +0 -1
- package/dist/web/assets/AgentHand-CsMcNXUm.js +0 -1
- package/dist/web/assets/AgentHand-D9sQu2vc.css +0 -1
- package/dist/web/assets/AgentName-BboCA-Fd.js +0 -1
- package/dist/web/assets/AgentName-Cydd0UI4.css +0 -1
- package/dist/web/assets/AgentProfilePage-Dyux6qE3.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage-BEJdvmX7.js +0 -1
- package/dist/web/assets/ConnectionsPage-CBHAdZXT.css +0 -1
- package/dist/web/assets/ConnectionsPage-Dw_hK_EM.js +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-B59X3rOi.css +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-DP_ktv3w.js +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-CAt8lVnr.js +0 -3
- package/dist/web/assets/EmployeeWorkbenchPage-CQwZnTA0.css +0 -1
- package/dist/web/assets/GrowthLoading-B_Hh0CRS.css +0 -1
- package/dist/web/assets/GrowthLoading-DIwqGFSc.js +0 -1
- package/dist/web/assets/KnowledgeEditDialog-D9NuRHvp.css +0 -1
- package/dist/web/assets/KnowledgeEditDialog-Degd9AGD.js +0 -1
- package/dist/web/assets/KnowledgeInspector--1NujtXW.css +0 -1
- package/dist/web/assets/KnowledgeInspector-yms1ysZ4.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-C64wNn8a.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-h2iKvQpO.css +0 -1
- package/dist/web/assets/KnowledgePage-BTFEXzgi.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-BsF1X4Aq.js +0 -4
- package/dist/web/assets/NotFoundPage-DfaNTiD1.js +0 -1
- package/dist/web/assets/OverviewPage-VXMfcWFI.js +0 -1
- package/dist/web/assets/PersonalProfilePage-C1LBhcYu.js +0 -1
- package/dist/web/assets/PersonalProfilePage-L8T5xMEC.css +0 -1
- package/dist/web/assets/PersonalProjectsPage-B5lV4ZJW.js +0 -1
- package/dist/web/assets/ProjectAgentFirstTask-DF-IvEqp.js +0 -1
- package/dist/web/assets/ProjectAgentsPage-CgL92gng.js +0 -13
- package/dist/web/assets/ProjectAgentsPage-CoJ4qQlA.css +0 -1
- package/dist/web/assets/ProjectScopePicker-BvaGTMFx.css +0 -1
- package/dist/web/assets/ProjectScopePicker-CZUMdyYz.js +0 -1
- package/dist/web/assets/PublicProjectsPage-e4CpxHk9.js +0 -1
- package/dist/web/assets/ReviewPage-DugEaFvI.js +0 -1
- package/dist/web/assets/RoundtablesPage-642YtZBC.js +0 -2
- package/dist/web/assets/SettingsPage-Brl-SL33.css +0 -1
- package/dist/web/assets/SettingsPage-wqYxDPyu.js +0 -1
- package/dist/web/assets/SharedJefaReportPage-CNQDezJr.js +0 -1
- package/dist/web/assets/SharedJefaReportPage-DXbj_JhO.css +0 -1
- package/dist/web/assets/WritingTastePage-Bzg6AvnB.css +0 -1
- package/dist/web/assets/WritingTastePage-CAUvbDlL.js +0 -1
- package/dist/web/assets/agent-profile-CdKOh5xw.css +0 -1
- package/dist/web/assets/agent-profile.css_vue_type_style_index_0_src_true_lang-DHOcWSe_.js +0 -1
- package/dist/web/assets/console-CrhIK67Y.js +0 -1
- package/dist/web/assets/employee-dialog-Bh5ccIbK.css +0 -1
- package/dist/web/assets/index-CYZi7E1e.css +0 -1
- package/dist/web/assets/index-DMoxVzDU.js +0 -2
- package/dist/web/assets/shared-report-Cll2Yj8W.js +0 -1
- package/dist/web/assets/shared-report-ezeb8dW4.css +0 -1
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ For a one-off task, this source version also supports an isolated **temporary pr
|
|
|
59
59
|
connected client to coordinate the task with Fuli even when no registered project matches. Fuli
|
|
60
60
|
retains its task history and follows the existing Agent recruitment and executor permissions.
|
|
61
61
|
Reading preferences alone creates nothing. An ambiguous project still needs a choice.
|
|
62
|
-
This behavior is included in the `0.9.0-beta.
|
|
62
|
+
This behavior is included in the `0.9.0-beta.2` prerelease.
|
|
63
63
|
|
|
64
64
|
The Agent directory now explains the first-task entry, and task details distinguish assignment
|
|
65
65
|
from actual worker reports. A completion table appears only after real execution is reported;
|
package/README.zh-CN.md
CHANGED
|
@@ -47,7 +47,7 @@ fuli open
|
|
|
47
47
|
|
|
48
48
|
临时任务也能交给 Agent:本次源码支持在没有匹配到已登记项目时,建立隔离的**临时项目**,
|
|
49
49
|
继续用 Fuli 协调任务。任务历史会保留,Agent 招募与执行器授权沿用现有规则;
|
|
50
|
-
单纯读取偏好不会创建项目,多个候选项目仍需明确选择。此能力包含在 `0.9.0-beta.
|
|
50
|
+
单纯读取偏好不会创建项目,多个候选项目仍需明确选择。此能力包含在 `0.9.0-beta.2` 预发布中。
|
|
51
51
|
|
|
52
52
|
Agent 目录提供首次任务入口,任务详情会区分“已分配”和“收到工作进程报告”。
|
|
53
53
|
只有上报真实执行后才有完成汇总;分配了 Agent、或仅完成普通本机对话,都不等于已运行工作进程。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,M as t,P as n,S as r,_ as i,a,h as o,it as s,tt as c,v as l,w as u,x as d}from"./i18n-D2CJkEYK.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as p}from"./fuli-logo-Bu9WBuQe.js";var m=[`aria-label`],ee={class:`label-dimension-strip`},h=[`data-dimension`],g={class:`label-guide-sheet`},_={class:`label-guide-section profile-guide`},v={class:`label-definition-list`},y=[`data-kind`],b={class:`label-guide-section quadrant-guide`},x={class:`quadrant-explainer`},S={class:`quadrant-y-axis`,"aria-hidden":`true`},C=[`aria-label`],w=[`data-quadrant`],T={class:`quadrant-x-axis`,"aria-hidden":`true`},E={class:`quadrant-notes`},D={class:`label-guide-section confirmation-guide`},O={class:`status-table-wrap`},k={class:`status-definition-table`},A={scope:`col`},j={scope:`col`},M={scope:`col`},N={scope:`row`},P=[`data-status`],F=[`data-label`],I=[`data-label`],L={class:`status-boundaries`},R={class:`label-example`},z={class:`label-example-tags`,"aria-hidden":`true`},B={class:`label-token profile-token`,"data-kind":`taste`},V={class:`label-token origin-token`},H={class:`label-token status-token`,"data-status":`confirmed`},U={class:`label-all-note`},W=f(u({__name:`LabelGuide`,setup(e){let u=i(()=>[{key:`profile`,title:a(`about.dimensions.profile.title`),question:a(`about.dimensions.profile.question`),timing:a(`about.dimensions.profile.timing`)},{key:`origin`,title:a(`about.dimensions.origin.title`),question:a(`about.dimensions.origin.question`),timing:a(`about.dimensions.origin.timing`)},{key:`confirmation`,title:a(`about.dimensions.confirmation.title`),question:a(`about.dimensions.confirmation.question`),timing:a(`about.dimensions.confirmation.timing`)}]),f=i(()=>[{key:`taste`,label:a(`about.profiles.taste.label`),short:a(`about.profiles.taste.short`),description:a(`about.profiles.taste.description`)},{key:`personality`,label:a(`about.profiles.personality.label`),short:a(`about.profiles.personality.short`),description:a(`about.profiles.personality.description`)},{key:`judgment`,label:a(`about.profiles.judgment.label`),short:a(`about.profiles.judgment.short`),description:a(`about.profiles.judgment.description`)}]),p=i(()=>[{key:`known-unknown`,label:a(`about.quadrants.knownUnknown.label`),coordinate:a(`about.quadrants.knownUnknown.coordinate`),description:a(`about.quadrants.knownUnknown.description`)},{key:`known-known`,label:a(`about.quadrants.knownKnown.label`),coordinate:a(`about.quadrants.knownKnown.coordinate`),description:a(`about.quadrants.knownKnown.description`)},{key:`unknown-unknown`,label:a(`about.quadrants.unknownUnknown.label`),coordinate:a(`about.quadrants.unknownUnknown.coordinate`),description:a(`about.quadrants.unknownUnknown.description`)},{key:`unknown-known`,label:a(`about.quadrants.unknownKnown.label`),coordinate:a(`about.quadrants.unknownKnown.coordinate`),description:a(`about.quadrants.unknownKnown.description`)}]),W=i(()=>[{key:`pending`,label:a(`about.statuses.pending.label`),description:a(`about.statuses.pending.description`),rule:a(`about.statuses.pending.rule`)},{key:`agent-confirmed`,label:a(`about.statuses.agentConfirmed.label`),description:a(`about.statuses.agentConfirmed.description`),rule:a(`about.statuses.agentConfirmed.rule`)},{key:`confirmed`,label:a(`about.statuses.confirmed.label`),description:a(`about.statuses.confirmed.description`),rule:a(`about.statuses.confirmed.rule`)}]);return(e,i)=>(t(),d(`section`,{class:`label-guide`,"aria-label":c(a)(`about.labelsAria`)},[l(`div`,ee,[(t(!0),d(o,null,n(u.value,e=>(t(),d(`article`,{key:e.key,"data-dimension":e.key},[i[0]||=l(`i`,{"aria-hidden":`true`},null,-1),l(`dl`,null,[l(`dt`,null,s(e.title),1),l(`dd`,null,[r(s(e.question)+` `,1),l(`small`,null,s(e.timing),1)])])],8,h))),128))]),l(`div`,g,[l(`section`,_,[l(`header`,null,[l(`span`,null,s(c(a)(`about.sections.profile.index`)),1),l(`div`,null,[l(`h3`,null,s(c(a)(`about.sections.profile.title`)),1),l(`p`,null,s(c(a)(`about.sections.profile.meta`)),1)])]),l(`dl`,v,[(t(!0),d(o,null,n(f.value,e=>(t(),d(`div`,{key:e.key,class:`label-definition-row`},[l(`dt`,null,[l(`span`,{class:`label-token profile-token`,"data-kind":e.key},s(e.label),9,y)]),l(`dd`,null,[l(`strong`,null,s(e.short),1),l(`p`,null,s(e.description),1)])]))),128))])]),l(`section`,b,[l(`header`,null,[l(`span`,null,s(c(a)(`about.sections.origin.index`)),1),l(`div`,null,[l(`h3`,null,s(c(a)(`about.sections.origin.title`)),1),l(`p`,null,s(c(a)(`about.sections.origin.meta`)),1)])]),l(`div`,x,[l(`div`,S,[l(`span`,null,s(c(a)(`about.quadrants.aware`)),1),l(`strong`,null,s(c(a)(`about.quadrants.awareness`)),1),l(`span`,null,s(c(a)(`about.quadrants.unaware`)),1)]),l(`div`,{class:`quadrant-grid`,role:`group`,"aria-label":c(a)(`about.sections.origin.title`)},[(t(!0),d(o,null,n(p.value,e=>(t(),d(`article`,{key:e.key,"data-quadrant":e.key},[l(`span`,null,s(e.coordinate),1),l(`strong`,null,s(e.label),1),l(`p`,null,s(e.description),1)],8,w))),128))],8,C),l(`div`,T,[l(`span`,null,s(c(a)(`about.quadrants.unmastered`)),1),l(`strong`,null,s(c(a)(`about.quadrants.mastery`)),1),l(`span`,null,s(c(a)(`about.quadrants.mastered`)),1)]),l(`div`,E,[l(`p`,null,s(c(a)(`about.quadrants.immutable`)),1),l(`p`,null,s(c(a)(`about.quadrants.unclassified`)),1)])])]),l(`section`,D,[l(`header`,null,[l(`span`,null,s(c(a)(`about.sections.confirmation.index`)),1),l(`div`,null,[l(`h3`,null,s(c(a)(`about.sections.confirmation.title`)),1),l(`p`,null,s(c(a)(`about.sections.confirmation.meta`)),1)])]),l(`div`,O,[l(`table`,k,[l(`thead`,null,[l(`tr`,null,[l(`th`,A,s(c(a)(`about.sections.confirmation.title`)),1),l(`th`,j,s(c(a)(`about.statuses.descriptionHeader`)),1),l(`th`,M,s(c(a)(`about.statuses.entryCondition`)),1)])]),l(`tbody`,null,[(t(!0),d(o,null,n(W.value,e=>(t(),d(`tr`,{key:e.key,class:`status-definition-row`},[l(`th`,N,[l(`span`,{class:`label-token status-token`,"data-status":e.key},s(e.label),9,P)]),l(`td`,{"data-label":c(a)(`about.statuses.descriptionHeader`)},s(e.description),9,F),l(`td`,{"data-label":c(a)(`about.statuses.entryCondition`)},[l(`strong`,null,s(e.rule),1)],8,I)]))),128))])]),l(`div`,L,[l(`p`,null,s(c(a)(`about.statuses.usageBoundary`)),1),l(`p`,null,s(c(a)(`about.statuses.resetBoundary`)),1)])])]),l(`section`,R,[l(`div`,null,[l(`span`,null,s(c(a)(`about.example.title`)),1),l(`strong`,null,s(c(a)(`about.example.item`)),1)]),l(`div`,z,[l(`span`,B,s(c(a)(`about.example.profile`)),1),l(`span`,V,s(c(a)(`about.example.origin`)),1),l(`span`,H,s(c(a)(`about.example.status`)),1)]),l(`p`,null,s(c(a)(`about.example.description`)),1)]),l(`p`,U,s(c(a)(`about.allFilter`)),1)])],8,m))}}),[[`__scopeId`,`data-v-234eb38f`]]),G={class:`open-source-credits`,"aria-labelledby":`credits-title`},K={class:`credits-heading`},q={id:`credits-title`},J={class:`credit-list`},Y=[`href`],X={class:`credit-role`},te={class:`credit-name`},Z={class:`credit-source-note`},Q={class:`fuli-finale`},ne={class:`finale-logo-plate`},re=[`src`],ie={class:`finale-brand`},ae={class:`finale-site-link`,"data-testid":`about-website-link`,href:`https://xn--8ovp9s.xn--m8txu.com/fuli/`,target:`_blank`,rel:`noreferrer`},oe=f(u({__name:`OpenSourceCredits`,setup(e){let r=i(()=>[{name:`Vue.js`,role:a(`about.credits.roles.vue`),url:`https://vuejs.org/`},{name:`Vite`,role:a(`about.credits.roles.vite`),url:`https://vite.dev/`},{name:`Pinia`,role:a(`about.credits.roles.pinia`),url:`https://pinia.vuejs.org/`},{name:`D3.js`,role:a(`about.credits.roles.d3`),url:`https://d3js.org/`},{name:`Vitest`,role:a(`about.credits.roles.vitest`),url:`https://vitest.dev/`},{name:`Hono`,role:a(`about.credits.roles.hono`),url:`https://hono.dev/`},{name:`Neo4j`,role:a(`about.credits.roles.neo4j`),url:`https://neo4j.com/`},{name:`Zod`,role:a(`about.credits.roles.zod`),url:`https://zod.dev/`},{name:`FastAPI`,role:a(`about.credits.roles.fastapi`),url:`https://fastapi.tiangolo.com/`},{name:`Graphiti`,role:a(`about.credits.roles.graphiti`),url:`https://github.com/getzep/graphiti`},{name:`Model Context Protocol`,role:a(`about.credits.roles.mcp`),url:`https://modelcontextprotocol.io/`}]);return(e,i)=>(t(),d(`section`,G,[l(`header`,K,[i[0]||=l(`span`,{class:`credits-index`,"aria-hidden":`true`},`03`,-1),l(`div`,null,[l(`h2`,q,s(c(a)(`about.credits.title`)),1),l(`p`,null,s(c(a)(`about.credits.description`)),1)])]),l(`ul`,J,[(t(!0),d(o,null,n(r.value,e=>(t(),d(`li`,{key:e.name,class:`credit-item`},[l(`a`,{class:`credit-row`,href:e.url,target:`_blank`,rel:`noreferrer`},[l(`span`,X,s(e.role),1),l(`span`,te,[l(`strong`,null,s(e.name),1),i[1]||=l(`span`,{class:`credit-arrow`,"aria-hidden":`true`},`↗`,-1)])],8,Y)]))),128))]),l(`p`,Z,s(c(a)(`about.credits.sourceNote`)),1),l(`footer`,Q,[l(`span`,ne,[l(`img`,{src:c(p),alt:``,"aria-hidden":`true`},null,8,re)]),l(`div`,ie,[l(`strong`,null,s(c(a)(`common.brand`)),1),i[2]||=l(`span`,null,`Context Graph`,-1)]),l(`p`,null,s(c(a)(`about.credits.finale`)),1),l(`a`,ae,s(c(a)(`about.credits.website`)),1)])]))}}),[[`__scopeId`,`data-v-6191d078`]]),se={class:`product-principles`,"aria-labelledby":`principles-title`},ce={class:`principles-heading`},le={id:`principles-title`},ue={class:`principle-sequence`},de={class:`principle-boundaries`},fe=[`data-boundary`],pe=f(u({__name:`ProductPrinciples`,setup(e){let r=i(()=>[{key:`capture`,index:a(`about.philosophy.capture.index`),title:a(`about.philosophy.capture.title`),description:a(`about.philosophy.capture.description`)},{key:`project`,index:a(`about.philosophy.project.index`),title:a(`about.philosophy.project.title`),description:a(`about.philosophy.project.description`)},{key:`review`,index:a(`about.philosophy.review.index`),title:a(`about.philosophy.review.title`),description:a(`about.philosophy.review.description`)},{key:`reuse`,index:a(`about.philosophy.reuse.index`),title:a(`about.philosophy.reuse.title`),description:a(`about.philosophy.reuse.description`)}]),u=i(()=>[{key:`local`,title:a(`about.philosophy.local.title`),description:a(`about.philosophy.local.description`)},{key:`authority`,title:a(`about.philosophy.authority.title`),description:a(`about.philosophy.authority.description`)},{key:`scope`,title:a(`about.philosophy.scope.title`),description:a(`about.philosophy.scope.description`)}]);return(e,i)=>(t(),d(`section`,se,[l(`header`,ce,[i[0]||=l(`span`,{class:`principles-index`,"aria-hidden":`true`},`01`,-1),l(`div`,null,[l(`h2`,le,s(c(a)(`about.philosophy.sectionTitle`)),1),l(`p`,null,s(c(a)(`about.philosophy.support`)),1)])]),l(`div`,ue,[(t(!0),d(o,null,n(r.value,e=>(t(),d(`article`,{key:e.key},[l(`span`,null,s(e.index),1),l(`div`,null,[l(`h3`,null,s(e.title),1),l(`p`,null,s(e.description),1)])]))),128))]),l(`div`,de,[l(`h3`,null,s(c(a)(`about.philosophy.boundariesTitle`)),1),l(`div`,null,[(t(!0),d(o,null,n(u.value,e=>(t(),d(`article`,{key:e.key},[l(`i`,{"data-boundary":e.key,"aria-hidden":`true`},null,8,fe),l(`h4`,null,s(e.title),1),l(`p`,null,s(e.description),1)]))),128))])])]))}}),[[`__scopeId`,`data-v-6089df60`]]),me=[`aria-label`],he={class:`about-content`},ge={class:`about-opening`},_e={class:`about-brand-lockup`},ve={class:`about-logo-plate`},ye=[`src`],be={class:`about-brand-name`},$={class:`about-opening-claim`},xe={class:`about-opening-copy`},Se={class:`about-labels-section`,"aria-labelledby":`about-labels-title`},Ce={class:`about-section-heading`},we={id:`about-labels-title`},Te=f(u({__name:`AboutPage`,setup(n){return(n,r)=>(t(),d(`section`,{class:`view about-view`,"aria-label":c(a)(`about.aria`)},[l(`div`,he,[l(`header`,ge,[l(`div`,_e,[l(`span`,ve,[l(`img`,{"data-testid":`about-opening-logo`,src:c(p),alt:``,"aria-hidden":`true`},null,8,ye)]),l(`span`,be,s(c(a)(`common.brand`)),1)]),l(`p`,$,s(c(a)(`about.philosophy.title`)),1),l(`p`,xe,s(c(a)(`about.philosophy.intro`)),1)]),e(pe),l(`section`,Se,[l(`header`,Ce,[r[0]||=l(`span`,{class:`about-section-index`,"aria-hidden":`true`},`02`,-1),l(`div`,null,[l(`h2`,we,s(c(a)(`about.labelsIntro.title`)),1),l(`p`,null,s(c(a)(`about.labelsIntro.description`)),1)])]),e(W)]),e(oe)])],8,me))}}),[[`__scopeId`,`data-v-a41cabd8`]]);export{Te as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.label-dimension-strip[data-v-234eb38f]{border-block:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.label-dimension-strip article[data-v-234eb38f]{grid-template-columns:22px minmax(0,1fr);gap:11px;min-width:0;padding:16px 18px;display:grid}.label-dimension-strip article+article[data-v-234eb38f]{border-left:1px solid var(--color-border)}.label-dimension-strip i[data-v-234eb38f]{border:1px solid var(--color-border-strong);border-radius:6px;width:22px;height:22px;position:relative}.label-dimension-strip i[data-v-234eb38f]:before,.label-dimension-strip i[data-v-234eb38f]:after{content:"";position:absolute}.label-dimension-strip [data-dimension=profile] i[data-v-234eb38f]:before{border:1.5px solid var(--color-muted);border-radius:50%;inset:5px}.label-dimension-strip [data-dimension=profile] i[data-v-234eb38f]:after{background:var(--color-danger);border-radius:50%;width:4px;height:4px;top:2px;right:2px}.label-dimension-strip [data-dimension=origin] i[data-v-234eb38f]:before{border-right:1px solid var(--color-muted);border-bottom:1px solid var(--color-muted);inset:4px}.label-dimension-strip [data-dimension=origin] i[data-v-234eb38f]:after{background:var(--color-muted);border-radius:50%;width:5px;height:5px;top:4px;right:4px}.label-dimension-strip [data-dimension=confirmation] i[data-v-234eb38f]:before{border-left:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);width:11px;height:6px;top:5px;left:5px;transform:rotate(-45deg)}.label-dimension-strip dl[data-v-234eb38f],.label-dimension-strip dt[data-v-234eb38f],.label-dimension-strip dd[data-v-234eb38f]{margin:0}.label-dimension-strip dt[data-v-234eb38f]{color:var(--color-ink);font-size:12px;font-weight:680}.label-dimension-strip dd[data-v-234eb38f]{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.45}.label-dimension-strip small[data-v-234eb38f]{color:var(--color-muted);margin-top:5px;font-size:12px;line-height:1.4;display:block}.label-guide-sheet[data-v-234eb38f]{gap:42px;margin-top:40px;display:grid}.label-guide-section[data-v-234eb38f]{border-top:1px solid var(--color-border);grid-template-columns:148px minmax(0,1fr);gap:26px;padding-top:28px;display:grid}.label-guide-section>header[data-v-234eb38f]{grid-template-columns:26px minmax(0,1fr);align-content:start;gap:9px;display:grid}.label-guide-section>header>span[data-v-234eb38f]{color:var(--about-gold);letter-spacing:.06em;font-size:12px;font-weight:650}.label-guide-section h3[data-v-234eb38f]{color:var(--color-ink);margin:0;font-size:15px;font-weight:650}.label-guide-section header p[data-v-234eb38f]{color:var(--color-muted);margin-top:5px;font-size:12px;line-height:1.45}.label-definition-list[data-v-234eb38f]{margin:0;display:grid}.label-definition-row[data-v-234eb38f]{grid-template-columns:116px minmax(0,1fr);align-items:start;gap:16px;padding:13px 0;display:grid}.label-definition-row+.label-definition-row[data-v-234eb38f]{border-top:1px solid var(--color-border)}.label-definition-row dt[data-v-234eb38f],.label-definition-row dd[data-v-234eb38f]{margin:0}.label-token[data-v-234eb38f]{border:1px solid var(--color-border);width:max-content;max-width:100%;color:var(--color-ink);background:var(--color-surface-subtle);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:680;line-height:1;display:inline-flex}.label-token[data-v-234eb38f]:before{content:"";opacity:.8;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.profile-token[data-kind=taste][data-v-234eb38f]{color:var(--color-danger);background:var(--color-danger-soft)}.profile-token[data-kind=personality][data-v-234eb38f]{color:var(--color-accent);background:var(--color-accent-soft)}.profile-token[data-kind=judgment][data-v-234eb38f]{color:var(--color-warning);background:var(--color-warning-soft)}.origin-token[data-v-234eb38f]{color:var(--color-ink)}.status-token[data-status=pending][data-v-234eb38f]{color:var(--color-warning);background:var(--color-warning-soft)}.status-token[data-status=agent-confirmed][data-v-234eb38f],.status-token[data-status=confirmed][data-v-234eb38f]{color:var(--color-success);background:var(--color-success-soft)}.label-definition-row strong[data-v-234eb38f]{color:var(--color-ink);font-size:13px;font-weight:650}.label-definition-row p[data-v-234eb38f]{color:var(--color-muted);margin-top:5px;font-size:12px;line-height:1.6}.quadrant-explainer[data-v-234eb38f]{grid-template-rows:auto 28px auto;grid-template-columns:36px minmax(0,1fr);display:grid}.quadrant-y-axis[data-v-234eb38f]{color:var(--color-muted);flex-direction:column;grid-row:1;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px;display:flex}.quadrant-y-axis strong[data-v-234eb38f]{color:var(--color-muted);letter-spacing:.08em;text-orientation:upright;writing-mode:vertical-rl;font-size:12px;font-weight:650}.quadrant-grid[data-v-234eb38f]{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.quadrant-grid article[data-v-234eb38f]{background:0 0;min-height:108px;padding:13px 15px}.quadrant-grid article[data-v-234eb38f]:nth-child(2n){border-left:1px solid var(--color-border)}.quadrant-grid article[data-v-234eb38f]:nth-child(n+3){border-top:1px solid var(--color-border)}.quadrant-grid span[data-v-234eb38f]{color:var(--color-muted);font-size:12px}.quadrant-grid strong[data-v-234eb38f]{color:var(--color-ink);margin-top:6px;font-size:13px;font-weight:650;display:block}.quadrant-grid p[data-v-234eb38f]{max-width:340px;color:var(--color-muted);margin-top:5px;font-size:12px;line-height:1.5}.quadrant-x-axis[data-v-234eb38f]{color:var(--color-muted);grid-area:2/2;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:12px;display:grid}.quadrant-x-axis span[data-v-234eb38f]:last-child{text-align:right}.quadrant-x-axis strong[data-v-234eb38f]{color:var(--color-muted);letter-spacing:.08em;font-size:12px;font-weight:650}.quadrant-notes[data-v-234eb38f]{flex-wrap:wrap;grid-area:3/2;gap:6px 20px;padding-top:8px;display:flex}.quadrant-notes p[data-v-234eb38f],.status-boundaries p[data-v-234eb38f]{color:var(--color-muted);font-size:12px;line-height:1.5}.status-table-wrap[data-v-234eb38f]{min-width:0}.status-definition-table[data-v-234eb38f]{border-collapse:collapse;width:100%}.status-definition-table th[data-v-234eb38f],.status-definition-table td[data-v-234eb38f]{border-bottom:1px solid var(--color-border);color:var(--color-muted);text-align:left;vertical-align:top;padding:13px 12px;font-size:12px;line-height:1.55}.status-definition-table thead th[data-v-234eb38f]{color:var(--color-muted);padding-top:0;font-size:12px;font-weight:650}.status-definition-table tbody th[data-v-234eb38f]{padding-left:0}.status-definition-table tbody td[data-v-234eb38f]:last-child{padding-right:0}.status-definition-table td strong[data-v-234eb38f]{color:var(--color-ink);font-size:12px;font-weight:620}.status-boundaries[data-v-234eb38f]{flex-wrap:wrap;gap:6px 20px;padding-top:12px;display:flex}.label-example[data-v-234eb38f]{border-top:1px solid var(--color-border);grid-template-columns:minmax(180px,.8fr) auto minmax(200px,1fr);align-items:center;gap:18px;padding:20px 0 0;display:grid}.label-example>div[data-v-234eb38f]:first-child{gap:4px;display:grid}.label-example>div:first-child span[data-v-234eb38f]{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.label-example>div:first-child strong[data-v-234eb38f]{color:var(--color-ink);font-size:12px;font-weight:620}.label-example-tags[data-v-234eb38f]{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.label-example>p[data-v-234eb38f]{color:var(--color-muted);font-size:12px;line-height:1.5}.label-all-note[data-v-234eb38f]{color:var(--color-muted);margin:0;font-size:12px;line-height:1.5}@media (width<=720px){.label-dimension-strip[data-v-234eb38f]{grid-template-columns:1fr}.label-dimension-strip article+article[data-v-234eb38f]{border-top:1px solid var(--color-border);border-left:0}.label-guide-sheet[data-v-234eb38f]{gap:34px;margin-top:32px}.label-guide-section[data-v-234eb38f]{grid-template-columns:1fr;gap:16px}.status-definition-table thead[data-v-234eb38f]{display:none}.status-definition-table[data-v-234eb38f],.status-definition-table tbody[data-v-234eb38f],.status-definition-table tr[data-v-234eb38f],.status-definition-table th[data-v-234eb38f],.status-definition-table td[data-v-234eb38f]{display:block}.status-definition-table tbody tr[data-v-234eb38f]{padding:15px 0}.status-definition-table tbody tr+tr[data-v-234eb38f]{border-top:1px solid var(--color-border)}.status-definition-table tbody th[data-v-234eb38f],.status-definition-table tbody td[data-v-234eb38f]{border:0;padding:0}.status-definition-table tbody td[data-v-234eb38f]{margin-top:9px}.status-definition-table tbody td[data-v-234eb38f]:before{color:var(--color-muted);content:attr(data-label);margin-bottom:2px;font-size:12px;font-weight:650;display:block}.label-example[data-v-234eb38f]{grid-template-columns:1fr;gap:12px}.label-example-tags[data-v-234eb38f]{justify-content:flex-start}}.open-source-credits[data-v-6191d078]{min-width:0}.credits-heading[data-v-6191d078]{border-bottom:1px solid var(--color-border);grid-template-columns:32px minmax(0,1fr);align-items:start;gap:16px;padding-bottom:30px;display:grid}.credits-index[data-v-6191d078]{color:var(--about-gold);letter-spacing:.08em;padding-top:6px;font-size:12px;font-weight:650}.credits-heading h2[data-v-6191d078]{color:var(--color-ink);letter-spacing:-.03em;margin:0;font-size:clamp(22px,3vw,30px);font-weight:650;line-height:1.2}.credits-heading p[data-v-6191d078]{color:var(--color-muted);margin-top:10px;font-size:14px;line-height:1.65}.credit-list[data-v-6191d078]{border-top:1px solid var(--color-border);margin:2px 0 0;padding:0;list-style:none;display:grid}.credit-item[data-v-6191d078]{display:block}.credit-row[data-v-6191d078]{border-bottom:1px solid var(--color-border);color:inherit;transition:color var(--motion-fast), background-color var(--motion-fast);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:20px;padding:16px 0;text-decoration:none;display:grid}.credit-row[data-v-6191d078]:hover{color:var(--color-accent-hover);background:var(--color-surface)}.credit-row[data-v-6191d078]:focus-visible{z-index:1;outline:2px solid var(--color-accent);outline-offset:3px;position:relative}.credit-role[data-v-6191d078]{color:var(--color-muted);font-size:12px;line-height:1.45}.credit-name[data-v-6191d078]{min-width:0;color:var(--color-ink);text-align:right;justify-content:flex-end;align-items:center;gap:8px;font-size:15px;font-weight:650;display:flex}.credit-name strong[data-v-6191d078]{overflow-wrap:anywhere;min-width:0}.credit-arrow[data-v-6191d078]{color:var(--about-gold);flex:none;font-size:16px;font-weight:400}.credit-source-note[data-v-6191d078]{color:var(--color-muted);margin-top:18px;font-size:12px;line-height:1.55}.fuli-finale[data-v-6191d078]{border-top:1px solid var(--color-border);text-align:center;justify-items:center;gap:16px;margin-top:88px;padding-top:72px;display:grid}.finale-logo-plate[data-v-6191d078]{background:var(--about-logo-surface);border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.finale-logo-plate img[data-v-6191d078]{object-fit:contain;width:50px;height:50px}.finale-brand[data-v-6191d078]{gap:4px;display:grid}.finale-brand strong[data-v-6191d078]{color:var(--color-ink);letter-spacing:-.03em;font-size:24px;font-weight:650}.finale-brand span[data-v-6191d078]{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.fuli-finale>p[data-v-6191d078]{max-width:420px;color:var(--color-muted);font-size:14px;line-height:1.65}.finale-site-link[data-v-6191d078]{border-bottom:1px solid var(--color-accent);color:var(--color-accent);margin-top:4px;padding-bottom:4px;font-size:13px;text-decoration:none}.finale-site-link[data-v-6191d078]:hover{border-color:var(--color-accent-hover);color:var(--color-accent-hover)}.finale-site-link[data-v-6191d078]:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}@media (width<=680px){.credits-heading[data-v-6191d078]{gap:12px}.credit-row[data-v-6191d078]{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:15px 0}.credit-name[data-v-6191d078]{font-size:14px}.fuli-finale[data-v-6191d078]{margin-top:64px;padding-top:56px}}.product-principles[data-v-6089df60]{min-width:0}.principles-heading[data-v-6089df60]{border-bottom:1px solid var(--color-border);grid-template-columns:32px minmax(0,1fr);align-items:start;gap:16px;padding-bottom:30px;display:grid}.principles-index[data-v-6089df60]{color:var(--about-gold);letter-spacing:.08em;padding-top:6px;font-size:12px;font-weight:650}.principles-heading h2[data-v-6089df60]{color:var(--color-ink);letter-spacing:-.03em;margin:0;font-size:clamp(22px,3vw,30px);font-weight:650;line-height:1.2}.principles-heading p[data-v-6089df60]{max-width:680px;color:var(--color-muted);margin-top:10px;font-size:14px;line-height:1.7}.principle-sequence[data-v-6089df60]{display:grid}.principle-sequence article[data-v-6089df60]{border-bottom:1px solid var(--color-border);grid-template-columns:34px minmax(0,1fr);align-content:start;gap:16px;padding:22px 0;display:grid}.principle-sequence article>span[data-v-6089df60]{color:var(--about-gold);letter-spacing:.06em;padding-top:3px;font-size:12px;font-weight:650}.principle-sequence h3[data-v-6089df60],.principle-boundaries h4[data-v-6089df60]{color:var(--color-ink);margin:0;font-size:15px;font-weight:680}.principle-sequence p[data-v-6089df60],.principle-boundaries p[data-v-6089df60]{color:var(--color-muted);margin-top:9px;font-size:13px;line-height:1.7}.principle-boundaries[data-v-6089df60]{padding-top:30px}.principle-boundaries>h3[data-v-6089df60]{color:var(--color-ink);margin:0;font-size:14px;font-weight:650}.principle-boundaries>div[data-v-6089df60]{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;display:grid}.principle-boundaries article[data-v-6089df60]{min-width:0;padding:0 20px}.principle-boundaries article[data-v-6089df60]:first-child{padding-left:0}.principle-boundaries article[data-v-6089df60]:last-child{padding-right:0}.principle-boundaries article+article[data-v-6089df60]{border-left:1px solid var(--color-border)}.principle-boundaries i[data-v-6089df60]{border:1.5px solid var(--color-muted);border-radius:50%;width:8px;height:8px;margin-bottom:12px;display:inline-block}.principle-boundaries i[data-boundary=authority][data-v-6089df60]{border-radius:2px}.principle-boundaries i[data-boundary=scope][data-v-6089df60]{border-radius:1px;transform:rotate(45deg)}@media (width<=680px){.principles-heading[data-v-6089df60]{gap:12px}.principle-sequence article[data-v-6089df60]{gap:12px;padding:20px 0}.principle-boundaries>div[data-v-6089df60]{grid-template-columns:1fr;gap:20px}.principle-boundaries article[data-v-6089df60]{padding:0}.principle-boundaries article+article[data-v-6089df60]{border-top:1px solid var(--color-border);border-left:0;padding-top:20px}}.about-view[data-v-a41cabd8]{--color-bg:#111923;--color-surface:#182330;--color-surface-subtle:#202d3d;--color-surface-hover:#25364a;--color-ink:#f3f6fb;--color-muted:#a9b6c8;--color-border:#3d4b5e;--color-border-strong:#61728a;--color-control-border:#778ba7;--color-accent:#91b8ff;--color-accent-hover:#b8d1ff;--color-accent-soft:#203d67;--color-success:#7ed5a5;--color-success-soft:#1c3b2d;--color-warning:#f2c476;--color-warning-soft:#41331e;--color-danger:#f2aaa5;--color-danger-soft:#42282c;--color-on-accent:#11203a;--about-logo-surface:#f7f3e8;--about-gold:#e2bd72;min-height:0;color:var(--color-ink);background:var(--color-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:auto;padding:clamp(40px,6vw,72px) 28px 96px}.about-content[data-v-a41cabd8]{gap:72px;width:min(760px,100%);margin:0 auto;display:grid}.about-opening[data-v-a41cabd8]{border-bottom:1px solid var(--color-border);text-align:center;justify-items:center;gap:20px;padding:8px 0 56px;display:grid}.about-brand-lockup[data-v-a41cabd8]{justify-items:center;gap:11px;display:grid}.about-logo-plate[data-v-a41cabd8]{background:var(--about-logo-surface);border-radius:50%;place-items:center;width:68px;height:68px;display:grid}.about-logo-plate img[data-v-a41cabd8]{object-fit:contain;width:48px;height:48px}.about-brand-name[data-v-a41cabd8]{color:var(--about-gold);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700}.about-opening-claim[data-v-a41cabd8]{max-width:660px;color:var(--color-ink);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(26px,4.2vw,36px);font-weight:650;line-height:1.18}.about-opening-copy[data-v-a41cabd8]{max-width:620px;color:var(--color-muted);font-size:15px;line-height:1.8}.about-labels-section[data-v-a41cabd8]{gap:32px;display:grid}.about-section-heading[data-v-a41cabd8]{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:16px;display:grid}.about-section-index[data-v-a41cabd8]{color:var(--about-gold);letter-spacing:.08em;padding-top:6px;font-size:12px;font-weight:650}.about-section-heading h2[data-v-a41cabd8]{color:var(--color-ink);letter-spacing:-.03em;margin:0;font-size:clamp(22px,3vw,30px);font-weight:650;line-height:1.2}.about-section-heading p[data-v-a41cabd8]{max-width:680px;color:var(--color-muted);margin-top:10px;font-size:14px;line-height:1.65}@media (width<=680px){.about-view[data-v-a41cabd8]{padding:32px 20px 64px}.about-content[data-v-a41cabd8]{gap:56px}.about-opening[data-v-a41cabd8]{padding-bottom:44px}.about-section-heading[data-v-a41cabd8]{gap:12px}.about-opening-copy[data-v-a41cabd8]{font-size:14px}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{M as e,P as t,R as n,S as r,V as i,X as a,a as o,b as s,c,d as l,h as u,it as d,m as f,n as ee,tt as p,u as te,v as m,w as h,x as g,y as _}from"./i18n-D2CJkEYK.js";import{t as v}from"./GrowthLoading-KTjE2e50.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{a as b,i as x}from"./client-B2cRl-7c.js";var ne={key:0},re=[`value`],ie={class:`conversation-hint`},ae={key:2,role:`alert`},oe={key:3,class:`conversation-list`},se=[`aria-pressed`,`disabled`,`onClick`],ce=[`datetime`],le=[`data-copy-continuation`,`onClick`],ue={key:1,"data-continuation-feedback":``},de={key:0,role:`status`,class:`conversation-hint`},fe={role:`alert`,class:`conversation-hint`},pe=[`aria-label`,`value`],me={key:2,class:`conversation-messages`},S={key:0,class:`conversation-hint`},he={key:2,role:`alert`},ge=[`onClick`],_e=[`onClick`],ve={key:4,class:`conversation-hint`},ye={key:4},be=[`disabled`],xe={class:`capture-toggle`},Se={class:`conversation-hint`},Ce={class:`quiet-button`,type:`submit`},we={key:1},Te={key:2,role:`alert`},Ee={key:3,role:`status`},C=y(h({__name:`AgentConversations`,props:{personalSpaceId:{},agentId:{},projects:{}},setup(h){let y=h,C=a(``),w=a(!1),T=a(!1),E=a([]),D=a(!1),O=a(``),k=a(``),A=a([]),j=a(!1),M=a(``),N=a(),P=a(!1),F=a(!1),I=a(!1),L=a(``),R=a(!1),z=a(!1),B=a(7),V=a(2e3),H=a(!0),U=a(),W=0,G=0,K=0,q=0;function J(){return{personalSpaceId:y.personalSpaceId,personalProjectId:C.value,agentId:y.agentId}}function Y(e){return e instanceof Error?e.message:o(`projectAgents.conversations.loadFailed`)}n(()=>[y.agentId,y.personalSpaceId,y.projects.map(e=>e.id).join(`
|
|
2
|
+
`)],()=>{let e=y.projects.some(e=>e.id===C.value)?C.value:y.projects[0]?.id??``;e===C.value?X():C.value=e},{immediate:!0}),n(C,()=>void X());async function X(){let e=++W;if(++G,++K,++q,E.value=[],A.value=[],k.value=``,O.value=``,M.value=``,U.value=void 0,F.value=!1,I.value=!1,L.value=``,z.value=!1,R.value=!1,D.value=!1,j.value=!1,P.value=!1,!(!w.value||!C.value)){D.value=!0,T.value&&$();try{let t=await x(`/api/agent-conversations/query`,{...J(),mode:`list`,limit:20});e===W&&(E.value=t.conversations)}catch(t){e===W&&(O.value=Y(t))}finally{e===W&&(D.value=!1)}}}function De(e){let t=e.target.open;t!==w.value&&(w.value=t,t?X():(++W,++G,++K,++q,U.value=void 0,T.value=!1))}async function Z(e,t=!1){if(j.value||!C.value)return;let n=++G;k.value=e,M.value=``,j.value=!0,t||(A.value=[],N.value=void 0,P.value=!1);try{let r=await x(`/api/agent-conversations/query`,{...J(),mode:`events`,conversationId:e,limit:20,...t&&N.value!==void 0?{after:N.value}:{}});if(n!==G)return;A.value=t?[...A.value,...r.events]:r.events,N.value=r.next_cursor,P.value=r.has_more===!0&&r.next_cursor!==void 0}catch(e){n===G&&(M.value=Y(e))}finally{n===G&&(j.value=!1)}}function Oe(e){T.value=e.target.open,T.value&&!F.value&&!I.value&&w.value&&$()}function Q(e){B.value=e.idle_days,V.value=e.context_budget,H.value=e.enabled}async function $(){let e=++K;I.value=!0,L.value=``,z.value=!1;try{let t=await x(`/api/agent-conversations/query`,{...J(),mode:`policy`});e===K&&(Q(t),F.value=!0)}catch(t){e===K&&(L.value=Y(t))}finally{e===K&&(I.value=!1)}}async function ke(){if(R.value||!F.value)return;if(z.value=!1,L.value=``,!Number.isInteger(B.value)||B.value<1||B.value>365||!Number.isInteger(V.value)||V.value<512||V.value>16e3){L.value=o(`projectAgents.conversations.invalidPolicy`);return}let e=K;R.value=!0;try{let t=await b(`/api/agent-conversations/policy`,{...J(),idleDays:B.value,contextBudget:V.value,enabled:H.value});e===K&&(Q(t),z.value=!0)}catch(t){e===K&&(L.value=Y(t))}finally{e===K&&(R.value=!1)}}function Ae(e){let t=new Date(e);return Number.isNaN(t.getTime())?o(`projectAgents.notReported`):new Intl.DateTimeFormat(ee(),{dateStyle:`short`,timeStyle:`short`}).format(t)}function je(e){return[`user`,`assistant`,`tool`].includes(e)?o(`projectAgents.conversations.${e}`):e}function Me(e){return typeof e==`string`?e:JSON.stringify(e,null,2)}async function Ne(e){let t=e.continuation_prompt;if(!t)return;let n=++q,r=C.value;U.value=void 0;try{let i=globalThis.navigator?.clipboard;if(!i?.writeText)throw Error(`Clipboard unavailable`);await i.writeText(t),n===q&&r===C.value&&(U.value={conversationId:e.id,state:`copied`})}catch{n===q&&r===C.value&&(U.value={conversationId:e.id,state:`fallback`})}}function Pe(e){e.target.select()}return(n,a)=>(e(),g(`details`,{class:`agent-conversations`,onToggle:De},[m(`summary`,null,d(p(o)(`projectAgents.conversations.title`)),1),w.value?(e(),g(u,{key:0},[h.projects.length?(e(),g(`label`,ne,[r(d(p(o)(`projectAgents.fields.project`))+` `,1),i(m(`select`,{"onUpdate:modelValue":a[0]||=e=>C.value=e},[(e(!0),g(u,null,t(h.projects,t=>(e(),g(`option`,{key:t.id,value:t.id},d(t.name),9,re))),128))],512),[[te,C.value]])])):s(``,!0),m(`p`,ie,d(p(o)(`projectAgents.conversations.hint`)),1),D.value?(e(),_(v,{key:1,variant:`compact`,label:p(o)(`projectAgents.conversations.loading`)},null,8,[`label`])):O.value?(e(),g(`div`,ae,[m(`p`,null,d(O.value),1),m(`button`,{"data-retry-list":``,class:`quiet-button`,type:`button`,onClick:X},d(p(o)(`projectAgents.retry`)),1)])):E.value.length?(e(),g(`ol`,oe,[(e(!0),g(u,null,t(E.value,n=>(e(),g(`li`,{key:n.id},[m(`button`,{"data-read-conversation":``,class:`conversation-link`,type:`button`,"aria-pressed":k.value===n.id,disabled:j.value,onClick:e=>Z(n.id)},[m(`strong`,null,d(n.summary||p(o)(`projectAgents.conversations.untitled`)),1),m(`span`,null,[r(d(n.archived?p(o)(`projectAgents.conversations.archived`):p(o)(`projectAgents.conversations.recent`))+` · `,1),m(`time`,{datetime:n.last_activity},d(Ae(n.last_activity)),9,ce)])],8,se),n.continuation_prompt?(e(),g(`button`,{key:0,"data-copy-continuation":n.id,class:`quiet-button continuation-copy`,type:`button`,onClick:e=>Ne(n)},d(p(o)(`projectAgents.conversations.copyContinuation`)),9,le)):s(``,!0),U.value?.conversationId===n.id?(e(),g(`div`,ue,[U.value.state===`copied`?(e(),g(`p`,de,d(p(o)(`projectAgents.conversations.copiedContinuation`)),1)):(e(),g(u,{key:1},[m(`p`,fe,d(p(o)(`projectAgents.conversations.copyContinuationFailed`)),1),m(`textarea`,{"data-continuation-fallback":``,readonly:``,rows:`3`,"aria-label":p(o)(`projectAgents.conversations.manualContinuation`),value:n.continuation_prompt,onFocus:Pe},null,40,pe)],64))])):s(``,!0),k.value===n.id?(e(),g(`div`,me,[n.raw_retained?(e(),g(`p`,S,d(p(o)(`projectAgents.conversations.rawRetained`)),1)):s(``,!0),m(`ol`,null,[(e(!0),g(u,null,t(A.value,t=>(e(),g(`li`,{key:t.sequence},[m(`strong`,null,d(je(t.role)),1),m(`pre`,null,d(Me(t.content)),1)]))),128))]),j.value?(e(),_(v,{key:1,variant:`compact`,label:p(o)(`projectAgents.conversations.loadingMessages`)},null,8,[`label`])):M.value?(e(),g(`div`,he,[m(`p`,null,d(M.value),1),m(`button`,{class:`quiet-button`,type:`button`,onClick:e=>Z(n.id,A.value.length>0)},d(p(o)(`projectAgents.retry`)),9,ge)])):P.value?(e(),g(`button`,{key:3,"data-more-messages":``,class:`quiet-button`,type:`button`,onClick:e=>Z(n.id,!0)},d(p(o)(`projectAgents.conversations.more`)),9,_e)):A.value.length?s(``,!0):(e(),g(`p`,ve,d(p(o)(`projectAgents.conversations.noMessages`)),1))])):s(``,!0)]))),128))])):(e(),g(`p`,ye,d(p(o)(`projectAgents.conversations.empty`)),1)),C.value?(e(),g(`details`,{key:5,"data-memory-settings":``,onToggle:f(Oe,[`stop`])},[m(`summary`,null,d(p(o)(`projectAgents.conversations.settings`)),1),I.value?(e(),_(v,{key:0,variant:`compact`,label:p(o)(`projectAgents.conversations.loadingPolicy`)},null,8,[`label`])):s(``,!0),F.value?(e(),g(`form`,{key:1,onSubmit:f(ke,[`prevent`])},[m(`fieldset`,{disabled:R.value},[m(`label`,xe,[i(m(`input`,{"onUpdate:modelValue":a[1]||=e=>H.value=e,type:`checkbox`},null,512),[[c,H.value]]),r(d(p(o)(`projectAgents.conversations.capture`)),1)]),m(`label`,null,[r(d(p(o)(`projectAgents.conversations.idleDays`)),1),i(m(`input`,{"onUpdate:modelValue":a[2]||=e=>B.value=e,name:`idleDays`,type:`number`,min:`1`,max:`365`,required:``},null,512),[[l,B.value,void 0,{number:!0}]])]),m(`label`,null,[r(d(p(o)(`projectAgents.conversations.budget`)),1),i(m(`input`,{"onUpdate:modelValue":a[3]||=e=>V.value=e,name:`contextBudget`,type:`number`,min:`512`,max:`16000`,required:``},null,512),[[l,V.value,void 0,{number:!0}]])]),m(`p`,Se,d(p(o)(`projectAgents.conversations.budgetHint`)),1),m(`button`,Ce,[R.value?(e(),_(v,{key:0,variant:`inline`,label:p(o)(`projectAgents.conversations.saving`)},null,8,[`label`])):(e(),g(`span`,we,d(p(o)(`projectAgents.conversations.save`)),1))])],8,be)],32)):s(``,!0),L.value?(e(),g(`div`,Te,[m(`p`,null,d(L.value),1),F.value?s(``,!0):(e(),g(`button`,{key:0,class:`quiet-button`,type:`button`,onClick:$},d(p(o)(`projectAgents.retry`)),1))])):s(``,!0),z.value?(e(),g(`p`,Ee,d(p(o)(`projectAgents.conversations.saved`)),1)):s(``,!0)],32)):s(``,!0)],64)):s(``,!0)],32))}}),[[`__scopeId`,`data-v-69104d19`]]);export{C as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.agent-conversations[data-v-69104d19]{color:var(--color-ink);margin-block:20px;font-size:14px}summary[data-v-69104d19]{cursor:pointer;padding-block:12px;font-weight:650}summary[data-v-69104d19]:focus-visible,button[data-v-69104d19]:focus-visible,input[data-v-69104d19]:focus-visible,select[data-v-69104d19]:focus-visible,textarea[data-v-69104d19]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}label[data-v-69104d19]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}select[data-v-69104d19],input[type=number][data-v-69104d19]{border:1px solid var(--color-border-strong);max-width:100%;font:inherit;color:inherit;background:var(--color-surface);border-radius:6px;padding:8px}input[type=number][data-v-69104d19]{width:100px}input[type=checkbox][data-v-69104d19]{width:18px;height:18px}fieldset[data-v-69104d19]{border:0;gap:16px;min-width:0;margin:0;padding:8px 0;display:grid}fieldset button[data-v-69104d19]{justify-self:start}.conversation-hint[data-v-69104d19]{color:var(--color-muted);margin-block:12px;line-height:1.65}ol[data-v-69104d19]{margin:0;padding:0;list-style:none}.conversation-list>li[data-v-69104d19]{border-bottom:1px solid var(--color-border)}.continuation-copy[data-v-69104d19]{margin-bottom:12px}.conversation-link[data-v-69104d19]{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;gap:6px;padding:14px 0;display:grid}.conversation-link:hover strong[data-v-69104d19]{text-underline-offset:3px;text-decoration:underline}.conversation-link[aria-pressed=true] strong[data-v-69104d19]{color:var(--color-ink)}.conversation-link span[data-v-69104d19]{color:var(--color-muted);font-size:12px}.conversation-link strong[data-v-69104d19]{overflow-wrap:anywhere}.conversation-messages[data-v-69104d19]{padding-bottom:16px}.conversation-messages li[data-v-69104d19]{padding-block:12px}pre[data-v-69104d19]{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:320px;margin-block:8px;line-height:1.65;overflow:auto}textarea[data-v-69104d19]{box-sizing:border-box;width:100%;font:inherit;color:inherit;resize:vertical;background:#fff;border:1px solid #a8b7ad;border-radius:6px;padding:8px}button[data-v-69104d19]:disabled{cursor:wait;opacity:.65}@media (width<=640px){.agent-conversations[data-v-69104d19]{font-size:16px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.agent-hand[data-v-5bcf651a]{border-radius:var(--radius-control);background:var(--color-accent-soft);min-height:28px;color:var(--color-accent);font:inherit;vertical-align:middle;border:0;flex:none;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:650;display:inline-flex}button.agent-hand[data-v-5bcf651a]{cursor:pointer}button.agent-hand[data-v-5bcf651a]:hover{background:var(--color-accent);color:var(--color-on-accent)}@media (pointer:coarse){button.agent-hand[data-v-5bcf651a]{min-width:44px;min-height:44px}}.agent-hand svg[data-v-5bcf651a]{width:15px;height:15px}.agent-hand[data-v-5bcf651a]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,I as t,M as n,_ as r,a as i,b as a,it as o,tt as s,v as c,w as l,x as u,y as d}from"./i18n-D2CJkEYK.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as p}from"./attention-store-Dk-_P4Oi.js";var m={jefa:`/assets/jefa-avatar-Dew42td5.webp`,bole:`/assets/bole-avatar-CVIr-bU_.webp`};function h(e){return m[e]}var g={key:0,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},_={"aria-hidden":`true`},v=f(l({__name:`AgentHand`,props:{agentId:{},passive:{type:Boolean},countOnly:{type:Boolean}},setup(l){let f=l,m=p(),h=r(()=>f.agentId?m.counts[f.agentId]??0:m.total);function v(e){f.passive||(e.preventDefault(),e.stopPropagation(),m.show(f.agentId))}return(r,f)=>h.value?(n(),d(t(l.passive?`span`:`button`),{key:0,type:l.passive?void 0:`button`,class:`agent-hand`,"aria-label":s(i)(`attention.count`,{count:h.value}),title:s(i)(`attention.count`,{count:h.value}),onClick:v},{default:e(()=>[l.countOnly?a(``,!0):(n(),u(`svg`,g,[...f[0]||=[c(`path`,{d:`M8 13V5a1.5 1.5 0 0 1 3 0v6-8a1.5 1.5 0 0 1 3 0v8-6a1.5 1.5 0 0 1 3 0v7-3a1.5 1.5 0 0 1 3 0v6c0 4-2 7-6 7h-1c-3 0-4-1-6-4l-3-4a1.6 1.6 0 0 1 2.5-2z`},null,-1)]])),c(`span`,_,o(h.value),1)]),_:1},8,[`type`,`aria-label`,`title`])):a(``,!0)}}),[[`__scopeId`,`data-v-5bcf651a`]]);export{h as n,v as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.agent-name-link[data-v-4c868995]{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);text-underline-offset:4px;overflow-wrap:anywhere;font-weight:650}.agent-name-link[data-v-4c868995]:hover{color:var(--color-accent);text-decoration-color:currentColor}.agent-name-link[data-v-4c868995]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,M as t,S as n,it as r,tt as i,w as a,y as o}from"./i18n-D2CJkEYK.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as c}from"./vue-router-DkaTtPn0.js";import{n as l}from"./profile-model-BQO4zNs9.js";var u=s(a({__name:`AgentName`,props:{spaceId:{},agentId:{},name:{}},setup(a){return(s,u)=>(t(),o(i(c),{class:`agent-name-link`,to:i(l)(a.spaceId,a.agentId)},{default:e(()=>[n(r(a.name),1)]),_:1},8,[`to`]))}}),[[`__scopeId`,`data-v-4c868995`]]);export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,C as t,M as n,P as r,R as i,S as a,V as o,X as s,_ as c,a as l,b as u,d as ee,f as d,h as f,it as p,j as te,k as m,m as h,nt as g,tt as _,u as v,v as y,w as b,x,y as S}from"./i18n-D2CJkEYK.js";import{t as C}from"./console-BtPqo79j.js";import{t as w}from"./GrowthLoading-KTjE2e50.js";import{m as T}from"./useApi-CROJJdhE-BtFMXFjw.js";import{t as E}from"./vue-router-DkaTtPn0.js";import{a as D,n as O}from"./client-B2cRl-7c.js";import{a as k}from"./catalog-DN72452f.js";import{a as A,r as j,t as M}from"./profile-model-BQO4zNs9.js";import{t as ne}from"./UiDisclosure-CWlC91Zt.js";import{n as N}from"./paths-CDREouhi.js";import{t as P}from"./AgentName-Dtmu9Ff5.js";import{t as re}from"./AgentConversations-DOuZgUeA.js";import{d as ie,i as ae,m as oe,r as se,t as ce,v as le,w as ue}from"./agent-work-summary-LeW-Al_S.js";import{t as de}from"./useAgentRoster-BAPKWZ9y.js";/* empty css */var F={key:1,class:`agent-locked-platforms`},I={key:2},fe=[`disabled`],L={value:``},R=[`value`],pe=[`value`],z=[`disabled`,`placeholder`],B=[`onUpdate:modelValue`,`disabled`],V={key:3,role:`alert`},H={key:4,role:`status`},U=[`disabled`],me=b({__name:`AgentProfileSettings`,props:{agent:{}},emits:[`saved`],setup(e,{emit:t}){let d=e,te=t,m=s([]),g=s(!1),b=s(!1),C=s(``),T=s(!1),E=``,k=s(``),A=s(``),j=s({judgment:``,taste:``,personality:``}),M=c(()=>d.agent.profile.executorPolicy?.mode===`locked`),ne=c(()=>{let e=d.agent.profile.executorPolicy;return(e?.lockedExecutorIds?.length?e.lockedExecutorIds:(e?.allowList??[]).map(e=>e.executorId)).map(e=>m.value.find(t=>t.executorId===e)?.displayName||e)}),N=c(()=>m.value.filter(e=>e.registrationStatus===`registered`&&e.permissionStatus===`authorized`&&e.preflightStatus===`passed`&&e.workspacePermission&&e.healthStatus!==`unhealthy`&&(!e.healthRequired||e.healthStatus===`healthy`))),P=0;i(()=>`${d.agent.personalSpaceId}/${d.agent.agentId}`,async()=>{let e=d.agent,t=++P;A.value=e.profile.expectations??``,j.value={judgment:``,taste:``,personality:``,...e.profile.character},k.value=e.profile.executorPolicy?.preferredExecutorIds?.[0]??``,E=k.value,C.value=``,T.value=!1,b.value=!1,g.value=!0,m.value=[];try{let n=await O(`/api/executors?${new URLSearchParams({personalSpaceId:e.personalSpaceId})}`);t===P&&(m.value=Array.isArray(n)?n:n.executors)}catch{t===P&&(C.value=l(`agentProfiles.platformUnavailable`))}finally{t===P&&(g.value=!1)}},{immediate:!0});async function re(){if(b.value)return;let e=P,t=d.agent;b.value=!0,C.value=``,T.value=!1;let n=t.profile.executorPolicy;try{let r=await D(`/api/project-agents`,{personalSpaceId:t.personalSpaceId,personalProjectId:t.personalProjectId??null,agentId:t.agentId,profile:{...t.profile,character:{...j.value},expectations:A.value,executorPolicy:M.value||k.value===E?n:{...n,mode:`flexible`,preferredExecutorIds:k.value?[k.value]:[]}}});e===P&&(E=k.value,te(`saved`,r),T.value=!0)}catch(t){e===P&&(C.value=t instanceof Error?t.message:l(`agentProfiles.saveError`))}finally{e===P&&(b.value=!1)}}return(e,t)=>(n(),x(`form`,{class:`agent-simple-settings`,onSubmit:h(re,[`prevent`])},[y(`h3`,null,p(_(l)(`agentProfiles.settings`)),1),g.value?(n(),S(w,{key:0,variant:`compact`,label:_(l)(`agentProfiles.settingsLoading`)},null,8,[`label`])):M.value?(n(),x(`div`,F,[y(`h4`,null,p(_(l)(`agentProfiles.platform`)),1),y(`p`,null,p(ne.value.join(` · `)||_(l)(`agentProfiles.platformUnavailable`)),1),y(`small`,null,p(_(l)(`agentProfiles.locked`)),1)])):(n(),x(`label`,I,[a(p(_(l)(`agentProfiles.platform`)),1),o(y(`select`,{"onUpdate:modelValue":t[0]||=e=>k.value=e,disabled:M.value||b.value},[y(`option`,L,p(_(l)(`agentProfiles.automatic`)),1),k.value&&!N.value.some(e=>e.executorId===k.value)?(n(),x(`option`,{key:0,value:k.value,disabled:``},p(_(l)(`agentProfiles.platformUnavailable`)),9,R)):u(``,!0),(n(!0),x(f,null,r(N.value,e=>(n(),x(`option`,{key:e.executorId,value:e.executorId},p(e.displayName||e.executorId),9,pe))),128))],8,fe),[[v,k.value]]),y(`small`,null,p(_(l)(M.value?`agentProfiles.locked`:`agentProfiles.platformHint`)),1)])),y(`label`,null,[a(p(_(l)(`agentProfiles.expectations`)),1),o(y(`textarea`,{"onUpdate:modelValue":t[1]||=e=>A.value=e,rows:`3`,maxlength:`4096`,disabled:b.value,placeholder:_(l)(`agentProfiles.expectationsPlaceholder`)},null,8,z),[[ee,A.value]])]),y(`details`,null,[y(`summary`,null,p(_(l)(`agentProfiles.editCharacter`)),1),(n(),x(f,null,r([`judgment`,`taste`,`personality`],e=>y(`label`,{key:e},[a(p(_(l)(`agentProfiles.${e}`)),1),o(y(`textarea`,{"onUpdate:modelValue":t=>j.value[e]=t,rows:`2`,maxlength:`2048`,disabled:b.value},null,8,B),[[ee,j.value[e]]])])),64))]),C.value?(n(),x(`p`,V,p(C.value),1)):u(``,!0),T.value?(n(),x(`p`,H,p(_(l)(`agentProfiles.saved`)),1)):u(``,!0),y(`button`,{class:`primary-button`,disabled:b.value||g.value,type:`submit`},[b.value?(n(),S(w,{key:0,variant:`inline`,label:_(l)(`agentProfiles.saving`)},null,8,[`label`])):(n(),x(f,{key:1},[a(p(_(l)(`agentProfiles.save`)),1)],64))],8,U)],32))}}),he=[`aria-label`],ge={key:1,class:`ui-card ui-empty agent-profile-empty`,role:`alert`},_e={key:2,class:`ui-card ui-empty agent-profile-empty`},ve={class:`ui-card agent-resume-header`},ye={class:`agent-portrait`,"aria-hidden":`true`},be={class:`agent-resume-intro`},xe={class:`agent-resume-name-row`},Se={class:`agent-resume-meta`},Ce={class:`agent-profile-actions`},we=[`aria-expanded`],Te={key:1,class:`agent-profile-refresh-status`,role:`status`},Ee=[`aria-label`],De=[`id`,`aria-selected`,`aria-controls`,`tabindex`,`onClick`,`onKeydown`],Oe={key:4,class:`agent-profile-partial`,role:`status`},ke=[`aria-hidden`],Ae={class:`agent-profile-primary-grid`},je={class:`ui-card agent-resume-section agent-current-work-section`},Me={class:`agent-section-heading`},Ne={key:0},Pe={key:0,class:`agent-current-work-list`},Fe={class:`ui-badge`},Ie={key:1,class:`agent-muted`},Le={key:2,class:`agent-muted`},Re={class:`ui-card agent-resume-section agent-projects-section`},ze={class:`agent-section-heading`},Be={class:`agent-resume-list agent-current-project-list`},Ve={key:0,class:`agent-project-responsibility`},He={class:`agent-resume-list`},Ue={key:0,class:`agent-project-responsibility`},We={key:1,class:`agent-muted`},Ge=[`aria-hidden`],Ke={class:`ui-card agent-resume-section`},qe={key:0,class:`ui-disclosure`,open:``},Je={class:`agent-resume-list`},Ye={key:1,class:`agent-muted`},Xe={class:`ui-card agent-resume-section`},Ze={class:`agent-muted`},Qe={class:`agent-work-timeline`},$e={class:`agent-section-heading`},et={key:0},tt={key:0},nt={key:0},rt={key:0,class:`agent-muted`},it=[`aria-hidden`],at={class:`ui-card agent-resume-section`},ot={class:`agent-character`},st={key:0,class:`agent-expectation`},ct={class:`agent-strengths`},lt={class:`agent-inline-skills`},ut={key:0},dt=[`aria-hidden`],ft={class:`ui-card agent-resume-section`},pt={class:`agent-section-heading`},mt={key:0,role:`status`},ht={key:0,class:`agent-org-lead`},gt={key:1,class:`agent-org-members`},_t={key:2,class:`agent-muted`},vt={key:0,class:`agent-muted`},yt={class:`ui-card agent-resume-section`},bt={class:`agent-collaborators`},xt={key:0,class:`agent-muted`},St=[`aria-hidden`],Ct={class:`ui-card agent-resume-section`},wt=[`aria-hidden`],Tt={class:`ui-card agent-resume-section agent-management-card`},Et={class:`agent-muted`},Dt={class:`agent-profile-management-links`},Ot={class:`agent-profile-footer`},W=b({__name:`AgentProfilePage`,setup(ee){let h=T(),v=C(),b=c(()=>v.activePersonalSpace?.id??``),{agents:D,loading:F,error:I,load:fe}=de(b),L=c(()=>h.params.spaceId===b.value?D.value.find(e=>e.personalSpaceId===b.value&&(e.agentId===h.params.agentId||e.legacyAgentIds?.includes(String(h.params.agentId)))):void 0),R=c(()=>(v.state?.personalProjects??[]).filter(e=>e.personal_space_id===b.value)),pe=c(()=>R.value.map(e=>({id:e.project_id,name:e.profile.name}))),z=e=>R.value.find(t=>t.project_id===e)?.profile.name||e,B=e=>{let t=D.value.find(t=>t.agentId===e);return t?M(t):e},V=s([]),H=s(void 0),U=s([]),W=s(!1),G=s(!1),K=s(!1),q=s(`overview`),J=c(()=>{let e=[{id:`overview`,label:l(`agentProfiles.working`)},{id:`history`,label:l(`agentProfiles.experience`)},{id:`style`,label:l(`agentProfiles.about`)},{id:`collaborators`,label:l(`agentProfiles.collaborators`)},{id:`management`,label:l(`agentProfiles.advanced`)}];return L.value?.memoryScope===`reviewed_agent`&&e.splice(4,0,{id:`conversations`,label:l(`projectAgents.conversations.title`)}),e}),kt=c(()=>L.value?j(L.value.agentId,V.value):[]),Y=c(()=>L.value?A({...L.value,assignments:H.value??L.value.assignments}):[]),At=c(()=>Y.value.slice(0,4)),jt=c(()=>Y.value.slice(4)),Mt=c(()=>(H.value??[]).filter(e=>e.status!==`active`)),X=c(()=>V.value.filter(e=>ae.has(e.status)).slice(0,6)),Z=c(()=>k.value.find(e=>e.agentId===L.value?.agentId)),Q=e=>e&&!Number.isNaN(Date.parse(e))?new Date(e).toLocaleDateString():l(`agentProfiles.timeUnknown`),$=e=>{let t=H.value?.find(t=>t.personalProjectId===e&&t.status===`active`)?.responsibility?.trim(),n=L.value?.profile.responsibility.trim();return t&&t!==n?t:``},Nt=c(()=>{let e=`agentRedesign.projects.more`,t=l(e,{count:Y.value.length});return t===e?`All projects (${Y.value.length})`:t}),Pt=0;i(()=>L.value?`${L.value.personalSpaceId}/${L.value.agentId}`:``,async()=>{let e=L.value,t=++Pt;if(V.value=[],H.value=void 0,U.value=[],G.value=!1,W.value=!1,K.value=!1,q.value=`overview`,!e)return;W.value=!0,H.value=e.assignments;let n=new URLSearchParams({personalSpaceId:e.personalSpaceId}),r=new URLSearchParams({personalSpaceId:e.personalSpaceId,agentId:e.agentId}),i=await Promise.allSettled([O(`/api/project-agent-tasks?${n}&limit=200`),O(`/api/project-agent-assignments?${r}`)]);if(t!==Pt)return;let[a,o]=i;if(a.status===`fulfilled`){let t=a.value,n=ue(t);G.value=!ce(t),V.value=ie(Array.isArray(t)?t:n.tasks??n.items).map(le).filter(t=>!!(t&&(!t.personalSpaceId||t.personalSpaceId===e.personalSpaceId)&&se(t,e.agentId))).sort((e,t)=>(t.updatedAt??t.createdAt??``).localeCompare(e.updatedAt??e.createdAt??``))}else G.value=!0;if(o.status===`fulfilled`){let t=o.value,n=ue(t);H.value=ie(Array.isArray(t)?t:n.assignments??n.items).map(t=>oe(t,e)).filter(t=>!!(t&&t.agentId===e.agentId&&t.personalSpaceId===e.personalSpaceId))}else G.value=!0;let s=A({...e,assignments:H.value??e.assignments}),c=await Promise.all(s.map(async t=>{try{return{projectId:t,policy:await O(`/api/project-agent-coordination-policy?${new URLSearchParams({personalSpaceId:e.personalSpaceId,personalProjectId:t})}`),error:!1}}catch{return{projectId:t,policy:null,error:!0}}}));t===Pt&&(U.value=c,W.value=!1)},{immediate:!0});function Ft(e){let t=D.value.findIndex(t=>t.agentId===e.agentId);t>=0&&(D.value[t]={...D.value[t],...e})}function It(e){q.value=e}function Lt(e,t){let n=e.key;if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(n))return;let r=e.currentTarget;e.preventDefault();let i=J.value.length,a=n===`Home`?0:n===`End`?i-1:(t+(n===`ArrowRight`?1:-1)+i)%i,o=J.value[a];o&&(It(o.id),m(()=>{let e=(r?.closest(`[role="tablist"]`))?.querySelectorAll(`[role="tab"]`)[a];e?.focus(),e?.scrollIntoView?.({block:`nearest`,inline:`nearest`})}))}return te(()=>{v.runtimeStatus===`idle`&&v.refresh()}),(i,s)=>(n(),x(`section`,{class:`view agent-profile-page`,"aria-label":_(l)(`agentProfiles.profile`)},[t(_(E),{class:`agent-profile-back`,to:`/project-agents`},{default:e(()=>[a(` ← `+p(_(l)(`agentProfiles.back`)),1)]),_:1}),(_(F)||_(v).runtimeStatus===`loading`)&&!L.value?(n(),S(w,{key:0,label:_(l)(`agentProfiles.loading`)},null,8,[`label`])):(_(I)||_(v).runtimeStatus===`error`)&&!L.value?(n(),x(`div`,ge,[y(`p`,null,p(_(I)||_(l)(`agentProfiles.loadError`)),1),y(`button`,{class:`quiet-button`,type:`button`,onClick:s[0]||=e=>_(v).state?_(fe)():_(v).refresh()},p(_(l)(`agentProfiles.retry`)),1)])):L.value?(n(),x(f,{key:3},[y(`header`,ve,[y(`span`,ye,p(L.value.profile.occupationEmoji||_(M)(L.value).slice(0,1)),1),y(`div`,be,[y(`div`,xe,[y(`h1`,null,p(_(M)(L.value)),1),y(`span`,{class:g([`ui-badge agent-profile-membership`,`is-${L.value.profile.status}`])},p(_(l)(`projectAgents.status.${L.value.profile.status}`)),3)]),y(`p`,null,p(L.value.profile.responsibility),1),y(`div`,Se,[y(`span`,null,p(_(l)(L.value.recruitedAt?`agentProfiles.joined`:`agentProfiles.created`))+` · `+p(Q(L.value.recruitedAt||L.value.createdAt)),1)])]),y(`div`,Ce,[Z.value?(n(),S(_(E),{key:0,class:`quiet-button`,to:`/employees/${encodeURIComponent(Z.value.id)}`},{default:e(()=>[a(p(_(l)(`agentProfiles.workbench`)),1)]),_:1},8,[`to`])):u(``,!0),y(`button`,{class:`quiet-button`,type:`button`,"aria-expanded":K.value,onClick:s[1]||=e=>K.value=!K.value},p(_(l)(`agentProfiles.settings`)),9,we),t(_(E),{class:`quiet-button`,to:{path:`/employees/bole`,query:{q:_(M)(L.value)}}},{default:e(()=>[a(p(_(l)(`agentProfiles.askHR`)),1)]),_:1},8,[`to`])])]),_(F)||_(v).runtimeStatus===`loading`?(n(),S(w,{key:0,variant:`compact`,label:_(l)(`agentProfiles.loading`)},null,8,[`label`])):u(``,!0),_(I)?(n(),x(`p`,Te,p(_(I)),1)):u(``,!0),K.value?(n(),S(me,{key:L.value.agentId,agent:L.value,onSaved:Ft},null,8,[`agent`])):u(``,!0),W.value?(n(),S(w,{key:3,variant:`compact`,label:_(l)(`agentProfiles.detailLoading`)},null,8,[`label`])):u(``,!0),y(`nav`,{class:`agent-profile-tabs`,role:`tablist`,"aria-label":_(l)(`agentProfiles.profile`)},[(n(!0),x(f,null,r(J.value,e=>(n(),x(`button`,{id:`agent-tab-${e.id}`,key:e.id,class:`agent-profile-tab`,type:`button`,role:`tab`,"aria-selected":q.value===e.id,"aria-controls":`agent-panel-${e.id}`,tabindex:q.value===e.id?0:-1,onClick:t=>It(e.id),onKeydown:t=>Lt(t,J.value.findIndex(t=>t.id===e.id))},p(e.label),41,De))),128))],8,Ee),G.value?(n(),x(`p`,Oe,p(_(l)(`agentProfiles.partial`)),1)):u(``,!0),o(y(`section`,{id:`agent-panel-overview`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-overview`,"aria-hidden":q.value!==`overview`,tabindex:`0`},[y(`div`,Ae,[y(`section`,je,[y(`div`,Me,[y(`h2`,null,p(_(l)(`agentProfiles.working`)),1),X.value.length?(n(),x(`span`,Ne,p(X.value.length),1)):u(``,!0)]),X.value.length?(n(),x(`ul`,Pe,[(n(!0),x(f,null,r(X.value,r=>(n(),x(`li`,{key:r.taskId},[t(_(E),{to:{path:`/project-agents/manage`,query:{agent:L.value.agentId,task:r.taskId}}},{default:e(()=>[a(p(r.title),1)]),_:2},1032,[`to`]),y(`span`,Fe,p(_(l)(`projectAgents.taskStatus.${r.status}`)),1)]))),128))])):!W.value&&!G.value?(n(),x(`p`,Ie,p(_(l)(`agentProfiles.idle`)),1)):W.value?u(``,!0):(n(),x(`p`,Le,p(_(l)(`agentProfiles.partial`)),1))]),y(`section`,Re,[y(`div`,ze,[y(`h2`,null,p(_(l)(`agentProfiles.projects`)),1),y(`span`,null,p(Y.value.length),1)]),y(`ul`,Be,[(n(!0),x(f,null,r(At.value,r=>(n(),x(`li`,{key:r,class:`agent-project-item`},[y(`h3`,null,[t(_(E),{class:`agent-project-link`,to:_(N)(b.value,`graph`,r)},{default:e(()=>[a(p(z(r)),1)]),_:2},1032,[`to`])]),$(r)?(n(),x(`p`,Ve,p($(r)),1)):u(``,!0)]))),128))]),jt.value.length?(n(),S(ne,{key:0,class:`agent-project-overflow`,title:Nt.value},{default:e(()=>[y(`ul`,He,[(n(!0),x(f,null,r(jt.value,r=>(n(),x(`li`,{key:r,class:`agent-project-item`},[y(`h3`,null,[t(_(E),{class:`agent-project-link`,to:_(N)(b.value,`graph`,r)},{default:e(()=>[a(p(z(r)),1)]),_:2},1032,[`to`])]),$(r)?(n(),x(`p`,Ue,p($(r)),1)):u(``,!0)]))),128))])]),_:1},8,[`title`])):u(``,!0),!W.value&&!Y.value.length?(n(),x(`p`,We,p(_(l)(`agentProfiles.noProject`)),1)):u(``,!0)])])],8,ke),[[d,q.value===`overview`]]),o(y(`section`,{id:`agent-panel-history`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-history`,"aria-hidden":q.value!==`history`,tabindex:`0`},[y(`section`,Ke,[y(`h2`,null,p(_(l)(`agentProfiles.projects`)),1),Mt.value.length?(n(),x(`details`,qe,[y(`summary`,null,p(_(l)(`agentProfiles.projectHistory`)),1),y(`ul`,Je,[(n(!0),x(f,null,r(Mt.value,r=>(n(),x(`li`,{key:r.assignmentId},[y(`h3`,null,[t(_(E),{class:`agent-project-link`,to:_(N)(b.value,`graph`,r.personalProjectId)},{default:e(()=>[a(p(z(r.personalProjectId)),1)]),_:2},1032,[`to`])]),y(`p`,null,p(r.responsibility),1),y(`small`,null,p(Q(r.assignedAt))+` – `+p(Q(r.endedAt)),1)]))),128))])])):W.value?u(``,!0):(n(),x(`p`,Ye,p(_(l)(`agentProfiles.noProject`)),1))]),y(`section`,Xe,[y(`h2`,null,p(_(l)(`agentProfiles.experience`)),1),y(`p`,Ze,p(_(l)(`agentProfiles.recent`)),1),y(`ol`,Qe,[(n(!0),x(f,null,r(V.value.slice(0,12),r=>(n(),x(`li`,{key:r.taskId},[y(`div`,$e,[t(_(E),{to:{path:`/project-agents/manage`,query:{agent:L.value.agentId,task:r.taskId}}},{default:e(()=>[a(p(r.title),1)]),_:2},1032,[`to`]),y(`span`,null,p(_(l)(`projectAgents.taskStatus.${r.status}`)),1)]),r.resultSummary?(n(),x(`p`,et,p(r.resultSummary),1)):u(``,!0),y(`small`,null,p(Q(r.completedAt||r.updatedAt||r.createdAt)),1)]))),128)),L.value.recruitedAt||L.value.recruitmentReason?(n(),x(`li`,tt,[y(`h3`,null,p(_(l)(`agentProfiles.recruitment`)),1),L.value.recruitmentReason?(n(),x(`p`,nt,p(L.value.recruitmentReason),1)):u(``,!0),y(`small`,null,p(Q(L.value.recruitedAt)),1)])):u(``,!0)]),!W.value&&!V.value.length&&!L.value.recruitmentReason&&!L.value.recruitedAt?(n(),x(`p`,rt,p(_(l)(`agentProfiles.noExperience`)),1)):u(``,!0)])],8,Ge),[[d,q.value===`history`]]),o(y(`section`,{id:`agent-panel-style`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-style`,"aria-hidden":q.value!==`style`,tabindex:`0`},[y(`section`,at,[y(`h2`,null,p(_(l)(`agentProfiles.about`)),1),y(`div`,ot,[(n(),x(f,null,r([`judgment`,`taste`,`personality`],e=>y(`div`,{key:e},[y(`h3`,null,p(_(l)(`agentProfiles.${e}`)),1),y(`p`,{class:g({"agent-muted":!L.value.profile.character?.[e]})},p(L.value.profile.character?.[e]||_(l)(`agentProfiles.characterEmpty`)),3)])),64))]),L.value.profile.expectations?(n(),x(`p`,st,[y(`strong`,null,p(_(l)(`agentProfiles.expectations`)),1),a(` `+p(L.value.profile.expectations),1)])):u(``,!0),y(`div`,ct,[y(`h3`,null,p(_(l)(`agentProfiles.strengths`)),1),y(`div`,lt,[(n(!0),x(f,null,r(L.value.profile.capabilities,e=>(n(),x(`span`,{key:e},p(e),1))),128)),L.value.profile.capabilities.length?u(``,!0):(n(),x(`span`,ut,p(_(l)(`agentProfiles.noSkills`)),1))])])])],8,it),[[d,q.value===`style`]]),o(y(`section`,{id:`agent-panel-collaborators`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-collaborators`,"aria-hidden":q.value!==`collaborators`,tabindex:`0`},[y(`section`,ft,[y(`div`,pt,[y(`h2`,null,p(_(l)(`agentProfiles.organization`)),1),t(_(E),{to:{path:`/employees/bole`,query:{q:_(M)(L.value)}}},{default:e(()=>[a(p(_(l)(`agentProfiles.hr`)),1)]),_:1},8,[`to`])]),(n(!0),x(f,null,r(U.value,e=>(n(),x(`div`,{key:e.projectId,class:`agent-organization`},[y(`h3`,null,p(z(e.projectId)),1),e.error?(n(),x(`p`,mt,p(_(l)(`agentProfiles.teamUnavailable`)),1)):e.policy?.teamLeadAgentId||e.policy?.teamMemberAgentIds?.length?(n(),x(f,{key:1},[e.policy.teamLeadAgentId?(n(),x(`div`,ht,[y(`span`,null,p(_(l)(`agentProfiles.lead`)),1),t(P,{"space-id":b.value,"agent-id":e.policy.teamLeadAgentId,name:B(e.policy.teamLeadAgentId)},null,8,[`space-id`,`agent-id`,`name`])])):u(``,!0),e.policy.teamMemberAgentIds?.length?(n(),x(`div`,gt,[y(`span`,null,p(_(l)(`agentProfiles.teammates`)),1),y(`ul`,null,[(n(!0),x(f,null,r([...new Set(e.policy.teamMemberAgentIds)].filter(t=>t!==e.policy?.teamLeadAgentId),e=>(n(),x(`li`,{key:e},[t(P,{"space-id":b.value,"agent-id":e,name:B(e)},null,8,[`space-id`,`agent-id`,`name`])]))),128))])])):u(``,!0)],64)):(n(),x(`p`,_t,p(_(l)(`agentProfiles.teamUnset`)),1))]))),128)),!W.value&&!U.value.length?(n(),x(`p`,vt,p(_(l)(`agentProfiles.noProject`)),1)):u(``,!0)]),y(`section`,yt,[y(`h2`,null,p(_(l)(`agentProfiles.collaborators`)),1),y(`ul`,bt,[(n(!0),x(f,null,r(kt.value,e=>(n(),x(`li`,{key:e.agentId},[t(P,{"space-id":b.value,"agent-id":e.agentId,name:B(e.agentId)},null,8,[`space-id`,`agent-id`,`name`]),y(`span`,null,p(_(l)(`agentProfiles.sharedTasks`,{count:e.count})),1)]))),128))]),!W.value&&!kt.value.length?(n(),x(`p`,xt,p(_(l)(`agentProfiles.noCollaborators`)),1)):u(``,!0)])],8,dt),[[d,q.value===`collaborators`]]),L.value.memoryScope===`reviewed_agent`?o((n(),x(`section`,{key:5,id:`agent-panel-conversations`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-conversations`,"aria-hidden":q.value!==`conversations`,tabindex:`0`},[y(`section`,Ct,[(n(),S(re,{key:L.value.agentId,"personal-space-id":b.value,"agent-id":L.value.agentId,projects:pe.value},null,8,[`personal-space-id`,`agent-id`,`projects`]))])],8,St)),[[d,q.value===`conversations`]]):u(``,!0),o(y(`section`,{id:`agent-panel-management`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-management`,"aria-hidden":q.value!==`management`,tabindex:`0`},[y(`section`,Tt,[y(`h2`,null,p(_(l)(`agentProfiles.advanced`)),1),y(`p`,Et,p(_(l)(`agentProfiles.locked`)),1),y(`div`,Dt,[Z.value?(n(),S(_(E),{key:0,class:`quiet-button`,to:`/employees/${encodeURIComponent(Z.value.id)}`},{default:e(()=>[a(p(_(l)(`agentProfiles.workbench`)),1)]),_:1},8,[`to`])):u(``,!0),t(_(E),{class:`quiet-button`,to:{path:`/project-agents/manage`,query:{agent:L.value.agentId}}},{default:e(()=>[a(p(_(l)(`agentProfiles.advanced`)),1)]),_:1},8,[`to`])])])],8,wt),[[d,q.value===`management`]]),y(`footer`,Ot,[Z.value?(n(),S(_(E),{key:0,to:`/employees/${encodeURIComponent(Z.value.id)}`},{default:e(()=>[a(p(_(l)(`agentProfiles.workbench`)),1)]),_:1},8,[`to`])):u(``,!0),t(_(E),{to:{path:`/project-agents/manage`,query:{agent:L.value.agentId}}},{default:e(()=>[a(p(_(l)(`agentProfiles.advanced`)),1)]),_:1},8,[`to`])])],64)):(n(),x(`p`,_e,p(_(l)(`agentProfiles.unavailable`)),1))],8,he))}});export{W as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,C as t,M as n,P as r,R as i,S as a,V as o,X as s,_ as c,a as l,b as u,d,f,h as p,it as m,j as h,nt as g,tt as _,u as v,v as y,w as b,x,y as S}from"./i18n-D2CJkEYK.js";import{t as C}from"./console-BtPqo79j.js";import{t as w}from"./GrowthLoading-KTjE2e50.js";import{h as T,m as E}from"./useApi-CROJJdhE-BtFMXFjw.js";import{t as D}from"./vue-router-DkaTtPn0.js";import{n as O}from"./client-B2cRl-7c.js";import{t as k}from"./AgentHand-eGsXoGSq.js";import{a as A,i as ee,n as j,t as M}from"./profile-model-BQO4zNs9.js";import{n as N,t as P}from"./agent-work-summary-LeW-Al_S.js";import{t as te}from"./useAgentRoster-BAPKWZ9y.js";/* empty css */import{t as ne}from"./ProjectAgentFirstTask-DJ0wTbh8.js";import{t as re}from"./ProjectScopePicker-BwB7gK-7.js";import{t as ie}from"./EmployeeRecruitDialog-D11blfwU.js";var F={class:`ui-card agent-card`},I={class:`agent-card-topline`},L={class:`agent-portrait small`,"aria-hidden":`true`},R={class:`agent-card-status-stack`},z=[`data-membership-status`],B=[`data-work-status`,`aria-label`],V={class:`agent-card-body`},H={class:`agent-directory-name`},U={class:`agent-card-responsibility`},W={key:0,class:`agent-inline-skills`},G={class:`agent-card-meta`},K={class:`agent-card-projects`},q={class:`agent-card-meta-label`},J={key:0,class:`agent-card-project-list`},Y={key:0,class:`ui-badge agent-card-project-count`},X={key:1,class:`agent-card-no-project`},ae=b({__name:`AgentCard`,props:{agent:{},spaceId:{},projectNames:{},workSummary:{},workState:{}},setup(i){let o=i,s=c(()=>M(o.agent)),d=c(()=>A(o.agent)),f=c(()=>d.value.slice(0,2).map(e=>o.projectNames?.[e]||e)),h=c(()=>Math.max(d.value.length-2,0)),v=c(()=>o.agent.profile.capabilities.slice(0,3)),b=c(()=>`is-${o.agent.profile.status}`),S=c(()=>l(`projectAgents.status.${o.agent.profile.status}`)),C=c(()=>o.workSummary?o.workSummary.status:o.workState===`loading`?`loading`:o.workState===`error`?`unavailable`:o.workState===`incomplete`?`unreported`:`none`),w=c(()=>`is-${C.value}`);function T(e,t,n){let r=l(e,n);return r===e?t:r}let E=c(()=>T(`agentRedesign.membershipStatus`,`Member · ${S.value}`,{status:S.value})),O=c(()=>{let e={awaiting_recruitment:`Awaiting recruitment`,queued:`Queued`,running:`Running`,paused:`Paused`,awaiting_review:`Awaiting review`,blocked:`Blocked`,none:l(`agentProfiles.idle`),loading:`Loading work status`,unreported:`Partial status`,unavailable:`Unavailable`}[C.value];return T(`agentRedesign.workStatus.${C.value}`,e??`Work status unavailable`)});return(o,c)=>(n(),x(`article`,F,[y(`div`,I,[y(`span`,L,m(i.agent.profile.occupationEmoji||s.value.slice(0,1)),1),y(`div`,R,[y(`span`,{class:g([`ui-badge agent-card-status agent-card-membership-status`,b.value]),"data-membership-status":i.agent.profile.status},m(E.value),11,z),y(`span`,{class:g([`ui-badge agent-card-work-status`,w.value]),"data-work-status":C.value,"aria-label":`${_(l)(`agentRedesign.workStatus.label`)} · ${O.value}`},m(O.value),11,B)])]),y(`div`,V,[y(`div`,H,[t(_(D),{to:_(j)(i.spaceId,i.agent.agentId),"aria-label":`${s.value} · ${_(l)(`agentProfiles.profile`)}`},{default:e(()=>[a(m(s.value),1)]),_:1},8,[`to`,`aria-label`]),t(k,{"agent-id":i.agent.agentId},null,8,[`agent-id`])]),y(`p`,U,m(i.agent.profile.responsibility),1),v.value.length?(n(),x(`div`,W,[(n(!0),x(p,null,r(v.value,e=>(n(),x(`span`,{key:e},m(e),1))),128))])):u(``,!0)]),y(`div`,G,[y(`div`,K,[y(`span`,q,m(_(l)(`agentProfiles.projects`)),1),f.value.length?(n(),x(`div`,J,[(n(!0),x(p,null,r(f.value,e=>(n(),x(`span`,{key:e,class:`ui-badge`},m(e),1))),128)),h.value?(n(),x(`span`,Y,` +`+m(h.value),1)):u(``,!0)])):(n(),x(`span`,X,m(_(l)(`agentProfiles.noProject`)),1))]),t(_(D),{class:`agent-directory-open quiet-button`,to:_(j)(i.spaceId,i.agent.agentId),"aria-label":`${s.value} · ${_(l)(`agentProfiles.profile`)}`},{default:e(()=>[a(m(_(l)(`agentProfiles.profile`))+` `,1),c[0]||=y(`span`,{"aria-hidden":`true`},`↗`,-1)]),_:1},8,[`to`,`aria-label`])])]))}});function oe(e){let t=s({}),n=s(!1),r=s(``),a=s(`idle`),o=new Map,c=0;async function u(){let i=++c,s=e.value;if(r.value=``,!s){t.value={},n.value=!1,a.value=`idle`;return}let u=o.get(s);u?t.value=u:Object.keys(t.value).length&&(t.value={}),n.value=!0,a.value=`loading`;try{let n=await O(`/api/project-agent-tasks?${new URLSearchParams({personalSpaceId:s,limit:`200`})}`);if(i!==c||e.value!==s)return;let r=N(n,s);o.set(s,r),t.value=r,a.value=P(n)?`ready`:`incomplete`}catch(t){if(i!==c||e.value!==s)return;r.value=t instanceof Error?t.message:l(`agentProfiles.loadError`),a.value=`error`}finally{i===c&&e.value===s&&(n.value=!1)}}return i(e,u,{immediate:!0}),{summaries:t,loading:n,error:r,state:a,load:u}}var se=[`aria-label`],ce={class:`ui-toolbar agents-directory-heading`},le={key:0,class:`agents-directory-count`},ue={key:1,class:`agents-directory-count`,"aria-hidden":`true`},de={class:`agent-profile-actions`},Z=[`disabled`],fe={key:1,class:`agent-directory-work-error`,role:`status`},pe={class:`ui-toolbar agents-directory-filters`},me={class:`agents-directory-search`},he={class:`sr-only`},ge=[`placeholder`],_e=[`aria-label`],ve={value:`all`},ye=[`value`],be={key:3,role:`alert`,class:`ui-card ui-empty agent-profile-empty`},xe={key:4,class:`ui-card ui-empty agent-profile-empty`},Se={key:5,class:`agents-directory-grid`},Q=b({__name:`AgentsDirectoryPage`,setup(g){let b=C(),O=E(),k=T(),N=c(()=>b.activePersonalSpace?.id??``),{agents:P,loading:F,error:I,load:L}=te(N),{summaries:R,loading:z,error:B,state:V,load:H}=oe(N),U=s(typeof O.query.q==`string`?O.query.q:``),W=s(`all`),G=s(typeof O.query.project==`string`?[O.query.project]:null),K=s(!1),q=c(()=>(b.state?.personalProjects??[]).filter(e=>e.personal_space_id===N.value)),J=c(()=>q.value.map(e=>({id:e.project_id,name:e.profile.name}))),Y=c(()=>Object.fromEntries(J.value.map(e=>[e.id,e.name]))),X=c({get:()=>G.value??J.value.map(e=>e.id),set:e=>{G.value=e.length===J.value.length?null:e}}),Q=c(()=>P.value.filter(e=>(W.value===`all`||e.profile.status===W.value)&&(G.value===null||A(e).some(e=>G.value.includes(e)))&&ee([M(e),e.profile.responsibility,...e.profile.capabilities,...A(e).map(e=>Y.value[e]||e)].join(` `),U.value)).sort((e,t)=>M(e).localeCompare(M(t)))),$=c(()=>F.value||z.value||b.runtimeStatus===`loading`),Ce=e=>R.value[e];h(()=>{b.runtimeStatus===`idle`&&b.refresh()}),i([N,()=>O.query.agent],([e,t])=>{if(e&&typeof t==`string`){let{agent:n,...r}=O.query;k.replace({path:typeof O.query.task==`string`?`/project-agents/manage`:j(e,t),query:typeof O.query.task==`string`?O.query:r})}},{immediate:!0}),i(N,(e,t)=>{t&&(U.value=``,G.value=null,W.value=`all`)});async function we(e){K.value=!1,await k.push(j(N.value,e.agent.agentId))}async function Te(){if(b.state){await Promise.allSettled([L(),H()]);return}await b.refresh(),await Promise.allSettled([L(),H()])}return(i,s)=>(n(),x(`section`,{class:`view agents-directory`,"aria-label":_(l)(`agentProfiles.title`)},[y(`header`,ce,[!$.value||_(P).length?(n(),x(`p`,le,m(_(l)(`agentProfiles.members`,{count:_(P).length})),1)):(n(),x(`span`,ue,`\xA0`)),y(`div`,de,[$.value&&_(P).length?(n(),S(w,{key:0,variant:`inline`,label:_(l)(`agentRedesign.refreshing`)},null,8,[`label`])):u(``,!0),t(_(D),{class:`quiet-button`,to:`/employees/bole`},{default:e(()=>[a(m(_(l)(`agentProfiles.hr`)),1)]),_:1}),y(`button`,{type:`button`,class:`primary-button`,disabled:!N.value,onClick:s[0]||=e=>K.value=!0},m(_(l)(`employees.recruit`)),9,Z)])]),!$.value&&!_(I)&&_(b).runtimeStatus===`ready`&&!q.value.length?(n(),S(ne,{key:0,"personal-space-id":N.value},null,8,[`personal-space-id`])):u(``,!0),_(B)?(n(),x(`p`,fe,[y(`span`,null,m(_(l)(`agentRedesign.workStatus.refreshError`)),1),y(`button`,{class:`quiet-button`,type:`button`,onClick:s[1]||=(...e)=>_(H)&&_(H)(...e)},m(_(l)(`agentProfiles.retry`)),1)])):u(``,!0),y(`div`,pe,[y(`label`,me,[y(`span`,he,m(_(l)(`agentProfiles.search`)),1),o(y(`input`,{"onUpdate:modelValue":s[2]||=e=>U.value=e,type:`search`,maxlength:`160`,placeholder:_(l)(`agentProfiles.search`)},null,8,ge),[[d,U.value]])]),t(re,{modelValue:X.value,"onUpdate:modelValue":s[3]||=e=>X.value=e,projects:J.value,label:_(l)(`employees.filterLabel`),"empty-label":_(l)(`employees.filterEmpty`),compact:``,hint:``},null,8,[`modelValue`,`projects`,`label`,`empty-label`]),o(y(`select`,{"onUpdate:modelValue":s[4]||=e=>W.value=e,"aria-label":_(l)(`projectAgents.fields.status`)},[y(`option`,ve,m(_(l)(`agentProfiles.allStatus`)),1),(n(),x(p,null,r([`active`,`inactive`,`archived`],e=>y(`option`,{key:e,value:e},m(_(l)(`projectAgents.status.${e}`)),9,ye)),64))],8,_e),[[v,W.value]])]),$.value&&!_(P).length?(n(),S(w,{key:2,label:_(l)(`agentProfiles.loading`)},null,8,[`label`])):u(``,!0),_(I)||_(b).runtimeStatus===`error`?o((n(),x(`div`,be,[y(`p`,null,m(_(I)||_(l)(`agentProfiles.loadError`)),1),y(`button`,{class:`quiet-button`,type:`button`,onClick:Te},m(_(l)(`agentProfiles.retry`)),1)],512)),[[f,!$.value||_(P).length===0]]):u(``,!0),!$.value&&!Q.value.length&&!_(I)&&_(b).runtimeStatus!==`error`?(n(),x(`p`,xe,m(_(l)(_(P).length?`agentProfiles.noMatch`:`agentProfiles.noAgents`)),1)):u(``,!0),Q.value.length?(n(),x(`ul`,Se,[(n(!0),x(p,null,r(Q.value,e=>(n(),x(`li`,{key:e.agentId},[t(ae,{agent:e,"space-id":N.value,"project-names":Y.value,"work-summary":Ce(e.agentId),"work-state":_(V)},null,8,[`agent`,`space-id`,`project-names`,`work-summary`,`work-state`])]))),128))])):u(``,!0),t(ie,{open:K.value,"personal-space-id":N.value,projects:q.value,"default-project-ids":G.value??[],onClose:s[5]||=e=>K.value=!1,onRecruited:we},null,8,[`open`,`personal-space-id`,`projects`,`default-project-ids`])],8,se))}});export{Q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.text-field[data-v-4956219b]{min-width:0;color:var(--color-muted);gap:5px;font-size:12px;display:grid}.text-field input[data-v-4956219b],.text-field textarea[data-v-4956219b]{width:100%;min-width:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,J as r,L as ee,M as i,O as a,P as o,R as te,S as s,V as c,X as l,_ as u,a as d,b as f,d as p,h as m,it as h,j as ne,k as g,m as _,n as re,nt as v,tt as y,v as b,w as x,x as S,y as C}from"./i18n-D2CJkEYK.js";import{t as ie}from"./console-BtPqo79j.js";import{t as w}from"./GrowthLoading-KTjE2e50.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as E,n as D,r as ae,t as O}from"./client-B2cRl-7c.js";import{t as k}from"./UiDisclosure-CWlC91Zt.js";import{t as A}from"./SearchableSelect-f7EHbyDL.js";import{r as oe,t as se}from"./identity-B3zEw-1u.js";var j=[`data-select-id`],M=[`aria-expanded`,`aria-controls`,`aria-label`,`aria-required`,`disabled`],N={class:`searchable-select-current`},P={class:`searchable-select-current-label`},F={key:0,class:`searchable-select-current-meta`},I=[`hidden`],L={key:0,class:`searchable-select-search`},R=[`placeholder`,`aria-label`],z=[`id`],B=[`aria-selected`,`disabled`,`onClick`],ce={class:`searchable-select-option-copy`},V={key:0},H={key:1,class:`searchable-select-empty`},le=x({__name:`SearchableMultiSelect`,props:{modelValue:{},options:{},label:{},controlId:{default:void 0},placeholder:{default:void 0},searchPlaceholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(t,{emit:n}){let r=t,a=n,s=l(null),x=l(null),C=l(null),ie=l(null),w=l(!1),T=l(!1),E=l(``),D=ee().replace(/[^A-Za-z0-9_-]/g,``),ae=u(()=>`${r.controlId||`searchable-multi-select-${D}`}-options`),O=u(()=>new Set(r.modelValue)),k=u(()=>r.options.filter(({value:e})=>O.value.has(e))),A=u(()=>k.value.length===0?r.placeholder??d(`common.searchableSelect.placeholder`):k.value.length===1?k.value[0].label:d(`common.searchableSelect.selectedCount`,{count:k.value.length})),oe=u(()=>r.searchPlaceholder??d(`common.searchableSelect.searchPlaceholder`)),se=u(()=>r.searchable??r.options.length>5),le=u(()=>{let e=re(),t=E.value.trim().toLocaleLowerCase(e);return t?r.options.filter(n=>[n.label,n.value,n.meta,n.search].filter(Boolean).join(` `).toLocaleLowerCase(e).includes(t)):r.options});te(()=>r.disabled,e=>{e&&G()}),ne(()=>document.addEventListener(`pointerdown`,pe)),e(()=>document.removeEventListener(`pointerdown`,pe));async function U(){w.value?G():await W()}async function W(){r.disabled||(E.value=``,ve(),w.value=!0,await g(),se.value?C.value?.focus():_e()?.focus())}function G({restoreFocus:e=!1}={}){w.value=!1,T.value=!1,E.value=``,e&&g(()=>x.value?.focus())}function K(e){if(r.disabled||e.disabled)return;let t=O.value.has(e.value)?r.modelValue.filter(t=>t!==e.value):[...r.modelValue,e.value];a(`update:modelValue`,t),a(`change`,t)}function ue(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),w.value&&[`Enter`,` `].includes(e.key)?G():W())}function de(e){if(e.key===`Escape`){e.preventDefault(),G({restoreFocus:!0});return}if(e.key===`ArrowDown`){e.preventDefault(),ge()?.focus();return}e.key===`Enter`&&(e.preventDefault(),ge()?.click())}function fe(e){if(e.key===`Escape`){e.preventDefault(),G({restoreFocus:!0});return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=he(),n=t.indexOf(e.currentTarget);t[e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?Math.min(t.length-1,n+1):Math.max(0,n-1)]?.focus()}function pe(e){w.value&&!s.value?.contains(e.target)&&G()}function me(e){let t=e.relatedTarget;t&&s.value?.contains(t)||queueMicrotask(()=>{w.value&&!s.value?.contains(document.activeElement)&&G()})}function he(){return[...ie.value?.querySelectorAll(`.searchable-select-option:not(:disabled)`)??[]]}function ge(){return he()[0]??null}function _e(){return he().find(e=>e.getAttribute(`aria-selected`)===`true`)??ge()}function ve(){let e=x.value?.getBoundingClientRect();T.value=!!(e&&window.innerHeight-e.bottom<270&&e.top>270)}return(e,n)=>(i(),S(`div`,{ref_key:`root`,ref:s,class:v([`searchable-select searchable-multi-select`,{open:w.value,"open-up":T.value,disabled:t.disabled}]),"data-select-id":t.controlId,onFocusout:me},[b(`button`,{ref_key:`trigger`,ref:x,type:`button`,class:`searchable-select-trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":w.value,"aria-controls":ae.value,"aria-label":t.label,"aria-required":t.required,disabled:t.disabled,onPointerdown:n[0]||=_(()=>{},[`stop`]),onClick:_(U,[`stop`]),onKeydown:ue},[b(`span`,N,[b(`span`,P,h(A.value),1),k.value.length>1?(i(),S(`small`,F,h(k.value.map(({label:e})=>e).join(` · `)),1)):f(``,!0)]),n[3]||=b(`i`,{class:`searchable-select-arrow`,"aria-hidden":`true`},null,-1)],40,M),b(`div`,{class:`searchable-select-panel`,hidden:!w.value},[se.value?(i(),S(`div`,L,[c(b(`input`,{ref_key:`searchInput`,ref:C,"onUpdate:modelValue":n[1]||=e=>E.value=e,type:`search`,autocomplete:`off`,placeholder:oe.value,"aria-label":y(d)(`common.searchableSelect.searchAria`,{label:t.label}),onKeydown:de},null,40,R),[[p,E.value]])])):f(``,!0),b(`div`,{id:ae.value,ref_key:`optionsList`,ref:ie,class:`searchable-select-options`,role:`listbox`,"aria-multiselectable":`true`},[(i(!0),S(m,null,o(le.value,e=>(i(),S(`button`,{key:e.value,type:`button`,class:`searchable-select-option`,role:`option`,"aria-selected":O.value.has(e.value),disabled:e.disabled,onMousedown:n[2]||=_(()=>{},[`prevent`]),onClick:t=>K(e),onKeydown:fe},[b(`span`,ce,[b(`strong`,null,h(e.label),1),e.meta?(i(),S(`small`,V,h(e.meta),1)):f(``,!0)]),n[4]||=b(`i`,{class:`searchable-select-check`,"aria-hidden":`true`},null,-1)],40,B))),128))],8,z),le.value.length===0?(i(),S(`p`,H,h(y(d)(`common.searchableSelect.noMatches`)),1)):f(``,!0)],8,I)],42,j))}}),U={class:`text-field`},W=[`id`,`value`,`name`,`placeholder`,`disabled`,`required`,`rows`],G=[`id`,`value`,`name`,`type`,`placeholder`,`disabled`,`required`],K=T(x({inheritAttrs:!1,__name:`TextField`,props:{modelValue:{},label:{},controlId:{default:void 0},type:{default:`text`},placeholder:{default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},multiline:{type:Boolean,default:!1},rows:{default:3},name:{default:void 0}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t;function r(e){n(`update:modelValue`,e.target.value)}return(t,n)=>(i(),S(`label`,U,[b(`span`,null,h(e.label),1),e.multiline?(i(),S(`textarea`,a({key:0},t.$attrs,{id:e.controlId,value:e.modelValue,name:e.name,placeholder:e.placeholder,disabled:e.disabled,required:e.required,rows:e.rows,onInput:r}),null,16,W)):(i(),S(`input`,a({key:1},t.$attrs,{id:e.controlId,value:e.modelValue,name:e.name,type:e.type,placeholder:e.placeholder,disabled:e.disabled,required:e.required,onInput:r}),null,16,G))]))}}),[[`__scopeId`,`data-v-4956219b`]]),ue={class:`view connections-view`},de=[`aria-label`],fe=[`data-status`],pe={class:`service-state`},me=[`data-status`],he={class:`connection-title-row`},ge={class:`service-state`},_e={class:`external-knowledge-section`},ve={class:`section-title section-title-with-help`},ye=[`href`,`aria-label`,`title`],be={class:`external-binding-count`},xe={class:`external-binding-list`},Se=[`data-status`],Ce={class:`external-binding-copy`},we={class:`external-binding-targets`},Te=[`data-status`],Ee={key:0},De={key:1},Oe={class:`external-binding-actions`},ke=[`disabled`,`onClick`],Ae=[`disabled`,`onClick`],je=[`disabled`,`onClick`],Me=[`disabled`,`onClick`],Ne={key:0,class:`external-binding-editor`},Pe={class:`external-target-mode-list`},Fe={class:`external-binding-editor-actions`},Ie=[`disabled`],Le=[`disabled`,`onClick`],Re={key:0,class:`compact-empty`},ze={class:`wide-field`},Be={class:`trusted-code-badge`},Ve=[`disabled`],He={class:`section-title section-title-with-help`},Ue=[`href`,`aria-label`,`title`],We={class:`conflict-policy-controls`},Ge={key:2,role:`alert`},Ke={key:1,class:`connection-subscriptions`},qe={class:`section-title`},Je={class:`subscription-list`},Ye=[`disabled`,`onClick`],Xe={key:0,class:`empty-state`},Ze=[`disabled`],Qe=x({__name:`ConnectionsPage`,setup(ee){let a=ie(),c=l(``),p=l(!1),g=l(``),v=l([]),x=l([]),T=l(!1),j=l(!1),M=l(``),N=l(null),P=l([]),F=l({}),I=l(``),L=l(`ask_human`),R=l(!1),z=l(!1),B=l(!1),ce=`ask_human`,V=0,H=null,U=r({name:``,connectorType:`mcp`,mode:`hybrid`,personalProjectIds:[],mcpTransport:`http`,mcpUrl:``,mcpCommand:``,mcpArgs:``,mcpTokenEnv:``,mcpResourcePrefix:``,notionTokenEnv:``,notionPageIds:``,notionDataSourceIds:``,feishuTokenEnv:``,feishuRegion:`cn`,feishuSpaceId:``,feishuRootNodeToken:``,feishuNodeTokens:``,feishuWebBaseUrl:``,retrievalUrl:``,retrievalTokenEnv:``,retrievalKnowledgeIds:``,retrievalScoreThreshold:`0.5`,customModule:``,customEnvironmentNames:``,customSourceJson:`{}`}),W=u(()=>a.state?.providers?.personal?.status===`ready`),G=u(()=>a.state?.providers?.workspaces??[]),Qe=u(()=>G.value.filter(({status:e})=>e===`ready`).length),$e=u(()=>{let e=a.state?.capabilities,t=[e?.browsePublicProjects?d(`pages.connections.publicCapability.discovery`):null,e?.subscribeProject?d(`pages.connections.publicCapability.subscription`):null,e?.publishProject?d(`pages.connections.publicCapability.publishing`):null,e?.submitKnowledge?d(`pages.connections.publicCapability.contribution`):null,e?.reviewProposals?d(`pages.connections.publicCapability.review`):null].filter(e=>!!e);return t.length?new Intl.ListFormat(re(),{style:`long`,type:`conjunction`}).format(t):d(`pages.connections.notAvailable`)}),et=u(()=>a.state?.subscriptions??[]),q=u(()=>a.state?.personalProjects??[]),tt=u(()=>It(`connect-external-knowledge`)),nt=u(()=>It(`external-knowledge-conflict-policy`)),rt=u(()=>new Set(et.value.map(({provider_url:e,project_id:t})=>`${e}::${t}`))),it=u(()=>(a.state?.projects??[]).filter(e=>!rt.value.has(ft(e)))),at=u(()=>it.value.map(e=>({value:ft(e),label:e.name,meta:`#${se(e.id,26)}`,search:oe(e.id)}))),ot=u(()=>v.value.map(e=>({value:e.type,label:e.name,meta:e.description}))),st=u(()=>q.value.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${se(e.project_id,26)}`,search:oe(e.project_id)}))),ct=u(()=>[{value:`hybrid`,label:d(`pages.connections.mode.hybrid`),disabled:!Y(U.connectorType,`hybrid`)},{value:`mirror`,label:d(`pages.connections.mode.mirror`),disabled:!Y(U.connectorType,`mirror`)},{value:`live`,label:d(`pages.connections.mode.live`),disabled:!Y(U.connectorType,`live`)}]),lt=u(()=>[{value:`http`,label:`Streamable HTTP`},{value:`stdio`,label:`stdio`}]),ut=u(()=>[{value:`cn`,label:`Feishu`},{value:`global`,label:`Lark`}]),dt=u(()=>[{value:`ask_human`,label:d(`pages.connections.askHuman`)},{value:`agent_decide`,label:d(`pages.connections.agentDecide`)}]);te(q,e=>{let t=new Set(e.map(({project_id:e})=>e)),n=e[0]?.project_id??``;U.personalProjectIds=U.personalProjectIds.filter(e=>t.has(e)),!U.personalProjectIds.length&&n&&(U.personalProjectIds=[n]),P.value=P.value.filter(e=>t.has(e)),t.has(I.value)||(I.value=n)},{immediate:!0}),te(()=>[a.activePersonalSpace?.id,I.value],()=>void Et(),{immediate:!0,flush:`sync`}),te(()=>U.connectorType,e=>{Y(e,U.mode)||(U.mode=kt(e))}),ne(()=>void J()),e(()=>{V+=1,H?.abort()});function ft(e){return`${e.providerUrl}::${e.id}`}async function pt(){let e=a.activePersonalSpace?.id,t=it.value.find(e=>ft(e)===c.value);if(!(!e||!t||p.value)){p.value=!0,g.value=`pages.connections.subscribing`;try{await E(`/api/subscriptions`,{personalSpaceId:e,projectId:t.id,providerUrl:t.providerUrl,projectName:t.name}),c.value=``,a.notify(d(`pages.connections.subscribed`,{name:t.name})),g.value=`pages.connections.loadingSubscriptions`,await a.refresh()}catch(e){a.reportError(e)}finally{p.value=!1}}}async function mt(e){let t=a.activePersonalSpace?.id;if(!(!t||p.value)){p.value=!0,g.value=`pages.connections.unsubscribing`;try{let n=new URLSearchParams({personalSpaceId:t,providerUrl:e.provider_url});await O(`/api/subscriptions/${encodeURIComponent(e.project_id)}?${n}`),a.notify(d(`pages.connections.unsubscribed`,{name:e.project_name??e.project_id})),g.value=`pages.connections.loadingSubscriptions`,await a.refresh()}catch(e){a.reportError(e)}finally{p.value=!1}}}async function J(){j.value=!0;try{let[e,t]=await Promise.all([D(`/api/external-knowledge/connectors`),D(`/api/external-knowledge/bindings`)]);v.value=e,x.value=t}catch(e){a.reportError(e)}finally{j.value=!1}}async function ht(){let e=a.activePersonalSpace?.id;if(!(!e||!U.personalProjectIds.length||T.value)){T.value=!0,M.value=`pages.connections.creatingBinding`;try{let{connectorConfig:t,source:n}=gt();await E(`/api/external-knowledge/bindings`,{name:U.name.trim(),connectorType:U.connectorType,connectorConfig:t,source:n,targets:U.personalProjectIds.map(t=>({personalSpaceId:e,personalProjectId:t,mode:U.mode}))}),a.notify(d(`pages.connections.externalCreated`,{name:U.name.trim()})),U.name=``,await J()}catch(e){a.reportError(e)}finally{T.value=!1}}}function gt(){if(U.connectorType===`notion`)return{connectorConfig:{tokenEnv:$(U.notionTokenEnv,`Notion token env`)},source:{pageIds:Z(U.notionPageIds),dataSourceIds:Z(U.notionDataSourceIds)}};if(U.connectorType===`feishu`)return{connectorConfig:{accessTokenEnv:$(U.feishuTokenEnv,`Feishu token env`),region:U.feishuRegion},source:Q({spaceId:U.feishuSpaceId.trim(),rootNodeToken:U.feishuRootNodeToken.trim(),nodeTokens:Z(U.feishuNodeTokens),webBaseUrl:U.feishuWebBaseUrl.trim()})};if(U.connectorType===`retrieval_api`){let e=Number(U.retrievalScoreThreshold);if(!Number.isFinite(e)||e<0||e>1)throw TypeError(d(`pages.connections.scoreThresholdInvalid`));return{connectorConfig:Q({url:$(U.retrievalUrl,`Retrieval API URL`),tokenEnv:U.retrievalTokenEnv.trim(),scoreThreshold:e}),source:{knowledgeIds:Ft(U.retrievalKnowledgeIds,`Knowledge IDs`)}}}if(U.connectorType===`custom`){let e=JSON.parse(U.customSourceJson);if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(d(`pages.connections.customSourceObject`));return{connectorConfig:{module:$(U.customModule,`Custom connector module`),environmentNames:Z(U.customEnvironmentNames)},source:e}}return{connectorConfig:U.mcpTransport===`stdio`?Q({transport:`stdio`,command:U.mcpCommand.trim(),args:Z(U.mcpArgs)}):Q({transport:`http`,url:$(U.mcpUrl,`MCP URL`),tokenEnv:U.mcpTokenEnv.trim()}),source:Q({resourceUriPrefix:U.mcpResourcePrefix.trim()})}}async function _t(e){await yt(e,`check`)}async function vt(e){await yt(e,`sync`)}async function yt(e,t){if(!T.value){T.value=!0,M.value=t===`sync`?`pages.connections.syncingBinding`:`pages.connections.checkingBinding`;try{let n=await E(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}/${t}`,{});a.notify(d(t===`sync`&&n.skippedCredentials?`pages.connections.externalSyncedWithSkipped`:t===`sync`?`pages.connections.externalSynced`:`pages.connections.externalChecked`,{name:e.name,count:n.skippedCredentials??0})),await J()}catch(e){a.reportError(e)}finally{T.value=!1}}}async function bt(e){if(!T.value){T.value=!0,M.value=`pages.connections.disconnectingBinding`;try{await O(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}`),a.notify(d(`pages.connections.externalDeleted`,{name:e.name})),await J()}catch(e){a.reportError(e)}finally{T.value=!1}}}function xt(e){let t=X(e);N.value=e.id,P.value=t.map(({personalProjectId:e})=>e),F.value=Object.fromEntries(t.map(({personalProjectId:e,mode:t})=>[e,t]))}function St(){N.value=null,P.value=[],F.value={}}function Ct(e){let t=x.value.find(({id:e})=>e===N.value);if(!t)return;let n=F.value,r=kt(t.connectorType);F.value=Object.fromEntries(e.map(e=>[e,n[e]??t.mode??r]))}function wt(e,t){F.value={...F.value,[e]:t}}async function Tt(e){let t=a.activePersonalSpace?.id;if(!(!t||!P.value.length||T.value)){T.value=!0,M.value=`pages.connections.savingBindingTargets`;try{await ae(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}/targets`,{expectedTargetsVersion:e.targetsVersion,targets:P.value.map(n=>({personalSpaceId:t,personalProjectId:n,mode:F.value[n]??e.mode}))}),a.notify(d(`pages.connections.projectsUpdated`,{name:e.name})),St(),await J()}catch(e){a.reportError(e)}finally{T.value=!1}}}async function Et(){let e=++V;if(H?.abort(),H=null,L.value=`ask_human`,B.value=!1,z.value=!1,!a.activePersonalSpace?.id||!I.value)return;let t=new AbortController;H=t,z.value=!0;try{let n=await D(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{signal:t.signal});if(e!==V)return;L.value=n.mode,ce=n.mode}catch{if(e!==V)return;B.value=!0}finally{e===V&&(z.value=!1,H=null)}}async function Dt(){let e=a.activePersonalSpace?.id;if(!e||!I.value||R.value||z.value||B.value)return;let t=V;R.value=!0;try{let n=await ae(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{personalSpaceId:e,personalProjectId:I.value,mode:L.value});if(t!==V)return;L.value=n.mode,ce=n.mode,a.notify(d(`pages.connections.conflictSaved`))}catch(e){if(t!==V)return;L.value=ce,a.reportError(e)}finally{R.value=!1}}function Ot(e){return v.value.find(t=>t.type===e)?.name??e}function Y(e,t){let n=v.value.find(t=>t.type===e)?.capabilities;return!n?.length||(t===`live`||t===`hybrid`?n.includes(`retrieve`):!0)&&(t===`mirror`||t===`hybrid`?n.includes(`sync`):!0)}function kt(e){return[`hybrid`,`mirror`,`live`].find(t=>Y(e,t))??`live`}function At(e){return[`hybrid`,`mirror`,`live`].map(t=>({value:t,label:d(`pages.connections.mode.${t}`),disabled:!Y(e,t)}))}function X(e){return e.targets?.length?e.targets:[{id:e.id,...e.target,mode:e.mode,status:e.status,sync:e.sync}]}function jt(e){return X(e).some(({mode:e})=>e!==`live`)}function Mt(e){return q.value.find(({project_id:t})=>t===e)?.profile.name??e}function Nt(e){return X(e).find(({sync:e})=>e?.error)?.sync?.error??e.sync?.error}function Pt(e){return X(e).reduce((e,t)=>e+(t.sync?.skippedCredentials??0),0)}function Z(e){return[...new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean))]}function Ft(e,t){let n=Z(e);if(!n.length)throw TypeError(`${t} is required`);return n}function Q(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==``&&(!Array.isArray(e)||e.length>0)))}function $(e,t){if(!e.trim())throw TypeError(`${t} is required`);return e.trim()}function It(e){return`https://github.com/JevonsCode/fuli/blob/main/${re()===`zh-CN`?`README.zh-CN.md`:`README.md`}#${e}`}return(e,r)=>(i(),S(`section`,ue,[b(`div`,{class:`service-connection-grid`,"aria-label":y(d)(`pages.connections.statusAria`)},[b(`article`,{class:`service-connection-card`,"data-status":W.value?`ready`:`error`},[b(`header`,null,[r[30]||=b(`span`,{class:`service-connection-icon local`,"aria-hidden":`true`},[b(`span`,{class:`nav-icon nav-icon-personal-project`})],-1),b(`div`,null,[b(`h3`,null,h(y(d)(`pages.connections.localGraphiti`)),1)]),b(`span`,pe,h(W.value?y(d)(`common.status.connected`):y(d)(`common.status.connectionError`)),1)]),n(k,{title:y(d)(`ui.connectionDetails`)},{default:t(()=>[b(`dl`,null,[b(`div`,null,[b(`dt`,null,h(y(d)(`pages.connections.storage`)),1),r[31]||=b(`dd`,null,`Neo4j`,-1)]),b(`div`,null,[b(`dt`,null,h(y(d)(`pages.connections.purpose`)),1),b(`dd`,null,h(y(d)(`pages.connections.localPurpose`)),1)])])]),_:1},8,[`title`])],8,fe),b(`article`,{class:`service-connection-card`,"data-status":y(a).publicRuntimeStatus},[b(`header`,null,[r[33]||=b(`span`,{class:`service-connection-icon public`,"aria-hidden":`true`},[b(`span`,{class:`nav-icon nav-icon-public-project`})],-1),b(`div`,he,[b(`h3`,null,h(y(d)(`pages.connections.publicService`)),1),r[32]||=b(`span`,{class:`feature-badge beta`},`BETA`,-1)]),b(`span`,ge,h(y(a).publicRuntimeStatus===`ready`?y(d)(`common.status.connected`):y(a).publicRuntimeStatus===`error`?y(d)(`common.status.connectionError`):y(d)(`common.status.notConnected`)),1)]),b(`dl`,null,[b(`div`,null,[b(`dt`,null,h(y(d)(`pages.connections.currentStatus`)),1),b(`dd`,null,h(y(a).publicRuntimeStatus===`ready`?y(d)(`pages.connections.sharedServicesReady`,{count:Qe.value||G.value.length}):y(d)(`pages.connections.notAvailable`)),1)]),b(`div`,null,[b(`dt`,null,h(y(d)(`pages.connections.purpose`)),1),b(`dd`,null,h($e.value),1)])])],8,me)],8,de),b(`section`,_e,[b(`div`,ve,[b(`h3`,null,h(y(d)(`pages.connections.externalTitle`)),1),b(`a`,{class:`section-help-link`,"data-testid":`external-knowledge-help`,href:tt.value,"aria-label":y(d)(`pages.connections.externalHelp`),title:y(d)(`pages.connections.externalHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,ye),b(`span`,be,h(y(d)(`pages.connections.bindingCount`,{count:x.value.length})),1)]),j.value||T.value?(i(),C(w,{key:0,variant:`compact`,label:y(d)(j.value?`pages.connections.loadingBindings`:M.value)},null,8,[`label`])):f(``,!0),b(`div`,xe,[(i(!0),S(m,null,o(x.value,e=>(i(),S(`article`,{key:e.id,class:`external-binding-row`,"data-status":e.status},[r[34]||=b(`i`,{"aria-hidden":`true`},null,-1),b(`div`,Ce,[b(`strong`,null,h(e.name),1),b(`span`,null,h(Ot(e.connectorType)),1),b(`div`,we,[b(`b`,null,h(y(d)(`pages.connections.boundTo`)),1),(i(!0),S(m,null,o(X(e),e=>(i(),S(`span`,{key:e.id,class:`external-binding-target-chip`,"data-status":e.status},h(Mt(e.personalProjectId))+` · `+h(y(d)(`pages.connections.mode.${e.mode}`)),9,Te))),128))]),Nt(e)?(i(),S(`small`,Ee,h(Nt(e)),1)):Pt(e)?(i(),S(`small`,De,h(y(d)(`pages.connections.credentialsSkipped`,{count:Pt(e)})),1)):f(``,!0)]),b(`div`,Oe,[b(`button`,{class:`quiet-button`,type:`button`,disabled:T.value,onClick:t=>_t(e)},h(y(d)(`pages.connections.check`)),9,ke),b(`button`,{class:`quiet-button external-sync-action`,type:`button`,disabled:T.value||!jt(e),onClick:t=>vt(e)},h(y(d)(`pages.connections.sync`)),9,Ae),b(`button`,{class:`quiet-button`,type:`button`,disabled:T.value,onClick:t=>xt(e)},h(y(d)(`pages.connections.manageProjects`)),9,je),b(`button`,{class:`quiet-button danger`,type:`button`,disabled:T.value,onClick:t=>bt(e)},h(y(d)(`pages.connections.disconnect`)),9,Me)]),N.value===e.id?(i(),S(`div`,Ne,[b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.targetProjects`)),1),n(le,{modelValue:P.value,"onUpdate:modelValue":r[0]||=e=>P.value=e,"control-id":`external-projects-${e.id}`,label:y(d)(`pages.connections.targetProjects`),options:st.value,disabled:T.value,required:``,searchable:``,onChange:Ct},null,8,[`modelValue`,`control-id`,`label`,`options`,`disabled`])]),b(`div`,Pe,[(i(!0),S(m,null,o(P.value,t=>(i(),S(`div`,{key:t,class:`external-target-mode-row`},[b(`span`,null,h(Mt(t)),1),n(A,{"model-value":F.value[t]??e.mode,"control-id":`external-target-mode-${e.id}-${t}`,label:y(d)(`pages.connections.bindingMode`),options:At(e.connectorType),disabled:T.value,"onUpdate:modelValue":e=>wt(t,e)},null,8,[`model-value`,`control-id`,`label`,`options`,`disabled`,`onUpdate:modelValue`])]))),128))]),b(`div`,Fe,[b(`button`,{class:`quiet-button`,type:`button`,disabled:T.value,onClick:St},h(y(d)(`common.actions.cancel`)),9,Ie),b(`button`,{class:`primary-action`,type:`button`,disabled:T.value||!P.value.length,onClick:t=>Tt(e)},h(y(d)(`pages.connections.saveProjects`)),9,Le)])])):f(``,!0)],8,Se))),128)),!j.value&&!x.value.length?(i(),S(`div`,Re,h(y(d)(`pages.connections.noExternalBindings`)),1)):f(``,!0)]),n(k,{title:y(d)(`pages.connections.connect`),open:!x.value.length},{default:t(()=>[b(`form`,{class:`external-binding-form`,onSubmit:_(ht,[`prevent`])},[n(K,{modelValue:U.name,"onUpdate:modelValue":r[1]||=e=>U.name=e,label:y(d)(`pages.connections.bindingName`),"data-testid":`external-name`,required:``},null,8,[`modelValue`,`label`]),b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.connector`)),1),n(A,{modelValue:U.connectorType,"onUpdate:modelValue":r[2]||=e=>U.connectorType=e,"control-id":`external-connector`,label:y(d)(`pages.connections.connector`),options:ot.value,disabled:T.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.targetProjects`)),1),n(le,{modelValue:U.personalProjectIds,"onUpdate:modelValue":r[3]||=e=>U.personalProjectIds=e,"control-id":`external-projects`,label:y(d)(`pages.connections.targetProjects`),options:st.value,disabled:T.value,required:``,searchable:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.bindingMode`)),1),n(A,{modelValue:U.mode,"onUpdate:modelValue":r[4]||=e=>U.mode=e,"control-id":`external-binding-mode`,label:y(d)(`pages.connections.bindingMode`),options:ct.value,disabled:T.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),U.connectorType===`mcp`?(i(),S(m,{key:0},[b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.transport`)),1),n(A,{modelValue:U.mcpTransport,"onUpdate:modelValue":r[5]||=e=>U.mcpTransport=e,"control-id":`external-mcp-transport`,label:y(d)(`pages.connections.transport`),options:lt.value,disabled:T.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),U.mcpTransport===`http`?(i(),C(K,{key:0,modelValue:U.mcpUrl,"onUpdate:modelValue":r[6]||=e=>U.mcpUrl=e,label:`MCP URL`,"data-testid":`mcp-url`,type:`url`,required:``},null,8,[`modelValue`])):(i(),C(K,{key:1,modelValue:U.mcpCommand,"onUpdate:modelValue":r[7]||=e=>U.mcpCommand=e,label:y(d)(`pages.connections.command`),required:``},null,8,[`modelValue`,`label`])),U.mcpTransport===`stdio`?(i(),C(K,{key:2,modelValue:U.mcpArgs,"onUpdate:modelValue":r[8]||=e=>U.mcpArgs=e,label:y(d)(`pages.connections.arguments`)},null,8,[`modelValue`,`label`])):(i(),C(K,{key:3,modelValue:U.mcpTokenEnv,"onUpdate:modelValue":r[9]||=e=>U.mcpTokenEnv=e,label:y(d)(`pages.connections.tokenEnv`),"data-testid":`mcp-token-env`},null,8,[`modelValue`,`label`])),n(K,{modelValue:U.mcpResourcePrefix,"onUpdate:modelValue":r[10]||=e=>U.mcpResourcePrefix=e,label:y(d)(`pages.connections.resourcePrefix`),"data-testid":`mcp-resource-prefix`},null,8,[`modelValue`,`label`])],64)):U.connectorType===`notion`?(i(),S(m,{key:1},[n(K,{modelValue:U.notionTokenEnv,"onUpdate:modelValue":r[11]||=e=>U.notionTokenEnv=e,label:y(d)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),n(K,{modelValue:U.notionPageIds,"onUpdate:modelValue":r[12]||=e=>U.notionPageIds=e,label:`Page IDs`},null,8,[`modelValue`]),n(K,{modelValue:U.notionDataSourceIds,"onUpdate:modelValue":r[13]||=e=>U.notionDataSourceIds=e,label:`Data Source IDs`},null,8,[`modelValue`])],64)):U.connectorType===`feishu`?(i(),S(m,{key:2},[n(K,{modelValue:U.feishuTokenEnv,"onUpdate:modelValue":r[14]||=e=>U.feishuTokenEnv=e,label:y(d)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.region`)),1),n(A,{modelValue:U.feishuRegion,"onUpdate:modelValue":r[15]||=e=>U.feishuRegion=e,"control-id":`external-feishu-region`,label:y(d)(`pages.connections.region`),options:ut.value,disabled:T.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),n(K,{modelValue:U.feishuSpaceId,"onUpdate:modelValue":r[16]||=e=>U.feishuSpaceId=e,label:`Space ID`},null,8,[`modelValue`]),n(K,{modelValue:U.feishuRootNodeToken,"onUpdate:modelValue":r[17]||=e=>U.feishuRootNodeToken=e,label:`Root Node Token`},null,8,[`modelValue`]),n(K,{modelValue:U.feishuNodeTokens,"onUpdate:modelValue":r[18]||=e=>U.feishuNodeTokens=e,label:`Node Tokens`},null,8,[`modelValue`]),n(K,{modelValue:U.feishuWebBaseUrl,"onUpdate:modelValue":r[19]||=e=>U.feishuWebBaseUrl=e,label:`Web URL`,type:`url`},null,8,[`modelValue`])],64)):U.connectorType===`retrieval_api`?(i(),S(m,{key:3},[n(K,{modelValue:U.retrievalUrl,"onUpdate:modelValue":r[20]||=e=>U.retrievalUrl=e,label:y(d)(`pages.connections.retrievalUrl`),type:`url`,required:``},null,8,[`modelValue`,`label`]),n(K,{modelValue:U.retrievalTokenEnv,"onUpdate:modelValue":r[21]||=e=>U.retrievalTokenEnv=e,label:y(d)(`pages.connections.tokenEnv`)},null,8,[`modelValue`,`label`]),n(K,{modelValue:U.retrievalKnowledgeIds,"onUpdate:modelValue":r[22]||=e=>U.retrievalKnowledgeIds=e,label:y(d)(`pages.connections.knowledgeIds`),required:``},null,8,[`modelValue`,`label`]),n(K,{modelValue:U.retrievalScoreThreshold,"onUpdate:modelValue":r[23]||=e=>U.retrievalScoreThreshold=e,label:y(d)(`pages.connections.scoreThreshold`),inputmode:`decimal`,required:``},null,8,[`modelValue`,`label`])],64)):(i(),S(m,{key:4},[n(K,{modelValue:U.customModule,"onUpdate:modelValue":r[24]||=e=>U.customModule=e,label:y(d)(`pages.connections.module`),required:``},null,8,[`modelValue`,`label`]),n(K,{modelValue:U.customEnvironmentNames,"onUpdate:modelValue":r[25]||=e=>U.customEnvironmentNames=e,label:y(d)(`pages.connections.environmentNames`)},null,8,[`modelValue`,`label`]),b(`div`,ze,[n(K,{modelValue:U.customSourceJson,"onUpdate:modelValue":r[26]||=e=>U.customSourceJson=e,label:y(d)(`pages.connections.sourceJson`),multiline:``,required:``},null,8,[`modelValue`,`label`])]),b(`span`,Be,h(y(d)(`pages.connections.trustedCode`)),1)],64)),b(`button`,{class:`primary-action external-create-action`,type:`submit`,disabled:T.value||!q.value.length||!U.personalProjectIds.length},[r[35]||=b(`span`,{class:`external-create-action-icon`,"aria-hidden":`true`},null,-1),b(`span`,null,h(y(d)(`pages.connections.connect`)),1)],8,Ve)],32)]),_:1},8,[`title`,`open`])]),q.value.length?(i(),C(k,{key:0,class:`conflict-policy-section`,open:B.value,title:y(d)(`pages.connections.conflictTitle`)},{default:t(()=>[b(`div`,He,[b(`a`,{class:`section-help-link`,"data-testid":`conflict-policy-help`,href:nt.value,"aria-label":y(d)(`pages.connections.conflictHelp`),title:y(d)(`pages.connections.conflictHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,Ue)]),b(`div`,We,[b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.targetProject`)),1),n(A,{modelValue:I.value,"onUpdate:modelValue":r[27]||=e=>I.value=e,"control-id":`external-conflict-project`,label:y(d)(`pages.connections.targetProject`),options:st.value,disabled:R.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),b(`label`,null,[b(`span`,null,h(y(d)(`pages.connections.conflictAction`)),1),n(A,{modelValue:L.value,"onUpdate:modelValue":r[28]||=e=>L.value=e,"control-id":`external-conflict-mode`,label:y(d)(`pages.connections.conflictAction`),options:dt.value,disabled:R.value||z.value||B.value||!I.value,required:``,onChange:Dt},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),z.value?(i(),C(w,{key:0,variant:`compact`,label:y(d)(`pages.connections.loadingConflictPolicy`)},null,8,[`label`])):f(``,!0),R.value?(i(),C(w,{key:1,variant:`inline`,label:y(d)(`pages.connections.savingConflictPolicy`)},null,8,[`label`])):B.value?(i(),S(`div`,Ge,[b(`p`,null,h(y(d)(`common.errors.loadFailed`)),1),b(`button`,{class:`secondary-action`,type:`button`,onClick:Et},h(y(d)(`common.actions.retry`)),1)])):f(``,!0)]),_:1},8,[`open`,`title`])):f(``,!0),y(a).state?.capabilities?.subscribeProject?(i(),S(`section`,Ke,[b(`div`,qe,[b(`h3`,null,[s(h(y(d)(`pages.connections.subscriptionsTitle`))+` `,1),r[36]||=b(`span`,{class:`feature-badge beta`},`BETA`,-1)])]),p.value?(i(),C(w,{key:0,variant:`inline`,label:y(d)(g.value)},null,8,[`label`])):f(``,!0),b(`div`,Je,[(i(!0),S(m,null,o(et.value,e=>(i(),S(`div`,{key:`${e.provider_url}:${e.project_id}`,class:`subscription-row`},[r[37]||=b(`span`,null,`↗`,-1),b(`div`,null,[b(`strong`,null,h(e.project_name??e.project_id),1),b(`span`,null,h(y(d)(`pages.connections.sharedProject`)),1)]),b(`button`,{class:`secondary-action subscription-action`,type:`button`,disabled:p.value,onClick:t=>mt(e)},h(y(d)(`pages.connections.unsubscribe`)),9,Ye)]))),128)),et.value.length?f(``,!0):(i(),S(`div`,Xe,h(y(d)(`pages.connections.noSubscriptions`)),1))]),b(`form`,{class:`subscription-form`,onSubmit:_(pt,[`prevent`])},[n(A,{modelValue:c.value,"onUpdate:modelValue":r[29]||=e=>c.value=e,options:at.value,label:y(d)(`pages.connections.sharedProjectLabel`),placeholder:y(d)(`pages.connections.choosePublicProject`),searchable:``,required:``,disabled:p.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`]),b(`button`,{type:`submit`,disabled:p.value||!c.value||!y(a).activePersonalSpace},h(y(d)(`pages.connections.subscribe`)),9,Ze)],32)])):f(``,!0)]))}});export{Qe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.employee-recruit-dialog[data-v-168b9bad]{border-radius:var(--radius-dialog);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--color-ink);box-shadow:var(--shadow-dialog);border:0;margin:auto;padding:0;font-size:14px;line-height:1.6;overflow:hidden}.employee-recruit-dialog[open][data-v-168b9bad]{flex-direction:column;display:flex}.employee-recruit-dialog>form[data-v-168b9bad]{flex-direction:column;min-height:0;display:flex}.employee-recruit-body[data-v-168b9bad]{overscroll-behavior:contain;min-height:0;padding:0 28px 20px;overflow-y:auto}.employee-recruit-dialog[data-v-168b9bad]>:is(p,.employee-message){margin:0 28px 28px}.employee-recruit-dialog[data-v-168b9bad]::backdrop{background:var(--color-overlay)}.employee-recruit-heading[data-v-168b9bad]{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;display:flex}.employee-recruit-heading h2[data-v-168b9bad]{margin:0;font-size:20px;line-height:1.4}.employee-profile[data-v-168b9bad]{align-items:center;gap:16px;margin-bottom:12px;display:flex}.employee-profile h3[data-v-168b9bad]{margin:0 0 4px;font-size:21px;line-height:1.35}.employee-profile h3 span[data-v-168b9bad]{color:var(--color-muted);margin-left:8px;font-size:13px;font-weight:500;display:inline-block}.employee-profile p[data-v-168b9bad],.employee-success p[data-v-168b9bad]{color:var(--color-success);margin:0}.employee-avatar[data-v-168b9bad]{background:var(--color-surface-subtle);height:52px;color:var(--color-ink);border-radius:14px;flex:0 0 52px;place-items:center;font-size:27px;font-weight:650;display:grid;overflow:hidden}.employee-avatar img[data-v-168b9bad]{object-fit:cover;width:100%;height:100%}.employee-specialties[data-v-168b9bad]{color:var(--color-muted);margin:0 0 24px;font-size:12px}.employee-scope-mode[data-v-168b9bad]{background:var(--color-surface-subtle);border-radius:10px;gap:4px;margin:0 0 10px;padding:4px;display:flex}.employee-scope-mode button[data-v-168b9bad]{border-radius:var(--radius-control);min-height:40px;color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:8px 10px;font-size:13px}.employee-scope-mode button[aria-checked=true][data-v-168b9bad]{background:var(--color-accent-soft);color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);font-weight:600}.employee-scope-mode button[data-v-168b9bad]:hover:not(:disabled){color:var(--color-ink);background:var(--color-surface-subtle)}.employee-scope-mode button[data-v-168b9bad]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.employee-scope-mode button[data-v-168b9bad]:disabled{opacity:.55;cursor:default}.employee-scope-rule[data-v-168b9bad]{color:var(--color-ink);margin:0 0 16px;font-size:13px}.employee-title-settings[data-v-168b9bad]{margin-top:24px}.employee-title-settings h3[data-v-168b9bad]{margin:0 0 12px;font-size:14px;font-weight:600}.employee-title-controls[data-v-168b9bad]{grid-template-columns:1.2fr 1fr;gap:12px;display:grid}.employee-title-controls .employee-picker-field[data-v-168b9bad]{min-width:0;margin-bottom:8px}.employee-title-preview[data-v-168b9bad]{color:var(--color-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.employee-title-preview span[data-v-168b9bad]{color:var(--color-ink)}.employee-picker-field[data-v-168b9bad]{color:var(--color-ink);gap:7px;margin-bottom:18px;font-size:13px;display:grid}.employee-picker-field[data-v-168b9bad] .searchable-select,.employee-picker-field[data-v-168b9bad] .searchable-select-trigger{width:100%}.employee-title-controls[data-v-168b9bad] .searchable-select-panel{box-sizing:border-box;width:100%;min-width:0}.employee-title-controls[data-v-168b9bad] .searchable-select-option-copy strong{white-space:normal;overflow-wrap:anywhere}.employee-permissions[data-v-168b9bad]{margin-top:20px;font-size:12px}.employee-permissions strong[data-v-168b9bad]{color:var(--color-ink);font-weight:600}.employee-permissions ul[data-v-168b9bad]{flex-wrap:wrap;gap:4px 18px;margin:6px 0;padding-left:16px;display:flex}.employee-permissions p[data-v-168b9bad],.employee-muted[data-v-168b9bad]{color:var(--color-muted);margin-top:8px;font-size:12px}.employee-runtime[data-v-168b9bad]{color:var(--color-ink);margin:20px 0 0;font-size:12px}.employee-runtime.is-warning[data-v-168b9bad]{color:var(--color-warning)}.employee-error[data-v-168b9bad]{color:var(--color-danger);margin-top:16px}.employee-success[data-v-168b9bad]{color:var(--color-success);margin-top:18px}.employee-recruit-actions[data-v-168b9bad]{background:var(--color-surface);flex:none;justify-content:flex-end;align-items:center;gap:12px;padding:16px 28px;display:flex}.employee-recruit-dialog .quiet-button[data-v-168b9bad]{border-radius:var(--radius-control);min-height:40px;color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 14px;font-size:14px}.employee-recruit-dialog .quiet-button[data-v-168b9bad]:hover:not(:disabled){background:var(--color-surface-subtle)}.employee-recruit-dialog .quiet-button[data-v-168b9bad]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.employee-primary[data-v-168b9bad]{border-radius:var(--radius-control);background:var(--color-accent);min-height:42px;color:var(--color-on-accent);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;padding:9px 20px;font-weight:600;text-decoration:none;display:inline-flex}.employee-primary[data-v-168b9bad]:hover:not(:disabled){background:var(--color-accent-hover)}.employee-primary[data-v-168b9bad]:disabled{background:var(--color-surface-subtle);color:var(--color-muted);cursor:default}.employee-primary[data-v-168b9bad]:focus-visible,.employee-recruit-dialog a[data-v-168b9bad]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-message[data-v-168b9bad]{justify-items:start;gap:12px;display:grid}@media (width<=540px){.employee-recruit-heading[data-v-168b9bad]{padding:18px 20px}.employee-recruit-body[data-v-168b9bad]{padding:0 20px 18px}.employee-recruit-actions[data-v-168b9bad]{padding:14px 20px}.employee-recruit-actions .employee-primary[data-v-168b9bad]{flex:1}.employee-profile[data-v-168b9bad]{align-items:flex-start}.employee-profile h3 span[data-v-168b9bad]{margin:2px 0 0;display:block}.employee-title-controls[data-v-168b9bad]{grid-template-columns:minmax(0,1fr);gap:4px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,C as t,M as n,P as r,R as i,S as a,X as o,_ as s,a as c,b as l,h as u,it as d,m as ee,nt as te,tt as f,v as p,w as m,x as h,y as g}from"./i18n-D2CJkEYK.js";import{t as _}from"./GrowthLoading-KTjE2e50.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as y}from"./vue-router-DkaTtPn0.js";import{i as ne}from"./client-B2cRl-7c.js";import{a as re,o as ie,r as b,s as ae}from"./catalog-DN72452f.js";import{n as oe}from"./AgentHand-eGsXoGSq.js";import{t as se}from"./useModalDialog-D8tiJfbc.js";import{n as ce}from"./paths-CDREouhi.js";import{t as le}from"./ProjectScopePicker-BwB7gK-7.js";import{t as x}from"./SearchableSelect-f7EHbyDL.js";var ue={class:`employee-recruit-heading`},de={id:`employee-recruit-title`},fe=[`disabled`],pe={key:1,role:`alert`,class:`employee-message`},me={key:2},he={class:`employee-recruit-body`},ge={key:0,class:`employee-picker-field`},_e={class:`employee-profile`},ve={class:`employee-avatar`,"aria-hidden":`true`},ye=[`src`],be={class:`employee-specialties`},xe=[`aria-label`],Se=[`data-scope`,`aria-checked`,`tabindex`,`disabled`,`onClick`],Ce={key:3,class:`employee-scope-rule`,role:`status`},we={key:4,class:`employee-muted`},Te={key:5,class:`employee-muted`},Ee={key:6,class:`employee-muted`},De=[`aria-label`],Oe={class:`employee-title-controls`},ke={class:`employee-picker-field`},Ae={class:`employee-picker-field`},je={class:`employee-title-preview`},Me={class:`employee-muted`},Ne=[`aria-label`],Pe={key:9,class:`employee-error`,role:`alert`},Fe=[`disabled`],Ie={key:11,class:`employee-success`,role:`status`},Le={class:`employee-recruit-actions`},Re=[`disabled`],ze=[`disabled`],S=v(m({__name:`EmployeeRecruitDialog`,props:{open:{type:Boolean},personalSpaceId:{},projects:{},defaultProjectId:{},defaultProjectIds:{},templateId:{}},emits:[`close`,`recruited`],setup(m,{emit:v}){let S=m,C=v,w=o([]),T=o([]),E=o(`selected`),D=o([]),O=o(`auto`),k=o(`emoji`),A=o(``),j=o(``),M=o(!1),N=o(!1),P=o(``),F=o(!1),I=o(``),L=o(null),R=o([]),z=o(``),{dialogRef:Be,initialFocusRef:Ve,onCancel:He,onKeydown:Ue}=se(()=>S.open,Q),B=s(()=>R.value),V=s(()=>S.templateId?B.value.find(e=>e.id===S.templateId):B.value.find(e=>e.id===P.value)??B.value[0]),We=s(()=>V.value?.agentId?c(`employees.manageProjectsTitle`,{name:V.value.name}):c(`employees.recruit`)),H=s(()=>S.projects.filter(e=>e.profile.lifecycle!==`archived`).map(e=>({id:e.project_id,name:e.profile.name}))),U=s(()=>V.value?.management!==void 0),W=s({get:()=>E.value===`all`?H.value.filter(e=>!D.value.includes(e.id)).map(e=>e.id):w.value,set:e=>{if(E.value===`all`){let t=new Set(H.value.map(e=>e.id));D.value=[...D.value.filter(e=>!t.has(e)),...H.value.filter(t=>!e.includes(t.id)).map(e=>e.id)]}else w.value=e}}),G=s(()=>({mode:E.value,projectIds:E.value===`selected`?[...w.value].sort():[],excludedProjectIds:E.value===`all`?[...D.value].sort():[],titleMode:O.value,titleStyle:k.value})),Ge=s(()=>[`auto`,`suggest`,`off`].map(e=>({value:e,label:c(`employees.titles.${e}`)}))),Ke=s(()=>[`emoji`,`text`].map(e=>({value:e,label:c(`employees.titles.${e}`)}))),K=s(()=>new Set(T.value)),qe=s(()=>[...K.value].filter(e=>!W.value.includes(e))),q=s(()=>!!(V.value?.agentStatus&&V.value.agentStatus!==`active`)),J=s(()=>V.value?.agentStatus===`active`&&(U.value?JSON.stringify(G.value)===A.value&&(E.value===`all`||w.value.length===K.value.size&&w.value.every(e=>K.value.has(e))):w.value.length===K.value.size&&w.value.every(e=>K.value.has(e)))),Je=s(()=>F.value?c(`employees.recruiting`):q.value?c(`employees.rehire`,{name:V.value?.name??``}):J.value||V.value?.agentId?c(`employees.assign`):c(`employees.recruitName`,{name:V.value?.name??``})),Ye=s(()=>V.value&&W.value.length?`/employees/${encodeURIComponent(V.value.id)}?project=${encodeURIComponent(W.value[0])}`:``),Y=0;i([()=>S.open,()=>S.personalSpaceId,()=>S.templateId],([e])=>{Y+=1,e&&Z(!0)},{immediate:!0}),i(P,()=>{S.open&&!M.value&&X(!0)}),i(G,()=>{I.value=N.value?I.value:``,L.value=null},{flush:`sync`});function X(e=!1){let t=new Set(H.value.map(e=>e.id));T.value=[...new Set((V.value?.assignments??[]).filter(e=>e.status===`active`&&t.has(e.personalProjectId)).map(e=>e.personalProjectId))];let n=e&&!V.value?.agentId?S.defaultProjectIds??(S.defaultProjectId?[S.defaultProjectId]:[]):[];w.value=[...new Set([...T.value,...n.filter(e=>t.has(e))])];let r=V.value?.management;E.value=r?.mode??`selected`,D.value=[...r?.excludedProjectIds??[]],O.value=r?.titleMode??`auto`,k.value=r?.titleStyle??`emoji`,r?.mode===`selected`&&V.value?.agentId&&(w.value=r.projectIds.filter(e=>t.has(e))),r?.mode===`all`&&V.value?.agentId&&(T.value=[...W.value]),A.value=JSON.stringify(G.value),j.value=V.value?.assignmentsVersion??``,N.value=!1,I.value=``,L.value=null}async function Z(e=!1){let t=++Y;M.value=!0,R.value=[],z.value=``;try{let n=await ie(S.personalSpaceId);if(t!==Y||!S.open)return;R.value=n,X(e)}catch(e){t===Y&&S.open&&(R.value=[],z.value=b(e))}finally{t===Y&&(M.value=!1)}}function Q(){F.value||C(`close`)}async function Xe(){if(!V.value||V.value.identityConflict||!S.personalSpaceId||F.value||M.value||N.value||!j.value||J.value)return;F.value=!0,I.value=``;let e=V.value.id;try{let t=await ne(`/api/employee-templates/${encodeURIComponent(e)}/recruit`,{personalSpaceId:S.personalSpaceId,...U.value?{management:G.value}:{personalProjectIds:[...w.value]},replaceAssignments:!0,expectedAssignmentsVersion:j.value,...q.value?{reactivate:!0}:{}});await ae(S.personalSpaceId),R.value=[...re.value],X(),L.value=t,C(`recruited`,t)}catch(e){I.value=b(e);try{let t=JSON.parse(e instanceof Error?e.message:``);N.value=t.code===`assignment_scope_conflict`||t.code===`assignment_update_incomplete`}catch{}}finally{F.value=!1}}function $(e){e===`selected`&&(w.value=[...W.value]),E.value=e}function Ze(e){if(!(F.value||M.value||N.value)&&[`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){e.preventDefault();let t=e.key===`Home`?`all`:e.key===`End`||E.value===`all`?`selected`:`all`;$(t),e.currentTarget.querySelector(`[data-scope="${t}"]`)?.focus()}}return(i,o)=>m.open?(n(),h(`dialog`,{key:0,ref_key:`dialogRef`,ref:Be,class:`employee-recruit-dialog`,"aria-modal":`true`,"aria-labelledby":`employee-recruit-title`,onCancel:o[6]||=(...e)=>f(He)&&f(He)(...e),onKeydown:o[7]||=(...e)=>f(Ue)&&f(Ue)(...e)},[p(`header`,ue,[p(`h2`,de,d(We.value),1),p(`button`,{ref_key:`initialFocusRef`,ref:Ve,type:`button`,class:`quiet-button`,disabled:F.value,onClick:Q},d(f(c)(`employees.close`)),9,fe)]),M.value&&!B.value.length?(n(),g(_,{key:0,variant:`compact`,label:f(c)(`employees.loading`)},null,8,[`label`])):z.value?(n(),h(`div`,pe,[p(`p`,null,d(z.value),1),p(`button`,{class:`quiet-button`,type:`button`,onClick:o[0]||=e=>Z(!0)},d(f(c)(`employees.retry`)),1)])):V.value?(n(),h(`form`,{key:3,onSubmit:ee(Xe,[`prevent`])},[p(`div`,he,[B.value.length>1&&!S.templateId?(n(),h(`div`,ge,[p(`span`,null,d(f(c)(`employees.choose`)),1),t(x,{modelValue:P.value,"onUpdate:modelValue":o[1]||=e=>P.value=e,"control-id":`employee-template`,label:f(c)(`employees.choose`),options:B.value.map(e=>({value:e.id,label:e.name,meta:e.role})),disabled:F.value||M.value},null,8,[`modelValue`,`label`,`options`,`disabled`])])):l(``,!0),p(`div`,_e,[p(`span`,ve,[f(oe)(V.value.id)?(n(),h(`img`,{key:0,src:f(oe)(V.value.id),alt:``},null,8,ye)):(n(),h(u,{key:1},[a(d(V.value.name.slice(0,1)),1)],64))]),p(`div`,null,[p(`h3`,null,[a(d(V.value.name)+` `,1),p(`span`,null,d(V.value.role),1)]),p(`p`,null,d(V.value.description),1)])]),p(`p`,be,d(V.value.capabilities.join(` · `)),1),M.value?(n(),g(_,{key:1,variant:`compact`,label:f(c)(`employees.loadingScope`)},null,8,[`label`])):l(``,!0),U.value?(n(),h(`div`,{key:2,class:`employee-scope-mode`,role:`radiogroup`,"aria-label":f(c)(`employees.scope.rule`),onKeydown:Ze},[(n(),h(u,null,r([`all`,`selected`],e=>p(`button`,{key:e,type:`button`,role:`radio`,"data-scope":e,"aria-checked":E.value===e,tabindex:E.value===e?0:-1,disabled:F.value||M.value||N.value,onClick:t=>$(e)},d(f(c)(`employees.scope.${e===`all`?`continuousAll`:`onlySelected`}`)),9,Se)),64))],40,xe)):l(``,!0),U.value?(n(),h(`p`,Ce,d(E.value===`all`?f(c)(`employees.scope.allHint`,{name:V.value.name}):f(c)(`employees.scope.selectedHint`)),1)):l(``,!0),t(le,{modelValue:W.value,"onUpdate:modelValue":o[2]||=e=>W.value=e,projects:H.value,inline:``,hint:E.value===`all`?f(c)(`employees.scope.excludeHint`):void 0,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`projects`,`hint`,`disabled`]),E.value===`all`&&D.value.length?(n(),h(`p`,we,d(f(c)(`employees.scope.excludedCount`,{count:D.value.length})),1)):l(``,!0),H.value.length?l(``,!0):(n(),h(`p`,Te,[a(d(f(c)(`employees.noProjects`))+` `,1),t(f(y),{to:f(ce)(m.personalSpaceId,`directory`),onClick:Q},{default:e(()=>[a(d(f(c)(`employees.createProject`)),1)]),_:1},8,[`to`])])),qe.value.length&&!L.value?(n(),h(`p`,Ee,d(f(c)(`employees.scopeRemoved`,{count:qe.value.length})),1)):l(``,!0),U.value&&V.value.permissions.includes(`session.title`)?(n(),h(`section`,{key:7,class:`employee-title-settings`,"aria-label":f(c)(`employees.titles.heading`)},[p(`h3`,null,d(f(c)(`employees.titles.heading`)),1),p(`div`,Oe,[p(`div`,ke,[p(`span`,null,d(f(c)(`employees.titles.mode`)),1),t(x,{modelValue:O.value,"onUpdate:modelValue":o[3]||=e=>O.value=e,"control-id":`employee-title-mode`,label:f(c)(`employees.titles.mode`),options:Ge.value,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`label`,`options`,`disabled`])]),p(`div`,Ae,[p(`span`,null,d(f(c)(`employees.titles.style`)),1),t(x,{modelValue:k.value,"onUpdate:modelValue":o[4]||=e=>k.value=e,"control-id":`employee-title-style`,label:f(c)(`employees.titles.style`),options:Ke.value,disabled:F.value||M.value||N.value||O.value===`off`},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),p(`p`,je,[a(d(f(c)(`employees.titles.example`))+` `,1),p(`span`,null,`【P1|`+d(k.value===`emoji`?`🔧 `:``)+`FIX|`+d(f(c)(`employees.titles.exampleTask`))+`】`,1)]),p(`p`,Me,d(f(c)(`employees.titles.boundary`)),1)],8,De)):l(``,!0),p(`section`,{class:`employee-permissions`,"aria-label":f(c)(`employees.permissions`)},[p(`strong`,null,d(f(c)(`employees.permissions`)),1),p(`ul`,null,[(n(!0),h(u,null,r(V.value.permissions,e=>(n(),h(`li`,{key:e},d(e===`board.read`?f(c)(`employees.boardRead`):e===`board.write`?f(c)(`employees.boardWrite`):e===`session.title`?f(c)(`employees.titles.heading`):e),1))),128))]),p(`p`,null,d(f(c)(`employees.noExecutor`)),1)],8,Ne),V.value.runtime?(n(),h(`p`,{key:8,class:te([`employee-runtime`,{"is-warning":V.value.runtimeStatus!==`ready`}])},d(V.value.runtimeStatus===`ready`?f(c)(`employees.hostReady`):f(c)(`employees.installRequired`)),3)):l(``,!0),I.value||V.value.identityConflict?(n(),h(`p`,Pe,d(I.value||f(c)(`employees.errors.identity_conflict`)),1)):l(``,!0),N.value?(n(),h(`button`,{key:10,type:`button`,class:`quiet-button`,disabled:M.value,onClick:o[5]||=e=>Z()},d(f(c)(`employees.reloadScope`)),9,Fe)):l(``,!0),L.value?(n(),h(`div`,Ie,[p(`strong`,null,d(f(c)(`employees.scopeSaved`)),1),p(`p`,null,d(E.value===`all`?f(c)(`employees.scope.successAll`,{count:W.value.length}):W.value.length?f(c)(`employees.successMultiple`,{count:W.value.length}):f(c)(`employees.successUnassigned`)),1)])):l(``,!0)]),p(`footer`,Le,[p(`button`,{class:`quiet-button`,type:`button`,disabled:F.value,onClick:Q},d(f(c)(`employees.cancel`)),9,Re),J.value&&Ye.value&&!F.value&&!M.value&&!N.value&&V.value.runtimeStatus===`ready`?(n(),g(f(y),{key:0,class:`employee-primary`,to:Ye.value,onClick:Q},{default:e(()=>[a(d(f(c)(`employees.open`)),1)]),_:1},8,[`to`])):(n(),h(`button`,{key:1,class:`employee-primary`,type:`submit`,disabled:F.value||M.value||N.value||!j.value||J.value||V.value.identityConflict||!m.personalSpaceId},[F.value?(n(),g(_,{key:0,variant:`inline`,label:Je.value},null,8,[`label`])):(n(),h(u,{key:1},[a(d(Je.value),1)],64))],8,ze))])],32)):(n(),h(`p`,me,d(f(c)(`employees.noTemplates`)),1))],544)):l(``,!0)}}),[[`__scopeId`,`data-v-168b9bad`]]);export{S as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bole-panel[data-v-b8e55610]{--bole-ink:var(--color-ink);--bole-muted:var(--color-muted);--bole-line:var(--color-surface-subtle);background:var(--color-surface);min-width:0;min-height:0;color:var(--bole-ink);flex-direction:column;flex:1;display:flex;overflow:hidden}.bole-header[data-v-b8e55610],.bole-controls[data-v-b8e55610]{flex:none;padding-inline:24px}.bole-header[data-v-b8e55610]{border-bottom:1px solid var(--bole-line);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:4px 16px;padding-block:8px;display:flex}.bole-heading[data-v-b8e55610]{flex-wrap:wrap;align-items:center;gap:4px 24px;display:flex}.bole-heading h2[data-v-b8e55610]{margin:0;font-size:20px;font-weight:650;line-height:1.3}.bole-refresh[data-v-b8e55610]:disabled{cursor:progress}.bole-summary[data-v-b8e55610]{flex-wrap:wrap;gap:8px 16px;margin:0 0 0 auto;display:flex}.bole-summary div[data-v-b8e55610]{align-items:baseline;gap:8px;display:flex}.bole-summary dt[data-v-b8e55610]{color:var(--bole-muted);font-size:12px}.bole-summary dd[data-v-b8e55610]{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:650}.bole-controls[data-v-b8e55610]{z-index:2;border-bottom:1px solid var(--bole-line);background:var(--color-surface);padding-bottom:12px}.bole-views[data-v-b8e55610]{flex-wrap:wrap;gap:20px;display:flex}.bole-views button[data-v-b8e55610]{min-height:44px;color:var(--bole-muted);background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;font-size:14px;display:flex;position:relative}.bole-views button[aria-pressed=true][data-v-b8e55610]{color:var(--color-ink);font-weight:650}.bole-views button[aria-pressed=true][data-v-b8e55610]:after{background:var(--color-ink);content:"";height:2px;position:absolute;inset:auto 0 -1px}.bole-views span[data-v-b8e55610]{color:var(--bole-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.bole-filters[data-v-b8e55610]{flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px;display:flex}.bole-search[data-v-b8e55610]{flex:220px;min-width:0}.bole-search[data-v-b8e55610],.bole-filters select[data-v-b8e55610]{min-height:44px}.bole-search[data-v-b8e55610]::placeholder{color:var(--bole-muted)}.bole-filters .project-scope-picker[data-v-b8e55610]{flex:0 260px}.bole-role-filters[data-v-b8e55610]{flex-wrap:wrap;gap:4px 8px;margin-top:12px;display:flex}.bole-role-filters button[data-v-b8e55610]:not(.bole-clear){border-radius:var(--radius-control);min-height:36px;color:var(--bole-muted);background:0 0;border:0;padding:8px 10px;font-size:12px}.bole-role-filters button:not(.bole-clear)[aria-pressed=true][data-v-b8e55610]{color:var(--color-ink);background:var(--color-surface-subtle);font-weight:600}.bole-role-filters button[data-v-b8e55610]:not(.bole-clear):hover{background:var(--color-surface-subtle)}.bole-role-filters span[data-v-b8e55610]{font-variant-numeric:tabular-nums;margin-left:4px}.bole-role-filters .bole-clear[data-v-b8e55610]{margin-left:auto}.bole-content[data-v-b8e55610]{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:16px 24px 32px;overflow:auto}.bole-result-count[data-v-b8e55610]{color:var(--bole-muted);align-self:center;font-size:12px}.bole-table-heading[data-v-b8e55610],.bole-agent-row[data-v-b8e55610]{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,.8fr);gap:24px;padding:16px;display:grid}.bole-table-heading[data-v-b8e55610]{background:var(--color-surface-subtle);color:var(--bole-muted);padding-block:12px;font-size:12px}.bole-agent-row[data-v-b8e55610]{border-top:1px solid var(--bole-line);align-items:center}.bole-agent-row[data-v-b8e55610]:hover{background:var(--color-surface)}.bole-agent-identity[data-v-b8e55610]{align-items:center;gap:12px;min-width:0;display:flex}.bole-agent-identity>div[data-v-b8e55610]{min-width:0}.bole-agent-mark[data-v-b8e55610]{background:var(--color-surface-subtle);border-radius:10px;flex:0 0 36px;place-items:center;height:36px;font-size:18px;display:grid;overflow:hidden}.bole-agent-mark img[data-v-b8e55610]{object-fit:cover;width:100%;height:100%}.bole-agent-identity strong[data-v-b8e55610],.bole-recruitment-identity strong[data-v-b8e55610]{overflow-wrap:anywhere;font-size:14px;font-weight:600;display:block}.bole-agent-identity small[data-v-b8e55610],.bole-timeline small[data-v-b8e55610]{color:var(--bole-muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.bole-agent-work p[data-v-b8e55610]{overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.55}.bole-agent-work .is-idle[data-v-b8e55610]{color:var(--bole-muted);margin:0}.bole-status[data-v-b8e55610]{white-space:nowrap}.bole-status[data-status=blocked][data-v-b8e55610]{background:var(--color-danger-soft);color:var(--color-danger)}.bole-status[data-status=awaiting_review][data-v-b8e55610]{background:var(--color-warning-soft);color:var(--color-warning)}.bole-agent-projects[data-v-b8e55610]{min-width:0;color:var(--bole-muted);font-size:12px;line-height:1.6}.bole-agent-projects span[data-v-b8e55610]{overflow-wrap:anywhere;display:block}.bole-agent-projects summary[data-v-b8e55610]{cursor:pointer;width:fit-content;min-height:32px;color:var(--color-ink);padding-block:6px}.bole-timeline[data-v-b8e55610]{margin:0;padding:0;list-style:none}.bole-timeline li[data-v-b8e55610]{border-bottom:1px solid var(--bole-line);grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(120px,.6fr);gap:24px;padding:20px 0;display:grid}.bole-recruitment-reason p[data-v-b8e55610]{overflow-wrap:anywhere;max-width:70ch;margin:0;font-size:13px;line-height:1.7}.bole-timeline time[data-v-b8e55610]{color:var(--bole-muted);font-size:12px;line-height:1.6}.bole-empty[data-v-b8e55610]{color:var(--bole-muted)}.bole-alert[data-v-b8e55610]{background:var(--color-danger-soft);color:var(--color-danger);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;font-size:13px;display:flex}.bole-content[data-v-b8e55610]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width<=1100px){.bole-table-heading[data-v-b8e55610],.bole-agent-row[data-v-b8e55610]{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}.bole-table-heading[data-v-b8e55610]>:last-child{display:none}.bole-agent-projects[data-v-b8e55610]{grid-column:2}.bole-timeline li[data-v-b8e55610]{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px 20px}.bole-timeline time[data-v-b8e55610]{grid-column:2}}@media (width<=700px),(height<=560px){.bole-panel[data-v-b8e55610]{overscroll-behavior:contain;overflow:auto}.bole-content[data-v-b8e55610]{flex:none;overflow:visible}}@media (width<=700px){.bole-header[data-v-b8e55610],.bole-controls[data-v-b8e55610]{padding-inline:16px}.bole-content[data-v-b8e55610]{padding:16px 16px 28px}.bole-heading[data-v-b8e55610]{gap:4px 16px;width:100%}.bole-views[data-v-b8e55610]{gap:16px}.bole-summary[data-v-b8e55610]{gap:8px 16px;margin-left:0}.bole-refresh[data-v-b8e55610]{margin-left:auto}.bole-filters[data-v-b8e55610]{gap:8px}.bole-search[data-v-b8e55610]{flex-basis:100%}.bole-filters .project-scope-picker[data-v-b8e55610]{flex:180px}.bole-filters select[data-v-b8e55610]{flex:120px}.bole-role-filters[data-v-b8e55610]{gap:4px}.bole-table-heading[data-v-b8e55610]{display:none}.bole-agent-row[data-v-b8e55610]{grid-template-columns:minmax(0,1fr);gap:12px}.bole-agent-row[data-v-b8e55610]:first-of-type{border-top:0}.bole-agent-projects[data-v-b8e55610]{grid-column:auto;padding-left:48px}.bole-agent-work[data-v-b8e55610]{padding-left:48px}.bole-timeline li[data-v-b8e55610]{grid-template-columns:minmax(0,1fr);gap:12px}.bole-timeline time[data-v-b8e55610]{grid-column:auto}.bole-alert[data-v-b8e55610]{padding-inline:16px}}.employee-dialog{border:1px solid var(--color-border);border-radius:var(--radius-dialog);width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-ink);background:var(--color-surface);box-sizing:border-box;box-shadow:var(--shadow-dialog);padding:0;overflow:hidden}.employee-dialog::backdrop{background:var(--color-overlay)}.employee-dialog-shell{flex-direction:column;min-height:0;max-height:calc(100dvh - 34px);display:flex}.employee-dialog header,.employee-dialog footer{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.employee-dialog header{border-bottom:1px solid var(--color-border)}.employee-dialog h2{margin:0;font-size:20px}.employee-dialog button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:40px;color:var(--color-ink);background:var(--color-surface);font:inherit;cursor:pointer;padding:8px 14px}.employee-dialog header>button{border:0;font-size:24px}.employee-dialog button:disabled{opacity:.5;cursor:default}.employee-dialog .primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.employee-dialog footer{border-top:1px solid var(--color-border);justify-content:flex-end}.employee-dialog-body{overscroll-behavior:contain;flex-direction:column;gap:18px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.employee-dialog-body>label{color:var(--color-muted);flex-direction:column;gap:8px;font-size:13px;display:flex}.employee-dialog-body input:not([type=checkbox]),.employee-dialog-body select,.employee-dialog-body textarea{box-sizing:border-box;width:100%;min-width:0}.employee-dialog-body textarea{resize:vertical}.employee-dialog :is(button,input,textarea,select,a):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.employee-dialog-error{color:var(--color-danger)}.employee-dialog-body p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.6}.employee-task-status{color:var(--color-muted)}@media (width<=640px){.employee-dialog header,.employee-dialog footer,.employee-dialog-body{padding:16px}}fieldset[data-v-1b440584]{border:0;min-width:0;margin:0;padding:0}.employee-share-result[data-v-1b440584]{gap:12px;display:grid}.employee-share-result label[data-v-1b440584]{gap:8px;font-size:13px;display:grid}.employee-share-result>div[data-v-1b440584]{align-items:center;gap:16px;display:flex}.employee-share-result a[data-v-1b440584]{color:var(--color-ink);font-size:13px}.employee-share-local[data-v-1b440584]{color:var(--color-warning)}.employee-share-preview[data-v-1b440584]{color:var(--color-ink);font-weight:600}.employee-share-empty[data-v-1b440584]{color:var(--color-warning);line-height:1.6}.employee-share-active[data-v-1b440584]{border-top:1px solid var(--color-border);padding-top:16px}.employee-share-active h3[data-v-1b440584]{margin:0 0 10px;font-size:14px}.employee-share-active>div[data-v-1b440584]{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.employee-share-active span[data-v-1b440584]{overflow-wrap:anywhere}footer>span[data-v-1b440584]{color:var(--color-muted);margin-right:auto;font-size:12px}.employee-workbench-view[data-v-424ede82]{background:var(--color-surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.employee-workbench-toolbar[data-v-424ede82]{flex:none;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px 10px;display:flex}.employee-workbench-identity[data-v-424ede82]{align-items:center;gap:10px;min-width:0;display:flex}.employee-workbench-mark[data-v-424ede82]{border-radius:var(--radius-control);background:var(--color-surface-subtle);height:32px;color:var(--color-ink);flex:0 0 32px;place-items:center;font-size:17px;font-weight:650;display:grid;overflow:hidden}.employee-workbench-mark img[data-v-424ede82]{object-fit:cover;width:100%;height:100%}.employee-share-button[data-v-424ede82]{border-radius:var(--radius-control);width:40px;height:40px;color:var(--color-ink);cursor:pointer;background:0 0;border:0;flex:0 0 40px;place-items:center;display:grid}.employee-share-button[data-v-424ede82]:hover{background:var(--color-surface-subtle)}.employee-share-button[data-v-424ede82]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.employee-workbench-toolbar h1[data-v-424ede82]{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:650;line-height:1.4}.employee-workbench-toolbar h1 span[data-v-424ede82]{color:var(--color-muted);margin-left:8px;font-size:12px;font-weight:400}.employee-workbench-actions[data-v-424ede82]{align-items:center;gap:12px;min-width:0;display:flex}.employee-manage-projects[data-v-424ede82],.employee-back-to-all[data-v-424ede82]{border-radius:var(--radius-control);min-height:40px;color:var(--color-ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:inline-flex}.employee-manage-projects[data-v-424ede82]:hover:not(:disabled),.employee-back-to-all[data-v-424ede82]:hover{background:var(--color-surface-subtle)}.employee-manage-projects[data-v-424ede82]:disabled{color:var(--color-muted);cursor:default}.employee-manage-projects[data-v-424ede82]:focus-visible,.employee-back-to-all[data-v-424ede82]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-workbench-frame[data-v-424ede82]{border:0;flex:1;width:100%;height:100%;min-height:0}.employee-workbench-state[data-v-424ede82]{color:var(--color-muted);text-align:center;flex:1;place-content:center;justify-items:center;gap:14px;padding:30px;font-size:14px;display:grid}.employee-workbench-state a[data-v-424ede82]{color:var(--color-ink)}.employee-workbench-state h2[data-v-424ede82]{color:var(--color-ink);font-size:20px;font-weight:600}.employee-workbench-state p[data-v-424ede82]{max-width:48ch;margin:0;line-height:1.7}@media (width<=640px){.employee-workbench-toolbar[data-v-424ede82]{flex-wrap:wrap;gap:10px;padding:8px 16px 10px}.employee-workbench-actions[data-v-424ede82]{justify-content:flex-end;gap:8px;width:100%}.employee-workbench-toolbar h1 span[data-v-424ede82]{margin-left:6px}}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{B as e,C as t,M as n,P as r,R as i,S as a,V as o,X as s,_ as c,a as l,b as u,d,h as f,it as p,m,tt as h,u as g,v as _,w as v,x as y,y as b}from"./i18n-D2CJkEYK.js";import{t as x}from"./console-BtPqo79j.js";import{t as ee}from"./GrowthLoading-KTjE2e50.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{h as C,m as w}from"./useApi-CROJJdhE-BtFMXFjw.js";import{t as T}from"./vue-router-DkaTtPn0.js";import{i as E,n as D,r as O}from"./client-B2cRl-7c.js";import{a as k,n as A,r as j,s as M,t as N}from"./catalog-DN72452f.js";import{n as P,t as F}from"./AgentHand-eGsXoGSq.js";import{i as I}from"./profile-model-BQO4zNs9.js";import{t as L}from"./useModalDialog-D8tiJfbc.js";import{t as R}from"./AgentName-Dtmu9Ff5.js";import{t as z}from"./ProjectScopePicker-BwB7gK-7.js";import{t as B}from"./EmployeeRecruitDialog-D11blfwU.js";import{i as te,r as V,t as H}from"./shared-report-DEK9wvhl.js";var ne=[`aria-busy`],U={key:0,class:`bole-alert`,role:`alert`},re={class:`bole-header`},ie={class:`bole-heading`},ae={id:`bole-overview-title`},W=[`aria-label`],G=[`aria-pressed`],K={"data-testid":`people-total`},q=[`aria-pressed`],J=[`aria-label`],oe={"data-testid":`people-working`},se=[`disabled`],ce={class:`bole-controls`},le={class:`bole-filters`},Y=[`aria-label`,`placeholder`],ue=[`aria-label`],X={value:`all`},de={value:`working`},fe={value:`idle`},pe=[`aria-label`],Z=[`aria-pressed`],me=[`aria-pressed`,`onClick`],he={key:1,class:`bole-result-count`,role:`status`},Q=[`aria-label`],ge={key:1,"aria-labelledby":`bole-work-title`},_e={key:0,class:`bole-empty`,role:`status`},ve={key:1,class:`ui-card bole-agent-list`},ye={class:`bole-table-heading`,"aria-hidden":`true`},be={class:`bole-agent-identity`},xe={class:`bole-agent-mark`,"aria-hidden":`true`},Se=[`src`],Ce={class:`bole-agent-work`},we=[`data-status`],Te={key:1,class:`is-idle`},Ee={class:`bole-agent-projects`},De={key:0},Oe={key:1},ke={key:2,class:`ui-empty bole-empty`},Ae={key:2,"aria-labelledby":`bole-history-title`},je={key:0,class:`ui-card bole-timeline`},Me={class:`bole-recruitment-identity`},Ne={class:`bole-recruitment-reason`},Pe=[`datetime`],Fe={key:1,class:`ui-empty bole-empty`},Ie=`__bole_unassigned__`,Le=200,Re=S(v({__name:`BolePeoplePanel`,props:{personalSpaceId:{},projects:{}},setup(e){let m=e,v=w(),x=s([]),S=s([]),C=s([]),T=s(!1),E=s(!1),O=s(`people`),k=s(``),A=s(``),j=s(`all`),M=s(null),N=s(null),L=c(()=>S.value.length>=Le),B=0,te=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]),V=c(()=>new Map(m.projects.map(e=>[e.project_id,e.profile.name]))),H=c(()=>x.value.filter(e=>e.status===`active`)),Re=c(()=>S.value.filter(e=>te.has(e.status))),ze=c(()=>new Set(He.value.filter(e=>e.task).map(e=>e.id))),Be=c(()=>new Set(H.value.flatMap(e=>e.projectIds).filter(Boolean))),Ve=c(()=>{let e=[`coordinator`,`durable`,`hr`,`temporary`],t=new Map;for(let e of H.value)t.set(e.type,(t.get(e.type)??0)+1);return[...t.entries()].sort(([t],[n])=>ct(e,t)-ct(e,n)).map(([e,t])=>({type:e,count:t,label:lt(e)}))}),He=c(()=>H.value.map(e=>({...e,task:e.workStatus?te.has(e.workStatus)&&e.currentTaskId?S.value.find(t=>t.id===e.currentTaskId)??{id:e.currentTaskId,title:e.currentTaskId,status:e.workStatus,projectId:``,agentIds:[e.id],updatedAt:``}:void 0:Re.value.filter(t=>t.agentIds.includes(e.id)).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}))),Ue=c(()=>[...C.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt))),We=c(()=>[...new Set([...m.projects.map(e=>e.project_id),...x.value.flatMap(e=>e.projectIds),...S.value.map(e=>e.projectId),...C.value.map(e=>e.projectId)].filter(Boolean))].map(e=>({id:e,name:V.value.get(e)??e})).sort((e,t)=>e.name.localeCompare(t.name)).concat({id:Ie,name:l(`employees.bole.noProject`)})),Ge=c({get:()=>M.value??We.value.map(e=>e.id),set:e=>{M.value=e.length===We.value.length?null:e}}),Ke=c(()=>He.value.filter(e=>{let t=[...e.projectIds,...e.task?.projectId?[e.task.projectId]:[]];return Ye(t)&&(!A.value||e.type===A.value)&&(j.value===`all`||(j.value===`working`?!!e.task:!e.task))&&Xe([e.name,e.responsibility,...e.searchTerms,e.task?.title??``,...t.map(ft)])}).sort((e,t)=>Number(!!t.task)-Number(!!e.task)||e.name.localeCompare(t.name))),qe=c(()=>Ue.value.filter(e=>Ye(e.projectId?[e.projectId]:[])&&(!A.value||e.positionKind===A.value)&&Xe([...Ze(e.agentId),e.reason,e.workKind,ft(e.projectId)]))),Je=c(()=>k.value||A.value||M.value!==null||O.value===`people`&&j.value!==`all`);function Ye(e){return M.value===null||(e.length?e:[Ie]).some(e=>M.value?.includes(e))}function Xe(e){return I(e.join(` `),k.value)}function Ze(e){let t=x.value.find(t=>t.id===e);return t?[t.name,t.responsibility,...t.searchTerms]:[e]}function Qe(){k.value=``,A.value=``,j.value=`all`,M.value=null}function $e(e){return P(e.replace(/^employee\./,``))}i([O,k,A,j,M],()=>{N.value&&(N.value.scrollTop=0)}),i([()=>m.personalSpaceId,()=>v.query.q],([e,t],[n])=>{e===n?k.value=typeof t==`string`?t:``:(Qe(),n===void 0&&(k.value=typeof t==`string`?t:``),et())},{immediate:!0});async function et(){let e=++B;if(x.value=[],S.value=[],C.value=[],E.value=!1,!m.personalSpaceId){T.value=!1;return}T.value=!0;let t=new URLSearchParams({personalSpaceId:m.personalSpaceId}),n=await Promise.allSettled([D(`/api/project-agents?${t}`),D(`/api/project-agent-tasks?${t}&limit=${Le}`),D(`/api/project-agent-recruitments?${t}`)]);e===B&&(n[0].status===`fulfilled`&&(x.value=nt(n[0].value,`agents`).map(it).filter(st)),n[1].status===`fulfilled`&&(S.value=nt(n[1].value,`tasks`).map(at).filter(st)),n[2].status===`fulfilled`&&(C.value=nt(n[2].value,`recruitments`).map(ot).filter(st)),E.value=n.some(e=>e.status===`rejected`),T.value=!1)}function tt(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function nt(e,t){if(Array.isArray(e))return e;let n=tt(e),r=n[t]??n.items;return Array.isArray(r)?r:[]}function $(e,t,n=t){let r=e[t]??e[n];return typeof r==`string`?r:``}function rt(e){return Array.isArray(e)?e:[]}function it(e){let t=tt(e),n=tt(t.profile),r=$(t,`agentId`,`agent_id`);if(!r)return null;let i=rt(t.assignments).flatMap(e=>{let t=tt(e),n=$(t,`status`),r=$(t,`personalProjectId`,`personal_project_id`);return n===`active`&&r?[r]:[]}),a=$(t,`personalProjectId`,`personal_project_id`);return{id:r,name:$(n,`displayName`,`display_name`)||$(n,`name`)||r,emoji:$(n,`occupationEmoji`,`occupation_emoji`)||`✦`,responsibility:$(n,`responsibility`),searchTerms:[$(n,`name`),...rt(n.capabilities),...rt(n.workKinds??n.work_kinds)].filter(e=>typeof e==`string`),type:$(n,`agentType`,`agent_type`)||`other`,status:$(n,`status`)||`active`,projectIds:[...new Set([...i,...a?[a]:[]])],currentTaskId:$(t,`currentTaskId`,`current_task_id`),workStatus:$(t,`workStatus`,`work_status`)}}function at(e){let t=tt(e),n=$(t,`taskId`,`task_id`);if(!n)return null;let r=[$(t,`ownerAgentId`,`owner_agent_id`),$(t,`leadAgentId`,`lead_agent_id`)],i=rt(t.participants).flatMap(e=>{let t=tt(e),n=$(t,`status`);return n&&!te.has(n)?[]:[$(t,`agentId`,`agent_id`)]});return{id:n,title:$(t,`title`)||n,status:$(t,`status`)||`queued`,projectId:$(t,`personalProjectId`,`personal_project_id`),agentIds:[...new Set([...r,...i].filter(Boolean))],updatedAt:$(t,`updatedAt`,`updated_at`)||$(t,`createdAt`,`created_at`)}}function ot(e){let t=tt(e),n=$(t,`recruitmentId`,`recruitment_id`);return n?{id:n,agentId:$(t,`recruitedAgentId`,`recruited_agent_id`)||$(t,`proposedAgentId`,`proposed_agent_id`),projectId:$(t,`personalProjectId`,`personal_project_id`),workKind:$(t,`workKind`,`work_kind`),positionKind:$(t,`positionKind`,`position_kind`),reason:$(t,`reason`)||$(t,`reasonCode`,`reason_code`),status:$(t,`status`),createdAt:$(t,`createdAt`,`created_at`)}:null}function st(e){return e!==null}function ct(e,t){let n=e.indexOf(t);return n<0?e.length:n}function lt(e){return[`coordinator`,`durable`,`hr`,`temporary`].includes(e)?l(`employees.bole.types.${e}`):l(`employees.bole.types.other`)}function ut(e){return[`awaiting_recruitment`,`queued`,`running`,`paused`,`failed`,`awaiting_review`,`blocked`].includes(e)?l(`employees.bole.status.${e}`):e}function dt(e){return x.value.find(t=>t.id===e)?.name??e}function ft(e){return V.value.get(e)??l(`employees.bole.noProject`)}function pt(e){if(!e)return l(`employees.bole.unknownTime`);let t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(t)}return(i,s)=>(n(),y(`div`,{class:`bole-panel`,"aria-busy":T.value},[E.value?(n(),y(`div`,U,[_(`span`,null,p(h(l)(`employees.bole.partialError`)),1),_(`button`,{class:`quiet-button`,type:`button`,onClick:et},p(h(l)(`employees.retry`)),1)])):u(``,!0),_(`header`,re,[_(`div`,ie,[_(`h2`,ae,p(h(l)(`employees.bole.title`)),1),_(`nav`,{class:`bole-views`,"aria-label":h(l)(`employees.bole.viewLabel`)},[_(`button`,{id:`bole-work-title`,type:`button`,"aria-pressed":O.value===`people`,onClick:s[0]||=e=>O.value=`people`},[a(p(h(l)(`employees.bole.currentWork`))+` `,1),_(`span`,K,p(T.value?`—`:H.value.length),1)],8,G),_(`button`,{id:`bole-history-title`,type:`button`,"aria-pressed":O.value===`history`,onClick:s[1]||=e=>O.value=`history`},[a(p(h(l)(`employees.bole.recruitmentHistory`))+` `,1),_(`span`,null,p(T.value?`—`:C.value.length),1)],8,q)],8,W)]),_(`dl`,{class:`bole-summary`,"aria-label":h(l)(`employees.bole.overview`)},[_(`div`,oe,[_(`dt`,null,p(h(l)(`employees.bole.workingNow`)),1),_(`dd`,null,p(T.value?`—`:ze.value.size),1)]),_(`div`,null,[_(`dt`,null,p(h(l)(`employees.bole.coveredProjects`)),1),_(`dd`,null,p(T.value?`—`:Be.value.size),1)])],8,J),_(`button`,{class:`quiet-button bole-refresh`,type:`button`,disabled:T.value,onClick:et},p(h(l)(`common.actions.refresh`)),9,se)]),_(`div`,ce,[_(`div`,le,[o(_(`input`,{"onUpdate:modelValue":s[2]||=e=>k.value=e,type:`search`,class:`bole-search`,"aria-label":h(l)(`employees.bole.search`),placeholder:h(l)(`employees.bole.search`)},null,8,Y),[[d,k.value]]),t(z,{modelValue:Ge.value,"onUpdate:modelValue":s[3]||=e=>Ge.value=e,projects:We.value,label:h(l)(`employees.allProjects.projectFilter`),"all-label":h(l)(`employees.bole.allProjects`),"empty-label":h(l)(`employees.filterEmpty`),compact:``,hint:``},null,8,[`modelValue`,`projects`,`label`,`all-label`,`empty-label`]),O.value===`people`?o((n(),y(`select`,{key:0,"onUpdate:modelValue":s[4]||=e=>j.value=e,"aria-label":h(l)(`employees.bole.workFilter`)},[_(`option`,X,p(h(l)(`employees.bole.allWork`)),1),_(`option`,de,p(h(l)(`employees.bole.workingNow`)),1),_(`option`,fe,p(h(l)(`employees.bole.withoutTask`)),1)],8,ue)),[[g,j.value]]):u(``,!0)]),_(`div`,{class:`bole-role-filters`,role:`group`,"aria-label":h(l)(`employees.bole.distribution`)},[_(`button`,{type:`button`,"aria-pressed":!A.value,onClick:s[5]||=e=>A.value=``},p(h(l)(`employees.bole.allRoles`)),9,Z),(n(!0),y(f,null,r(Ve.value,e=>(n(),y(`button`,{key:e.type,type:`button`,"aria-pressed":A.value===e.type,onClick:t=>A.value=A.value===e.type?``:e.type},[a(p(e.label)+` `,1),_(`span`,null,p(e.count),1)],8,me))),128)),Je.value?(n(),y(`button`,{key:0,class:`quiet-button bole-clear`,type:`button`,onClick:Qe},p(h(l)(`employees.bole.clearFilters`)),1)):u(``,!0),Je.value&&!T.value?(n(),y(`span`,he,p(h(l)(`employees.bole.resultCount`,{count:O.value===`people`?Ke.value.length:qe.value.length})),1)):u(``,!0)],8,pe)]),_(`div`,{ref_key:`scrollRegion`,ref:N,class:`bole-content`,tabindex:`0`,role:`region`,"aria-label":h(l)(O.value===`people`?`employees.bole.currentWork`:`employees.bole.recruitmentHistory`)},[T.value?(n(),b(ee,{key:0,variant:`compact`,label:h(l)(`employees.bole.loading`)},null,8,[`label`])):O.value===`people`?(n(),y(`section`,ge,[L.value?(n(),y(`p`,_e,p(h(l)(`employees.bole.taskLimit`)),1)):u(``,!0),Ke.value.length?(n(),y(`div`,ve,[_(`div`,ye,[_(`span`,null,p(h(l)(`projectAgents.title`)),1),_(`span`,null,p(h(l)(`employees.bole.taskColumn`)),1),_(`span`,null,p(h(l)(`employees.bole.projectsColumn`)),1)]),(n(!0),y(f,null,r(Ke.value,i=>(n(),y(`article`,{key:i.id,class:`bole-agent-row`},[_(`div`,be,[_(`span`,xe,[$e(i.id)?(n(),y(`img`,{key:0,src:$e(i.id),alt:``},null,8,Se)):(n(),y(f,{key:1},[a(p(i.emoji),1)],64))]),_(`div`,null,[_(`strong`,null,[t(R,{"space-id":e.personalSpaceId,"agent-id":i.id,name:i.name},null,8,[`space-id`,`agent-id`,`name`])]),t(F,{"agent-id":i.id},null,8,[`agent-id`]),_(`small`,null,p(i.responsibility||lt(i.type)),1)])]),_(`div`,Ce,[i.task?(n(),y(f,{key:0},[_(`span`,{class:`ui-badge bole-status`,"data-status":i.task.status},p(ut(i.task.status)),9,we),_(`p`,null,p(i.task.title),1)],64)):(n(),y(`p`,Te,p(h(l)(`employees.bole.idle`)),1))]),_(`div`,Ee,[i.projectIds.length?(n(),y(f,{key:0},[(n(!0),y(f,null,r(i.projectIds.slice(0,2),e=>(n(),y(`span`,{key:e},p(ft(e)),1))),128)),i.projectIds.length>2?(n(),y(`details`,De,[_(`summary`,null,p(h(l)(`employees.bole.moreProjects`,{count:i.projectIds.length-2})),1),(n(!0),y(f,null,r(i.projectIds.slice(2),e=>(n(),y(`span`,{key:e},p(ft(e)),1))),128))])):u(``,!0)],64)):(n(),y(`span`,Oe,p(i.task?.projectId?ft(i.task.projectId):h(l)(`employees.bole.noProject`)),1))])]))),128))])):(n(),y(`p`,ke,p(h(l)(Je.value?`employees.bole.noMatch`:`employees.bole.noAgents`)),1))])):(n(),y(`section`,Ae,[qe.value.length?(n(),y(`ol`,je,[(n(!0),y(f,null,r(qe.value,r=>(n(),y(`li`,{key:r.id},[_(`div`,Me,[_(`strong`,null,[t(R,{"space-id":e.personalSpaceId,"agent-id":r.agentId,name:dt(r.agentId)},null,8,[`space-id`,`agent-id`,`name`])]),_(`small`,null,p(lt(r.positionKind))+` · `+p(ft(r.projectId)),1)]),_(`div`,Ne,[_(`p`,null,p(r.reason),1),_(`small`,null,p(r.workKind||r.status),1)]),_(`time`,{datetime:r.createdAt},p(pt(r.createdAt)),9,Pe)]))),128))])):(n(),y(`p`,Fe,p(h(l)(Je.value?`employees.bole.noMatch`:`employees.bole.noRecruitments`)),1))]))],8,Q)],8,ne))}}),[[`__scopeId`,`data-v-b8e55610`]]),ze={id:`employee-task-title`},Be=[`disabled`,`aria-label`],Ve={class:`employee-dialog-body`},He={key:1,class:`employee-dialog-error`,role:`alert`},Ue=[`disabled`],We=[`disabled`],Ge={disabled:``,value:``},Ke=[`value`],qe=[`readonly`,`disabled`],Je={key:0,class:`employee-task-status`},Ye=[`readonly`,`disabled`],Xe=[`disabled`],Ze=[`value`],Qe=[`readonly`,`disabled`],$e=[`readonly`,`disabled`],et=[`disabled`],tt=[`disabled`],nt=v({__name:`EmployeeTaskDialog`,props:{open:{type:Boolean},item:{},projects:{},defaultProjectId:{},personalSpaceId:{},canWrite:{type:Boolean}},emits:[`close`,`saved`],setup(e,{emit:t}){let v=e,x=t,S=s(!1),C=s(!1),w=s(``),T=s(null),D=s(``),O=s(``),k=s(``),A=s(`medium`),M=s(``),N=s(``),P=0,F={signature:``,id:``},I=c(()=>v.canWrite&&!C.value&&!w.value&&!!D.value&&O.value.trim().length>=2),{dialogRef:R,initialFocusRef:z,onCancel:B,onKeydown:te}=L(()=>v.open,U);i([()=>v.open,()=>v.item,()=>v.personalSpaceId],()=>{H()},{immediate:!0});async function V(e,t){return E(`/api/employee-templates/jefa/call`,{personalSpaceId:v.personalSpaceId,personalProjectId:D.value,tool:e,arguments:t})}async function H(){let e=++P;if(v.open&&(w.value=``,T.value=null,F={signature:``,id:``},D.value=v.item?.projectId??v.defaultProjectId??``,O.value=``,k.value=``,A.value=`medium`,M.value=``,N.value=``,C.value=!!v.item,v.item))try{let t=await V(`get_task`,{workItemId:v.item.id});if(e!==P)return;if(t.item.id!==v.item.id||t.item.projectId!==D.value||!t.item.updatedAt)throw Error(l(`employees.loadError`));T.value=t.item,O.value=t.item.title,k.value=t.item.summary??``,A.value=t.item.priority??`medium`,M.value=t.item.acceptanceCriteria?.join(`
|
|
2
|
+
`)??``,N.value=t.item.tags?.join(`, `)??``}catch(t){e===P&&(w.value=j(t))}finally{e===P&&(C.value=!1)}}async function ne(){if(!I.value||S.value)return;S.value=!0;let e={title:O.value.trim(),summary:k.value.trim()||O.value.trim(),priority:A.value,acceptanceCriteria:M.value.split(`
|
|
3
|
+
`).map(e=>e.trim()).filter(Boolean),tags:N.value.split(/[,,]/).map(e=>e.trim()).filter(Boolean)},t=JSON.stringify([D.value,T.value?.updatedAt,e]);F.signature!==t&&(F={signature:t,id:`board-edit-${crypto.randomUUID()}`});try{T.value?await V(`update_tasks`,{requestId:F.id,updates:[{id:T.value.id,expectedUpdatedAt:T.value.updatedAt,...e}]}):await V(`create_tasks`,{messageId:F.id,tasks:[e]}),x(`saved`),x(`close`)}catch(e){w.value=j(e)}finally{S.value=!1}}function U(){S.value||x(`close`)}return(t,i)=>(n(),y(`dialog`,{ref_key:`dialogRef`,ref:R,class:`employee-dialog`,"aria-labelledby":`employee-task-title`,onCancel:i[6]||=(...e)=>h(B)&&h(B)(...e),onKeydown:i[7]||=(...e)=>h(te)&&h(te)(...e)},[_(`form`,{class:`employee-dialog-shell`,onSubmit:m(ne,[`prevent`])},[_(`header`,null,[_(`h2`,ze,p(h(l)(e.item?`employees.task.detail`:`employees.task.create`)),1),_(`button`,{type:`button`,disabled:S.value,"aria-label":h(l)(`employees.close`),onClick:U},`×`,8,Be)]),_(`div`,Ve,[C.value?(n(),b(ee,{key:0,variant:`compact`,label:h(l)(`employees.loadingTask`)},null,8,[`label`])):u(``,!0),w.value?(n(),y(`div`,He,[_(`p`,null,p(w.value),1),_(`button`,{type:`button`,disabled:S.value,onClick:H},p(h(l)(`employees.task.reload`)),9,Ue)])):u(``,!0),C.value?u(``,!0):(n(),y(f,{key:2},[_(`label`,null,[a(p(h(l)(`employees.task.project`)),1),o(_(`select`,{"onUpdate:modelValue":i[0]||=e=>D.value=e,disabled:!!e.item||S.value||!e.canWrite,required:``},[_(`option`,Ge,p(h(l)(`employees.task.chooseProject`)),1),(n(!0),y(f,null,r(e.projects,e=>(n(),y(`option`,{key:e.id,value:e.id},p(e.name),9,Ke))),128))],8,We),[[g,D.value]])]),_(`label`,null,[a(p(h(l)(`employees.task.title`)),1),o(_(`input`,{ref_key:`initialFocusRef`,ref:z,"onUpdate:modelValue":i[1]||=e=>O.value=e,minlength:`2`,maxlength:`180`,required:``,readonly:!e.canWrite,disabled:S.value},null,8,qe),[[d,O.value]])]),T.value?(n(),y(`p`,Je,p(h(l)(`employees.allProjects.status.${T.value.status}`)),1)):u(``,!0),_(`label`,null,[a(p(h(l)(`employees.task.summary`)),1),o(_(`textarea`,{"onUpdate:modelValue":i[2]||=e=>k.value=e,rows:`4`,maxlength:`2000`,readonly:!e.canWrite,disabled:S.value},null,8,Ye),[[d,k.value]])]),_(`label`,null,[a(p(h(l)(`employees.task.priority`)),1),o(_(`select`,{"onUpdate:modelValue":i[3]||=e=>A.value=e,disabled:!e.canWrite||S.value},[(n(),y(f,null,r([`critical`,`high`,`medium`,`low`],e=>_(`option`,{key:e,value:e},p(h(l)(`employees.task.priorities.${e}`)),9,Ze)),64))],8,Xe),[[g,A.value]])]),_(`label`,null,[a(p(h(l)(`employees.task.criteria`)),1),o(_(`textarea`,{"onUpdate:modelValue":i[4]||=e=>M.value=e,rows:`3`,readonly:!e.canWrite,disabled:S.value},null,8,Qe),[[d,M.value]])]),_(`label`,null,[a(p(h(l)(`employees.task.tags`)),1),o(_(`input`,{"onUpdate:modelValue":i[5]||=e=>N.value=e,readonly:!e.canWrite,disabled:S.value},null,8,$e),[[d,N.value]])])],64))]),_(`footer`,null,[_(`button`,{type:`button`,disabled:S.value,onClick:U},p(h(l)(`employees.close`)),9,et),e.canWrite?(n(),y(`button`,{key:0,class:`primary`,type:`submit`,disabled:!I.value||S.value},[S.value?(n(),b(ee,{key:0,variant:`inline`,label:h(l)(`employees.task.saving`)},null,8,[`label`])):(n(),y(f,{key:1},[a(p(h(l)(`employees.task.save`)),1)],64))],8,tt)):u(``,!0)])],32)],544))}}),$={class:`employee-dialog-shell`},rt={id:`employee-share-title`},it=[`disabled`,`aria-label`],at={class:`employee-dialog-body`},ot=[`disabled`],st={key:1,class:`employee-share-preview`,role:`status`},ct={key:2,class:`employee-share-empty`},lt=[`disabled`],ut={key:3,class:`employee-dialog-error`,role:`alert`},dt={key:4,class:`employee-share-result`},ft=[`value`,`aria-label`],pt=[`href`],mt={key:5,class:`employee-share-local`},ht={key:6,class:`employee-share-active`},gt=[`disabled`,`onClick`],_t=[`disabled`],vt=S(v({__name:`EmployeeShareDialog`,props:{open:{type:Boolean},projects:{}},emits:[`close`],setup(e,{emit:o}){let d=e,m=o,g=s([]),v=s({}),x=s({}),S=s(!1),C=s(!1),w=s(null),T=s(``),E=s(``),k=s(``),A=s(!1),M=0,{dialogRef:N,initialFocusRef:P,onCancel:F,onKeydown:I}=L(()=>d.open,W),R=c(()=>d.projects.filter(e=>v.value[e.id]?.publicShareEnabled)),B=c(()=>g.value.every(e=>x.value[e]!==void 0)?g.value.reduce((e,t)=>e+x.value[t],0):null),te=[`localhost`,`127.0.0.1`,`[::1]`].includes(window.location.hostname);i([()=>d.open,()=>JSON.stringify(d.projects.map(e=>e.id))],()=>{d.open?U():++M},{immediate:!0}),i(g,()=>{k.value=``,A.value=!1});function ne(e){return`/employee-workspaces/jefa/${encodeURIComponent(e)}/api`}async function U(e=!1){let t=++M;e||(g.value=[]),v.value={},x.value={},E.value=``,k.value=``,S.value=!0;let n=await Promise.allSettled(d.projects.map(async e=>{let t=(await D(`${ne(e.id)}/snapshot`)).snapshot.projects.find(t=>t.id===e.id);if(!t)throw Error(l(`employees.loadError`));let n=null,r=!1;if(t.publicShareEnabled&&t.publicShareSlug)try{n=(await H({id:e.id,slug:t.publicShareSlug})).items.length}catch{r=!0}return{state:t,count:n,previewFailed:r}}));if(t===M){for(let e of n)e.status===`fulfilled`&&(v.value[e.value.state.id]=e.value.state,e.value.count!==null&&(x.value[e.value.state.id]=e.value.count));n.some(e=>e.status===`rejected`||e.value.previewFailed)&&(E.value=l(`employees.share.loadFailed`)),S.value=!1}}async function re(){if(!g.value.length||C.value||S.value||B.value===0)return;C.value=!0,w.value=`generate`,T.value=``,E.value=``,k.value=``,A.value=!1;let e=M,t=g.value.filter(e=>d.projects.some(t=>t.id===e));try{let n=await Promise.allSettled(t.map(async t=>{if(!v.value[t])throw Error(l(`employees.share.loadFailed`));let n=v.value[t];if(!n.publicShareEnabled||!n.publicShareSlug){if(n=(await O(`/employee-workspaces/jefa/${encodeURIComponent(t)}/api/projects/${encodeURIComponent(t)}/sharing`,{publicShareEnabled:!0,acceptsPublicRequests:!1})).project,n.id!==t||!n.publicShareEnabled||!n.publicShareSlug)throw Error(l(`employees.loadError`));if(e!==M)throw Error(l(`employees.share.loadFailed`));v.value[t]=n}let r=(await H({id:t,slug:n.publicShareSlug})).items.length;if(e!==M)throw Error(l(`employees.share.loadFailed`));return x.value[t]=r,{id:t,slug:n.publicShareSlug}}));if(e!==M)return;if(n.some(e=>e.status===`rejected`))throw Error(l(`employees.share.partial`));if(t.every(e=>x.value[e]===0))throw Error(l(`employees.shareContent.emptySelection`));k.value=V(n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]),window.location.origin)}catch(t){e===M&&(E.value=j(t))}finally{C.value=!1,w.value=null,T.value=``}}async function ie(e){if(!C.value){C.value=!0,w.value=`revoke`,T.value=e,E.value=``,k.value=``,A.value=!1;try{let t=await O(`/employee-workspaces/jefa/${encodeURIComponent(e)}/api/projects/${encodeURIComponent(e)}/sharing`,{publicShareEnabled:!1,acceptsPublicRequests:!1});if(t.project.id!==e||t.project.publicShareEnabled)throw Error(l(`employees.loadError`));v.value[e]=t.project,delete x.value[e]}catch(e){E.value=j(e)}finally{C.value=!1,w.value=null,T.value=``}}}async function ae(){try{await navigator.clipboard.writeText(k.value),A.value=!0}catch{E.value=l(`employees.share.copyFailed`)}}function W(){C.value||m(`close`)}return(i,o)=>(n(),y(`dialog`,{ref_key:`dialogRef`,ref:N,class:`employee-dialog employee-share-dialog`,"aria-labelledby":`employee-share-title`,onCancel:o[4]||=(...e)=>h(F)&&h(F)(...e),onKeydown:o[5]||=(...e)=>h(I)&&h(I)(...e)},[_(`div`,$,[_(`header`,null,[_(`h2`,rt,p(h(l)(`employees.share.title`)),1),_(`button`,{ref_key:`initialFocusRef`,ref:P,type:`button`,disabled:C.value,"aria-label":h(l)(`employees.close`),onClick:W},`×`,8,it)]),_(`div`,at,[_(`p`,null,p(h(l)(`employees.share.scopeHint`)),1),_(`p`,null,p(h(l)(`employees.share.disclosure`)),1),S.value?(n(),b(ee,{key:0,variant:`compact`,label:h(l)(`employees.loadingShare`)},null,8,[`label`])):u(``,!0),_(`fieldset`,{disabled:C.value||S.value},[t(z,{modelValue:g.value,"onUpdate:modelValue":o[0]||=e=>g.value=e,projects:e.projects,disabled:C.value||S.value,inline:``,label:h(l)(`employees.share.projects`),hint:h(l)(`employees.share.selectionHint`)},null,8,[`modelValue`,`projects`,`disabled`,`label`,`hint`])],8,ot),g.value.length&&!S.value?(n(),y(`p`,st,p(B.value===null?h(l)(`employees.shareContent.verifyContent`):h(l)(`employees.shareContent.publicCount`,{count:B.value})),1)):u(``,!0),g.value.length&&!S.value&&B.value===0?(n(),y(`p`,ct,p(h(l)(`employees.shareContent.emptySelection`)),1)):u(``,!0),_(`button`,{type:`button`,disabled:C.value||S.value,onClick:o[1]||=e=>U(!0)},p(h(l)(`common.actions.refresh`)),9,lt),E.value?(n(),y(`div`,ut,[_(`p`,null,p(E.value),1),C.value?u(``,!0):(n(),y(`button`,{key:0,type:`button`,onClick:o[2]||=e=>U(!0)},p(h(l)(`employees.retry`)),1))])):u(``,!0),k.value?(n(),y(`div`,dt,[_(`label`,null,[a(p(h(l)(`employees.share.link`)),1),_(`input`,{value:k.value,readonly:``,"aria-label":h(l)(`employees.share.link`),onFocus:o[3]||=e=>e.target.select()},null,40,ft)]),_(`div`,null,[_(`button`,{type:`button`,onClick:ae},p(h(l)(A.value?`employees.share.copied`:`employees.share.copy`)),1),_(`a`,{href:k.value,target:`_blank`,rel:`noreferrer`},p(h(l)(`employees.share.preview`)),9,pt)])])):u(``,!0),h(te)?(n(),y(`p`,mt,p(h(l)(`employees.share.local`)),1)):u(``,!0),R.value.length?(n(),y(`section`,ht,[_(`h3`,null,p(h(l)(`employees.share.active`)),1),(n(!0),y(f,null,r(R.value,e=>(n(),y(`div`,{key:e.id},[_(`span`,null,p(e.name),1),_(`button`,{type:`button`,disabled:C.value,onClick:t=>ie(e.id)},[w.value===`revoke`&&T.value===e.id?(n(),b(ee,{key:0,variant:`inline`,label:h(l)(`employees.share.revoking`)},null,8,[`label`])):(n(),y(f,{key:1},[a(p(h(l)(`employees.share.revoke`)),1)],64))],8,gt)]))),128))])):u(``,!0)]),_(`footer`,null,[_(`span`,null,p(h(l)(`employees.scope.count`,{selected:g.value.length,total:e.projects.length})),1),_(`button`,{class:`primary`,type:`button`,disabled:!g.value.length||C.value||S.value||B.value===0,onClick:re},[w.value===`generate`?(n(),b(ee,{key:0,variant:`inline`,label:h(l)(`employees.share.generating`)},null,8,[`label`])):(n(),y(f,{key:1},[a(p(h(l)(`employees.share.generate`)),1)],64))],8,_t)])])],544))}}),[[`__scopeId`,`data-v-1b440584`]]);function yt(e){return`fuli:jefa:project-filter:v1:${encodeURIComponent(e)}`}function bt(e){let t=w(),n=C(),r=s(null),a=s(!1),o=s(!1),l=!1,u=``,d=!0;i([e.enabled,e.spaceId],([e,t])=>{let n=e?t:``;if(n!==u&&(d=!u||!n,u=n,r.value=null,l=!1,a.value=!1,o.value=!1,u))try{let e=localStorage.getItem(yt(u));if(!e)return;let t=JSON.parse(e);t&&typeof t==`object`&&`version`in t&&t.version===1&&`projectIds`in t&&Array.isArray(t.projectIds)&&t.projectIds.every(e=>typeof e==`string`&&e.length>0&&e===e.trim())&&(r.value=[...new Set(t.projectIds)],l=!0)}catch(e){o.value=!(e instanceof SyntaxError)}},{immediate:!0,flush:`sync`});function f(){if(u)try{let e=yt(u);r.value===null?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify({version:1,projectIds:r.value})),o.value=!1}catch{o.value=!0}}function p(){let e=t.query.project;return[...new Set((Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`&&!!e))]}function m(){return[t.query.empty].flat().includes(`1`)}function h(e){return!e.length&&!m()||e.length===1&&[`all`,`__all__`].includes(e[0])}let g=c(()=>e.projectIds.value.filter(e=>r.value===null||r.value.includes(e)));function _(){if(!e.enabled.value||!u||!e.ready.value||!l)return;let i=g.value,a=p(),o=r.value===null||i.length>0&&i.length===e.projectIds.value.length;o&&t.query.project===`all`&&t.query.empty===void 0||r.value!==null&&!h(a)&&a.length===i.length&&a.every(e=>i.includes(e))&&(i.length>0||t.query.empty===`1`)||n.replace({query:{...t.query,project:o?`all`:i.length?i:``,empty:o||i.length?void 0:`1`}})}i([e.enabled,e.spaceId,e.ready,e.projectIds,()=>t.query.project,()=>t.query.empty],()=>{if(!(!e.enabled.value||!u||!e.ready.value)){if(!l){let t=p(),n=!d||h(t);if(a.value=!n&&t.some(t=>!e.projectIds.value.includes(t)),a.value)return;r.value=n?null:[...new Set(t)],l=!0,n||f()}_()}},{immediate:!0});let v=c({get:()=>g.value,set:t=>{if(!e.enabled.value||!u||!e.ready.value)return;let n=r.value?.filter(t=>!e.projectIds.value.includes(t))??[];r.value=[...new Set([...n,...t.filter(t=>e.projectIds.value.includes(t))])],l=!0,a.value=!1,f(),_()}});function y(){r.value=null,l=!0,a.value=!1,f(),_()}return{selection:v,reset:y,invalidScope:a,storageUnavailable:o}}var xt=[`aria-label`],St={class:`employee-workbench-toolbar`},Ct={class:`employee-workbench-identity`},wt={class:`employee-workbench-mark`,"aria-hidden":`true`},Tt=[`src`],Et=[`aria-label`,`title`],Dt={class:`employee-workbench-actions`},Ot=[`disabled`],kt={key:4,class:`employee-workbench-state`,role:`alert`},At={key:5,class:`employee-workbench-state`},jt={key:7,class:`employee-workbench-state`},Mt={key:8,class:`employee-workbench-state`},Nt={key:10,class:`employee-workbench-state`},Pt=[`src`,`title`],Ft=`all`,It=S(v({__name:`EmployeeWorkbenchPage`,setup(r){let o=w(),d=C(),m=x(),g=s(``),v=s(null),S=s([]),F=s([]),I=s([]),L=s([]),R=s(``),z=s(``),V=s(!1),H=s(!1),ne=s(!1),U=s(!1),re=s(!1),ie=s(!1),ae=s(null),W=c(()=>m.activePersonalSpace?.id??``),G=c(()=>String(o.params.templateId??``)),K=c(()=>k.value.find(e=>e.id===G.value)),q=c(()=>K.value?.workbench?.kind===`native`&&K.value.workbench.view===`people`),J=c(()=>G.value===`jefa`),oe=c(()=>!m.state&&(m.runtimeStatus===`idle`||m.runtimeStatus===`loading`)||!H.value||V.value),se=c(()=>m.state?A.value||!H.value?l(`employees.loading`):l(`employees.loadingBoard`):l(`common.status.loadingConsole`)),ce=c(()=>!m.state&&m.runtimeStatus===`error`?m.feedback?.message||l(`employees.loadError`):``),le=c(()=>ce.value||N.value||(J.value&&X.invalidScope.value?l(`employees.invalidScope`):z.value)),Y=c(()=>K.value?.managedProjects===void 0?(K.value?.assignments??[]).filter(e=>e.status===`active`).map(e=>({value:e.personalProjectId,label:m.state?.personalProjects?.find(t=>t.project_id===e.personalProjectId)?.profile.name??e.personalProjectId})):K.value.managedProjects.map(e=>({value:e.id,label:e.name}))),ue=c(()=>JSON.stringify([...new Set(Y.value.map(e=>e.value))].sort()));i(W,e=>{H.value=!1,M(e)},{immediate:!0});let X=bt({enabled:J,spaceId:W,projectIds:c(()=>Y.value.map(e=>e.value)),ready:c(()=>!A.value&&!N.value&&!!K.value)}),de=c({get:()=>{if(J.value)return X.selection.value;let e=new Set(I.value);return Y.value.filter(t=>!e.has(t.value)).map(e=>e.value)},set:e=>{if(J.value){X.selection.value=e;return}let t=new Set(Y.value.map(e=>e.value)),n=new Set(e);I.value=[...I.value.filter(e=>!t.has(e)),...Y.value.filter(e=>!n.has(e.value)).map(e=>e.value)]}}),fe=c(()=>{let e=new Set(de.value);return S.value.filter(t=>e.has(t.project.id))}),pe=c(()=>{let e=new Set(de.value);return F.value.filter(t=>e.has(t)).length}),Z=c(()=>K.value?.runtimeStatus===`ready`&&K.value.permissions.includes(`board.read`)&&Y.value.length>0),me=c(()=>Z.value?[{value:Ft,label:l(`employees.allProjects.option`),meta:l(`employees.allProjects.optionMeta`,{count:Y.value.length})},...Y.value]:Y.value),he=0;i([G,W],()=>{I.value=[],ie.value=!1,re.value=!1,ae.value=null}),i([me,()=>o.query.project,()=>o.query.empty,G,q],()=>{if(q.value){if(++he,g.value=``,V.value=!1,z.value=``,o.query.project!==void 0){let{project:e,...t}=o.query;d.replace({query:t})}return}if(J.value){g.value=Y.value.length?Ft:``;return}let e=typeof o.query.project==`string`?o.query.project:``,t=me.value;g.value=e||(t.some(e=>e.value===g.value)?g.value:t[0]?.value??``),!e&&g.value&&d.replace({query:{...o.query,project:g.value}})},{immediate:!0}),i([G,g,W,Z,H],()=>{!q.value&&H.value&&Q()},{immediate:!0}),i(A,e=>{if(!e){if(!H.value){H.value=!0;return}ne.value&&(ne.value=!1,Q())}},{immediate:!0}),i(X.invalidScope,e=>{!e&&J.value&&H.value&&Q()}),i(ue,(e,t)=>{e===t||!H.value||q.value||Q()});async function Q(){let e=++he;if(v.value=null,S.value=[],F.value=[],R.value=``,z.value=``,q.value||!K.value||!g.value||!W.value){V.value=!1;return}if(J.value&&!Z.value){V.value=!1;return}if(J.value&&X.invalidScope.value){V.value=!1;return}if(A.value){ne.value=!0,V.value=!0;return}ne.value=!1;let t=G.value,n=g.value;V.value=!0;try{if(n===Ft&&Z.value){let n=await Promise.all(Y.value.map(async e=>{try{let n=await E(`/api/employee-templates/${encodeURIComponent(t)}/call`,{personalSpaceId:W.value,personalProjectId:e.value,tool:`read_board`,arguments:{limit:100}}),r=Array.isArray(n.items)?n.items.filter(xe).filter(t=>t.projectId===e.value):[],i=n.truncated;if(t===`jefa`&&i)try{let t=await D(`/employee-workspaces/jefa/${encodeURIComponent(e.value)}/api/snapshot`);if(!Array.isArray(t.snapshot.workItems))throw Error(`Invalid board snapshot`);r=t.snapshot.workItems.filter(xe).filter(t=>t.projectId===e.value),i=!1}catch{}return{ok:!0,board:{...n,truncated:i,project:{id:e.value,name:e.label},items:r}}}catch(t){return{ok:!1,cause:t,projectId:e.value}}}));if(e!==he)return;S.value=n.filter(e=>e.ok).map(e=>e.board),F.value=n.flatMap(e=>e.ok?[]:[e.projectId]),!S.value.length&&F.value.length&&(z.value=j(n.find(e=>!e.ok)?.cause));return}let r=await D(`/api/employee-templates/${encodeURIComponent(t)}/workspace?${new URLSearchParams({personalSpaceId:W.value,personalProjectId:n})}`),i=`/employee-workspaces/${encodeURIComponent(t)}/${encodeURIComponent(n)}/`;if(r.workbenchUrl!==i)throw Error(l(`employees.loadError`));e===he&&(v.value=r)}catch(t){e===he&&(z.value=j(t))}finally{e===he&&(V.value=!1)}}function ge(e=null){ae.value=e,ie.value=!0}function _e(e){return`${e.projectId}:${e.id}`}function ve(e,t,n){S.value=S.value.map(r=>r.project.id===e?{...r,items:r.items.map(e=>e.id===t?n:e)}:r)}function ye(){return`aggregate-board-move-${globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`}async function be(e,t){if(e.status===t)return;let n=_e(e);if(L.value.includes(n))return;let r=`${G.value}:${W.value}`,i={...e,status:t};R.value=``,L.value=[...L.value,n],ve(e.projectId,e.id,i);try{let n;if(G.value===`jefa`&&t===`done`)n=(await O(`/employee-workspaces/${encodeURIComponent(G.value)}/${encodeURIComponent(e.projectId)}/api/work-items/${encodeURIComponent(e.id)}/status`,{status:t})).workItem;else{if(!e.updatedAt)throw Error(l(`employees.allProjects.refreshRequired`));n=(await E(`/api/employee-templates/${encodeURIComponent(G.value)}/call`,{personalSpaceId:W.value,personalProjectId:e.projectId,tool:`update_tasks`,arguments:{requestId:ye(),updates:[{id:e.id,expectedUpdatedAt:e.updatedAt,status:t}]}})).updatedWorkItems?.find(t=>t.id===e.id)}if(`${G.value}:${W.value}`!==r)return;if(!n||!xe(n)||n.projectId!==e.projectId||n.id!==e.id||!n.updatedAt)throw Error(l(`employees.allProjects.refreshRequired`));ve(e.projectId,e.id,n)}catch(t){if(`${G.value}:${W.value}`!==r)return;ve(e.projectId,e.id,e),R.value=l(`employees.allProjects.moveFailed`,{error:j(t)})}finally{L.value=L.value.filter(e=>e!==n)}}function xe(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.projectId==`string`&&typeof t.title==`string`&&[`planned`,`active`,`blocked`,`review`,`done`].includes(t.status??``)}async function Se(){if(!m.state){await m.refresh();return}await M(W.value),N.value||await Q()}async function Ce(){if(J.value){await d.replace({query:{...o.query,project:Ft,empty:void 0}}),await Q();return}let e=g.value===Ft&&Z.value?Ft:Y.value.find(e=>e.value===g.value)?.value??me.value[0]?.value;await d.replace({query:e?{project:e}:{}}),await Q()}return(r,i)=>(n(),y(`section`,{class:`employee-workbench-view`,"aria-label":K.value?.name??h(l)(`employees.workbench`)},[_(`header`,St,[_(`div`,Ct,[_(`span`,wt,[h(P)(G.value)?(n(),y(`img`,{key:0,src:h(P)(G.value),alt:``},null,8,Tt)):(n(),y(f,{key:1},[a(p(K.value?.name.slice(0,1)??`A`),1)],64))]),_(`h1`,null,[a(p(K.value?.name??h(l)(`employees.workbench`))+` `,1),_(`span`,null,p(K.value?.role),1)]),J.value&&Z.value?(n(),y(`button`,{key:0,class:`employee-share-button`,type:`button`,"aria-label":h(l)(`employees.share.title`),title:h(l)(`employees.share.title`),onClick:i[0]||=e=>re.value=!0},[...i[8]||=[_(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[_(`path`,{d:`M14 3h7v7m0-7-9 9M10 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}),_(`path`,{d:`M7 16v-3m4 3v-1`})],-1)]],8,Et)):u(``,!0)]),_(`div`,Dt,[K.value&&!q.value?(n(),y(`button`,{key:0,class:`employee-manage-projects`,type:`button`,disabled:!W.value,onClick:i[1]||=e=>U.value=!0},[i[9]||=_(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"aria-hidden":`true`},[_(`path`,{d:`M4 7h9m4 0h3M4 17h3m4 0h9`}),_(`circle`,{cx:`15`,cy:`7`,r:`2`}),_(`circle`,{cx:`9`,cy:`17`,r:`2`})],-1),a(` `+p(h(l)(`employees.manageProjects`)),1)],8,Ot)):u(``,!0)])]),q.value?u(``,!0):(n(),b(B,{key:0,open:U.value,"personal-space-id":W.value,projects:h(m).state?.personalProjects??[],"template-id":G.value,onClose:i[2]||=e=>U.value=!1,onRecruited:Ce},null,8,[`open`,`personal-space-id`,`projects`,`template-id`])),J.value?(n(),b(nt,{key:1,open:ie.value,item:ae.value,projects:Y.value.map(e=>({id:e.value,name:e.label})),"default-project-id":de.value.length===1?de.value[0]:void 0,"personal-space-id":W.value,"can-write":K.value?.permissions.includes(`board.write`)??!1,onClose:i[3]||=e=>ie.value=!1,onSaved:Q},null,8,[`open`,`item`,`projects`,`default-project-id`,`personal-space-id`,`can-write`])):u(``,!0),J.value?(n(),b(vt,{key:2,open:re.value,projects:Y.value.map(e=>({id:e.value,name:e.label})),onClose:i[4]||=e=>re.value=!1},null,8,[`open`,`projects`])):u(``,!0),oe.value?(n(),b(ee,{key:3,label:se.value},null,8,[`label`])):le.value?(n(),y(`div`,kt,[_(`p`,null,p(le.value),1),_(`button`,{class:`quiet-button`,type:`button`,onClick:Se},p(h(l)(`employees.retry`)),1)])):K.value?q.value?(n(),b(Re,{key:6,"personal-space-id":W.value,projects:h(m).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`])):J.value&&K.value.runtimeStatus!==`ready`?(n(),y(`div`,jt,[_(`p`,null,p(h(l)(`employees.installRequired`)),1),_(`small`,null,p(h(l)(`employees.installHelp`)),1)])):g.value?g.value===Ft&&Z.value?(n(),b(te,{key:9,"visible-project-ids":de.value,"onUpdate:visibleProjectIds":i[6]||=e=>de.value=e,boards:fe.value,projects:Y.value.map(e=>({id:e.value,name:e.label})),"failed-projects":pe.value,"can-move-tasks":K.value.permissions.includes(`board.write`),"moving-item-keys":L.value,"action-error":R.value,"resettable-filter":J.value,"filter-storage-unavailable":h(X).storageUnavailable.value,onResetProjectFilter:h(X).reset,onMoveTask:be,onSelectTask:ge,onCreateTask:i[7]||=e=>ge(),onRetry:Q},null,8,[`visible-project-ids`,`boards`,`projects`,`failed-projects`,`can-move-tasks`,`moving-item-keys`,`action-error`,`resettable-filter`,`filter-storage-unavailable`,`onResetProjectFilter`])):v.value&&v.value.runtimeStatus!==`ready`?(n(),y(`div`,Nt,[_(`p`,null,p(h(l)(`employees.installRequired`)),1),_(`small`,null,p(h(l)(`employees.installHelp`)),1)])):v.value?(n(),y(`iframe`,{key:v.value.workbenchUrl,src:v.value.workbenchUrl,title:`${v.value.name} · ${v.value.project.name}`,class:`employee-workbench-frame`},null,8,Pt)):u(``,!0):(n(),y(`div`,Mt,[_(`h2`,null,p(h(l)(`employees.emptyWorkbench`)),1),_(`p`,null,p(h(l)(`employees.manageHint`)),1),_(`button`,{class:`quiet-button`,type:`button`,onClick:i[5]||=e=>U.value=!0},p(h(l)(`employees.manageProjects`)),1)])):(n(),y(`div`,At,[_(`p`,null,p(h(l)(`employees.unavailable`)),1),t(h(T),{to:`/project-agents`},{default:e(()=>[a(p(h(l)(`employees.backToAgents`)),1)]),_:1})]))],8,xt))}}),[[`__scopeId`,`data-v-424ede82`]]);export{It as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.growth-loading[data-v-9303b8a4]{--growth-loading-size:48px;min-width:0;color:var(--color-muted,#667085);font-family:inherit;font-size:14px;line-height:1.4;display:block}.growth-loading--compact[data-v-9303b8a4]{--growth-loading-size:28px;place-items:center;min-height:104px;padding:16px;display:grid}.growth-loading--inline[data-v-9303b8a4]{--growth-loading-size:16px;vertical-align:middle;max-width:100%;display:inline-flex}.growth-loading__content[data-v-9303b8a4]{justify-items:center;gap:8px;min-width:0;display:grid}.growth-loading--inline .growth-loading__content[data-v-9303b8a4]{align-items:center;gap:6px;display:inline-flex}.growth-loading__visual[data-v-9303b8a4]{width:var(--growth-loading-size);height:var(--growth-loading-size);flex:none;display:block}.growth-loading__mark[data-v-9303b8a4]{width:100%;height:100%;display:block;overflow:visible}.growth-loading__arc[data-v-9303b8a4]{--growth-loading-delay:0s;--growth-loading-start:0deg;--growth-loading-end:0deg;fill:none;stroke:var(--color-accent,#2563eb);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.25px;opacity:.32;transform:rotate(var(--growth-loading-start));transform-box:view-box;transform-origin:50%;animation:growth-loading-arc-9303b8a4 2.4s cubic-bezier(.45, 0, .22, 1) var(--growth-loading-delay) infinite;will-change:transform, opacity}.growth-loading__arc--1[data-v-9303b8a4]{--growth-loading-start:-12deg;--growth-loading-end:-18deg;--growth-loading-delay:0s}.growth-loading__arc--2[data-v-9303b8a4]{--growth-loading-start:10deg;--growth-loading-end:18deg;--growth-loading-delay:.12s}.growth-loading__arc--3[data-v-9303b8a4]{--growth-loading-start:-8deg;--growth-loading-end:24deg;--growth-loading-delay:.24s}.growth-loading__label[data-v-9303b8a4]{color:var(--color-muted,#667085);text-align:center;overflow-wrap:anywhere;font-size:14px;line-height:1.4}.growth-loading--inline .growth-loading__label[data-v-9303b8a4]{text-align:left}@keyframes growth-loading-arc-9303b8a4{0%,10%{opacity:.32;transform:rotate(var(--growth-loading-start))}38%,60%{opacity:1;transform:rotate(0)}84%,to{opacity:.24;transform:rotate(var(--growth-loading-end))}}@media (prefers-reduced-motion:reduce){.growth-loading__arc[data-v-9303b8a4]{opacity:1;will-change:auto;animation:none;transform:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{M as e,it as t,nt as n,v as r,w as i,x as a}from"./i18n-D2CJkEYK.js";import{t as o}from"./_plugin-vue_export-helper-BDNMzG2s.js";var s=[`aria-label`],c={class:`growth-loading__content`},l={class:`growth-loading__label`},u=o(i({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(i){let o=i;return(i,u)=>(e(),a(`span`,{class:n([`growth-loading`,[`growth-loading--${o.variant}`,{"view-loading":o.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":o.label},[r(`span`,c,[u[0]||=r(`span`,{class:`growth-loading__visual`,"aria-hidden":`true`},[r(`svg`,{class:`growth-loading__mark`,viewBox:`0 0 48 48`,"aria-hidden":`true`,focusable:`false`},[r(`path`,{class:`growth-loading__arc growth-loading__arc--1`,d:`M24 5 A19 19 0 0 1 40.45 33.5`}),r(`path`,{class:`growth-loading__arc growth-loading__arc--2`,d:`M40.45 33.5 A19 19 0 0 1 7.55 33.5`}),r(`path`,{class:`growth-loading__arc growth-loading__arc--3`,d:`M7.55 33.5 A19 19 0 0 1 24 5`})])],-1),r(`span`,l,t(o.label),1)])],10,s))}}),[[`__scopeId`,`data-v-9303b8a4`]]);export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.knowledge-confirm-dialog[data-v-17a47fbd]{width:min(680px,100vw - 48px)}.knowledge-confirm-dialog-shell[data-v-17a47fbd]{box-sizing:border-box;min-height:0;max-height:inherit;gap:18px;padding:24px;display:grid;overflow:auto}.knowledge-confirm-summary[data-v-17a47fbd]{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);gap:6px;padding:14px 0;display:grid}.knowledge-confirm-summary span[data-v-17a47fbd],.knowledge-confirm-summary small[data-v-17a47fbd]{color:var(--color-muted);font-size:12px}.knowledge-confirm-summary strong[data-v-17a47fbd]{color:var(--color-ink);font-size:16px}.knowledge-confirm-summary p[data-v-17a47fbd]{color:var(--color-muted);font-size:12px;line-height:1.65}.knowledge-confirm-fields[data-v-17a47fbd]{gap:14px;display:grid}.knowledge-confirm-fields label[data-v-17a47fbd]{color:var(--color-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.knowledge-confirm-acknowledgement[data-v-17a47fbd]{color:var(--color-ink);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;font-size:12px;line-height:1.5;display:grid}.pending-inputs[data-v-c980bb96]{border:0;min-width:0;margin:0;padding:0;display:contents}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,C as t,J as n,L as r,M as i,R as a,S as o,V as s,X as c,Y as l,_ as u,a as d,b as f,c as p,d as m,h,it as g,m as _,tt as v,v as y,w as b,x,y as S}from"./i18n-D2CJkEYK.js";import{t as ee}from"./console-BtPqo79j.js";import{t as C}from"./GrowthLoading-KTjE2e50.js";import{t as w}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as T,r as E}from"./client-B2cRl-7c.js";import{t as te}from"./useModalDialog-D8tiJfbc.js";import{t as D}from"./SearchableSelect-f7EHbyDL.js";import{r as O,t as k}from"./identity-B3zEw-1u.js";import{E as A,T as j}from"./model-S7ehAjky.js";var M=`testLoading`;function N(e=typeof window>`u`?``:window.location.search){return new URLSearchParams(e).get(M)===`1`}function P(t,n=180){let r=c(!1),i=Math.max(0,n),o=N()?0:120,s=0,u=null,d=null,f=0,p=!1;function m(){f+=1,u!==null&&(clearTimeout(u),u=null),d!==null&&(clearTimeout(d),d=null)}function h(){if(o===0){if(p||!t.value||r.value)return;s=Date.now(),r.value=!0;return}let e=f;u=setTimeout(()=>{e===f&&(u=null,!(p||!t.value||r.value)&&(s=Date.now(),r.value=!0))},o)}function g(){let e=Math.max(0,i-(Date.now()-s));if(e===0){r.value=!1,s=0;return}let n=f;d=setTimeout(()=>{n===f&&(d=null,!(p||t.value)&&(r.value=!1,s=0))},e)}return a(t,e=>{if(m(),e){r.value||h();return}r.value&&g()},{immediate:!0,flush:`sync`}),e(()=>{p=!0,m()}),l(r)}var F=[`aria-labelledby`],I={class:`project-dialog-header`},L=[`id`],R=[`disabled`],z={class:`knowledge-confirm-summary`},B={class:`knowledge-confirm-fields`},V={class:`knowledge-confirm-acknowledgement`},H={key:0,class:`publish-dialog-error`,role:`alert`},U={class:`project-profile-dialog-actions`},W=[`disabled`],G=[`disabled`],K=w(b({__name:`KnowledgeConfirmDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{}},emits:[`close`,`saved`],setup(e,{emit:t}){let n=e,l=t,b=ee(),w=c(``),T=c(``),D=c(``),O=c(!1),k=c(!1),M=r(),{dialogRef:N,onCancel:P,onKeydown:K}=te(()=>!!n.item,()=>{k.value||l(`close`)}),q=c(``),ne=c({kind:`import`,label:d(`knowledge.domain.actors.historicalRecord`)}),J=u(()=>n.item?.profileAspect?d(`knowledge.dialogs.confirm.preferenceSubject`):d(`knowledge.dialogs.confirm.knowledgeSubject`));a(()=>n.item,e=>{if(!e)return;let t=e.evidence.at(0),n=e.confirmationBasis;w.value=n?.existence_reason||t?.source_description||t?.summary||d(`knowledge.dialogs.confirm.sourceSupport`),T.value=n?.quadrant_reason||e.reasoningSummary||d(`knowledge.dialogs.confirm.quadrantReason`,{quadrant:A(e.originQuadrant),description:j(e.originQuadrant)}),ne.value=n?.proposed_by??ie(t),D.value=d(`knowledge.dialogs.confirm.confirmationReason`),O.value=!1,q.value=``},{immediate:!0});async function re(){let e=n.item;if(!(!e||k.value)){if(!e.classificationExplicit)return Y(d(`knowledge.dialogs.confirm.errors.quadrantRequired`));if(!w.value.trim())return Y(d(`knowledge.dialogs.confirm.errors.existenceRequired`));if(!T.value.trim())return Y(d(`knowledge.dialogs.confirm.errors.quadrantReasonRequired`));if(!D.value.trim())return Y(d(`knowledge.dialogs.confirm.errors.confirmationReasonRequired`));if(!O.value)return Y(d(`knowledge.dialogs.confirm.errors.acknowledgmentRequired`));k.value=!0,q.value=``;try{await E(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{personalSpaceId:n.personalSpaceId,personalProjectId:n.personalProjectId,action:`confirm`,reason:D.value.trim(),confirmationStatus:`confirmed`,confirmationBasis:{existenceReason:w.value.trim(),quadrantReason:T.value.trim(),proposedBy:ne.value,confirmedBy:{kind:`user`,label:d(`knowledge.domain.actors.currentUser`)},confirmedAt:new Date().toISOString()}}),b.notify(d(`knowledge.dialogs.confirm.confirmed`,{subject:J.value})),l(`saved`),l(`close`)}catch(e){q.value=e instanceof Error?e.message:d(`knowledge.dialogs.confirm.errors.failed`),b.reportError(e)}finally{k.value=!1}}}function ie(e){let t={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:d(`knowledge.domain.actors.otherAgent`)}[e?.source_application??``];return t?{kind:`agent`,label:t}:{kind:`import`,label:d(`knowledge.domain.actors.historicalRecord`)}}function Y(e){q.value=e}return(t,n)=>e.item?(i(),x(`dialog`,{key:0,ref_key:`dialogRef`,ref:N,"aria-modal":`true`,"aria-labelledby":v(M),onCancel:n[6]||=(...e)=>v(P)&&v(P)(...e),onKeydown:n[7]||=(...e)=>v(K)&&v(K)(...e),class:`knowledge-confirm-dialog vue-dialog`},[y(`form`,{class:`knowledge-confirm-dialog-shell`,onSubmit:_(re,[`prevent`])},[y(`header`,I,[y(`div`,null,[y(`h3`,{id:v(M)},g(v(d)(`knowledge.dialogs.confirm.title`,{subject:J.value})),9,L),y(`p`,null,g(v(d)(`knowledge.dialogs.confirm.intro`)),1)]),y(`button`,{class:`secondary-action`,type:`button`,disabled:k.value,onClick:n[0]||=e=>l(`close`)},g(v(d)(`common.actions.close`)),9,R)]),y(`section`,z,[y(`span`,null,g(e.item.profileAspect?v(d)(`knowledge.dialogs.confirm.preference`):v(d)(`knowledge.dialogs.confirm.knowledge`)),1),y(`strong`,null,g(e.item.title),1),y(`p`,null,g(e.item.body),1),y(`small`,null,g(v(d)(`knowledge.dialogs.confirm.quadrant`,{quadrant:v(A)(e.item.originQuadrant)})),1)]),y(`div`,B,[y(`label`,null,[y(`span`,null,g(v(d)(`knowledge.dialogs.confirm.whyExists`)),1),s(y(`textarea`,{"onUpdate:modelValue":n[1]||=e=>w.value=e,name:`confirmation-existence-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[m,w.value]])]),y(`label`,null,[y(`span`,null,g(v(d)(`knowledge.dialogs.confirm.whyQuadrant`)),1),s(y(`textarea`,{"onUpdate:modelValue":n[2]||=e=>T.value=e,name:`confirmation-quadrant-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[m,T.value]])]),y(`label`,null,[y(`span`,null,g(v(d)(`knowledge.dialogs.confirm.confirmationCopy`)),1),s(y(`textarea`,{"onUpdate:modelValue":n[3]||=e=>D.value=e,name:`confirmation-reason`,maxlength:`2000`,rows:`2`,required:``},null,512),[[m,D.value]])])]),y(`label`,V,[s(y(`input`,{"onUpdate:modelValue":n[4]||=e=>O.value=e,name:`confirmation-acknowledged`,type:`checkbox`},null,512),[[p,O.value]]),y(`span`,null,g(v(d)(`knowledge.dialogs.confirm.acknowledgment`)),1)]),q.value?(i(),x(`p`,H,g(q.value),1)):f(``,!0),y(`footer`,U,[y(`button`,{class:`secondary-action`,type:`button`,disabled:k.value,onClick:n[5]||=e=>l(`close`)},g(v(d)(`common.actions.cancel`)),9,W),y(`button`,{class:`primary-action`,type:`submit`,disabled:k.value||!O.value},[k.value?(i(),S(C,{key:0,variant:`inline`,label:v(d)(`knowledge.dialogs.confirm.confirming`,{subject:J.value})},null,8,[`label`])):(i(),x(h,{key:1},[o(g(v(d)(`knowledge.dialogs.confirm.confirmSubject`,{subject:J.value})),1)],64))],8,G)])],32)],40,F)):f(``,!0)}}),[[`__scopeId`,`data-v-17a47fbd`]]),q=[`aria-labelledby`],ne={class:`project-dialog-shell`},J={class:`project-dialog-header`},re=[`id`],ie=[`disabled`],Y={class:`knowledge-edit-columns`},ae=[`disabled`],oe={key:0},se={key:1},ce={key:2},le={class:`knowledge-taxonomy-fields`},ue={class:`knowledge-classification-warning`},de={key:3,class:`knowledge-classification-warning`},fe={class:`knowledge-confirmation-fields`},pe={class:`knowledge-taxonomy-fields`},me=[`placeholder`],he=[`placeholder`],ge={key:4,class:`knowledge-replacement-fields`},_e={key:0},ve={class:`knowledge-replacement-fields`},ye={key:5,class:`publish-dialog-error`,role:`alert`},be={class:`knowledge-editor-actions`},xe=[`disabled`],Se=[`disabled`],Ce=[`disabled`],we=[`disabled`],Te={key:0},Ee=[`disabled`],De=[`disabled`],Oe={key:1},ke=[`disabled`],Ae={key:0},je=[`disabled`],X=w(b({__name:`KnowledgeEditDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{},replacementItems:{default:()=>[]}},emits:[`close`,`saved`],setup(e,{emit:l}){let p=e,b=l,w=ee(),j=c(!1),M=c(null),N=r(),{dialogRef:P,onCancel:F,onKeydown:I}=te(()=>!!p.item,()=>{j.value||b(`close`)}),L=c(``),R=c(``),z=c(``),B=c(`global`),V=c(``),H=c(``),U=c(``),W=c(``),G=n({name:``,summary:``,fact:``,currentQuadrant:``,confirmationStatus:`pending`,existenceReason:``,quadrantReason:``,proposedByKind:`agent`,proposedByLabel:``,confirmedByKind:`user`,confirmedByLabel:``,profileAspect:`none`,inheritanceMode:`local_only`,reason:``}),K=u(()=>p.item?.itemKind===`relationship`),X=u(()=>!!p.item?.invalidAt),Me=u(()=>!!p.item?.raw.profile_aspect),Ne=u(()=>p.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${k(e.project_id,26)}`,search:O(e.project_id)}))),Pe=u(()=>[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:d(`knowledge.dialogs.edit.quadrants.${e}`)}))),Fe=u(()=>[{value:`pending`,label:d(`knowledge.dialogs.edit.confirmationStates.pending`)},{value:`confirmed`,label:d(`knowledge.dialogs.edit.confirmationStates.confirmed`)}]),Ie=u(()=>[{value:`local_only`,label:d(`knowledge.dialogs.edit.inheritance.local`)},{value:`descendants`,label:d(`knowledge.dialogs.edit.inheritance.descendants`)},{value:`selected_projects`,label:d(`knowledge.dialogs.edit.inheritance.selected`)}]),Le=u(()=>[`user`,`agent`,`authoritative_source`,`import`].map(e=>({value:e,label:d(`knowledge.domain.actors.${e}`)}))),Re=u(()=>[`user`,`authoritative_source`].map(e=>({value:e,label:d(`knowledge.domain.actors.${e}`)}))),ze=u(()=>[{value:`none`,label:d(`knowledge.dialogs.edit.profiles.none`)},...[`taste`,`personality`,`judgment_preference`].map(e=>({value:e,label:d(`knowledge.domain.profiles.${e}`)}))]),Be=u(()=>[{value:`global`,label:d(`knowledge.dialogs.edit.scopes.global`)},{value:`project`,label:d(`knowledge.dialogs.edit.scopes.project`),disabled:p.projects.length===0}]),Ve=u(()=>[{value:``,label:d(`knowledge.dialogs.edit.replacementNone`)},...p.replacementItems.filter(e=>!e.invalidAt&&(e.itemKind!==p.item?.itemKind||e.id!==p.item?.id)).map(e=>({value:Ye(e.itemKind,e.id),label:e.title,meta:e.type,search:`${e.body} ${e.id}`}))]),Z=u(()=>{if(!W.value)return null;try{let[e,t]=JSON.parse(W.value);return e!==`entity`&&e!==`relationship`||typeof t!=`string`?null:{itemKind:e,id:t}}catch{return null}}),He=u(()=>p.item?.assignments.at(0)?.project_id??p.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??p.personalProjectId??null);a(()=>p.item,e=>{if(!e)return;let t=e.raw;G.name=e.itemKind===`entity`?t.name:``,G.summary=e.itemKind===`entity`?t.summary??``:``,G.fact=e.itemKind===`relationship`?t.fact??``:``;let n=e.confirmationBasis,r=e.evidence.at(0);G.currentQuadrant=e.classificationExplicit?t.current_quadrant??t.origin_quadrant??`known_known`:``,G.confirmationStatus=e.confirmationStatus===`confirmed`?`confirmed`:`pending`,G.existenceReason=n?.existence_reason??r?.source_description??r?.summary??``,G.quadrantReason=n?.quadrant_reason??t.reasoning_summary??``,G.proposedByKind=n?.proposed_by.kind??`agent`,G.proposedByLabel=n?.proposed_by.label??``,G.confirmedByKind=n?.confirmed_by?.kind??`user`,G.confirmedByLabel=n?.confirmed_by?.label??``,G.profileAspect=t.profile_aspect??`none`,G.inheritanceMode=t.profile_aspect?`local_only`:t.inheritance_mode??`local_only`,U.value=t.inherited_project_ids?.at(0)??p.projects[0]?.project_id??``,G.reason=``,R.value=``,z.value=He.value??p.projects[0]?.project_id??``,B.value=t.preference_scope??`global`,V.value=t.preference_project_id??p.projects[0]?.project_id??``,H.value=``,W.value=e.replacedByItemId&&e.replacedByItemKind?Ye(e.replacedByItemKind,e.replacedByItemId):``,L.value=``},{immediate:!0});async function Ue(){let e=p.item;if(!e)return;if(!G.reason.trim())return $(d(`knowledge.dialogs.edit.errors.reasonRequired`));if(!K.value&&!G.name.trim())return $(d(`knowledge.dialogs.edit.errors.nameRequired`));if(K.value&&!G.fact.trim())return $(d(`knowledge.dialogs.edit.errors.factRequired`));if(!G.currentQuadrant||!G.confirmationStatus)return $(d(`knowledge.dialogs.edit.errors.classificationRequired`));if(!G.existenceReason.trim())return $(d(`knowledge.dialogs.edit.errors.existenceRequired`));if(!G.quadrantReason.trim())return $(d(`knowledge.dialogs.edit.errors.quadrantRequired`));if(!G.proposedByKind)return $(d(`knowledge.dialogs.edit.errors.proposerRequired`));if(G.confirmationStatus===`confirmed`&&!G.confirmedByKind)return $(d(`knowledge.dialogs.edit.errors.confirmerRequired`));if(G.inheritanceMode===`selected_projects`&&!U.value)return $(d(`knowledge.dialogs.edit.errors.inheritedProjectsRequired`));let t={...Je(`update`),confirmationStatus:G.confirmationStatus,confirmationBasis:{existenceReason:G.existenceReason.trim(),quadrantReason:G.quadrantReason.trim(),proposedBy:{kind:G.proposedByKind,label:G.proposedByLabel.trim()||null},confirmedBy:G.confirmationStatus===`confirmed`?{kind:G.confirmedByKind,label:G.confirmedByLabel.trim()||null}:null,confirmedAt:G.confirmationStatus===`confirmed`?new Date().toISOString():null},profileAspect:G.profileAspect,inheritanceMode:G.profileAspect===`none`?G.inheritanceMode:`local_only`,inheritedProjectIds:G.profileAspect===`none`&&G.inheritanceMode===`selected_projects`?[U.value]:[],reasoningSummary:G.quadrantReason.trim()};p.item.classificationExplicit?t.currentQuadrant=G.currentQuadrant:t.originQuadrant=G.currentQuadrant,K.value?t.fact=G.fact.trim():(t.name=G.name.trim(),t.summary=G.summary.trim()),await Q(`correction`,async()=>{await E(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,t),w.notify(d(`knowledge.dialogs.edit.notices.corrected`))})}async function We(e){let t=p.item;if(t){if(!G.reason.trim())return $(d(e===`invalidate`?`knowledge.dialogs.edit.errors.statusReasonRequired`:`knowledge.dialogs.edit.errors.restoreReasonRequired`));await Q(e===`invalidate`?`invalidate`:`restore`,async()=>{let n=Je(e);e===`invalidate`&&Z.value&&(n.replacementItemId=Z.value.id,n.replacementItemKind=Z.value.itemKind),await E(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}`,n),w.notify(e===`invalidate`?Z.value?d(`knowledge.dialogs.edit.notices.invalidatedWithReplacement`):d(`knowledge.dialogs.edit.notices.invalidated`):d(`knowledge.dialogs.edit.notices.restored`))})}}async function Ge(){let e=p.item,t=Z.value;if(!(!e||!X.value)){if(!t)return $(d(`knowledge.dialogs.edit.errors.replacementRequired`));if(!G.reason.trim())return $(d(`knowledge.dialogs.edit.errors.replacementReasonRequired`));await Q(`replacement`,async()=>{await E(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{...Je(`link_replacement`),replacementItemId:t.id,replacementItemKind:t.itemKind}),w.notify(d(`knowledge.dialogs.edit.notices.replacementSaved`))})}}async function Ke(){let e=p.item;if(e){if(!z.value)return $(d(`knowledge.dialogs.edit.errors.projectRequired`));if(!R.value.trim())return $(d(`knowledge.dialogs.edit.errors.assignmentReasonRequired`));if(z.value===He.value)return $(d(`knowledge.dialogs.edit.errors.alreadyAssigned`));await Q(`ownership`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/assignment`,{personalSpaceId:p.personalSpaceId,targetProjectId:z.value,reason:R.value.trim()}),w.notify(d(`knowledge.dialogs.edit.notices.assignmentChanged`))})}}async function qe(){let e=p.item;if(!e)return;let t=B.value===`project`?V.value:null;if(B.value===`project`&&!t)return $(d(`knowledge.dialogs.edit.errors.preferenceProjectRequired`));if(!H.value.trim())return $(d(`knowledge.dialogs.edit.errors.preferenceReasonRequired`));await Q(`scope`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/preference-scope`,{personalSpaceId:p.personalSpaceId,scope:B.value,projectId:t,reason:H.value.trim()}),w.notify(B.value===`global`?d(`knowledge.dialogs.edit.notices.preferenceGlobal`):d(`knowledge.dialogs.edit.notices.preferenceProject`))})}function Je(e){return{personalSpaceId:p.personalSpaceId,personalProjectId:p.personalProjectId,action:e,reason:G.reason.trim()}}function Ye(e,t){return JSON.stringify([e,t])}async function Q(e,t){if(!j.value){j.value=!0,M.value=e,L.value=``;try{await t(),b(`close`),b(`saved`)}catch(e){L.value=e instanceof Error?e.message:d(`knowledge.dialogs.edit.errors.saveFailed`),w.reportError(e)}finally{j.value=!1,M.value=null}}}function $(e){L.value=e}return(n,r)=>e.item?(i(),x(`dialog`,{key:0,ref_key:`dialogRef`,ref:P,"aria-modal":`true`,"aria-labelledby":v(N),onCancel:r[24]||=(...e)=>v(F)&&v(F)(...e),onKeydown:r[25]||=(...e)=>v(I)&&v(I)(...e),class:`project-dialog knowledge-edit-dialog vue-dialog`},[y(`div`,ne,[y(`header`,J,[y(`div`,null,[y(`h3`,{id:v(N)},g(X.value?v(d)(`knowledge.dialogs.edit.titleRestore`):v(d)(`knowledge.dialogs.edit.titleCorrect`)),9,re),y(`p`,null,g(v(d)(`knowledge.dialogs.edit.intro`)),1)]),y(`button`,{class:`secondary-action`,type:`button`,disabled:j.value,onClick:r[0]||=e=>b(`close`)},g(v(d)(`common.actions.close`)),9,ie)]),y(`div`,Y,[y(`section`,null,[y(`h4`,null,g(v(d)(`knowledge.dialogs.edit.currentContent`)),1),y(`form`,{class:`knowledge-editor-form`,onSubmit:_(Ue,[`prevent`])},[y(`fieldset`,{class:`pending-inputs`,disabled:j.value},[K.value?f(``,!0):(i(),x(`label`,oe,[o(g(v(d)(`knowledge.dialogs.edit.name`)),1),s(y(`input`,{"onUpdate:modelValue":r[1]||=e=>G.name=e,maxlength:`512`},null,512),[[m,G.name]])])),K.value?(i(),x(`label`,ce,[o(g(v(d)(`knowledge.dialogs.edit.fact`)),1),s(y(`textarea`,{"onUpdate:modelValue":r[3]||=e=>G.fact=e,maxlength:`8192`,rows:`5`},null,512),[[m,G.fact]])])):(i(),x(`label`,se,[o(g(v(d)(`knowledge.dialogs.edit.description`)),1),s(y(`textarea`,{"onUpdate:modelValue":r[2]||=e=>G.summary=e,maxlength:`4096`,rows:`5`},null,512),[[m,G.summary]])])),y(`div`,le,[y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.classification`))+` `,1),t(D,{modelValue:G.currentQuadrant,"onUpdate:modelValue":r[4]||=e=>G.currentQuadrant=e,options:Pe.value,label:v(d)(`knowledge.dialogs.edit.classification`)},null,8,[`modelValue`,`options`,`label`])]),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.confirmationStatus`))+` `,1),t(D,{modelValue:G.confirmationStatus,"onUpdate:modelValue":r[5]||=e=>G.confirmationStatus=e,options:Fe.value,label:v(d)(`knowledge.dialogs.edit.confirmationStatus`)},null,8,[`modelValue`,`options`,`label`])]),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.preferenceDimension`))+` `,1),t(D,{modelValue:G.profileAspect,"onUpdate:modelValue":r[6]||=e=>G.profileAspect=e,options:ze.value,label:v(d)(`knowledge.dialogs.edit.preferenceDimension`)},null,8,[`modelValue`,`options`,`label`])])]),y(`p`,ue,g(v(d)(`knowledge.dialogs.edit.originQuadrant`,{quadrant:v(A)(e.item.originQuadrant)})),1),e.item.classificationExplicit?f(``,!0):(i(),x(`p`,de,g(v(d)(`knowledge.dialogs.edit.missingQuadrant`)),1)),y(`fieldset`,fe,[y(`legend`,null,g(v(d)(`knowledge.dialogs.edit.basis`)),1),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.whyExists`))+` `,1),s(y(`textarea`,{"onUpdate:modelValue":r[7]||=e=>G.existenceReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[m,G.existenceReason]])]),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.whyQuadrant`))+` `,1),s(y(`textarea`,{"onUpdate:modelValue":r[8]||=e=>G.quadrantReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[m,G.quadrantReason]])]),y(`div`,pe,[y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.proposer`))+` `,1),t(D,{modelValue:G.proposedByKind,"onUpdate:modelValue":r[9]||=e=>G.proposedByKind=e,options:Le.value,label:v(d)(`knowledge.dialogs.edit.proposer`)},null,8,[`modelValue`,`options`,`label`])]),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.proposerDescription`))+` `,1),s(y(`input`,{"onUpdate:modelValue":r[10]||=e=>G.proposedByLabel=e,maxlength:`160`,placeholder:v(d)(`knowledge.dialogs.edit.proposerPlaceholder`)},null,8,me),[[m,G.proposedByLabel]])]),G.confirmationStatus===`confirmed`?(i(),x(h,{key:0},[y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.confirmer`))+` `,1),t(D,{modelValue:G.confirmedByKind,"onUpdate:modelValue":r[11]||=e=>G.confirmedByKind=e,options:Re.value,label:v(d)(`knowledge.dialogs.edit.confirmer`)},null,8,[`modelValue`,`options`,`label`])]),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.confirmerDescription`))+` `,1),s(y(`input`,{"onUpdate:modelValue":r[12]||=e=>G.confirmedByLabel=e,maxlength:`160`,placeholder:v(d)(`knowledge.dialogs.edit.confirmerPlaceholder`)},null,8,he),[[m,G.confirmedByLabel]])])],64)):f(``,!0)]),y(`p`,null,g(v(d)(`knowledge.dialogs.edit.agentConfirmedBoundary`)),1)]),Me.value?f(``,!0):(i(),x(`fieldset`,ge,[y(`legend`,null,g(v(d)(`knowledge.dialogs.edit.crossProjectInheritance`)),1),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.inheritanceScope`))+` `,1),t(D,{modelValue:G.inheritanceMode,"onUpdate:modelValue":r[13]||=e=>G.inheritanceMode=e,options:Ie.value,label:v(d)(`knowledge.dialogs.edit.inheritanceScope`)},null,8,[`modelValue`,`options`,`label`])]),G.inheritanceMode===`selected_projects`?(i(),x(`label`,_e,[o(g(v(d)(`knowledge.dialogs.edit.inheritedProjects`))+` `,1),t(D,{modelValue:U.value,"onUpdate:modelValue":r[14]||=e=>U.value=e,options:Ne.value,label:v(d)(`knowledge.dialogs.edit.inheritedProjects`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):f(``,!0),y(`p`,null,g(v(d)(`knowledge.dialogs.edit.inheritanceBoundary`)),1)])),y(`fieldset`,ve,[y(`legend`,null,g(X.value?v(d)(`knowledge.dialogs.edit.replacement`):v(d)(`knowledge.dialogs.edit.optionalReplacement`)),1),y(`label`,null,[o(g(X.value?v(d)(`knowledge.dialogs.edit.historicalReplacement`):v(d)(`knowledge.dialogs.edit.activeReplacement`))+` `,1),t(D,{modelValue:W.value,"onUpdate:modelValue":r[15]||=e=>W.value=e,options:Ve.value,label:v(d)(`knowledge.dialogs.edit.replacement`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),y(`p`,null,g(v(d)(`knowledge.dialogs.edit.replacementBoundary`)),1)]),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.correctionReason`)),1),s(y(`textarea`,{"onUpdate:modelValue":r[16]||=e=>G.reason=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[m,G.reason]])]),L.value?(i(),x(`p`,ye,g(L.value),1)):f(``,!0),y(`div`,be,[X.value?(i(),x(h,{key:1},[y(`button`,{class:`secondary-action`,type:`button`,disabled:j.value,onClick:r[18]||=e=>We(`restore`)},[M.value===`restore`?(i(),S(C,{key:0,variant:`inline`,label:v(d)(`knowledge.dialogs.edit.restoring`)},null,8,[`label`])):(i(),x(h,{key:1},[o(g(v(d)(`knowledge.dialogs.edit.restore`)),1)],64))],8,Se),y(`button`,{class:`secondary-action`,type:`button`,disabled:j.value,onClick:Ge},[M.value===`replacement`?(i(),S(C,{key:0,variant:`inline`,label:v(d)(`knowledge.dialogs.edit.savingReplacement`)},null,8,[`label`])):(i(),x(h,{key:1},[o(g(v(d)(`knowledge.dialogs.edit.saveReplacement`)),1)],64))],8,Ce)],64)):(i(),x(`button`,{key:0,class:`secondary-action`,type:`button`,disabled:j.value,onClick:r[17]||=e=>We(`invalidate`)},[M.value===`invalidate`?(i(),S(C,{key:0,variant:`inline`,label:v(d)(`knowledge.dialogs.edit.invalidating`)},null,8,[`label`])):(i(),x(h,{key:1},[o(g(v(d)(`knowledge.dialogs.edit.invalidate`)),1)],64))],8,xe)),y(`button`,{class:`primary-action`,type:`submit`,disabled:j.value},[M.value===`correction`?(i(),S(C,{key:0,variant:`inline`,label:v(d)(G.confirmationStatus===`confirmed`?`knowledge.dialogs.edit.savingConfirmed`:`knowledge.dialogs.edit.savingPending`)},null,8,[`label`])):(i(),x(h,{key:1},[o(g(G.confirmationStatus===`confirmed`?v(d)(`knowledge.dialogs.edit.saveConfirmed`):v(d)(`knowledge.dialogs.edit.savePending`)),1)],64))],8,we)])],8,ae)],32)]),Me.value?(i(),x(`section`,Oe,[y(`h4`,null,g(v(d)(`knowledge.dialogs.edit.preferenceScope`)),1),y(`p`,null,g(v(d)(`knowledge.dialogs.edit.preferenceScopeCopy`)),1),y(`form`,{class:`knowledge-editor-form`,onSubmit:_(qe,[`prevent`])},[y(`fieldset`,{class:`pending-inputs`,disabled:j.value},[y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.effectiveScope`))+` `,1),t(D,{modelValue:B.value,"onUpdate:modelValue":r[21]||=e=>B.value=e,options:Be.value,label:v(d)(`knowledge.dialogs.edit.preferenceScope`)},null,8,[`modelValue`,`options`,`label`])]),B.value===`project`?(i(),x(`label`,Ae,[o(g(v(d)(`knowledge.dialogs.edit.personalProject`))+` `,1),t(D,{modelValue:V.value,"onUpdate:modelValue":r[22]||=e=>V.value=e,options:Ne.value,label:v(d)(`knowledge.dialogs.edit.personalProject`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):f(``,!0),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.assignmentReason`)),1),s(y(`textarea`,{"onUpdate:modelValue":r[23]||=e=>H.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[m,H.value]])]),y(`button`,{class:`primary-action`,type:`submit`,disabled:j.value},[M.value===`scope`?(i(),S(C,{key:0,variant:`inline`,label:v(d)(`knowledge.dialogs.edit.savingScope`)},null,8,[`label`])):(i(),x(h,{key:1},[o(g(v(d)(`knowledge.dialogs.edit.saveScope`)),1)],64))],8,je)],8,ke)],32)])):(i(),x(`section`,Te,[y(`h4`,null,g(v(d)(`knowledge.dialogs.edit.projectOwnership`)),1),y(`p`,null,g(v(d)(`knowledge.dialogs.edit.ownershipCopy`)),1),y(`form`,{class:`knowledge-editor-form`,onSubmit:_(Ke,[`prevent`])},[y(`fieldset`,{class:`pending-inputs`,disabled:j.value},[y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.targetProject`))+` `,1),t(D,{modelValue:z.value,"onUpdate:modelValue":r[19]||=e=>z.value=e,options:Ne.value,label:v(d)(`knowledge.dialogs.edit.targetProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`])]),y(`label`,null,[o(g(v(d)(`knowledge.dialogs.edit.assignmentReason`)),1),s(y(`textarea`,{"onUpdate:modelValue":r[20]||=e=>R.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[m,R.value]])]),y(`button`,{class:`primary-action`,type:`submit`,disabled:j.value||e.projects.length===0},[M.value===`ownership`?(i(),S(C,{key:0,variant:`inline`,label:v(d)(`knowledge.dialogs.edit.changingOwnership`)},null,8,[`label`])):(i(),x(h,{key:1},[o(g(v(d)(`knowledge.dialogs.edit.adjustOwnership`)),1)],64))],8,De)],8,Ee)],32)]))])])],40,q)):f(``,!0)}}),[[`__scopeId`,`data-v-c980bb96`]]);export{P as i,K as n,N as r,X as t};
|