fuli-context 0.20.0-beta.4 → 0.20.0-beta.6
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 +2 -1
- package/README.zh-CN.md +2 -1
- package/dist/web/assets/{AboutPage-Bi4E7wSy.js → AboutPage-D0DxmN7G.js} +1 -1
- package/dist/web/assets/{AgentName-CKA8o3DK.js → AgentName-DSgPVCJM.js} +1 -1
- package/dist/web/assets/{AgentProfilePage-DoWYikZx.js → AgentProfilePage-DHej4Q8z.js} +1 -1
- package/dist/web/assets/{AgentsDirectoryPage-DubxSJXK.js → AgentsDirectoryPage-Bp04jLM9.js} +1 -1
- package/dist/web/assets/{ConnectionsPage-Y9Ll8XwK.js → ConnectionsPage-Bh8fi-W4.js} +1 -1
- package/dist/web/assets/{CreateProjectDialog-T2ISpEdQ.js → CreateProjectDialog-CbpAuu4W.js} +1 -1
- package/dist/web/assets/{EmployeeRecruitDialog-DA6MLiX4.js → EmployeeRecruitDialog-DNER6Mdz.js} +1 -1
- package/dist/web/assets/{EmployeeWorkbenchPage-BQrxgK-1.js → EmployeeWorkbenchPage-CoX4t8P4.js} +2 -2
- package/dist/web/assets/{InboxPage-CSnVNoTP.js → InboxPage-D9_prKzQ.js} +1 -1
- package/dist/web/assets/{KnowledgeEditDialog-TsODwgcQ.js → KnowledgeEditDialog-ByZImgXm.js} +1 -1
- package/dist/web/assets/{KnowledgeInspector-r2MFq5In.js → KnowledgeInspector-DKyY0jH6.js} +1 -1
- package/dist/web/assets/{KnowledgeOrganizerPage-Bg2p9UBN.js → KnowledgeOrganizerPage-CdhkB0oX.js} +1 -1
- package/dist/web/assets/KnowledgePage-Cxc4qYQv.js +1 -0
- package/dist/web/assets/{KnowledgeWorkspace-BGh6AEYh.js → KnowledgeWorkspace-BUKzHpCS.js} +1 -1
- package/dist/web/assets/{NotFoundPage-UodKAzSD.js → NotFoundPage-BUgxeES-.js} +1 -1
- package/dist/web/assets/{OccupationsPage-C1hxB4uo.js → OccupationsPage-qqlBfp4E.js} +1 -1
- package/dist/web/assets/{OverviewPage-DlWymsvL.js → OverviewPage-DgYfW1qa.js} +2 -2
- package/dist/web/assets/{PersonalProfilePage-BF5vSKIG.js → PersonalProfilePage-CwKslGo_.js} +1 -1
- package/dist/web/assets/{PersonalProjectsPage-CN8CzEwx.js → PersonalProjectsPage-PnJo8Lf1.js} +1 -1
- package/dist/web/assets/{ProjectAgentFirstTask-1ZqQx7TD.js → ProjectAgentFirstTask-CwFObBkw.js} +1 -1
- package/dist/web/assets/{ProjectAgentsPage-DAub8kxJ.js → ProjectAgentsPage-B885dHk8.js} +1 -1
- package/dist/web/assets/{ProjectScopePicker-C5Qs2q55.js → ProjectScopePicker-gcCX7RAh.js} +1 -1
- package/dist/web/assets/{PublicProjectsPage-BagwGxkm.js → PublicProjectsPage-DI8v22Ai.js} +1 -1
- package/dist/web/assets/{RoundtablesPage-BE0EM4sU.js → RoundtablesPage-BBLNUlJP.js} +1 -1
- package/dist/web/assets/{SettingsPage-CpyIq-BG.js → SettingsPage-D2irp49P.js} +1 -1
- package/dist/web/assets/{SharedJefaReportPage-Cj6nm6w-.js → SharedJefaReportPage-cuzk7CDX.js} +1 -1
- package/dist/web/assets/{TaskExecutionPlan-DFh08QFN.js → TaskExecutionPlan-CdUCSs5D.js} +1 -1
- package/dist/web/assets/{TaskSchedulesPage-Cs_pzUIm.js → TaskSchedulesPage-fExFp8nI.js} +1 -1
- package/dist/web/assets/{TextField-DnkSv9Ye.js → TextField-Cbr28Gy8.js} +1 -1
- package/dist/web/assets/{UiDialog-DMozYPbD.js → UiDialog-DT7Q8XAV.js} +1 -1
- package/dist/web/assets/{UiDisclosure-BkmYnV5V.js → UiDisclosure-C6Tl1kJO.js} +1 -1
- package/dist/web/assets/{UiIcon-D_OCiZ2T.js → UiIcon-CW44gKUi.js} +1 -1
- package/dist/web/assets/{UiIconButton-CaxMAEd6.js → UiIconButton-BVG74yak.js} +1 -1
- package/dist/web/assets/{UiSegmented-DirGF0fz.js → UiSegmented-BqraEIxm.js} +1 -1
- package/dist/web/assets/{UiSelect-iDXgMBmg.js → UiSelect-DdLp-PYy.js} +1 -1
- package/dist/web/assets/{UiToggle-DNvok1W_.js → UiToggle-D2nOut_A.js} +1 -1
- package/dist/web/assets/UnassignedConversationsPanel-CIxP_pnN.js +1 -0
- package/dist/web/assets/{VirtualDirectoryList-rmg4zT6b.js → VirtualDirectoryList-CAyAj-kb.js} +1 -1
- package/dist/web/assets/{Workbench3D-DVM9HEZI.js → Workbench3D-CNXjcwxc.js} +1 -1
- package/dist/web/assets/{WritingTastePage-ifJbdlZs.js → WritingTastePage-DJInuoHu.js} +1 -1
- package/dist/web/assets/{agent-occupation-BODbxMc2.js → agent-occupation-DOxmEgGF.js} +1 -1
- package/dist/web/assets/{agent-pins-CtGOL6hE.js → agent-pins-CCJNG__y.js} +1 -1
- package/dist/web/assets/agent-profile-DtKpT0up.css +1 -0
- package/dist/web/assets/{agent-work-summary-9jEiDLve.js → agent-work-summary-CLlvAYd9.js} +1 -1
- package/dist/web/assets/{attention-store-CVJJ9eFY.js → attention-store-BmxXW1J5.js} +1 -1
- package/dist/web/assets/{catalog-DoiBFHyb.js → catalog-G4BFWyaC.js} +1 -1
- package/dist/web/assets/{client-CRiPFGQo.js → client-D-1EftNy.js} +1 -1
- package/dist/web/assets/{console-Dl-Zf-vm.js → console-CwLNvN5Y.js} +1 -1
- package/dist/web/assets/{conversation-launcher-settings-DUaL_j2q.js → conversation-launcher-settings-BXbC2kQx.js} +1 -1
- package/dist/web/assets/{design-lab-DQJjssoJ.js → design-lab-BP5ty-i1.js} +1 -1
- package/dist/web/assets/{i18n-DYrQWclR.js → i18n-DUkThQlr.js} +2 -2
- package/dist/web/assets/{identity-B3k8Qjz8.js → identity-Bl_ro5EM.js} +1 -1
- package/dist/web/assets/{index-CPPm_vKK.js → index-Big7gwZz.js} +2 -2
- package/dist/web/assets/{index-CUiJp41v.css → index-CI9E82Y5.css} +1 -1
- package/dist/web/assets/{judgment-types-YhMdw8_r.js → judgment-types-B3_NM0bp.js} +1 -1
- package/dist/web/assets/{model-CgiRuBdV.js → model-C52X3aIL.js} +1 -1
- package/dist/web/assets/{motion-preference-CgUW4x60.js → motion-preference-DDHtlfMn.js} +1 -1
- package/dist/web/assets/{occupation-catalog-C1dtWRD4.js → occupation-catalog-CVv7y_iI.js} +1 -1
- package/dist/web/assets/{personal-profile-graph-C9t0-CUF.js → personal-profile-graph-FucCAuBm.js} +1 -1
- package/dist/web/assets/{project-origin-BthRWajS.js → project-origin-DrKurHvp.js} +1 -1
- package/dist/web/assets/project-team-api-sYC7_opa.js +1 -0
- package/dist/web/assets/{shared-report-T8YWwLIB.js → shared-report-CgWun3V4.js} +1 -1
- package/dist/web/assets/{task-labels-DCM3k8vr.js → task-labels-BJraC-F1.js} +1 -1
- package/dist/web/assets/{ui-8PDiMeCo.js → ui-BEG3nZcy.js} +1 -1
- package/dist/web/assets/{useAgentRecords-Bw9B25sk.js → useAgentRecords-DnSCBOw-.js} +1 -1
- package/dist/web/assets/{useApi-CROJJdhE-Di-SEzl3.js → useApi-CROJJdhE-SqXJr_RU.js} +1 -1
- package/dist/web/assets/{vue-router-CG6ezAck.js → vue-router-CSaEmqy7.js} +1 -1
- package/dist/web/index.html +19 -19
- package/graph-provider/fuli_graph/agent_conversation_routes.py +5 -1
- package/graph-provider/fuli_graph/conversation_triage_models.py +8 -0
- package/graph-provider/fuli_graph/store_conversation_triage.py +30 -6
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/src/agent-tools/interface-catalog.js +2 -0
- package/src/cli/command-registry.js +2 -2
- package/src/cli/local-runtime-options.js +5 -3
- package/src/desktop/windows-command-options.js +1 -0
- package/src/desktop/windows-installation-switch.js +5 -2
- package/src/desktop/windows-update-command.js +1 -0
- package/src/desktop/windows-update.js +8 -3
- package/src/graphiti/conversation-triage.js +5 -23
- package/src/graphiti/project-agent-control-plane.js +7 -0
- package/src/graphiti/topic-proposals.js +83 -0
- package/src/http/graph-api-router.js +2 -0
- package/src/http/topic-proposals-api-router.js +14 -0
- package/src/local-runtime/lifecycle.js +1 -0
- package/src/native-runtime/runtime.js +7 -4
- package/src/setup/graph-runtime.js +1 -0
- package/src/setup/options.js +4 -2
- package/src/setup/setup.js +1 -0
- package/dist/web/assets/KnowledgePage-ClUQTumH.js +0 -1
- package/dist/web/assets/UnassignedConversationsPanel-LcjLO-S7.js +0 -1
- package/dist/web/assets/agent-profile-BWgoaYE6.css +0 -1
- package/dist/web/assets/project-team-api-DLYFf3Df.js +0 -1
package/README.md
CHANGED
|
@@ -522,7 +522,7 @@ Core mechanisms covered by implementation and automated tests include:
|
|
|
522
522
|
|
|
523
523
|
New in 0.20 (public preview `0.20.0-beta`, see the [release notes](docs/releases/0.20.0.md)):
|
|
524
524
|
|
|
525
|
-
- **Projects and people**: unassigned conversations go to Astro, Jefa triages them, and a topic
|
|
525
|
+
- **Projects and people**: unassigned conversations go to Astro, Jefa triages them, and when a topic keeps coming back (three conversations over at least two days) Astro asks whether to make it a project with its own people. Every project has a brief and every Agent an occupation, which Bole recruits by.
|
|
526
526
|
- **Tasks**: assign without starting (backlog), schedule recurring tasks that pause after repeated failures, and stop, retry, or review any run from the task details. A temporary failure is retried automatically only when no prompt was sent.
|
|
527
527
|
- **Decisions**: an Agent that needs you asks in the conversation first. A request that must wait for you goes to the Decisions page, and your reply reaches the Agent that asked.
|
|
528
528
|
- **Roundtable**: besides asks (`message_agent`), Agents have direct and group chats (`agent_chat`) with push delivery and `wait`; the console shows them live.
|
|
@@ -667,6 +667,7 @@ and tells you to run `fuli setup`; it never applies setup changes implicitly.
|
|
|
667
667
|
| `--skip-agents` | Do not change agent configuration or Skills |
|
|
668
668
|
| `--connected-only` | Refresh only clients that already have a Fuli MCP entry; used automatically by update |
|
|
669
669
|
| `--no-start` | Initialize the Provider without starting the UI |
|
|
670
|
+
| `--allow-provider-downgrade` | Accept a lower native Provider version, for example moving from a local `rc` build to a public `beta`; back up the data folder first |
|
|
670
671
|
| `--personal-only` | Use only the personal Provider; this is the default |
|
|
671
672
|
| `--with-dev-public` | Start a development shared Provider for local integration work only |
|
|
672
673
|
|
package/README.zh-CN.md
CHANGED
|
@@ -436,7 +436,7 @@ Agent 上下文。
|
|
|
436
436
|
|
|
437
437
|
0.20 新增(公开预览版 `0.20.0-beta`,详见[发布说明](docs/releases/0.20.0.md)):
|
|
438
438
|
|
|
439
|
-
- **项目与人员**:没有归属的会话先交给 Astro,Jefa
|
|
439
|
+
- **项目与人员**:没有归属的会话先交给 Astro,Jefa 负责分诊,同一话题反复出现(累计 3 个会话、跨至少 2 天)时,Astro 会问你要不要为它成立项目、招人维护。项目都有简介,Agent 都有职业,Bole 按职业招聘。
|
|
440
440
|
- **任务**:可以只指派不开工(backlog);可以定时创建任务,连续失败会自动暂停;在任务详情里可以停止、重试、回看任何一次运行。临时故障只在确定没发出指令时才自动重试。
|
|
441
441
|
- **待决策**:Agent 需要你时,先在当前会话里问你。需要等你稍后处理的请求进「待决策」页,你的回复会送回发起请求的 Agent。
|
|
442
442
|
- **圆桌**:除了问答(`message_agent`),Agent 之间还能私聊和群聊(`agent_chat`),支持推送和 `wait` 等待;控制台实时显示。
|
|
@@ -576,6 +576,7 @@ HTTPS 公网部署。
|
|
|
576
576
|
| `--skip-agents` | 不修改 Agent 配置或 Skills |
|
|
577
577
|
| `--connected-only` | 仅刷新已有 Fuli MCP 配置的客户端;update 自动使用此选项 |
|
|
578
578
|
| `--no-start` | 初始化 Provider,但不启动管理界面 |
|
|
579
|
+
| `--allow-provider-downgrade` | 接受更低版本的原生 Provider,例如从本机 `rc` 版换到公开的 `beta` 版;先备份数据目录 |
|
|
579
580
|
| `--personal-only` | 只使用个人 Provider;默认模式 |
|
|
580
581
|
| `--with-dev-public` | 同时启动开发用公共 Provider,仅用于开发或联调 |
|
|
581
582
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,E as n,H as r,O as i,T as a,_ as o,b as s,dt as c,ft as l,it as u,mt as d,o as f,y as p}from"./i18n-DYrQWclR.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as h}from"./fuli-logo-Bu9WBuQe.js";var g={class:`about-section-heading`},ee=[`id`],_=m(i({__name:`AboutSectionHeading`,props:{titleId:{},title:{},description:{}},setup(n){return(r,i)=>(e(),t(`header`,g,[s(`h2`,{id:n.titleId},d(n.title),9,ee),s(`p`,null,d(n.description),1)]))}}),[[`__scopeId`,`data-v-99ca5811`]]),v=[`aria-label`],y={class:`label-dimension-strip`},b=[`data-dimension`],x={class:`label-guide-sheet`},S={class:`label-guide-section profile-guide`},C={class:`label-definition-list`},w=[`data-kind`],T={class:`label-guide-section quadrant-guide`},E={class:`quadrant-explainer`},D={class:`quadrant-y-axis`,"aria-hidden":`true`},O=[`aria-label`],k=[`data-quadrant`],A={class:`quadrant-x-axis`,"aria-hidden":`true`},j={class:`quadrant-notes`},M={class:`label-guide-section confirmation-guide`},N={class:`status-table-wrap`},P={class:`status-definition-table`},F={scope:`col`},I={scope:`col`},L={scope:`col`},R={scope:`row`},z=[`data-status`],B=[`data-label`],V=[`data-label`],H={class:`status-boundaries`},U={class:`label-example`},W={class:`label-example-tags`,"aria-hidden":`true`},te={class:`label-token profile-token`,"data-kind":`taste`},G={class:`label-token origin-token`},K={class:`label-token status-token`,"data-status":`confirmed`},q={class:`label-all-note`},J=m(i({__name:`LabelGuide`,setup(n){let i=p(()=>[{key:`profile`,title:f(`about.dimensions.profile.title`),question:f(`about.dimensions.profile.question`),timing:f(`about.dimensions.profile.timing`)},{key:`origin`,title:f(`about.dimensions.origin.title`),question:f(`about.dimensions.origin.question`),timing:f(`about.dimensions.origin.timing`)},{key:`confirmation`,title:f(`about.dimensions.confirmation.title`),question:f(`about.dimensions.confirmation.question`),timing:f(`about.dimensions.confirmation.timing`)}]),l=p(()=>[{key:`taste`,label:f(`about.profiles.taste.label`),short:f(`about.profiles.taste.short`),description:f(`about.profiles.taste.description`)},{key:`personality`,label:f(`about.profiles.personality.label`),short:f(`about.profiles.personality.short`),description:f(`about.profiles.personality.description`)},{key:`judgment`,label:f(`about.profiles.judgment.label`),short:f(`about.profiles.judgment.short`),description:f(`about.profiles.judgment.description`)}]),u=p(()=>[{key:`known-unknown`,label:f(`about.quadrants.knownUnknown.label`),coordinate:f(`about.quadrants.knownUnknown.coordinate`),description:f(`about.quadrants.knownUnknown.description`)},{key:`known-known`,label:f(`about.quadrants.knownKnown.label`),coordinate:f(`about.quadrants.knownKnown.coordinate`),description:f(`about.quadrants.knownKnown.description`)},{key:`unknown-unknown`,label:f(`about.quadrants.unknownUnknown.label`),coordinate:f(`about.quadrants.unknownUnknown.coordinate`),description:f(`about.quadrants.unknownUnknown.description`)},{key:`unknown-known`,label:f(`about.quadrants.unknownKnown.label`),coordinate:f(`about.quadrants.unknownKnown.coordinate`),description:f(`about.quadrants.unknownKnown.description`)}]),m=p(()=>[{key:`pending`,label:f(`about.statuses.pending.label`),description:f(`about.statuses.pending.description`),rule:f(`about.statuses.pending.rule`)},{key:`agent-confirmed`,label:f(`about.statuses.agentConfirmed.label`),description:f(`about.statuses.agentConfirmed.description`),rule:f(`about.statuses.agentConfirmed.rule`)},{key:`confirmed`,label:f(`about.statuses.confirmed.label`),description:f(`about.statuses.confirmed.description`),rule:f(`about.statuses.confirmed.rule`)}]);return(n,p)=>(e(),t(`section`,{class:`label-guide`,"aria-label":c(f)(`about.labelsAria`)},[s(`div`,y,[(e(!0),t(o,null,r(i.value,n=>(e(),t(`article`,{key:n.key,"data-dimension":n.key},[p[0]||=s(`i`,{"aria-hidden":`true`},null,-1),s(`dl`,null,[s(`dt`,null,d(n.title),1),s(`dd`,null,[a(d(n.question)+` `,1),s(`small`,null,d(n.timing),1)])])],8,b))),128))]),s(`div`,x,[s(`section`,S,[s(`header`,null,[s(`span`,null,d(c(f)(`about.sections.profile.index`)),1),s(`div`,null,[s(`h3`,null,d(c(f)(`about.sections.profile.title`)),1),s(`p`,null,d(c(f)(`about.sections.profile.meta`)),1)])]),s(`dl`,C,[(e(!0),t(o,null,r(l.value,n=>(e(),t(`div`,{key:n.key,class:`label-definition-row`},[s(`dt`,null,[s(`span`,{class:`label-token profile-token`,"data-kind":n.key},d(n.label),9,w)]),s(`dd`,null,[s(`strong`,null,d(n.short),1),s(`p`,null,d(n.description),1)])]))),128))])]),s(`section`,T,[s(`header`,null,[s(`span`,null,d(c(f)(`about.sections.origin.index`)),1),s(`div`,null,[s(`h3`,null,d(c(f)(`about.sections.origin.title`)),1),s(`p`,null,d(c(f)(`about.sections.origin.meta`)),1)])]),s(`div`,E,[s(`div`,D,[s(`span`,null,d(c(f)(`about.quadrants.aware`)),1),s(`strong`,null,d(c(f)(`about.quadrants.awareness`)),1),s(`span`,null,d(c(f)(`about.quadrants.unaware`)),1)]),s(`div`,{class:`quadrant-grid`,role:`group`,"aria-label":c(f)(`about.sections.origin.title`)},[(e(!0),t(o,null,r(u.value,n=>(e(),t(`article`,{key:n.key,"data-quadrant":n.key},[s(`span`,null,d(n.coordinate),1),s(`strong`,null,d(n.label),1),s(`p`,null,d(n.description),1)],8,k))),128))],8,O),s(`div`,A,[s(`span`,null,d(c(f)(`about.quadrants.unmastered`)),1),s(`strong`,null,d(c(f)(`about.quadrants.mastery`)),1),s(`span`,null,d(c(f)(`about.quadrants.mastered`)),1)]),s(`div`,j,[s(`p`,null,d(c(f)(`about.quadrants.immutable`)),1),s(`p`,null,d(c(f)(`about.quadrants.unclassified`)),1)])])]),s(`section`,M,[s(`header`,null,[s(`span`,null,d(c(f)(`about.sections.confirmation.index`)),1),s(`div`,null,[s(`h3`,null,d(c(f)(`about.sections.confirmation.title`)),1),s(`p`,null,d(c(f)(`about.sections.confirmation.meta`)),1)])]),s(`div`,N,[s(`table`,P,[s(`thead`,null,[s(`tr`,null,[s(`th`,F,d(c(f)(`about.sections.confirmation.title`)),1),s(`th`,I,d(c(f)(`about.statuses.descriptionHeader`)),1),s(`th`,L,d(c(f)(`about.statuses.entryCondition`)),1)])]),s(`tbody`,null,[(e(!0),t(o,null,r(m.value,n=>(e(),t(`tr`,{key:n.key,class:`status-definition-row`},[s(`th`,R,[s(`span`,{class:`label-token status-token`,"data-status":n.key},d(n.label),9,z)]),s(`td`,{"data-label":c(f)(`about.statuses.descriptionHeader`)},d(n.description),9,B),s(`td`,{"data-label":c(f)(`about.statuses.entryCondition`)},[s(`strong`,null,d(n.rule),1)],8,V)]))),128))])]),s(`div`,H,[s(`p`,null,d(c(f)(`about.statuses.usageBoundary`)),1),s(`p`,null,d(c(f)(`about.statuses.resetBoundary`)),1)])])]),s(`section`,U,[s(`div`,null,[s(`span`,null,d(c(f)(`about.example.title`)),1),s(`strong`,null,d(c(f)(`about.example.item`)),1)]),s(`div`,W,[s(`span`,te,d(c(f)(`about.example.profile`)),1),s(`span`,G,d(c(f)(`about.example.origin`)),1),s(`span`,K,d(c(f)(`about.example.status`)),1)]),s(`p`,null,d(c(f)(`about.example.description`)),1)]),s(`p`,q,d(c(f)(`about.allFilter`)),1)])],8,v))}}),[[`__scopeId`,`data-v-e657da2b`]]),Y={class:`open-source-credits`,"aria-labelledby":`credits-title`},X={class:`credit-grid`},Z=[`href`,`data-credit`],Q=[`src`,`onError`],ne={key:1,"aria-hidden":`true`},re={class:`credit-copy`},ie=[`title`],ae={class:`credit-source-note`},oe={class:`fuli-finale`},se={class:`finale-logo-plate`},ce=[`src`],le={class:`finale-brand`},ue={class:`finale-site-link`,"data-testid":`about-website-link`,href:`https://xn--8ovp9s.xn--m8txu.com/fuli/`,target:`_blank`,rel:`noreferrer`},de=m(i({__name:`OpenSourceCredits`,setup(i){let a=u(new Set),m=p(()=>[{name:`Vue.js`,role:f(`about.credits.roles.vue`),url:`https://vuejs.org/`,logo:`https://raw.githubusercontent.com/vuejs/docs/main/src/public/logo.svg`},{name:`Vite`,role:f(`about.credits.roles.vite`),url:`https://vite.dev/`,logo:`https://raw.githubusercontent.com/vitejs/vite/main/docs/public/logo-without-border.svg`},{name:`Pinia`,role:f(`about.credits.roles.pinia`),url:`https://pinia.vuejs.org/`,logo:`https://raw.githubusercontent.com/vuejs/pinia/v4/packages/docs/public/logo.svg`},{name:`D3.js`,role:f(`about.credits.roles.d3`),url:`https://d3js.org/`,logo:`https://raw.githubusercontent.com/d3/d3-logo/master/d3.svg`},{name:`Vitest`,role:f(`about.credits.roles.vitest`),url:`https://vitest.dev/`,logo:`https://raw.githubusercontent.com/vitest-dev/vitest/main/docs/public/logo-without-border.svg`},{name:`Hono`,role:f(`about.credits.roles.hono`),url:`https://hono.dev/`,logo:`https://raw.githubusercontent.com/honojs/website/main/public/images/logo.svg`},{name:`Neo4j`,role:f(`about.credits.roles.neo4j`),url:`https://neo4j.com/`,logo:`https://avatars.githubusercontent.com/u/201120?v=4`},{name:`Zod`,role:f(`about.credits.roles.zod`),url:`https://zod.dev/`,logo:`https://raw.githubusercontent.com/colinhacks/zod/main/packages/docs/public/logo/logo_square.png`},{name:`FastAPI`,role:f(`about.credits.roles.fastapi`),url:`https://fastapi.tiangolo.com/`,logo:`https://raw.githubusercontent.com/fastapi/fastapi/master/docs/en/docs/img/favicon.png`},{name:`Graphiti`,role:f(`about.credits.roles.graphiti`),url:`https://github.com/getzep/graphiti`,logo:`https://avatars.githubusercontent.com/u/132832125?s=128&v=4`},{name:`MCP`,role:f(`about.credits.roles.mcp`),url:`https://modelcontextprotocol.io/`,logo:`https://raw.githubusercontent.com/modelcontextprotocol/docs/main/favicon.svg`}]);return(i,u)=>(e(),t(`section`,Y,[n(_,{"title-id":`credits-title`,title:c(f)(`about.credits.title`),description:c(f)(`about.credits.description`)},null,8,[`title`,`description`]),s(`ul`,X,[(e(!0),t(o,null,r(m.value,n=>(e(),t(`li`,{key:n.name},[s(`a`,{class:`credit-card`,href:n.url,target:`_blank`,rel:`noreferrer`,"data-credit":n.name},[s(`span`,{class:l([`credit-mark`,{"is-fallback":a.has(n.name)}])},[a.has(n.name)?(e(),t(`span`,ne,d(n.name.charAt(0)),1)):(e(),t(`img`,{key:0,src:n.logo,alt:``,loading:`lazy`,referrerpolicy:`no-referrer`,onError:e=>a.add(n.name)},null,40,Q))],2),s(`span`,re,[s(`strong`,{title:n.name},d(n.name),9,ie),s(`small`,null,d(n.role),1)]),u[0]||=s(`span`,{class:`credit-arrow`,"aria-hidden":`true`},`↗`,-1)],8,Z)]))),128))]),s(`p`,ae,d(c(f)(`about.credits.sourceNote`)),1),s(`footer`,oe,[s(`span`,se,[s(`img`,{src:c(h),alt:``,"aria-hidden":`true`},null,8,ce)]),s(`div`,le,[s(`strong`,null,d(c(f)(`common.brand`)),1),u[1]||=s(`span`,null,`Context Graph`,-1)]),s(`p`,null,d(c(f)(`about.credits.finale`)),1),s(`a`,ue,d(c(f)(`about.credits.website`)),1)])]))}}),[[`__scopeId`,`data-v-c9330c37`]]),fe={class:`product-principles`,"aria-labelledby":`principles-title`},pe={class:`principle-sequence`},me={class:`principle-boundaries`},he=[`data-boundary`],ge=m(i({__name:`ProductPrinciples`,setup(i){let a=p(()=>[{key:`capture`,index:f(`about.philosophy.capture.index`),title:f(`about.philosophy.capture.title`),description:f(`about.philosophy.capture.description`)},{key:`project`,index:f(`about.philosophy.project.index`),title:f(`about.philosophy.project.title`),description:f(`about.philosophy.project.description`)},{key:`review`,index:f(`about.philosophy.review.index`),title:f(`about.philosophy.review.title`),description:f(`about.philosophy.review.description`)},{key:`reuse`,index:f(`about.philosophy.reuse.index`),title:f(`about.philosophy.reuse.title`),description:f(`about.philosophy.reuse.description`)}]),l=p(()=>[{key:`local`,title:f(`about.philosophy.local.title`),description:f(`about.philosophy.local.description`)},{key:`authority`,title:f(`about.philosophy.authority.title`),description:f(`about.philosophy.authority.description`)},{key:`scope`,title:f(`about.philosophy.scope.title`),description:f(`about.philosophy.scope.description`)}]);return(i,u)=>(e(),t(`section`,fe,[n(_,{"title-id":`principles-title`,title:c(f)(`about.philosophy.sectionTitle`),description:c(f)(`about.philosophy.support`)},null,8,[`title`,`description`]),s(`div`,pe,[(e(!0),t(o,null,r(a.value,n=>(e(),t(`article`,{key:n.key},[s(`span`,null,d(n.index),1),s(`div`,null,[s(`h3`,null,d(n.title),1),s(`p`,null,d(n.description),1)])]))),128))]),s(`div`,me,[s(`h3`,null,d(c(f)(`about.philosophy.boundariesTitle`)),1),s(`div`,null,[(e(!0),t(o,null,r(l.value,n=>(e(),t(`article`,{key:n.key},[s(`i`,{"data-boundary":n.key,"aria-hidden":`true`},null,8,he),s(`h4`,null,d(n.title),1),s(`p`,null,d(n.description),1)]))),128))])])]))}}),[[`__scopeId`,`data-v-caaf4c60`]]),_e=[`aria-label`],ve={class:`about-content`},ye={class:`about-opening`},be={class:`about-brand-lockup`},$={class:`about-logo-plate`},xe=[`src`],Se={class:`about-brand-name`},Ce={class:`about-opening-claim`},we={class:`about-opening-copy`},Te={class:`about-labels-section`,"aria-labelledby":`about-labels-title`},Ee=m(i({__name:`AboutPage`,setup(r){return(r,i)=>(e(),t(`section`,{class:`view about-view`,"aria-label":c(f)(`about.aria`)},[s(`div`,ve,[s(`header`,ye,[s(`div`,be,[s(`span`,$,[s(`img`,{"data-testid":`about-opening-logo`,src:c(h),alt:``,"aria-hidden":`true`},null,8,xe)]),s(`span`,Se,d(c(f)(`common.brand`)),1)]),s(`p`,Ce,d(c(f)(`about.philosophy.title`)),1),s(`p`,we,d(c(f)(`about.philosophy.intro`)),1)]),n(ge),s(`section`,Te,[n(_,{"title-id":`about-labels-title`,title:c(f)(`about.labelsIntro.title`),description:c(f)(`about.labelsIntro.description`)},null,8,[`title`,`description`]),n(J)]),n(de)])],8,_e))}}),[[`__scopeId`,`data-v-91d4f5d4`]]);export{Ee as default};
|
|
1
|
+
import{B as e,C as t,E as n,H as r,O as i,T as a,_ as o,b as s,dt as c,ft as l,it as u,mt as d,o as f,y as p}from"./i18n-DUkThQlr.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as h}from"./fuli-logo-Bu9WBuQe.js";var g={class:`about-section-heading`},ee=[`id`],_=m(i({__name:`AboutSectionHeading`,props:{titleId:{},title:{},description:{}},setup(n){return(r,i)=>(e(),t(`header`,g,[s(`h2`,{id:n.titleId},d(n.title),9,ee),s(`p`,null,d(n.description),1)]))}}),[[`__scopeId`,`data-v-99ca5811`]]),v=[`aria-label`],y={class:`label-dimension-strip`},b=[`data-dimension`],x={class:`label-guide-sheet`},S={class:`label-guide-section profile-guide`},C={class:`label-definition-list`},w=[`data-kind`],T={class:`label-guide-section quadrant-guide`},E={class:`quadrant-explainer`},D={class:`quadrant-y-axis`,"aria-hidden":`true`},O=[`aria-label`],k=[`data-quadrant`],A={class:`quadrant-x-axis`,"aria-hidden":`true`},j={class:`quadrant-notes`},M={class:`label-guide-section confirmation-guide`},N={class:`status-table-wrap`},P={class:`status-definition-table`},F={scope:`col`},I={scope:`col`},L={scope:`col`},R={scope:`row`},z=[`data-status`],B=[`data-label`],V=[`data-label`],H={class:`status-boundaries`},U={class:`label-example`},W={class:`label-example-tags`,"aria-hidden":`true`},te={class:`label-token profile-token`,"data-kind":`taste`},G={class:`label-token origin-token`},K={class:`label-token status-token`,"data-status":`confirmed`},q={class:`label-all-note`},J=m(i({__name:`LabelGuide`,setup(n){let i=p(()=>[{key:`profile`,title:f(`about.dimensions.profile.title`),question:f(`about.dimensions.profile.question`),timing:f(`about.dimensions.profile.timing`)},{key:`origin`,title:f(`about.dimensions.origin.title`),question:f(`about.dimensions.origin.question`),timing:f(`about.dimensions.origin.timing`)},{key:`confirmation`,title:f(`about.dimensions.confirmation.title`),question:f(`about.dimensions.confirmation.question`),timing:f(`about.dimensions.confirmation.timing`)}]),l=p(()=>[{key:`taste`,label:f(`about.profiles.taste.label`),short:f(`about.profiles.taste.short`),description:f(`about.profiles.taste.description`)},{key:`personality`,label:f(`about.profiles.personality.label`),short:f(`about.profiles.personality.short`),description:f(`about.profiles.personality.description`)},{key:`judgment`,label:f(`about.profiles.judgment.label`),short:f(`about.profiles.judgment.short`),description:f(`about.profiles.judgment.description`)}]),u=p(()=>[{key:`known-unknown`,label:f(`about.quadrants.knownUnknown.label`),coordinate:f(`about.quadrants.knownUnknown.coordinate`),description:f(`about.quadrants.knownUnknown.description`)},{key:`known-known`,label:f(`about.quadrants.knownKnown.label`),coordinate:f(`about.quadrants.knownKnown.coordinate`),description:f(`about.quadrants.knownKnown.description`)},{key:`unknown-unknown`,label:f(`about.quadrants.unknownUnknown.label`),coordinate:f(`about.quadrants.unknownUnknown.coordinate`),description:f(`about.quadrants.unknownUnknown.description`)},{key:`unknown-known`,label:f(`about.quadrants.unknownKnown.label`),coordinate:f(`about.quadrants.unknownKnown.coordinate`),description:f(`about.quadrants.unknownKnown.description`)}]),m=p(()=>[{key:`pending`,label:f(`about.statuses.pending.label`),description:f(`about.statuses.pending.description`),rule:f(`about.statuses.pending.rule`)},{key:`agent-confirmed`,label:f(`about.statuses.agentConfirmed.label`),description:f(`about.statuses.agentConfirmed.description`),rule:f(`about.statuses.agentConfirmed.rule`)},{key:`confirmed`,label:f(`about.statuses.confirmed.label`),description:f(`about.statuses.confirmed.description`),rule:f(`about.statuses.confirmed.rule`)}]);return(n,p)=>(e(),t(`section`,{class:`label-guide`,"aria-label":c(f)(`about.labelsAria`)},[s(`div`,y,[(e(!0),t(o,null,r(i.value,n=>(e(),t(`article`,{key:n.key,"data-dimension":n.key},[p[0]||=s(`i`,{"aria-hidden":`true`},null,-1),s(`dl`,null,[s(`dt`,null,d(n.title),1),s(`dd`,null,[a(d(n.question)+` `,1),s(`small`,null,d(n.timing),1)])])],8,b))),128))]),s(`div`,x,[s(`section`,S,[s(`header`,null,[s(`span`,null,d(c(f)(`about.sections.profile.index`)),1),s(`div`,null,[s(`h3`,null,d(c(f)(`about.sections.profile.title`)),1),s(`p`,null,d(c(f)(`about.sections.profile.meta`)),1)])]),s(`dl`,C,[(e(!0),t(o,null,r(l.value,n=>(e(),t(`div`,{key:n.key,class:`label-definition-row`},[s(`dt`,null,[s(`span`,{class:`label-token profile-token`,"data-kind":n.key},d(n.label),9,w)]),s(`dd`,null,[s(`strong`,null,d(n.short),1),s(`p`,null,d(n.description),1)])]))),128))])]),s(`section`,T,[s(`header`,null,[s(`span`,null,d(c(f)(`about.sections.origin.index`)),1),s(`div`,null,[s(`h3`,null,d(c(f)(`about.sections.origin.title`)),1),s(`p`,null,d(c(f)(`about.sections.origin.meta`)),1)])]),s(`div`,E,[s(`div`,D,[s(`span`,null,d(c(f)(`about.quadrants.aware`)),1),s(`strong`,null,d(c(f)(`about.quadrants.awareness`)),1),s(`span`,null,d(c(f)(`about.quadrants.unaware`)),1)]),s(`div`,{class:`quadrant-grid`,role:`group`,"aria-label":c(f)(`about.sections.origin.title`)},[(e(!0),t(o,null,r(u.value,n=>(e(),t(`article`,{key:n.key,"data-quadrant":n.key},[s(`span`,null,d(n.coordinate),1),s(`strong`,null,d(n.label),1),s(`p`,null,d(n.description),1)],8,k))),128))],8,O),s(`div`,A,[s(`span`,null,d(c(f)(`about.quadrants.unmastered`)),1),s(`strong`,null,d(c(f)(`about.quadrants.mastery`)),1),s(`span`,null,d(c(f)(`about.quadrants.mastered`)),1)]),s(`div`,j,[s(`p`,null,d(c(f)(`about.quadrants.immutable`)),1),s(`p`,null,d(c(f)(`about.quadrants.unclassified`)),1)])])]),s(`section`,M,[s(`header`,null,[s(`span`,null,d(c(f)(`about.sections.confirmation.index`)),1),s(`div`,null,[s(`h3`,null,d(c(f)(`about.sections.confirmation.title`)),1),s(`p`,null,d(c(f)(`about.sections.confirmation.meta`)),1)])]),s(`div`,N,[s(`table`,P,[s(`thead`,null,[s(`tr`,null,[s(`th`,F,d(c(f)(`about.sections.confirmation.title`)),1),s(`th`,I,d(c(f)(`about.statuses.descriptionHeader`)),1),s(`th`,L,d(c(f)(`about.statuses.entryCondition`)),1)])]),s(`tbody`,null,[(e(!0),t(o,null,r(m.value,n=>(e(),t(`tr`,{key:n.key,class:`status-definition-row`},[s(`th`,R,[s(`span`,{class:`label-token status-token`,"data-status":n.key},d(n.label),9,z)]),s(`td`,{"data-label":c(f)(`about.statuses.descriptionHeader`)},d(n.description),9,B),s(`td`,{"data-label":c(f)(`about.statuses.entryCondition`)},[s(`strong`,null,d(n.rule),1)],8,V)]))),128))])]),s(`div`,H,[s(`p`,null,d(c(f)(`about.statuses.usageBoundary`)),1),s(`p`,null,d(c(f)(`about.statuses.resetBoundary`)),1)])])]),s(`section`,U,[s(`div`,null,[s(`span`,null,d(c(f)(`about.example.title`)),1),s(`strong`,null,d(c(f)(`about.example.item`)),1)]),s(`div`,W,[s(`span`,te,d(c(f)(`about.example.profile`)),1),s(`span`,G,d(c(f)(`about.example.origin`)),1),s(`span`,K,d(c(f)(`about.example.status`)),1)]),s(`p`,null,d(c(f)(`about.example.description`)),1)]),s(`p`,q,d(c(f)(`about.allFilter`)),1)])],8,v))}}),[[`__scopeId`,`data-v-e657da2b`]]),Y={class:`open-source-credits`,"aria-labelledby":`credits-title`},X={class:`credit-grid`},Z=[`href`,`data-credit`],Q=[`src`,`onError`],ne={key:1,"aria-hidden":`true`},re={class:`credit-copy`},ie=[`title`],ae={class:`credit-source-note`},oe={class:`fuli-finale`},se={class:`finale-logo-plate`},ce=[`src`],le={class:`finale-brand`},ue={class:`finale-site-link`,"data-testid":`about-website-link`,href:`https://xn--8ovp9s.xn--m8txu.com/fuli/`,target:`_blank`,rel:`noreferrer`},de=m(i({__name:`OpenSourceCredits`,setup(i){let a=u(new Set),m=p(()=>[{name:`Vue.js`,role:f(`about.credits.roles.vue`),url:`https://vuejs.org/`,logo:`https://raw.githubusercontent.com/vuejs/docs/main/src/public/logo.svg`},{name:`Vite`,role:f(`about.credits.roles.vite`),url:`https://vite.dev/`,logo:`https://raw.githubusercontent.com/vitejs/vite/main/docs/public/logo-without-border.svg`},{name:`Pinia`,role:f(`about.credits.roles.pinia`),url:`https://pinia.vuejs.org/`,logo:`https://raw.githubusercontent.com/vuejs/pinia/v4/packages/docs/public/logo.svg`},{name:`D3.js`,role:f(`about.credits.roles.d3`),url:`https://d3js.org/`,logo:`https://raw.githubusercontent.com/d3/d3-logo/master/d3.svg`},{name:`Vitest`,role:f(`about.credits.roles.vitest`),url:`https://vitest.dev/`,logo:`https://raw.githubusercontent.com/vitest-dev/vitest/main/docs/public/logo-without-border.svg`},{name:`Hono`,role:f(`about.credits.roles.hono`),url:`https://hono.dev/`,logo:`https://raw.githubusercontent.com/honojs/website/main/public/images/logo.svg`},{name:`Neo4j`,role:f(`about.credits.roles.neo4j`),url:`https://neo4j.com/`,logo:`https://avatars.githubusercontent.com/u/201120?v=4`},{name:`Zod`,role:f(`about.credits.roles.zod`),url:`https://zod.dev/`,logo:`https://raw.githubusercontent.com/colinhacks/zod/main/packages/docs/public/logo/logo_square.png`},{name:`FastAPI`,role:f(`about.credits.roles.fastapi`),url:`https://fastapi.tiangolo.com/`,logo:`https://raw.githubusercontent.com/fastapi/fastapi/master/docs/en/docs/img/favicon.png`},{name:`Graphiti`,role:f(`about.credits.roles.graphiti`),url:`https://github.com/getzep/graphiti`,logo:`https://avatars.githubusercontent.com/u/132832125?s=128&v=4`},{name:`MCP`,role:f(`about.credits.roles.mcp`),url:`https://modelcontextprotocol.io/`,logo:`https://raw.githubusercontent.com/modelcontextprotocol/docs/main/favicon.svg`}]);return(i,u)=>(e(),t(`section`,Y,[n(_,{"title-id":`credits-title`,title:c(f)(`about.credits.title`),description:c(f)(`about.credits.description`)},null,8,[`title`,`description`]),s(`ul`,X,[(e(!0),t(o,null,r(m.value,n=>(e(),t(`li`,{key:n.name},[s(`a`,{class:`credit-card`,href:n.url,target:`_blank`,rel:`noreferrer`,"data-credit":n.name},[s(`span`,{class:l([`credit-mark`,{"is-fallback":a.has(n.name)}])},[a.has(n.name)?(e(),t(`span`,ne,d(n.name.charAt(0)),1)):(e(),t(`img`,{key:0,src:n.logo,alt:``,loading:`lazy`,referrerpolicy:`no-referrer`,onError:e=>a.add(n.name)},null,40,Q))],2),s(`span`,re,[s(`strong`,{title:n.name},d(n.name),9,ie),s(`small`,null,d(n.role),1)]),u[0]||=s(`span`,{class:`credit-arrow`,"aria-hidden":`true`},`↗`,-1)],8,Z)]))),128))]),s(`p`,ae,d(c(f)(`about.credits.sourceNote`)),1),s(`footer`,oe,[s(`span`,se,[s(`img`,{src:c(h),alt:``,"aria-hidden":`true`},null,8,ce)]),s(`div`,le,[s(`strong`,null,d(c(f)(`common.brand`)),1),u[1]||=s(`span`,null,`Context Graph`,-1)]),s(`p`,null,d(c(f)(`about.credits.finale`)),1),s(`a`,ue,d(c(f)(`about.credits.website`)),1)])]))}}),[[`__scopeId`,`data-v-c9330c37`]]),fe={class:`product-principles`,"aria-labelledby":`principles-title`},pe={class:`principle-sequence`},me={class:`principle-boundaries`},he=[`data-boundary`],ge=m(i({__name:`ProductPrinciples`,setup(i){let a=p(()=>[{key:`capture`,index:f(`about.philosophy.capture.index`),title:f(`about.philosophy.capture.title`),description:f(`about.philosophy.capture.description`)},{key:`project`,index:f(`about.philosophy.project.index`),title:f(`about.philosophy.project.title`),description:f(`about.philosophy.project.description`)},{key:`review`,index:f(`about.philosophy.review.index`),title:f(`about.philosophy.review.title`),description:f(`about.philosophy.review.description`)},{key:`reuse`,index:f(`about.philosophy.reuse.index`),title:f(`about.philosophy.reuse.title`),description:f(`about.philosophy.reuse.description`)}]),l=p(()=>[{key:`local`,title:f(`about.philosophy.local.title`),description:f(`about.philosophy.local.description`)},{key:`authority`,title:f(`about.philosophy.authority.title`),description:f(`about.philosophy.authority.description`)},{key:`scope`,title:f(`about.philosophy.scope.title`),description:f(`about.philosophy.scope.description`)}]);return(i,u)=>(e(),t(`section`,fe,[n(_,{"title-id":`principles-title`,title:c(f)(`about.philosophy.sectionTitle`),description:c(f)(`about.philosophy.support`)},null,8,[`title`,`description`]),s(`div`,pe,[(e(!0),t(o,null,r(a.value,n=>(e(),t(`article`,{key:n.key},[s(`span`,null,d(n.index),1),s(`div`,null,[s(`h3`,null,d(n.title),1),s(`p`,null,d(n.description),1)])]))),128))]),s(`div`,me,[s(`h3`,null,d(c(f)(`about.philosophy.boundariesTitle`)),1),s(`div`,null,[(e(!0),t(o,null,r(l.value,n=>(e(),t(`article`,{key:n.key},[s(`i`,{"data-boundary":n.key,"aria-hidden":`true`},null,8,he),s(`h4`,null,d(n.title),1),s(`p`,null,d(n.description),1)]))),128))])])]))}}),[[`__scopeId`,`data-v-caaf4c60`]]),_e=[`aria-label`],ve={class:`about-content`},ye={class:`about-opening`},be={class:`about-brand-lockup`},$={class:`about-logo-plate`},xe=[`src`],Se={class:`about-brand-name`},Ce={class:`about-opening-claim`},we={class:`about-opening-copy`},Te={class:`about-labels-section`,"aria-labelledby":`about-labels-title`},Ee=m(i({__name:`AboutPage`,setup(r){return(r,i)=>(e(),t(`section`,{class:`view about-view`,"aria-label":c(f)(`about.aria`)},[s(`div`,ve,[s(`header`,ye,[s(`div`,be,[s(`span`,$,[s(`img`,{"data-testid":`about-opening-logo`,src:c(h),alt:``,"aria-hidden":`true`},null,8,xe)]),s(`span`,Se,d(c(f)(`common.brand`)),1)]),s(`p`,Ce,d(c(f)(`about.philosophy.title`)),1),s(`p`,we,d(c(f)(`about.philosophy.intro`)),1)]),n(ge),s(`section`,Te,[n(_,{"title-id":`about-labels-title`,title:c(f)(`about.labelsIntro.title`),description:c(f)(`about.labelsIntro.description`)},null,8,[`title`,`description`]),n(J)]),n(de)])],8,_e))}}),[[`__scopeId`,`data-v-91d4f5d4`]]);export{Ee as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,O as t,T as n,X as r,dt as i,mt as a,x as o}from"./i18n-
|
|
1
|
+
import{B as e,O as t,T as n,X as r,dt as i,mt as a,x as o}from"./i18n-DUkThQlr.js";import{t as s}from"./vue-router-CSaEmqy7.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as l}from"./profile-model-BQO4zNs9.js";var u=c(t({__name:`AgentName`,props:{spaceId:{},agentId:{},name:{}},setup(t){return(c,u)=>(e(),o(i(s),{class:`agent-name-link`,to:i(l)(t.spaceId,t.agentId)},{default:r(()=>[n(a(t.name),1)]),_:1},8,[`to`]))}}),[[`__scopeId`,`data-v-4c868995`]]);export{u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,E as n,H as r,J as i,O as a,P as o,R as s,S as c,T as l,X as u,Z as d,_ as f,b as p,dt as m,ft as h,g,m as _,mt as v,o as y,ot as b,p as x,pt as S,x as C,y as w}from"./i18n-DYrQWclR.js";import{n as T,t as E}from"./console-Dl-Zf-vm.js";import{m as D}from"./useApi-CROJJdhE-Di-SEzl3.js";import{t as O}from"./vue-router-CG6ezAck.js";import{o as k,r as A,s as j}from"./client-CRiPFGQo.js";import{t as M}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{r as N}from"./ui-8PDiMeCo.js";import{t as ee}from"./UiSelect-iDXgMBmg.js";import{t as P}from"./avatars-CUyfvsKO.js";import{t as F}from"./agent-identity-color-RqpT7gtx.js";import{a as I,r as te,t as L}from"./profile-model-BQO4zNs9.js";import{a as ne,h as R,l as re,n as ie}from"./task-evidence-i9SDhd3E.js";import{n as ae}from"./useAgentRecords-Bw9B25sk.js";import{n as oe}from"./paths-CDREouhi.js";import{t as se}from"./UiDisclosure-BkmYnV5V.js";import{t as ce}from"./AgentName-CKA8o3DK.js";import{i as le,n as z,t as ue}from"./occupation-catalog-C1dtWRD4.js";import{i as B,n as V,r as H,t as U}from"./agent-occupation-BODbxMc2.js";import{n as de,t as fe}from"./TaskExecutionPlan-DFh08QFN.js";import{a as pe,i as me,n as he}from"./agent-work-summary-9jEiDLve.js";import{a as ge,s as _e}from"./catalog-DoiBFHyb.js";import{t as ve}from"./project-team-api-DLYFf3Df.js";/* empty css */var W=[`title`],ye=M(a({__name:`ActivityOriginBadge`,props:{origin:{}},setup(n){return(r,i)=>n.origin?.kind===`ai_internal`?(e(),t(`span`,{key:0,class:`ui-badge activity-origin-badge`,"data-activity-origin":``,title:m(y)(`agentProfiles.activityOrigin.sources.${n.origin.source}`)},v(m(y)(`agentProfiles.activityOrigin.label`,{purpose:m(y)(`agentProfiles.activityOrigin.purposes.${n.origin.purpose}`)})),9,W)):c(``,!0)}}),[[`__scopeId`,`data-v-8e8c076b`]]),G={key:1,class:`agent-locked-platforms`},K={key:2,class:`agent-platform-field`},q=[`disabled`,`placeholder`],J=[`onUpdate:modelValue`,`disabled`],Y={key:3,role:`alert`},X={key:4,role:`status`},be=a({__name:`AgentProfileSettings`,props:{agent:{}},emits:[`saved`],setup(a,{emit:o}){let s=a,h=o,_=b([]),S=b(!1),E=b(!1),D=b(``),O=b(!1),M=``,N=b(``),P=b(``),F=b({judgment:``,taste:``,personality:``}),I=w(()=>s.agent.profile.executorPolicy?.mode===`locked`),te=w(()=>{let e=s.agent.profile.executorPolicy;return(e?.lockedExecutorIds?.length?e.lockedExecutorIds:(e?.allowList??[]).map(e=>e.executorId)).map(e=>_.value.find(t=>t.executorId===e)?.displayName||e)}),L=w(()=>_.value.filter(e=>e.registrationStatus===`registered`&&e.permissionStatus===`authorized`&&e.preflightStatus===`passed`&&e.workspacePermission&&e.healthStatus!==`unhealthy`&&(!e.healthRequired||e.healthStatus===`healthy`))),ne=w(()=>[{value:``,label:y(`agentProfiles.automatic`)},...N.value&&!L.value.some(e=>e.executorId===N.value)?[{value:N.value,label:y(`agentProfiles.platformUnavailable`),disabled:!0}]:[],...L.value.map(e=>({value:e.executorId,label:e.displayName||e.executorId}))]),R=0;i(()=>`${s.agent.personalSpaceId}/${s.agent.agentId}`,async()=>{let e=s.agent,t=++R;P.value=e.profile.expectations??``,F.value={judgment:``,taste:``,personality:``,...e.profile.character},N.value=e.profile.executorPolicy?.preferredExecutorIds?.[0]??``,M=N.value,D.value=``,O.value=!1,E.value=!1,S.value=!0,_.value=[];try{let n=await A(`/api/executors?${new URLSearchParams({personalSpaceId:e.personalSpaceId})}`);t===R&&(_.value=Array.isArray(n)?n:n.executors)}catch{t===R&&(D.value=y(`agentProfiles.platformUnavailable`))}finally{t===R&&(S.value=!1)}},{immediate:!0});async function re(){if(E.value)return;let e=R,t=s.agent;E.value=!0,D.value=``,O.value=!1;let n=t.profile.executorPolicy;try{let r=await k(`/api/project-agents`,{personalSpaceId:t.personalSpaceId,personalProjectId:t.personalProjectId??null,agentId:t.agentId,profile:{...t.profile,character:{...F.value},expectations:P.value,executorPolicy:I.value||N.value===M?n:{...n,mode:`flexible`,preferredExecutorIds:N.value?[N.value]:[]}}});e===R&&(M=N.value,h(`saved`,r),O.value=!0)}catch(t){e===R&&(D.value=t instanceof Error?t.message:y(`agentProfiles.saveError`))}finally{e===R&&(E.value=!1)}}return(i,a)=>(e(),t(`form`,{class:`agent-simple-settings`,onSubmit:g(re,[`prevent`])},[p(`h3`,null,v(m(y)(`agentProfiles.settings`)),1),S.value?(e(),C(j,{key:0,variant:`compact`,label:m(y)(`agentProfiles.settingsLoading`)},null,8,[`label`])):I.value?(e(),t(`div`,G,[p(`h4`,null,v(m(y)(`agentProfiles.platform`)),1),p(`p`,null,v(te.value.join(` · `)||m(y)(`agentProfiles.platformUnavailable`)),1),p(`small`,null,v(m(y)(`agentProfiles.locked`)),1)])):(e(),t(`div`,K,[n(ee,{modelValue:N.value,"onUpdate:modelValue":a[0]||=e=>N.value=e,field:``,label:m(y)(`agentProfiles.platform`),options:ne.value,disabled:I.value||E.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),p(`small`,null,v(m(y)(I.value?`agentProfiles.locked`:`agentProfiles.platformHint`)),1)])),p(`label`,null,[l(v(m(y)(`agentProfiles.expectations`)),1),d(p(`textarea`,{"onUpdate:modelValue":a[1]||=e=>P.value=e,rows:`3`,maxlength:`4096`,disabled:E.value,placeholder:m(y)(`agentProfiles.expectationsPlaceholder`)},null,8,q),[[x,P.value]])]),p(`details`,null,[p(`summary`,null,v(m(y)(`agentProfiles.editCharacter`)),1),(e(),t(f,null,r([`judgment`,`taste`,`personality`],e=>p(`label`,{key:e},[l(v(m(y)(`agentProfiles.${e}`)),1),d(p(`textarea`,{"onUpdate:modelValue":t=>F.value[e]=t,rows:`2`,maxlength:`2048`,disabled:E.value},null,8,J),[[x,F.value[e]]])])),64))]),D.value?(e(),t(`p`,Y,v(D.value),1)):c(``,!0),O.value?(e(),t(`p`,X,v(m(y)(`agentProfiles.saved`)),1)):c(``,!0),n(T,{size:`sm`,variant:`primary`,disabled:E.value||S.value,type:`submit`},{default:u(()=>[E.value?(e(),C(j,{key:0,variant:`inline`,label:m(y)(`agentProfiles.saving`)},null,8,[`label`])):(e(),t(f,{key:1},[l(v(m(y)(`agentProfiles.save`)),1)],64))]),_:1},8,[`disabled`])],32))}}),xe={key:0,class:`agent-occupation-editor`,"data-occupation-locked":``},Se={class:`ui-meta`},Ce={class:`ui-meta`},Z=[`disabled`],we={class:`ui-meta`},Te={key:0,class:`agent-occupation-main`},Ee={key:0,role:`alert`},De={key:1,role:`status`},Oe=M(a({__name:`AgentOccupationEditor`,props:{agent:{}},emits:[`saved`],setup(a,{emit:o}){let s=a,d=o,h=b(``),_=b([]),x=b(!1),S=b(``),E=b(!1);i(()=>s.agent.occupation,e=>{h.value=e?.role??``,_.value=(e?.tags??[]).filter(t=>t!==e?.role)},{immediate:!0}),i(h,e=>{e&&(_.value=_.value.filter(t=>t!==e))});let D=le(w(()=>s.agent.personalSpaceId)),O=w(()=>{let e=D.active.value.map(e=>e.key),t=[s.agent.occupation?.role,...s.agent.occupation?.tags??[]].filter(e=>!!e);return[...new Set([...e.length?e:U,...t])]}),k=e=>{let t=z(e);return t?ue(t):void 0},A=w(()=>[{value:``,label:y(`agentRedesign.occupation.none`)},...O.value.map(e=>({value:e,label:V(e)}))]);function M(e){E.value=!1,_.value=_.value.includes(e)?_.value.filter(t=>t!==e):[..._.value,e]}async function N(){x.value=!0,S.value=``,E.value=!1;try{let e=await B(s.agent.personalSpaceId,s.agent.agentId,{role:h.value||null,tags:_.value});d(`saved`,e),E.value=!0}catch(e){S.value=e instanceof Error?e.message:y(`agentRedesign.occupation.saveError`)}finally{x.value=!1}}return(i,o)=>a.agent.occupationLocked?(e(),t(`section`,xe,[p(`h3`,null,v(m(y)(`agentRedesign.occupation.title`)),1),p(`p`,Se,v(m(y)(`agentRedesign.occupation.locked`,{occupation:m(H)(a.agent.occupation).join(` · `)||m(y)(`agentRedesign.occupation.none`)})),1)])):(e(),t(`form`,{key:1,class:`agent-occupation-editor`,"data-occupation-editor":``,onSubmit:g(N,[`prevent`])},[p(`h3`,null,v(m(y)(`agentRedesign.occupation.title`)),1),p(`p`,Ce,v(m(y)(`agentRedesign.occupation.note`)),1),n(ee,{modelValue:h.value,"onUpdate:modelValue":[o[0]||=e=>h.value=e,o[1]||=e=>E.value=!1],field:``,label:m(y)(`agentRedesign.occupation.role`),options:A.value,disabled:x.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),p(`fieldset`,{class:`agent-occupation-tags`,disabled:x.value},[p(`legend`,null,[l(v(m(y)(`agentRedesign.occupation.tags`))+` `,1),p(`small`,we,v(m(y)(`agentRedesign.occupation.tagsHint`)),1)]),(e(!0),t(f,null,r(O.value,n=>(e(),C(T,{size:`sm`,variant:`ghost`,key:n,"data-occupation-tag":n,"aria-pressed":_.value.includes(n),disabled:n===h.value||!_.value.includes(n)&&_.value.length>=m(5),title:n===h.value?m(y)(`agentRedesign.occupation.isMainRole`):k(n),onClick:e=>M(n)},{default:u(()=>[l(v(m(V)(n)),1),n===h.value?(e(),t(`small`,Te,` · `+v(m(y)(`agentRedesign.occupation.mainRoleShort`)),1)):c(``,!0)]),_:2},1032,[`data-occupation-tag`,`aria-pressed`,`disabled`,`title`,`onClick`]))),128))],8,Z),S.value?(e(),t(`p`,Ee,v(S.value),1)):c(``,!0),E.value?(e(),t(`p`,De,v(m(y)(`agentRedesign.occupation.saved`)),1)):c(``,!0),n(T,{size:`sm`,variant:`primary`,type:`submit`,disabled:x.value},{default:u(()=>[x.value?(e(),C(j,{key:0,variant:`inline`,label:m(y)(`agentRedesign.occupation.saving`)},null,8,[`label`])):(e(),t(f,{key:1},[l(v(m(y)(`agentRedesign.occupation.save`)),1)],64))]),_:1},8,[`disabled`])],32))}}),[[`__scopeId`,`data-v-acfb86ae`]]),Q=[`aria-expanded`,`data-occupation`],ke={class:`occupation-chip-detail`,"data-occupation-detail":``},Ae={key:0},je=M(a({__name:`OccupationChip`,props:{occupationKey:{},main:{type:Boolean}},setup(r){let i=r,a=b(null),o=w(()=>z(i.occupationKey)),s=w(()=>V(i.occupationKey));function d(e){a.value=e.currentTarget.getBoundingClientRect()}return(i,g)=>(e(),t(f,null,[p(`button`,{type:`button`,class:h([`occupation-chip`,{"is-main":r.main}]),"aria-expanded":!!a.value,"data-occupation":r.occupationKey,onClick:d},v(s.value),11,Q),n(m(N),{open:!!a.value,anchor:a.value,label:s.value,onClose:g[1]||=e=>a.value=null},{default:u(()=>[p(`div`,ke,[p(`strong`,null,v(s.value),1),p(`p`,null,v(o.value?m(ue)(o.value):m(y)(`occupations.noDescription`)),1),o.value?(e(),t(`small`,Ae,v(m(y)(`occupations.agentCount`,{count:o.value.agent_count})),1)):c(``,!0),n(m(O),{to:`/project-agents/occupations`,onClick:g[0]||=e=>a.value=null},{default:u(()=>[l(v(m(y)(`occupations.manage`)),1)]),_:1})])]),_:1},8,[`open`,`anchor`,`label`])],64))}}),[[`__scopeId`,`data-v-6314de26`]]),Me=[`aria-label`],Ne={key:1,class:`ui-card ui-empty agent-profile-empty`,role:`alert`},Pe={key:2,class:`ui-card ui-empty agent-profile-empty`},Fe={class:`ui-card agent-resume-header`},Ie=[`src`],Le={class:`agent-resume-intro`},Re={class:`agent-resume-name-row`},ze={key:0,class:`ui-badge fla-employee-number`},Be={class:`agent-resume-occupation`,"data-profile-occupation":``},Ve={key:1,class:`ui-meta`},He={class:`agent-resume-meta`},Ue={class:`agent-profile-actions`},We={key:1,class:`agent-profile-refresh-status`,role:`status`},Ge=[`aria-label`],Ke=[`id`,`aria-selected`,`aria-controls`,`tabindex`,`onClick`,`onKeydown`],qe={key:5,class:`agent-profile-partial`,role:`status`},Je=[`aria-hidden`],Ye={class:`agent-profile-primary-grid`},Xe={class:`ui-card agent-resume-section agent-current-work-section`},Ze={class:`agent-section-heading`},Qe={key:0},$e={key:0,class:`agent-current-work-list`},et={class:`ui-badge`},tt={key:1,class:`agent-muted`},nt={key:2,class:`agent-muted`},rt={class:`ui-card agent-resume-section agent-projects-section`},it={class:`agent-section-heading`},at={class:`agent-resume-list agent-current-project-list`},ot={key:0,class:`agent-project-responsibility`},st={class:`agent-resume-list`},ct={key:0,class:`agent-project-responsibility`},lt={key:1,class:`agent-muted`},ut=[`aria-hidden`],dt={class:`ui-card agent-resume-section`},ft={key:0,class:`ui-disclosure`,open:``},pt={class:`agent-resume-list`},mt={key:1,class:`agent-muted`},ht={class:`ui-card agent-resume-section`},gt={class:`agent-muted`},_t={class:`agent-work-timeline`},vt={class:`agent-section-heading`},yt={key:0},bt={key:0},xt={key:0},St={key:0,class:`agent-muted`},Ct=[`aria-hidden`],wt={class:`ui-card agent-resume-section`},Tt={class:`agent-character`},Et={key:0,class:`agent-expectation`},Dt={class:`agent-strengths`},Ot={class:`agent-inline-skills`},kt={key:0},At=[`aria-hidden`],jt={class:`ui-card agent-resume-section`},Mt={class:`agent-section-heading`},Nt={key:0,role:`status`},Pt={key:0,class:`agent-org-lead-unavailable`,role:`status`},Ft={key:1,class:`agent-org-lead`},It={key:2,class:`agent-org-reporting`},Lt={key:3,class:`agent-org-members`},Rt={key:2,class:`agent-muted`},zt={key:0,class:`agent-muted`},Bt={class:`ui-card agent-resume-section`},Vt={class:`agent-collaborators`},Ht={key:0,class:`agent-muted`},Ut=[`aria-hidden`],Wt={class:`ui-card agent-resume-section`},Gt=[`aria-hidden`],Kt={class:`ui-card agent-resume-section agent-management-card`},qt={class:`agent-muted`},Jt={class:`agent-profile-management-links`},Yt=M(a({__name:`AgentProfilePage`,setup(a){let g=D(),x=E(),k=w(()=>x.activePersonalSpace?.id??``),M=w(()=>g.params.spaceId===k.value?String(g.params.agentId??``):``),N=ae(k,w(()=>M.value?[M.value]:[])),{loading:ee,error:z}=N,ue=()=>N.load({force:!0}),B=w(()=>M.value?N.records.value[M.value]:void 0),V=w(()=>(x.state?.personalProjects??[]).filter(e=>e.personal_space_id===k.value)),H=e=>V.value.find(t=>t.project_id===e)?.profile.name||e,U=b([]),W=b(void 0),G=b([]),K=b(!1),q=b(!1),J=b(!1),Y=b(`overview`),X=w(()=>{let e=[{id:`overview`,label:y(`agentProfiles.working`)},{id:`history`,label:y(`agentProfiles.experience`)},{id:`style`,label:y(`agentProfiles.about`)},{id:`collaborators`,label:y(`agentProfiles.collaborators`)},{id:`management`,label:y(`agentProfiles.advanced`)}];return B.value?.memoryScope===`reviewed_agent`&&e.splice(4,0,{id:`conversations`,label:y(`projectAgents.conversations.title`)}),e}),xe=w(()=>B.value?te(B.value.agentId,U.value):[]),Se=ae(k,w(()=>xe.value.map(e=>e.agentId))),Ce=e=>{let t=Se.records.value[e];return t?L(t):e},Z=w(()=>B.value?I({...B.value,assignments:W.value??B.value.assignments}):[]),we=w(()=>V.value.filter(e=>Z.value.includes(e.project_id)).map(e=>({id:e.project_id,name:e.profile.name}))),Te=w(()=>Z.value.slice(0,4)),Ee=w(()=>Z.value.slice(4)),De=w(()=>(W.value??[]).filter(e=>e.status!==`active`)),Q=w(()=>U.value.filter(e=>pe.has(e.status)).slice(0,6)),ke=w(()=>{let e=B.value?.occupation;return e?[...new Set([...e.role?[e.role]:[],...e.tags])]:[]});le(w(()=>B.value?.personalSpaceId??``));let Ae=w(()=>ge.value.find(e=>e.agentId===B.value?.agentId)),Yt=w(()=>Ae.value?.id===`bole`),$=e=>e&&!Number.isNaN(Date.parse(e))?new Date(e).toLocaleDateString():y(`agentProfiles.timeUnknown`),Xt=e=>{let t=W.value?.find(t=>t.personalProjectId===e&&t.status===`active`)?.responsibility?.trim(),n=B.value?.profile.responsibility.trim();return t&&t!==n?t:``},Zt=w(()=>{let e=`agentRedesign.projects.more`,t=y(e,{count:Z.value.length});return t===e?`All projects (${Z.value.length})`:t}),Qt=0;i(()=>B.value?`${B.value.personalSpaceId}/${B.value.agentId}`:``,async()=>{let e=B.value,t=++Qt;if(U.value=[],W.value=void 0,G.value=[],q.value=!1,K.value=!1,J.value=!1,Y.value=`overview`,!e)return;_e(e.personalSpaceId),K.value=!0,W.value=e.assignments;let n=new URLSearchParams({personalSpaceId:e.personalSpaceId,agentId:e.agentId}),r=new URLSearchParams({personalSpaceId:e.personalSpaceId,agentId:e.agentId}),i=await Promise.allSettled([A(`/api/project-agent-tasks?${n}&limit=200`),A(`/api/project-agent-assignments?${r}`)]);if(t!==Qt)return;let[a,o]=i;if(a.status===`fulfilled`){let t=a.value,n=R(t);q.value=!he(t),U.value=ie(Array.isArray(t)?t:n.tasks??n.items).map(re).filter(t=>!!(t&&(!t.personalSpaceId||t.personalSpaceId===e.personalSpaceId)&&me(t,e.agentId))).sort((e,t)=>(t.updatedAt??t.createdAt??``).localeCompare(e.updatedAt??e.createdAt??``))}else q.value=!0;if(o.status===`fulfilled`){let t=o.value,n=R(t);W.value=ie(Array.isArray(t)?t:n.assignments??n.items).map(t=>ne(t,e)).filter(t=>!!(t&&t.agentId===e.agentId&&t.personalSpaceId===e.personalSpaceId))}else q.value=!0;let s=I({...e,assignments:W.value??e.assignments}),c=await Promise.all(s.map(async t=>{try{return{projectId:t,view:await ve(e.personalSpaceId,t),error:!1}}catch{return{projectId:t,view:null,error:!0}}}));t===Qt&&(G.value=c,K.value=!1)},{immediate:!0});function $t(e){B.value&&N.put(M.value,{...B.value,...e})}function en(e){Y.value=e}function tn(e,t){let n=e.key;if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(n))return;let r=e.currentTarget;e.preventDefault();let i=X.value.length,a=n===`Home`?0:n===`End`?i-1:(t+(n===`ArrowRight`?1:-1)+i)%i,s=X.value[a];s&&(en(s.id),o(()=>{let e=(r?.closest(`[role="tablist"]`))?.querySelectorAll(`[role="tab"]`)[a];e?.focus(),e?.scrollIntoView?.({block:`nearest`,inline:`nearest`})}))}return s(()=>{x.runtimeStatus===`idle`&&x.refresh()}),(i,a)=>(e(),t(`section`,{class:`view agent-profile-page`,"aria-label":m(y)(`agentProfiles.profile`)},[n(m(O),{class:`agent-profile-back`,to:`/project-agents`},{default:u(()=>[l(` ← `+v(m(y)(`agentProfiles.back`)),1)]),_:1}),(m(ee)||m(x).runtimeStatus===`loading`)&&!B.value?(e(),C(j,{key:0,label:m(y)(`agentProfiles.loading`)},null,8,[`label`])):(m(z)||m(x).runtimeStatus===`error`)&&!B.value?(e(),t(`div`,Ne,[p(`p`,null,v(m(z)||m(y)(`agentProfiles.loadError`)),1),n(T,{size:`sm`,variant:`ghost`,onClick:a[0]||=e=>m(x).state?ue():m(x).refresh()},{default:u(()=>[l(v(m(y)(`agentProfiles.retry`)),1)]),_:1})])):B.value?(e(),t(f,{key:3},[p(`header`,Fe,[p(`span`,{class:`agent-portrait agent-identity`,style:S(m(F)(B.value.agentId)),"aria-hidden":`true`},[m(P)(B.value.agentId)?(e(),t(`img`,{key:0,src:m(P)(B.value.agentId),alt:``},null,8,Ie)):(e(),t(f,{key:1},[l(v(B.value.profile.occupationEmoji||m(L)(B.value).slice(0,1)),1)],64))],4),p(`div`,Le,[p(`div`,Re,[p(`h1`,null,v(m(L)(B.value)),1),B.value.employeeNumber?(e(),t(`span`,ze,`FLA `+v(B.value.employeeNumber),1)):c(``,!0),p(`span`,{class:h([`ui-badge agent-profile-membership`,`is-${B.value.profile.status}`])},v(m(y)(`projectAgents.status.${B.value.profile.status}`)),3)]),p(`p`,Be,[ke.value.length?(e(!0),t(f,{key:0},r(ke.value,(t,n)=>(e(),C(je,{key:t,"occupation-key":t,main:n===0&&!!B.value.occupation?.role},null,8,[`occupation-key`,`main`]))),128)):(e(),t(`span`,Ve,v(m(y)(`agentRedesign.occupation.notSet`)),1))]),p(`p`,null,v(B.value.profile.responsibility),1),p(`div`,He,[p(`span`,null,v(m(y)(B.value.recruitedAt?`agentProfiles.joined`:`agentProfiles.created`))+` · `+v($(B.value.recruitedAt||B.value.createdAt)),1)])]),p(`div`,Ue,[Ae.value?(e(),C(m(O),{key:0,class:`quiet-button`,to:`/employees/${encodeURIComponent(Ae.value.id)}`},{default:u(()=>[l(v(m(y)(`agentProfiles.workbench`)),1)]),_:1},8,[`to`])):c(``,!0),n(T,{size:`sm`,variant:`ghost`,"aria-expanded":J.value,onClick:a[1]||=e=>J.value=!J.value},{default:u(()=>[l(v(m(y)(`agentProfiles.settings`)),1)]),_:1},8,[`aria-expanded`]),Yt.value?c(``,!0):(e(),C(m(O),{key:1,class:`quiet-button`,to:{path:`/employees/bole`,query:{q:m(L)(B.value)}}},{default:u(()=>[l(v(m(y)(`agentProfiles.askHR`)),1)]),_:1},8,[`to`]))])]),m(ee)||m(x).runtimeStatus===`loading`?(e(),C(j,{key:0,variant:`compact`,label:m(y)(`agentProfiles.loading`)},null,8,[`label`])):c(``,!0),m(z)?(e(),t(`p`,We,v(m(z)),1)):c(``,!0),J.value?(e(),C(be,{key:B.value.agentId,agent:B.value,onSaved:$t},null,8,[`agent`])):c(``,!0),J.value&&B.value.profile.status!==`archived`?(e(),C(Oe,{key:`occupation-${B.value.agentId}`,agent:B.value,onSaved:$t},null,8,[`agent`])):c(``,!0),K.value?(e(),C(j,{key:4,variant:`compact`,label:m(y)(`agentProfiles.detailLoading`)},null,8,[`label`])):c(``,!0),p(`nav`,{class:`agent-profile-tabs`,role:`tablist`,"aria-label":m(y)(`agentProfiles.profile`)},[(e(!0),t(f,null,r(X.value,n=>(e(),t(`button`,{id:`agent-tab-${n.id}`,key:n.id,class:`agent-profile-tab`,type:`button`,role:`tab`,"aria-selected":Y.value===n.id,"aria-controls":`agent-panel-${n.id}`,tabindex:Y.value===n.id?0:-1,onClick:e=>en(n.id),onKeydown:e=>tn(e,X.value.findIndex(e=>e.id===n.id))},v(n.label),41,Ke))),128))],8,Ge),q.value?(e(),t(`p`,qe,v(m(y)(`agentProfiles.partial`)),1)):c(``,!0),d(p(`section`,{id:`agent-panel-overview`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-overview`,"aria-hidden":Y.value!==`overview`,tabindex:`0`},[p(`div`,Ye,[p(`section`,Xe,[p(`div`,Ze,[p(`h2`,null,v(m(y)(`agentProfiles.working`)),1),Q.value.length?(e(),t(`span`,Qe,v(Q.value.length),1)):c(``,!0)]),Q.value.length?(e(),t(`ul`,$e,[(e(!0),t(f,null,r(Q.value,r=>(e(),t(`li`,{key:r.taskId},[n(m(O),{to:{path:`/project-agents/manage`,query:{agent:B.value.agentId,task:r.taskId}}},{default:u(()=>[l(v(r.title),1)]),_:2},1032,[`to`]),p(`span`,et,v(m(y)(`projectAgents.taskStatus.${r.status}`)),1),n(ye,{origin:r.activityOrigin},null,8,[`origin`]),n(fe,{task:r,"personal-space-id":k.value,active:Y.value===`overview`},null,8,[`task`,`personal-space-id`,`active`])]))),128))])):!K.value&&!q.value?(e(),t(`p`,tt,v(m(y)(`agentProfiles.idle`)),1)):K.value?c(``,!0):(e(),t(`p`,nt,v(m(y)(`agentProfiles.partial`)),1))]),p(`section`,rt,[p(`div`,it,[p(`h2`,null,v(m(y)(`agentProfiles.projects`)),1),p(`span`,null,v(Z.value.length),1)]),p(`ul`,at,[(e(!0),t(f,null,r(Te.value,r=>(e(),t(`li`,{key:r,class:`agent-project-item`},[p(`h3`,null,[n(m(O),{class:`agent-project-link`,to:m(oe)(k.value,`overview`,r)},{default:u(()=>[l(v(H(r)),1)]),_:2},1032,[`to`])]),Xt(r)?(e(),t(`p`,ot,v(Xt(r)),1)):c(``,!0)]))),128))]),Ee.value.length?(e(),C(se,{key:0,class:`agent-project-overflow`,title:Zt.value},{default:u(()=>[p(`ul`,st,[(e(!0),t(f,null,r(Ee.value,r=>(e(),t(`li`,{key:r,class:`agent-project-item`},[p(`h3`,null,[n(m(O),{class:`agent-project-link`,to:m(oe)(k.value,`overview`,r)},{default:u(()=>[l(v(H(r)),1)]),_:2},1032,[`to`])]),Xt(r)?(e(),t(`p`,ct,v(Xt(r)),1)):c(``,!0)]))),128))])]),_:1},8,[`title`])):c(``,!0),!K.value&&!Z.value.length?(e(),t(`p`,lt,v(m(y)(`agentProfiles.noProject`)),1)):c(``,!0)])])],8,Je),[[_,Y.value===`overview`]]),d(p(`section`,{id:`agent-panel-history`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-history`,"aria-hidden":Y.value!==`history`,tabindex:`0`},[p(`section`,dt,[p(`h2`,null,v(m(y)(`agentProfiles.projects`)),1),De.value.length?(e(),t(`details`,ft,[p(`summary`,null,v(m(y)(`agentProfiles.projectHistory`)),1),p(`ul`,pt,[(e(!0),t(f,null,r(De.value,r=>(e(),t(`li`,{key:r.assignmentId},[p(`h3`,null,[n(m(O),{class:`agent-project-link`,to:m(oe)(k.value,`overview`,r.personalProjectId)},{default:u(()=>[l(v(H(r.personalProjectId)),1)]),_:2},1032,[`to`])]),p(`p`,null,v(r.responsibility),1),p(`small`,null,v($(r.assignedAt))+` – `+v($(r.endedAt)),1)]))),128))])])):K.value?c(``,!0):(e(),t(`p`,mt,v(m(y)(`agentProfiles.noProject`)),1))]),p(`section`,ht,[p(`h2`,null,v(m(y)(`agentProfiles.experience`)),1),p(`p`,gt,v(m(y)(`agentProfiles.recent`)),1),p(`ol`,_t,[(e(!0),t(f,null,r(U.value.slice(0,12),r=>(e(),t(`li`,{key:r.taskId},[p(`div`,vt,[n(m(O),{to:{path:`/project-agents/manage`,query:{agent:B.value.agentId,task:r.taskId}}},{default:u(()=>[l(v(r.title),1)]),_:2},1032,[`to`]),p(`span`,null,v(m(y)(`projectAgents.taskStatus.${r.status}`)),1),n(ye,{origin:r.activityOrigin},null,8,[`origin`])]),r.resultSummary?(e(),t(`p`,yt,v(r.resultSummary),1)):c(``,!0),p(`small`,null,v($(r.completedAt||r.updatedAt||r.createdAt)),1)]))),128)),B.value.recruitedAt||B.value.recruitmentReason?(e(),t(`li`,bt,[p(`h3`,null,v(m(y)(`agentProfiles.recruitment`)),1),B.value.recruitmentReason?(e(),t(`p`,xt,v(B.value.recruitmentReason),1)):c(``,!0),p(`small`,null,v($(B.value.recruitedAt)),1)])):c(``,!0)]),!K.value&&!U.value.length&&!B.value.recruitmentReason&&!B.value.recruitedAt?(e(),t(`p`,St,v(m(y)(`agentProfiles.noExperience`)),1)):c(``,!0)])],8,ut),[[_,Y.value===`history`]]),d(p(`section`,{id:`agent-panel-style`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-style`,"aria-hidden":Y.value!==`style`,tabindex:`0`},[p(`section`,wt,[p(`h2`,null,v(m(y)(`agentProfiles.about`)),1),p(`div`,Tt,[(e(),t(f,null,r([`judgment`,`taste`,`personality`],e=>p(`div`,{key:e},[p(`h3`,null,v(m(y)(`agentProfiles.${e}`)),1),p(`p`,{class:h({"agent-muted":!B.value.profile.character?.[e]})},v(B.value.profile.character?.[e]||m(y)(`agentProfiles.characterEmpty`)),3)])),64))]),B.value.profile.expectations?(e(),t(`p`,Et,[p(`strong`,null,v(m(y)(`agentProfiles.expectations`)),1),l(` `+v(B.value.profile.expectations),1)])):c(``,!0),p(`div`,Dt,[p(`h3`,null,v(m(y)(`agentProfiles.strengths`)),1),p(`div`,Ot,[(e(!0),t(f,null,r(B.value.profile.capabilities,n=>(e(),t(`span`,{key:n},v(n),1))),128)),B.value.profile.capabilities.length?c(``,!0):(e(),t(`span`,kt,v(m(y)(`agentProfiles.noSkills`)),1))])])])],8,Ct),[[_,Y.value===`style`]]),d(p(`section`,{id:`agent-panel-collaborators`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-collaborators`,"aria-hidden":Y.value!==`collaborators`,tabindex:`0`},[p(`section`,jt,[p(`div`,Mt,[p(`h2`,null,v(m(y)(`agentProfiles.organization`)),1),Yt.value?c(``,!0):(e(),C(m(O),{key:0,to:{path:`/employees/bole`,query:{q:m(L)(B.value)}}},{default:u(()=>[l(v(m(y)(`agentProfiles.hr`)),1)]),_:1},8,[`to`]))]),(e(!0),t(f,null,r(G.value,i=>(e(),t(`div`,{key:i.projectId,class:`agent-organization`},[p(`h3`,null,v(H(i.projectId)),1),i.error?(e(),t(`p`,Nt,v(m(y)(`agentProfiles.teamUnavailable`)),1)):i.view&&(i.view.lead||i.view.unavailableLead||i.view.members.length)?(e(),t(f,{key:1},[i.view.unavailableLead?(e(),t(`p`,Pt,v(i.view.unavailableLead.name?m(y)(`agentProfiles.leadUnavailable`,{name:i.view.unavailableLead.name}):m(y)(`agentProfiles.leadUnavailableUnnamed`)),1)):c(``,!0),i.view.lead?(e(),t(`div`,Ft,[p(`span`,null,v(m(y)(`agentProfiles.lead`)),1),n(ce,{"space-id":k.value,"agent-id":i.view.lead.agentId,name:i.view.lead.name},null,8,[`space-id`,`agent-id`,`name`])])):c(``,!0),i.view.lead?(e(),t(`p`,It,v(m(y)(`agentProfiles.reporting`)),1)):c(``,!0),i.view.members.length?(e(),t(`div`,Lt,[p(`span`,null,v(m(y)(`agentProfiles.teammates`)),1),p(`ul`,null,[(e(!0),t(f,null,r(i.view.members,r=>(e(),t(`li`,{key:r.agentId},[n(ce,{"space-id":k.value,"agent-id":r.agentId,name:r.name},null,8,[`space-id`,`agent-id`,`name`])]))),128))])])):c(``,!0)],64)):(e(),t(`p`,Rt,v(m(y)(`agentProfiles.teamUnset`)),1))]))),128)),!K.value&&!G.value.length?(e(),t(`p`,zt,v(m(y)(`agentProfiles.noProject`)),1)):c(``,!0)]),p(`section`,Bt,[p(`h2`,null,v(m(y)(`agentProfiles.collaborators`)),1),p(`ul`,Vt,[(e(!0),t(f,null,r(xe.value,r=>(e(),t(`li`,{key:r.agentId},[n(ce,{"space-id":k.value,"agent-id":r.agentId,name:Ce(r.agentId)},null,8,[`space-id`,`agent-id`,`name`]),p(`span`,null,v(m(y)(`agentProfiles.sharedTasks`,{count:r.count})),1)]))),128))]),!K.value&&!xe.value.length?(e(),t(`p`,Ht,v(m(y)(`agentProfiles.noCollaborators`)),1)):c(``,!0)])],8,At),[[_,Y.value===`collaborators`]]),B.value.memoryScope===`reviewed_agent`?d((e(),t(`section`,{key:6,id:`agent-panel-conversations`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-conversations`,"aria-hidden":Y.value!==`conversations`,tabindex:`0`},[p(`section`,Wt,[(e(),C(de,{key:B.value.agentId,"personal-space-id":k.value,"agent-id":B.value.agentId,projects:we.value},null,8,[`personal-space-id`,`agent-id`,`projects`]))])],8,Ut)),[[_,Y.value===`conversations`]]):c(``,!0),d(p(`section`,{id:`agent-panel-management`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-management`,"aria-hidden":Y.value!==`management`,tabindex:`0`},[p(`section`,Kt,[p(`h2`,null,v(m(y)(`agentProfiles.advanced`)),1),p(`p`,qt,v(m(y)(`agentProfiles.locked`)),1),p(`div`,Jt,[n(m(O),{class:`quiet-button`,"data-open-management":``,to:{path:`/project-agents/manage`,query:{agent:B.value.agentId}}},{default:u(()=>[l(v(m(y)(`agentProfiles.openManagement`)),1)]),_:1},8,[`to`])])])],8,Gt),[[_,Y.value===`management`]])],64)):(e(),t(`p`,Pe,v(m(y)(`agentProfiles.unavailable`)),1))],8,Me))}}),[[`__scopeId`,`data-v-e79efe2b`]]);export{Yt as default};
|
|
1
|
+
import{B as e,C as t,E as n,H as r,J as i,O as a,P as o,R as s,S as c,T as l,X as u,Z as d,_ as f,b as p,dt as m,ft as h,g,m as _,mt as v,o as y,ot as b,p as x,pt as S,x as C,y as w}from"./i18n-DUkThQlr.js";import{n as T,t as E}from"./console-CwLNvN5Y.js";import{m as D}from"./useApi-CROJJdhE-SqXJr_RU.js";import{t as O}from"./vue-router-CSaEmqy7.js";import{o as k,r as A,s as j}from"./client-D-1EftNy.js";import{t as M}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{r as N}from"./ui-BEG3nZcy.js";import{t as ee}from"./UiSelect-DdLp-PYy.js";import{t as P}from"./avatars-CUyfvsKO.js";import{t as F}from"./agent-identity-color-RqpT7gtx.js";import{a as I,r as te,t as L}from"./profile-model-BQO4zNs9.js";import{a as ne,h as R,l as re,n as ie}from"./task-evidence-i9SDhd3E.js";import{n as ae}from"./useAgentRecords-DnSCBOw-.js";import{n as oe}from"./paths-CDREouhi.js";import{t as se}from"./UiDisclosure-C6Tl1kJO.js";import{t as ce}from"./AgentName-DSgPVCJM.js";import{i as le,n as z,t as ue}from"./occupation-catalog-CVv7y_iI.js";import{i as B,n as V,r as H,t as U}from"./agent-occupation-DOxmEgGF.js";import{n as de,t as fe}from"./TaskExecutionPlan-CdUCSs5D.js";import{a as pe,i as me,n as he}from"./agent-work-summary-CLlvAYd9.js";import{a as ge,s as _e}from"./catalog-G4BFWyaC.js";import{t as ve}from"./project-team-api-sYC7_opa.js";/* empty css */var W=[`title`],ye=M(a({__name:`ActivityOriginBadge`,props:{origin:{}},setup(n){return(r,i)=>n.origin?.kind===`ai_internal`?(e(),t(`span`,{key:0,class:`ui-badge activity-origin-badge`,"data-activity-origin":``,title:m(y)(`agentProfiles.activityOrigin.sources.${n.origin.source}`)},v(m(y)(`agentProfiles.activityOrigin.label`,{purpose:m(y)(`agentProfiles.activityOrigin.purposes.${n.origin.purpose}`)})),9,W)):c(``,!0)}}),[[`__scopeId`,`data-v-8e8c076b`]]),G={key:1,class:`agent-locked-platforms`},K={key:2,class:`agent-platform-field`},q=[`disabled`,`placeholder`],J=[`onUpdate:modelValue`,`disabled`],Y={key:3,role:`alert`},X={key:4,role:`status`},be=a({__name:`AgentProfileSettings`,props:{agent:{}},emits:[`saved`],setup(a,{emit:o}){let s=a,h=o,_=b([]),S=b(!1),E=b(!1),D=b(``),O=b(!1),M=``,N=b(``),P=b(``),F=b({judgment:``,taste:``,personality:``}),I=w(()=>s.agent.profile.executorPolicy?.mode===`locked`),te=w(()=>{let e=s.agent.profile.executorPolicy;return(e?.lockedExecutorIds?.length?e.lockedExecutorIds:(e?.allowList??[]).map(e=>e.executorId)).map(e=>_.value.find(t=>t.executorId===e)?.displayName||e)}),L=w(()=>_.value.filter(e=>e.registrationStatus===`registered`&&e.permissionStatus===`authorized`&&e.preflightStatus===`passed`&&e.workspacePermission&&e.healthStatus!==`unhealthy`&&(!e.healthRequired||e.healthStatus===`healthy`))),ne=w(()=>[{value:``,label:y(`agentProfiles.automatic`)},...N.value&&!L.value.some(e=>e.executorId===N.value)?[{value:N.value,label:y(`agentProfiles.platformUnavailable`),disabled:!0}]:[],...L.value.map(e=>({value:e.executorId,label:e.displayName||e.executorId}))]),R=0;i(()=>`${s.agent.personalSpaceId}/${s.agent.agentId}`,async()=>{let e=s.agent,t=++R;P.value=e.profile.expectations??``,F.value={judgment:``,taste:``,personality:``,...e.profile.character},N.value=e.profile.executorPolicy?.preferredExecutorIds?.[0]??``,M=N.value,D.value=``,O.value=!1,E.value=!1,S.value=!0,_.value=[];try{let n=await A(`/api/executors?${new URLSearchParams({personalSpaceId:e.personalSpaceId})}`);t===R&&(_.value=Array.isArray(n)?n:n.executors)}catch{t===R&&(D.value=y(`agentProfiles.platformUnavailable`))}finally{t===R&&(S.value=!1)}},{immediate:!0});async function re(){if(E.value)return;let e=R,t=s.agent;E.value=!0,D.value=``,O.value=!1;let n=t.profile.executorPolicy;try{let r=await k(`/api/project-agents`,{personalSpaceId:t.personalSpaceId,personalProjectId:t.personalProjectId??null,agentId:t.agentId,profile:{...t.profile,character:{...F.value},expectations:P.value,executorPolicy:I.value||N.value===M?n:{...n,mode:`flexible`,preferredExecutorIds:N.value?[N.value]:[]}}});e===R&&(M=N.value,h(`saved`,r),O.value=!0)}catch(t){e===R&&(D.value=t instanceof Error?t.message:y(`agentProfiles.saveError`))}finally{e===R&&(E.value=!1)}}return(i,a)=>(e(),t(`form`,{class:`agent-simple-settings`,onSubmit:g(re,[`prevent`])},[p(`h3`,null,v(m(y)(`agentProfiles.settings`)),1),S.value?(e(),C(j,{key:0,variant:`compact`,label:m(y)(`agentProfiles.settingsLoading`)},null,8,[`label`])):I.value?(e(),t(`div`,G,[p(`h4`,null,v(m(y)(`agentProfiles.platform`)),1),p(`p`,null,v(te.value.join(` · `)||m(y)(`agentProfiles.platformUnavailable`)),1),p(`small`,null,v(m(y)(`agentProfiles.locked`)),1)])):(e(),t(`div`,K,[n(ee,{modelValue:N.value,"onUpdate:modelValue":a[0]||=e=>N.value=e,field:``,label:m(y)(`agentProfiles.platform`),options:ne.value,disabled:I.value||E.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),p(`small`,null,v(m(y)(I.value?`agentProfiles.locked`:`agentProfiles.platformHint`)),1)])),p(`label`,null,[l(v(m(y)(`agentProfiles.expectations`)),1),d(p(`textarea`,{"onUpdate:modelValue":a[1]||=e=>P.value=e,rows:`3`,maxlength:`4096`,disabled:E.value,placeholder:m(y)(`agentProfiles.expectationsPlaceholder`)},null,8,q),[[x,P.value]])]),p(`details`,null,[p(`summary`,null,v(m(y)(`agentProfiles.editCharacter`)),1),(e(),t(f,null,r([`judgment`,`taste`,`personality`],e=>p(`label`,{key:e},[l(v(m(y)(`agentProfiles.${e}`)),1),d(p(`textarea`,{"onUpdate:modelValue":t=>F.value[e]=t,rows:`2`,maxlength:`2048`,disabled:E.value},null,8,J),[[x,F.value[e]]])])),64))]),D.value?(e(),t(`p`,Y,v(D.value),1)):c(``,!0),O.value?(e(),t(`p`,X,v(m(y)(`agentProfiles.saved`)),1)):c(``,!0),n(T,{size:`sm`,variant:`primary`,disabled:E.value||S.value,type:`submit`},{default:u(()=>[E.value?(e(),C(j,{key:0,variant:`inline`,label:m(y)(`agentProfiles.saving`)},null,8,[`label`])):(e(),t(f,{key:1},[l(v(m(y)(`agentProfiles.save`)),1)],64))]),_:1},8,[`disabled`])],32))}}),xe={key:0,class:`agent-occupation-editor`,"data-occupation-locked":``},Se={class:`ui-meta`},Ce={class:`ui-meta`},Z=[`disabled`],we={class:`ui-meta`},Te={key:0,class:`agent-occupation-main`},Ee={key:0,role:`alert`},De={key:1,role:`status`},Oe=M(a({__name:`AgentOccupationEditor`,props:{agent:{}},emits:[`saved`],setup(a,{emit:o}){let s=a,d=o,h=b(``),_=b([]),x=b(!1),S=b(``),E=b(!1);i(()=>s.agent.occupation,e=>{h.value=e?.role??``,_.value=(e?.tags??[]).filter(t=>t!==e?.role)},{immediate:!0}),i(h,e=>{e&&(_.value=_.value.filter(t=>t!==e))});let D=le(w(()=>s.agent.personalSpaceId)),O=w(()=>{let e=D.active.value.map(e=>e.key),t=[s.agent.occupation?.role,...s.agent.occupation?.tags??[]].filter(e=>!!e);return[...new Set([...e.length?e:U,...t])]}),k=e=>{let t=z(e);return t?ue(t):void 0},A=w(()=>[{value:``,label:y(`agentRedesign.occupation.none`)},...O.value.map(e=>({value:e,label:V(e)}))]);function M(e){E.value=!1,_.value=_.value.includes(e)?_.value.filter(t=>t!==e):[..._.value,e]}async function N(){x.value=!0,S.value=``,E.value=!1;try{let e=await B(s.agent.personalSpaceId,s.agent.agentId,{role:h.value||null,tags:_.value});d(`saved`,e),E.value=!0}catch(e){S.value=e instanceof Error?e.message:y(`agentRedesign.occupation.saveError`)}finally{x.value=!1}}return(i,o)=>a.agent.occupationLocked?(e(),t(`section`,xe,[p(`h3`,null,v(m(y)(`agentRedesign.occupation.title`)),1),p(`p`,Se,v(m(y)(`agentRedesign.occupation.locked`,{occupation:m(H)(a.agent.occupation).join(` · `)||m(y)(`agentRedesign.occupation.none`)})),1)])):(e(),t(`form`,{key:1,class:`agent-occupation-editor`,"data-occupation-editor":``,onSubmit:g(N,[`prevent`])},[p(`h3`,null,v(m(y)(`agentRedesign.occupation.title`)),1),p(`p`,Ce,v(m(y)(`agentRedesign.occupation.note`)),1),n(ee,{modelValue:h.value,"onUpdate:modelValue":[o[0]||=e=>h.value=e,o[1]||=e=>E.value=!1],field:``,label:m(y)(`agentRedesign.occupation.role`),options:A.value,disabled:x.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),p(`fieldset`,{class:`agent-occupation-tags`,disabled:x.value},[p(`legend`,null,[l(v(m(y)(`agentRedesign.occupation.tags`))+` `,1),p(`small`,we,v(m(y)(`agentRedesign.occupation.tagsHint`)),1)]),(e(!0),t(f,null,r(O.value,n=>(e(),C(T,{size:`sm`,variant:`ghost`,key:n,"data-occupation-tag":n,"aria-pressed":_.value.includes(n),disabled:n===h.value||!_.value.includes(n)&&_.value.length>=m(5),title:n===h.value?m(y)(`agentRedesign.occupation.isMainRole`):k(n),onClick:e=>M(n)},{default:u(()=>[l(v(m(V)(n)),1),n===h.value?(e(),t(`small`,Te,` · `+v(m(y)(`agentRedesign.occupation.mainRoleShort`)),1)):c(``,!0)]),_:2},1032,[`data-occupation-tag`,`aria-pressed`,`disabled`,`title`,`onClick`]))),128))],8,Z),S.value?(e(),t(`p`,Ee,v(S.value),1)):c(``,!0),E.value?(e(),t(`p`,De,v(m(y)(`agentRedesign.occupation.saved`)),1)):c(``,!0),n(T,{size:`sm`,variant:`primary`,type:`submit`,disabled:x.value},{default:u(()=>[x.value?(e(),C(j,{key:0,variant:`inline`,label:m(y)(`agentRedesign.occupation.saving`)},null,8,[`label`])):(e(),t(f,{key:1},[l(v(m(y)(`agentRedesign.occupation.save`)),1)],64))]),_:1},8,[`disabled`])],32))}}),[[`__scopeId`,`data-v-acfb86ae`]]),Q=[`aria-expanded`,`data-occupation`],ke={class:`occupation-chip-detail`,"data-occupation-detail":``},Ae={key:0},je=M(a({__name:`OccupationChip`,props:{occupationKey:{},main:{type:Boolean}},setup(r){let i=r,a=b(null),o=w(()=>z(i.occupationKey)),s=w(()=>V(i.occupationKey));function d(e){a.value=e.currentTarget.getBoundingClientRect()}return(i,g)=>(e(),t(f,null,[p(`button`,{type:`button`,class:h([`occupation-chip`,{"is-main":r.main}]),"aria-expanded":!!a.value,"data-occupation":r.occupationKey,onClick:d},v(s.value),11,Q),n(m(N),{open:!!a.value,anchor:a.value,label:s.value,onClose:g[1]||=e=>a.value=null},{default:u(()=>[p(`div`,ke,[p(`strong`,null,v(s.value),1),p(`p`,null,v(o.value?m(ue)(o.value):m(y)(`occupations.noDescription`)),1),o.value?(e(),t(`small`,Ae,v(m(y)(`occupations.agentCount`,{count:o.value.agent_count})),1)):c(``,!0),n(m(O),{to:`/project-agents/occupations`,onClick:g[0]||=e=>a.value=null},{default:u(()=>[l(v(m(y)(`occupations.manage`)),1)]),_:1})])]),_:1},8,[`open`,`anchor`,`label`])],64))}}),[[`__scopeId`,`data-v-6314de26`]]),Me=[`aria-label`],Ne={key:1,class:`ui-card ui-empty agent-profile-empty`,role:`alert`},Pe={key:2,class:`ui-card ui-empty agent-profile-empty`},Fe={class:`ui-card agent-resume-header`},Ie=[`src`],Le={class:`agent-resume-intro`},Re={class:`agent-resume-name-row`},ze={key:0,class:`ui-badge fla-employee-number`},Be={class:`agent-resume-occupation`,"data-profile-occupation":``},Ve={key:1,class:`ui-meta`},He={class:`agent-resume-meta`},Ue={class:`agent-profile-actions`},We={key:1,class:`agent-profile-refresh-status`,role:`status`},Ge=[`aria-label`],Ke=[`id`,`aria-selected`,`aria-controls`,`tabindex`,`onClick`,`onKeydown`],qe={key:5,class:`agent-profile-partial`,role:`status`},Je=[`aria-hidden`],Ye={class:`agent-profile-primary-grid`},Xe={class:`ui-card agent-resume-section agent-current-work-section`},Ze={class:`agent-section-heading`},Qe={key:0},$e={key:0,class:`agent-current-work-list`},et={class:`ui-badge`},tt={key:1,class:`agent-muted`},nt={key:2,class:`agent-muted`},rt={class:`ui-card agent-resume-section agent-projects-section`},it={class:`agent-section-heading`},at={class:`agent-resume-list agent-current-project-list`},ot={key:0,class:`agent-project-responsibility`},st={class:`agent-resume-list`},ct={key:0,class:`agent-project-responsibility`},lt={key:1,class:`agent-muted`},ut=[`aria-hidden`],dt={class:`ui-card agent-resume-section`},ft={key:0,class:`ui-disclosure`,open:``},pt={class:`agent-resume-list`},mt={key:1,class:`agent-muted`},ht={class:`ui-card agent-resume-section`},gt={class:`agent-muted`},_t={class:`agent-work-timeline`},vt={class:`agent-section-heading`},yt={key:0},bt={key:0},xt={key:0},St={key:0,class:`agent-muted`},Ct=[`aria-hidden`],wt={class:`ui-card agent-resume-section`},Tt={class:`agent-character`},Et={key:0,class:`agent-expectation`},Dt={class:`agent-strengths`},Ot={class:`agent-inline-skills`},kt={key:0},At=[`aria-hidden`],jt={class:`ui-card agent-resume-section`},Mt={class:`agent-section-heading`},Nt={key:0,role:`status`},Pt={key:0,class:`agent-org-lead-unavailable`,role:`status`},Ft={key:1,class:`agent-org-lead`},It={key:2,class:`agent-org-reporting`},Lt={key:3,class:`agent-org-members`},Rt={key:2,class:`agent-muted`},zt={key:0,class:`agent-muted`},Bt={class:`ui-card agent-resume-section`},Vt={class:`agent-collaborators`},Ht={key:0,class:`agent-muted`},Ut=[`aria-hidden`],Wt={class:`ui-card agent-resume-section`},Gt=[`aria-hidden`],Kt={class:`ui-card agent-resume-section agent-management-card`},qt={class:`agent-muted`},Jt={class:`agent-profile-management-links`},Yt=M(a({__name:`AgentProfilePage`,setup(a){let g=D(),x=E(),k=w(()=>x.activePersonalSpace?.id??``),M=w(()=>g.params.spaceId===k.value?String(g.params.agentId??``):``),N=ae(k,w(()=>M.value?[M.value]:[])),{loading:ee,error:z}=N,ue=()=>N.load({force:!0}),B=w(()=>M.value?N.records.value[M.value]:void 0),V=w(()=>(x.state?.personalProjects??[]).filter(e=>e.personal_space_id===k.value)),H=e=>V.value.find(t=>t.project_id===e)?.profile.name||e,U=b([]),W=b(void 0),G=b([]),K=b(!1),q=b(!1),J=b(!1),Y=b(`overview`),X=w(()=>{let e=[{id:`overview`,label:y(`agentProfiles.working`)},{id:`history`,label:y(`agentProfiles.experience`)},{id:`style`,label:y(`agentProfiles.about`)},{id:`collaborators`,label:y(`agentProfiles.collaborators`)},{id:`management`,label:y(`agentProfiles.advanced`)}];return B.value?.memoryScope===`reviewed_agent`&&e.splice(4,0,{id:`conversations`,label:y(`projectAgents.conversations.title`)}),e}),xe=w(()=>B.value?te(B.value.agentId,U.value):[]),Se=ae(k,w(()=>xe.value.map(e=>e.agentId))),Ce=e=>{let t=Se.records.value[e];return t?L(t):e},Z=w(()=>B.value?I({...B.value,assignments:W.value??B.value.assignments}):[]),we=w(()=>V.value.filter(e=>Z.value.includes(e.project_id)).map(e=>({id:e.project_id,name:e.profile.name}))),Te=w(()=>Z.value.slice(0,4)),Ee=w(()=>Z.value.slice(4)),De=w(()=>(W.value??[]).filter(e=>e.status!==`active`)),Q=w(()=>U.value.filter(e=>pe.has(e.status)).slice(0,6)),ke=w(()=>{let e=B.value?.occupation;return e?[...new Set([...e.role?[e.role]:[],...e.tags])]:[]});le(w(()=>B.value?.personalSpaceId??``));let Ae=w(()=>ge.value.find(e=>e.agentId===B.value?.agentId)),Yt=w(()=>Ae.value?.id===`bole`),$=e=>e&&!Number.isNaN(Date.parse(e))?new Date(e).toLocaleDateString():y(`agentProfiles.timeUnknown`),Xt=e=>{let t=W.value?.find(t=>t.personalProjectId===e&&t.status===`active`)?.responsibility?.trim(),n=B.value?.profile.responsibility.trim();return t&&t!==n?t:``},Zt=w(()=>{let e=`agentRedesign.projects.more`,t=y(e,{count:Z.value.length});return t===e?`All projects (${Z.value.length})`:t}),Qt=0;i(()=>B.value?`${B.value.personalSpaceId}/${B.value.agentId}`:``,async()=>{let e=B.value,t=++Qt;if(U.value=[],W.value=void 0,G.value=[],q.value=!1,K.value=!1,J.value=!1,Y.value=`overview`,!e)return;_e(e.personalSpaceId),K.value=!0,W.value=e.assignments;let n=new URLSearchParams({personalSpaceId:e.personalSpaceId,agentId:e.agentId}),r=new URLSearchParams({personalSpaceId:e.personalSpaceId,agentId:e.agentId}),i=await Promise.allSettled([A(`/api/project-agent-tasks?${n}&limit=200`),A(`/api/project-agent-assignments?${r}`)]);if(t!==Qt)return;let[a,o]=i;if(a.status===`fulfilled`){let t=a.value,n=R(t);q.value=!he(t),U.value=ie(Array.isArray(t)?t:n.tasks??n.items).map(re).filter(t=>!!(t&&(!t.personalSpaceId||t.personalSpaceId===e.personalSpaceId)&&me(t,e.agentId))).sort((e,t)=>(t.updatedAt??t.createdAt??``).localeCompare(e.updatedAt??e.createdAt??``))}else q.value=!0;if(o.status===`fulfilled`){let t=o.value,n=R(t);W.value=ie(Array.isArray(t)?t:n.assignments??n.items).map(t=>ne(t,e)).filter(t=>!!(t&&t.agentId===e.agentId&&t.personalSpaceId===e.personalSpaceId))}else q.value=!0;let s=I({...e,assignments:W.value??e.assignments}),c=await Promise.all(s.map(async t=>{try{return{projectId:t,view:await ve(e.personalSpaceId,t),error:!1}}catch{return{projectId:t,view:null,error:!0}}}));t===Qt&&(G.value=c,K.value=!1)},{immediate:!0});function $t(e){B.value&&N.put(M.value,{...B.value,...e})}function en(e){Y.value=e}function tn(e,t){let n=e.key;if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(n))return;let r=e.currentTarget;e.preventDefault();let i=X.value.length,a=n===`Home`?0:n===`End`?i-1:(t+(n===`ArrowRight`?1:-1)+i)%i,s=X.value[a];s&&(en(s.id),o(()=>{let e=(r?.closest(`[role="tablist"]`))?.querySelectorAll(`[role="tab"]`)[a];e?.focus(),e?.scrollIntoView?.({block:`nearest`,inline:`nearest`})}))}return s(()=>{x.runtimeStatus===`idle`&&x.refresh()}),(i,a)=>(e(),t(`section`,{class:`view agent-profile-page`,"aria-label":m(y)(`agentProfiles.profile`)},[n(m(O),{class:`agent-profile-back`,to:`/project-agents`},{default:u(()=>[l(` ← `+v(m(y)(`agentProfiles.back`)),1)]),_:1}),(m(ee)||m(x).runtimeStatus===`loading`)&&!B.value?(e(),C(j,{key:0,label:m(y)(`agentProfiles.loading`)},null,8,[`label`])):(m(z)||m(x).runtimeStatus===`error`)&&!B.value?(e(),t(`div`,Ne,[p(`p`,null,v(m(z)||m(y)(`agentProfiles.loadError`)),1),n(T,{size:`sm`,variant:`ghost`,onClick:a[0]||=e=>m(x).state?ue():m(x).refresh()},{default:u(()=>[l(v(m(y)(`agentProfiles.retry`)),1)]),_:1})])):B.value?(e(),t(f,{key:3},[p(`header`,Fe,[p(`span`,{class:`agent-portrait agent-identity`,style:S(m(F)(B.value.agentId)),"aria-hidden":`true`},[m(P)(B.value.agentId)?(e(),t(`img`,{key:0,src:m(P)(B.value.agentId),alt:``},null,8,Ie)):(e(),t(f,{key:1},[l(v(B.value.profile.occupationEmoji||m(L)(B.value).slice(0,1)),1)],64))],4),p(`div`,Le,[p(`div`,Re,[p(`h1`,null,v(m(L)(B.value)),1),B.value.employeeNumber?(e(),t(`span`,ze,`FLA `+v(B.value.employeeNumber),1)):c(``,!0),p(`span`,{class:h([`ui-badge agent-profile-membership`,`is-${B.value.profile.status}`])},v(m(y)(`projectAgents.status.${B.value.profile.status}`)),3)]),p(`p`,Be,[ke.value.length?(e(!0),t(f,{key:0},r(ke.value,(t,n)=>(e(),C(je,{key:t,"occupation-key":t,main:n===0&&!!B.value.occupation?.role},null,8,[`occupation-key`,`main`]))),128)):(e(),t(`span`,Ve,v(m(y)(`agentRedesign.occupation.notSet`)),1))]),p(`p`,null,v(B.value.profile.responsibility),1),p(`div`,He,[p(`span`,null,v(m(y)(B.value.recruitedAt?`agentProfiles.joined`:`agentProfiles.created`))+` · `+v($(B.value.recruitedAt||B.value.createdAt)),1)])]),p(`div`,Ue,[Ae.value?(e(),C(m(O),{key:0,class:`quiet-button`,to:`/employees/${encodeURIComponent(Ae.value.id)}`},{default:u(()=>[l(v(m(y)(`agentProfiles.workbench`)),1)]),_:1},8,[`to`])):c(``,!0),n(T,{size:`sm`,variant:`ghost`,"aria-expanded":J.value,onClick:a[1]||=e=>J.value=!J.value},{default:u(()=>[l(v(m(y)(`agentProfiles.settings`)),1)]),_:1},8,[`aria-expanded`]),Yt.value?c(``,!0):(e(),C(m(O),{key:1,class:`quiet-button`,to:{path:`/employees/bole`,query:{q:m(L)(B.value)}}},{default:u(()=>[l(v(m(y)(`agentProfiles.askHR`)),1)]),_:1},8,[`to`]))])]),m(ee)||m(x).runtimeStatus===`loading`?(e(),C(j,{key:0,variant:`compact`,label:m(y)(`agentProfiles.loading`)},null,8,[`label`])):c(``,!0),m(z)?(e(),t(`p`,We,v(m(z)),1)):c(``,!0),J.value?(e(),C(be,{key:B.value.agentId,agent:B.value,onSaved:$t},null,8,[`agent`])):c(``,!0),J.value&&B.value.profile.status!==`archived`?(e(),C(Oe,{key:`occupation-${B.value.agentId}`,agent:B.value,onSaved:$t},null,8,[`agent`])):c(``,!0),K.value?(e(),C(j,{key:4,variant:`compact`,label:m(y)(`agentProfiles.detailLoading`)},null,8,[`label`])):c(``,!0),p(`nav`,{class:`agent-profile-tabs`,role:`tablist`,"aria-label":m(y)(`agentProfiles.profile`)},[(e(!0),t(f,null,r(X.value,n=>(e(),t(`button`,{id:`agent-tab-${n.id}`,key:n.id,class:`agent-profile-tab`,type:`button`,role:`tab`,"aria-selected":Y.value===n.id,"aria-controls":`agent-panel-${n.id}`,tabindex:Y.value===n.id?0:-1,onClick:e=>en(n.id),onKeydown:e=>tn(e,X.value.findIndex(e=>e.id===n.id))},v(n.label),41,Ke))),128))],8,Ge),q.value?(e(),t(`p`,qe,v(m(y)(`agentProfiles.partial`)),1)):c(``,!0),d(p(`section`,{id:`agent-panel-overview`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-overview`,"aria-hidden":Y.value!==`overview`,tabindex:`0`},[p(`div`,Ye,[p(`section`,Xe,[p(`div`,Ze,[p(`h2`,null,v(m(y)(`agentProfiles.working`)),1),Q.value.length?(e(),t(`span`,Qe,v(Q.value.length),1)):c(``,!0)]),Q.value.length?(e(),t(`ul`,$e,[(e(!0),t(f,null,r(Q.value,r=>(e(),t(`li`,{key:r.taskId},[n(m(O),{to:{path:`/project-agents/manage`,query:{agent:B.value.agentId,task:r.taskId}}},{default:u(()=>[l(v(r.title),1)]),_:2},1032,[`to`]),p(`span`,et,v(m(y)(`projectAgents.taskStatus.${r.status}`)),1),n(ye,{origin:r.activityOrigin},null,8,[`origin`]),n(fe,{task:r,"personal-space-id":k.value,active:Y.value===`overview`},null,8,[`task`,`personal-space-id`,`active`])]))),128))])):!K.value&&!q.value?(e(),t(`p`,tt,v(m(y)(`agentProfiles.idle`)),1)):K.value?c(``,!0):(e(),t(`p`,nt,v(m(y)(`agentProfiles.partial`)),1))]),p(`section`,rt,[p(`div`,it,[p(`h2`,null,v(m(y)(`agentProfiles.projects`)),1),p(`span`,null,v(Z.value.length),1)]),p(`ul`,at,[(e(!0),t(f,null,r(Te.value,r=>(e(),t(`li`,{key:r,class:`agent-project-item`},[p(`h3`,null,[n(m(O),{class:`agent-project-link`,to:m(oe)(k.value,`overview`,r)},{default:u(()=>[l(v(H(r)),1)]),_:2},1032,[`to`])]),Xt(r)?(e(),t(`p`,ot,v(Xt(r)),1)):c(``,!0)]))),128))]),Ee.value.length?(e(),C(se,{key:0,class:`agent-project-overflow`,title:Zt.value},{default:u(()=>[p(`ul`,st,[(e(!0),t(f,null,r(Ee.value,r=>(e(),t(`li`,{key:r,class:`agent-project-item`},[p(`h3`,null,[n(m(O),{class:`agent-project-link`,to:m(oe)(k.value,`overview`,r)},{default:u(()=>[l(v(H(r)),1)]),_:2},1032,[`to`])]),Xt(r)?(e(),t(`p`,ct,v(Xt(r)),1)):c(``,!0)]))),128))])]),_:1},8,[`title`])):c(``,!0),!K.value&&!Z.value.length?(e(),t(`p`,lt,v(m(y)(`agentProfiles.noProject`)),1)):c(``,!0)])])],8,Je),[[_,Y.value===`overview`]]),d(p(`section`,{id:`agent-panel-history`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-history`,"aria-hidden":Y.value!==`history`,tabindex:`0`},[p(`section`,dt,[p(`h2`,null,v(m(y)(`agentProfiles.projects`)),1),De.value.length?(e(),t(`details`,ft,[p(`summary`,null,v(m(y)(`agentProfiles.projectHistory`)),1),p(`ul`,pt,[(e(!0),t(f,null,r(De.value,r=>(e(),t(`li`,{key:r.assignmentId},[p(`h3`,null,[n(m(O),{class:`agent-project-link`,to:m(oe)(k.value,`overview`,r.personalProjectId)},{default:u(()=>[l(v(H(r.personalProjectId)),1)]),_:2},1032,[`to`])]),p(`p`,null,v(r.responsibility),1),p(`small`,null,v($(r.assignedAt))+` – `+v($(r.endedAt)),1)]))),128))])])):K.value?c(``,!0):(e(),t(`p`,mt,v(m(y)(`agentProfiles.noProject`)),1))]),p(`section`,ht,[p(`h2`,null,v(m(y)(`agentProfiles.experience`)),1),p(`p`,gt,v(m(y)(`agentProfiles.recent`)),1),p(`ol`,_t,[(e(!0),t(f,null,r(U.value.slice(0,12),r=>(e(),t(`li`,{key:r.taskId},[p(`div`,vt,[n(m(O),{to:{path:`/project-agents/manage`,query:{agent:B.value.agentId,task:r.taskId}}},{default:u(()=>[l(v(r.title),1)]),_:2},1032,[`to`]),p(`span`,null,v(m(y)(`projectAgents.taskStatus.${r.status}`)),1),n(ye,{origin:r.activityOrigin},null,8,[`origin`])]),r.resultSummary?(e(),t(`p`,yt,v(r.resultSummary),1)):c(``,!0),p(`small`,null,v($(r.completedAt||r.updatedAt||r.createdAt)),1)]))),128)),B.value.recruitedAt||B.value.recruitmentReason?(e(),t(`li`,bt,[p(`h3`,null,v(m(y)(`agentProfiles.recruitment`)),1),B.value.recruitmentReason?(e(),t(`p`,xt,v(B.value.recruitmentReason),1)):c(``,!0),p(`small`,null,v($(B.value.recruitedAt)),1)])):c(``,!0)]),!K.value&&!U.value.length&&!B.value.recruitmentReason&&!B.value.recruitedAt?(e(),t(`p`,St,v(m(y)(`agentProfiles.noExperience`)),1)):c(``,!0)])],8,ut),[[_,Y.value===`history`]]),d(p(`section`,{id:`agent-panel-style`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-style`,"aria-hidden":Y.value!==`style`,tabindex:`0`},[p(`section`,wt,[p(`h2`,null,v(m(y)(`agentProfiles.about`)),1),p(`div`,Tt,[(e(),t(f,null,r([`judgment`,`taste`,`personality`],e=>p(`div`,{key:e},[p(`h3`,null,v(m(y)(`agentProfiles.${e}`)),1),p(`p`,{class:h({"agent-muted":!B.value.profile.character?.[e]})},v(B.value.profile.character?.[e]||m(y)(`agentProfiles.characterEmpty`)),3)])),64))]),B.value.profile.expectations?(e(),t(`p`,Et,[p(`strong`,null,v(m(y)(`agentProfiles.expectations`)),1),l(` `+v(B.value.profile.expectations),1)])):c(``,!0),p(`div`,Dt,[p(`h3`,null,v(m(y)(`agentProfiles.strengths`)),1),p(`div`,Ot,[(e(!0),t(f,null,r(B.value.profile.capabilities,n=>(e(),t(`span`,{key:n},v(n),1))),128)),B.value.profile.capabilities.length?c(``,!0):(e(),t(`span`,kt,v(m(y)(`agentProfiles.noSkills`)),1))])])])],8,Ct),[[_,Y.value===`style`]]),d(p(`section`,{id:`agent-panel-collaborators`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-collaborators`,"aria-hidden":Y.value!==`collaborators`,tabindex:`0`},[p(`section`,jt,[p(`div`,Mt,[p(`h2`,null,v(m(y)(`agentProfiles.organization`)),1),Yt.value?c(``,!0):(e(),C(m(O),{key:0,to:{path:`/employees/bole`,query:{q:m(L)(B.value)}}},{default:u(()=>[l(v(m(y)(`agentProfiles.hr`)),1)]),_:1},8,[`to`]))]),(e(!0),t(f,null,r(G.value,i=>(e(),t(`div`,{key:i.projectId,class:`agent-organization`},[p(`h3`,null,v(H(i.projectId)),1),i.error?(e(),t(`p`,Nt,v(m(y)(`agentProfiles.teamUnavailable`)),1)):i.view&&(i.view.lead||i.view.unavailableLead||i.view.members.length)?(e(),t(f,{key:1},[i.view.unavailableLead?(e(),t(`p`,Pt,v(i.view.unavailableLead.name?m(y)(`agentProfiles.leadUnavailable`,{name:i.view.unavailableLead.name}):m(y)(`agentProfiles.leadUnavailableUnnamed`)),1)):c(``,!0),i.view.lead?(e(),t(`div`,Ft,[p(`span`,null,v(m(y)(`agentProfiles.lead`)),1),n(ce,{"space-id":k.value,"agent-id":i.view.lead.agentId,name:i.view.lead.name},null,8,[`space-id`,`agent-id`,`name`])])):c(``,!0),i.view.lead?(e(),t(`p`,It,v(m(y)(`agentProfiles.reporting`)),1)):c(``,!0),i.view.members.length?(e(),t(`div`,Lt,[p(`span`,null,v(m(y)(`agentProfiles.teammates`)),1),p(`ul`,null,[(e(!0),t(f,null,r(i.view.members,r=>(e(),t(`li`,{key:r.agentId},[n(ce,{"space-id":k.value,"agent-id":r.agentId,name:r.name},null,8,[`space-id`,`agent-id`,`name`])]))),128))])])):c(``,!0)],64)):(e(),t(`p`,Rt,v(m(y)(`agentProfiles.teamUnset`)),1))]))),128)),!K.value&&!G.value.length?(e(),t(`p`,zt,v(m(y)(`agentProfiles.noProject`)),1)):c(``,!0)]),p(`section`,Bt,[p(`h2`,null,v(m(y)(`agentProfiles.collaborators`)),1),p(`ul`,Vt,[(e(!0),t(f,null,r(xe.value,r=>(e(),t(`li`,{key:r.agentId},[n(ce,{"space-id":k.value,"agent-id":r.agentId,name:Ce(r.agentId)},null,8,[`space-id`,`agent-id`,`name`]),p(`span`,null,v(m(y)(`agentProfiles.sharedTasks`,{count:r.count})),1)]))),128))]),!K.value&&!xe.value.length?(e(),t(`p`,Ht,v(m(y)(`agentProfiles.noCollaborators`)),1)):c(``,!0)])],8,At),[[_,Y.value===`collaborators`]]),B.value.memoryScope===`reviewed_agent`?d((e(),t(`section`,{key:6,id:`agent-panel-conversations`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-conversations`,"aria-hidden":Y.value!==`conversations`,tabindex:`0`},[p(`section`,Wt,[(e(),C(de,{key:B.value.agentId,"personal-space-id":k.value,"agent-id":B.value.agentId,projects:we.value},null,8,[`personal-space-id`,`agent-id`,`projects`]))])],8,Ut)),[[_,Y.value===`conversations`]]):c(``,!0),d(p(`section`,{id:`agent-panel-management`,class:`agent-profile-panel`,role:`tabpanel`,"aria-labelledby":`agent-tab-management`,"aria-hidden":Y.value!==`management`,tabindex:`0`},[p(`section`,Kt,[p(`h2`,null,v(m(y)(`agentProfiles.advanced`)),1),p(`p`,qt,v(m(y)(`agentProfiles.locked`)),1),p(`div`,Jt,[n(m(O),{class:`quiet-button`,"data-open-management":``,to:{path:`/project-agents/manage`,query:{agent:B.value.agentId}}},{default:u(()=>[l(v(m(y)(`agentProfiles.openManagement`)),1)]),_:1},8,[`to`])])])],8,Gt),[[_,Y.value===`management`]])],64)):(e(),t(`p`,Pe,v(m(y)(`agentProfiles.unavailable`)),1))],8,Me))}}),[[`__scopeId`,`data-v-e79efe2b`]]);export{Yt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,E as n,H as r,I as i,J as a,M as o,N as s,O as c,P as l,R as u,S as d,T as f,U as p,X as m,Z as h,_ as g,b as _,dt as v,ft as y,g as b,h as x,m as S,mt as C,n as ee,o as w,ot as T,p as E,pt as te,q as ne,x as D,y as O}from"./i18n-DYrQWclR.js";import{n as k,t as re}from"./console-Dl-Zf-vm.js";import{h as ie,m as ae}from"./useApi-CROJJdhE-Di-SEzl3.js";import{a as A,t as j}from"./vue-router-CG6ezAck.js";import{r as M,s as N}from"./client-CRiPFGQo.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as oe,n as se}from"./agent-pins-CtGOL6hE.js";import{t as ce}from"./UiIconButton-CaxMAEd6.js";import{t as le}from"./UiSegmented-DirGF0fz.js";import{t as F}from"./UiSelect-iDXgMBmg.js";import{t as I}from"./avatars-CUyfvsKO.js";import{t as ue}from"./agent-identity-color-RqpT7gtx.js";import{a as de,i as fe,n as pe,t as L}from"./profile-model-BQO4zNs9.js";import{h as me}from"./task-evidence-i9SDhd3E.js";import{t as he}from"./useAgentRecords-Bw9B25sk.js";import{n as R}from"./paths-CDREouhi.js";import{t as z}from"./AgentName-CKA8o3DK.js";import{r as B}from"./agent-occupation-BODbxMc2.js";import{i as ge,n as _e}from"./project-origin-BthRWajS.js";import{n as V,r as H,s as U,t as W}from"./agent-work-summary-9jEiDLve.js";import{a as ve,s as G}from"./catalog-DoiBFHyb.js";import{t as K}from"./project-team-api-DLYFf3Df.js";/* empty css */import{t as ye}from"./UnassignedConversationsPanel-LcjLO-S7.js";import{n as be,t as xe}from"./EmployeeRecruitDialog-DA6MLiX4.js";import{t as Se}from"./ProjectAgentFirstTask-1ZqQx7TD.js";function Ce(e,t=Date.now()){return`-${Math.floor(t%e)}ms`}var we=[`aria-label`,`title`],Te=P(c({__name:`BackToTop`,props:{scroller:{},threshold:{default:600}},setup(n){let r=n,o=T(!1);function s(){o.value=(r.scroller?.scrollTop??0)>r.threshold}a(()=>r.scroller,(e,t)=>{t?.removeEventListener(`scroll`,s),e?.addEventListener(`scroll`,s,{passive:!0}),s()},{immediate:!0}),i(()=>r.scroller?.removeEventListener(`scroll`,s));function c(){r.scroller&&(r.scroller.scrollTop=0),s()}return(n,r)=>o.value?(e(),t(`button`,{key:0,type:`button`,class:`back-to-top`,"data-back-to-top":``,"aria-label":v(w)(`ui.backToTop`),title:v(w)(`ui.backToTop`),onClick:c},[...r[0]||=[_(`svg`,{viewBox:`0 0 24 24`,width:`18`,height:`18`,"aria-hidden":`true`},[_(`path`,{d:`M6 15l6-6 6 6`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]],8,we)):d(``,!0)}}),[[`__scopeId`,`data-v-dceeb77d`]]);function Ee(e,t,n=600){let r=T(!1),o=null;function s(){o?.disconnect(),o=null}return a([e,t],([e,t])=>{s(),r.value=!1,!(!e||typeof IntersectionObserver>`u`)&&(o=new IntersectionObserver(e=>{r.value=e.some(e=>e.isIntersecting)},{root:t,rootMargin:`0px 0px ${n}px 0px`}),o.observe(e))},{immediate:!0,flush:`post`}),i(s),r}var q=new Map;function De(e,t,n){let r=!1;A(()=>{e.value&&q.set(t,e.value.scrollTop)}),a(n,async n=>{if(!n||r)return;r=!0;let i=q.get(t);q.delete(t),i!==void 0&&(await l(),e.value&&(e.value.scrollTop=i))},{immediate:!0})}var Oe=[`all`,`active`,`inactive`,`archived`],ke=[`agents`,`projects`],J=[`q`,`project`,`status`,`view`];function Y(e){return(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`&&e!==``)}function Ae(e,t,n){return e.includes(t??``)?t:n}function je(e){return{search:Y(e.q)[0]??``,projects:[...new Set(Y(e.project))],status:Ae(Oe,Y(e.status)[0],`all`),view:Ae(ke,Y(e.view)[0],`agents`)}}function Me(e,t){let n=Object.fromEntries(Object.entries(e).filter(([e])=>!J.includes(e))),r=t.search.trim();return r&&(n.q=r),t.projects.length&&(n.project=[...t.projects]),t.status!==`all`&&(n.status=t.status),t.view!==`agents`&&(n.view=t.view),n}function Ne(e,t){return e.search.trim()===t.search.trim()&&e.status===t.status&&e.view===t.view&&e.projects.length===t.projects.length&&e.projects.every((e,n)=>e===t.projects[n])}var Pe=new Set([`loading`,`unreported`,`unavailable`]);function Fe(e,t,n,r,i=[],a=!1){let o=new Set(r.filter(e=>!i.length||i.includes(e))),s=new Map,c=e=>{let t=s.get(e);return t||(t={projectId:e,agentIds:[],runningCount:0,unknownCount:0},s.set(e,t)),t};if(typeof a==`boolean`?a:a?.includeEmpty)for(let e of r)o.has(e)&&c(e);for(let r of e){let e=t(r).filter(e=>o.has(e)),i=n(r);for(let t of e){let e=c(t);e.agentIds.push(r),i===`running`&&(e.runningCount+=1),(!i||Pe.has(i))&&(e.unknownCount+=1)}}let l=new Map(r.map((e,t)=>[e,t]));return[...s.values()].sort((e,t)=>(l.get(e.projectId)??2**53-1)-(l.get(t.projectId)??2**53-1)||e.projectId.localeCompare(t.projectId))}var Ie=[`data-directory-project`],Le=[`aria-expanded`,`aria-controls`],Re={class:`directory-project-heading`},X={class:`directory-project-name`},ze={key:0,class:`ui-meta directory-project-purpose`,"data-project-purpose":``},Be={class:`ui-meta directory-project-summary`},Ve={class:`directory-project-header-lead`,"data-project-header-lead":``},He={key:0,class:`directory-project-occupations`,"data-project-member-occupations":``},Ue={class:`ui-meta directory-project-counts`},Z=[`id`],We={key:0,class:`directory-project-lead`,"data-project-lead":``},Ge={key:1,role:`alert`},Ke={key:2},qe={class:`ui-meta`},Je={key:3,class:`ui-meta`},Ye=c({__name:`DirectoryProjectGroup`,props:o({spaceId:{},projectId:{},name:{},purpose:{},agents:{},count:{},runningCount:{},unknownCount:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:[`update:expanded`],setup(r){let i=r,o=ne(r,`expanded`),s=T(null),c=T(!1),l=T(!1),u=0,h=O(()=>`directory-project-${i.projectId??`unassigned`}`),y=O(()=>i.projectId&&i.spaceId?R(i.spaceId,`overview`,i.projectId):null),b=O(()=>{if(s.value?.lead?.name)return s.value.lead.name;let e=(i.agents??[]).find(e=>e.occupation?.role===`lead`||e.profile.agentType===`coordinator`);return e?e.profile.displayName||e.profile.name:null}),x=O(()=>{let e=new Set,t=[];for(let n of i.agents??[]){let r=B(n.occupation)[0];if(!r)continue;let i=n.profile.occupationEmoji?.trim(),a=i?`${i} ${r}`:r;e.has(a)||(e.add(a),t.push(a))}return t});async function S(){if(!i.projectId||!i.spaceId)return;let e=++u;c.value=!0,l.value=!1;try{let t=await K(i.spaceId,i.projectId);e===u&&(s.value=t)}catch{e===u&&(l.value=!0)}finally{e===u&&(c.value=!1)}}return a(()=>[i.spaceId,i.projectId],()=>{u+=1,s.value=null,c.value=!1,l.value=!1,o.value&&S()}),a(o,e=>{e&&!s.value&&!c.value&&S()},{immediate:!0}),(i,a)=>(e(),t(`section`,{class:`directory-project`,"data-directory-project":r.projectId??``},[_(`button`,{type:`button`,class:`directory-project-toggle`,"aria-expanded":o.value,"aria-controls":h.value,onClick:a[0]||=e=>o.value=!o.value},[_(`span`,Re,[_(`span`,X,C(r.name),1),r.purpose?(e(),t(`span`,ze,C(r.purpose),1)):d(``,!0)]),_(`span`,Be,[_(`span`,Ve,C(b.value?v(w)(`agentRedesign.projectView.lead`,{name:b.value}):v(w)(`agentRedesign.projectView.leadUnset`)),1),x.value.length?(e(),t(`span`,He,` · `+C(x.value.join(` · `)),1)):d(``,!0)]),_(`span`,Ue,[f(C(v(w)(`agentRedesign.projectView.members`,{count:r.count}))+` `,1),r.runningCount?(e(),t(g,{key:0},[f(` · `+C(v(w)(`agentRedesign.projectView.running`,{count:r.runningCount})),1)],64)):d(``,!0),r.unknownCount?(e(),t(g,{key:1},[f(` · `+C(v(w)(`agentRedesign.projectView.unknown`,{count:r.unknownCount})),1)],64)):d(``,!0)]),a[1]||=_(`svg`,{class:`directory-project-chevron`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[_(`path`,{d:`m6 9 6 6 6-6`})],-1)],8,Le),o.value?(e(),t(`div`,{key:0,id:h.value,class:`directory-project-body`},[r.projectId?(e(),t(`div`,We,[c.value?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentRedesign.projectView.loadingLead`)},null,8,[`label`])):l.value?(e(),t(`p`,Ge,[f(C(v(w)(`agentRedesign.projectView.leadFailed`))+` `,1),n(k,{size:`sm`,variant:`ghost`,onClick:S},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1})])):s.value?.lead?(e(),t(`p`,Ke,[_(`span`,qe,C(v(w)(`projects.overview.lead`)),1),n(z,{"space-id":r.spaceId,"agent-id":s.value.lead.agentId,name:s.value.lead.name},null,8,[`space-id`,`agent-id`,`name`])])):s.value?(e(),t(`p`,Je,C(s.value.status===`lead_unavailable`?v(w)(`projects.overview.leadUnavailableUnnamed`):v(w)(`projects.overview.noLead`)),1)):d(``,!0),y.value?(e(),D(v(j),{key:4,class:`quiet-button`,to:y.value},{default:m(()=>[f(C(v(w)(`agentRedesign.projectView.openProject`)),1)]),_:1},8,[`to`])):d(``,!0)])):d(``,!0),p(i.$slots,`default`)],8,Z)):d(``,!0)],8,Ie))}}),Xe={viewBox:`0 0 1024 1024`,width:`18`,height:`18`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`},Ze=[`d`],Q=`M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z`,$=`M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z`,Qe=c({__name:`PinIcon`,props:{filled:{type:Boolean,default:!1}},setup(n){return(r,i)=>(e(),t(`svg`,Xe,[_(`path`,{d:n.filled?$:Q},null,8,Ze)]))}}),$e=T(Date.now()),et=0,tt;function nt(e=6e4){return et+=1,tt||=($e.value=Date.now(),setInterval(()=>{$e.value=Date.now()},e)),i(()=>{--et,!et&&tt&&(clearInterval(tt),tt=void 0)}),$e}var rt=6e4,it=60*rt,at=24*it;function ot(e,t,n=Date.now()){let r=e?Date.parse(e):NaN;if(Number.isNaN(r)||r>n)return null;let i=n-r,[a,o]=i<it?[`minute`,rt]:i<2*at?[`hour`,it]:[`day`,at];return new Intl.NumberFormat(t,{style:`unit`,unit:a,unitDisplay:`long`}).format(Math.max(1,Math.floor(i/o)))}var st=[[`second`,60],[`minute`,60],[`hour`,24],[`day`,30],[`month`,12],[`year`,1/0]];function ct(e,t,n=Date.now()){let r=e?Date.parse(e):NaN;if(Number.isNaN(r))return null;let i=Math.round((r-n)/1e3),a=new Intl.RelativeTimeFormat(t,{numeric:`auto`});for(let[e,t]of st){if(Math.abs(i)<t)return a.format(i,e);i=Math.round(i/t)}return null}function lt(e){if(!e)return null;let t=e.reason;switch(e.status){case`blocked`:return t?w(`agentRedesign.statusDetail.blocked`,{reason:t}):w(`agentRedesign.statusDetail.blockedUnrecorded`);case`awaiting_review`:return t?w(`agentRedesign.statusDetail.review`,{reason:t}):w(`agentRedesign.statusDetail.reviewUnrecorded`);case`paused`:return t?w(`agentRedesign.statusDetail.paused`,{reason:t}):w(`agentRedesign.statusDetail.pausedUnrecorded`);case`queued`:return w(`agentRedesign.statusDetail.queued`);case`awaiting_recruitment`:return w(`agentRedesign.statusDetail.recruitment`);case`unreported`:return w(e.source===`roster`?`agentRedesign.statusDetail.unreportedRoster`:`agentRedesign.statusDetail.unreportedTasks`);case`unavailable`:return w(`agentRedesign.statusDetail.unavailable`);default:return null}}var ut={class:`ui-card agent-card`},dt={class:`agent-card-topline`},ft=[`src`],pt={class:`agent-directory-name`},mt={key:0,class:`ui-badge fla-employee-number`},ht={key:1,class:`ui-badge ui-badge--accent agent-card-role`},gt=[`title`],_t=[`data-membership-status`],vt=[`data-work-status`,`aria-label`],yt={class:`agent-card-work-status-text`},bt=[`aria-label`,`aria-pressed`,`title`,`disabled`],xt={key:0,class:`agent-card-current`,"data-current-task":``},St={class:`agent-card-current-label`},Ct=[`title`],wt=[`title`],Tt=[`title`],Et=[`title`],Dt={key:2,class:`agent-inline-skills`},Ot={class:`agent-card-meta`},kt={class:`agent-card-projects`},At={key:0,class:`agent-card-project-list`},jt=[`title`],Mt={key:0,class:`ui-badge agent-card-project-count`},Nt={key:1,class:`ui-badge`},Pt={key:2,class:`agent-card-no-project`},Ft=2400,It=P(c({__name:`AgentCard`,props:{agent:{},spaceId:{},projectNames:{},managesAllProjects:{type:Boolean},entry:{},pinned:{type:Boolean},pinPending:{type:Boolean}},emits:[`toggle-pin`],setup(i,{emit:a}){let o=i,s=a,c=O(()=>L(o.agent)),l=Ce(Ft),u=O(()=>de(o.agent)),p=O(()=>u.value.slice(0,2).map(e=>o.projectNames?.[e]||e)),h=O(()=>Math.max(u.value.length-2,0)),x=O(()=>o.agent.profile.capabilities.slice(0,3)),S=O(()=>`is-${o.agent.profile.status}`),T=O(()=>w(`projectAgents.status.${o.agent.profile.status}`)),E=O(()=>o.entry?.status??`unreported`),ne=O(()=>o.entry?.title??w(`agentRedesign.workbench.titleNotLoaded`)),k=O(()=>ct(o.entry?.lastUpdateAt,ee())),re=nt(),ie=O(()=>E.value===`running`?ot(o.entry?.runningSince,ee(),re.value):null),ae=O(()=>({path:`/project-agents/manage`,query:{agent:o.agent.agentId,task:o.entry?.taskId??``}})),A=O(()=>lt(o.entry)),M=O(()=>B(o.agent.occupation)),P=O(()=>`is-${E.value}`),oe=O(()=>({coordinator:w(`agentProfiles.roles.projectManager`),hr:w(`agentProfiles.roles.hr`)})[o.agent.profile.agentType]??``);function ce(e,t,n){let r=w(e,n);return r===e?t:r}let le=O(()=>ce(`agentRedesign.membershipStatus`,`Member · ${T.value}`,{status:T.value})),F=O(()=>{let e={awaiting_recruitment:`Awaiting recruitment`,queued:`Queued`,running:`Running`,paused:`Paused`,awaiting_review:`Awaiting review`,blocked:`Blocked`,none:w(`agentProfiles.idle`),loading:`Loading work status`,unreported:`Partial status`,unavailable:`Unavailable`,ended:`Ended`}[E.value];return ce(`agentRedesign.workStatus.${E.value}`,e??`Work status unavailable`)}),fe=O(()=>o.pinPending?se(`saving`,`Saving Agent pin…`):o.pinned?se(`unpin`,`Unpin Agent`):se(`pin`,`Pin Agent`));function me(){s(`toggle-pin`,!o.pinned)}return(a,o)=>(e(),t(`article`,ut,[_(`div`,dt,[_(`span`,{class:y([`agent-portrait small agent-card-identity`,{"is-working":E.value===`running`}]),style:te([v(ue)(i.agent.agentId),{"--working-phase":v(l)}]),"aria-hidden":`true`,"data-card-portrait":``},[v(I)(i.agent.agentId)?(e(),t(`img`,{key:0,src:v(I)(i.agent.agentId),alt:``},null,8,ft)):(e(),t(g,{key:1},[f(C(i.agent.profile.occupationEmoji||c.value.slice(0,1)),1)],64))],6),_(`div`,pt,[n(v(j),{to:v(pe)(i.spaceId,i.agent.agentId),"aria-label":`${c.value} · ${v(w)(`agentProfiles.profile`)}`},{default:m(()=>[f(C(c.value),1)]),_:1},8,[`to`,`aria-label`]),i.agent.employeeNumber?(e(),t(`span`,mt,`FLA `+C(i.agent.employeeNumber),1)):d(``,!0),oe.value?(e(),t(`span`,ht,C(oe.value),1)):d(``,!0),M.value.length?(e(),t(`span`,{key:2,class:`agent-card-occupation`,"data-occupation":``,title:v(w)(`agentRedesign.occupation.title`)},C(M.value.join(` · `)),9,gt)):d(``,!0),n(be,{"agent-id":i.agent.agentId},null,8,[`agent-id`])]),i.agent.profile.status===`active`?d(``,!0):(e(),t(`span`,{key:0,class:y([`ui-badge agent-card-status agent-card-membership-status`,S.value]),"data-membership-status":i.agent.profile.status},C(le.value),11,_t)),E.value!==`ended`&&(i.agent.profile.status===`active`||![`none`,`loading`].includes(E.value))?(e(),t(`span`,{key:1,class:y([`agent-card-work-status`,P.value]),"data-work-status":E.value,"aria-label":`${v(w)(`agentRedesign.workStatus.label`)} · ${F.value}`},[_(`span`,yt,C(F.value),1)],10,vt)):d(``,!0),_(`button`,{class:`agent-card-pin quiet-button`,"data-agent-pin-toggle":``,type:`button`,"aria-label":`${fe.value} · ${c.value}`,"aria-pressed":!!i.pinned,title:fe.value,disabled:i.pinPending,onClick:b(me,[`stop`])},[i.pinPending?(e(),D(N,{key:0,variant:`inline`,label:fe.value},null,8,[`label`])):(e(),D(Qe,{key:1,filled:i.pinned},null,8,[`filled`]))],8,bt)]),i.entry?.taskId?(e(),t(`p`,xt,[_(`span`,St,C(v(w)(`agentRedesign.workbench.current`)),1),n(v(j),{class:y([`agent-card-current-task`,{"is-unloaded":!i.entry.title}]),to:ae.value},{default:m(()=>[f(C(ne.value),1)]),_:1},8,[`to`,`class`]),E.value===`running`?(e(),t(`span`,{key:0,class:`agent-card-last-update`,title:i.entry.runningSince??void 0,"data-running-since":``},C(ie.value?v(w)(`agentRedesign.workbench.runningFor`,{duration:ie.value}):v(w)(`agentRedesign.workbench.runningForUnknown`)),9,Ct)):(e(),t(`span`,{key:1,class:`agent-card-last-update`,title:i.entry.lastUpdateAt??void 0,"data-last-update":``},C(k.value?v(w)(`agentRedesign.workbench.lastUpdate`,{time:k.value}):v(w)(`agentRedesign.workbench.lastUpdateUnknown`)),9,wt))])):d(``,!0),A.value?(e(),t(`p`,{key:1,class:y([`agent-card-status-detail`,P.value]),title:A.value,"data-status-detail":``},C(A.value),11,Tt)):d(``,!0),_(`p`,{class:`agent-card-responsibility`,"data-agent-summary":``,title:v(w)(`agentRedesign.workbench.responsibility`)},C(i.agent.profile.responsibility),9,Et),x.value.length?(e(),t(`div`,Dt,[(e(!0),t(g,null,r(x.value,n=>(e(),t(`span`,{key:n},C(n),1))),128))])):d(``,!0),_(`div`,Ot,[_(`div`,kt,[p.value.length?(e(),t(`div`,At,[(e(!0),t(g,null,r(p.value,n=>(e(),t(`span`,{key:n,class:`ui-badge agent-card-project-badge`,title:n},C(n),9,jt))),128)),h.value?(e(),t(`span`,Mt,` +`+C(h.value),1)):d(``,!0)])):i.managesAllProjects?(e(),t(`span`,Nt,C(v(w)(`agentProfiles.allProjects`)),1)):(e(),t(`span`,Pt,C(v(w)(`agentProfiles.noProject`)),1))]),n(v(j),{class:`agent-directory-open`,to:v(pe)(i.spaceId,i.agent.agentId),"aria-label":`${c.value} · ${v(w)(`agentProfiles.profile`)}`},{default:m(()=>[f(C(v(w)(`agentProfiles.profile`))+` → `,1)]),_:1},8,[`to`,`aria-label`])])]))}}),[[`__scopeId`,`data-v-310201de`]]),Lt=new Map,Rt=()=>({agents:[],phase:`open`,cursor:null,complete:!1});function zt(e,t){let n=T([]),r=T(!1),i=T(``),o=T(!1),s=Rt(),c=``,l=0;function u(e){s=e,n.value=e.agents,o.value=e.complete}function d(){l+=1,c=`${e.value}\n${t.value}`,r.value=!1,i.value=``;let n=Lt.get(c);return u(n??Rt()),n?Promise.resolve():f()}async function f(){let n=e.value;if(!n||r.value||s.complete)return;let a=l,o=s,d=new URLSearchParams({personalSpaceId:n,limit:`50`});t.value!==`all`&&d.set(`status`,t.value),o.phase===`open`&&d.set(`work`,`open`),o.cursor&&d.set(`cursor`,o.cursor),r.value=!0,i.value=``;let p=!1;try{let e=await M(`/api/project-agent-pages?${d}`);if(a!==l)return;let t=me(e),r=typeof t.nextCursor==`string`&&t.nextCursor?t.nextCursor:null,i=t.complete===!0;if(!i&&!r)throw Error(w(`agentProfiles.pageBroken`));let s=new Set(o.agents.map(e=>e.agentId)),f=he(e,n).filter(e=>s.has(e.agentId)?!1:(s.add(e.agentId),!0)),m={agents:[...o.agents,...f],phase:i?`all`:o.phase,cursor:i?null:r,complete:i&&o.phase===`all`};Lt.set(c,m),u(m),p=o.phase===`open`&&i&&m.agents.length<50}catch(e){a===l&&(i.value=e instanceof Error?e.message:w(`agentProfiles.loadError`))}finally{a===l&&(r.value=!1)}p&&a===l&&await f()}function p(){return Lt.delete(c),d()}return a([e,t],d,{immediate:!0}),{agents:n,loading:r,error:i,complete:o,loadMore:f,reload:p}}var Bt={running:0,awaiting_review:1,blocked:2,paused:3,queued:4,awaiting_recruitment:5,loading:6,unreported:6,unavailable:6,none:7,ended:8},Vt=new Set([`blocked`,`awaiting_review`,`paused`]);function Ht(e){return W.includes(e)}function Ut(e,t){let n={};for(let r of U(e,t))n[r.taskId]={taskId:r.taskId,title:r.title,updatedAt:r.updatedAt??null,participantUpdatedAt:Object.fromEntries(r.participants.map(e=>[e.agentId,e.updatedAt??null])),summary:r.resultSummary?.trim()||null};return n}function Wt(e,t){return e?e.status:t===`loading`?`loading`:t===`error`?`unavailable`:t===`incomplete`?`unreported`:`none`}function Gt(e){return e===`idle`?`none`:e===`ended`?`ended`:Ht(e)?e:`unreported`}function Kt(e,t){let n=typeof e.workStatus==`string`,r=n?Gt(e.workStatus):Wt(t.summary,t.summaryState),i=Ht(r)?n?e.currentTaskId??null:t.summary?.taskId??null:null,a=i?t.tasks?.[i]:void 0,o=a?.title??(i&&t.summary?.taskId===i?t.summary.title:null),s=a?a.participantUpdatedAt[e.agentId]??a.updatedAt:null;return{status:r,source:n?`roster`:t.summary?`tasks`:`unknown`,taskId:i,title:o,lastUpdateAt:s,reason:Vt.has(r)?a?.summary??null:null,runningSince:n&&r===`running`?e.currentTaskRunningSince??null:null}}function qt(e){let t=e?Date.parse(e):NaN;return Number.isNaN(t)?null:t}function Jt(e,t){let n=Bt[e.entry.status]-Bt[t.entry.status];if(n)return n;let r=qt(e.entry.lastUpdateAt),i=qt(t.entry.lastUpdateAt);return r===i?e.name.localeCompare(t.name):r===null?1:i===null?-1:i-r}function Yt(e){let t=T({}),n=T({}),r=T(!1),i=T(``),o=T(`idle`),s=new Map,c=0;async function l(){let a=++c,l=e.value;if(i.value=``,!l){t.value={},n.value={},r.value=!1,o.value=`idle`;return}let u=s.get(l);u?(t.value=u.summaries,n.value=u.tasks):(Object.keys(t.value).length||Object.keys(n.value).length)&&(t.value={},n.value={}),r.value=!0,o.value=`loading`;try{let r=await M(`/api/project-agent-tasks?${new URLSearchParams({personalSpaceId:l,limit:`200`})}`);if(a!==c||e.value!==l)return;let i={summaries:H(r,l),tasks:Ut(r,l)};s.set(l,i),t.value=i.summaries,n.value=i.tasks,o.value=V(r)?`ready`:`incomplete`}catch(t){if(a!==c||e.value!==l)return;i.value=t instanceof Error?t.message:w(`agentProfiles.loadError`),o.value=`error`}finally{a===c&&e.value===l&&(r.value=!1)}}return a(e,l,{immediate:!0}),{summaries:t,tasks:n,loading:r,error:i,state:o,load:l}}function Xt(e,t,n){let r=T([]);a(n,()=>{r.value=[]}),a([e,t],([e,t])=>{t&&e.length&&!r.value.length&&(r.value=[...e])},{immediate:!0});let i=O(()=>{if(!r.value.length)return e.value;let t=new Map(r.value.map((e,t)=>[e,t]));return[...e.value.filter(e=>t.has(e)).sort((e,n)=>t.get(e)-t.get(n)),...e.value.filter(e=>!t.has(e))]});function o(){r.value=[...e.value]}return{order:i,apply:o}}var Zt=[`src`],Qt=P(c({__name:`EmployeeWorkbenchLinks`,props:{personalSpaceId:{}},setup(n){let i=n;a(()=>i.personalSpaceId,e=>{G(e===`current`?``:e)},{immediate:!0});let o=O(()=>ve.value.filter(e=>e.agentId&&e.agentStatus===`active`&&(e.runtime||e.workbench?.kind===`native`)));return(n,i)=>(e(!0),t(g,null,r(o.value,n=>(e(),D(v(j),{key:n.id,class:`ui-button employee-workbench-link`,to:`/employees/${encodeURIComponent(n.id)}`,title:v(w)(`agentProfiles.workbench`)},{default:m(()=>[v(I)(n.id)?(e(),t(`img`,{key:0,src:v(I)(n.id),alt:``,"aria-hidden":`true`},null,8,Zt)):d(``,!0),f(` `+C(n.name)+` · `+C(n.role),1)]),_:2},1032,[`to`,`title`]))),128))}}),[[`__scopeId`,`data-v-4906fde1`]]),$t=[`aria-label`],en={class:`ui-toolbar agents-directory-heading`},tn={key:0,class:`agents-directory-count`},nn={key:1,class:`agents-directory-count`,"aria-hidden":`true`},rn={class:`agent-profile-actions`},an={key:0,class:`agent-directory-pin-error`,role:`alert`},on={key:2,class:`agent-directory-work-error`,role:`status`},sn={class:`ui-toolbar agents-directory-filters`},cn={key:0,class:`agents-directory-search`},ln={class:`ui-sr-only`},un=[`placeholder`],dn={key:4,role:`alert`,class:`ui-card ui-empty agent-profile-empty`},fn={key:5,class:`agents-directory-partial`,role:`status`},pn={key:6,class:`ui-card ui-empty agent-profile-empty`},mn={key:7,class:`agents-directory-reorder`,role:`status`},hn={key:8,class:`agents-directory-grid`},gn={key:9,class:`agents-directory-projects`},_n={class:`agents-directory-grid`},vn={key:1,class:`agents-directory-more-error`,role:`alert`},yn=P(c({__name:`AgentsDirectoryPage`,setup(i){let o=re(),c=ae(),p=ie(),y=O(()=>o.activePersonalSpace?.id??``),b=oe(y),te=b.agentIds,ne=b.savingAgentId,A=b.error,j=O(()=>se(`retry`,`Retry`)),{summaries:M,tasks:P,loading:I,error:ue,state:me,load:he}=Yt(y),R=je(c.query),z=T(R.search),B=T(R.status),V=T(R.projects),H=T(R.view),{agents:U,loading:W,error:G,complete:K,loadMore:be,reload:Ce}=zt(y,B),we=O(()=>W.value&&!U.value.length),q=O(()=>!K.value&&U.value.length>0),Oe=O(()=>!!(z.value.trim()||V.value.length)),ke=T({}),J=T(null),Y=T(null),Ae=Ee(Y,J),Pe=T(!1),Ie=O(()=>ve.value.some(e=>!e.fixed)),Le=e=>ve.value.some(t=>t.agentId===e&&t.management?.mode===`all`),Re=O(()=>(o.state?.personalProjects??[]).filter(e=>e.personal_space_id===y.value)),X=O(()=>Re.value.filter(e=>_e(e))),ze=O(()=>new Map(X.value.map(e=>[e.project_id,e]))),Be=O(()=>X.value.map(e=>({value:e.project_id,label:e.profile.name}))),Ve=O(()=>Object.fromEntries(Re.value.map(e=>[e.project_id,ge(e)]))),He=O(()=>[{value:`all`,label:w(`agentProfiles.allStatus`)},...[`active`,`inactive`,`archived`].map(e=>({value:e,label:w(`projectAgents.status.${e}`)}))]),Ue=e=>(B.value===`all`||e.profile.status===B.value)&&(!V.value.length||de(e).some(e=>V.value.includes(e)))&&fe([L(e),e.employeeNumber?`FLA ${e.employeeNumber}`:``,e.profile.responsibility,...e.profile.capabilities,...de(e).map(e=>Ve.value[e]||e)].join(` `),z.value),Z=O(()=>we.value||I.value||o.runtimeStatus===`loading`),We=O(()=>Object.fromEntries(U.value.map(e=>[e.agentId,Kt(e,{summary:M.value[e.agentId],summaryState:me.value,tasks:P.value})]))),Ge=O(()=>new Map(U.value.map(e=>[e.agentId,e]))),Ke=O(()=>U.value.map(e=>({agent:e,entry:We.value[e.agentId],name:L(e)})).sort(Jt).map(e=>e.agent.agentId)),qe=Xt(Ke,O(()=>!Z.value),y),Je=e=>e.map(e=>Ge.value.get(e)).filter(e=>e&&Ue(e)),Xe=T(`recent`),Ze=O(()=>[{value:`recent`,label:w(`agentProfiles.sort.recent`)},{value:`name`,label:w(`agentProfiles.sort.name`)}]),Q=O(()=>{let e=Je(qe.order.value);return Xe.value===`name`?[...e].sort((e,t)=>L(e).localeCompare(L(t),ee())):e}),$=T(!1),Qe=T(null);async function $e(){$.value=!0,await l(),Qe.value?.focus()}let et=O(()=>[{value:`agents`,label:w(`agentRedesign.projectView.agents`)},{value:`projects`,label:w(`agentRedesign.projectView.projects`)}]),tt=O(()=>Fe(Q.value.map(e=>e.agentId),e=>de(Ge.value.get(e)),e=>We.value[e]?.status,X.value.map(e=>e.project_id),V.value,{includeEmpty:!z.value.trim()}).map(e=>({...e,key:e.projectId,name:Ve.value[e.projectId]||e.projectId,purpose:ze.value.get(e.projectId)?.profile.purpose??null,agents:e.agentIds.map(e=>Ge.value.get(e))}))),nt=e=>({agent:e,spaceId:y.value,projectNames:Ve.value,managesAllProjects:Le(e.agentId),entry:We.value[e.agentId],pinned:te.value.includes(e.agentId),pinPending:ne.value===e.agentId}),rt=O(()=>Je(Ke.value).some((e,t)=>e.agentId!==Q.value[t]?.agentId));async function it(e,t){await b.setPinned(e,t)}u(()=>{o.runtimeStatus===`idle`&&o.refresh()});let at=()=>({search:z.value,projects:V.value,status:B.value,view:H.value});a(()=>c.query,e=>{let t=je(e);z.value=t.search,V.value=t.projects,B.value=t.status,H.value=t.view}),a([z,B,V,H],()=>{Ne(je(c.query),at())||p.replace({query:Me(c.query,at())})},{deep:!0}),De(J,`agents-directory`,O(()=>Q.value.length>0)),a([y,()=>c.query.agent],([e,t])=>{if(e&&typeof t==`string`){let{agent:n,...r}=c.query;p.replace({path:typeof c.query.task==`string`?`/project-agents/manage`:pe(e,t),query:typeof c.query.task==`string`?c.query:r})}},{immediate:!0}),a(y,(e,t)=>{t&&(z.value=``,V.value=[],B.value=`all`,ke.value={})});async function ot(e){Pe.value=!1,await p.push(pe(y.value,e.agent.agentId))}a([Ae,W,G,K],()=>{Ae.value&&!W.value&&!G.value&&!K.value&&be()});async function st(){o.state||await o.refresh(),await Promise.allSettled([Ce(),he()])}function ct(e){o.rememberPersonalProject(e)}return(i,a)=>(e(),t(`section`,{ref_key:`scroller`,ref:J,class:`view agents-directory`,"aria-label":v(w)(`agentProfiles.title`)},[_(`header`,en,[!Z.value||v(U).length?(e(),t(`p`,tn,C(v(w)(q.value?`agentProfiles.membersLoaded`:`agentProfiles.members`,{count:v(U).length})),1)):(e(),t(`span`,nn,`\xA0`)),_(`div`,rn,[Z.value&&v(U).length?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentRedesign.refreshing`)},null,8,[`label`])):d(``,!0),n(Qt,{"personal-space-id":y.value||`current`},null,8,[`personal-space-id`]),Ie.value?(e(),D(k,{key:1,size:`sm`,variant:`primary`,disabled:!y.value,onClick:a[0]||=e=>Pe.value=!0},{default:m(()=>[f(C(v(w)(`employees.recruit`)),1)]),_:1},8,[`disabled`])):d(``,!0)])]),v(A)?(e(),t(`p`,an,[_(`span`,null,C(v(A)),1),n(k,{size:`sm`,variant:`ghost`,onClick:a[1]||=e=>v(b).load({force:!0})},{default:m(()=>[f(C(j.value),1)]),_:1})])):d(``,!0),!Z.value&&!v(G)&&v(o).runtimeStatus===`ready`&&!X.value.length?(e(),D(Se,{key:1,"personal-space-id":y.value},null,8,[`personal-space-id`])):d(``,!0),v(ue)?(e(),t(`p`,on,[_(`span`,null,C(v(w)(`agentRedesign.workStatus.refreshError`)),1),n(k,{size:`sm`,variant:`ghost`,onClick:v(he)},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1},8,[`onClick`])])):d(``,!0),_(`div`,sn,[n(F,{modelValue:V.value,"onUpdate:modelValue":a[2]||=e=>V.value=e,class:`agents-directory-select`,multiple:``,options:Be.value,label:v(w)(`employees.filterLabel`),placeholder:v(w)(`employees.allProjectsFilter`)},null,8,[`modelValue`,`options`,`label`,`placeholder`]),n(F,{modelValue:B.value,"onUpdate:modelValue":a[3]||=e=>B.value=e,class:`agents-directory-select`,options:He.value,label:v(w)(`projectAgents.fields.status`)},null,8,[`modelValue`,`options`,`label`]),n(F,{modelValue:Xe.value,"onUpdate:modelValue":a[4]||=e=>Xe.value=e,class:`agents-directory-select`,"data-directory-sort":``,options:Ze.value,label:v(w)(`agentProfiles.sort.label`)},null,8,[`modelValue`,`options`,`label`]),n(le,{modelValue:H.value,"onUpdate:modelValue":a[5]||=e=>H.value=e,class:`agents-directory-view`,"data-directory-view":``,options:et.value,label:v(w)(`agentRedesign.projectView.label`)},null,8,[`modelValue`,`options`,`label`]),$.value||z.value?(e(),t(`label`,cn,[_(`span`,ln,C(v(w)(`agentProfiles.search`)),1),h(_(`input`,{ref_key:`searchInput`,ref:Qe,"onUpdate:modelValue":a[6]||=e=>z.value=e,type:`search`,maxlength:`160`,placeholder:v(w)(`agentProfiles.search`),onFocus:a[7]||=e=>$.value=!0,onBlur:a[8]||=e=>$.value=!1,onKeydown:a[9]||=x(e=>{z.value=``,$.value=!1},[`esc`])},null,40,un),[[E,z.value]])])):(e(),D(ce,{key:1,icon:`search`,label:v(w)(`agentProfiles.search`),"data-directory-search":``,onClick:$e},null,8,[`label`]))]),Z.value&&!v(U).length?(e(),D(N,{key:3,label:v(w)(`agentProfiles.loading`)},null,8,[`label`])):d(``,!0),v(G)&&!v(U).length||v(o).runtimeStatus===`error`?h((e(),t(`div`,dn,[_(`p`,null,C(!v(U).length&&v(G)||v(w)(`agentProfiles.loadError`)),1),n(k,{size:`sm`,variant:`ghost`,onClick:st},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1})],512)),[[S,!Z.value||v(U).length===0]]):d(``,!0),q.value?(e(),t(`p`,fn,C(v(w)(Oe.value?`agentProfiles.partialFilter`:`agentProfiles.partialRoster`,{count:v(U).length})),1)):d(``,!0),!Z.value&&v(K)&&!Q.value.length&&H.value===`agents`&&!v(G)&&v(o).runtimeStatus!==`error`?(e(),t(`p`,pn,C(v(w)(v(U).length?`agentProfiles.noMatch`:`agentProfiles.noAgents`)),1)):d(``,!0),rt.value&&!Z.value?(e(),t(`p`,mn,[_(`span`,null,C(v(w)(`agentRedesign.workbench.reorderHint`)),1),n(k,{size:`sm`,variant:`ghost`,"data-workbench-reorder":``,onClick:a[10]||=e=>v(qe).apply()},{default:m(()=>[f(C(v(w)(`agentRedesign.workbench.reorder`)),1)]),_:1})])):d(``,!0),Q.value.length&&H.value===`agents`?(e(),t(`ul`,hn,[(e(!0),t(g,null,r(Q.value,r=>(e(),t(`li`,{key:r.agentId},[n(It,s({ref_for:!0},nt(r),{onTogglePin:e=>it(r.agentId,e)}),null,16,[`onTogglePin`])]))),128))])):H.value===`projects`?(e(),t(`div`,gn,[n(ye,{"space-id":y.value,"formal-projects":X.value,"existing-project-ids":Re.value.map(e=>e.project_id),onProjectCreated:ct},null,8,[`space-id`,`formal-projects`,`existing-project-ids`]),(e(!0),t(g,null,r(tt.value,i=>(e(),D(Ye,{key:i.key,expanded:ke.value[i.key],"onUpdate:expanded":e=>ke.value[i.key]=e,"space-id":y.value,"project-id":i.projectId,name:i.name,purpose:i.purpose,agents:i.agents,count:i.agents.length,"running-count":i.runningCount,"unknown-count":i.unknownCount},{default:m(()=>[_(`ul`,_n,[(e(!0),t(g,null,r(i.agents,r=>(e(),t(`li`,{key:r.agentId},[n(It,s({ref_for:!0},nt(r),{onTogglePin:e=>it(r.agentId,e)}),null,16,[`onTogglePin`])]))),128))])]),_:2},1032,[`expanded`,`onUpdate:expanded`,`space-id`,`project-id`,`name`,`purpose`,`agents`,`count`,`running-count`,`unknown-count`]))),128))])):d(``,!0),v(U).length&&!v(K)?(e(),t(`div`,{key:10,ref_key:`rosterEnd`,ref:Y,class:`agents-directory-more`},[v(W)?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentProfiles.loadingMore`)},null,8,[`label`])):v(G)?(e(),t(`p`,vn,[_(`span`,null,C(v(w)(`agentProfiles.loadMoreError`))+` `+C(v(G)),1),n(k,{size:`sm`,variant:`ghost`,"data-roster-retry":``,onClick:v(be)},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1},8,[`onClick`])])):(e(),D(k,{key:2,size:`sm`,variant:`ghost`,"data-roster-more":``,onClick:v(be)},{default:m(()=>[f(C(v(w)(`agentProfiles.loadMore`)),1)]),_:1},8,[`onClick`]))],512)):d(``,!0),n(Te,{scroller:J.value},null,8,[`scroller`]),n(xe,{open:Pe.value,"personal-space-id":y.value,projects:X.value,"default-project-ids":V.value??[],onClose:a[11]||=e=>Pe.value=!1,onRecruited:ot},null,8,[`open`,`personal-space-id`,`projects`,`default-project-ids`])],8,$t))}}),[[`__scopeId`,`data-v-59b90cb4`]]);export{yn as default};
|
|
1
|
+
import{B as e,C as t,E as n,H as r,I as i,J as a,M as o,N as s,O as c,P as l,R as u,S as d,T as f,U as p,X as m,Z as h,_ as g,b as _,dt as v,ft as y,g as b,h as x,m as S,mt as C,n as ee,o as w,ot as T,p as E,pt as te,q as ne,x as D,y as O}from"./i18n-DUkThQlr.js";import{n as k,t as re}from"./console-CwLNvN5Y.js";import{h as ie,m as ae}from"./useApi-CROJJdhE-SqXJr_RU.js";import{a as A,t as j}from"./vue-router-CSaEmqy7.js";import{r as M,s as N}from"./client-D-1EftNy.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as oe,n as se}from"./agent-pins-CCJNG__y.js";import{t as ce}from"./UiIconButton-BVG74yak.js";import{t as le}from"./UiSegmented-BqraEIxm.js";import{t as F}from"./UiSelect-DdLp-PYy.js";import{t as I}from"./avatars-CUyfvsKO.js";import{t as ue}from"./agent-identity-color-RqpT7gtx.js";import{a as de,i as fe,n as pe,t as L}from"./profile-model-BQO4zNs9.js";import{h as me}from"./task-evidence-i9SDhd3E.js";import{t as he}from"./useAgentRecords-DnSCBOw-.js";import{n as R}from"./paths-CDREouhi.js";import{t as z}from"./AgentName-DSgPVCJM.js";import{r as B}from"./agent-occupation-DOxmEgGF.js";import{i as ge,n as _e}from"./project-origin-DrKurHvp.js";import{n as V,r as H,s as U,t as W}from"./agent-work-summary-CLlvAYd9.js";import{a as ve,s as G}from"./catalog-G4BFWyaC.js";import{t as K}from"./project-team-api-sYC7_opa.js";/* empty css */import{t as ye}from"./UnassignedConversationsPanel-CIxP_pnN.js";import{n as be,t as xe}from"./EmployeeRecruitDialog-DNER6Mdz.js";import{t as Se}from"./ProjectAgentFirstTask-CwFObBkw.js";function Ce(e,t=Date.now()){return`-${Math.floor(t%e)}ms`}var we=[`aria-label`,`title`],Te=P(c({__name:`BackToTop`,props:{scroller:{},threshold:{default:600}},setup(n){let r=n,o=T(!1);function s(){o.value=(r.scroller?.scrollTop??0)>r.threshold}a(()=>r.scroller,(e,t)=>{t?.removeEventListener(`scroll`,s),e?.addEventListener(`scroll`,s,{passive:!0}),s()},{immediate:!0}),i(()=>r.scroller?.removeEventListener(`scroll`,s));function c(){r.scroller&&(r.scroller.scrollTop=0),s()}return(n,r)=>o.value?(e(),t(`button`,{key:0,type:`button`,class:`back-to-top`,"data-back-to-top":``,"aria-label":v(w)(`ui.backToTop`),title:v(w)(`ui.backToTop`),onClick:c},[...r[0]||=[_(`svg`,{viewBox:`0 0 24 24`,width:`18`,height:`18`,"aria-hidden":`true`},[_(`path`,{d:`M6 15l6-6 6 6`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]],8,we)):d(``,!0)}}),[[`__scopeId`,`data-v-dceeb77d`]]);function Ee(e,t,n=600){let r=T(!1),o=null;function s(){o?.disconnect(),o=null}return a([e,t],([e,t])=>{s(),r.value=!1,!(!e||typeof IntersectionObserver>`u`)&&(o=new IntersectionObserver(e=>{r.value=e.some(e=>e.isIntersecting)},{root:t,rootMargin:`0px 0px ${n}px 0px`}),o.observe(e))},{immediate:!0,flush:`post`}),i(s),r}var q=new Map;function De(e,t,n){let r=!1;A(()=>{e.value&&q.set(t,e.value.scrollTop)}),a(n,async n=>{if(!n||r)return;r=!0;let i=q.get(t);q.delete(t),i!==void 0&&(await l(),e.value&&(e.value.scrollTop=i))},{immediate:!0})}var Oe=[`all`,`active`,`inactive`,`archived`],ke=[`agents`,`projects`],J=[`q`,`project`,`status`,`view`];function Y(e){return(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`&&e!==``)}function Ae(e,t,n){return e.includes(t??``)?t:n}function je(e){return{search:Y(e.q)[0]??``,projects:[...new Set(Y(e.project))],status:Ae(Oe,Y(e.status)[0],`all`),view:Ae(ke,Y(e.view)[0],`agents`)}}function Me(e,t){let n=Object.fromEntries(Object.entries(e).filter(([e])=>!J.includes(e))),r=t.search.trim();return r&&(n.q=r),t.projects.length&&(n.project=[...t.projects]),t.status!==`all`&&(n.status=t.status),t.view!==`agents`&&(n.view=t.view),n}function Ne(e,t){return e.search.trim()===t.search.trim()&&e.status===t.status&&e.view===t.view&&e.projects.length===t.projects.length&&e.projects.every((e,n)=>e===t.projects[n])}var Pe=new Set([`loading`,`unreported`,`unavailable`]);function Fe(e,t,n,r,i=[],a=!1){let o=new Set(r.filter(e=>!i.length||i.includes(e))),s=new Map,c=e=>{let t=s.get(e);return t||(t={projectId:e,agentIds:[],runningCount:0,unknownCount:0},s.set(e,t)),t};if(typeof a==`boolean`?a:a?.includeEmpty)for(let e of r)o.has(e)&&c(e);for(let r of e){let e=t(r).filter(e=>o.has(e)),i=n(r);for(let t of e){let e=c(t);e.agentIds.push(r),i===`running`&&(e.runningCount+=1),(!i||Pe.has(i))&&(e.unknownCount+=1)}}let l=new Map(r.map((e,t)=>[e,t]));return[...s.values()].sort((e,t)=>(l.get(e.projectId)??2**53-1)-(l.get(t.projectId)??2**53-1)||e.projectId.localeCompare(t.projectId))}var Ie=[`data-directory-project`],Le=[`aria-expanded`,`aria-controls`],Re={class:`directory-project-heading`},X={class:`directory-project-name`},ze={key:0,class:`ui-meta directory-project-purpose`,"data-project-purpose":``},Be={class:`ui-meta directory-project-summary`},Ve={class:`directory-project-header-lead`,"data-project-header-lead":``},He={key:0,class:`directory-project-occupations`,"data-project-member-occupations":``},Ue={class:`ui-meta directory-project-counts`},Z=[`id`],We={key:0,class:`directory-project-lead`,"data-project-lead":``},Ge={key:1,role:`alert`},Ke={key:2},qe={class:`ui-meta`},Je={key:3,class:`ui-meta`},Ye=c({__name:`DirectoryProjectGroup`,props:o({spaceId:{},projectId:{},name:{},purpose:{},agents:{},count:{},runningCount:{},unknownCount:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:[`update:expanded`],setup(r){let i=r,o=ne(r,`expanded`),s=T(null),c=T(!1),l=T(!1),u=0,h=O(()=>`directory-project-${i.projectId??`unassigned`}`),y=O(()=>i.projectId&&i.spaceId?R(i.spaceId,`overview`,i.projectId):null),b=O(()=>{if(s.value?.lead?.name)return s.value.lead.name;let e=(i.agents??[]).find(e=>e.occupation?.role===`lead`||e.profile.agentType===`coordinator`);return e?e.profile.displayName||e.profile.name:null}),x=O(()=>{let e=new Set,t=[];for(let n of i.agents??[]){let r=B(n.occupation)[0];if(!r)continue;let i=n.profile.occupationEmoji?.trim(),a=i?`${i} ${r}`:r;e.has(a)||(e.add(a),t.push(a))}return t});async function S(){if(!i.projectId||!i.spaceId)return;let e=++u;c.value=!0,l.value=!1;try{let t=await K(i.spaceId,i.projectId);e===u&&(s.value=t)}catch{e===u&&(l.value=!0)}finally{e===u&&(c.value=!1)}}return a(()=>[i.spaceId,i.projectId],()=>{u+=1,s.value=null,c.value=!1,l.value=!1,o.value&&S()}),a(o,e=>{e&&!s.value&&!c.value&&S()},{immediate:!0}),(i,a)=>(e(),t(`section`,{class:`directory-project`,"data-directory-project":r.projectId??``},[_(`button`,{type:`button`,class:`directory-project-toggle`,"aria-expanded":o.value,"aria-controls":h.value,onClick:a[0]||=e=>o.value=!o.value},[_(`span`,Re,[_(`span`,X,C(r.name),1),r.purpose?(e(),t(`span`,ze,C(r.purpose),1)):d(``,!0)]),_(`span`,Be,[_(`span`,Ve,C(b.value?v(w)(`agentRedesign.projectView.lead`,{name:b.value}):v(w)(`agentRedesign.projectView.leadUnset`)),1),x.value.length?(e(),t(`span`,He,` · `+C(x.value.join(` · `)),1)):d(``,!0)]),_(`span`,Ue,[f(C(v(w)(`agentRedesign.projectView.members`,{count:r.count}))+` `,1),r.runningCount?(e(),t(g,{key:0},[f(` · `+C(v(w)(`agentRedesign.projectView.running`,{count:r.runningCount})),1)],64)):d(``,!0),r.unknownCount?(e(),t(g,{key:1},[f(` · `+C(v(w)(`agentRedesign.projectView.unknown`,{count:r.unknownCount})),1)],64)):d(``,!0)]),a[1]||=_(`svg`,{class:`directory-project-chevron`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[_(`path`,{d:`m6 9 6 6 6-6`})],-1)],8,Le),o.value?(e(),t(`div`,{key:0,id:h.value,class:`directory-project-body`},[r.projectId?(e(),t(`div`,We,[c.value?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentRedesign.projectView.loadingLead`)},null,8,[`label`])):l.value?(e(),t(`p`,Ge,[f(C(v(w)(`agentRedesign.projectView.leadFailed`))+` `,1),n(k,{size:`sm`,variant:`ghost`,onClick:S},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1})])):s.value?.lead?(e(),t(`p`,Ke,[_(`span`,qe,C(v(w)(`projects.overview.lead`)),1),n(z,{"space-id":r.spaceId,"agent-id":s.value.lead.agentId,name:s.value.lead.name},null,8,[`space-id`,`agent-id`,`name`])])):s.value?(e(),t(`p`,Je,C(s.value.status===`lead_unavailable`?v(w)(`projects.overview.leadUnavailableUnnamed`):v(w)(`projects.overview.noLead`)),1)):d(``,!0),y.value?(e(),D(v(j),{key:4,class:`quiet-button`,to:y.value},{default:m(()=>[f(C(v(w)(`agentRedesign.projectView.openProject`)),1)]),_:1},8,[`to`])):d(``,!0)])):d(``,!0),p(i.$slots,`default`)],8,Z)):d(``,!0)],8,Ie))}}),Xe={viewBox:`0 0 1024 1024`,width:`18`,height:`18`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`},Ze=[`d`],Q=`M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z`,$=`M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z`,Qe=c({__name:`PinIcon`,props:{filled:{type:Boolean,default:!1}},setup(n){return(r,i)=>(e(),t(`svg`,Xe,[_(`path`,{d:n.filled?$:Q},null,8,Ze)]))}}),$e=T(Date.now()),et=0,tt;function nt(e=6e4){return et+=1,tt||=($e.value=Date.now(),setInterval(()=>{$e.value=Date.now()},e)),i(()=>{--et,!et&&tt&&(clearInterval(tt),tt=void 0)}),$e}var rt=6e4,it=60*rt,at=24*it;function ot(e,t,n=Date.now()){let r=e?Date.parse(e):NaN;if(Number.isNaN(r)||r>n)return null;let i=n-r,[a,o]=i<it?[`minute`,rt]:i<2*at?[`hour`,it]:[`day`,at];return new Intl.NumberFormat(t,{style:`unit`,unit:a,unitDisplay:`long`}).format(Math.max(1,Math.floor(i/o)))}var st=[[`second`,60],[`minute`,60],[`hour`,24],[`day`,30],[`month`,12],[`year`,1/0]];function ct(e,t,n=Date.now()){let r=e?Date.parse(e):NaN;if(Number.isNaN(r))return null;let i=Math.round((r-n)/1e3),a=new Intl.RelativeTimeFormat(t,{numeric:`auto`});for(let[e,t]of st){if(Math.abs(i)<t)return a.format(i,e);i=Math.round(i/t)}return null}function lt(e){if(!e)return null;let t=e.reason;switch(e.status){case`blocked`:return t?w(`agentRedesign.statusDetail.blocked`,{reason:t}):w(`agentRedesign.statusDetail.blockedUnrecorded`);case`awaiting_review`:return t?w(`agentRedesign.statusDetail.review`,{reason:t}):w(`agentRedesign.statusDetail.reviewUnrecorded`);case`paused`:return t?w(`agentRedesign.statusDetail.paused`,{reason:t}):w(`agentRedesign.statusDetail.pausedUnrecorded`);case`queued`:return w(`agentRedesign.statusDetail.queued`);case`awaiting_recruitment`:return w(`agentRedesign.statusDetail.recruitment`);case`unreported`:return w(e.source===`roster`?`agentRedesign.statusDetail.unreportedRoster`:`agentRedesign.statusDetail.unreportedTasks`);case`unavailable`:return w(`agentRedesign.statusDetail.unavailable`);default:return null}}var ut={class:`ui-card agent-card`},dt={class:`agent-card-topline`},ft=[`src`],pt={class:`agent-directory-name`},mt={key:0,class:`ui-badge fla-employee-number`},ht={key:1,class:`ui-badge ui-badge--accent agent-card-role`},gt=[`title`],_t=[`data-membership-status`],vt=[`data-work-status`,`aria-label`],yt={class:`agent-card-work-status-text`},bt=[`aria-label`,`aria-pressed`,`title`,`disabled`],xt={key:0,class:`agent-card-current`,"data-current-task":``},St={class:`agent-card-current-label`},Ct=[`title`],wt=[`title`],Tt=[`title`],Et=[`title`],Dt={key:2,class:`agent-inline-skills`},Ot={class:`agent-card-meta`},kt={class:`agent-card-projects`},At={key:0,class:`agent-card-project-list`},jt=[`title`],Mt={key:0,class:`ui-badge agent-card-project-count`},Nt={key:1,class:`ui-badge`},Pt={key:2,class:`agent-card-no-project`},Ft=2400,It=P(c({__name:`AgentCard`,props:{agent:{},spaceId:{},projectNames:{},managesAllProjects:{type:Boolean},entry:{},pinned:{type:Boolean},pinPending:{type:Boolean}},emits:[`toggle-pin`],setup(i,{emit:a}){let o=i,s=a,c=O(()=>L(o.agent)),l=Ce(Ft),u=O(()=>de(o.agent)),p=O(()=>u.value.slice(0,2).map(e=>o.projectNames?.[e]||e)),h=O(()=>Math.max(u.value.length-2,0)),x=O(()=>o.agent.profile.capabilities.slice(0,3)),S=O(()=>`is-${o.agent.profile.status}`),T=O(()=>w(`projectAgents.status.${o.agent.profile.status}`)),E=O(()=>o.entry?.status??`unreported`),ne=O(()=>o.entry?.title??w(`agentRedesign.workbench.titleNotLoaded`)),k=O(()=>ct(o.entry?.lastUpdateAt,ee())),re=nt(),ie=O(()=>E.value===`running`?ot(o.entry?.runningSince,ee(),re.value):null),ae=O(()=>({path:`/project-agents/manage`,query:{agent:o.agent.agentId,task:o.entry?.taskId??``}})),A=O(()=>lt(o.entry)),M=O(()=>B(o.agent.occupation)),P=O(()=>`is-${E.value}`),oe=O(()=>({coordinator:w(`agentProfiles.roles.projectManager`),hr:w(`agentProfiles.roles.hr`)})[o.agent.profile.agentType]??``);function ce(e,t,n){let r=w(e,n);return r===e?t:r}let le=O(()=>ce(`agentRedesign.membershipStatus`,`Member · ${T.value}`,{status:T.value})),F=O(()=>{let e={awaiting_recruitment:`Awaiting recruitment`,queued:`Queued`,running:`Running`,paused:`Paused`,awaiting_review:`Awaiting review`,blocked:`Blocked`,none:w(`agentProfiles.idle`),loading:`Loading work status`,unreported:`Partial status`,unavailable:`Unavailable`,ended:`Ended`}[E.value];return ce(`agentRedesign.workStatus.${E.value}`,e??`Work status unavailable`)}),fe=O(()=>o.pinPending?se(`saving`,`Saving Agent pin…`):o.pinned?se(`unpin`,`Unpin Agent`):se(`pin`,`Pin Agent`));function me(){s(`toggle-pin`,!o.pinned)}return(a,o)=>(e(),t(`article`,ut,[_(`div`,dt,[_(`span`,{class:y([`agent-portrait small agent-card-identity`,{"is-working":E.value===`running`}]),style:te([v(ue)(i.agent.agentId),{"--working-phase":v(l)}]),"aria-hidden":`true`,"data-card-portrait":``},[v(I)(i.agent.agentId)?(e(),t(`img`,{key:0,src:v(I)(i.agent.agentId),alt:``},null,8,ft)):(e(),t(g,{key:1},[f(C(i.agent.profile.occupationEmoji||c.value.slice(0,1)),1)],64))],6),_(`div`,pt,[n(v(j),{to:v(pe)(i.spaceId,i.agent.agentId),"aria-label":`${c.value} · ${v(w)(`agentProfiles.profile`)}`},{default:m(()=>[f(C(c.value),1)]),_:1},8,[`to`,`aria-label`]),i.agent.employeeNumber?(e(),t(`span`,mt,`FLA `+C(i.agent.employeeNumber),1)):d(``,!0),oe.value?(e(),t(`span`,ht,C(oe.value),1)):d(``,!0),M.value.length?(e(),t(`span`,{key:2,class:`agent-card-occupation`,"data-occupation":``,title:v(w)(`agentRedesign.occupation.title`)},C(M.value.join(` · `)),9,gt)):d(``,!0),n(be,{"agent-id":i.agent.agentId},null,8,[`agent-id`])]),i.agent.profile.status===`active`?d(``,!0):(e(),t(`span`,{key:0,class:y([`ui-badge agent-card-status agent-card-membership-status`,S.value]),"data-membership-status":i.agent.profile.status},C(le.value),11,_t)),E.value!==`ended`&&(i.agent.profile.status===`active`||![`none`,`loading`].includes(E.value))?(e(),t(`span`,{key:1,class:y([`agent-card-work-status`,P.value]),"data-work-status":E.value,"aria-label":`${v(w)(`agentRedesign.workStatus.label`)} · ${F.value}`},[_(`span`,yt,C(F.value),1)],10,vt)):d(``,!0),_(`button`,{class:`agent-card-pin quiet-button`,"data-agent-pin-toggle":``,type:`button`,"aria-label":`${fe.value} · ${c.value}`,"aria-pressed":!!i.pinned,title:fe.value,disabled:i.pinPending,onClick:b(me,[`stop`])},[i.pinPending?(e(),D(N,{key:0,variant:`inline`,label:fe.value},null,8,[`label`])):(e(),D(Qe,{key:1,filled:i.pinned},null,8,[`filled`]))],8,bt)]),i.entry?.taskId?(e(),t(`p`,xt,[_(`span`,St,C(v(w)(`agentRedesign.workbench.current`)),1),n(v(j),{class:y([`agent-card-current-task`,{"is-unloaded":!i.entry.title}]),to:ae.value},{default:m(()=>[f(C(ne.value),1)]),_:1},8,[`to`,`class`]),E.value===`running`?(e(),t(`span`,{key:0,class:`agent-card-last-update`,title:i.entry.runningSince??void 0,"data-running-since":``},C(ie.value?v(w)(`agentRedesign.workbench.runningFor`,{duration:ie.value}):v(w)(`agentRedesign.workbench.runningForUnknown`)),9,Ct)):(e(),t(`span`,{key:1,class:`agent-card-last-update`,title:i.entry.lastUpdateAt??void 0,"data-last-update":``},C(k.value?v(w)(`agentRedesign.workbench.lastUpdate`,{time:k.value}):v(w)(`agentRedesign.workbench.lastUpdateUnknown`)),9,wt))])):d(``,!0),A.value?(e(),t(`p`,{key:1,class:y([`agent-card-status-detail`,P.value]),title:A.value,"data-status-detail":``},C(A.value),11,Tt)):d(``,!0),_(`p`,{class:`agent-card-responsibility`,"data-agent-summary":``,title:v(w)(`agentRedesign.workbench.responsibility`)},C(i.agent.profile.responsibility),9,Et),x.value.length?(e(),t(`div`,Dt,[(e(!0),t(g,null,r(x.value,n=>(e(),t(`span`,{key:n},C(n),1))),128))])):d(``,!0),_(`div`,Ot,[_(`div`,kt,[p.value.length?(e(),t(`div`,At,[(e(!0),t(g,null,r(p.value,n=>(e(),t(`span`,{key:n,class:`ui-badge agent-card-project-badge`,title:n},C(n),9,jt))),128)),h.value?(e(),t(`span`,Mt,` +`+C(h.value),1)):d(``,!0)])):i.managesAllProjects?(e(),t(`span`,Nt,C(v(w)(`agentProfiles.allProjects`)),1)):(e(),t(`span`,Pt,C(v(w)(`agentProfiles.noProject`)),1))]),n(v(j),{class:`agent-directory-open`,to:v(pe)(i.spaceId,i.agent.agentId),"aria-label":`${c.value} · ${v(w)(`agentProfiles.profile`)}`},{default:m(()=>[f(C(v(w)(`agentProfiles.profile`))+` → `,1)]),_:1},8,[`to`,`aria-label`])])]))}}),[[`__scopeId`,`data-v-310201de`]]),Lt=new Map,Rt=()=>({agents:[],phase:`open`,cursor:null,complete:!1});function zt(e,t){let n=T([]),r=T(!1),i=T(``),o=T(!1),s=Rt(),c=``,l=0;function u(e){s=e,n.value=e.agents,o.value=e.complete}function d(){l+=1,c=`${e.value}\n${t.value}`,r.value=!1,i.value=``;let n=Lt.get(c);return u(n??Rt()),n?Promise.resolve():f()}async function f(){let n=e.value;if(!n||r.value||s.complete)return;let a=l,o=s,d=new URLSearchParams({personalSpaceId:n,limit:`50`});t.value!==`all`&&d.set(`status`,t.value),o.phase===`open`&&d.set(`work`,`open`),o.cursor&&d.set(`cursor`,o.cursor),r.value=!0,i.value=``;let p=!1;try{let e=await M(`/api/project-agent-pages?${d}`);if(a!==l)return;let t=me(e),r=typeof t.nextCursor==`string`&&t.nextCursor?t.nextCursor:null,i=t.complete===!0;if(!i&&!r)throw Error(w(`agentProfiles.pageBroken`));let s=new Set(o.agents.map(e=>e.agentId)),f=he(e,n).filter(e=>s.has(e.agentId)?!1:(s.add(e.agentId),!0)),m={agents:[...o.agents,...f],phase:i?`all`:o.phase,cursor:i?null:r,complete:i&&o.phase===`all`};Lt.set(c,m),u(m),p=o.phase===`open`&&i&&m.agents.length<50}catch(e){a===l&&(i.value=e instanceof Error?e.message:w(`agentProfiles.loadError`))}finally{a===l&&(r.value=!1)}p&&a===l&&await f()}function p(){return Lt.delete(c),d()}return a([e,t],d,{immediate:!0}),{agents:n,loading:r,error:i,complete:o,loadMore:f,reload:p}}var Bt={running:0,awaiting_review:1,blocked:2,paused:3,queued:4,awaiting_recruitment:5,loading:6,unreported:6,unavailable:6,none:7,ended:8},Vt=new Set([`blocked`,`awaiting_review`,`paused`]);function Ht(e){return W.includes(e)}function Ut(e,t){let n={};for(let r of U(e,t))n[r.taskId]={taskId:r.taskId,title:r.title,updatedAt:r.updatedAt??null,participantUpdatedAt:Object.fromEntries(r.participants.map(e=>[e.agentId,e.updatedAt??null])),summary:r.resultSummary?.trim()||null};return n}function Wt(e,t){return e?e.status:t===`loading`?`loading`:t===`error`?`unavailable`:t===`incomplete`?`unreported`:`none`}function Gt(e){return e===`idle`?`none`:e===`ended`?`ended`:Ht(e)?e:`unreported`}function Kt(e,t){let n=typeof e.workStatus==`string`,r=n?Gt(e.workStatus):Wt(t.summary,t.summaryState),i=Ht(r)?n?e.currentTaskId??null:t.summary?.taskId??null:null,a=i?t.tasks?.[i]:void 0,o=a?.title??(i&&t.summary?.taskId===i?t.summary.title:null),s=a?a.participantUpdatedAt[e.agentId]??a.updatedAt:null;return{status:r,source:n?`roster`:t.summary?`tasks`:`unknown`,taskId:i,title:o,lastUpdateAt:s,reason:Vt.has(r)?a?.summary??null:null,runningSince:n&&r===`running`?e.currentTaskRunningSince??null:null}}function qt(e){let t=e?Date.parse(e):NaN;return Number.isNaN(t)?null:t}function Jt(e,t){let n=Bt[e.entry.status]-Bt[t.entry.status];if(n)return n;let r=qt(e.entry.lastUpdateAt),i=qt(t.entry.lastUpdateAt);return r===i?e.name.localeCompare(t.name):r===null?1:i===null?-1:i-r}function Yt(e){let t=T({}),n=T({}),r=T(!1),i=T(``),o=T(`idle`),s=new Map,c=0;async function l(){let a=++c,l=e.value;if(i.value=``,!l){t.value={},n.value={},r.value=!1,o.value=`idle`;return}let u=s.get(l);u?(t.value=u.summaries,n.value=u.tasks):(Object.keys(t.value).length||Object.keys(n.value).length)&&(t.value={},n.value={}),r.value=!0,o.value=`loading`;try{let r=await M(`/api/project-agent-tasks?${new URLSearchParams({personalSpaceId:l,limit:`200`})}`);if(a!==c||e.value!==l)return;let i={summaries:H(r,l),tasks:Ut(r,l)};s.set(l,i),t.value=i.summaries,n.value=i.tasks,o.value=V(r)?`ready`:`incomplete`}catch(t){if(a!==c||e.value!==l)return;i.value=t instanceof Error?t.message:w(`agentProfiles.loadError`),o.value=`error`}finally{a===c&&e.value===l&&(r.value=!1)}}return a(e,l,{immediate:!0}),{summaries:t,tasks:n,loading:r,error:i,state:o,load:l}}function Xt(e,t,n){let r=T([]);a(n,()=>{r.value=[]}),a([e,t],([e,t])=>{t&&e.length&&!r.value.length&&(r.value=[...e])},{immediate:!0});let i=O(()=>{if(!r.value.length)return e.value;let t=new Map(r.value.map((e,t)=>[e,t]));return[...e.value.filter(e=>t.has(e)).sort((e,n)=>t.get(e)-t.get(n)),...e.value.filter(e=>!t.has(e))]});function o(){r.value=[...e.value]}return{order:i,apply:o}}var Zt=[`src`],Qt=P(c({__name:`EmployeeWorkbenchLinks`,props:{personalSpaceId:{}},setup(n){let i=n;a(()=>i.personalSpaceId,e=>{G(e===`current`?``:e)},{immediate:!0});let o=O(()=>ve.value.filter(e=>e.agentId&&e.agentStatus===`active`&&(e.runtime||e.workbench?.kind===`native`)));return(n,i)=>(e(!0),t(g,null,r(o.value,n=>(e(),D(v(j),{key:n.id,class:`ui-button employee-workbench-link`,to:`/employees/${encodeURIComponent(n.id)}`,title:v(w)(`agentProfiles.workbench`)},{default:m(()=>[v(I)(n.id)?(e(),t(`img`,{key:0,src:v(I)(n.id),alt:``,"aria-hidden":`true`},null,8,Zt)):d(``,!0),f(` `+C(n.name)+` · `+C(n.role),1)]),_:2},1032,[`to`,`title`]))),128))}}),[[`__scopeId`,`data-v-4906fde1`]]),$t=[`aria-label`],en={class:`ui-toolbar agents-directory-heading`},tn={key:0,class:`agents-directory-count`},nn={key:1,class:`agents-directory-count`,"aria-hidden":`true`},rn={class:`agent-profile-actions`},an={key:0,class:`agent-directory-pin-error`,role:`alert`},on={key:2,class:`agent-directory-work-error`,role:`status`},sn={class:`ui-toolbar agents-directory-filters`},cn={key:0,class:`agents-directory-search`},ln={class:`ui-sr-only`},un=[`placeholder`],dn={key:4,role:`alert`,class:`ui-card ui-empty agent-profile-empty`},fn={key:5,class:`agents-directory-partial`,role:`status`},pn={key:6,class:`ui-card ui-empty agent-profile-empty`},mn={key:7,class:`agents-directory-reorder`,role:`status`},hn={key:8,class:`agents-directory-grid`},gn={key:9,class:`agents-directory-projects`},_n={class:`agents-directory-grid`},vn={key:1,class:`agents-directory-more-error`,role:`alert`},yn=P(c({__name:`AgentsDirectoryPage`,setup(i){let o=re(),c=ae(),p=ie(),y=O(()=>o.activePersonalSpace?.id??``),b=oe(y),te=b.agentIds,ne=b.savingAgentId,A=b.error,j=O(()=>se(`retry`,`Retry`)),{summaries:M,tasks:P,loading:I,error:ue,state:me,load:he}=Yt(y),R=je(c.query),z=T(R.search),B=T(R.status),V=T(R.projects),H=T(R.view),{agents:U,loading:W,error:G,complete:K,loadMore:be,reload:Ce}=zt(y,B),we=O(()=>W.value&&!U.value.length),q=O(()=>!K.value&&U.value.length>0),Oe=O(()=>!!(z.value.trim()||V.value.length)),ke=T({}),J=T(null),Y=T(null),Ae=Ee(Y,J),Pe=T(!1),Ie=O(()=>ve.value.some(e=>!e.fixed)),Le=e=>ve.value.some(t=>t.agentId===e&&t.management?.mode===`all`),Re=O(()=>(o.state?.personalProjects??[]).filter(e=>e.personal_space_id===y.value)),X=O(()=>Re.value.filter(e=>_e(e))),ze=O(()=>new Map(X.value.map(e=>[e.project_id,e]))),Be=O(()=>X.value.map(e=>({value:e.project_id,label:e.profile.name}))),Ve=O(()=>Object.fromEntries(Re.value.map(e=>[e.project_id,ge(e)]))),He=O(()=>[{value:`all`,label:w(`agentProfiles.allStatus`)},...[`active`,`inactive`,`archived`].map(e=>({value:e,label:w(`projectAgents.status.${e}`)}))]),Ue=e=>(B.value===`all`||e.profile.status===B.value)&&(!V.value.length||de(e).some(e=>V.value.includes(e)))&&fe([L(e),e.employeeNumber?`FLA ${e.employeeNumber}`:``,e.profile.responsibility,...e.profile.capabilities,...de(e).map(e=>Ve.value[e]||e)].join(` `),z.value),Z=O(()=>we.value||I.value||o.runtimeStatus===`loading`),We=O(()=>Object.fromEntries(U.value.map(e=>[e.agentId,Kt(e,{summary:M.value[e.agentId],summaryState:me.value,tasks:P.value})]))),Ge=O(()=>new Map(U.value.map(e=>[e.agentId,e]))),Ke=O(()=>U.value.map(e=>({agent:e,entry:We.value[e.agentId],name:L(e)})).sort(Jt).map(e=>e.agent.agentId)),qe=Xt(Ke,O(()=>!Z.value),y),Je=e=>e.map(e=>Ge.value.get(e)).filter(e=>e&&Ue(e)),Xe=T(`recent`),Ze=O(()=>[{value:`recent`,label:w(`agentProfiles.sort.recent`)},{value:`name`,label:w(`agentProfiles.sort.name`)}]),Q=O(()=>{let e=Je(qe.order.value);return Xe.value===`name`?[...e].sort((e,t)=>L(e).localeCompare(L(t),ee())):e}),$=T(!1),Qe=T(null);async function $e(){$.value=!0,await l(),Qe.value?.focus()}let et=O(()=>[{value:`agents`,label:w(`agentRedesign.projectView.agents`)},{value:`projects`,label:w(`agentRedesign.projectView.projects`)}]),tt=O(()=>Fe(Q.value.map(e=>e.agentId),e=>de(Ge.value.get(e)),e=>We.value[e]?.status,X.value.map(e=>e.project_id),V.value,{includeEmpty:!z.value.trim()}).map(e=>({...e,key:e.projectId,name:Ve.value[e.projectId]||e.projectId,purpose:ze.value.get(e.projectId)?.profile.purpose??null,agents:e.agentIds.map(e=>Ge.value.get(e))}))),nt=e=>({agent:e,spaceId:y.value,projectNames:Ve.value,managesAllProjects:Le(e.agentId),entry:We.value[e.agentId],pinned:te.value.includes(e.agentId),pinPending:ne.value===e.agentId}),rt=O(()=>Je(Ke.value).some((e,t)=>e.agentId!==Q.value[t]?.agentId));async function it(e,t){await b.setPinned(e,t)}u(()=>{o.runtimeStatus===`idle`&&o.refresh()});let at=()=>({search:z.value,projects:V.value,status:B.value,view:H.value});a(()=>c.query,e=>{let t=je(e);z.value=t.search,V.value=t.projects,B.value=t.status,H.value=t.view}),a([z,B,V,H],()=>{Ne(je(c.query),at())||p.replace({query:Me(c.query,at())})},{deep:!0}),De(J,`agents-directory`,O(()=>Q.value.length>0)),a([y,()=>c.query.agent],([e,t])=>{if(e&&typeof t==`string`){let{agent:n,...r}=c.query;p.replace({path:typeof c.query.task==`string`?`/project-agents/manage`:pe(e,t),query:typeof c.query.task==`string`?c.query:r})}},{immediate:!0}),a(y,(e,t)=>{t&&(z.value=``,V.value=[],B.value=`all`,ke.value={})});async function ot(e){Pe.value=!1,await p.push(pe(y.value,e.agent.agentId))}a([Ae,W,G,K],()=>{Ae.value&&!W.value&&!G.value&&!K.value&&be()});async function st(){o.state||await o.refresh(),await Promise.allSettled([Ce(),he()])}function ct(e){o.rememberPersonalProject(e)}return(i,a)=>(e(),t(`section`,{ref_key:`scroller`,ref:J,class:`view agents-directory`,"aria-label":v(w)(`agentProfiles.title`)},[_(`header`,en,[!Z.value||v(U).length?(e(),t(`p`,tn,C(v(w)(q.value?`agentProfiles.membersLoaded`:`agentProfiles.members`,{count:v(U).length})),1)):(e(),t(`span`,nn,`\xA0`)),_(`div`,rn,[Z.value&&v(U).length?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentRedesign.refreshing`)},null,8,[`label`])):d(``,!0),n(Qt,{"personal-space-id":y.value||`current`},null,8,[`personal-space-id`]),Ie.value?(e(),D(k,{key:1,size:`sm`,variant:`primary`,disabled:!y.value,onClick:a[0]||=e=>Pe.value=!0},{default:m(()=>[f(C(v(w)(`employees.recruit`)),1)]),_:1},8,[`disabled`])):d(``,!0)])]),v(A)?(e(),t(`p`,an,[_(`span`,null,C(v(A)),1),n(k,{size:`sm`,variant:`ghost`,onClick:a[1]||=e=>v(b).load({force:!0})},{default:m(()=>[f(C(j.value),1)]),_:1})])):d(``,!0),!Z.value&&!v(G)&&v(o).runtimeStatus===`ready`&&!X.value.length?(e(),D(Se,{key:1,"personal-space-id":y.value},null,8,[`personal-space-id`])):d(``,!0),v(ue)?(e(),t(`p`,on,[_(`span`,null,C(v(w)(`agentRedesign.workStatus.refreshError`)),1),n(k,{size:`sm`,variant:`ghost`,onClick:v(he)},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1},8,[`onClick`])])):d(``,!0),_(`div`,sn,[n(F,{modelValue:V.value,"onUpdate:modelValue":a[2]||=e=>V.value=e,class:`agents-directory-select`,multiple:``,options:Be.value,label:v(w)(`employees.filterLabel`),placeholder:v(w)(`employees.allProjectsFilter`)},null,8,[`modelValue`,`options`,`label`,`placeholder`]),n(F,{modelValue:B.value,"onUpdate:modelValue":a[3]||=e=>B.value=e,class:`agents-directory-select`,options:He.value,label:v(w)(`projectAgents.fields.status`)},null,8,[`modelValue`,`options`,`label`]),n(F,{modelValue:Xe.value,"onUpdate:modelValue":a[4]||=e=>Xe.value=e,class:`agents-directory-select`,"data-directory-sort":``,options:Ze.value,label:v(w)(`agentProfiles.sort.label`)},null,8,[`modelValue`,`options`,`label`]),n(le,{modelValue:H.value,"onUpdate:modelValue":a[5]||=e=>H.value=e,class:`agents-directory-view`,"data-directory-view":``,options:et.value,label:v(w)(`agentRedesign.projectView.label`)},null,8,[`modelValue`,`options`,`label`]),$.value||z.value?(e(),t(`label`,cn,[_(`span`,ln,C(v(w)(`agentProfiles.search`)),1),h(_(`input`,{ref_key:`searchInput`,ref:Qe,"onUpdate:modelValue":a[6]||=e=>z.value=e,type:`search`,maxlength:`160`,placeholder:v(w)(`agentProfiles.search`),onFocus:a[7]||=e=>$.value=!0,onBlur:a[8]||=e=>$.value=!1,onKeydown:a[9]||=x(e=>{z.value=``,$.value=!1},[`esc`])},null,40,un),[[E,z.value]])])):(e(),D(ce,{key:1,icon:`search`,label:v(w)(`agentProfiles.search`),"data-directory-search":``,onClick:$e},null,8,[`label`]))]),Z.value&&!v(U).length?(e(),D(N,{key:3,label:v(w)(`agentProfiles.loading`)},null,8,[`label`])):d(``,!0),v(G)&&!v(U).length||v(o).runtimeStatus===`error`?h((e(),t(`div`,dn,[_(`p`,null,C(!v(U).length&&v(G)||v(w)(`agentProfiles.loadError`)),1),n(k,{size:`sm`,variant:`ghost`,onClick:st},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1})],512)),[[S,!Z.value||v(U).length===0]]):d(``,!0),q.value?(e(),t(`p`,fn,C(v(w)(Oe.value?`agentProfiles.partialFilter`:`agentProfiles.partialRoster`,{count:v(U).length})),1)):d(``,!0),!Z.value&&v(K)&&!Q.value.length&&H.value===`agents`&&!v(G)&&v(o).runtimeStatus!==`error`?(e(),t(`p`,pn,C(v(w)(v(U).length?`agentProfiles.noMatch`:`agentProfiles.noAgents`)),1)):d(``,!0),rt.value&&!Z.value?(e(),t(`p`,mn,[_(`span`,null,C(v(w)(`agentRedesign.workbench.reorderHint`)),1),n(k,{size:`sm`,variant:`ghost`,"data-workbench-reorder":``,onClick:a[10]||=e=>v(qe).apply()},{default:m(()=>[f(C(v(w)(`agentRedesign.workbench.reorder`)),1)]),_:1})])):d(``,!0),Q.value.length&&H.value===`agents`?(e(),t(`ul`,hn,[(e(!0),t(g,null,r(Q.value,r=>(e(),t(`li`,{key:r.agentId},[n(It,s({ref_for:!0},nt(r),{onTogglePin:e=>it(r.agentId,e)}),null,16,[`onTogglePin`])]))),128))])):H.value===`projects`?(e(),t(`div`,gn,[n(ye,{"space-id":y.value,"formal-projects":X.value,"existing-project-ids":Re.value.map(e=>e.project_id),onProjectCreated:ct},null,8,[`space-id`,`formal-projects`,`existing-project-ids`]),(e(!0),t(g,null,r(tt.value,i=>(e(),D(Ye,{key:i.key,expanded:ke.value[i.key],"onUpdate:expanded":e=>ke.value[i.key]=e,"space-id":y.value,"project-id":i.projectId,name:i.name,purpose:i.purpose,agents:i.agents,count:i.agents.length,"running-count":i.runningCount,"unknown-count":i.unknownCount},{default:m(()=>[_(`ul`,_n,[(e(!0),t(g,null,r(i.agents,r=>(e(),t(`li`,{key:r.agentId},[n(It,s({ref_for:!0},nt(r),{onTogglePin:e=>it(r.agentId,e)}),null,16,[`onTogglePin`])]))),128))])]),_:2},1032,[`expanded`,`onUpdate:expanded`,`space-id`,`project-id`,`name`,`purpose`,`agents`,`count`,`running-count`,`unknown-count`]))),128))])):d(``,!0),v(U).length&&!v(K)?(e(),t(`div`,{key:10,ref_key:`rosterEnd`,ref:Y,class:`agents-directory-more`},[v(W)?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentProfiles.loadingMore`)},null,8,[`label`])):v(G)?(e(),t(`p`,vn,[_(`span`,null,C(v(w)(`agentProfiles.loadMoreError`))+` `+C(v(G)),1),n(k,{size:`sm`,variant:`ghost`,"data-roster-retry":``,onClick:v(be)},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1},8,[`onClick`])])):(e(),D(k,{key:2,size:`sm`,variant:`ghost`,"data-roster-more":``,onClick:v(be)},{default:m(()=>[f(C(v(w)(`agentProfiles.loadMore`)),1)]),_:1},8,[`onClick`]))],512)):d(``,!0),n(Te,{scroller:J.value},null,8,[`scroller`]),n(xe,{open:Pe.value,"personal-space-id":y.value,projects:X.value,"default-project-ids":V.value??[],onClose:a[11]||=e=>Pe.value=!1,onRecruited:ot},null,8,[`open`,`personal-space-id`,`projects`,`default-project-ids`])],8,$t))}}),[[`__scopeId`,`data-v-59b90cb4`]]);export{yn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,E as n,H as r,I as i,J as a,O as ee,R as te,S as o,T as s,X as c,_ as l,b as u,dt as d,g as ne,it as re,mt as f,n as ie,o as p,ot as m,x as h,y as g}from"./i18n-DYrQWclR.js";import{n as _,t as ae}from"./console-Dl-Zf-vm.js";import{a as v,i as oe,n as se,r as y,s as b}from"./client-CRiPFGQo.js";import{t as x}from"./UiSelect-iDXgMBmg.js";import{t as S}from"./UiDisclosure-BkmYnV5V.js";import{t as C}from"./TextField-DnkSv9Ye.js";import{r as ce,t as le}from"./identity-B3k8Qjz8.js";var 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={key:0,class:`external-binding-editor`},Ae={class:`external-target-mode-list`},je={class:`external-binding-editor-actions`},Me={key:0,class:`compact-empty`},Ne={class:`wide-field`},Pe={class:`trusted-code-badge`},Fe={class:`section-title section-title-with-help`},Ie=[`href`,`aria-label`,`title`],Le={class:`conflict-policy-controls`},Re={key:2,role:`alert`},ze={key:1,class:`connection-subscriptions`},Be={class:`section-title`},Ve={class:`subscription-list`},He={key:0,class:`empty-state`},w=ee({__name:`ConnectionsPage`,setup(ee){let w=ae(),T=m(``),E=m(!1),D=m(``),O=m([]),k=m([]),A=m(!1),j=m(!1),M=m(``),N=m(null),P=m([]),F=m({}),I=m(``),L=m(`ask_human`),R=m(!1),z=m(!1),B=m(!1),V=`ask_human`,H=0,U=null,W=re({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:`{}`}),Ue=g(()=>w.state?.providers?.personal?.status===`ready`),We=g(()=>w.state?.providers?.workspaces??[]),Ge=g(()=>We.value.filter(({status:e})=>e===`ready`).length),Ke=g(()=>{let e=w.state?.capabilities,t=[e?.browsePublicProjects?p(`pages.connections.publicCapability.discovery`):null,e?.subscribeProject?p(`pages.connections.publicCapability.subscription`):null,e?.publishProject?p(`pages.connections.publicCapability.publishing`):null,e?.submitKnowledge?p(`pages.connections.publicCapability.contribution`):null,e?.reviewProposals?p(`pages.connections.publicCapability.review`):null].filter(e=>!!e);return t.length?new Intl.ListFormat(ie(),{style:`long`,type:`conjunction`}).format(t):p(`pages.connections.notAvailable`)}),G=g(()=>w.state?.subscriptions??[]),K=g(()=>w.state?.personalProjects??[]),qe=g(()=>Dt(`connect-external-knowledge`)),Je=g(()=>Dt(`external-knowledge-conflict-policy`)),Ye=g(()=>new Set(G.value.map(({provider_url:e,project_id:t})=>`${e}::${t}`))),Xe=g(()=>(w.state?.projects??[]).filter(e=>!Ye.value.has(rt(e)))),Ze=g(()=>Xe.value.map(e=>({value:rt(e),label:e.name,meta:`#${le(e.id,26)}`,search:ce(e.id)}))),Qe=g(()=>O.value.map(e=>({value:e.type,label:e.name,meta:e.description}))),q=g(()=>K.value.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${le(e.project_id,26)}`,search:ce(e.project_id)}))),$e=g(()=>[{value:`hybrid`,label:p(`pages.connections.mode.hybrid`),disabled:!Y(W.connectorType,`hybrid`)},{value:`mirror`,label:p(`pages.connections.mode.mirror`),disabled:!Y(W.connectorType,`mirror`)},{value:`live`,label:p(`pages.connections.mode.live`),disabled:!Y(W.connectorType,`live`)}]),et=g(()=>[{value:`http`,label:`Streamable HTTP`},{value:`stdio`,label:`stdio`}]),tt=g(()=>[{value:`cn`,label:`Feishu`},{value:`global`,label:`Lark`}]),nt=g(()=>[{value:`ask_human`,label:p(`pages.connections.askHuman`)},{value:`agent_decide`,label:p(`pages.connections.agentDecide`)}]);a(K,e=>{let t=new Set(e.map(({project_id:e})=>e)),n=e[0]?.project_id??``;W.personalProjectIds=W.personalProjectIds.filter(e=>t.has(e)),!W.personalProjectIds.length&&n&&(W.personalProjectIds=[n]),P.value=P.value.filter(e=>t.has(e)),t.has(I.value)||(I.value=n)},{immediate:!0}),a(()=>[w.activePersonalSpace?.id,I.value],()=>void _t(),{immediate:!0,flush:`sync`}),a(()=>W.connectorType,e=>{Y(e,W.mode)||(W.mode=bt(e))}),te(()=>void J()),i(()=>{H+=1,U?.abort()});function rt(e){return`${e.providerUrl}::${e.id}`}async function it(){let e=w.activePersonalSpace?.id,t=Xe.value.find(e=>rt(e)===T.value);if(!(!e||!t||E.value)){E.value=!0,D.value=`pages.connections.subscribing`;try{await v(`/api/subscriptions`,{personalSpaceId:e,projectId:t.id,providerUrl:t.providerUrl,projectName:t.name}),T.value=``,w.notify(p(`pages.connections.subscribed`,{name:t.name})),D.value=`pages.connections.loadingSubscriptions`,await w.refresh()}catch(e){w.reportError(e)}finally{E.value=!1}}}async function at(e){let t=w.activePersonalSpace?.id;if(!(!t||E.value)){E.value=!0,D.value=`pages.connections.unsubscribing`;try{let n=new URLSearchParams({personalSpaceId:t,providerUrl:e.provider_url});await se(`/api/subscriptions/${encodeURIComponent(e.project_id)}?${n}`),w.notify(p(`pages.connections.unsubscribed`,{name:e.project_name??e.project_id})),D.value=`pages.connections.loadingSubscriptions`,await w.refresh()}catch(e){w.reportError(e)}finally{E.value=!1}}}async function J(){j.value=!0;try{let[e,t]=await Promise.all([y(`/api/external-knowledge/connectors`),y(`/api/external-knowledge/bindings`)]);O.value=e,k.value=t}catch(e){w.reportError(e)}finally{j.value=!1}}async function ot(){let e=w.activePersonalSpace?.id;if(!(!e||!W.personalProjectIds.length||A.value)){A.value=!0,M.value=`pages.connections.creatingBinding`;try{let{connectorConfig:t,source:n}=st();await v(`/api/external-knowledge/bindings`,{name:W.name.trim(),connectorType:W.connectorType,connectorConfig:t,source:n,targets:W.personalProjectIds.map(t=>({personalSpaceId:e,personalProjectId:t,mode:W.mode}))}),w.notify(p(`pages.connections.externalCreated`,{name:W.name.trim()})),W.name=``,await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}function st(){if(W.connectorType===`notion`)return{connectorConfig:{tokenEnv:$(W.notionTokenEnv,`Notion token env`)},source:{pageIds:Z(W.notionPageIds),dataSourceIds:Z(W.notionDataSourceIds)}};if(W.connectorType===`feishu`)return{connectorConfig:{accessTokenEnv:$(W.feishuTokenEnv,`Feishu token env`),region:W.feishuRegion},source:Q({spaceId:W.feishuSpaceId.trim(),rootNodeToken:W.feishuRootNodeToken.trim(),nodeTokens:Z(W.feishuNodeTokens),webBaseUrl:W.feishuWebBaseUrl.trim()})};if(W.connectorType===`retrieval_api`){let e=Number(W.retrievalScoreThreshold);if(!Number.isFinite(e)||e<0||e>1)throw TypeError(p(`pages.connections.scoreThresholdInvalid`));return{connectorConfig:Q({url:$(W.retrievalUrl,`Retrieval API URL`),tokenEnv:W.retrievalTokenEnv.trim(),scoreThreshold:e}),source:{knowledgeIds:Et(W.retrievalKnowledgeIds,`Knowledge IDs`)}}}if(W.connectorType===`custom`){let e=JSON.parse(W.customSourceJson);if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(p(`pages.connections.customSourceObject`));return{connectorConfig:{module:$(W.customModule,`Custom connector module`),environmentNames:Z(W.customEnvironmentNames)},source:e}}return{connectorConfig:W.mcpTransport===`stdio`?Q({transport:`stdio`,command:W.mcpCommand.trim(),args:Z(W.mcpArgs)}):Q({transport:`http`,url:$(W.mcpUrl,`MCP URL`),tokenEnv:W.mcpTokenEnv.trim()}),source:Q({resourceUriPrefix:W.mcpResourcePrefix.trim()})}}async function ct(e){await ut(e,`check`)}async function lt(e){await ut(e,`sync`)}async function ut(e,t){if(!A.value){A.value=!0,M.value=t===`sync`?`pages.connections.syncingBinding`:`pages.connections.checkingBinding`;try{let n=await v(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}/${t}`,{});w.notify(p(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){w.reportError(e)}finally{A.value=!1}}}async function dt(e){if(!A.value){A.value=!0,M.value=`pages.connections.disconnectingBinding`;try{await se(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}`),w.notify(p(`pages.connections.externalDeleted`,{name:e.name})),await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}function ft(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 pt(){N.value=null,P.value=[],F.value={}}function mt(e){let t=k.value.find(({id:e})=>e===N.value);if(!t)return;let n=F.value,r=bt(t.connectorType);F.value=Object.fromEntries(e.map(e=>[e,n[e]??t.mode??r]))}function ht(e,t){F.value={...F.value,[e]:t}}async function gt(e){let t=w.activePersonalSpace?.id;if(!(!t||!P.value.length||A.value)){A.value=!0,M.value=`pages.connections.savingBindingTargets`;try{await oe(`/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}))}),w.notify(p(`pages.connections.projectsUpdated`,{name:e.name})),pt(),await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}async function _t(){let e=++H;if(U?.abort(),U=null,L.value=`ask_human`,B.value=!1,z.value=!1,!w.activePersonalSpace?.id||!I.value)return;let t=new AbortController;U=t,z.value=!0;try{let n=await y(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{signal:t.signal});if(e!==H)return;L.value=n.mode,V=n.mode}catch{if(e!==H)return;B.value=!0}finally{e===H&&(z.value=!1,U=null)}}async function vt(){let e=w.activePersonalSpace?.id;if(!e||!I.value||R.value||z.value||B.value)return;let t=H;R.value=!0;try{let n=await oe(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{personalSpaceId:e,personalProjectId:I.value,mode:L.value});if(t!==H)return;L.value=n.mode,V=n.mode,w.notify(p(`pages.connections.conflictSaved`))}catch(e){if(t!==H)return;L.value=V,w.reportError(e)}finally{R.value=!1}}function yt(e){return O.value.find(t=>t.type===e)?.name??e}function Y(e,t){let n=O.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 bt(e){return[`hybrid`,`mirror`,`live`].find(t=>Y(e,t))??`live`}function xt(e){return[`hybrid`,`mirror`,`live`].map(t=>({value:t,label:p(`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 St(e){return X(e).some(({mode:e})=>e!==`live`)}function Ct(e){return K.value.find(({project_id:t})=>t===e)?.profile.name??e}function wt(e){return X(e).find(({sync:e})=>e?.error)?.sync?.error??e.sync?.error}function Tt(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 Et(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 Dt(e){return`https://github.com/JevonsCode/fuli/blob/main/${ie()===`zh-CN`?`README.zh-CN.md`:`README.md`}#${e}`}return(i,a)=>(e(),t(`section`,ue,[u(`div`,{class:`service-connection-grid`,"aria-label":d(p)(`pages.connections.statusAria`)},[u(`article`,{class:`service-connection-card`,"data-status":Ue.value?`ready`:`error`},[u(`header`,null,[a[30]||=u(`span`,{class:`service-connection-icon local`,"aria-hidden":`true`},[u(`span`,{class:`nav-icon nav-icon-personal-project`})],-1),u(`div`,null,[u(`h3`,null,f(d(p)(`pages.connections.localGraphiti`)),1)]),u(`span`,pe,f(Ue.value?d(p)(`common.status.connected`):d(p)(`common.status.connectionError`)),1)]),n(S,{title:d(p)(`ui.connectionDetails`)},{default:c(()=>[u(`dl`,null,[u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.storage`)),1),a[31]||=u(`dd`,null,`Neo4j`,-1)]),u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.purpose`)),1),u(`dd`,null,f(d(p)(`pages.connections.localPurpose`)),1)])])]),_:1},8,[`title`])],8,fe),u(`article`,{class:`service-connection-card`,"data-status":d(w).publicRuntimeStatus},[u(`header`,null,[a[33]||=u(`span`,{class:`service-connection-icon public`,"aria-hidden":`true`},[u(`span`,{class:`nav-icon nav-icon-public-project`})],-1),u(`div`,he,[u(`h3`,null,f(d(p)(`pages.connections.publicService`)),1),a[32]||=u(`span`,{class:`feature-badge beta`},`BETA`,-1)]),u(`span`,ge,f(d(w).publicRuntimeStatus===`ready`?d(p)(`common.status.connected`):d(w).publicRuntimeStatus===`error`?d(p)(`common.status.connectionError`):d(p)(`common.status.notConnected`)),1)]),u(`dl`,null,[u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.currentStatus`)),1),u(`dd`,null,f(d(w).publicRuntimeStatus===`ready`?d(p)(`pages.connections.sharedServicesReady`,{count:Ge.value||We.value.length}):d(p)(`pages.connections.notAvailable`)),1)]),u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.purpose`)),1),u(`dd`,null,f(Ke.value),1)])])],8,me)],8,de),u(`section`,_e,[u(`div`,ve,[u(`h3`,null,f(d(p)(`pages.connections.externalTitle`)),1),u(`a`,{class:`section-help-link`,"data-testid":`external-knowledge-help`,href:qe.value,"aria-label":d(p)(`pages.connections.externalHelp`),title:d(p)(`pages.connections.externalHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,ye),u(`span`,be,f(d(p)(`pages.connections.bindingCount`,{count:k.value.length})),1)]),j.value||A.value?(e(),h(b,{key:0,variant:`compact`,label:d(p)(j.value?`pages.connections.loadingBindings`:M.value)},null,8,[`label`])):o(``,!0),u(`div`,xe,[(e(!0),t(l,null,r(k.value,i=>(e(),t(`article`,{key:i.id,class:`external-binding-row`,"data-status":i.status},[a[34]||=u(`i`,{"aria-hidden":`true`},null,-1),u(`div`,Ce,[u(`strong`,null,f(i.name),1),u(`span`,null,f(yt(i.connectorType)),1),u(`div`,we,[u(`b`,null,f(d(p)(`pages.connections.boundTo`)),1),(e(!0),t(l,null,r(X(i),n=>(e(),t(`span`,{key:n.id,class:`external-binding-target-chip`,"data-status":n.status},f(Ct(n.personalProjectId))+` · `+f(d(p)(`pages.connections.mode.${n.mode}`)),9,Te))),128))]),wt(i)?(e(),t(`small`,Ee,f(wt(i)),1)):Tt(i)?(e(),t(`small`,De,f(d(p)(`pages.connections.credentialsSkipped`,{count:Tt(i)})),1)):o(``,!0)]),u(`div`,Oe,[n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:e=>ct(i)},{default:c(()=>[s(f(d(p)(`pages.connections.check`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`ghost`,class:`external-sync-action`,disabled:A.value||!St(i),onClick:e=>lt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.sync`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:e=>ft(i)},{default:c(()=>[s(f(d(p)(`pages.connections.manageProjects`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`danger`,disabled:A.value,onClick:e=>dt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.disconnect`)),1)]),_:1},8,[`disabled`,`onClick`])]),N.value===i.id?(e(),t(`div`,ke,[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProjects`)),1),n(x,{multiple:``,modelValue:P.value,"onUpdate:modelValue":a[0]||=e=>P.value=e,"control-id":`external-projects-${i.id}`,label:d(p)(`pages.connections.targetProjects`),options:q.value,disabled:A.value,required:``,searchable:``,onChange:mt},null,8,[`modelValue`,`control-id`,`label`,`options`,`disabled`])]),u(`div`,Ae,[(e(!0),t(l,null,r(P.value,r=>(e(),t(`div`,{key:r,class:`external-target-mode-row`},[u(`span`,null,f(Ct(r)),1),n(x,{"model-value":F.value[r]??i.mode,"control-id":`external-target-mode-${i.id}-${r}`,label:d(p)(`pages.connections.bindingMode`),options:xt(i.connectorType),disabled:A.value,"onUpdate:modelValue":e=>ht(r,e)},null,8,[`model-value`,`control-id`,`label`,`options`,`disabled`,`onUpdate:modelValue`])]))),128))]),u(`div`,je,[n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:pt},{default:c(()=>[s(f(d(p)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),n(_,{size:`sm`,variant:`primary`,disabled:A.value||!P.value.length,onClick:e=>gt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.saveProjects`)),1)]),_:1},8,[`disabled`,`onClick`])])])):o(``,!0)],8,Se))),128)),!j.value&&!k.value.length?(e(),t(`div`,Me,f(d(p)(`pages.connections.noExternalBindings`)),1)):o(``,!0)]),n(S,{title:d(p)(`pages.connections.connect`),open:!k.value.length},{default:c(()=>[u(`form`,{class:`external-binding-form`,onSubmit:ne(ot,[`prevent`])},[n(C,{modelValue:W.name,"onUpdate:modelValue":a[1]||=e=>W.name=e,label:d(p)(`pages.connections.bindingName`),"data-testid":`external-name`,required:``},null,8,[`modelValue`,`label`]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.connector`)),1),n(x,{modelValue:W.connectorType,"onUpdate:modelValue":a[2]||=e=>W.connectorType=e,"control-id":`external-connector`,label:d(p)(`pages.connections.connector`),options:Qe.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProjects`)),1),n(x,{multiple:``,modelValue:W.personalProjectIds,"onUpdate:modelValue":a[3]||=e=>W.personalProjectIds=e,"control-id":`external-projects`,label:d(p)(`pages.connections.targetProjects`),options:q.value,disabled:A.value,required:``,searchable:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.bindingMode`)),1),n(x,{modelValue:W.mode,"onUpdate:modelValue":a[4]||=e=>W.mode=e,"control-id":`external-binding-mode`,label:d(p)(`pages.connections.bindingMode`),options:$e.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),W.connectorType===`mcp`?(e(),t(l,{key:0},[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.transport`)),1),n(x,{modelValue:W.mcpTransport,"onUpdate:modelValue":a[5]||=e=>W.mcpTransport=e,"control-id":`external-mcp-transport`,label:d(p)(`pages.connections.transport`),options:et.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),W.mcpTransport===`http`?(e(),h(C,{key:0,modelValue:W.mcpUrl,"onUpdate:modelValue":a[6]||=e=>W.mcpUrl=e,label:`MCP URL`,"data-testid":`mcp-url`,type:`url`,required:``},null,8,[`modelValue`])):(e(),h(C,{key:1,modelValue:W.mcpCommand,"onUpdate:modelValue":a[7]||=e=>W.mcpCommand=e,label:d(p)(`pages.connections.command`),required:``},null,8,[`modelValue`,`label`])),W.mcpTransport===`stdio`?(e(),h(C,{key:2,modelValue:W.mcpArgs,"onUpdate:modelValue":a[8]||=e=>W.mcpArgs=e,label:d(p)(`pages.connections.arguments`)},null,8,[`modelValue`,`label`])):(e(),h(C,{key:3,modelValue:W.mcpTokenEnv,"onUpdate:modelValue":a[9]||=e=>W.mcpTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),"data-testid":`mcp-token-env`},null,8,[`modelValue`,`label`])),n(C,{modelValue:W.mcpResourcePrefix,"onUpdate:modelValue":a[10]||=e=>W.mcpResourcePrefix=e,label:d(p)(`pages.connections.resourcePrefix`),"data-testid":`mcp-resource-prefix`},null,8,[`modelValue`,`label`])],64)):W.connectorType===`notion`?(e(),t(l,{key:1},[n(C,{modelValue:W.notionTokenEnv,"onUpdate:modelValue":a[11]||=e=>W.notionTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.notionPageIds,"onUpdate:modelValue":a[12]||=e=>W.notionPageIds=e,label:`Page IDs`},null,8,[`modelValue`]),n(C,{modelValue:W.notionDataSourceIds,"onUpdate:modelValue":a[13]||=e=>W.notionDataSourceIds=e,label:`Data Source IDs`},null,8,[`modelValue`])],64)):W.connectorType===`feishu`?(e(),t(l,{key:2},[n(C,{modelValue:W.feishuTokenEnv,"onUpdate:modelValue":a[14]||=e=>W.feishuTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.region`)),1),n(x,{modelValue:W.feishuRegion,"onUpdate:modelValue":a[15]||=e=>W.feishuRegion=e,"control-id":`external-feishu-region`,label:d(p)(`pages.connections.region`),options:tt.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),n(C,{modelValue:W.feishuSpaceId,"onUpdate:modelValue":a[16]||=e=>W.feishuSpaceId=e,label:`Space ID`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuRootNodeToken,"onUpdate:modelValue":a[17]||=e=>W.feishuRootNodeToken=e,label:`Root Node Token`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuNodeTokens,"onUpdate:modelValue":a[18]||=e=>W.feishuNodeTokens=e,label:`Node Tokens`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuWebBaseUrl,"onUpdate:modelValue":a[19]||=e=>W.feishuWebBaseUrl=e,label:`Web URL`,type:`url`},null,8,[`modelValue`])],64)):W.connectorType===`retrieval_api`?(e(),t(l,{key:3},[n(C,{modelValue:W.retrievalUrl,"onUpdate:modelValue":a[20]||=e=>W.retrievalUrl=e,label:d(p)(`pages.connections.retrievalUrl`),type:`url`,required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalTokenEnv,"onUpdate:modelValue":a[21]||=e=>W.retrievalTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`)},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalKnowledgeIds,"onUpdate:modelValue":a[22]||=e=>W.retrievalKnowledgeIds=e,label:d(p)(`pages.connections.knowledgeIds`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalScoreThreshold,"onUpdate:modelValue":a[23]||=e=>W.retrievalScoreThreshold=e,label:d(p)(`pages.connections.scoreThreshold`),inputmode:`decimal`,required:``},null,8,[`modelValue`,`label`])],64)):(e(),t(l,{key:4},[n(C,{modelValue:W.customModule,"onUpdate:modelValue":a[24]||=e=>W.customModule=e,label:d(p)(`pages.connections.module`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.customEnvironmentNames,"onUpdate:modelValue":a[25]||=e=>W.customEnvironmentNames=e,label:d(p)(`pages.connections.environmentNames`)},null,8,[`modelValue`,`label`]),u(`div`,Ne,[n(C,{modelValue:W.customSourceJson,"onUpdate:modelValue":a[26]||=e=>W.customSourceJson=e,label:d(p)(`pages.connections.sourceJson`),multiline:``,required:``},null,8,[`modelValue`,`label`])]),u(`span`,Pe,f(d(p)(`pages.connections.trustedCode`)),1)],64)),n(_,{variant:`primary`,class:`external-create-action`,type:`submit`,disabled:A.value||!K.value.length||!W.personalProjectIds.length},{default:c(()=>[a[35]||=u(`span`,{class:`external-create-action-icon`,"aria-hidden":`true`},null,-1),u(`span`,null,f(d(p)(`pages.connections.connect`)),1)]),_:1},8,[`disabled`])],32)]),_:1},8,[`title`,`open`])]),K.value.length?(e(),h(S,{key:0,class:`conflict-policy-section`,open:B.value,title:d(p)(`pages.connections.conflictTitle`)},{default:c(()=>[u(`div`,Fe,[u(`a`,{class:`section-help-link`,"data-testid":`conflict-policy-help`,href:Je.value,"aria-label":d(p)(`pages.connections.conflictHelp`),title:d(p)(`pages.connections.conflictHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,Ie)]),u(`div`,Le,[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProject`)),1),n(x,{modelValue:I.value,"onUpdate:modelValue":a[27]||=e=>I.value=e,"control-id":`external-conflict-project`,label:d(p)(`pages.connections.targetProject`),options:q.value,disabled:R.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.conflictAction`)),1),n(x,{modelValue:L.value,"onUpdate:modelValue":a[28]||=e=>L.value=e,"control-id":`external-conflict-mode`,label:d(p)(`pages.connections.conflictAction`),options:nt.value,disabled:R.value||z.value||B.value||!I.value,required:``,onChange:vt},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),z.value?(e(),h(b,{key:0,variant:`compact`,label:d(p)(`pages.connections.loadingConflictPolicy`)},null,8,[`label`])):o(``,!0),R.value?(e(),h(b,{key:1,variant:`inline`,label:d(p)(`pages.connections.savingConflictPolicy`)},null,8,[`label`])):B.value?(e(),t(`div`,Re,[u(`p`,null,f(d(p)(`common.errors.loadFailed`)),1),n(_,{size:`sm`,onClick:_t},{default:c(()=>[s(f(d(p)(`common.actions.retry`)),1)]),_:1})])):o(``,!0)]),_:1},8,[`open`,`title`])):o(``,!0),d(w).state?.capabilities?.subscribeProject?(e(),t(`section`,ze,[u(`div`,Be,[u(`h3`,null,[s(f(d(p)(`pages.connections.subscriptionsTitle`))+` `,1),a[36]||=u(`span`,{class:`feature-badge beta`},`BETA`,-1)])]),E.value?(e(),h(b,{key:0,variant:`inline`,label:d(p)(D.value)},null,8,[`label`])):o(``,!0),u(`div`,Ve,[(e(!0),t(l,null,r(G.value,r=>(e(),t(`div`,{key:`${r.provider_url}:${r.project_id}`,class:`subscription-row`},[a[37]||=u(`span`,null,`↗`,-1),u(`div`,null,[u(`strong`,null,f(r.project_name??r.project_id),1),u(`span`,null,f(d(p)(`pages.connections.sharedProject`)),1)]),n(_,{size:`sm`,class:`subscription-action`,disabled:E.value,onClick:e=>at(r)},{default:c(()=>[s(f(d(p)(`pages.connections.unsubscribe`)),1)]),_:1},8,[`disabled`,`onClick`])]))),128)),G.value.length?o(``,!0):(e(),t(`div`,He,f(d(p)(`pages.connections.noSubscriptions`)),1))]),u(`form`,{class:`subscription-form`,onSubmit:ne(it,[`prevent`])},[n(x,{modelValue:T.value,"onUpdate:modelValue":a[29]||=e=>T.value=e,options:Ze.value,label:d(p)(`pages.connections.sharedProjectLabel`),placeholder:d(p)(`pages.connections.choosePublicProject`),searchable:``,required:``,disabled:E.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`]),n(_,{variant:`primary`,type:`submit`,disabled:E.value||!T.value||!d(w).activePersonalSpace},{default:c(()=>[s(f(d(p)(`pages.connections.subscribe`)),1)]),_:1},8,[`disabled`])],32)])):o(``,!0)]))}});export{w as default};
|
|
1
|
+
import{B as e,C as t,E as n,H as r,I as i,J as a,O as ee,R as te,S as o,T as s,X as c,_ as l,b as u,dt as d,g as ne,it as re,mt as f,n as ie,o as p,ot as m,x as h,y as g}from"./i18n-DUkThQlr.js";import{n as _,t as ae}from"./console-CwLNvN5Y.js";import{a as v,i as oe,n as se,r as y,s as b}from"./client-D-1EftNy.js";import{t as x}from"./UiSelect-DdLp-PYy.js";import{t as S}from"./UiDisclosure-C6Tl1kJO.js";import{t as C}from"./TextField-Cbr28Gy8.js";import{r as ce,t as le}from"./identity-Bl_ro5EM.js";var 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={key:0,class:`external-binding-editor`},Ae={class:`external-target-mode-list`},je={class:`external-binding-editor-actions`},Me={key:0,class:`compact-empty`},Ne={class:`wide-field`},Pe={class:`trusted-code-badge`},Fe={class:`section-title section-title-with-help`},Ie=[`href`,`aria-label`,`title`],Le={class:`conflict-policy-controls`},Re={key:2,role:`alert`},ze={key:1,class:`connection-subscriptions`},Be={class:`section-title`},Ve={class:`subscription-list`},He={key:0,class:`empty-state`},w=ee({__name:`ConnectionsPage`,setup(ee){let w=ae(),T=m(``),E=m(!1),D=m(``),O=m([]),k=m([]),A=m(!1),j=m(!1),M=m(``),N=m(null),P=m([]),F=m({}),I=m(``),L=m(`ask_human`),R=m(!1),z=m(!1),B=m(!1),V=`ask_human`,H=0,U=null,W=re({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:`{}`}),Ue=g(()=>w.state?.providers?.personal?.status===`ready`),We=g(()=>w.state?.providers?.workspaces??[]),Ge=g(()=>We.value.filter(({status:e})=>e===`ready`).length),Ke=g(()=>{let e=w.state?.capabilities,t=[e?.browsePublicProjects?p(`pages.connections.publicCapability.discovery`):null,e?.subscribeProject?p(`pages.connections.publicCapability.subscription`):null,e?.publishProject?p(`pages.connections.publicCapability.publishing`):null,e?.submitKnowledge?p(`pages.connections.publicCapability.contribution`):null,e?.reviewProposals?p(`pages.connections.publicCapability.review`):null].filter(e=>!!e);return t.length?new Intl.ListFormat(ie(),{style:`long`,type:`conjunction`}).format(t):p(`pages.connections.notAvailable`)}),G=g(()=>w.state?.subscriptions??[]),K=g(()=>w.state?.personalProjects??[]),qe=g(()=>Dt(`connect-external-knowledge`)),Je=g(()=>Dt(`external-knowledge-conflict-policy`)),Ye=g(()=>new Set(G.value.map(({provider_url:e,project_id:t})=>`${e}::${t}`))),Xe=g(()=>(w.state?.projects??[]).filter(e=>!Ye.value.has(rt(e)))),Ze=g(()=>Xe.value.map(e=>({value:rt(e),label:e.name,meta:`#${le(e.id,26)}`,search:ce(e.id)}))),Qe=g(()=>O.value.map(e=>({value:e.type,label:e.name,meta:e.description}))),q=g(()=>K.value.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${le(e.project_id,26)}`,search:ce(e.project_id)}))),$e=g(()=>[{value:`hybrid`,label:p(`pages.connections.mode.hybrid`),disabled:!Y(W.connectorType,`hybrid`)},{value:`mirror`,label:p(`pages.connections.mode.mirror`),disabled:!Y(W.connectorType,`mirror`)},{value:`live`,label:p(`pages.connections.mode.live`),disabled:!Y(W.connectorType,`live`)}]),et=g(()=>[{value:`http`,label:`Streamable HTTP`},{value:`stdio`,label:`stdio`}]),tt=g(()=>[{value:`cn`,label:`Feishu`},{value:`global`,label:`Lark`}]),nt=g(()=>[{value:`ask_human`,label:p(`pages.connections.askHuman`)},{value:`agent_decide`,label:p(`pages.connections.agentDecide`)}]);a(K,e=>{let t=new Set(e.map(({project_id:e})=>e)),n=e[0]?.project_id??``;W.personalProjectIds=W.personalProjectIds.filter(e=>t.has(e)),!W.personalProjectIds.length&&n&&(W.personalProjectIds=[n]),P.value=P.value.filter(e=>t.has(e)),t.has(I.value)||(I.value=n)},{immediate:!0}),a(()=>[w.activePersonalSpace?.id,I.value],()=>void _t(),{immediate:!0,flush:`sync`}),a(()=>W.connectorType,e=>{Y(e,W.mode)||(W.mode=bt(e))}),te(()=>void J()),i(()=>{H+=1,U?.abort()});function rt(e){return`${e.providerUrl}::${e.id}`}async function it(){let e=w.activePersonalSpace?.id,t=Xe.value.find(e=>rt(e)===T.value);if(!(!e||!t||E.value)){E.value=!0,D.value=`pages.connections.subscribing`;try{await v(`/api/subscriptions`,{personalSpaceId:e,projectId:t.id,providerUrl:t.providerUrl,projectName:t.name}),T.value=``,w.notify(p(`pages.connections.subscribed`,{name:t.name})),D.value=`pages.connections.loadingSubscriptions`,await w.refresh()}catch(e){w.reportError(e)}finally{E.value=!1}}}async function at(e){let t=w.activePersonalSpace?.id;if(!(!t||E.value)){E.value=!0,D.value=`pages.connections.unsubscribing`;try{let n=new URLSearchParams({personalSpaceId:t,providerUrl:e.provider_url});await se(`/api/subscriptions/${encodeURIComponent(e.project_id)}?${n}`),w.notify(p(`pages.connections.unsubscribed`,{name:e.project_name??e.project_id})),D.value=`pages.connections.loadingSubscriptions`,await w.refresh()}catch(e){w.reportError(e)}finally{E.value=!1}}}async function J(){j.value=!0;try{let[e,t]=await Promise.all([y(`/api/external-knowledge/connectors`),y(`/api/external-knowledge/bindings`)]);O.value=e,k.value=t}catch(e){w.reportError(e)}finally{j.value=!1}}async function ot(){let e=w.activePersonalSpace?.id;if(!(!e||!W.personalProjectIds.length||A.value)){A.value=!0,M.value=`pages.connections.creatingBinding`;try{let{connectorConfig:t,source:n}=st();await v(`/api/external-knowledge/bindings`,{name:W.name.trim(),connectorType:W.connectorType,connectorConfig:t,source:n,targets:W.personalProjectIds.map(t=>({personalSpaceId:e,personalProjectId:t,mode:W.mode}))}),w.notify(p(`pages.connections.externalCreated`,{name:W.name.trim()})),W.name=``,await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}function st(){if(W.connectorType===`notion`)return{connectorConfig:{tokenEnv:$(W.notionTokenEnv,`Notion token env`)},source:{pageIds:Z(W.notionPageIds),dataSourceIds:Z(W.notionDataSourceIds)}};if(W.connectorType===`feishu`)return{connectorConfig:{accessTokenEnv:$(W.feishuTokenEnv,`Feishu token env`),region:W.feishuRegion},source:Q({spaceId:W.feishuSpaceId.trim(),rootNodeToken:W.feishuRootNodeToken.trim(),nodeTokens:Z(W.feishuNodeTokens),webBaseUrl:W.feishuWebBaseUrl.trim()})};if(W.connectorType===`retrieval_api`){let e=Number(W.retrievalScoreThreshold);if(!Number.isFinite(e)||e<0||e>1)throw TypeError(p(`pages.connections.scoreThresholdInvalid`));return{connectorConfig:Q({url:$(W.retrievalUrl,`Retrieval API URL`),tokenEnv:W.retrievalTokenEnv.trim(),scoreThreshold:e}),source:{knowledgeIds:Et(W.retrievalKnowledgeIds,`Knowledge IDs`)}}}if(W.connectorType===`custom`){let e=JSON.parse(W.customSourceJson);if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(p(`pages.connections.customSourceObject`));return{connectorConfig:{module:$(W.customModule,`Custom connector module`),environmentNames:Z(W.customEnvironmentNames)},source:e}}return{connectorConfig:W.mcpTransport===`stdio`?Q({transport:`stdio`,command:W.mcpCommand.trim(),args:Z(W.mcpArgs)}):Q({transport:`http`,url:$(W.mcpUrl,`MCP URL`),tokenEnv:W.mcpTokenEnv.trim()}),source:Q({resourceUriPrefix:W.mcpResourcePrefix.trim()})}}async function ct(e){await ut(e,`check`)}async function lt(e){await ut(e,`sync`)}async function ut(e,t){if(!A.value){A.value=!0,M.value=t===`sync`?`pages.connections.syncingBinding`:`pages.connections.checkingBinding`;try{let n=await v(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}/${t}`,{});w.notify(p(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){w.reportError(e)}finally{A.value=!1}}}async function dt(e){if(!A.value){A.value=!0,M.value=`pages.connections.disconnectingBinding`;try{await se(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}`),w.notify(p(`pages.connections.externalDeleted`,{name:e.name})),await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}function ft(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 pt(){N.value=null,P.value=[],F.value={}}function mt(e){let t=k.value.find(({id:e})=>e===N.value);if(!t)return;let n=F.value,r=bt(t.connectorType);F.value=Object.fromEntries(e.map(e=>[e,n[e]??t.mode??r]))}function ht(e,t){F.value={...F.value,[e]:t}}async function gt(e){let t=w.activePersonalSpace?.id;if(!(!t||!P.value.length||A.value)){A.value=!0,M.value=`pages.connections.savingBindingTargets`;try{await oe(`/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}))}),w.notify(p(`pages.connections.projectsUpdated`,{name:e.name})),pt(),await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}async function _t(){let e=++H;if(U?.abort(),U=null,L.value=`ask_human`,B.value=!1,z.value=!1,!w.activePersonalSpace?.id||!I.value)return;let t=new AbortController;U=t,z.value=!0;try{let n=await y(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{signal:t.signal});if(e!==H)return;L.value=n.mode,V=n.mode}catch{if(e!==H)return;B.value=!0}finally{e===H&&(z.value=!1,U=null)}}async function vt(){let e=w.activePersonalSpace?.id;if(!e||!I.value||R.value||z.value||B.value)return;let t=H;R.value=!0;try{let n=await oe(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{personalSpaceId:e,personalProjectId:I.value,mode:L.value});if(t!==H)return;L.value=n.mode,V=n.mode,w.notify(p(`pages.connections.conflictSaved`))}catch(e){if(t!==H)return;L.value=V,w.reportError(e)}finally{R.value=!1}}function yt(e){return O.value.find(t=>t.type===e)?.name??e}function Y(e,t){let n=O.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 bt(e){return[`hybrid`,`mirror`,`live`].find(t=>Y(e,t))??`live`}function xt(e){return[`hybrid`,`mirror`,`live`].map(t=>({value:t,label:p(`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 St(e){return X(e).some(({mode:e})=>e!==`live`)}function Ct(e){return K.value.find(({project_id:t})=>t===e)?.profile.name??e}function wt(e){return X(e).find(({sync:e})=>e?.error)?.sync?.error??e.sync?.error}function Tt(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 Et(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 Dt(e){return`https://github.com/JevonsCode/fuli/blob/main/${ie()===`zh-CN`?`README.zh-CN.md`:`README.md`}#${e}`}return(i,a)=>(e(),t(`section`,ue,[u(`div`,{class:`service-connection-grid`,"aria-label":d(p)(`pages.connections.statusAria`)},[u(`article`,{class:`service-connection-card`,"data-status":Ue.value?`ready`:`error`},[u(`header`,null,[a[30]||=u(`span`,{class:`service-connection-icon local`,"aria-hidden":`true`},[u(`span`,{class:`nav-icon nav-icon-personal-project`})],-1),u(`div`,null,[u(`h3`,null,f(d(p)(`pages.connections.localGraphiti`)),1)]),u(`span`,pe,f(Ue.value?d(p)(`common.status.connected`):d(p)(`common.status.connectionError`)),1)]),n(S,{title:d(p)(`ui.connectionDetails`)},{default:c(()=>[u(`dl`,null,[u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.storage`)),1),a[31]||=u(`dd`,null,`Neo4j`,-1)]),u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.purpose`)),1),u(`dd`,null,f(d(p)(`pages.connections.localPurpose`)),1)])])]),_:1},8,[`title`])],8,fe),u(`article`,{class:`service-connection-card`,"data-status":d(w).publicRuntimeStatus},[u(`header`,null,[a[33]||=u(`span`,{class:`service-connection-icon public`,"aria-hidden":`true`},[u(`span`,{class:`nav-icon nav-icon-public-project`})],-1),u(`div`,he,[u(`h3`,null,f(d(p)(`pages.connections.publicService`)),1),a[32]||=u(`span`,{class:`feature-badge beta`},`BETA`,-1)]),u(`span`,ge,f(d(w).publicRuntimeStatus===`ready`?d(p)(`common.status.connected`):d(w).publicRuntimeStatus===`error`?d(p)(`common.status.connectionError`):d(p)(`common.status.notConnected`)),1)]),u(`dl`,null,[u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.currentStatus`)),1),u(`dd`,null,f(d(w).publicRuntimeStatus===`ready`?d(p)(`pages.connections.sharedServicesReady`,{count:Ge.value||We.value.length}):d(p)(`pages.connections.notAvailable`)),1)]),u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.purpose`)),1),u(`dd`,null,f(Ke.value),1)])])],8,me)],8,de),u(`section`,_e,[u(`div`,ve,[u(`h3`,null,f(d(p)(`pages.connections.externalTitle`)),1),u(`a`,{class:`section-help-link`,"data-testid":`external-knowledge-help`,href:qe.value,"aria-label":d(p)(`pages.connections.externalHelp`),title:d(p)(`pages.connections.externalHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,ye),u(`span`,be,f(d(p)(`pages.connections.bindingCount`,{count:k.value.length})),1)]),j.value||A.value?(e(),h(b,{key:0,variant:`compact`,label:d(p)(j.value?`pages.connections.loadingBindings`:M.value)},null,8,[`label`])):o(``,!0),u(`div`,xe,[(e(!0),t(l,null,r(k.value,i=>(e(),t(`article`,{key:i.id,class:`external-binding-row`,"data-status":i.status},[a[34]||=u(`i`,{"aria-hidden":`true`},null,-1),u(`div`,Ce,[u(`strong`,null,f(i.name),1),u(`span`,null,f(yt(i.connectorType)),1),u(`div`,we,[u(`b`,null,f(d(p)(`pages.connections.boundTo`)),1),(e(!0),t(l,null,r(X(i),n=>(e(),t(`span`,{key:n.id,class:`external-binding-target-chip`,"data-status":n.status},f(Ct(n.personalProjectId))+` · `+f(d(p)(`pages.connections.mode.${n.mode}`)),9,Te))),128))]),wt(i)?(e(),t(`small`,Ee,f(wt(i)),1)):Tt(i)?(e(),t(`small`,De,f(d(p)(`pages.connections.credentialsSkipped`,{count:Tt(i)})),1)):o(``,!0)]),u(`div`,Oe,[n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:e=>ct(i)},{default:c(()=>[s(f(d(p)(`pages.connections.check`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`ghost`,class:`external-sync-action`,disabled:A.value||!St(i),onClick:e=>lt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.sync`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:e=>ft(i)},{default:c(()=>[s(f(d(p)(`pages.connections.manageProjects`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`danger`,disabled:A.value,onClick:e=>dt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.disconnect`)),1)]),_:1},8,[`disabled`,`onClick`])]),N.value===i.id?(e(),t(`div`,ke,[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProjects`)),1),n(x,{multiple:``,modelValue:P.value,"onUpdate:modelValue":a[0]||=e=>P.value=e,"control-id":`external-projects-${i.id}`,label:d(p)(`pages.connections.targetProjects`),options:q.value,disabled:A.value,required:``,searchable:``,onChange:mt},null,8,[`modelValue`,`control-id`,`label`,`options`,`disabled`])]),u(`div`,Ae,[(e(!0),t(l,null,r(P.value,r=>(e(),t(`div`,{key:r,class:`external-target-mode-row`},[u(`span`,null,f(Ct(r)),1),n(x,{"model-value":F.value[r]??i.mode,"control-id":`external-target-mode-${i.id}-${r}`,label:d(p)(`pages.connections.bindingMode`),options:xt(i.connectorType),disabled:A.value,"onUpdate:modelValue":e=>ht(r,e)},null,8,[`model-value`,`control-id`,`label`,`options`,`disabled`,`onUpdate:modelValue`])]))),128))]),u(`div`,je,[n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:pt},{default:c(()=>[s(f(d(p)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),n(_,{size:`sm`,variant:`primary`,disabled:A.value||!P.value.length,onClick:e=>gt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.saveProjects`)),1)]),_:1},8,[`disabled`,`onClick`])])])):o(``,!0)],8,Se))),128)),!j.value&&!k.value.length?(e(),t(`div`,Me,f(d(p)(`pages.connections.noExternalBindings`)),1)):o(``,!0)]),n(S,{title:d(p)(`pages.connections.connect`),open:!k.value.length},{default:c(()=>[u(`form`,{class:`external-binding-form`,onSubmit:ne(ot,[`prevent`])},[n(C,{modelValue:W.name,"onUpdate:modelValue":a[1]||=e=>W.name=e,label:d(p)(`pages.connections.bindingName`),"data-testid":`external-name`,required:``},null,8,[`modelValue`,`label`]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.connector`)),1),n(x,{modelValue:W.connectorType,"onUpdate:modelValue":a[2]||=e=>W.connectorType=e,"control-id":`external-connector`,label:d(p)(`pages.connections.connector`),options:Qe.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProjects`)),1),n(x,{multiple:``,modelValue:W.personalProjectIds,"onUpdate:modelValue":a[3]||=e=>W.personalProjectIds=e,"control-id":`external-projects`,label:d(p)(`pages.connections.targetProjects`),options:q.value,disabled:A.value,required:``,searchable:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.bindingMode`)),1),n(x,{modelValue:W.mode,"onUpdate:modelValue":a[4]||=e=>W.mode=e,"control-id":`external-binding-mode`,label:d(p)(`pages.connections.bindingMode`),options:$e.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),W.connectorType===`mcp`?(e(),t(l,{key:0},[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.transport`)),1),n(x,{modelValue:W.mcpTransport,"onUpdate:modelValue":a[5]||=e=>W.mcpTransport=e,"control-id":`external-mcp-transport`,label:d(p)(`pages.connections.transport`),options:et.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),W.mcpTransport===`http`?(e(),h(C,{key:0,modelValue:W.mcpUrl,"onUpdate:modelValue":a[6]||=e=>W.mcpUrl=e,label:`MCP URL`,"data-testid":`mcp-url`,type:`url`,required:``},null,8,[`modelValue`])):(e(),h(C,{key:1,modelValue:W.mcpCommand,"onUpdate:modelValue":a[7]||=e=>W.mcpCommand=e,label:d(p)(`pages.connections.command`),required:``},null,8,[`modelValue`,`label`])),W.mcpTransport===`stdio`?(e(),h(C,{key:2,modelValue:W.mcpArgs,"onUpdate:modelValue":a[8]||=e=>W.mcpArgs=e,label:d(p)(`pages.connections.arguments`)},null,8,[`modelValue`,`label`])):(e(),h(C,{key:3,modelValue:W.mcpTokenEnv,"onUpdate:modelValue":a[9]||=e=>W.mcpTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),"data-testid":`mcp-token-env`},null,8,[`modelValue`,`label`])),n(C,{modelValue:W.mcpResourcePrefix,"onUpdate:modelValue":a[10]||=e=>W.mcpResourcePrefix=e,label:d(p)(`pages.connections.resourcePrefix`),"data-testid":`mcp-resource-prefix`},null,8,[`modelValue`,`label`])],64)):W.connectorType===`notion`?(e(),t(l,{key:1},[n(C,{modelValue:W.notionTokenEnv,"onUpdate:modelValue":a[11]||=e=>W.notionTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.notionPageIds,"onUpdate:modelValue":a[12]||=e=>W.notionPageIds=e,label:`Page IDs`},null,8,[`modelValue`]),n(C,{modelValue:W.notionDataSourceIds,"onUpdate:modelValue":a[13]||=e=>W.notionDataSourceIds=e,label:`Data Source IDs`},null,8,[`modelValue`])],64)):W.connectorType===`feishu`?(e(),t(l,{key:2},[n(C,{modelValue:W.feishuTokenEnv,"onUpdate:modelValue":a[14]||=e=>W.feishuTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.region`)),1),n(x,{modelValue:W.feishuRegion,"onUpdate:modelValue":a[15]||=e=>W.feishuRegion=e,"control-id":`external-feishu-region`,label:d(p)(`pages.connections.region`),options:tt.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),n(C,{modelValue:W.feishuSpaceId,"onUpdate:modelValue":a[16]||=e=>W.feishuSpaceId=e,label:`Space ID`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuRootNodeToken,"onUpdate:modelValue":a[17]||=e=>W.feishuRootNodeToken=e,label:`Root Node Token`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuNodeTokens,"onUpdate:modelValue":a[18]||=e=>W.feishuNodeTokens=e,label:`Node Tokens`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuWebBaseUrl,"onUpdate:modelValue":a[19]||=e=>W.feishuWebBaseUrl=e,label:`Web URL`,type:`url`},null,8,[`modelValue`])],64)):W.connectorType===`retrieval_api`?(e(),t(l,{key:3},[n(C,{modelValue:W.retrievalUrl,"onUpdate:modelValue":a[20]||=e=>W.retrievalUrl=e,label:d(p)(`pages.connections.retrievalUrl`),type:`url`,required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalTokenEnv,"onUpdate:modelValue":a[21]||=e=>W.retrievalTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`)},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalKnowledgeIds,"onUpdate:modelValue":a[22]||=e=>W.retrievalKnowledgeIds=e,label:d(p)(`pages.connections.knowledgeIds`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalScoreThreshold,"onUpdate:modelValue":a[23]||=e=>W.retrievalScoreThreshold=e,label:d(p)(`pages.connections.scoreThreshold`),inputmode:`decimal`,required:``},null,8,[`modelValue`,`label`])],64)):(e(),t(l,{key:4},[n(C,{modelValue:W.customModule,"onUpdate:modelValue":a[24]||=e=>W.customModule=e,label:d(p)(`pages.connections.module`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.customEnvironmentNames,"onUpdate:modelValue":a[25]||=e=>W.customEnvironmentNames=e,label:d(p)(`pages.connections.environmentNames`)},null,8,[`modelValue`,`label`]),u(`div`,Ne,[n(C,{modelValue:W.customSourceJson,"onUpdate:modelValue":a[26]||=e=>W.customSourceJson=e,label:d(p)(`pages.connections.sourceJson`),multiline:``,required:``},null,8,[`modelValue`,`label`])]),u(`span`,Pe,f(d(p)(`pages.connections.trustedCode`)),1)],64)),n(_,{variant:`primary`,class:`external-create-action`,type:`submit`,disabled:A.value||!K.value.length||!W.personalProjectIds.length},{default:c(()=>[a[35]||=u(`span`,{class:`external-create-action-icon`,"aria-hidden":`true`},null,-1),u(`span`,null,f(d(p)(`pages.connections.connect`)),1)]),_:1},8,[`disabled`])],32)]),_:1},8,[`title`,`open`])]),K.value.length?(e(),h(S,{key:0,class:`conflict-policy-section`,open:B.value,title:d(p)(`pages.connections.conflictTitle`)},{default:c(()=>[u(`div`,Fe,[u(`a`,{class:`section-help-link`,"data-testid":`conflict-policy-help`,href:Je.value,"aria-label":d(p)(`pages.connections.conflictHelp`),title:d(p)(`pages.connections.conflictHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,Ie)]),u(`div`,Le,[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProject`)),1),n(x,{modelValue:I.value,"onUpdate:modelValue":a[27]||=e=>I.value=e,"control-id":`external-conflict-project`,label:d(p)(`pages.connections.targetProject`),options:q.value,disabled:R.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.conflictAction`)),1),n(x,{modelValue:L.value,"onUpdate:modelValue":a[28]||=e=>L.value=e,"control-id":`external-conflict-mode`,label:d(p)(`pages.connections.conflictAction`),options:nt.value,disabled:R.value||z.value||B.value||!I.value,required:``,onChange:vt},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),z.value?(e(),h(b,{key:0,variant:`compact`,label:d(p)(`pages.connections.loadingConflictPolicy`)},null,8,[`label`])):o(``,!0),R.value?(e(),h(b,{key:1,variant:`inline`,label:d(p)(`pages.connections.savingConflictPolicy`)},null,8,[`label`])):B.value?(e(),t(`div`,Re,[u(`p`,null,f(d(p)(`common.errors.loadFailed`)),1),n(_,{size:`sm`,onClick:_t},{default:c(()=>[s(f(d(p)(`common.actions.retry`)),1)]),_:1})])):o(``,!0)]),_:1},8,[`open`,`title`])):o(``,!0),d(w).state?.capabilities?.subscribeProject?(e(),t(`section`,ze,[u(`div`,Be,[u(`h3`,null,[s(f(d(p)(`pages.connections.subscriptionsTitle`))+` `,1),a[36]||=u(`span`,{class:`feature-badge beta`},`BETA`,-1)])]),E.value?(e(),h(b,{key:0,variant:`inline`,label:d(p)(D.value)},null,8,[`label`])):o(``,!0),u(`div`,Ve,[(e(!0),t(l,null,r(G.value,r=>(e(),t(`div`,{key:`${r.provider_url}:${r.project_id}`,class:`subscription-row`},[a[37]||=u(`span`,null,`↗`,-1),u(`div`,null,[u(`strong`,null,f(r.project_name??r.project_id),1),u(`span`,null,f(d(p)(`pages.connections.sharedProject`)),1)]),n(_,{size:`sm`,class:`subscription-action`,disabled:E.value,onClick:e=>at(r)},{default:c(()=>[s(f(d(p)(`pages.connections.unsubscribe`)),1)]),_:1},8,[`disabled`,`onClick`])]))),128)),G.value.length?o(``,!0):(e(),t(`div`,He,f(d(p)(`pages.connections.noSubscriptions`)),1))]),u(`form`,{class:`subscription-form`,onSubmit:ne(it,[`prevent`])},[n(x,{modelValue:T.value,"onUpdate:modelValue":a[29]||=e=>T.value=e,options:Ze.value,label:d(p)(`pages.connections.sharedProjectLabel`),placeholder:d(p)(`pages.connections.choosePublicProject`),searchable:``,required:``,disabled:E.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`]),n(_,{variant:`primary`,type:`submit`,disabled:E.value||!T.value||!d(w).activePersonalSpace},{default:c(()=>[s(f(d(p)(`pages.connections.subscribe`)),1)]),_:1},8,[`disabled`])],32)])):o(``,!0)]))}});export{w as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as e,C as t,E as n,J as r,O as i,S as a,T as o,X as s,Z as c,b as l,dt as u,mt as d,o as f,ot as p,p as m,x as h,y as g}from"./i18n-
|
|
1
|
+
import{B as e,C as t,E as n,J as r,O as i,S as a,T as o,X as s,Z as c,b as l,dt as u,mt as d,o as f,ot as p,p as m,x as h,y as g}from"./i18n-DUkThQlr.js";import{n as _}from"./console-CwLNvN5Y.js";import{o as v,t as y}from"./client-D-1EftNy.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as x}from"./UiDialog-DT7Q8XAV.js";function S(e,t){let n=e.normalize(`NFKC`).toLocaleLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``).slice(0,120)||`project`,r=new Set(t);if(!r.has(n))return n;for(let e=2;;e+=1){let t=`${n}-${e}`;if(!r.has(t))return t}}function C(e){return[...new Set(e.split(`
|
|
2
2
|
`).map(e=>e.trim()).filter(Boolean))].slice(0,64)}function w(e,t,n){let r=n.source.trim();return v(`/api/personal-projects`,{personalSpaceId:e,projectId:t,createOnly:!0,profile:{name:n.name.trim(),purpose:n.purpose.trim()||null,scope:n.includes.trim()||null,lifecycle:`active`,boundaries:C(n.excludes),sources:r?[{key:`source-1`,kind:`other`,title:r,uri:r,sensitivity:`normal`}]:[]}})}var T={class:`create-project-fields`},E={class:`ui-field`},D={key:0,class:`ui-field-hint`,"data-new-project-id":``},O={class:`ui-field`},k=[`placeholder`],A={class:`ui-field`},j=[`placeholder`],M={class:`ui-field`},N=[`placeholder`],P={class:`ui-field`},F=[`placeholder`],I=b(i({__name:`CreateProjectDialog`,props:{open:{type:Boolean},personalSpaceId:{},existingProjectIds:{},initialPurpose:{}},emits:[`close`,`created`],setup(i,{emit:v}){let b=i,C=v,I=()=>({name:``,purpose:b.initialPurpose??``,includes:``,excludes:``,source:``}),L=p(I()),R=p(!1),z=p(``),B=g(()=>S(L.value.name,b.existingProjectIds));r(()=>b.open,e=>{e&&(L.value=I(),z.value=``)},{immediate:!0});async function V(){if(!R.value){if(!L.value.name.trim()){z.value=f(`projects.createDialog.nameRequired`);return}R.value=!0,z.value=``;try{C(`created`,await w(b.personalSpaceId,B.value,L.value))}catch(e){z.value=e instanceof y&&e.status===409?f(`projects.createDialog.exists`):e instanceof Error&&e.message||f(`projects.createDialog.failed`)}finally{R.value=!1}}}return(r,p)=>i.open?(e(),h(x,{key:0,open:``,class:`create-project-dialog`,size:`lg`,form:``,busy:R.value,error:z.value,title:u(f)(`projects.createDialog.title`),description:u(f)(`projects.createDialog.intro`),onClose:p[6]||=e=>C(`close`),onSubmit:V},{footer:s(()=>[n(_,{variant:`ghost`,disabled:R.value,onClick:p[5]||=e=>C(`close`)},{default:s(()=>[o(d(u(f)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),n(_,{variant:`primary`,type:`submit`,busy:R.value,"busy-label":u(f)(`projects.createDialog.creating`)},{default:s(()=>[o(d(u(f)(`projects.createDialog.create`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:s(()=>[l(`div`,T,[l(`label`,E,[o(d(u(f)(`projects.createDialog.name`))+` `,1),c(l(`input`,{"onUpdate:modelValue":p[0]||=e=>L.value.name=e,name:`new-project-name`,maxlength:`160`,required:``,autofocus:``},null,512),[[m,L.value.name]]),L.value.name.trim()?(e(),t(`small`,D,d(u(f)(`projects.createDialog.identifier`,{id:B.value})),1)):a(``,!0)]),l(`label`,O,[o(d(u(f)(`projects.createDialog.purpose`))+` `,1),c(l(`textarea`,{"onUpdate:modelValue":p[1]||=e=>L.value.purpose=e,name:`new-project-purpose`,maxlength:`4096`,rows:`2`,placeholder:u(f)(`projects.createDialog.purposePlaceholder`)},null,8,k),[[m,L.value.purpose]])]),l(`label`,A,[o(d(u(f)(`projects.createDialog.includes`))+` `,1),c(l(`textarea`,{"onUpdate:modelValue":p[2]||=e=>L.value.includes=e,name:`new-project-includes`,maxlength:`4096`,rows:`3`,placeholder:u(f)(`projects.createDialog.includesPlaceholder`)},null,8,j),[[m,L.value.includes]])]),l(`label`,M,[o(d(u(f)(`projects.createDialog.excludes`))+` `,1),c(l(`textarea`,{"onUpdate:modelValue":p[3]||=e=>L.value.excludes=e,name:`new-project-excludes`,maxlength:`8192`,rows:`3`,placeholder:u(f)(`projects.createDialog.excludesPlaceholder`)},null,8,N),[[m,L.value.excludes]])]),l(`label`,P,[o(d(u(f)(`projects.createDialog.source`))+` `,1),c(l(`input`,{"onUpdate:modelValue":p[4]||=e=>L.value.source=e,name:`new-project-source`,maxlength:`2048`,placeholder:u(f)(`projects.createDialog.sourcePlaceholder`)},null,8,F),[[m,L.value.source]])])])]),_:1},8,[`busy`,`error`,`title`,`description`])):a(``,!0)}}),[[`__scopeId`,`data-v-7d31c4ad`]]);export{I as t};
|