fuli-context 0.7.9 → 0.7.10-beta.7
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 +5 -2
- package/README.zh-CN.md +5 -3
- package/dist/web/assets/{AboutPage-Bp-Xz6yo.js → AboutPage-EtWPOSpz.js} +1 -1
- package/dist/web/assets/AboutPage-vYIBifKw.css +1 -0
- package/dist/web/assets/AgentHand-D5pOgVjJ.js +1 -0
- package/dist/web/assets/AgentHand-DvdNtJ3_.css +1 -0
- package/dist/web/assets/ConnectionsPage-DXkvMuyK.js +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-B59X3rOi.css +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-DONxXnd2.js +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-Cd4hd4bf.js +3 -0
- package/dist/web/assets/EmployeeWorkbenchPage-Cz7y-IFD.css +1 -0
- package/dist/web/assets/GrowthLoading-B_Hh0CRS.css +1 -0
- package/dist/web/assets/GrowthLoading-CCYPgE2f.js +1 -0
- package/dist/web/assets/KnowledgeEditDialog-BUqMfa0a.js +1 -0
- package/dist/web/assets/KnowledgeEditDialog-D9NuRHvp.css +1 -0
- package/dist/web/assets/KnowledgeInspector-DlVPDGP3.js +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-DhthZGKZ.js +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-h2iKvQpO.css +1 -0
- package/dist/web/assets/KnowledgePage-B6RDVxq-.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-mVFHQcxr.js +4 -0
- package/dist/web/assets/KnowledgeWorkspace-sb8OJ97I.css +1 -0
- package/dist/web/assets/NotFoundPage-CCeEdBy9.js +1 -0
- package/dist/web/assets/{OverviewPage-HwoSW-5z.js → OverviewPage-CnYWoZ3r.js} +1 -1
- package/dist/web/assets/PersonalProfilePage-Bz4zpTPC.js +1 -0
- package/dist/web/assets/PersonalProfilePage-yQRCBude.css +1 -0
- package/dist/web/assets/PersonalProjectsPage-2u1o6dvA.js +1 -0
- package/dist/web/assets/ProjectAgentsPage-8tci631q.js +11 -0
- package/dist/web/assets/ProjectAgentsPage-BN4k3ubu.css +1 -0
- package/dist/web/assets/ProjectScopePicker-BcPtIcv8.js +1 -0
- package/dist/web/assets/ProjectScopePicker-BvaGTMFx.css +1 -0
- package/dist/web/assets/PublicProjectsPage-BmBHfnud.js +1 -0
- package/dist/web/assets/ReviewPage-tvt2eqhw.js +1 -0
- package/dist/web/assets/{SearchableSelect-CFZNdtlY.js → SearchableSelect-BjBDBVuZ.js} +1 -1
- package/dist/web/assets/SettingsPage-Brl-SL33.css +1 -0
- package/dist/web/assets/SettingsPage-D9mNzBg-.js +1 -0
- package/dist/web/assets/SharedJefaReportPage-DXbj_JhO.css +1 -0
- package/dist/web/assets/SharedJefaReportPage-Dn_HBgaa.js +1 -0
- package/dist/web/assets/WritingTastePage-BCwimXC-.js +1 -0
- package/dist/web/assets/WritingTastePage-tb_pgude.css +1 -0
- package/dist/web/assets/bole-avatar-CVIr-bU_.webp +0 -0
- package/dist/web/assets/client-v8XKgQji.js +1 -0
- package/dist/web/assets/console-C9HS-zbd.js +1 -0
- package/dist/web/assets/conversation-launcher-settings-DMDCpf_N.js +1 -0
- package/dist/web/assets/employee-dialog-Bh5ccIbK.css +1 -0
- package/dist/web/assets/{i18n-DQH9D35M.js → i18n-BkJjUsz_.js} +3 -3
- package/dist/web/assets/{identity-JjZG6aS5.js → identity-74yGiMzO.js} +1 -1
- package/dist/web/assets/index-CwjxeHGk.css +1 -0
- package/dist/web/assets/index-Dioqmmvf.js +2 -0
- package/dist/web/assets/{model-zL97NJ-U.js → model-86tZgY0r.js} +1 -1
- package/dist/web/assets/shared-report-CLg82y4D.js +1 -0
- package/dist/web/assets/shared-report-ezeb8dW4.css +1 -0
- package/dist/web/assets/{useApi-CROJJdhE-CElDxEZI.js → useApi-CROJJdhE-BBUO_YEu.js} +1 -1
- package/dist/web/assets/useModalDialog-DrLhqtjR.js +1 -0
- package/dist/web/assets/{vue-router-F7MnkVlW.js → vue-router-Cw4QZxM1.js} +1 -1
- package/dist/web/index.html +14 -8
- package/docs/agent-interface-architecture.md +97 -0
- package/docs/employee-agents.md +58 -2
- package/graph-provider/fuli_graph/collaboration_context.py +2 -1
- package/graph-provider/fuli_graph/graph_models.py +5 -3
- package/graph-provider/fuli_graph/graph_query.py +4 -0
- package/graph-provider/fuli_graph/knowledge_search.py +2 -1
- package/graph-provider/fuli_graph/project_agent_access.py +2 -0
- package/graph-provider/fuli_graph/project_agent_attention_models.py +64 -0
- package/graph-provider/fuli_graph/project_agent_attention_routes.py +38 -0
- package/graph-provider/fuli_graph/project_agent_models.py +2 -0
- package/graph-provider/fuli_graph/project_agent_names.py +33 -0
- package/graph-provider/fuli_graph/project_agent_routes.py +12 -0
- package/graph-provider/fuli_graph/runtime.py +49 -20
- package/graph-provider/fuli_graph/store.py +2 -0
- package/graph-provider/fuli_graph/store_knowledge.py +4 -2
- package/graph-provider/fuli_graph/store_project_agent_attention.py +138 -0
- package/graph-provider/fuli_graph/store_project_agent_executor_learning.py +8 -0
- package/graph-provider/fuli_graph/store_project_agent_memory.py +40 -13
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +4 -1
- package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +4 -1
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +3 -0
- package/graph-provider/fuli_graph/store_project_agents.py +109 -0
- package/graph-provider/fuli_graph/store_task_contexts.py +1 -1
- package/graph-provider/fuli_graph/system_hr_identity.py +218 -0
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +52 -60
- package/package.json +2 -2
- package/skills/operating-fuli/SKILL.md +47 -0
- package/skills/operating-fuli/agents/openai.yaml +4 -0
- package/skills/operating-fuli/references/workflow-recipes.md +33 -0
- package/src/agent-tools/agent-attention-definitions.js +33 -0
- package/src/agent-tools/graph-definitions.js +8 -2
- package/src/agent-tools/graph-handlers.js +41 -0
- package/src/agent-tools/interface-catalog.js +101 -0
- package/src/agent-tools/interface-definitions.js +184 -0
- package/src/agent-tools/project-agent-definitions.js +1 -0
- package/src/cli/local-runtime-command.js +2 -1
- package/src/employees/catalog/bole.json +19 -0
- package/src/employees/install-package.js +3 -0
- package/src/employees/manifest.js +4 -0
- package/src/employees/package-registry.js +2 -0
- package/src/employees/recruitment.js +3 -0
- package/src/employees/service.js +10 -0
- package/src/external-knowledge/registry.js +24 -0
- package/src/external-knowledge/service.js +34 -1
- package/src/graphiti/agent-attention.js +26 -0
- package/src/graphiti/agent-knowledge-workflows.js +1 -0
- package/src/graphiti/project-agent-control-plane.js +21 -0
- package/src/graphiti/project-agent-mapping.js +6 -0
- package/src/graphiti/provider-client.js +13 -0
- package/src/graphiti/workspace-provider-client.js +9 -1
- package/src/http/agent-attention-api-router.js +28 -0
- package/src/http/error-mapping.js +3 -0
- package/src/http/graph-api-router.js +2 -0
- package/src/local-runtime/lifecycle.js +8 -2
- package/src/mcp/create-mcp-server.js +10 -1
- package/src/mcp/tool-annotations.js +31 -0
- package/src/mcp/tool-result.js +4 -4
- package/src/setup/agent-installation-status.js +2 -1
- package/src/setup/agents.js +4 -0
- package/src/setup/graph-runtime.js +4 -0
- package/src/setup/paths.js +2 -1
- package/src/setup/setup.js +4 -2
- package/src/setup/uninstall.js +4 -2
- package/src/system/resource-monitor.js +11 -1
- package/src/system/runtime-settings.js +7 -0
- package/dist/web/assets/AboutPage-DXh7Fwxt.css +0 -1
- package/dist/web/assets/ConnectionsPage-BMpkYeSE.js +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-CnA7rOnB.css +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-DbMVuLAI.js +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-BpkqpEs7.css +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-DtXSJOpq.js +0 -1
- package/dist/web/assets/KnowledgeEditDialog-DADXj_BT.js +0 -1
- package/dist/web/assets/KnowledgeEditDialog-iv-dgUeD.css +0 -1
- package/dist/web/assets/KnowledgeInspector-Xs4VCUg8.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-B_Ct4bB2.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-Cx1w1jb2.css +0 -1
- package/dist/web/assets/KnowledgePage-RG9Ttnrp.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-DI8YqTVI.js +0 -4
- package/dist/web/assets/PersonalProfilePage-B7T09bow.css +0 -1
- package/dist/web/assets/PersonalProfilePage-DCoG52SW.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-CNb9mlbp.js +0 -1
- package/dist/web/assets/ProjectAgentsPage-C3vW6wmk.css +0 -1
- package/dist/web/assets/ProjectAgentsPage-zQ9BZW9v.js +0 -11
- package/dist/web/assets/PublicProjectsPage-BuLqkZ8g.js +0 -1
- package/dist/web/assets/ReviewPage-8A7N5pJs.js +0 -1
- package/dist/web/assets/SettingsPage-4ah1u906.js +0 -1
- package/dist/web/assets/SettingsPage-CwZp2ka4.css +0 -1
- package/dist/web/assets/WritingTastePage-DSgvTH6x.css +0 -1
- package/dist/web/assets/WritingTastePage-DztRj6MK.js +0 -1
- package/dist/web/assets/avatars-LvVKbDF7.js +0 -1
- package/dist/web/assets/console-B7dWYAoU.js +0 -1
- package/dist/web/assets/conversation-launcher-settings-D1xhW1S5.js +0 -1
- package/dist/web/assets/index-Ch1jmkyO.css +0 -1
- package/dist/web/assets/index-DRd-2Tii.js +0 -2
package/README.md
CHANGED
|
@@ -554,7 +554,7 @@ containers; it does not shut down Rancher Desktop, Docker Desktop, Kubernetes, o
|
|
|
554
554
|
itself. Native mode directly stops the corresponding Provider and Neo4j processes, so no shared VM
|
|
555
555
|
overhead remains while idle.
|
|
556
556
|
|
|
557
|
-
**Project Agents → Recruit employee** provides reusable employee templates
|
|
557
|
+
**Project Agents → Recruit employee** provides reusable employee templates. Jefa is the project manager; Bole is the built-in HR Agent with a native people panel for Agent distribution, current work, and recruitment history.
|
|
558
558
|
Recruitment reuses a durable identity with separate project assignments. An installed employee workbench,
|
|
559
559
|
API and A2A share the FULI port; existing FULI MCP clients discover and call its tools. Recruitment does not
|
|
560
560
|
start a model or rewrite client settings. See the [employee package and extension contract](docs/employee-agents.md).
|
|
@@ -621,10 +621,13 @@ reuse the same data.
|
|
|
621
621
|
|
|
622
622
|
## Agent integrations and primary tools
|
|
623
623
|
|
|
624
|
-
Fuli installs the `capturing-session-knowledge`, `grilling-project`, and `flreview` Skills for
|
|
624
|
+
Fuli installs the `capturing-session-knowledge`, `grilling-project`, `operating-fuli`, and `flreview` Skills for
|
|
625
625
|
supported agents. `/flreview` asks FULI for ranked candidates, then the invoking Agent generates a
|
|
626
626
|
fresh interactive review artifact. FULI remains the durable source of truth and write surface; no
|
|
627
627
|
permanent review tab or one-question-at-a-time chat flow is required.
|
|
628
|
+
`operating-fuli` makes Agents inspect the structured interface-parity catalog before changing data,
|
|
629
|
+
verify writes through matching read tools, and treat browser automation as visual verification only.
|
|
630
|
+
See the [Agent interface architecture](docs/agent-interface-architecture.md).
|
|
628
631
|
Fuli setup generates Claude Code `UserPromptSubmit`/`Stop` MCP hooks, a Codex
|
|
629
632
|
`UserPromptSubmit` MCP hook plus a local `Stop` command, and Cursor
|
|
630
633
|
`sessionStart`/`beforeSubmitPrompt`/`stop` hooks. The Codex Stop command first blocks an unfinished
|
package/README.zh-CN.md
CHANGED
|
@@ -501,7 +501,7 @@ start 和 restart 会继续沿用。
|
|
|
501
501
|
Kubernetes 或整台容器虚拟机;原生模式会直接停止对应 Provider 和 Neo4j 进程,因此空闲时
|
|
502
502
|
不再保留共享虚拟机开销。
|
|
503
503
|
|
|
504
|
-
“项目 Agent →
|
|
504
|
+
“项目 Agent → 招募员工”支持可复用的默认员工模板。Jefa 是项目经理;Bole 是固定 HR Agent,原生人员面板可查看 Agent 分布、当前工作与招募历史。招募复用持久身份,
|
|
505
505
|
按项目单独任职;安装员工包后,侧栏工作台与 API/A2A 共用 FULI 端口,已有 FULI MCP 可发现和调用员工工具。
|
|
506
506
|
招募不等于启动模型,也不改写已有客户端配置。详见[员工包安装与扩展协议](docs/employee-agents.md)。
|
|
507
507
|
|
|
@@ -560,7 +560,7 @@ npm uninstall --global fuli-context
|
|
|
560
560
|
|
|
561
561
|
## Agent 接入与主要工具
|
|
562
562
|
|
|
563
|
-
Fuli 为支持的 Agent 安装 `capturing-session-knowledge`、`grilling-project` 和 `flreview`
|
|
563
|
+
Fuli 为支持的 Agent 安装 `capturing-session-knowledge`、`grilling-project`、`operating-fuli` 和 `flreview`
|
|
564
564
|
Skills。输入 `/flreview` 后可选择全部、个人偏好或个人项目;若用户表示完全没耐心,流程会
|
|
565
565
|
跳过心情、时间和 token 询问,只处理少量最高优先级问题。Fuli setup 为 Claude Code 生成
|
|
566
566
|
`UserPromptSubmit`/`Stop` MCP Hook,为 Codex 生成 `UserPromptSubmit` MCP Hook 和本地 `Stop`
|
|
@@ -568,7 +568,9 @@ Skills。输入 `/flreview` 后可选择全部、个人偏好或个人项目;
|
|
|
568
568
|
指令只在未收到生命周期上下文时使用 fallback,不重复已提供的偏好。Codex 的 Stop 命令首次
|
|
569
569
|
阻止未完成检查;若一次继续后仍未完成,只对同一 token 写入 `retain_nothing` 防止无限循环,
|
|
570
570
|
不生成知识或角色记忆。安装配置不会代替用户批准宿主信任。偏好正文始终以本机 Fuli 为唯一
|
|
571
|
-
来源,不复制到 Agent
|
|
571
|
+
来源,不复制到 Agent 配置中。`operating-fuli` 要求 Agent 在写数据前先检查结构化接口覆盖目录,
|
|
572
|
+
写后用对应读取工具验证;浏览器自动化只用于可选的视觉检查,不作为数据写入手段。详见
|
|
573
|
+
[Agent 接口架构](docs/agent-interface-architecture.md)。
|
|
572
574
|
|
|
573
575
|
FULI MCP 还提供只读的 `fuli://` resources:每个本地个人项目和“全局品味”各有一个可选条目。
|
|
574
576
|
支持 MCP mention 的 Agent 可以在 `@` 选择器里选中它们;项目条目只代表一个精确项目,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as e,N as t,T as n,_ as r,a as i,at as a,h as o,nt as s,v as c,w as l,x as u}from"./i18n-DQH9D35M.js";import{t as d}from"./fuli-logo-Bu9WBuQe.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p=[`aria-label`],m={class:`label-dimension-strip`},h=[`data-dimension`],g={class:`label-guide-sheet`},_={class:`label-guide-section profile-guide`},v={class:`label-definition-list`},y=[`data-kind`],b={class:`label-guide-section quadrant-guide`},x={class:`quadrant-explainer`},S={class:`quadrant-y-axis`,"aria-hidden":`true`},C={class:`quadrant-grid`},w=[`data-quadrant`],T={class:`quadrant-x-axis`,"aria-hidden":`true`},E={class:`quadrant-notes`},D={class:`label-guide-section confirmation-guide`},O={class:`status-definition-list`},k=[`data-status`],A={class:`status-boundaries`},j={class:`label-example`},M={class:`label-example-tags`,"aria-hidden":`true`},N={class:`label-token profile-token`,"data-kind":`taste`},P={class:`label-token origin-token`},ee={class:`label-token status-token`,"data-status":`confirmed`},F={class:`label-all-note`},I=f(n({__name:`LabelGuide`,setup(n){let l=r(()=>[{key:`profile`,title:i(`about.dimensions.profile.title`),question:i(`about.dimensions.profile.question`),timing:i(`about.dimensions.profile.timing`)},{key:`origin`,title:i(`about.dimensions.origin.title`),question:i(`about.dimensions.origin.question`),timing:i(`about.dimensions.origin.timing`)},{key:`confirmation`,title:i(`about.dimensions.confirmation.title`),question:i(`about.dimensions.confirmation.question`),timing:i(`about.dimensions.confirmation.timing`)}]),d=r(()=>[{key:`taste`,label:i(`about.profiles.taste.label`),short:i(`about.profiles.taste.short`),description:i(`about.profiles.taste.description`)},{key:`personality`,label:i(`about.profiles.personality.label`),short:i(`about.profiles.personality.short`),description:i(`about.profiles.personality.description`)},{key:`judgment`,label:i(`about.profiles.judgment.label`),short:i(`about.profiles.judgment.short`),description:i(`about.profiles.judgment.description`)}]),f=r(()=>[{key:`known-unknown`,label:i(`about.quadrants.knownUnknown.label`),coordinate:i(`about.quadrants.knownUnknown.coordinate`),description:i(`about.quadrants.knownUnknown.description`)},{key:`known-known`,label:i(`about.quadrants.knownKnown.label`),coordinate:i(`about.quadrants.knownKnown.coordinate`),description:i(`about.quadrants.knownKnown.description`)},{key:`unknown-unknown`,label:i(`about.quadrants.unknownUnknown.label`),coordinate:i(`about.quadrants.unknownUnknown.coordinate`),description:i(`about.quadrants.unknownUnknown.description`)},{key:`unknown-known`,label:i(`about.quadrants.unknownKnown.label`),coordinate:i(`about.quadrants.unknownKnown.coordinate`),description:i(`about.quadrants.unknownKnown.description`)}]),I=r(()=>[{key:`pending`,label:i(`about.statuses.pending.label`),description:i(`about.statuses.pending.description`),rule:i(`about.statuses.pending.rule`)},{key:`agent-confirmed`,label:i(`about.statuses.agentConfirmed.label`),description:i(`about.statuses.agentConfirmed.description`),rule:i(`about.statuses.agentConfirmed.rule`)},{key:`confirmed`,label:i(`about.statuses.confirmed.label`),description:i(`about.statuses.confirmed.description`),rule:i(`about.statuses.confirmed.rule`)}]);return(n,r)=>(t(),u(`section`,{class:`label-guide`,"aria-label":s(i)(`about.labelsAria`)},[c(`div`,m,[(t(!0),u(o,null,e(l.value,e=>(t(),u(`article`,{key:e.key,"data-dimension":e.key},[r[0]||=c(`i`,{"aria-hidden":`true`},null,-1),c(`div`,null,[c(`strong`,null,a(e.title),1),c(`p`,null,a(e.question),1),c(`small`,null,a(e.timing),1)])],8,h))),128))]),c(`div`,g,[c(`section`,_,[c(`header`,null,[c(`span`,null,a(s(i)(`about.sections.profile.index`)),1),c(`div`,null,[c(`h3`,null,a(s(i)(`about.sections.profile.title`)),1),c(`p`,null,a(s(i)(`about.sections.profile.meta`)),1)])]),c(`div`,v,[(t(!0),u(o,null,e(d.value,e=>(t(),u(`article`,{key:e.key,class:`label-definition-row`},[c(`span`,{class:`label-token profile-token`,"data-kind":e.key},a(e.label),9,y),c(`div`,null,[c(`strong`,null,a(e.short),1),c(`p`,null,a(e.description),1)])]))),128))])]),c(`section`,b,[c(`header`,null,[c(`span`,null,a(s(i)(`about.sections.origin.index`)),1),c(`div`,null,[c(`h3`,null,a(s(i)(`about.sections.origin.title`)),1),c(`p`,null,a(s(i)(`about.sections.origin.meta`)),1)])]),c(`div`,x,[c(`div`,S,[c(`span`,null,a(s(i)(`about.quadrants.aware`)),1),c(`strong`,null,a(s(i)(`about.quadrants.awareness`)),1),c(`span`,null,a(s(i)(`about.quadrants.unaware`)),1)]),c(`div`,C,[(t(!0),u(o,null,e(f.value,e=>(t(),u(`article`,{key:e.key,"data-quadrant":e.key},[c(`span`,null,a(e.coordinate),1),c(`strong`,null,a(e.label),1),c(`p`,null,a(e.description),1)],8,w))),128))]),c(`div`,T,[c(`span`,null,a(s(i)(`about.quadrants.unmastered`)),1),c(`strong`,null,a(s(i)(`about.quadrants.mastery`)),1),c(`span`,null,a(s(i)(`about.quadrants.mastered`)),1)]),c(`div`,E,[c(`p`,null,a(s(i)(`about.quadrants.immutable`)),1),c(`p`,null,a(s(i)(`about.quadrants.unclassified`)),1)])])]),c(`section`,D,[c(`header`,null,[c(`span`,null,a(s(i)(`about.sections.confirmation.index`)),1),c(`div`,null,[c(`h3`,null,a(s(i)(`about.sections.confirmation.title`)),1),c(`p`,null,a(s(i)(`about.sections.confirmation.meta`)),1)])]),c(`div`,null,[c(`div`,O,[(t(!0),u(o,null,e(I.value,e=>(t(),u(`article`,{key:e.key,class:`status-definition-row`},[c(`span`,{class:`label-token status-token`,"data-status":e.key},a(e.label),9,k),c(`p`,null,a(e.description),1),c(`div`,null,[c(`span`,null,a(s(i)(`about.statuses.entryCondition`)),1),c(`strong`,null,a(e.rule),1)])]))),128))]),c(`div`,A,[c(`p`,null,a(s(i)(`about.statuses.usageBoundary`)),1),c(`p`,null,a(s(i)(`about.statuses.resetBoundary`)),1)])])]),c(`section`,j,[c(`div`,null,[c(`span`,null,a(s(i)(`about.example.title`)),1),c(`strong`,null,a(s(i)(`about.example.item`)),1)]),c(`div`,M,[c(`span`,N,a(s(i)(`about.example.profile`)),1),c(`span`,P,a(s(i)(`about.example.origin`)),1),c(`span`,ee,a(s(i)(`about.example.status`)),1)]),c(`p`,null,a(s(i)(`about.example.description`)),1)]),c(`p`,F,a(s(i)(`about.allFilter`)),1)])],8,p))}}),[[`__scopeId`,`data-v-b79b7e68`]]),L={class:`open-source-credits`},R={class:`credits-roll`},z={class:`credit-grid`},B=[`href`],V={class:`credit-mark`},H=[`src`,`alt`],U={class:`credit-copy`},W={class:`credit-source-note`},G={class:`fuli-finale`},K={class:`finale-brand`},q=[`src`],J=f(n({__name:`OpenSourceCredits`,setup(n){let l=r(()=>[{name:`Vue.js`,role:i(`about.credits.roles.vue`),logo:`https://raw.githubusercontent.com/vuejs/docs/main/src/public/logo.svg`,url:`https://vuejs.org/`},{name:`Vite`,role:i(`about.credits.roles.vite`),logo:`https://raw.githubusercontent.com/vitejs/vite/main/docs/public/logo-without-border.svg`,url:`https://vite.dev/`},{name:`Pinia`,role:i(`about.credits.roles.pinia`),logo:`https://raw.githubusercontent.com/vuejs/pinia/v4/packages/docs/public/logo.svg`,url:`https://pinia.vuejs.org/`},{name:`D3.js`,role:i(`about.credits.roles.d3`),logo:`https://raw.githubusercontent.com/d3/d3-logo/master/d3.svg`,url:`https://d3js.org/`},{name:`Vitest`,role:i(`about.credits.roles.vitest`),logo:`https://raw.githubusercontent.com/vitest-dev/vitest/main/docs/public/logo-without-border.svg`,url:`https://vitest.dev/`},{name:`Hono`,role:i(`about.credits.roles.hono`),logo:`https://raw.githubusercontent.com/honojs/website/main/public/images/logo.svg`,url:`https://hono.dev/`},{name:`Neo4j`,role:i(`about.credits.roles.neo4j`),logo:`https://avatars.githubusercontent.com/u/201120?v=4`,url:`https://neo4j.com/`},{name:`Zod`,role:i(`about.credits.roles.zod`),logo:`https://raw.githubusercontent.com/colinhacks/zod/main/packages/docs/public/logo/logo_square.png`,url:`https://zod.dev/`},{name:`FastAPI`,role:i(`about.credits.roles.fastapi`),logo:`https://raw.githubusercontent.com/fastapi/fastapi/master/docs/en/docs/img/favicon.png`,url:`https://fastapi.tiangolo.com/`},{name:`Graphiti`,role:i(`about.credits.roles.graphiti`),logo:`https://avatars.githubusercontent.com/u/132832125?s=128&v=4`,url:`https://github.com/getzep/graphiti`},{name:`Model Context Protocol`,role:i(`about.credits.roles.mcp`),logo:`https://raw.githubusercontent.com/modelcontextprotocol/docs/main/favicon.svg`,url:`https://modelcontextprotocol.io/`}]);return(n,r)=>(t(),u(`section`,L,[c(`div`,R,[c(`header`,null,[c(`h3`,null,a(s(i)(`about.credits.title`)),1),c(`p`,null,a(s(i)(`about.credits.description`)),1)]),c(`div`,z,[(t(!0),u(o,null,e(l.value,e=>(t(),u(`a`,{key:e.name,href:e.url,target:`_blank`,rel:`noreferrer`},[c(`span`,V,[c(`img`,{src:e.logo,alt:e.name},null,8,H)]),c(`span`,U,[c(`strong`,null,a(e.name),1),c(`small`,null,a(e.role),1)])],8,B))),128))]),c(`p`,W,a(s(i)(`about.credits.sourceNote`)),1)]),c(`footer`,G,[c(`div`,K,[c(`img`,{src:s(d),alt:``,"aria-hidden":`true`},null,8,q),c(`div`,null,[c(`strong`,null,a(s(i)(`common.brand`)),1),r[0]||=c(`span`,null,`Context Graph`,-1)])]),c(`p`,null,a(s(i)(`about.credits.finale`)),1)])]))}}),[[`__scopeId`,`data-v-8676884b`]]),Y={class:`product-principles`},X={class:`principles-lede`},Z={class:`principle-sequence`},Q={class:`principle-boundaries`},$=[`data-boundary`],te=f(n({__name:`ProductPrinciples`,setup(n){let l=r(()=>[{key:`capture`,index:i(`about.philosophy.capture.index`),title:i(`about.philosophy.capture.title`),description:i(`about.philosophy.capture.description`)},{key:`project`,index:i(`about.philosophy.project.index`),title:i(`about.philosophy.project.title`),description:i(`about.philosophy.project.description`)},{key:`review`,index:i(`about.philosophy.review.index`),title:i(`about.philosophy.review.title`),description:i(`about.philosophy.review.description`)},{key:`reuse`,index:i(`about.philosophy.reuse.index`),title:i(`about.philosophy.reuse.title`),description:i(`about.philosophy.reuse.description`)}]),d=r(()=>[{key:`local`,title:i(`about.philosophy.local.title`),description:i(`about.philosophy.local.description`)},{key:`authority`,title:i(`about.philosophy.authority.title`),description:i(`about.philosophy.authority.description`)},{key:`scope`,title:i(`about.philosophy.scope.title`),description:i(`about.philosophy.scope.description`)}]);return(n,r)=>(t(),u(`section`,Y,[c(`header`,X,[c(`h3`,null,a(s(i)(`about.philosophy.title`)),1),c(`p`,null,a(s(i)(`about.philosophy.intro`)),1),c(`p`,null,a(s(i)(`about.philosophy.support`)),1)]),c(`div`,Z,[(t(!0),u(o,null,e(l.value,e=>(t(),u(`article`,{key:e.key},[c(`span`,null,a(e.index),1),c(`div`,null,[c(`h4`,null,a(e.title),1),c(`p`,null,a(e.description),1)])]))),128))]),c(`div`,Q,[c(`strong`,null,a(s(i)(`about.philosophy.boundariesTitle`)),1),c(`div`,null,[(t(!0),u(o,null,e(d.value,e=>(t(),u(`article`,{key:e.key},[c(`i`,{"data-boundary":e.key,"aria-hidden":`true`},null,8,$),c(`h4`,null,a(e.title),1),c(`p`,null,a(e.description),1)]))),128))])])]))}}),[[`__scopeId`,`data-v-d823b02d`]]),ne=[`aria-label`],re={class:`about-content`},ie={class:`about-labels-section`},ae=f(n({__name:`AboutPage`,setup(e){return(e,n)=>(t(),u(`section`,{class:`view about-view`,"aria-label":s(i)(`about.aria`)},[c(`div`,re,[l(te),c(`section`,ie,[c(`header`,null,[c(`h3`,null,a(s(i)(`about.labelsIntro.title`)),1),c(`p`,null,a(s(i)(`about.labelsIntro.description`)),1)]),l(I)]),l(J)])],8,ne))}}),[[`__scopeId`,`data-v-6bd30c79`]]);export{ae as default};
|
|
1
|
+
import{F as e,N as t,T as n,_ as r,a as i,at as a,h as o,nt as s,v as c,w as l,x as u}from"./i18n-BkJjUsz_.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as f}from"./fuli-logo-Bu9WBuQe.js";var p=[`aria-label`],m={class:`label-dimension-strip`},h=[`data-dimension`],g={class:`label-guide-sheet`},_={class:`label-guide-section profile-guide`},v={class:`label-definition-list`},y=[`data-kind`],b={class:`label-guide-section quadrant-guide`},x={class:`quadrant-explainer`},S={class:`quadrant-y-axis`,"aria-hidden":`true`},C={class:`quadrant-grid`},w=[`data-quadrant`],T={class:`quadrant-x-axis`,"aria-hidden":`true`},E={class:`quadrant-notes`},D={class:`label-guide-section confirmation-guide`},O={class:`status-definition-list`},k=[`data-status`],A={class:`status-boundaries`},j={class:`label-example`},M={class:`label-example-tags`,"aria-hidden":`true`},N={class:`label-token profile-token`,"data-kind":`taste`},P={class:`label-token origin-token`},ee={class:`label-token status-token`,"data-status":`confirmed`},F={class:`label-all-note`},I=d(n({__name:`LabelGuide`,setup(n){let l=r(()=>[{key:`profile`,title:i(`about.dimensions.profile.title`),question:i(`about.dimensions.profile.question`),timing:i(`about.dimensions.profile.timing`)},{key:`origin`,title:i(`about.dimensions.origin.title`),question:i(`about.dimensions.origin.question`),timing:i(`about.dimensions.origin.timing`)},{key:`confirmation`,title:i(`about.dimensions.confirmation.title`),question:i(`about.dimensions.confirmation.question`),timing:i(`about.dimensions.confirmation.timing`)}]),d=r(()=>[{key:`taste`,label:i(`about.profiles.taste.label`),short:i(`about.profiles.taste.short`),description:i(`about.profiles.taste.description`)},{key:`personality`,label:i(`about.profiles.personality.label`),short:i(`about.profiles.personality.short`),description:i(`about.profiles.personality.description`)},{key:`judgment`,label:i(`about.profiles.judgment.label`),short:i(`about.profiles.judgment.short`),description:i(`about.profiles.judgment.description`)}]),f=r(()=>[{key:`known-unknown`,label:i(`about.quadrants.knownUnknown.label`),coordinate:i(`about.quadrants.knownUnknown.coordinate`),description:i(`about.quadrants.knownUnknown.description`)},{key:`known-known`,label:i(`about.quadrants.knownKnown.label`),coordinate:i(`about.quadrants.knownKnown.coordinate`),description:i(`about.quadrants.knownKnown.description`)},{key:`unknown-unknown`,label:i(`about.quadrants.unknownUnknown.label`),coordinate:i(`about.quadrants.unknownUnknown.coordinate`),description:i(`about.quadrants.unknownUnknown.description`)},{key:`unknown-known`,label:i(`about.quadrants.unknownKnown.label`),coordinate:i(`about.quadrants.unknownKnown.coordinate`),description:i(`about.quadrants.unknownKnown.description`)}]),I=r(()=>[{key:`pending`,label:i(`about.statuses.pending.label`),description:i(`about.statuses.pending.description`),rule:i(`about.statuses.pending.rule`)},{key:`agent-confirmed`,label:i(`about.statuses.agentConfirmed.label`),description:i(`about.statuses.agentConfirmed.description`),rule:i(`about.statuses.agentConfirmed.rule`)},{key:`confirmed`,label:i(`about.statuses.confirmed.label`),description:i(`about.statuses.confirmed.description`),rule:i(`about.statuses.confirmed.rule`)}]);return(n,r)=>(t(),u(`section`,{class:`label-guide`,"aria-label":s(i)(`about.labelsAria`)},[c(`div`,m,[(t(!0),u(o,null,e(l.value,e=>(t(),u(`article`,{key:e.key,"data-dimension":e.key},[r[0]||=c(`i`,{"aria-hidden":`true`},null,-1),c(`div`,null,[c(`strong`,null,a(e.title),1),c(`p`,null,a(e.question),1),c(`small`,null,a(e.timing),1)])],8,h))),128))]),c(`div`,g,[c(`section`,_,[c(`header`,null,[c(`span`,null,a(s(i)(`about.sections.profile.index`)),1),c(`div`,null,[c(`h3`,null,a(s(i)(`about.sections.profile.title`)),1),c(`p`,null,a(s(i)(`about.sections.profile.meta`)),1)])]),c(`div`,v,[(t(!0),u(o,null,e(d.value,e=>(t(),u(`article`,{key:e.key,class:`label-definition-row`},[c(`span`,{class:`label-token profile-token`,"data-kind":e.key},a(e.label),9,y),c(`div`,null,[c(`strong`,null,a(e.short),1),c(`p`,null,a(e.description),1)])]))),128))])]),c(`section`,b,[c(`header`,null,[c(`span`,null,a(s(i)(`about.sections.origin.index`)),1),c(`div`,null,[c(`h3`,null,a(s(i)(`about.sections.origin.title`)),1),c(`p`,null,a(s(i)(`about.sections.origin.meta`)),1)])]),c(`div`,x,[c(`div`,S,[c(`span`,null,a(s(i)(`about.quadrants.aware`)),1),c(`strong`,null,a(s(i)(`about.quadrants.awareness`)),1),c(`span`,null,a(s(i)(`about.quadrants.unaware`)),1)]),c(`div`,C,[(t(!0),u(o,null,e(f.value,e=>(t(),u(`article`,{key:e.key,"data-quadrant":e.key},[c(`span`,null,a(e.coordinate),1),c(`strong`,null,a(e.label),1),c(`p`,null,a(e.description),1)],8,w))),128))]),c(`div`,T,[c(`span`,null,a(s(i)(`about.quadrants.unmastered`)),1),c(`strong`,null,a(s(i)(`about.quadrants.mastery`)),1),c(`span`,null,a(s(i)(`about.quadrants.mastered`)),1)]),c(`div`,E,[c(`p`,null,a(s(i)(`about.quadrants.immutable`)),1),c(`p`,null,a(s(i)(`about.quadrants.unclassified`)),1)])])]),c(`section`,D,[c(`header`,null,[c(`span`,null,a(s(i)(`about.sections.confirmation.index`)),1),c(`div`,null,[c(`h3`,null,a(s(i)(`about.sections.confirmation.title`)),1),c(`p`,null,a(s(i)(`about.sections.confirmation.meta`)),1)])]),c(`div`,null,[c(`div`,O,[(t(!0),u(o,null,e(I.value,e=>(t(),u(`article`,{key:e.key,class:`status-definition-row`},[c(`span`,{class:`label-token status-token`,"data-status":e.key},a(e.label),9,k),c(`p`,null,a(e.description),1),c(`div`,null,[c(`span`,null,a(s(i)(`about.statuses.entryCondition`)),1),c(`strong`,null,a(e.rule),1)])]))),128))]),c(`div`,A,[c(`p`,null,a(s(i)(`about.statuses.usageBoundary`)),1),c(`p`,null,a(s(i)(`about.statuses.resetBoundary`)),1)])])]),c(`section`,j,[c(`div`,null,[c(`span`,null,a(s(i)(`about.example.title`)),1),c(`strong`,null,a(s(i)(`about.example.item`)),1)]),c(`div`,M,[c(`span`,N,a(s(i)(`about.example.profile`)),1),c(`span`,P,a(s(i)(`about.example.origin`)),1),c(`span`,ee,a(s(i)(`about.example.status`)),1)]),c(`p`,null,a(s(i)(`about.example.description`)),1)]),c(`p`,F,a(s(i)(`about.allFilter`)),1)])],8,p))}}),[[`__scopeId`,`data-v-5ae50c9c`]]),L={class:`open-source-credits`},R={class:`credits-roll`},z={class:`credit-grid`},B=[`href`],V={class:`credit-mark`},H=[`src`,`alt`],U={class:`credit-copy`},W={class:`credit-source-note`},G={class:`fuli-finale`},K={class:`finale-brand`},q=[`src`],J=d(n({__name:`OpenSourceCredits`,setup(n){let l=r(()=>[{name:`Vue.js`,role:i(`about.credits.roles.vue`),logo:`https://raw.githubusercontent.com/vuejs/docs/main/src/public/logo.svg`,url:`https://vuejs.org/`},{name:`Vite`,role:i(`about.credits.roles.vite`),logo:`https://raw.githubusercontent.com/vitejs/vite/main/docs/public/logo-without-border.svg`,url:`https://vite.dev/`},{name:`Pinia`,role:i(`about.credits.roles.pinia`),logo:`https://raw.githubusercontent.com/vuejs/pinia/v4/packages/docs/public/logo.svg`,url:`https://pinia.vuejs.org/`},{name:`D3.js`,role:i(`about.credits.roles.d3`),logo:`https://raw.githubusercontent.com/d3/d3-logo/master/d3.svg`,url:`https://d3js.org/`},{name:`Vitest`,role:i(`about.credits.roles.vitest`),logo:`https://raw.githubusercontent.com/vitest-dev/vitest/main/docs/public/logo-without-border.svg`,url:`https://vitest.dev/`},{name:`Hono`,role:i(`about.credits.roles.hono`),logo:`https://raw.githubusercontent.com/honojs/website/main/public/images/logo.svg`,url:`https://hono.dev/`},{name:`Neo4j`,role:i(`about.credits.roles.neo4j`),logo:`https://avatars.githubusercontent.com/u/201120?v=4`,url:`https://neo4j.com/`},{name:`Zod`,role:i(`about.credits.roles.zod`),logo:`https://raw.githubusercontent.com/colinhacks/zod/main/packages/docs/public/logo/logo_square.png`,url:`https://zod.dev/`},{name:`FastAPI`,role:i(`about.credits.roles.fastapi`),logo:`https://raw.githubusercontent.com/fastapi/fastapi/master/docs/en/docs/img/favicon.png`,url:`https://fastapi.tiangolo.com/`},{name:`Graphiti`,role:i(`about.credits.roles.graphiti`),logo:`https://avatars.githubusercontent.com/u/132832125?s=128&v=4`,url:`https://github.com/getzep/graphiti`},{name:`Model Context Protocol`,role:i(`about.credits.roles.mcp`),logo:`https://raw.githubusercontent.com/modelcontextprotocol/docs/main/favicon.svg`,url:`https://modelcontextprotocol.io/`}]);return(n,r)=>(t(),u(`section`,L,[c(`div`,R,[c(`header`,null,[c(`h3`,null,a(s(i)(`about.credits.title`)),1),c(`p`,null,a(s(i)(`about.credits.description`)),1)]),c(`div`,z,[(t(!0),u(o,null,e(l.value,e=>(t(),u(`a`,{key:e.name,href:e.url,target:`_blank`,rel:`noreferrer`},[c(`span`,V,[c(`img`,{src:e.logo,alt:e.name},null,8,H)]),c(`span`,U,[c(`strong`,null,a(e.name),1),c(`small`,null,a(e.role),1)])],8,B))),128))]),c(`p`,W,a(s(i)(`about.credits.sourceNote`)),1)]),c(`footer`,G,[c(`div`,K,[c(`img`,{src:s(f),alt:``,"aria-hidden":`true`},null,8,q),c(`div`,null,[c(`strong`,null,a(s(i)(`common.brand`)),1),r[0]||=c(`span`,null,`Context Graph`,-1)])]),c(`p`,null,a(s(i)(`about.credits.finale`)),1)])]))}}),[[`__scopeId`,`data-v-8676884b`]]),Y={class:`product-principles`},X={class:`principles-lede`},Z={class:`principle-sequence`},Q={class:`principle-boundaries`},$=[`data-boundary`],te=d(n({__name:`ProductPrinciples`,setup(n){let l=r(()=>[{key:`capture`,index:i(`about.philosophy.capture.index`),title:i(`about.philosophy.capture.title`),description:i(`about.philosophy.capture.description`)},{key:`project`,index:i(`about.philosophy.project.index`),title:i(`about.philosophy.project.title`),description:i(`about.philosophy.project.description`)},{key:`review`,index:i(`about.philosophy.review.index`),title:i(`about.philosophy.review.title`),description:i(`about.philosophy.review.description`)},{key:`reuse`,index:i(`about.philosophy.reuse.index`),title:i(`about.philosophy.reuse.title`),description:i(`about.philosophy.reuse.description`)}]),d=r(()=>[{key:`local`,title:i(`about.philosophy.local.title`),description:i(`about.philosophy.local.description`)},{key:`authority`,title:i(`about.philosophy.authority.title`),description:i(`about.philosophy.authority.description`)},{key:`scope`,title:i(`about.philosophy.scope.title`),description:i(`about.philosophy.scope.description`)}]);return(n,r)=>(t(),u(`section`,Y,[c(`header`,X,[c(`h3`,null,a(s(i)(`about.philosophy.title`)),1),c(`p`,null,a(s(i)(`about.philosophy.intro`)),1),c(`p`,null,a(s(i)(`about.philosophy.support`)),1)]),c(`div`,Z,[(t(!0),u(o,null,e(l.value,e=>(t(),u(`article`,{key:e.key},[c(`span`,null,a(e.index),1),c(`div`,null,[c(`h4`,null,a(e.title),1),c(`p`,null,a(e.description),1)])]))),128))]),c(`div`,Q,[c(`strong`,null,a(s(i)(`about.philosophy.boundariesTitle`)),1),c(`div`,null,[(t(!0),u(o,null,e(d.value,e=>(t(),u(`article`,{key:e.key},[c(`i`,{"data-boundary":e.key,"aria-hidden":`true`},null,8,$),c(`h4`,null,a(e.title),1),c(`p`,null,a(e.description),1)]))),128))])])]))}}),[[`__scopeId`,`data-v-d823b02d`]]),ne=[`aria-label`],re={class:`about-content`},ie={class:`about-labels-section`},ae=d(n({__name:`AboutPage`,setup(e){return(e,n)=>(t(),u(`section`,{class:`view about-view`,"aria-label":s(i)(`about.aria`)},[c(`div`,re,[l(te),c(`section`,ie,[c(`header`,null,[c(`h3`,null,a(s(i)(`about.labelsIntro.title`)),1),c(`p`,null,a(s(i)(`about.labelsIntro.description`)),1)]),l(I)]),l(J)])],8,ne))}}),[[`__scopeId`,`data-v-6bd30c79`]]);export{ae as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.label-dimension-strip[data-v-5ae50c9c]{background:#fff;border:1px solid #d4dad5;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.label-dimension-strip article[data-v-5ae50c9c]{grid-template-columns:28px minmax(0,1fr);gap:11px;min-width:0;padding:15px 17px;display:grid}.label-dimension-strip article+article[data-v-5ae50c9c]{border-left:1px solid #e1e5e1}.label-dimension-strip i[data-v-5ae50c9c]{background:#f2f6f3;border:1px solid #cdd7d0;border-radius:7px;width:27px;height:27px;position:relative}.label-dimension-strip i[data-v-5ae50c9c]:before,.label-dimension-strip i[data-v-5ae50c9c]:after{content:"";position:absolute}.label-dimension-strip [data-dimension=profile] i[data-v-5ae50c9c]:before{border:1.5px solid #537461;border-radius:50%;inset:6px}.label-dimension-strip [data-dimension=profile] i[data-v-5ae50c9c]:after{background:#8f6b59;border-radius:50%;width:5px;height:5px;top:4px;right:4px}.label-dimension-strip [data-dimension=origin] i[data-v-5ae50c9c]:before{border-bottom:1px solid #597266;border-right:1px solid #597266;inset:5px}.label-dimension-strip [data-dimension=origin] i[data-v-5ae50c9c]:after{background:#735f79;border-radius:50%;width:6px;height:6px;top:5px;right:5px}.label-dimension-strip [data-dimension=confirmation] i[data-v-5ae50c9c]:before{border-bottom:2px solid #537461;border-left:2px solid #537461;width:13px;height:7px;top:6px;left:6px;transform:rotate(-45deg)}.label-dimension-strip strong[data-v-5ae50c9c],.label-dimension-strip p[data-v-5ae50c9c],.label-dimension-strip small[data-v-5ae50c9c]{display:block}.label-dimension-strip strong[data-v-5ae50c9c]{color:#33443a;font-size:12px}.label-dimension-strip p[data-v-5ae50c9c]{color:#68736c;margin-top:2px;font-size:10px}.label-dimension-strip small[data-v-5ae50c9c]{color:#929a94;margin-top:5px;font-size:8px;line-height:1.35}.label-guide-sheet[data-v-5ae50c9c]{background:#fff;border:1px solid #d4dad5;border-radius:8px;margin-top:14px;overflow:hidden}.label-guide-section[data-v-5ae50c9c]{grid-template-columns:160px minmax(0,1fr);gap:24px;padding:24px;display:grid}.label-guide-section+.label-guide-section[data-v-5ae50c9c]{border-top:1px solid #e0e4e0}.label-guide-section>header[data-v-5ae50c9c]{grid-template-columns:26px minmax(0,1fr);align-content:start;gap:9px;display:grid}.label-guide-section>header>span[data-v-5ae50c9c]{color:#a0a7a2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.label-guide-section h3[data-v-5ae50c9c]{color:#2e3c34;font-size:15px}.label-guide-section header p[data-v-5ae50c9c]{color:#879089;margin-top:4px;font-size:9px}.label-definition-list[data-v-5ae50c9c],.status-definition-list[data-v-5ae50c9c]{display:grid}.label-definition-row[data-v-5ae50c9c]{grid-template-columns:116px minmax(0,1fr);align-items:start;gap:16px;padding:12px 0;display:grid}.label-definition-row+.label-definition-row[data-v-5ae50c9c],.status-definition-row+.status-definition-row[data-v-5ae50c9c]{border-top:1px solid #edf0ed}.label-token[data-v-5ae50c9c]{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:max-content;max-width:100%;padding:5px 9px;font-size:9px;font-weight:680;line-height:1;display:inline-flex}.label-token[data-v-5ae50c9c]:before{content:"";opacity:.72;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.profile-token[data-kind=taste][data-v-5ae50c9c]{color:#7a574b;background:#f5eeeb}.profile-token[data-kind=personality][data-v-5ae50c9c]{color:#4f6970;background:#edf3f4}.profile-token[data-kind=judgment][data-v-5ae50c9c]{color:#665b7a;background:#f1eef6}.label-definition-row strong[data-v-5ae50c9c]{color:#3f4b44;font-size:11px}.label-definition-row p[data-v-5ae50c9c]{color:#6f7972;margin-top:4px;font-size:10px;line-height:1.55}.quadrant-explainer[data-v-5ae50c9c]{grid-template-rows:auto 28px auto;grid-template-columns:36px minmax(0,1fr);display:grid}.quadrant-y-axis[data-v-5ae50c9c]{color:#8a938d;flex-direction:column;grid-row:1;justify-content:space-between;align-items:center;padding:3px 0;font-size:8px;display:flex}.quadrant-y-axis strong[data-v-5ae50c9c]{color:#68736c;letter-spacing:.08em;text-orientation:upright;writing-mode:vertical-rl;font-size:8px;font-weight:650}.quadrant-grid[data-v-5ae50c9c]{border:1px solid #cfd7d1;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.quadrant-grid article[data-v-5ae50c9c]{min-height:118px;padding:14px 16px}.quadrant-grid article[data-v-5ae50c9c]:nth-child(2n){border-left:1px solid #dce2dd}.quadrant-grid article[data-v-5ae50c9c]:nth-child(n+3){border-top:1px solid #dce2dd}.quadrant-grid article[data-quadrant=known-unknown][data-v-5ae50c9c]{background:#f6f2e8}.quadrant-grid article[data-quadrant=known-known][data-v-5ae50c9c]{background:#edf5f0}.quadrant-grid article[data-quadrant=unknown-unknown][data-v-5ae50c9c]{background:#f4eff4}.quadrant-grid article[data-quadrant=unknown-known][data-v-5ae50c9c]{background:#edf4f5}.quadrant-grid span[data-v-5ae50c9c]{color:#838d86;font-size:8px}.quadrant-grid strong[data-v-5ae50c9c]{color:#35443b;margin-top:7px;font-size:13px;display:block}.quadrant-grid p[data-v-5ae50c9c]{color:#68736c;max-width:340px;margin-top:6px;font-size:10px;line-height:1.5}.quadrant-x-axis[data-v-5ae50c9c]{color:#8a938d;grid-area:2/2;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:8px;display:grid}.quadrant-x-axis span[data-v-5ae50c9c]:last-child{text-align:right}.quadrant-x-axis strong[data-v-5ae50c9c]{color:#68736c;letter-spacing:.08em;font-size:8px}.quadrant-notes[data-v-5ae50c9c]{flex-wrap:wrap;grid-area:3/2;gap:6px 20px;padding-top:8px;display:flex}.quadrant-notes p[data-v-5ae50c9c],.status-boundaries p[data-v-5ae50c9c]{color:#77817a;font-size:9px;line-height:1.45}.status-definition-row[data-v-5ae50c9c]{grid-template-columns:120px minmax(0,1fr) minmax(180px,.72fr);align-items:start;gap:16px;padding:12px 0;display:grid}.status-token[data-status=pending][data-v-5ae50c9c]{color:#77602f;background:#f7f2e5}.status-token[data-status=agent-confirmed][data-v-5ae50c9c]{color:#4d5f78;background:#eef2f7}.status-token[data-status=confirmed][data-v-5ae50c9c]{color:#356047;background:#edf6f0}.status-definition-row>p[data-v-5ae50c9c]{color:#67726b;font-size:10px;line-height:1.55}.status-definition-row>div[data-v-5ae50c9c]{gap:3px;display:grid}.status-definition-row>div span[data-v-5ae50c9c]{color:#929a94;font-size:8px}.status-definition-row>div strong[data-v-5ae50c9c]{color:#4b5750;font-size:9px;font-weight:620;line-height:1.45}.status-boundaries[data-v-5ae50c9c]{border-top:1px solid #edf0ed;flex-wrap:wrap;gap:6px 20px;margin-top:8px;padding-top:10px;display:flex}.label-example[data-v-5ae50c9c]{background:#f7f9f7;border-top:1px solid #dce2dd;grid-template-columns:minmax(220px,.8fr) auto minmax(260px,1fr);align-items:center;gap:22px;padding:18px 24px;display:grid}.label-example>div[data-v-5ae50c9c]:first-child{gap:4px;display:grid}.label-example>div:first-child span[data-v-5ae50c9c]{color:#89928c;letter-spacing:.08em;text-transform:uppercase;font-size:8px}.label-example>div:first-child strong[data-v-5ae50c9c]{color:#34433a;font-size:11px}.label-example-tags[data-v-5ae50c9c]{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.origin-token[data-v-5ae50c9c]{color:#3f6b55;background:#eaf3ed}.label-example>p[data-v-5ae50c9c]{color:#68736c;font-size:9px;line-height:1.5}.label-all-note[data-v-5ae50c9c]{color:#7b847e;text-align:center;border-top:1px solid #e3e7e3;padding:12px 24px;font-size:9px}@media (width<=1180px){.label-guide-section[data-v-5ae50c9c]{grid-template-columns:1fr;gap:16px}.label-example[data-v-5ae50c9c]{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr)}.label-example-tags[data-v-5ae50c9c]{justify-content:flex-end}.label-example>p[data-v-5ae50c9c]{grid-column:1/-1}}@media (width<=720px){.status-definition-row[data-v-5ae50c9c]{grid-template-columns:1fr;gap:8px}}.open-source-credits[data-v-8676884b]{background:#fff;border:1px solid #d4dad5;border-radius:9px;overflow:hidden}.credits-roll[data-v-8676884b]{padding:38px 40px 34px}.credits-roll header h3[data-v-8676884b]{color:#2e3c34;font-size:19px}.credits-roll header p[data-v-8676884b]{color:#78817b;margin-top:7px;font-size:11px}.credit-grid[data-v-8676884b]{border-top:1px solid #e1e5e1;border-left:1px solid #e1e5e1;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px;display:grid}.credit-grid a[data-v-8676884b]{min-width:0;min-height:118px;color:inherit;border-bottom:1px solid #e1e5e1;border-right:1px solid #e1e5e1;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;padding:20px;text-decoration:none;display:grid}.credit-grid a[data-v-8676884b]:hover{background:#f7f9f7}.credit-grid a[data-v-8676884b]:focus-visible{outline-offset:-2px;outline:2px solid #7e9487}.credit-mark[data-v-8676884b]{place-items:center;width:42px;height:42px;display:grid}.credit-mark img[data-v-8676884b]{object-fit:contain;width:34px;height:34px}.credit-copy[data-v-8676884b]{gap:4px;min-width:0;display:grid}.credit-copy strong[data-v-8676884b]{color:#3a463f;font-size:11px}.credit-copy small[data-v-8676884b]{color:#89918b;font-size:8px}.credit-source-note[data-v-8676884b]{color:#929a94;max-width:760px;margin-top:18px;font-size:9px;line-height:1.55}.fuli-finale[data-v-8676884b]{color:#f2f4f2;text-align:center;background:#222824;place-content:center;justify-items:center;min-height:360px;padding:64px 32px;display:grid}.finale-brand[data-v-8676884b]{align-items:center;gap:24px;display:flex}.finale-brand>img[data-v-8676884b]{object-fit:contain;filter:grayscale()brightness(0)invert();width:124px;height:124px}.finale-brand>div[data-v-8676884b]{text-align:left;gap:3px;display:grid}.finale-brand strong[data-v-8676884b]{letter-spacing:-.04em;font-size:34px}.finale-brand span[data-v-8676884b]{color:#aeb7b0;font-size:13px}.fuli-finale>p[data-v-8676884b]{color:#b8c0ba;max-width:560px;margin-top:34px;font-size:12px;line-height:1.6}@media (width<=1180px){.credits-roll[data-v-8676884b]{padding:32px 28px}.credit-grid[data-v-8676884b]{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-grid a[data-v-8676884b]{padding:16px}}.product-principles[data-v-d823b02d]{background:#fff;border:1px solid #d4dad5;border-radius:9px;overflow:hidden}.principles-lede[data-v-d823b02d]{padding:44px 48px 38px}.principles-lede h3[data-v-d823b02d]{color:#26352d;letter-spacing:-.04em;max-width:720px;font-size:clamp(25px,3vw,38px);font-weight:650;line-height:1.12}.principles-lede p[data-v-d823b02d]{color:#66716a;max-width:820px;font-size:13px;line-height:1.75}.principles-lede h3+p[data-v-d823b02d]{margin-top:24px}.principles-lede p+p[data-v-d823b02d]{margin-top:10px}.principle-sequence[data-v-d823b02d]{border-top:1px solid #dde2de;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.principle-sequence article[data-v-d823b02d]{grid-template-columns:34px minmax(0,1fr);align-content:start;gap:16px;min-height:174px;padding:28px 32px;display:grid}.principle-sequence article[data-v-d823b02d]:nth-child(2n){border-left:1px solid #e2e6e2}.principle-sequence article[data-v-d823b02d]:nth-child(n+3){border-top:1px solid #e2e6e2}.principle-sequence article>span[data-v-d823b02d]{color:#98a19a;padding-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.principle-sequence h4[data-v-d823b02d],.principle-boundaries h4[data-v-d823b02d]{color:#344239;margin:0;font-size:14px;font-weight:680}.principle-sequence p[data-v-d823b02d],.principle-boundaries p[data-v-d823b02d]{color:#6c766f;margin-top:9px;font-size:11px;line-height:1.7}.principle-boundaries[data-v-d823b02d]{background:#f5f7f5;border-top:1px solid #d9dfda;padding:27px 32px 30px}.principle-boundaries>strong[data-v-d823b02d]{color:#77817a;letter-spacing:.1em;font-size:9px}.principle-boundaries>div[data-v-d823b02d]{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;display:grid}.principle-boundaries article[data-v-d823b02d]{min-width:0;padding:0 24px 0 28px;position:relative}.principle-boundaries article[data-v-d823b02d]:first-child{padding-left:0}.principle-boundaries article+article[data-v-d823b02d]{border-left:1px solid #dce2dd}.principle-boundaries i[data-v-d823b02d]{border:1.5px solid #577463;border-radius:50%;width:8px;height:8px;margin-bottom:12px;display:inline-block}.principle-boundaries i[data-boundary=authority][data-v-d823b02d]{border-radius:2px}.principle-boundaries i[data-boundary=scope][data-v-d823b02d]{border-radius:1px;transform:rotate(45deg)}@media (width<=1180px){.principles-lede[data-v-d823b02d]{padding:36px 34px 32px}.principle-sequence article[data-v-d823b02d]{padding:24px}.principle-boundaries article[data-v-d823b02d]{padding-inline:18px}}.about-view[data-v-6bd30c79]{background:#f7f8f6;padding-top:24px}.about-content[data-v-6bd30c79]{gap:18px;width:min(1100px,100%);margin:0 auto;display:grid}.about-labels-section[data-v-6bd30c79]{gap:14px;padding-top:22px;display:grid}.about-labels-section>header h3[data-v-6bd30c79]{color:#2e3c34;font-size:19px}.about-labels-section>header p[data-v-6bd30c79]{color:#78817b;max-width:720px;margin-top:7px;font-size:11px;line-height:1.6}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as e,N as t,T as n,V as r,Z as i,_ as a,a as o,at as s,b as c,nt as l,v as u,y as d}from"./i18n-BkJjUsz_.js";import{r as f}from"./console-C9HS-zbd.js";import{t as p}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as m,n as h}from"./client-v8XKgQji.js";function g(e){let t=/^employee\.([a-z][a-z0-9-]{0,63})$/.exec(e.agentId)?.[1];return t&&e.profile.capabilities.includes(`fuli.employee:${t}`)?t:null}var _=i([]),v=i(!1),y=i(``),b=``,x=null,S=0;async function C(e){if(!e)return[];let t=await h(`/api/employee-templates?${new URLSearchParams({personalSpaceId:e})}`);return Array.isArray(t.templates)?t.templates:[]}function w(e){if(e===b&&x)return x;let t=++S;return e!==b&&(_.value=[]),b=e,y.value=``,e?(v.value=!0,x=C(e).then(e=>{t===S&&(_.value=e)}).catch(e=>{t===S&&(_.value=[],y.value=T(e))}).finally(()=>{t===S&&(v.value=!1,x=null)}),x):(_.value=[],v.value=!1,Promise.resolve())}function T(e){let t=e instanceof Error?e.message:``;try{let e=JSON.parse(t);return e.code&&[`runtime_unavailable`,`assignment_required`,`project_not_found`,`identity_conflict`,`reactivation_required`,`assignment_scope_conflict`,`assignment_update_incomplete`].includes(e.code)?o(`employees.errors.${e.code}`):e.error||o(`employees.loadError`)}catch{return t||o(`employees.loadError`)}}var E={jefa:`/assets/jefa-avatar-Dew42td5.webp`,bole:`/assets/bole-avatar-CVIr-bU_.webp`};function D(e){return E[e]}var O=f(`agent-attention`,()=>{let e=i(``),t=i({}),n=i(0),r=i([]),a=i(0),o=i(``),s=i(!1),c=i(!1),l=i(``),u=0;async function d(){let i=++u;if(e.value){c.value=!0;try{let c=new URLSearchParams({personalSpaceId:e.value,status:`open`}),d=await h(`/api/agent-attention?${c}&limit=1`);if(i!==u)return;if(t.value=d.counts,n.value=d.total,s.value){o.value&&c.set(`agentId`,o.value);let e=await h(`/api/agent-attention?${c}&limit=100`);if(i!==u)return;r.value=e.items,a.value=e.total}l.value=``}catch(e){i===u&&(l.value=e instanceof Error?e.message:String(e))}finally{i===u&&(c.value=!1)}}}function f(i){e.value!==i&&(u++,e.value=i,t.value={},r.value=[],n.value=0,a.value=0,l.value=``,s.value=!1,c.value=!1,i&&d())}function p(e=``){o.value=e,r.value=[],a.value=0,s.value=!0,d()}async function g(){if(c.value)return;let t=++u;c.value=!0;try{let n=new URLSearchParams({personalSpaceId:e.value,status:`open`,limit:`100`,offset:String(r.value.length)});o.value&&n.set(`agentId`,o.value);let i=await h(`/api/agent-attention?${n}`);if(t!==u)return;let s=new Set(r.value.map(e=>e.requestId));r.value.push(...i.items.filter(e=>!s.has(e.requestId))),a.value=i.total}catch(e){t===u&&(l.value=String(e))}finally{t===u&&(c.value=!1)}}async function _(t,n){let r=e.value;await m(`/api/agent-attention/respond`,{personalSpaceId:r,personalProjectId:t.personalProjectId,requestId:t.requestId,expectedRevision:t.revision,response:n}),e.value===r&&await d()}return{spaceId:e,counts:t,total:n,items:r,filteredTotal:a,agentId:o,open:s,loading:c,error:l,setSpace:f,show:p,refresh:d,more:g,respond:_}}),k={"aria-hidden":`true`},A=p(n({__name:`AgentHand`,props:{agentId:{},passive:{type:Boolean}},setup(n){let i=n,f=O(),p=a(()=>i.agentId?f.counts[i.agentId]??0:f.total);function m(e){i.passive||(e.stopPropagation(),f.show(i.agentId))}return(i,a)=>p.value?(t(),d(e(n.passive?`span`:`button`),{key:0,type:n.passive?void 0:`button`,class:`agent-hand`,"aria-label":l(o)(`attention.count`,{count:p.value}),title:l(o)(`attention.count`,{count:p.value}),onClick:m},{default:r(()=>[a[0]||=u(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[u(`path`,{d:`M8 13V5a1.5 1.5 0 0 1 3 0v6-8a1.5 1.5 0 0 1 3 0v8-6a1.5 1.5 0 0 1 3 0v7-3a1.5 1.5 0 0 1 3 0v6c0 4-2 7-6 7h-1c-3 0-4-1-6-4l-3-4a1.6 1.6 0 0 1 2.5-2z`})],-1),u(`span`,k,s(p.value),1)]),_:1},8,[`type`,`aria-label`,`title`])):c(``,!0)}}),[[`__scopeId`,`data-v-6353cadb`]]);export{v as a,_ as c,y as i,C as l,O as n,T as o,D as r,g as s,A as t,w as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.agent-hand[data-v-6353cadb]{color:#685017;min-height:30px;font:inherit;vertical-align:middle;background:#f5efd9;border:1px solid #bdb28e;border-radius:7px;flex:none;align-items:center;gap:4px;padding:4px 7px;font-size:12px;font-weight:650;display:inline-flex}button.agent-hand[data-v-6353cadb]{cursor:pointer}.agent-hand svg[data-v-6353cadb]{width:18px;height:18px}.agent-hand[data-v-6353cadb]:focus-visible{outline-offset:3px;outline:2px solid #315c43}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,C as t,F as n,H as r,M as i,N as a,R as o,T as s,Y as c,Z as l,_ as u,a as d,at as f,b as p,d as m,h,j as ee,k as g,m as _,n as te,nt as v,rt as y,v as b,w as x,x as S,y as C,z as w}from"./i18n-BkJjUsz_.js";import{t as ne}from"./console-C9HS-zbd.js";import{t as T}from"./GrowthLoading-CCYPgE2f.js";import{t as E}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as D,n as O,r as re,t as ie}from"./client-v8XKgQji.js";import{t as k}from"./SearchableSelect-BjBDBVuZ.js";import{r as A,t as ae}from"./identity-74yGiMzO.js";var j=[`data-select-id`],M=[`aria-expanded`,`aria-controls`,`aria-label`,`aria-required`,`disabled`],N={class:`searchable-select-current`},P={class:`searchable-select-current-label`},F={key:0,class:`searchable-select-current-meta`},I=[`hidden`],L={key:0,class:`searchable-select-search`},R=[`placeholder`,`aria-label`],z=[`id`],B=[`aria-selected`,`disabled`,`onClick`],oe={class:`searchable-select-option-copy`},V={key:0},H={key:1,class:`searchable-select-empty`},se=s({__name:`SearchableMultiSelect`,props:{modelValue:{},options:{},label:{},controlId:{default:void 0},placeholder:{default:void 0},searchPlaceholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(t,{emit:s}){let c=t,g=s,x=l(null),C=l(null),ne=l(null),T=l(null),E=l(!1),D=l(!1),O=l(``),re=o().replace(/[^A-Za-z0-9_-]/g,``),ie=u(()=>`${c.controlId||`searchable-multi-select-${re}`}-options`),k=u(()=>new Set(c.modelValue)),A=u(()=>c.options.filter(({value:e})=>k.value.has(e))),ae=u(()=>A.value.length===0?c.placeholder??d(`common.searchableSelect.placeholder`):A.value.length===1?A.value[0].label:d(`common.searchableSelect.selectedCount`,{count:A.value.length})),se=u(()=>c.searchPlaceholder??d(`common.searchableSelect.searchPlaceholder`)),U=u(()=>c.searchable??c.options.length>5),W=u(()=>{let e=te(),t=O.value.trim().toLocaleLowerCase(e);return t?c.options.filter(n=>[n.label,n.value,n.meta,n.search].filter(Boolean).join(` `).toLocaleLowerCase(e).includes(t)):c.options});w(()=>c.disabled,e=>{e&&K()}),i(()=>document.addEventListener(`pointerdown`,pe)),ee(()=>document.removeEventListener(`pointerdown`,pe));async function ce(){E.value?K():await G()}async function G(){c.disabled||(O.value=``,ve(),E.value=!0,await e(),U.value?ne.value?.focus():_e()?.focus())}function K({restoreFocus:t=!1}={}){E.value=!1,D.value=!1,O.value=``,t&&e(()=>C.value?.focus())}function le(e){if(c.disabled||e.disabled)return;let t=k.value.has(e.value)?c.modelValue.filter(t=>t!==e.value):[...c.modelValue,e.value];g(`update:modelValue`,t),g(`change`,t)}function ue(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),E.value&&[`Enter`,` `].includes(e.key)?K():G())}function de(e){if(e.key===`Escape`){e.preventDefault(),K({restoreFocus:!0});return}if(e.key===`ArrowDown`){e.preventDefault(),ge()?.focus();return}e.key===`Enter`&&(e.preventDefault(),ge()?.click())}function fe(e){if(e.key===`Escape`){e.preventDefault(),K({restoreFocus:!0});return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=he(),n=t.indexOf(e.currentTarget);t[e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?Math.min(t.length-1,n+1):Math.max(0,n-1)]?.focus()}function pe(e){E.value&&!x.value?.contains(e.target)&&K()}function me(e){let t=e.relatedTarget;t&&x.value?.contains(t)||queueMicrotask(()=>{E.value&&!x.value?.contains(document.activeElement)&&K()})}function he(){return[...T.value?.querySelectorAll(`.searchable-select-option:not(:disabled)`)??[]]}function ge(){return he()[0]??null}function _e(){return he().find(e=>e.getAttribute(`aria-selected`)===`true`)??ge()}function ve(){let e=C.value?.getBoundingClientRect();D.value=!!(e&&window.innerHeight-e.bottom<270&&e.top>270)}return(e,i)=>(a(),S(`div`,{ref_key:`root`,ref:x,class:y([`searchable-select searchable-multi-select`,{open:E.value,"open-up":D.value,disabled:t.disabled}]),"data-select-id":t.controlId,onFocusout:me},[b(`button`,{ref_key:`trigger`,ref:C,type:`button`,class:`searchable-select-trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":E.value,"aria-controls":ie.value,"aria-label":t.label,"aria-required":t.required,disabled:t.disabled,onPointerdown:i[0]||=_(()=>{},[`stop`]),onClick:_(ce,[`stop`]),onKeydown:ue},[b(`span`,N,[b(`span`,P,f(ae.value),1),A.value.length>1?(a(),S(`small`,F,f(A.value.map(({label:e})=>e).join(` · `)),1)):p(``,!0)]),i[3]||=b(`i`,{class:`searchable-select-arrow`,"aria-hidden":`true`},null,-1)],40,M),b(`div`,{class:`searchable-select-panel`,hidden:!E.value},[U.value?(a(),S(`div`,L,[r(b(`input`,{ref_key:`searchInput`,ref:ne,"onUpdate:modelValue":i[1]||=e=>O.value=e,type:`search`,autocomplete:`off`,placeholder:se.value,"aria-label":v(d)(`common.searchableSelect.searchAria`,{label:t.label}),onKeydown:de},null,40,R),[[m,O.value]])])):p(``,!0),b(`div`,{id:ie.value,ref_key:`optionsList`,ref:T,class:`searchable-select-options`,role:`listbox`,"aria-multiselectable":`true`},[(a(!0),S(h,null,n(W.value,e=>(a(),S(`button`,{key:e.value,type:`button`,class:`searchable-select-option`,role:`option`,"aria-selected":k.value.has(e.value),disabled:e.disabled,onMousedown:i[2]||=_(()=>{},[`prevent`]),onClick:t=>le(e),onKeydown:fe},[b(`span`,oe,[b(`strong`,null,f(e.label),1),e.meta?(a(),S(`small`,V,f(e.meta),1)):p(``,!0)]),i[4]||=b(`i`,{class:`searchable-select-check`,"aria-hidden":`true`},null,-1)],40,B))),128))],8,z),W.value.length===0?(a(),S(`p`,H,f(v(d)(`common.searchableSelect.noMatches`)),1)):p(``,!0)],8,I)],42,j))}}),U={class:`text-field`},W=[`id`,`value`,`name`,`placeholder`,`disabled`,`required`,`rows`],ce=[`id`,`value`,`name`,`type`,`placeholder`,`disabled`,`required`],G=E(s({inheritAttrs:!1,__name:`TextField`,props:{modelValue:{},label:{},controlId:{default:void 0},type:{default:`text`},placeholder:{default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},multiline:{type:Boolean,default:!1},rows:{default:3},name:{default:void 0}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t;function r(e){n(`update:modelValue`,e.target.value)}return(t,n)=>(a(),S(`label`,U,[b(`span`,null,f(e.label),1),e.multiline?(a(),S(`textarea`,g({key:0},t.$attrs,{id:e.controlId,value:e.modelValue,name:e.name,placeholder:e.placeholder,disabled:e.disabled,required:e.required,rows:e.rows,onInput:r}),null,16,W)):(a(),S(`input`,g({key:1},t.$attrs,{id:e.controlId,value:e.modelValue,name:e.name,type:e.type,placeholder:e.placeholder,disabled:e.disabled,required:e.required,onInput:r}),null,16,ce))]))}}),[[`__scopeId`,`data-v-6c32205a`]]),K={class:`view connections-view`},le={class:`connection-intro`},ue=[`aria-label`],de=[`data-status`],fe={class:`service-state`},pe=[`data-status`],me={class:`connection-title-row`},he={class:`service-state`},ge={class:`external-knowledge-section`},_e={class:`section-title section-title-with-help`},ve=[`href`,`aria-label`,`title`],ye={class:`external-binding-count`},be={class:`external-binding-list`},xe=[`data-status`],Se={class:`external-binding-copy`},Ce={class:`external-binding-targets`},we=[`data-status`],Te={key:0},Ee={key:1},De={class:`external-binding-actions`},Oe=[`disabled`,`onClick`],ke=[`disabled`,`onClick`],Ae=[`disabled`,`onClick`],je=[`disabled`,`onClick`],Me={key:0,class:`external-binding-editor`},Ne={class:`external-target-mode-list`},Pe={class:`external-binding-editor-actions`},Fe=[`disabled`],Ie=[`disabled`,`onClick`],Le={key:0,class:`compact-empty`},Re={class:`wide-field`},ze={class:`trusted-code-badge`},Be=[`disabled`],Ve={key:0,class:`conflict-policy-section`},He={class:`section-title section-title-with-help`},Ue=[`href`,`aria-label`,`title`],We={class:`conflict-policy-controls`},Ge={key:2,role:`alert`},Ke={key:1,class:`connection-subscriptions`},qe={class:`section-title`},Je={class:`subscription-list`},Ye=[`disabled`,`onClick`],Xe={key:0,class:`empty-state`},Ze=[`disabled`],Qe=s({__name:`ConnectionsPage`,setup(e){let r=ne(),o=l(``),s=l(!1),m=l(``),g=l([]),y=l([]),E=l(!1),j=l(!1),M=l(``),N=l(null),P=l([]),F=l({}),I=l(``),L=l(`ask_human`),R=l(!1),z=l(!1),B=l(!1),oe=`ask_human`,V=0,H=null,U=c({name:``,connectorType:`mcp`,mode:`hybrid`,personalProjectIds:[],mcpTransport:`http`,mcpUrl:``,mcpCommand:``,mcpArgs:``,mcpTokenEnv:``,mcpResourcePrefix:``,notionTokenEnv:``,notionPageIds:``,notionDataSourceIds:``,feishuTokenEnv:``,feishuRegion:`cn`,feishuSpaceId:``,feishuRootNodeToken:``,feishuNodeTokens:``,feishuWebBaseUrl:``,retrievalUrl:``,retrievalTokenEnv:``,retrievalKnowledgeIds:``,retrievalScoreThreshold:`0.5`,customModule:``,customEnvironmentNames:``,customSourceJson:`{}`}),W=u(()=>r.state?.providers?.personal?.status===`ready`),ce=u(()=>r.state?.providers?.workspaces??[]),Qe=u(()=>ce.value.filter(({status:e})=>e===`ready`).length),$e=u(()=>{let e=r.state?.capabilities,t=[e?.browsePublicProjects?d(`pages.connections.publicCapability.discovery`):null,e?.subscribeProject?d(`pages.connections.publicCapability.subscription`):null,e?.publishProject?d(`pages.connections.publicCapability.publishing`):null,e?.submitKnowledge?d(`pages.connections.publicCapability.contribution`):null,e?.reviewProposals?d(`pages.connections.publicCapability.review`):null].filter(e=>!!e);return t.length?new Intl.ListFormat(te(),{style:`long`,type:`conjunction`}).format(t):d(`pages.connections.notAvailable`)}),et=u(()=>r.state?.subscriptions??[]),q=u(()=>r.state?.personalProjects??[]),tt=u(()=>It(`connect-external-knowledge`)),nt=u(()=>It(`external-knowledge-conflict-policy`)),rt=u(()=>new Set(et.value.map(({provider_url:e,project_id:t})=>`${e}::${t}`))),it=u(()=>(r.state?.projects??[]).filter(e=>!rt.value.has(ft(e)))),at=u(()=>it.value.map(e=>({value:ft(e),label:e.name,meta:`#${ae(e.id,26)}`,search:A(e.id)}))),ot=u(()=>g.value.map(e=>({value:e.type,label:e.name,meta:e.description}))),st=u(()=>q.value.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${ae(e.project_id,26)}`,search:A(e.project_id)}))),ct=u(()=>[{value:`hybrid`,label:d(`pages.connections.mode.hybrid`),disabled:!Y(U.connectorType,`hybrid`)},{value:`mirror`,label:d(`pages.connections.mode.mirror`),disabled:!Y(U.connectorType,`mirror`)},{value:`live`,label:d(`pages.connections.mode.live`),disabled:!Y(U.connectorType,`live`)}]),lt=u(()=>[{value:`http`,label:`Streamable HTTP`},{value:`stdio`,label:`stdio`}]),ut=u(()=>[{value:`cn`,label:`Feishu`},{value:`global`,label:`Lark`}]),dt=u(()=>[{value:`ask_human`,label:d(`pages.connections.askHuman`)},{value:`agent_decide`,label:d(`pages.connections.agentDecide`)}]);w(q,e=>{let t=new Set(e.map(({project_id:e})=>e)),n=e[0]?.project_id??``;U.personalProjectIds=U.personalProjectIds.filter(e=>t.has(e)),!U.personalProjectIds.length&&n&&(U.personalProjectIds=[n]),P.value=P.value.filter(e=>t.has(e)),t.has(I.value)||(I.value=n)},{immediate:!0}),w(()=>[r.activePersonalSpace?.id,I.value],()=>void Et(),{immediate:!0,flush:`sync`}),w(()=>U.connectorType,e=>{Y(e,U.mode)||(U.mode=kt(e))}),i(()=>void J()),ee(()=>{V+=1,H?.abort()});function ft(e){return`${e.providerUrl}::${e.id}`}async function pt(){let e=r.activePersonalSpace?.id,t=it.value.find(e=>ft(e)===o.value);if(!(!e||!t||s.value)){s.value=!0,m.value=`pages.connections.subscribing`;try{await D(`/api/subscriptions`,{personalSpaceId:e,projectId:t.id,providerUrl:t.providerUrl,projectName:t.name}),o.value=``,r.notify(d(`pages.connections.subscribed`,{name:t.name})),m.value=`pages.connections.loadingSubscriptions`,await r.refresh()}catch(e){r.reportError(e)}finally{s.value=!1}}}async function mt(e){let t=r.activePersonalSpace?.id;if(!(!t||s.value)){s.value=!0,m.value=`pages.connections.unsubscribing`;try{let n=new URLSearchParams({personalSpaceId:t,providerUrl:e.provider_url});await ie(`/api/subscriptions/${encodeURIComponent(e.project_id)}?${n}`),r.notify(d(`pages.connections.unsubscribed`,{name:e.project_name??e.project_id})),m.value=`pages.connections.loadingSubscriptions`,await r.refresh()}catch(e){r.reportError(e)}finally{s.value=!1}}}async function J(){j.value=!0;try{let[e,t]=await Promise.all([O(`/api/external-knowledge/connectors`),O(`/api/external-knowledge/bindings`)]);g.value=e,y.value=t}catch(e){r.reportError(e)}finally{j.value=!1}}async function ht(){let e=r.activePersonalSpace?.id;if(!(!e||!U.personalProjectIds.length||E.value)){E.value=!0,M.value=`pages.connections.creatingBinding`;try{let{connectorConfig:t,source:n}=gt();await D(`/api/external-knowledge/bindings`,{name:U.name.trim(),connectorType:U.connectorType,connectorConfig:t,source:n,targets:U.personalProjectIds.map(t=>({personalSpaceId:e,personalProjectId:t,mode:U.mode}))}),r.notify(d(`pages.connections.externalCreated`,{name:U.name.trim()})),U.name=``,await J()}catch(e){r.reportError(e)}finally{E.value=!1}}}function gt(){if(U.connectorType===`notion`)return{connectorConfig:{tokenEnv:$(U.notionTokenEnv,`Notion token env`)},source:{pageIds:Z(U.notionPageIds),dataSourceIds:Z(U.notionDataSourceIds)}};if(U.connectorType===`feishu`)return{connectorConfig:{accessTokenEnv:$(U.feishuTokenEnv,`Feishu token env`),region:U.feishuRegion},source:Q({spaceId:U.feishuSpaceId.trim(),rootNodeToken:U.feishuRootNodeToken.trim(),nodeTokens:Z(U.feishuNodeTokens),webBaseUrl:U.feishuWebBaseUrl.trim()})};if(U.connectorType===`retrieval_api`){let e=Number(U.retrievalScoreThreshold);if(!Number.isFinite(e)||e<0||e>1)throw TypeError(d(`pages.connections.scoreThresholdInvalid`));return{connectorConfig:Q({url:$(U.retrievalUrl,`Retrieval API URL`),tokenEnv:U.retrievalTokenEnv.trim(),scoreThreshold:e}),source:{knowledgeIds:Ft(U.retrievalKnowledgeIds,`Knowledge IDs`)}}}if(U.connectorType===`custom`){let e=JSON.parse(U.customSourceJson);if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(d(`pages.connections.customSourceObject`));return{connectorConfig:{module:$(U.customModule,`Custom connector module`),environmentNames:Z(U.customEnvironmentNames)},source:e}}return{connectorConfig:U.mcpTransport===`stdio`?Q({transport:`stdio`,command:U.mcpCommand.trim(),args:Z(U.mcpArgs)}):Q({transport:`http`,url:$(U.mcpUrl,`MCP URL`),tokenEnv:U.mcpTokenEnv.trim()}),source:Q({resourceUriPrefix:U.mcpResourcePrefix.trim()})}}async function _t(e){await yt(e,`check`)}async function vt(e){await yt(e,`sync`)}async function yt(e,t){if(!E.value){E.value=!0,M.value=t===`sync`?`pages.connections.syncingBinding`:`pages.connections.checkingBinding`;try{let n=await D(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}/${t}`,{});r.notify(d(t===`sync`&&n.skippedCredentials?`pages.connections.externalSyncedWithSkipped`:t===`sync`?`pages.connections.externalSynced`:`pages.connections.externalChecked`,{name:e.name,count:n.skippedCredentials??0})),await J()}catch(e){r.reportError(e)}finally{E.value=!1}}}async function bt(e){if(!E.value){E.value=!0,M.value=`pages.connections.disconnectingBinding`;try{await ie(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}`),r.notify(d(`pages.connections.externalDeleted`,{name:e.name})),await J()}catch(e){r.reportError(e)}finally{E.value=!1}}}function xt(e){let t=X(e);N.value=e.id,P.value=t.map(({personalProjectId:e})=>e),F.value=Object.fromEntries(t.map(({personalProjectId:e,mode:t})=>[e,t]))}function St(){N.value=null,P.value=[],F.value={}}function Ct(e){let t=y.value.find(({id:e})=>e===N.value);if(!t)return;let n=F.value,r=kt(t.connectorType);F.value=Object.fromEntries(e.map(e=>[e,n[e]??t.mode??r]))}function wt(e,t){F.value={...F.value,[e]:t}}async function Tt(e){let t=r.activePersonalSpace?.id;if(!(!t||!P.value.length||E.value)){E.value=!0,M.value=`pages.connections.savingBindingTargets`;try{await re(`/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}))}),r.notify(d(`pages.connections.projectsUpdated`,{name:e.name})),St(),await J()}catch(e){r.reportError(e)}finally{E.value=!1}}}async function Et(){let e=++V;if(H?.abort(),H=null,L.value=`ask_human`,B.value=!1,z.value=!1,!r.activePersonalSpace?.id||!I.value)return;let t=new AbortController;H=t,z.value=!0;try{let n=await O(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{signal:t.signal});if(e!==V)return;L.value=n.mode,oe=n.mode}catch{if(e!==V)return;B.value=!0}finally{e===V&&(z.value=!1,H=null)}}async function Dt(){let e=r.activePersonalSpace?.id;if(!e||!I.value||R.value||z.value||B.value)return;let t=V;R.value=!0;try{let n=await re(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{personalSpaceId:e,personalProjectId:I.value,mode:L.value});if(t!==V)return;L.value=n.mode,oe=n.mode,r.notify(d(`pages.connections.conflictSaved`))}catch(e){if(t!==V)return;L.value=oe,r.reportError(e)}finally{R.value=!1}}function Ot(e){return g.value.find(t=>t.type===e)?.name??e}function Y(e,t){let n=g.value.find(t=>t.type===e)?.capabilities;return!n?.length||(t===`live`||t===`hybrid`?n.includes(`retrieve`):!0)&&(t===`mirror`||t===`hybrid`?n.includes(`sync`):!0)}function kt(e){return[`hybrid`,`mirror`,`live`].find(t=>Y(e,t))??`live`}function At(e){return[`hybrid`,`mirror`,`live`].map(t=>({value:t,label:d(`pages.connections.mode.${t}`),disabled:!Y(e,t)}))}function X(e){return e.targets?.length?e.targets:[{id:e.id,...e.target,mode:e.mode,status:e.status,sync:e.sync}]}function jt(e){return X(e).some(({mode:e})=>e!==`live`)}function Mt(e){return q.value.find(({project_id:t})=>t===e)?.profile.name??e}function Nt(e){return X(e).find(({sync:e})=>e?.error)?.sync?.error??e.sync?.error}function Pt(e){return X(e).reduce((e,t)=>e+(t.sync?.skippedCredentials??0),0)}function Z(e){return[...new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean))]}function Ft(e,t){let n=Z(e);if(!n.length)throw TypeError(`${t} is required`);return n}function Q(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==``&&(!Array.isArray(e)||e.length>0)))}function $(e,t){if(!e.trim())throw TypeError(`${t} is required`);return e.trim()}function It(e){return`https://github.com/JevonsCode/fuli/blob/main/${te()===`zh-CN`?`README.zh-CN.md`:`README.md`}#${e}`}return(e,i)=>(a(),S(`section`,K,[b(`div`,le,[b(`h3`,null,f(v(d)(`pages.connections.title`)),1)]),b(`div`,{class:`service-connection-grid`,"aria-label":v(d)(`pages.connections.statusAria`)},[b(`article`,{class:`service-connection-card`,"data-status":W.value?`ready`:`error`},[b(`header`,null,[i[30]||=b(`span`,{class:`service-connection-icon local`,"aria-hidden":`true`},[b(`span`,{class:`nav-icon nav-icon-personal-project`})],-1),b(`div`,null,[b(`h3`,null,f(v(d)(`pages.connections.localGraphiti`)),1)]),b(`span`,fe,f(W.value?v(d)(`common.status.connected`):v(d)(`common.status.connectionError`)),1)]),b(`dl`,null,[b(`div`,null,[b(`dt`,null,f(v(d)(`pages.connections.storage`)),1),i[31]||=b(`dd`,null,`Neo4j`,-1)]),b(`div`,null,[b(`dt`,null,f(v(d)(`pages.connections.purpose`)),1),b(`dd`,null,f(v(d)(`pages.connections.localPurpose`)),1)])])],8,de),b(`article`,{class:`service-connection-card`,"data-status":v(r).publicRuntimeStatus},[b(`header`,null,[i[33]||=b(`span`,{class:`service-connection-icon public`,"aria-hidden":`true`},[b(`span`,{class:`nav-icon nav-icon-public-project`})],-1),b(`div`,me,[b(`h3`,null,f(v(d)(`pages.connections.publicService`)),1),i[32]||=b(`span`,{class:`feature-badge beta`},`BETA`,-1)]),b(`span`,he,f(v(r).publicRuntimeStatus===`ready`?v(d)(`common.status.connected`):v(r).publicRuntimeStatus===`error`?v(d)(`common.status.connectionError`):v(d)(`common.status.notConnected`)),1)]),b(`dl`,null,[b(`div`,null,[b(`dt`,null,f(v(d)(`pages.connections.currentStatus`)),1),b(`dd`,null,f(v(r).publicRuntimeStatus===`ready`?v(d)(`pages.connections.sharedServicesReady`,{count:Qe.value||ce.value.length}):v(d)(`pages.connections.notAvailable`)),1)]),b(`div`,null,[b(`dt`,null,f(v(d)(`pages.connections.purpose`)),1),b(`dd`,null,f($e.value),1)])])],8,pe)],8,ue),b(`section`,ge,[b(`div`,_e,[b(`h3`,null,f(v(d)(`pages.connections.externalTitle`)),1),b(`a`,{class:`section-help-link`,"data-testid":`external-knowledge-help`,href:tt.value,"aria-label":v(d)(`pages.connections.externalHelp`),title:v(d)(`pages.connections.externalHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,ve),b(`span`,ye,f(v(d)(`pages.connections.bindingCount`,{count:y.value.length})),1)]),j.value||E.value?(a(),C(T,{key:0,variant:`compact`,label:v(d)(j.value?`pages.connections.loadingBindings`:M.value)},null,8,[`label`])):p(``,!0),b(`div`,be,[(a(!0),S(h,null,n(y.value,e=>(a(),S(`article`,{key:e.id,class:`external-binding-row`,"data-status":e.status},[i[34]||=b(`i`,{"aria-hidden":`true`},null,-1),b(`div`,Se,[b(`strong`,null,f(e.name),1),b(`span`,null,f(Ot(e.connectorType)),1),b(`div`,Ce,[b(`b`,null,f(v(d)(`pages.connections.boundTo`)),1),(a(!0),S(h,null,n(X(e),e=>(a(),S(`span`,{key:e.id,class:`external-binding-target-chip`,"data-status":e.status},f(Mt(e.personalProjectId))+` · `+f(v(d)(`pages.connections.mode.${e.mode}`)),9,we))),128))]),Nt(e)?(a(),S(`small`,Te,f(Nt(e)),1)):Pt(e)?(a(),S(`small`,Ee,f(v(d)(`pages.connections.credentialsSkipped`,{count:Pt(e)})),1)):p(``,!0)]),b(`div`,De,[b(`button`,{class:`quiet-button`,type:`button`,disabled:E.value,onClick:t=>_t(e)},f(v(d)(`pages.connections.check`)),9,Oe),b(`button`,{class:`quiet-button external-sync-action`,type:`button`,disabled:E.value||!jt(e),onClick:t=>vt(e)},f(v(d)(`pages.connections.sync`)),9,ke),b(`button`,{class:`quiet-button`,type:`button`,disabled:E.value,onClick:t=>xt(e)},f(v(d)(`pages.connections.manageProjects`)),9,Ae),b(`button`,{class:`quiet-button danger`,type:`button`,disabled:E.value,onClick:t=>bt(e)},f(v(d)(`pages.connections.disconnect`)),9,je)]),N.value===e.id?(a(),S(`div`,Me,[b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.targetProjects`)),1),x(se,{modelValue:P.value,"onUpdate:modelValue":i[0]||=e=>P.value=e,"control-id":`external-projects-${e.id}`,label:v(d)(`pages.connections.targetProjects`),options:st.value,disabled:E.value,required:``,searchable:``,onChange:Ct},null,8,[`modelValue`,`control-id`,`label`,`options`,`disabled`])]),b(`div`,Ne,[(a(!0),S(h,null,n(P.value,t=>(a(),S(`div`,{key:t,class:`external-target-mode-row`},[b(`span`,null,f(Mt(t)),1),x(k,{"model-value":F.value[t]??e.mode,"control-id":`external-target-mode-${e.id}-${t}`,label:v(d)(`pages.connections.bindingMode`),options:At(e.connectorType),disabled:E.value,"onUpdate:modelValue":e=>wt(t,e)},null,8,[`model-value`,`control-id`,`label`,`options`,`disabled`,`onUpdate:modelValue`])]))),128))]),b(`div`,Pe,[b(`button`,{class:`quiet-button`,type:`button`,disabled:E.value,onClick:St},f(v(d)(`common.actions.cancel`)),9,Fe),b(`button`,{class:`primary-action`,type:`button`,disabled:E.value||!P.value.length,onClick:t=>Tt(e)},f(v(d)(`pages.connections.saveProjects`)),9,Ie)])])):p(``,!0)],8,xe))),128)),!j.value&&!y.value.length?(a(),S(`div`,Le,f(v(d)(`pages.connections.noExternalBindings`)),1)):p(``,!0)]),b(`form`,{class:`external-binding-form`,onSubmit:_(ht,[`prevent`])},[x(G,{modelValue:U.name,"onUpdate:modelValue":i[1]||=e=>U.name=e,label:v(d)(`pages.connections.bindingName`),"data-testid":`external-name`,required:``},null,8,[`modelValue`,`label`]),b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.connector`)),1),x(k,{modelValue:U.connectorType,"onUpdate:modelValue":i[2]||=e=>U.connectorType=e,"control-id":`external-connector`,label:v(d)(`pages.connections.connector`),options:ot.value,disabled:E.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.targetProjects`)),1),x(se,{modelValue:U.personalProjectIds,"onUpdate:modelValue":i[3]||=e=>U.personalProjectIds=e,"control-id":`external-projects`,label:v(d)(`pages.connections.targetProjects`),options:st.value,disabled:E.value,required:``,searchable:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.bindingMode`)),1),x(k,{modelValue:U.mode,"onUpdate:modelValue":i[4]||=e=>U.mode=e,"control-id":`external-binding-mode`,label:v(d)(`pages.connections.bindingMode`),options:ct.value,disabled:E.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),U.connectorType===`mcp`?(a(),S(h,{key:0},[b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.transport`)),1),x(k,{modelValue:U.mcpTransport,"onUpdate:modelValue":i[5]||=e=>U.mcpTransport=e,"control-id":`external-mcp-transport`,label:v(d)(`pages.connections.transport`),options:lt.value,disabled:E.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),U.mcpTransport===`http`?(a(),C(G,{key:0,modelValue:U.mcpUrl,"onUpdate:modelValue":i[6]||=e=>U.mcpUrl=e,label:`MCP URL`,"data-testid":`mcp-url`,type:`url`,required:``},null,8,[`modelValue`])):(a(),C(G,{key:1,modelValue:U.mcpCommand,"onUpdate:modelValue":i[7]||=e=>U.mcpCommand=e,label:v(d)(`pages.connections.command`),required:``},null,8,[`modelValue`,`label`])),U.mcpTransport===`stdio`?(a(),C(G,{key:2,modelValue:U.mcpArgs,"onUpdate:modelValue":i[8]||=e=>U.mcpArgs=e,label:v(d)(`pages.connections.arguments`)},null,8,[`modelValue`,`label`])):(a(),C(G,{key:3,modelValue:U.mcpTokenEnv,"onUpdate:modelValue":i[9]||=e=>U.mcpTokenEnv=e,label:v(d)(`pages.connections.tokenEnv`),"data-testid":`mcp-token-env`},null,8,[`modelValue`,`label`])),x(G,{modelValue:U.mcpResourcePrefix,"onUpdate:modelValue":i[10]||=e=>U.mcpResourcePrefix=e,label:v(d)(`pages.connections.resourcePrefix`),"data-testid":`mcp-resource-prefix`},null,8,[`modelValue`,`label`])],64)):U.connectorType===`notion`?(a(),S(h,{key:1},[x(G,{modelValue:U.notionTokenEnv,"onUpdate:modelValue":i[11]||=e=>U.notionTokenEnv=e,label:v(d)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),x(G,{modelValue:U.notionPageIds,"onUpdate:modelValue":i[12]||=e=>U.notionPageIds=e,label:`Page IDs`},null,8,[`modelValue`]),x(G,{modelValue:U.notionDataSourceIds,"onUpdate:modelValue":i[13]||=e=>U.notionDataSourceIds=e,label:`Data Source IDs`},null,8,[`modelValue`])],64)):U.connectorType===`feishu`?(a(),S(h,{key:2},[x(G,{modelValue:U.feishuTokenEnv,"onUpdate:modelValue":i[14]||=e=>U.feishuTokenEnv=e,label:v(d)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.region`)),1),x(k,{modelValue:U.feishuRegion,"onUpdate:modelValue":i[15]||=e=>U.feishuRegion=e,"control-id":`external-feishu-region`,label:v(d)(`pages.connections.region`),options:ut.value,disabled:E.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),x(G,{modelValue:U.feishuSpaceId,"onUpdate:modelValue":i[16]||=e=>U.feishuSpaceId=e,label:`Space ID`},null,8,[`modelValue`]),x(G,{modelValue:U.feishuRootNodeToken,"onUpdate:modelValue":i[17]||=e=>U.feishuRootNodeToken=e,label:`Root Node Token`},null,8,[`modelValue`]),x(G,{modelValue:U.feishuNodeTokens,"onUpdate:modelValue":i[18]||=e=>U.feishuNodeTokens=e,label:`Node Tokens`},null,8,[`modelValue`]),x(G,{modelValue:U.feishuWebBaseUrl,"onUpdate:modelValue":i[19]||=e=>U.feishuWebBaseUrl=e,label:`Web URL`,type:`url`},null,8,[`modelValue`])],64)):U.connectorType===`retrieval_api`?(a(),S(h,{key:3},[x(G,{modelValue:U.retrievalUrl,"onUpdate:modelValue":i[20]||=e=>U.retrievalUrl=e,label:v(d)(`pages.connections.retrievalUrl`),type:`url`,required:``},null,8,[`modelValue`,`label`]),x(G,{modelValue:U.retrievalTokenEnv,"onUpdate:modelValue":i[21]||=e=>U.retrievalTokenEnv=e,label:v(d)(`pages.connections.tokenEnv`)},null,8,[`modelValue`,`label`]),x(G,{modelValue:U.retrievalKnowledgeIds,"onUpdate:modelValue":i[22]||=e=>U.retrievalKnowledgeIds=e,label:v(d)(`pages.connections.knowledgeIds`),required:``},null,8,[`modelValue`,`label`]),x(G,{modelValue:U.retrievalScoreThreshold,"onUpdate:modelValue":i[23]||=e=>U.retrievalScoreThreshold=e,label:v(d)(`pages.connections.scoreThreshold`),inputmode:`decimal`,required:``},null,8,[`modelValue`,`label`])],64)):(a(),S(h,{key:4},[x(G,{modelValue:U.customModule,"onUpdate:modelValue":i[24]||=e=>U.customModule=e,label:v(d)(`pages.connections.module`),required:``},null,8,[`modelValue`,`label`]),x(G,{modelValue:U.customEnvironmentNames,"onUpdate:modelValue":i[25]||=e=>U.customEnvironmentNames=e,label:v(d)(`pages.connections.environmentNames`)},null,8,[`modelValue`,`label`]),b(`div`,Re,[x(G,{modelValue:U.customSourceJson,"onUpdate:modelValue":i[26]||=e=>U.customSourceJson=e,label:v(d)(`pages.connections.sourceJson`),multiline:``,required:``},null,8,[`modelValue`,`label`])]),b(`span`,ze,f(v(d)(`pages.connections.trustedCode`)),1)],64)),b(`button`,{class:`primary-action external-create-action`,type:`submit`,disabled:E.value||!q.value.length||!U.personalProjectIds.length},[i[35]||=b(`span`,{class:`external-create-action-icon`,"aria-hidden":`true`},null,-1),b(`span`,null,f(v(d)(`pages.connections.connect`)),1)],8,Be)],32)]),q.value.length?(a(),S(`section`,Ve,[b(`div`,He,[b(`h3`,null,f(v(d)(`pages.connections.conflictTitle`)),1),b(`a`,{class:`section-help-link`,"data-testid":`conflict-policy-help`,href:nt.value,"aria-label":v(d)(`pages.connections.conflictHelp`),title:v(d)(`pages.connections.conflictHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,Ue)]),b(`div`,We,[b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.targetProject`)),1),x(k,{modelValue:I.value,"onUpdate:modelValue":i[27]||=e=>I.value=e,"control-id":`external-conflict-project`,label:v(d)(`pages.connections.targetProject`),options:st.value,disabled:R.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),b(`label`,null,[b(`span`,null,f(v(d)(`pages.connections.conflictAction`)),1),x(k,{modelValue:L.value,"onUpdate:modelValue":i[28]||=e=>L.value=e,"control-id":`external-conflict-mode`,label:v(d)(`pages.connections.conflictAction`),options:dt.value,disabled:R.value||z.value||B.value||!I.value,required:``,onChange:Dt},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),z.value?(a(),C(T,{key:0,variant:`compact`,label:v(d)(`pages.connections.loadingConflictPolicy`)},null,8,[`label`])):p(``,!0),R.value?(a(),C(T,{key:1,variant:`inline`,label:v(d)(`pages.connections.savingConflictPolicy`)},null,8,[`label`])):B.value?(a(),S(`div`,Ge,[b(`p`,null,f(v(d)(`common.errors.loadFailed`)),1),b(`button`,{class:`secondary-action`,type:`button`,onClick:Et},f(v(d)(`common.actions.retry`)),1)])):p(``,!0)])):p(``,!0),v(r).state?.capabilities?.subscribeProject?(a(),S(`section`,Ke,[b(`div`,qe,[b(`h3`,null,[t(f(v(d)(`pages.connections.subscriptionsTitle`))+` `,1),i[36]||=b(`span`,{class:`feature-badge beta`},`BETA`,-1)])]),s.value?(a(),C(T,{key:0,variant:`inline`,label:v(d)(m.value)},null,8,[`label`])):p(``,!0),b(`div`,Je,[(a(!0),S(h,null,n(et.value,e=>(a(),S(`div`,{key:`${e.provider_url}:${e.project_id}`,class:`subscription-row`},[i[37]||=b(`span`,null,`↗`,-1),b(`div`,null,[b(`strong`,null,f(e.project_name??e.project_id),1),b(`span`,null,f(v(d)(`pages.connections.sharedProject`)),1)]),b(`button`,{class:`secondary-action subscription-action`,type:`button`,disabled:s.value,onClick:t=>mt(e)},f(v(d)(`pages.connections.unsubscribe`)),9,Ye)]))),128)),et.value.length?p(``,!0):(a(),S(`div`,Xe,f(v(d)(`pages.connections.noSubscriptions`)),1))]),b(`form`,{class:`subscription-form`,onSubmit:_(pt,[`prevent`])},[x(k,{modelValue:o.value,"onUpdate:modelValue":i[29]||=e=>o.value=e,options:at.value,label:v(d)(`pages.connections.sharedProjectLabel`),placeholder:v(d)(`pages.connections.choosePublicProject`),searchable:``,required:``,disabled:s.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`]),b(`button`,{type:`submit`,disabled:s.value||!o.value||!v(r).activePersonalSpace},f(v(d)(`pages.connections.subscribe`)),9,Ze)],32)])):p(``,!0)]))}});export{Qe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.employee-recruit-dialog[data-v-53eaa264]{color:#25392e;background:#fff;border:0;border-radius:16px;width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);margin:auto;padding:0;font-size:14px;line-height:1.6;overflow:hidden;box-shadow:0 20px 70px #12291c30}.employee-recruit-dialog[open][data-v-53eaa264]{flex-direction:column;display:flex}.employee-recruit-dialog>form[data-v-53eaa264]{flex-direction:column;min-height:0;display:flex}.employee-recruit-body[data-v-53eaa264]{overscroll-behavior:contain;min-height:0;padding:0 28px 20px;overflow-y:auto}.employee-recruit-dialog[data-v-53eaa264]>:is(p,.employee-message){margin:0 28px 28px}.employee-recruit-dialog[data-v-53eaa264]::backdrop{background:#14291f52}.employee-recruit-heading[data-v-53eaa264]{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;display:flex}.employee-recruit-heading h2[data-v-53eaa264]{margin:0;font-size:20px;line-height:1.4}.employee-profile[data-v-53eaa264]{align-items:center;gap:16px;margin-bottom:12px;display:flex}.employee-profile h3[data-v-53eaa264]{margin:0 0 4px;font-size:21px;line-height:1.35}.employee-profile h3 span[data-v-53eaa264]{color:#5a6960;margin-left:8px;font-size:13px;font-weight:500;display:inline-block}.employee-profile p[data-v-53eaa264],.employee-success p[data-v-53eaa264]{color:#536259;margin:0}.employee-avatar[data-v-53eaa264]{color:#315c43;background:#e7eee9;border-radius:14px;flex:0 0 52px;place-items:center;height:52px;font-size:27px;font-weight:650;display:grid;overflow:hidden}.employee-avatar img[data-v-53eaa264]{object-fit:cover;width:100%;height:100%}.employee-specialties[data-v-53eaa264]{color:#59695f;margin:0 0 24px;font-size:12px}.employee-scope-mode[data-v-53eaa264]{background:#f0f3f1;border-radius:10px;gap:4px;margin:0 0 10px;padding:4px;display:flex}.employee-scope-mode button[data-v-53eaa264]{color:#52645a;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:8px 10px;font-size:13px}.employee-scope-mode button[aria-checked=true][data-v-53eaa264]{color:#294f39;background:#fff;font-weight:600;box-shadow:0 1px 3px #142b1e17}.employee-scope-mode button[data-v-53eaa264]:hover:not(:disabled){color:#234c34;background:#e6eee8}.employee-scope-mode button[data-v-53eaa264]:focus-visible{outline-offset:2px;outline:2px solid #356448}.employee-scope-mode button[data-v-53eaa264]:disabled{opacity:.55;cursor:default}.employee-scope-rule[data-v-53eaa264]{color:#526259;margin:0 0 16px;font-size:13px}.employee-title-settings[data-v-53eaa264]{margin-top:24px}.employee-title-settings h3[data-v-53eaa264]{margin:0 0 12px;font-size:14px;font-weight:600}.employee-title-controls[data-v-53eaa264]{grid-template-columns:1.2fr 1fr;gap:12px;display:grid}.employee-title-controls .employee-picker-field[data-v-53eaa264]{min-width:0;margin-bottom:8px}.employee-title-preview[data-v-53eaa264]{color:#5a685f;overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.employee-title-preview span[data-v-53eaa264]{color:#304c3b}.employee-picker-field[data-v-53eaa264]{color:#33483c;gap:7px;margin-bottom:18px;font-size:13px;display:grid}.employee-picker-field[data-v-53eaa264] .searchable-select{width:100%}.employee-picker-field[data-v-53eaa264] .searchable-select-trigger{width:100%;min-height:42px}.employee-title-controls[data-v-53eaa264] .searchable-select-panel{box-sizing:border-box;width:100%;min-width:0}.employee-title-controls[data-v-53eaa264] .searchable-select-option-copy strong{white-space:normal;overflow-wrap:anywhere}.employee-permissions[data-v-53eaa264]{margin-top:20px;font-size:12px}.employee-permissions strong[data-v-53eaa264]{color:#33483c;font-weight:600}.employee-permissions ul[data-v-53eaa264]{flex-wrap:wrap;gap:4px 18px;margin:6px 0;padding-left:16px;display:flex}.employee-permissions p[data-v-53eaa264],.employee-muted[data-v-53eaa264]{color:#58675d;margin-top:8px;font-size:12px}.employee-runtime[data-v-53eaa264]{color:#356448;margin:20px 0 0;font-size:12px}.employee-runtime.is-warning[data-v-53eaa264]{color:#80501e}.employee-error[data-v-53eaa264]{color:#a13e37;margin-top:16px}.employee-success[data-v-53eaa264]{color:#306344;margin-top:18px}.employee-recruit-actions[data-v-53eaa264]{background:#f7f9f7;flex:none;justify-content:flex-end;align-items:center;gap:12px;padding:16px 28px;display:flex}.employee-recruit-dialog .quiet-button[data-v-53eaa264]{color:#536259;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:13px}.employee-recruit-dialog .quiet-button[data-v-53eaa264]:hover:not(:disabled){background:#edf2ee}.employee-recruit-dialog .quiet-button[data-v-53eaa264]:focus-visible{outline-offset:2px;outline:2px solid #356448}.employee-primary[data-v-53eaa264]{color:#fff;min-height:42px;font:inherit;cursor:pointer;background:#315c43;border:0;border-radius:9px;justify-content:center;align-items:center;padding:9px 20px;font-weight:600;text-decoration:none;display:inline-flex}.employee-primary[data-v-53eaa264]:hover:not(:disabled){background:#244b34}.employee-primary[data-v-53eaa264]:disabled{color:#59675e;cursor:default;background:#e1e7e3}.employee-primary[data-v-53eaa264]:focus-visible,.employee-recruit-dialog a[data-v-53eaa264]:focus-visible{outline-offset:3px;outline:2px solid #356448}.employee-message[data-v-53eaa264]{justify-items:start;gap:12px;display:grid}@media (width<=540px){.employee-recruit-heading[data-v-53eaa264]{padding:18px 20px}.employee-recruit-body[data-v-53eaa264]{padding:0 20px 18px}.employee-recruit-actions[data-v-53eaa264]{padding:14px 20px}.employee-recruit-actions .employee-primary[data-v-53eaa264]{flex:1}.employee-profile[data-v-53eaa264]{align-items:flex-start}.employee-profile h3 span[data-v-53eaa264]{margin:2px 0 0;display:block}.employee-title-controls[data-v-53eaa264]{grid-template-columns:minmax(0,1fr);gap:4px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,F as t,N as n,T as r,V as i,Z as a,_ as o,a as s,at as c,b as l,h as u,m as ee,nt as d,rt as te,v as f,w as p,x as m,y as h,z as g}from"./i18n-BkJjUsz_.js";import{t as _}from"./GrowthLoading-CCYPgE2f.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as y}from"./vue-router-Cw4QZxM1.js";import{i as ne}from"./client-v8XKgQji.js";import{c as re,l as ie,o as b,r as ae,u as oe}from"./AgentHand-D5pOgVjJ.js";import{t as se}from"./useModalDialog-DrLhqtjR.js";import{n as ce}from"./paths-CDREouhi.js";import{t as x}from"./SearchableSelect-BjBDBVuZ.js";import{t as le}from"./ProjectScopePicker-BcPtIcv8.js";var ue={class:`employee-recruit-heading`},de={id:`employee-recruit-title`},fe=[`disabled`],pe={key:1,role:`alert`,class:`employee-message`},me={key:2},he={class:`employee-recruit-body`},ge={key:0,class:`employee-picker-field`},_e={class:`employee-profile`},ve={class:`employee-avatar`,"aria-hidden":`true`},ye=[`src`],be={class:`employee-specialties`},xe=[`aria-label`],Se=[`data-scope`,`aria-checked`,`tabindex`,`disabled`,`onClick`],Ce={key:3,class:`employee-scope-rule`,role:`status`},we={key:4,class:`employee-muted`},Te={key:5,class:`employee-muted`},Ee={key:6,class:`employee-muted`},De=[`aria-label`],Oe={class:`employee-title-controls`},ke={class:`employee-picker-field`},Ae={class:`employee-picker-field`},je={class:`employee-title-preview`},Me={class:`employee-muted`},Ne=[`aria-label`],Pe={key:9,class:`employee-error`,role:`alert`},Fe=[`disabled`],Ie={key:11,class:`employee-success`,role:`status`},Le={class:`employee-recruit-actions`},Re=[`disabled`],ze=[`disabled`],S=v(r({__name:`EmployeeRecruitDialog`,props:{open:{type:Boolean},personalSpaceId:{},projects:{},defaultProjectId:{},defaultProjectIds:{},templateId:{}},emits:[`close`,`recruited`],setup(r,{emit:v}){let S=r,C=v,w=a([]),T=a([]),E=a(`selected`),D=a([]),O=a(`auto`),k=a(`emoji`),A=a(``),j=a(``),M=a(!1),N=a(!1),P=a(``),F=a(!1),I=a(``),L=a(null),R=a([]),z=a(``),{dialogRef:Be,initialFocusRef:Ve,onCancel:He,onKeydown:Ue}=se(()=>S.open,Q),B=o(()=>R.value),V=o(()=>S.templateId?B.value.find(e=>e.id===S.templateId):B.value.find(e=>e.id===P.value)??B.value[0]),We=o(()=>V.value?.agentId?s(`employees.manageProjectsTitle`,{name:V.value.name}):s(`employees.recruit`)),H=o(()=>S.projects.filter(e=>e.profile.lifecycle!==`archived`).map(e=>({id:e.project_id,name:e.profile.name}))),U=o(()=>V.value?.management!==void 0),W=o({get:()=>E.value===`all`?H.value.filter(e=>!D.value.includes(e.id)).map(e=>e.id):w.value,set:e=>{if(E.value===`all`){let t=new Set(H.value.map(e=>e.id));D.value=[...D.value.filter(e=>!t.has(e)),...H.value.filter(t=>!e.includes(t.id)).map(e=>e.id)]}else w.value=e}}),G=o(()=>({mode:E.value,projectIds:E.value===`selected`?[...w.value].sort():[],excludedProjectIds:E.value===`all`?[...D.value].sort():[],titleMode:O.value,titleStyle:k.value})),Ge=o(()=>[`auto`,`suggest`,`off`].map(e=>({value:e,label:s(`employees.titles.${e}`)}))),Ke=o(()=>[`emoji`,`text`].map(e=>({value:e,label:s(`employees.titles.${e}`)}))),K=o(()=>new Set(T.value)),qe=o(()=>[...K.value].filter(e=>!W.value.includes(e))),q=o(()=>!!(V.value?.agentStatus&&V.value.agentStatus!==`active`)),J=o(()=>V.value?.agentStatus===`active`&&(U.value?JSON.stringify(G.value)===A.value&&(E.value===`all`||w.value.length===K.value.size&&w.value.every(e=>K.value.has(e))):w.value.length===K.value.size&&w.value.every(e=>K.value.has(e)))),Je=o(()=>F.value?s(`employees.recruiting`):q.value?s(`employees.rehire`,{name:V.value?.name??``}):J.value||V.value?.agentId?s(`employees.assign`):s(`employees.recruitName`,{name:V.value?.name??``})),Ye=o(()=>V.value&&W.value.length?`/employees/${encodeURIComponent(V.value.id)}?project=${encodeURIComponent(W.value[0])}`:``),Y=0;g([()=>S.open,()=>S.personalSpaceId,()=>S.templateId],([e])=>{Y+=1,e&&Z(!0)},{immediate:!0}),g(P,()=>{S.open&&!M.value&&X(!0)}),g(G,()=>{I.value=N.value?I.value:``,L.value=null},{flush:`sync`});function X(e=!1){let t=new Set(H.value.map(e=>e.id));T.value=[...new Set((V.value?.assignments??[]).filter(e=>e.status===`active`&&t.has(e.personalProjectId)).map(e=>e.personalProjectId))];let n=e&&!V.value?.agentId?S.defaultProjectIds??(S.defaultProjectId?[S.defaultProjectId]:[]):[];w.value=[...new Set([...T.value,...n.filter(e=>t.has(e))])];let r=V.value?.management;E.value=r?.mode??`selected`,D.value=[...r?.excludedProjectIds??[]],O.value=r?.titleMode??`auto`,k.value=r?.titleStyle??`emoji`,r?.mode===`selected`&&V.value?.agentId&&(w.value=r.projectIds.filter(e=>t.has(e))),r?.mode===`all`&&V.value?.agentId&&(T.value=[...W.value]),A.value=JSON.stringify(G.value),j.value=V.value?.assignmentsVersion??``,N.value=!1,I.value=``,L.value=null}async function Z(e=!1){let t=++Y;M.value=!0,R.value=[],z.value=``;try{let n=await ie(S.personalSpaceId);if(t!==Y||!S.open)return;R.value=n,X(e)}catch(e){t===Y&&S.open&&(R.value=[],z.value=b(e))}finally{t===Y&&(M.value=!1)}}function Q(){F.value||C(`close`)}async function Xe(){if(!V.value||V.value.identityConflict||!S.personalSpaceId||F.value||M.value||N.value||!j.value||J.value)return;F.value=!0,I.value=``;let e=V.value.id;try{let t=await ne(`/api/employee-templates/${encodeURIComponent(e)}/recruit`,{personalSpaceId:S.personalSpaceId,...U.value?{management:G.value}:{personalProjectIds:[...w.value]},replaceAssignments:!0,expectedAssignmentsVersion:j.value,...q.value?{reactivate:!0}:{}});await oe(S.personalSpaceId),R.value=[...re.value],X(),L.value=t,C(`recruited`,t)}catch(e){I.value=b(e);try{let t=JSON.parse(e instanceof Error?e.message:``);N.value=t.code===`assignment_scope_conflict`||t.code===`assignment_update_incomplete`}catch{}}finally{F.value=!1}}function $(e){e===`selected`&&(w.value=[...W.value]),E.value=e}function Ze(e){if(!(F.value||M.value||N.value)&&[`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){e.preventDefault();let t=e.key===`Home`?`all`:e.key===`End`||E.value===`all`?`selected`:`all`;$(t),e.currentTarget.querySelector(`[data-scope="${t}"]`)?.focus()}}return(a,o)=>r.open?(n(),m(`dialog`,{key:0,ref_key:`dialogRef`,ref:Be,class:`employee-recruit-dialog`,"aria-modal":`true`,"aria-labelledby":`employee-recruit-title`,onCancel:o[6]||=(...e)=>d(He)&&d(He)(...e),onKeydown:o[7]||=(...e)=>d(Ue)&&d(Ue)(...e)},[f(`header`,ue,[f(`h2`,de,c(We.value),1),f(`button`,{ref_key:`initialFocusRef`,ref:Ve,type:`button`,class:`quiet-button`,disabled:F.value,onClick:Q},c(d(s)(`employees.close`)),9,fe)]),M.value&&!B.value.length?(n(),h(_,{key:0,variant:`compact`,label:d(s)(`employees.loading`)},null,8,[`label`])):z.value?(n(),m(`div`,pe,[f(`p`,null,c(z.value),1),f(`button`,{class:`quiet-button`,type:`button`,onClick:o[0]||=e=>Z(!0)},c(d(s)(`employees.retry`)),1)])):V.value?(n(),m(`form`,{key:3,onSubmit:ee(Xe,[`prevent`])},[f(`div`,he,[B.value.length>1&&!S.templateId?(n(),m(`div`,ge,[f(`span`,null,c(d(s)(`employees.choose`)),1),p(x,{modelValue:P.value,"onUpdate:modelValue":o[1]||=e=>P.value=e,"control-id":`employee-template`,label:d(s)(`employees.choose`),options:B.value.map(e=>({value:e.id,label:e.name,meta:e.role})),disabled:F.value||M.value},null,8,[`modelValue`,`label`,`options`,`disabled`])])):l(``,!0),f(`div`,_e,[f(`span`,ve,[d(ae)(V.value.id)?(n(),m(`img`,{key:0,src:d(ae)(V.value.id),alt:``},null,8,ye)):(n(),m(u,{key:1},[e(c(V.value.name.slice(0,1)),1)],64))]),f(`div`,null,[f(`h3`,null,[e(c(V.value.name)+` `,1),f(`span`,null,c(V.value.role),1)]),f(`p`,null,c(V.value.description),1)])]),f(`p`,be,c(V.value.capabilities.join(` · `)),1),M.value?(n(),h(_,{key:1,variant:`compact`,label:d(s)(`employees.loadingScope`)},null,8,[`label`])):l(``,!0),U.value?(n(),m(`div`,{key:2,class:`employee-scope-mode`,role:`radiogroup`,"aria-label":d(s)(`employees.scope.rule`),onKeydown:Ze},[(n(),m(u,null,t([`all`,`selected`],e=>f(`button`,{key:e,type:`button`,role:`radio`,"data-scope":e,"aria-checked":E.value===e,tabindex:E.value===e?0:-1,disabled:F.value||M.value||N.value,onClick:t=>$(e)},c(d(s)(`employees.scope.${e===`all`?`continuousAll`:`onlySelected`}`)),9,Se)),64))],40,xe)):l(``,!0),U.value?(n(),m(`p`,Ce,c(E.value===`all`?d(s)(`employees.scope.allHint`,{name:V.value.name}):d(s)(`employees.scope.selectedHint`)),1)):l(``,!0),p(le,{modelValue:W.value,"onUpdate:modelValue":o[2]||=e=>W.value=e,projects:H.value,inline:``,hint:E.value===`all`?d(s)(`employees.scope.excludeHint`):void 0,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`projects`,`hint`,`disabled`]),E.value===`all`&&D.value.length?(n(),m(`p`,we,c(d(s)(`employees.scope.excludedCount`,{count:D.value.length})),1)):l(``,!0),H.value.length?l(``,!0):(n(),m(`p`,Te,[e(c(d(s)(`employees.noProjects`))+` `,1),p(d(y),{to:d(ce)(r.personalSpaceId,`directory`),onClick:Q},{default:i(()=>[e(c(d(s)(`employees.createProject`)),1)]),_:1},8,[`to`])])),qe.value.length&&!L.value?(n(),m(`p`,Ee,c(d(s)(`employees.scopeRemoved`,{count:qe.value.length})),1)):l(``,!0),U.value&&V.value.permissions.includes(`session.title`)?(n(),m(`section`,{key:7,class:`employee-title-settings`,"aria-label":d(s)(`employees.titles.heading`)},[f(`h3`,null,c(d(s)(`employees.titles.heading`)),1),f(`div`,Oe,[f(`div`,ke,[f(`span`,null,c(d(s)(`employees.titles.mode`)),1),p(x,{modelValue:O.value,"onUpdate:modelValue":o[3]||=e=>O.value=e,"control-id":`employee-title-mode`,label:d(s)(`employees.titles.mode`),options:Ge.value,disabled:F.value||M.value||N.value},null,8,[`modelValue`,`label`,`options`,`disabled`])]),f(`div`,Ae,[f(`span`,null,c(d(s)(`employees.titles.style`)),1),p(x,{modelValue:k.value,"onUpdate:modelValue":o[4]||=e=>k.value=e,"control-id":`employee-title-style`,label:d(s)(`employees.titles.style`),options:Ke.value,disabled:F.value||M.value||N.value||O.value===`off`},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),f(`p`,je,[e(c(d(s)(`employees.titles.example`))+` `,1),f(`span`,null,`【P1|`+c(k.value===`emoji`?`🔧 `:``)+`FIX|`+c(d(s)(`employees.titles.exampleTask`))+`】`,1)]),f(`p`,Me,c(d(s)(`employees.titles.boundary`)),1)],8,De)):l(``,!0),f(`section`,{class:`employee-permissions`,"aria-label":d(s)(`employees.permissions`)},[f(`strong`,null,c(d(s)(`employees.permissions`)),1),f(`ul`,null,[(n(!0),m(u,null,t(V.value.permissions,e=>(n(),m(`li`,{key:e},c(e===`board.read`?d(s)(`employees.boardRead`):e===`board.write`?d(s)(`employees.boardWrite`):e===`session.title`?d(s)(`employees.titles.heading`):e),1))),128))]),f(`p`,null,c(d(s)(`employees.noExecutor`)),1)],8,Ne),V.value.runtime?(n(),m(`p`,{key:8,class:te([`employee-runtime`,{"is-warning":V.value.runtimeStatus!==`ready`}])},c(V.value.runtimeStatus===`ready`?d(s)(`employees.hostReady`):d(s)(`employees.installRequired`)),3)):l(``,!0),I.value||V.value.identityConflict?(n(),m(`p`,Pe,c(I.value||d(s)(`employees.errors.identity_conflict`)),1)):l(``,!0),N.value?(n(),m(`button`,{key:10,type:`button`,class:`quiet-button`,disabled:M.value,onClick:o[5]||=e=>Z()},c(d(s)(`employees.reloadScope`)),9,Fe)):l(``,!0),L.value?(n(),m(`div`,Ie,[f(`strong`,null,c(d(s)(`employees.scopeSaved`)),1),f(`p`,null,c(E.value===`all`?d(s)(`employees.scope.successAll`,{count:W.value.length}):W.value.length?d(s)(`employees.successMultiple`,{count:W.value.length}):d(s)(`employees.successUnassigned`)),1)])):l(``,!0)]),f(`footer`,Le,[f(`button`,{class:`quiet-button`,type:`button`,disabled:F.value,onClick:Q},c(d(s)(`employees.cancel`)),9,Re),J.value&&Ye.value&&!F.value&&!M.value&&!N.value&&V.value.runtimeStatus===`ready`?(n(),h(d(y),{key:0,class:`employee-primary`,to:Ye.value,onClick:Q},{default:i(()=>[e(c(d(s)(`employees.open`)),1)]),_:1},8,[`to`])):(n(),m(`button`,{key:1,class:`employee-primary`,type:`submit`,disabled:F.value||M.value||N.value||!j.value||J.value||V.value.identityConflict||!r.personalSpaceId},[F.value?(n(),h(_,{key:0,variant:`inline`,label:Je.value},null,8,[`label`])):(n(),m(u,{key:1},[e(c(Je.value),1)],64))],8,ze))])],32)):(n(),m(`p`,me,c(d(s)(`employees.noTemplates`)),1))],544)):l(``,!0)}}),[[`__scopeId`,`data-v-53eaa264`]]);export{S as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{C as e,F as t,H as n,N as r,T as i,V as a,Z as o,_ as s,a as c,at as l,b as u,d,h as f,m as p,nt as m,u as h,v as g,w as _,x as v,y,z as b}from"./i18n-BkJjUsz_.js";import{t as x}from"./console-C9HS-zbd.js";import{t as ee}from"./GrowthLoading-CCYPgE2f.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{h as C,m as w}from"./useApi-CROJJdhE-BBUO_YEu.js";import{t as T}from"./vue-router-Cw4QZxM1.js";import{i as E,n as D,r as O}from"./client-v8XKgQji.js";import{a as k,c as A,i as j,o as M,r as N,t as P,u as F}from"./AgentHand-D5pOgVjJ.js";import{t as I}from"./useModalDialog-DrLhqtjR.js";/* empty css */import{t as L}from"./ProjectScopePicker-BcPtIcv8.js";import{i as te,r as R,t as z}from"./shared-report-CLg82y4D.js";import{t as ne}from"./EmployeeRecruitDialog-DONxXnd2.js";var B=[`aria-busy`],V={key:0,class:`bole-alert`,role:`alert`},re={class:`bole-header`},H={class:`bole-heading`},ie={id:`bole-overview-title`},ae=[`aria-label`],oe=[`aria-pressed`],U={"data-testid":`people-total`},W=[`aria-pressed`],G=[`aria-label`],K={"data-testid":`people-working`},q=[`disabled`],se={class:`bole-controls`},ce={class:`bole-filters`},le=[`aria-label`,`placeholder`],ue=[`aria-label`],J={value:`all`},de={value:`working`},Y={value:`idle`},fe=[`aria-label`],pe=[`aria-pressed`],me=[`aria-pressed`,`onClick`],X={key:1,class:`bole-result-count`,role:`status`},he=[`aria-label`],ge={key:1,"aria-labelledby":`bole-work-title`},Z={key:0,class:`bole-empty`,role:`status`},_e={key:1,class:`bole-agent-list`},ve={class:`bole-table-heading`,"aria-hidden":`true`},ye={class:`bole-agent-identity`},be={class:`bole-agent-mark`,"aria-hidden":`true`},xe=[`src`],Se={class:`bole-agent-work`},Ce=[`data-status`],we={key:1,class:`is-idle`},Te={class:`bole-agent-projects`},Ee={key:0},De={key:1},Oe={key:2,class:`bole-empty`},ke={key:2,"aria-labelledby":`bole-history-title`},Ae={key:0,class:`bole-timeline`},je={class:`bole-recruitment-identity`},Me={class:`bole-recruitment-reason`},Ne=[`datetime`],Pe={key:1,class:`bole-empty`},Fe=`__bole_unassigned__`,Ie=200,Le=S(i({__name:`BolePeoplePanel`,props:{personalSpaceId:{},projects:{}},setup(i){let a=i,p=o([]),x=o([]),S=o([]),C=o(!1),w=o(!1),T=o(`people`),E=o(``),O=o(``),k=o(`all`),A=o(null),j=o(null),M=s(()=>x.value.length>=Ie),F=0,I=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]),te=s(()=>new Map(a.projects.map(e=>[e.project_id,e.profile.name]))),R=s(()=>p.value.filter(e=>e.status===`active`)),z=s(()=>x.value.filter(e=>I.has(e.status))),ne=s(()=>new Set(ze.value.filter(e=>e.task).map(e=>e.id))),Le=s(()=>new Set(R.value.flatMap(e=>e.projectIds).filter(Boolean))),Re=s(()=>{let e=[`coordinator`,`durable`,`hr`,`temporary`],t=new Map;for(let e of R.value)t.set(e.type,(t.get(e.type)??0)+1);return[...t.entries()].sort(([t],[n])=>rt(e,t)-rt(e,n)).map(([e,t])=>({type:e,count:t,label:it(e)}))}),ze=s(()=>R.value.map(e=>({...e,task:e.workStatus?I.has(e.workStatus)&&e.currentTaskId?x.value.find(t=>t.id===e.currentTaskId)??{id:e.currentTaskId,title:e.currentTaskId,status:e.workStatus,projectId:``,agentIds:[e.id],updatedAt:``}:void 0:z.value.filter(t=>t.agentIds.includes(e.id)).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}))),Be=s(()=>[...S.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt))),Ve=s(()=>[...new Set([...a.projects.map(e=>e.project_id),...p.value.flatMap(e=>e.projectIds),...x.value.map(e=>e.projectId),...S.value.map(e=>e.projectId)].filter(Boolean))].map(e=>({id:e,name:te.value.get(e)??e})).sort((e,t)=>e.name.localeCompare(t.name)).concat({id:Fe,name:c(`employees.bole.noProject`)})),He=s({get:()=>A.value??Ve.value.map(e=>e.id),set:e=>{A.value=e.length===Ve.value.length?null:e}}),Ue=s(()=>ze.value.filter(e=>{let t=[...e.projectIds,...e.task?.projectId?[e.task.projectId]:[]];return Ke(t)&&(!O.value||e.type===O.value)&&(k.value===`all`||(k.value===`working`?!!e.task:!e.task))&&qe([e.name,e.responsibility,e.task?.title??``,...t.map(st)])}).sort((e,t)=>Number(!!t.task)-Number(!!e.task)||e.name.localeCompare(t.name))),We=s(()=>Be.value.filter(e=>Ke(e.projectId?[e.projectId]:[])&&(!O.value||e.positionKind===O.value)&&qe([ot(e.agentId),e.reason,e.workKind,st(e.projectId)]))),Ge=s(()=>E.value||O.value||A.value!==null||T.value===`people`&&k.value!==`all`);function Ke(e){return A.value===null||(e.length?e:[Fe]).some(e=>A.value?.includes(e))}function qe(e){return e.join(` `).toLocaleLowerCase().includes(E.value.trim().toLocaleLowerCase())}function Je(){E.value=``,O.value=``,k.value=`all`,A.value=null}function Ye(e){return N(e.replace(/^employee\./,``))}b([T,E,O,k,A],()=>{j.value&&(j.value.scrollTop=0)}),b(()=>a.personalSpaceId,()=>{Je(),Xe()},{immediate:!0});async function Xe(){let e=++F;if(p.value=[],x.value=[],S.value=[],w.value=!1,!a.personalSpaceId){C.value=!1;return}C.value=!0;let t=new URLSearchParams({personalSpaceId:a.personalSpaceId}),n=await Promise.allSettled([D(`/api/project-agents?${t}`),D(`/api/project-agent-tasks?${t}&limit=${Ie}`),D(`/api/project-agent-recruitments?${t}`)]);e===F&&(n[0].status===`fulfilled`&&(p.value=Ze(n[0].value,`agents`).map($e).filter(nt)),n[1].status===`fulfilled`&&(x.value=Ze(n[1].value,`tasks`).map(et).filter(nt)),n[2].status===`fulfilled`&&(S.value=Ze(n[2].value,`recruitments`).map(tt).filter(nt)),w.value=n.some(e=>e.status===`rejected`),C.value=!1)}function Q(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Ze(e,t){if(Array.isArray(e))return e;let n=Q(e),r=n[t]??n.items;return Array.isArray(r)?r:[]}function $(e,t,n=t){let r=e[t]??e[n];return typeof r==`string`?r:``}function Qe(e){return Array.isArray(e)?e:[]}function $e(e){let t=Q(e),n=Q(t.profile),r=$(t,`agentId`,`agent_id`);if(!r)return null;let i=Qe(t.assignments).flatMap(e=>{let t=Q(e),n=$(t,`status`),r=$(t,`personalProjectId`,`personal_project_id`);return n===`active`&&r?[r]:[]}),a=$(t,`personalProjectId`,`personal_project_id`);return{id:r,name:$(n,`displayName`,`display_name`)||$(n,`name`)||r,emoji:$(n,`occupationEmoji`,`occupation_emoji`)||`✦`,responsibility:$(n,`responsibility`),type:$(n,`agentType`,`agent_type`)||`other`,status:$(n,`status`)||`active`,projectIds:[...new Set([...i,...a?[a]:[]])],currentTaskId:$(t,`currentTaskId`,`current_task_id`),workStatus:$(t,`workStatus`,`work_status`)}}function et(e){let t=Q(e),n=$(t,`taskId`,`task_id`);if(!n)return null;let r=[$(t,`ownerAgentId`,`owner_agent_id`),$(t,`leadAgentId`,`lead_agent_id`)],i=Qe(t.participants).flatMap(e=>{let t=Q(e),n=$(t,`status`);return n&&!I.has(n)?[]:[$(t,`agentId`,`agent_id`)]});return{id:n,title:$(t,`title`)||n,status:$(t,`status`)||`queued`,projectId:$(t,`personalProjectId`,`personal_project_id`),agentIds:[...new Set([...r,...i].filter(Boolean))],updatedAt:$(t,`updatedAt`,`updated_at`)||$(t,`createdAt`,`created_at`)}}function tt(e){let t=Q(e),n=$(t,`recruitmentId`,`recruitment_id`);return n?{id:n,agentId:$(t,`recruitedAgentId`,`recruited_agent_id`)||$(t,`proposedAgentId`,`proposed_agent_id`),projectId:$(t,`personalProjectId`,`personal_project_id`),workKind:$(t,`workKind`,`work_kind`),positionKind:$(t,`positionKind`,`position_kind`),reason:$(t,`reason`)||$(t,`reasonCode`,`reason_code`),status:$(t,`status`),createdAt:$(t,`createdAt`,`created_at`)}:null}function nt(e){return e!==null}function rt(e,t){let n=e.indexOf(t);return n<0?e.length:n}function it(e){return[`coordinator`,`durable`,`hr`,`temporary`].includes(e)?c(`employees.bole.types.${e}`):c(`employees.bole.types.other`)}function at(e){return[`awaiting_recruitment`,`queued`,`running`,`paused`,`failed`,`awaiting_review`,`blocked`].includes(e)?c(`employees.bole.status.${e}`):e}function ot(e){return p.value.find(t=>t.id===e)?.name??e}function st(e){return te.value.get(e)??c(`employees.bole.noProject`)}function ct(e){if(!e)return c(`employees.bole.unknownTime`);let t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(t)}return(i,a)=>(r(),v(`div`,{class:`bole-panel`,"aria-busy":C.value},[w.value?(r(),v(`div`,V,[g(`span`,null,l(m(c)(`employees.bole.partialError`)),1),g(`button`,{type:`button`,onClick:Xe},l(m(c)(`employees.retry`)),1)])):u(``,!0),g(`header`,re,[g(`div`,H,[g(`h2`,ie,l(m(c)(`employees.bole.title`)),1),g(`nav`,{class:`bole-views`,"aria-label":m(c)(`employees.bole.viewLabel`)},[g(`button`,{id:`bole-work-title`,type:`button`,"aria-pressed":T.value===`people`,onClick:a[0]||=e=>T.value=`people`},[e(l(m(c)(`employees.bole.currentWork`))+` `,1),g(`span`,U,l(C.value?`—`:R.value.length),1)],8,oe),g(`button`,{id:`bole-history-title`,type:`button`,"aria-pressed":T.value===`history`,onClick:a[1]||=e=>T.value=`history`},[e(l(m(c)(`employees.bole.recruitmentHistory`))+` `,1),g(`span`,null,l(C.value?`—`:S.value.length),1)],8,W)],8,ae)]),g(`dl`,{class:`bole-summary`,"aria-label":m(c)(`employees.bole.overview`)},[g(`div`,K,[g(`dt`,null,l(m(c)(`employees.bole.workingNow`)),1),g(`dd`,null,l(C.value?`—`:ne.value.size),1)]),g(`div`,null,[g(`dt`,null,l(m(c)(`employees.bole.coveredProjects`)),1),g(`dd`,null,l(C.value?`—`:Le.value.size),1)])],8,G),g(`button`,{class:`bole-refresh`,type:`button`,disabled:C.value,onClick:Xe},l(m(c)(`common.actions.refresh`)),9,q)]),g(`div`,se,[g(`div`,ce,[n(g(`input`,{"onUpdate:modelValue":a[2]||=e=>E.value=e,type:`search`,class:`bole-search`,"aria-label":m(c)(`employees.bole.search`),placeholder:m(c)(`employees.bole.search`)},null,8,le),[[d,E.value]]),_(L,{modelValue:He.value,"onUpdate:modelValue":a[3]||=e=>He.value=e,projects:Ve.value,label:m(c)(`employees.allProjects.projectFilter`),"all-label":m(c)(`employees.bole.allProjects`),"empty-label":m(c)(`employees.filterEmpty`),compact:``,hint:``},null,8,[`modelValue`,`projects`,`label`,`all-label`,`empty-label`]),T.value===`people`?n((r(),v(`select`,{key:0,"onUpdate:modelValue":a[4]||=e=>k.value=e,"aria-label":m(c)(`employees.bole.workFilter`)},[g(`option`,J,l(m(c)(`employees.bole.allWork`)),1),g(`option`,de,l(m(c)(`employees.bole.workingNow`)),1),g(`option`,Y,l(m(c)(`employees.bole.withoutTask`)),1)],8,ue)),[[h,k.value]]):u(``,!0)]),g(`div`,{class:`bole-role-filters`,role:`group`,"aria-label":m(c)(`employees.bole.distribution`)},[g(`button`,{type:`button`,"aria-pressed":!O.value,onClick:a[5]||=e=>O.value=``},l(m(c)(`employees.bole.allRoles`)),9,pe),(r(!0),v(f,null,t(Re.value,t=>(r(),v(`button`,{key:t.type,type:`button`,"aria-pressed":O.value===t.type,onClick:e=>O.value=O.value===t.type?``:t.type},[e(l(t.label)+` `,1),g(`span`,null,l(t.count),1)],8,me))),128)),Ge.value?(r(),v(`button`,{key:0,class:`bole-clear`,type:`button`,onClick:Je},l(m(c)(`employees.bole.clearFilters`)),1)):u(``,!0),Ge.value&&!C.value?(r(),v(`span`,X,l(m(c)(`employees.bole.resultCount`,{count:T.value===`people`?Ue.value.length:We.value.length})),1)):u(``,!0)],8,fe)]),g(`div`,{ref_key:`scrollRegion`,ref:j,class:`bole-content`,tabindex:`0`,role:`region`,"aria-label":m(c)(T.value===`people`?`employees.bole.currentWork`:`employees.bole.recruitmentHistory`)},[C.value?(r(),y(ee,{key:0,variant:`compact`,label:m(c)(`employees.bole.loading`)},null,8,[`label`])):T.value===`people`?(r(),v(`section`,ge,[M.value?(r(),v(`p`,Z,l(m(c)(`employees.bole.taskLimit`)),1)):u(``,!0),Ue.value.length?(r(),v(`div`,_e,[g(`div`,ve,[a[6]||=g(`span`,null,`Agent`,-1),g(`span`,null,l(m(c)(`employees.bole.taskColumn`)),1),g(`span`,null,l(m(c)(`employees.bole.projectsColumn`)),1)]),(r(!0),v(f,null,t(Ue.value,n=>(r(),v(`article`,{key:n.id,class:`bole-agent-row`},[g(`div`,ye,[g(`span`,be,[Ye(n.id)?(r(),v(`img`,{key:0,src:Ye(n.id),alt:``},null,8,xe)):(r(),v(f,{key:1},[e(l(n.emoji),1)],64))]),g(`div`,null,[g(`strong`,null,l(n.name),1),_(P,{"agent-id":n.id},null,8,[`agent-id`]),g(`small`,null,l(n.responsibility||it(n.type)),1)])]),g(`div`,Se,[n.task?(r(),v(f,{key:0},[g(`span`,{class:`bole-status`,"data-status":n.task.status},l(at(n.task.status)),9,Ce),g(`p`,null,l(n.task.title),1)],64)):(r(),v(`p`,we,l(m(c)(`employees.bole.idle`)),1))]),g(`div`,Te,[n.projectIds.length?(r(),v(f,{key:0},[(r(!0),v(f,null,t(n.projectIds.slice(0,2),e=>(r(),v(`span`,{key:e},l(st(e)),1))),128)),n.projectIds.length>2?(r(),v(`details`,Ee,[g(`summary`,null,l(m(c)(`employees.bole.moreProjects`,{count:n.projectIds.length-2})),1),(r(!0),v(f,null,t(n.projectIds.slice(2),e=>(r(),v(`span`,{key:e},l(st(e)),1))),128))])):u(``,!0)],64)):(r(),v(`span`,De,l(n.task?.projectId?st(n.task.projectId):m(c)(`employees.bole.noProject`)),1))])]))),128))])):(r(),v(`p`,Oe,l(m(c)(Ge.value?`employees.bole.noMatch`:`employees.bole.noAgents`)),1))])):(r(),v(`section`,ke,[We.value.length?(r(),v(`ol`,Ae,[(r(!0),v(f,null,t(We.value,e=>(r(),v(`li`,{key:e.id},[g(`div`,je,[g(`strong`,null,l(ot(e.agentId)),1),g(`small`,null,l(it(e.positionKind))+` · `+l(st(e.projectId)),1)]),g(`div`,Me,[g(`p`,null,l(e.reason),1),g(`small`,null,l(e.workKind||e.status),1)]),g(`time`,{datetime:e.createdAt},l(ct(e.createdAt)),9,Ne)]))),128))])):(r(),v(`p`,Pe,l(m(c)(Ge.value?`employees.bole.noMatch`:`employees.bole.noRecruitments`)),1))]))],8,he)],8,B))}}),[[`__scopeId`,`data-v-b9fe7dc9`]]),Re={id:`employee-task-title`},ze=[`disabled`,`aria-label`],Be={class:`employee-dialog-body`},Ve={key:1,class:`employee-dialog-error`,role:`alert`},He=[`disabled`],Ue=[`disabled`],We={disabled:``,value:``},Ge=[`value`],Ke=[`readonly`,`disabled`],qe={key:0,class:`employee-task-status`},Je=[`readonly`,`disabled`],Ye=[`disabled`],Xe=[`value`],Q=[`readonly`,`disabled`],Ze=[`readonly`,`disabled`],$=[`disabled`],Qe=[`disabled`],$e=i({__name:`EmployeeTaskDialog`,props:{open:{type:Boolean},item:{},projects:{},defaultProjectId:{},personalSpaceId:{},canWrite:{type:Boolean}},emits:[`close`,`saved`],setup(i,{emit:a}){let _=i,x=a,S=o(!1),C=o(!1),w=o(``),T=o(null),D=o(``),O=o(``),k=o(``),A=o(`medium`),j=o(``),N=o(``),P=0,F={signature:``,id:``},L=s(()=>_.canWrite&&!C.value&&!w.value&&!!D.value&&O.value.trim().length>=2),{dialogRef:te,initialFocusRef:R,onCancel:z,onKeydown:ne}=I(()=>_.open,H);b([()=>_.open,()=>_.item,()=>_.personalSpaceId],()=>{V()},{immediate:!0});async function B(e,t){return E(`/api/employee-templates/jefa/call`,{personalSpaceId:_.personalSpaceId,personalProjectId:D.value,tool:e,arguments:t})}async function V(){let e=++P;if(_.open&&(w.value=``,T.value=null,F={signature:``,id:``},D.value=_.item?.projectId??_.defaultProjectId??``,O.value=``,k.value=``,A.value=`medium`,j.value=``,N.value=``,C.value=!!_.item,_.item))try{let t=await B(`get_task`,{workItemId:_.item.id});if(e!==P)return;if(t.item.id!==_.item.id||t.item.projectId!==D.value||!t.item.updatedAt)throw Error(c(`employees.loadError`));T.value=t.item,O.value=t.item.title,k.value=t.item.summary??``,A.value=t.item.priority??`medium`,j.value=t.item.acceptanceCriteria?.join(`
|
|
2
|
+
`)??``,N.value=t.item.tags?.join(`, `)??``}catch(t){e===P&&(w.value=M(t))}finally{e===P&&(C.value=!1)}}async function re(){if(!L.value||S.value)return;S.value=!0;let e={title:O.value.trim(),summary:k.value.trim()||O.value.trim(),priority:A.value,acceptanceCriteria:j.value.split(`
|
|
3
|
+
`).map(e=>e.trim()).filter(Boolean),tags:N.value.split(/[,,]/).map(e=>e.trim()).filter(Boolean)},t=JSON.stringify([D.value,T.value?.updatedAt,e]);F.signature!==t&&(F={signature:t,id:`board-edit-${crypto.randomUUID()}`});try{T.value?await B(`update_tasks`,{requestId:F.id,updates:[{id:T.value.id,expectedUpdatedAt:T.value.updatedAt,...e}]}):await B(`create_tasks`,{messageId:F.id,tasks:[e]}),x(`saved`),x(`close`)}catch(e){w.value=M(e)}finally{S.value=!1}}function H(){S.value||x(`close`)}return(a,o)=>(r(),v(`dialog`,{ref_key:`dialogRef`,ref:te,class:`employee-dialog`,"aria-labelledby":`employee-task-title`,onCancel:o[6]||=(...e)=>m(z)&&m(z)(...e),onKeydown:o[7]||=(...e)=>m(ne)&&m(ne)(...e)},[g(`form`,{class:`employee-dialog-shell`,onSubmit:p(re,[`prevent`])},[g(`header`,null,[g(`h2`,Re,l(m(c)(i.item?`employees.task.detail`:`employees.task.create`)),1),g(`button`,{type:`button`,disabled:S.value,"aria-label":m(c)(`employees.close`),onClick:H},`×`,8,ze)]),g(`div`,Be,[C.value?(r(),y(ee,{key:0,variant:`compact`,label:m(c)(`employees.loadingTask`)},null,8,[`label`])):u(``,!0),w.value?(r(),v(`div`,Ve,[g(`p`,null,l(w.value),1),g(`button`,{type:`button`,disabled:S.value,onClick:V},l(m(c)(`employees.task.reload`)),9,He)])):u(``,!0),C.value?u(``,!0):(r(),v(f,{key:2},[g(`label`,null,[e(l(m(c)(`employees.task.project`)),1),n(g(`select`,{"onUpdate:modelValue":o[0]||=e=>D.value=e,disabled:!!i.item||S.value||!i.canWrite,required:``},[g(`option`,We,l(m(c)(`employees.task.chooseProject`)),1),(r(!0),v(f,null,t(i.projects,e=>(r(),v(`option`,{key:e.id,value:e.id},l(e.name),9,Ge))),128))],8,Ue),[[h,D.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.title`)),1),n(g(`input`,{ref_key:`initialFocusRef`,ref:R,"onUpdate:modelValue":o[1]||=e=>O.value=e,minlength:`2`,maxlength:`180`,required:``,readonly:!i.canWrite,disabled:S.value},null,8,Ke),[[d,O.value]])]),T.value?(r(),v(`p`,qe,l(m(c)(`employees.allProjects.status.${T.value.status}`)),1)):u(``,!0),g(`label`,null,[e(l(m(c)(`employees.task.summary`)),1),n(g(`textarea`,{"onUpdate:modelValue":o[2]||=e=>k.value=e,rows:`4`,maxlength:`2000`,readonly:!i.canWrite,disabled:S.value},null,8,Je),[[d,k.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.priority`)),1),n(g(`select`,{"onUpdate:modelValue":o[3]||=e=>A.value=e,disabled:!i.canWrite||S.value},[(r(),v(f,null,t([`critical`,`high`,`medium`,`low`],e=>g(`option`,{key:e,value:e},l(m(c)(`employees.task.priorities.${e}`)),9,Xe)),64))],8,Ye),[[h,A.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.criteria`)),1),n(g(`textarea`,{"onUpdate:modelValue":o[4]||=e=>j.value=e,rows:`3`,readonly:!i.canWrite,disabled:S.value},null,8,Q),[[d,j.value]])]),g(`label`,null,[e(l(m(c)(`employees.task.tags`)),1),n(g(`input`,{"onUpdate:modelValue":o[5]||=e=>N.value=e,readonly:!i.canWrite,disabled:S.value},null,8,Ze),[[d,N.value]])])],64))]),g(`footer`,null,[g(`button`,{type:`button`,disabled:S.value,onClick:H},l(m(c)(`employees.close`)),9,$),i.canWrite?(r(),v(`button`,{key:0,class:`primary`,type:`submit`,disabled:!L.value||S.value},[S.value?(r(),y(ee,{key:0,variant:`inline`,label:m(c)(`employees.task.saving`)},null,8,[`label`])):(r(),v(f,{key:1},[e(l(m(c)(`employees.task.save`)),1)],64))],8,Qe)):u(``,!0)])],32)],544))}}),et={class:`employee-dialog-shell`},tt={id:`employee-share-title`},nt=[`disabled`,`aria-label`],rt={class:`employee-dialog-body`},it=[`disabled`],at={key:1,class:`employee-share-preview`,role:`status`},ot={key:2,class:`employee-share-empty`},st=[`disabled`],ct={key:3,class:`employee-dialog-error`,role:`alert`},lt={key:4,class:`employee-share-result`},ut=[`value`,`aria-label`],dt=[`href`],ft={key:5,class:`employee-share-local`},pt={key:6,class:`employee-share-active`},mt=[`disabled`,`onClick`],ht=[`disabled`],gt=S(i({__name:`EmployeeShareDialog`,props:{open:{type:Boolean},projects:{}},emits:[`close`],setup(n,{emit:i}){let a=n,d=i,p=o([]),h=o({}),x=o({}),S=o(!1),C=o(!1),w=o(null),T=o(``),E=o(``),k=o(``),A=o(!1),j=0,{dialogRef:N,initialFocusRef:P,onCancel:F,onKeydown:te}=I(()=>a.open,U),ne=s(()=>a.projects.filter(e=>h.value[e.id]?.publicShareEnabled)),B=s(()=>p.value.every(e=>x.value[e]!==void 0)?p.value.reduce((e,t)=>e+x.value[t],0):null),V=[`localhost`,`127.0.0.1`,`[::1]`].includes(window.location.hostname);b([()=>a.open,()=>JSON.stringify(a.projects.map(e=>e.id))],()=>{a.open?H():++j},{immediate:!0}),b(p,()=>{k.value=``,A.value=!1});function re(e){return`/employee-workspaces/jefa/${encodeURIComponent(e)}/api`}async function H(e=!1){let t=++j;e||(p.value=[]),h.value={},x.value={},E.value=``,k.value=``,S.value=!0;let n=await Promise.allSettled(a.projects.map(async e=>{let t=(await D(`${re(e.id)}/snapshot`)).snapshot.projects.find(t=>t.id===e.id);if(!t)throw Error(c(`employees.loadError`));let n=null,r=!1;if(t.publicShareEnabled&&t.publicShareSlug)try{n=(await z({id:e.id,slug:t.publicShareSlug})).items.length}catch{r=!0}return{state:t,count:n,previewFailed:r}}));if(t===j){for(let e of n)e.status===`fulfilled`&&(h.value[e.value.state.id]=e.value.state,e.value.count!==null&&(x.value[e.value.state.id]=e.value.count));n.some(e=>e.status===`rejected`||e.value.previewFailed)&&(E.value=c(`employees.share.loadFailed`)),S.value=!1}}async function ie(){if(!p.value.length||C.value||S.value||B.value===0)return;C.value=!0,w.value=`generate`,T.value=``,E.value=``,k.value=``,A.value=!1;let e=j,t=p.value.filter(e=>a.projects.some(t=>t.id===e));try{let n=await Promise.allSettled(t.map(async t=>{if(!h.value[t])throw Error(c(`employees.share.loadFailed`));let n=h.value[t];if(!n.publicShareEnabled||!n.publicShareSlug){if(n=(await O(`/employee-workspaces/jefa/${encodeURIComponent(t)}/api/projects/${encodeURIComponent(t)}/sharing`,{publicShareEnabled:!0,acceptsPublicRequests:!1})).project,n.id!==t||!n.publicShareEnabled||!n.publicShareSlug)throw Error(c(`employees.loadError`));if(e!==j)throw Error(c(`employees.share.loadFailed`));h.value[t]=n}let r=(await z({id:t,slug:n.publicShareSlug})).items.length;if(e!==j)throw Error(c(`employees.share.loadFailed`));return x.value[t]=r,{id:t,slug:n.publicShareSlug}}));if(e!==j)return;if(n.some(e=>e.status===`rejected`))throw Error(c(`employees.share.partial`));if(t.every(e=>x.value[e]===0))throw Error(c(`employees.shareContent.emptySelection`));k.value=R(n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]),window.location.origin)}catch(t){e===j&&(E.value=M(t))}finally{C.value=!1,w.value=null,T.value=``}}async function ae(e){if(!C.value){C.value=!0,w.value=`revoke`,T.value=e,E.value=``,k.value=``,A.value=!1;try{let t=await O(`/employee-workspaces/jefa/${encodeURIComponent(e)}/api/projects/${encodeURIComponent(e)}/sharing`,{publicShareEnabled:!1,acceptsPublicRequests:!1});if(t.project.id!==e||t.project.publicShareEnabled)throw Error(c(`employees.loadError`));h.value[e]=t.project,delete x.value[e]}catch(e){E.value=M(e)}finally{C.value=!1,w.value=null,T.value=``}}}async function oe(){try{await navigator.clipboard.writeText(k.value),A.value=!0}catch{E.value=c(`employees.share.copyFailed`)}}function U(){C.value||d(`close`)}return(i,a)=>(r(),v(`dialog`,{ref_key:`dialogRef`,ref:N,class:`employee-dialog employee-share-dialog`,"aria-labelledby":`employee-share-title`,onCancel:a[4]||=(...e)=>m(F)&&m(F)(...e),onKeydown:a[5]||=(...e)=>m(te)&&m(te)(...e)},[g(`div`,et,[g(`header`,null,[g(`h2`,tt,l(m(c)(`employees.share.title`)),1),g(`button`,{ref_key:`initialFocusRef`,ref:P,type:`button`,disabled:C.value,"aria-label":m(c)(`employees.close`),onClick:U},`×`,8,nt)]),g(`div`,rt,[g(`p`,null,l(m(c)(`employees.share.scopeHint`)),1),g(`p`,null,l(m(c)(`employees.share.disclosure`)),1),S.value?(r(),y(ee,{key:0,variant:`compact`,label:m(c)(`employees.loadingShare`)},null,8,[`label`])):u(``,!0),g(`fieldset`,{disabled:C.value||S.value},[_(L,{modelValue:p.value,"onUpdate:modelValue":a[0]||=e=>p.value=e,projects:n.projects,disabled:C.value||S.value,inline:``,label:m(c)(`employees.share.projects`),hint:m(c)(`employees.share.selectionHint`)},null,8,[`modelValue`,`projects`,`disabled`,`label`,`hint`])],8,it),p.value.length&&!S.value?(r(),v(`p`,at,l(B.value===null?m(c)(`employees.shareContent.verifyContent`):m(c)(`employees.shareContent.publicCount`,{count:B.value})),1)):u(``,!0),p.value.length&&!S.value&&B.value===0?(r(),v(`p`,ot,l(m(c)(`employees.shareContent.emptySelection`)),1)):u(``,!0),g(`button`,{type:`button`,disabled:C.value||S.value,onClick:a[1]||=e=>H(!0)},l(m(c)(`common.actions.refresh`)),9,st),E.value?(r(),v(`div`,ct,[g(`p`,null,l(E.value),1),C.value?u(``,!0):(r(),v(`button`,{key:0,type:`button`,onClick:a[2]||=e=>H(!0)},l(m(c)(`employees.retry`)),1))])):u(``,!0),k.value?(r(),v(`div`,lt,[g(`label`,null,[e(l(m(c)(`employees.share.link`)),1),g(`input`,{value:k.value,readonly:``,"aria-label":m(c)(`employees.share.link`),onFocus:a[3]||=e=>e.target.select()},null,40,ut)]),g(`div`,null,[g(`button`,{type:`button`,onClick:oe},l(m(c)(A.value?`employees.share.copied`:`employees.share.copy`)),1),g(`a`,{href:k.value,target:`_blank`,rel:`noreferrer`},l(m(c)(`employees.share.preview`)),9,dt)])])):u(``,!0),m(V)?(r(),v(`p`,ft,l(m(c)(`employees.share.local`)),1)):u(``,!0),ne.value.length?(r(),v(`section`,pt,[g(`h3`,null,l(m(c)(`employees.share.active`)),1),(r(!0),v(f,null,t(ne.value,t=>(r(),v(`div`,{key:t.id},[g(`span`,null,l(t.name),1),g(`button`,{type:`button`,disabled:C.value,onClick:e=>ae(t.id)},[w.value===`revoke`&&T.value===t.id?(r(),y(ee,{key:0,variant:`inline`,label:m(c)(`employees.share.revoking`)},null,8,[`label`])):(r(),v(f,{key:1},[e(l(m(c)(`employees.share.revoke`)),1)],64))],8,mt)]))),128))])):u(``,!0)]),g(`footer`,null,[g(`span`,null,l(m(c)(`employees.scope.count`,{selected:p.value.length,total:n.projects.length})),1),g(`button`,{class:`primary`,type:`button`,disabled:!p.value.length||C.value||S.value||B.value===0,onClick:ie},[w.value===`generate`?(r(),y(ee,{key:0,variant:`inline`,label:m(c)(`employees.share.generating`)},null,8,[`label`])):(r(),v(f,{key:1},[e(l(m(c)(`employees.share.generate`)),1)],64))],8,ht)])])],544))}}),[[`__scopeId`,`data-v-2da40afc`]]);function _t(e){return`fuli:jefa:project-filter:v1:${encodeURIComponent(e)}`}function vt(e){let t=w(),n=C(),r=o(null),i=o(!1),a=o(!1),c=!1,l=``,u=!0;b([e.enabled,e.spaceId],([e,t])=>{let n=e?t:``;if(n!==l&&(u=!l||!n,l=n,r.value=null,c=!1,i.value=!1,a.value=!1,l))try{let e=localStorage.getItem(_t(l));if(!e)return;let t=JSON.parse(e);t&&typeof t==`object`&&`version`in t&&t.version===1&&`projectIds`in t&&Array.isArray(t.projectIds)&&t.projectIds.every(e=>typeof e==`string`&&e.length>0&&e===e.trim())&&(r.value=[...new Set(t.projectIds)],c=!0)}catch(e){a.value=!(e instanceof SyntaxError)}},{immediate:!0,flush:`sync`});function d(){if(l)try{let e=_t(l);r.value===null?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify({version:1,projectIds:r.value})),a.value=!1}catch{a.value=!0}}function f(){let e=t.query.project;return[...new Set((Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`&&!!e))]}function p(){return[t.query.empty].flat().includes(`1`)}function m(e){return!e.length&&!p()||e.length===1&&[`all`,`__all__`].includes(e[0])}let h=s(()=>e.projectIds.value.filter(e=>r.value===null||r.value.includes(e)));function g(){if(!e.enabled.value||!l||!e.ready.value||!c)return;let i=h.value,a=f(),o=r.value===null||i.length>0&&i.length===e.projectIds.value.length;o&&t.query.project===`all`&&t.query.empty===void 0||r.value!==null&&!m(a)&&a.length===i.length&&a.every(e=>i.includes(e))&&(i.length>0||t.query.empty===`1`)||n.replace({query:{...t.query,project:o?`all`:i.length?i:``,empty:o||i.length?void 0:`1`}})}b([e.enabled,e.spaceId,e.ready,e.projectIds,()=>t.query.project,()=>t.query.empty],()=>{if(!(!e.enabled.value||!l||!e.ready.value)){if(!c){let t=f(),n=!u||m(t);if(i.value=!n&&t.some(t=>!e.projectIds.value.includes(t)),i.value)return;r.value=n?null:[...new Set(t)],c=!0,n||d()}g()}},{immediate:!0});let _=s({get:()=>h.value,set:t=>{if(!e.enabled.value||!l||!e.ready.value)return;let n=r.value?.filter(t=>!e.projectIds.value.includes(t))??[];r.value=[...new Set([...n,...t.filter(t=>e.projectIds.value.includes(t))])],c=!0,i.value=!1,d(),g()}});function v(){r.value=null,c=!0,i.value=!1,d(),g()}return{selection:_,reset:v,invalidScope:i,storageUnavailable:a}}var yt=[`aria-label`],bt={class:`employee-workbench-toolbar`},xt={class:`employee-workbench-identity`},St={class:`employee-workbench-mark`,"aria-hidden":`true`},Ct=[`src`],wt=[`aria-label`,`title`],Tt={class:`employee-workbench-actions`},Et=[`disabled`],Dt={key:4,class:`employee-workbench-state`,role:`alert`},Ot={key:5,class:`employee-workbench-state`},kt={key:7,class:`employee-workbench-state`},At={key:8,class:`employee-workbench-state`},jt={key:10,class:`employee-workbench-state`},Mt=[`src`,`title`],Nt=`all`,Pt=S(i({__name:`EmployeeWorkbenchPage`,setup(t){let n=w(),i=C(),d=x(),p=o(``),h=o(null),S=o([]),P=o([]),I=o([]),L=o([]),R=o(``),z=o(``),B=o(!1),V=o(!1),re=o(!1),H=o(!1),ie=o(!1),ae=o(!1),oe=o(null),U=s(()=>d.activePersonalSpace?.id??``),W=s(()=>String(n.params.templateId??``)),G=s(()=>A.value.find(e=>e.id===W.value)),K=s(()=>G.value?.workbench?.kind===`native`&&G.value.workbench.view===`people`),q=s(()=>W.value===`jefa`),se=s(()=>!d.state&&(d.runtimeStatus===`idle`||d.runtimeStatus===`loading`)||!V.value||B.value),ce=s(()=>d.state?k.value||!V.value?c(`employees.loading`):c(`employees.loadingBoard`):c(`common.status.loadingConsole`)),le=s(()=>!d.state&&d.runtimeStatus===`error`?d.feedback?.message||c(`employees.loadError`):``),ue=s(()=>le.value||j.value||(q.value&&Y.invalidScope.value?c(`employees.invalidScope`):z.value)),J=s(()=>G.value?.managedProjects===void 0?(G.value?.assignments??[]).filter(e=>e.status===`active`).map(e=>({value:e.personalProjectId,label:d.state?.personalProjects?.find(t=>t.project_id===e.personalProjectId)?.profile.name??e.personalProjectId})):G.value.managedProjects.map(e=>({value:e.id,label:e.name}))),de=s(()=>JSON.stringify([...new Set(J.value.map(e=>e.value))].sort()));b(U,e=>{V.value=!1,F(e)},{immediate:!0});let Y=vt({enabled:q,spaceId:U,projectIds:s(()=>J.value.map(e=>e.value)),ready:s(()=>!k.value&&!j.value&&!!G.value)}),fe=s({get:()=>{if(q.value)return Y.selection.value;let e=new Set(I.value);return J.value.filter(t=>!e.has(t.value)).map(e=>e.value)},set:e=>{if(q.value){Y.selection.value=e;return}let t=new Set(J.value.map(e=>e.value)),n=new Set(e);I.value=[...I.value.filter(e=>!t.has(e)),...J.value.filter(e=>!n.has(e.value)).map(e=>e.value)]}}),pe=s(()=>{let e=new Set(fe.value);return S.value.filter(t=>e.has(t.project.id))}),me=s(()=>{let e=new Set(fe.value);return P.value.filter(t=>e.has(t)).length}),X=s(()=>G.value?.runtimeStatus===`ready`&&G.value.permissions.includes(`board.read`)&&J.value.length>0),he=s(()=>X.value?[{value:Nt,label:c(`employees.allProjects.option`),meta:c(`employees.allProjects.optionMeta`,{count:J.value.length})},...J.value]:J.value),ge=0;b([W,U],()=>{I.value=[],ae.value=!1,ie.value=!1,oe.value=null}),b([he,()=>n.query.project,()=>n.query.empty,W,K],()=>{if(K.value){if(++ge,p.value=``,B.value=!1,z.value=``,n.query.project!==void 0){let{project:e,...t}=n.query;i.replace({query:t})}return}if(q.value){p.value=J.value.length?Nt:``;return}let e=typeof n.query.project==`string`?n.query.project:``,t=he.value;p.value=e||(t.some(e=>e.value===p.value)?p.value:t[0]?.value??``),!e&&p.value&&i.replace({query:{...n.query,project:p.value}})},{immediate:!0}),b([W,p,U,X,V],()=>{!K.value&&V.value&&Z()},{immediate:!0}),b(k,e=>{if(!e){if(!V.value){V.value=!0;return}re.value&&(re.value=!1,Z())}},{immediate:!0}),b(Y.invalidScope,e=>{!e&&q.value&&V.value&&Z()}),b(de,(e,t)=>{e===t||!V.value||K.value||Z()});async function Z(){let e=++ge;if(h.value=null,S.value=[],P.value=[],R.value=``,z.value=``,K.value||!G.value||!p.value||!U.value){B.value=!1;return}if(q.value&&!X.value){B.value=!1;return}if(q.value&&Y.invalidScope.value){B.value=!1;return}if(k.value){re.value=!0,B.value=!0;return}re.value=!1;let t=W.value,n=p.value;B.value=!0;try{if(n===Nt&&X.value){let n=await Promise.all(J.value.map(async e=>{try{let n=await E(`/api/employee-templates/${encodeURIComponent(t)}/call`,{personalSpaceId:U.value,personalProjectId:e.value,tool:`read_board`,arguments:{limit:100}}),r=Array.isArray(n.items)?n.items.filter(Se).filter(t=>t.projectId===e.value):[],i=n.truncated;if(t===`jefa`&&i)try{let t=await D(`/employee-workspaces/jefa/${encodeURIComponent(e.value)}/api/snapshot`);if(!Array.isArray(t.snapshot.workItems))throw Error(`Invalid board snapshot`);r=t.snapshot.workItems.filter(Se).filter(t=>t.projectId===e.value),i=!1}catch{}return{ok:!0,board:{...n,truncated:i,project:{id:e.value,name:e.label},items:r}}}catch(t){return{ok:!1,cause:t,projectId:e.value}}}));if(e!==ge)return;S.value=n.filter(e=>e.ok).map(e=>e.board),P.value=n.flatMap(e=>e.ok?[]:[e.projectId]),!S.value.length&&P.value.length&&(z.value=M(n.find(e=>!e.ok)?.cause));return}let r=await D(`/api/employee-templates/${encodeURIComponent(t)}/workspace?${new URLSearchParams({personalSpaceId:U.value,personalProjectId:n})}`),i=`/employee-workspaces/${encodeURIComponent(t)}/${encodeURIComponent(n)}/`;if(r.workbenchUrl!==i)throw Error(c(`employees.loadError`));e===ge&&(h.value=r)}catch(t){e===ge&&(z.value=M(t))}finally{e===ge&&(B.value=!1)}}function _e(e=null){oe.value=e,ae.value=!0}function ve(e){return`${e.projectId}:${e.id}`}function ye(e,t,n){S.value=S.value.map(r=>r.project.id===e?{...r,items:r.items.map(e=>e.id===t?n:e)}:r)}function be(){return`aggregate-board-move-${globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`}async function xe(e,t){if(e.status===t)return;let n=ve(e);if(L.value.includes(n))return;let r=`${W.value}:${U.value}`,i={...e,status:t};R.value=``,L.value=[...L.value,n],ye(e.projectId,e.id,i);try{let n;if(W.value===`jefa`&&t===`done`)n=(await O(`/employee-workspaces/${encodeURIComponent(W.value)}/${encodeURIComponent(e.projectId)}/api/work-items/${encodeURIComponent(e.id)}/status`,{status:t})).workItem;else{if(!e.updatedAt)throw Error(c(`employees.allProjects.refreshRequired`));n=(await E(`/api/employee-templates/${encodeURIComponent(W.value)}/call`,{personalSpaceId:U.value,personalProjectId:e.projectId,tool:`update_tasks`,arguments:{requestId:be(),updates:[{id:e.id,expectedUpdatedAt:e.updatedAt,status:t}]}})).updatedWorkItems?.find(t=>t.id===e.id)}if(`${W.value}:${U.value}`!==r)return;if(!n||!Se(n)||n.projectId!==e.projectId||n.id!==e.id||!n.updatedAt)throw Error(c(`employees.allProjects.refreshRequired`));ye(e.projectId,e.id,n)}catch(t){if(`${W.value}:${U.value}`!==r)return;ye(e.projectId,e.id,e),R.value=c(`employees.allProjects.moveFailed`,{error:M(t)})}finally{L.value=L.value.filter(e=>e!==n)}}function Se(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.projectId==`string`&&typeof t.title==`string`&&[`planned`,`active`,`blocked`,`review`,`done`].includes(t.status??``)}async function Ce(){if(!d.state){await d.refresh();return}await F(U.value),j.value||await Z()}async function we(){if(q.value){await i.replace({query:{...n.query,project:Nt,empty:void 0}}),await Z();return}let e=p.value===Nt&&X.value?Nt:J.value.find(e=>e.value===p.value)?.value??he.value[0]?.value;await i.replace({query:e?{project:e}:{}}),await Z()}return(t,n)=>(r(),v(`section`,{class:`employee-workbench-view`,"aria-label":G.value?.name??m(c)(`employees.workbench`)},[g(`header`,bt,[g(`div`,xt,[g(`span`,St,[m(N)(W.value)?(r(),v(`img`,{key:0,src:m(N)(W.value),alt:``},null,8,Ct)):(r(),v(f,{key:1},[e(l(G.value?.name.slice(0,1)??`A`),1)],64))]),g(`h1`,null,[e(l(G.value?.name??m(c)(`employees.workbench`))+` `,1),g(`span`,null,l(G.value?.role),1)]),q.value&&X.value?(r(),v(`button`,{key:0,class:`employee-share-button`,type:`button`,"aria-label":m(c)(`employees.share.title`),title:m(c)(`employees.share.title`),onClick:n[0]||=e=>ie.value=!0},[...n[8]||=[g(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[g(`path`,{d:`M14 3h7v7m0-7-9 9M10 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}),g(`path`,{d:`M7 16v-3m4 3v-1`})],-1)]],8,wt)):u(``,!0)]),g(`div`,Tt,[G.value&&!K.value?(r(),v(`button`,{key:0,class:`employee-manage-projects`,type:`button`,disabled:!U.value,onClick:n[1]||=e=>H.value=!0},[n[9]||=g(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"aria-hidden":`true`},[g(`path`,{d:`M4 7h9m4 0h3M4 17h3m4 0h9`}),g(`circle`,{cx:`15`,cy:`7`,r:`2`}),g(`circle`,{cx:`9`,cy:`17`,r:`2`})],-1),e(` `+l(m(c)(`employees.manageProjects`)),1)],8,Et)):u(``,!0)])]),K.value?u(``,!0):(r(),y(ne,{key:0,open:H.value,"personal-space-id":U.value,projects:m(d).state?.personalProjects??[],"template-id":W.value,onClose:n[2]||=e=>H.value=!1,onRecruited:we},null,8,[`open`,`personal-space-id`,`projects`,`template-id`])),q.value?(r(),y($e,{key:1,open:ae.value,item:oe.value,projects:J.value.map(e=>({id:e.value,name:e.label})),"default-project-id":fe.value.length===1?fe.value[0]:void 0,"personal-space-id":U.value,"can-write":G.value?.permissions.includes(`board.write`)??!1,onClose:n[3]||=e=>ae.value=!1,onSaved:Z},null,8,[`open`,`item`,`projects`,`default-project-id`,`personal-space-id`,`can-write`])):u(``,!0),q.value?(r(),y(gt,{key:2,open:ie.value,projects:J.value.map(e=>({id:e.value,name:e.label})),onClose:n[4]||=e=>ie.value=!1},null,8,[`open`,`projects`])):u(``,!0),se.value?(r(),y(ee,{key:3,label:ce.value},null,8,[`label`])):ue.value?(r(),v(`div`,Dt,[g(`p`,null,l(ue.value),1),g(`button`,{class:`quiet-button`,type:`button`,onClick:Ce},l(m(c)(`employees.retry`)),1)])):G.value?K.value?(r(),y(Le,{key:6,"personal-space-id":U.value,projects:m(d).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`])):q.value&&G.value.runtimeStatus!==`ready`?(r(),v(`div`,kt,[g(`p`,null,l(m(c)(`employees.installRequired`)),1),g(`small`,null,l(m(c)(`employees.installHelp`)),1)])):p.value?p.value===Nt&&X.value?(r(),y(te,{key:9,"visible-project-ids":fe.value,"onUpdate:visibleProjectIds":n[6]||=e=>fe.value=e,boards:pe.value,projects:J.value.map(e=>({id:e.value,name:e.label})),"failed-projects":me.value,"can-move-tasks":G.value.permissions.includes(`board.write`),"moving-item-keys":L.value,"action-error":R.value,"resettable-filter":q.value,"filter-storage-unavailable":m(Y).storageUnavailable.value,onResetProjectFilter:m(Y).reset,onMoveTask:xe,onSelectTask:_e,onCreateTask:n[7]||=e=>_e(),onRetry:Z},null,8,[`visible-project-ids`,`boards`,`projects`,`failed-projects`,`can-move-tasks`,`moving-item-keys`,`action-error`,`resettable-filter`,`filter-storage-unavailable`,`onResetProjectFilter`])):h.value&&h.value.runtimeStatus!==`ready`?(r(),v(`div`,jt,[g(`p`,null,l(m(c)(`employees.installRequired`)),1),g(`small`,null,l(m(c)(`employees.installHelp`)),1)])):h.value?(r(),v(`iframe`,{key:h.value.workbenchUrl,src:h.value.workbenchUrl,title:`${h.value.name} · ${h.value.project.name}`,class:`employee-workbench-frame`},null,8,Mt)):u(``,!0):(r(),v(`div`,At,[g(`h2`,null,l(m(c)(`employees.emptyWorkbench`)),1),g(`p`,null,l(m(c)(`employees.manageHint`)),1),g(`button`,{class:`quiet-button`,type:`button`,onClick:n[5]||=e=>H.value=!0},l(m(c)(`employees.manageProjects`)),1)])):(r(),v(`div`,Ot,[g(`p`,null,l(m(c)(`employees.unavailable`)),1),_(m(T),{to:`/project-agents`},{default:a(()=>[e(l(m(c)(`employees.backToAgents`)),1)]),_:1})]))],8,yt))}}),[[`__scopeId`,`data-v-fba11ab5`]]);export{Pt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bole-panel[data-v-b9fe7dc9]{--bole-ink:#293d31;--bole-muted:#596b60;--bole-line:#dde5df;min-width:0;min-height:0;color:var(--bole-ink);background:#fafbf9;flex-direction:column;flex:1;display:flex;overflow:hidden}.bole-header[data-v-b9fe7dc9],.bole-controls[data-v-b9fe7dc9]{flex:none;padding-inline:24px}.bole-header[data-v-b9fe7dc9]{border-bottom:1px solid var(--bole-line);background:#fff;flex-wrap:wrap;align-items:center;gap:4px 16px;padding-block:8px;display:flex}.bole-heading[data-v-b9fe7dc9]{flex-wrap:wrap;align-items:center;gap:4px 24px;display:flex}.bole-heading h2[data-v-b9fe7dc9]{margin:0;font-size:20px;font-weight:650;line-height:1.3}.bole-refresh[data-v-b9fe7dc9],.bole-alert button[data-v-b9fe7dc9]{min-height:36px;color:var(--bole-muted);background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:13px}.bole-refresh[data-v-b9fe7dc9]:hover:not(:disabled),.bole-alert button[data-v-b9fe7dc9]:hover{background:#e9efea}.bole-refresh[data-v-b9fe7dc9]:disabled{cursor:progress}.bole-summary[data-v-b9fe7dc9]{flex-wrap:wrap;gap:8px 16px;margin:0 0 0 auto;display:flex}.bole-summary div[data-v-b9fe7dc9]{align-items:baseline;gap:8px;display:flex}.bole-summary dt[data-v-b9fe7dc9]{color:var(--bole-muted);font-size:12px}.bole-summary dd[data-v-b9fe7dc9]{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:650}.bole-controls[data-v-b9fe7dc9]{z-index:2;border-bottom:1px solid var(--bole-line);background:#fff;padding-bottom:12px}.bole-views[data-v-b9fe7dc9]{flex-wrap:wrap;gap:20px;display:flex}.bole-views button[data-v-b9fe7dc9]{min-height:44px;color:var(--bole-muted);background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;font-size:14px;display:flex;position:relative}.bole-views button[aria-pressed=true][data-v-b9fe7dc9]{color:#214b33;font-weight:650}.bole-views button[aria-pressed=true][data-v-b9fe7dc9]:after{content:"";background:#315c43;height:2px;position:absolute;inset:auto 0 -1px}.bole-views span[data-v-b9fe7dc9]{color:var(--bole-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.bole-filters[data-v-b9fe7dc9]{flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px;display:flex}.bole-search[data-v-b9fe7dc9]{flex:220px;min-width:0}.bole-search[data-v-b9fe7dc9],.bole-filters select[data-v-b9fe7dc9]{min-height:44px;color:var(--bole-ink);background:#fff;border:1px solid #bdcbbf;border-radius:8px;padding:10px 12px;font-size:13px}.bole-search[data-v-b9fe7dc9]::placeholder{color:var(--bole-muted)}.bole-filters .project-scope-picker[data-v-b9fe7dc9]{flex:0 260px}.bole-role-filters[data-v-b9fe7dc9]{flex-wrap:wrap;gap:4px 8px;margin-top:12px;display:flex}.bole-role-filters button[data-v-b9fe7dc9]{min-height:36px;color:var(--bole-muted);background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:12px}.bole-role-filters button[aria-pressed=true][data-v-b9fe7dc9]{color:#244d34;background:#e8f0e9;font-weight:600}.bole-role-filters button[data-v-b9fe7dc9]:hover{background:#edf2ed}.bole-role-filters span[data-v-b9fe7dc9]{font-variant-numeric:tabular-nums;margin-left:4px}.bole-role-filters .bole-clear[data-v-b9fe7dc9]{text-underline-offset:3px;margin-left:auto;text-decoration:underline}.bole-content[data-v-b9fe7dc9]{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:16px 24px 32px;overflow:auto}.bole-result-count[data-v-b9fe7dc9]{color:var(--bole-muted);align-self:center;font-size:12px}.bole-agent-list[data-v-b9fe7dc9]{border:1px solid var(--bole-line);background:#fff;border-radius:12px}.bole-table-heading[data-v-b9fe7dc9],.bole-agent-row[data-v-b9fe7dc9]{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,.8fr);gap:24px;padding:16px;display:grid}.bole-table-heading[data-v-b9fe7dc9]{color:var(--bole-muted);background:#f0f4f0;border-radius:12px 12px 0 0;padding-block:12px;font-size:12px}.bole-agent-row[data-v-b9fe7dc9]{border-top:1px solid var(--bole-line);align-items:center}.bole-agent-row[data-v-b9fe7dc9]:hover{background:#f8faf7}.bole-agent-row[data-v-b9fe7dc9]:last-child{border-radius:0 0 12px 12px}.bole-agent-identity[data-v-b9fe7dc9]{align-items:center;gap:12px;min-width:0;display:flex}.bole-agent-identity>div[data-v-b9fe7dc9]{min-width:0}.bole-agent-mark[data-v-b9fe7dc9]{background:#edf2ed;border-radius:10px;flex:0 0 36px;place-items:center;height:36px;font-size:18px;display:grid;overflow:hidden}.bole-agent-mark img[data-v-b9fe7dc9]{object-fit:cover;width:100%;height:100%}.bole-agent-identity strong[data-v-b9fe7dc9],.bole-recruitment-identity strong[data-v-b9fe7dc9]{overflow-wrap:anywhere;font-size:14px;font-weight:600;display:block}.bole-agent-identity small[data-v-b9fe7dc9],.bole-timeline small[data-v-b9fe7dc9]{color:var(--bole-muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.bole-agent-work p[data-v-b9fe7dc9]{overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.6}.bole-agent-work .is-idle[data-v-b9fe7dc9]{color:var(--bole-muted);margin:0}.bole-status[data-v-b9fe7dc9]{color:#315b40;background:#edf4ee;border-radius:4px;padding:3px 6px;font-size:11px;display:inline-block}.bole-status[data-status=blocked][data-v-b9fe7dc9]{color:#893f2d;background:#faeae4}.bole-status[data-status=awaiting_review][data-v-b9fe7dc9]{color:#6f591f;background:#f4efd9}.bole-agent-projects[data-v-b9fe7dc9]{min-width:0;color:var(--bole-muted);font-size:12px;line-height:1.6}.bole-agent-projects span[data-v-b9fe7dc9]{overflow-wrap:anywhere;display:block}.bole-agent-projects summary[data-v-b9fe7dc9]{cursor:pointer;color:#315c43;width:fit-content;min-height:32px;padding-block:6px}.bole-timeline[data-v-b9fe7dc9]{border-top:1px solid var(--bole-line);margin:0;padding:0;list-style:none}.bole-timeline li[data-v-b9fe7dc9]{border-bottom:1px solid var(--bole-line);grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(120px,.6fr);gap:24px;padding:20px 0;display:grid}.bole-recruitment-reason p[data-v-b9fe7dc9]{overflow-wrap:anywhere;max-width:70ch;margin:0;font-size:13px;line-height:1.7}.bole-timeline time[data-v-b9fe7dc9]{color:var(--bole-muted);font-size:12px;line-height:1.6}.bole-empty[data-v-b9fe7dc9]{color:var(--bole-muted);text-align:center;padding:32px 16px;font-size:13px}.bole-alert[data-v-b9fe7dc9]{color:#7b4033;background:#fff1e9;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;font-size:13px;display:flex}.bole-panel[data-v-b9fe7dc9] :is(button,input,select,summary):focus-visible,.bole-content[data-v-b9fe7dc9]:focus-visible{outline-offset:2px;outline:2px solid #356448}@media (width<=1100px){.bole-table-heading[data-v-b9fe7dc9],.bole-agent-row[data-v-b9fe7dc9]{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}.bole-table-heading[data-v-b9fe7dc9]>:last-child{display:none}.bole-agent-projects[data-v-b9fe7dc9]{grid-column:2}.bole-timeline li[data-v-b9fe7dc9]{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px 20px}.bole-timeline time[data-v-b9fe7dc9]{grid-column:2}}@media (width<=700px),(height<=560px){.bole-panel[data-v-b9fe7dc9]{overscroll-behavior:contain;overflow:auto}.bole-content[data-v-b9fe7dc9]{flex:none;overflow:visible}}@media (width<=700px){.bole-header[data-v-b9fe7dc9],.bole-controls[data-v-b9fe7dc9]{padding-inline:16px}.bole-content[data-v-b9fe7dc9]{padding:16px 16px 28px}.bole-heading[data-v-b9fe7dc9]{gap:4px 16px;width:100%}.bole-views[data-v-b9fe7dc9]{gap:16px}.bole-summary[data-v-b9fe7dc9]{gap:8px 16px;margin-left:0}.bole-refresh[data-v-b9fe7dc9]{margin-left:auto}.bole-filters[data-v-b9fe7dc9]{gap:8px}.bole-search[data-v-b9fe7dc9]{flex-basis:100%}.bole-filters .project-scope-picker[data-v-b9fe7dc9]{flex:180px}.bole-filters select[data-v-b9fe7dc9]{flex:120px}.bole-role-filters[data-v-b9fe7dc9]{gap:4px}.bole-table-heading[data-v-b9fe7dc9]{display:none}.bole-agent-row[data-v-b9fe7dc9]{grid-template-columns:minmax(0,1fr);gap:12px}.bole-agent-row[data-v-b9fe7dc9]:first-of-type{border-top:0}.bole-agent-projects[data-v-b9fe7dc9]{grid-column:auto;padding-left:48px}.bole-agent-work[data-v-b9fe7dc9]{padding-left:48px}.bole-timeline li[data-v-b9fe7dc9]{grid-template-columns:minmax(0,1fr);gap:12px}.bole-timeline time[data-v-b9fe7dc9]{grid-column:auto}.bole-alert[data-v-b9fe7dc9]{padding-inline:16px}}fieldset[data-v-2da40afc]{border:0;min-width:0;margin:0;padding:0}.employee-share-result[data-v-2da40afc]{gap:12px;display:grid}.employee-share-result label[data-v-2da40afc]{gap:8px;font-size:13px;display:grid}.employee-share-result>div[data-v-2da40afc]{align-items:center;gap:16px;display:flex}.employee-share-result a[data-v-2da40afc]{color:#315c43;font-size:13px}.employee-share-local[data-v-2da40afc]{color:#725a2d}.employee-share-preview[data-v-2da40afc]{color:#315c43;font-weight:600}.employee-share-empty[data-v-2da40afc]{color:#725a2d;line-height:1.6}.employee-share-active[data-v-2da40afc]{border-top:1px solid #e6ece8;padding-top:16px}.employee-share-active h3[data-v-2da40afc]{margin:0 0 10px;font-size:14px}.employee-share-active>div[data-v-2da40afc]{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.employee-share-active span[data-v-2da40afc]{overflow-wrap:anywhere}footer>span[data-v-2da40afc]{color:#526659;margin-right:auto;font-size:12px}.employee-workbench-view[data-v-fba11ab5]{background:#fff;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.employee-workbench-toolbar[data-v-fba11ab5]{flex:none;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px 10px;display:flex}.employee-workbench-identity[data-v-fba11ab5]{align-items:center;gap:10px;min-width:0;display:flex}.employee-workbench-mark[data-v-fba11ab5]{color:#315c43;background:#eaf0ec;border-radius:9px;flex:0 0 32px;place-items:center;height:32px;font-size:17px;font-weight:650;display:grid;overflow:hidden}.employee-workbench-mark img[data-v-fba11ab5]{object-fit:cover;width:100%;height:100%}.employee-share-button[data-v-fba11ab5]{color:#42624c;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.employee-share-button[data-v-fba11ab5]:hover{background:#edf3ee}.employee-share-button[data-v-fba11ab5]:focus-visible{outline-offset:2px;outline:2px solid #356448}.employee-workbench-toolbar h1[data-v-fba11ab5]{color:#253c2f;overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:650;line-height:1.4}.employee-workbench-toolbar h1 span[data-v-fba11ab5]{color:#59685f;margin-left:8px;font-size:12px;font-weight:400}.employee-workbench-actions[data-v-fba11ab5]{align-items:center;gap:12px;min-width:0;display:flex}.employee-manage-projects[data-v-fba11ab5],.employee-back-to-all[data-v-fba11ab5]{color:#465b4d;min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:inline-flex}.employee-manage-projects[data-v-fba11ab5]:hover:not(:disabled),.employee-back-to-all[data-v-fba11ab5]:hover{background:#e2ece5}.employee-manage-projects[data-v-fba11ab5]:disabled{color:#647568;cursor:default}.employee-manage-projects[data-v-fba11ab5]:focus-visible,.employee-back-to-all[data-v-fba11ab5]:focus-visible{outline-offset:3px;outline:2px solid #356448}.employee-workbench-frame[data-v-fba11ab5]{border:0;flex:1;width:100%;height:100%;min-height:0}.employee-workbench-state[data-v-fba11ab5]{color:#58695e;text-align:center;flex:1;place-content:center;justify-items:center;gap:14px;padding:30px;font-size:14px;display:grid}.employee-workbench-state a[data-v-fba11ab5]{color:#315c43}.employee-workbench-state h2[data-v-fba11ab5]{color:#253c2f;font-size:20px;font-weight:600}.employee-workbench-state p[data-v-fba11ab5]{max-width:48ch;margin:0;line-height:1.7}@media (width<=640px){.employee-workbench-toolbar[data-v-fba11ab5]{flex-wrap:wrap;gap:10px;padding:8px 16px 10px}.employee-workbench-actions[data-v-fba11ab5]{justify-content:flex-end;gap:8px;width:100%}.employee-workbench-toolbar h1 span[data-v-fba11ab5]{margin-left:6px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.growth-loading[data-v-9d0eb26c]{--growth-scale:1;min-width:0}.growth-loading--compact[data-v-9d0eb26c]{--growth-scale:.65;place-items:center;min-height:104px;padding:16px;display:grid}.growth-loading--inline[data-v-9d0eb26c]{--growth-scale:.28;vertical-align:middle;max-width:100%;font:inherit;display:inline-flex}.growth-loading__visual[data-v-9d0eb26c]{width:calc(126px * var(--growth-scale));height:calc(70px * var(--growth-scale));flex:none;display:block}.growth-loading__content[data-v-9d0eb26c]{justify-items:center;min-width:0;display:grid}.growth-loading--inline .growth-loading__content[data-v-9d0eb26c]{align-items:center;gap:8px;display:inline-flex}.growth-loading--inline .growth-loading__label[data-v-9d0eb26c]{color:inherit;font:inherit;margin:0}.growth-loading__chart[data-v-9d0eb26c]{contain:layout paint;width:126px;height:70px;transform:scale(var(--growth-scale));transform-origin:0 0;justify-content:center;align-items:end;gap:7px;padding:0 8px 7px;display:flex;position:relative}.growth-loading__bar[data-v-9d0eb26c]{--rest:20%;--peak:76%;--delay:0s;--tide-delay:0s;z-index:1;background:#ffffff7a;border:1px solid #46645226;border-radius:5px 5px 3px 3px;flex:0 0 15px;width:15px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb8}.growth-loading__bar i[data-v-9d0eb26c]{height:var(--rest);animation:growth-loading-rise-9d0eb26c 3.2s cubic-bezier(.45, 0, .22, 1) var(--delay) infinite;will-change:height;background:linear-gradient(#8fae9c 0%,#5f836f 100%);border-radius:2px 2px 1px 1px;position:absolute;bottom:1px;left:1px;right:1px;box-shadow:0 -1px 4px #466d571f}.growth-loading__bar i[data-v-9d0eb26c]:before{content:"";width:176%;height:7px;animation:growth-loading-tide-9d0eb26c 1.35s ease-in-out var(--tide-delay) infinite alternate;background:#a5beaf;border-radius:50%;position:absolute;top:-3px;left:-38%;box-shadow:inset 0 1px #ffffff59}.growth-loading__bar--1[data-v-9d0eb26c]{--rest:28%;--peak:62%;height:26px}.growth-loading__bar--2[data-v-9d0eb26c]{--rest:22%;--peak:70%;--delay:.12s;--tide-delay:-.12s;height:35px}.growth-loading__bar--3[data-v-9d0eb26c]{--rest:25%;--peak:78%;--delay:.24s;--tide-delay:-.24s;height:44px}.growth-loading__bar--4[data-v-9d0eb26c]{--rest:20%;--peak:86%;--delay:.36s;--tide-delay:-.36s;height:53px}.growth-loading__bar--5[data-v-9d0eb26c]{--rest:24%;--peak:94%;--delay:.48s;--tide-delay:-.48s;height:62px}.growth-loading__baseline[data-v-9d0eb26c]{background:linear-gradient(90deg,#0000,#48675538 18% 82%,#0000);height:1px;position:absolute;bottom:6px;left:4px;right:4px;overflow:hidden}.growth-loading__baseline[data-v-9d0eb26c]:after{content:"";background:linear-gradient(90deg,#0000,#ffffffeb,#0000);width:32%;animation:3.2s ease-in-out infinite growth-loading-reflection-9d0eb26c;position:absolute;top:0;bottom:0;left:-32%}.growth-loading__label[data-v-9d0eb26c]{color:#778079;text-align:center;overflow-wrap:anywhere;margin-top:11px;font-size:12px;line-height:1.5}@keyframes growth-loading-rise-9d0eb26c{0%,12%{height:var(--rest)}50%,68%{height:var(--peak)}to{height:var(--rest)}}@keyframes growth-loading-tide-9d0eb26c{0%{transform:translate(-5%)rotate(-1deg)}to{transform:translate(5%)rotate(1deg)}}@keyframes growth-loading-reflection-9d0eb26c{0%,18%{opacity:0;transform:translate(0)}38%,68%{opacity:.72}86%,to{opacity:0;transform:translate(420%)}}@media (prefers-reduced-motion:reduce){.growth-loading__bar i[data-v-9d0eb26c]{height:var(--peak);animation:none}.growth-loading__bar i[data-v-9d0eb26c]:before,.growth-loading__baseline[data-v-9d0eb26c]:after{animation:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{N as e,S as t,T as n,at as r,rt as i,v as a,x as o}from"./i18n-BkJjUsz_.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c={class:`growth-loading__content`},l={class:`growth-loading__label`},u=s(n({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(n){return(s,u)=>(e(),o(`span`,{class:i([`growth-loading`,[`growth-loading--${n.variant}`,{"view-loading":n.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`},[a(`span`,c,[u[0]||=t(`<span class="growth-loading__visual" aria-hidden="true" data-v-9d0eb26c><span class="growth-loading__chart" aria-hidden="true" data-v-9d0eb26c><span class="growth-loading__bar growth-loading__bar--1" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--2" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--3" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--4" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__bar growth-loading__bar--5" data-v-9d0eb26c><i data-v-9d0eb26c></i></span><span class="growth-loading__baseline" data-v-9d0eb26c></span></span></span>`,1),a(`span`,l,r(n.label),1)])],2))}}),[[`__scopeId`,`data-v-9d0eb26c`]]);export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,H as t,N as n,R as r,T as i,X as a,Y as o,Z as s,_ as c,a as l,at as u,b as d,c as f,d as p,h as m,j as h,m as g,nt as _,v,w as y,x as b,y as x,z as ee}from"./i18n-BkJjUsz_.js";import{t as te}from"./console-C9HS-zbd.js";import{t as S}from"./GrowthLoading-CCYPgE2f.js";import{t as C}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as w,r as T}from"./client-v8XKgQji.js";import{t as ne}from"./useModalDialog-DrLhqtjR.js";import{t as E}from"./SearchableSelect-BjBDBVuZ.js";import{r as D,t as O}from"./identity-74yGiMzO.js";import{E as k,T as A}from"./model-86tZgY0r.js";var j=`testLoading`;function M(e=typeof window>`u`?``:window.location.search){return new URLSearchParams(e).get(j)===`1`}function N(e,t=500){let n=s(!1),r=0,i=null;function o(){i!==null&&(clearTimeout(i),i=null)}return ee(e,e=>{if(o(),e){n.value||(r=Date.now()),n.value=!0;return}if(!n.value)return;let a=Math.max(0,t-(Date.now()-r));if(a===0){n.value=!1;return}i=setTimeout(()=>{i=null,n.value=!1},a)},{immediate:!0,flush:`sync`}),h(o),a(n)}var P=[`aria-labelledby`],F={class:`project-dialog-header`},I=[`id`],L=[`disabled`],R={class:`knowledge-confirm-summary`},z={class:`knowledge-confirm-fields`},B={class:`knowledge-confirm-acknowledgement`},V={key:0,class:`publish-dialog-error`,role:`alert`},H={class:`project-profile-dialog-actions`},U=[`disabled`],W=[`disabled`],G=C(i({__name:`KnowledgeConfirmDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{}},emits:[`close`,`saved`],setup(i,{emit:a}){let o=i,h=a,y=te(),C=s(``),w=s(``),E=s(``),D=s(!1),O=s(!1),j=r(),{dialogRef:M,onCancel:N,onKeydown:G}=ne(()=>!!o.item,()=>{O.value||h(`close`)}),K=s(``),q=s({kind:`import`,label:l(`knowledge.domain.actors.historicalRecord`)}),J=c(()=>o.item?.profileAspect?l(`knowledge.dialogs.confirm.preferenceSubject`):l(`knowledge.dialogs.confirm.knowledgeSubject`));ee(()=>o.item,e=>{if(!e)return;let t=e.evidence.at(0),n=e.confirmationBasis;C.value=n?.existence_reason||t?.source_description||t?.summary||l(`knowledge.dialogs.confirm.sourceSupport`),w.value=n?.quadrant_reason||e.reasoningSummary||l(`knowledge.dialogs.confirm.quadrantReason`,{quadrant:k(e.originQuadrant),description:A(e.originQuadrant)}),q.value=n?.proposed_by??ie(t),E.value=l(`knowledge.dialogs.confirm.confirmationReason`),D.value=!1,K.value=``},{immediate:!0});async function re(){let e=o.item;if(!(!e||O.value)){if(!e.classificationExplicit)return Y(l(`knowledge.dialogs.confirm.errors.quadrantRequired`));if(!C.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.existenceRequired`));if(!w.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.quadrantReasonRequired`));if(!E.value.trim())return Y(l(`knowledge.dialogs.confirm.errors.confirmationReasonRequired`));if(!D.value)return Y(l(`knowledge.dialogs.confirm.errors.acknowledgmentRequired`));O.value=!0,K.value=``;try{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{personalSpaceId:o.personalSpaceId,personalProjectId:o.personalProjectId,action:`confirm`,reason:E.value.trim(),confirmationStatus:`confirmed`,confirmationBasis:{existenceReason:C.value.trim(),quadrantReason:w.value.trim(),proposedBy:q.value,confirmedBy:{kind:`user`,label:l(`knowledge.domain.actors.currentUser`)},confirmedAt:new Date().toISOString()}}),y.notify(l(`knowledge.dialogs.confirm.confirmed`,{subject:J.value})),h(`saved`),h(`close`)}catch(e){K.value=e instanceof Error?e.message:l(`knowledge.dialogs.confirm.errors.failed`),y.reportError(e)}finally{O.value=!1}}}function ie(e){let t={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:l(`knowledge.domain.actors.otherAgent`)}[e?.source_application??``];return t?{kind:`agent`,label:t}:{kind:`import`,label:l(`knowledge.domain.actors.historicalRecord`)}}function Y(e){K.value=e}return(r,a)=>i.item?(n(),b(`dialog`,{key:0,ref_key:`dialogRef`,ref:M,"aria-modal":`true`,"aria-labelledby":_(j),onCancel:a[6]||=(...e)=>_(N)&&_(N)(...e),onKeydown:a[7]||=(...e)=>_(G)&&_(G)(...e),class:`knowledge-confirm-dialog vue-dialog`},[v(`form`,{class:`knowledge-confirm-dialog-shell`,onSubmit:g(re,[`prevent`])},[v(`header`,F,[v(`div`,null,[v(`h3`,{id:_(j)},u(_(l)(`knowledge.dialogs.confirm.title`,{subject:J.value})),9,I),v(`p`,null,u(_(l)(`knowledge.dialogs.confirm.intro`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:a[0]||=e=>h(`close`)},u(_(l)(`common.actions.close`)),9,L)]),v(`section`,R,[v(`span`,null,u(i.item.profileAspect?_(l)(`knowledge.dialogs.confirm.preference`):_(l)(`knowledge.dialogs.confirm.knowledge`)),1),v(`strong`,null,u(i.item.title),1),v(`p`,null,u(i.item.body),1),v(`small`,null,u(_(l)(`knowledge.dialogs.confirm.quadrant`,{quadrant:_(k)(i.item.originQuadrant)})),1)]),v(`div`,z,[v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.whyExists`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[1]||=e=>C.value=e,name:`confirmation-existence-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,C.value]])]),v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.whyQuadrant`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[2]||=e=>w.value=e,name:`confirmation-quadrant-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,w.value]])]),v(`label`,null,[v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.confirmationCopy`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[3]||=e=>E.value=e,name:`confirmation-reason`,maxlength:`2000`,rows:`2`,required:``},null,512),[[p,E.value]])])]),v(`label`,B,[t(v(`input`,{"onUpdate:modelValue":a[4]||=e=>D.value=e,name:`confirmation-acknowledged`,type:`checkbox`},null,512),[[f,D.value]]),v(`span`,null,u(_(l)(`knowledge.dialogs.confirm.acknowledgment`)),1)]),K.value?(n(),b(`p`,V,u(K.value),1)):d(``,!0),v(`footer`,H,[v(`button`,{class:`secondary-action`,type:`button`,disabled:O.value,onClick:a[5]||=e=>h(`close`)},u(_(l)(`common.actions.cancel`)),9,U),v(`button`,{class:`primary-action`,type:`submit`,disabled:O.value||!D.value},[O.value?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.confirm.confirming`,{subject:J.value})},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.confirm.confirmSubject`,{subject:J.value})),1)],64))],8,W)])],32)],40,P)):d(``,!0)}}),[[`__scopeId`,`data-v-b8c3dc93`]]),K=[`aria-labelledby`],q={class:`project-dialog-shell`},J={class:`project-dialog-header`},re=[`id`],ie=[`disabled`],Y={class:`knowledge-edit-columns`},ae=[`disabled`],oe={key:0},se={key:1},ce={key:2},le={class:`knowledge-taxonomy-fields`},ue={class:`knowledge-classification-warning`},de={key:3,class:`knowledge-classification-warning`},fe={class:`knowledge-confirmation-fields`},pe={class:`knowledge-taxonomy-fields`},me=[`placeholder`],he=[`placeholder`],ge={key:4,class:`knowledge-replacement-fields`},_e={key:0},ve={class:`knowledge-replacement-fields`},ye={key:5,class:`publish-dialog-error`,role:`alert`},be={class:`knowledge-editor-actions`},xe=[`disabled`],Se=[`disabled`],Ce=[`disabled`],we=[`disabled`],Te={key:0},Ee=[`disabled`],De=[`disabled`],Oe={key:1},ke=[`disabled`],Ae={key:0},je=[`disabled`],X=C(i({__name:`KnowledgeEditDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{},replacementItems:{default:()=>[]}},emits:[`close`,`saved`],setup(i,{emit:a}){let f=i,h=a,C=te(),A=s(!1),j=s(null),M=r(),{dialogRef:N,onCancel:P,onKeydown:F}=ne(()=>!!f.item,()=>{A.value||h(`close`)}),I=s(``),L=s(``),R=s(``),z=s(`global`),B=s(``),V=s(``),H=s(``),U=s(``),W=o({name:``,summary:``,fact:``,currentQuadrant:``,confirmationStatus:`pending`,existenceReason:``,quadrantReason:``,proposedByKind:`agent`,proposedByLabel:``,confirmedByKind:`user`,confirmedByLabel:``,profileAspect:`none`,inheritanceMode:`local_only`,reason:``}),G=c(()=>f.item?.itemKind===`relationship`),X=c(()=>!!f.item?.invalidAt),Me=c(()=>!!f.item?.raw.profile_aspect),Ne=c(()=>f.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${O(e.project_id,26)}`,search:D(e.project_id)}))),Pe=c(()=>[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:l(`knowledge.dialogs.edit.quadrants.${e}`)}))),Fe=c(()=>[{value:`pending`,label:l(`knowledge.dialogs.edit.confirmationStates.pending`)},{value:`confirmed`,label:l(`knowledge.dialogs.edit.confirmationStates.confirmed`)}]),Ie=c(()=>[{value:`local_only`,label:l(`knowledge.dialogs.edit.inheritance.local`)},{value:`descendants`,label:l(`knowledge.dialogs.edit.inheritance.descendants`)},{value:`selected_projects`,label:l(`knowledge.dialogs.edit.inheritance.selected`)}]),Le=c(()=>[`user`,`agent`,`authoritative_source`,`import`].map(e=>({value:e,label:l(`knowledge.domain.actors.${e}`)}))),Re=c(()=>[`user`,`authoritative_source`].map(e=>({value:e,label:l(`knowledge.domain.actors.${e}`)}))),ze=c(()=>[{value:`none`,label:l(`knowledge.dialogs.edit.profiles.none`)},...[`taste`,`personality`,`judgment_preference`].map(e=>({value:e,label:l(`knowledge.domain.profiles.${e}`)}))]),Be=c(()=>[{value:`global`,label:l(`knowledge.dialogs.edit.scopes.global`)},{value:`project`,label:l(`knowledge.dialogs.edit.scopes.project`),disabled:f.projects.length===0}]),Ve=c(()=>[{value:``,label:l(`knowledge.dialogs.edit.replacementNone`)},...f.replacementItems.filter(e=>!e.invalidAt&&(e.itemKind!==f.item?.itemKind||e.id!==f.item?.id)).map(e=>({value:Ye(e.itemKind,e.id),label:e.title,meta:e.type,search:`${e.body} ${e.id}`}))]),Z=c(()=>{if(!U.value)return null;try{let[e,t]=JSON.parse(U.value);return e!==`entity`&&e!==`relationship`||typeof t!=`string`?null:{itemKind:e,id:t}}catch{return null}}),He=c(()=>f.item?.assignments.at(0)?.project_id??f.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??f.personalProjectId??null);ee(()=>f.item,e=>{if(!e)return;let t=e.raw;W.name=e.itemKind===`entity`?t.name:``,W.summary=e.itemKind===`entity`?t.summary??``:``,W.fact=e.itemKind===`relationship`?t.fact??``:``;let n=e.confirmationBasis,r=e.evidence.at(0);W.currentQuadrant=e.classificationExplicit?t.current_quadrant??t.origin_quadrant??`known_known`:``,W.confirmationStatus=e.confirmationStatus===`confirmed`?`confirmed`:`pending`,W.existenceReason=n?.existence_reason??r?.source_description??r?.summary??``,W.quadrantReason=n?.quadrant_reason??t.reasoning_summary??``,W.proposedByKind=n?.proposed_by.kind??`agent`,W.proposedByLabel=n?.proposed_by.label??``,W.confirmedByKind=n?.confirmed_by?.kind??`user`,W.confirmedByLabel=n?.confirmed_by?.label??``,W.profileAspect=t.profile_aspect??`none`,W.inheritanceMode=t.profile_aspect?`local_only`:t.inheritance_mode??`local_only`,H.value=t.inherited_project_ids?.at(0)??f.projects[0]?.project_id??``,W.reason=``,L.value=``,R.value=He.value??f.projects[0]?.project_id??``,z.value=t.preference_scope??`global`,B.value=t.preference_project_id??f.projects[0]?.project_id??``,V.value=``,U.value=e.replacedByItemId&&e.replacedByItemKind?Ye(e.replacedByItemKind,e.replacedByItemId):``,I.value=``},{immediate:!0});async function Ue(){let e=f.item;if(!e)return;if(!W.reason.trim())return $(l(`knowledge.dialogs.edit.errors.reasonRequired`));if(!G.value&&!W.name.trim())return $(l(`knowledge.dialogs.edit.errors.nameRequired`));if(G.value&&!W.fact.trim())return $(l(`knowledge.dialogs.edit.errors.factRequired`));if(!W.currentQuadrant||!W.confirmationStatus)return $(l(`knowledge.dialogs.edit.errors.classificationRequired`));if(!W.existenceReason.trim())return $(l(`knowledge.dialogs.edit.errors.existenceRequired`));if(!W.quadrantReason.trim())return $(l(`knowledge.dialogs.edit.errors.quadrantRequired`));if(!W.proposedByKind)return $(l(`knowledge.dialogs.edit.errors.proposerRequired`));if(W.confirmationStatus===`confirmed`&&!W.confirmedByKind)return $(l(`knowledge.dialogs.edit.errors.confirmerRequired`));if(W.inheritanceMode===`selected_projects`&&!H.value)return $(l(`knowledge.dialogs.edit.errors.inheritedProjectsRequired`));let t={...Je(`update`),confirmationStatus:W.confirmationStatus,confirmationBasis:{existenceReason:W.existenceReason.trim(),quadrantReason:W.quadrantReason.trim(),proposedBy:{kind:W.proposedByKind,label:W.proposedByLabel.trim()||null},confirmedBy:W.confirmationStatus===`confirmed`?{kind:W.confirmedByKind,label:W.confirmedByLabel.trim()||null}:null,confirmedAt:W.confirmationStatus===`confirmed`?new Date().toISOString():null},profileAspect:W.profileAspect,inheritanceMode:W.profileAspect===`none`?W.inheritanceMode:`local_only`,inheritedProjectIds:W.profileAspect===`none`&&W.inheritanceMode===`selected_projects`?[H.value]:[],reasoningSummary:W.quadrantReason.trim()};f.item.classificationExplicit?t.currentQuadrant=W.currentQuadrant:t.originQuadrant=W.currentQuadrant,G.value?t.fact=W.fact.trim():(t.name=W.name.trim(),t.summary=W.summary.trim()),await Q(`correction`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,t),C.notify(l(`knowledge.dialogs.edit.notices.corrected`))})}async function We(e){let t=f.item;if(t){if(!W.reason.trim())return $(l(e===`invalidate`?`knowledge.dialogs.edit.errors.statusReasonRequired`:`knowledge.dialogs.edit.errors.restoreReasonRequired`));await Q(e===`invalidate`?`invalidate`:`restore`,async()=>{let n=Je(e);e===`invalidate`&&Z.value&&(n.replacementItemId=Z.value.id,n.replacementItemKind=Z.value.itemKind),await T(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}`,n),C.notify(e===`invalidate`?Z.value?l(`knowledge.dialogs.edit.notices.invalidatedWithReplacement`):l(`knowledge.dialogs.edit.notices.invalidated`):l(`knowledge.dialogs.edit.notices.restored`))})}}async function Ge(){let e=f.item,t=Z.value;if(!(!e||!X.value)){if(!t)return $(l(`knowledge.dialogs.edit.errors.replacementRequired`));if(!W.reason.trim())return $(l(`knowledge.dialogs.edit.errors.replacementReasonRequired`));await Q(`replacement`,async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{...Je(`link_replacement`),replacementItemId:t.id,replacementItemKind:t.itemKind}),C.notify(l(`knowledge.dialogs.edit.notices.replacementSaved`))})}}async function Ke(){let e=f.item;if(e){if(!R.value)return $(l(`knowledge.dialogs.edit.errors.projectRequired`));if(!L.value.trim())return $(l(`knowledge.dialogs.edit.errors.assignmentReasonRequired`));if(R.value===He.value)return $(l(`knowledge.dialogs.edit.errors.alreadyAssigned`));await Q(`ownership`,async()=>{await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/assignment`,{personalSpaceId:f.personalSpaceId,targetProjectId:R.value,reason:L.value.trim()}),C.notify(l(`knowledge.dialogs.edit.notices.assignmentChanged`))})}}async function qe(){let e=f.item;if(!e)return;let t=z.value===`project`?B.value:null;if(z.value===`project`&&!t)return $(l(`knowledge.dialogs.edit.errors.preferenceProjectRequired`));if(!V.value.trim())return $(l(`knowledge.dialogs.edit.errors.preferenceReasonRequired`));await Q(`scope`,async()=>{await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/preference-scope`,{personalSpaceId:f.personalSpaceId,scope:z.value,projectId:t,reason:V.value.trim()}),C.notify(z.value===`global`?l(`knowledge.dialogs.edit.notices.preferenceGlobal`):l(`knowledge.dialogs.edit.notices.preferenceProject`))})}function Je(e){return{personalSpaceId:f.personalSpaceId,personalProjectId:f.personalProjectId,action:e,reason:W.reason.trim()}}function Ye(e,t){return JSON.stringify([e,t])}async function Q(e,t){if(!A.value){A.value=!0,j.value=e,I.value=``;try{await t(),h(`close`),h(`saved`)}catch(e){I.value=e instanceof Error?e.message:l(`knowledge.dialogs.edit.errors.saveFailed`),C.reportError(e)}finally{A.value=!1,j.value=null}}}function $(e){I.value=e}return(r,a)=>i.item?(n(),b(`dialog`,{key:0,ref_key:`dialogRef`,ref:N,"aria-modal":`true`,"aria-labelledby":_(M),onCancel:a[24]||=(...e)=>_(P)&&_(P)(...e),onKeydown:a[25]||=(...e)=>_(F)&&_(F)(...e),class:`project-dialog knowledge-edit-dialog vue-dialog`},[v(`div`,q,[v(`header`,J,[v(`div`,null,[v(`h3`,{id:_(M)},u(X.value?_(l)(`knowledge.dialogs.edit.titleRestore`):_(l)(`knowledge.dialogs.edit.titleCorrect`)),9,re),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.intro`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[0]||=e=>h(`close`)},u(_(l)(`common.actions.close`)),9,ie)]),v(`div`,Y,[v(`section`,null,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.currentContent`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(Ue,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[G.value?d(``,!0):(n(),b(`label`,oe,[e(u(_(l)(`knowledge.dialogs.edit.name`)),1),t(v(`input`,{"onUpdate:modelValue":a[1]||=e=>W.name=e,maxlength:`512`},null,512),[[p,W.name]])])),G.value?(n(),b(`label`,ce,[e(u(_(l)(`knowledge.dialogs.edit.fact`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[3]||=e=>W.fact=e,maxlength:`8192`,rows:`5`},null,512),[[p,W.fact]])])):(n(),b(`label`,se,[e(u(_(l)(`knowledge.dialogs.edit.description`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[2]||=e=>W.summary=e,maxlength:`4096`,rows:`5`},null,512),[[p,W.summary]])])),v(`div`,le,[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.classification`))+` `,1),y(E,{modelValue:W.currentQuadrant,"onUpdate:modelValue":a[4]||=e=>W.currentQuadrant=e,options:Pe.value,label:_(l)(`knowledge.dialogs.edit.classification`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmationStatus`))+` `,1),y(E,{modelValue:W.confirmationStatus,"onUpdate:modelValue":a[5]||=e=>W.confirmationStatus=e,options:Fe.value,label:_(l)(`knowledge.dialogs.edit.confirmationStatus`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.preferenceDimension`))+` `,1),y(E,{modelValue:W.profileAspect,"onUpdate:modelValue":a[6]||=e=>W.profileAspect=e,options:ze.value,label:_(l)(`knowledge.dialogs.edit.preferenceDimension`)},null,8,[`modelValue`,`options`,`label`])])]),v(`p`,ue,u(_(l)(`knowledge.dialogs.edit.originQuadrant`,{quadrant:_(k)(i.item.originQuadrant)})),1),i.item.classificationExplicit?d(``,!0):(n(),b(`p`,de,u(_(l)(`knowledge.dialogs.edit.missingQuadrant`)),1)),v(`fieldset`,fe,[v(`legend`,null,u(_(l)(`knowledge.dialogs.edit.basis`)),1),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.whyExists`))+` `,1),t(v(`textarea`,{"onUpdate:modelValue":a[7]||=e=>W.existenceReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,W.existenceReason]])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.whyQuadrant`))+` `,1),t(v(`textarea`,{"onUpdate:modelValue":a[8]||=e=>W.quadrantReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[p,W.quadrantReason]])]),v(`div`,pe,[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.proposer`))+` `,1),y(E,{modelValue:W.proposedByKind,"onUpdate:modelValue":a[9]||=e=>W.proposedByKind=e,options:Le.value,label:_(l)(`knowledge.dialogs.edit.proposer`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.proposerDescription`))+` `,1),t(v(`input`,{"onUpdate:modelValue":a[10]||=e=>W.proposedByLabel=e,maxlength:`160`,placeholder:_(l)(`knowledge.dialogs.edit.proposerPlaceholder`)},null,8,me),[[p,W.proposedByLabel]])]),W.confirmationStatus===`confirmed`?(n(),b(m,{key:0},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmer`))+` `,1),y(E,{modelValue:W.confirmedByKind,"onUpdate:modelValue":a[11]||=e=>W.confirmedByKind=e,options:Re.value,label:_(l)(`knowledge.dialogs.edit.confirmer`)},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.confirmerDescription`))+` `,1),t(v(`input`,{"onUpdate:modelValue":a[12]||=e=>W.confirmedByLabel=e,maxlength:`160`,placeholder:_(l)(`knowledge.dialogs.edit.confirmerPlaceholder`)},null,8,he),[[p,W.confirmedByLabel]])])],64)):d(``,!0)]),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.agentConfirmedBoundary`)),1)]),Me.value?d(``,!0):(n(),b(`fieldset`,ge,[v(`legend`,null,u(_(l)(`knowledge.dialogs.edit.crossProjectInheritance`)),1),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.inheritanceScope`))+` `,1),y(E,{modelValue:W.inheritanceMode,"onUpdate:modelValue":a[13]||=e=>W.inheritanceMode=e,options:Ie.value,label:_(l)(`knowledge.dialogs.edit.inheritanceScope`)},null,8,[`modelValue`,`options`,`label`])]),W.inheritanceMode===`selected_projects`?(n(),b(`label`,_e,[e(u(_(l)(`knowledge.dialogs.edit.inheritedProjects`))+` `,1),y(E,{modelValue:H.value,"onUpdate:modelValue":a[14]||=e=>H.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.inheritedProjects`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):d(``,!0),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.inheritanceBoundary`)),1)])),v(`fieldset`,ve,[v(`legend`,null,u(X.value?_(l)(`knowledge.dialogs.edit.replacement`):_(l)(`knowledge.dialogs.edit.optionalReplacement`)),1),v(`label`,null,[e(u(X.value?_(l)(`knowledge.dialogs.edit.historicalReplacement`):_(l)(`knowledge.dialogs.edit.activeReplacement`))+` `,1),y(E,{modelValue:U.value,"onUpdate:modelValue":a[15]||=e=>U.value=e,options:Ve.value,label:_(l)(`knowledge.dialogs.edit.replacement`),searchable:``},null,8,[`modelValue`,`options`,`label`])]),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.replacementBoundary`)),1)]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.correctionReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[16]||=e=>W.reason=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,W.reason]])]),I.value?(n(),b(`p`,ye,u(I.value),1)):d(``,!0),v(`div`,be,[X.value?(n(),b(m,{key:1},[v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[18]||=e=>We(`restore`)},[j.value===`restore`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.restoring`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.restore`)),1)],64))],8,Se),v(`button`,{class:`secondary-action`,type:`button`,disabled:A.value,onClick:Ge},[j.value===`replacement`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.savingReplacement`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.saveReplacement`)),1)],64))],8,Ce)],64)):(n(),b(`button`,{key:0,class:`secondary-action`,type:`button`,disabled:A.value,onClick:a[17]||=e=>We(`invalidate`)},[j.value===`invalidate`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.invalidating`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.invalidate`)),1)],64))],8,xe)),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value},[j.value===`correction`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(W.confirmationStatus===`confirmed`?`knowledge.dialogs.edit.savingConfirmed`:`knowledge.dialogs.edit.savingPending`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(W.confirmationStatus===`confirmed`?_(l)(`knowledge.dialogs.edit.saveConfirmed`):_(l)(`knowledge.dialogs.edit.savePending`)),1)],64))],8,we)])],8,ae)],32)]),Me.value?(n(),b(`section`,Oe,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.preferenceScope`)),1),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.preferenceScopeCopy`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(qe,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.effectiveScope`))+` `,1),y(E,{modelValue:z.value,"onUpdate:modelValue":a[21]||=e=>z.value=e,options:Be.value,label:_(l)(`knowledge.dialogs.edit.preferenceScope`)},null,8,[`modelValue`,`options`,`label`])]),z.value===`project`?(n(),b(`label`,Ae,[e(u(_(l)(`knowledge.dialogs.edit.personalProject`))+` `,1),y(E,{modelValue:B.value,"onUpdate:modelValue":a[22]||=e=>B.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.personalProject`),searchable:``},null,8,[`modelValue`,`options`,`label`])])):d(``,!0),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.assignmentReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[23]||=e=>V.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,V.value]])]),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value},[j.value===`scope`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.savingScope`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.saveScope`)),1)],64))],8,je)],8,ke)],32)])):(n(),b(`section`,Te,[v(`h4`,null,u(_(l)(`knowledge.dialogs.edit.projectOwnership`)),1),v(`p`,null,u(_(l)(`knowledge.dialogs.edit.ownershipCopy`)),1),v(`form`,{class:`knowledge-editor-form`,onSubmit:g(Ke,[`prevent`])},[v(`fieldset`,{class:`pending-inputs`,disabled:A.value},[v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.targetProject`))+` `,1),y(E,{modelValue:R.value,"onUpdate:modelValue":a[19]||=e=>R.value=e,options:Ne.value,label:_(l)(`knowledge.dialogs.edit.targetProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`])]),v(`label`,null,[e(u(_(l)(`knowledge.dialogs.edit.assignmentReason`)),1),t(v(`textarea`,{"onUpdate:modelValue":a[20]||=e=>L.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[p,L.value]])]),v(`button`,{class:`primary-action`,type:`submit`,disabled:A.value||i.projects.length===0},[j.value===`ownership`?(n(),x(S,{key:0,variant:`inline`,label:_(l)(`knowledge.dialogs.edit.changingOwnership`)},null,8,[`label`])):(n(),b(m,{key:1},[e(u(_(l)(`knowledge.dialogs.edit.adjustOwnership`)),1)],64))],8,De)],8,Ee)],32)]))])])],40,K)):d(``,!0)}}),[[`__scopeId`,`data-v-c980bb96`]]);export{N as i,G as n,M as r,X as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.knowledge-confirm-dialog[data-v-b8c3dc93]{width:min(680px,100vw - 48px)}.knowledge-confirm-dialog-shell[data-v-b8c3dc93]{box-sizing:border-box;min-height:0;max-height:inherit;gap:18px;padding:24px;display:grid;overflow:auto}.knowledge-confirm-summary[data-v-b8c3dc93]{border-top:1px solid #e1e5e2;border-bottom:1px solid #e1e5e2;gap:6px;padding:14px 0;display:grid}.knowledge-confirm-summary span[data-v-b8c3dc93],.knowledge-confirm-summary small[data-v-b8c3dc93]{color:#7d8780;font-size:10px}.knowledge-confirm-summary strong[data-v-b8c3dc93]{color:#29382f;font-size:16px}.knowledge-confirm-summary p[data-v-b8c3dc93]{color:#606b63;font-size:12px;line-height:1.65}.knowledge-confirm-fields[data-v-b8c3dc93]{gap:14px;display:grid}.knowledge-confirm-fields label[data-v-b8c3dc93]{color:#59645c;gap:6px;font-size:11px;font-weight:600;display:grid}.knowledge-confirm-acknowledgement[data-v-b8c3dc93]{color:#4e5c53;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;font-size:11px;line-height:1.5;display:grid}.pending-inputs[data-v-c980bb96]{border:0;min-width:0;margin:0;padding:0;display:contents}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,F as t,I as n,N as r,T as i,Z as a,_ as o,a as s,at as c,b as l,h as u,it as d,j as f,nt as p,rt as m,v as h,x as g,z as _}from"./i18n-BkJjUsz_.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{C as y,D as b,E as x,O as S,S as C,T as w,_ as T,a as E,c as D,d as O,f as k,g as A,i as j,p as M,u as N,w as P}from"./model-86tZgY0r.js";import{a as F,c as I,l as L,o as R,r as ee}from"./conversation-launcher-settings-DMDCpf_N.js";var z=[`aria-label`],B=[`data-virtual-index`],V={class:`virtual-directory-list__content`},H={class:`virtual-directory-list__watermark`,"aria-hidden":`true`},U=[`aria-label`],W=v(i({__name:`VirtualDirectoryList`,props:{items:{},rowHeight:{},label:{},minWidth:{default:`100%`},overscan:{default:8},resetKey:{default:void 0},activeIndex:{default:-1},watermarkPrefix:{default:`#`},itemKey:{type:Function,default:void 0}},setup(i,{expose:v}){let y=i,b=a(null),x=a(null),S=a(0),C=a(640),w=a(0),T=null,E=o(()=>y.items.length),D=o(()=>Math.max(3,String(E.value).length)),O=o(()=>E.value?Math.min(E.value,Math.floor(S.value/y.rowHeight)+1):0),k=o(()=>{let e=Math.max(0,Math.floor(S.value/y.rowHeight)-y.overscan),t=Math.ceil(C.value/y.rowHeight)+y.overscan*2;return{start:e,end:Math.min(E.value,e+t)}}),A=o(()=>Array.from({length:k.value.end-k.value.start},(e,t)=>k.value.start+t)),j=o(()=>({height:`${E.value*y.rowHeight}px`,minWidth:y.minWidth})),M=o(()=>({minWidth:y.minWidth}));_([b,x],([e,t])=>{T?.disconnect(),T=null,e&&(P(),typeof ResizeObserver==`function`&&(T=new ResizeObserver(P),T.observe(e),t&&T.observe(t)))},{flush:`post`}),_(()=>y.resetKey,async()=>{await e(),I()},{flush:`post`}),_(E,async()=>{await e();let t=b.value;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight);t.scrollTop>n&&(t.scrollTop=n),P()}),_([b,()=>y.activeIndex],async([t,n])=>{!t||n<0||n>=E.value||(await e(),L(n))},{flush:`post`}),f(()=>T?.disconnect());function N(e){return String(e).padStart(D.value,`0`)}function P(){let e=b.value;e&&(S.value=e.scrollTop,C.value=e.clientHeight||C.value,w.value=x.value?.offsetHeight??0)}function F(e){let t=e.currentTarget;S.value=t.scrollTop}function I(){let e=b.value;e&&(e.scrollTop=0,S.value=0)}function L(e){let t=b.value;if(!t||e<0||e>=E.value)return;let n=e*y.rowHeight,r=n+y.rowHeight,i=t.scrollTop,a=i+t.clientHeight-w.value;n<i?t.scrollTop=n:t.clientHeight&&r>a&&(t.scrollTop=r-t.clientHeight+w.value),S.value=t.scrollTop}return v({scrollToStart:I,scrollIndexIntoView:L}),(e,a)=>(r(),g(`section`,{class:`virtual-directory-list`,"aria-label":i.label},[h(`div`,{ref_key:`scroller`,ref:b,class:`virtual-directory-list__scroller`,onScrollPassive:F},[e.$slots.header?(r(),g(`div`,{key:0,ref_key:`header`,ref:x,class:`virtual-directory-list__header`,style:d(M.value)},[n(e.$slots,`header`,{},void 0,!0)],4)):l(``,!0),h(`div`,{class:`virtual-directory-list__canvas`,style:d(j.value)},[(r(!0),g(u,null,t(A.value,t=>(r(),g(`div`,{key:i.itemKey?.(i.items[t],t)??t,class:m([`virtual-directory-list__row`,{"is-active":t===i.activeIndex}]),"data-virtual-index":t,style:d({height:`${i.rowHeight}px`,transform:`translateY(${t*i.rowHeight}px)`})},[h(`div`,V,[n(e.$slots,`default`,{item:i.items[t],index:t,formattedIndex:N(t+1)},void 0,!0)]),h(`span`,H,c(i.watermarkPrefix)+c(N(t+1)),1)],14,B))),128))],4),!E.value&&e.$slots.empty?(r(),g(`div`,{key:1,class:`virtual-directory-list__empty`,style:d(M.value)},[n(e.$slots,`empty`,{},void 0,!0)],4)):l(``,!0),e.$slots.footer?(r(),g(`div`,{key:2,class:`virtual-directory-list__footer`,style:d(M.value)},[n(e.$slots,`footer`,{},void 0,!0)],4)):l(``,!0)],544),E.value?(r(),g(`output`,{key:0,class:`virtual-directory-list__position`,"aria-label":p(s)(`common.counts.listPosition`,{current:O.value,total:E.value})},[h(`strong`,null,c(N(O.value)),1),h(`span`,null,`/ `+c(N(E.value)),1)],8,U)):l(``,!0)],8,z))}}),[[`__scopeId`,`data-v-dd2afd66`]]),te={class:`graph-inspector`},ne={class:`eyebrow`},re={class:`inspector-identity`},ie={class:`muted`},ae={key:0,class:`inspector-project-material`},oe={key:3,class:`inspector-replacement`},se={class:`inspector-replacement-heading`},ce={key:1},le={key:2},ue={class:`inspector-meta`},de={key:0},fe={key:1},pe={key:2},me={key:3},he={key:4},ge={key:5},_e={key:6},ve={key:7},ye={key:8},be={key:9},xe={key:10},Se={key:12},Ce={class:`inspector-subtitle`},we={key:0,class:`inspector-meta inspector-confirmation-basis`},Te={key:0},Ee={key:1,class:`inspector-reasoning`},De={class:`inspector-subtitle`},Oe={class:`inspector-meta inspector-attributes`},ke={class:`inspector-subtitle`},Ae={class:`inspector-reasoning`},je={key:7,class:`inspector-actions`},Me={class:`inspector-subtitle`},Ne={class:`inspector-relations`},Pe={class:`relation-type`},Fe={class:`relation-target`},Ie={class:`inspector-subtitle`},Le={class:`inspector-evidence`},Re={key:0,class:`evidence-excerpt`},ze={key:1,class:`evidence-source-actions`},Be=[`onClick`],Ve=[`href`,`title`],He={class:`inspector-subtitle`},Ue={class:`inspector-history`},We={class:`inspector-subtitle`},Ge={class:`inspector-history inspector-audit-history`},Ke={key:0},qe={class:`eyebrow`},Je={class:`inspector-placeholder`},G=i({__name:`KnowledgeInspector`,props:{item:{},graph:{},editable:{type:Boolean},currentProjectId:{},canPublishProject:{type:Boolean},canManageProject:{type:Boolean},mode:{},conversationLaunchers:{}},emits:[`confirm`,`edit`,`createProject`,`openProject`,`publishProject`,`openDirectory`,`openGraph`,`openReplacement`,`manageProject`],setup(e,{emit:n}){let i=e,d=n,f=o(()=>i.item?.itemKind===`entity`?i.item.raw:null),_=o(()=>i.item?.itemKind===`relationship`?i.item.raw:null),v=o(()=>new Map(i.graph?.nodes.map(e=>[e.id,e.name])??[])),z=o(()=>!f.value||!i.graph?[]:i.graph.edges.filter(e=>D(e.source)===f.value?.id||D(e.target)===f.value?.id).slice(0,12)),B=o(()=>Object.entries(i.item?.raw.attributes??{}).filter(([,e])=>e!=null&&e!==``)),V=o(()=>k(i.item)),H=o(()=>C(i.item)),U=o(()=>i.item?.itemKind===`entity`&&[`PersonalProject`,`RelatedPersonalProject`].includes(i.item.type)),W=o(()=>i.editable&&i.item?.itemKind===`entity`&&!i.item.invalidAt&&!i.item.profileAspect&&!V.value),G=o(()=>i.editable&&!V.value),K=o(()=>i.editable&&!V.value&&!i.item?.invalidAt&&!!i.item?.classificationExplicit&&J.value===`pending`),q=o(()=>V.value&&i.canManageProject&&i.item?.type!==`ExternalKnowledgeSource`),Ye=o(()=>W.value||G.value||K.value||q.value||!!i.mode||U.value&&!!H.value&&H.value!==i.currentProjectId||U.value&&!!H.value&&i.canPublishProject),J=o(()=>i.item?T(i.item):`unclassified`),Xe=o(()=>i.item?j(i.item):``),Y=o(()=>i.item?.confirmationBasis??null),X=a(``),Ze=ee(),Z=o(()=>i.conversationLaunchers??Ze.value),Q=o(()=>{let e=i.item?.replacedByItemId,t=i.item?.replacedByItemKind;return!e||!t?null:A(i.graph).find(n=>n.id===e&&n.itemKind===t)??null}),Qe=o(()=>{let e=i.item;return e?.humanEdited?e.humanChangeStatus===`unseen`?s(`knowledge.workspace.inspector.humanReview.unseen`):e.humanChangeStatus===`viewed`?s(`knowledge.workspace.inspector.humanReview.viewed`):s(`knowledge.workspace.inspector.humanReview.reviewed`):``});function $e(e){return typeof e==`string`?e:JSON.stringify(e)}function et(e){return`${Math.round(e*100)}%`}function tt(e){return e.inheritanceMode===`descendants`?s(`knowledge.workspace.inspector.inheritance.descendants`):e.inheritanceMode===`selected_projects`?s(`knowledge.workspace.inspector.inheritance.selected`,{count:e.inheritedProjectIds.length}):s(`knowledge.workspace.inspector.inheritance.local`)}function nt(e){if(e.preferenceScope!==`project`||!e.preferenceProjectId)return s(`knowledge.workspace.inspector.personalGlobal`);let t=e.preferenceProjectId,n=i.graph?.nodes.find(e=>e.attributes?.projectId===t)?.name;return s(`knowledge.workspace.inspector.selectedProject`,{project:n&&n.toLocaleLowerCase()!==t.toLocaleLowerCase()?`${n} (${t})`:t})}function rt(e){return L(e,Z.value)}function it(e){return I(e,Z.value)}function $(e,t){return String(e.id??e.session_id??t)}async function at(e,t){await F(e)&&(X.value=$(e,t))}return(n,i)=>(r(),g(`aside`,te,[e.item?(r(),g(u,{key:0},[h(`p`,ne,c(V.value?`PROJECT MATERIAL`:e.item.itemKind===`entity`?`ENTITY`:`RELATIONSHIP`),1),h(`h3`,null,c(e.item.itemKind===`entity`?e.item.title:_.value?.type),1),h(`div`,re,[h(`span`,null,c(V.value?p(s)(`knowledge.workspace.inspector.ids.projection`):e.item.itemKind===`entity`?p(s)(`knowledge.workspace.inspector.ids.node`):p(s)(`knowledge.workspace.inspector.ids.relationship`)),1),h(`code`,null,c(e.item.id),1)]),h(`p`,ie,c(e.item.body),1),V.value?(r(),g(`section`,ae,[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.ownership`)),1),h(`strong`,null,c(p(P)(e.item)),1)]),h(`p`,null,c(p(s)(`knowledge.workspace.inspector.projectionCopy`)),1)])):(r(),g(`section`,{key:1,class:m([`inspector-classification`,`state-${J.value}`])},[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.currentJudgment`)),1),h(`strong`,null,c(p(b)(e.item)),1)]),h(`p`,null,c(Xe.value),1)],2)),!V.value&&e.item.humanEdited?(r(),g(`section`,{key:2,class:m([`inspector-human-change`,`state-${e.item.humanChangeStatus}`])},[h(`div`,null,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.humanReviewTitle`)),1),h(`strong`,null,c(p(O)(e.item.humanChangeStatus)),1)]),h(`p`,null,c(Qe.value),1),h(`small`,null,c(p(s)(`knowledge.workspace.inspector.humanVersion`,{version:e.item.humanChangeVersion})),1)],2)):l(``,!0),!V.value&&e.item.invalidAt?(r(),g(`section`,oe,[h(`div`,se,[h(`span`,null,c(p(s)(`knowledge.workspace.inspector.replacement`)),1),h(`strong`,null,c(Q.value?p(s)(`knowledge.workspace.inspector.replacedBy`):p(s)(`knowledge.workspace.inspector.noReplacement`)),1)]),Q.value?(r(),g(`button`,{key:0,class:`inspector-replacement-link`,type:`button`,onClick:i[0]||=e=>d(`openReplacement`,Q.value)},[h(`span`,null,[h(`strong`,null,c(Q.value.title),1),h(`small`,null,c(Q.value.body),1)]),h(`b`,null,c(p(s)(`knowledge.workspace.inspector.viewReplacement`)),1)])):e.item.replacedByItemId?(r(),g(`p`,ce,c(p(s)(`knowledge.workspace.inspector.replacementOutOfScope`)),1)):(r(),g(`p`,le,c(p(s)(`knowledge.workspace.inspector.missingReplacement`)),1))])):l(``,!0),h(`dl`,ue,[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.type`)),1),h(`dd`,null,c(e.item.type),1)]),V.value?l(``,!0):(r(),g(`div`,de,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.originQuadrant`)),1),h(`dd`,null,c(p(x)(e.item.originQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,fe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.currentQuadrant`)),1),h(`dd`,null,c(p(x)(e.item.currentQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,pe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.quadrantExplanation`)),1),h(`dd`,null,c(p(w)(e.item.originQuadrant)),1)])),V.value?l(``,!0):(r(),g(`div`,me,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.confirmationStatus`)),1),h(`dd`,null,c(p(b)(e.item)),1)])),V.value?l(``,!0):(r(),g(`div`,he,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.confidence`)),1),h(`dd`,null,c(et(e.item.confidenceScore)),1)])),V.value?l(``,!0):(r(),g(`div`,ge,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.utility`)),1),h(`dd`,null,c(et(e.item.utilityScore)),1)])),V.value?l(``,!0):(r(),g(`div`,_e,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.materialUse`)),1),h(`dd`,null,c(p(s)(`knowledge.workspace.inspector.useCount`,{uses:e.item.qualifiedUseCount,tasks:e.item.distinctTaskCount})),1)])),V.value?l(``,!0):(r(),g(`div`,ve,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.recentUse`)),1),h(`dd`,null,c(p(N)(e.item.lastUsedAt)),1)])),!V.value&&!e.item.profileAspect?(r(),g(`div`,ye,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.inheritance`)),1),h(`dd`,null,c(tt(e.item)),1)])):l(``,!0),!V.value&&e.item.profileAspect?(r(),g(`div`,be,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.preference`)),1),h(`dd`,null,c(p(y)(e.item.profileAspect)),1)])):l(``,!0),!V.value&&e.item.profileAspect?(r(),g(`div`,xe,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.effectiveScope`)),1),h(`dd`,null,c(nt(e.item)),1)])):l(``,!0),_.value?(r(),g(u,{key:11},[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.source`)),1),h(`dd`,null,c(v.value.get(p(D)(_.value.source))??_.value.source_name??p(D)(_.value.source)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.target`)),1),h(`dd`,null,c(v.value.get(p(D)(_.value.target))??_.value.target_name??p(D)(_.value.target)),1)])],64)):l(``,!0),V.value?l(``,!0):(r(),g(`div`,Se,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.fields.status`)),1),h(`dd`,null,c(e.item.invalidAt?p(s)(`knowledge.workspace.inspector.historical`):p(s)(`common.status.current`)),1)]))]),V.value?l(``,!0):(r(),g(u,{key:4},[h(`h4`,Ce,c(p(s)(`knowledge.workspace.inspector.basisTitle`)),1),Y.value?(r(),g(`dl`,we,[h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.existence`)),1),h(`dd`,null,c(Y.value.existence_reason),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.quadrant`)),1),h(`dd`,null,c(Y.value.quadrant_reason),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.proposer`)),1),h(`dd`,null,c(p(E)(Y.value.proposed_by)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.confirmer`)),1),h(`dd`,null,c(p(E)(Y.value.confirmed_by)),1)]),h(`div`,null,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.time`)),1),h(`dd`,null,c(p(N)(Y.value.confirmed_at)),1)]),Y.value.agent_policy_version?(r(),g(`div`,Te,[h(`dt`,null,c(p(s)(`knowledge.workspace.inspector.basis.agentPolicy`)),1),h(`dd`,null,c(Y.value.agent_policy_version),1)])):l(``,!0)])):(r(),g(`p`,Ee,c(p(s)(`knowledge.workspace.inspector.legacyBasis`)),1))],64)),B.value.length?(r(),g(u,{key:5},[h(`h4`,De,c(p(s)(`knowledge.workspace.inspector.contentDetails`)),1),h(`dl`,Oe,[(r(!0),g(u,null,t(B.value,([e,t])=>(r(),g(`div`,{key:e},[h(`dt`,null,c(e),1),h(`dd`,null,c($e(t)),1)]))),128))])],64)):l(``,!0),e.item.reasoningSummary?(r(),g(u,{key:6},[h(`h4`,ke,c(p(s)(`knowledge.workspace.inspector.formation`)),1),h(`p`,Ae,c(e.item.reasoningSummary),1)],64)):l(``,!0),Ye.value?(r(),g(`div`,je,[K.value?(r(),g(`button`,{key:0,class:`primary-action inspector-confirm-action`,type:`button`,onClick:i[1]||=t=>d(`confirm`,e.item)},c(e.item.profileAspect?p(s)(`knowledge.workspace.inspector.confirmPreference`):p(s)(`knowledge.workspace.inspector.confirmKnowledge`)),1)):l(``,!0),q.value?(r(),g(`button`,{key:1,class:`primary-action`,type:`button`,onClick:i[2]||=t=>d(`manageProject`,e.item)},c(p(s)(`knowledge.workspace.inspector.editMaterials`)),1)):l(``,!0),e.mode===`graph`?(r(),g(`button`,{key:2,class:`secondary-action`,type:`button`,onClick:i[3]||=t=>d(`openDirectory`,e.item)},c(p(s)(`knowledge.workspace.inspector.locateDirectory`)),1)):l(``,!0),e.mode===`directory`?(r(),g(`button`,{key:3,class:`secondary-action`,type:`button`,onClick:i[4]||=t=>d(`openGraph`,e.item)},c(p(s)(`knowledge.workspace.inspector.locateGraph`)),1)):l(``,!0),U.value&&H.value&&H.value!==e.currentProjectId?(r(),g(`button`,{key:4,class:`primary-action`,type:`button`,onClick:i[5]||=e=>d(`openProject`,H.value)},c(p(s)(`knowledge.workspace.inspector.enterProject`)),1)):l(``,!0),U.value&&H.value&&e.canPublishProject?(r(),g(`button`,{key:5,class:`secondary-action`,type:`button`,onClick:i[6]||=e=>d(`publishProject`,H.value)},c(p(s)(`knowledge.workspace.inspector.publish`)),1)):l(``,!0),W.value?(r(),g(`button`,{key:6,class:`primary-action`,type:`button`,onClick:i[7]||=t=>d(`createProject`,e.item)},c(p(s)(`knowledge.workspace.inspector.createProject`)),1)):l(``,!0),G.value?(r(),g(`button`,{key:7,class:`secondary-action inspector-edit-action`,type:`button`,onClick:i[8]||=t=>d(`edit`,e.item)},c(e.item.profileAspect?p(s)(`knowledge.workspace.inspector.correctPreference`):p(s)(`knowledge.workspace.inspector.correctOrAssign`)),1)):l(``,!0)])):l(``,!0),z.value.length?(r(),g(u,{key:8},[h(`h4`,Me,c(p(s)(`knowledge.workspace.inspector.relations`)),1),h(`div`,Ne,[(r(!0),g(u,null,t(z.value,e=>(r(),g(`div`,{key:e.id,class:`inspector-relation`},[h(`strong`,Pe,c(e.type),1),h(`p`,Fe,c(e.fact||p(s)(`knowledge.workspace.inspector.relationshipFallback`)),1)]))),128))])],64)):l(``,!0),e.item.evidence.length?(r(),g(u,{key:9},[h(`h4`,Ie,c(p(s)(`knowledge.workspace.inspector.evidence`)),1),h(`div`,Le,[(r(!0),g(u,null,t(e.item.evidence,(e,t)=>(r(),g(`article`,{key:$(e,t),class:`evidence-card`},[h(`strong`,null,c(e.name||e.source_description||p(s)(`knowledge.workspace.inspector.sourceRecord`)),1),h(`p`,null,c(e.summary||e.source_description),1),h(`span`,null,c(p(R)(e))+` · `+c(e.source_kind||p(s)(`knowledge.workspace.inspector.source`))+` · `+c(p(N)(e.reference_time||e.created_at)),1),e.source_excerpt?(r(),g(`p`,Re,c(e.source_excerpt),1)):l(``,!0),e.session_id?(r(),g(`div`,ze,[h(`button`,{class:`evidence-source-action`,type:`button`,onClick:n=>at(e,t)},c(X.value===$(e,t)?p(s)(`knowledge.workspace.inspector.copiedSessionId`):p(s)(`knowledge.workspace.inspector.copySessionId`)),9,Be),rt(e)?(r(),g(`a`,{key:0,class:`evidence-source-action`,href:rt(e)??void 0,title:p(s)(`knowledge.workspace.inspector.openConversationWith`,{app:it(e)??p(R)(e)})},c(p(s)(`knowledge.workspace.inspector.openConversation`)),9,Ve)):l(``,!0)])):l(``,!0)]))),128))])],64)):l(``,!0),e.item.revisions.length?(r(),g(u,{key:10},[h(`h4`,He,c(p(s)(`knowledge.workspace.inspector.revisions`)),1),h(`div`,Ue,[(r(!0),g(u,null,t(e.item.revisions,(e,t)=>(r(),g(`article`,{key:String(e.id??t),class:`history-row`},[h(`strong`,null,c(p(S)(e.action)),1),h(`p`,null,c(e.reason??e.summary??p(s)(`knowledge.workspace.inspector.noRevisionCopy`)),1),h(`span`,null,c(p(N)(e.created_at)),1)]))),128))])],64)):l(``,!0),e.item.auditEvents.length?(r(),g(u,{key:11},[h(`h4`,We,c(p(s)(`knowledge.workspace.inspector.audit`)),1),h(`div`,Ge,[(r(!0),g(u,null,t(e.item.auditEvents,e=>(r(),g(`article`,{key:e.id,class:`history-row`},[h(`strong`,null,c(p(M)(e.action)),1),h(`p`,null,c(e.reason),1),h(`span`,null,c(p(s)(`knowledge.workspace.inspector.version`,{version:e.human_change_version}))+` · `+c(p(N)(e.created_at)),1),e.action===`agent_review`?(r(),g(`small`,Ke,c(p(s)(`knowledge.workspace.inspector.conflictClassification`,{conflict:e.conflict_check===`no_conflict`?p(s)(`knowledge.workspace.inspector.conflictNone`):p(s)(`knowledge.workspace.inspector.conflictFound`),classification:e.classification_check===`reasonable`?p(s)(`knowledge.workspace.inspector.classificationReasonable`):p(s)(`knowledge.workspace.inspector.classificationAdjust`)})),1)):l(``,!0)]))),128))])],64)):l(``,!0)],64)):(r(),g(u,{key:1},[h(`p`,qe,c(p(s)(`knowledge.workspace.inspector.contentDetails`)),1),h(`h3`,null,c(p(s)(`knowledge.workspace.inspector.placeholderTitle`)),1),h(`p`,Je,c(p(s)(`knowledge.workspace.inspector.placeholderCopy`)),1)],64))]))}});export{W as n,G as t};
|